Body estimation 论文阅读笔记(3):Unipose:Unified Human Pose Estimation in Single Images and Videos Bruno Ar

Abstract + Introduction

提出了一个通用的结构,这个结构基于 waterfall 的空洞空间池化结构,达到了 SOTA

  • 通过结合contextual segmentation 和 Joint localization (上下文分割和联合定位)来进行 body estimation,这个过程是一个 one-stage 的操作
  • waterfall 在一个级联的结构中采用了 progressive filtering 的方法,与空间金字塔(spatial pyramid)相比保持了多尺度的感受野
  • 本文方法还扩展到了 Unipose-LSTM 用来进行视频中的多帧处理。
  • Unipose 的提出是受语义分割(semantic segmentation)结构的启发
  • Unipose 的主要创新是 WASP 模块,即:瀑布空洞空间池化(Waterfall atrous spatial pooling)
  • 由于我们的网络使用了更大的感受野(FOV)和多尺度方法,我们的 Unipose 可以预测连接的位置,从而获得上下文信息。
  • 这个 WASP 受启发于空间金字塔(spatial pyramid)方法,通过结合级联的空洞卷积层和一个并行的池化结构来获得多尺度的感受野。

Related Work

  • 目前常用的方法是基于 CNN 结构进行 pose estimation
  • CPM(Convolutional Pose Machine) 采用优化的联合检测方法 joint detection 通过把网络分成多个阶段来实现需求
  • Stacked Hourglass 通过级联的沙漏网络完成 pose estimation
  • 基于此 Openpose 提出了 PAF 场(part affinity fields)来进行多人的检测,降低了运算量,PAF 的思想是通过更加 significant 的 joints 来更好地估计 estimate 那些 less significant 的 joints
  • multi-context 多上下文的方式基于 hourglass 的基础结构来实现 pose estimation,通过提出了一个加强的 Hourglass Residual Units(HRU) 模块来迅速增加感受野。通过 Conditional Random Fields(CRF) 进行后续处理完成不同 joints 之间的装配(组装)工作。CRF 引入了更多的计算冗余
  • 高分辨率网络(HRNet)包含了高分辨率和低分辨率的特征表示(representations)。开始的时候是高分辨率,然后通过逐步地增加低分辨率的子网络(sub-networks)来形成多个 stages 并且在不同的 sub-networks 之间进行多尺度的融合。HRNet 受益于多分辨率的更大的感受野,这种能力我们在这篇文章中通过 WASP 模块用一种更简单的方式进行实现
  • Mult-stage Pose network(MSPN)[26]采用了类似的方法,将HRNet结构与跨阶段特征聚合(cross-stage feature aggregation)和从粗到细的监督相结合(coarse-to-fine supervision)
  • DeepPose 采用一种级联的深度 CNN结构 并且通过回归的方式来预测 body 的 joints。该方法依赖于它的迭代细化(iterative refinement),以更好地预测对称(symmetric)和低置信度关节(lower confidence joints)
  • 最近的一些研究试图利用上下文信息(contextual information)进行姿态估计。
  • Cascade Prediction Fusion 级联预测融合(CPF)[57]使用图形组件 graphical components 来利用上下文进行姿态估计。
  • 相同地, Cascade Feature Aggregation 旨在使用语义信息和级联方法来检测 pose
  • GAN 也被用于学习 pose 的上下文信息的相互依赖关系进行 pose estimation
  • LCR-Net(Location,classificaiton,regression 定位,分类,回归网络)将 pose estimation 通过深度回归技术扩展到 3D 空间中。

空洞卷积和 ASPP 空洞金字塔池化(Astrous Spatial Pyramid Pooling)

  • 语义分割的一大挑战就是传统的 CNN 进行降采样导致最终的特征图分辨率很低,全卷积网络通过上采样(通过转置卷积)解决了分辨率的问题;考虑到语义分割要在维持特征图尺寸的条件下增大感受野,选择空洞卷积来完成操作。
  • 空洞卷积可以避免降采样的同时获得一个多尺度的架构
  • 因为在池化操作过程中引入空间金字塔(spatial pyramid)的操作很成功,因此 ASPP(astrous spatial pyramid pooling) 空洞空间金字塔池化引入了语义分割领域。ASPP 通过 4 个并行的分支,每个分支使用不同的空洞率(astrous rate),这些不同 rate 的空洞卷积采用了一个额外的 factor 设置成 8 来完成快速双线性插值。
  • 这种方式可以让特征图保持和输入图片一样的分辨率。在 ASPP 操作中提升的分辨率和感受野对于 pose estimation 任务来说是有益的,更加有益于在 pose estimation 过程中检索上下文中的 body parts。
  • 此文中使用了 waterfall 结构,更加高效的实现了这种优势(即,增大感受野的同时恢复特征图的分辨率这种优势)

