第四章边缘检测 4.1最优边缘检测算子 41.1最优检测准则 41.2最优定位准则 41.3消除多重响应 42一维台阶边缘的检测 43二维或高维的边缘检测 44需要多窗口的检测算子 景物的几何或物理性质的突变,例如深度、反射或表面方向的不连续性等,总是以图象 中灰度突变的形式出现的,这些灰度突变构成了图象中的边界。对人类视觉系统的实验表明, 图象中的边界特别重要,边缘检测过程可以在保留关于物体边界有用的结构信息的同时,极 大地降低处理的数据量,从而简化图象的分析过程。有的情况下,根据画出了边界的物体轮 廓,就可以识别物体。马尔在研究初始简图时指出,在边界处包涵的信息最丰富,它是构成 初始简图的主要成分。除此以外,在以下章节中要讨论的双目立体视觉、运动视觉、表面方 向检测和恢复等问题中边缘也是基本的特征。因此边界检测是图象处理和计算机视觉中的第 一个基本的处理步骤 一般来说物体的边界具有复杂的形状,难以根据图象中的灰度变化直接找出物体的边 界,因此需要把边界分解成一系列的局部边缘。局部边缘是图象中局部灰度级以简单(即单 调)的方式作极快变化的小区域。这种局部变化可用一定窗口运算的边缘检测算子来检测。 灰度变化的几何形状可以有以下几种 (1)边缘(edge)。边缘两边相邻区域中的灰度相对地均匀,只是在通过边缘时灰度发 生突变,理想的情况下边缘的横截面如图4-1(a)所示,实际情况下难免有一些噪声或模糊 的影响,这时边缘处的灰度分布就如图4-1(c)所示。 (c)图4.1灰度变化的各种情况(d) (2)直线或曲线的边线。这时除了沿一条很细的带状区域以外,灰度的分布相对地均匀, 在边线的横截面上灰度的分布形成一个尖锐的脉冲,如图4.1(b)所示。值得提出的是边线
75 第四章 边缘检测 4.1 最优边缘检测算子 4.1.1 最优检测准则 4.1.2 最优定位准则 4.1.3 消除多重响应 4.2 一维台阶边缘的检测 4.3 二维或高维的边缘检测 4.4 需要多窗口的检测算子 景物的几何或物理性质的突变,例如深度、反射或表面方向的不连续性等,总是以图象 中灰度突变的形式出现的,这些灰度突变构成了图象中的边界。对人类视觉系统的实验表明, 图象中的边界特别重要,边缘检测过程可以在保留关于物体边界有用的结构信息的同时,极 大地降低处理的数据量,从而简化图象的分析过程。有的情况下,根据画出了边界的物体轮 廓,就可以识别物体。马尔在研究初始简图时指出,在边界处包涵的信息最丰富,它是构成 初始简图的主要成分。除此以外,在以下章节中要讨论的双目立体视觉、运动视觉、表面方 向检测和恢复等问题中边缘也是基本的特征。因此边界检测是图象处理和计算机视觉中的第 一个基本的处理步骤。 一般来说物体的边界具有复杂的形状,难以根据图象中的灰度变化直接找出物体的边 界,因此需要把边界分解成一系列的局部边缘。局部边缘是图象中局部灰度级以简单(即单 调)的方式作极快变化的小区域。这种局部变化可用一定窗口运算的边缘检测算子来检测。 灰度变化的几何形状可以有以下几种: (1) 边缘(edge)。边缘两边相邻区域中的灰度相对地均匀,只是在通过边缘时灰度发 生突变,理想的情况下边缘的横截面如图 4-1(a)所示,实际情况下难免有一些噪声或模糊 的影响,这时边缘处的灰度分布就如图 4-1(c)所示。 图 4.1 灰度变化的各种情况 (2) 直线或曲线的边线。这时除了沿一条很细的带状区域以外,灰度的分布相对地均匀, 在边线的横截面上灰度的分布形成一个尖锐的脉冲,如图 4.1(b)所示。值得提出的是边线 (b) (a) (c) (d)
经常与边缘同时出现。例如,遥感图象中,在生长不同作物的田野之间的道路其图象就属于 这种情形。在理想条件下这种情况的灰度分布截面如图4.1(d所示。 41最优边缘检测算子 为了便于导出描述最优边缘算子的准则,Cany首先研究了一维边缘的情况,即假设在 二维图象的局部区域中,在某个方向上,边缘灰度分布的截面(简称截面)保持不变。例如, 在平滑的边缘轮廓上就大致是这种情况。这时边缘检测问题可以描述为: 已知截面的边缘被白色的高斯噪声所干扰(图4.2(a)中所示为台阶边缘的情况),把边 缘与所选择的滤波器作卷积。滤波器可以是各种类型,例如图4.2(b)和4.2(d)所示分别为 差分算子和高斯函数一阶微分算子。卷积以后的输出如图4.2(c)和(e)所示。卷积输出中 的局部极大值就被确定为所检测边缘的中心。这样,边缘检测算子的设计就成为一个按下述 准则来寻找具有最优特性的滤波器的问题 (1)优良的检测特性 即漏检实际边缘和检测虚假边缘的概率都很低。由于这两种概率都是卷积输出信/噪比 的单调降函数。所以这个条件相当于要求信/噪比最大 (2)优良的定位性 由算子检测出的边缘点应尽可能地靠近实际边缘的中心。 (3)无多重响应 即对单个边缘只有一个响应。这点要求可以认为是蕴含在第一个准则中,因为如果对单 个边缘产生两个响应,那么其中必有一个是虚假的边缘点。但第一个准则的数学形式并未表 达对多重响应的要求,所以要明确规定这个要求
76 经常与边缘同时出现。例如,遥感图象中,在生长不同作物的田野之间的道路其图象就属于 这种情形。在理想条件下这种情况的灰度分布截面如图 4.1(d)所示。 4.1 最优边缘检测算子 为了便于导出描述最优边缘算子的准则,Canny 首先研究了一维边缘的情况,即假设在 二维图象的局部区域中,在某个方向上,边缘灰度分布的截面(简称截面)保持不变。例如, 在平滑的边缘轮廓上就大致是这种情况。这时边缘检测问题可以描述为: 已知截面的边缘被白色的高斯噪声所干扰(图 4.2(a)中所示为台阶边缘的情况),把边 缘与所选择的滤波器作卷积。滤波器可以是各种类型,例如图 4.2(b)和 4.2 (d)所示分别为 差分算子和高斯函数一阶微分算子。卷积以后的输出如图 4.2 (c)和(e)所示。卷积输出中 的局部极大值就被确定为所检测边缘的中心。这样,边缘检测算子的设计就成为一个按下述 准则来寻找具有最优特性的滤波器的问题: (1) 优良的检测特性 即漏检实际边缘和检测虚假边缘的概率都很低。由于这两种概率都是卷积输出信/噪比 的单调降函数。所以这个条件相当于要求信/噪比最大。 (2) 优良的定位性 由算子检测出的边缘点应尽可能地靠近实际边缘的中心。 (3) 无多重响应 即对单个边缘只有一个响应。这点要求可以认为是蕴含在第一个准则中,因为如果对单 个边缘产生两个响应,那么其中必有一个是虚假的边缘点。但第一个准则的数学形式并未表 达对多重响应的要求,所以要明确规定这个要求
图4.2(a)带有噪声的台阶边缘,(b)差分算子,(c)对边缘应用差分算子的结果 (d)高斯算子的一阶微分,(e)高斯函数的一阶微分算子应用于边缘卷积的结果。 4.1.1最优检测准则 需要把上述准则用数学形式表达出来。设:滤波器的冲激响应为f(x),边缘本身可表 示为G(x),同时边缘中心位于x=0处。那么滤波器对位于此中心的边缘的响应H可由卷积 积分表示: HG=NG(x)f()dx 图象中的噪声是随机信号,因此滤波器对噪声的响应也是随机信号。这时通常用一阶或 阶统计特性来描述滤波器的输出。如果滤波器为有限冲激响应,其边界为[-,可,并且 噪声是功率谱为常数的白噪声,那么利用帕斯瓦尔公式可得到滤波器对噪声n(x)的均方根 响应为 了2(x)d 4-2 其中m是单位长度的均方噪声幅度。这样,第一个准则,即输出的信/噪比就被定义为这
77 图 4.2 (a)带有噪声的台阶边缘,(b)差分算子,(c)对边缘应用差分算子的结果, (d)高斯算子的一阶微分,(e)高斯函数的一阶微分算子应用于边缘卷积的结果。 4.1.1 最优检测准则 需要把上述准则用数学形式表达出来。设:滤波器的冲激响应为 f(x),边缘本身可表 示为 G(x),同时边缘中心位于 x=0 处。那么滤波器对位于此中心的边缘的响应 HG 可由卷积 积分表示: HG G( x) f (x) dx w w = − − + 4-1 图象中的噪声是随机信号,因此滤波器对噪声的响应也是随机信号。这时通常用一阶或 二阶统计特性来描述滤波器的输出。如果滤波器为有限冲激响应,其边界为 −w, w ,并且 噪声是功率谱为常数的白噪声,那么利用帕斯瓦尔公式[ ]可得到滤波器对噪声 n(x) 的均方根 响应为: H n f (x) dx n w w = − + 0 2 1 2 4-2 其中 n0 2 是单位长度的均方噪声幅度。这样,第一个准则,即输出的信/噪比就被定义为这
两个响应的商 SR= o(-/() Mu()dr 41.2最优定位准则 对定位准则来说,最好定义某种随定位性改善而增加的测量。为此,采用检测出的边缘 点与实际边缘点中心之间的均方根距离的倒数作为定位性的测量。因为把图象对∫(x)算子 响应的局部极大点标志为边缘点,所以算子响应的一阶导数在边缘点应为零。同时因为边缘 的中央在x=0处,所以在没有噪声时,x=0处将是响应的局部最大值。但当有噪声时就不 是这样。设:Hn(x)表示滤波器单独对噪声的响应,Hc(x)是滤波器单独对边缘的响应。假 设,滤波器总的响应在x=x0处有一个局部的的极大值。那么有 (o)+H(xo)=0 4-4 如对HG(xo)在原点作泰勒级数展开 H(x)=H2(0)+H2(O)x0+ox3) 4-5 因为在没有噪声时,滤波器的响应在原点处有一个局部的极大值。所以H()=0,这样上 式中的第一项可略去,如果实际极大值的位移xo很小,那么二阶和更高阶的项可被忽略。 由方程(4-4)和(4-5)可得 (0)xo≈-H(xo)或 Hnx 4-6 0 其中Hn(xo)是一个高斯随机变量,因为它是白色高斯噪声与冲激响应为f(x)的滤波器的卷 积输出,它的方差EH(x0)2可表示为 其中Ey是y的期望。根据(46式,并利用上述结果,可得到x的方差6x6等于 」(x) ⊥"Gx)(xkh 定位性定义为δx的倒数,即 G(x)/'()dr Localization (4-3)和(4-9)两式是最优检测和定位准则的数学形式,这样滤波器的设计就简化为这两 项同时为最大的问题。为此,我们要使(4-3)和(4-5)的乘积最大,也就是使下式为最大
78 两个响应的商。 ( ) ( ) ( ) SNR G x f x dx n f x dx w w w w = − − + − + 0 2 1 2 4-3 4.1.2 最优定位准则 对定位准则来说,最好定义某种随定位性改善而增加的测量。为此,采用检测出的边缘 点与实际边缘点中心之间的均方根距离的倒数作为定位性的测量。因为把图象对 f (x) 算子 响应的局部极大点标志为边缘点,所以算子响应的一阶导数在边缘点应为零。同时因为边缘 的中央在 x = 0 处,所以在没有噪声时, x = 0 处将是响应的局部最大值。但当有噪声时就不 是这样。设: Hn (x) 表示滤波器单独对噪声的响应, HG (x) 是滤波器单独对边缘的响应。假 设,滤波器总的响应在 x = x0 处有一个局部的的极大值。那么有 Hn (x0) + HG (x0) = 0 4-4 如对 HG (x0 ) 在原点作泰勒级数展开 ( ) (0) (0) ( ) 0 2 HG x0 = HG + HG x0 + o x0 = 4-5 因为在没有噪声时,滤波器的响应在原点处有一个局部的极大值。所以 HG (0) = 0 ,这样上 式中的第一项可略去,如果实际极大值的位移 x0 很小,那么二阶和更高阶的项可被忽略。 由方程(4-4)和(4-5)可得: HG (0)x0 −Hn (x0) 或 ( ) ( ) x H x H n G 0 0 0 = − 4-6 其中 Hn (x0 ) 是一个高斯随机变量,因为它是白色高斯噪声与冲激响应为 f (x) 的滤波器的卷 积输出,它的方差 ( ) E H x n 0 2 可表示为: ( ) E H x n f (x) dx n w w = − + 0 2 0 2 2 4-7 其中 E y 是 y 的期望。根据(4-6)式,并利用上述结果,可得到 x0 的方差 x0 2 等于 ( ) ( ) ( ) 2 2 2 0 2 0 2 0 − = = + − + − w w w w G x f x dx n f x dx x E x 4-8 定位性定义为 x0 2 的倒数,即 ( ) ( ) ( ) Localization G x f x dx n f x dx w w w w = − − + − + 0 2 4-9 (4-3)和(4-9)两式是最优检测和定位准则的数学形式,这样滤波器的设计就简化为这两 项同时为最大的问题。为此,我们要使(4-3)和(4-5)的乘积最大,也就是使下式为最大
"o(-)y()algr(+( mov-tw 2(dr nov[+/ 2(do 4.1.3消除多重响应 上述检测准则测量了滤波器在原点处区分信号与噪声的有效性,但并未考虑滤波器在边 缘中心附近区域的特性。根据积分的许瓦兹不等式可很简单地求得上述两个测量的上限值。 根据(4-3)式,SNR的上界为 G2(x)dx 定位性 Localization((4-9)式)的上界为 (x 在[m可]区间中,当f(x)=G(-x)时,SNR和 Localization都达到上界,从而 SR· Localization得到最大值。因此,根据前两个准则,对台阶边缘来说最优的边缘检测 算子是差分算子,或截短的台阶算子。但差分算子的频带很宽,当台阶边缘包含噪声时,在 输出响应中常会出现很多极大值,这时就会造成严重的问题。根据第一个准则,这些额外的 边缘都应被看作错误。但上述准则的解析公式是根据在单个点(即边缘中心)处的响应得出 的,并未考虑周围若干点的相互作用。从图4.2(c)可看到差分算子对有噪声的台阶边缘的 响应大致是三角形的峰,但在边缘附近有许多很陡的极大值。 这些极大值点相互靠得很近,以至难以区分哪个是台阶边缘的响应,哪些是噪声。所以 需要限制滤波器在台阶附近的响应,使得检测多于一个边缘的概率很低。理想情况下,我们 希望在噪声情况下的响应其峰点之间的距离大致等于边缘检测算子对单个边缘所产生响应 的宽度,这个宽度是算子宽度W的若干分之 为了把这个准则表示为对滤波器∫(x)的约束,这里需要得到相邻噪声峰点之间距离与 f(x)之间的表达式。不难看出输出中相邻极大点之间的平均距离是算子输出一阶导数中相 邻过零点之间距离的2倍,因为输出中的极小点也会产输出一阶导数中的过零点。因此, Canny利用Rice得到的结果:函数g对高斯噪声的响应中过零点之间平均距离是: 其中R()是g的自相关函数 R(0)=Cg2(x)和R"()=_g2(xt 在这里的情况下,所寻找的是函数f’对高期噪声响应中的过零点平均间距X2(0) 4-12 f"(xdx ∫的噪声响应中相邻极大值之间的距离用Xmax表示。Xma(0=2Xx。这个距离可取为算
79 ( ) ( ) ( ) ( ) ( ) ( ) G x f x dx n f x dx G x f x dx n f x dx w w w w w w w w − − − + − + − + − + 0 2 0 2 4-10 4.1.3 消除多重响应 上述检测准则测量了滤波器在原点处区分信号与噪声的有效性,但并未考虑滤波器在边 缘中心附近区域的特性。根据积分的许瓦兹不等式可很简单地求得上述两个测量的上限值。 根据(4-3)式,SNR 的上界为: n G (x) dx w w 0 −1 2 − + 定位性 Localization((4-9)式)的上界为 n G (x) dx w w 0 −1 2 − + 在 −w,w 区间中,当 f (x) = G(−x) 时,SNR 和 Localization 都达到上界,从而 SNR·Localization 得到最大值。因此,根据前两个准则,对台阶边缘来说最优的边缘检测 算子是差分算子,或截短的台阶算子。但差分算子的频带很宽,当台阶边缘包含噪声时,在 输出响应中常会出现很多极大值,这时就会造成严重的问题。根据第一个准则,这些额外的 边缘都应被看作错误。但上述准则的解析公式是根据在单个点(即边缘中心)处的响应得出 的,并未考虑周围若干点的相互作用。从图 4.2 (c)可看到差分算子对有噪声的台阶边缘的 响应大致是三角形的峰,但在边缘附近有许多很陡的极大值。 这些极大值点相互靠得很近,以至难以区分哪个是台阶边缘的响应,哪些是噪声。所以 需要限制滤波器在台阶附近的响应,使得检测多于一个边缘的概率很低。理想情况下,我们 希望在噪声情况下的响应其峰点之间的距离大致等于边缘检测算子对单个边缘所产生响应 的宽度,这个宽度是算子宽度 W 的若干分之一。 为了把这个准则表示为对滤波器 f (x) 的约束,这里需要得到相邻噪声峰点之间距离与 f (x) 之间的表达式。不难看出输出中相邻极大点之间的平均距离是算子输出一阶导数中相 邻过零点之间距离的2倍,因为输出中的极小点也会产输出一阶导数中的过零点。因此, Canny 利用 Rice 得到的结果:函数 g 对高斯噪声的响应中过零点之间平均距离是: ( ) ( ) X R R ave = − 0 0 1 2 4-11 其中 R(c) 是 g 的自相关函数。 R(0) g (x)dx 2 = − 和 ( ) = ( ) − R 0 g x dx 2 在这里的情况下,所寻找的是函数 f 对高期噪声响应中的过零点平均间距 Xzc ( f ) ( ) ( ) ( ) 2 1 2 2 ' = − − f x dx f x dx X f zc 4-12 f 的噪声响应中相邻极大值之间的距离用 X max 表示。 Xmax( f ) = 2Xzc 。这个距离可取为算