时间:2024-06-19
郭景华, 董清钰, 王靖瑶
(1. 厦门大学 机电工程系,福建,厦门 361005;2. 厦门大学 航空航天学院,福建,厦门 361005)
障碍物的准确识别和检测是无人车进行轨迹规划与安全控制的前提条件。而野外环境存在不平坦的地面、杂草、树木,背景较复杂,且道路上障碍物种类繁多,遮挡严重,这些都给野外环境下无人车障碍物检测算法的准确性和鲁棒性带来很大挑战[1]。
当前常见的障碍物检测方法主要分为基于激光雷达和基于视觉两种。激光雷达通过旋转激光束,利用物体表面的反射光计算得出反射光的时差,不仅能获得与物体相隔的距离,还能获得物体的位置信息和反射特性,其优点是光束窄、波长短、分辨率高[2-3]。XIE Desheng 等[4]利用三维激光雷达,实现了复杂交通环境下对障碍物进行检测和跟踪。OHKAWA 等[5]根据激光的反射强度值不同,对石块进行了检测。然而,野外环境下激光雷达内部长期处于旋转中的机械结构会给系统带来不稳定性,在颠簸振动时的影响尤其明显,且当距离增加时,激光雷达获得的点云会逐渐稀疏,使检测变得困难。
在较大尺度且动态的环境中,视觉检测因为其具有的纹理信息,表现出更好的效果[6]。基于视觉的障碍物检测需要使用摄像机拍摄环境信息图像,再利用视觉检测算法对道路障碍物进行识别与检测,通常分为传统视觉识别算法和基于深度学习的识别算法两种方法。
传统机器视觉算法中,需要人工分析图片的特征,选取诸如颜色、纹理、轮廓、HOG、Harr等特征作为切入点,再通过图像处理算法提取特征,然后通过特征的值来区分障碍物[7]。最后需要对图像进行形态学操作等后处理,得到目标与背景分离后的清晰图像,并将分离后的图像送入分类器中实现分类。因为传统机器视觉算法需要手工提取特征,所以对于野外环境下复杂多变的障碍物,算法鲁棒性较低。
卷积神经网络通过共享权值,可以自主学习丰富的图像特征信息,当前在障碍物检测研究中被广泛使用[8]。对于障碍物的检测,当前常用的模型有两类,第1 类为基于区域推荐的两步(Two Stage)目标检测算法,主要有R-CNN、SPP-Net、Fast RCNN、Faster R-CNN 等。第2 类为基于回归的一步(One Stage)目标检测算法,代表网络为SSD 和YOLO 系列两种类型。这两类常用模型各有优缺点,基于区域推荐的目标检测算法的检测速度较慢,但精度远高于基于回归的目标检测算法;基于回归的检测算法的检测速度较快,但损失了一定检测精度[9-10]。
尽管目前基于深度学习的障碍物研究较多,但很多都局限在背景简单的城市道路中,对野外环境下形态复杂的障碍物研究较少。考虑到野外环境存在背景复杂等问题,检测相较于城市道路更加困难,为在保证实时性的同时尽可能地精确检测障碍物,本文利用了深度学习中的Faster R-CNN 卷积神经网络技术,通过替换特征提取网络,引入注意力机制和替换非极大值抑制算法完成了对Faster RCNN网络的改进优化,实现了越野环境下障碍物的准确检测和识别。
野外环境中障碍物具有复杂多变、尺度变换大等特点[11],因为ResNet 网络在特征提取时不易丢失细节特征,FPN 网络能很好解决尺度变换大的问题,所以本文将FPN 网络与ResNet50 网络进行结合,对野外环境图像进行特征提取。
图1 所示为FPN 网络与ResNet50 网络相结合的结构。在自底向上的过程中,将ResNet50 中conv2_x、conv3_x、conv4_x、conv5_x 层的最后一个残差块输出特征作为FPN 网络各级的输入,并记为{C2,C3,C4,C5};在自顶向下的过程中,每一级的特征图C 经过1×1 卷积调整得到特征图M,经调整后的M 特征图也有4 级,记为{M1,M2,M3,M4}。通过以上采样将相邻两级特征图M 进行融合,并经过3×3 卷积后得到最终的特征图P。为避免计算量过大,本文特征提取时最终仅输出4种尺度级别特征图,记为{P2,P3,P4,P5}。由于FPN 的所有层使用同一个分类器和回归器,所有特征图中取固定特征维度256。
图1 FPN+ResNet50网络结构
NMS(Non-Maximum Suppression)是较常用的非极大值抑制算法,其本质是搜索局部最大值预测框,为避免传统NMS 算法因为阈值难调整带来的误删除和误检问题,本文使用Soft-NMS 算法代替NMS 算法,对于与最高分框IoU 大于阈值的框,不直接去掉,而是通过加上与IoU 相关联的权值将他的置信度降低,这样可以使更多的框被保留下来,能一定程度上避免误删除的情况出现,为避免阈值设置,使用高斯加权,如式(1)所示。
式中:M为当前得分最高框;bi为待处理建议框。
Soft-NMS算法具体步骤为:
1)获取某一类别的所有建议框的坐标信息以及置信度;
2)将该类别建议框置信度由高到低排序并记录顺序;
3)将该类别置信度最高的建议框依次与剩余建议框计算IoU值并记录,根据IoU计算权值,IoU越大权重值越小,对置信度的抑制越明显,将计算后的置信度再次按从大到小排序,去掉置信度特别低的建议框。
依次对所有类别进行以上3个步骤的操作。
经过NMS 和Soft-NMS 对候选框进行筛选的效果如图2所示,使用NMS筛选建议框时,如果阈值设置过大,筛选条件过于严格,会出现图2a所示的漏检情况;如果阈值设置过小,筛选条件不严格,会出现误检情况。而使用Soft-NMS 算法能在一定程度上解决建议框筛选不够精确的问题,提升了网络模型的识别效果。
图2 NMS和Soft-NMS对比
基础网格生成的特征图通道维度和空间维度包含不同的信息,而且各个特征信息对目标检测的效果贡献也不同。在已有网络中嵌入软注意力机制[12-13],有助于特征图中有效特征信息筛选和减小计算量。为平衡网络模型的检测精确度和检测速度,本文借鉴SENet网络中ResNet网络嵌入注意力机制的方式,即在每个卷积层残差块最后嵌入注意力机制,如图3所示。
由图3 可知,图像从左侧传入,在前向传播的过程中产生特征图,注意力机制嵌入到每个卷积层后, 组成新的conv2_x、 conv3_x、 conv4_x、conv5_x,各conv_x 块输出的特征图最后传入FPN网络。
优化后的Faster R-CNN 模型损失主要分为RPN部分的损失和Fast R-CNN 部分的损失,并且两部分损失都由分类损失(cls Loss) 和回归损失(bbox Regression Loss)组成。
表1 注意力机制(AM)嵌入后配置信息
RPN部分损失计算如式(2)所示。
式中:Ncls为筛选的Anchor 数,取256;Lcls为二分类交叉熵损失函数;Nreg为Anchor 位置的个数;Lreg为边界框回归损失。
在RPN 网络里产生的Anchor 只针对前景和背景进行分类,可以看作是个二分类问题,因此,用二分类交叉熵损失函数对其分类损失进行计算,如式(3)所示。
边界框回归损失中:
式中:pi为第i个Anchor 预测为真实标签的概率,当为正样本时取1,为负样本时取0;Ncls为筛选的Anchor 数,取256;ti表示预测第i个Anchor 的边界框回归参数;表示第i个Anchor 所对应的实际标定框的边界回归参数。
Fast R-CNN部分对目标进行最终检测的损失计算如式(6)所示。
式中:Lloc为边界框回归损失。
Fast R-CNN部分利用多分类的交叉熵损失函数对其分类损失进行计算:
边界框回归损失中:
本文数据集采集于真实野外环境,有训练集9 000 张图像,验证集4 000 张图像,测试集4 000张图像。LabelImg 是一款可视化图像标定工具,专门用来实现数据集标定工作,标注后的信息可以自动以图像名称命名为.xml文件,模型训练时读取生成的.xml文件即可获取图像中目标信息和图像尺寸信息。利用LabelImg 对本文数据集中图像进行标定,标定后各类别目标数量信息见表2。
表2 各类别目标数量
几何变换是一种最基础、最直接的扩充样本方法。在野外环境中,障碍物往往存在多角度问题,即同一类型目标(比如树木、石头、动物等)在图像中可能会以多种方向、位置排布出现。为了避免数据集内障碍物在图像里分布情况不够多样化,使模型学习不到必要特征的情况发生,本文在图像进入网络模型训练之前,进行翻转数据增强操作。在模型训练过程中,图像翻转数据增强方法会在线地随机对称翻转数据集内的图像,无需重新标定数据集。使用该数据增强方法后,模型在学习到旋转不变性的同时,其学习到不相关特征的可能性也大幅度减少,从而使模型泛化能力和鲁棒性得到提高。图4为图像翻转后的效果。
图4 图像翻转处理后效果
野外环境与城市环境不同,其光照变化大,没有路灯等设备对环境进行补光,光照来源仅有太阳,且野外的树荫、山坡等物体的遮挡,对图像光照环境影响也较大,为解决光照对模型鲁棒性带来的影响问题,本文使用色域扭曲法对数据集进行增强,该方法随机地扭曲图片色域中的HSV 通道。通过色域扭曲法,在训练过程中,网络会随机对图像色调、饱和度、明度进行调整,模拟不同光照情况下的图片状况,能高效地丰富数据集,使模型学习到更多有利特征,提高模型鲁棒性和泛化能力。图5 为对数据集进行随机色域扭曲处理后的效果。
图5 色域扭曲处理后效果
试验环境使用Ubuntu 18.04 操作系统,采用GeForce RTX 3090 显卡进行运算,显存大小为24 GB,CPU 配置为Intel i7-11700K @ 3.60 GHz,CUDA 版本为11.1,Pytorch版本为1.8.0,Python版本为3.8。
为更快得到最优点,保证网络的训练效率,本文在训练时,使用迁移学习方法,减少了到达收敛点所需epoch。本文训练模型时的基本参数见表3。
为了评估目标检测模型的性能,本文利用查全率(Recall)、平均精度(Average Precision, AP)和平均精度均值(mean Average Precision, mAP)衡量模型精度,每秒处理的帧数(Frames Per Second, FPS)作为模型速度的衡量标准。
在评价指标中,根据检测结果与图像真实情况的不同,将判别结果分为表4所列的4类。
表4 判别结果分类
精确率(Precision),即查准率,指所有识别出来的图片中,正确样本所占比率,如式(9)所示。
召回率(Recall),即查全率,指所有标记的全部正样本中,能被正确识别的比率,如式(10)所示。本文Recall为IOU为0.5时所对应的值。
AP 值为Precision-recall 曲线下的面积。通常,在召回率增加的同时,精确率能维持在比较高的水平的分类器性能较好。但如果分类器的性能较差,网络会降低一部分精确率以提升召回率,因此,AP 值能反映分类器性能的好坏,AP 值越大障碍物检测时目标分类效果越好。
图6 展示了模型训练曲线,由可视化曲线可以看到,学习率减小并趋于0,随着训练轮数(epoch)的增加,模型评价指标在达到最高值后均趋于稳定,无明显过拟合现象,改进后网络缩短了模型收敛所需时间,且本文优化改进所得网络无论是在评价指标mAP (0.5)、mAP (0.75) 还是Recall 上,都表现出了明显的优势。且经过测试,最终优化所得网络检测速度FPS为21,满足实时性要求。
图6 模型的训练曲线图
由表5 可知,优化后的网络对每一类障碍物的检测效果都有提升,其中,对静态障碍物的检测效果提升尤其明显。优化前的网络对每一种障碍物检测时的mAP(0.5)大多都在60%以上,但对野外环境下最常见的3 种障碍物石头、水坑、树木,其mAP(0.5)均不足50%,且水坑的mAP(0.5)不足40%。优化前对石头、水坑、树木这3 类障碍物检测效果差的主要原因为传统Faster R-CNN 采用VGG16网络提取特征时容易丢失信息。
表5 优化前后各类别检测结果mAP(0.5) 单位:%
改进型Faster R-CNN 模型对石头、水坑、树木这3 类障碍物的mAP(0.5)继续提升,都达到了63%以上。这是因为优化后的特征提取网络能保证特征的有效提取,Soft-NMS 的使用也减少了NMS带来的目标建议框误删除和误检现象,提升了Recall值。
如图7 所示,在背景杂乱、障碍物情况复杂的工况中,使用优化方案的网络识别效果较好,正确精准框选出来所有障碍物;优化前网络漏检了5 个“树木”障碍物以及所有“石头”。由图7 可知,本文最终优化所得网络模型在野外环境障碍物检测上具有一定优越性。
图7 检测效果对比
“水坑”障碍物边界不明显,较难精确框选。如图8 所示,在对“水坑”进行检测时,使用改进型Faster R-CNN 网络精准识别出图像中所有“水坑”;改进前网络漏检了两个“水坑”。由图8 可知,本文最终优化所得网络模型在野外环境障碍物检测上具有一定优越性。
图8 检测效果对比
本文以 Faster R-CNN 卷积神经网络模型为基础,从替换特征提取网络,引入注意力机制和替换非极大值抑制算法方面等方面对 Faster R-CNN进行模型改进,提升野外环境下无人车的障碍物检测性能。试验结果表明,与原始Faster R-CNN 网络相比,优化改进后的Faster R-CNN 算法在野外障碍物检测任务中不仅检测速度满足实时性和鲁棒性的要求,而且进一步提升了障碍物检测准确率并降低了误检率。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!