Image Processing and Analysis_8_Edge Detection:A Computational Approach to Edge Detection——1986...

此主要讨论图像处理与分析。虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来。同样,这里面也有一些 也可以划归到计算机视觉中去。这都不重要,只要知道有这么个方法,能为自己 所用,或者从中得到灵感,这就够了。

8. Edge Detection
边缘检测也是图像处理中的一个基本任务。传统的边缘检测方法有基于梯度 算子,尤其是 Sobel 算子,以及经典的 Canny 边缘检测。到现在,Canny 边缘检 测及其思想仍在广泛使用。关于 Canny 算法的具体细节可以在 Sonka 的书以及 canny 自己的论文中找到,网上也可以搜到。最快最直接的方法就是看 OpenCV 的源代码,非常好懂。在边缘检测方面,Berkeley 的大牛 J Malik 和他的学生 在 2004 年的 PAMI 提出的方法效果非常好,当然也比较复杂。在复杂度要求不高 的情况下,还是值得一试的。MIT的Bill Freeman早期的代表作Steerable Filter 在边缘检测方面效果也非常好,并且便于实现。这里给出了几篇比较好的文献, 包括一篇最新的综述。边缘检测是图像处理和计算机视觉中任何方向都无法逃避 的一个问题,这方面研究多深都不为过。
[1980] theory of edge detection
[1983 Canny Thesis] find edge
[1986 PAMI] A Computational Approach to Edge Detection
[1990 PAMI] Scale-space and edge detection using anisotropic diffusion
[1991 PAMI] The design and use of steerable filters
[1995 PR] Multiresolution edge detection techniques
[1996 TIP] Optimal edge detection in two-dimensional images
[1998 PAMI] Local Scale Control for Edge Detection and Blur Estimation
[2003 PAMI] Statistical edge detection_ learning and evaluating edge cues
[2004 IEEE] Edge Detection Revisited
[2004 PAMI] Design of steerable filters for feature detection using canny-like criteria
[2004 PAMI] Learning to Detect Natural Image Boundaries Using Local Brightness, Color, and Texture Cues
[2011 IVC] Edge and line oriented contour detection State of the art

 

翻译

边缘检测的计算方法——http://tongtianta.site/upload

作者:John Canny

 

摘要 -本文介绍了一种边缘检测的计算方法。该方法的成功取决于用于计算边缘点的一组全面目标的定义。这些目标必须足够精确,以界定检测器的所需行为,同时对解决方案的形式做出最小假设。我们为一类边缘定义了检测和定位标准,并针对这些标准提出了数学形式,作为运算符脉冲响应上的函数。然后添加第三标准,以确保检测器对单个边缘仅具有一个响应。我们使用数值优化中的标准来导出几个常见图像特征(包括台阶边缘)的检测器。通过对台阶边缘进行专门分析,我们发现在检测和定位性能之间存在自然的不确定性原理,这是两个主要目标。利用这一原理,我们得出了在任何规模下均最佳的单一操作符形状。最佳检测器具有一个简单的近似实现方式,其中边缘以高斯平滑图像的梯度幅度最大值标记。我们使用几个宽度的运算符扩展了这个简单的检测器,以应对图像中不同的信噪比。我们提出了一种通用的方法,称为特征合成,用于对来自不同规模运营商的信息进行精细到粗略的集成。最终,我们表明,随着操作员点扩展函数沿边缘扩展,阶跃边缘检测器的性能大大提高。该检测方案在每个点使用几个拉长的算子,并且方向算子输出与最大梯度检测器集成在一起。


索引—边缘检测,特征提取,图像处理,机器视觉,多尺度图像分析。

 

Ⅰ 引言
某些类型的边缘检测器,尤其是阶梯边缘检测器,已经成为许多计算机视觉系统的重要组成部分。边缘检测过程通过大大减少要处理的数据量来简化图像分析,同时保留有关对象边界的有用结构信息。边缘检测的应用程序中当然有很多多样性,但是可以感觉到许多应用程序都具有一组共同的要求。这些要求产生了一个抽象的边缘检测问题,可以将其解决方案应用于任何原始问题域中。


