blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2019.12.11 技術記事

コンピュータビジョンの最新論文調査 3D Human Pose Estimation 編

by naoki.kato

#AI

はじめに

こんにちは、AIシステム部でコンピュータビジョンの研究開発をしている加藤です。我々のチームでは、常に最新のコンピュータビジョンに関する論文調査を行い、部内で共有・議論しています。前回の 2D Human Pose Estimation 編 に引き続き、今回は 3D Human Pose Estimation 編として加藤直樹 ( @nk35jk ) が調査を行いました。

本記事では 3D Human Pose Estimation に関する代表的な研究事例を紹介するとともに、コンピュータビジョンのトップカンファレンスである ICCV 2019 に採録された論文を中心に 3D Human Pose Estimation の最新の研究動向を紹介します。

過去の他タスク編については以下をご参照ください。

目次

前提知識

3D Human Pose Estimation

Human Pose Estimation / 人物姿勢推定 は人物の映った画像や動画から人物の姿勢に関する情報を特定するタスクであり、以下のサブタスクに大別されます。

  • 2D Pose Estimation( 前回の記事 で紹介)
  • Pose Tracking
  • 3D Pose Estimation(本記事のスコープ)
  • Shape Reconstruction

それぞれのサブタスクの位置付けについては 前回の 2D Pose Estimation の紹介記事 でまとめていますので、興味のある方はそちらをご覧ください。

上記の各サブタスクのうち、3D Pose Estimation は単一または複数視点の画像や動画から人物関節点の3次元座標を特定するタスクです。ここで言う3次元座標には関節点のワールド座標、カメラ座標、腰を原点とした相対座標などが含まれ、研究の目的によって推定対象は異なります。3D Pose Estimation の中でも特に盛んに研究されているのが単眼カメラ画像を入力とした3次元姿勢の推定です。単眼カメラを用いる場合カメラから人物への奥行き(デプス)およびスケールが不定となるため、基本的にはカメラ座標系において人物の腰を原点としたときの各関節点の相対座標を推定する問題設定となります。

3D Pose Estimation [1]

近年CV分野全体において3D認識についての研究が注目されている流れに逆らわず、Pose Estimation においても2Dから3Dへと研究の対象が移りつつある印象を受けます。私の集計した限りでは、2019年10月から11月にかけて開催されたコンピュータビジョンのトップカンファレンスである ICCV 2019 では Pose Estimation に関する論文が計41本採録されており、その内4本が 2D Pose Estimation に関する論文、19本が 3D Pose Estimation に関する研究、18本が Shape Reconstruction に関する論文と、ほとんどが3D認識タスクに関する研究でした。

本記事では 3D Pose Estimation の中でも特に研究の盛んな単眼カメラ画像からの3次元姿勢推定に関する代表的な研究事例を紹介した後、ICCV 2019 に採録された論文を中心に 3D Pose Estimation の最新の研究事例をトピック毎に紹介します。近年注目されている関連タスクである Shape Reconstruction については別の記事で紹介を予定しています。

関連するデータセット

3D Pose Estimation の研究では主に以下のデータセットが用いられます。

Human3.6M [2]

Human3.6Mは4台のカメラで計11人の被験者を撮影した計約360万フレームの動画から成る、3D Pose Estimation の評価の際に最も標準的に用いられるデータセットです。実験室環境でモーションキャプチャシステムを用いて作成されたデータセットとなっており、マーカーを装着した被験者を複数台のモーションカメラで撮影することにより各関節点の3次元座標をアノテーションしています。

human3.6m_1.jpg human3.6m_2.jpg human3.6m_3.jpg human3.6m_4.jpg
Human3.6Mデータセットのデータ例

HumanEva-I [3]

HumanEva-Iは比較的小規模なデータセットで、7台のカメラで計4人の被験者を撮影した計約4万フレームの動画から構成される実験室環境のデータセットです。Human3.6Mが主流となる前の研究では本データセットが主に利用されていました。

humaneva_1.jpg humaneva_2.jpg humaneva_3.jpg
HumanEva-Iデータセットのデータ例

MPI-INF-3DHP [4]

MPI-INF-3DHPは複数カメラを用いたマーカーレスモーションキャプチャシステム [5] を用いて作成されたデータセットです。学習データは計11人物を14台のカメラで同時に撮影した計130万フレームを超える動画からなります。このとき、グリーンスクリーンの実験室環境で被験者を撮影することにより、背景、椅子、上半身、下半身のテクスチャのデータ拡張を行い、データに多様性を持たせています。テストデータはグリーンスクリーン有り/無しの実験室環境で撮影されたもの、野外で撮影されたものの3種類からなります。

学習されたモデルの汎化性能を検証するために、他の実験室環境データセット(主にHuman3.6M)などで学習されたモデルを本データセットの野外画像のテストデータを用いて評価する事例が存在します。

mpi-inf-3dhp_1.png mpi-inf-3dhp_2.png

MPI-INF-3DHPデータセットのデータ例
上段:学習データ、下段:テストデータ

CMU Panoptic [6]

CMU Panoptic は複数台のカメラが内側に取り付けられた球状の実験室環境で作成されたデータセットで、実験室内の単一または複数の人物を480台のVGAカメラ、30台以上のHDカメラ、10台のRGB-Dセンサで同時に撮影することで得られた計約5.5時間の65動画および約150万の人物姿勢から構成されます。

cmu_panoptic_1.png

実験室の構成

cmu_panoptic_2.png

CMU Panoptic データセットのデータ例

評価方法

3D Pose Estimation では Mean Per Joint Position Error と 3D Percentage of Correct Keypoints という評価指標が主に用いられます。

Mean Per Joint Position Error

Mean Per Joint Position Error (MPJPE) は関節点の推定座標と正解座標の距離(単位は主にmm)を全ての関節点およびデータで平均することにより算出される評価指標です。単眼カメラを用いたアルゴリズムの場合、評価の前に推定姿勢と正解姿勢の腰などの基準となる関節点 (Root Joint) の座標を並進移動により位置合わせする場合や、さらに回転を加えた剛体変換による位置合わせ (Rigid Alignment) を行う場合があります。そのため研究間の評価値を比較するときは、それぞれの評価手順が異なっていないか注意が必要です。なお、Rigid Alignment 後のMPJPEは Reconstruction Error と呼ばれる場合があります。

Percentage of Correct 3D Keypoints

Percentage of Correct 3D Keypoints (3D PCK) は2次元姿勢推定において利用される評価指標であるPCKを3次元に拡張したもので、関節点の推定座標と正解座標の距離が設定した閾値よりも小さいときにその関節点の推定を正しいものとし、推定が正しく行われた割合をその評価値とします。

タスクの課題

3D Pose Estimation における主要な課題点として挙げられるのがデータセット構築のハードルの高さです。2次元関節点座標は人物画像さえあればアノテーションが可能であるのに対し、3次元関節点座標のアノテーションにはモーションキャプチャシステムが必要となるため、大規模なデータセット構築が困難です。現状最大規模のデータセットであるHuman3.6Mは動画のフレーム数こそ多いものの、被験者数がそれほど多くないという課題があります。また、特に実験室環境で構築されたデータセットは背景環境や人物の服装、姿勢などの外観の多様性が低く、学習されたモデルの汎化性能を損なう恐れがあります。さらに、モーションキャプチャ手法にもよりますがGround-truth自体が必ずしも正確ではないという問題があり、正確なアノテーションを付与することのできるモーションキャプチャ手法自体が研究対象にもなっています。

代表的な研究事例

