第四回 全日本コンピュータビジョン勉強会 / Inference Stage Optimization for Cross-scenario 3D Human Pose Estimation

Cd6e67775ba3275c466e9927ede23080?s=47 Naoki Kato
October 10, 2020

第四回 全日本コンピュータビジョン勉強会 / Inference Stage Optimization for Cross-scenario 3D Human Pose Estimation

全日本コンピュータビジョン勉強会での発表資料です。

紹介論文:Inference Stage Optimization for Cross-scenario 3D Human Pose Estimation (NeurIPS 2020)

実験室環境で構築されたデータセットを用いた学習が一般的である 3D human pose estimation において、テストデータでの self-supervised learning によりモデルの汎化性能を改善する研究です。

Cd6e67775ba3275c466e9927ede23080?s=128

Naoki Kato

October 10, 2020
Tweet

Transcript

  1. 全日本コンピュータビジョン勉強会 PRMU共催「人に関わる認識・理解」論文読み会 Inference Stage Optimization for Cross-scenario 3D Human Pose

    Estimation 株式会社Mobility Technologies 加藤 直樹
  2. ▪ タイトル:Inference Stage Optimization for Cross-scenario 3D Human Pose Estimation

    ▪ 著者:Jianfeng Zhang1, Xuecheng Nie2, Jiashi Feng1 著者:1National University of Singapore, 2Yitu Technology ▪ NeurIPS 2020 採択 テストデータでの self-supervised learning により 3D human pose estimation の汎化性能を改善 本日紹介する論文 提案手法 ベースライン手法
  3. ▪ 2D pose estimation Human Pose Estimation の研究の変遷 K. Sun,

    B. Xiao, D. Liu, J. Wang, “Deep High-Resolution Representation Learning for Human Pose Estimation,” In CVPR, 2019.
  4. ▪ 2D pose estimation ▪ 回帰 Human Pose Estimation の研究の変遷

    A. Toshev, C. Szegedy, “DeepPose: Human Pose Estimation via Deep Neural Networks,” In CVPR, 2014.
  5. ▪ 2D pose estimation ▪ 回帰 ▪ ヒートマップ Human Pose

    Estimation の研究の変遷 S. E. Wei, V. Ramakrishna, T. Kanade, Y. Sheikh, “Convolutional Pose Machines,” In CVPR, 2016.
  6. ▪ 2D pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 3D

    pose estimation Human Pose Estimation の研究の変遷 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.
  7. ▪ 2D pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 3D

    pose estimation ▪ 回帰 Human Pose Estimation の研究の変遷 B. Tekin, I. Katircioglu, M. Salzmann, V. Lepetit, P. Fua, “Structured Prediction of 3D Human Pose with Deep Neural Networks,” In BMVC, 2016.
  8. ▪ 2D pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 3D

    pose estimation ▪ 回帰 ▪ ヒートマップ Human Pose Estimation の研究の変遷 G. Pavlakos, X. Zhou, K. G. Derpanis, K. Daniilidis, “Coarse-to-Fine Volumetric Prediction for Single-Image 3D Human Pose,” In CVPR, 2017.
  9. ▪ 2D pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 3D

    pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 2D pose → 3D pose Human Pose Estimation の研究の変遷 J. Martinez, R. Hossain, J. Romero, J. J. Little, “A simple yet effective baseline for 3d human pose estimation,” In ICCV, 2017.
  10. ▪ 2D pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 3D

    pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 2D pose → 3D pose ▪ 2次元姿勢推定 + デプス推定 Human Pose Estimation の研究の変遷 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.
  11. ▪ 2D pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 3D

    pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 2D pose → 3D pose ▪ 2次元姿勢推定 + デプス推定 ▪ Shape reconstruction Human Pose Estimation の研究の変遷 G. Pavlakos, V. Choutas, N. Ghorbani, T. Bolkart, A. A. A. Osman, D. Tzionas, M. J. Black, “Expressive Body Capture: 3D Hands, Face, and Body from a Single Image,” In CVPR, 2019.
  12. ▪ 2D pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 3D

    pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 2D pose → 3D pose ▪ 2次元姿勢推定 + デプス推定 ▪ Shape reconstruction ▪ モデルベース Human Pose Estimation の研究の変遷 A. Kanazawa, M. J. Black, D. W. Jacobs, J. Malik, “End-to-end Recovery of Human Shape and Pose,” In CVPR, 2018.
  13. ▪ 2D pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 3D

    pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 2D pose → 3D pose ▪ 2次元姿勢推定 + デプス推定 ▪ Shape reconstruction ▪ モデルベース ▪ モデルフリー Human Pose Estimation の研究の変遷 G. Varol, D. Ceylan, B. Russell, J. Yang, E. Yumer, I. Laptev, and C. Schmid, “BodyNet: Volumetric inference of 3D human body shapes,” In ECCV, 2018.
  14. ▪ 2D pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 3D

    pose estimation ▪ 回帰 ▪ ヒートマップ ▪ 2D pose → 3D pose ▪ 2次元姿勢推定 + デプス推定 ▪ Shape reconstruction ▪ モデルベース ▪ モデルフリー ❏ 条件設定 ❏ 単一人物 or 複数人物 ❏ 単眼 or 複数カメラ Human Pose Estimation の研究の変遷
  15. ▪ タスクの拡張 ▪ 複数人物を対象とする推定 ▪ 物体との関係性の推定 ▪ 詳細な人物姿勢の推定 (body +

    hands + face) ▪ 服装(+テクスチャ)込みの形状復元 ▪ 未来の姿勢の推定 ▪ モデルの汎化性能向上(紹介する研究のトピック) ▪ 課題:関節点の3次元座標のアノテーションには実験室環境が必要であり、 大規模かつ多様性に富むデータセットの構築が困難 最近の研究の方向性
  16. ▪ モデルの性能を向上させるための既存手法のアプローチ: ▪ データ拡張の工夫 ▪ 人体構造に基づく損失関数の設計 ▪ Adversarial learning ▪

    外観の多様性に富む2次元データセットの利用 ▪ 既存研究は同一データセットで学習、評価するものが多く、 モデルが本当に汎化しているか検証できてない → Cross-dataset な設定でモデルの性能を向上させたい 既存手法と課題点 Human3.6M のデータ例(5人物で学習、2人物で評価するのが一般的)
  17. 学習データ (source)、テストデータ (target) の分布に乖離があることを想定 ▪ 既存手法:Source で学習させたモデルを target に直接適用 →

    性能が劣化 ▪ 提案手法:Target での self-supervised learning (SSL) による 提案手法:Inference Stage Optimization (ISO) で汎化性能を改善 紹介論文のアイディア
  18. Source での学習 (FSL + SSL)、target での SSL、target に対する推論の3段階のフェーズから成る 手法の枠組み

  19. Source での学習 (FSL + SSL)、target での SSL、target に対する推論の3段階のフェーズから成る 手法の枠組み

  20. 教師あり学習 (fully-supervised learning: FSL)、self-supervised learning (SSL)(後述)を併用して モデル(feature extractor、各 head)を学習 ▪

    人物姿勢の分布の構成要素は appearance(画像の外観)と geometry(姿勢)に分解できる ▪ Appearance の変化に頑健な off-the-shelf 2D pose estimator で画像から 2D pose を推定 → Geometry の分布の乖離に対処する必要がある ▪ 2D pose から 3D pose を推定するアプローチを採用 ▪ 2D pose:[関節点数] × 2 次元のベクトル ▪ 3D pose:[関節点数] × 3 次元のベクトル ▪ FSLの損失関数: ▪ 推定結果と ground-truth の 3D pose に対する MSE ▪ 推定結果と ground-truth の bone ベクトルに対する MSE (bone supervision loss) Source での学習 (FSL + SSL)
  21. Source での学習 (FSL + SSL)、target での SSL、target に対する推論の3段階のフェーズから成る 手法の枠組み

  22. Source での学習終了後、推論時に target でモデル(feature extractor、SSL head)を finetune ▪ Feature extractor

    は source での学習時とシェア、head を SSL head に付け替える ▪ Geometry を考慮した2つの SSL 手法を採用し、それぞれの性能を比較 ▪ ISO-Adversary ▪ ISO-Cycle Target でのSSL:Inference Stage Optimization (ISO)
  23. 3D pose を正しく推定できている場合、姿勢をランダムに回転させてから画像に射影したとき、 射影された 2D pose は有効な分布に属するはずであることを利用 [Drover+, ECCVW’18] ▪

    推定された 3D pose をランダムに回転、射影して得られた 2D pose に対し、 射影して得られた 2D pose であるか判定する discriminator を用いて adversarial loss を適用 ▪ カメラ視点を方位角 [-π, π]、仰角 [-π/9, π/9] からサンプリングして姿勢を回転 ISO-Adversary 2D pose lift rotate & project adversarial loss 3D pose 2D pose D. Drover, R. MV, C. H. Chen, A. Agrawal, A. Tyagi, C. P. Huynh, “Can 3d pose be learned from 2d projections alone?,” In ECCVW, 2018.
  24. 推定された 3D pose を再射影すると元の 2D pose と一致するはずであることを利用 [Chen+, CVPR’19] ▪

    2D pose を lift-project-lift し、2D pose、3D pose それぞれに MSE を適用 ▪ 中間的な 2D pose に対して ISO-Adversary と同様の adversarial loss を適用 ISO-Cycle 2D pose 3D pose 2D pose 3D pose 2D pose 3D pose lift project adversarial loss lift lift project MSE MSE 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.
  25. Source での学習 (FSL + SSL)、target での SSL、target に対する推論の3段階のフェーズから成る 手法の枠組み

  26. Shared feature extractor と FSL head を用いて推論 ▪ Source での学習時に

    FSL head と SSL head を同時に使用するのは SSL で獲得された 特徴表現に適応するため (入力姿勢の分布の違いによる特徴表現の分布のシフトに適応しきれるのかは疑問) ▪ 2種類の推論方法を提案: ▪ Vanilla ISO:個々の target データで ISO を行い、推論後はパラメータを元に戻す ▪ Online ISO:一連のデータに対して ISO を逐次行い、パラメータを保持する → 効率よく ISO を実施できる Target に対する推論
  27. Residual block (RB) (linear-BN-leakyReLU-dropout × 2) [Martinez+, ICCV’17] を多用 ▪

    Shared feature extractor:linear + RB × 3 ▪ 入力:[関節点数] × 2 次元のベクトル (2D pose) ▪ 出力:1024次元ベクトル ▪ FSL/SSL head:RB + linear ▪ 入力:1024次元ベクトル ▪ 出力:[関節点数] × 3 次元のベクトル (3D pose) ▪ Descriminator:RB (w/o BN) × 3 ▪ 入力:[関節点数] × 2 次元のベクトル (2D pose) ▪ 出力:2次元ベクトル (real or fake) モデル構造 J. Martinez, R. Hossain, J. Romero, J. J Little., “A simple yet effective baseline for 3D human pose estimation,” In ICCV, 2017.
  28. ▪ データセット: ▪ 学習:Human3.6M(実験室環境) ▪ 評価:MPI-INF-3DHP、3DPW(屋外環境有) ▪ 評価指標: ▪ Mean

    Per Joint Position Error (MPJPE) 推定座標とGTの距離の平均 ▪ 3D Percentage of Correct Keypoints (PCK) 正しく推定できた割合(閾値 150mm) ▪ Area Under Curve (AUC) PCK に対応して算出 ▪ 評価プロトコル: ▪ Unscaled (US):推定結果そのままで評価 ▪ Glob. scaled (GS):スケーリングしてから評価 ▪ Procrustes (PA):スケーリング + 剛体変換 実験設定 ▪ 学習方法: ▪ 200 epochs ▪ 初期学習率 2e-4、exponential decay ▪ 最適化手法:Adam ▪ ミニバッチサイズ:64 ▪ データ拡張:horizontal fliip ▪ ISO: ▪ BN を freeze ▪ Vanilla ISO:学習率 2e-5、10 iterations ▪ Online ISO:学習率 2e-5、1 iterations ▪ (恐らく)GT の 2D pose を使用
  29. ▪ 3DHP で既存手法を上回る性能を達成 ▪ 3DPW では条件設定が同じ比較手法を凌駕、有利な条件設定の比較手法にも匹敵 汎化性能の検証 3DHP での評価結果 3DPW

    での評価結果 (* は 3DPW の training set で学習)
  30. ▪ ISO の有効性を実証(Online ISO がより有効) ▪ SSL タスクは ISO-Cycle がより有効

    Ablation Study 3DHP での ablation study 結果 ▪ Baseline:FSL のみで学習 ▪ Joint:FSL と SSL で学習 ▪ Vanilla:Vanilla ISO ▪ Online:Online ISO ▪ Adv:ISO-Adversary ▪ Cyc:ISO-Cycle
  31. 学習データセットに見られない姿勢に対応 定性結果 ISO Baseline

  32. ▪ 学習イテレーション: ▪ Vanilla では 10、online では 1 が最も良い ▪

    学習しすぎると性能が低下 → SSL に overfit してしまう ▪ 学習率: ▪ 両者とも 2e-5 が最も良い ▪ 小さくしていくと ISO 無しの結果 (81.3%) に近づく ハイパーパラメータによる性能変化
  33. Baseline および ISO で推定された bone の長さの比率の分布を調査 ▪ ISO により GT

    の分布に近づく ▪ 体の左右による分布の差が小さくなる → Target の幾何情報を適切に捉えることができている 姿勢に関する幾何情報の分布 Bone の長さの比率(L、R は体の左右を表す) GT avg. GT avg.
  34. ▪ 3D pose のデータセット(Human3.6 or 3DHP)を判別するモデルを学習 (accuracy 99.5%) ▪ Baseline

    の 3DHP に対する推定結果に適用すると accuracy 52.6% ▪ ISO の推定結果に適用すると accuracy 83.4% ▪ t-SNE により特徴ベクトルの分布を可視化 ▪ ISO による特徴表現の分布は baseline と比べ GT に近くなっている 特徴表現の分布 t-SNE による特徴ベクトルの可視化結果
  35. ▪ 特に vanilla (10 iteration) は baseline と比べ推論時間が長くなる ▪ 代替手法として

    vanilla-lr と online-skip を提案 ▪ Vanilla-lr:学習率 2e-5 → 2e-4、イテレーション数 10 → 1 ▪ Online-skip:10サンプル毎に SSL を実施 ▪ Online-skip により、推論時間の増加を抑えつつ高性能な推論が可能 推論時間
  36. 入力の 2D pose にガウシアンノイズを付加してモデルを評価(人物サイズは最大で約200px) ▪ 大きなノイズを加えても性能の劣化が少ない ノイズへの頑健性

  37. テストデータでの SSL によりモデルの汎化性能を改善する手法を提案 ▪ パラメータ更新方法の工夫により推論時間の増加を抑えつつ性能を大きく改善可能 ▪ 様々な観点で ISO の有効性を検証するとともに、何故上手くいくのかを解析 個人的な所感:

    ▪ ISO のイテレーション数を増やしすぎると逆に性能が下がる ▪ Target で finetune された feature extractor と source のみで学習された FSL head が 完全に互換性を持つとは言えないのでは? ▪ モデルで推定された 2D pose を入力したときに性能が保たれるのか気になる ▪ 入力の 2D pose は、関節点の奥行きに関する情報を欠いてしまっているのでは? ▪ 2D pose → 3D pose の枠組みに限らず、入力画像に対して汎用的に適用できると嬉しい まとめ
  38. 文章 画像等の内容の無断転載及び複製等の行為はご遠慮ください。