1. 定義と概要
OpenPoseとは、カーネギーメロン大学のZhe Cao氏らが2017年のCVPRで発表した姿勢推定モデルです。もとになった論文は「Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields」です。1枚の画像に写る複数人物の骨格を同時に推定するボトムアップ方式(先に画像全体から関節点をすべて見つけ出し、あとから誰の部位かをまとめる進め方)を採用し、GitHub上でライブラリとして公開されています。当初は身体の関節が対象でしたが、手や顔、足の関節も検出できるように拡張されました。
「OpenPose」が登場する以前、複数人物の姿勢推定は人物検出器で人物領域を先に切り出し、その領域ごとに1人用の姿勢推定モデルを適用するトップダウン方式(先に人物を1人ずつ見つけてから、その中で関節を探す進め方)が主流でした。この方式は人数が増えるほど個別の推定処理を繰り返すため計算量が人数に比例して増え、人物同士が重なる場面では検出漏れも起きやすくなります。
「OpenPose」は関節点(肩や肘、膝など、骨格の動きを示す体の位置で、キーポイントとも呼ばれます)の検出を先に画像全体で済ませ、あとから人物へ割り当てる順序に転換することで、この計算量の課題に対応しました。
2. 試験対策ポイント
G検定のシラバスでは、「OpenPose」はAlexNet・DeepLab・Mask R-CNNなどと並ぶ画像認識分野の代表的なモデルの一つとして扱われます。ここでいうMask R-CNNは、物体検出とセグメンテーションを同時に行う深層学習モデルで、姿勢推定にも応用されます。ボトムアップ方式の姿勢推定モデルという分類が要点になります。
処理は2段階で構成されます。前半で関節点の候補を画像全体から洗い出し、後半でそれらを人物ごとに束ねるという流れです。
| 段階 | 用いる情報 | 役割 |
|---|---|---|
| 第1段階 | Confidence Maps(各関節点がその位置に存在する確率をヒートマップで表したもの) | 画像全体から関節点の候補を検出する |
| 第2段階 | Part Affinity Fields(PAFs。手足の向きと位置を表す2次元のベクトル場) | 検出済みの関節点同士を人物ごとに対応付ける |
ベクトル場とは、画像の各点に、向きと長さを持つ矢印を割り当てたデータの集まりを指します。手足の向きと位置を矢印として持たせることが、関節点を人物ごとに結び付ける手がかりになります。
トップダウン方式との対比では、「OpenPose」は画像内の人数が増えても計算時間がほぼ一定に保たれる特徴が対比の軸になります。トップダウン方式は人数に比例して処理回数が増える点が異なります。
このモデルを『人物を先に検出してから関節を推定する』と説明するのは誤りです。正しくは関節点の検出が先で、人物への割り当てはそのあとという順序になります。
3. 関連概念との比較・相違点
トップダウン方式との最大の違いは、処理の順序と人数に対する計算量です。トップダウン方式は人物検出器で人物領域を切り出したあとに1人ずつ姿勢推定を行うため、画像内の人数が増えるほど処理回数も比例して増えます。人物同士が重なる場面では、先に行う人物検出そのものが失敗し、検出漏れにつながることもあります。
一方、「OpenPose」は画像全体から関節点の候補をまとめて検出したあとで人物へ割り当てるため、人数が増えても計算時間がほぼ一定に保たれます。両方式の違いを、処理の順序と人数が増えたときの計算量という軸で整理します。
| 方式 | 処理の順序 | 人数が増えたときの計算量 |
|---|---|---|
| ボトムアップ方式(「OpenPose」) | 画像全体から関節点の候補を検出し、そのあと人物へ割り当てる | 計算時間がほぼ一定に保たれる |
| トップダウン方式 | 人物領域を切り出し、その領域ごとに1人ずつ姿勢推定を行う | 人数に比例して処理回数が増える |
順序が入れ替わっているだけのように見えても、大人数が写り込む場面での振る舞いには差が出ます。
一般的な物体検出との違いは出力形式にあります。物体検出は検出対象を矩形の枠(バウンディングボックス)で示すのに対し、「OpenPose」は関節点という点の集合と、部位間のつながりを示す情報を出力します。人物がどこにいるかではなく、体の各部位がどこにあり、どうつながっているかを示す点が、物体検出とは異なる着眼点です。
4. ビジネス・実務での活用シナリオ
医療・介護の分野では、高齢者の歩行の変化や転倒のリスクをカメラ映像から非接触で継続的に見守り、リハビリ計画の見直しに役立てる取り組みが進んでいます。体にマーカーを装着する従来の動作解析に比べ、低コストで導入できる点が特徴です。日々の映像から関節の位置の推移を蓄積できれば、歩幅や左右のバランスのわずかな変化も記録として残せます。
スポーツの現場では、ピッチングフォームやランニングフォームを関節の動きから定量的に評価し、パフォーマンス向上とケガの予防につなげる活用が広がっています。目視による指導に比べ、客観的な比較ができる点が強みです。関節の角度や動きの順序を数値として残せれば、選手本人が自分のフォームの変化を時系列で振り返れます。
エンターテインメント・映像制作の分野では、専用のマーカースーツを使わずカメラ映像だけで人物の動きをデジタル化するモーションキャプチャに応用され、CGキャラクターへの動作反映を低コストで行えます。撮影のたびにスーツを用意する手間が省ける分、少人数の制作現場でも動きを取り込んだ映像表現に踏み込みやすくなります。
5. 要点まとめ
- 「OpenPose」は、カーネギーメロン大学のZhe Cao氏らが2017年のCVPRで発表した、複数人物の骨格を同時に推定する姿勢推定モデルです。全身の関節点(体の関節にあたる位置を示す点)をまず検出してから人物ごとにまとめるボトムアップ方式を採ります。
- 処理は、「Confidence Maps」で関節点の候補を検出したあと、「PAFs」で関節点同士を人物ごとに対応付ける2段階で構成されます。
- トップダウン方式は人数に比例して計算量が増えるのに対し、「OpenPose」は人数が増えても計算時間がほぼ一定という特徴を持ちます。
6. 確認問題
問1「OpenPose」は、画像内の関節点をすべて検出したあとにPart Affinity Fields(PAFs)を用いて人物ごとに対応付けるボトムアップ方式の姿勢推定モデルである。
解答・解説をみる
○ 正しい
「OpenPose」はボトムアップ方式に分類されます。「Confidence Maps」で関節点の候補を検出したあと、「PAFs」で人物ごとに関節点を結び付ける処理順序をとります。
問2「OpenPose」は、Mask R-CNNのように人物検出器で人物領域を切り出してから1人ずつ姿勢推定を行うトップダウン方式のモデルである。
解答・解説をみる
× 誤り
「OpenPose」はボトムアップ方式であり、人物領域を先に切り出す前処理は不要です。人物検出を先に行うトップダウン方式に分類されるのはMask R-CNNなどで、人数が増えるほど処理回数が比例して増える点が「OpenPose」と異なります。正しくは、関節点の検出を先に行い、人物への割り当てはそのあとという順序です。
問3「OpenPose」は画像全体を一度に処理してから人物へ関節点を割り当てるため、画像内の人数が増えても計算時間がほぼ一定に保たれる。
解答・解説をみる
○ 正しい
ボトムアップ方式の特徴です。「OpenPose」は画像全体から「Confidence Maps」で関節点をまとめて検出したあとに人物へ割り当てるため、人数が増えても処理回数がほぼ変わりません。人数に比例して処理回数が増えるトップダウン方式との対比になります。

