背景
正在参加天池举办的 FashionAI全球挑战赛——服饰关键点定位, 做一些技术储备, 了解人体姿态估计(Human Pose Estimation) 相关技能点, 读一些论文并做笔记, 方便事后学习回忆.
Open-Pose:Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields, 在 2016 年的 COCO 数据集上取得 61% 的成绩(TOP1), 在 MPII 上取得 75% 的好成绩.
Abstract
- 自底向上 (bottom-up)
- 人数不限
- 两个分支学习同一个部件的位置和关联
Introduction
- 人体二维姿态估计 (Human 2D pose estimation) 问题集中在确定身体的各个部位上
- 推断多人姿势, 特别是交叉重叠人群的多人, 会带来挑战.问题有三
- 人可以出现在图片的任何地方
- 人与人直接交叉重叠
- 实时性
- 目前解决方法是, 先检测到人, 然后对人进行姿势估计 (top-down)
- 从上至下方法的问题是, 如果人分离器失灵, 那么后面的操作就失效了; 且对每个人都要进行一次单人分离, 当人数增大的时候, 运算资源消耗增大.
- 自下而上的方法, 提供了早期的鲁棒性和对多人分离不增加复杂性
- 以前的自下而上的方法不能保持效率的提高, 是因为分析需要昂贵的 - 全局推断.
- 我们使用自下而上的 Part Affinity Fields 的方法 (PAFs)
- 对应位置和肢体方向两个分支, 同时进行, 然后结合
Method
- input 是 w × h 的图片
- output 是 每个人的解剖关键点
- 步骤
- 首先, 前馈神经网络预测身体部位位置的一组 2D 置信图 S
- 同时, 生成一组 2D 矢量字段 L, 编码了部件之间的关联程度
- 最后, 通过贪婪推理对置信图和置信域进行解析
- Simultaneous Detection and Association
- 一开始使用 vgg19 并且进行了微调
- 生成 F 到每个分支的起点
- 使用 L2 正则作为损失函数
- 损失函数乘以权重 W
- 在每个 stage 中通过补充梯度, 来避免梯度消失的问题
- Confidence Maps for Part Detection
- 如何寻找到关键点
- 采用置信图的最大值而不是平均值
- Part Affinity Fields for Part Association
- 需要对关键部位关联进行置信测量
- 一种测量关联的方法是, 没对部分之间加重点, 并检查关联 (f5a)
- 然后当人们聚集在一起时, 这些中点会提供错误的关联 (f5b)
- 这个错误是由两个限制产生的
- 它只编码了每个肢体的位置, 而不是方向
- 它将肢体的支撑区域缩小到一个点.
- 中点应该落在四肢上
- Multi-Person Parsing using PAFs
- 使用 non-maximum suppression 来获取关键点预测
- 得到一个很多可能肢体的集合
- 解析最优解问题对应 K-dimensional matching problem 和 NP-Hard 问题
- 使用 greedy relaxation 算法不断产生高质量的匹配
- 增量了两个 two relaxations to the optimization
- 首先, 选择最小的边来生成人体姿态的生成树骨架
- 其次, 将匹配问题分解为一组二分匹配子问题, 独立确定相邻树节点的匹配 ## Results
- 在 MPII human multi-person dataset 和 the COCO 2016 keypoints challenge dataset 都取得了很好的成绩
- Results on the COCO Keypoints Challenge
- open-pose 的方法比自上而下的方法, 在小规模人群中, 有更低的精度
- 大多数误差来自于关键点定位
Runtime Analysis
- 自上而下的方法, 随着人数增加而时间增加, 成正比
- 而这个方法, 随着人数增加, 运行时间增加缓慢
Discussion
- 让机器理解重大时刻, 人们在干什么
- 这样可以让机器能够做出及时反应, 并参与其中
Changelog
- 18.4.9 init.