一、边缘检测的目的
边缘检测的目的就是找到图像中亮度变化剧烈的像素点构成的集合,表现出来往往是轮廓。如果图像中边缘能够精确的测量和定位,那么,就意味着实际的物体能够被定位和测量,包括物体的面积、物体的直径、物体的形状等就能被测量。
二、边缘检测算子有哪些?
一阶:Canny算子、Soble算子
二阶:Laplacian(拉普拉斯)算子,(在梯度方向的二阶导数过零点)
三、Canny算子
3.1、简述Canny算子
Canny算子主要有四个步骤:
1.图像降噪 :噪声和边缘一样,都是像素变化比较剧烈,所以在增强边缘前要去除噪声
2.计算图像梯度 :因为梯度是像素变化明显的地方,而边缘正是像素变化明显的地方,但同时也有一些像素变化明显、但不是边缘的地方。计算图像梯度可以得到所有可能是边缘的集合
3.非极大值抑制:获得梯度大小和方向后,将局部范围内的同一梯度方向上,灰度变化最大的保留下来,其余的不保留,这样可以去除一部分的点。将有多个像素宽的边缘变成一个单像素宽的边缘。
4.双阈值筛选:通过非极大值抑制后,仍有一些不是边缘的点。此时再设置一个双阈值(一个高、一个低)。灰度变化大于高阈值的,定为强边缘像素;低于低阈值的,去除。在高、低阈值之间的定为弱边缘,进一步判断这些弱边缘的领域内是否有强边缘,若有,则保留;否则去除。(这么做的原因是:若只保留强边缘像素,有些边缘可以不闭合,需要从高、低阈值内选取像素点进行补充)
3.2、简述下Canny的计算过程
1.首先将彩色图转换为灰度图,再使用高斯滤波器平滑图像
2.随后计算图像梯度的幅值和方向,再对其进行非极大值抑制
3.使用双阈值进行边缘的检测和连接(也称滞后阈值)
四、sobel算子
4.1 简述一下sobel算子
sobel算子结合了高斯平滑和微分求导,效率较高,但精度有时不高。Sobel算子包含两组3×3的滤波器,分别对水平及垂直方向上的边缘敏感
链接: link
五、深度学习下的边缘检测
5.1 HED(整体嵌套边缘检测)
特点:多尺度、多层次特征学习,采用深度监督方法多层输出训练
5.2 CASENet
一种基于ResNet的端到端深度语义边缘学习的架构