CVPR-2013


文章目录

  • 1 Background and Motivation
  • 2 Related Work
  • 3 Advantages / Contributions
  • 4 Method
  • 5 Experiments
    • 5.1 Datasets
    • 5.2 Investigate network and cascade structures
    • 5.3 Comparison with other methods
  • 6 Conclusion(own) / Future work

1 Background and Motivation

face keypoint detection 有利于 face recognition and analysis

face keypoint detection 难点在于 extreme poses, lightings, expressions, and occlusions 的场景

现有方法:

  • classifying(component detector) search windows,要 scanning,利用的是局部特征
  • directly predicting keypoint positions (or shape parameters)

作者设计了一种级联的 CNN 结构——a cascaded regression approach for facial point detection with three levels of convolutional networks,significantly improves the prediction accuracy of SOTA and latest commercial software

2 Related Work

  • Many used Adaboost, SVM, or random forest classifiers as component detectors and detection was based on local image features.
  • regression-based approaches
  • Convolutional networks

3 Advantages / Contributions

  • 提出级联的 CNN 结构用于人脸关键点的精确定位,在一些数据上的效果优于 SOTA 和商业软件
  • 采用 locally sharing weights 对人脸不同关键点进行更有针对性的训练

4 Method

级联网络结构如下

cascade three levels of convolutional networks to make coarse-to-fine prediction

五个关键点:

  • left eye center (LE)
  • right eye center (RE)
  • nose tip (N)
  • left mouth corner (LM)
  • right mouth corner (RM)

1)level 1

输入是整张脸,三个网络分别预测

  • whole face (F)——指的是脸上的五个关键点
  • eyes and nose (EN)
  • nose and mouth (NM)

三个网络的结果会平均一下作为后续 level 的输入的一部分

2)level2 和 level3

输入是以前一个 level 预测人脸关键点的坐标为基准的一个 patch

level2 和 level3 有 10 个网络,分别预测 5 个关键点的横纵坐标

Predictions at the last two levels are strictly restricted because local appearance is sometimes ambiguous and unreliable.

3)最终预测


也即在 level1 预测的结果的基础上 refine(Δ\DeltaΔ)

4)具体网络结构

level1 三个网络,level2 和 level3 各有 10 个网络,长啥样呢?

先看看 level1 的 F1


再看看其他的结构

level1 用到了 S0 和 S1,level2 和 level3 都用的是 S2

5)locally sharing weights

globally sharing weights does not work well on images with fixed spatial layout, such as faces

For example, while eyes and mouth may share low-level features (e.g. edges), they are very different at high-level.

先看看卷积的公式

简写成 C(s,n,p,q)C(s, n, p, q)C(s,n,p,q)

CR(s,n,p,q)CR(s, n, p, q)CR(s,n,p,q) 则表示在 tanh 后加了个绝对值

除了 www 和 bbb 上多出来的 uuu 和 vvv 外和正常的卷积(没有 locally shared weight)一摸一样

输入特征图 (h,w,m)(h, w, m)(h,w,m)

  • mmm 输入通道数
  • nnn 输出通道数,ttt 输出的某个通道数,t=0,...,n−1t = 0,...,n-1t=0,...,n−1
  • sss 是卷积的 kernel size
  • i,ji, ji,j 是空间位置索引(不是像素空间,是作者划分的局部共享空间,具体划分规则如下面公式所示)
    i=Δh⋅u+0,...,Δh⋅u+Δh−1i = \Delta h \cdot u + 0, ... , \Delta h \cdot u + \Delta h -1i=Δh⋅u+0,...,Δh⋅u+Δh−1,其中 Δh=h−s+1p\Delta h = \frac{h-s+1}{p}Δh=ph−s+1​,u=0,...,p−1u = 0, ... , p-1u=0,...,p−1
    j=Δw⋅v+0,...,Δw⋅v+Δw−1j = \Delta w \cdot v + 0, ... , \Delta w \cdot v + \Delta w -1j=Δw⋅v+0,...,Δw⋅v+Δw−1,其中 Δw=w−s+1q\Delta w = \frac{w-s+1}{q}Δw=qw−s+1​,v=0,...,q−1v = 0, ... , q-1v=0,...,q−1

把整图 (h,w)(h, w)(h,w) 大致分成了ppp x qqq 块区域(用 uuu 和 vvv 来索引),每块区域大小大致为 Δh\Delta hΔh x Δw\Delta wΔw,每块区域内权重共享,而不是全图了(正常卷积全图内权重共享——kernel size 范围内当然不共享)

再看看池化层的公式

gain coefficient ggg and shifted by a bias bbb,sss is the side length of square pooling regions

FC 层

  • nnn 输出向量维度,mmm 输入向量的维度
  • j=0,...,n−1j = 0, . . . , n − 1j=0,...,n−1

tanh 函数

6)具体输入大小

可以看到 F1 的网络还在人脸的基础上外扩了一些

level2 和 level3 在 level1 输出的 point position 上外扩

5 Experiments

5.1 Datasets

  • 13, 466 face images,5, 590 images are from LFW + 7, 876 from the web

  • BioID has 1, 521 images of 23 subjects

  • LFPW contains 1, 432 face images from the web

评价指标

  • (x,y)(x,y)(x,y) 是预测的关键点
  • (x′,y′)({x}',{y}')(x′,y′) 是 GT
  • lll is the width of the bounding box returned by our face detector

误差大于 %5 则认为 failure

lll 为 bi-ocular distance(双目距离)更常见,but it has problem on faces with large pose variations, since bi-ocular distance of near-profile faces is much shorter than that of frontal faces,也即会放大侧脸时候的误差,上述的相对会好一些

