一种基于定位置信度预测的二阶段目标检测方法

2022-05-09 10:59烨,邹
小型微型计算机系统 2022年4期
关键词:置信度分支定位

李 烨,邹 铭

(上海理工大学 光电信息与计算机工程学院,上海 200093)

1 引 言

目标检测作为计算机视觉领域的研究热点,其研究主要分为两个方向:1)以自动驾驶、人脸检测等应用为代表的“高速度”方向,该应用方向对于检测速度通常有极高的要求,但可牺牲一些精度;2)以自动图像标注、目标提取等应用为代表的“高精度”方向,此类应用方向通常可容忍更慢的检测速度,但追求极致的边界框定位能力.特别是在自动图像标注的应用领域内,检测器定位效果越好节省的人力成本就越大,可创造巨大的经济效益.

目前主流的检测网络可以分为单阶段和两阶段两大类.单阶段检测算法以SSD[1]、YOLOv3[2]、RetinaNet[3]等为代表.这些方法没有提取感兴趣区域(Region Of Interest,ROI)的过程,而是直接在图片上预测目标区域,相比两阶段算法具有更快的计算速度,但在检测精度和定位性能上略差.此外,一阶段的anchor free方法在公开数据集上也取得了较好的成果[4-7].两阶段检测算法以R-CNN[8]、Fast R-CNN[9]以及Faster R-CNN[10]为代表.目前的两阶段算法一般以Faster R-CNN为基础框架,通过区域建议网络(Region Proposal Network,RPN)在图片上提出建议区域,再将建议区域池化后送入检测头对其进行定位精修和分类.两阶段算法的定位准确性更好,但检测速度较慢.近期提出的Cascade R-CNN[11]、Libra R-CNN[12]、Dynamic R-CNN[13]等两阶段算法在定位、样本平衡等方面做出了改进,提升了检测器的性能.除网络结构之外,近年来目标检测算法的研究重点在特征表达的增强上,混合特征图、特征金字塔以及特征注意力单元等方法都取得了较好的成果[14].

目标检测算法的检测头含有定位子网络和分类子网络.定位子网络预测每个框的位置坐标,而分类子网络预测每个检测框的类别,并给出一个分类置信度.在标准的非极大值抑制(Non Maximum Suppression,NMS)[15]方法中通常基于分类置信度对重复检测框进行筛选,但由于分类置信度和定位准确性的之间没有强相关性,基于分类置信度的筛选会对检测器的定位准确性造成很大的影响[16].如图 1所示,虽然box2的定位性能优于box1,但由于box2的分类置信度稍低,因此在NMS过程中box2反而被box1所抑制,导致定位性能差的检测框被输出,从而影响检测器的定位性能.

图1 检测框的分类置信度与定位性能情况Fig.1 Classification score and localization performance of bounding boxes

为解决此问题,IoU-Net[16]使用边界框的定位置信度指导重复边界框选择,以此提升检测器的定位性能.受该方法启发,提出一种基于定位置信度预测的两阶段目标检测方法Loc-aware R-CNN(Location-aware R-CNN).在实际交通场景数据集上的对比实验表明,新方法在定位性能方面取得了较大的提升.

2 相关工作

目前关于检测器定位性能的研究主要集中于以下3个方面:

1)改进检测框架,通过迭代回归、调整检测器阈值等方法提升检测器的定位性能.Cascade R-CNN设计了级联结构,通过逐级提升检测器的正负样本分辨阈值,解决了直接提升检测器的正负样本分辨阈值造成的训练过程中正样本不足的问题,提升了定位能力.Dynamic R-CNN与Cascade R-CNN的出发点类似,但没有使用级联结构,而是在训练时动态调整分配正负样本的阈值,避免了训练初期直接提升阈值造成正样本不足、训练效果差的问题.

