融合比例先验和损失感知的目标检测模型的正负样本分配算法
2023-10-17庄旭君左华红韩屏
庄旭君 左华红 韩屏
摘 要:针对目标检测模型在训练过程中正负样本分配时没有考虑真实框的长宽比、对物体不同分布的适应能力差等不足,提出了比例先验和损失感知的分配算法RLA。RLA不改变原有检测模型的结构,首先根据真实框的长宽比选择等比例的中心区域,然后计算锚点综合损失,考虑真实框内物体的实际分布,最后通过动态损失阈值的方式区分正负样本。该算法解决了基于IoU分配时适应性差、难以选出最佳正样本等问题,对偏心物体和长宽比悬殊物体的样本分配更加合理。与已有的样本分配算法对比,该算法在MS COCO数据集上的表现更优,比基线FCOS的AP提升1.66%;在模型结构相同时,比ATSS和PAA算法的AP分别提升了0.76%和0.24%,证明了RLA算法的有效性。
关键词:目标检测;正负样本;长宽比;损失感知;自适应
中图分类号:TP391.41 文献标志码:A 文章编号:1001-3695(2023)10-048-3194-07
doi:10.19734/j.issn.1001-3695.2023.01.0013
Positive and negative samples allocation algorithm for object detection models incorporating ratio-prior and loss-aware
Zhuang Xujun1,Zuo Huahong2,Han Ping1
(1.School of Information Engineering,Wuhan University of Technology,Wuhan 430070,China;2.Wuhan Chuyan Information Technology Co.,Ltd.,Wuhan 430030,China)
Abstract:To address the shortcomings of the object detection model in the training process,such as the allocation of positive and negative samples without considering the aspect ratio of the ground-truth box and the poor adaptability to different distributions of objects,this paper proposed the ratio-prior and loss-aware assignment(RLA) algorithm.RLA didnt change the structure of the original detection model,firstly it selected an equal proportion of the central sampling area based on the aspect ratio of the ground-truth box,then calculated the integrated loss of the anchor points,considered the actual distribution of objects within the ground-truth box,and finally distinguished between positive and negative samples by means of a dynamic loss threshold.The algorithm solved the problems of poor adaptability and difficulty in selecting the best positive samples based on IoU allocation,and the sample allocation for eccentric objects and objects with different aspect ratios was more reasonable.Compared with existing sample allocation algorithms,the algorithm outperforms the MS COCO dataset by 1.66% over the AP of the baseline FCOS,and 0.76% and 0.24% over the AP of the ATSS algorithm and the PAA algorithm respectively when the model structure is the same,demonstrating the effectiveness of the RLA algorithm.
Key words:object detection;positive and negative samples;aspect ratio;loss-aware;self-adaptive
0 引言
訓练过程中的正负样本分配是影响目标检测模型性能的重要因素。传统的正负样本分配策略,使用手工设计的硬分配。有锚框检测模型,如RetinaNet[1]为了兼顾不同形状的真实框,根据经验在每个锚点平铺9个不同大小和比例的锚框,使用固定的IoU阈值把锚框分为正样本、忽略样本、负样本。这种分配方式需要在每个锚点敷设多个锚框,计算量大,且没有考虑真实框与锚框的实际相交内容。随着无锚框检测模型的发展,出现了许多不依赖锚框的检测模型,如FCOS[2]抛弃了平铺锚框的方式,利用空间约束(即限制正样本锚点在真实框内)和尺度约束(即给每个特征层设置一个固定的最大回归范围)分配正负样本,但满足这两个约束的锚点可以分布在真实框的所有位置,包括各类噪声和背景。FCOS的升级版本[3]通过中心采样的方式,在原来的基础上限制正样本点要在以真实框为中心,且边长为2×1.5×S(S为步长)的正方形区域内。中心采样缓解了之前大量背景噪声被分为正样本的问题,但是中心区域的锚点也不全是最佳的。另一方面,由于选择的区域固定为正方形,对长宽比悬殊的真实框不适用。以上硬分配的方式都有一个共同点,那就是没有考虑对于不同尺寸、形状或遮挡条件的物体,正负样本的划分条件可能并不一样。
由于硬分配方式的不足,出现了许多自适应分配正负样本的算法。例如,FreeAnchor[4]基于分类损失和回归损失,将训练过程定义为最大似然估计的过程,将手工设定锚框与真实框匹配改为自由匹配,但当有许多高质量的锚框时,这种方式不能很好地为每一个真实框匹配到合适的锚框。ATSS[5]在每个特征层选取k个L2距离最小的锚点,这些锚点各自对应一个8×S的锚框,计算这些锚框与真实框的IoU及IoU的均值与标准差,以均值与标准差之和作为动态的IoU阈值,实现自适应分配样本。但由于锚框是不变的,对于同一张图片的同一个真实框,这个阈值在训练过程中是不变的,依赖预先定义的锚框和真实框之间的IoU,既不考虑相交区域的实际内容,也不考虑模型的学习状态。此外,由于使用L2距离作为候选正样本,对于一些长宽比悬殊的真实框,初步筛选得到锚点也不够合理。文献[6]中提出了锚框评分方案,由L2距离计算中心权重,使用中心权重作为定位分数,将锚框评分定义为定位得分与分类得分的乘积,并使用高斯模型模拟锚框评分的分布,根据最大似然估计计算高斯分布的均值和标准差,将两者之和作为动态的IoU阈值。然而在计算了锚框评分后,仍然以IoU阈值作为分离正负样本的依据,而IoU并不是代表锚框质量的最佳指标。文献[7]中提出了自适应标签分配,候选正样本限制在以真实框中心为圆心、半径为r的圆形范围内,计算每个锚点预测框与真实框的IoU,使用IoU序列差分谱得到极大峰值,由极大峰值所在的位置确定q;然后计算所有锚点的联合损失,并计算损失小的前q个预测框IoU的和s,作为正样本数量,但候选样本均位于圆形区域内,对长宽悬殊的物体并不是最佳的,而且需要计算所有锚点的联合损失和IoU,计算量大。为了实现真正的动态分配,PAA[8]首先将锚框与真实框的IoU大于0.1作为第一步的筛选,然后引入锚框分数(由锚框的分类损失和回归损失计算)评估锚框质量,每层选择前k个损失最小的锚框作为候选正样本,再使用高斯混合模型(GMM)对这些候选正样本进行聚类,得到最终的正样本。这种方式在利用IoU初步筛选锚框时没有利用真实框的形状,选择更能代表长宽比悬殊物体的锚点,而且使用的GMM模型需要不断地迭代,计算量大且延长了训练时间。
综上所述,现有的正负样本分配算法存在的不足包括:
a)没有利用真实框的长宽比。对于长宽比悬殊的物体,在选择候选样本时依然采用正方形区域作为中心区域,没有考虑改变其形状,例如根据真实框的长宽比调整中心区域。
b)没有考虑锚框与真实框的实际相交内容。如果一个锚框与真实框的IoU很大,并不代表这个锚框可以得到与真实框的IoU也很大的预测框,因为锚框与真实框相交的内容可能都是一些嘈杂的背景,模型难以通过这些背景得到准确的预测值,即忽略了锚框与真实框的IoU并不等于预测框与真实框的IoU。
c)为了确定正负样本,使用了复杂的模型,以时间和硬件成本来换取精度的提升,增加了训练的难度。
针对现有的正负样本分配算法中存在的上述问题,本文提出了一种新的正负样本分配策略——比例先验和损失感知的分配算法RLA(ratio-prior and loss-aware assignment)。该算法与现有正负样本分配算法相比主要有三个改进,分别是等比例中心先验、锚点综合损失、动态损失阈值。在第一步筛选中使用了新的中心先验——等比例中心先验,充分利用真实框的长宽比,长宽比不同的物体有不同的中心区域,选择更能代表物体特征的锚点;在第二步筛选中不再使用传统的IoU作为判断锚点质量的依据,而是使用动态变化的锚点综合损失,该综合损失比IoU更能代表锚点的质量,在进行正负样本分配时充分考虑真实框内物体实际的分布情况;在第三步筛选中为了避免高昂的计算成本,使用动态损失阈值,以更简单的方式,动态地筛选出损失更小的锚点作为正样本。
1 RLA算法
本章将介绍RLA算法中的等比例中心先验、锚点综合损失、动态损失阈值,并在算法1中给出了实现过程。
1.1 等比例中心先验
FCOS[3]仅从真实框中面积有限的中心区域选择锚点,称为中心先验。ATSS[5]根据L2距离选择候选正样本,实际上也利用了中心先验。在真实框外的锚点是较差的锚点,如果这些锚点被分配为正样本锚点,将由真实框外部的特征进行预测,这不利于训练,应该排除。FCOS和ATSS以及本文提出的RLA均保证了正样本锚点在真实框内。理论上,真实框内的所有锚点都有可能成为正样本。但是大部分情况下,尤其是训练初期,物体中心区域的锚点更加利于模型的训练,这导致选择中心区域需尽量合理。例如FCOS仅选取中心区域(边长为2×1.5×S的正方形)内的锚点作为正样本,就会导致模型过于关注中心的锚点;ATSS以L2距离在每个特征层选取k个候选样本,也只能选择出更加聚集在真实框中心区域的样本。对一些不完全在中心的物体,这两种方式都难以分配到最佳的锚点。而如果仅仅扩大中心区域,会引入许多包含大量噪声的锚点,在一定程度上影响检测模型的性能。此外,FCOS和ATSS选择候选样本时完全没有考虑真实框形状的影响,FCOS的中心区域为正方形,ATSS以L2距离作为选择依据,中心区域近似于以真实框中心为圆心的圆。对于一些长宽比悬殊的真实框,在这种形状的中心区域内选择候选正样本并不合适。
为了解决这个问题,本文提出了等比例中心先验。在传统的中心先验中,所有真实框的中心區域是一个近似于正方形或圆形的区域,这就导致长宽比悬殊物体的中心区域与物体实际分布相差较大,难以从中心区域中得到合适的锚点。与传统的中心先验不同,等比例中心先验依据每一个真实框的长宽比确定相应长宽比的中心区域。对于长宽相近的物体,使用传统的中心先验和等比例中心先验得到的中心区域相差不大;而对于长宽比悬殊物体,由于中心区域的长宽比与真实框的长宽比一致,所以中心区域中包含了大部分可以代表物体特征的锚点,这些锚点将参与到锚点综合损失的计算中。
假设一张图片中的所有真实框为集合G,g是其中一个真实框,即g∈G。g的长和宽分别为H和W,中心坐标为(x,y),特征层到原图的步长为S,那么可以确定真实框中心到中心区域的左边界和上边界的两个距离分别如式(1)(2)所示。
其中:r为超参数;R=min(H,W)。由这两个距离可以确定中心区域的四个顶点坐标分别为(x-Xs,y-Ys),(x+Xs,y-Ys),(x-Xs,y+Ys),(x+Xs,y+Ys)。通过等比例处理,每个真实框的中心区域的短边都为2×r×S,中心区域保持与真实框相等的长宽比。
为了保证中心区域能夠尽可能地覆盖所有适合作为正样本的锚点,本文将中心区域的超参数设置为r=2.5,在FCOS的中心采样中,这个参数仅为r=1.5。在这种设置下,FCOS的中心区域大小为(2×r×S)2=9×S2,而RLA的中心区域最短边为2×r×S=5S,所以其面积最小也为25×S2。通过加大中心区域的面积,绝大部分可能成为正样本的锚点都在中心区域内。此外,由于中心区域与真实框的长宽比相同,对于一些长宽比悬殊的物体,例如公交车、长颈鹿、网球拍、牙刷等,也不会错过最佳的正样本锚点。通过等比例中心先验,把潜在的正样本锚点尽可能选择出来,称为第一轮候选正样本C1。但是这也带来了新的问题,那就是如何从这个中心区域的众多锚点中筛选出高质量锚点。因此,在下一节中,本文提出了锚点综合损失,用于评估锚点的质量。
1.2 锚点综合损失
使用固定的IoU阈值或其他固定的超参数作为分配的依据,往往无法给真实框分配到最合适的锚点。例如,RetinaNet[1]使用固定的IoU阈值,认为IoU大的就是正样本锚框(在有锚框检测模型中,锚框的中心就是锚点),不考虑锚框与真实框相交区域的实际情况。如果相交区域几乎是背景,将导致很难由这个锚框预测出物体正确的类别和位置。如图1所示,绿色框为真实框,蓝色框为其中一个锚框(仅画出长宽比为1:1的锚框),锚框中心的蓝点为锚点(参见电子版)。图1(a)中的锚框对应的锚点在真实框的中心区域内,而且锚框与真实框的IoU值也比较大,为0.6。这个IoU值比大部分锚框都要高,如果根据RetinaNet的正负样本分配方式,这个锚框将被分配为正样本而进行训练。然而,该锚框与真实框相交的区域大部分是背景,即使是锚框的中心区域也大部分都是物体以外的背景,所以模型难以从这几乎是背景噪声的内容中学习到有用的信息。根据这个锚框得到的预测框,很难与真实框有较高的IoU,无法得到理想的预测结果。因此,尽管这个锚框与真实框的IoU高于大多数的锚框,但它并不是合适的正样本。从这个例子中可以看出,锚框与真实框的IoU不能作为评估锚框或锚点质量的唯一依据。
ATSS[5]在每个锚点仅平铺一个正方形的锚框,仍使用IoU作为区分正负样本的阈值,但该阈值是通过统计特性动态得到的。尽管这种方式可以缓解固定IoU阈值带来问题,但一方面,因为锚框与真实框的IoU并不是评估锚点质量的最佳指标,所以用IoU的均值和方差之和作为阈值也不是最佳的;另一方面,这个平铺的锚框在训练过程中没有任何变化,所以真实框和锚框的IoU不会变化,IoU阈值不会随着训练过程改变,所以正样本不会变化,模型仍然无法参与到正负样本分配的过程。此外,RetinaNet和ATSS均未考虑真实框长宽比。如图1(b)中的锚框与真实框有较大的IoU,但相交区域大多是背景,且真实框的长宽比悬殊,只平铺一种尺寸的锚框难以满足各类长宽比。
因此,基于IoU进行样本分配会导致适应性差、难以选出最佳正样本。为了样本分配的合理性,锚点或锚框(为了简单起见,以下统称为锚点。FCOS中的锚点相当于RetinaNet中锚框的中心,一个锚点和对应的锚框都对应特征图上的同一个点)需要一个更合适的评价指标,来界定锚点是正样本或负样本,并且这个指标需要和模型相关,以免出现分配过程中锚框与真实框的IoU很大,而模型预测结果不佳的情况。通过这个指标找到的锚点,不一定在真实框的中心附近,对应的锚框与真实框的IoU也不一定很高,但却能很好地代表真实框内物体的特征,让模型更好地学习。综上,本文提出了锚点综合损失,该损失满足上述条件,如式(3)所示。
其中:LclsAnchor、LregAnchor、LdevAnchor分别为锚点预测结果的分类损失(classification loss)、回归损失(regression loss)和中心偏离损失(deviation loss);λ1和λ2为超参数,用于平衡各损失的权重,本文实验中取λ1=1.5,λ2=1。
锚点综合损失同时考虑了锚点的分类质量、回归质量以及在真实框内的偏离程度。锚点的分类损失和回归损失与PAA算法中的使用的锚框质量评估分数类似,考虑了分类和回归质量。对于适合作为正样本的锚点,其分类损失和回归损失会较小;反之,其分类损失和回归损失会较大。特别地,对于包含大量背景的锚点,其分类损失和回归损失将更大,因为模型几乎不可能根据没有线索的背景正确预测出物体的边界框和对应的类别。此外,由于C1所在的中心区域和步长S有关,所以在比较高的特征层上,这个中心区域很大,导致在这些特征层上,一些中小物体内的所有锚点都被选择。因此,本文提出了中心偏离损失,计算C1中每个锚点的中心偏离损失,处于边缘的锚点与处于真实框中心范围的锚点有不同的中心偏离损失,但最终到底选择哪些锚点作为正样本,由锚点综合损失来确定。综合损失越小的锚点,越能预测出正确的类别和边界框。下面将介绍各损失的计算方式。
经过上一步的等比例中心先验的筛选后,在不同的特征层上可以得到相应的候选正样本,每一层的候选正样本共同组成了第一轮候选正样本C1。假设其中一个锚点aj∈C1,其坐标为(x,y)。aj在经过模型正向传播后得到预测值px,y=(pclsj,pregj),其中pclsj和pregj分别代表模型预测的分类向量和回归框的坐标向量。假设aj被分配给了真实框gi=(x(i)1,y(i)1,x(i)2,y(i)2,c(i)),其中(x(i)1,y(i)1)和(x(i)2,y(i)2)表示真实框左上角和右下角的顶点坐标,c(i)对应真实框内物体的类别。
锚点的分类损失使用Focal Loss[1]。由锚点aj正向传播得到的向量pclsj是一个维度为类别数Nclass的向量,可以计算其分类损失如式(4)所示。
锚点的回归损失使用GIoU损失[9]。由锚点aj正向传播得到的预测框坐标向量pregj是一个维度为4的向量,可以表示为pregj=(lj,tj,rj,bj),代表预测框相对于锚点aj的位置信息,4个分量的值分别代表锚点到预测框左、上、右、下边界的距离。可以计算其回归损失如式(5)所示。
锚点的中心偏离损失由中心偏度计算。假设锚点aj到真实框gi的左、上、右、下边界的距离分别为(l,t,r,b),由于第一轮筛选保证了锚点aj在真实框gi内,所以这四个距离均为正数。根据这四个距离,本文定义了中心偏离度dev,如式(6)所示。左右距离差值|l-r|的绝对值越小,说明这个锚点越处于真实框水平方向的中心,上下距离的差值也同理。此外,考虑到真实框的长宽不同,将这个差值的绝对值除以真实框相应的边长,归一化到[0,1]。
本文提出的中心偏离损失如式(7)所示,中心偏离度在阈值内的锚点,中心偏离损失设置为0,即认为这个锚点偏离程度在可接受的范围内;对中心偏离度大于所设阈值的锚点计算中心偏离损失,具体数值由中心偏离度计算。
以上三个损失共同组成了锚点综合损失,该损失考虑了框内物体的实际分布以及真实框的长宽比,对于偏心物体和长宽比悬殊物体的样本分配更加合理。
1.3 动态损失阈值
有了候选锚点的综合损失,需确定一个分界线来划分C1中的正/负样本。为了进一步划分正/负样本,LLA[10]中直接使用固定的正样本数量,不考虑锚点损失的具体数值,只选择损失小的k个锚点作为正样本。这种方式虽然不需要额外的计算,但引入了超参数,无法利用损失的具体数值判断样本数量。而且不同大小和尺寸的物体,所需要的正样本数量不一定是相同的。PAA[8]中使用了复杂的高斯混合模型(GMM),根据锚框分数(与锚点损失类似)的数值对候选正样本进行聚类,分为正/负样本两个类别。PAA虽然不会影响预测过程,但是大大降低了模型的训练速度,对于每一个真实框,都需要重新迭代一次,并且这个迭代需要在CPU上进行。
为了解决上述问题,更好地利用锚点综合损失动态划分正负样本,而不引入额外的计算成本,本文提出了更为简单且有效的区分方式——动态损失阈值。该方式既能在训练过程中动态确定合适的正样本数量,又能避免PAA的高训练成本,使模型在不增加训练时间的前提下达到了相似甚至更优的性能。计算了C1的锚点综合损失后,使用动态损失阈值的过程如下:
a)每个特征层选择锚点综合损失更小的k个锚点,得到第二轮候选正样本C2。
b)在C2中選择m个损失小的锚点作为第三轮候选正样本C3,计算这m个候选正样本锚点综合损失的均值tg。
c)将C3中锚点综合损失低于tg的锚点作为正样本AP,其余为负样本AN。
由于RLA算法在第一轮筛选中并没有关注哪一层特征层更加适合预测当前的真实框,所以C1可能来自所有的特征层,而有的特征层并不适合预测当前尺度的真实框。为了找到合适的正样本,RLA先在每个特征层都选择k个锚点,组成第二轮候选正样本C2。但有一些候选锚点所在的特征层不适合对当前真实框进行预测(例如真实框较大时,最低层的特征层上的锚点不适合作为其候选锚点),这些较差的候选锚点的损失较大,不适合作为正样本,没有必要继续保留。但PAA将这些较差的锚点也保留了下来,并进行聚类。由于这些较差的候选锚点综合损失较大,通过聚类以后,也会被认为是负样本。所以,C2全都参与聚类并不是最合适的办法,因为一些综合损失较大、排名靠后的锚点几乎不会是正样本。此外,GMM迭代的成本很大,每一个真实框都要进行同样的过程,而一张图片往往不止一个真实框,这就导致训练时间被大大延长。因此,本文提出的动态损失阈值对C2做进一步筛选再进行划分。首先,在C2中选择前m个损失小的锚点,去除掉锚点综合损失较大的锚点,得到第三轮候选正样本C3。然后,由于C3中已经没有不适合预测当前真实框的锚点(这些锚点通常分布在与真实框尺度相差很大的特征层上),基本剩下了最好的和次好的锚点,这些锚点的综合损失都较小,只需要经过简单的均值计算,就可以区分出最合适的锚点和次优的锚点,将最合适的锚点作为正样本,进而确定正样本的数量。由于在训练过程中锚点的损失是由模型预测结果决定的,锚点综合损失随之变化,所以损失阈值也是动态的。本文实验部分证明,与PAA算法相比,RLA算法减少了约27%的训练时间,并实现了更好的样本分配结果,达到了和PAA相似甚至更优的性能。
1.4 RLA算法的实现
如算法1所示,描述了RLA进行正负样本分配的过程,实现过程如图2所示。为了说明不同特征层的分配情况,选择其中三个特征层F3、F4和F5并画出这些特征层分配结果在原图上的位置。锚点首先满足在真实框内,其次满足在与真实框长宽比相同的中心区域内,同时满足这两个条件的锚点作为第一轮候选正样本C1,如图2(a)所示。然后对C1计算锚点综合损失,在每层选取k个损失小的锚点作为第二轮候选正样本C2,如图2(b)所示。最后,在C2中选择m(k 2 实验结果及分析 2.1 实验细节与设置 2.1.1 数据集与评价指标 本文的所有实验都是在具有挑战性的MS COCO[11]数据集上进行的,该数据集包括80个类别。按照ATSS和PAA中的设置,将trainval35k(大约118k张图片)中的图像作为训练集,minval(5k张图片)中的图像作为验证集。 普通单个类别的平均精准度(average precision,AP)定义为对PR曲线上的precision值求均值。mAP(mean average precision)的定义为在某一个IoU阈值tIoU下,每个类别AP的均值,如式(8)所示。 其中:Nclass为类别数。本文实验使用的评价指标与ATSS等算法保持一致,使用主流的COCO评价指标,主要包括AP、AP50、AP75、APS、APM、APL。其中AP为主要的评价指标,使用不同IoU阈值下mAP的均值作为主要评价指标,计算方式为在IoU从0.5到0.95的区间上每隔0.05计算一次mAP的值,取所有结果的平均值作为最终的结果。所以COCO评价指标中的AP更为严格,不再是普通的单个类别的AP,本文实验数据中提到的AP均为此计算方式,这是COCO数据集中最常用的评价指标。AP50和AP75分别表示IoU阈值为0.5和0.75时的mAP值,即AP50为mAP(tIoU=0.5),AP75为mAP(tIoU=0.75)。APS、APM和APL分别代表小、中、大目标的AP。 2.1.2 实现细节 与ATSS类似,本文的RLA适用于有锚框和无锚框检测模型,本文的实验将主要基于无锚框检测器FCOS。为了保证实验的条件相同,本文实验中对ATSS和PAA进行如下的修改: a) 将ATSS中的中心度分支改为IoU分支,记为ATSS。 b) PAA使用1×训练周期而不是1.5×训练周期,并且在非极大值抑制(NMS)的后处理中不使用分数投票机制。 即本文保证ATSS、PAA和RLA均使用IoU分支作为辅助分支,训练周期均为1×(即12个epoch),后处理中除了非极大值抑制外,不再使用任何额外手段提升性能。除了正负样本分配策略,其余均保持一致。此外本文还与使用中心采样算法的FCOS(其輔助分支为中心度分支)进行比较。 实验环境的CPU为Intel Core i9-10900K CPU@3.70 GHz,显卡为GeForce RTX 3090,内存大小为64 GB,操作系统为Ubuntu18.04。模型使用ImageNet[12]预训练的ResNet-50[13]和5层特征金字塔结构作为骨干网络。在训练过程中,调整输入图像的大小,使其短边为800,长边小于或等于1 333。整个网络使用随机梯度下降SGD算法进行训练,动量为0.9,权重衰减为0.000 1。根据线性策略,调整批量大小为8,进行180 000次迭代(即12个epoch)。初始学习率设为0.005,并在迭代到120 000和160 000时分别衰减为原来的十分之一。训练过程中未使用多尺度训练。 在测试时,首先采用与训练阶段相同的方法调整输入图像的大小,通过整个网络正向传播,得到预测的类别和对应的边界框。然后,分类向量中对应类别的得分设置0.05的阈值,过滤包含大量的背景预测框,输出每个特征层的前1 000个高置信度的检测结果。最后,用非极大值抑制得到的前100个检测结果,IoU阈值设为0.6。模型推理的设置与ATSS保持一致,未使用多尺度测试、分数投票等提升模型性能的额外手段。 2.1.3 损失函数 模型训练的损失函数由三部分组成,如式(9)所示。 其中:Npos为正样本的数量;z表示坐标为(x,y)的锚点;pz为该锚点的预测值;gz为该锚点对应的真实标注;Lcls为分类分支的损失,使用Focal Loss[1];Lreg为回归分支的损失,使用GIoU Loss[9];Laux为辅助分支的损失,使用二进制交叉熵损失。在ATSS中辅助分支为中心度分支,即Laux是预测的中心度与真实中心度的损失。而在本文中为IoU分支,即Laux是预测IoU与真实IoU的损失,与PAA中设置相同。该分支与ATSS和PAA的辅助分支均采样二进制交叉熵损失。α1和α2为损失平衡的权重,本文使用的权重与ATSS保持一致,即α1=2,α2=1。1{cz>0}为指示函数,当cz>0,即坐标为(x,y)的锚点是正样本时1{cz>0}=1,否则1{cz>0}=0。 2.2 RLA算法实验与分析 RLA算法主要由三个部分组成,分别是动态损失阈值、包含中心偏离损失的锚点综合损失、等比例中心先验。为了探究每个部分的作用,本文设计了实验,如表1所示。实验中取k=9,m=20。未使用等比例中心先验时,默认使用普通的中心先验,即限制正样本锚点在正方形的中心区域内。 2.2.1 动态损失阈值 1) 动态正样本数量 为了说明动态正样本数量Npos的作用,本文设计了如下实验:首先是固定正样本数量,即按照锚点综合损失从低到高,选出前Npos个损失小的候选锚点作为正样本,这导致所有真实框的正样本数量都是相同的,且在训练过程中保持数量不变。PAA使用高斯混合模型,根据锚点损失通过聚类动态地把锚点分为正负样本,从而确定正样本数量。PAA表示不使用高斯混合模型GMM确定正样本数量,本文提出的做法为“PAA+动态损失阈值”,表示使用动态损失阈值的方式代替原始PAA中的GMM,来确定动态的正样本数量。实验结果如表2所示。 根据表2所示的实验结果可知,如果使用动态的方式确定正样本数量,不论是使用高斯混合模型,还是使用本文提出的动态损失阈值的方式,都可以得到比固定正样本数量更好的AP性能。此外,PAA和PAA+动态损失阈值的方式在COCO验证集下的AP分别为40.22%和40.26%,使用PAA+动态损失阈值的方式比PAA的AP相差0.04%。说明本文的动态损失阈值以更简单而高效的方式,达到了与GMM相似的作用。 2)正样本数量变化 为了和同样使用锚点损失的PAA进行对比,图3画出了PAA和RLA训练过程中的正样本数量。图3中每次迭代正样本数量的含义为一次迭代中所有图片(图片数量等于批量大小)中所有真实框的正样本数量的平均值,共计180 000次迭代。图3(a)中PAA的正样本是通过高斯混合模型迭代后得到的,数量动态变化;从图3(b)可以看出,RLA每次选择的正样本数量也不固定,而是根据锚点的综合损失确定,正样本数量主要集中在8~14,有更好的适应性。RLA和PAA均能根据锚点损失动态确定正样本数量。 3)训练过程正样本选取的变化 为了证明训练过程中选择的正样本会随着模型的训练状态而变化,实验中选取了训练过程中的三个阶段,如图4所示,分别是训练初期(Iteration=1 000)、训练中期(Iteration=90 000)、训练后期(Iteration=180 000)分配的正样本。在训练初期如图4(a)所示,样本点主要集中在真实框的中心区域内,正样本点并不是完全体现物体的分布,一些正样本点分布在物体与背景的交界处,甚至有些样本点基本都是背景。随着训练的进行,模型的识别能力提升,可以更加准确地根据高质量的锚点得到好的预测结果,在计算锚点综合损失时,锚点的损失值更能代表锚点的质量好坏,从而进一步为训练提供合适的正样本。所以,到了训练中期,如图4(b)所示,选择的正样本中包含大量噪声的锚点变少,锚点的分布变得更加合理。到了训练后期,如图4(c)所示,选择的正样本得到更好优化,基本不会包含太多的背景噪声。即使有的锚点在中心区域,但由于锚点包含大量的背景,也不会选择这些锚点,而是选择更能代表物体特征的锚点作为正样本,所以被选择的锚点不一定都是刚好处于中心范围内的。 2.2.2 等比例中心先验 1) 等比例中心先验筛选后的候选正样本 本文提出了等比例中心先验,主要针对长宽比悬殊的物体。对于这些物体,在选择第一轮候选正样本时会根据其长宽相应选择候选的锚点。实验中选取了没有考虑真实框长宽比的ATSS作为对比,ATSS使用L2距离作为选择第一轮候选正样本的依据。经过第一轮筛选后得到的候选正样本如图5所示。对于一些长宽比悬殊的真实框,例如图5(a)中的飞机,ATSS选择了到真实框中心点最近的k个锚点作为第一轮候选正样本,所以这些候选正样本都分布在一个较小的中心范围内。而本文提出的RLA使用等比例中心先验,在第一轮分配中选择了更多的候选样本,如图5(b)所示,目的是尽可能保留更能体现物体位置的锚点,而不是只保留处于正方形或圆形中心区域的锚点。由于增加了候选样本数,所以第一轮候选正样本中会有部分样本包含大量的噪声,这些样本点将通过锚点综合损失进一步筛选。因此,等比例中心先验主要是为了尽可能保留下有意义的锚点,对保留的背景将在下一轮进行筛选。图5(c)和(d)中的人物是长宽比悬殊的类别,如果使用ATSS中的方法,如图5(c)所示,得到的候选样本中包含有用信息的锚点并不多。而通过等比例中心先验的方式,如图5(d)所示,几乎所有能代表物体特征的锚点都保留下来了,只不过是其中有部分锚点包含大量背景,但高质量的锚点也得到保留。背景锚点将通过计算锚点综合损失和动态损失阈值的方式做进一步筛选,所以背景锚点并不会由于被分为正样本而影响模型。 2) 各类别AP对比 为了更好地说明等比例中心先验对长宽比悬殊物体的作用,本文选择了COCO数据集80个类别中的一些类别,如自行车、长颈鹿、滑雪板、网球拍等。ATSS、PAA和RLA在对以上指定类别进行处理的AP表现如图6所示。对于这些长宽比悬殊的类别,使用了等比例中心先验后,AP能提升约1%,甚至更高。这说明对于长宽比悬殊的类别,在选择候选样本的时候利用等比例中心先验改变中心区域,可以有效提升这些物体的识别度,提升总体的检测性能。 2.2.3 整体性能 1) 分配的正样本锚点 对于一些不完全在真实框中心的物体,如果使用ATSS的分配方式,如图7(a)所示,得到的正样本锚点几乎都聚集在真实框的中心区域。中心区域有背景时,处于背景的锚点也会被选择,所以ATSS分配方式选择的锚点不能很好地代表实际物体,自适应性较差。PAA使用了锚点的分类损失和回归损失,在一定程度上减缓了中心背景区域带来的影响,如图7(b)所示。本文提出的RLA算法,可以通过在训练过程中根据每个锚点预测的结果计算损失,得到最适合的锚点。如图7(c)所示,选择的正样本锚点不都是處于中心区域的,而是与物体实际分布切合。对于处于中心区域但包含大量背景的锚点,经过筛选后不会成为正样本。此外,由于使用了等比例中心先验,以及中心偏离损失,与PAA相比,选择的正样本更符合真实物体的分布,包含的背景更少,并且分配方式更简单,训练时间更短,后面的使用将说明训练时间的对比结果。 2) AP对比 如表3所示,比较了多种正负样本分配算法。与使用了中心度分支的FCOS和ATSS相比,RLA提升的AP分别约为1.66%和1.27%。与模型结构完全相同的ATSS相比,RLA提升了0.76%的AP,0.13%的AP50,0.89%的AP75,0.33%的APS,1.08%的APM,3.2%的APL。与PAA相比,提升了约0.24%的AP,且RLA实现样本分配的过程更加简单高效。以上实验结果,说明了训练过程中正负样本分配对模型的重要性以及RLA的作用。 3) 训练时间对比 由于RLA算法只重新定义了正样本和负样本,没有改变模型结构,不会导致模型的训练参数变多,造成额外开销。实验结果记录了同样训练设置下,各种算法的训练时间,并定义了训练过程中平均每小时提升的AP值,记为hAP,如式(10)所示。 其中:T为训练时间,单位为小时(h);hAP越高说明单位时间内能提升的AP越高,算法越高效。 实验结果如表4所示,PAA的hAP在所有算法中最低,说明PAA算法中的GMM非常影响训练时间。与PAA相比,RLA减少了约27%的训练时间,并实现了更好的样本分配结果,比PAA的AP提升了0.24%。PAA由于需要在CPU上迭代高斯混合模型,导致训练时间大大增加。此外,RLA仅比其余算法的训练时间增加约3 h。与ATSS相比大约增加了11%的训练时间,但提升了0.76%的AP。RLA额外的训练时间主要是由于在使用锚点综合损失时需要提前计算一轮锚点预测结果与真实值的损失,但该计算是在GPU上进行的,并不会明显减缓训练过程。 3 结束语 本文基于无锚框检测器FCOS提出了新的正负样本分配算法RLA,该算法解决了基于IoU分配正负样本时适应性差、难以选出最佳正样本等问题,充分考虑了真实框内物体实际的分布情况,且利用了真实框的长宽比,尽可能选择更能代表物体特征的锚点作为候选正样本,对偏心物体和长宽比悬殊物体的样本分配更加合理。实验表明,该算法可以有效提高检测模型在MS COCO验证集上的性能;对于MS COCO验证集中长宽悬殊的类别,该算法的提升更加明显。本文提出的算法没有改变网络模型的结构,未增加参数量,仅增加了少量的训练时间就带来明显的精度提升,且在模型的测试过程中无须额外计算,不会影响检测速度。在下一步的工作中,将对锚点综合损失中的回归损失做进一步的研究,在计算回归损失时考虑真实框与预测框的长宽比,进一步提高性能。 参考文献: [1]Lin T Y,Goyal P,Girshick R,et al.Focal loss for dense object detection[C]//Proc of IEEE International Conference on Computer Vision.Piscataway,NJ:IEEE Press,2017:2999-3007. [2]Tian Zhi,Shen Chunhua,Chen Hao,et al.FCOS:fully convolutional one-stage object detection[C]//Proc of IEEE/CVF International Conference on Computer Vision.Piscataway,NJ:IEEE Press,2019:9626-9635. [3]Tian Zhi,Shen Chunhua,Chen Hao,et al.FCOS:a simple and strong anchor-free object detector[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2022,44(4):1922-1933. [4]Zhang Xiaosong,Wan Fang,Liu Chang,et al.FreeAnchor:learning to match anchors for visual object detection[C]//Proc of the 33rd International Conference on Neural Information Processing Systems.Red Hook,NY:Curran Associates Inc.,2019:147-155. [5]Zhang Shifeng,Chi Cheng,Yao Yongqiang,et al.Bridging the gap between anchor-based and anchor-free detection via adaptive training sample selection[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2020:9756-9765. [6]王璐璐,陈东方,王晓峰.一种基于锚框质量分布的动态标签分配策略[J].计算机工程,2023,49(4):85-91,100.(Wang Lulu,Chen Dongfang,Wang Xiaofeng.A dynamic label assignment strategy based on quality distribution of anchor[J].Computer Engineering,2023,49(4):85-91,100.) [7]陳金令,刘鑫,李洁.基于自适应标签分配的轻量化红外行人检测算法[J].中国科技论文,2022,17(11):1216-1222,1229.(Chen Jinling,Liu Xin,Li Jie.Lightweight infrared pedestrian detection algorithm based on self-adaptive label assignment[J].China Science Paper,2022,17(11):1216-1222,1229. [8]Kim K,Lee H S.Probabilistic anchor assignment with IoU prediction for object detection[C]//Proc of European Conference on Computer Vision.Berlin:Springer,2020:355-371. [9]Rezatofighi H,Tsoi N,Gwak J,et al.Generalized intersection over union:a metric and a loss for bounding box regression[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2019:658-666. [10]Ge Zheng,Wang Jianfeng,Huang Xin,et al.LLA:loss-aware label assignment for dense pedestrian detection[J].Neurocomputing,2021,462:272-281. [11]Lin T Y,Maire M,Belongie S,et al.Microsoft COCO:common objects in context[C]//Proc of European Conference on Computer Vision.Berlin:Springer,2014:740-755. [12]Deng Jia,Dong Wei,Socher R,et al.ImageNet:a large-scale hierarchical image database[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2009:248-255. [13]He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al.Deep residual lear-ning for image recognition[C]//Proc of IEEE Conference on Compu-ter Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2016:770-778. 收稿日期:2023-01-12;修回日期:2023-02-20基金项目:国家自然科学基金资助项目(51405360);中央高校基础研究基金资助项目(WUT:2018III069GX) 作者简介:庄旭君(1998-),男,广东惠州人,硕士研究生,主要研究方向为深度学习、目标检测;左华红(1975-),男,湖北荆州人,高级工程师,总经理,主要研究方向为图像处理;韩屏(1980-),男(通信作者),河南安阳人,副教授,硕导,博士,主要研究方向为深度学习、机器视觉(hanping@whut.edu.cn).