基于改进Cascade RCNN的车辆目标检测方法
2021-03-09李松江李海兰
李松江,吴 宁,王 鹏,李海兰
长春理工大学 计算机科学技术学院,长春130022
车辆目标检测是无人驾驶、车辆定位、车辆跟踪等诸多领域的研究基础,具有重要的研究意义和广阔的应用前景。在检测过程中由于车辆自身的差异,以及在行驶过程中存在的遮挡、变形等问题使得检测精度较低。因此改善车辆目标检测过程中小目标及遮挡目标的错检、漏检问题并提高检测精度,已成为车辆目标检测领域的研究热点[1]。
Kim等人[2]将SPP网络集成到YOLO-V3并加入多预测层,最终提高遮挡目标的检测精度。Nguyen[3]改进Faster RCNN特征提取网络并使用上下文感知池化替代ROI池化,提高了小型车辆和遮挡车辆的检测精度。Zhou等人[4]将对抗网络与级联的Faster RCNN相结合,对小目标及遮挡目标有更好的鲁棒性。Cai等人[5]提出Cascade RCNN网络,通过级联检测器逐层提高候选框的IOU阈值,最终提高了小目标及遮挡目标的检测精度。孔方方等人[6]提出改进YOLOV3的全景交通监控目标检测方法,通过多尺度融合及使用K-means对目标框进行聚类分析,提高目标检测精度。李俊彦等人[7]提出基于YOLOV3和KCF的交通场景下多目标车辆跟踪算法,实现交通场景下车辆轨迹的获取。任宇杰等人[8]结合MobileNet网络思想,构建结合特征金字塔的多尺度全卷积网络结构,提升了目标在多任务场景下的检测性能。陈景明等人[9]通过级联感兴趣区域上下文信息有效提高了小目标的检测精度。郑秋梅等人[10]利用ResNet结构改进Darknet-53特征提取网络并增加尺度检测层,有效提高了复杂场景中小目标检测精度。
上述方法对感兴趣区域上下文信息使用得不充分,同时忽略了浅层位置信息对小目标及遮挡目标的重要性。因此本文提出改进Cascade RCNN(Improved Cascade RCNN,IM-Cascade RCNN)车辆目标检测方法,主要采取了三种改进方法:由浅至深的多尺度特征融合、多支路空洞卷积下采样、上下文信息融合。IMCascade RCNN能够充分利用有益于小目标及遮挡目标检测的浅层网络位置信息,同时减少了特征融合过程中下采样导致特征图有效信息的丢失,提高遮挡目标及小目标的检测精度,减少该类目标的错检和漏检。
1 Cascade RCNN原理
Cascade RCNN的结构如图1,由特征提取网络ResNet101[11]、特征金字塔网络(Feature Pyramid Networks,FPN)[12]和级联检测器组成。ResNet101将特征提取后,把每一层输出的特征图自深层至浅层进行多尺度融合,然后将融合后的特征图{P2,P3,P4,P5}输入区域建议网络RPN[13]得到候选目标区域。
在检测阶段,Cascade RCNN使用级联检测器的方式进行检测,每个检测器包含ROI Align[14]、全连接层FC、分类得分C和边框回归B。检测时通过前一个检测器输出的边框回归B对候选目标区域进行重采样,逐步提升IOU阈值训练得到新的分类得分C和边框回归B,最终提升样本质量和网络训练效果。
虽然Cascade RCNN对小目标及遮挡目标的检测精度有一定提升,但仍然存在以下问题:Cascade RCNN的FPN是由深至浅进行多尺度特征融合,使每一层特征图保留当前层信息外还融合了语义特征。但在目标检测过程中浅层位置信息对小目标及遮挡目标的检测更为重要。在检测阶段由于缺乏ROI周边区域上下文信息,Cascade RCNN检测遮挡目标时易发生漏检及错检。针对以上问题,本文提出IM-Cascade RCNN车辆目标检测方法,将在第2章进行详细说明。
2 IM-Cascade RCNN
本文提出的IM-Cascade RCNN车辆目标检测方法如图2所示。IM-Cascade RCNN将ResNet101网络输出的特征图自浅层至深层逐层融合为特征金字塔并输出到RPN,在融合过程中使用多支路空洞卷积对浅层特征图进行下采样,然后与降维后输出的深层特征图融合。经RPN进行候选区域的选取后,将映射到原图的ROI及其周边上下文信息通过ROI Align层统一尺寸后融合,然后输入全连接层FC进行分类和回归。通过前一个检测器输出的边框回归对候选目标区域进行重采样并逐步提升IOU阈值,最终训练得到新的分类得分和边框回归。
2.1 改进的特征金字塔
经特征提取网络多次卷积和池化,每一层输出特征图如图3所示。
图3 (b)至(f)为特征提取网络ResNet101第一层至第五层输出的部分特征图。从图中可以看出,浅层网络输出特征图分辨率更高,包含更多位置和细节信息,深层网络输出特征图具有更为全局的语义信息,但分辨率较低且对细节感知能力较差。图中每幅图用红框标记的为特征较少的小目标及遮挡目标,经过多次卷积和池化,红框内特征及其位置信息自图3(b)起逐渐减少,在图3(c)、(d)、(e)、(f)处逐渐消失。由此可知,浅层特征包含的有关小目标及遮挡目标的特征及位置信息经特征提取后逐渐丢失。
图1 Cascade RCNN结构图
图2 IM-Cascade RCNN结构图
图3 特征图可视化
传统特征金字塔将深层特征逐层融入浅层网络,使浅层网络保留位置信息的同时融入更多语义信息,例如将图3(f)与图3(e)融合。但在小目标及遮挡目标的检测过程中,浅层特征所包含的细节信息更多且更为重要。为增强小目标及遮挡目标的特征,本文对传统特征金字塔进行改进,将浅层网络输出特征图逐层融入深层网络。改进后特征金字塔如图4。由于第一层输出特征图包含较多噪声信息且分辨率过大,易提高网络运行成本。因此从特征提取网络Conv2输出特征图P2开始构建改进特征金字塔,首先通过下采样操作缩小P2的尺寸大小。为保证深浅层特征图能够使用加法操作进行特征融合,需要使用1×1卷积改变深层特征图的通道数,使其通道数与下采样后的浅层特征图相同。然后将下采样后的P2与改变通道数的Conv3输出特征图进行融合最终得到P3。由于直接将特征叠加易造成特征的不连续,导致特征混乱,因此使用3×3卷积对融合后的特征图进行卷积操作以消除不同特征图间的特征分布差异,保证特征的稳定性。同理可得P4和P5,具体融合公式为:其中,Fi是第i级融合后输出的特征图,I表示ResNet101网络输出的特征图,conv(⋅)表示对第i层特征图进行下采样,dim(⋅)表示对第i+1层特征图进行1×1卷积降维操作,n表示ResNet101网络层级。使用上述融合方式使每一层具有当前层语义信息的同时,还融合了丰富浅层位置信息,有益于小目标及遮挡目标的检测。
图4 改进后特征金字塔
2.2 多支路空洞卷积下采样
在2.1节所述的特征融合过程中需要对浅层特征图下采样,然后与降维后深层特征图融合。通过下采样能有效扩大感受野[15],使单个像素点能够表示广泛的特征,但小目标及遮挡目标特征在这一映射过程中逐渐变少,甚至丢失。
因此提出使用空洞卷积进行下采样以减少特征丢失。与普通卷积相比,空洞卷积多出了空洞率为r的参数,能够在不增加额外计算量的情况下扩大感受野且保持图像分辨率[16]。由于不同尺度目标对应不同感受野,因此并联三种不同空洞率的空洞卷积进行下采样,能够获取目标周边不同范围、不同大小的信息。同时不同空洞卷积的卷积范围不同,使得卷积后能够保留不同范围特征,减少了特征丢失,最终将下采样后的特征图进行融合。具体操作如图5。
图5 多支路空洞卷积下采样
如图5所示,并联多个不同空洞率的空洞卷积统一处理输入特征图。具体方式为:使用3种3×3步长为2的空洞卷积进行下采样,其中空洞率分别为1、2、3,然后使用含批量归一化的concat融合方式对卷积后的特征图进行融合,最后用1×1卷积进行降维操作,方便后续的多尺度特征融合。这一处理过程可以用如下公式表达:
其中,Hk,r(x)表示空洞卷积,k表示卷积核大小,r表示空洞率,F表示融合后的特征。
使用单个卷积下采样与多支路空洞卷积下采样的特征图对比如图6。
图6 单一下采样与多支路下采样热力对比图
将下采样后的特征图以热力图形式直观展示。每幅图中矩形框标记的为特征增强较为明显区域。其中m区域为特征较少的小目标及遮挡目标,n区域为中等目标,p区域为大目标。
对比图6(a)、(b)、(c)可知,m2及m3处的特征明显多于m1,且n2、p2及n3、p3处特征比n1、p1更为丰富,目标特征轮廓更为清晰。因此并联双支路空洞卷积下采样减少了小目标及遮挡目标特征丢失,同时丰富了中等目标及大目标特征。当空洞率为3时,空洞卷积的感受野较大,包含的特征范围较广,能够获取更为全局的目标特征,与单一卷积并联后,融入的全局特征能使目标轮廓更加清晰。当空洞率为2时,空洞卷积感受野较小,与单一卷积并联能提取更为细腻的特征以丰富小目标及遮挡目标特征。对比图6(b)、(c)可知,m2处特征相比m3更为丰富,但n3处的目标轮廓特征比n2更为清晰。因此可得出结论:并联不同空洞率的空洞卷积对目标特征有不同程度的增强,小的空洞率能够保留更为丰富的细节信息,更大的空洞率使目标特征轮廓更为清晰。
由图6(d)可得知,m4处特征保留最多,p4、n4处特征相比其他三幅图对应特征更加丰富且目标特征轮廓更加清晰。因此并联三支路进行下采样能够获取多尺度感受野信息,有效增强了小目标及遮挡目标特征并减少特征丢失,同时也丰富了中等目标及大目标特征。
通过以上分析,相比单一卷积下采样,多支路空洞卷积下采样使最终融合后的特征图既保留了单一卷积下采样后的特征,又融入目标周边信息使目标特征更丰富,同时减少了特征丢失。
2.3 上下文信息融合
由于ROI包含特征有限,目标在高度重叠的情况下包含遮挡目标有关信息较少。当遮挡车辆与周边车辆存在相同或相似的特征时,容易造成后续分类和回归的不确定性,导致遮挡目标的检测精度较低。本文将结合ROI周围区域,利用局部上下文信息[17]丰富目标的特征表达,详细过程如图7所示。
图7 上下文信息融合方式
将ROI区域及其上下文信息经过ROI Align映射成相同大小的矩形框,然后通过加法操作进行融合。通过放大ROI区域获取上下文信息,假设每个ROI区域的宽为w,高为h,ROI区域放大比例因子设置为1.5,则包含上下文信息区域的宽和高为1.5w、1.5h,与ROI有相同中心。具体融合公式为:
其中,f表示融合后的特征图,R[⋅]表示ROI Align,r(⋅)表示目标区域,w为区域的宽,h为区域的高,w′和h′为乘以放大比例因子后的宽和高。ROI区域及其上下文信息的融合能够扩大特征图的感知区域,使改进后方法能够学习到更丰富的遮挡目标信息。
3 实验与结果分析
3.1 实验环境及参数设置
实验运行环境见表1。
表1 实验运行环境
3.2 实验数据
本文将使用KITTI[18]和UA-DETRAC[19]数据集分别进行实验对比分析。
KITTI数据集每张图像中最多达15辆车和30个行人,还包括各种程度的车辆遮挡与截断。由于此数据集包含多种类别数据,在实验过程中将与车辆无关的类别删除,并将不同种类的车辆统一合并为一类。
UA-DETRAC数据集由车辆视频序列组成,包括晴天、多云、雨天和夜间等各种场景的数据。在此数据集上进行实验分析时,将在不同的场景下测试IMCascade RCNN的有效性。
对KITTI和UA-DETRAC数据集的划分如表2所示。
表2 数据集划分
3.3 评估指标
本文将采用AP(单类平均精度)、FPS(每秒传输帧率)作为车辆目标检测方法评估指标,并绘制Recall-Precision(召回率-精确率)曲线评价检测方法性能,RP曲线所围成的面积即为AP值大小,面积越大则AP值越大,检测精度越高。其中AP、Recall、Precision计算公式如下:
其中,TP是检测出正样本的概率,FP是检测出错误样本的概率,FN是未检测出正确样本的概率,TN是检测出负样本的概率。
3.4 训练参数
训练的过程中将动量设置为0.9,初始学习率设置为0.001,迭代次数设置为180 000,衰减系数设置为0.000 5。当迭代次数分别为70 000,120 000时,将学习率调整为0.000 1,0.000 01。在KITTI和UA-DETRAC数据集上IM-Cascade RCNN的损失收敛情况如图8所示。
图8 损失函数曲线
图8 中IM-Cascade RCNN在KITTI和UA-DETRAC数据集上经过180 000次的迭代后,损失值在0.1附近趋于稳定,模型达到最优状态。
3.5 实验结果
选取双阶段目标检测方法:Faster RCNN[20]、R-FCN[21]、CoupleNet[22]与Cascade RCNN及IM-Cascade RCNN进行实验对比。Faster RCNN是基于RPN的双阶段网络;R-FCN是基于RPN的全卷积网络,由于不包含全连接层,所以检测速度较快;CoupleNet以R-FCN为基础,融合了全局信息和局部信息,检测速度相比R-FCN有所降低。
3.5.1 KITTI数据集实验结果
本小节将在KITTI上进行对比实验以及消融实验,验证所提出创新点的有效性。IOU及置信度阈值设置为0.5,在KITTI上的检测结果如表3所示。
如表3,其中“F”表示改进的特征金字塔,“C”表示多支路空洞卷积下采样,“Context”表示上下文信息融合。在KITTI数据集中,IM-Cascade RCNN的AP值比Cascade RCNN、CoupleNet、R-FCN、Faster RCNN分别提高了2.2、6.15、8.65、12.96个百分点,FPS分别降低了0.6、9.0、12.7、4.4。
表3 KITTI数据集检测结果
消融实验结果表明:改进后的特征金字塔使检测精度提高了1.33个百分点,FPS降低了0.1;增加多支路空洞卷积下采样方式使检测精度提高了1.65个百分点,FPS降低了0.4。融合ROI周围区域的上下文信息使检测精度提高了0.9个百分点,FPS降低了0.3。相比Cascade RCNN,IM-Cascade RCNN检测精度从89.72%提升至91.92%,共提升了2.2个百分点,FPS共降低了0.6。
为验证多支路空洞卷积下采样方式的有效性,本文分别使用单一卷积及并联双支路空洞卷积及三支路空洞卷积对浅层特征图进行下采样,最终检测结果如表4。
表4 空洞卷积实验结果
通过表4可得出如下结论:相比单一卷积下采样方式,分别并联空洞率为1、2和1、3的空洞卷积进行下采样,检测精度仅提升了0.13个百分点及0.15个百分点。因此仅并联两种空洞卷积进行下采样,由于包含目标周围信息不够全面导致检测精度提升幅度较小。并联三种不同空洞率的空洞卷积由于引入了目标周边不同范围的信息使得检测精度相比双支路及单支路有一定提升,共提升了0.32个百分点。
为保证不同空洞卷积下采样后的特征图大小相同,下采样前需对原特征图进行padding填充,空洞率越大则padding值越大。由于padding值过大会增加网络计算量,因此并联多支路空洞卷积下采样时检测速度变慢,相比单一卷积下采样检测每幅图所花费的时间从143 ms增加至149 ms,共增加了6 ms,增加了网络运行成本。
上述实验数据验证了本文创新点的有效性,多支路空洞卷积、上下文信息融合模块的引入虽然使检测速度有一定降低,但在可接受范围之内。各方法的PR曲线如图9。由图9可知IM-Cascade RCNN在相同召回率情况下精确率更高,RP曲线围成的面积更大,检测精度更高。
图9 KITTI数据集RP曲线图
3.5.2 UA-DETRAC数据集实验结果
本小节将在UA-DETRAC数据集不同的天气状况下进行对比实验,验证本文所提出方法在不同场景下的有效性。同时分析不同方法检测小目标、中等目标以及大目标的精度,验证IM-Cascade RCNN方法的创新性。
本文采取MS COCO数据集对小目标、中等目标、大目标的区分定义[23],具体方式如表5。将目标面积小于322的归类于小目标,面积在322与962之间的归类于中等目标,面积大于962的归类于大目标。
表5 目标大小划分方式
设置与KITTI相同的IOU及置信度阈值,最终检测结果如表6所示。
表6 UA-DETRAC数据集检测结果
由表6可知,综合场景下IM-Cascade RCNN的AP值比Cascade RCNN、CoupleNet、R-FCN、Faster RCNN分别提高了2.7、8.69、12.64、24.06个百分点,FPS分别降低了0.9、9.4、13.3、6.2。并且在晴天、多云、雨天、夜间四种不同场景下IM-Cascade RCNN检测精度均为最高,证明了本文所提出方法在不同天气状况下均有较好的检测效果,适用于不同场景下车辆目标检测。同时IMCascade RCNN对于小目标、中等目标及大目标均有良好的检测效果,与其他方法相比检测精度最高。本文所提出方法对于小目标及中等目标检测精度相比原Cascade RCNN方法分别提升了2.69个百分点和2.78个百分点,大目标检测精度从88.17%提升至89.92%,仅提升了1.75个百分点。由此可得出如下结论:由于小目标及中等目标存在车辆遮挡情况较为严重且不易检出,因此IM-Cascade RCNN针对小目标及中等目标的检测精度提升幅度略高于大目标,证明了本文所提出方法对小目标及遮挡目标的错检及漏检问题有一定改善。
由于UA-DETRAC数据集包含小目标及遮挡目标较多,相比在KITTI数据集上的提升效果更为明显。各方法在UA-DETRAC的PR曲线如图10。
图10 UA-DETRAC数据集RP曲线图
由图10可知IM-Cascade RCNN的PR曲线最高,所围成的面积最大,精确率相比其他方法有较大提升。
3.5.3 检测效果
图11 (a)和(b)表示Cascade RCNN和IM-Cascade RCNN在KTIIT数据集的检测结果,(c)和(d)表示两种方法在UA-DETRAC数据集的检测结果。其中每幅图左侧表示检测出的图像,右侧表示部分局部放大图像。
对比(a)、(b)、(c)、(d)可知,使用Cascade RCNN在KITTI和UA-DETRAC进行车辆目标检测时,由于在特征提取的过程中细节信息丢失严重且对上下文信息使用的不充分,使得小目标及遮挡目标没有被很好地检出,如图(a)、(c)所示。在相同图像分辨率及检测阈值的条件下,IM-Cascade RCNN由于采用了自浅至深的特征融合方式保留了小目标的位置信息,使得小目标能够被更好地检出,如图(d);由于引入了多支路空洞卷积及上下文信息模块,IM-Cascade RCNN方法融入了目标周边更多范围的信息,使得遮挡目标能够被更好地检出,如图(b)。因此IM-Cascade RCNN在KITTI和UA-DETRAC均有良好的检测效果。
4 结束语
本文提出的IM-Cascade RCNN车辆目标检测方法,融入了丰富的位置信息及上下文信息,同时减少了特征图下采样导致的特征丢失。实验结果表明IM-Cascade RCNN有效提高了车辆目标检测精度,减少了小目标及遮挡目标的错检和漏检,并且能够适应不同天气状况下的车辆检测。但由于引入了多支路空洞卷积及上下文信息提取模块使得检测速度有一定的降低,如何平衡检测精度及速度是下一步的研究方向。
图11 检测效果图