単眼カメラ画像からの 3D Pose Estimation には多様なアプローチが存在しており、それらを体系的に系統付けるのは難しいですが、おおよそ以下のように大別されます。

  • 関節点座標を直接回帰
  • 3次元ヒートマップ推定
  • 2次元姿勢を入力に3次元姿勢を推定
  • 2次元姿勢推定 + デプス推定
  • 2次元姿勢に対応する3次元姿勢をライブラリから検索
  • 人体モデルのフィッティング

ここからは、上記それぞれのアプローチを用いた 3D Pose Estimation に関する研究の中から代表的と思われるものをピックアップし紹介します。なお、使用している図表は紹介論文から引用したものとなります。

Structured Prediction of 3D Human Pose with Deep Neural Networks (Tekin+, BMVC 2016) [7]

この研究はディープラーニングを3次元姿勢推定に応用した初期の手法であり、畳み込みニューラルネットワークに画像を入力して関節点の3次元座標を回帰により推定するというシンプルなアプローチを取っています。

モデルの出力は(推定すべき関節点数)× 3 次元のベクトルで、各関節点の座標は Root Joint を原点とした相対座標により表されます。同様のアプローチはLiらにより提案されていますが [8]、本研究ではモデルの学習時にオートーエンコーダーで獲得された潜在表現を活用することで人物姿勢の構造情報を考慮した推論を可能にし、モデル性能向上を図っています。

tekin2016_1.png

手法の枠組み

本手法では3段階の学習によりモデルを学習します。まず、ノイズを加えた人物の3次元姿勢を入力にそれを復元するオートエンコーダーを学習します(下図 (a))。次に画像を入力に、獲得されたオートエンコーダーの潜在表現を推定するモデルを学習します(下図 (b))。そして最後に、オートエンコーダーのデコーダーをモデルに付け加え、関節点の3次元座標を推定するようモデルをFine-tuningします(下図 (c))。モデルの学習は全ての段階において Mean Squared Error (MSE) をロス関数として行います。

tekin2016_2.png

モデルの学習

実験結果

Ablation Study では、関節点座標を回帰するモデルを一から学習したもの (下表CNN-Direct)、オートエンコーダーの層数およびFine-tuningの有無を変化させた提案手法 (下表OURS) の性能比較を行い、提案手法の有効性を示しました。

tekin2016_3.png

Human3.6Mデータセットでの Ablation Study 結果(MPJPE)

また、提案手法は既存の非ディープラーニング手法(下表LinKDE)およびディープラーニング手法(下表DconvMP-HML、StructNet)を上回る性能を達成しました。

tekin2016_4.png

Human3.6Mデータセットでの既存手法との性能比較(MPJPE)

Coarse-to-Fine Volumetric Prediction for Single-Image 3D Human Pose (Pavlakos+, CVPR 2017) [9]

2次元姿勢推定においてヒートマップを用いたアプローチの有効性が確認されたのを受け、本研究では3次元ヒートマップを用いた3次元姿勢推定手法を提案しています。

3次元ヒートマップは推定する関節点の種類毎に用意され、人物周囲の空間をVoxelを用いて離散化して表現しています。具体的には、ヒートマップのx-y方向のグリッドは入力画像をx方向、y方向に均等に離散化したものに対応し、z方向のグリッドは人物の Root Joint を中心とする [-1, 1] メートルのデプスを均等に離散化したものに対応します。各Voxelの値は対応する空間内に関節点が存在する尤もらしさを表します。ヒートマップの正解ラベルは関節点座標を中心とする3次元のガウス分布に基づき生成され、MSEをロス関数としてこれを推定するモデルを学習します。

pavlakos2017_1.png

アプローチの概要

モデルには Stacked Hourglass Network [10] を採用し、各 Hourglass Module から3次元ヒートマップを推定し、それぞれにロスを与える Intermediate Supervision を適用します。モデルは全てのモジュールで同一解像度のヒートマップを推定するのではなく、下図のように層が深くなるにつれ推定が難しいヒートマップのデプス方向の解像度を徐々に大きくしていくことにより、学習の複雑さの低減を図っています。

pavlakos2017_2.png

Coarse-to-Fineなヒートマップ推定

推論時は3次元ヒートマップにおいて値が最大のVoxelに対応する座標を関節点の推定座標とします。

実験結果

スタック数1の Hourglass Network を用い、関節点座標を直接回帰するモデル(下表 Coordinate Regression)と3次元ヒートマップを推定するモデル(下表 Volume Regression)の性能比較を行い、ヒートマップを用いた3次元姿勢推定の有効性を示しました。

pavlakos2017_3.png

