交通场景目标检测指标优化研究 下载: 684次
1 引言
交通场景目标检测[1]是计算机视觉非常热门的研究领域,提升交通场景目标检测效果对交通安全和行人安全有着重要意义,解决交通场景下目标检测任务指标优化问题是一项有意义的工作。
在目标检测领域,One Stage算法[2]以YOLO(You Only Look Once)系列[3-5]、SSD(Single Shot MultiBox Detector)[6]、RetinaNet[7]等网络为代表,其良好的通用性受到很多研究人员的青睐。基础网络可以是任意卷积神经网络及变体,如GoogleNet、VGG、Inception、ResNet及DarkNet等。One Stage算法总体思路是在最后一层或后几层的特征图上进行密集预测,产生大量的先验框或预测框,然后同时进行类别预测和位置回归,两步合二为一,再对这些Box进行非极大值抑制(NMS)处理,得到最终的预测结果。
SSD利用多尺度特征融合机制,采用Anchor Box思路。RetinaNet以特征金字塔网络(FPN)为基础,利用Focal Loss策略解决样本分布问题。YOLOv3算法平衡了模型的精度与速度,并且显著提升了小目标检测效果。
通过对比分析不同目标检测模型可知,YOLOv3模型性能指标依然存在一定的优化空间。随着交通目标检测相关任务需求的日益提高,YOLOv3模型的精度等有关指标也需要不断突破和改良,其网络模型依然有较高的研究价值。本文工作的主要意义在于进一步从多角度、多方面提升了YOLOv3模型综合性能与应用价值,分别在激活函数、损失函数、样本分布、抗遮挡、数据集增强、学习率等方面对YOLOv3模型指标进行优化,并提出了一种基于Cutout[8]改进的抗遮挡策略。分别在PASCAL VOC(The PASCAL Visual Object Classes)数据集[9]和KITTI 2D(Karlsruhe Institute of Technology and Toyota Technological Institute) 交通场景数据集[10]上验证了模型指标优化效果,证明了本文所做工作对交通场景下YOLOv3模型指标的提升是有效的。
2 YOLOv3算法特色
YOLOv3继承了YOLOv2的思想,在保留了批量归一化(BN)、Anchor机制、聚类算法和多尺度训练等成熟的技巧之外,还有许多新的思路和借鉴。
1) Conv2d、BN、Leaky ReLU结构体(DBL)。DBL是YOLOv3最小组件,完成卷积(Conv2d)、数据分布归一化和Leaky ReLU激活函数输出,DBL结构如
Conv2d运算采用3×3或1×1卷积核,利用步长为2的卷积代替最大池化操作,BN层加速模型收敛,Leaky ReLU激活函数ϕLR(x)可以表示为
式中:x为激活函数的输入;α为函数斜率。
该激活函数在x<0时可以避免网络无法学习的情况。在YOLOv3中,斜率α=0.1。
2) Resn残差块结构。YOLOv3借鉴了ResNet残差网络思想,网络搭建的更深。一个Resn包含若干个Res Unit残差单元,每个Res Unit包含两个DBL组件。Res Unit和Resn结构图分别如
3) Concatenation张量拼接。将网络某一层与其后某一层的上采样进行通道拼接,直接扩充张量的维度。
4) 更深的DarkNet-53基础网络。基础网络DarkNet-53如
3 YOLOv3算法优化
本文利用以下策略和技巧来优化YOLOv3模型,提升模型在交通场景下的性能指标。
1)利用GIOU(Generalized Intersection Over Union)算法[11]参与损失函数计算
表 1. Hard-Swish与Swish激活函数mAP指标对比
Table 1. Comparisons of Hard-Swish and Swish activation function in mAP index
|
GIOU公式为
式中:bboxp和bboxt分别表示预测框和真实框;C表示bboxp和bboxt的最小闭包面积;C\(bboxp∪bboxt)表示该闭包面积排除bboxp和bboxt的并集面积后剩下的面积;fIOU(bboxp,bboxt)表示计算bboxp和bboxt的交并比(IOU)。
GIOU最显著的性质表示为
(3)式揭示了GIOU对两个框距离的敏感性,反映了框与框之间的距离关系,有利于预测框的位置回归。当bboxp和bboxt尺寸相等且完全重合时,GIOU值为1;当bboxp和bboxt不相交且距离很远时,GIOU值为-1。GIOU能够反映出在相同的IOU下两个框之间不同的交叠方式,如
利用预测框的GIOU损失代替坐标损失和宽高损失,一定程度上提升了模型的精度,并简化了损失函数的计算。
2) 利用Focal Loss处理样本分布
Focal Loss核心思路是使网络对困难样本和简单样本关注度不同,让网络倾向学习困难样本,使这部分损失更受关注,Loss占比更大,而使简单样本Loss占比变小。Focal Loss公式为
式中:αt∈[0,1],用来处理样本不平衡,正样本赋予权重αt,负样本则赋予权重1-αt;pt表示样本被正确分类的概率,pt越大表明样本越容易分类,pt越小说明样本越难分类,通过pt来区分简单样本和困难样本;因子γ用来控制Focal Loss的显著程度,当γ=0时,Focal Loss不起作用,等价于常规的交叉熵损失,当γ=2时,Focal Loss发挥出最佳性能。
本文取αt=1,γ=2。实验中发现,Focal Loss能够加速模型训练过程,使得训练时长平均缩短了约12%。
3) 利用Mixup策略[12]进行数据集增强
Mixup策略通过构建虚拟样本扩展训练样本分布。随机抽取两个样本进行加权求和,样本标签也进行加权求和,采用线性插值的方式,表示为
式中:x1和x2为样本;y1和y2为样本标签;λ∈
参数α控制插值强度和模型复杂度,使模型训练更加稳定,泛化能力更强。Mixup策略相当于正则化,提供了一个平滑的不确定性估计,将模型向线性函数靠近。Mixup插值运算示意图如
4) 采用Cosine Decay[13]学习率机制
原YOLOv3网络采用Momentum梯度优化器与Piecewise分段式学习率机制相结合的方式进行训练。Piecewise机制有助于在实验中根据不同任务进行有针对性的调参,对人员的能力和经验有较高要求。
本文对原YOLOv3网络分段式学习率机制进行了实验,设置Momentum动量衰减参数α=0.9,采用的Piecewise机制如下:
①训练执行50个Epoch,初始学习率为1×10-4;
②在第20个Epoch处学习率调整为2×10-5,持续20个Epoch;
③在第40个Epoch处学习率调整为1×10-5,持续到结束。
Piecewise分段式学习率曲线如
同时,本文将Momentum梯度优化器与Cosine Decay学习率机制相结合进行实验,通过实验来对比模型指标。设置Cosine Decay学习率最小值为1×10-6,学习率曲线如
可以看到,Cosine Decay对指标的提升明显优于Piecewise。Cosine Decay学习率曲线更佳平滑,没有大的跨越和波动,有利于寻找到全局最优极值点。大学习率适合寻找粗略的极值点区域,小学习率适合在该区域进行快速收敛计算,Cosine Decay模拟了余弦曲线,很好地利用了大、小学习率各自的优势。
5) 采用新型激活函数Hard-Swish[14]
本文尝试将YOLOv3中的Leaky ReLU激活函数替换为Hard-Swish激活函数。Hard-Swish激活函数公式为
该函数源于Swish激活函数[15],并融合了ReLU6激活函数。Swish激活函数公式为
式中:σ(x)为Sigmoid激活函数。
Hard-Swish激活函数与Swish激活函数曲线对比如
可以看到,Swish与Hard-Swish很相似,Hard-Swish继承了Swish在较大数据集和较深网络上的优良性能,又兼有ReLU6激活函数计算简单的优势,很适合YOLOv3算法。
本文在VOC数据集下,对Swish和Hard-Swish激活函数进行了对比实验,实验结果见
6) 引入改进的抗遮挡策略
将Cutout策略移植到YOLOv3算法优化中,但不同于Cutout,本文提出了一种改进策略,称为ACDC(Adaptive Colorific Double Cutouts)。
Cutout策略不足之处有以下几点:
①Cutout采用的是固定尺寸的正方形像素块Patch,无法模拟遮挡尺寸的多样性;
②Patch大小基本固定在图片面积的1/4左右,存在学习不到目标特征的风险;
③1张图片仅存在1个Patch,实际生活中遮挡情形更为分散和随机,设置1个Patch显然不够合理;
④Patch的像素值利用了掩码运算,仅用灰度来替换,不能模拟遮挡颜色的多样性。
Cutout操作效果如
本文提出的ACDC抗遮挡策略优越性体现在:
①采用尺寸自适应Patch,Patch尺寸随样本变化,保持Patch长宽比与样本长宽比一致,具有良好的样本适应性。
②采用比率系数对Patch进行随机放缩,VOC数据集比率系数设置为1/4~1/3,KITTI 2D数据集设置为1/5~1/4。弹性化比率系数使得Patch尺寸随机,较小的Patch使得网络能够学习更好的目标特征,较大的Patch使得网络能够获得更好的遮挡信息。
③采用两个Patch,各个Patch的位置和尺寸独立,模拟实际生活遮挡情形,并且Patch数量具有可扩展性。
④采用随机像素值对Patch进行彩色填充,考虑了遮挡的颜色多样性。
本文实验考虑并分析了如下两个问题:
①在目标真实框Ground Truth中生成Patch的必要性
考虑实际生活遮挡情形,统计上无遮挡居多而遮挡相对较少,在Ground Truth中生成Patch意味着所有目标都存在遮挡,这不符合常识。本文在整幅图片上进行ACDC操作,能够模拟全局遮挡情形,遮挡信息以局部的形式融入Ground Truth中,拟合遮挡发生的概率,同时保持对Ground Truth目标特征学习的完整性。
②Patch尺寸和数量设置的合理性
ACDC策略采用上述Patch尺寸和数量,首先考虑了遮挡实际情形,由经验分析可知遮挡往往是局部连续性的,颗粒性遮挡比较少见,特别是在交通场景中这种局部连续性更为常见;其次考虑了本文使用的数据集,如果Patch数量过多或尺寸过大,则其等效于遮挡比较严重,导致学习不到目标特征;最后考虑了训练时长,过多的Patch会导致训练时长的增加,并且对模型指标没有明显提升作用。
本文实验设置以0.75的概率对训练集图片进行ACDC处理。ACDC操作效果如
图 11. ACDC效果图。(a) VOC数据集;(b) KITTI 2D数据集
Fig. 11. Effect pictures of ACDC. (a) VOC dataset; (b) KITTI 2D dataset
4 实验过程
4.1 实验环境
硬件:
1) CPU为Intel酷睿i7-9750H,6核,16 G内存,2.6 GHz;
2) GPU为NVIDIA GeForce RTX 2060,6 G显存,1365 MHz。
软件及框架:
1) 操作系统为Windows10家庭版,64位;
2) CUDA版本为v10.0.130;
3) CuDnn版本为v7.5.0;
4) Python版本为v3.7;
5) TensorFlow(GPU)版本为v1.13.1。
4.2 数据集准备
1) VOC数据集
合并VOC 2007和VOC 2012训练验证集,训练集样本数为19500,验证集样本数为2636,选用VOC 2007测试集,测试集样本数为4952。
2) KITTI 2D数据集
KITTI 2D数据集包含7481个样本,设置训练集样本数为5000,验证集样本数为800,测试集样本数为1681。
利用以下图像处理方法进行数据集增强:
1) 随机裁剪。参考SSD算法数据集增强思路,随机对输入图片进行裁剪,设置裁剪比例最小值和最大值分别为0.4和1,设置裁剪长宽比最大值为2。
2) 随机颜色调整。设置以0.5的概率进行颜色调整,在此基础上对不同颜色属性如色度、明亮度、饱和度等,统一设置以0.5的概率有选择性进行调整。
3) 随机放大。设置以0.5的概率进行图片随机放大,设置放大倍数最大值为3。
4) 随机翻转。设置以0.5的概率进行图片水平翻转,但不进行垂直翻转。
4.3 实验说明
对比实验基础参数配置如下:
1) VOC数据集。训练总轮数Epoch为50,总迭代步数Iterations为243750,Batch Size设置为4,初始学习率为1×10-4,最小学习率为1×10-6,NMS阈值为0.5,IOU阈值为0.5,L2权值衰减系数为5×10-4。
2) KITTI 2D数据集。Batch Size设置为2,Iterations为125000,其他参数与VOC数据集相同。
训练阶段结合多尺度策略,针对不同数据集随机调整输入尺寸。训练KITTI 2D数据集应考虑尺寸问题,该数据集尺寸在1240×370附近,不宜将数据集图片放缩的太小,否则会导致部分小目标消失。本文实验充分考虑了该数据集尺寸的特殊性。
多尺度训练选用尺寸范围为:
1) VOC数据集。选用320×320、352×352、384×384、416×416、448×448、480×480、512×512、544×544、576×576、608×608共10个尺度。
2) KITTI 2D数据集。选用576×576、608×608、640×640、672×672共4个尺度。
验证与测试均采用固定尺度,VOC数据集以416×416尺寸进行,而KITTI 2D数据集以608×608尺寸进行。
数据集Anchor Box尺寸具体数值为:
1) VOC训练集。以416×416尺度为基础生成的Anchor Box尺寸依次为20×27、29×64、62×44、54×109、123×95、93×179、255×143、162×240、311×276。
2) KITTI 2D训练集。以608×608尺度为基础生成的Anchor Box尺寸依次为13×11、22×15、12×33、29×24、43×19、58×32、33×73、91×52、146×88。
4.4 模型评价指标
实验中可获得5个评价指标,分别为查准率(Precision)、查全率(Recall)、单类平均精度(AP)、多类均值平均精度(mAP)和帧率(FPS)。其中,最直接有效的评价指标是AP、mAP和FPS,这3个指标能够反映出YOLOv3模型的综合性能,直接体现模型优劣,本文采用这3个指标作为模型评价依据。实验选用分辨率为1920×1080的视频在416×416的网络输入尺寸下进行FPS实测。
4.5 实验结果
1) VOC数据集
分别在Origin(原YOLOv3网络)基础上独立部署不同策略和算法,得到的实验指标对比如
表 2. VOC数据集实验各项指标对比
Table 2. Comparisons of experiment indices on VOC dataset
|
VOC数据集20个类别AP指标对比如
2) KITTI 2D
分别将Origin模型、“+ACDC”模型和“+All”模型在KITTI 2D数据集上进行训练和测试,得到的实验对比结果如
KITTI 2D数据集7个类别AP指标对比如
表 3. KITTI 2D数据集实验指标对比
Table 3. Comparisons of experiment indices on KITTI 2D dataset
|
图 13. KITTI 2D数据集7类AP指标对比图
Fig. 13. Comparisons of 7 classes of AP index on KITTI 2D dataset
对
图 14. 交通场景中不同模型检测效果对比图。(a) Origin模型;(b) +ACDC模型;(c) +All模型
Fig. 14. Comparisons of detection results of different models in traffic scenes. (a) Origin model; (b) +ACDC model; (c) +All model
5 结论
从实验结果来看,独立部署本文提出的ACDC抗遮挡策略,在VOC和KITTI 2D数据集上能够使YOLOv3模型mAP指标分别提高1.64%和2.04%,证明本文提出的基于Cutout改进的抗遮挡策略是有效的。同时可以看到,采用的优化策略和算法使得最优模型在不影响FPS指标的前提下分别在VOC和KITTI 2D数据集上将模型mAP指标提高了7.66%和7.29%,大幅度提升了YOLOv3算法的性能。
[1] 华夏, 王新晴, 王东, 等. 基于改进SSD的交通大场景多目标检测[J]. 光学学报, 2018, 38(12): 1215003.
[2] Wu XW, SahooD, Hoi S. Recent advances in deep learning for object detection[EB/OL]. ( 2019-08-10)[2019-10-09]. https:∥arxiv.org/abs/1908. 03673.
[3] RedmonJ, DivvalaS, GirshickR, et al. You only look once: unified, real-time object detection[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016. Las Vegas, NV, USA. IEEE, 2016: 779- 788.
[4] RedmonJ, FarhadiA. YOLO9000:better, faster, stronger[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017. Honolulu, HI. IEEE, 2017: 6517- 6525.
[5] RedmonJ, Farhadi A. YOLOv3: an incremental improvement[EB/OL]. ( 2018-04-08)[2019-10-09]. https:∥arxiv.org/abs/1804. 02767.
[6] LiuW, AnguelovD, ErhanD, et al.SSD: single shot MultiBox detector[M] ∥Computer Vision - ECCV 2016. Cham: Springer International Publishing, 2016: 21- 37.
[7] Lin TY, GoyalP, GirshickR, et al. Focal loss for dense object detection[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017. Venice. IEEE, 2017: 2999- 3007.
[8] DevriesT, Taylor G. Improved regularization of convolutional neural networks with cutout[EB/OL]. ( 2017-08-15)[2019-10-09]. https:∥arxiv.org/abs/1708. 04552.
[9] Everingham M. Eslami S M A, van Gool L, et al. The pascal visual object classes challenge: a retrospective[J]. International Journal of Computer Vision, 2015, 111(1): 98-136.
[10] Geiger A, Lenz P, Stiller C, et al. Vision meets robotics: the KITTI dataset[J]. The International Journal of Robotics Research, 2013, 32(11): 1231-1237.
[11] Rezatofighi SH, TsoiN, Gwak JY, et al. and a loss for bounding box regression[EB/OL]. ( 2019-02-25)[2019-10-09]. https:∥arxiv.org/abs/1902. 09630.
[12] Zhang HY, CisséM, DauphinY, et al. ( 2017-10-25)[2019-10-09]. https:∥arxiv.org/abs/1710. 09412.
[13] LoshchilovI, Hutter F. SGDR: stochastic gradient descent with warm restarts. International Conference on Learning Representations[EB/OL]. ( 2016-08-13)[2019-10-09]. https:∥arxiv.org/abs/1608. 03983.
[14] HowardA, SandlerM, ChuG, et al. ( 2019-05-06)[2019-10-09]. https:∥arxiv.org/abs/1905. 02244.
[15] RamachandranP, ZophB, Le Q. Searching for activation functions. International Conference on Learning Representations[EB/OL]. ( 2017-10-16)[2019-10-09]. https:∥arxiv.org/abs/1710. 05941.
戴立伟, 黄山. 交通场景目标检测指标优化研究[J]. 激光与光电子学进展, 2020, 57(14): 141503. Liwei Dai, Shan Huang. Indices Optimizing for Object Detection in Traffic Scenes[J]. Laser & Optoelectronics Progress, 2020, 57(14): 141503.