该篇论文发表于CVPR2021

Abstract

本文提出了一个具有动态实例感知卷积的全卷积多人姿态估计网络框架。不同于现有方法通常需要ROI或者后处理分组操作,FCPose使用动态实例关键点估计头部消除了这些操作。该动态关键点头部以每个人体实例为基准条件,将这些实例信息编码到动态卷积的权重当中。由于动态卷积的表征能力强,FCPose中的关键点头部设计得非常紧凑,使得该网络框架推理快速且推理速度相对推理人数具有鲁棒性。FCpose能够比其他SOTA方法达到更好得精度、速度上的平衡。实验结果表明,FCPose也是一种简单高效的多人姿态估计框架。

Introduction

.Introduction可以分为三个部分:1.研究背景、问题 2、研究方法及内容 3、贡献

1、研究背景、问题(1、2段)

多人姿态估计旨在获取图像中人体关键点位置,是计算机视觉当中的基础任务,广泛应用于许多下游任务。

多人关键点检测的关键挑战为如何获取实例级别的关键点。换句话来说,检测到的关键点需要分配给各个人体实例。目前,主流的方法分为自底向上和自顶向下。自顶向下方法首先使用人体检测器检测出各个人体实例。这些通过ROI方法检测出来的人体检测框用于将各个人体实例从特征图或者原始图像中裁剪出来。然后,再对裁剪出来的人体进行单独的单人关键点检测。这种基于ROI的方法有许多缺点。首先,ROI操作独立,不共享卷积计算开销。使得这些方法的推理时间依赖于图像中的人体数量,不具有实时性,其次,自顶向下方法通常不能够端到端训练,因为ROI通常是由一个独立的人体检测器(例如Faster R-CNN)中获取。单独的人体检测器的使用会导致端到端推理时间变长。第三,这些基于ROI的方法依赖于ROI的定位质量。这就意味着如果人体检测器检测框不准确会损害关键点检测表现。另一方面,自底向上方法不依赖于ROI,其首先检测关键点,然后再用分组后处理操分配给各个人体实例。分配关键点的处理操作通常是启发式的,会涉及到很多超参数,使得方法变为复杂。

2、研究方法、内容(3、4)

本文提出了一种新的关键点检测的解决方案。该方法简单有效,能过够避免基于ROI或基于分组方法的缺点。本方法的关键是使用动态卷积关键点头。具体而言,该方法会为每个人体实例动态生成一个关键点检测头部。将该生成的关键点头用于全卷积网络中的卷积特征映射。因此,该方法能够为特定目标人体实例获取关键点检测结果,如图3,关键点头可以在卷积权重中编码实例特征。因此,该关键点头可以区分各个人体实例关键点,获得人体实例感知的卷积核。如果将自顶向下方法中的ROI操作认为是模型中获取实例的方法,在本文中,该方法就是动态人体实例感知关键点头。(实际上可以认为是一种新的自顶向下方法,将人体检测框划分人改为使用动态卷积划分)该方法消除了ROI以及分组后处理操作,从而避过了上述方法的缺陷。除此之外,该关键点头非常紧凑只含有几千个系数。因此,它可以非常快速地进行推理,且推理速度不随人体数目变化。能够更有利于实时应用。

此外,很容易知道关键点检测的定位精度与全卷积网络的输出分辨率紧密相关。因此,全卷积关键点头的输出分辨率与输入特征图相同,不利于关键点检测。很容易想到,可以使用反卷积提高分辨率,例如Mask R-CNN,但是对输出结果进行上采样会显著增加计算开销。在本文方法中,我们通过提供一个新的关键点细化模块去缓解精度与计算复杂度的冲突。如表4,相对baseline,我们提出的关键点细化模块能够有效提高精度而不提高计算开销。

3、贡献

本文贡献可以总结为三个部分:

  • 提出了一个高效准确的人体姿态估计框架,FCPose,其使用动态卷积建立。首次证明了一个无ROI与分组后处理操作的端到端可训练的多人姿态估计网络框架较于自顶向下与自底向上方法可以获得更好得精度和速度。
  • ROI的消除使得FCPose只需要卷积操作,能够在移动设备上更容易部署。此外,不使用ROI操作也能够避免关键点预测因不准确的人体检测框质量不佳导致的精度不高问题。
  • FCPose的核心是在关键点头使用动态卷积。动态卷积有着强大的表征能力。因此,只需要少量的卷积就可以达到很好的效果。总体的推理速度很快,对实例数量具有鲁棒性。我们提出了一个速度和精度上权衡的具有竞争性能的关键点检测模型。能够在实时领域上成为一个关键点检测的强大baseline。