Unipose 的结构

  • 很显然 UniPose 的检测方式类似于目标检测,是一种自顶向下的检测结构,首先检测出每个人的 bounding box 其次对于每个 bounding box 中的人进行 pose estimation 的检测。
  • 通过空洞卷积 astrous conv 获得更大的感受野,并采用 “级联” 的方式将很多个这种空洞卷积进行串联,组成一种 “waterfall” 结构。
  • 此文的 WASP 模块提供了多尺度的特征表示,并同时减小了网络的参数量,提高了模块效率。
  • Unipose 不需要不同的分支来完成 bounding box 的工作和 joint detection 工作,只使用一个 branch 就能完成框出 human 主体并检测其 joints 的所有工作。
  • 下图展示的是 decoder 网络的结构:
    在这里插入图片描述
  • 输入图片首先输入一个 deep cnn 中进行特征提取,本文使用 resnet-101,并将其最后一个层的输出替换为 WASP 模块。这样生成的最终特征图由上图的 decoder 网络来处理,最终生成 K 个 heatmaps,每个 heatmap 通过 softmax 函数对应后面一个 joint 的预测概率分布。
  • 然后解码器采用一个双线性插值来恢复到原始的分辨率大小,然后采用一个局部 max 的操作进行姿态估计(pose estimation)
  • 这个 decoder 同时可以产生对可见 joints 和被遮挡 joints 的预测结果。此外,这个 decoder 在不适用 post-processing(后期处理 )和 ASPP 的条件下,产生了一个 bounding box 的检测。
  • 下面的文章将会比较本文提出的 WASP 结构和传统的 ASPP 结构

WASP 模块

在这里插入图片描述

  • WASP 的任务是产生一个 multi-scale 的特征表示
  • 从上图可以看出,这个模块和传统的 ASPP 模块相比采用更小规模的参数来产生更大的感受野 FOV。
  • WASP 借助空洞卷积 astrous convolution 技术,这种技术也同样是 ASPP 的核心技术,来获得一个大的感受野。同时 WASP 采用了级联的空洞卷积结构,即从左到右依次是不同空洞率的空洞卷积层。
  • 传统的 ASPP 是将 pool 过后的原始特征图直接输入到多个并行的分支中,如下图:
    在这里插入图片描述
  • WASP 不是采用这种立即 parallel 的方式,而是首先经过一个卷积层,然后才创建当下的 branch,详细来说就是,当 feature 进入 WASP 之后,要想产生 rate=12 的这个从上到下的 branch,首先要经过 rate=6 的这个空洞卷积,而要产生 rate=18 的这个 branch,则要将特征图首先经过 rate=6 和 rate=12 的卷积层进行卷积操作。这样的话,在每个 branch 创建的过程中,参数量就会很大程度上降低。
  • WASP 设计的初衷是减少运算的参数量并且克服空洞卷积带来的限制。WASP 中的四个分支分别具有不同大小的感受野并且按照一种 waterfall 的结构进行链接,WASP 以 rate=6 的空洞卷积作为开始,在后面的处理中不断地增大空洞卷积的 rate,(6,12,18,24)这种小卷积核的配置提高了效率,并且通过每个分支创建了不同尺度的特征图表示,最后将他们 concate 起来作为更加复杂的特征表示。
  • WASP 结构用到 Unipose 里面如下图:
    在这里插入图片描述

Decoder 模块

  • decoder 负责把 WASP 模块产生的 score maps 转换成 K 个heatmaps,这 K 个 heatmaps 与最终产生的 bounding box 和 body joints 的预测相关。
    在这里插入图片描述
    • 首先输入的特征图尺寸是1280×720×3,然后通过 WASP 模块产生的特征尺寸是 256 通道,同样的,通过 ResNet 产生的 low-level 的特征也是 256 通道的。ResNet backbone 产生的 256 通道的特征通过 1 × 1 1×1 1×1 卷积和 max 池化过后调整成 48 个通道的特征,然后和 WASP 的 256 通道特征拼接成一个更加复杂的特征,通道维度变成 304 维。然后经过一些列的卷积层,dropout 层和双线性插值操作来还原成原始输入尺寸。最终输出的 K 个 heatmaps 分别负责 K 个 joints 的预测,并通过一个 local max 操作来定位每个 joints。这个 decoder 还输出 heatmaps 用来完成 bounding box 工作而不引入新的 branch。bounding box 没有显示在上图中。

Unipose-LSTM 完成视频中的 pose estimation

  • 视频任务中,采用连续帧之间的相似度和相关性是非常有用的。
  • 通过 LSTM 模块来强化原本的 Unipose 结构,该模块接收来自前一帧的最终热图和来自当前帧的解码器热图,该结构使用 LSTM 后接多个 CNN 层来产生最终的 heatmaps 来做 joint 的检测工作。
    在这里插入图片描述

数据

预处理

  • 将 joint 的 groundtruth 位置通过 gaussian 处理来生成 groundtruth labels,其中采用 σ = 3 \sigma=3 σ=3 来决定位置标签高斯化的拖尾长度。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值