推定対象による性能比較(Human3.6MデータセットでのMPJPE
d はヒートマップのデプス方向の解像度を表す

また、Hourglass Network のスタック数を増やしていきつつ、各モジュールで推定されるヒートマップのデプス方向の解像度を一定とした場合、徐々に増やしていった場合の性能を比較し、Coarse-to-Fineなヒートマップ推定の有効性を確認しました。

pavlakos2017_4.png

ヒートマップの解像度による性能比較(Human3.6MデータセットでのMPJPE)
Li はi番目の Hourglass Module で推定されるヒートマップのデプス方向の解像度を表す

本手法はHuman3.6Mデータセットで既存手法を上回る 71.90 mm のMPJPEを達成しました。なお、本手法では Root Joint のデプスをデータセットの人物骨格サイズに基づき推定しており、評価の際に Root Joint をGround-truthと位置合わせしていないことに注意が必要です(他の研究のように位置合わせを行うことでより評価値が改善すると考えられます)。

A simple yet effective baseline for 3d human pose estimation (Martinez+, ICCV 2017) [11]

前述したように、3次元姿勢推定で利用されることの多い実験室環境で構築されたデータセットはデータの外観の多様性が低く、学習されたモデルの汎化性能を損なう恐れがあります。それを受け、本研究では3次元姿勢推定の際に画像の外観情報は直接利用せず、2次元姿勢推定器を用いて推定された2次元姿勢を入力として3次元姿勢を推定するアプローチを取っています。画像を入力としないため、非常に高速な推論が可能であるのもこのアプローチの利点の一つです。

モデルは下図のように、全結合層、ReLU、Batch Normalization、DropoutとSkip-connectionから成るブロックを2回繰り返した構造を持つ非常にシンプルなものとなっています。

martinez2017_1.png

入力である2次元姿勢は各関節点の画像座標であり、推定対象の3次元姿勢はカメラ座標系において Root Joint を原点とした各関節点の相対座標です。前処理として、入出力共に平均を0、分散を1にする標準化を行なっています。ロス関数にはMSEを用いてモデルを学習します。

実験結果

MPIIデータセットで学習された Hourglass Network を2次元姿勢推定器に用いて既存手法との性能比較を行い、本手法の優位性を示しました。また、入力にGround-truthの2次元関節点座標を用いたときのエラーの低さから、入力される2次元姿勢の正確さが精度に大きく寄与することが見て取れます。

martinez2017_2.png martinez2017_3.png
Human3.6MデータセットでのMPJPEによる性能比較
左:Rigid Alignment 無し、右:Rigid Alignment 有り

外観の多様性に富むMPIIデータセットで学習された2次元姿勢推定器を利用していることが他手法と比較した本手法の性能の高さの一助となっているように思われます。

本手法のように、事前に推定された2次元姿勢を入力として3次元姿勢を回帰するアプローチが近年の研究でも広く用いられています。

Towards 3D Human Pose Estimation in the Wild: a Weakly-supervised Approach (Zhou+, ICCV 2017) [12]

この研究では3次元姿勢推定を2次元姿勢推定とデプス推定の2つのタスクに分割することにより、外観の多様性に富む2次元データセットと関節点の3次元座標のアノテーションを持つ3次元データセットを併用した学習が可能なモデルを提案し、野外画像に対する汎化性能の向上を図っています。

zhou2017_1.png

アプローチの概要

提案手法の枠組みは下図のようになっています。学習時のモデルの入力は2次元データセットと3次元データセットの画像を同一比率でサンプリングして作成したミニバッチです。2D pose estimation module は2次元ヒートマップを推定するモジュールで、ネットワークには Hourglass Network を採用しています。Depth regression module は 2D pose estimation module で推定されたヒートマップおよび特徴マップを入力に各関節点のデプスを推定するモジュールです。

zhou2017_2.png

手法の枠組み

入力画像が3次元データセットのサンプルである場合、ヒートマップに対するL2ロスとデプスに対するL2ロスの和をロス関数とします。一方で入力が2次元データセットのサンプルである場合はヒートマップに対するL2ロスと本研究で提案されている Geometric Loss の和をロス関数とします。Geometric Loss はデータセットにおける各ボーンの長さの平均と推定された各ボーンの長さの比率の分散をロスとすることで、人物の各ボーンの長さの比率が一定となるようモデルに制約を与えます。

モデルの学習は以下のように3段階に分けて行われます(最終的なモデルはEnd-to-endな学習が可能です)。

  • 2次元データセットを用いた 2D pose estimation module の学習
  • 2次元/3次元データセットを併用したモデル全体の学習(Geometric Loss は非使用)
  • 2次元/3次元データセットを併用したモデル全体の学習(Geometric Loss を使用)

実験結果

Human3.6Mデータセットを用いた実験では2次元/3次元データセットの併用および Geometric Loss の有効性を確認すると共に、提案手法が既存手法の性能を上回ることを示しました。

zhou2017_3.png

Human3.6MデータセットでのMPJPE

また、Human3.6MデータセットとMPIIデータセットで学習されたモデルの性能をMPI-INF-3DHPデータセットで評価する実験を行っています。3次元データセットであるHuman3.6Mのみを用いた場合は野外画像(下表Outdoor)に対する性能が非常に低いですが、2次元データセットを併用することにより評価値が大きく改善していることが確認できます。

zhou2017_4.png

MPI-INF-3DHPデータセットでの性能比較

このように、本研究は外観の多様性に富む2次元データセットを活用したモデル学習の有効性を示しました。2次元/3次元データセットを併用したモデルの学習は近年でも注目されている研究トピックの1つです。

3D Human Pose Estimation = 2D Pose Estimation + Matching (Chen+, CVPR 2017) [13]

この研究では論文名からも分かる通り、2次元姿勢推定結果に対応する3次元姿勢をモーションキャプチャデータのライブラリから参照することにより3次元姿勢推定結果を得るという特徴的なアプローチを取っています。このアプローチの利点として、画像の外観情報を用いないため野外画像に対する汎化性能に優れること、また処理の高速性(20万の3次元姿勢を含むライブラリに対するマッチングは約39fpsで動作)が主張されています。

chen2017_1.png

アプローチの概要

2次元姿勢推定器にはMPIIデータセットで学習された Convolutional Pose Machine (CPM) [14] を用いています。CPMにより推定された2次元姿勢とライブラリ中の3次元姿勢が対応する尤もらしさを、推定された2次元姿勢と適当なカメラパラメータを用いてライブラリの3次元姿勢を画像上に射影して得られる2次元姿勢のL2距離に基づき算出し、これが最も高い3次元姿勢を参照姿勢とします。

参照された3次元姿勢をそのまま推定結果とするのではなく、各関節点のデプスは参照姿勢のものを採用し、カメラ座標系におけるx, y座標は推定された2次元姿勢の画像座標を参照姿勢のデプスの平均値とカメラの焦点距離の比率を用いて定数倍することで求めており、実験的に後者の方が性能が高くなることを確認しています。下図は参照姿勢と本手法による最終的な推定結果例を示していますが、2次元姿勢推定結果と参照姿勢のデプスを組み合わせることで、より適切な推定結果が得られていることが分かります。

chen2017_2.png

Ground-truthの2次元姿勢を入力したときの3次元姿勢推定結果例
左:ライブラリから参照された3次元姿勢、
右:2次元姿勢推定結果と参照姿勢のデプスを組み合わせて得られた推定結果

本手法は画像の外観情報を推定に利用しないため、2次元姿勢推定結果が適切であればデータのドメインに関わらずある程度精度よく推定ができる一方で、下図のように画像と明らかに対応しない推定を行ってしまう場合も存在します。

chen2017_3.png

Ground-truthの2次元姿勢を入力したときの3次元姿勢推定結果の失敗例

End-to-end Recovery of Human Shape and Pose (Kanazawa+, CVPR 2018) [15]

最後に紹介するアプローチは、事前に用意された人体モデルのパラメータ推定を通して人物の3次元姿勢を推定するというものです。このアプローチでは3次元姿勢の推定と同時に人物形状の復元を行うことができるため、より幅広いアプリケーションへの適用が可能です。人物形状復元 (Human Shape Reconstruction) に関する研究については別の記事でより詳細に紹介する予定です。

人体モデル

人体モデルとして主に用いられるのは Skinned Multi-Person Linear model (SMPL) [16] と呼ばれるモデルです。SMPLは頂点数6890点のメッシュおよび23点の関節点により人物形状と姿勢を表現するモデルです。このモデルは形状ベクトル β と姿勢ベクトル θ をパラメータとして持ち、これらのパラメータを変化させることにより人物の形状と姿勢を操作することができます。各パラメータにおける人物形状および姿勢はモーションキャプチャシステムを用いて構築された人体メッシュデータセットを用いた学習により決定されます。

smpl.png

人体モデルSMPL [16]

提案内容

本研究ではSMPLモデルのパラメータを畳み込みニューラルネットワークにより推定する Human Mesh Recovery (HMR) と呼ばれる手法を提案しています。既存の人体モデルを用いた手法には推定された2次元姿勢などに基づき人体モデルのパラメータ最適化を行うもの [17] が存在しますが、最適化の計算コストが高いという課題がありました。それに対して本手法ではSMPLモデルのパラメータを直接推定するため高速な推論が可能です。

HMRの枠組みは下図のようになっています。モデルは単眼画像を入力にSMPLモデルのパラメータである形状ベクトル β と姿勢ベクトル θ および弱透視投影カメラモデルにおけるカメラパラメータから成る計85次元のベクトルを出力します。SMPLモデルのパラメータに加えカメラパラメータを推定しているため、人物の3次元復元結果を画像上に再投影することが可能です。

kanazawa2018_1.png

Human Mesh Recovery の枠組み

本モデルの学習は関節点の2次元座標アノテーションおよび入力画像と非対応なモーションキャプチャデータ (Unpaired Data) を用いて行うことが可能で、Reprojection Error と Adversarial Loss の2つのロスを使用してモデルを学習します。Reprojection Error は推定された人体モデルのパラメータから得られる3次元姿勢を画像上に射影して得られる2次元姿勢に対するL1ロスです。しかし、人体構造的に不自然な推定姿勢でもこのロスを小さくすることができてしまうという問題があります。それを防ぎ、自然な人物姿勢を推定するために Adversarial Loss を使用します。このとき、DiscriminatorはSMPLモデルのパラメータを入力し、それがモデルにより推定されたものであるかモーションキャプチャデータからのものであるかを識別します。敵対的学習の枠組みにはLSGANを用いてエンコーダーおよびDiscriminatorの学習を行います。

画像に対応付いた3次元的なアノテーションが利用可能な場合は、上記ロスに加え、推定された3次元姿勢に対するMSEとSMPLモデルのパラメータに対するMSEの和を用いてモデルを学習します。

実験結果

画像に対応付いた人体メッシュの正解データが存在しないため、Human3.6Mデータセットでの3次元姿勢の Reconstruction Error を用いてモデルの定量評価を行なっています。本手法は人体モデルを用いた既存手法の性能を上回るとともに、画像と対応付いた3次元アノテーションを用いずともそれなりの性能が出ることが確認されました。しかし、関節点座標を直接推定する手法には及ばない性能となりました。

kanazawa2018_2.png

Human3.6Mデータセットでの性能比較

定性評価では画像に対応付いた3次元アノテーションを使用した場合、使用しなかった場合の推定結果を比較し、画像と対応付いた3次元アノテーションを用いずとも同程度の推定が可能であることを確認しました。

kanazawa2018_3.png

画像に対応付いた3次元アノテーションを使用した場合(青)、
使用しなかった場合(赤)の推定結果

また、3次元アノテーションおよび敵対的学習を利用せずにモデルを学習した場合、画像へ射影された2次元姿勢は正確なものの、不自然な形状および3次元姿勢が推定されてしまうことが確認されました。

kanazawa2018_4.png

3次元アノテーションおよび敵対的学習を用いなかった場合の推定結果

近年の研究動向

近年の 3D Pose Estimation に関する研究には多様な提案をしているものが存在します。ここからは、それら研究の中でも特に注目度の高いと思われるものを ICCV 2019 採録論文を中心としてトピック毎に紹介します。以下で紹介する研究事例はそれぞれ次のトピックに対応しています。

  • 関節点の前後関係のアノテーションの活用
  • ヒートマップ推定と回帰を統合したアプローチの提案
  • 2次元アノテーションを用いたモデルの学習
  • 時系列情報の活用
  • 複数人物3次元姿勢推定
  • 多視点画像からの3次元姿勢推定
  • Human Motion Prediction

Ordinal Depth Supervision for 3D Human Pose Estimation (Pavlakos+, CVPR 2018 Oral) [18]

3次元姿勢推定の課題として、関節点の3次元座標のアノテーションを行うためには専用の機材が必要であるため、大規模なデータセットの構築や、野外画像から成るデータセットの構築が困難であることを前述しました。この問題への対応策として、関節点の前後関係のアノテーションを活用するアプローチが存在します。正確な3次元座標とは異なり、関節点ペアの奥行きの前後関係は画像さえあれば人手でアノテーションすることが可能です。本研究ではこのような関節点の前後関係のアノテーションを用いてモデルを学習する方法を提案しており、正確な3次元座標のアノテーションを用いずともそれなりの性能が得られることを示しました。また、既存の2次元データセットに前後関係のアノテーションを付加して3次元データセットと共に利用することで、既存手法を上回る性能を達成しました。

pavlakos2018_1.png

アプローチの概要

提案内容

関節点の前後関係のアノテーション

関節点ペア (i, j) に対し、それらの前後関係のアノテーション r(i, j) は次のように与えられます。

  • 1:ij より近くに存在するとき
  • -1:ij より遠くに存在するとき
  • 0:ij がほぼ同じ奥行きに存在するとき

本研究では上記アノテーションを用いた学習が可能な2種類の3次元姿勢推定手法を提案し、実験でそれぞれの比較検証を行なっています。

座標を直接回帰する手法

この手法では関節点のデプスと2次元座標を直接回帰することにより3次元姿勢推定を行います。このとき、モデルの出力は (関節点数)× 3 次元のベクトルとなります。ロス関数には2次元座標の推定結果に対するL2ロスと推定されたデプスに対する Ranking Loss の重み和を用いてモデルを学習します。推定されたデプス値を z とするとき、Ranking Loss は下式で定義されます。

pavlakos2018_2.png

このロス関数は、関節点ペアの奥行きの相対的な関係に対し、遠くに存在する関節点のデプス値が大きく、近くに存在するもののデプス値が小さくなるよう教師信号を与えます。

ヒートマップを用いる手法

もう1つの提案手法であるヒートマップを用いる手法では、モデルの推定対象が Coarse-to-Fine. と同様の3次元ヒートマップとなります。推定されたヒートマップにSoftmax関数をかけ値を正規化した後で、デプス方向の和をとることで2次元ヒートマップを、空間方向の和をとることでデプスの尤度ベクトルを算出します。そして、2次元ヒートマップから関節点の2次元座標が、デプスの尤度ベクトルの重心座標を求めることによりデプスの推定値が得られます。

pavlakos2018_3.png

3次元ヒートマップからの2次元ヒートマップおよびデプスの尤度ベクトルの算出

モデルの学習は2次元ヒートマップに対するL2ロスとデプスに対する前述の Ranking Loss の重み和を用いて行われます。

Reconstruction Component

上記2つの手法で推定されるデプスは関節点の相対的な位置関係を表す値となっていますが、実空間における大きさの単位を持っていません。そのため、このデプス値をメートルを単位とする値に変換するためのモジュールとして Reconstruction Component が提案されています。このモジュールは関節点の2次元座標と相対的なデプス値を入力に真のデプス値を推定します。モジュールの学習はモーションキャプチャデータのみを用いて行うことが可能で、3次元姿勢を適当な画像上に射影したときの2次元姿勢およびノイズを加えたデプスを入力とし、L2ロスを使用してモジュールを学習します。

pavlakos2018_4.png

Reconstruction Component

Reconstruction Component は下図のように、上述したモデルと統合してEnd-to-endに学習することが可能です。

pavlakos2018_5.png

Reconstruction Component の統合

実験結果

第一の実験として、Human3.6MデータセットにおいてGround-truthの3次元座標アノテーションを用いてモデルを学習した場合、前後関係のアノテーションを用いた場合の性能比較を行なっています。下表において、Depth Prediction はデプスのみを回帰で推定し2次元座標にはGround-truthを用いたもの、Coordinate Regression は座標を直接回帰する手法、Volume Regression は3次元ヒートマップを用いる手法です。全ての手法において、モデルのバックボーンには Hourglass Network が使用されています。結果としては、前後関係のアノテーションを用いて学習されたモデルは全ての手法においてGround-truthの3次元座標アノテーションを用いた場合に近い性能が得られており、前後関係のアノテーションの有効性が確認されました。

pavlakos2018_6.png

Human3.6MデータセットにおいてGround-truthの3次元アノテーション、
前後関係のアノテーションを用いた場合の性能比較

また、2次元データセットであるLSPデータセットとMPIIデータセットに関節点の前後関係のアノテーションを付加し、Human3.6Mデータセットと併用してモデルの学習を行っています。Ablation Study により、両データセットの併用および Reconstruction Component の有効性を実証しました。

pavlakos2018_7.png

Human3.6Mデータセットでの Ablation Study

MPI-INF-3DHPデータセットでの Ablation Study では、Human3.6Mデータセットのみで学習されたモデル、前後関係のアノテーションが付加された2次元データセットを併用して学習されたモデルの性能を比較しています。Human3.6Mデータセットのみを用いた場合は非常に低い性能となっていますが、外観の多様性に富む持つ2次元データセットを併用することで大きく性能が改善することが確認されました。

pavlakos2018_8.png

MPI-INF-3DHPデータセットでの Ablation Study

また、両データセットを併用して学習されたモデルは既存手法を上回る性能を達成しました。

pavlakos2018_9.png

Human3.6Mデータセットでの既存手法との性能比較 (MPJPE)

Integral Human Pose Regression (Sun+, ECCV 2018) [19]

姿勢推定において主流となっているヒートマップを用いたアプローチは認識性能に優れる一方で、ヒートマップにおいて値が最大の位置を関節点の推定座標とする処理は微分不可能であるため、関節点座標の推定がEnd-to-endではありませんでした。また、ダウンサンプリングされたヒートマップから推定を行うため、推定座標に量子化誤差が発生するという問題点があります。一方で、回帰によるアプローチはEnd-to-endかつ連続的な出力をすることが可能ですが、学習が難しいという問題があります。本研究ではそれらを踏まえ、ヒートマップ推定と回帰を統合した2次元/3次元姿勢推定手法を提案し、2つのアプローチの利点の両立を図るとともに、2次元/3次元データセット双方に対する提案手法の有効性を実証しました。

提案手法

提案手法である Integral Regression では以下の流れで姿勢推定を行います。

  1. 入力画像に対し、関節点毎の2次元または3次元のヒートマップを出力する
  2. ヒートマップに対してSoftmax関数をかけ値を正規化する
  3. 正規化されたヒートマップの重心位置を求めることにより各関節点の推定座標を得る

ヒートマップ重心を求める処理であるSoft-argmax関数は微分可能であるため、関節点座標の推定までを含めたモデル全体をEnd-to-endに学習することができます。学習時はヒートマップに対するロス、推定された関節点座標に対するロスを組み合わせてモデルを学習することが可能で、実験でそれらの組み合わせによるモデルの性能を比較検証しています。

sun2018_1.png

Integral Regression の概要 [20]

また、3次元姿勢推定の場合、3次元ヒートマップのデプス方向とx軸またはy軸方向の和をとることでy軸ないしx軸方向の1次元ヒートマップが得られます。これらヒートマップに対してSoft-argmax関数をかけることにより関節点の x, y座標それぞれの推定結果が得られます。これらヒートマップと関節点座標に対するロスは関節点の2次元座標アノテーションを用いて計算することができるため、本モデルは3次元データセットと外観の多様性に富む2次元データセットを併用して学習することが可能です。

実験結果

ヒートマップに対するロスと関節点座標に対するロスの組み合わせによる性能の違いを比較検証しています。その際、関節点座標に対するロスには全ての実験でL1ロスを使用しています。比較手法は以下になります。

  • R1:関節点座標を直接回帰するベースライン手法
  • H1:ヒートマップのみにロスを適用(ガウス分布に基づき正解ラベルを作成、L2ロスを使用)
  • H2:ヒートマップのみにロスを適用(One-hotな正解ラベル、Cross Entropy ロスを使用)
  • H3:ヒートマップのみにロスを適用(関節点座標を中心とする円内を1、それ以外を0とする2値のラベル、Binary Cross Entropy ロスを使用)
  • I*:関節点座標のみにロスを適用
  • I1, I2, I3:ヒートマップおよび関節点座標にロスを適用(数字はヒートマップに対するロスに対応)

MPIIデータセットに対する2次元姿勢推定での各手法の性能比較により、ヒートマップを用いた手法に対する Integral Regression の優位性を実証しました。その際、ヒートマップはガウス分布で生成しL2ロスをかける場合が最も高い性能となりました。

sun2018_2.png

MPIIデータセットでの各手法の性能比較

COCOデータセットでは提案手法が既存の2次元姿勢手法の性能を上回ることを示しました。

sun2018_3.png

COCO test-dev set での既存手法との性能比較

Human3.6Mデータセットに対する3次元姿勢推定の評価実験では、ヒートマップを用いた3次元姿勢推定手法である Coarse-to-Fine. 、それを再実装した Ours H1、さらに Integral Regression を加えた Ours I1 の性能を比較しました。ベースラインである Ours H1 が Coarse-to-Fine. の性能を既に上回っており、それに Integral Regression を加えることでさらに性能が向上することが確認されました。

sun2018_4.png

Coarse-to-Fine. との性能比較(Human3.6Mデータセットに対するMPJPE)

また、2次元/3次元データセット併用の効果を検証する実験を行い、これらデータセットの併用によりモデルの性能が大きく向上することを実証するとともに、2次元姿勢推定の場合とは異なり3次元姿勢推定の場合は関節点座標のみにロスをかけたI*が最も高い性能となることを確認しました。

sun2018_5.png

Human3.6Mデータセットに対する各手法のMPJPE
Strategy1:Human3.6Mデータセットのみを用いてモデルを学習
Strategy2:Human3.6MデータセットとMPIIデータセットを併用してモデルを学習

MPIIデータセットとHuman3.6Mデータセットを併用して学習されたモデルはHuman3.6Mデータセットにおいて既存手法を上回る MPJPE 49.6 mm を達成しました。

sun2018_6.png

Human3.6Mデータセットでの既存手法との性能比較

本論文が発表されて以降、3次元ヒートマップに対するSoft-argmax関数適用による3次元姿勢推定手法が多く見られるようになりました。

C3DPO: Canonical 3D Pose Networks for Non-Rigid Structure From Motion (Novotny+, ICCV 2019 Oral) [21]

これまでに紹介した研究には、2次元アノテーションと3次元アノテーションを併用することによりモデルの性能改善を行うものがいくつか見られました。一方で、近年では3次元アノテーションを使用せず、2次元アノテーションのみを用いてモデルを学習する手法がいくつか提案されています [22, 23]。しかし、これらの手法では人物姿勢のみを推定の対象としていました。

それに対し今回紹介する研究では、2次元キーポイントからの3次元復元を、2次元キーポイントの複数の観測結果から、カメラ視点、物体姿勢、基準となる形状を求める Non-Rigid Structure from Motion (NR-SFM) 問題として定式化することにより、任意の非剛体の物体クラスに対する3次元復元を可能としました。本手法では、学習時はある非剛体クラスに属する物体の複数の2次元キーポイントのアノテーションを用いてモデルの学習を行います。テスト時は2次元キーポイントの1つの観測結果から3次元復元を行うことが可能です。

novotny2019_1.png

提案手法

本手法は下図のような枠組みとなっています。Factorization Network は物体の2次元キーポイントを入力とし、物体の姿勢を表す Shape Coefficients、基準となる形状である Shape Basis、カメラ視点を表す Viewpoint Parameters の3つを推定します。

novotny2019_2.png

手法の枠組み

モデル学習時に第一のロスとして使用されるのは、上記推定結果を用いた物体の3次元復元結果を画像上に射影したときの2次元キーポイントの再投影ロスで、Pseudo-huber Loss を用います。

しかし、このロスだけを用いると、複数の物体姿勢とカメラ視点の組が同一の3次元復元結果となりうるため、推定結果に曖昧性が生じてしまうという問題があります。そこで、向きの正規化された物体姿勢を推定することでカメラ視点を一意に定めるために、Canonicalization Network Ψ を使用し、第二のロスを適用します。Canonicalization Network は物体の3次元姿勢を入力とし、その向きを正規化するネットワークです。このとき、Factorization Network を用いて復元された3次元姿勢に任意の回転を適用したものを Canonicalization Network に入力して得られる3次元姿勢が、入力前の3次元姿勢と近くよう Pseudo-huber Loss を適用します。これにより、Factorization Network による3次元復元結果の向きが下図のように正規化されたものとなります。

novotny2019_3.png

Canonicalization Network Ψ の効果

実験結果

実験では、本手法が既存の2次元キーポイントからの3次元姿勢推定手法の性能を上回ることを示しました。

novotny2019_4.png

Human3.6Mデータセットでの性能比較

また、本手法により、人物に限らない任意の非剛体の3次元復元ができることを示しました。

novotny2019_5.png novotny2019_6.png

提案手法による3次元推定結果

Occlusion-Aware Networks for 3D Human Pose Estimation in Video (Cheng+, ICCV 2019) [24]

コンピュータビジョンの様々なタスクにおいて、動画データにおける時系列情報の活用による認識性能向上が確認されています。3次元姿勢推定において時系列情報の活用を図った研究事例としては、入力である2次元姿勢の時系列的なシーケンスに対して Dilated Convolution を用いたネットワークを適用する手法 [25]、Graph Convolutional Network を用いた手法 [26] などが提案されています。これらの手法では時系列情報を活用することで遮蔽などにより誤った推定結果を補正し、時系列的に一貫した3次元姿勢の推定を図っています。しかし、遮蔽は複数フレームに渡って連続的に発生する性質を持つため、遮蔽を明示的に取り扱わないこれら手法の効果は限定的であることを本論文の著者らは指摘しています。それを踏まえ、本研究では遮蔽を明示的に取り扱い、遮蔽された関節点を近傍フレームの情報を用いて補完する手法を提案し、既存手法を上回る性能を達成しました。

提案手法

本手法の枠組みは下図のようになっており、モデルは以下の3つのネットワークから構成されます。

  • First Network:入力動画の各フレームの2次元姿勢および各関節点の遮蔽を推定する
  • 2D Dilated Temporal Convolutional Network (2D TCN):First Network による2次元姿勢をリファインする(遮蔽された関節点の補完は行わない)
  • 3D TCN:2D TCN により推定された2次元姿勢を入力に、遮蔽された関節点が補完された3次元姿勢を推定する

cheng2019_1.png

手法の枠組み

First Network

このネットワークは動画を入力とし、各フレームに対するヒートマップ推定を通して人物の2次元姿勢および各関節点が遮蔽されているかどうかを推定します。ヒートマップの正解ラベルは遮蔽された関節点の場合は全て0、そうでない場合は関節点座標に単一のピークを持たせたあとガウシアンフィルタで平滑したものとし、MSEをロス関数として使用します。推定時はヒートマップのピーク位置を関節点 i の推定座標、ピークの値を推定の確信度 Ci とします。最終的な確信度は、推定座標に対して Optical Flow を適用して得られるフローベクトル di 、前後フレーム間の推定座標の移動量 oi の差が大きいほど低くなるよう、次式を用いて算出されます。

cheng2019_2.png

この確信度を閾値処理することにより、各関節点が遮蔽されているか否かを判定します。

2D TCN

このネットワークは First network で推定された2Dポーズのシーケンスを入力に、それらをリファインするために使用されます。このとき、遮蔽された関節点に対する推定は行いません。具体的には、First Network で遮蔽されていると判定された関節点の値は入力、Ground-truthともに0とし、MSEをロス関数に用いてモデルを学習します。

3D TCN

このネッワークは2次元姿勢のシーケンスを入力に3次元姿勢のシーケンスを出力します。その際、遮蔽された関節点の補完も同時に行います。ロス関数には、関節点の3次元のGround-truthが存在する場合は3次元姿勢に対するMSEを、存在しない場合には3次元姿勢を画像上に射影して得られる2次元姿勢に対するMSEを使用します。また、人物の左右の骨の長さが等しくなるようなロス (Symmetry Constraint)、推定される姿勢が自然なものとなることを目的とした Adversarial Loss も同時に使用します。

Cylinder Man Model

3D TCN を学習するためには遮蔽ラベル付きの2次元姿勢と3次元姿勢が対応付いたデータが必要ですが、既存の3次元データセットにはカメラ視点によりどの関節点が遮蔽されるかを表す遮蔽ラベルは存在しません。そこで、遮蔽ラベルを生成するための人体モデルとして下図の Cylinder Man Model を提案しています。このモデルは両底面の中心を関節点とする円柱の組により人物形状を表現するシンプルなものとなっています。このモデルを使用し、任意のカメラ配置をしたときに円柱により関節点が遮蔽されるか否かに基づき遮蔽ラベル付きの2次元姿勢と3次元姿勢が対応づいた学習データを取得します。

cheng2019_3.png

Cylinder Man Model

Pose Regularization

遮蔽により欠損した入力に対する3次元座標を推定する際、推定結果が一意に定まりにくいという問題があります。これに対処するため、入力において欠損した関節点に対する3次元推定結果が Cylinder Man Model において遮蔽されるような制約をかけます。

実験結果

提案手法において重要なハイパーパラメータである入力シーケンスのフレーム数 Seq、遮蔽判定の閾値 t による性能の変化を調査し、入力シーケンスのフレーム数が128、遮蔽判定の閾値が0.3のときに性能が最も高くなることを確認しました。

cheng2019_4.png

ハイパーパラメータによる性能検証
(Human3.6Mデータセットに対するMPJPE)

また、提案手法における各構成要素の性能への寄与を検証する Ablation Study を行い、それぞれの要素の有効性を示しました。

cheng2019_5.png

Human3.6Mデータセットでの Ablation Study

本手法はHuman3.6Mデータセットにおいて、既存の最先端手法の性能を大きく上回る MPJPE 42.9 mm を達成しました。

cheng2019_6.png

Human3.6Mデータセットでの既存手法との性能比較

Camera Distance-Aware Top-Down Approach for 3D Multi-Person Pose Estimation From a Single RGB Image (Moon+, ICCV 2019) [27]

既存の多く3次元姿勢推定手法は単一人物を対象とした手法となっていました。それに対し、本研究では複数人物を対象とした3次元姿勢推定手法を提案しています。単一人物を対象とする手法では Root Joint を原点とした各関節点の相対座標を推定する場合が多いですが、複数人物を対象とする場合、各人物の絶対的な位置を特定する必要があります。本研究では Root Joint の絶対座標を推定するRootNetを用いることでこれを実現しています。

提案手法

提案手法は下図のようにDetectNet、RootNet、PoseNetの3つのモジュールから成り立っており、それぞれの役割は以下のようになっています。

  • DetectNet:入力画像から人物矩形を検出する
  • RootNet:入力画像からクロップされた人物画像を入力に Root Joint の絶対座標を推定する
  • PoseNet:RootNetと同様の人物画像を入力に各関節の Root Joint からの相対座標を推定する

DetectNet、PoseNetには既存の人物検出器および単一人物3次元姿勢推定手法を使用することができ、本研究ではDetectNetに Mask R-CNN を、PoseNetに Integral Regression を採用しています。

moon2019_1.png

手法の枠組み

RootNetのアーキテクチャは下図のようになっています。モデルの推定対象は Root Joint の画像座標およびデプスで、これらを用いて Root Joint の絶対座標を算出します。

moon2019_2.png

RootNetのアーキテクチャ

図中 k は実空間における人物の面積が一定であるという仮定をおいたときの Root Joint のデプス値で、次式で表されます。

moon2019_3.png

ここで、 αxαy はカメラのx、y軸方向の焦点距離、ArealAimg はそれぞれ実空間における人物の面積、画像上の人物の面積を表します。αxαy にはデータセットの焦点距離を使用し、Areal を 2000 mm × 2000 mm と仮定し、Aimg をDetectNetで検出された人物矩形の面積とすることで、上式から Root Joint のデプス値が得られます。

しかし、上式では人物の姿勢による矩形サイズの変化(下図 (a))や、実空間での人物サイズの違い(下図 (b))を表現できず、これらが生じた場合にデプスを正確に求めることができないという問題があります。

moon2019_4.png

この問題に対処するため、RootNetは画像の外観情報を用いて人物サイズに関する係数 γ を出力します。γ を用いて k 値を補正することにより、最終的なデプスの推定結果が得られます。

モデルの学習は Root Joint の画像座標およびデプスに対するL1ロスを用いて行われます。

実験結果

複数人物3次元姿勢推定データセットであるMuPoTS-3Dを用いてDetectNetとRootNetに関する Ablation Study を行い、RootNetによる人物サイズ補正の有効性を確認しました。

moon2019_5.png

MuPoTS-3Dデータセットでの Ablation Study

また、本手法は既存の複数人物3次元推定手法を上回る性能を達成しました。

moon2019_6.png

MuPoTS-3Dデータセットでの既存手法との性能比較

本手法の推定結果例は下図のようになっており、様々な外観の画像に対して適切に推定ができていることが分かります。

moon2019_7.png moon2019_8.png

MuPoTS-3Dデータセット(上段)およびCOCOデータセット(下段)に対する推定結果例

Learnable Triangulation of Human Pose (Iskakov+, ICCV 2019 Oral) [28]

多視点画像からの3次元姿勢推定は、単眼カメラ手法のモデルを学習するためのGround-truth作成や、スポーツやコンピュータ支援生活などの複数カメラを用いたアプリケーションにおいて必要となる技術です。これら応用に際して、少数のカメラを使用した高精度なアルゴリズムが求められています。

しかし、単眼カメラ画像からの3次元姿勢推定の研究が盛んに行われる一方で、多視点画像を対象とした研究はそれほど行われてきませんでした。既存の多視点画像を用いたKadkhodamohammadiらの3次元姿勢推定手法 [29] では、各カメラ画像に対する2次元姿勢推定結果を結合してモデルに入力することで3次元姿勢を推定しますが、学習時と同様のカメラ配置でしか推論ができないという問題があります。また、彼らの手法は精度面で最先端の単眼カメラ手法に劣っています。

それらを踏まえ、本研究では任意のカメラ設定での推論が可能な多視点画像からの3次元姿勢推定手法を提案し、少数のカメラを用いても非常に高精度な推論ができることを示しました。

提案手法

本研究では多視点画像を用いた次の2種類の3次元姿勢推定手法を提案しています。

  • Algebraic Triangulation
  • Volumetric Triangulation

両手法ともに任意のカメラ台数、カメラパラメータでの推論が可能であるとともに、End-to-endな学習が可能です。

Algebraic Triangulation

この手法では各カメラ画像に対する2次元姿勢推定を行った後、三角測量により3次元姿勢を推定します。2次元姿勢推定は2次元ヒートマップに対してSoft-argmax関数をかけることで行われます。バックボーンはヒートマップと共に各関節点の確信度を出力しており、この確信度を三角測量における3次元姿勢の最小二乗解を求める際に利用することで、確信度の高いカメラからの推論結果を重視したノイズに頑健な推論を行うことが可能となります。

iskakov2019_1.png

Algebraic Triangulation

ロス関数には、推定された3次元姿勢に対して、外れ値へのロスを緩和したMSEを適用します。中間的に推定される2次元ヒートマップに対する教師信号の適用は行いません。

Volumetric Triangulation

こちらの手法では各カメラ画像から抽出された画像特徴を統合することにより得られる3次元特徴マップを用いて3次元姿勢を推定します。3次元特徴マップの座標は人物周囲の空間に対応付いており、各カメラ画像から抽出された特徴マップはカメラパラメータを用いて3次元特徴マップ中に下図のように逆射影されます。このとき、複数カメラからの特徴マップの統合方法として以下3つの手法が比較検証されています。

  • Sum Aggregation:対応関係にあるVoxel同士の和をとる
  • Conf Aggregation:Algebraic Triangulation と同様の方法で推定された確信度を用いてVoxelの重み和をとる
  • Softmax Aggregation:対応関係にあるVoxelにSoftmax関数をかけ、この値を用いてVoxelを重み和する(最大値をとるのに近い処理)

得られた3次元特徴マップに対して 3D CNN を適用することにより3次元ヒートマップを求め、それに対してSoft-argmax関数をかけることで最終的な3次元姿勢の推定結果が得られます。

iskakov2019_2.png

Volumetric Triangulation

推定された3次元姿勢に対するL1ロスに加え、3次元ヒートマップにおける関節点の正解座標の値が大きくなるよう制約を与えるロスを用いてモデルを学習します。

実験結果

Human3.6Mデータセットを用いて既存の単眼手法および多視点手法と提案手法の性能を比較する実験を行っています。提案手法は単眼カメラ画像を用いた推論も可能であり、最先端の単眼手法に匹敵する性能となっています。また、多視点画像を用いた場合、提案手法は既存手法を大きく上回る性能を達成しています。特に Volumetric Triangulation において Softmax Aggregation と Conf Aggregation を用いた場合が最も性能が高く、MPJPE 20.8を達成しています。

iskakov2019_3.png

Human3.6Mデータセットでの性能比較

CMU Panoptic データセットにおいてカメラ台数とモデルの性能の関係を調査する実験を行い、提案手法は4台程度の少数のカメラでも十分に精度の高い推定が可能なことを示しました。

iskakov2019_4.png

CMU Panoptic データセットにおけるカメラ台数とMPJPEの関係

Human3.6Mデータセットで学習されたモデルの CMU Panoptic データセットに対する推定結果は下図のようになっており、学習時と推論時のカメラ条件が異なっても適切な推定が可能であることを実証しています。

iskakov2019_5.png

Human3.6Mデータセットで学習されたモデルの CMU Panoptic データセットに対する推定結果

以下のデモ動画を見ると、提案手法による推定結果はGround-truthよりも正確なものとなっているように見えます。著者らも本手法を用いることで、Ground-truth自体の改善が可能であることを主張しています。


Learning Trajectory Dependencies for Human Motion Prediction (Mao+, ICCV 2019 Oral) [30]

最後に紹介するのは、複数フレームの人物画像や人物姿勢が与えられたときに、近い将来における人物姿勢を推定する Human Motion Prediction に関する研究です。ICCV'19では本トピックに関する論文が5本採録されています。今回紹介する研究は、関節点の時系列的な表現として、各時刻での座標表現を用いるのではなく、離散フーリエ変換により得られる軌跡表現を用いる点、ネットワークに Graph Convolutional Network を使用し、その際に事前に定義したグラフを用いるのではなく、グラフの結合関係を適応的に学習する点が既存手法との差分となっています。

提案手法

本研究の目的は、1 から N フレームまでの人物姿勢を入力に、N + 1 から N + T フレームまでの人物姿勢を予測することです。

提案手法の枠組みは下図のようになっています。

mao2019_1.png

手法の枠組み

本手法では、入力である人物姿勢のシーケンスに対して離散フーリエ変換 (DCT) を適用することにより、人物姿勢を各周波数の軌跡成分の重み和による軌跡を用いて表現します。その際、高周波成分を除外することにより、計算コストの削減および時系列的になめらかな人物姿勢の推定が可能になると主張されています。よって、モデルの入力は全ての関節点に対するDCTの各周波数成分の係数値となります。このとき、入力シーケンスにおける最終フレームの姿勢を推定フレーム数の分だけ複製(パディング)してからDCTを適用し、モデルに入力します(実験でこの効果を検証しています)。モデルの出力は 1 から N + T フレームまでの姿勢に対応するDCTの係数値となります。最終的な人物姿勢の予測結果は出力されたDCTの係数値に逆離散フーリエ変換 (IDCT) を適用することで得られます。

ネットワークには Graph Convolutional Network (GCN) を使用することで、人物関節点の結合関係を明示的に利用した推論を行います。その際、グラフの隣接行列および重みを学習可能なパラメータとした Graph Convolutional Layer を使用することで、関節点の結合関係を自動で学習できるような設計としています。ネットワークは2層の Graph Convolutional Layer および Residual Connection から成るブロックを12回繰り返した構造を持ち、入出力におけるDCTの係数値の残差を出力するよう学習されます。

人物姿勢の表現方法として、角度表現または座標表現のどちらかを使用することとなります。角度表現を用いる場合はIDCT後の角度に対するL1ロスを、座標表現を用いる場合はIDCT後の座標に対するMSEをロスとしてモデルの学習を行います。

実験結果

Human3.6M、CMU-Mocap、3DPWの3つのデータセットで既存手法との性能比較を行い、いずれの場合においても既存手法を上回る性能を達成しました。下表はHuman3.6Mデータセットでの既存手法との性能比較結果です。同一姿勢に対して複数の表現方法が生じうる角度表現よりも、表現が一意に定まる座標表現を用いた場合に最も性能が高くなっています。

mao2019_2.png

Human3.6Mデータセットに対するMPJPE。3Dは座標表現を用いて推定を行なった場合、それ以外は角度表現を用いて推定を行なった場合

また、モデルの入力に対するDCT、入力シーケンスに対するパディング、ネットワーク中の Residual Connection の有効性を検証する Ablation Study を行い、それぞれの有効性を示しました。特に、入力シーケンスに対するパディングがモデルの性能に大きく影響していることが確認されました。

mao2019_3.png

DCT、Padding Strategy、Residual Connection に関する Ablation Study

さらに、使用するネットワークによる性能比較を行い、Fully-connected Network に対するGCNの優位性および人物関節点の接続関係学習の有効性を示しました。

mao2019_4.png

ネットワークによる性能比較

本手法による推定結果は下図のようになっており、座標表現を用いた提案手法の推定結果がGround-truthと最も近くなっています。

mao2019_5.png

推定結果例。1段目はGround-truth、2, 3段目は既存手法による推定結果、
4, 5段目はそれぞれ角度表現、座標表現を用いた提案手法による推定結果

おわりに

今回は 3D Human Pose Estimation の代表的な手法および近年の研究動向をご紹介しました。単眼カメラからの3次元姿勢推定には様々なアプローチが存在し、それぞれに向き不向きが存在しました。ヒートマップを用いたアプローチが主流の2次元姿勢推定に対し、3次元姿勢推定ではそれ以外のアプローチも広く用いられる傾向にあります。また、近年の研究には多様な手法を用いてモデルの性能向上を図るものや、複数人物3次元姿勢推定、Human Motion Prediction などのより高度なタスクに取り組むものが存在しました。モデルの性能向上に関しては、外観の多様性に富む2次元データセットを併用した学習の有効性が多くの研究で示されていました。今後もこの分野の研究の発展に期待が高まります。DeNA CVチームでは引き続き調査を継続し、最新のコンピュータビジョン技術を価値あるサービスに繋げていきます。

参考文献

[1] I. Habibie, W. Xu, D. Mehta, G. Pons-Moll, C. Theobalt, “In the Wild Human Pose Estimation Using Explicit 2D Features and Intermediate 3D Representations,” In CVPR, 2019.
[2] C. Ionescu, D. Papava, V. Olaru, C. Sminchisescu, “Human3.6M: Large Scale Datasets and Predictive Methods for 3D Human Sensing in Natural Environments,” In TPAMI, 2014.
[3] L. Sigal, A. O. Balan, M. J. Black, “HUMANEVA: Synchronized Video and Motion Capture Dataset and Baseline Algorithm for Evaluation of Articulated Human Motion,” In IJCV, 2010.
[4] D. Mehta, H. Rhodin, D. Casas, P. Fua, O. Sotnychenko, W. Xu, C. Theobalt, “Monocular 3D Human Pose Estimation In The Wild Using Improved CNN Supervision,” In 3DV, 2017.
[5] The Captury, http://www.thecaptury.com/, 2019.
[6] H. Joo, T. Simon, X. Li, H. Liu, L. Tan, L. Gui, S. Banerjee, T. Godisart, B. Nabbe, I. Matthews, T. Kanade, S. Nobuhara, Y. Sheikh, “Panoptic Studio: A Massively Multiview System for Social Interaction Capture,” In TPAMI, 2017.
[7] B. Tekin, I. Katircioglu, M. Salzmann, V. Lepetit, P. Fua, “Structured Prediction of 3D Human Pose with Deep Neural Networks,” In BMVC, 2016.
[8] S. Li, A. B. Chan, “3D Human Pose Estimation from Monocular Images with Deep Convolutional Neural Network,” In ACCV, 2014.
[9] G. Pavlakos, X. Zhou, K. G. Derpanis, K. Daniilidis, “Coarse-to-Fine Volumetric Prediction for Single-Image 3D Human Pose,” In CVPR, 2017.
[10] A. Newell, K. Yang, J. Deng, “Stacked Hourglass Networks for Human Pose Estimation,” In ECCV 2016.
[11] J. Martinez, R. Hossain, J. Romero, J. J. Little, “A simple yet effective baseline for 3d human pose estimation,” In ICCV, 2017.
[12] X. Zhou, Q. Huang, X. Sun, X. Xue, Y. Wei, “Towards 3D Human Pose Estimation in the Wild: a Weakly-supervised Approach,” In ICCV, 2017.
[13] C.-H. Chen, D. Ramanan, “3D Human Pose Estimation = 2D Pose Estimation + Matching,” In CVPR, 2017.
[14] Shih-En Wei, Varun Ramakrishna, Takeo Kanade, Yaser Sheikh, “Convolutional Pose Machines,” In CVPR 2016.
[15] A. Kanazawa, M. J. Black, D. W. Jacobs, J. Malik, “End-to-end Recovery of Human Shape and Pose,” In CVPR, 2018.
[16] M. Loper, N. Mahmood, J. Romero, G. Pons-Moll, M. J. Black, “SMPL: A Skinned Multi-Person Linear Model,” In SIGGRAPH Asia, 2015.
[17] F. Bogo, A. Kanazawa, C. Lassner, P. Gehler, J. Romero, M. J. Black, “Keep it SMPL: Automatic estimation of 3D human pose and shape from a single image,” In ECCV, 2016.
[18] G. Pavlakos, X. Zhou, K. Daniilidis, “Ordinal Depth Supervision for 3D Human Pose Estimation”, In CVPR, 2018.
[19] X. Sun, B. Xiao, F. Wei, S. Liang, Y. Wei, “Integral Human Pose Regression”, In ECCV, 2018.
[20] Integral Human Pose Regression, https://jimmysuen.github.io/slides/xiaosun_integral_human_pose_regression.pptx, 2019.
[21] D. Novotny, N. Ravi, B. Graham, N. Neverova, A. Vedaldi, “C3DPO: Canonical 3D Pose Networks for Non-Rigid Structure From Motion”, In ICCV, 2019.
[22] Y. Kudo, K. Ogaki, Y. Matsui, Y. Odagiri, “Unsupervised adversarial learning of 3D human pose from 2D joint locations,” In arXiv preprint arXiv:1803.08244, 2018.
[23] C.-H. Chen, A. Tyagi, A. Agrawal, D. Drover, R. MV, S. Stojanov, J. M. Rehg, “Unsupervised 3D Pose Estimation with Geometric Self-Supervision,” In CVPR, 2019.
[24] Y. Cheng, B. Yang, B. Wang, W. Yan, R. T. Tan, “Occlusion-Aware Networks for 3D Human Pose Estimation in Video”, In ICCV, 2019.
[25] D. Pavllo, C. Feichtenhofer, D. Grangier, M. Auli, “3D human pose estimation in video with temporal convolutions and semi-supervised training”, In CVPR, 2019.
[26] Y. Cai, L. Ge, J. Liu, J. Cai, T.-J. Cham, J. Yuan, N. M. Thalmann, “Exploiting Spatial-Temporal Relationships for 3D Pose Estimation via Graph Convolutional Networks”, In ICCV, 2019.
[27] G. Moon, J. Y. Chang, K. M. Lee, “Camera Distance-Aware Top-Down Approach for 3D Multi-Person Pose Estimation From a Single RGB Image”, In ICCV, 2019.
[28] K. Iskakov, E. Burkov, V. Lempitsky, Y. Malkov, “Learnable Triangulation of Human Pose”, In ICCV, 2019.
[29] A. Kadkhodamohammadi, N. Padoy, “A generalizable approach for multi-view 3D human pose regression,” In 2018.
[30] W. Mao, M. Liu, M. Salzmann, H. Li, “Learning Trajectory Dependencies for Human Motion Prediction”, In ICCV, 2019.

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。