Approach

总体网络架构

在以往的工作中,多人关键点检测通常使用全卷积网络进行像素级热图预测。由于普通的全卷积网络并不能够产生实例感知的关键点,这给多人关键点检测带来了关键挑战。如前所述,一些方法使用ROI裁剪人体感兴趣区域以将多人关键点检测问题转化为单人。用公式来表示,假设 G ∈ R h ∗ w ∗ c \ G\in \mathbb{R}^{h*w*c}  G∈Rh∗w∗c为ROI的特征, f θ \ f_{\theta}  fθ​是关键点头,其中 θ \ {\theta}  θ为可以学习的网络权值,预测的热图 H ∈ R h ∗ w ∗ K \ H\in\mathbb{R}^{h*w*K}  H∈Rh∗w∗K为:
H = f θ ( G ) . \ H = f_{\theta}(G)\,.  H=fθ​(G).
热图生成后,找打热图中每个通道的峰值以获取最终关键点坐标。ROI操作实际上是使模型关注到单个人体实例的核心。本文工作使用一个实例感知的关键点头使得模型关注到各个实例,对于每个实例 i ,需要生成一系列关键点头的权重 θ i \ \theta_{i}  θi​,F为特征图,那么预测的热图公式为:
H = f θ i ( F ) . \ H = f_{\theta_{i}}(F)\,.  H=fθi​​(F).

F为没有任何裁剪的全图像特征图,卷积的权重以实例的特征为条件,因此可以编码目标实例的特征。使得关键点头只在某个实例的关键点上触发。

本文使用FCOS(一阶段目标检测)为每个人体实例生成动态权重 θ \ {\theta}  θ,为了生成该动态权重,本文在 边界框回归分支新添加了一个输出分支(图中的controller)。回顾FCOS,特征图上的每个位置都与具体的实例相关联。因此,如果一个位置关联了实例i,那么这个controller就会生成用于检测对应实例 i 关键点的权重 θ i \ {\theta}_{i}  θi​.本文中的控制器是一个1*1卷积层。该层输出的数量与关键点检测头的权重数量相同,该控制器输出的权重值会用以填充关键点检测头中的各层权重。本文的关键点头含有3层卷积层,通道数为32,后面接着RELU激活层,以及K-通道数的最终预测层(K为关键点的数量),因此,该控制器的最终预测层含有2737个输出通道。对比其余的自顶向下方法来说,该关键点更加紧致,参数量更小,使得在关键点头上花费的推理时间少。

此外假设模型使用在位置(x,y)上生成的f来预测实例,那么,F上远离该位置的都不太可能是该实例的关键点。因此,本文借用CoordConv的思想,将相对于该位置的偏移量附加到特征图F上。关键点头用该已增强的特征映射作为输入,显著提高模型性能。

关键点细化模块

如前所述,FPN特征金字塔的特征图P3用于生成热图,因此热图的分辨率为原图的1/8,由于关键点检测需要较高的定位精度,该分辨率不足以进行准确的关键点检测。以往的大多数方法,通常使用反卷积等上采样操作对热图进行上采样。然而,对热图进行上采样会带来巨大的计算开销。

因此,作者引入一个基于回归的关键点细化模块解决该问题。如图4所示,关键点细化模块也应用于FPN P3,其实一个单一的卷积层,输出通道为2K(K为关键点数量,COCO数据集为2*17=34)。假设 O ∈ R h ∗ w ∗ 2 k \ O\in \mathbb{R}^{h*w*2k}  O∈Rh∗w∗2k为该模块的输出, O i , j = ( Δ x , Δ y ) \ O_{i,j} = (\Delta x, \Delta y)  Oi,j​=(Δx,Δy)表示位置(i,j)距离最近GT(真实值)关键点的偏移量。因此,对于一个关键点而言,如果该热图的峰值为(i,j),那么该关键点的坐标为 ( i + Δ x , j + Δ y ) \ ( i + \Delta x, j +\Delta y )  (i+Δx,j+Δy),实验表明,该细化模块不增加计算开销且能够大大提高关键点检测性能。所有的实例均共享该关键点细化模块。

