gk cnn
G検定トップ
> OpenPoseとは?(姿勢推定アルゴリズム)【G検定対策】
まず結論
- OpenPoseとは、画像や動画から人の関節位置を推定し、骨格としてつなぐ姿勢推定アルゴリズムです。
- 複数人の関節候補を先に検出し、Part Affinity Fields(PAF)を使って人物ごとに対応付けるボトムアップ方式が代表的な特徴です。
直感的な説明
OpenPoseは、画像の中にいる人を一人ずつ囲ってから調べるのではありません。
まず画像全体から、
- 肩らしい点
- 肘らしい点
- 手首らしい点
- 膝らしい点
をまとめて見つけます。
その後、
この肩と肘は同じ人につながっている
という関係を推定し、人物ごとの骨格を組み立てます。
つまり、
関節を先に見つける → 同じ人物の関節を後からつなぐ
という流れです。
定義・仕組み
OpenPoseでは、CNNを使って主に次の2種類の情報を推定します。
1. 関節位置の信頼度マップ
画像の各位置について、
- 肩である可能性
- 肘である可能性
- 膝である可能性
などを表します。
2. Part Affinity Fields(PAF)
PAFは、関節同士のつながる方向を表す情報です。
たとえば肩と肘の候補が複数あるとき、PAFを使って、
どの肩とどの肘が同じ人物の腕か
を判断します。
この仕組みにより、複数人が写っていても人物ごとの骨格を組み立てられます。
OpenPoseは、人物を先に検出するのではなく、関節候補から人物を構成するボトムアップ型の代表例です。
いつ使う?(得意・不得意)
得意
- 複数人の姿勢推定
- スポーツフォームの解析
- 人の動作・行動分析
- AR・VR
- リアルタイムに近い姿勢推定
不得意・注意点
- 人が重なって関節が見えない場面
- 極端に小さく写った人物
- 複雑な背景や強い遮蔽
- 人物の種類や物体名を分類するタスク
OpenPoseが推定する中心は、何が写っているかではなく、人の関節がどこにあるかです。
G検定ひっかけポイント
ボトムアップ方式とトップダウン方式
- ボトムアップ方式:関節を先に検出し、後から人物ごとにつなぐ
- トップダウン方式:人物を先に検出し、その人物ごとに関節を推定する
OpenPoseの代表的な説明はボトムアップ方式です。
OpenPoseと物体検出
- 物体検出:人や物体を矩形で囲む
- OpenPose:関節位置を点で推定し、骨格としてつなぐ
「人を囲む」だけなら物体検出であり、姿勢推定とは限りません。
OpenPoseとセグメンテーション
- セマンティックセグメンテーション:画素ごとにクラスを分類する
- OpenPose:人体のキーポイントと関節のつながりを推定する
試験での判断基準
- 関節・キーポイント・骨格 → 姿勢推定
- 複数人の関節を同時に推定 → OpenPose
- 関節を先に検出して人物を構成 → ボトムアップ方式
- PAFで関節同士を対応付ける → OpenPose
まとめ(試験直前用)
- OpenPoseは人の関節位置を推定する姿勢推定アルゴリズム
- 関節を先に検出し、後から人物ごとにつなぐ
- PAFは、どの関節同士が同じ人物かを判断する
- 人物を先に検出する方法はトップダウン方式
- 「複数人・関節・PAF・ボトムアップ」ならOpenPose