戴玉艳,朱灿焰,季爱明,毛凌锋
(苏州大学 城市轨道交通学院,江苏 苏州 215006)
障碍物检测是智能车辆不可缺少的重要功能,是车辆安全行驶的保证。机器视觉能够利用图像和图像序列来识别和认知三维世界,使计算机实现人的视觉系统的某些功能。机器视觉具有信息量大,空间覆盖广,不增加环境噪声等优点,因此机器视觉已成为目前智能车辆及自动驾驶中信息获取的主要途径。利用机器视觉进行障碍物检测具有解决实际困难和探索全自动驾驶的双重意义,正受到国内外的关注,其中双目视觉检测更是研究的热点[1-2]。
双目视觉一般由两个平行放置的摄像机从不同角度同时获取周围景物的信息。基于双目视觉的障碍物检测一般有一下几步:双目视频的同步;摄像机定标;对障碍物目标区域图像对进行特征点检测和匹配,得到障碍物目标的空间信息。在智能车辆的应用中是对运动中的物体障碍物进行检测,首先应对两个摄像头的视频校准,否则将影响立体匹配结果。
本文从图像处理的角度提出了对于运动视频的校准算法。首先对双目摄像机得到的图像建立敏感区域,然后用图像分割识别的方法检测目标物,用动目标与固定物体的距离校准双目视频,最后对室外真实场景进行实验以验证算法的有效性。
行驶在道路上的车辆有一定的位置特征,当前车辆始终在同一车道内行驶,该车道以外的障碍物并不影响当前车辆的行驶安全。本文研究的对象限于当前车道内的前方车辆,为了降低处理难度和提高检测速度,对道路做了一定的假设,如图1所示。
图1 敏感区域Fig.1 Area of interest
1)假设特定敏感区域。在确定系统中,道路在图像中的位置相对固定,因此搜索障碍物的区域可由整个图像缩小为两条车道线所组成的区域。只对图像中特定区域的敏感区域进行处理,从而降低算法的复杂度,缩短处理时间,提高处理速度。
2)假设道路等宽。假设道路的宽度基本不变或变化很小,两条路边可以认为是平行的。
目标物的检测主要运用了图像分割的方法,就是要从图像中提取信息,本文主要用了聚类分析、边缘检测及形态学操作。
聚类分析是一种无监督模式的识别方法,它从初始聚类中心根据相似性和相邻性构造分类器,从而将给定的数据分割为若干不同的类[3]。聚类后数据集的类内对象高度相关,类间对象差别较大。利用聚类方法对图像进行分割识别具有直观、易于实现的特点。常见的聚类分析算法有减法聚类、层次聚类和动态聚类算法等。本文采用-均值聚类算法对双目图像进行分割识别。
k-均值聚类算法的核心思想是通过不断迭代,把每个对象划分到且只划分到一个类中[4]。在满足非线性目标函数,即公式(1)最小化的条件下,把 n 个对象 Xj(j=1,…,n)构成的数据集分成 k 个类 Gi(i=1,…,k)。k-均值聚类算法步骤:1)确定需要分的类数k;2)从数据集Xj中选取k个对象作为类Gi的初始聚类中心 Gi(i=1,…,k);
3)依次计算对象Xj与这k个聚类中心Ci的距离d(Xj,Ci),并按就近原则将对象划分到距离最小的类中;
4)分别计算新生成的类Gi中所有对象的样本均值,更新聚类中心;
5)采用误差平方和准则函数判断聚类是否合理,当误差函数很小时结束聚类,否则重复步骤3)-4),直至达到算法终止条件。
k-均值聚类是一个持续迭代的过程,影响聚类结果的主要因素是划分的类数k、初始聚类中心Ci和对象间的距离d(Xj,Ci)。从k-均值算法流程看,如果选取满足以下两个条件的初始聚类中心,就能很好地实现聚类:
1)每个类中有且仅有一个聚类中心;
2)选择的初始聚类中心应尽可能靠近类的中心。
本文对图像的灰度进行聚类,则分别根据两通道图像的灰度直方图选择满足上述条件的初始聚类中心。
一般来讲,提取目标物就是要提取目标和背景的边界线,将目标和背景区分开。图像中,边缘是指其周围像素灰度值有阶跃变化或有抛物线变化的像素点的集合,它是灰度值不连续的结果。边缘检测是一种削弱边缘以外图像区域,突出图像边缘轮廓的方法,故可采用边缘检测算法提取目标和背景的边界线。
最简单的边缘检测方法是边缘检测算子,它利用相邻区域的像素值不连续的性质,采用一阶或二阶导数来检测边缘点。算子是一阶微分算子,它采用加权平均滤波,对噪声具有一定的抑制能力,且计算简单,运算速度快,故本文采用算子进行目标物边缘检测[5-6]。Sobel是一组方向算子,从不同的方向检测边缘,加强了中心像素上下左右4个方向像素的权重。图像中每个像素点都用式(2)两个模板作卷积,第一个模板对水平边缘影响最大,第二个模板对垂直边缘影响最大。然后利用式(3)计算梯度大小,即得到像素的边界强度,利用式(4)计算梯度方向。
Sobel算子差分计算公式:
其中,Gx(i,j)和 Gy(i,j)为模板 Gx,Gy在像素(i,j)处的卷积值。
数学形态学是由一组形态学的代数运算子组成的,其基本运算是膨胀和腐蚀[8]。膨胀定义为集合运算,图像集合A用结构元素B来膨胀,记作A⊕B,其定义为:
腐蚀的数学定义与膨胀类似,A用结构元素B来腐蚀AΘB,记作,其定义为:
腐蚀的具体操作是:用一个结构元素扫描图像中的每一个像素,用结构元素中的每一个像素与其覆盖的像素做“与”操作,如果都为1,则该像素为1,否则为0。
膨胀的作用是把图像周围的背景合并到物体中,对填补图像分割后物体中的空洞很有用。腐蚀是消除物体边界点,把小于结构元素的物体去除。如果两个物体之间有细小的连通,当结构元素足够大时,通过腐蚀可以将两个物体分开。这种形态学操作可以有效地去除一定尺寸的杂波,同时保证图像的内部结构不变。
在形态学处理中,除了膨胀和腐蚀两种基本运算外,还有两种由膨胀和腐蚀定义的运算,即开运算和闭运算[7]。开运算是对图像先腐蚀再膨胀的过程,图像集合A用结构元素B来作开运算,记作A◦B,其定义为:
闭运算是对图像先膨胀再腐蚀的过程,A用结构元素B来作闭运算,记作A·B,其定义为:
开运算可去除毛刺和小的连通区域,平滑较大物体的边界。闭运算可以填充物体的细小空洞、连接邻近物体、平滑其边缘。两种形态学操作都可以起到平滑目标边界且不明显改变其尺寸的效果。
为了验证所提出双目视觉校准算法的有效性,本文进行了真实的室外场景实验。采用2个KaiCong-423C型摄像头进行道路视频采集,两摄像头平行放置,距地面高度H=1 m,间距B=63 cm,镜头焦距3.6 mm。为了方便,这里将摄像头固定,在道路中运动的汽车作为障碍物,来模拟实际情况中摄像头运动,障碍物固定的情形。采集视频时为晴天,将采集的双目视频以文件格式(AVI)存储,利用保存的视频进行校准算法研究。
校准算法分为两步,第一步:粗校准。时间是绝对的,先根据得到的双路视频上显示的时间将两个视频定位到同一时刻。第二步:细校准。在粗定位的基础上,利用上述算法根据两幅图像中运动的汽车与摄像头的距离进行校准。图2是粗校准得到的时间显示为同一时刻的双通道图像。
图2 粗校准后两通道图像Fig.2 The stereo image pairs after rough calibration
利用k-均值聚类算法,对图2的灰度图像进行处理,这里根据两幅帧图像的灰度直方图,如图3所示,选择3个初始聚类中心,结束聚类后的聚类中心如表1所示。
表1 聚类中心Tab.1 Clustering centers
聚类后图像中的背景物体过滤掉一部分,如图4(a)所示,但干扰依然存在。作为目标物的汽车被提取出来的区域相对比较连续、规整,利用这一特征将线长较小的部分滤掉,并进行边缘检测,得到其二值图像,从而去除了绝大部分的噪声,如图4(b)所示。再对得到的二值图像进行1次膨胀和腐蚀处理,即开运算,并删除目标区域上的空洞,得到目标提取结果图像,如图 4(c)所示。
图3 灰度直方图Fig.3 Gray histogram
图4 目标提取结果Fig.4 Object extraction results
对于直线行驶的汽车道路在图像中的位置是固定的,本文利用道路中心线与汽车的相对位置关系,确定车辆与摄像头的距离。本文处理时,先固定通道1视频的帧图像,然后粗校准通道2视频,在显示为同一时间帧图像前后搜索,将两幅图像中汽车与摄像头的实际距离最小的帧图像作为校准结果,过程如图5所示,图中第4帧则为校准后帧图像。
为了验证校准算法的有效性,对本文校准后的视频进行立体匹配,结果如图6(a)所示;若不进行校准,从视频起点匹配结果如图 6(b)所示。
从图6可以看出,尽管两个匹配结果均不太理想,但是相比较而言,校准后的匹配结果(图6(a))较好。匹配结果不理想,可能是由摄像头像素不高,两个摄像头没有严格平行放置等客观原因,以及匹配算法的适用性等原因引起的,这将在后续的算法中研究。
图5 校准搜索结果Fig.5 Carlibration results
图6 匹配结果Fig.6 Stereo matching results
本文根据双目立体视觉技术在道路障碍物检测中的应用,基于搜索的思想提出了一种用图像处理校准双目视觉的算法。该算法比较简单,易于实现。首先为了缩短处理时间,对视频帧图像进行预处理,建立校准的敏感区域。然后利用聚类算法,边缘检测及形态学处理检测道路中的目标物,最后根据得到的动目标与固定物的距离来搜索匹配的视频帧。实验证明,该算法可以校准双目视觉,从而使立体匹配更精准。
[1]Wei J,Rovira-Mas F,Reid J F.Obstacle detection using stereo vision to enhance safety of autonomous machines[J].Transactions of the ASAE,2005,48(6):2389-2397.
[2]王葵,徐照胜,颜普,等.基于激光测距雷达和机器视觉的障碍物检测[J].仪表技术,2012(8):25-28.WANG Kui,XU Zhao-sheng,YAN Pu,et al.Obstacles detection based on laser ranging radarand machine vision[J].Instrumentation Technology,2012(8):25-28.
[3]Huang Z.Extensions to the K-means algorithm for clustering large data sets with categorical value[J].Data Ming and Knowledge Discovery,1998,2(3):283-304.
[4]李全鑫,魏海平.基于聚类分类法的信息过滤技术研究[J].电子设计工程,2014(20):14-16.LI Quan-xin,WEI Hai-ping.Research of the information filter based on clustering launched classification[J].Electronic Engineering Design,2014(20):14-16.
[5]Rajab M I,Woolfson M S,Morgan S P.Application of region based segmentation and neural network edge detection to skin lesions[J].Computerized Medical Imaging and Graphics,2004,28(12):61-68.
[6]何春华,张雪飞,胡迎春.基于改进Sobel算子的边缘检测算法的研究[J].光学技术,2012,38(3):323-327.HE Chun-hua,ZHANG Xue-fei,HU Ying-chun.A study on the improved algorithm for Sobel on image edge detection[J].Optical Technique,2012,38(3):323-327.
[7]Rafael C.Gonzalez,Richard E.Woods.数字图像处理 [M].2版.阮秋琦,阮宇智,译.北京:电子工业出版社,2011.