4.3 基于内积能量的边缘检测算子
4.3.1 边缘检测算子
基于4.2节的分析,相对于梯度幅值,内积能量在具有相当定位精度的条件下具有更好噪声抑制性能。为提高经典Canny算子的噪声抑制性能,用式(4-17)定义的内积能量(开方)代替高斯梯度幅值(非极大值抑制过程各点的方向依旧采用梯度方向),从而形成了基于内积能量的边缘检测算子。检测算子具体分为以下4个步骤:
1)利用高斯梯度模板计算图像各点的梯度。
2)利用式(4-17)计算图像各点的内积能量。
3)利用梯度方向和内积能量(开方)进行非极大值抑制。
4)进行双阈值连接。
4.3.2 真实图像的噪声实验
图4-2是经典Canny算子和基于内积能量的边缘检测算子在Lena图像上的检测结果。其中,图4-2a为加入均值为0、方差为40的高斯噪声后的Lena图像;图4-2b、c分别为其梯度幅值图和内积能量图;图d~h分别为经典Canny算子在不同阈值(髙阈值分别为图像均值的1.0、1.2、1.4、1.6、1.8倍,低阈值均为髙阈值的0.6倍)的边缘检测结果;图4-2i~m分别为相同阈值设置下的基于内积能量的边缘检测结果。
通过图4-2b、c的对比可以看出:相对于梯度幅值图,在内积能量图中图像主要边缘得到增强,同时噪声和细小边缘得到有效抑制,两者之间的对比度加大。由图d~h可以看出:经典Canny算子的检测性能对二值化阈值的选择十分敏感(当阈值较小时,抑制噪能力非常差);而图4-2i~m表明:基于内积能量的边缘检测算子能够在有效保持图像主要边缘的同时,有效地抑制图像噪声和细节。此外还可以看出,相对于经典Canny检测算子,基于内积能量的边缘检测算子具有对阈值选取不敏感的优良性质。
图4-2 两种算子的性能比较
4.3.3 模拟实验(定量比较)
3.4.3节参考Nguyen的定义定义了四种误差(见图3-7):边缘冗余、噪声冗余、像素丢失和像素错位,并定义滤波误差和定位误差来分别衡量算法的平滑性和定位精度。这里依旧采用3.4.3节的方法来比较基于内积能量的边缘检测算子与经典的Canny算子在滤波误差和定位精度两方面的性能。
1.实验图像
实验图像采用Nguyen[27]所设计的模拟图像(见图4-3)。图中从左到右在40、80、160、200、240处分别有5个不同类型的边缘,依次分别为阶跃型边缘、台阶型边缘、倒台阶型边缘、脉冲型边缘和倒脉冲型边缘。其中,阶跃型边缘根据下式产生:
图4-3 实验图像
式中,LoCedge用于控制边缘的位置;μ用于控制边缘的陡峭程度;c用于控制边缘的高度。台阶型边缘和脉冲型边缘由两个阶跃型边缘获得,即I(x,y)+aI(x-Δ,y),a>0时表示台阶型边缘,a<0时表示脉冲型边缘。
2.实验结果
图4-4是经典Canny算子(CC)和基于内积能量的边缘检测算子(IPE)在加入高斯噪声的模拟图像上的实验结果。其中,图4-4a、b表示在高斯噪声方差为0.3时,两种算法在不同尺度水平上的检测性能对比。图4-4c、d表示在滤波尺度为1.0时,分别加入不同大小的噪声时两种算法的检测性能对比。实验中双阈值连接时的高低阈值分别为图像均值的1.5倍和1.0倍。通过对图4-4a~d的分析,可以得出如下结论:
① 图4-4a、c表明,两种边缘检测算法具有相当的边缘定位精度;并且滤波尺度越大或噪声水平越高,算法的边缘定位精度越差。
图4-4 经典Canny算子(CC)和基于内积能量的边缘检测算子(IPE)的性能比较
a)尺度—定位误差曲线 b)尺度—滤波误差曲线c)噪声—定位误差曲线 d)噪声—滤波误差曲线
② 图4-4b、d表明,基于内积能量的边缘检测算子比经典的Canny算子具有更强的噪声抑制能力。
③ 通过图4-4b中点A和点B的比较可得,保证相当滤波误差的条件下,对相同大小的噪声,基于内积能量的边缘检测算子比经典Canny算子具有更小的滤波尺度,因此基于内积能量的边缘检测算子具有更高的边缘定位精度(由①可知两种算法的边缘定位精度取决于滤波尺度,尺度越小,精度越高)。
④ 通过图4-4d中点C和点D的比较可得,在保证相当滤波误差的条件下,相同滤波尺度的基于内积能量的边缘检测算子比经典Canny算子能够抑制更大的噪声。
⑤ 图4-4b、d中基于内积能量的边缘检测算子的滤波误差曲线变化十分平缓,这表明它对尺度和噪声变化具有不敏感的良好特性。
总之,该实验表明,相对于经典的Canny算子,在具有相当定位精度的条件下,基于内积能量的边缘检测算子具有更好的噪声抑制性能。
4.3.4 更多真实图像的实验结果
图4-5给出了两种算法的真实图像实验的更多结果。其中,图4-5a列表示原始图像;图4-5b列和图4-5c列分别为梯度幅值图和内积能量图;图4-5d列和图4-5e列分别为经典Canny检测算子和基于内积能量的边缘检测算子的边缘检测结果。实验中两种算法的尺度参数和双阈值连接时的阈值参数完全相同。可以看出:在对微小细节的抑制方面,基于内积能量的边缘检测算子比经典Canny算子具有更好的性能;在对主要边缘的定位保持方面,基于内积能量的边缘检测算子的性能与经典的Canny算子相当,部分图像上基于内积能量的边缘检测算子的检测结果甚至更加完整,例如a列花圃的主轮廓、b列白云的边缘、d列海星最下面的触角、f列羚羊的左羊角等。总之,两种检测算子的边缘定位精度相当,但基于内积能量的边缘检测算子在噪声抑制方面具有更优性能。
图4-5 两种算子在真实图像上的检测结果对比
a)原始图像 b)梯度幅值图 c)内积能量图 d)Canny边缘检测结果 e)本章方法边缘检测结果
图4-5 两种算子在真实图像上的检测结果对比(续)
a)原始图像 b)梯度幅值图 c)内积能量图 d)Canny边缘检测结果 e)本章方法边缘检测结果