2)采用更合适的定位损失函数.文献[17]定义了更准确的IoU计算指标GIoU(Generalized Intersection over Union),并将GIoU Loss作为定位分支的损失函数来指导训练.文献[18]设计了DIoU和CIoU,在NMS中使用DIoU替代IoU来进行边界框筛选,并提出了DIoU Loss和CIoU Loss,进一步提升检测器的定位性能.Dynamic R-CNN设计了动态损失函数,为smoothL1损失函数添加了动态参数.在训练过程中使得损失函数自适应于样本分布的改变,保证高质量样本对模型训练的贡献,提高模型对于高质量样本的学习能力.

3)引入定位置信度.主要分为两种方法,一种是将检测框坐标建模为某种数据分布,据此计算检测框的定位置信度.KL Loss[19]和Gaussian YOLOv3[20]都在算法中引入了高斯分布,例如Gaussian YOLOv3将检测框的中心坐标x值和y值及其宽度w和高度h4个变量均建模为高斯分布,用方差描述预测坐标的不确定性,并在边界框筛选判据中结合了基于方差得到的定位不确定度.文献[21]将Gaussian YOLOv3方法用于表面缺陷检测,验证了Gaussian YOLOv3相比其它算法在定位精度上的优势.此外,Softer NMS[22]在KL Loss方法的基础上重新设计了NMS算法,利用预测的方差进行重复检测框筛选.另一种方法是直接使用IoU作为定位置信度指标.IoU-Net基于Faster R-CNN设计了独立的IoU预测分支,预测每个边界框的IoU作为定位置信度,并提出了IoU-guided NMS后处理方法对重复边界框进行筛选.IoU-aware RetinaNet[23]在RetinaNet的回归分支中设计了IoU预测分支,并设计了全新的定位置信度使用方法.

3 基于定位置信度预测的目标检测方法

Loc-aware R-CNN与常见以IoU作为定位置信度的方法不同之处在于:

1)使用GIoU替代IoU,并设计一种新的基于GIoU非线性变换的定位置信度指标,以增强边界框选择时的鲁棒性.

2)直接在检测头后输出定位置信度,而非增加独立的定位置信度预测分支.

3)提出Score-guided NMS方法.对定位置信度与分类置信度采用更合理的融合方式,将融合的结果用于重复检测框筛选.

3.1 定位置信度指标

对于前述引入定位置信度的两种方法,IoU相比分布的方差能更直观地体现定位性能的好坏,但是直接使用IoU作为定位置信度无法精确地反映检测框与真值框(Ground Truth,GT)的重叠情况[17].因此引入GIoU作为检测框的定位性能衡量指标,GIoU定义为:

(1)

其中,B为检测框,G为真值框,C为可以将B和G包含在内的最小封闭区域.相比IoU,GIoU考虑到了两个边界框之间的非重叠区域,能够反映出两者的重叠方式,从而更好地体现检测框之间的定位性能差距.

不过,重复检测框之间的GIoU值差异通常比较小,若直接将GIoU作为定位置信度,在NMS中与分类置信度进行融合时,融合结果更易受到后者影响,导致定位置信度对于边界框选择的指导作用较弱,因而有必要放大GIoU差值.另一方面,较高的GIoU值通常反映更高的定位准确度,而低GIoU值的检测框价值不高.因此,设计非线性变换对GIoU进行转换,得到如下新的定位置信度指标:

(2)

其中,ThrGIoU为进行变换的GIoU阈值,小于ThrGIoU的样本定位置信度置为0;γ参数用于控制曲线的弯曲程度.图2示意了不同γ值的定位置信度变换曲线.

图2 定位置信度映射Fig.2 Localization confidence mapping

非线性变换使得低GIoU的部分更为平缓,而高GIoU的部分更为陡峭,从而抑制低GIoU样本之间的定位置信度差异,并放大高GIoU样本之间的定位置信度差异,有利于对重复检测框的筛选.这种非线性变换同样可应用于IoU或其它类似的指标.

3.2 带定位置信度预测分支的检测头

