计算机视觉 特征检测与匹配 轮廓检测

        虽然孤立的边缘可用于各种应用,例如线检测和稀疏立体匹配,但当连接到连续轮廓时,它们变得更加有用。

        如果使用某个函数的零交叉检测到边缘,则将它们向上链接起来很简单,因为相邻的边缘共享公共端点。将边缘链接到链中涉及拾取未链接的边缘并在两个方向上跟踪其邻居。排序的边缘列表(例如,首先按 x 坐标排序,然后按 y 坐标排序)或 2D 数组可用于加速邻居查找 . 如果使用零交叉未检测到边缘,则找到边缘的延续可能会很棘手。 在这种情况下,可以使用比较相邻边缘的方向(以及可选的相位)来消除歧义。 连接组件计算的想法有时也可用于使边缘链接过程更快。

        一旦边缘被链接成链,我们可以应用一个可选的带有滞后的阈值来删除低强度的轮廓段(Canny)。滞后的基本思想是设置两个不同的阈值,并允许跟踪高于较高阈值的曲线强度下降到较低阈值。

        链接边缘列表可以使用各种替代表示进行更紧凑的编码。链码使用对应于八个基本方向(N、NE、E、SE、S)的三位代码对位于 N8 网格上的连接点列表进行编码 , SW, W, NW) 在一个点和它的后继点之间(下图a)。 虽然这种表示比原始边缘列表更紧凑(尤其是在使用预测可变长度编码的情况下),但它不太适合进一步处理。

        更有用的表示是轮廓的弧长参数化x(s),其中 s 表示沿曲线的弧长。 考虑上图b中所示的链接边集。我们从一个点开始(上图c中 (1.0,0.5) 处的点)并在坐标s = 0 处绘制它(上图c)。(2.0, 0.5) 处的下一个点绘制在 s = 1 处,下一个点 (2.5,1.0) 绘制在 s = 1.7071 处,可以在s网格上重新采样生成图。

        弧长参数化的优点是它使匹配和处理(例如,平滑)操作更加容易。 考虑描述下图所示相似形状的两条曲线。 为了比较曲线,我们首先从每个描述符中减去平均值 x_0 = \int_{s}^{x(s)}。 接下来,我们重新调整每个描述符,使 s 从 0 变为 1,而不是从 0 变为 S,即,我们将 x(s) 除以 S。最后,我们对每个归一化描述符进行傅里叶变换,处理每个 x = (x,y) 值作为复数。如果原始曲线相同(直到未知的尺度和旋转),则所得傅里叶变换的不同之处仅在于幅度的尺度变化加上由于旋转引起的恒定复数相移,以及由于不同的域中的线性相移 s 的起点。

使用弧长参数化匹配两个轮廓。如果两条曲线都归一化为单位长度,则 s 属于[0,1]并以它们的质心x0为中心,它们将具有相同的描述符,直到整体“时间”偏移(由于s = 0的不同起点)和相位(x-y)偏移(由于旋转)。

        弧长参数化也可用于平滑曲线以消除数字化噪声。 然而,如果我们只应用一个常规平滑滤波器,曲线往往会自行收缩(下图a)。Lowe (1989) 和 Taubin (1995) 描述了通过添加基于二阶导数估计或更大平滑内核的偏移项来补偿这种收缩的技术(下图)。

使用高斯核的曲线平滑:(a)没有收缩校正项; (b) 带有收缩校正项。

         Finkelstein 和 Salesin (1994) 提出了另一种方法,该方法基于在小波分解中选择性地修改不同频率。 除了在不影响其“扫描”的情况下控制收缩外,小波还允许交互式修改曲线的“特征”,如下图所示。

在不影响其扫描的情况下改变曲线的特性:可以用样式库中的示例替换高频小波,以实现不同的局部外观。

         曲线在平滑和简化时的演变与“Grassfire”(距离)变换和区域骨架有关,并可用于根据轮廓形状识别对象。曲线形状的更多局部描述符,例如形状上下文也可用于识别,并且对于由于遮挡而丢失的部分可能更稳健。

        轮廓检测和链接领域继续快速发展,现在包括用于全局轮廓分组、边界完成和连接检测的技术,以及将轮廓分组到可能的区域和宽基线对应。其他一些涉及轮廓检测的论文包括 Xiaofeng 和 Bo (2012)、Lim、Zitnick 和 Doll´ar (2013)、Doll´ar 和 Zitnick (2015)、Xie 和 Tu (2015),以及 Pont-Tuset、Arbel´aez 等 等人(2017 年)。

        虽然边缘可以用作对象识别的组件或匹配的特征,但它们也可以直接用于图像编辑。

        事实上,如果边缘幅度和模糊估计与每个边缘保持一致,则可以根据这些信息重建视觉上相似的图像。 基于这一原理,Elder 和 Goldberg(2001)提出了一个“轮廓域中的图像编辑”系统。他们的系统允许用户有选择地移除与不需要的特征相对应的边缘,例如镜面反射、阴影或分散注意力的视觉元素。 从剩余的边缘重建图像后,不需要的视觉特征已被移除(下图)。

轮廓域中的图像编辑:(a)和(d)原始图像; (b) 和 (e) 提取的边缘(要删除的边缘标记为白色); (c) 和 (f) 重建的编辑图像。

         另一个潜在的应用是在简化底层图像的同时增强感知上的显着边缘,以产生类似卡通或“笔墨”的风格化图像。

        关于一些图像特效的参考链接。

Opencv学习笔记 图像特效 简单铅笔/卡通/马赛克/毛玻璃/Lomography/简单磨皮等效果_bashendixie5的博客-CSDN博客_简笔画滤镜使用OpenCvSharp实现的一些简单图像特效,铅笔、卡通、马赛克、毛玻璃、Lomography效果等。https://skydance.blog.csdn.net/article/details/108922863

猜你喜欢

转载自blog.csdn.net/bashendixie5/article/details/124689035