新闻中心

EEPW首页 > 设计应用 > 高速公路目标边缘检测的算法对比分析

高速公路目标边缘检测的算法对比分析

作者:陆峰时间:2016-04-26来源:电子产品世界收藏
编者按:目标边缘检测是高速公路目标辨识的关键技术。虽然现在有多种边缘检测算法,但是不同算法有着各自的适用范围,通过对比Roberts算子、Prewitt算子、Sobel算子和Canny算子等算子,并以高速公路高清监控采集的视频截图作为样本,采用不同边缘检测算法对车辆、护栏等高速公路上的主要目标进行对比分析。计算结果表明,对于高速公路上的主要目标识别而言,Prewitt算子具有相对较好的边缘检测效果。

摘要:目标目标辨识的关键技术。虽然现在有多种算法,但是不同算法有着各自的适用范围,通过对比Roberts算子、、Sobel算子和Canny算子等算子,并以高清监控采集的视频截图作为样本,采用不同算法对车辆、护栏等上的主要目标进行对比分析。计算结果表明,对于高速公路上的主要而言,具有相对较好的边缘检测效果。

本文引用地址:http://www.eepw.com.cn/article/201604/290279.htm

引言

  边缘检测是比较基础的图像处理方法之一,可以用来解决很多计算机中存在的视觉问题[1]。边缘检测得以实现的主要原因是图像背景和目标物体在某种特征上存在着一些微小的差异。差异有颜色、灰度值以及纹理。边缘检测的目的是找到其中目标物最相关的边缘。这些边缘被连接在一起组成边界,从而将目标图分割成各个不同的特征区域。边缘被定义为两个在某种特征上有显著特点的图像之间的边界。边界其实就是一个特征区域渐渐过渡到另一个特征区域的界限,因此,其分割所形成区域的属性和内部区域是一致的[2]

  在研究中主要考虑的是灰度图像的边缘,其常常受强度函数尖锐变化的影响。不过我们还是需要了解理想边缘与斜坡边缘的差别。由于模糊和噪声的存在,检测到的边界很可能因其而出现部分断点或变宽。

  因此,边缘检测可以划分为两个基本部分:

  1)将反映灰度变化的边缘点分离出来;

  2)填充间断点或去除间断点,使其链接成一条线。

  边缘检测时,一般将其划分为三个部分,即:

  1)噪声消减:由于二阶导数和一阶导数极易受噪声影响,最好在检测前先对图像进行去噪处理;

  2)检测边缘点:使用局部算子来检测边缘,一般局部算子都应只对边缘有较强响应,从而得到输出图像;

  3)边缘定位:对得到的结果进行后续处理,使其成为一条有意义的线,便于人眼观察。

  数学中关于边缘检测的算子有、Sobel算子、Roberts算子、Canny算子、Kirsch算子、Robinson算子、Laplace算子以及Laplace-Gaussian算子[3]。Laplace算子和Laplace-Gaussian边缘检测算子可以用于边缘检测,但是它们的使用并不普遍[4]。Laplace算子不依赖边缘方向,可以准确地寻找到边缘点的具体位置并把他们提取出来,但是由于Laplace算子本质上是二阶导数,其对噪声有着极强的识别能力,使得图像中的噪声有着不降反增的趋势,造成了边缘的不连续性。Laplace-Gaussian算子解决了Laplace算子较差的抗噪声能力的问题,但实际上是以平滑掉原有的较尖锐的边缘为代价,最后可能导致的后果就是结果中相对来说明显不圆滑的边缘将很有可能不被计算机提取整合出来,存在边界误差大、定位精度低的问题。在实际分析中,Prewitt算子、Canny算子、Roberts算子以及Sobel算子是常用的算子,下面对其进行研究。

1 边缘检测算法的理论分析

  边缘检测最简单的方式是通过估计一个像素内的灰度梯度来得到,同时可以用一阶导数来代替梯度,例如

(1)

(2)

1.1 Roberts算子

  Roberts算子可以由上式中的一阶导数近似得到[5]。Roberts算子是利用局部差分算子来寻找边缘的算子,其在处理有着陡峭低噪声的目标图像方面有着很强的能力,它的2×2的矩阵符号表示为:

(3)

(4)

  当采用1范数来衡量梯度的幅度时

  这些梯度在3×3的领域内一般用卷积计算,即

(5)

(6)

  (5)、(6)式中hxhy表示恰当的卷积模核。

1.2 Prewitt算子

  Prewitt算子称为最简单的核对,其在处理灰度渐变和噪声较多的图像时效果较好[6]。其对应系数矩阵如下:

(7)

 (8)

  其输出时采用∞范数。

1.3 Sobel算子

  Sobel算子是一种与Prewitt算子极其类似的核对算子[7],不过差别是它更偏重于轴上的像素,其在处理灰度渐变和噪声较多的图像时得到的结果看起来较好,如下式:

(9)

(10)

  采用∞范数来衡量梯度的幅度。

