论文阅读A Recurrent Encoder-Decoder Network for Sequential Face Alignment

好不容易找到的代码地址,嘿嘿

https://github.com/xipeng13/RED-Net

 

2016ECCV + 2018 IJCV(invited)

这是第一次循环模型用于视频人脸关键点检测

目录

自己的总结

原理:

1.概述:

2. 编解码器fENC and fDENC:

3.空间循环fsRNN(这里没看懂)

4.时序循环(上图中的ftRNN)

5.把多通道响应图M转换成关键点坐标的fREG

实验:

1.验证空间循环的必要性:对姿态变化的情况准确率提高的快

2.对时序循环网络ftRNN的检验:

3.验证监督分离的好处:

4.与其他方法的对比

中文版原文(自译)

Abstract:

Introduction:

Recurrent Encoder-Decoder Network:

1.方法概述

2.空间循环学习

3.时序循环学习:

4. 监督身份学习:

5.限制的形状预测:

Network Architecture and Implementation Details:

1.fENC and fDENC:

2.fsRNN and ftRNN:

3.fCLS and fREG:

Experiments:

1.数据集和设置

2.空间循环学习的评估

3.时序循环网络

4.监督身份分离的好处

5.和其他方法的对比

6.将来的工作


自己的总结

原理:

 

1.概述:

       RED网络是一个以解编码器为基础的网络。

       网络的输入是图片和坐标图z中的每个像素都是离散的标签,标签标记相应地标的存在,其中0表示非地标区域。编码器代表一系列卷积、池化、BN来从输入中得到表现码,C代表被编码的特征,是编码器参数。

        然后经过一个分类器把编码的特征分成时间改变和不随时间改变的特征,随时间改变的特征比如表情,不随时间改变的特征有人脸的身份。然后随时间改变的特征用来训练,身份特征经过

这样一个分类网络来识别身份,因为这里也有一个分类损失,所以在训练这个网络的过程中可以帮助上面那个区分时序改变和不改变的特征。

        解码器是一系列的反池化、卷积和BN层,将表示码向上采样得到一个多通道响应图M

M的第一个通道表示背景,其余的L个通道对应地标的像素级置信度,这一句没有明白什么意思。

然后再对这个响应图经过得到关键点坐标,这一部分就是以这一帧关键点的真值和估计出来的关键点的欧氏距离做损失函数。

为了处理大姿态变化,在响应图和输入之间引入了一个反馈回路连接。

2. 编解码器fENC and fDENC:

 

       编码器是vgg16的变体,它有13个卷积层,卷积核尺寸都是3*3,和vgg16的前13层一样。(卷积核都是3*3 设置步长1 padding1,意味着输入128*128*4,经过3*3*64卷积核,输出尺寸(128-3+2*1)/1+1=128 128*128*64 也就是说vgg16的3*3卷积核是只改变通道数不改变尺寸的,和vgg16一样的话,本文中整个流程是128*128*4-128*128*64-128*128*64-64*64*64-64*64*128-64*64*128-32*32*128-32*32*256-32*32*256-32*32*256-16*16*256-8*8*256-8*8*512-8*8*512-8*8*512-4*4*512-4*4*512-4*4*512-4*4*512,bottleneck应该输出4*4*512的特征图 然后分成Cid和Cpe 每个是4*4*256的特征图) 

        用vgg16预训练好的权重。去掉所有的全连接层。

        编码器有5个max-pooling层,每次是2*2的池化窗口,步长都是2,因此在每个卷积阶段之后,特征映射的分辨率会减半。

         尽管最大池可以帮助实现平移不变性,但它不可避免地会导致大量的空间信息损失,尤其是当几个最大池层相继使用。为了解决这个问题,文章用2bit的码记录2*2窗口选择的最大元素的index,如上图下面那个虚框,记下来的index接下来被应用到相应的反池化层来把每个激活放回他原来的位置。这个策略在解码器把高压缩的特征图还原回输入结构时很有用。除此之外,存储空间索引比记忆整个特征图更加有效。

3.空间循环fsRNN(这里没看懂)

     本帧所用的Z是由上一帧的响应图M得到的

     fsRNN把(L+1)层通道的响应图M转换成单通道图z,这个步骤可以用两步来实现。

(1)用(L+1)聚类把M聚合成单张图,位置(i,j)处的值被设置为具有最大的置信度的M信道的索引:

M的第一个通道表示背景,其余的L个通道对应地标的像素级置信度。(L+1)个信道响应图相比于2通道(landmark v.s.non landmark)为对保持地标性的统一至关重要。

  (2)从聚类中生成一个标签图。文章用一个小正方形标记每个地标,小正方形以不同尺寸的相应聚集中心为中心,为了提供空间从粗到细的反馈。三个像素的大小分别设置为7像素、5像素和3像素。

4.时序循环(上图中的ftRNN

     跟踪潜在状态并且更新时刻t的Cpe这就是这段RNN的作用,由上一帧Cpe得到当前帧Cpe(如果当前帧Cpe获取的不清楚的话,就通过这个循环RNN得到,因为除了Cpe之外都不随帧变化)

 

     文章用LSTM来做ftRNN,LSTM层有256个隐藏单元,根据经验文章设置T=10,每个time step都计算loss,在T个steps后累加进行反向传播。直接把喂进LSTM层会导致一个低的训练速度,因为输入和输出都需要4*4*256=4096个神经元,文章用4*4的池化层和反池化层压缩成256*1的向量,如图5所示

 

5.把多通道响应图M转换成关键点坐标的fREG

  回归网络以128*128*(L+1)的响应图作为输入,预测2L*1的关键点坐标。回归网络和编码器结构相似,但是每个卷积层用更小的特征图:64-64-256-256-512,除了最后一个8×8池层外,每2×2最大池层后特征映射的维数减半以获得512d特征向量。和分类网络类似,也用0.4的dropout,一个2L*1神经元的全连接层被用来输出地标坐标,它被用来计算欧几里德函数损失。

    文章中说最开始用fREG得到的结果不理想,原因是响应图太过高度抽象而缺失输入图的细节信息。为了解决这个问题,把编码器中的conv2_2和conv4_3的特征图和fREG层对应层连接在一起利用全局和局部信息,如下图所示就是在原来基础上加入了和编码器一样的两个卷积。其中conv2_2和conv4_3的参数都是在编码器中学习后的,权重信息直接应用到fREG。

 </

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值