はじめに
ICCV 2019 から以下の論文
[1] H. Duan, et. al. "TRB: A Novel Triplet Representation for Understanding 2D Human Body"
のまとめ
arXiv:
https://arxiv.org/abs/1910.11535
著者らが用いた MP2 dataset に対するアノテーションはこちら
https://github.com/kennymckormick/Triplet-Representation-of-human-Body
にある
日本語のまとめ:
DeNA 加藤直樹 (@nk35jk) によるざっくりしたまとめはこちら
https://engineer.dena.jp/2019/11/cv-papers-19-2d-human-pose-estimation.html
書きかけのまま数年間放置されてたのでいったん投稿
概要
- 2Dの姿勢推定と輪郭抽出を同時に行うモデル
- Triplet Representation for Body (TRB) なるものを導入
- 新しいアプローチなので、dataset も新たに作成し、公開している
出力はこんな感じ。

背景
ありがちな姿勢推定では、各関節を推定し骨格を形成する。しかしその方法だと人の輪郭的な情報が無くなってしまう。
もし輪郭も同時に抽出できると、そこにアバターをはめ込んだり等、面白いアプリに応用できるだろう。
一方で輪郭のみを抽出する手法は従来からあるが、人の領域をセグメントするような手法であり、骨格情報が欠如してしまう。
本手法は骨格も捉えながら、輪郭も抽出できる新しいアウローチ。
モデルの全体像
全体像の図は以下。

まず、ありがちだが全体は多段になっていて、段階(stack)を経るごとに refine されていく。
なので、1つの stack に注目する。

そうすると、ざっくり以下のような流れ。
(1)左から人の写った画像を入力し、まず Feature Extractor で特徴量を抽出する。
(2)その右、2つある MS block (multi-scale feature extraction) のうちの上側で骨格の heatmapを推定し、下側で輪郭の heatmapを推定する
(3)各 heatmap は stack ごとに loss を取る
(4)両方の heatmapを MP block (X-structured Message Passing Block)なるものに入れ、相互作用させ、次のstackに送る
MP (X-structured Message Passing Block)
MP は骨格に関する特徴量と輪郭に関する特徴量を相互に入れ替えることで関連性を強化する。
例えば、輪郭の位置は骨格が基準になっているので、骨格の情報を入れることで輪郭の位置も確かになるだろう。
以下の3種類が提案されている。
