文中的观点说当前的大多label assignment方法都是anchor-based,不能用于anchor-free,这个观点不太赞同,anchor-based和anchor-free本质上没有太大区别,label assignment方法都是可以移植,只是说论文发表时使用了anchor-based作为实验框架。虽然最后的实验结果也没有超过GFL(毕竟GFL回归了8组框),但是论文的发现问题、分析问题、解决问题的过程还是很值得学习的。
无锚检测器基本上将目标检测表述为密集分类和回归,对于目前流行的无锚检测器,通常引入单个预测分支来估计定位质量,当我们深入研究分类和质量评估的实践时,观察到以下不一致,首先,对于一些被赋予完全不同标签的相邻样本,经过训练的模型会产生相似的分类分数,这违反了训练目标,并导致性能下降,其次,我们发现高置信度的检测框与相应的地真实框重叠较小。
在非最大抑制(NMS)过程中,精确定位的边界框将被较不准确的边界框所抑制,针对不一致问题,提出了动态平滑标签分配(DSLA)方法,在FCOS中提出的中心性概念的基础上,提出了一种平滑分配策略,标签平滑到[0,1]的连续值,在正样本和负样本之间实现稳定过渡,在训练过程中动态预测并与平滑标签相结合,分配动态平滑标签进行监督分类分支,在这种监督下,质量估计分支自然并入分类分支,简化了无锚检测器的体系结构,在MS COCO基准上进行了综合实验,结果表明,DSLA可以显著提高无锚检测器的检测精度,缓解了上述不一致性。
卷积神经网络(CNNs)已广泛应用于计算机视觉任务中,包括类别分类、目标检测、语义分割等相关任务,目标检测是计算机视觉中的一个基本问题,它的目标是预测图像中边界框和对应的类别标签的位置,自RCNN以来,基于深度学习的目标检测在工业检测、视频分析、文本识别、航空图像等领域得到了广泛的应用,受到了广泛的关注,现有的基于深度学习的检测器大致可分为无锚检测器和基于锚检测器,随着Faster R-CNN的普及,主流检测器如SSD、RetinaNet和YOLO v2, v3通常依赖于一组预定义的锚框来枚举对象的可能位置、比例和纵横比。
尽管这些探测器具有良好的性能,但它们都局限于锚盒的设计,近年来,无锚点检测器逐渐引领了目标检测的潮流,它直接学习目标的可能性和边界框坐标,无需锚点参考,与基于锚点的检测器相比,无锚点检测器消除了与锚点相关的超参数和复杂计算,大大简化了训练过程,YOLOv1是一种流行的无锚检测器,yolov1直接预测物体中心附近点的边界框,而不是使用锚框,CornerNet和 CenterNet采用基于关键点的检测管道,检测边界框的一对角,并将其分组,形成最终检测到的绑定框,FCOS, CenterNet和FoveaBox以逐像素预测的方式制定目标检测。
在训练检测器时,确定正负样本是一个必要而重要的过程,它直接影响到训练的效率和性能,对于无锚检测器,这一问题需要仔细考虑,而基于锚点的检测器根据交叉-并集(IoU)值将锚点分为正样本和负样本,以往的无锚检测器通常采用单一的固定划分准则,也就是说,阳性和阴性样本是根据手工制作的规则和几个预定义的阈值进行划分的,例如,YOLOv1将输入图像划分为一个网格,如果一个物体的中心落在网格单元格中,那么该网格单元格被认为是正的,负责检测该物体。CornerNet只将真实(gt)位置视为正数,其他所有位置为负数,但是在正位置半径内的负极位置的损失是向下加权的,FCOS和Foveabox将任何gt对象的中心区域或边界框内的位置视为正候选对象,然而,这种静态策略不能适应物体的各种形状和姿态,始终提供最优的正/负划分。
随后出现了动态分配策略,ATSS建议根据IoU值的统计,为每个gt设置划分边界,OTA试图通过解决最优运输问题来寻找全局最优划分策略,不幸的是,大多数方法都是基于锚点的,不能直接应用于无锚点的检测器,同时,在无锚检测器中出现的不一致问题还没有得到足够的重视,下面将以FCOS为例详细说明。
FCOS在多级特征图上对每个位置进行预测,如果该位置的感受野(RF)的中心落入一个gt框,计算从中心到框四边的距离,如果最大距离在预定义的范围内,则将该位置设置为正样本,并要求对方框进行回归,图1(b)展示了一个样本划分的例子,将输入图像输入经过训练的FCOS模型中,得到由颜色表示的分类评分值。
我们注意到,相邻的位置通常被赋予完全不同的标签,我们考虑图1(b)中这些点的分类分数,在预测“球拍”和“球”的特征图上,相邻的位置有相似的分数,但被分配了不同的标签,显然,这与我们的预期不符,我们称这个问题为分类不一致。
我们还观察到,在预测“人”的特征图上,得分存在差异,这是由于功能映射的不同步造成的,我们认为,分类不一致是由于相邻样本具有相似的感受野(RF),但被分配的监督完全不同,不一致将阻止检测器学习更有效的对象表示,从而降低性能,如图1(a)所示,中心度分数的引入在一定程度上解决了分类分数相似带来的问题,但在推理过程中,中心度评分仅用于NMS的排序过程,训练中仍存在不一致性。
在FCOS中,中心度是用来估计定位质量的,对该评分进行预测,并结合分类置信度作为最终的排序评分,尽管有了改进,但中心度评分并不完全适用于定位质量的评估,从图2中可hth华体会以发现,中心度分数较高的位置预测的边界框与gt的重叠较小,这主要是因为中心度分数较高的位置(黄点)位于背景上,无法捕获足够的语义信息来预测一个准确的边界框,对于不同外观的物体,固定中心度评分并不总是能提供可靠的定位质量估计,我们称这个问题为质量估计不一致,引入中心度评分可能会导致意想不到的小真值标签,从而形成一组gt框很难召回,研究者认为IoU评分优于中心度评分,而IoU得分在整个训练过程中不断变化,在训练初期极低。这样的动态值会使训练过程发生剧烈的振动。
为了提高无锚检测器的性能,提出了动态平滑标签分配(DSLA)方法,DSLA采用了FCOS中发展起来的中心度概念,但有两个改进,即核心区和区间hth华体会松弛,为每个gt box定义核心区,使其保持足够的置信度分数,解决了由于置信度分数小而忽略真实对象的问题,引入区间松弛来克服分配标签的剧烈变化,在此基础上,将标签平滑到[0,1]的连续值,从而实现正样本与负样本之间的稳定过渡,在训练过程中动态计算IoU得分,并与中心度得分进行耦合,以提供合理的定位质量估计。
因此,推导出动态平滑标签来监督分类分支,图1(b)给出了配置DSLA的FCOS的划分结果,与FCOS相比,预测的分类分数与分配的目标更一致,检测结果对比如图1(a)所示,可以观察到,由于解决了不一致问题,DSLA预测的边界框更加精确,真实对象的得分明显提高,使用DSLA,分类分支不仅可以预测类别标签,还可以预测回归质量,可以直接作为NMS的分级评分,不再需要无锚检测中常用的质量分支,因此,该检测器的结构更加简洁,并保持了训练和推理的一致性。
•提出了区间松弛策略,并结合改进的中心度评分,将指定的标签平滑到[0,1]的连续值,从而实现正样本和负样本之间的稳定过渡。
•动态计算IoU评分,并与平滑标签相结合,以监督检测器的分类分支,在DSLA的监督下,不一致问题得到了很大的缓解。
•将该方法应用于目前流行的无锚检测器,在MS COCO上进行了综合实验,验证了该方法的有效性。
本文的其余部分组织如下,第2节简要回顾了之前的工作,第3节描述了我们的方法,实验结果在第4节中给出,工作在第5节结束hth华体会。
锚通常用于一级和二级检测器,对于基于锚的检测器,引入了一些超参数来描述锚框的数量和形状,此外,这些参数针对不同的检测任务,阻碍了基于锚检测器的进一步应用。YOLOv1是一种流行的无锚检测器,它直接预测物体中心附近点的边界框,但YOLOv1召回率较低,后续工作YOLOv2回归基于锚的方式。
RepPoints将对象表示为一组样本点,并利用可变形卷积学习对象的外观特征,FSAF预测训练每个实例的最佳特性级别,许多无锚检测器以逐像素预测的方式解决对象检测,FCOS, CenterNet和FoveaBox以逐像素预测的方式制定目标检测,在这些工作中,利用特征金字塔网络(FPN)融合多层次特征映射,并在此基础上预测gt的四个边的距离,在行人检测中,CSP包含两个分支,分别预测中心和尺度,边界框自动生成与预测和统一的纵横比。
另一类无锚检测器采用基于关键点的管道,CornerNet检测边界框的一对角,并将它们分组形成最终检测到的绑定框,继承自CornerNet,CenterNet增加了一个额外的分支来预测中心关键点,以识别每个边界框的正确性。ExtremeNet检测对象的四个极值点和一个中心点,如果五个关键点按几何顺序排列,则将它们分组到一个边界框中,上述检测器采用沙漏网络作为骨干,计算量大,此外,它们需要更复杂的后处理来对属于同一个实例的关键点进行分组,无锚检测器因其简单、高性能而引领了近年来目标检测的发展趋势,为了提高无锚检测器的性能,本文提出了一种有效的动态平滑分配方法。
近年来,目标检测在体系结构设计、规范化方法、训练目标、附加监督和更多上下文信息等方面取得了很大进步,如何定义正样本和负样本是目标检测器训练中的一个重要问题,它极大地影响了学习效率,正如ATSS所指出的,基于锚检测和无锚检测的本质区别实际上是如何定义正负训练样本。FreeAnchor为每个gt盒构造top-k个候选锚点,然后根据检测自定义似然学习执行正/负分割,ATSS为每个gt选择一组最接近的锚点,并根据IoU值的统计数据划分正锚点和负锚点,PAA采用高斯混合模型(GMM)拟合锚点得分的联合分布,估计每个锚点为正样本或负样本的可能性。
OTA将分配过程表述为一个最优运输问题,通过在运输成本最小的情况下求解问题,找到全局最优分配解,Autoassign自动确定空间和尺度维度的正/负样本,值得注意的是,FreeAnchor、ATSS、PAA和OTA等大多数方法都是基于锚点的,它们都遇到了锚点设置的麻烦,PAA和OTA在每个训练阶段都需要进行大量的数值迭代来寻找最优分配解,增加了计算成本,OTA和Autoassign没有考虑平滑的标签,阻碍了获得更好的分配解决方案,无锚检测器经常遇到的不一致问题还没有得到充分的探讨,本文提出了一种高效的标签分配策略,探讨了动态平滑标签的有效性。
FCOS使用5个层次的特征映射{P3, P4, P5, P6, P7}来检测不同尺度的目标,对于特征级别i,如果特征点落入gt框,且最大距离在预定义范围内,则定义为正,并要求回归该框,FCOS的正/负样本划分规则可以总结为:
顾名思义,中心度衡量的是定位离框中心有多近,如果定位和中心完全重叠,则该位置得到最高分1.0,然后,随着位置偏离中心,分数逐渐衰减到0.0,中心度评分的引入是为了抑制由于距离物体中心较远的位置产生的低质量预测边界框,中心度与有效接受域(Effective acceptance Field, ERF)的概念是一致的,在此基础上,研究人员指出特征点会更加关注rf的中心区域。位于远离中心的点不能捕获足够的语义信息来表示对象,从这个意义上说,中心度分数的空间分布是合理的,中心度的利用大大提高了FCOS的性能,如上所述,分配规则会导致不一致,那么,中心性是否可以作为分类信任监督来处理的问题自然就产生了。
如表1所示,只有将中心度分支与分类分支合并(表示为Impr 0)才能带来0.3%的mAP改善,这支持了我们的分析,然而,在平滑具有中心度的标签时,需要考虑以下问题,如图3所示,从中心度上看,正样本B被赋予了一个相对较低的目标,因此它向负样本a的过渡是平稳的,然而,阳性样本C被赋予了更高的目标,但对于邻近的样本D,目标急剧下降到0.0,可能再次导致不一致,此外,中心度分数几乎不被分配到最大的值1.0,因为位置正好在盒子中心的可能性很小,这将导致意想不到的小可信度得分,这使得可能的一组gt框极难被召回。
根据Eq3和Eq4,对新旧边界之间的头部分数进行线性平滑,κ是一个超参数,我们将在实验中进一步研究。
这个区域叫做核心区,它是一个与步幅边长相等的正方形,FCOS可以在不同层次的特征图上预测同一个gt box,一个gt可能有多个不同大小的核心区,这是由于功能映射的不同步幅,对于处于核心区的位置,中心度分数直接设置为1.0,而不是由式2计算,然后,中心度重新表述为:
其中CP为位置,Z为核心区,特征点与x-和y-方向上的步幅间隔有规律地对齐,值得注意的是,对于每个核心区域,至少有一个点落入其中,最高分为1.0,与Eq2相比,改善中心度可获得更高的置信度得分。
与直接使用中心度平滑标签相比,该方法更有效地实现了正负样本之间的平滑过渡。
注意,一个位置可能被分配给多个gt框,FCOS简单地选择了面积最小的盒子作为目标,这是手工的,次优的,平滑标签为解决歧义问题提供了一种自然的方法,选择得分最高的框作为预测目标。
回归分支和分类分支是独立训练的,然而,在推理中,来自分类分支的输出分数被用作置信度来对回归分支预测的框进行排序,这导致了训练和推理之间的不一致,此外,用中心度评分平滑的标签来完全监督分类分支并不完全合适,固定的中心度评分不能适应物体的各种形状和姿态,始终提供一个合理的定位质量估计。
在以前的出版物中,添加了一个单独的分支来预测推理中用于NMS的IoU分数,在我们的工作中,通过比较训练过程中的预测bbox和gt bbox动态计算IoU分数,并将其耦合到分类分支中。
评分与中心度评分相乘,对分类分支进行监督,中心度分数是稳定训练的前提,特别是在训练早期,动态更新的IoU分数可以合理重塑分数分布,从而获得更好的NMS排名,此外,该策略还能使两个分支相互作用,以保持训练和推理的一致性,与FCOS相比hth华体会,通过去除中心分支,使网络结构更加简洁。
具体地说,IoU-score耦合仅对正样本激活,在每次训练迭代中,在线计算预测框和gt框之间的IoU得分,然后乘以中心度得分得到最终得分,最终得分由:
我们采用与FCOS相似的网络,只是省略了中心度分支,如图4所示,我们的方法只包括分类分支和回归分支,如前几节所述,同时涉及改进中心度评分和IoU评分的光滑标签用于监督分类分支,与FCOS类似,在回归分支中,对框的四个边的距离进行回归,损失函数为
在实验中,我们使用ResNet50和FPN作为默认的骨干和颈部,与FCOS一样,五层特征映射{P3, P4, P5, P6, P7}用于检测不同尺度的对象,P3、P4、P5由主干特征图C3、C4、C5生成,P6和P7分别由P5和P6产生,使用与FCOShth华体会相同的超参数,在训练过程中,利用随机梯度下降(SGD)进行优化。在批大小为16的情况下,一开始学习率设置为0.01,在1× scheduler下,学习率通过在epoch 8和11乘0.1来降低,权重衰减设为0.0001,动量设为0.9。
在ImageNet上对骨干进行预训练,并像FCOS一样初始化颈部和头部的层权值,按照传统的程序,输入图像的大小被调整,使其较短的一面为800像素,而较长的一面保持小于或等于1333像素,对输入图像进行随机水平翻转,翻转概率为0.5,在推理中,NMS直接使用分类分支的输出分数,这与FCOS不同,后期处理和FCOS完全一样,我们的方法是使用PyTorch和mmdetection实现的。
为了证明该方法的有效性,FCOS和本文方法得到的样本划分结果如图1所示,图中标注了几个相邻的样本和置信度分数最高的样本,我们注意到,在图1(b)中,相邻位置被分配了完全不同的标签,对于这些标签,FCOS预测的分数相似,DSLA极大地缓解了分类不一致的问题,使用DSLA,预测得分与分配的目标更一致,从而得到更精确的边界框,如图1(a)所示。
消融实验以FCOS的原始版本为基线进行,为了比较公平,没有使用改进,如DCN, GIoU损失,多尺度训练和测试。比较中的检测器在1×调度器(即12 epoch)下训练,除了改进的部分外,建议的消融变化具有与基线相同的设置。在我们的方法中,只存在一个超参数κ,我们设κ = 0.2来进行下面的实验,随后,我们独立研究了κ的作用。
两个分支与三个分支:中心分支是直接的合并到分类分支,并使用focal loss来监督分支(表1中的Impr 0),在没有其他更改的情况下,改进比基线%),这说明将中心分支合并为分类分支不仅简化了网络结构,而且提高了性能。
三个改进:为了分析每个组成部分的重要性,我们逐渐在ResNet-50 FPN FCOS基线上增加了核心区、区间松弛和IoU评分耦合,利用不同的结构推导出不同的检测器,实验结果见表1,引入中心性核心区(Impr 1)后,性能mAP从36.9%提高到37.2%。间隔松弛改变了头部中心度分数的分,。使用区间松弛法可以提高0.2%的mAP (Impr 4),这证明了所提出的中心度表示方法的优越性,在所有三个改进之后,我们的方法获得了最高的38.1% mAP,比基线可以看出,每一次改进都可以稳定地提高性能,同时,IoU评分耦合的效率略高于其他两种改进。
在Impr 0中,用IoU评分替换中心评分,mAP从36.6%降至35.2%,这是因为,IoU评分在整个训练过程中不断变化,在早期非常低,学习这些价值,是低效的,与先验一样,中心度分数将迫使网络收敛到更好的局部最优,实验证明了DSLA的有效性,同时,提出的耦合策略将有助于进一步提高其他无锚检测器的性能。
超参数κ的作用:DSLA引入了超参数κ,显然,κ会影响阳性和阴性样本之间的转换以及不同水平上的标记分配,我们做了几个实验来研究κ的作用。用[0.1,0.2,0.3,0.4]中不同的κ值来训练检测器,结果如表2所示,从结果中我们观察到,其表现对κ不敏感,κ = 0.2的效果最好,所有实验均采用。
选择流行的无锚检测器作为基线,首先选择了具有代表性的无锚检测器FCOS,它的改进版本进一步提高了性能,在对比实验中称为FCOSv2,经典的无锚检测器FoveaBox也被选用,为了公平的比较,我们在基线中遵循原始实验的所有训练设置,但改进的组件除外,采用ResNet-50和ResNet-101骨干,对比结果如表3所示,我们从表中观察到,使用DSLA的改进一般超过1% mAP,特别是使用ResNet-101, DSLA将FCOSv2的mAP从41.5%提高到44.1%,改进是显而易见的。
为了更好地说明,图5和图6显示了几个检测结果示例,如图中的第1行和第2行所示,DSLA可以预测更精确的边界框,同时,如图中第3行和第4行所示,基线模型无法检测到几个小对象,然而,在应用DSLA之后,这些对象会被成功检测到,这是因为DSLA使用核心区策略提高了置信度得分,从而提高了小对象的召回率,从表3中,我们还可以观察到,与基线相比,DSLA在小对象上的性能更好,实验证明了DSLA的有效性。
用最先进的探测器进行比较研究,表4给出了ResNet-50骨干检测器的最佳报告性能,值得注意的是, CornerNet 和 CenterNet不包含在表4中,因为它们采用了沙漏骨干,我们从表中观察到,DSLA达到了与GFL相当的性能(42.7% vs 42.9%),比其他所有具有相同主干的检测器都要优越,变形卷积网络(DCN)将DSLA的性能进一步提高到44.4%的mAP,与FCOS相比,DSLA的mAP显著提高2.1%,此外,当DSLA配置更强的骨干时,性能也会更高,以X-101-64x4d-DCN为骨干,mAP达到48.1%。以swin-s为骨干,按照默认设置采用3×调度器,可获得49.2%的mAP性能。提出的DSLA大大提高了无锚检测器的性能。
本文研究了普遍存在的无锚检测器的不一致性问题,提出了一种新的DSLA方法,通过解决不一致问题来持续提高无锚检测器的性能,提出了区间松弛策略,并结合改进的中心度表示,使正负样本间的过渡更加平滑,动态IOU分数与分类分支相结合,提供了本地化质量的合理估计,推导出动态平滑标签,极大地缓解了不一致性,DSLA自然地将FCOS中建议的中心度分支集成到分类分支中,以使体系结构更简单,并保持训练和推理的一致性。在MS COCO上进行的大量实验验证了DSLA的有效性,为了进一步提高DSLA,更优的中心度评分与IOU分数的结合值得深入研究,在未来,将平滑标签分配策略扩展到基于锚点的检测器将是一个很有前途的研究课题,此外,不一致是在语义分割和类别分类等其他任务中会遇到的普遍问题,使用平滑的标签来缓解不一致是有意义的。