智能驾驶汽车视觉图像处理技术 - 技术应用 - 智慧交通网 ITS114.COM|中国智能交通领先的门户网站
  • 智能驾驶汽车视觉图像处理技术

    2018-08-29 10:04:20 来源: 厚势 作者:黄窈蕙 评论:
    分享到:

    在现有车道线识别算法的基础上,本文提出了一种更完善的检测算法。通过逆透视投影变换转换坐标,对输入图像应用双边滤波、大律法二值化、形态学处理等前处理过程,消减噪声;最后使用 Canny 算子进行边缘检测,并利用 Hough 变换识别直线,对结果进行筛选。实验证明车道线识别算法能在不同环境下成功地识别出车道线,该算法有着较好的实时性和鲁棒性。

    本文来自 2018 年 8 月 15 日出版的《公路交通科技(应用技术版)》,作者是交通运输部科学研究院交通信息中心黄窈蕙。

    视觉图像处理技术是智能驾驶汽车的基础,车道线的检测是这其中最重要的一部分。本文针对智能驾驶汽车视觉图像处理技术中的车道线检测算法进行了研究。

    首先利用逆透视变换将摄像头获取的图像转换到世界坐标下,通过一系列的预处理过程衰减噪声,突出车道线边缘信息。然后对图像应用边缘检测,使用 Hough 变换识别车道线。并利用识别结果的斜率筛选所识别的直线,最终得到车道线检测结果。

    在机器视觉领域,当前的比较流行的开发模式是「软件平台+工具包」的组合。常用的软件平台包括了:VC、C#、VB 等,而比较流行的工具包包括:OpenCV、halcon、迈斯肯等。

    OpenCV 是一个开源项目,对多个操作系统平台都有很好的兼容性,可以在 Linux、Windows 和 Mac OS 操作系统上使用。它的算法具有很高的效率。OpenCV 包含了大量的基于 C 语言的函数和 C++ 类构成,对于其他常用的编程语言也开放了接口,因此我们可以使用 Python、Ruby、MATLAB 等语言编辑相关算法。因为其开源性,OpenCV 很好的包含了图像处理和计算机视觉方面的一系列基础的处理过程。

    由于 OpenCV 在计算机图像处理方面的优势,本文采用 OpenCV 和 VS 平台的结合,进行车道线检测相关算法实现,基于 Windows 系统平台进行开发。

    1. 图像预处理

    1.1 逆透视变换

    基于针孔透视的基本模型,现实世界中平行的车道线,在摄像机获取的图像中,往往是不平行甚至是相交的。经典的车道线识别方法直接识别这些相交的车道线,而本章的车道线识别算法第一步则是通过逆透视投影变换,将摄像头图像转换为世界坐标下,从而得到道路的俯视图,便于后续处理。在逆透视投影变换中,需要用到摄像头的相关参数:标定后的摄像头内参数(包括了焦距,光学中心)及外参数(俯仰角,航向角,摄像机距地面高度)。

    假设图像平面上其中一个像素点的坐标为;iP ={u,v,1,1},转化为地面坐标 gP = {xg,yg,-h,1},可以通过以下变换实现:

    blob.png

    其中,{f_u,f_v}是水平和竖直方向的焦距长,{c_u,c_v}是摄像头光学中心,而且 c1 = cosα,c2 = cosβ,s1= sinα,s2 = sinβ。

    2.jpg

    图 1  车道图像

    3.jpg

    图 2  逆投影透视变换后

    经过了逆投影透视变换后,在现实中平行的车道线在世界坐标中也为平行状态,后续通过霍夫变换检测的车道直线很容易由斜率筛选出来,同时也便于后续的形态学处理。在逆投影透视变换的过程中,也过滤了大部分的无关区域,减少了大量的计算时间,提高了算法的实时性。

    1.2 图像滤波

    在车辆摄像头获取单目图像的过程中,由于光照的变化、车辆本身姿态的不稳定以及成像系统及其传输介质的不完善,摄像头获取的数字图像往往会受到多种噪声的污染。同时,在图像处理的过程中,一些操作也会引入一部分噪声,对之后的操作造成影响。

    图像滤波,指的是在尽量不破坏输入图像细节特征的前提下,减少输入图像的噪点。常用的线性滤波手段包括了:均值滤波和高斯滤波。

    均值滤波,是最直接简洁的一种滤波算法,对输入图像内核里对应像素求平均值,得到输出。在均值滤波中,内核越大,图像处理的结果越模糊,从而对细节信息的损害也就越严重,这是均值滤波方法的根本缺陷,即在图像滤波的过程中也失去了大量的细节特征,对后续的识别算法带来不好的影响。

    高斯滤波是一种线性平滑滤波手段,相比较于直接对邻近像素点求平均值,高斯滤波对图像进行的是加权平均的处理,在处理的时候,输出图像上点的灰度值,都等于它本身及其邻域内的相关像素的值,经过加权平均后计算得出。高斯滤波的具体操作是:用定义好的内核逐个处理图像中的像素,处理后内核中心像素点的灰度值,就等于用内核大小确定的邻域内所有像素值的加权平均值。采用高斯滤波,可以有效的抑制服从正态分布的噪声,但同样也在处理的过程中丢失了大量的图像细节信息。

    常用的非线性滤波手段包括了:中值滤波,双边滤波等。

    中值滤波是现今车道识别算法中比较流行的一种非线性滤波方法,该算法既能有效的消减椒盐噪点、脉冲噪点,也能较好的保存图像的细节信息,特别是对车道处理非常重要的边缘细节。中值滤波的计算过程如下:计算图像上每个点一定邻域范围内各个像素点的灰度值,求出中间值,用这个中间值作为输出值代替原图像像素点的值,从而减少图像中由于各种原因产生的噪声点。中值滤波能很好的抑制椒盐噪声,但在实际使用过程中,若内核大小选择不当,则很可能在处理后丢失细节信息,因此在车道线检测中,传统的中值滤波手段并不是最优的滤波方法。

    本文采用双边滤波的方法对图像进行滤波:

    blob.png

    其中,式中对应每一个像素点的加权系数 w(i,j),是空间临近度和亮度相似度两个相关因子的积。

    在图像变化比较缓和的区域,这就等效于一个低通的滤波器;而在图像灰度有很大跳跃的区域,算法就利用像素点附近像素灰度的平均值来替换原值。

    1.3 灰度处理和自适应二值化

    从摄像头获取的一般为彩色图像,而车道线的识别一般是基于图像的边缘特征而非色彩特征。将彩色图像转变为灰度图像,大大加快了算法的运算速度,提高了实时性。

    根据阈值选取办法的不同,二值化方法包括了全局阈值法和局部阈值法。本文使用整体最优阈值法(Otsu 法)进行二值化分割。

    blob.png

    图 3  原车道图像

    blob.png

    图 4  全局阈值法与 Ostu 整体最优阈值法分割

    整体最优阈值法(Otsu 法)是 Otsu 在 20 世纪 70 年代提出的,这种二值法相对简单,是基于对最小方差法原理的理解和推算,主要任务是根据图像计算一个最优的阈值,使不同类间的分离性最好,是一种可以用客观评价因子来描述效果的图像阈值分割方法。

    其原理是计算图像像素点灰度值的分布特点,把类间的方差作为判断标准,选择使得类间方差取到极值的灰度值作为我们需要的自适应的阈值。

    1.4 形态学操作

    在数字图像处理中,形态学操作的基本的运算子包括了:膨胀、腐蚀、开和闭。设有二维空间 F 和 G,在其上分别定义 f(x) 和 g(x) 两个函数,其中 f(x) 为原始图,g(x) 为变换函数,则 f(x) 对于 g(x) 的腐蚀和膨胀分别定义为:

    blob.png

    开运算指的是对图像先后应用上述两式的运算。可以消除图像中小的噪声点、使图像边缘较细的地方分离、平滑图像中占比较大的图形边界的同时基本不增大或减小其面积。f(x) 对于 g(x) 的开运算定义为:

    blob.png

    同理,闭运算指的是对图像先后应用上述两式的运算。用来填满图形内部的小洞、使靠近的图形连接、平滑图形的边界的同时基本不增大或减少其面积。

    1.5 边缘检测

    边缘检测是计算机视觉领域内的最重要的检测方式之一,这类方法可以计算出图像中色彩值增减明显的像素点坐标。经过了边缘检测后的图像,信息量大大减小,但却留下对其他图像处理手段来说非常必要的边缘特征。

    图像中色彩值跳跃并不明显的区域,邻近的像素点间色彩值变化不大,对色彩值求一阶导数,导数接近于零,但是图像中色彩值跳跃明显的区域,一阶导数的值则较大,据此可以计算边缘所经过的坐标。然后对色彩值求二阶导数,用结果判定该坐标在检测出的边缘的哪一边。

    1986 年,Canny 提出了 Canny 边缘检测算法。Canny 算子求边缘点算法主要有 4 个步骤:

    用高斯滤波器平滑图像:

    blob.png

    计算梯度的幅值和方向:

    blob.png

    幅值和方位角的表示:

    blob.png

    进行非极大值抑制。遍历图像, 核的中心像素点 M[x,y] 与沿着水平方向和垂直方向的临近像素点进行对比,如果 M[x,y] 的梯度小于这两个方向的像素点梯度,则令 M[x,y]= 0。

    识别和链接边缘。设定两个阈值为 t1 和 t2,在本章中设定 t1 = 0.33t2。当在某一坐标上输入图像中梯度值小于 t1 时,将该坐标灰度大小输出为 0,得到图像 1。当在某一坐标上输入图像中梯度值小于 t2 时,将灰度大小输出为 0,得到图像 2。因为对图像 1 检测的阈值大于 2 的阈值,处理后图像 2 保留的信息量要小于图像 1。可以以图像 1 为基础,以图像 2 作为补充连接图像边缘。

    2. 车道线的识别和后处理

    2.1 直线模型

    道路模型分为 2 种,直线和非直线。非直线模型包括了:二次函数曲线模型,三次 B 样条曲线模型等。相对于曲线车道模型,直线的车道模型更加简单,能符合车道识别算法实时性的要求。又因为在车辆行驶速度不快的情况下,近场的车道线可近似看做平行的直线。

    因此在本章中,车道模型选择了近场的直线模型:

    blob.png

    其中,u,v 分别代表车道图像的横、纵坐标,用 k 代表直线的斜率,b 代表截距,h 为消失点在图像坐标下的纵坐标大小。

    2.2 Hough 变换

    对直线的识别常用 Hough 变换及最小平方法拟合。最小平方法通过计算误差平方和的最小值来寻找最佳的匹配直线,计算量较小,但在图像处理中因为对噪声相对敏感而较少使用在直线的检测中。使用霍夫变换检测直线计算量大,但可以容忍一定噪声的存在,具有更好的鲁棒性,因此多用于车道线的检测。

    Hough 变换是一种空间之间的变换,它把直线从平面图像空间转换到参数空间,可以用于识别图像中具有函数定义的目标,例如直线、圆等。

    13.jpg

    图 5  图像空间与参数空间的映射关系

    ρ 是在极坐标系下,坐标原点到直线的法向距离,θ 定义如图所示,因此我们可以由 ( p,Θ) 唯一地确定一条直线。同时,对于像素点空间 f( x,y) 中的任意一点 fi(x,y),使用变换转换关系 p = xcosΘ + ysinΘ 变换为极坐标形式。

    图像中的一点 p( x,y) 通过此式转换为参数空间中的一条三角函数曲线,这条曲线的相位和幅值由参数 x,y 决定,输入图像中位于同一条直线上的几个点 1,2,3 映射在参数 ( p,Θ) 空间的三角函数曲线都会相交于同一点 p(x,y)。

    2.3 直线筛选

    本章提出的车道线检测算法基于近场车道线是直线的假设,逆透视投影变换后,车道线应为平行的直线,斜率接近于正负无穷,而停止线则应为斜率接近于零的直线。因此利用斜率可以过滤掉一部分误检测的直线,同样可以分辨普通车道线和停止线。

    2. 4 实验结果

    blob.png

    图 6 多车道情况的车道识别效果

    blob.png

    图 7  车道标线不全时的识别效果

    blob.png

    图 8  路面纹路复杂时的识别效果

    blob.png

    图 9  车道线为弯道时的识别效果


    本章的算法利用基于 Visual Studio 2010 的 OpenCV 2. 11 开发,运行环境为 Windows 7 系统。用于测试的道路图像来自加州理工学院的道路图片库,该图库的图片被广泛用在道路识别算法的验证中。作为补充,一部分从网上搜集的道路图片也被应用于测试。

    3. 结论

    研究了基于单目视觉的车道线检测算法,对摄像头获取的彩色图像进行预处理,应用逆透视变换将图像转换到世界坐标上。

    然后对图像应用双边滤波,衰减噪声;将图像从 RGB 色彩空间简化为灰度图,然后进行基于 OSTU 大律法的自适应二值化处理。对结果应用形态学操作,减小噪声并平滑边界,利用 Canny 算子进行边缘识别。

    最后基于近场的直线模型,使用 Hough 变换识别二值图中的直线。在世界坐标下利用斜率筛选识别出的直线。

    实验证明该算法能较好的识别变化环境下的车道线,有较强的鲁棒性。

    参考文献

    [1] Lee J W. A Machine Vision System for Lane-Departure Detection. Computer Vision & Image Understanding,2002,86(1):52-78

    [2] Young Uk Yim,Se-Young Oh.  Three-feature based automatic lane detection algorithm (TFALDA) for autonomous driving. IEEE Transactions on Intelligent Transportation Systems,2003,4

    [3] Bucher T. Image processing and behavior planning for intelligent vehicles. IEEE Transactions on Industrial Electronics,2003,50(1):62-75

    [4] Yue Wang, Eam Khwang Teoh,Dinggang Shen. Lane detection and tracking using B-Snake. Image Vision Comput., 2004,22

    [5] Yue Wang,Dinggang Shen,Eam Khwang Teoh. Lane detection using spline model.  Pattern Recognition Letters,2000,218

    [6] Kluge K. Sridhar Lakshmanan,A Deformable-Template Approach to Lane Detection.  Proceedings of IEEE Intelligent Vehicles,1995

    [7] Antonio Guiducci. Parametric Model of the Perspective Projection of a Road with Applications to Lane Keeping and 3D Road Reconstruction. Computer Vision and Image Understanding,1999,733

    [8] Camillo J. Taylor,Jana Kosecká,Robert Blasi,Jitendra Malik. A Comparative Study of Vision-Based Lateral Control Strategies for Autonomous Highway Driving. I. J. Robotic Res., 1999,18

    [9] Kluge K,Johnson G. Statistical characterization of the visual characteristics of painted lane markings.  Proceedings of IEEE Conference on Intelligent Transportation Systems,1995:488-493

    [10] Enkelmann W,Struck G,Geisler J. ROMA - a system for model-based analysis of road markings. IEEE Proceedings of the Intelligent Vehicle ’95 Symposium,1995:356-360





  • 关键字: 视觉图像处理技术
  •    责任编辑:suyanqin
  • 延伸阅读!

  • 每周新闻精选

  • 关于我们
  • 联系我们
  • 广告赞助