1.2--1.3卷积神经网络笔记—边缘检测实例

一.如何在图像中检测(垂直)边缘(计算过程):

左图:灰度图像6*6矩阵,(彩色图像为6*6*3,灰度图像没有RGB三通道)

中间图:为检测图形垂直边缘,构建3*3矩阵,称为过滤器(或核)

右图:用3*3过滤器对6*6矩阵进行卷积运算,输出结果是右图的4*4矩阵,可以理解为另一张图片。

卷积的计算过程:4*4矩阵的下标为(1,1)的值如下图所示:

将3*3矩阵与6*6矩阵相应元素相乘,再相加即可。3*1+1*1+2*1+0*0+5*0+7*0+1*-1+8*-1+2*-1=-5

4*4矩阵的下标为(1,2)的值即将3*3滤波器矩阵向右移:

其他值同样对3*3滤波器矩阵进行移动 :

如果用python实现这个过程用函数:conv_forward()

二.为什么上述过程可以做垂直边缘检测?

 eg1垂直边缘检测输出结果矩阵的含义:


左图:图像矩阵,【白 灰】,中间有一条垂直的(由浅到深色)过渡线

中间图:滤波器矩阵 ,可视化成:【白 灰 黑】

右图:依据上述方法卷积所得结果。如果当成图像:【灰 白 灰】(矩阵数值越大,亮度越高)

卷积所得矩阵中间是高亮区,对应所检测图像(左图)中间有垂直边缘,但维数与原图像边缘不同,(检测到的结果太粗了)原因是图片维数(6*6)太小了。

eg2垂直边缘检测滤波器表示明暗变化:


图片矩阵左右翻转,滤波矩阵不便,得到的新图片矩阵中间值变成负值(原矩阵值得相反数),上图正值表示从亮到暗过渡,下图负值表示由暗到亮过渡。如果不想要这种正负提供的信息,可以将卷积所得到的矩阵取绝对值。

eg3水平边缘检测滤波器:


在相应边缘有明暗变化    1 1 1     -1  -1  -1

eg4略复杂输入图片水平检测的例子:


卷积所得输出矩阵数值与输入矩阵的绿、黄、紫(3*3)矩阵 块相互对应,输出矩阵的30,-30分别表示由亮到暗、由暗到亮的变化;10,-10是中间值(对应3*3矩阵块没有明显边缘变化)。但是当输入图片特别大的时候,不会出现10这么大的中间值。

eg5不同的边缘检测滤波器矩阵:


sobel filter :增加中间行权重,也就是图像中间的像素点,增加结果鲁棒性

将垂直边缘滤波器旋转90,得到水平边缘滤波器

eg6 复杂图像的边缘检测:

 

复杂图像的滤波器不再是简单的垂直或者水平边缘检测,可以将滤波器矩阵设置为9个参数,利用深度学习的反向传播算法得到滤波器的参数。可以检测任意角度的边缘。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值