计算机视觉-边缘检测

一、边缘

1.1 边缘的类型

①实体上的边缘

②深度上的边缘

③符号的边缘

④阴影产生的边缘

不同任务关注的边缘不一样

1.2 提取边缘

突变-求导(求导也是一种卷积)

近似,=1(右边的一个值-自己=可以用卷积做)

该点f(x,y)在x方向上的导数为f(x+1,y)*1 + f(x,y)*(-1),也就是f(x,y)*g(x,y)在卷积区域内求和,卷积区域为1*2,-1与1对应的是g(x,y)。

对x求导,是y方向左右差异比较大的

对y求导,是x方向上下差异比较大的

eg:-1、1与原图卷积就是出现左下方的图,(右减左)

1.3 图像的梯度

梯度方向与边(边缘)垂直

梯度指向信号方向大的地方

梯度值越大,说明这个点是边缘的可能性就越大

eg:

Prewitt:自己左边的值与右边的值相减,衡量自己是不是边缘值

Sobel:先平滑高斯滤波,再边缘提取(对噪声敏感程度更低)

Roberts:是检测135度的线,是检测45度的线

检测模版与线的方向是垂直的

1.4 噪声的影响

现实中信号有噪声,求导后找不到梯度的极大值和极小值

先用高斯核与原图像卷积进行滤波去噪,再求导就能找到极值点了(费时)?

改进:利用卷积的交换律和结合律,先算高斯核的导数再算与原图像的卷积(高斯偏导模版

高斯偏导模版(越黑越负)

x方向求偏导:衡量y方向差异

y方向求偏导:衡量x方向差异

1.5 高斯核的参数

用高斯偏导核卷积图像就可以得到去噪后的边缘图像

像素代表方差,方差越大,平滑能力越强

给出标准差就能生成高斯模版(高斯模版只需要σ和窗宽两个量就可以计算出,而窗宽=2σ+1)

1.6 回顾 高斯平滑核和高斯偏导核

高斯平滑核:用来做平滑的,不会有负数,权值和等于1

高斯偏导核:用来提取边缘信息,会有负数,权值和等于0

二、Canny算法

2.1 Canny算法

用x方向的卷积模版计算一次再用y方向的卷积模版计算一次,求和

一个阈值,减小宽度

2.2 非极大值抑制

减小线条宽度

计算梯度大小,剔除掉梯度小的点,选择合适的边缘点

抑制后图像

2.3 双门限法

下巴边没有了??怎么办 双门限

高门限:检测出边缘边

低门限:排除噪声(把有连接的找出来)

2.4 算法步骤

1、高斯偏导(考虑到噪声)滤波器:先对图像进行x、y方向滤波

2、衡量每个点的梯度强度,梯度方向(看有没有比它还大的)

3、非最大化抑制(宽边变成细边)

4、定义两个门限

相关推荐
IT果果日记3 分钟前
大模型RAG之检索排序Rerank
人工智能·后端·算法
Francek Chen17 分钟前
【现代深度学习技术】循环神经网络05:循环神经网络的从零开始实现
人工智能·pytorch·rnn·深度学习·神经网络
carpell21 分钟前
最详细最易懂的【YOLOX原理篇】
深度学习·目标检测·计算机视觉·yolox
人工智能那些事儿30 分钟前
神经网络:从基础到应用,开启智能时代的大门
java·人工智能·python·深度学习·神经网络·算法·机器学习
胡乱儿起个名38 分钟前
《Relay IR的基石:expr.h 中的表达式类型系统剖析》
人工智能·tvm·ai编译器
契合qht53_shine1 小时前
深度学习 从入门到精通 day_02
人工智能·深度学习
IT从业者张某某1 小时前
机器学习-08-推荐算法-协同过滤
人工智能·机器学习·推荐算法
L_cl1 小时前
【NLP 68、R-BERT】
人工智能·自然语言处理·bert
DUTBenjamin1 小时前
深度学习4——深度神经网络训练
人工智能·深度学习
夜松云1 小时前
PyTorch与TensorFlow模型全方位解析:保存、加载与结构可视化
人工智能·pytorch·深度学习·tensorflow·模型加载·模型保存·模型可视化