• 论文笔记--PCN:Real-Time Rotation-Invariant Face Detection with Progressive Calibration Networks


    1. 测试demo:https://github.com/Jack-CV/PCN
    2. 关键词:rotation-invariant face detection, rotation-in-plane, coarse-to-fine
    3. 核心概括:该篇文章为中科院计算所智能信息处理重点实验室VIPL课题组,邬书哲博士在CVPR2018上的论文。论文主要针对的是在不同平面角度下的人脸检测,主题思想可以概括为Progressive Calibration Networks(PCN), 即逐步校正不同角度的人脸。
    4. 已有方法:目前,针对平面角度的人脸检测主要有3种策略,即data augmentation, divide-and-conquer, rotation router。

     

     

    4. 改进:作者为了快速地检测不同平面角下的人脸(0°~360°),通过逐级校正的路线,针对第一级检测出来的人脸,将为[-180°, 180°]的人脸翻转到[-90°, 90°]。这一步简单来说,就是把朝下的人脸翻转为朝上,这样就减少了一半的角度范围。第二级再继续以两条±45°的轴进行翻转,将人脸的角度范围限制到[-45°, 45°]。第三级,使用角度偏差回归预测精准的角度。校正流程如下:

     

     5. 样本划分:

    Positive, IOU > 0.7

    Negative, IOU < 0.3

    Suspected,  IOU ∈[0.3, 0.7]

    Positive 和 negative 用于人脸分类,positive 和suspected 用于人脸框的回归和角度校正。

    需要说明的是,

    三级网络的训练样本输入分别为24x24,24x24,48x48。

    对于第一级网络,人脸范围划分为2部分,人脸朝上的角度范围是[−65°,65°], 人脸朝下的范围是[-180°,-115°]∪[115°,180°],其他角度范围不作训练数据。可以定义朝上的label为0,朝下的为1。

    对于第二级网络,人脸范围划分为3部分,分别为[-90°,-45°],[-45°,45°],[45°,90°],可以定义label分别为0,1,2。

    对于第三级网络,人脸范围为[-45°,45°],与前两个网络不同,训练的任务是人脸角度的回归。

     6. 训练细节:

    每个batch里的样本比例,positive: negative:suspected=2:2:1

    max_iters:100,000

    type:SGD

    lr_base:0.001

    gamma:0.1

    lr_policy:step

    step:70,000

    wd:0.0005

    7. 网络结构:

     

     8. 算法介绍:

    8.1 PCN-1

    对于每一个输入的滑窗,第一级网络有3个目标:人脸与非人脸的判断(f),人脸框的回归(t),角度的分类score(g)。

     

    第一个目标f,使用softmax-loss,y=1 if face else 0

     

    第二个目标t,使用 l1 loss

       

    人脸框的回归由3部分组成,w代表宽度,(a,b)代表人脸框的左上角坐标

       

    第三个目标g,和第一个类似使用softmax-loss, y=1 if face is up else 0

       

    最终的loss为,λ为各个loss 的weight

     

    第一级的人脸角度划分,根据预测的θ进行划分,0°表示人脸朝上,不翻转;180°表示人脸朝下,进行翻转。

       

    8.2 PCN-2

    第二级与第一级类似,只是角度的校正范围发生了变化,转变为[-90°,-45°],[-45°,45°],[45°,90°]

     

    8.3 PCN-3

    经过第二级的校正之后,人脸的范围已经校正到竖直的一个区域。通过直接对角度进行回归,使用的loss变为l1 loss。

    最终的角度可以由3级网络检测的角度进行叠加得到。

       

    9. 实验结果:

       

       

       

    ——无善无恶心之体, 有善有恶意之动, 知善知恶是良知, 为善去恶是格物
  • 相关阅读:
    软件工程第一次作业
    Python正则表达式学习摘要
    个人作业——软件工程实践总结作业
    个人作业——软件评测
    软件工程实践2019第五次作业--结对编程的实现
    软件工程实践2019第四次作业
    软件工程实践2019第三次作业
    软件工程实践2019第二次作业
    软件工程实践2019第一次作业
    个人作业——软件工程实践总结&个人技术博客
  • 原文地址:https://www.cnblogs.com/danpe/p/8970758.html
Copyright © 2020-2023  润新知