1行定義
姿勢推定とは、画像や動画に写る人の肩、ひじ、ひざなどの関節の位置を推定し、それらを結んで体の姿勢を求めるタスクのことです。
くわしく
姿勢推定は、画像や動画から人の体の姿勢を求めるタスクです。肩、ひじ、手首、腰、ひざ、足首などの関節や、目や耳といった特徴点(キーポイント)の位置を推定し、それらを線で結んだ骨格として出力します。画像上の2次元の位置を求めるものが中心ですが、3次元の位置を求める研究もあります。
ほかの画像認識タスクとの違い
物体検出は人を矩形で囲み、セグメンテーションは人の領域を画素単位で塗り分けます。どちらも、腕を上げているのか、しゃがんでいるのかまでは表せません。姿勢推定は、点と線で体の形を表すことで、動きや姿勢の情報を取り出します。
主な方式
初期の代表例は、2014年に発表されたDeepPoseです。関節の座標をニューラルネットワークで直接求める、回帰の問題として扱いました。その後は、関節がありそうな場所を地図(ヒートマップ)の形で出力する方式が広く使われています。
画像に複数の人が写る場合は、大きく2つの方式があります。
- トップダウン型:先に物体検出で人を見つけ、1人ずつ関節を推定します。Mask R-CNNを応用する方法などがあります。人数が増えるほど処理が増えやすく、人の検出に失敗すると、その人の姿勢は求められません。
- ボトムアップ型:先に画像全体から関節の候補を見つけ、人ごとに組み立てます。代表例のOpen Poseは、関節どうしのつながりを表すPart Affinity Fieldsを使い、人数が増えても処理時間が増えにくくなっています。
活用の場面
スポーツのフォームの分析、リハビリでの動作の評価、転倒の検知、工場での作業の分析などに使われます。人の映像を扱うため、プライバシーへの配慮が必要になる場面もあります。学習には、関節の位置を付けた正解データ(アノテーション)が必要です。
覚え方
「検出は箱、セグメンテーションは塗り、姿勢推定は点と線」と覚えます。
G検定での出題
出題のされ方
物体検出やセグメンテーションとの出力の違い、代表的な手法のOpen Pose、人を先に検出するトップダウン型と関節を先に検出するボトムアップ型の違い、活用の場面が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| 姿勢推定このページの用語 | 画像や動画に写る人の肩、ひじ、ひざなどの関節の位置を推定し、それらを結んで体の姿勢を求めるタスク |
| 物体検出 | 画像の中にある物体の位置を矩形(バウンディングボックス)で示し、それぞれが何であるかのクラスもあわせて推定するタスク |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
DeepPoseは、関節の座標を直接出力する回帰の問題として、ディープニューラルネットワークで姿勢推定を行った。
答えを見る
答え ◯ 正しい
2014年のCVPRで発表された初期の代表例です。回帰を何段階にも重ね、前の段で推定した位置のまわりの画像から座標を求め直して精度を高めています。
-
トップダウン型の姿勢推定では、先に検出した人の矩形ごとに関節を推定するため、人の検出に失敗すると、その人の姿勢は求められない。
答えを見る
答え ◯ 正しい
関節の推定が、人の検出の結果に左右されるためです。画像全体から関節を先に見つけるボトムアップ型は、この影響を受けにくくなります。
-
姿勢推定で推定できるのは体の大きな関節だけで、手の指の関節の位置は推定の対象にならない。
答えを見る
答え × 誤り
手の指の関節や顔の特徴点を推定する手法もあります。たとえばOpen Poseのソフトウェアは、体と足に加え、片手21点、顔70点の特徴点も推定できます。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目26 画像認識)
- Alexander Toshev, Christian Szegedy, DeepPose: Human Pose Estimation via Deep Neural Networks, CVPR 2014 (arXiv:1312.4659) (Abstract、3.2 Cascade of Pose Regressors)
- Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh, Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields, CVPR 2017 (arXiv:1611.08050) (1. Introduction)
- Kaiming He, Georgia Gkioxari, Piotr Dollár, Ross Girshick, Mask R-CNN (arXiv:1703.06870) (5. Mask R-CNN for Human Pose Estimation)
- CMU-Perceptual-Computing-Lab, OpenPose(GitHubリポジトリ) (Features)