APP下载

基于单目视觉的智能车障碍物检测及测距算法研究

2022-04-28赵奉奎

智能计算机与应用 2022年4期
关键词:测距障碍物像素

张 煜,赵奉奎,张 涌

(南京林业大学 汽车与交通工程学院,南京 210037)

0 引 言

现如今,自动驾驶作为计算机科学、模式识别和控制技术高度结合的产物,从根本上改变了传统的驾驶方式。自动驾驶主要涉及环境感知、决策规划以及车辆控制三大模块。目标检测作为环境感知中的重要内容,主要任务是通过多种传感器进行道路信息的提取以及识别。如何快速并准确地检测出复杂环境中的驾驶风险是实现安全驾驶的基础,也是自动驾驶技术亟需解决的关键问题之一。

得益于深度学习的广泛应用,目标检测算法得到了快速的发展。基于深度学习的目标检测任务可分为目标分类和目标定位。其中,目标分类任务负责判别输入图像区域内所出现物体的类别和相应的置信度得分。目标定位任务负责确定输入图像区域中感兴趣类别物体的位置和区域。Zhu等人提出了一种多传感器多层次增强的网络体系结构,使检测网络具备了更强的去冗余能力和在复杂场景下的泛化能力。Yu等人利用focal loss对检测模型的损失函数进行了优化,采用剪枝算法简化了网络,并用多尺度数据集增强了检测网络的可预测范围和鲁棒性;袁志宏等人在YOLOv3基础上提出了一种YOLOv3-BT目标检测算法,可兼顾识别检测的实时性和准确度。闫贺等人提出了一种基于Faster R-CNN算法的SAR运动目标检测方法,通过Kmeans聚类方法修改锚框的长宽比,并采用FPN网络架构检测特征,该方法具有实现简单、检测效率高等优势。Zhao等人在MobileNetv2-SSDLite基础上设计了一种新型轻量级目标检测网络—LMSDN,该模型具有更高的识别精度和更强的抗干扰能力。Xu等人提出了一种将视觉显著性和级联卷积神经网络结合的物体检测方法,有效提高了物体检测精度,保证了合成孔径雷达图像的检测精度。

障碍物测距作为智能车和高级驾驶辅助系统感知交通信息的关键内容,是降低交通事故概率,提高交通安全的重要技术手段。其主要任务就是,对周围环境进行感知处理,测量车辆的横向距离和纵向距离来实现精准定位,同时也可以对影响行驶安全的潜在危险进行有效的检测和预警。单目视觉测距方法简单,计算量小,实用性能高,是目前车辆测距的重要途径。Liang等人提出了一种非固定相机的现场图像提取方法,与传统方法相比,在现场实验时更加灵活、方便。Song等人基于3个道路消失点以及虚拟识别点的约束,提出了一种准确性更高的相机标定方法。刘军等人通过一种变参数逆透视变化和道路消失点检测的方法来实时测量车辆相对运动时横向距离和侧向距离,从而建立车辆测距模型。黄同愿等人提出了一种冗余切图的方法,结合改进的边界框筛选算法实现对小目标行人的检测,同时提出了一种包含俯仰角和偏航角的改进相似三角形测距算法。吴骏等人采用多尺度分块二值模式和Adaboost算法建立基于位置信息模型的车距测量方法。高敏等人基于特征变换算法来估计车辆的姿态角,利用目标姿态偏差模板和目标图像模拟立体视觉。

本文在智能车前方障碍物检测的基础上,引入了基于单目视觉的目标测距算法。本文首先利用目标检测算法获取目标的边界信息,随后基于相机的小孔成像模型,运用像素坐标系和世界坐标系之间的转换关系,得到相机与障碍物之间的距离,并在APOLLO D-KIT上进行了测距试验,进而给出了相关结果及分析。

1 相机参数标定

相机的成像过程可以用小孔成像来描述,如图1所示。图1中,为相机光心,为相机坐标系,为相机成像平面。是空间中的一点,是在相机成像平面上的投影点。假设相机焦距为,则满足相似三角形关系,关系如式(1)所示:

图1 相机成像模型Fig.1 Imaging model of the camera

整理得式(2):

其中,,就是的坐标。为了最终获得成像的像素信息,需要将坐标转换为像素坐标。在像素坐标系o-u-v中,原点o位于图像左上角,轴向右,轴向下。坐标转换中存在一个尺度缩放及原点平移,假设,轴的缩放系数分别为,,原点的平移为[cc],则的坐标与像素坐标之间的关系如式(3)所示:

其中,,即为相机的焦距ff,且ffcc单位均为像素。将式(3)整理为矩阵形式,参见式(4):

则中间矩阵即为相机的内参矩阵。