我们应该在这里提到一些特定的应用程序。 Binford-Horn寻线器[14]使用边缘检测器的输出作为程序的输入,该程序可以隔离简单的几何实体。最近,基于模型的视觉系统ACRONYM [3]使用边缘检测器作为复杂识别程序的前端。运动[29],[13]的形状可用于根据图像轮廓中边缘轮廓或边缘点的运动来推断三维对象的结构。几种现代的立体视理论假设图像在匹配完成之前由边缘检测器进行了预处理[19],[20]。 Beattie [1]描述了一种基于边缘的标记方案,用于低级图像理解。最后,提出了一些新颖的方法来从图像轮廓中提取三维信息,即轮廓[27]的形状和纹理[31]的形状。


在所有这些示例中,都有与边缘检测器性能相关的通用标准。第一个也是最明显的是低错误率。重要的是,不要错过图像中出现的边缘,并且没有虚假的响应。在上述所有情况下,边缘检测器错误都会影响系统性能。第二个标准是边缘点定位良好。也就是说,检测器标记的点与真实边缘的“中心”之间的距离应最小化。对于运动产生的立体感和形状尤其如此,其中在左右图像之间或在稍有不同的时间产生的图像之间测量出小的差异。

 

在本文中,我们将针对这两个标准开发一种数学形式,可用于设计任意边缘的检测器。我们还将发现前两个标准不够“严格”,并且有必要添加第三个标准来规避对单个边缘的多个响应的可能性。通过数值优化,我们得出了山脊和屋顶边缘的最优算子。然后,我们将专门针对台阶边缘的标准,并给出解决方案的参数封闭形式。在此过程中,我们将发现存在一个不确定原理,该原理涉及到噪声阶跃边缘的检测和定位,并且两者之间存在直接的权衡。这种关系的一个结果是,对于最佳阶梯边缘检测器而言,脉冲响应只有一个唯一的“形状”,并且可以通过改变检测器的空间宽度来改变检测与定位之间的权衡。将给出检测器在真实图像上的性能的几个示例。


 II 一维公式
为了便于分析,我们首先考虑一维边缘轮廓。也就是说,我们将假定二维边缘在某个方向上局部具有恒定的横截面。例如,对于光滑的边缘轮廓或山脊将是正确的,但对于拐角则不是这样。我们将假定图像由边缘和加性高斯白噪声组成。

 

图1:(a)嘈杂的台阶边缘。 (b)装箱员的区别。 (c)应用于边缘的盒子算子的区别。 (d)高斯算子的一阶导数。 (e)应用到边缘的高斯一阶导数。

 

检测问题的公式如下:我们首先从已知横截面的边缘浸入高斯白噪声中,如图1(a)所示,它显示了阶跃边缘。 我们用一个滤波器进行卷积,该滤波器的脉冲响应可以用图1(b)或(d)来说明。 卷积的输出分别在图1(c)和(e)中示出。 我们将在卷积的输出中将边的中心标记为局部最大值。 这样,设计问题就变成了一种滤波器,该滤波器相对于以下给出的标准给出了最佳性能。 例如,在该示例上,图1(d)中的滤波器的性能比图1(b)好得多,因为后者的响应在边缘区域表现出几个局部最大值。

 

总之,三个性能标准如下:

1)良好的检测。 无法标记真实边缘点的可能性较低,而错误标记非边缘点的可能性较低。 由于这两个概率都是输出信噪比的单调递减函数,因此该标准对应于最大化信噪比。

2)良好的本地化。 操作员标记为边缘点的点应尽可能靠近真实边缘的中心。

3)对单个边缘只有一个响应。 这是在第一个标准中隐式捕获的,因为当对同一边有两个响应时,必须将其中一个视为错误。 但是,第一个准则的数学形式并未满足多重响应要求,因此必须明确。

 

A.检测和定位标准
我们方法的关键步骤是以易于解决的数学形式捕获上面给出的直观标准。我们首先处理信噪比和定位。令滤波器的脉冲响应为f(x),并用G(x)表示边缘本身。我们将假设边缘以x = 0为中心。然后,通过卷积积分,滤波器对该边缘在其中心HG 的响应:

假设滤波器具有以[-W,W]为边界的有限脉冲响应。仅对噪声n(x)的均方根响应为

其中是每单位长度的均方根噪声幅度。我们定义我们的第一个标准,即输出信噪比,作为这两个响应的商。

对于定位标准,我们需要一些随定位提高而增加的度量,并且将使用标记边缘到真实边缘中心的均方根距离的倒数。由于我们决定在算子f(x)的响应中标记局部最大值处的边缘,因此响应的一阶导数在这些点处将为零。还要注意,由于边缘的中心位于x = 0,所以在没有噪声的情况下,x =0 时响应中应该有一个局部最大值。

