第二章 边缘提取与多分辨率分析 2.1 边缘提取的经典方法 两种边缘: 阶跃性边缘(图2.1中P-P’) 一阶导数在边缘点处达 到极值,二阶导数在边缘点 处呈零交叉(zero cross) 屋脊性边缘(图2.1中Q-Q’) 一阶导数在边缘点处呈 零交叉(zero cross),二阶 导数在边缘点处达到极值 经典边缘提取算法: 梯度算子(Roberts算子) 22 ),(),(),( jifjifjiG yx ?+?= (,) (,) ( 1,), (,) (,) (, 1) xy fij fij fi j fij fij fij? =???=?? 其中 Roberts算子是梯度的近似 0426 (,)max{() (),() ()}R ij fA fA fA fA=? ? Sobel算子 456 37 210 ),( AAA AjiA AAA ))())(2)(())())(2)((),( 456210 AfAfAfAfAfAfjiS ++?++= )())(2)(())())(2)(( 432670 AfAfAfAfAfAf ++?+++ 1 (, ) (, ) ( ), x fij fij fA? =? 7 (, ) (, ) ( ) y fij fij fA? =? Laplacian算子 拉普拉斯算子是对图像求二阶导数。计算上,取关于x 轴方向和y轴方 向的二阶差分之和: 2 1357 (,)()()()()4(,)f i jfA f A f A f A f i j? =+++? 若在(i,j)点发生零交叉,则(i,j)为边缘点 ),(),(),( 222 jifjifjif yx ?+?=? 经典边缘提取算法的缺点是受噪声干扰比较大,不够准确 2.1 Marr边缘检测算子 先对图像作平滑,然后在做边缘检测,Marr用高斯函数作平滑,然后用 Laplacian算子检测边缘,简称LoG滤波器 ))( 2 1 exp( 2 1 ),,( 22 22 yxyxG +?= σπσ σ 将G(x,y)与图像函数f(x,y)做卷积,得到一个平滑的图像函数: ),,(),(),( σyxGyxfyxf s ?= 对该函数做拉普拉斯运算,提取边缘。 可以证明: ),,(),()],,(),([ 22 σσ yxGyxfyxGyxf ??=?? 其中,),,( 2 σyxG? 为LoG滤波器,也称为Marr-Hildrech算子 ))( 2 1 exp()1 2 ( 1 ),,( 22 22 22 42 2 2 2 2 yx yx y G x G yxG +?? + = ? ? + ? ? =? σσπσ σ 称为尺度因子,大的值可用来检测模糊的边缘,小的值可用来检测聚焦 良好的图像细节。 σ 图2.2 的横截面 G 2 ? LoG算子的形状如图2.2所示,常称为墨西哥草帽 σ22 2 = D w 这个滤波器的大小由的数值或等价地由 的数值来确定为了不使函数被过分地截短, 它应在足够大的窗口内作计算,窗口宽度通 常取为: σ D w 2 Dd ww 2 6.3≥ DoG滤波器 为了减少卷积的计算量,常用两个不同尺度的高斯函数之差来近似 G 2 ? 称为DoG滤波器,DoG—Difference of two Gaussion function ))( 2 1 exp( 2 1 ))( 2 1 exp( 2 1 ),( 22 2 2 2 2 22 2 1 2 1 21 yxyxDoG +??+?= σπσσπσ σσ 通常,时DoG最接近LoG 6.1/ 21 =σσ 图2.3 DoG算子 2.2 Canny边缘检测算子 Canny边缘检测的基本原理 设高斯函数为: ))( 2 1 exp( 2 1 ),( 22 22 yxyxG +?= σπσ 在某一方向n 上G(x,y)的一阶方向导数为: 其中 G n G G n ?= ? ? = n ? ? ? ? ? ? = θ θ sin cos n ? ? ? ? ? ? ?? ?? =? yG xG G / / n 是方向导数,是梯度矢量 G? 我们将图象f(x,y)与G n 作卷积,同时改变n的方向,G n *f(x,y)取得最大值时的 n ( 对应的方向)就是正交于检测边缘的方向。由 0 )],()(sin),()[(cos )),(( = ? ? ? ? ?+? ? ? ?? = ? ?? θ θθ yxf y G yxf x G yxfG n n 0/)),(( =??? nyxfG n 得 ),( ),( yxf x G yxf y G tg ? ? ? ? ? ? =θ ),( ),( cos yxfG yxf y G ?? ? ? ? =θ ),( ),( sin yxfG yxf x G ?? ? ? ? =θ 因此,对应于的方向 0/)),(( =??? nyxfG n ),( ),( yxfG yxfG n ?? ?? = 在该方向上有最大的输出响应,边缘强度为 ),( yxfG n ? ),( yxfG?? Canny边缘检测的实现 将二维卷积分解为两个一维的滤波器: )()() 2 exp() 2 exp( 21 2 2 2 2 yhxh yx kx x G =??= ? ? σσ )()() 2 exp() 2 exp( 21 2 2 2 2 xhyh xy ky y G =??= ? ? σσ k是常数 将上式分别与图象作卷积,得输出 ),(* yxf x G E x ? ? = ),(* yxf y G E y ? ? = 令 ),(),(),( 22 jiEjiEjiA yx += ] ),( ),( [),( jiE jiE arctgji y x =α 则代表图象上在(i,j)出的边缘强度,是法向矢量。 ),( jiA ),( jiα 当一个象素满足以下三个条件时,被认为是图象的边缘点: (1)该点的边缘强度大于沿该点梯度方向的两个相邻象素点的边缘强度; (2)与该点梯度方向上相邻两点的方相差小于45度; (3)与该点为中心的3x3邻域内的边缘强度极大值小于某个阈值。 2.3 多尺度边缘检测 图2.4 孤立边缘在不同的通道中产 生的过零点 为用符号描述图象的亮度变化需要用一组 不同大小的滤波器(频率通道)来检测所有空 间尺度上的亮度变化。大的滤波器检测宽的边 缘,小的滤波器检测亮度急剧变化的细节。在 同一频率通道内部,相邻的过零点通过聚集过 程连结成小的过零点段,并被赋以方向。引起 图象中亮度变化的物理因素主要包括:照明、 可见表面的反射率、表面形状以及离观察者的 距离和方位。这四个因素在图象中被编码,但 它们有一个共同的性质,即它们在空间是有确 定位置的。因此,亮度的变化就存在约束条件。 Marr称为之空间一致性假设(spatial coincidence assumption):如果过零点边缘段 出现在一组毗邻的独立通道中,并且这些边缘 段在每个通道中的方向和位置相同,那么这样 的过零点边缘段组表示的图象中的亮度变化就 是由单一的物理因素引起的。 2.4小波变换与边缘检测 多尺度边缘检测是一种有效的边缘检测方法,能否一次得到多尺度 的滤波结果,小波变换能完成这样的工作 一、小波变换简介 傅立叶变换是用三角函数生成整个空间,我们希望找到 一个“小的波”,来生成整个空间。它能在很快衰减到零。 )( 2 RL 空间定义为在整个实直线R上的平方可积函数的空间。即f满足 ∞< ∫ ∞ ∞? dxxf 2 )( ix e )2,0( 2 πL )( 2 RL ∞± 为了覆盖整个直线,我们沿R对小波函数进行整数平移,为了考虑不 同频率的波,我们以2的整数次幂对频率进行划分,得小波 ψ )2( kx j ?ψ ),( Zkj ∈ 考虑单位长度,小波定义为 )2(2:)( 2/ , kxx jj kj ?= ψψ 正交小波 一个函数称为正交小波,如果是的一 个规范正交集,即 )( 2 RL∈ψ }{ ,kj ψ )( 2 RL mlkjmlkj ,,,, δδψψ ?>=< ),,,( Zmlkj ∈ 并且每个可以表示成级数)()( 2 RLxf ∈ ∑ ∞ ?∞= = kj kjkj xcxf , ,, )()( ψ kj c , 称为小波系数,记作 >=< kjkj fc ,, ,ψ 连续小波 )( 1 }{ , a bx a ab ? = ψψ ),( Zab ∈ 小波变换 >=< )(,),)(( , xfabfW ab ψ ψ 和傅立叶变换不一样,小波级数和小波变换的描述是密切相关的。 小波变换的快速算法与多分辨率分解 二、小波变换域的边缘检测 设是磨光函数,满足,(2.1))(xθ ∫ ∞ ∞? =1)( dxxθ 0)( lim = ±∞→ x x θ 设二阶可导,定义,)(xθ )()( x dx d x I θψ = )()( 2 2 x dx d x II θψ = 由(2.1)得到 ∫ ∞ ∞? = 0)( dxx I ψ ∫ ∞ ∞? = 0)( dxx II ψ 所以它们是小波。可以是高斯函数或B样条函数。 )(xθ 注意f,g卷积的定义 ∫ ∞ ∞? ?=?=? duuxgufxgfxgf )()())(()( 引入记号 )( 1 )( s x s x s ξξ = )(xf 关于小波在尺度s 和位置x上的小波变换定义为 )()( xfxfW I s I s ψ?= )()( xfxfW II s II s ψ?= 由前诉定义得 ))(())(()( xf dx d sx dx d sfxfW s s I s θ θ ?=?= ))(())(()( 2 2 2 2 2 2 xf dx d sx dx d sfxfW s s II s θ θ ?=?= f(x)关于和的小波变换,变成了与光滑函数的卷积关于s 的一、二阶导数乘s 与s 的平方。的局部极值点对应的零交 叉点和的拐点。 )(x I ψ )(x II ψ s θ )(xfW I s )(xfW II s )(xf s θ? 当取Gauss函数时,零交叉检测相当于Marr检测算子,极值检测相当于 Canny边缘检测。 )(x s θ