黄雨涛, 郑景南, 何演权, 谢秀齐
(广东理工学院, 广东 肇庆 430063)
司机通过限高横梁时常常因为对车辆车身高度预估错误,导致车顶部撞击横梁或立交桥底;车辆以较快的速度在通过较窄路段或限宽墩时,因为通过角度或司机操作失误,导致车辆剐蹭或卡住车辆;驾驶过程中的司机注意力不够集中,忽略前方道路的凹陷或突起等,可能导致行驶的汽车侧翻或爆胎等。为了解决上述问题,本文设计了一种基于Kinect 的障碍物识别和危险警报功能的主动式车载路面障碍检测系统,来辅助司机观测前方障碍物。
为了达到上述目的,本文设计了一款识别路面障碍、判定物体危险程度的辅助驾驶系统,它包括固定架、独立计算机Jstson TX2 模块、kinect DK 传感器。使用螺纹固定架或者槽位固定架即可方便地固定在车辆上,设备如图1 所示。该设备包含3 个功能模块,分别为图像检测模块、图像识别模块、数据提取模块[1-2]。
图1 主动式车载路面障碍检测设备图
三维图像采集设备采用了Kinect DK,相比于普通摄像产品,Kinect DK 内置了100 万像素的TOP 深度相机,能够在复杂多变的路面条件下,识别相关可能威胁行驶车辆及驾驶人、乘客等物体。另外Kinect DK 镜头包含3 种不同摄像模式,即普通高清镜头、红外线镜头、深度镜头。可以将物体的不同类型数据分门别类,有序针对计算,加快整体处理数据速度。
检测系统实时地对Kinect DK 采集到的彩色图像和三维点云数据进行处理,其计算量非常大,需要高性能的计算设备进行分析,同时系统的复杂性不能太高,设备价格尽量降低。为此,设备采用了全功能NVIDIA CUDA 平台开发组件的Jetson TX2,该设备可以快速开发和部署用于计算机视觉、机器人学以及医学等领域的计算密集型系统。NVIDIA 提供了BSP 和软件包,其中包括CUDA、OpenGL 4.4 以及NVIDIA VisionWorks,可以凭借全套的开发和动态分析工具以及对摄像头和其他外设进行开发,其扩展端口用于额外的显示器、通用IO 以及高带宽摄像头接口等,具有多种标准的硬件接口,使其易于集成到广泛的产品形式中去。经检测,Jetson TX2 能够完成对Kinect DK 采集到的彩色图像和三维点云数据进行处理,且价格低廉、安装简单。
系统需要实时对路面上的障碍物进行识别,识别目标的外形尺寸(长、宽、高)参数。首先,采用像素点二值性对目标的外围轮廓线进行提取,采用轮廓近似方法实现。其次,在完成对深度图像的轮廓提取后,利用外边矩形框选图形的轮廓,并对矩形框的大小进行分析,作为障碍物识别的依据。
系统总体流程如下:摄像机设备会通过Kinect DK 相机采集物体的点云数据、边缘及特定区域。在处理数据后架构相应的边缘模型,并对自身车辆信息进行对比,在发生碰撞的情况下提前对驾驶者等人发出警报。系统工作流程如图2 所示。
图2 系统流程图
在车辆驾驶室或车头前方装备设备,当前方道路出现其他物体进入设备的检测范围时,Kinect DK 通过高清镜头、红外镜头及深度相机镜头对物体进行拍摄,并将拍摄的高清图像和三维点云数据进行预处理。
对上述获取的三维点云数据进行实时分析,将设备目标下方长度坐标轴及宽度坐标轴的点云拟合得出路面平面图,得到车辆前方道路的长度和宽度。
将步骤1 获取到的三维点云数据及步骤2 拟合的地面平面方程,结合Kinect 扫描目标物体,对目标物体进行点云聚类,在进行去噪和点云拼接后,获取物体轮廓点云图。
对步骤3 的障碍物轮廓点云数据进行分析,判断障碍物大小、高度。一旦威胁到行车安全即发出警告。提醒司机注意,并通过三维图的方式告知障碍物的位置和威胁程度。
实验车辆行驶时,通过Kinect DK 不断收集路面信息,获取正常路面的水平高度数据。当障碍物进入Kinect DK 视野时,设备侦测障碍物并根据障碍物高于水平路面的特点进行三维取样,如图3 所示,在实验车辆前方路段放置圆柱形障碍物后,Kinect DK 第一时间判断出前方障碍物高于正常路面水平,并对障碍物进行图像分割。
图3 障碍物示意图
对提取的障碍物点云数据进行三维坐标映射,在对点云数据使用部分重点采样后,由障碍物一般处于水平地面,当障碍物y 坐标值取最小时,可分割道路与障碍物。
将物体三维数据输入至算法部分,假定障碍物的长、宽、高(x1、y1及 h1)任一数值超出限定威胁数值(假定 x0、y0及 h0),便会发出预警[3-4]。
本文将采样Kinect DK 和Jstson TX2 对复杂多变的交通道路情况进行实时监测分析,结合图像分割和物体边缘提取算法,设计了一款带物体识别和危险警报功能的主动式车载路面障碍检测系统。该系统可以不断辨别道路上障碍物,判断物体是否会对驾驶者带来威胁,在危险发生前提前发出警报,提高车辆在道路中的行驶安全性。