专栏首页机器学习、深度学习二值人脸对齐--Binarized Convolutional Landmark Localizers for Human Pose Estimation and Face Alignment

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

相关文章

  • 空间映射网络--Spatial Transformer Networks

    Spatial Transformer Networks 主要对目标在特征空间做不变性归一化 解决 角度、尺度等变形引入的影响 Code: http...

    用户1148525
  • GoogleNet - Going deeper with convolutions

    本文针对 ILSVRC14 提出了一个名叫 Inception 的深度卷积网络架构,主要是通过充分利用网络内的计算资源来提升网络性能,具体是通过在增加网络的宽...

    用户1148525
  • 目标检测--Training Region-based Object Detectors with Online Hard Example Mining

    Training Region-based Object Detectors with Online Hard Example Mining

    用户1148525
  • 网络自动化的奠基石:看“遥测”如何打败传统的网络监控

    ‍遥测是什么?从字面意思看遥远的测量某个东西?还是不误导大众了,比较权威的说法是遥测是对被测量对象的参数进行远距离测量的一种技术,起源于19世纪初,广泛应用于航...

    SDNLAB
  • 12-初识OpenStack中的网络

    这个网络属于哪个项目,这里我们有云计算和网络安全两个比赛项目,所以待会我们去创建这两个项目

    小朋友呢
  • 2019年CCF-腾讯犀牛鸟基金项目课题介绍(三)——自然语言处理及语音识别&大数据&车联网

    ? CCF-腾讯犀牛鸟基金由腾讯与中国计算机学会联合发起,旨在为全球范围内最具创新力的青年学者搭建产学研合作及学术交流的平台,提供了解产业真实问题,接触业务实...

    腾讯高校合作
  • 深度学习工程师的4个档次

    最近不少朋友问我,转行做深度学习的话,能不能找到工作,能找到什么样的工作,能达到什么样的收入水平…… 这种问题其实不仅仅是存在与深度学习行业的入门和转型中的思...

    刀刀老高
  • Python—微信好友云图怎么玩

    代码来源:https://www.cnblogs.com/taixiang/p/9124822.html

    Ed_Frey
  • Docker 网络背后的原理探索

    知其然而不知其所以然,不知也。老古人说得多好,学知识不懂得知识背后的原理,等于白学。

    CloudDeveloper
  • 5 种前途迷茫的编程语言

    现在的开发人员都趋向于使用新的编程语言,那么旧的编程语言呢?它们的前途一般是这样两种:仍然可以使用,但逐渐不受大家欢迎;直接完全死去。和之前的十佳最受欢迎的编程...

    逆锋起笔

扫码关注云+社区

领取腾讯云代金券