基于自适应局部斥力与归一化面积损失的工程车辆目标检测*
2021-12-17顾晨亮刘友波
顾晨亮,杨 恒,刘友波,张 晗,张 劲,何 凌
(四川大学 电气工程学院,四川 成都 610065)
0 引言
随着近年来我国基础建设水平的飞速发展,建设项目的规模和复杂性加大,参与方增多,工程项目的风险及管理难度也不断加大[1]。在施工过程中,工程车辆的不规范活动可能会造成安全距离缩短,容易引起事故,从而带来巨大的经济损失或人员伤亡,因此工程车辆的检测识别是建设施工项目巡检故障识别中的重要研究内容,具有重要的理论价值和工程应用价值[2]。
传统方法中对于工程车辆检测的研究,大多集中在智能监控领域,通过固定摄像机进行图像或视频的采集,使用背景差分法、统计模式法等算法来进行工程车辆的检测[3-5]。以上方法中对于施工车辆的大小、角度、背景等都较为固定,具有一定的应用局限性,泛化能力较差。
近些年,随着深度学习在计算机视觉领域中迅速的发展,已有部分学者使用基于卷积神经网络的检测算法对工程车辆检测方面进行了探索,王世凯[6]从卷积核尺寸设计、分类器设计等方面对Faster R-CNN[7]进行改进,提出了TN-CNN来对工程车辆进行检测与识别;李千登等[8]使用Faster R-CNN结合摄影参数与报警规则进行了叉车危险操作行为的检测。但上述研究中均未考虑工程车辆的遮挡问题,而冯小雨等[9]针对遮挡检测效果差的问题,提出了局部标注和时空上下文策略,一定程度上降低了遮挡对检测的影响。
尽管目前已有针对于车型识别的方法,但多是基于交通与停车场等监控覆盖较为全面的场景[10-12],由于施工工地地形复杂、工程车辆特征相似性较大以及工程车辆相互遮挡等原因,工程车辆检测识别的难度较大,相关研究仍比较少。因此,本文提出基于自适应局部斥力与归一化面积损失的工程车辆目标检测算法,针对遮挡问题与特征相似性进行优化,并结合聚类算法设定初始锚框减少预测框的偏移,从而实现对压路机、挖掘机、装载机3类工程车辆的检测与识别,算法可有助于在复杂、遮挡下的施工场景下对工程车辆进行有效的安全监管。
1 工程车辆检测与识别算法框架
本文算法采用无人机采集航拍视频序列为数据集,使用自适应局部斥力损失与归一化面积损失,并结合聚类算法设定初始锚框减少预测框的偏移。以Faster R-CNN[7]作为基准检测网络为例,使用本文提出的多种损失函数与优化算法对工程车辆在图像中进行3类工程车辆目标区域标定,实现对压路机、挖掘机、装载机3类工程车辆的高精度与强鲁棒性的自动检测与识别,算法流程如图1所示。
图1 工程车辆目标检测系统的算法流程Fig.1 Algorithm procedure of target detection system for engineering vehicles
2 自适应局部斥力损失与归一化面积损失
在施工场景下,由于环境的复杂以及车辆的不断运动,再加上车辆的形态变化与形状的相似性,导致检测过程中存在车辆之间的遮挡情况与车辆自身局部特征与全局特征相似的情况。因此,本文针对这2个问题提出自适应局部斥力损失(Self-adaptive Local Exclusion Loss,SCLEL)与归一化面积损失(Normalized Area Loss,NAL),全局损失函数表达式如式(1)所示:
L=Lbase+α*LSCLEL+β*LNAL
(1)
式中:Lbase为基础检测网络的损失函数,如Faster R-CNN中使用的smoothL1损失函数[7];LSCLEL与LNAL为本文提出的自适应局部斥力损失与归一化面积损失;α与β为平衡各项损失的权重系数。
2.1 自适应局部斥力损失
在实际应用场景中,由于工程车辆施工区域较为集中,且工程车辆是在不断运动的,导致在施工作业当中,各工程车辆之间容易相互遮挡,当多个工程车辆相互重叠时,因为目标具有相似的外观特征,检测网络容易将其混淆。因此,待预测的工程车辆的预测框可能会偏移到其他工程车辆,甚至将多个工程车辆都涵盖,导致不准确的定位。如图2所示,当工程车辆A与工程车辆B和C有部分重叠时,检测网络很容易将其混淆,导致工程车辆A的预测框向工程车辆B和C偏移,致使定位不准确。
图2 工程车辆遮挡情况示意Fig.2 Schematic diagram of engineering vehicles occlusion
针对以上问题,本文提出自适应局部斥力损失。在自适应局部斥力损失中,要求每个工程车辆预测框远离其他符合筛选条件的工程车辆的真实矩形框,同时自适应地调节不同情况下的权重系数,将遮挡严重的情况赋予更大的损失权重,其表达式如式(2)所示:
(2)
式中:G为工程车辆真实框;P+表示全部的工程车辆正预测框,其定义为与至少1个工程车辆的真实框的IoU(Intersect Over Union)大于0.5的工程车辆预测框的集合,IoU的计算如式(3)所示:
(3)
(4)
IoG(P,G)的含义为工程车辆预测框与工程车辆真实框的交叠程度在工程车辆真实框上的占比[13],其表达式如式(5)所示:
(5)
综上,自适应局部斥力损失由2个因素组成:远离其他满足条件的工程车辆真实框项与自适应调节项。当工程车辆预测框被多个其他工程车辆真实框遮挡时,远离遮挡程度在阈值条件以上的工程车辆真实框,同时,自适应调节项将遮挡更严重的情况给予更大的惩罚,因此,自适应局部斥力损失可以自适应地防止预测框移动到周围相邻的遮挡目标上,使得检测模型对遮挡目标更加鲁棒。
为更好地阐述自适应局部斥力损失的机理,图3为在图2基础上,对自适应局部斥力损失的形象化展示。在图3中,双向箭头表示当前训练图像下工程车辆A预测框与其他车辆真实框之间的排斥方向,箭头的长度表示其排斥的力度;单向箭头表示网络训练过程中对工程车辆A的预测框的不同位置的逐渐优化的方向,箭头的长度表示其网络对预测框不同位置优化的“力度”。由图3可知,本文提出的自适应局部斥力损失可在网络训练过程中使被检测的工程车辆在被遮挡的情况下,使预测框与其他的工程车辆真实框相排斥,使其“收缩”到靠近真实框的位置,同时在遮挡越严重的情况下,网络会给予更大的惩罚。
图3 自适应局部斥力损失的机理示意Fig.3 Schematic diagram of mechanism of self-adaptive local repulsion loss
2.2 归一化面积损失
由于工程车辆存在形态的变化(挖掘手在运动),所以在图像中会存在局部特征与全局特征相似的问题,这将导致检测网络易将工程车辆的一部分当做目标而导致错误的检测。如图4所示,由于工程车辆D的挖掘手伸展过开,导致挖掘手那部分的特征不明显,工程车辆D的局部特征与全局特征过于相似,致使检测网络的预测框从整体偏移到了局部区域,使定位不准确。
图4 工程车辆局部性误检示意Fig.4 Schematic diagram of local error detection of engineering vehicles
由图4可以看出,在工程车辆局部特征与全局特征相似的问题中,局部特征区域的面积往往远远小于全局面积,所以在本文提出的归一化面积损失中,要求每个工程车辆预测框与其IoU最大的工程车辆真实框的面积差尽量小,同时为了避免面积差的大幅度跳变导致网络梯度爆炸,将面积差使用工程车辆真实框面积进行归一化处理,归一化面积损失表达式如式(6)所示:
(6)
式中:G代表工程车辆真实框;P代表工程车辆预测框。
归一化面积损失将学习集中在面积具有相对较大预测误差的工程车辆上,可对局部特征与全局特征相似的问题进行显著的改进。
3 基准检测网络介绍与设定初始锚框优化检测的精准度
本文选用经典检测网络Faster R-CNN作为基准检测网络;同时为了在不增加任何成本的情况使网络的检测框更精细,使用聚类算法设定初始锚框优化检测的精准度。
3.1 基准检测网络Faster R-CNN
Faster R-CNN[7]作为最经典的二阶段目标检测框架,相比于一阶段方法(如YOLO[14]和SSD[15]等)与无锚框方法(如CornerNet[16]和FCOS[17]等),其模块拆解细致,对输入进行特征提取再进行区域建议,再微调区域建议网络输出的建议框,可解释性强,针对工业生产可修改空间大,所以本文选择其作为针对工程车辆的基准检测网络。同时,对于一阶段方法与无锚框方法,提出的自适应局部斥力与归一化面积损失函数等方法也可以作为即插即用的模块扩展到以上方法中。
Faster R-CNN[7]主要由4个部分组成:特征提取网络(Backbone)、区域建议网络(Region Proposal Networks,RPN)、RoI Poling层、分类回归层。
1)特征提取网络:利用一系列卷积、池化、非线性模块的组合,从浅至深提取输入图像的特征并形成特征图(Feature Map),为方便阐述,本文选用经典的Resnet50网络[18]。
2)区域建议网络:通过预设尺寸与比例的多种锚框进行特征图滑动并生成多个候选框,采用非极大值抑制[14](Non-Maximum Suppression,NMS)并筛选出N个目标候选区域。
3)RoI Poling层:将每个目标候选区域均匀分成n×n个块并进行最大池化,得到固定尺度的特征图候选区域。
4) 分类回归层:将RoI Pooling层得到的特征向量再输入全连接层,以判断特征图候选区域的类别以及准确位置。
其整体网络结构如图5所示。
图5 Faster R-CNN网络结构Fig.5 Faster R-CNN network structure
3.2 使用聚类算法设定初始锚框
由于施工场地较大,且工程车辆是在不断运动的,导致远近工程车辆目标尺度相差较大。在基准检测网络中使用固定锚框尺度{1282,2562,5122}(px)对模型进行训练与预测[7],会导致在工程车辆的检测中存在部分框回归偏差的情况。
为了解决远近工程车辆目标尺度相差较大的问题,本文使用K-Means聚类算法[19]优化初始锚框参数。K-Means算法是一种聚类算法,其核心思想是对于给定的样本集,按照各样本间的距离大小,将距离相近的样本划分为一类,使类间距离尽量小,类间距离尽量大,共划分出k类。假设样本的类划分为(C1,C2,…,Ck),本文采用欧式距离来度量样本间的距离,算法目标为最小化平方误差E,E的计算方法如式(7)所示:
(7)
式中:x为样本;μi为类Ci的均值向量,也称为质心,其表达式如式(8)所示:
(8)
本文读取工程车辆数据集中的所有车辆标注框的长与宽,并计算长宽比,计算标注框的面积,进行K-Means聚类。聚类为5类时,各聚类簇尺度区分明显,效果较好。长宽尺寸聚类结果、长宽比聚类结果、标注框面积聚类结果如图6所示。
图6 多种聚类结果Fig.6 Multiple clustering results
综合图6,可知标注框长宽比集中在0.75~2;标注框的面积集中在50 000~700 000 px;再根据聚类结果,所以本文调整初始锚框尺度为{2002,3202,4402,6602,8002}(px),长宽比为{0.5,0.67,1,1.5,2}。
4 实验结果及讨论
4.1 实验数据库与实验环境
由于目前无完整的关于工程车辆在复杂场景下施工的图像数据集,需要自行收集数据集。本文的工程车辆数据集是使用大疆无人机在国家电网四川某施工工地采集工程车辆视频制作的数据集,采用人工标定工程车区域作为标准,筛选出包含完整工程车辆的视频帧,建立总共2 000张带有标准标签的施工车辆大图数据库,图片分辨率为(1 920×1 080)像素,其中训练集为1 500张,测试集为500张。
本文实验硬件配置为:GPU:Nvidia TITAN Xp,12G显存;CPU:Intel E5-2630。软件平台为Ubuntu 16.04。
4.2 实验评价指标
为了验证本文算法的有效性,使用准确率、mAP值[20]与本文提出的困难场景下的漏检率(Undetected Rate,UR)、部分检出率(Partial-detetion Rate,PR)来作为定位的准确评价指标。
4.2.1mAP与准确率
mAP值为每个类别AP值的均值,在本文中有3类工程车辆,则有式(9):
(9)
其中每类工程车辆AP值的计算由其精确率(Precision)与召回率(Recall)确定,精确率是指被识别为某类工程车辆的样本占真正某类工程车辆样本的比例;召回率是指被识别出的某类真正工程车辆的样本占所有某类工程车辆样本的比重,其计算公式如式(10)所示:
(10)
式中:TP表示被正确识别出的某类工程车辆样本数;FP表示被误识别为其他类工程车辆的某类工程车辆样本数;FN表示未被识别出的某类工程车辆样本数。对于同一个模型,IoU与置信度是影响精确率与召回率的值的2个关键因素[18]。对于不同的IoU阈值与置信度阈值,召回率和精确度会有所变化。本文取IoU阈值为0.7,对于不同置信度阈值,将精确率与召回率分别作为横、纵坐标,可以得到P-R曲线,曲线与横、纵轴围成的面积即为AP值。另外,本文取IoU阈值为0.7下的准确率作为本文的准确率评估指标。
4.2.2 漏检率与部分检出率
为了更直观地验证本文算法在解决遮挡问题与特征相似性时的有效性,提出困难场景下的漏检率与部分检出率2个评价指标来评价算法的性能。
1)对于漏检率,本文定义漏检为:对于1个工程车辆真实框G,使用这个真实工程车辆框图像的所有预测框与其计算IoU,若所有预测框与其IoU都小于0.1,则定义这个真实车辆框存在漏检情况。其表达式如式(11)所示:
G∈GUs.t.∀P,IoU(P,G)<0.1
(11)
式中:GU表示漏检框的集合;P表示预测框。则漏检率为所有漏检的工程车辆真实框数目占所有工程车辆真实框数目的比例,如式(12)所示:
(12)
2)对于部分检出率,本文定义部分检出为:对于1个工程车辆真实框G,使用这个真实工程车辆框图像的所有预测框与其计算IoU,找出与其IoU最大的那个预测框P,若满足0.1 (13) 式中:各物理量的含义与式(11)一致。则部分检出率为所有部分检出的工程车辆真实框数目占所有工程车辆真实框数目的比例,如式(14)所示: (14) 为了进一步验证本文提出算法的有效性,在本文构建的工程车辆数据集基础上,分别用基准检测网络Faster R-CNN与融合本文提出算法的基准检测网络进行训练与测试,同时进行各个子算法排列的消融实验,使用测试集进行检测性能测试对比。实验的评价结果如表1所示。 由表1可知,融合了本文提出的归一化面积损失与自适应局部斥力损失的基础检测模型在数据库测试集进行检测的总体情况在漏检率、部分检出率、各类别准确率、mAP指标上均好于其他算法。尽管YOLOv3[14]与SSD[13]算法速度较快,但是其精度较低,而本文算法22 FPS的速度已经能满足施工场景下的监管需要。同时,由于本文的数据采集来自不同的时间段,可以覆盖不同的光照场景,所以总体的实验结果可以代表不同光照下的准确率。按总体实验结果来看,在不同光照下,本文的算法在mAP指标上达到了91.3%,装载机的准确率达到88.4%,其余类别工程车辆准确率均超过90%。漏检率指标尤其能表示工程车辆之间遮挡情况下的模型性能,而在漏检率指标上,融合了本文提出的归一化面积损失与自适应局部斥力损失的基础检测模型的漏检率指标超过其他算法近6个百分点,证明了本文提出的自适应局部斥力损失的有效性。部分检出率指标尤其能表示在工程车辆自身特征相似性较高情况下的模型性能,而在部分检出率指标上,融合了本文提出的归一化面积损失与自适应局部斥力损失的基础检测模型的部分检出率指标超过其他算法近4个百分点,证明了本文提出的归一化面积损失的有效性。 表1 各算法工程车辆目标检测对比结果Table 1 Comparison results of target detection on engineering vehicles by each algorithm 无遮挡情况下的不同检测模型目标检测示意图如图7所示,图7(a)和图7(b)分别为原始基础检测模型与融合本文提出算法的基础检测模型的目标检测定位效果。图7(a)中,被原始基础检测模型将工程车辆的一部分当作目标而导致错误的检测,在图7(b)中被正确的识别,说明本文所提出的归一化面积损失,对由于工程车辆局部特征与全局特征相似导致算法易将工程车辆的一部分当作目标导致错误的检测这个问题有了很大的改善。同时,也可看出部分漏检在融合本文提出的算法基础检测模型中被正确的检测到,有部分框回归偏差也被修正的更佳,证明了本文改进的聚类、数据增强的有效性。 图7 2种模型的工程车辆目标检测结果对比Fig.7 Comparison on target detection results of engineering vehicles by two models 遮挡严重情况下的目标检测示意图如图8所示。图8(a)和图8(b)分别为遮挡严重情况下的原始基础检测模型与融合本文提出算法的基础检测模型的定位效果。在图8(a)中,当多个工程车辆相互遮挡时,待预测的工程车辆的预测框偏移到其他工程车辆,甚至将多个工程车辆都涵盖,而这个问题在图8(b)中得到了很好的改善,在待预测的工程车辆被遮挡情况下,预测框不会再偏移到其他工程车辆,具有良好的表现,说明本文所提出的自适应局部斥力损失对工程车辆的遮挡问题具有良好的性能。 图8 遮挡严重下的工程车辆目标检测结果示意Fig.8 Schematic diagram of target detection results of engineering vehicles under severe occlusion 1)针对施工场景下工程车辆易互相遮挡,工程车辆局部特征与全局特征相似以及场景环境复杂的问题,提出一种基于自适应局部斥力与归一化面积损失的工程车辆的目标检测算法。 2)以Faster R-CNN为例作为基础检测模型,针对遮挡问题与特征相似性设计了自适应局部斥力损失与归一化面积损失,并结合聚类算法设定初始锚框减少预测框的偏移。 3)实验结果表明,检测结果mAP达到91.3%,采用该算法可以很好地解决工程车辆遮挡、工程车辆特征相似以及场景环境复杂3方面问题。4.3 工程车辆目标检测实验与分析
5 结论