人脸检测之RetinaFace

 

论文:RetinaFace: Single-stage Dense Face Localisation in the Wild

代码:https://github.com/deepinsight/insightface/tree/master/RetinaFace

https://github.com/biubug6/Pytorch_Retinaface

 

论文基于RetinaNet进行改进,提出了RetinaFace。传统的目标检测框架RetinaNet只进行分类,边框预测。RetinaFace再此基础上,增加了人脸关键点landmark预测,稠密3D人脸预测。

主要贡献:

  1. 人工在人脸检测数据集WIDER FACE 上标注了人脸的5个关键点,通过增加5个关键点的loss约束,使得在困难样本上的检测效果明星提升。
  2. 增加了基于自监督的网格解码分支,用于预测3D人脸形状。
  3. 在WIDER FACE 的hard 测试集上,取得了91.4%的效果。
  4. 在IJB-C 测试集上,使用RetinaFace做预处理,可以获得更佳的人脸识别精度(TAR=89:59% for FAR=1e-6)
  5. 采用mobileNetv1这样的轻量框架,RetinaFace可以在VGA分辨率下,单核cpu实现实时推理。
  6. 贡献了人脸关键点的额外标注及其代码。

 

人脸的特点:

很小的长宽比,1:1 ---- 1:1.5 ,很大的尺度scale变化。

 

Two-stage v.s. single-stage :

one-stage更高效,具有更高的召回率,缺点是误检率也大,框的定位不够准确。

 

Loss设计:

Lcls表示分类的loss,

Lbox表示人脸框的loss,

Lpts表示人脸关键点的loss,

Lpixel表示稠密3D人脸的2D投影图和原图之间的L1 loss。λ1-λ3 分别为0.25,0.1,0.01

 

Lpixel分支,使用了图卷积,相比传统卷积具有更少的参数量。

传统卷积的参数量大小为K*K*Cin*Cout,图卷积的参数量大小为K*Cin*Cout。其中K表示连接的线路个数。如上图,K=1表示和红色点直接相连,K=2表示距离红色点路径=2的所有点,K=3表示距离红色点路径=3的所有点。

稠密回归分支,分别通过图卷积预测形状和纹理参数Pst,维度为128维。相机参数Pcam,包括相机的位置,姿势,焦距,维度为7维。光源参数Pill,包括光源的位置,颜色,环境光颜色,维度为9维。通过这3个预测,生成3D的人脸mesh,然后再将其投影为2D的图片,计算其和输入图片的L1距离。

 

网络结构:

整体结构为Resnet-152+FPN,或者MobileNetv1+FPN的设计,其中FPN包括,P2,P3,P4,P5,P6共5个分支。

Context Module 模块,采用可变形卷积DCN来替换传统的3*3卷积。

 

Anchor设计:

 

WIDER FACE 额外标注:

作者将WIDER FACE中的人脸数据集分成5个档次,分别为无可置疑的68个关键点,可以标注68个关键点,无可置疑的5个关键点,可以标注5个关键点,可以被纹理区分。

 

实验结果:

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值