在IoU-Net中,分类分支与回归分支共享两个全连接层(Full Connection,FC),而定位置信度分支另含两个FC,不同分支的FC需要独立训练.但显然定位置信度信息有助于提高BBox回归分支中检测框的定位准确度,因此设计如图 3所示模型,将定位置信度分支放入检测头中,3个分支共享FC.定位置信度分支参与训练时会使得FC更好的学习如何提取定位特征,提升定位检测框的定位准确性.同时,这一设计也减少了模型的计算量.

图3 带有定位置信度预测分支的检测头Fig.3 Detection head with a localization confidence prediction branch

为了对分类分支、边界框回归分支和定位置信度预测分支进行联合训练,将3个分支的损失加权求和作为检测器的总损失.

Ltotal=Lcls+λLreg+δLloc

(3)

其中λ和δ参数分别用于调整边界框回归分支和定位置信度分支损失的权重.分类分支和边界框回归分支的损失函数与Faster R-CNN相同,分别为交叉熵损失和smoothL1损失.

(4)

(5)

(6)

3.3 Score-Guided NMS

NMS的实现方法对算法的定位能力有很大的影响.NMS的目标是通过迭代,保留准确的检测框,而抑制重合率大且冗余的.例如在IoU-Net中,IoU-Guided NMS以IoU作为定位置信度,选择定位置信度最高的检测框,采用置信度聚类(confidence clustering)的方法更新其分类置信度,然后删除冗余检测框,最终输出各轮次定位置信度最高且分类置信度得以更新的检测框.IoU-Guided NMS的问题在于,IoU并不能准确反映检测框的定位性能,而且受遮挡等环境因素影响大,仅仅依据定位置信度排序的可靠性较差.文献[23]将分类置信度和定位置信度进行融合,提高了检测框选择的鲁棒性,但仍然采用IoU作为定位置信度.

鉴于此,提出一种基于分类置信度和定位置信度融合分数的NMS方法(Score-guided NMS),伪代码如算法1所示.同文献[23],融合分数定义为分类置信度与定位置信度指数加权的乘积:

(7)

其中Scoredet为融合分数,cls_confidencei和loc_confidencei分别为第i个检测框的分类置信度与定位置信度,参数α用于控制分类置信度和定位置信度的融合权重.不同之处在于这里的定位置信度采用式(2)定义的loc_confidence (GIoU)而非IoU,从而改善IoU作为定位置信度不够准确的问题.Score-guided NMS采用置信度聚类的方法对分类置信度进行更新,即对于匹配同一GT的一组检测框,以这组检测框分类置信度最大值作为该检测框的分类置信度.此外,Score-Guided NMS在重复检测框选择和计算检测框的最终分数过程中使用不同的组合权重,前者定位置信度权重更大,以选出定位性能更好的检测框,而后者分类置信度权重更大,以利用分类置信度计算检测框的最终分数.在后续使用环节中,通常会设定一个阈值用于剔除误检框.在低于分数阈值的检测框中,如果检测框定位置信度很高,即使分类置信度偏低,实际上也很有可能包含待检测目标,因此将分类置信度与定位置信度相融合,有利于提高检测框的最终分数,从而降低漏检的可能;而如果分类置信度和定位置信度都很低,二者融合会拉低检测框的最终分数,不会导致虚检增多.

算法 1.Score-guided NMS

输入:B={b1,…,bn},C={c1,…,cn},L={l1,…,ln},σNMS,α,β

B为一组检测框集合,C和L分别为检测框对应的分类置信度和定位置信度集合,σNMS为NMS阈值,α为排序阶段置信度融合的权重,β为计算最终边界框分数时置信度融合的权重.

输出:带分数的检测框集合D

1.D←Ø

3.whileB≠ Ødo

4.bm←argmaxS(bj)

5.B←B{bm}

6.forbj∈Bdo

7.ifIoU(bm,bj)>σNMSthen

8.c←max(C(bm),C(bj))

9.B←B{bj}

10.endif

11.endfor

12.s←cβ·L(bm)(1-β)

13.D←D∪{}

14.endwhile

15.returnD

4 实验与分析

