二值人脸对齐--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 条评论
登录 后参与评论

相关文章

来自专栏WD学习记录

机器学习深度学习 笔试面试题目整理(2)

(1) 思想    改变全连接为局部连接,这是由于图片的特殊性造成的(图像的一部分的统计特性与其他部分是一样的),通过局部连接和参数共享大范围的减少参数值。可...

1102
来自专栏Petrichor的专栏

深度学习: 随机失活 (dropout)

按概率p 随机 将神经元 置 0 [如下(b)图],以 缓解 神经元之间 隐形的协同适应,从而达到降低模型复杂度的目的:

1298
来自专栏数据派THU

深度学习中的正则化技术(附Python代码)

本文简单介绍了什么是正则化以及在深度学习任务中可以采用哪些正则化技术,并以keras代码具体讲解了一个案例。

1445
来自专栏机器学习算法与理论

深度学习核心技术实战——图像分类模型

1.LeNet-5: 每一个卷积核都会形成一个特征图,3个通道则是每个通道是不同的卷积核,但是最后是将三通道的卷积值相加,最后变成一个通道,所以5564的卷积核...

641
来自专栏应用案例

机器学习三人行-手写数字识别实战

前面三个系列我们分别从机器学习入门,洞悉数据,已经数据预处理,回归建模等方面进行了系统的学习。 今天我们根据mnist手写数字的数据集来对0-9共10个数字进行...

2165
来自专栏人工智能

神经网络与反向传播算法

1、前言 先简单的说下神经网络吧。 简单来说就是模拟大脑的神经元。 前端会有一大批数据输入,例如,前端输入了一张图像的所有像素点。 中间层会有成千上万个网络数据...

1876
来自专栏机器之心

302页吴恩达Deeplearning.ai课程笔记,详记基础知识与作业代码

4278
来自专栏华章科技

你是合格的机器学习数据科学家吗?来挑战这40题吧!(附解答)

目前机器学习是最抢手的技能之一。如果你是一名数据科学家,那就需要对机器学习很擅长,而不只是三脚猫的功夫。作为 DataFest 2017 的一部分,Analyt...

602
来自专栏Deep learning进阶路

深度学习论文随记(三)GoogLeNet-2014年

深度学习论文随记(三)GoogLeNet Going Deeper with Convolutions Author: Christian Szegedy, ...

1990
来自专栏ATYUN订阅号

利用TensorFlow生成图像标题

图像标题生成器模型结合了计算机视觉和机器翻译的最新进展,利用神经网络生成现实的 图像标题。神经图像标题模型被训练,以最大限度地产生给定输入图像的字幕的可能性。并...

4555

扫码关注云+社区