PFLD:A Practical Facial Landmark Detector学习笔记

PFLD论文地址:https://arxiv.org/pdf/1902.10859v2.pdf
PFLD源码地址:https://github.com/polarisZhao/PFLD-pytorch

文章目录

  • Abstract
  • 1. Introduction
  • 2. Methodology
    • 2.2 Backbone Network
    • 2.3 Auxiliary Network
    • 2.4 Implementation Details
  • 3. Experimental Evaluation
    • 3.1 Experimental Settings
    • 3.2 Experimental Results
  • 4. Concluding Remarks

Abstract

准确、高效、精简/小型是人脸标记检测器实现实际应用的关键。为了同时考虑这三个问题,本文研究了一个整洁的模型,该模型具有在各种自然环境(例如,不受约束的姿势、表情、光照和遮挡条件)下有前景的检测精度和移动设备上的超级实时速度。更具体地说,本文定制了一个与加速技术相关的端到端单阶段网络。在训练阶段,对于每个样本,旋转信息估计用于几何正则化地标定位,然后不涉及测试阶段。除了考虑几何正则化,还设计了一种新的损失,通过将样本的权重调整到不同的状态,如训练集中的大姿势、极端光照和遮挡,来缓解数据不平衡的问题。本文进行了大量的实验来证明本文的设计的有效性,并揭示了在广泛采用的具有挑战性的基准上,即300W(包括iBUG、LFPW、AFW、HELEN和XM2VTS)和AFLW上,其优于最先进的替代方案的性能。本文的模型可以只有2.1Mb大小,在手机上达到140帧以上(高通ARM 845处理器)的高精度,使其具有大规模或实时应用的吸引力。本文已经在http://sites.google.com/view/xjguo/fld上公开了基于PFLD 0.25X模型的实际系统,用于鼓励来自社区的比较和改进。

1. Introduction

关于关键点检测精度的问题总结为以下三个挑战
(1) 局部多变性(多样性):表情、局部极端光照(如高光和阴影)和遮挡会给人脸图像带来部分变化/干扰;
(2) 全局多变性(多样性):姿态和成像质量是影响图像中人脸出现的两个主要因素,当人脸的全局结构被错误估计时,会导致(大量)关键点的定位不良;
(3) 数据的不平衡:数据分布不平衡关于致使模型/算法不能合理有效地学习数据的特征表示,会影响最终的性能;
(4) 模型的有效性:适用性方面的两大约束主要是模型大小和对算力的需求;

本文的主要贡献
(1) 本文的主要意图/目的是表明一个好的设计可以在达到SOTA的同时,也可以节省大量资源;
(2) 提出了PFLD算法;
(3) 对于如何增强算法鲁棒性(几何约束)和数据不平衡问题,本文提出 了一种新的损失;
(4) 使用MS-FC层以增大接受域和更好的捕获脸部的全局结构;
(5) 在处理速度和模型紧凑性方面,本文使用MobileNet块构建了PFLD的主干网络;
(6) 通过大量实验证明了本算法的有效性;

2. Methodology

在本小节中,主要关注以下几方面:
1.损失方面的设计,目的是以同时关注 Challenges #1,#2和#3;
2.网络结构细节阐述,以主要关注Challenge #4;

2.2 Backbone Network

Backbone的详细配置如Table 1:
PFLD:A Practical Facial Landmark Detector学习笔记_第1张图片

2.3 Auxiliary Network

一个合理/合适的辅助约束对于关键点定位的稳定和鲁棒是有益的。本文提出的辅助网络就起到这样的作用,辅助网络结构如下,且其输入来自backbone的第4块(此处应该指第4个bottleneck,具体细节看代码~)。
PFLD:A Practical Facial Landmark Detector学习笔记_第2张图片

2.4 Implementation Details

  • 根据给定的bbox先将所有的人脸进行裁剪,并resized到112 * 112;
  • batch size为256;
  • 优化器是Adam,权重缩减参数:1e-6;动量参数0.9;
  • 整个训练过程中,lr被固定为1e-4;
  • 显卡:1080Ti;
  • 对于300W,在训练数据中使用flip和rotation(-30°,30°,step=5°)增强方式;除此每个样例中均有20%的区域被随机遮挡;
  • 对于AFLW,不进行任何增强;
  • 对于模型测试阶段中,网络结构中仅使用/包含backbone;

3. Experimental Evaluation

3.1 Experimental Settings

Datasets:300W和AFLW;
评价标准/准则:Normalized Mean Error(NME)与Cumulative Error Distribution Curve(CED);[详细细节可参考–https://blog.csdn.net/john_bh/article/details/106096775。]

3.2 Experimental Results

Model Size
在这里插入图片描述
Processing Speed
如上图Table3中。(C表示CPU、G表示GPU、A表示高通arm845处理器)。
在高通arm845处理器上,PFLD 0.25X 模型每7ms检测一张人脸(超过140fps);PFLD 1.0X每26.4ms检测一张人脸(超过37fps)。
Ablation Study
主要是为了说明本文新设计loss的有效性。下表中的IPN评价指标具体参考https://blog.csdn.net/john_bh/article/details/106096775。
PFLD:A Practical Facial Landmark Detector学习笔记_第3张图片

4. Concluding Remarks

  • 人脸关键点检测器要想胜任大规模和/或实时任务,需要关注以下三个方面:精度、效率和模型的轻量/精简;
  • 本文提出了一个实用的人脸关键点检测算法:PFLD。其包含两个子网络:主干网络 [主要是以mobilenet blocks构成] 和辅助网络;
  • 在网络中还有使用multi-scale的全连接层以增大接受域及捕获人脸结构的能力;
  • 为了进一步调整/规范化关键点的定位,本文使用另一分支,即辅助网络,可有效估计旋转信息;
  • 考虑到几何正则化和数据不平衡问题,设计了一个新的损失;
  • 大量的实验结果证明了本文新设计算法的优越性;

你可能感兴趣的:(目标检测+关键点检测,人工智能,python)