您的位置:首页 > 运维架构

【笔记】Action Unit Detection with Region Adaptation Multi-labeling Learning and Optimal Temporal Fusing

2017-10-28 17:33 645 查看
原文:https://arxiv.org/abs/1704.03067

2017,CVPR上面的,最近重新读了一遍,之前没有细读。

文章中说的三大贡献分别是Region Adaptation(针对区域region的ROI Nets) ; Multi-labeling Learning(多AU一起学习); Optimal Temporal Fusing(时序信息)

我理解这篇文章优势在以下3点:

1,ROI Nets,虽然有人做过region提升AU检测,但是这篇文章选取region的方式更好,实际效果也更好,之前别人没有这么选的;

2,这篇文章是AU检测领域第一个同时利用AU的三大特性合起来这三点的,提升的确也比较明显;

3,文章实验部分对三个方面每个做了具体的实验和讨论,这部分做得很好

ROI Nets:具体每个AU只跟某一个很小的局部有关,单个AU分开考虑:每个区域分开训练
multi-label:AU彼此之间的相关性
LSTM:时序信息

思路出发点:
(AU本身的特性):
1,脸部不同组件特征不同
2,一张图有多个AU
3,所有的AU都是一个动作在一个时间序列中的
(外在技术储备、可实施性):
1,CNN在图片任务中十分有效
2,fast/fasterRCNN的优异表现(region)
3,LSTM在图片字幕生成和人类动作识别

系统架构图:



说明:
输入:是一组图片序列,24张图片,每张图片大小为224*224。
第一阶段:是VGG的特征提取层,用到了VGG conv1-conv12共12次conv, 4次pooling,得到512*14*14的feature map。
第二阶段:(region特征提取)根据原图片landmark位置直接放缩映射到14*14的图片landmark位置,以这20个landmark为中心选择3*3作为region,分别上采样(因为3*3能表示的特征太少)得到6*6,再接一层conv、一层全连接(输出为一个长150的向量)
第三阶段:(融合)20个region每个长150的向量输出全部convat合并得到长3000的输出,再接一层全连接长2048向量输出。
第四阶段:LSTM两层
最后:接全连接层得到AU labels和loss

loss function



ROI Nets:
ERT检测landmarks,根据landmarks选择20个点作为对应的AU ROI中心



跟DRML相比,区别与优势:
1,DRML要求人脸先对齐,对齐强烈依赖于特征点检测,特征点检测后需要转换到中性形状,这个过程中的变形(大小、形状、脸角度、非正脸)可能导致信息丢失。
ROINets对直接取特征点周围的区域,有其生物物理意义,且从14*14大小的feature map上面取点取区域的方式对landmark检测错误的情况具有更高的容忍度,比如原图上landmark错误差距10个像素到14*14上错误差距不到1像素
2,本文基准值更好。DRML基准是AlexNet,本文基准是VGG,而VGG的结果明显优于AlexNet

实验
数据集: BP4D, Disfa
用BP4D训练模型,3-fold cross validation: 把BP4D根据人标号分成3个文件夹,每次用两个文件夹训练,一个文件夹测试。
用BP4D的训练模型提取DISFA的所有图片特征(即,用最后一层全连接层2048维向量表征DISFA图片特征)

衡量标准:F1 score,12 AUs for BP4D; 8 AUs for DISFA

CNN和ROI Nets对比实验(BP4D,lr=0.001, momentun=0.9, iterations=20000)
CNN实验设计:FVGG,VGG微调模型,只是把最后一个预测层换成12个out num 的全连接层,前8个conv参数不参与训练,batchsize50,反向传播用SGD
ROI Nets实验设计:VGG + ROI Nets,对于region部分的conv层用高斯分布初始化



实验结论:ROI Nets平均提升有12.4%

single-label与multi-label对比实验(BP4D)
基础假设:concat合并AU时能得到有用的整体信息对于每个单独的AU检测进行补充提供相关性(也有可能会带入噪声)
样本均衡问题:single-label可以预处理使样本均衡,而multi-lebel不能(一般而言训练数据均衡能提高效果)



multi-label整体上比single-label提升1.3%左右,可观察到数据量少的AU(比如AU2,AU15,AU 23在single-label中表现更好)

static与tamporal对比实验(BP4D)
baseline: ROI Net model
512 LSTM kernels, 24 frames
图片序列选取方式:相比于static的图片,在同一视频在这张图片前面随机选择23张图片,合起来作为一个序列



LSTM层数越多效果反而越差
LSTM的提升在9.7%左右

与现有算法对比
BP4D上 3-fold cross
DISFA用BP4D的预训练模型训练测试,也是3-fold cross





总提升:本文在BP4D和DISFA上分别有13%和25%的提升
未来工作:a dataset-independent AU detection model

疑问:
1,FVGG的实验设计中,文章设定了前8个conv参数固定,训练过程中不变,我感觉这会让网络学习能力受限,所以这个FVGG并不能很好地代表VGG在多AU检测上面的性能。(文章没有说其他实验中VGG参数是否也固定)
2,为什么取VGG是取它的前12个conv,而只有前8个conv固定参数不参与训练
3,LSTM实验设计中,24帧图片的选取方式,文章说在当前图片前面选择随机选23张图片合起来作为一个序列,为什么不是一个时间段内随机选择或者固定间隔选择或者连续帧?在第40帧前面随机选择23张图片和在第4000帧前面随机选择23张图片肯定是不一样的。
4,loss func为什么不选择multi-label-sigmoid-cross-entropy, 文章中那个loss不能解决样本均衡问题,但是DRML的multi-label-sigmoid-cross-entropy是可以设定无效label并结合图片预处理来解决样本不均问题的
5,整体结构图中有1处我不明白, 输入图片是N*24*H*W是指一个序列(24张图片)的灰度图(每张图一个channel)吗?
6,文章没有提到机器设备性能、训练要消耗的时间、loss收敛曲线、模型大小、检测速度等参数
7,wensheng chu在2017年的AU检测文章中用LSTM的方式是CNN和LSTM特征融合输出,而本文是LSTM接CNN后面串联输出,作者有没有试过哪一种方式更好?为什么作者不试试chu wensheng的连接方式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