由于相机透镜的存在,会引起图像的径向畸变。在产生径向畸变的图片中,直线往往会变成曲线,且越靠近图像边缘的地方畸变越明显。对于图1中的点,其极坐标形式为[,],其中表示与坐标系原点的距离,表示与水平轴的夹角。径向畸变可以看作坐标点沿长度方向发生了变化,也就是发生了改变,假设畸变呈多项式关系,(xy)就是畸变后的点坐标。即:

其中,、表示相机的外参数。

本文利用Matlab对相机的内外参数进行标定。首先,需要将一张8×6、方格单位为28 mm的棋盘格固定在一块垂直平面上,如图2所示。随后将相机以不同姿态、角度对棋盘格进行拍摄,选取清晰、多样的拍摄结果,最后对拍摄结果进行标定。

图2 棋盘格标定图Fig.2 Camera calibrating by using checkerboard

摄像头的内参矩阵为:

径向畸变参数为:

相机的主要参数见表1。

表1 相机的内参与外参Tab.1 Intrinsic and extrinsic parameters of the camera

2 障碍物检测

考虑到障碍物检测所需要的速度与精度,本文选择YOLOv3算法进行目标检测。

YOLO(You Only Look Once)是基于回归的目标检测模型中的一种,其主要优势为检测速度快,适合实时性检测系统。与传统的R-CNN、Faster R-CNN等不同,YOLO模型分为网络特征提取和特征图检测两个部分,可以直接从图像中预测目标的分类及边界框坐标,但是相比之下精度并不高。在此基础上,YOLOv3在基础网络模型部分采用了DarkNet-53(如图3所示),加强了特征提取能力,同时加入了残差网络模块,从而更好地学习图像特征。

图3 ResNet-53结构图Fig.3 Structure of ResNet-53

YOLOv3参考FPN(feature pyramid networks)的思想,利用类似金字塔的特征提取网络,引入了多尺度预测。图片在进入YOLOv3后会被调整为统一的尺寸,随后被划分为13×13、26×26、52×52三种规模。每种规模需要预测3个目标边框(bounding box),每个目标边框都会预测中心点坐标(,)、边框的宽高(,)以及置信度5个值。因此,一个规模的网格,目标分类数为,最终得到的张量为[3(41)]。这里,研究推得的置信度公式为:

损失函数是用来衡量真实值与预测值之间误差的标准,损失函数的建立往往决定着网络模型的速度与检测效果。对于本文研究的单目目标检测问题,在损失函数中通常需要考虑3方面的损失、包括坐标损失、置信度损失以及类别损失,本文使用的YOLOv3的损失函数如下:

展开式如下:

本文的目标检测主要是面对封闭园区及室内的车辆及行人,因此融合多尺度特征的YOLOv3能够对环境目标进行精确的检测分类,并输出相应的边界框尺寸,符合本文需求。

3 目标测距

前文实现了对目标障碍物的检测,本节将在检测环节输出边界框的基础上,建立相机测距模型,并对障碍物与相机之间的纵向距离及横向距离进行估算。

单目相机的目标测距通常是利用相机平面成像与实际物体之间的相似关系来确定相机光心到物体的实际距离。Stein等人提出了经典的相似三角形测距算法的基础模型,讨论了像素误差对该模型的影响情况。但是该模型并没有考虑相机俯仰角对测距误差的影响,因此Liu等人在此相似三角形测距模型基础上加入相机姿态角俯仰角()对测距的影响。

目标检测预测框的准确度对于目标测距的精度至关重要。准确的预测框意味着更精确的图像参考点,因此参考点的选取是测距工作的前提。

3.1 参考点选取

YOLOv3输出了障碍物在图像上的边界框信息,包括边框的、、、。要进行障碍物测距,首先需要选定参考点才能进行距离的估算。本文选取边界框底部的中心点作为参考点,参考点坐标计算如式(11)所示:

其中,y作为测距算法中纵向距离的输入,输出相机光心到底部边界框中点的实际纵向距离。

3.2 单目测距模型

本文采用基于投影模型的测距算法,在此基础上加入了相机的俯仰角,对障碍物与相机之间的实际距离进行测算。由于相机在安装过程及车辆行驶过程中的姿态会发生改变,因此,考虑能减小相机姿态带来的测距误差,降低对相机的安装要求。本文的测距模型结构如图4所示。

图4 测距模型Fig.4 Ranging model

图4中,是相机的焦距(像素),是相机光心距离地面的实际高度(m),为镜头中心点,y为汽车底部与地面的交线纵坐标(像素),y为车道消失线纵坐标,为相机的俯仰角(°),为所求实际距离(m)。

在测距模型中,已知相机高度,参考点坐标(xy),相机中心坐标(uv),相机焦距,相机俯仰角,由上文的成像模型及相似三角形原理有:

化简后可得式(13):

