博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Real-time 2D Multi-Person Pose Estimation on CPU:Lightweight OpenPose》论文笔记
阅读量:3527 次
发布时间:2019-05-20

本文共 1047 字,大约阅读时间需要 3 分钟。

参考代码:

1. 概述

导读:这篇文章是在OpenPose的基础上进行轻量化改进,从而使得整体网络能在Intel的CPU上达到实时的运行效果。对此文章的算法也是相当轻量级的只有410w的参数90亿的浮点运算,是含有两阶段优化OpenPose的15%,但是其AP(Average Precision)只降低了1个点。自然文章对原有OpenPose进行了加多的改进,从而使其在速度上得到提升。

2. 方法设计

OpenPose是bottom-up的关键点检测算法,其运行流程可以分为两个部分,见下图所示:

在这里插入图片描述

  • 1)CNN网络输出两个特征图:关键点heatmaps和PAFs,这里特征图的stride=8;
  • 2)将关键点按照人进行聚合得到属于这个人的关键点;

2.1 OpenPose计算复杂性分析

在OpenPose中使用VGG-19作为其backbone之后添加额外的conv4_3/conv4_4卷积层,之后经过initial网络添加5个连接的refinment stage,每个stage是包含两个分支的用于预测关键点位置和PAFs。那么这些网络结构的具体结构和refinement stage带来的具体性能提升见下表1,2所示:

在这里插入图片描述
从表2可以看到随着stage的增加其带来的增益其实是比较少的,从stage1到stage5性能提升了5个点但是计算量提升了一倍。因而可以在性能与时间上进行权衡舍取。

2.2 轻量化Backbone

从轻量化网络的角度文章选择将原OpenPose的VGG-19换成为MobileNet-V1,并且保持网络中间部分的空间尺度不变,并使用膨胀卷积增加感受野,此外通过添加conv5_6能够增加精度但是也会增加计算量,文章中 并没有选择MobileNet-V2,是因为其带来的性能提升并不不好, 见下表所示:

在这里插入图片描述

2.3 轻量化的Refinement Stage

原OpenPose中的优化网是存在优化的点的,文章中将部分网络进行了合并,其结构前后变化见下图2所示:

在这里插入图片描述
此外文章使用多个 3 ∗ 3 3*3 33的卷积去替换 7 ∗ 7 7*7 77的卷积从而减少计算量:
在这里插入图片描述

2.4 最后的网络结构

在这里插入图片描述

文章在后处理上也做了很多的工作,从而在网络处理与后处理上都进行优化从而提升网络的infer速度。比如,将最后的特征图上采样到原始尺寸并不能带来更好的结果,反而适得其反,文章将其变为上采样4倍。此外文章方法的训练过程也是探究的,这部分内容在Git上写得很清楚了。

3. 实验结果

在这里插入图片描述

转载地址:http://dwkhj.baihongyu.com/

你可能感兴趣的文章