基于阴影线的智能车辆检测及测距方法研究

2018-12-03 02:44金成军
吉林大学学报(信息科学版) 2018年6期
关键词:视差阴影灰度

孟 锐, 金成军, 刘 畅

(1. 吉林省公安厅 交通警察总队, 长春 130012; 2. 吉林市公安局 交通管理支队, 吉林 吉林 132000;3. 吉林大学 软件学院, 长春 130012)

0 引 言

随着便利交通的日渐推广, 智能交通系统(Intelligent Transportation System)已经成为人们研究的重点问题。智能车辆安全辅助驾驶系统作为与人民生活安全水平紧密相关的一项研究课题, 受到人们越来越多的重视。车况、 路况检测系统是整个智能车辆实现过程中最基础也是最重要的部分。

上世纪90年代, 美国Martin Marietta公司成功研发出一款可以脱离驾驶员自主行驶的汽车, 并且美国已经于2003年成功生产出一款无人驾驶汽车, 时速最高可达65 km/h, 同时具有军事侦察功能, 侦查半径达到3 km。日本政府于上世纪最先提出设计自主驾驶系统的智能车辆概念, 旨在解决由交通系统所带来的一系列社会问题。1987年德国慕尼黑国防大学设计了VaMoRs系列无人驾驶车辆, 并在实验中以95 km/h的速度连续行驶50 km[1]。欧洲各国包括意大利、 荷兰、 瑞典、 捷克等国家也开展了名为“Vidimus”的基于机器视觉的智能车辆研究计划, 并且取得显著成果[2]。

我国的人工智能研究起步较晚, 但在短短20多年内已得到迅速发展。上世纪90年代清华大学成立定位于智能车辆的研究室, 并成功研制出THMR系列车辆, 平均时速可达130 km/h。在此基础上, 国内5所知名大学于1988年联合研发出第1代“ALVLAB”智能试验车辆, 并在第1代的原型上, 研发出的第2代ALVLAB智能车辆更加偏重于军用, 目前我国正着手进行ALLVLAB第3代智能车辆的研究与运用。2002年, 我国启动了以智能车辆技术为核心内容的“十五”科技攻关计划项目[3]。其中, 吉林大学智能系统国家重点研究实验室分别于上世纪末完成名为“JUTIV”两代实验车的设计与实现, 并取得很好的试验结果。开启了基于跟踪车道线实现自主无人驾驶的智能车辆算法。

笔者主要以无人驾驶以及交通安全系统辅助驾驶系统为调查基础, 通过机器视觉对前方车辆及车辆距离做出实时提示信息。主要以实况路段信息作为处理对象, 检测距离当前位置最近的前方车辆, 并将目标车辆距离当前位置的距离反映出来。

1 基于车底阴影的车辆检测算法

在车辆检测实现过程中主要分成两部分: 第1部分拟定对通过CCD摄像头所拍摄到的图像进行预处理[4], 并通过阴影线实现图像分割得到假设车辆检测区域, 将估计车辆存在的区域从图像中分离; 第2部分拟定对第1步得到的假设车辆检测区域进行验证, 判断该检测区域是否为真正车辆, 同时得到行驶道路中距离当前位置最近的车辆位置信息, 剔除上一步所得到的虚假的车辆检测区域[5]。

1.1 图像灰度化预处理

通过对图像进行灰度化处理, 使处理前三通道图像变为单色彩通道图像[2], 减少图片处理的运算量。灰度化处理在一定程度上降低了图片的复杂度, 但仍然能准确地反映色度与亮度信息。将图像实现灰度化, 笔者采用三通道色彩平均值作为灰度图像素值

Ggray(i,j)=(R(i,j),G(i,j),B(i,j))/3

(1)

处理结果如图1所示。

a 原图 b 灰度图图1 灰度化图像Fig.1 Gray scale image

1.2 两次自适应阈值分割处理