且当较小时,·tan及cos可看作为0,因此可化简得到检测目标到相机光心的垂直距离的计算具体如式(14)所示:

4 算法实车验证

本文以百度阿波罗D-KIT Lite为数据采集平台进行实车试验,试验所用的工控机参数为处理器i9-9900K,内存32G,显卡NVIDIA GeForce GTX2060Ti。使用的摄像头型号为LI-USB30-AR023ZWDR,图像像素为1 920×1 080,焦距6 mm,像素大小为30 um,摄像机安装在车身前侧中部,固定安装高度为0.93 m,水平视角90.2°。车辆图片及相机安装位置如图5所示。

图5 百度APOLLO D-KIT LiteFig.5 APOLLO D-KIT Lite

4.1 室内验证

为了验证该算法的准确度,就先在室内对目标检测及测距模型进行了测试。在一条平整的长廊上以5 m为单位,分别在5 m、10 m、15 m、20 m、25 m、30 m、35 m处拍摄行人的图像。图像采集完成后,对摄像头内外参数进行标定,得到其固定俯仰角。随后对行人目标进行识别测距。行人检测及测距的最终输出如图6所示。测算距离已在图6中标出。

图6 室内验证图Fig.6 Laboratory verification diagram

室内测距结果见表2。

表2 室内测距结果Tab.2 Laboratory experimental results

室内测距结果的绝对误差如图7所示。

图7 室内实验结果的绝对误差Fig.7 AE of laboratory experimental results

由表2和图7可知,绝对平均误差为0.71 m,平均相对误差为2.71%。其中最小绝对误差为0.12 m,而最小相对误差为2.21%。且随着距离的增加,测量结果的误差会增大,这是由于测量精度与车道消失点的位置密切相关。目标物距离越远,即越靠近车道消失线,则单个像素所衡量的实际距离就越大,因此误差会随着距离的增大而增大。

4.2 室外验证

由于在室外实验,动态目标的距离真实值无法准确测量,因此本文对室外静态目标进行测距,以验证本文算法的准确性。为评估测距算法的准确性,同样在道路上以10 m为单位,在15 m、25 m、35 m、45 m、55 m、65 m处设置固定车辆目标,并且随机设置行人目标,随后用试验车进行图像采集,并进行检测及测距。车辆检测结果见表3。行人检测结果见表4。

表3 室外车辆测距结果Tab.3 Outdoor experimental results of vehicles

表4 室外行人测距结果Tab.4 Outdoor experimental results of pedestrians

由表3、表4可知,车辆测距的平均相对误差为3.4%。行人测距的平均相对误差为4.21%。车辆测距的平均相对误差要小于行人测距的相对误差,说明该测距模型在室外应用时,能够更好地反映车辆目标的距离。这是由于在户外,行人的姿态不够统一,导致目标检测边框的准确度并不高,因此测距算法的精度受到了影响。

部分检测及测距结果如图8所示,图像中的行人及车辆目标均能被正确检测且标识出距离,且该检测网络只识别车辆及行人目标,因此其他目标物将不会被检测,提高了算法运行的效率及精度。

图8 室外验证图Fig.8 Outdoor verification diagram

实验结果显示,室内测距结果的平均相对误差为2.71%,室外测距的平均相对误差为3.81%。室内测距结果更为准确的原因是室内地面更为平整,而室外的地面存在起伏,导致了测量的误差变大。

4.3 实验对比

为了验证本文测距模型的检测精度,选取文献[15]中提出的测距模型进行对比。文献[15]首先利用背景差分法输出障碍物目标,随后利用成像模型测得障碍物距离。实验在室外环境下对特定距离的车辆目标进行,实验结果如图9所示。

图9 本文方法与背景差分法[15]对比Fig.9 Method in this paper compared with the traditional method[15]

实验结果表明,与文献[15]的测距模型相比,本文使用的障碍物测距模型在室外环境下的测距精度更高。主要原因在于基于深度学习的目标检测网络输出的检测框更加准确,而基于背景差分法的目标检测模型输出结果相对较差,因此本文目标检测模型在输入测距模型时的精度更高,最终的测距结果更加精确。

5 结束语

本文基于单目视觉,采用面向车辆及行人的YOLOv3目标检测模型,经由室内外的实验结果证明,该模型能够输出较为准确的预测边框。本文的测距模型能够在目标检测准确的前提下,提供平均相对误差在2.71%的室内测距精度和3.81%的室外测距精度,能够较为精确地反映相机与目标障碍物之间的实际距离。且相比于基于背景差分法的传统测距模型,测距精度更高。

猜你喜欢

测距障碍物像素
赵运哲作品
像素前线之“幻影”2000
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
类星体的精准测距
“像素”仙人掌
浅谈超声波测距
高像素不是全部
基于PSOC超声测距系统设计
相对差分单项测距△DOR