二值人脸对齐--Binarized Convolutional Landmark Localizers for Human Pose Estimation and Face Alignment

Binarized Convolutional Landmark Localizers for Human Pose Estimation and Face Alignment with Limited Resources ICCV2017 https://www.adrianbulat.com/binary-cnn-landmarks Torch7:https://github.com/1adrianb/binary-human-pose-estimation

对于人体姿态估计和人脸对齐问题,使用最新的CNN网络我们可以得到很好的效果,但是这些方法的计算量很大,需要GPU,参数量也很大。难以做到实时计算或部署到移动端。本文提出一个二值CNN网络,可以实现 highly accurate and robust yet efficient and light weight landmark localization

本文和其他二值CNN网络的不同之处主要在以下两点: 1)我们的二值网络应用场景不是图像分类而是特征点定位 human pose estimation and facial alignment,使用全卷积方式输出一个密集的 heatmaps 2)我们主要通过设计新的网络结构来提升二值网络性能,不是改善量化方法

3 Background ResNet 网络主要包括两个模块:basic and bottleneck,这里我们主要对后者感兴趣,它设计的初衷是用于减少参数量,控制网络模型的内存占用。这里我们使用文献【11】中的“pre-activation”版本。我们的网络主体结构是文献【22】的单个 Hour-Glass (HG) network

4 Method 这里主要描述我们的网络结构是怎么进化到我们的最终版本的 binary hierarchical, parallel and multi-scale block 下面的图示

4.1. Binarized HG 我们从 HG network 的 原始 bottleneck blocks 开始,根据文献【26】,除了第一层和最后一层,其他网络层我们二值化,这么做是为了产生一个 dense output (heatmaps),没有二值化的网络层占网络总体参数量不到0.01%。

直接二值的结果对应性能下降,如下表所示:

4.2. On the Width of Residual Blocks 图4a 中的原始 bottleneck block 由三个卷积层构成,滤波器尺寸分别是 1 × 1, 3 × 3 and 1×1。网络第一层主要用于控制网络第二次的宽度(通道数),所以模块的参数量很大的压缩。但是这么做是否适用于二值网络我们不清楚。因为二值网络的表示能量是有限的,所以极大的降低通道数量可能减少了网络层之间信息的传递,进而导致性能的下降。为了验证这个想法,我们增加了网络的通道数目。从128变到256,如图4b所示

实验发现这么做可以提升网络性能,但是也增加了网络的参数量

4.3. On Multi-Scale Filtering 使用 3×3 and/or 1×1 组合构建的卷积网络层被证明是 both effective and efficient。对于实数值的网络,可学习大量的卷积核,但是对于二值网络,能够学习的二值卷积核数量是有很大限制的。 为了解决二值网络中 3×3 滤波器有限的表示能力,我们参考文献【29】采用如图4c所示的多尺度结构 从Table 2 我们可以得出结论:对于二值网络,采用多尺度滤波器是有帮助的。

4.4. On 1 × 1 Convolutions 上一步我们为了保持网络参数量不变保留了 1 × 1 卷积网络层,这里我们分析一下这个 1 × 1 卷积网络层 对模块性能的影响 这里我们直接网络 图4c 中的所有 1 × 1 卷积网络层 去掉得到 图4d, 我们之所以将所有 1 × 1 卷积网络层 去掉是因为二值的1 × 1滤波器的表示能力是很有限的。它可能会影响有用信息的传递

从表2中可以看出 性能提升了 8%,得到的结论是 二值网络中的 1 × 1 convolutional filters 对网络性能的影响是决定性的,应该给去除。

4.5. On Hierarchical, Parallel & Multi-Scale 因为二值网络对梯度消失问题更敏感,我们发现和实数值网络相比较,我们二值网络的梯度减少了 10倍多。为了降低这个梯度消失问题,我们设计了一个 hierarchical, parallel multi-scale structure 得到我们最终的模块网络结构 图4e

7 Comparison with state-of-the-art

我们的算法在单核CPU上应该是可以实时的 to be expected allowing the system to run in real-time on a CPU using a single core

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏生信小驿站

黑箱方法-神经网络①人工神经网络

今天,主要使用人工神经网络的进行建模分析,涉及的R包是neuralnet和nnet两个包,函数名和包名是一样的。

903
来自专栏互联网大杂烩

支持向量机(SVM)

支持向量机(support vector machine)是一种分类算法,通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在...

532
来自专栏人工智能

机器学习之——LINE及LargeVis可视化算法

从word2vec算法发表以后,各种嵌入方法越来越火热,而LINE算法就是一种网络嵌入的算法。 ? 使用LargeVis可视化的MNIST数据集 所谓网络嵌入,...

2628
来自专栏CreateAMind

慢特征分析

慢特征分析 (slow feature analysis, SFA) 是使用来自时间信号的信息来学习不

711
来自专栏Python中文社区

机器学习算法实践-朴素贝叶斯(Naive Bayes)

專 欄 ❈PytLab,Python 中文社区专栏作者。主要从事科学计算与高性能计算领域的应用,主要语言为Python,C,C++。熟悉数值算法(最优化方法,...

2115
来自专栏Brian

机器学习常用算法-k近邻算法

1144
来自专栏机器之心

前沿 | UC Berkeley提出特征选择新方法:条件协方差最小化

3419
来自专栏人工智能LeadAI

机器学习项目流程及模型评估验证

我之前一直在做Udacity的P1项目——波士顿房价预测。这个项目让我收获最大的就是理清了机器学习解决问题的整体流程,搭起一个框架,学会了寻找模型的最优参数以及...

3295
来自专栏人工智能的秘密

用机器学习来预测天气Part 2

  这篇文章我们接着前一篇文章,使用Weather Underground网站获取到的数据,来继续探讨用机器学习的方法预测内布拉斯加州林肯市的天气。上一篇文章我...

3166
来自专栏应兆康的专栏

Python 机器学习库 --- sklearn --- 线性模型

额,这里不支持latex语法。就截图了。。。

2574

扫码关注云+社区