车底阴影是车辆特征检测方法中一个比较稳定的属性, 但车底阴影的灰度值并不能固定的存在于某一个可预测的范围内, 无法使用固定数值的阈值完成分割图像的过程, 因此采用自适应的阈值作为分割图像的特征值[6,7]。

对灰度处理得到的图像再进行连续两次的基于均值方差差分法自适应阈值完成的图像分割, 得到采集图像中拟定的目标车辆假设检验区。根据

(2)

(3)

得到对图像进行处理的第1次应用的阈值。其中M,N为所处理图像的宽、 高的像素数,f(i,j)为该灰度图在(i,j)点处的像素值,μ为该图像像素的均值,σ为该图像像素的方差。

根据式(2)、 式(3)可得出第1次进行图像分割的自适应的阈值

(4)

其中a为根据实际情况控制的自适应性变量。

通过计算第1次图像分割后剩余图像的像素平均值与方差得到T2。第2次自适应阈值

(5)

其中b为根据实际情况控制自适应性变量。

从车底阴影检测状况的准确度出发, 变量a,b的值也应该能自主适应全局图像, 且有

a=μ1/σ,b=μ2/σ2

(6)

分割处理后的效果图与原图对比如图2所示。

a 原图 b 阴影图图2 阴影提取效果图Fig.2 Shadow extraction image

1.3 提取车辆与路面交线边缘

在原图中圈定宽为200~480像素, 高为250~400像素范围内作为有效区域。对该区域的二值图像进行左右与上下扫描, 起点分别是左边与上侧。扫描过程中, 若满足

f(x-1,y)-f(x,y)=255), (f(x,y)-f(x+1,y)=0

(7)

时, 则将该点记为XS并作为起始点, 继续向右进行连续扫描检测像素值为0的点; 当满足

f(x,y)-f(x-1,y)=0), (f(x+1,y)-f(x,y)=255

(8)

时, 将该点记为终止点XE。通过式(7)、 式(8)可以提取出二值图像中长度可能不相等的多条阴影线。在提取出所有的阴影线后, 应适当的对虚假的车底阴影线进行删除, 通过阴影线的终止坐标与起始坐标得到阴影线长度L=XE-XS。当阴影线宽度L在所给定的范围y值内时, 可以假定该条阴影线为车辆底部阴影线[8,9]。

经过对所采集的实验数据进行分析可得, 当有效检测距离在60 m范围内时, 在有效区域内能准确检测到的车辆在预处理图像中所占的像素范围是25~120像素。因此在对二值图像进行提取阴影线的操作时, 可将长度L>120个像素点或长度L<25个像素点的阴影线实施抛弃决策。车辆底部阴影提取效果如图3所示。

在有效区域中按照从上到下从左至右的方向对图像进行处理, 将阴影线接连进行合并, 当所处理的阴影线满足

|y1-y2|

(9)

时, 即可对这两条阴影线进行合并。其中y1,y2为进行合并的两条阴影线所在行,TH为进行阴影线合并时进行验证的阈值。

图3 车底阴影提取效果图Fig.3 Vehicle shadow extraction imagee

阴影线合并的基本思路为: 取合并前两条阴影线的最左端作为合并后阴影线的左端, 取合并后两条阴影线的最右端作为合并后阴影线的右端。合并后的阴影线在竖轴的所在位置采取合并的阴影线中y值较大的作为新的阴影线的y值。通过对现有的实验数据进行研究可以发现, 上下阴影线相距在5个像素点之内, 即TH=5时, 可以判定这两条阴影线为同一车辆产生的车底阴影, 可以对其进行合并操作[10]。

2 基于双目机器视觉的测距算法

图4 三角法测距原理Fig.4 Triangulation distance measurement principle

对检测中的左右两幅图同时进行车辆检测处理, 将目标车辆固定在划定矩形框内, 进而通过采取矩形框的中心点作为车辆坐标点, 实现确定位置后的测距步骤[11,12]。根据所得到的视差信息, 可对所需检测的某一特征点通过三角测距法实现距离信息的获取, 双目机器视觉视差测距法原理如图4所示。

在图4中L为所得到的视深信息,A为目标检测点,D为两摄像头之间的距离,f为该系列摄像头的焦距,x1为A点在左图像中的坐标,x2为A点在右图像中的坐标。

基于双目机器视觉的测距算法原理为

(10)

其中f为使用双目摄像机的焦距,D为双目摄像头镜头间的距离,x1为特征点A在左图中的坐标,x2为特征点A在右图中的坐标,x2-x1即为视差。

在实际研究中根据项目要求可以采用多种不同的立体匹配算法, 笔者拟定研究对比BM,SGBM,GC 3种立体匹配算法, 通过对比其运行时间与视差图效果选定最合适该系统的算法, 最后选定SGBM算法为系统测距[13]。

为了保证实验的准确性选定一对实验图片, 分别使用3种算法进行处理对比, 如图5, 图6所示。

a 实验数据第240帧左图 b 实验数据第240帧右图图5 左右实验图Fig.5 Left and right experiment image

a BM算法视差图 b SGBM算法视差图 c GC算法视差图图6 3种立体匹配算法结果对比Fig.6 Comparison of the results of three stereo matching algorithms

3 实验与分析

本实验使用车载的基线焦距固定的双目CCD摄像头对学校周边的道路信息进行采集作为实验数据源, 拍摄得到分辨率为640×480像素的彩色视频。实验中, 采用基于车底阴影的车辆检测方法, 使用Win10操作系统, 运用Visual Studio2015编译软件, 使用Opencv2.4.9图像处理函数库, 使用SGBM立体匹配算法完成整个项目。

3.1 实验结果

实验流程如图7所示。系统完成效果如图8所示。

图7 实验步骤 图8 系统完成效果图Fig.7 Experimental procedure Fig.8 System completed renderings

经过上述实验步骤即可对所采集到的实验数据进行测试, 并得到较好的实验结果, 90%以上的图像可以较为准确地检测到车辆得到的距离信息。

以图8为例, 该图为较典型的测试条件较好的一帧, 经过以下具体操作步骤。

1) 使用两次自适应阈值分割图像在灰度图中最终得到的阈值T的值为38。