令Hn(x)仅是滤波器对噪声的响应,而HG(x)是其对边缘的响应,并假设总响应在x = x0 处有一个局部最大值。那我们有

 

H‘G(x0)关于原点的泰勒展开式给出


通过假设H'G(0)= 0,即在无噪声的情况下滤波器的响应在原点处具有局部最大值,因此可以忽略扩展中的第一项。假定实际最大值的位移x0小,因此我们将忽略二次项和更高项。实际上,通过一个简单的论点我们可以证明,如果边G(x)是对称的或反对称的,则x0中的所有偶数项都将消失。假设G(x)是反对称的,并且将f(x)表示为对称分量和反对称分量的总和。对称分量与G(x)的卷积对SNR的分子没有任何贡献,但对分母中的噪声分量有任何贡献。因此,如果f(x)具有任何对称分量,则其SNR将比纯反对称滤波器差。对偶参数适用于对称边,因此,如果边G(x)是对称的或反对称的,则过滤 f(x)也会成立。这样做的最终结果是,响应HG(x)始终是对称的,并且其奇数阶的导数 [出现在(5)中的偶数阶的系数中] 在原点为零。等式(4)和(5)给出

现在H'n(x0)是一个高斯随机量,其方差是H'n(x0的均方值,由下式给出:

其中E [y]是y的期望值。将此结果与(6)组合,并替换H"G(0)得到

其中是x0的标准偏差的近似值。本地化定义为的倒数。

公式(3)和(9)是前两个准则的数学形式,并且设计问题同时减少到这两个准则的最大化。为此,我们将(3)和(9)的乘积最大化。可以想象,我们可以使用两个参数中任何单调的函数来组合(3)和(9),但是乘积的使用简化了阶跃边缘的分析,这在第三节中应该很清楚。目前,我们将利用任意边缘标准的乘积,即我们寻求最大化

解决方案上可能存在一些其他约束,例如下面描述的多重响应约束(12)。

 

B.消除多重响应

在我们对边缘检测问题的规范中,我们决定在应用于图像的线性滤波器的响应中,将边缘标记在局部最大值处。最后一部分给出的检测标准衡量了滤波器在区分边缘中心信号和噪声方面的有效性。它没有考虑边缘中心附近的滤镜行为。前两个标准可以按如下方式简单地最大化。从积分的Schwarz不等式,我们可以证明SNR(3)的上界为

和本地化(9)

当[-W, W] 中的 f(x)= G(-x)时,可以达到两个边界,并且SNR和定位的乘积最大。

 

因此,根据前两个标准,梯级边缘的最佳检测器是截断的梯级或箱差运算符。 Rosenfeld和Thurston [25]使用了盒子的差异,Herskovits和Binford [11]则使用了横向抑制。然而,它具有非常高的带宽,并且在对嘈杂的台阶边缘的响应中往往表现出许多最大值,这在成像系统添加噪声或图像本身包含纹理化区域时是一个严重的问题。根据我们的第一个标准,这些额外的边缘应被认为是错误的。但是,此标准的分析形式是从单个点(边缘的中心)处的响应派生的,并且没有考虑附近几个点处的响应的交互作用。如果检查盒子边缘检测器差异的输出,我们会发现对噪声阶跃的响应是一个近似三角形的峰值,在边缘附近有许多尖锐的最大值(见图1)。

这些最大值非常接近,以致于无法选择一个作为对步骤的响应,而将其他识别为噪声。我们需要向我们的标准添加要求,即函数f对阶跃附近的单个阶跃边不会有“太多”的响应。我们需要限制响应中的峰值数量,以便声明多个边的可能性很小。理想情况下,我们希望使噪声响应中的峰之间的距离近似于操作员对单个步骤的响应的宽度。该宽度将是运算符宽度W的一部分。

 

为了将其表示为对 f 的功能约束,我们需要获得相邻噪声峰之间距离的表达式。我们首先注意到输出中相邻最大值之间的平均距离是算子输出导数中相邻零交叉之间距离的两倍。然后,我们利用赖斯[24]的结果得出,函数g 对高斯噪声的响应的零交叉点之间的平均距离为

其中是g的自相关函数。在我们的案例中,我们正在寻找函数f' 的平均零交叉间距。现在,因为

f' 过零距离之间的平均距离为

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值