论文《facial landmark detection by deep multi-task learning》读后小记

1. 本文提出一种任务驱动型的深度模型(TCDCN —— Tasks-constrained deep convolutional network

该模型思想:通过一些多样的精细的任务,来优化提升特征点定位精度。

该模型优势:1)优于现有的方法,特别是在处理一些遮挡和大姿态的面部图像时。2)与现有的state-of-the-art的级联深度模型方法相比,其动态的降低了模型的复杂度。

(在这里,姿态判断加入的原因:认为特征点定位不是一个孤立的问题,其估计可以被许多多样且微妙的相关因素所影响,例如,当一个小孩笑的时候,他的嘴是很广泛的打开的,有效地发现以及开发这种本质上相关的面部属性,对我们更精确的检测嘴角会很有帮助,再如,有大的姿态旋转的人脸图像,其瞳孔距离更小,这样的姿态信息可以被当做额外的信息资源,来约束特征点估计的解空间。考虑到那些相对合理且相关的任务,孤立的对待特征点定位问题是事与愿违的。)


2. TCDCN简介

通过多任务学习形式,采用卷积神经网络结构,进行特征点定位。

结构:相较于孙祎论文中的结构,本文仅采用其级联的3级共23个网络中第1级的一个网络来实现所有的任务,这里不做任何人脸部件的剖分,只是将整个人脸图像作为输入。

多任务学习:现有的多任务学习方法,一般都是通用同一个损失函数,通常都假设各个任务的困难程度以及收敛率是相同的,但实际上,其并不是一样的,而且,所有任务的迭代学习在执行过程中不会提前终止。而这里的问题并不是这样的,各任务的困难程度以及收敛率并不是相同的,所以,在这里,每个任务都有各自的损失函数,对于不同的任务,其迭代学习执行次数并不相同,会视情况适时终止。这种早期终止(不让误差继续降低至最小值)学习的方式,可以阻止过拟合。


3. TCDCN

3.1 目标

相较于传统的多任务学习(最大化所有任务的性能),我们的目标是优化主要的任务(特征点定位),这里用r表示。


这里, l表示损失函数,A表示除了主要任务——特征点定位之外的所有辅助任务, lambda表示各个任务重要性比重,W表示各个任务的待学习权重矩阵,x为样本输入各任务的特征(这里,所有任务的输入特征都是一样的),不同上标的y表示样本对应任务的目标值。

由于除了特征点定位属于回归问题外,其他所有任务都属于分类问题,所以,目标可以按如下形式表示:


这里,

3.2 网络结构

正向

其中,作为各任务最后一层的输入特征,整个网络正向传播过程图示为:


反向:可详见论文,但是,论文中有一点漏掉一点东西,但大致应该都可以看明白,这里就不详细介绍了。

对于早期终止训练的做法,论文中设计出一种规则,训练迭代过程中实时计算,就可以了,其设计规则的物理意义也有相应的介绍,这里不做解释了,但其中有一点的是,公式中第一项的物理意义是训练误差的趋势,没有仔细研究,还望有所指教。

3.3 效果

所有任务一起训练效果最好,+单任务,则姿态加入效果相对较好。论文中列出了各任务组合情况的效果、早期终止训练和不这样做的效果等,详细见论文图。我想展示下面这张图:


不难发现,其实SDM方法的价值还是相当高的!方法易懂,速度快,计算简单,相对稳定,精确度较高,综合各种因素,性价比很高,有很大发展空间,看好它。

        对于论文中提到作为初始值的应用,都是很好的想法,也都有尝试,效果是不错的,毕竟特征点定位做的好的关键,很大一部分在于给定一个好的初始值(定位上,也盛行这样一句话:一个好的初值胜过一个好的特征,因为,毕竟好的特征是需要探索发现的)。


欢迎交流!


项目链接:点击打开链接

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值