实验环境为Ubuntu v18.04操作系统,GPU为NVIDIA TESLA V100 32GB,CPU为Intel Xeon Gold 6140.深度学习框架采用PyTorch.实验数据为手工标注的交通场景人车目标数据集,图像截取自自采的交通道路视频,包含城市道路、高速公路、郊外道路等环境和晴天、阴天、雨天等多种天气场景,目标类别包含汽车、卡车、公交车、自行车、摩托车、行人、骑行者等多种常见的交通参与者.数据集共有40828张图片,包含80多万个目标,其中训练集36351张,测试集4527张.

实验中设定用于控制非线性变换的参数γ为1.7;损失函数权重参数λ和δ分别为1和2;Score-Guided NMS中融合分数的权重α和β分别为0.3和0.7.共计训练35个epoch,采用Adam优化器进行优化,衰减系数为0.0005,初始学习率设置为0.002,在第12和第20个epoch分别衰减为0.0001和0.00005.训练的batch size为16,输入分辨率为1024×512.对比实验使用平均准确率(Average Precision,AP)作为对比指标,并且主要关注AP85、AP95的提升情况来体现方法对于算法定位性能的提升.

4.1 定位置信度分支对定位性能的影响

在检测头中添加定位置信度分支将影响共享全连接层的训练,从而影响到回归分支的定位性能.表 1给出了相关实验结果,其中Loc-aware R-CNN (IoU)和Loc-aware R-CNN (GIoU)表示在标准Faster R-CNN的基础上,分别包含了以IoU和GIoU作为定位置信度的分支.为保证实验结果仅受到网络结构影响,Loc-aware R-CNN在测试时未使用定位置信度分支输出的信息,同Faster R-CNN一样也采用标准NMS进行后处理.由实验结果可见,加入定位置信度分支后,Loc-aware R-CNN (IoU)和Loc-aware R-CNN (GIoU)的AP分别有0.3%和0.4%的提升,而AP80和AP85则有0.5%~0.7%的提升,这表明增加定位置信度分支对于边界框回归分支的定位能力有所改善.值得注意的是,使用IoU和GIoU作为定位置信度都有类似的效果,说明定位置信度分支对共享全连接层的影响并非偶然结果.

表1 定位置信度分支对定位性能的影响Table 1 Influence of localization confidence branch on localization performance

4.2 定位置信度指标的有效性

为了验证所提出定位置信度指标的有效性,基于5种定位置信度指标分别训练Loc-aware R-CNN做对比实验.包括IoU、DIoU、GIoU以及基于IoU和GIoU经式(2)非线性变换得到的loc_confidence (IoU)和loc_confidence (GIoU).各模型均采用Score-Guided NMS进行后处理,实验结果如表2所示.从表中分析可以得出,在前三者中,IoU和DIoU表现相近,而基于GIoU的定位效果最佳,这说明GIoU能更精确地描述检测框与GT的相交程度,更适合作为定位置信度.loc_confidence (IoU)和loc_confidence (GIoU)相比于GIoU其AP进一步有0.5%的提升,这是由于loc_confidence非线性变换增大了高GIoU检测框之间的定位置信度差异,更利于后续NMS筛选检测框.

表2 不同定位置信度指标效果对比Table 2 Comparison of the effects of different localization confidence indicators

4.3 Score-guided NMS效果分析

对比研究不同的后处理方案,包括文献[23]的NMS方法、IoU-Net的IoU-guided NMS以及本文的Score-guided NMS.如表 3所示,实验结果表明,IoU-guided NMS除AP50稍高于文献[23]方法,其余指标均更低,原因在于目标密集或受遮挡的场景下IoU本身的预测可靠性较差,仅是用IoU作为排序依据会受到目标密集、遮挡等因素的影响,降低定位的准确性.文献[23]将分类置信度和IoU进行相乘融合,一定程度克服了这一问题.Score-guided NMS的各项指标均高于其它两种方法,这是由于其在排序和计算最终检测框分数时采用不同的权重,使得各环节能得到更合理的融合分数.

