今回は前回に引き続いて、OpenPoseについてです。OpenPoseは、前回ご紹介した通り、2017年に人物の姿勢推定で最も注目を集めたカーネギーメロン大学のZhe Caoらによる「Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields」1)が実装されたライブラリです。
OpenPoseの大きな特徴は前回も軽く触れたとおり、「画像に映っている人を検出し、検出した各人ごとに姿勢推定を行うTop-downアプローチ」ではなく、「画像全体から映っている人全員の身体部位を検出し、そのつながりの関係性から複数人の姿勢推定を行うBottom-upアプローチ」であるというところです。このBottom-upアプローチは、Convolutional Neural Network(CNN)での予測を繰り返し行い、身体の部位の位置と部位ごとの関係性(例えば右肩と右ひじの関係性)を同時に学習することにより実現されています。今回は、このBottom-upアプローチを実現するTwo-branch multi-stage CNNについてです。
Top-downアプローチによる姿勢推定の課題
まずは、姿勢推定の課題、Top-downアプローチの課題について整理したいと思います。姿勢推定の大きな課題として、画像中の人数・スケールが不定であるということがあげられます。また、既存のTop-downアプローチは、画像中の人の検出に失敗すると姿勢推定できない、人数に比例して計算量が増加する、複数人物間の身体部位の位置関係といったグローバルなコンテクスト情報を直接的に使えていない、という欠点がありました。
Two-branch multi-stage CNN
OpenPoseでは、前述の課題を解決するためにTwo-branch multi-stage CNNと呼ばれる手法を提案しました(図1)。
まず、入力画像をVGG19と同じ構造のFine-tuningされたCNNにより、解像度を圧縮した特徴量マップFを生成し、これがTwo-branch multi-stage CNNの入力となります。そこからは構造が2つに分岐しています。1つ目は、体の各身体部位が存在する位置をheatmapとして表すConfidence Mapsを予測するネットワークです(図2)。複数人が写っている場合でも一括して身体部位の位置を予測します。前回の記事で書いた通り18個の関節位置を求める場合は、身体部位ごとに18チャネルの予測結果を得ます。複数人が映像中に映っている場合は、例えば左肩に該当するチャネルのConfidence Mapには複数のピークが現れることになります。
2つ目は、各身体部位間のつながり得る可能性を表すベクトルマップを予測するネットワークです。前回も少し説明したPAFs(Part Affinity Fields)です。つながりうる身体部位間を結ぶ領域中の全ピクセルに対して、方向ベクトルが定義されます。このベクトルは画像の横軸xと縦軸yの2チャンネルのheatmapとして表されます。図3は、左肩と左肘の方向ベクトルマップを可視化したものです。複数人が写っている場合、複数の左肩と左肘が存在することになりますが、これらの繋がりを一括して推定することができます。
このように2つのブランチでConfidence MapsとPAFsを予測します。そして、その予測した結果と、入力データであるVGG19で抽出した特徴量マップFを連結して、これを再度同様の構造を持つCNNに繰り返し入力していきます(図1)。OpenPoseでは、このようにCNNによる予測を複数のstageで繰り返し行うことにより、複数人物間の身体部位の位置関係といったグローバルなコンテクスト情報を活用し、推定精度を向上しています。
Two-branch multi-stage CNNの考え方は人物の姿勢推定以外でも活用できるかもしれません。是非、詳しく調べて活用できるかどうか検討してみてください!
参考文献
[1] Zhe Cao and Tomas Simon and Shih-En Wei and Yaser Sheikh. Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields. In CVPR, 2017.
著者プロフィール
樋口未来(ひぐち・みらい)日立製作所 日立研究所に入社後、自動車向けステレオカメラ、監視カメラの研究開発に従事。2011年から1年間、米国カーネギーメロン大学にて客員研究員としてカメラキャリブレーション技術の研究に携わる。
日立製作所を退職後、2016年6月にグローバルウォーカーズ株式会社を設立し、CTOとして画像/映像コンテンツ×テクノロジーをテーマにコンピュータビジョン、機械学習の研究開発に従事している。また、東京大学大学院博士課程に在学し、一人称視点映像(First-person vision, Egocentric vision)の解析に関する研究を行っている。具体的には、頭部に装着したカメラで撮影した一人称視点映像を用いて、人と人のインタラクション時の非言語コミュニケーション(うなずき等)を観測し、機械学習の枠組みでカメラ装着者がどのような人物かを推定する技術の研究に取り組んでいる。
専門:コンピュータビジョン、機械学習