2) 对图像进行车辆检测后得到矩形框的中点坐标为(368,271)。

3) 根据SGBM算法得到视差图中坐标为(368,271)点的视差v为2.021。

4) 根据三角测距法

r=fD/v

(11)

计算出距离r=19 m。其中r为测距值,f为焦距,D为该双目摄像机的基线(12 cm),v是由立体匹配得到的视差信息。

5) 将所得到的距离信息逐一标注在图像上, 对实验数据进行循环操作。

对实验所采集到的实验数据进行逐一测试, 将系统所得到的测距信息与实际距离信息进行比较, 可以发现项目的有效检测距离为10~50 m, 整体识别率达到85%。

3.2 实验误差分析

实验过程中避免不了产生一些实验数据误差, 进而影响实验的准确率与结果。根据误差产生原因与不同阶段, 主要分为以下几个原因, 如图9所示。

a RIO区域导致误差 b 图像分割导致误差 c 阴影线提取导致误差

d 原图 e 视差图图9 车辆检测误差Fig.9 Vehicle detection error

4 结 语

通过具体实验与分析, 对采集到的学校周边道路状况图像进行测试, 得出相应的实验结果, 发现该项目能较为准确地检测到双目视觉图像中的最近车辆以及其距离信息。对实验过程中存在的误差进行分析, 指出误差发生的具体步骤。实验测试数据表明该项目最终识别率约为85%。

猜你喜欢
视差阴影灰度
采用改进导重法的拓扑结构灰度单元过滤技术
基于视差优化的立体匹配网络
基于自适应窗的立体相机视差图优化方法研究
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
你来了,草就没有了阴影
基于梯度域引导滤波的视差精炼迭代算法
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于分割树的视差图修复算法研究
阴影魔怪