1行定義
Open Poseとは、画像に写る複数の人の関節の位置とそのつながりを推定し、人ごとの骨格をリアルタイムで求める姿勢推定の手法のことです。
くわしく
Open Poseは、カーネギーメロン大学のZhe Caoらが開発した、複数の人の姿勢を推定する手法と、それを実装してソースコードを公開したソフトウェアの名前です。手法の論文は2016年に公開され、2017年のCVPRで発表されました。
何ができるか
カメラの画像から、写っている人それぞれの肩、ひじ、手首、ひざなどの関節の位置(キーポイント)を求め、線で結んだ骨格として出力します。普通のカラー画像だけで動きます。ソフトウェアでは、体・足・手・顔をあわせて最大135点の特徴点を推定できます。
仕組み
多人数の姿勢推定で難しいのは、見つけた関節が「誰のものか」を決めることです。人が近づいたり重なったりすると、別の人の関節どうしを結んでしまいやすくなります。Open PoseはCNNで、次の2種類の地図を推定します。
- 関節の種類ごとに、その関節がありそうな場所を表す地図(コンフィデンスマップ)
- 関節どうしを結ぶ部位(前腕やすねなど)の位置と向きを、画素ごとの2次元ベクトルで表した地図(Part Affinity Fields、PAF)
次に、関節の候補の組ごとに、2点を結ぶ線に沿ってPAFの向きがどれだけそろっているかを調べます。よくそろっている組ほど同じ人の部位らしいと判断し、人ごとの骨格を組み立てます。
このように部品を先に見つけてから人に組み立てる方式を、ボトムアップ型と呼びます。人を先に検出してから1人ずつ関節を推定するトップダウン型と比べ、人の検出の失敗に引きずられにくく、人数が増えても処理時間が増えにくい点が利点です。
使うときの注意
ソフトウェアは非商用の利用なら無償ですが、商用の利用には別にライセンスが必要です。業務で使う場合は、事前に利用条件を確認する必要があります。
覚え方
「関節の点(コンフィデンスマップ)と、向きの矢印(PAF)で骨格を組み立てる」と覚えます。
G検定での出題
出題のされ方
姿勢推定の代表的な手法として登場します。関節の候補とPart Affinity Fieldsを画像全体から求め、人ごとに組み立てるボトムアップ型であることや、人を先に検出するトップダウン型との違いが問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
Open Poseが推定するPart Affinity Fieldsは、関節と関節を結ぶ部位の位置と向きを、画素ごとの2次元のベクトルで表したものである。
答えを見る
答え ◯ 正しい
たとえば右ひじと右手首を結ぶ前腕の上には、前腕の向きを指すベクトルが入ります。この向きを手がかりに、どの関節どうしが同じ人のものかを判断します。
-
Open Poseは、深度センサーで測った距離の情報を必須とし、普通のカメラで撮った画像からは姿勢を推定できない。
答えを見る
答え × 誤り
Open Poseは、普通のカラー画像から2次元の関節の位置を推定します。特別なセンサーがいらないため、撮りためた映像にも使えます。
-
Open Poseは、体の関節だけでなく、手、足、顔の特徴点も推定できるソフトウェアとして公開されている。
答えを見る
答え ◯ 正しい
カーネギーメロン大学の研究室がソースコードを公開しており、体・足・手・顔をあわせて最大135点を推定できます。非商用の利用は無償ですが、商用の利用には別のライセンスが必要です。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目26 画像認識)
- 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、2. Method)
- Zhe Cao, Gines Hidalgo, Tomas Simon, Shih-En Wei, Yaser Sheikh, OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields (arXiv:1812.08008) (Abstract)
- CMU-Perceptual-Computing-Lab, OpenPose(GitHubリポジトリ) (Features、License)