Experiments 实验


本文方法主要在推理速度相当的方法中取得了更为良好的性能。从实验结果可以看出,本文主要是提出了一个更为有效的实时多人姿态估计框架。在精度上并没有达到SOTA。

FCPose: Fully Convolutional Multi-Person Pose Estimation with Dynamic Instance-Aware Convolutions相关推荐

  1. 论文笔记--3D human pose estimation in video with temporal convolutions and semi-supervised training

    3D human pose estimation in video with temporal convolutions and semi-supervised training(利用时间卷积和半监督 ...

  2. Paper:《Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields ∗》翻译并解读

    Paper:<Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields ∗>翻译并解读 目录 Abstract ...

  3. 重新思考人体姿态估计 Rethinking Human Pose Estimation

    Newly updated by 2019-11-19 ----------------------------------------------------- 浅谈:2D人体姿态估计基本任务.研究 ...

  4. Survey on Human pose estimation

    关于姿态估计的一些总结,GitHub上搬的 Papers 2D Pose estimation Learning Human Pose Estimation Features with Convolu ...

  5. 姿态估计之2D人体姿态估计 - (OpenPose) Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

    参见 论文翻译 || openpose _magic_ll的博客-CSDN博客 OpenPose论文解读-- 知乎 Openpose论文阅读 _jmucvm的博客-CSDN博客 openpose论文总 ...

  6. 视频中的3D人体姿态估计(3D human pose estimation in vide)--------Facebook research: VideoPose3D

    视频中的3D人体姿态估计(3D human pose estimation in video) 解读Facebook AI Research in CVPR2019: <3D human pos ...

  7. 笔记:PoseCNN:A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes

    PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes (Robotics: ...

  8. 3D Human Pose Estimation from Monocular Images with Deep Convolutional Neural Network(2014)

    Deep network for 3D pose estimation(2014) 本文提出两种策略去训练deep convolutional neural network以进行3D pose est ...

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

    Binarized Convolutional Landmark Localizers for Human Pose Estimation and Face Alignment with Limite ...

最新文章

  1. qt 拖拽 修改大小(二)
  2. 大数据能力提升项目| 学生成果展系列之一
  3. exchange无法收发邮件_Python使用POP3和SMTP协议收发邮件!
  4. 如果我们能够数字化,那么我们能够give away
  5. AWT_Swing_图片Icon
  6. Mac上如何修改itunes的默认备份地址
  7. 我是一只IT小小鸟——读后感
  8. Mac软件无响应怎么办?
  9. 关于华为交换机堆叠问题
  10. Python中常见的__init__.py是什么意思?详解Python import的方式和原理
  11. 开启oracle的acfs,配置OracleACFS集群文件系统
  12. FFT专题:IFFT后信号如何重建
  13. 代码回现 | 如何实现交易反欺诈?
  14. Oracle删表报错ora00054,Oracle解锁,解决“ORA-00054:资源正忙”错误
  15. c程序中的实型常量都是双精度浮点型常量
  16. 【Neo4j】第 10 章:图嵌入 - 从图到矩阵
  17. 查询跟踪快递物流,筛选因拒收退回的单号
  18. A.O.史密斯净水热饮机 -- 直接获得多温度净水,热饮不再等待
  19. 5G 智慧高校顶层规划设计及应用方案
  20. 2.6_4 Reids数据类型 + 基础命令

热门文章

  1. 栈溢出实例--笔记三(ret2libc)
  2. OK,点不了,错误:virtualbox 硬件加速配置页中已启用硬件虚拟化,但主机并不支持。需要禁用硬件虚拟化才能启动虚拟机
  3. 5G智慧港口三维可视化系统 数字孪生赋能升级
  4. 滑动平均模型(MA)—tensorflow
  5. Android BottomSheetDialog解除背景发暗(想设置圆角但是失败)
  6. echarts折线图拐点样式设置
  7. echarts折线图区域渐变
  8. WPF 通过设置Canvas.ZIndex属性修改图像的图层
  9. 【作业】我们Python老师布置的作业
  10. 数据结构——树和森林