1.4 Canny算子

  Canny算子是现在使用最多,最有效且使用范围最广的边缘检测算子之一[8]。Canny算子是用高斯滤波器计算出来导数来计算图像中的梯度,其实际上就是寻找测试图像里面计算梯度的局部极大值。Canny算子在检测弱边缘和强边缘时,使用两个不同的阈值来完成,而且弱边缘的输出只在强边缘与弱边缘串联在一起的时候才会发生,故其受噪声的干扰较少,可以用来检测那些弱边缘,但其最终结果中的边界连贯性较差。它的具体算法可以解释为:

  1)用高斯低通滤波器来对输入的目标图像进行平滑处理操作的时候,要先指定一个合适的σ值,消除较大噪声可以采用大的σ值,不过是以减弱可能相关的边缘为代价来实现的;

  2)进行平滑处理之后,图像中每个点的局部区域实际上就是计算强度和方向;

  3)由第二步得到的边缘点可以构成宽的山脊。利用一些算法将这些山脊细化,用非最大消除法保留下各个山脊中顶峰的像素;

  4)用TlowThigh两个阈值将山脊像素阈值化,这个过程被称为滞后阈值化。弱边缘像素可以被认为是在TlowThigh两个阈值之间的山脊像素;

  5)最后进行边缘连接,实质上就是聚集于强边缘连接的弱边缘。

  除上述四种算法外,还有一种零交叉方法,是先用指定的滤波器来滤波,然后再将零交叉点做出输出的边缘。

2 不同算法的对比研究

  上述边缘检测方法都有不同的适用范围,这里选取某高速公路高清视频的截图作为原图像,用于对比分析,如图1所示。该高清视频的分辨率为200万像素,视频为上午10点多录制,画面质量相对较好。

  分别对图1所示图像使用Canny算子、Sobel算子、Prewitt算子以及Roberts算子进行边缘检测操作。

2.1 Canny算子

  采用Canny算子计算的图像边缘如图2所示。虽然Canny算子是在最优化思想的基础上提出的,但是由于理论与实际存在着很大差距,因此最终得到的实际效果并不一定可以达到最优化。该算子会将一些相对其他边缘频率较高的边缘也一起平滑掉,会导致一些边缘的损失,同时该算子因为使用的是高斯函数,并以此来对图像进行的一个平滑处理操作,故其可以更有效地抑制噪声。Canny算子采用的是双阈值法来进行边缘的检测以及将边缘依次按顺序完美地组合起来,同时因其采用了方向性搜索和多尺度检测从而使其自身性能优于LoG算子。

2.2 Sobel算子

  采用Sobel算子所计算的图像边缘如图3所示。Sobel算子因其对图像中像素对与边缘位置的影响采取了一系列的加权处理,故所得结果的边缘模糊程度得以降低,而且效果很好。因为Sobel算子是以滤波算子为形式的,当其用于边缘提取时,可以较快调取卷积函数并使用,达到既方便又准确的好处,故其使用范围较为广泛。但是由于其并未把图像的主体和背景区分开来,不符合人视觉习惯,从而提取到的轮廓效果尚不够清晰。

2.3 Prewitt算子

采用Prewitt算子所计算的图像边缘如图4所示。Prewitt算子首先会对目标图像进行一个加权平滑的操作,然后再对其做微分处理,虽然Sobel算子也会就目标图进行一个加权平滑的操作过程,但是它们在加权部分的权值还是存在差别的。因此其可以有效抑制图像中的噪声成分,尽管我们已经就这个问题做了大量的工作,但是依旧会存在一些错误的边缘出现在最终检测结果中。

  对比图3和图4可以发现,虽然Prewitt算子与Sobel算子都可以准确地进行边缘查找工作,但是图像边缘存在像素宽度异常的问题。

2.4 Roberts算子

  采用Roberts算子所计算的图像边缘如图5所示。Roberts算子是通过计算图像中一些局部的差分算子进而来找到物体的边缘,所以他可以准确地确定边缘点所在的位置,不过它又较易忽略一些边缘的缺点,并且因为它并未对图像进行平滑的操作,故不能抑制噪声。该算子最适合用于噪声低且边缘陡峭的图像中。

  通过仿真计算,对比上述边缘检测算法得到的图像可以看出,Prewitt算子检测得到的图像线条清晰、画面整洁、噪点较少,说明该算法更适用于高速公路高清视频所采集的图像的边缘检测。

  此外,将Prewitt算子用于动漫图像的边缘检测时,计算效果较差,表明在选用边缘检测算法时应结合适当的应用背景。

3 结论

  虽然每个边缘检测算子都有着自身的优势,但在多次对不同图像进行仿真过程中,依据边缘检测得到的图像效果可以判断,Prewitt算子对高速公路监控视频的边缘检测效果优于其它算子,检测出来的结果线条更加清晰明了,便于肉眼观察和后续计算,远处的车辆轮廓也可以清楚地看到,而且很容易区分车辆的类型,其中轿车和大卡车尤为明显。对于高速公路的高清视频监控而言,边缘检测效果从好到差的排序依次是Prewitt算子、Sobel算子、Roberts算子和Canny算子。

参考文献:

  [1] 李安安. 几种图像边缘检测算法的比较与展望[J].大众科技.2009(12)

  [2] 张琳. 基于Kirsch算子的图像边缘检测[D].东北石油大学.2014

  [3] 李武. MATLAB中图像边缘检测算法研究[J].辽宁省基础测绘院.2014(03)

  [4] 吴曦. 基于MATLAB的图像边缘检测算法的研究和实现[D].吉林大学.2014

  [5] 王静,李竹林,贺东霞,王蓓,李智. 基于边缘检测的各种算子及其特点[J]. 延安大学学报(自然科学版).2014(01)

  [6] 孙红艳,张海英. 图像边缘检测算法的比较与分析[J].菏泽学院学报.2010(03)

  [7] 何春华,张雪飞,胡迎春. 基于改进Sobel算子的边缘检测算法的研究[J]. 光学技术.2012(03)

  [8] 徐亮,魏锐. 基于Canny算子的图像边缘检测优化算法[J].科技通报.2013(07)


本文来源于中国科技期刊《电子产品世界》2016年第4期第48页,欢迎您写论文时引用,并注明出处。



评论


相关推荐

技术专区

关闭