5.2 Investigate network and cascade structures

1)Network structure

F1 探索了不同网络的效果,S0较好

the performance can be significantly improved by including more layers

S6 和 S7 的结构同 S0,但 S6 卷积用的 C 不是 CR,S7 用的是 globally shares weights 而不是 locally sharing weights

We also find that locally sharing weights in higher layers is more important

2)Multi-level prediction

cascade 下来,error 在减少

5.3 Comparison with other methods


6 Conclusion(own) / Future work

代码:https://github.com/luoyetx/deep-landmark

推荐博客:

  • Deep Convolutional Network Cascade for Facial Point Detection实践总结
  • Deep Convolutional Network Cascade for Facial Point Detection阅读笔记
  • 深度学习人脸关键点检测方法----综述

cascade

locally sharing weights

【Cascade FPD】《Deep Convolutional Network Cascade for Facial Point Detection》相关推荐

  1. 【HRNet】《Deep High-Resolution Representation Learning for Human Pose Estimation》

    CVPR-2019 代码:https://github.com/leoxiaobin/deep-high-resolution-net.pytorch 文章目录 1 Background and Mo ...

  2. 计算机思维在美术方面的应用,【家园共育】《思维绘画在儿童美术中的运用》心得体会...

    原标题:[家园共育]<思维绘画在儿童美术中的运用>心得体会 提到幼教365,相信老师和家长们已不再陌生,转眼间,从刚开始接触到深入学习幼教365平台上专家的直播讲座已经90多期了.现在,老 ...

  3. 【Simple Baselines】《Simple Baselines for Human Pose Estimation and Tracking》

    ECCV-2018 文章目录 1 Background and Motivation 2 Advantages / Contributions 3 Method 3.1 Pose Estimation ...

  4. 【读论文】A Deep Neural Network for Unsupervised Anomaly Detection and Diagnosis in Multivariate Time...

    目录 1. 这篇文章的主要研究内容 2. MSCRED Framework 1. Problem Statement 2. Overview (1)Characterizing Status with ...

  5. 【论文阅读】DeepPap: Deep Convolutional Networks for Cervical Cell Classification

    写在前面:该文章发于期刊. DeepPap: Deep Convolutional Networks for Cervical Cell Classification Ling Zhang, Le L ...

  6. 【哲学问题】-《哲学家们都干了些什么?》

    引言 本文来源于<哲学家们都干了些什么?>这本书以及本人阅读此书之后的一些想法.这本书虽通熟易懂,但贯穿了哲学所涉及的大部分内容,我将挑出书中涉及的比较重要的内容并融入我的部分思考分几次来 ...

  7. 【阅读笔记】《TDN: Temporal Difference Networks for Efficient Action Recognition》阅读笔记

    <TDN: Temporal Difference Networks for Efficient Action Recognition> 论文连接:https://arxiv.org/ab ...

  8. 【文本分类】《融合后验概率校准训练的文本分类算法》

    ·阅读摘要:   本文主要提出后验概率校准.负例监督两个创新点,提升了实验精度. ·参考文献:   [1] 融合后验概率校准训练的文本分类算法 参考论文信息   论文名称:<融合后验概率校准训练 ...

  9. 【2023新书】《ChatGPT在做什么…以及它为什么好使》

    来源:专知 本文为书籍介绍,建议阅读5分钟 沃尔夫勒姆不但讲清楚了GPT的底牌和命门,而且提出了一个可谓惊世骇俗的洞见. 精英日课解读的2023年3月9日刚刚出版的新书<ChatGPT在做什么- ...

最新文章

  1. 全球第五大社交网站,二号员工离职创业,自爆心酸历程!想做10亿美元规模?先活着!...
  2. python爬虫工程师-Python-爬虫工程师-面试总结
  3. docker 容器状态 restarting_20分钟极简入门Docker
  4. WSUS服务器的建立以及客户端发布
  5. 2.5w字长文爆肝 C++动态内存与智能指针一篇搞懂!太顶了!!!
  6. 第三章:什么是组织结构
  7. oe7 安装财务模块后,科目表没有导入成功
  8. 【实战】烂泥:XP系统的共享,你究竟知道
  9. Android Multimedia框架总结(八)Stagefright框架之AwesomePlayer及数据解析器
  10. 三对角矩阵(特殊矩阵)
  11. 分治法——最大子列和问题
  12. php8新特性全览【超详细】
  13. 实验六 卷积神经网络(4)ResNet18实现MNIST
  14. 计算机要学什么知识,学电脑要先学什么 学电脑要学习什么知识
  15. select、poll、epoll之间的区别总结摘自http://www.cnblogs.com/Anker/p/3265058.html
  16. Visual C++ 2010如何解决程序运行闪退问题
  17. C# 高并发获取唯一ID算法
  18. 艺展中心七夕游园雅集,梦回长安品古韵
  19. android gradle lint,Android Lint
  20. android paint跑马灯,Android使用Canvas实现跑马灯

热门文章

  1. postgresql之窗口函数
  2. 【Elasticsearch】文本分析 Text analysis 查询_search中使用分析 (3)
  3. 传奇装备穿戴位置查询脚本,使用GetUserItemName
  4. node.js毕业设计安卓在线教育APP(程序+APP+LW)
  5. Apache Dubbo系列:泛化调用
  6. cxf动态构建webservice
  7. 雄迈IPC引领智能化时代潮流
  8. java中statement对象的作用,Statement stmt=null的作用是什么?该如何解决
  9. c# 串口 多线程_Mini PCI-E转串口卡 pcie串口卡 4口9针 mini pcie串口卡 多串口
  10. java大神的成神之路