4.2 边缘
尽管特征点对于寻找2D中能够精确匹配的图像位置非常有用,但是边缘点更为丰富且常常包含重要的语义关联。
4.2.1 边缘检测
- 边缘出现在颜色、亮度或者纹理不一样的区域之间。
- 通常只使用局部信息来检测边缘更为合适
- 一个表面的斜率和方向通过它的梯度来实现
局部梯度向量J指向亮度函数的极速上升(steepest ascent)方向,它的幅值是其斜率或者变化强度的一个指示,它的方向指向了与其局部轮廓垂直的方向。
- 因为高频部分噪声和信号的比例较大,所以求取图像的导数强调了高频率的部分因而放大了噪声。这就需要在计算梯度之前将图像用一个低通滤波器进行平滑。因为边缘检测器的响应与方向无关,所以需要一个圆对称的平滑滤波器。高斯函数是唯一可分离的圆对称滤波器,所以大多数边缘检测算法都使用了它。
参数σ反映了高斯函数的带宽。
- 希望将连续梯度图像稀疏化使之仅存在于孤立的边缘,即仅以单个像素分布在沿着边缘轮廓的离散位置上。这个可以通过在与边缘方向(梯度方向)垂直方向上寻找边缘响应(梯度幅值)的极大值来获得。
- 求取上述极大值对应于将强度场沿着梯度方向求取方向导数,然后寻找过零点。
实践中经常将高斯二阶导数卷积换成高斯差分(DoG)来计算,因为其核函数的形状在性质上相似。
- 尺度选择和模糊估计:
- 导数、拉普拉斯和高斯滤波器的差分都需要选择空间尺度参数σ。
- 只检测强烈的边缘,滤波器的带宽可以从图像的噪声特性来确定;检测出现在不同分辨率下的边缘需要一种尺度空间上的方法来寻找不同尺度上的边缘。
- Elder and Zucker(1998)给出了一种解决办法:给定一个噪声级别,他们的办法可以为每一个像素计算可以可靠地检测出边缘的最小尺度。
- 彩色边缘检测
- 灰度检测器在每个颜色空间独立输出的结果结合起来——问题是带符号的梯度可能会抵消。
- 或者将每个颜色空间独立地检测边缘,然后再联合起来——问题是可能会导致边缘加粗或者出现双倍的边缘而难以连接。
- 比较好的办法是:在每个颜色空间计算有向能量(oriented energy),将加权的有向能量加起来再寻找它们联合的最佳方向——这个能量的方向导数可能没有一个闭合解,不能使用过零点策略。但可以使用每个像素周围区域估计局部颜色统计信息。
- 结合边缘特征线索
4.2.2 边缘连接
- 若边缘已经通过某个函数的过零点检测到,那么连接拥有共同端点的边界元会非常直接(有序列表、2D数组)。
- 若过零点没有检测到边缘,就会需要一些技巧,比如有歧义时看相邻边界元的方向。
- 带滞后作用的阈值化处理:允许高于较高阈值的被跟踪曲线包含低至低阈值的边缘。
- 弧长参数化(arc length parameterization):x(s), s表示一条曲线上的弧长度。
弧长参数化的优势是:它使得匹配和处理操作更加容易。
4.2.3 应用: 边缘编辑和增强
- 边缘不仅可以用作物体识别的一个组件或者用作匹配的特征,它们还可以直接用于图像编辑。
- 另一个潜在应用:卡通或笔墨画中增强显著边缘。
时间: 2024-10-11 04:03:41