边缘检测算法在车道线检测中的效果对比
2021-01-11吴泽勇袁静
吴泽勇 袁静
摘要:边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点,图像属性中的显著变化通常反映了属性的重要事件和变化。车道线检测的研究一直都是智能驾驶,路况识别中十分重要的部分。本文将不同的边缘检测算法与车道线检测相结合,重点分析了不同边缘检测算子对车道线检测的效果。同时对同一边缘检测算法中不同阈值对车道线检测效果进行分析。
1 引 言
随着汽车保有量不断增加,城市交通也变得越来越拥挤,只能交通系统因为受到人们的广泛关注。车道线检测是智能交通领域的关键技术之一,它被广泛地应用于辅助驾驶系统、车道偏离预警系统以及车辆防碰撞系统中,对于提高交通安全具有重要意义。因此本文对比了不同边缘检测算法在车道线检测中的效果。
2 边缘检测的基本原理
图像边缘是图像最基本的特征,所谓边缘(Edge)是指图像局部特性的不连续性。灰度或结构等信息的突变处称之为边缘。例如,灰度级的突变、颜色的突变、纹理结构的突变等。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像,将图像中感兴趣的部分同背景分隔开。
图像的边缘有方向和幅度两种属性,边缘通常可以通过一阶导数或二阶导数得到。一阶导数是以最大值作为对应的边缘的位置,而二阶导数则以过零点作为对应边缘的位置。
2.1 Sobel 算子
在边缘检测中,常用的一种模板是 Sobel 算子[1]。与传统的 Prewitt 算子相比,Sobel算子对不同位置的像素做了加权处理,这样可以降低边缘的模糊程度,因此Sobel 算子处理后的图像边缘检测效果更好。
Sobel 算子的另一种形式是各向同性 Sobel(Isotropic Sobel)算子,也有两个,一个是检测水平边缘的,另一个是检测垂直边缘的。各向同性 Sobel 算子和普通 Sobel 算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。
由于 Sobel 算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数,操作簡单效果显著,因此得到广泛应用。但是 Sobel 算子并没有将图片的主体与背景严格地区分开来,换言之,Sobel 算子没有基于图像灰度进行处理,由于 Sobel 算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。
2.2 Scharr 算子
Scharr 算子在运算速度上和 Sobel 算子十分接近,而且精度比后者更高,可以将 Scharr 算子看做是 Sobel 算子的改进。
同 Sobel 算子相比,Scharr算子在其核结构较小时,有更高的精度,因此 Scharr 算子在检测车道线边缘时能检测出更多细节,效果更好。但是精度提升的同时道路两旁的树木没有很好的标识出来,并且道路旁的交通标志没有被检测出。
2.3 Laplacian 算子
Laplacian(拉普拉斯)算子是一种二阶导数算子,其具有旋转不变性,可以满足不同方向的图像边缘锐化(边缘检测)的要求。
通常情况下,其算子的系数之和要为零。由于拉普拉斯是一种微分算子,它的应用可以增强图像中灰度突变的区域,减弱灰度的缓慢变化区域。因此锐化处理可以选择拉普拉斯算子对原图像进行处理,产生描述灰度突变的图像,再将拉普拉斯图像与原始图像叠加而产生锐化图像。
2.4 Canny 算子检测
通常情况下边缘检测的目的是在保留原有图像属性的情况下,显著减少图像的数据规模。目前有多种算法可以进行边缘检测,虽然Canny算法[2]年代久远,但可以说它是边缘检测的一种标准算法,并且是一种被广泛应用于边缘检测的标准算法,其目标是找到一个最优的边缘检测解或找寻一幅图像中灰度强度变化最强的位置。最优边缘检测主要通过低错误率、高定位性和最小响应三个标准进行评价。Canny算子的简要步骤如下:
(1)去噪声:应用高斯滤波来平滑图像,目的是去除噪声
(2)梯度:找寻图像的梯度
(3)非极大值抑制:应用非最大抑制技术来过滤掉非边缘像素,将模糊的边界变得清晰。该过程保留了每个像素点上梯度强度的极大值,过滤掉其他的值。
(4)应用双阈值的方法来决定可能的(潜在的)边界;
双阈值对canny算子检测效果有较大影响,因此我们分别采用阈值为32-128,68-164,128-200。
由实验结果可知,不同阈值Canny算子[3]对车道线边缘检测效果有较大影响。在阈值范围32-128 的Canny 算子能较好的检测出车道线边缘,但是车道线内部的裂痕也被检测出,不利于机器学习判断该车道线属于何种类型,在阈值范围为128-200 的Canny 算子中,车道线边缘细节丢失,不能很好的识别车道线类别。但是在阈值范围为68-164 的Canny 算子中车道线边缘既能被清晰的标示出,同时车道线内部的裂痕也没有被识别,识别效果显著。
总结
本文将边缘检测算子引入到车道线边缘检测中,对比了各种边缘检测算法对车道线边缘检测的情况,同时对同一种边缘检测算法中阈值范围做了详细对比。实验结果表明边缘检测算法在车道线识别中有较好的表现。Sobel算子能大致检测出车道线边缘所在位置,但是不能很好的将车道线边缘检测出,这是由于它内核精度不足所导致的。Scharr 算子可以看作是 拥有更高精度的Sobel 算子,在精度提升后,车道线边缘检测取得良好效果。但是部分车道线边缘细节丢失,还不足以达到令人满意的效果。
具有二阶导数的Laplacian算子[4]在车道线边缘检测中的效果一般,但是它能很好的消除道路两旁的树木干扰。
同其他边缘检测算子相比Canny 算子在车道线边缘检测中表现最为亮眼,同时阈值范围在68-164内的Canny算子既能清晰地将车道线与背景分隔开,同时又避免了车道线内部裂痕的干扰。因此特定阈值范围的Canny算子在车道线边缘检测中有着十分出色的效果。但是如何在使用Canny算子检测出车道线的同时消除图片树木,天空云彩等噪声方面将有待于进一步的深入研究。
参考文献(References):
[1]Morris Muir Natalie. Sobel, D. & Alston, S. (2021) The Inclusive Classroom: a new approach to differentiation. London: Bloomsbury Education.[J]. British Journal of Special Education,2021,48(3):
[2]位营杰,师红宇.基于Canny算子的优化研究[J].国外电子测量技术,2021,40(08):77-81.
[3]李静,陈桂芬,丁小奇.基于改进Canny算法的图像边缘检测方法研究[J].计算机仿真,2021,38(04):371-375.
[4] 孙增国,韩崇昭.基于Laplacian算子的图像增强[J].计算机应用研究,2007(01):222-223+240.