Index
PoseNet とは
2018 年 Google から発表された姿勢推定 / Pose Estimationのタスク手法.
- Pose Estimation
姿勢推定 / Pose Estimation
- 人間の姿勢を推定する. 骨格推定 (Bone Estimation) とも
- Single Person / Multi Person
- 2D / 3D
- 姿勢追跡 / Pose Tracking への応用
Top Down Approach / Bottom Down Approach
- 人検知 -> 体の部位検知 : Top Down Approach
- 体の部位検知 -> 人検知 : Bottom Down Approach
PoseNet は後者 (Bottom Down Approach)
Algorithm
Keypoint Detection
画像内にある、複数の人間の Keypoint を検出する.
2017 年 Google が発表した「Towards Accurate Multi-person Pose Estimation in the Wild」の考えが使われている.
- Towards Accurate Multi-person Pose Estimation in the Wild
Heatmap と Offset Vector を計算し、「Highly Localized Activation Map」を使って最終的な Keypoint を「Fused Activation Maps」として変換(算出)している.
PoseNet では、「Hough Voting」を使って、「Hough Arrays」に変換する.
定義
- : 各ピクセル
-
- 中心 y, 半径 R の円領域
- : Keypoint の座標
- : J は人の数 / j は人の Index
- : K は 人 j の Keypoint の数 / k は Keypoint の Index
Heat Map
ある Keypoint (例えば、左肘) の半径 R の領域 D に入るかどうかをピクセル単位で予測する.
Short Range Offsets
各ピクセルから、あるkeypoint (例えば、左肘) へのベクトル (Offset Vector) を推定する.
出力は 2 チャネルで、ベクトルのスタート座標 : とベクトルのエンド座標 (=Keypoints): .
Offset Vector は以下のように計算する.
Hough Voting
Hough score maps を定義.
は bilinear kernel.
は、 を始点とする推定 Keypoint の位置で、 は
(画像内のすべてのピクセル)から を始点とする推定 Keypoint へのベクトル. それに、bilinear kernel を適用する.
をかけることで、おおよそKeypointの半径 R ピクセルだけ集計することができる.
集計したものを面積 で割って規格化する.
Mid Range Offsets
各 Keypoint 同士(特に四肢)を連結させることが目的.
Keypoint と Keypoint のベクトルの計算方法は以下.
は人物のIndex における Keypoint の座標.
入力の は、人物のIndex における Keypoint の 座標 の 周辺の円形領域 に
含まれていることが条件.
Keypoint が肘で、Keypoint が肩であるならば、 は二の腕を表すベクトルになる.
関連している Keypoint を繋いでいくことでグルーピングされていく.
Recurrent Offset Refinement
推定した Keypoint 同士のベクトル (Offset Vector) (Mid Range Offset) を Short Range Offset を利用して、補正する.
この補正処理を論文では、2回行うとのこと.
Person Pose Decoding
グルーピングしたKeypoint が一人の人物になるように処理を行う.
Instance Segmentation
画像内にいる人物べつに、領域を分類する.
Embedding Based Approach で、Segmentation と Offset Vector を連結する.
参考はこちらの論文.
Associative embedding: End-to-end learning for joint detection and grouping.
- [2017]
- arxiv.org
Semantic instance segmentation via deep metric learning.
- [2017]
- arxiv.org
Semantic instance segmentation with a discriminative loss function.
- [2017]
- arxiv.org
Semantic Person Segmentation
人物の Semantic Segmentation で領域を分類 (mask画像作成) する.
FCN で Semantic Segmentation するように、結果を出力する.
Long Range Offset
Instance Segmentation の補助として使用する.
Recurrent Offset Refinement
Mid Range Offset と同じように、補正処理を行う.
論文だとこちらも 2回.