基于机器视觉的智能驾驶车辆识别及测距研究
2021-06-18朱洪华
朱洪华
(莆田学院机电工程学院,福建莆田,351100)
智能驾驶是当前国内外研究的关键技术之一,具有极大的应用价值[1]。跟车工况是指车辆在行驶中跟随前方并保持安全的行驶距离的状态。对于使用智能驾驶系统的车辆来说,跟车工况的精确度和实时性对车辆的安全性和舒适性有重要的影响,也进一步影响了智能驾驶技术的推广[2]。因为跟车工况执行的好坏主要取决于前车识别和前车距离测定的精确度和实时性,所以良好的前车识别技术研究对普及智能驾驶有重大的意义[3]。
1 车辆目标检测
■1.1 传统的车辆识别方法
传统的车辆识别方法主要有:Ada Boost+Harr、SVM+HOG、DPM算法等。传统的算法通常不能适应复杂实时的路况下前方车辆的识别,例如:SVM+HOG 算法难以解决遮挡的问题,并且在车辆改变方向时也不容易检测到;DPM 算法直观、简单、计算快速,但激励特征是人工设计的,工作量繁重,不能适应较大幅度旋转,稳定性较差。传统的算法虽然不能满足智能驾驶条件下的车辆识别要求,但由于成本低和技术成熟,在固定牌照识别和人脸识别等应用方案中得到广泛应用。
■1.2 基于深度学习的车辆识别方法
人的眼睛一看到图像,就能马上识别出图像中的物体、物体所处的位置和其相对的位置。这样就能使人们可以实时地做出反应来完成各种复杂的任务。对智能驾驶训练也同样要有与人类相似水平的反应速度和与人相当的精确度。智能驾驶系统必须实时地分析前方道路的路况, 并且可以在确定继续行驶的路径之前识别出现实世界中的各种对象和其所处的位置。
目前,常用的基于深度学习的车辆识别方法有 R-CNN、SSD 和 YOLO 等[4]。因为 R-CNN、Fast R-CNN 和 Faster R-CNN等模型需要在一个区域内提名候选框,然后将这个候选框带入卷积神经网络进行运算处理,所以在复杂情况下容易产生过多的候选框,导致运算量增大,从而降低了识别的速度。YOLO识别速度非常快,它的识别速度比“R-CNN”快1000倍以上。它可以处理实时的视频流,延迟极低,一般不超过25毫秒,精度比其他算法实现的实时系统高两倍以上。从检测的速度和精度上综合考虑,本文最终选用最新版本的YOLOv5算法来实现车辆目标检测。
2 目标测距
■2.1 目标测距方法
车用传感器进行车辆之间测量距离的方法有很多,大致包括:激光、超声波、雷达、红外线及机器视觉图像测距等。激光测距具有稳定性好及测距精度高的优点。但是由于其价格昂贵,因此限制了其市场的应用发展。超声测距的精度较高。然而,在长距离测距时,由于所接收的回声较弱,较慢,导致测量信息不准确。因此超声测距一般用于诸如倒车系统等短距离环境中。雷达测距是通过接收从物体反射的电磁波来测量距离。雷达传输不会受到复杂天气的影响,即使天气不好,也可以确保结果仍然准确。而且与激光相比,成本相对较低,但是容易受其他雷达或其他通信设施的信号干扰。红外测距在夜间具有高隐蔽性,而且其传播速度快,响应快速,所以广泛用于军事相关领域。但是其存在测距范围短,数据输出不稳定以及无法检测透明物体的缺点。机器视觉测距是通过相机传感器捕获周围图像信息,并通过在图像信息和空间之间建立三维关系模型来计算障碍物的距离。基于机器视觉的距离测量技术是基于环境感知的智能汽车驾驶辅助系统研究的关键技术。它具有以下优点:拍摄范围宽,重量轻,范围广,低成本等。虽然它易受环境干扰,但它结合其他传感器进行联合测距是目前前景最好的研究方向之一。
智能汽车在驾驶过程中需要连续跟踪目标,相机可以捕获视频信息并感知周围环境。通过对视频图像的处理,可以从二维图像中提取三维世界的测量信息,从而获得前对象和相机之间的距离。目前,通过摄像头对前方目标测距的方法有有双目视觉测距[5]和单目视觉测距[6]。双目摄像机的距离测量原理与人眼相似,但成本高于单目系统。由于双目视觉系统的计算量远大于单眼系统的计算量,所以它需要强大的软件和硬件支持。双目相机的另一个问题是需要匹配两个相机拍摄的图像,并且匹配的精度将对前目标的距离测量的精度产生显著影响[7]。单目系统的优点在于,计算资源的成本比较低,系统结构比较简单,缺点是距离测量的精度较低。考虑到成本,计算效率和效果等因素,本文使用单目相机进行距离测量。
■2.2 目标距离的测定
因为摄像机的基本参数是已知条件,所以我们可以基于针孔成像的原理来搭建摄像机图像和现实世界三维图像之间的透视关系,然后再根据摄像机图像对现实世界车辆的距离进行计算[8]。令摄像机图像坐标系为 L(u,v),世界坐标系为 W(x,y,z)[9]。摄像机图像坐标系与世界坐标系的关系如图1所示。世界坐标系的 q 点(现实生活中真实的一点)映射到图像坐标系的 q'(图像中的成像点)。测距过程其实就是通过q'在图像坐标的位置,来求q 点与相机焦点之间的距离m。
图1 图像坐标与世界坐标
通过利用一些先验知识可以找到摄像机图像空间 L(u,v) 中的点映射到现实世界空间的(x,y,0) 平面的位置。另外还需获得以下参数:
(1)汽车的真实位置映射到(u,v) 空间中的坐标uq;
(2)摄像机在现实世界的实际高度 h;
(3)摄像机的中心轴与 x 轴的垂直方向之间的夹角β’;
(4)摄像机的孔径张角的大小,用α来表示;
(5)摄像机的像素,用m×n表示,其中n是列数。
通过以上的参数,我们可以得出此时摄像机的焦点和摄像机图像空间中的点( uq,vq)的连线跟(x,y,0) 平面的之间的夹角 β(uq)为:
如图2所示,我们可以通过下面的公式求出地面一点 q与摄像机焦点之间的水平距离。
图2 地面一点到摄像机焦点的水平距离测量图
3 实验与结果分析
本文研究的目标测距方法试验在车辆较少的直线公路上进行。硬件包括:电脑CPU为Intel Core i5-6500 3.2GHz,内存16GB,摄像机焦距为25 mm,主要参数为β'= 00,α= 0 .388,h=1.6m。
通过YOLOv5算法对摄像头获得的图像进行检测,得到图像坐标,再用测距算法求出前方车辆的距离。实验用定量分析的方法获取前方目标的图像,即目标车辆每行驶15米,提取一帧图像,首先对目标车辆进行识别,然后提取识别区域的像素信息,结合已知参数和目标测距公式,最后求出理论距离。
如表1所示,本文在(15-105)m范围内对前方车辆距离测算系统进行试验。将实际车辆距离与计算出来的前方车辆距离进行比较,并计算出相对误差,检验出该测算系统具有有效性,并且平均精度达到 3.52%,平均运算时间为0.16秒,基本满足智能驾驶的精度和实时性的要求。
表1 车距测算与实际距离对比表
4 结语
本文针对目标车辆识别定位及车距测量方面进行了大量研究。对比多种车辆识别算法,最终选用最新版本的YOLOv5算法来实现车辆目标检测。对常用测距传感器进行了比较分析,考虑到成本,计算效率和效果等因素,最后选用了单目相机进行距离测量。在实际试验中证明了本算法基本满足智能驾驶的精度和实时性的要求,具有较好的应用前景。