1K Views
October 23, 20
スライド概要
2020/10/23
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Environment Shizuma Kubo, ACES.Inc http://deeplearning.jp/ 1
書誌情報 • 書誌情報 ➢ VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Environment ➢ 著者: Hanyue Tu, Chunyu Wang, Wenjun Zeng ➢ 所属: Microsoft Research Asia (1st authorは大学の所属もあり) ➢ ECCV’20 Oral (v1: 2020/04/13, v4: 2020/08/24 on arXiv) ➢ 実装コード: https://github.com/microsoft/voxelpose-pytorch ➢ 選択のモチベーション: Multi-Person Multi-Cameraの3D姿勢推定のタスクに興味があった 2
概要 • 複数カメラを使った複数人の3次元姿勢推定の手法であるVoxelPoseを提案した • 既存手法は2次元の姿勢推定の結果(keypoint情報)を使うのに対し、提案手法ではheatmap を3次元表現に落とし込み、頑健な推論を可能とした • これによって、以下の課題に対応された (論文の表現を使うと“elegantly”に対応) ➢ どの関節点が同一人物のものか ➢ 異なるカメラ視点でどの姿勢が同一人物か • 複数人の3次元姿勢推定はSOTA、1人の3次元姿勢推定でもSOTAと同等 3
目次 1. 既存手法 2. 提案手法 3. 評価・結果 4. まとめ 4
目次 1. 既存手法 2. 提案手法 3. 評価・結果 4. まとめ 5
既存の3D姿勢推定 Analytical 射影したときに2D keypointにあうように3D keypointを最適化 Predictive 2D keypointから3D keypointを回帰 (Deep的手法中心) Analytical 複数視点の2D keypointを幾何的手法(三角測量)で3D keypointを再現 Predictive 複数の2D keypointを3D特徴表現に落として回帰 (幾何的要素も含むことあり) Single Camera Single Person Multi Camera Single Camera Single Personに帰着 (Top-down) / Multi-Cameraの特殊ケース Multi Camera Pictorical modelやRe-identificationを使い、カメラ間の人物の紐付け Multi Person Analytical: 幾何的に解決する手法、Predictive: ネットワークで解決する手法 6
既存の3D姿勢推定 Analytical • 以下の2つの項目が特に関連項目 Single Camera Predictive Single Person Analytical Multi Camera ➢ Single-Person Multi-Camera ➢ Multi-Person Multi-Camera • Single-Person Multi-Cameraのタスクは比較的論文あり ➢ 提案手法の発想が影響を強く受けているようにみえる Predictive ➢ 精度の高いモデルはPredictive要素を含む (こちらが現状の主流な雰囲気) • Multi-Person Multi-Cameraの研究はあまり盛んでない Single Camera Multi Person ➢ 比較のために出てくるという感じ ➢ 提案手法はむしろ、Single-Person Multi-Cameraの考え方を応用させたと捉え Multi Camera るほうが自然 Analytical: 幾何的に解決する手法、Predictive: ネットワークで解決する手法 7
既存の3D姿勢推定 Analytical Single Camera ✓ Learnable Triagular of Human Pose [Iskakov+ ICCV’19 (oral)] ✓ ① triangulationを活用する手法と② 3D特徴を使う手法の2つを提案 Predictive Single Person ✓ ②のほうが精度が良くメインの手法 (SOTA/今回の提案手法に近い) ✓ Cross View Fusion for 3D Human Pose Estimation [Qiu+ ICCV’19] Analytical ✓ 2D姿勢の結果とtriangulationを活用する手法 ([Iskakov+]①に近い) ✓ Epipolar Transformers [He+ CVPR’20] Multi Camera Predictive ✓ エピポーラ幾何を利用したモジュールの提案 ✓ 上記2つの手法 ([Qiu+]と[Iskakov+]①)の精度向上 [Iskakov+ ICCV’19]① [Iskakov+ ICCV’19]② Single Camera Multi Person Multi Camera Analytical: 幾何的に解決する手法、Predictive: ネットワークで解決する手法 8
既存の3D姿勢推定 Analytical Single Camera ✓ Fast and Robust Multi-Person 3D Pose Estimation from Multiple Views [Dong+ CVPR’19] Predictive ✓ 2Dの姿勢推定をカメラごとに独立で行い、同じ人物でグルーピング を行い、Single-Personの3D姿勢推定の処理を行う Single Person ✓ 2D姿勢推定の結果を前提にするため、精度が落ちる Analytical Multi Camera ✓ (この論文に[Iskakov+ ICCV’19]の要素を足す感じが今回紹介する VoxelPoseのイメージ) Predictive Single Camera Multi Person Multi Camera Analytical: 幾何的に解決する手法、Predictive: ネットワークで解決する手法 9
目次 1. 既存手法 2. 提案手法 3. 評価・結果 4. まとめ 10
提案手法 VoxelPose の全体像 • 提案手法は3つのモジュールから構成される ➢ (a) 2D Pose Estimation : 2次元の姿勢推定モデルで単視点からの2D poseのヒートマップを出力 ➢ (b) Cuboid Proposal Network (CPN) : 人の存在候補領域を推定 ➢ (c) Pose Regression Network (PRN) : CPNの各候補領域ごとに3D poseを推定 11
(a) 2D Pose Estimation • まず、各視点のカメラ画像を独立に2D Pose Estimationを行う • 2D Pose EstimationのモデルはHRNet (2DのSOTAモデル)を利用 • データが少ない場合、過学習回避のため学習済みのモデルを使用 ➢ 実験ではCOCOの学習済みモデルを使用 ✓ キーポイントまでは計算しない ✓ ヒートマップの状態で、CPN及び PRNで使用されるのがポイント 12
(b) Cuboid Proposal Network (CPN) • 各視点の2D ヒートマップから人の存在領域を推定する ➢ Feature Volume: 2Dヒートマップを3次元の特徴量に落とし込む (多分、[Islakov+ ICCV’19]と同様) ➢ Cuboid Proposals: 3D convのネットワークを使って、人物の3D存在位置を推定 (ヒートマップ) 引用: [Iskakov+ ICCV’19] 13
(b) Cuboid Proposal Network (CPN) • Feature Volumeは以下のように、今回のデータセットでは、8m x 8m x 2m程度になる ➢ 80 x 80 x 20の特徴量なので、1つのbinが大体100mmになる (人物の位置を特定だけなので粗い) ➢ 人がどこにいるかの候補領域を推定する (図のproposals (2m x 2m x 2m)にあたる領域を推定) 2m 8m 8m 14
(c) Pose Regression Network (PRN) • CPNで推定した候補領域ごとに3D姿勢を推定する • CPNの3D特徴量の立方体より、小さなグリッドを使うことで、精緻な推定を行う • CPNの処理はあくまで、候補領域を出すための処理であることに注意 ✓ Proposalsのサイズは実スケー ルの 2m x 2m x 2mのサイズ ➢ Keypointごとに重みは共有されており、proposal 個数分の推論がされる (実装見ても多分そう) ✓ PRNのFeatureは64 x 64 x 64 なので、1つのbinが、2000 / 64 = 31.25mm になる ✓ ネットワークはCPNと入出力 サイズ以外同じ 15
学習方法 • 2D姿勢推定の学習を20エポック(学習率のスケジューリングあり)行い、CPNとPRNを含めて 10エポック学習を回した (データセットによっては2D推定にCOCOで学習済みの重みを使用) • CPNではGround Truth (GT)をガウシアンを使って、ヒートマップ化しておく CenterNetに似ている 引用: [Zhou+ arXiv’19] GT 予測値 GT 予測値 16
目次 1. 既存手法 2. 提案手法 3. 評価・結果 4. まとめ 17
データセット The Campus Dataset The Shelf Dataset The CMU Panoptic Dataset ➢ [Belagiannis+ CVPR’14] ➢ [Belagiannis+ CVPR’14] ➢ [Joo+ TPAMI’17] ➢ 屋外で3人の人物を3つのカメラ ➢ 棚を分解する4人の人物を5つの ➢ 様々なカメラ数 (3, 6, 12, 13, 23) で撮影したデータセット カメラで撮影したデータセット ➢ 小さなデータセットで過学習し ➢ 「The Campus Dataset」と同様 ないように、2D姿勢推定は にCPNとPRNだけこのデータ COCOで学習し、CPNとPRNだ セットで学習 けこのデータセットで学習 ➢ 「The Campus Dataset」と同じ で日常的な行動をする人々を撮 影したデータセット ➢ このデータセットについては、 2D姿勢推定の学習においてもこ のデータセットを使用 論文で評価として提案された 18
CPNの評価 • 提案手法は3つのモジュールから構成される ➢ (a) 2D Pose Estimation : 2次元の姿勢推定モデルで単視点からの2D poseのヒートマップを出力 ➢ (b) Cuboid Proposal Network (CPN) : 人の存在候補領域を推定 ➢ (c) Pose Regression Network (PRN) : CPNの各候補領域ごとに3D poseを推定 19
CPNの評価 • Feature Volumeのサイズ (80 x 80 x 20の部分)の妥当性 ➢ Binの幅を小さくすれば、精度が高くなっていく ((a)の図参照) ➢ 精度と速度のトレードオフを考えて、80 x 80 x 20がちょうどよかった (a) • 自動生成したヒートマップの学習利用可能性 ➢ 3D姿勢を射影して2D姿勢のヒートマップを生成し、それで学習 ((b)の図参照) ➢ (a)と(b)の差がない ➢ -> 画像データがなくても同等の性能が実現できる (汎化性能が高い) (b) • カメラの数による影響の検証 ➢ 複数のカメラを使わずに、1つのカメラだけで検証 ((c)の図参照) ➢ 175mmのthresholdでも95%以上出ている ➢ 1つのカメラだけでも検出可能な実用性がある [補足] この検証にはPanopticデータセットが使用されている (a)、(b)の実験では5視点のカメラが使用されており、(b)の学習ではカメラ画像は使われていない (c)の実験では学習/テストともに1視点カメラが使われている (c) 20
PRNの評価 • 提案手法は3つのモジュールから構成される ➢ (a) 2D Pose Estimation : 2次元の姿勢推定モデルで単視点からの2D poseのヒートマップを出力 ➢ (b) Cuboid Proposal Network (CPN) : 人の存在候補領域を推定 ➢ (c) Pose Regression Network (PRN) : CPNの各候補領域ごとに3D poseを推定 21
評価指標 Percentage of Correct Parts (PCP3D) Average Precision (AP) ✓ [Dong+ CVPR’19] ✓ 正解の関節点ごとに推論された最も近い関節点が 正しいかどうかのaccuracy ✓ False positive(誤検知)は考慮されない ✓ PCP3Dのfalse positiveが考慮されない制限を解 決するためにAverage Precisionを導入 ✓ MPJPEの値がKmm以下かどうかの基準で、 Average Precisionを計算 ✓ 物体認識で使われるAverage Precisionと感覚が 違うので注意 Mean Per Joint Position Error (MPJPE) ✓ 推論された関節点と正解の関節点の距離を計算し、 全ての関節点の平均を取る ✓ 物体認識のAP: Kが大きくなると難しい ✓ 今回のAP: Kが大きくなると簡単 ✓ 単位としてよくmmが使われる ✓ Single-Personの手法との比較で使用 22
PRNの評価 • CPNのbinのサイズの影響 – (a)と(b)の比較。Binの数によって精度は上がるが、計算コスト も上がるので、80 x 80 x 20がよい • カメラ(視点)の数の影響 ➢ (b)-(d)の比較。カメラの数を少なくすると、特にAP25 のように厳しい評価値では極端に悪くなる ➢ ただし、AP150の値はあまり下がらず、1視点3D姿勢 と同様の評価基準の(j)はSOTA (40.1mm) と同等水準 • Heatmapの精度の影響 ➢ (b)と(g)の比較。Ground truthのheatmapを使うと精 度は上がる [補足] この検証にもPanopticデータセットが使用されている • CPNのProposalの影響 ➢ (b)と(h)の比較。あまり変わらない。CPNの精度は十 分で、PRNに改善可能性がある 23
推論結果の例 • (a) 左が提案手法を射影した結果で、右がHRNet (a) の結果。通常難しいocclusionに対応 (複数カメ ラ使用のためfairな比較ではないことに注意) • (b) 失敗例。複数のカメラにうまく入れず、姿勢 (b) が崩れる • (c) カメラ視点が1つでもそこそこうまくいく例 • (d) 5視点の各射影とそれを3D表現で表示した例 (c) (d) 24
既存手法との比較 • 2つのデータセット (Campus、Shelf) でSOTA (PCP3D) • ただし、既に高い値値での比較になってしまって いる • Panopticは既存手法での値が見当たらなく、比較 ができていないとのこと (future work) • エラーになっているものの多くは、正解データの 間違いによるものだったとのこと (右図は正解デー タであるが、アノテーション漏れがある) 25
既存手法との比較 Multi-Personの3D Pose EstimationでSOTA 引用: https://paperswithcode.com/task/3d-multi-person-pose-estimation 26
既存手法との比較 Single-Personの3D Pose Estimation (Human3.6m) でもSOTAと同等 19mmなので この辺り 引用: https://paperswithcode.com/sota/3d-human-pose-estimation-on-human36m 27
目次 1. 既存手法 2. 提案手法 3. 評価・結果 4. まとめ 28
まとめ • 要約 ➢ 複数カメラを使った複数人の3次元姿勢推定の手法であるVoxelPoseを提案した ➢ CPNとPRNを使って2次元姿勢を経由せずに、直接的に3次元姿勢を推定するため、2D姿勢推定の結 果の悪影響を受けにくい、頑健なモデルとなった • 所感 ➢ 空間 (今回は 8m x 2m x 2mを仮定) の広さによって、どのように変わるのか見てみたい ➢ 既存手法に比べて、汎用的で実用的な手法になっていると感じた。とはいえ、それでも、空間の大 小や複数カメラの扱いなど場面に応じて、変動が大きいため、どこまで汎用的に使うのがよいのか は難しそう ➢ あまりSOTAにこだわっていないようで、テクニカルな改善可能な点を多くあるように感じた。利用 シーンにもよるが、現状のTitan X GPUで300msは遅い 29