《Facial Landmark Detection by Deep Multi-task Learning》发表于ECCV-2014,作者来自香港中文大学汤晓鸥团队的Zhanpeng Zhang等人。

创新点:
1.将MTL(多任务学习)结合CNN应用到人脸关键点检测
2.为解决各任务有着不同收敛速度而导致的优化难问题,提出针对多任务学习的early stopping。

Zhang等人将MTL(Multi-Task Learning)应用到人脸关键点检测中,提出TCDCN(Tasks-Constrained Deep Convolutional Network)。作者认为,在进行人脸特征点检测任务时,结合一些辅助信息可以帮助更好的定位特征点,这些信息如,性别,是否带眼镜,是否微笑和脸部的姿势等等。看看作者给的对比图,感受一下~~:

———————————————分割线—————————————————–

作者将人脸关键点检测(5个关键点)与性别,是否带眼镜,是否微笑和脸部的姿势这四个子任务结合起来构成一个多任务学习模型,模型框架如图所示。

网络输出为40*40的灰度图,经过CNN最终得到2*2*64的特征图,再通过一层含100个神经元的全连接层输出最终提取得到的共享特征。该特征为所有任务共同享用,对于关键点检测问题,就采用线性回归模型;对于分类问题,就采用逻辑回归。
在传统MLT中,各任务重要程度是一致的,其目标方程如下:

其中, f(xt;wt)f(x^{t};w^{t})表示xtx^{t} 与权值矩阵wtw^{t}相乘之后经过函数f(∗)f(*) ,l(∗){l(*)} 表示损失函数,Φ(⋅)\Phi (\cdot ) 是正则项。可以看到对于各任务t而言,其重要性是相同的,但是在多任务学习中,往往不同任务的学习难易程度不同,若采用相同的损失权重,会导致学习任务难以收敛。文章针对多任务学习中,不同学习难度问题进行了优化,提出带权值的目标函数:

其中,第一项表示主任务的损失函数,即人脸关键点检测的损失函数,第二项表示其余各子任务的损失函数,其中 λa\lambda ^{a}表示任务a的重要性因子。针对人脸关键点检测任务,本文结合了四个子任务,分别是:性别、是否带眼镜、是否微笑和脸部的姿势,最终目标函数为:

其中,第一项是平方和误差,表示人脸关键点损失函数,第二项是分类任务,采用的是交叉熵误差,第三项即正则项。
针对多任务学习的另外一个问题——各任务收敛速度不同,本文提出一种新的提前停止(Early Stopping)方法。当某个子任务达到最好表现以后,这个子任务就对主任务已经没有帮助,就可以停止这个任务。文章给出自动停止子任务的计算公式,如下:

其中, EatrE_{tr}^{a}表示训练得误差, EavalE_{val}^{a}表示验证的误差,ε\varepsilon 为阈值,第一项表示训练误差的趋势,第二项表示泛化误差与训练误差之比,当两项之积大于阈值 ,则该任务停止。

TCDCN采用多任务学习方法对人脸关键点进行检测,针对多任务学习在人脸关键点检测任务中的两个主要问题——不同任务学习难易程度不同以及不同任务收敛速度不同,分别提出了新目标函数和提前停止策略加以改进,最终在AFLW和AFW数据集上获得领先的结果。同时对比于级联CNN方法,在Intel Core i5 cpu上,级联CNN需要0.12s,而TCDCN仅需要17ms,速度提升七倍有余。

随笔:
TCDCN是借助了MTL(多任务学习)机制,有效将面部属性(如:性别,是否戴眼镜,微笑与否,面部姿势)结合到人脸关键点检测任务上。
理论支撑:在进行人脸特征点检测任务时,结合一些辅助信息可以帮助更好的定位特征点。

TCDCN与TCNN是否有相似之处? 都是在面部属性上做文章,TCNN是将fc层的特征进行聚类(感觉是个绕了弯的trick,肯定是能把不同属性的sample聚到一簇里的啦,何必从fc层的特征去做?),然后依据不同面部属性分别的训练一个输出层;而TCDCN则是只训练一个输出层,只不过在训练时,有了四个子任务loss的辅助,给主任务做一定的“指导”。

参考博客推荐:
http://blog.csdn.net/tinyzhao/article/details/52730553(TCDCN)
http://blog.csdn.net/qq_28618765/article/details/78128619(TCDCN)

