2020CVPR解读之百度的人脸检测HAMBox:Delving into Online High-quality Anchors Mining for Detection
2020CVPR解读之百度的HAMBox:Delving into Online High-quality Anchors Mining for Detection
个人认为原文论文中貌似有一些细节的错误,个人能力有限,如有理解错误请见谅!
OuterFace: 异常人脸,由于人脸尺度过小或者人脸尺度与anchor尺度不匹配,造成训练时匹配不到足够多的anchor(小于阈值K),影响了这些人脸的召回。
HAMBox: Online High-quanlity Anchor Mining Strategy(一种在线高质量锚定挖掘策略),即本文最重要的创新点之一。具体含义会在下文中介绍。
high-quality anchor: 如果某个anchor经过网络回归后的框与人脸框的ground truth的iou大于0.5,则称其为高质量anchor。
matched anchor: 在训练时,与目标人脸的IOU>=0.35的anchor。
**unmatched anchor:**在训练时,与目标人脸的IOU<0.35的anchor。
**matched high-quality anchors:**指那些在训练阶段是matched anchor,且经过网络回归后是high-quality anchor的集合。
unmatched high-quality anchors: 指那些在训练阶段是unmatched anchor,且经过网络回归后是high-quality anchor的集合。
CPBB: Correctly Predicted Bounding Boxes,如果某个在训练阶段匹配到人脸的anchor经过回归网络后,回归框与gt的iou>0.5,则称其为CPBB,即matched high-quality anchor回归后的bounding box。
1.摘要
当前的人脸检测方法是利用锚定来构造一个分类与边界框回归相结合的多任务学习问题。有效的锚定设计和锚定匹配策略使得人脸检测器能够在较大的姿态和尺度变化下定位人脸。然而,我们观察到,在推理阶段,80%以上正确预测的边界框是从不匹配的锚(锚和目标真值框之间的ios低于阈值)中回归的。结果表明,这些不匹配的锚具有良好的回归能力,但现有的方法忽略了对它们的学习。本文提出了一种在线高质量锚定挖掘策略(HAMBox),该策略能明确地帮助异常脸与高质量锚进行交互。我们提出的HAMBox方法可以作为基于锚定的单阶段人脸检测的一般策略。通过对WIDER FACE, FDDB, AFW and PASCAL Face等数据集的实验,证明了该方法的优越性。此外,我们的团队还赢得了2019年Wider Face和Pedestrian Challenge人脸检测测试赛道的冠军。
2.引言
人脸检测是许多基于人脸的高级应用的基本任务,如人脸对齐[28]、人脸识别[1]和人脸老化[25]。从早期的具有手工特征的人脸检测器中,现代的检测器由于使用深卷积神经网络(CNN)学习到的鲁棒特征而得到了显著的改进[10]。当前最先进的人脸检测技术通常是基于锚定的深度cnn,其灵感来源于它们在一般目标检测方面的成功。与一般的目标检测器不同,人脸检测器通常面对较小的宽高比变化(从1:1到1:1.5),但更大的尺度变化(人脸区域,从几个像素到数千像素)。考虑到尺度的巨大变化,Zhang等人锚定在广泛的层面上,并根据感受野设计锚定标度。当前最先进的检测器利用特征金字塔网络(FPN)捕获各种面部尺度的位置。FPN是一种利用多尺度特征自顶向下构造特征金字塔的有效方法。它采用从高层到高层的横向连接。然后,从设计锚定的角度来看,带有FPN的锚定探测器通过从不同方面(如锚距和比例锚[30,23])增加锚的数量来继续解决这一问题。然而,增加锚的数目显著降低了人脸检测的性能,特别是当采用Resnet-50中的特征映射conv2或P2进行小人脸的检测时,**就我们所知,对于基于锚的检测器,有效的锚设计策略是获得高性能的必要条件。**S3FD[29]在每个检测阶段采用单标度和长宽比锚。尽管如此,选择合适的锚定尺度仍然是一个很大的挑战,这通常是由以下的失准现象造成的。图1显示了与图2匹配的锚的平均数量。训练和推理过程中的标准锚匹配策略问题(在较宽的人脸数据集上)。
(a) 在推断过程中,只有11%的正确预测的边界框被匹配的锚回归。(b) PBB表示“预测的边界框”。在使用我们的HAMBox策略时,在训练过程中,补偿锚回归的真值框和预测边界盒之间的ious比标准锚匹配策略要高得多。(c) 在训练过程中,优秀锚的平均数量约占所有优秀锚的65%。(d) CPBB表示“正确预测的边界框”。在推断过程中,匹配的高质量锚的数量在NMS后显著减少,说明一些不匹配的锚具有较高的回归能力。这些结果表明,标准的锚匹配策略不能有效地利用高质量的负锚,无论是在训练还是推理过程中,负锚都起着至关重要的作用。
本文在一个训练的较好的人脸检测器上进行了锚匹配统计实验,发现了一个有趣的现象。**令人惊讶的是,在所有正确预测的边界框中,只有11%被匹配的锚回归。**因此,在人脸检测中,不仅匹配的锚,而且一些不匹配的锚也起着至关重要的作用。然而,在训练阶段,对不匹配的锚设置背景标签,对分类分支来说是不合理的监督信号。有效地利用这些不匹配的锚有望提高检测性能。基于这一观察,我们确定了当前锚匹配策略中的两个关键问题如下:
**(1)大多数补偿锚质量较低。**换句话说,普通的锚补偿方法可以帮助那些异常脸匹配更多的低质量锚,而不是高质量的锚。
(2)许多在训练阶段不匹配的锚实际上具有很强的定位能力。
基于以上观察,我们认为现有的锚匹配策略既不灵活,也不足以在人脸检测中使用锚。
为了解决这个问题,我们提出了一种在线高质量锚挖掘策略(HAMBox)。我们的想法是不断地挖掘那些高质量的锚,以帮助异常脸用精确回归的能力来补偿更多的锚。在图3中,当使用标准锚匹配策略时,未匹配的an-chor被分配了背景标签。随着训练迭代次数的增加,我们的在线高质量锚杆补偿策略正逐步挖掘出与之不匹配的高质量锚。此外,与标准锚匹配策略生成的锚相比,不匹配的锚可以回归出具有更高IoU的高质量边界框。**在挖掘出高质量的锚之后,我们进一步提出回归感知的focal loss,以有效地加权那些新的补偿的高质量锚。**考虑到定位与分类之间的弱关联性,对新的补偿锚加入了基于IoU的动态权值。得益于在线高质量锚定补偿策略和回归感知焦点丢失,我们在宽面[27]验证硬集上实现91.6%的AP,基线为RetinaNet[13]。此外,我们添加了一些流行的模块,包括SSH-head、deep-head[13]和pyramid-anchors,实现了93.3%的AP,比当前最先进的模型[11]大幅度提高了2.9%的AP。
总之,我们的主要贡献可以概括为:
•我们观察到一个鼓舞人心的现象:一些不匹配的锚具有很强的回归能力,而当前的box回归分支忽略了学习不匹配的锚。
•根据观察结果,我们提出了一种在线高质量锚挖掘策略(HAMBox),以抽取高质量锚进行培训。借助于HAMBox,我们可以在训练阶段为外表面提供足够有效的锚;
•由于采用了高质量的锚定,具有回归意识的focal loss有助于以灵活的方式进行人脸检测器的训练;
•我们的方法在wider face验证和测试集上分别比最新的方法高出2.9%和2.3%的AP。此外,我们在2019年WIDER Face and Pedestrian Challenge 2019实现了57.45%(验证)/57.13%(测试)的mAP。
3.在线高质量锚挖掘
这里原文算法内字母有误
本节提出了在线高质量锚挖掘策略(HAMBox),用最合适的锚定补偿异常脸。我们首先建立了基于RetinaNet的高召回率人脸检测系统[13]。然后详细介绍了在线高质量锚补偿策略。最后,我们建立了补偿锚的回归感知focal loss。
(1)基于高召回锚的人脸检测器
现有的基于锚的人脸检测算法利用预先定义的锚来构造一个多任务学习问题,该问题结合了分类和边界框回归分支。我们从RetinaNet[13]开始。主干是ResNet-50。在[29]的基础上,利用conv2层的特征映射来提高人脸检测的性能。原因是大约40%的人脸与wider face基准上的conv2锚匹配。此外,设计锚对于训练性能良好的探测器也很重要。因此,与多锚定尺度和纵横比的一般目标检测不同,我们在每个预测层仅设置一个锚定尺度和一个纵横比作为默认锚定设置。我们改变锚定标度以匹配更极端的人脸尺度。这种锚定的优点和缺点同样明显。从优势的角度来看,我们的策略可以在wider face基准上匹配所有人脸的95%以上,与多尺度和比率锚匹配98.46%的人脸相比,差异很小。同时,该方法比多尺度、多比例的后一种锚定方法少用3倍或9倍的锚定量,使模型更加关注有用锚的回归,从而获得更高的检测性能。从缺点来看,由于减少了与锚匹配的人脸数,因此不利于模型的鲁棒性。这一障碍将在以下两个部分得到解决。
(2)在线高质量锚补偿策略
在完成锚定尺度和锚定比的设计后,我们还需要将锚定与其最近的相邻地面真实或背景进行分配。当前传统的锚匹配策略包括两个步骤。人脸首先与IoU高于阈值的锚匹配。然后,与任何锚不匹配的人脸将被具有最大IoU的锚补偿。显然,第二步中的补偿锚可能会降低网络的回归和分类性能,因为这些锚最初具有较低的人脸IoU。我们惊奇地发现,随着迭代次数的增加,一些不匹配的锚具有进行正确预测的能力,而那些锚在回归分支上被忽略,甚至在分类分支上被指定为背景。受此启发,我们提出了一种在线的高质量锚补偿策略来解决当前的失准监督信号。首先,每个人脸都匹配IoU高于阈值的锚,但是对于那些剩余的异常人脸,我们不补偿任何锚。其次,在训练过程中的正向传播结束时,每个锚通过其相关的回归坐标计算回归边界框。我们将这个回归边界框定义为Breg ,Fouter表示异常脸。最后,对于Fouter中的每个人脸,我们用Breg计算它的IoU,并用N个额外的不匹配锚来补偿这个人脸。我们把所有iou都定义为iouset。根据两个规则选择这些N个补偿锚。1) 它们对应的回归边界框和目标人脸之间的ios应大于T(T表示在线正锚定阈值)。2) 这些IOUS(按规则1计算)应该在iouset的top-K最高iou中。K是一个超参数,表示Fouter可以匹配的锚的最大数量。如果在通过以上两个规则过滤后N大于K-M,我们在这些N个不匹配的锚中选择top-(K-M)highest IoU锚来补偿此面,并设置N=K-M。M表示在第一步中已匹配的锚的数量。
4.回归感知focal loss
经过以上两个小节的分析,我们挖掘出了这些优质的锚,下面的问题是如何有效地利用这些锚。此外,我们还提出了一种回归感知的focal loss,以使新的补偿后的高质量锚具有更合理的权重,这些锚是通过在线的高质量锚补偿策略从外部挖掘出来的。在focal loss方面有两项改进[13]。
(1) 考虑到新补偿锚定位置和分类之间的弱关联性,对这些补偿锚定加入了基于IoU的动态权重。(2) 我们将同时满足以下三个条件的锚定义为忽略锚(训练期间未优化):a)属于高质量锚。b) 在锚匹配策略的第一步中被指定为背景。c) 不包括在新的补偿锚中
损失函数为:
上式的含义是对补偿的anchor采用iou加权的focal loss,对于matched和unmatched low-quality anchor则使用普通的focal loss,注意对于落选的unmached high-quality anchor,这里是忽略其loss的。
同时,也将补偿的HAMBox anchor加入回归loss,如下所示:
5.结论
在本文中,我们首先观察到一个有趣的现象,即只有11%正确预测的边界框在推理阶段来自匹配的锚回归**(论文原文貌似有错误,来自匹配的只有11%而不是非匹配的)**。然后,我们进一步提出了一个在线的高质量锚挖掘策略,帮助异常脸匹配高质量锚。该方法首先提高了人脸与锚匹配的比例,然后提出了一种面向异常脸的在线高质量锚补偿策略。最后,我们为新的补偿锚设计了一个回归感知的focal loss。在多个数据集进行了广泛的实验,取得了最新的检测性能。