计算机视觉-边缘检测

图片分类

一张图片中可能有多个需要识别的物体,会用方框标注他们的位置和类别

例:

给出一张照片,计算机需要从中识别出这是一只猫

一张图片的计算量是较大的,这张图片的尺寸虽然是6464,因为每张图片有3个颜色通道,所以实际的计算量是6464*3=12288。如果处理更大的照片,计算量会更大,特征向量的维度会更大。

风格迁移

用神经网络画一张新的图片,轮廓是第一张图片的,风格采用第二张图片。

边缘检测

卷积如何计算

前几层的可能检测到图片的局部内容,再往后几层检测到图片更大的一部分内容,最后几层可能检测到图片的完整物体

例:

想让计算机识别图片中的物体

1.检测图片中的垂直边缘,比如图片中的栏杆和行人。页可以检测横向边缘

垂直边缘

横向边缘

计算机如何检测

下面是一张6*6的灰度图片

构造3×3的矩阵(过滤器),有的会称为核。

对6×6的图片进行卷积计算,与3×3矩阵卷积,会得到4×4的矩阵。(卷积一般用 * 号表示)

4×4矩阵的第一个格子是把3×3矩阵覆盖在6×6的左上角上,如下图。

(1,1)=3×1

(2,1)=1×1

(3,1)=2×1

用同样的方法得出覆盖处的每一个位置的值,并且把所有值相加,即

3×1+1×1+1+2×1+0×0+5×0+7×0+1×-1+8×-1+2×-1=-5

把-5填到 4×4的第一个位置

4×4的第二个方格

把3×3的矩阵往右移动一个单位。用上面的方法相加得到-4.

4×4 (另外一张图片)后面的数用同样的方法

  • 3×3往右移(如果是计算4×4的(2,1)则将左上角的3×3的矩阵往下移一个单位)
  • 计算6×6覆盖后的每一个方格的值
  • 将每个方格的值相加 得到4×4当前位置的数
    python中用conv_forward

可以做垂直边缘检测的原因

例:

下面图片的左侧是10,代表相对比较亮的像素,右侧是0,代表相对比较暗的像素

在这张图片的垂直线在10到0的正中间

用3×3过滤矩阵卷积后,会得到下面的图片,其中30是由10+10+10得到的

如果把4×4矩阵转为图片是下面的样子,则会显示出中间的垂直边缘。因为这张图片较小,所以垂直边缘明显,如果是大的图片,垂直边缘会更窄

用3×3矩阵卷积,左侧是亮的(1,1,1),中间(0,0,0)不考虑,右边(-1,-1,-1)为灰色

区分正边和负边

下面图片把上面的图片翻转了,左边暗,右边亮。如果用同样的3×3矩阵过滤会得到中间是-30,即由暗转亮的边缘线

其他过滤器

这个矩阵上边亮,下面暗

例:

下面的矩阵通过水平过滤器得到下面的4×4矩阵

其中,橙色框的30是由6×6矩阵的橙色框得到的,可以看到上面亮,下面暗,所以是正值

而4×4矩阵的绿色框中的-30是由6×6矩阵的绿色框矩阵计算得到的,可以看到6×6绿色框中上面暗下面亮,所以是负值

如果图片尺寸大,中的边值会比较小,没有10那么大。

可以使用其他过滤器

优点:增加了中间的权值

可以用于垂直边缘检测,如果反过来可以得到水平边缘检测

矩阵中的所有值都设成参数,让神经网络去学习。可以检测任何角度的边缘

相关推荐
迪康Defender2 分钟前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
XLYcmy2 分钟前
京东 算法实习一面 上
rnn·神经网络·llm·微调·transformer·训练·对齐
IPHWT 零软网络6 分钟前
技术方案分享|AI Agent 赋能 IVR 导航,解决传统语音呼叫系统交互瓶颈
人工智能·通信系统·rag·ivr·aiagent·智能语音·语音导航
leijiwen8 分钟前
《花尖墨 · 果域宇宙》电影三部曲
人工智能·saas·paas
番茄炒鸡蛋加糖13 分钟前
主流 AI 框架 + RAG 落地实战
人工智能·rag·springai
哈__16 分钟前
面向AI智能体的数据库专业技能包:将DBA工程经验封装为可调用能力
数据库·人工智能·dba
leisoo809728 分钟前
财报数据怎么排雷本地化Python构建财务异常预警系统
人工智能·python·算法
u01030552731 分钟前
长株潭AI节能应用构建核心方案
人工智能
ACP广源盛139246256731 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
小柯南敲键盘1 小时前
跨马翻译:跨境电商批量图片翻译与视频字幕一站式工具
人工智能·python·音视频