人脸检测江湖的那些事儿( 二 )


标准转变: SFace
SFace: An Efficient Network for Face Detection in Large Scale Variations
今朝的人脸检测方式仍无法很好地应对大规模标准转变,基于图像金字塔的方式理论上可笼盖所有标准,但必需多次采样原图,导致大量反复计较;而基于特征金字塔的方式,特征层数不宜加过多,从而限制了模子处置标准规模的上限 。 是否存在一种方式,图像只经由过程模子一次,同时又笼盖到足够大的标准规模呢?
今朝,单步检测方式大致可分为两类: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 收集布局具体而言,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+,十分适合处置更高分辩率图像 。

推荐阅读