林朝俊 石 英
(武汉理工大学自动化学院 武汉 430070)
环境感知是无人驾驶系统和智能交通研究的重要内容,直接影响运动控制和决策[1].近年来,深度R-CNN神经网络凭借其鲁棒性同时具有高精度的特点,被广泛应用于城市道路环境识别和行人检测[2].
最早的卷积神经网络模型AlexNet在ILSVRC比赛夺冠的卷积神经网络后,因其较高的分类精度和强大的泛化性能,卷积神经网络得到了学术界和工业界的关注并快速发展[3].VGG系列神经网络延续了AlexNet的结构,直接堆叠卷积层以获得更高精度[4].ResNet残差网络的出现,通过添加恒等快捷连接构建的bottleneck结构,神经网络的深度受限和梯度消失问题才得到较好解决[5].DenseNet在ResNet的基础上进一步添加更多恒等快捷连接并提高特征提取维度,牺牲运算速度以获取更高的精度[6].ResNeXt则从卷积网络的宽度出发,逐层融合多个并行ResNet提取的特征,进一步提高了特征提取能力和检测精度[7].算法的实时性在工业应用场景往往比精度更加重要,MobileNet提出的深度可分离卷积将标准卷积分为逐通道卷积和逐点卷积,极大地减少了卷积层参数并有效地提高了特征提取速度[8].
得益于卷积神经网络的快速发展,计算机视觉任务从最初的单纯分类任务逐步拓展到目标识别任务和实例分割任务.最初的Fast R-CNN网络奠定了R-CNN系列网络的两阶段(two-stage)检测结构基础.紧接着,Faster R-CNN网络更进一步提出了区域提议网络(region proposal network, RPN),通过神经网络获得感兴趣区域.为了更好地定位和识别图像目标,Lin等[9]提出了特征图像金字塔(feature pyramid networks, FPN),提出了多尺度特征融合和分层目标检测思想,被广泛用于几乎所有种类的卷积神经网络.作为集大成者,He等[10]提出的Mask R-CNN网络结合了Faster R-CNN网络的两阶段检测结构和FCN网络的语义分割思想,实现了极高精度的目标检测效果.
两阶段目标识别算法虽然具有较高精度,然而其推理速度太慢以至于难以应用于城市道路环境目标检测中.为了更高的速度,YOLO和SSD[11]建立了单阶段目标识别框架,在极高的推理速度同时保持了较高的精度.其后的YOLOv2及YOLOv3在此基础上进一步改进了锚定框(anchor)的设置方法,进一步提高了算法精度并保持较高的精度[12].近年来,无锚定框(anchor-free)算法快速发展,涌现了如FCOS等[13]无需手工设计anchor的目标检测算法,通过以标志点表示anchor的建模方式极大地降低了预设anchor的运算速度开销并且保持了较高的精度.
国内同时也涌现出大量研究把相应算法应用到智能交通领域,如文献[14]基于YOLO设计了一种车辆实时检测方法.文献[15]用卷积神经网络判断驾驶人疲劳状态.
针对于城市道路场景下算法推理速度尽可能快的需求,文中选择基于当前先进的FCOS检测框架设计城市道路环境识别算法,同时引入深度可分离卷积并采用MobileNet-v2作为特征提取骨干网络以尽可能提高算法推理速度.同时本文针对Cityscapes数据集中小目标远远多于大目标的特点,删减了FPN的顶层并改进了FCOS的目标分层检测算法,进一步提高了本文设计网络的实时性,构建了一个适用于城市道路环境实时识别的神经网络算法.
FCOS为当前先进的anchor-free检测网络,通过骨干网络提取特征,结合FPN特征分层识别方法分层回归目标包围框(bounding box, Bbox),具有实时性高、超参数少的特点,适用于快速目标检测任务.在相同精度条件下,FCOS具有最简洁的网络框架及相对极高的精度,本文选择其作为基础框架.
文中提出图1的基于FCOS的速度优化算法的网络结构,设计包括:选择MobileNet-v2作为特征提取网络,快速提取输入城市道路图像的行人、车辆等目标的特征;紧接着通过FPN特征金字塔进一步融合多尺度特征,增强低层特征的语义信息;而后提取FPN每一层特征进行密集预测,从边框回归分支获得目标预测Bbox输出,同时通过Center-ness和类别预测分支输出预测框得分以去除低质量的预测框.
图1 快速道路环境目标检测算法框架结构图
FCOS为当前先进的anchor-free检测网络,其架构沿用了RetinaNet[16]算法的结构,通过ResNet残差网络提取特征,结合FPN特征分层识别方法分层回归目标包围框(bounding box, Bbox).特别是其提出的以中心点表示锚定框的建模方式,有效地避免了手工设计锚定框可能导致的不合理和冗余,极大地简化了检测网络结构.
传统的RPN网络设置锚定框的长宽比例设计为1∶1、2∶1和1∶2,然而大部分城市道路环境中的行人目标长宽比例约在3∶1至4∶1,因此小尺度的包围框无法完全框住行人目标,导致行人的识别率较低,而大尺度的包围框则会框住多个行人目标,导致多个行人的密集型目标无法区分而识别为一个行人.与行人目标偏长的特点相反,大部分车辆的长宽比例在2∶1以内.手工设计的锚定框难以兼顾两种不同检测目标,限制了检测精度提高.
选择以FCOS为基础设计城市道路环境目标检测算法,摈弃了锚定框的先验知识需求和锚定框的长宽比例、数量等超参数设计,有效简化了算法模型结构同时极大地提高了算法实时性.同时得益于FCOS的逐像素预测中心点和包围框策略,本文算法生成的预测包围框数量远远小于基于预设锚定框的RPN网络,然而包围框的质量更高,有效提高了城市道路环境如远距离行人和车辆等小目标的召回率,进而提高了网络整体对城市道路环境多类别目标的平均识别精度(Bbox mAP).
神经网络算法自诞生起,一直因其运算量极大、参数量过多而深受诟病.
图2a)为一个输入维度为Cin、长为H、宽为W的输入特征图,标准卷积层需要对输入特征的每一个维度进行特征提取并通过逐元素相加融合特征以得到输出特征图的一个维度.因此,对每一个卷积层而言,其参数总数为
Parst=DF·DF·Cin·Cout
(1)
式中:Parst为一个标准卷积层的参数量;DF为卷积层内每一个滤波器的尺寸,对于3×3卷积层DF=3;Cin为输入特征图的维度;Cout为输出特征图的维度.
而深度可分离卷积将标准卷积的运算过程分为单通道特征提取和多通道特征聚合两部分,将单通道特征提取过程称作逐通道卷积(depthwise convolution),将多通道特征聚合过程提取称作逐点卷积(pointwise convolution),见图2b).标准卷积层输出的每一个通道对应输入特征所有通道的一次特征提取和一次多通道特征聚合,输出特征图的不同通道之间的特征提取和特征聚合均完全独立.而深度可分离卷积将特征提取过程单独分离出标准卷积作为逐通道卷积,也即仅对输入特征图的每个通道进行一次特征提取,而后的多通道特征聚合过程则共享逐通道卷积得到的逐通道特征,其参数量分别为
3.1 量表汉化过程 本研究严格按照量表引进原则对英文版N-QOL进行汉化,对源量表及中文版量表进行比较、分析后基本实现了语义及内容的对等性。研究者运用标准化指导语对预试验对象进行指导后,对象能够准确理解各条目的含义并根据自身实际情况作答。
图2 卷积运算示意图
Pard=DF·DF·Cin
(2)
Parp=Cin·Cout
(3)
式中:Pard为一个逐通道卷积层的参数量;Parp为一个逐点卷积层的参数量.
深度可分离卷积通过对卷积层特征提取操作的分割,有效减少了参数量和卷积运算量,极大地降低了网络运行所需硬件资源.本文使用基于深度可分离卷积设计的MobileNet-v2作为特征提取骨干网络,压缩网络模型文件大小的同时极大提升了算法的运行速度.
FPN的自顶向下特征融合结构广泛应用于目标检测网络,尤其是FPN提出的大小目标分层识别方法,被广泛应用于anchor-free目标检测框架中.
在城市道路环境中,普遍行人目标为密度大的小目标,而车辆类目标相对多为较大目标.选择在低层特征图识别行人等小目标,在高层特征图识别车辆等大目标,能有效提高城市道路环境中目标识别精度.
FCOS针对MS COCO数据集的目标尺度特点,选择在FPN的P3层分别检测对应原图像素面积为[0,642]的目标,在P4层检测面积为[642,1 282]的目标,在P5层检测面积为[1 282,2 562]的目标,在P6层检测面积为[2 562,5 122]的目标,在P7层检测面积为[5 122,∞]的目标.
针对城市道路环境图像数据集Cityscapes中大目标相对少的特点,文中选择删除FPN的顶层P7层,压缩特征金字塔FPN从5层减少至4层.并且进一步改进目标分层检测方案为:在FPN的P3层分别检测对应原图像素面积为[0,962]的目标,在P4层检测面积为[962,1 922]的目标,在P5层检测面积为[1 922,4 802]的目标在P6层检测面积为[4 802,∞]的目标.
现有的目标检测算法多沿用Mask R-CNN使用的设置,将输入图片的长宽尺寸限制为最短边800 px,最长边1 333 px[17].对于分辨率均为1 024×2 048的Cityscapes数据集高清图像,该设置的长宽比极大限制了城市道路行人和车辆的正常识别,并且让本已分辨率很低的行人目标的分辨率进一步降低而更难识别.
为配合文中提出的压缩特征金字塔及目标分层检测方案,权衡算法运行速度和识别精度后,选择设置输入图片的尺度为800×1 600,既保持了Cityscapes数据集的训练样本图像长宽比,同时保证了城市道路的车辆与行人目标的分辨率足以让网络检测并识别.在该输入尺度下,仅有部分大型卡车目标和少量近景小汽车的分辨率高于4 802,有效地保证了FPN的每一层得到充分利用.
实验电脑配置CPU为六核十二线程Intel i7-8700k,GPU为一个NVIDIA GTX 1080.选择maskrcnn-benchmark代码作为基准代码,代码运行软件环境为Windows 10系统,python版本为3.6.7,软件框架为pytorch 1.3.
实验选取Cityscapes数据集的train文件夹下的2 975张带有精细标注的图像作为训练集,以val文件夹下的500个具有精细注释的图像作为验证集评估训练完毕的网络模型.设置batch_size为1,最大迭代次数为192 000次,并且每2 000次迭代保存一次网络权重模型,选择评估指标mAP最高的模型作为最终评估结果.此外,设置训练中使用随机梯度下降优化器,学习率设置为0.002 5,权重更新动量设置为0.9,权重衰减系数设置为0.001.
由于Cityscapes数据集的评价mAP算法对预测框与真值框的交并比(IoU)要求低,mAP评价结果相对其他评价算法虚高约5%至15%.因此本文实验采用COCO数据集规定的最严格的mAP评价算法,计算IoU从0.5每隔0.05取至0.95的mAP再取平均得到Bbox mAP,作为本文评价城市道路环境识别目标算法的识别精度标准.其中,评价指标AP50、AP75、APm、APl分别表示预测框与真值框的IoU大于0.50的mAP、IoU大于0.75的mAP、面积大于322小于962目标的mAP、面积大于962目标的mAP.
基于控制变量法,在固定其余条件不变时分别分析输入图像分辨率优化和压缩FPN对算法精度的影响.
表1为使用ResNet-50与使用MobileNet-v2作为特征的提取网络,在输入图像分辨率为较低的800×1 312时对检测精度的影响较小.在Bbox mAP指标上MobileNet-v2仅比ResNet-50低了0.006,然而对于实际应用中更有意义的AP50指标,使用MobileNet-v2时可达0.459,比使用ResNet-50的0.454略高,表明在实际应用中,特别是对精度要求较低的场景,使用MobileNet-v2可以获得更高的粗定位精度和可达每帧0.049 s的处理速度.
表1 输入图像分辨率优化精度比对表
对比输入图像分辨率为800×1 312和800×1 600的目标检测精度和速度,更合理的输入图像分辨率800×1 600极大地提高了算法的精度,对于ResNet-50精度可提升至0.283,对于MobileNet-v2精度可提升至0.268.同时更高的分辨率让算法运行耗时翻倍,ResNet-50的耗时达0.131 s/img,而MobileNet-v2的耗时增幅较小,仅为0.095 s/img,在速度上提上了37.9%.同时对于AP50指标,ResNet-50与MobileNet-v2的精度分别为0.512和0.492,MobileNet-v2仅相对降低了精度4.06%.
由表1可知,对于数据集Cityscapes,精度的主要影响因素是输入图像分辨率而非骨干网络的选择,而算法运行速度的主要影响因素则为骨干网络的选择.选用MobileNet-v2可以极大的降低算法运行耗时并且对精度的减益较小,对于城市道路环境下的目标检测任务,选择MobileNet-v2作为特征提取骨干网络并采用高分辨率的800×1 600输入图像,可以很好地达到精度和运算速度的均衡.
文中简称第2章提出的删减FPN最顶层和优化的FPN目标分层检测策略为压缩FPN.表2为压缩FPN精度比对表.
表2 压缩FPN精度比对表
由表2可知,使用第2章提出的压缩FPN可以较稳定地降低算法运行耗时,在采用MobileNet-v2和压缩FPN时运行速度可达0.093 s/img同时Bbox mAP可达0.265.在所有五项检测精度评价指标上,使用压缩FPN与无压缩FPN的差别不大,特别是对于使用MobileNet-v2的情况,所有五项评价指标的数据差别均小于2%.然而对于使用ResNet-50的情况,使用压缩FPN对精度影响较大,导致Bbox mAP从0.283下降至0.272,APl从0.481大幅下降从至0.420,表明本文压缩FPN和优化FPN分层检测方案不适合与ResNet-50同时使用,然而结合MobileNet-v2使用时能很好地提高运行速度并对精度影响极小.
与现有的先进目标检测算法进行对比,见表3.文中算法在速度和精度上能取得更好的均衡.对于文中采用MobileNet-v2和压缩FPN改进的城市道路环境目标识别算法,若追求更高的运行速度可设置输入图像分辨率为800×1 312,此时每帧图像检测耗时仅0.049 s;若在有限运行时间条件下,设置输入分辨率800×1 600可获得达0.265的Bbox mAP.
表3 目标检测算法性能比对表
相比精度较高的Mask R-CNN和CenterMask算法,本文改进算法具有明显的速度优势;对比运行速度较快的RetinaNet和作为改进基础的FCOS,本文算法明显具有更低的运行耗时.本文算法更好地在速度和精度间取得了均衡.
文中基于anchor-free的FCOS检测网络构建了城市道路环境快速目标检测算法,引入了深度可分离卷积,压缩了FPN层数,优化了目标分层识别方法,在速度和精度间取得了很好的均衡.针对城市道路环境目标检测任务对实时性要求高的特点,文中使用了深度可分离卷积降低网络参数量.针对城市道路环境图像的分辨率特点,分析了输入图像分辨率的选择方法,采用了更优的输入分辨率.针对特征金字塔顶层特征利用率低的特点,同时结合深度可分离卷积的性能表现,优化了目标分层识别的分辨率检测范围,在几乎对检测精度无损的同时进一步降低了算法运行耗时.最后给出了运行速度特化的低分辨率检测方案和精度与速度更均衡的高分辨率检测方案,适合依据实际城市道路场景的需求选择使用.