题外话
这是 Face++ Detection Team(R4D)第 3 篇知乎专栏。若是说该专栏的定位是双标的目的交流,一个比力贴切的词可能是「窗口」:一方面,我们但愿从论文的出产、研究员的当作长甚至公司的文化空气等多方面被领会,被熟悉,被熟悉,但愿联袂配合见证最优检测算法的研究、立异与落地,冲破认知鸿沟,实现降本增效,为客户和社会缔造最大价值;另一方面,我们也但愿领会读者的设法,增添与读者的互动,形当作双标的目的反馈的正标的目的沟通机制。R4D 后续也会组织线下勾当,加大加深彼此交流。若是你感乐趣,或者想插手,接待联系 Face++ Detection Team 负责人俞刚 (yugang@megvii.com)。
本次分享的本家儿题是人脸检测(Face Detection),分享者是旷视科技王剑锋,来自 Face++ Detection 组。经由过程这篇文章,可以一窥旷视近两年在该偏向的工作与思虑,并但愿为计较机视觉社区带来开导,进一步鞭策人脸检测手艺的研究与落地。人脸检测是人脸识此外第一站,旷视的尽力本家儿要表现在紧紧环绕人脸检测范畴顽固而焦点的问题睁开,攻坚克难,功夫花在刀刃上,好比人脸标准的变更及遮挡等,实现速度与精度的双重涨点。
媒介
人脸检测的目标是,给心猿意马肆意图像,返回此中每张人脸的鸿沟框(Bounding Box)坐标,现实操作上它对通用物体检测(General Object Detection)有较多借鉴,是通用物体检测手艺的聚焦和细分。因为人脸检测是所有人脸阐发算法的前置使命,诸如人脸对齐、人脸建模、人脸识别、人脸验证 / 认证、头部姿态跟踪、面部脸色跟踪 / 识别、性别 / 春秋识别等等手艺皆以人脸检测为先导,它的黑白直接影响着人脸阐发的手艺走标的目的和落地,因而在学术界和工业界引起普遍的正视和投入。
现在,跟着深度进修普及,人脸检测与通用物体检测已相差无几,作为二分类使命,其难度也低于通用物体检测,是以现阶段人脸检测研究更需走差别化路线,从现实应用中罗致营养。
标准转变是人脸检测分歧于通用物体检测的一大问题。通用物体的标准转变规模一般在十几倍之内;与之比拟,人脸的标准转变规模因为摄像头不竭进级,在 4K 甚至更高分辩率场景中可达数十倍甚至上百倍。面临这一问题,[1, 2] 给出的谜底是寻找最优标准多次采样原图,其素质是优化图像金字塔(Image Pyramid);[3, 4] 则操纵分歧深度的特征图顺应分歧标准的人脸,其素质是优化特征金子塔(Feature Pyramid);而旷视自立研创的 SFace 方式试着从完全分歧的角度切入这一问题。这是本文第一部门。
和标准转变一样,遮挡也是人脸检测面对的常见挑战之一。现实场景中的眼镜、口罩、衣帽、头盔、首饰以及肢体等皆会遮挡人脸,拉低人脸检测的精度。对此,[5, 6] 测验考试晋升神经收集顺应遮挡环境的能力,[7] 则将问题转化为遮挡与非遮挡人脸在标的目的量空间中的距离这一怀抱进修问题。此外,良多深度进修方式练习时辅用的数据加强手艺也在必然水平上提高了收集对遮挡景象的鲁棒性;而旷视原创的全新算法 FAN 也是针对人脸遮挡问题而提出。这是本文第二部门。
如上所述,人脸检测是人脸关头点、人脸识别等的前置使命,人脸检测框质量直接影响着整条 Pipeline 的表示,常见人脸检测数据集的评测指标对鸿沟框质量缺乏存眷;2018 WIDER Challenge Face Detection 初次采用不异于 MS COCO 的评测体例,表白这一状况已有大幅改善;本文第三部门则将介绍此次角逐夺冠的一些诀窍。
标准转变: SFace
今朝的人脸检测方式仍无法很好地应对大规模标准转变,基于图像金字塔的方式理论上可笼盖所有标准,但必需多次采样原图,导致大量反复计较;而基于特征金字塔的方式,特征层数不宜加过多,从而限制了模子处置标准规模的上限。是否存在一种方式,图像只经由过程模子一次,同时又笼盖到足够大的标准规模呢?
今朝,单步检测方式大致可分为两类:1)Anchor-based 方式,如 SSD[8]、RetinaNet[9] 等;2)Anchor-free 方式,如 DenseBox[10]、UnitBox[11] 等。Anchor-based 方式处置的标准规模虽小,但更精准;Anchor-free 方式笼盖的标准规模较大,但检测细小标准的能力低下。一个很是天然的设法就是,两种方式可以融合进一个模子吗?抱负很丰满,实际很骨感,Anchor-based 和 Anchor-free 方式的输出在定位体例和置信度得分方面差别显著,直接归并两个输出坚苦很大,具体原因如下:
其一,对于 Anchor-based 方式,ground truth IoU ≥ 0.5 的锚点将被视为正练习样本。可以发现,正负样本的界说与鸿沟框回归成果无关,这就导致 Anchor-based 分支每个锚点输出的分类置信度本色上暗示的是「锚点框住的区域是人脸」的置信度,而不是「收集展望的回归框内是人脸」的置信度。故而分类置信度很难评估收集现实的定位精度。对于在营业层将 Classfication Subnet 和 Regression Subnet 分隔的收集,环境将变得更为严重。
其二,对于 Anchor-free 方式,收集练习体例近似于方针朋分使命。输出的特征图以鸿沟框中间为圆心,半径与鸿沟框标准当作比例的椭圆区域被界说为正样本区域,特征图其它位置(像素)被视为布景。经由过程这种体例,Anchor-free 分支的分类置信度得分本色为「该像素落在人脸上」的置信度,并且该分类置信度与定位的精确度的联系关系同样很弱。
总而言之,Anchor-based 方式和 Anchor-free 方式的分类置信度都与回归定位精度联系关系甚微,其置信度得分也别离代表着分歧的寄义。是以经由过程分类成果直接归并两个分支输出的鸿沟框是不合理的,而且可能导致检测机能的急剧下降。
是以,可以将回归的鸿沟框和 ground truth 鸿沟框之间的 IoU 看成 Classfication Subnet 的 ground truth,这恰是 SFace 所做的工作。
具体而言,SFace 设计了 Anchor-based 和 Anchor-free 两个分支,前者基于 RetinaNet,后者基于 UnitBox;两个分支都在练习第一步经由过程 Regression Subnet 生当作鸿沟框;接着计较鸿沟框和 ground truth 鸿沟框之间的 IoU;(Anchor-based 分支的)锚点和(Anchor-free 分支的)像素中 IoU ≥ 0.5 的成果将视为 Classfication Subnet 的正样本,其它则视为负样本,Classfication Loss 采用 Focal Loss。我们还测验考试过直接回归 IoU,然而尝试成果表白,相较于采用 Sigmoid Cross Entropy 或 Focal Loss,直接回归 IoU 所得成果方差较大,现实结果欠佳。
Anchor-based 分支和 Anchor-free 分支都利用 IoU Loss 做为 Regression Loss。这种调整有助于同一两个分支的输出体例,优化组合成果。经由过程以上批改,两个分支的分类子收集的本色寄义获得同一,分类置信度的分布获得必然水平的弥合,从而 SFace 可有用融合两个分支的成果。
此外,SFace 必需运行很快才有现实意义,不然大可以选择做图像金字塔。为此,基于 Xception,SFace 采用了一个 FLOPs 仅有 39M 的 Backbone,称之为 Xception-39M,每个 Block 包罗 3 个 SeparableConv 的 Residual Block。Xception-39M 运算量很是小,感触感染野却高达 1600+,十分适合处置更高分辩率图像。
SFace Backbone 理论计较量只有下表中部门方式的 1/200(这些方式多采用 VGG-16、ResNet-101 等作为 Backbone),且都采用多标准测试;而 SFace 测试全数在单一标准下进行。事实上,SFace 的设计初志恰是只在一个标准下测试即可笼盖更大规模的标准转变。
消融尝试证实直接融合 Anchor-based 与 Anchor-free 方式不成行,而 SFace 提出的融合方式是有用的。Anchor-free 分支笼盖了绝大大都标准(easy set 和 medium set),而 Anchor-based 分支晋升了细小人脸(hard set)的检测能力。
4K 分辩率下,SFace 运行速度上接近及时,据知这是首个在 4K 分辩率下 WIDER Face hard AP 高于 75 的及时人脸检测方式。
遮挡:FAN
我们可以从另一个角度考虑遮挡问题。一个物体在清楚可见、无遮挡之时,其特征图对应区域的响应值较高;若是物体有(部门)遮挡,抱负环境应是只有遮挡区域响应值下降,其余部门不受影响;但现实环境倒是整个物体地点区域的响应值城市降低,进而导致模子 Recall 下降。
解决这个问题大要有两种思绪:1)尽可能连结住未遮挡区域的响应值,2)把无遮挡区域降低的响应值填补回来;前者较难,后者则相对轻易。一个简单的做法是让检测器进修一个 Spatial-wise Attention,它应在无遮挡区域有更高的响应,然后借助它以某种体例加强原始的特征图。
那么,若何设计这个 Spatial-wise Attention。最简单考虑,它该当是一个 Segmentation Mask 或者 Saliency Map。基于 RetinaNet,FAN 选择增添一个 Segmentation 分支,对于学到的 Score Map,做一个 exp 把取值规模从 [0, 1] 放缩到[1, e],然后乘以原有的特征图。为简单起见,Segmentation 分支只是叠加 2 个 Conv3x3,Loss 采用 Sigmoid Cross Entropy。
这里将面临的一个问题是,Segmentation 分支的 ground truth 是什么,究竟结果不存在邃密的 Pixel-level 标注。因为人脸图像近似椭圆,一个先验信息是鸿沟框区域内几乎被人脸填满,布景区域很小;常见的遮挡也不会改变「人脸占有鸿沟框绝大部门区域」这一先验。基于这一先验可以直接输出一个以鸿沟框矩形区域为正样本、其余区域为负样本的 Mask,并将其视为一个「有 Noise 的 Segmentation Label」作为现实收集的 ground truth。我们也测验考试按照该矩形截取一个椭圆作为 Mask,但尝试成果表白根基没有区别。
这样的 ground truth 真能达到结果吗?经由过程可视化已学到的 Attention Map,发现它确实可以规避开部门遮挡区域,好比一小我拿着话筒讲话,Attention Map 会高亮人脸区域,绕开话筒区域。我们相信,若是采用更复杂的手段去清洗 Segmentation Label,现实结果将有更多提高。
FAN 在 WIDER Face 上曾经连结了半年的 state-of-the-arts。因为仅仅验证方式的可行性,FAN 没有叠加任何 trick,只在原始的 RetinaNet 上调整锚点框,增添我们的 Spatial Attention,是以 FAN 还有很大的上升空间。
定位精度:2018 WIDER Challenge Face Detection
第三部门介绍一下旷视科技夺魁 上的解决方案。2018 WIDER Challenge 有 3 个 track,旷视参战了此中的 Face Detection。更多信息请拜见:旷视科技夺获人工智能顶赛人脸检测冠军。
Face Detection 利用 WIDER Face 数据集原始图像,可是 Label 做了必然批改。据我们统计,Label 数目稍多于原数据集,导致在不合错误模子做任何更改的环境下,利用新 Label 也会比原 Label 涨点(更新:今朝 WIDER Face 官网上已经用 WIDER Challenge Label 笼盖原 Label,不再存在此问题)。此外,WIDER Challenge 数据集分歧于 WIDER Face 数据集的是,利用了不异于 MS COCO 的 Metrics,这意味着对模子的回归能力提出了更高的要求。
旷视夺冠的方式仍然基于 RetinaNet。经由过程对比常见 Backbone,我们给出了以下表格的成果。可以发现,更强的 Backbone 并不料味着更好的 Detection 能力。一些 Backbone 分类能力更强,可是供给的特征或者分层特征并不敷好;感触感染野等对 Detection 至关主要的身分也不合适;对于二分类问题而言也存在过拟合现象。因为尝试周期等原因,我们最后简单选择了 ResNet-50 和 DenseNet-121 继续后面的尝试。需要声明的是,它们在良多环境下都不是最优 Backbone,我们有需要思虑何种 Backbone 提取的特征最适合做检测。
我们在 Backbone 上应用了 GAP trick,这在上篇知乎专栏(语义朋分江湖的那些事儿从旷视说起)有所介绍。该 trick 同样合用于 Detection。我们还利用了 Deformable Conv,但其进献本家儿如果扩大 ResNet 原本不高的感触感染野。
对于 Head 部门,我们起首将 Smooth L1 Loss 换当作 IoU Loss,这是为赐顾帮衬数据中占比力多的小脸,但现实阐发一下可以发现,在锚点框合适的环境下,IoU Loss 的晋升会很细小。我们对 Head 的本家儿要改动是做一个简单的 Cascade。Cascade R-CNN[12] 是最早经由过程做 Cascade 晋升模子 Regression 能力的方式,我们但愿将其移植到单步检测器上。
可以发现,具体做法部门借鉴了 SFace,即把前一个 Stage 的预练习鸿沟框与 ground truth 鸿沟框之间的 IoU 作为下一个 Stage 的 Classification Label;跟着 IoU 逐渐晋升,每个 Stage 的 IoU threshold 也逐渐增大,这与 Cascade R-CNN 很近似。
这个 Cascade 方案不难想到,也简单易行,可是简直涨点,Inference 时也只需保留最后一个 Stage,不会增添 Inference 当作本;这个方案也有本身的问题,最大的是每个 Stage 在共用统一个特征图,也共用不变的 anchor,对此已有一些相关论文提出改良,如[13, 14, 15]。
此外,我们还在 Data Augmentation、Ensemble 等方面做了改良,因为比力 trivial,这里不再赘述。我们曾在 ECCV 2018 Workshop 展示过该方案,更多内容请查阅 slides:
作者简介
王剑锋,海说神聊京航空航天大学软件学院硕士,旷视科技研究院算法研究员,研究偏向人脸检测、通用物体检测等;人脸检测算法 SFace 和 FAN 一作;2018 年加入计较机视觉顶会 ECCV 挑战赛 WIDER Challenge 获得人脸检测(Face Detection)冠军。
参考文献:
[1] Hao Z, Liu Y, Qin H, et al. Scale-Aware Face Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 6186-6195.
[2] Liu Y, Li H, Yan J, et al. Recurrent Scale Approximation for Object Detection in CNN[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 571-579.
[3] Yang S, Xiong Y, Loy C C, et al. Face Detection through Scale-Friendly Deep Convolutional Networks[J]. arXiv preprint arXiv:1706.02863, 2017.
[4] Zhu C, Zheng Y, Luu K, et al. CMS-RCNN: contextual multi-scale region-based CNN for unconstrained face detection[M]//Deep Learning for Biometrics. Springer, Cham, 2017: 57-79.
[5] Opitz M, Waltner G, Poier G, et al. Grid loss: Detecting occluded faces[C]//European conference on computer vision. Springer, Cham, 2016: 386-402.
[6] Chen Y, Song L, He R. Adversarial Occlusion-aware Face Detection[J]. arXiv preprint arXiv:1709.05188, 2017.
[7] Ge S, Li J, Ye Q, et al. Detecting Masked Faces in the Wild With LLE-CNNs[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 2682-2690.
[8] Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]//European conference on computer vision. Springer, Cham, 2016: 21-37.
[9] Lin T Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 2980-2988.
[10] Huang L, Yang Y, Deng Y, et al. Densebox: Unifying landmark localization with end to end object detection[J]. arXiv preprint arXiv:1509.04874, 2015.
[11] Yu J, Jiang Y, Wang Z, et al. Unitbox: An advanced object detection network[C]//Proceedings of the 2016 ACM on Multimedia Conference. ACM, 2016: 516-520.
[12] Cai Z, Vasconcelos N. Cascade r-cnn: Delving into high quality object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 6154-6162.
[13] Chen X, Yu J, Kong S, et al. Towards Real-Time Accurate Object Detection in Both Images and Videos Based on Dual Refinement[J]. arXiv preprint arXiv:1807.08638, 2018.
[14] Wang J, Chen K, Yang S, et al. Region proposal by guided anchoring[J]. arXiv preprint arXiv:1901.03278, 2019.
[15] Kong T, Sun F, Liu H, et al. Consistent Optimization for Single-Shot Object Detection[J]. arXiv preprint arXiv:1901.06563, 2019.
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!