人脸关键点:TCDCN-Facial Landmark Detection by Deep Multi-task Learning相关推荐

  1. [人脸对齐--综述] Facial Landmark Detection: a Literature Survey(2018)

    转载请注明作者和出处: http://blog.csdn.net/john_bh/ 论文链接:Facial Landmark Detection: a Literature Survey 作者及团队: ...

  2. Facial Landmark Detection(人脸特征点检测)

    原文地址:http://www.learnopencv.com/facial-landmark-detection/#comment-2471797375 作为计算机视觉研究员,我们很早就开始研究人脸 ...

  3. learnOpenCv】Facial Landmark Detection:人脸特征点检测的一些应用

    目前在计算机视觉领域,人脸方向的研究非常之多.人脸分析最常见的应用是人脸识别,但是如果我们想要验证图像中一个人的身份,需要先知道这个图像中人脸的位置.因此,人脸检测(在图像中定位人脸,并返回一个包含人 ...

  4. [人脸对齐] SAN:Style Aggregated Network for Facial Landmark Detection 论文阅读

    转载请注明作者和出处: http://blog.csdn.net/john_bh/ 论文链接: Style Aggregated Network for Facial Landmark Detecti ...

  5. 【人脸对齐】Attention-Driven Cropping for Very High Resolution Facial Landmark Detection 翻译

    转载请注明出处:https://blog.csdn.net/qq_39912997 注意力驱动裁剪技术在超高分辨率人脸关键点检测中的应用 论文链接: Attention-Driven Cropping ...

  6. [人脸对齐] Attention-Driven Cropping for Very High Resolution Facial Landmark Detection

    转载请注明作者和出处: http://blog.csdn.net/john_bh/ 论文链接: Attention-Driven Cropping for Very High Resolution F ...

  7. 人脸关键点:MTCNN-Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks

    创新点: 1. 首次将级联和多任务结合起来,之前有单纯级联的DCNN,单纯多任务的TCDCN 2. 提出 a new online hard sample mining strategy,没接触过ha ...

  8. 「每周CV论文推荐」 初学深度学习人脸关键点检测必读文章

    人脸关键点检测是人脸图像中重要的基石,今天给大家介绍入门深度学习人脸关键点检测必读的文章. 作者&编辑 | 言有三 1 DCNN Cascade 听这个名字就知道是一个很早期的,使用Casca ...

  9. 【每周CV论文推荐】 初学深度学习人脸关键点检测必读文章

    欢迎来到<每周CV论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 人脸关键点检测是人脸图像中重要的基石,今天给 ...

最新文章

  1. 空气质量html模板,基于HTML5+CSS3移动端空气质量APP的设计与实现
  2. Hello XTCPC
  3. 计算机文档vmware安装虚拟机,教你如何用VMware虚拟机安装系统.docx
  4. [html] html6即将到来,你最期待的是什么特性呢?
  5. PHP笔记-用户登录权限拦截说明
  6. FreeRTOS协程
  7. HDFS dfsclient写文件过程 源码分析
  8. Django,静态文件配置
  9. 《自动驾驶网络解决方案白皮书》研读(一):电信产业自动驾驶网络探索与实践
  10. cv2.error: OpenCV(4.5.3) :-1: error: (-5:Bad argument) in function ‘line‘ 报错解决
  11. 【转】PNG文件结构
  12. 顺丰标准 150标准丰密面单 Clodop 实现打印
  13. Nginx作为静态资源服务器
  14. 验后方差估计python,python的哪个统计模块支持事后检验(Tukey,Scheffe或其他)的一种方差分析?...
  15. 免费的JPEG 恢复软件 - 照片删除了怎么恢复?
  16. 关于如何关闭445端口
  17. 日语 “何” 的读音问题
  18. pacemaker +corosync
  19. 常用函数+星期+月份+缩写+四季
  20. shell用for循环编辑显示形状格式(99乘法表,三角,梯形,平行四边形,菱形等)

热门文章

  1. git rm 和 rm 的区别(转载)
  2. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架
  3. 推荐几个程序员学习网站
  4. Windows Presentation Foundation 开始介绍
  5. springMVC之mvc:interceptors拦截器的用法
  6. 从join on和where执行顺序认识T-SQL查询处理执行顺序
  7. 网络协议从入门到底层原理(2)路由、网络常见概念(因特网, ISP, 接口, 上网方式)、公网私网、NAT
  8. 那年学过的Java笔记三核心类库一
  9. Powershell有哪些用途
  10. 【网络安全工程师面试合集】— 渗透资源 操作系统大合集