2.2.1未处理的初始简图( raw pr imaI sketch) 计算未处理的初始简图涉及的问题是检测亮度的变化、确定亮度变化的空间位置,以及 如何用符号来表示这些亮度变化。 2.2.2亮度变化的检测与最优滤波器 亮度变化的检测 亮度的变化可由亮度的梯度和亮度梯度的变化来描述。为简单起见,以一维的情况为例 说明。如用一阶差分来近似,那么可通过把该点左、右两边的亮度值相减求得。这相当于把 此点一边各点的亮度乘以+1,把此点另一边的亮度乘以-1,然后把两边的乘积相加,所得结 果即为该点的亮度梯度。在数字图象处理的文献中把这样的运算称为与一阶差分空间算子做 卷积。这样的运算是一种局部运算。现在的问题是仅对左、右相邻点,还是在更大的范围内 求亮度变化。如图2.3(a)所示是缓慢变化,那么为了检测亮度梯度就需要在更大的范围内使 左、右两边的亮度求差,即采用较大的空间算子。与此相反,如果亮度分布是图23(b)中所 示的急剧变化,那么用大的空间算子就会丢失这些急剧的亮度变化,为此要采用较小的空间 算子。总之,如果图象中的亮度在某个范围内变化,那么就要采用相应大小的不同的空间算 子 较大的算子检 较小的算子检 测平缓的亮度 测急剧的亮度 变化 变化 图23采用不同大小的算子检测不同尺度的亮度梯度 亮度梯度的变化也是对亮度变化的有用描述。一阶微分可检测亮度梯度,二阶微分可检 测亮度梯度的变化。如果亮度分布是图24(a)中所示的台阶状,那么在亮度的一阶微分图 形上出现一个峰点(b),而在二阶微分的图形上相应地出现一个过零点(c)。通过确定亮度二 阶微分上的过零点就可以确定亮度台阶的位置 (b)I
21 2.2.1 未处理的初始简图(raw primal sketch) 计算未处理的初始简图涉及的问题是检测亮度的变化、确定亮度变化的空间位置,以及 如何用符号来表示这些亮度变化。 2.2.2 亮度变化的检测与最优滤波器 1. 亮度变化的检测 亮度的变化可由亮度的梯度和亮度梯度的变化来描述。为简单起见,以一维的情况为例 说明。如用一阶差分来近似,那么可通过把该点左、右两边的亮度值相减求得。这相当于把 此点一边各点的亮度乘以+1,把此点另一边的亮度乘以-1,然后把两边的乘积相加,所得结 果即为该点的亮度梯度。在数字图象处理的文献中把这样的运算称为与一阶差分空间算子做 卷积。这样的运算是一种局部运算。现在的问题是仅对左、右相邻点,还是在更大的范围内 求亮度变化。如图 2.3(a)所示是缓慢变化,那么为了检测亮度梯度就需要在更大的范围内使 左、右两边的亮度求差,即采用较大的空间算子。与此相反,如果亮度分布是图 2.3(b)中所 示的急剧变化,那么用大的空间算子就会丢失这些急剧的亮度变化,为此要采用较小的空间 算子。总之,如果图象中的亮度在某个范围内变化,那么就要采用相应大小的不同的空间算 子。 图 2.3 采用不同大小的算子检测不同尺度的亮度梯度 亮度梯度的变化也是对亮度变化的有用描述。一阶微分可检测亮度梯度,二阶微分可检 测亮度梯度的变化。如果亮度分布是图 2.4(a) 中所示的台阶状,那么在亮度的一阶微分图 形上出现一个峰点(b),而在二阶微分的图形上相应地出现一个过零点( c)。通过确定亮度二 阶微分上的过零点就可以确定亮度台阶的位置。 (a) I (b) I 较小的算子检 测急剧的亮度 变化 较大的算子检 测平缓的亮度 变化 (a) (b) +1 +1 -1 -1
(c)I 图24台阶状亮度分布(a)的一阶和二阶微分,(b)是有噪声情况下的实际边缘,(c)和(d) 则是有噪声情况下的一阶和二阶微分。 在实际景物的图象中,在两个平面之间的边缘处,亮度急剧地由一个值变为另一个值, 亮度的分布呈台阶状。实际上,由于不可避免地存在噪声,台阶状的变化经常被模糊成图 24(b)中所示的情况。为了确定这样的有噪声的亮度变化的位置需要经过以下四步处理 第一步从图象建立平均亮度阵列。用局部的亮度平均来减少噪声的影响。I是ⅰ点的图 象亮度,A;是ⅰ点周围的亮度的局部平均值: A=+1+ 第二步,从平均亮度阵列建立平均一阶差分阵列。为此,要把右邻差分A+1-A和左邻 差分A1-A11相平均。这相当于把A+1和A:1相平均。F1是平均亮度的平均一次差分: (d) 图2.5(a)理想边缘的亮度分布;(b)对(a)进行平均运算的结果:(c)对(b进行平均差分 的结果;(d)对(c)进行平均差分的结果 第三步,从平均一次差分阵列建立平均二次差分。这相当于求一次差分的平均。S;是平 均亮度的平均二次差分: s=(1-)+(-F)=n-F 第四步,在所求得的阵列上记下峰点、陡峭的斜率和过零点以寻找边缘
22 (c) I (d) I 图 2.4 台阶状亮度分布(a)的一阶和二阶微分,(b)是有噪声情况下的实际边缘,(c)和(d) 则是有噪声情况下的一阶和二阶微分。 在实际景物的图象中,在两个平面之间的边缘处,亮度急剧地由一个值变为另一个值, 亮度的分布呈台阶状。实际上,由于不可避免地存在噪声,台阶状的变化经常被模糊成图 2.4(b)中所示的情况。为了确定这样的有噪声的亮度变化的位置需要经过以下四步处理: 第一步从图象建立平均亮度阵列。用局部的亮度平均来减少噪声的影响。Ii 是 i 点的图 象亮度,Ai 是 i 点周围的亮度的局部平均值: 3 −1 + + +1 = i i i i I I I A 第二步,从平均亮度阵列建立平均一阶差分阵列。为此,要把右邻差分 Ai+1 -Ai 和左邻 差分 Ai-Ai-1 相平均。这相当于把 Ai+1 和 Ai-1 相平均。Fi 是平均亮度的平均一次差分: ( ) ( ) F A A A A A A i i i i i i i = − + − = +1 −1 +1 − −1 2 2 图 2.5 (a) 理想边缘的亮度分布;(b) 对(a)进行平均运算的结果;(c) 对(b)进行平均差分 的结果;(d) 对(c)进行平均差分的结果。 第三步,从平均一次差分阵列建立平均二次差分。这相当于求一次差分的平均。Si 是平 均亮度的平均二次差分: ( ) ( ) S F F F F F F i i i i i i i = − + − = +1 −1 +1 − −1 2 2 第四步,在所求得的阵列上记下峰点、陡峭的斜率和过零点以寻找边缘
平均过程把理想的台阶和被噪声所模糊的台阶都转换成平滑的台阶(图2.5(b),一次 差分过程又把平滑了的台阶转换成凸缘(图25(c)。而二次差分又把凸缘变成了S形曲线 (图2.5(d))。这个S形曲线在正的和负的尖峰之间陡峭地穿过零线。 进行平均以及随后差分运算的作用可以组合到一次总的平均过程中去。输入点l对输出 点O1的影响与两点之间相隔距离关系如下述公式所示: ∑P=×l 其中,P被称为点扩散函数,因为这个函数表示单个孤立的、亮度不为零的点如何在输 出图象中扩散它的影响。当利用这个公式根据输入来确定输出时,我们说输入被点扩散函数 所滤波或和点扩散函数进行卷积。例如,图26(a)所示的点扩散函数相当于一维的三点平均。 图26(b)所示的点扩散函数相当于先平均,然后平均相邻差分。图26(c所示的点扩散函数 相当于先平均,然后进行二次平均相邻差分。 图26平均点扩散函数的一阶和二阶差分(a)一个平均函数:(b)是(a)中所示点扩散函数 的平均相邻差分:(c)对平均的一阶差分进行平均的相邻差分。 以上用一维的例子说明检测图象中的亮度变化可通过对图象用某种点扩散函数(滤波 器)作滤波或卷积,然后在滤波图象中寻找峰点或过零点等特征来实现。点扩散函数的扩散 范围,或滤波器的大小应取决于图象中的亮度变化情况 2.最优滤波器 在自然景物的图象中亮度变化的尺度( Scale)很宽,从很缓慢的变化到很急剧的变化 都可能存在。没有一个单独的滤波器可在所有的尺度下都是最优的。所以需要寻找一种分别 处理在不同尺度上发生的变化的方法。根据 Campbell和 Robson lcam68的研究表明人类视觉 信息的处理是并行地在若干独立的空间频率通道中进行的。按这种概念首先要以各种分辨率 对图象作局部平均,然后检测发生在不同分辨率上的亮度变化。因此,在设计这种最优滤波 器时要综合考虑两个实际因素。首先,由于图象滤波的目的是减小亮度变化的尺度范围,所
23 平均过程把理想的台阶和被噪声所模糊的台阶都转换成平滑的台阶(图 2.5(b)),一次 差分过程又把平滑了的台阶转换成凸缘(图 2.5(c))。而二次差分又把凸缘变成了 S 形曲线 (图 2.5(d))。这个 S 形曲线在正的和负的尖峰之间陡峭地穿过零线。 进行平均以及随后差分运算的作用可以组合到一次总的平均过程中去。输入点 Ij 对输出 点 Oi 的影响与两点之间相隔距离关系如下述公式所示: o P I i j i j j = − 其中,P 被称为点扩散函数,因为这个函数表示单个孤立的、亮度不为零的点如何在输 出图象中扩散它的影响。当利用这个公式根据输入来确定输出时,我们说输入被点扩散函数 所滤波或和点扩散函数进行卷积。例如,图 2.6(a)所示的点扩散函数相当于一维的三点平均。 图 2.6(b)所示的点扩散函数相当于先平均,然后平均相邻差分。图 2.6(c)所示的点扩散函数 相当于先平均,然后进行二次平均相邻差分。 图 2.6 平均点扩散函数的一阶和二阶差分(a)一个平均函数;(b)是(a)中所示点扩散函数 的平均相邻差分;(c)对平均的一阶差分进行平均的相邻差分。 以上用一维的例子说明检测图象中的亮度变化可通过对图象用某种点扩散函数(滤波 器)作滤波或卷积,然后在滤波图象中寻找峰点或过零点等特征来实现。点扩散函数的扩散 范围,或滤波器的大小应取决于图象中的亮度变化情况。 2. 最优滤波器 在自然景物的图象中亮度变化的尺度(Scale)很宽,从很缓慢的变化到很急剧的变化 都可能存在。没有一个单独的滤波器可在所有的尺度下都是最优的。所以需要寻找一种分别 处理在不同尺度上发生的变化的方法。根据 Campbell 和 Robson[cam 68]的研究表明人类视觉 信息的处理是并行地在若干独立的空间频率通道中进行的。按这种概念首先要以各种分辨率 对图象作局部平均,然后检测发生在不同分辨率上的亮度变化。因此,在设计这种最优滤波 器时要综合考虑两个实际因素。首先,由于图象滤波的目的是减小亮度变化的尺度范围,所 (a) (b) (c)
以滤波器的频谱应该是平滑的,并在频率域中是带通的。这个条件可表示为滤波器应有小的 频率方差AO。第二个因素可称为空间定位约束( Constraint of spatial localization)。如前所 述,景物中可引起图象中亮度变化的因素为:(1)照明变化;(2)可见表面的方向和相对观 察者的距离变化:;(3)表面反射率变化。重要的是这些因素可被认为是以它们各自的尺度在 空间中定位的。所以,对滤波图象中的每点的作用应该是邻近点的平滑平均的结果,而不是 任何一种杂乱散布的点的平均。因此,这种滤波器在空间域中也应是平滑和准确定位的,也 就是滤波器应有小的空间方差△x 不幸的是这两个定位性要求(一个在空间域,一个在频率域)是相互冲突的。事实上这 两者之间要满足不确定性原理(见[Bra65160-175)。不确定性原理要求Ax△O≥是丌。 此外,只有 Gaussian函数才能满足这种最优关系: G(x)=1/d(2x)exp -x /2a2) 其中σ是 Gaussian函数的方差 在二维的情况下 G(r) Gaussian滤波器能在这两个矛盾的要求中作最优的综合平衡。因此,计算初始简图中的第 步是使图象(I(x,y)与一组不同尺度的 Gaussian滤波器(即不同标准方差a2的滤波器) 作卷积。可用符号把这种计算表示为G+I(x,y) 在出现亮度变化的地方一阶导数就会有峰点。相应地,亮度的二阶导数上就会有过零点 ( zero crossing)。因此,可通过寻找下述函数中的过零点来检测亮度的变化: f(x,y=D-G(r)*I(x, y)] 其中I(x,y)是图象,*是卷积算子。根据卷积的微分规则: f(x,y=D-G"I(x, y) 算子DG与图象Ix,y)卷积的结果和G(r)与I(xy)卷积后进行二阶微分的结果完全相同。DG 形状看起来很象墨西哥草帽(图2.7),因此有时被称为草帽形算子 上述论述说明从原理上说,某一尺度下的亮度变化可通过把图象与DG算子作卷积, 并寻找方向导数,所以还要确定是在什么方向上取导数。为简化计算,如果可能的话希望使 用各向同性的算子。唯一与方向无关的二阶微分算子是 Laplacian算子V2。 Marrk80证明 在某些很弱的假设下,使用V2算子是合适的。因此,上述二阶方向导数D(G1)中的过零点 可简便地在某一尺度下通过搜索v2G*(x,y)的过零点来求得 其中 V2=2+y=√x2+y2,w=a4/4 这是一个旋转对称的函数,具有一个自由参数σ,它决定函数的空间尺寸大小。此函数横
24 以滤波器的频谱应该是平滑的,并在频率域中是带通的。这个条件可表示为滤波器应有小的 频率方差 。第二个因素可称为空间定位约束(Constraint of spatial localization)。如前所 述,景物中可引起图象中亮度变化的因素为:(1) 照明变化;(2) 可见表面的方向和相对观 察者的距离变化;(3) 表面反射率变化。重要的是这些因素可被认为是以它们各自的尺度在 空间中定位的。所以,对滤波图象中的每点的作用应该是邻近点的平滑平均的结果,而不是 任何一种杂乱散布的点的平均。因此,这种滤波器在空间域中也应是平滑和准确定位的,也 就是滤波器应有小的空间方差 x 。 不幸的是这两个定位性要求(一个在空间域,一个在频率域)是相互冲突的。事实上这 两者之间要满足不确定性原理(见[Bra 65], 160−175)。不确定性原理要求 x 1 4 。 此外,只有 Gaussian 函数才能满足这种最优关系: ( ) ( ) G x ( ) x = 1 2 − 2 1 2 2 / exp 2 其中 是 Gaussian 函数的方差 在二维的情况下 G(r) = x y − = + 1 2 2 2 2 2 2 2 exp , Gaussian 滤波器能在这两个矛盾的要求中作最优的综合平衡。因此,计算初始简图中的第一 步是使图象(I(x, y))与一组不同尺度的 Gaussian 滤波器(即不同标准方差 2 的滤波器) 作卷积。可用符号把这种计算表示为 G*I(x, y)。 在出现亮度变化的地方一阶导数就会有峰点。相应地,亮度的二阶导数上就会有过零点 (zero crossing)。因此,可通过寻找下述函数中的过零点来检测亮度的变化: f(x,y)=D2 [G(r)*I(x, y)] 其中 I(x, y)是图象,*是卷积算子。根据卷积的微分规则: f(x,y)=D2G*I(x, y) 算子D2G与图象I(x, y)卷积的结果和G(r)与I(x, y)卷积后进行二阶微分的结果完全相同。D2G 形状看起来很象墨西哥草帽(图 2.7),因此有时被称为草帽形算子。 上述论述说明从原理上说,某一尺度下的亮度变化可通过把图象与 D2G 算子作卷积, 并寻找方向导数,所以还要确定是在什么方向上取导数。为简化计算,如果可能的话希望使 用各向同性的算子。唯一与方向无关的二阶微分算子是 Laplacian 算子 2 。Marr[Mar 80]证明 在某些很弱的假设下,使用 2 算子是合适的。因此,上述二阶方向导数 D2 (G*I)中的过零点 可简便地在某一尺度下通过搜索 ( ) 2G I x, y 的过零点来求得。 ( ) = − − ( ) 2 1 − 4 2 2 1 2 2 2 G 2 exp 其中 , , / 4 2 2 2 4 2 2 2 2 = + = x + y w = x y 这是一个旋转对称的函数,具有一个自由参数 ,它决定函数的空间尺寸大小。此函数横
截面如图27所示。由图中可见,它的中央负向区域的宽度a2D等于 2√2G 这个滤波器的大小由σ的数值或等价地由ω,n的数值来确定。为了不使函数被过分地截短 它应在足够大的窗口内作计算,窗口宽度通常取为o≥3602 图27ⅴ2G(y)算子的横截面 图28中所示为vG算子与其它两种不是最优的算子的对比。因为我们是根据在频率 域和空间域中同时要求定位的原则来选择 Gaussian滤波器的,而在所示的例子中这两条要 求都被严重地违背了。一个理想的一倍频程带通滤波器可满足在频率域中的定位要求,但
25 截面如图 2.7 所示。由图中可见,它的中央负向区域的宽度 2 D 等于 2D = 2 2 这个滤波器的大小由 的数值或等价地由 2 D 的数值来确定。为了不使函数被过分地截短, 它应在足够大的窗口内作计算,窗口宽度通常取为 d 3 62D . 图 2.7 ( ) 2G 算子的横截面 图 2.8 中所示为 2G 算子与其它两种不是最优的算子的对比。因为我们是根据在频率 域和空间域中同时要求定位的原则来选择 Gaussian 滤波器的,而在所示的例子中这两条要 求都被严重地违背了。一个理想的一倍频程带通滤波器可满足在频率域中的定位要求,但