计算机视觉的辅助驾驶系统设计

计算机视觉的辅助驾驶系统设计

摘要:文章设计一种基于计算机视觉的辅助驾驶系统。系统通过摄像头采集图像信息,并对环境中的车道线、交通信号灯、车辆进行检测识别,同时把检测结果反馈给驾驶员,提醒驾驶员安全驾驶。该系统识别速度快、准确率高、鲁棒性强,具有广泛的应用前景。

关键词:车辆辅助驾驶系统;计算机视觉;神经网络;HSV空间

引言

据统计,我国在交通事故中,每年都有数万人死亡,数亿元的经济损失。为了提高驾驶的安全性、减小交通事故的发生频率,辅助驾驶系统将可有效地帮助驾驶者了解车辆周围的环境信息。目前市场上的辅助驾驶系统还是以传感器检测为主,为了减少硬件成本,本文基于计算机视觉设计出一种辅助驾驶系统。

1系统总体结构

系统通过摄像头采集道路图像信息,基于计算机视觉对道路图像信息进行检测识别,整个系统由高清摄像头模块、图像预处理模块、计算机CPU模块、车道线检测算法模块、红绿灯检测算法模块以及车辆检测算法模块组成。

2车道线检测原理

车道线检测流程图如图2所示。

2.1图像预处理

首先,将图像进行灰度化处理,灰度化后的图像仍会存在噪声干扰,使用高斯滤波进行去噪处理。接着进行二值化、闭运算操作,从而凸显出目标的轮廓。

2.2边缘检测

为了获取图像中的边缘信息,采用Canny边缘检测算法。Canny边缘检测算法计算图像的梯度幅度和方向来估计每一点处的边缘强度与方向,根据梯度的变化,对梯度幅度进行非极大值抑制,并通过双阈值来控制边缘连接。边缘检测前后对比如图3所示。

2.3霍夫直线检测

当获取到图像边缘信息后,霍夫直线检测算法通过图像空间的边缘数据点计算参数空间中的参考点的可能轨迹,并在一个累加器中将计算出的参考点进行累加,选出峰值,从而计算出图像中的直线。设置适当的阈值,并通过直线斜率的计算,去除不相关、有干扰的直线,达到检测车道线的效果。

3车辆检测原理

以开源的神经网络框架Darknet为基础,以YOLO网络模型为基础,训练车辆检测器。训练采用多分步策略。

3.1预训练

预训练模型由19个卷积层和5个池化层构成。为了减少模型训练时间,在训练开始时加载在ImageNet训练了10轮的预训练模型,并不断地调整网络参数。为了使模型有着更好的鲁棒性,在训练中对输入的图像尺寸进行调整,调整的尺寸为32的倍数,最小尺寸为320×320,最大尺寸为608×608。

3.2数据集

训练所用的数据集是通过行车记录仪拍摄的视频进行提取的,图片尺寸大小为640×360。训练集图片9500张,包含43641个车辆目标;测试集图片1500张,包含6843个车辆目标。采集图像中的车辆目标种类多样、大小不一且存在不同程度的遮挡情况。

3.3初始候选框

训练过程中,随着迭代次数不断增加,网络学习到车辆特征,预测框的参数不断调整,最终接近真实框。为了加快收敛速度、提高预测精度,分析图像中车辆的宽高特点,用K-means算法进行聚类,得到与图像中车辆边界最相近的初始候选框参数。

4红绿灯检测原理

为了减少CPU的计算量,将摄像头的上半视角部分设置为ROI,对ROI进行颜色的检测识别。颜色识别采用HSV空间进行判断。通过查询相关资料,红色的色调取值范围为0~101和56~180,饱和度范围为43~255,亮度范围为46~255;绿色的色调取值范围为35~77,饱和度范围为43~255,亮度范围为46~255。设置目标颜色的匹配程度,同时统计红色和绿色的占比,如果红色占比超过20%,则认为是红灯,绿灯也按照此占比进行判断。检测效果如图4所示。

5测试结果

驾车在不同路段行驶,通过摄像头进行实时检测,共采集到车道线目标4465次,红绿灯102次,车辆5405次。对于车辆的检测,识别准确率能够达到98.68%;对于车道线和红绿灯的识别,略受到光照强度的影响,识别准确率略有降低,但仍在97%以上。

6结束语

基于计算机视觉的辅助驾驶系统,紧跟现阶段的时代需求,保障驾驶员的日常行车安全。测试结果表明,该系统对目标物体检测识别的准确率达到97%以上,具有实际可行性。

作者:戴卫兵 徐超 陈悦 吴予萌 秦思禹 单位:南京航空航天大学金城学院