表3 不同后处理算法效果对比Table 3 Comparison of the effects of different post-processing algorithms

4.4 消融实验

表4给出了消融实验的结果,其中:方法1为Faster R-CNN;方法2在Faster R-CNN基础上加入定位分支、但仅采用常规NMS,以验证定位置信度分支训练对模型定位性能的影响;方法3在方法2的基础上将NMS换成了Score-guided NMS,以验证Score-guided NMS方法的效果;方法4在方法3的基础上换用loc_confidence (GIoU)作为定位置信度,分析加入定位置信度非线性变换对于模型性能的提升效果.

表4 消融实验Table 4 Ablation experiments

由实验结果可得,方法2相比Faster R-CNN,获得了0.4%的AP提升,方法3相比于方法2获得了1.5%的AP提升,而方法4相较于方法3,AP进一步提升了0.7%.从上述分析可知,加入定位置信度分支、对定位置信度做非线性变换以及采用Score-guided NMS,这3种机制都不同程度地提高了算法的定位性能.

4.5 与典型算法对比

表5给出了RetinaNet、Faster R-CNN和所提算法Loc-aware R-CNN使用不同骨干网络(backbone)时在测试结果.可以看出,Faster R-CNN除了采用ResNet50和ResNet101作为骨干网络时AP95值稍低于RetinaNet,其余情形下均更优,而Loc-aware R-CNN则全面优于Faster R-CNN,以ResNet101为骨干网络为例,Loc-aware R-CNN的AP值提升了2.6%,APS、APM和APL也都有一定程度的提升,说明其对于不同尺度目标的定位能力均得到了加强.而且,Loc-aware R-CNN的性能提升在高定位要求指标上表现更为明显,例如采用ResNet101骨干网络时,AP50的提升为0.8%,而AP85和AP95则分别提升了4.3%和2.7%,表明模型的精确定位能力提升明显.

表5 算法性能对比Table 5 Algorithms′ performance comparison

图4给出了Loc-aware R-CNN与Faster R-CNN的检测效果示例.容易看出,Faster R-CNN给出的检测框贴合不够紧密,例如图4第1行的黑色越野车及第2行远处的行人,而Loc-aware R-CNN给出了更好的定位效果.其次,Loc-aware R-CNN对于被遮挡目标的定位效果也有明显提升,例如对于图4第2行近处被部分遮挡的骑行者和自行车,自行车检测框及骑行者和自行车的组合检测框明显更为准确.此外,从图4第2行的对比可以看出,Loc-aware R-CNN检出了Faster R-CNN漏检的行人.这是由于行人类别受到不同类别目标的样本数量不均衡以及光照、遮挡等条件的影响,分类置信度普遍偏低,易造成漏检.但Score-guided NMS在计算最终检测分数时融入了定位置信度信息,提高了可能含有目标的检测框的分数,降低了漏检的概率.

图4 检测效果Fig.4 Detection effect

5 结 语

提出了一种基于定位置信度预测的二阶段目标检测方法,为Faster R-CNN框架添加定位置信度预测分支,对分类、边界框定位和定位置信度3个分支进行联合训练,进而将定位置信度与分类置信度相融合,设计了基于融合分数的非极大值抑制后处理算法.此外,设计了一种新的基于GIoU非线性变换的定位置信度指标,增大高GIoU检测框之间的定位置信度差异,以利于非极大值抑制过程中重复检测框的筛选.所提方法有效提升了目标检测的定位性能,特别是对于需要高定位性能的应用场景具有很大的实际意义.下一步,定位置信度的准确预测值得研究,其很大程度上影响到NMS中对检测框定位性能的判断.

猜你喜欢
置信度分支定位
基于git工具的多分支并行开发上线流程
用“分散数论”对“哥德巴赫猜想”的初等证明
含有二阶幂零鞍点的双同宿环附近的极限环分支
把握新定位、新要求 推动人大工作创新发展
难与易
校核、验证与确认在红外辐射特性测量中的应用
序贯概率比检验法在导航精度试飞中的应用
硕果累累
理想的定位