SlideShare a Scribd company logo
Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
東京⼤学⼤学院⼯学系研究科
技術経営戦略学専攻
松尾研究室
⼤野峻典
書誌情報
2
• 論⽂名:“Realtime Multi-Person 2D Pose Estimation using Part Affinity
Fields”
– https://arxiv.org/abs/1611.08050
• 著者:Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh
– The Robotics Institute, Carnegie Mellon University
• 公開⽇:24 Nov 2016
• CVPR 2017 Oral
• Slide
• Video
• ※ 特に断りが無い場合は, 上記論⽂, Slide, Videoから引⽤
できること
• 体の部位をリアルタイムに推定できる.
• こんな感じ.
3
Abstract
• 画像中の複数⼈の2Dポーズを効率的に検出する⼿法の提案している.
• ⼿法の特徴
– Part Affinity Fields(PAFs):⾝体部位と個々⼈の関連付けを学習している.
– ボトムアップ的アプローチ:画像全体中の⽂脈をエンコードし, ⼈数によらず, ⾼速・
⾼精度を維持.
– Sequential Prediction with Learned Spatial Context:CNNで予測を⾏うユニットを
繰り返す.
– Jointly Learning Parts detection and Parts Association:部位の場所とその関連付け
を共同で学習する
• 結果
– COCO2016keypoints challengeで1位, MPII Multi-Person benchmarkにおいて効
率・精度ともにsota上回った.
4
Introduction
• 既存研究では, 複数⼈の絡む状況での個々⼈の⾝体部位検知は難しい問題として知られてき
た.
– ⼈数, スケールが不定
– ⼈同⼠のインタラクション
– ⼈数に⽐例して計算量増加
• top-down的アプローチ:⼈の検知を⾏い, その後に個⼈の姿勢推定を⾏う.
– ❌ ① 画像内の⼈の検知に失敗すると、姿勢推定できない
– ❌ ② ⼈数に⽐例して計算量増加
• bottom-up的アプローチ:← 本論⽂はこっち.
– ⭕ ①ʼ 上記①に対して, ロバスト.
– ⭕ ②ʼ 計算量抑えうる
– ❌ 既存の⼿法では, 他の体部位や⼈からのグローバルなコンテキスト情報を直接的には使えておらず,
部位のつなぎ合わせの推定の計算量がかかり, ⾮効率.
• → 本論⽂では, ここを改善.
• 本論⽂では, bottom-upアプローチで, 複数⼈のポーズ推定をSoTAの精度で達成.
– Part Affinity Fields(PAFs)によって部位同⼠の関連度を表現:体部位の場所, 向きをエンコードした2
次元ベクトル.
– 部位検知と関連度のボトムアップ的な表現を同時に推定することで, グローバルなコンテキストが⼗
分エンコードできる. それにより, ⾼精度・⾼速を実現した.
5
Method
• Feed forward network により, 体部位の位置の confidence map S (図b)
と, ベクタで部分間の関連度をエンコードした affinity fields L (図c)を作成.
– S = (S1, S2, …, SJ) で J個のconfidence mapsを持つ. J個の部位にそれぞれ対応.
• Sj ∈ Rw×h, j ∈ {1…J}
– L = (L1, L2, …, LC) で C個のベクタ持ち, それぞれ各部位ペアに対応.
• Lc ∈ R w×h×2, c ∈ {1…C}
• confidence mapとaffinity fieldsを元に, Bipartite Matching(2点間の関係
性計算)を⾏う(図d)
6
<⼊⼒から出⼒の流れ>
⼊⼒ 出⼒
Method > Simultaneous Detection and Association
• 部位検知の confidence map と部位関係エンコードの affinity fields を同時に
予測.
• 2つのブランチ; [図上] confidence mapを予測, [図下] affinity fieldsを予測.
• 画像はまずConv層(VGG-19の最初10層で初期化)で処理され, 特徴マップFとし
て, Stage1の⼊⼒になる.
• Stage1で, 検知 confidence map S1 = ρ1(F)と, part affinity fieldsのセット L1
= Φ1(F)を⽣成する. (ρ, ΦはそれぞれのstageにおけるCNNs)
• 前のStageの出⼒2つと元の特徴マップFがつなぎ合わされて次の⼊⼒になる.
7
Method > Simultaneous Detection and Association
• Stageを経るごとに, confidence maps(図上)の精度上がってきてることが
わかる.
• 部位のconfidence mapを1st branchで, PAFsを2nd branchで繰り返し予測していく. 各
ブランチにロス関数(L2誤差)を⽤意.
• Stage tにおける誤差関数:
• S*, L*: 正解のconfidence map, affinity field.
• W(p): binary maskで場所pにアノテーションがない場合0に. 正しい予測へのペナルティ防ぐ.
– 全体の⽬的関数:
8
Method > Confidence Maps for Part Detection
• 式5での評価のため, 正解のmap S*をアノテーションされた2Dキーポイン
トから⽣成する.
• 複数⼈いて, 各部位が⾒えるとき, 各部位j, ⼈kに対応するconfidence map
のピークが存在すべき.
• まず, 個々のconfidence maps S*j,k (正解値)を各⼈kに⽣成する.
– xj,k∈R2を部位j⼈kの画像中の正解位置とすると, S*jkにおける各場所p∈R2は以下のよ
うに定義される.
• σ: ピークの広がり具合を調整する項
– ネットワークから予測される形式に合わせて, 全ての⼈に関してmapをあわせて, 各部
位に関する正解のconfidence mapは以下のようにかける. (maxオペレータ)
9
Method > Confidence Maps for Part Detection
• Confidence mapsの平均を取るのでは無く、最⼤値を取るようにすること
で、峰に近い場所が明確のままであれる。
• テスト時は、predictしたconfidence mapsを⽤いて、non-maximum
suppressionを⾏うことで、体部位の予測位置を得る。
– (補⾜)Non-maximum suppression:閾値以上の割合で分布がかぶっている場合、
最も⾼いconfidence を持つ分布を残す.
10
Method > Part Affinity Fields for Part Association
• 任意の⼈数の⼈に関して, 検知された部位同⼠をいかにつなげるか. (図a)
– 中間点を取る? 複数⼈が近かったりするとうまくつなぎ合わせられない(図b)
• 位置のみのエンコードで向き情報ないなど表現⼒の限界.
• → Part affinity fields:位置情報, 向き情報を含んだ表現(図c)
– 各limb(部位のつなぎ合わせ部分)に対して各2Dベクトル
– 各limbは関連する部位をつなぐaffinity fieldを持つ.
11
Method > Part Affinity Fields for Part Association
• ベクトル値の決め⽅
– xj1,k , xj2,k: ⼈kのlimb c における部位j1,j2の正解値とする.
– Limb c上のpoint p達に関して, L*c,k(p)はj1からj2への単位ベクトルになる. Limb c外
のpoint pにおいては全てzeroベクトルに. 定式化すると以下.
• v = (xj2,k-xj1,k) / || xj2,k-xj1,k ||2 (limbの向きの単位ベクトル)
– Limb c上かどうかの判定は以下の式で定義.
• 幅σlはピクセル距離, lc,kは部位間のユークリッド距離.
12
Method > Part Affinity Fields for Part Association
• ネットワークから予測される形に合わせて全ての⼈に関してfieldsをあわせ
てlimbごとのfieldを⽣成. (average)
– nc(p):point p においてk peopleの中でゼロじゃないベクトルの数(limbが重なった場
合に平均取りたいため)
• テスト時は, 対応するPAFの線積分を候補部位の位置を結ぶ線分に沿って計
算することで, 候補部位間の関連度を測る. (= 検出された部位を結ぶことで
作られる候補limbと, 予測されたPAF間の⼀致度を測る)
– 具体的には, 2つの候補部位dj1とdj2に対して, 予測されたPAF Lcを部位間の線分に沿っ
てサンプリングして, 部位の関連度のconfidenceを計測する.
• p(u):2つの部位dj1とdj2をつなぐ位置
– 実⽤上は, ⼀定間隔のuの値を合計して積分を近似している.
13
Method > Multi-Person Parsing using PAFs
• 各部位に関して複数検知される場所があり(複数⼈ or 偽陽性ゆえ), その
分可能なlimbのパターンが多く存在.
• AF上の線積分計算により各候補limbにスコアをつける. 最適な組み合わせを
⾒つける問題は, NP-Hard問題であるK次元のマッチング問題に対応する.
– → greedy 緩和法によって対処できる.
– その理由は, PAFネットワークの受容野が⼤きいため, pair-wiseの関連度スコアが暗黙
にグローバルコンテキストをエンコードしているためと考えられる. (後述)
• まず, 複数⼈の候補部位の集合を得る.
– DJ = {dj
m : for j ∈ {1…J}, m ∈{1…Nj} }
• Nj: 部位jの候補数
• dj
m ∈ R2: は部位jのm番⽬の検知候補.
• 部位候補 dj1
mとdj2
nがつながっているか⽰す変数 z j1j2
mn ∈{0,1}を定義.
– ゴールは, 可能な繋がりのうち最適な組み合わせを⾒つけること.
– 以下Zはzの全組み合わせに関する集合.
14
Method > Multi-Person Parsing using PAFs
• あるc番⽬のlimbにつながるj1とj2のペアを考える.
– 式10で求めたcにおける重みが最⼤になるような⼆点間マッチングを⾏う.
– Ecはlimb type cのマッチングの全体の重みで, Zcはlimb type cのZのサブセットで,
Emnは部位dj1
mとdj2
n間のpart affinity (式10で定義)
– 式13,14は, 2つのエッジがノードをシェアするのを防ぐ. (同じtypeの2つのlimbが部
位の共有を防ぐ.) Hungarian algorithmで最適解⾒つける.
15
Method > Multi-Person Parsing using PAFs
• 複数⼈の全⾝のposeを⾒つけること考える.
• Zを決めるのはK次元マッチング問題になる. この問題はNP Hardで, 多くの
緩和法存在.
• この論⽂では, 今回のドメインに適した2つの緩和法を最適化に加える.
– (1) 完全グラフではなく, 最⼩の数のエッジでツリーを得る (図c)
– (2) マッチング問題をbipartiteマッチングのサブ問題の集合に分解し, 隣合うtreeの
nodeの中で独⽴にマッチングを決める (図d)
• Section 3.1で⽐較結果を出しており, minimal greedy inferenceがグロー
バルな解を計算量低く, よく近似していることを⽰している.
16
Method > Multi-Person Parsing using PAFs
• 2つの緩和法で, 最適化は以下のようにシンプルに分解される.
• ゆえに, 各limb typeに対して, 式12-14(各limb cに対してjoint⾒つけるや
つ)を使って, 独⽴に, limbの繋がり候補を得る.
• 全てのlimb繋がり候補を持って, 同じ候補部位をシェアする繋がりを組みわ
せて, 複数⼈の全⾝のposeを作る.
17
Results
• 複数⼈pose estimationの2つのベンチマーク
– (1) MPII human multi-person dataset (25k images, 40k ppl, 410 human
activities)
– (2) the COCO 2016 keypoints challenge dataset
• いろんな実世界の状況の画像を含んだデータセット
• それぞれSotA.
• 計算効率に関する考察も加えた(Fig10. 後述)
18
Results > Results on the MPII Multi-Person Dataset
• 閾値はPCKhで, 全体部位に関するmean Average Precision(mAP)を指標に⽐較.
• inference/optmization time per imageも⽐較
• テストセットにおける結果
– mAP: 今回の⼿法で従来のSotAを8.5%上回る(表上)
• Scale search無くとも既存⼿法より良い. MAPIIデータ全体では, 13%良くなった. さらにscale search
で良くなる.
• → 既存⼿法に⽐べてPAFsが部位間の関係性を表現するのに有効なことがわかる.
– inference time: 6桁早くなった(詳細3.3節で)
19
Results > Results on the MPII Multi-Person Dataset
• 補⾜
– mean Average Precision(mAP)
• Precision:システムが正例と判定したもののうち、実際に正例だったものの割合. (正確さ)
– 部位判定したもののうち、正しかったものの割合
• Recall:データセットの正例全体のうち、システムが正例と判定したものの割合(カバー率)
– データセットでアノテートされている部位のうち、正しく検知されたものの割合
• Average Precision(AP: 平均適合率):PrecisionをRecallについて平均とったもの.
– 以下の式で近似しているもの多い. (I: 正例なら1, 負例なら0の関数)
20
Results > Results on the MPII Multi-Person Dataset
• 補⾜
– mean Average Precision(mAP):今回の場合
• mAP:全ての⼈の部位に対する平均のprecision。
– まず、複数体写っている画像に対してpose estimation実⾏。
– 最も⾼いPCKh閾値にもとづいて、estimateされたポイントをground truth(GT)に割り合ててく。
– GTに割り当てられなかった予測ポイントは、false positiveとして扱う。
– 各部位ごとにAverage Precision(AP)を計算。
– 全体の部位に関してAPの平均を取って、mAPになる。
– PCKh threshhold:
• PCP:あるパーツの両端の部位の検出位置が、そのパーツの⻑さの半分よりも正解に近ければ
検出成功とする.
• PCK:⼈物のbounding boxサイズの逆数を閾値として定義
• PCKh:Headセグメントの50%の⻑さを閾値として定義
21
Results > Results on the MPII Multi-Person Dataset
• 異なるスケルトン構造の⽐較結果
– (6b) 全てのパターンつないだエッジ, (6c) 最⼩限のツリーエッジで整数リニアプログ
ラミングでとかれるもの, (6d) 最⼩限のツリーエッジで貪欲アルゴリズムによってとか
れるもの
– → 最⼩限のエッジで、性能的には⼗分なことを⽰している.
– (6d)のグラフが精度最も良くなっている.トレーニングの収束がはるかに容易になるた
めと考えられる.(13 edges vs 91 edges)
22
Results > Results on the MPII Multi-Person Dataset
• PCKh-0.5のしきい値の場合, PAFを使⽤した結果は, 中間点表⽰を利⽤した結果
より優れてる. (one-midpointより2.9%⾼く, two-midpointより2.3%⾼い)
• ラベルをつけられていない⼈にマスクを使⽤した訓練で, True Positiveの予測に
よる(不当な)ロス防ぐと, 2.3%精度改善できる.
• 部位detectionのGround Truthを⽤いて, PAFsで予測⾏うと, mAP 88.3%. そ
の場合Detectionにおける誤差が無いので, PCKh閾値によらず⼀定.
• 部位connectionのGround Truthを⽤いて, detectだけ⾏うケースでは, mAP
81.6%.
– → PAFによるconnection判定と, Ground Truth使⽤でほとんど精度が変わらない. (79.4%
vs 81.6%) . PAFが, ⾮常に⾼い精度で検出できること⽰している.
• (b) stageごとのmAPの⽐較, 精度上がっていることがわかる.
23
Results > Results on the COCO Keypoints Challenge
• 10万⼈以上の⼈物, 100万以上のkeypoints.
• COCOでの評価では, object keypoint similarity (OKS) を定義し, 10個の
OKS閾値でのmean average precision (AP) を使⽤する.
– OKSは, 物体認識におけるIoUと同じ役割.
– ⼈のスケールと, GT位置と予測値の差, の両⽅を⽤いて計算される.
• 表3: top teamとの⽐較.
• ⽐較的⼩さいスケールの⼈(APM)に於いては, top-downアプローチの⼿法
に精度負けてる.
– 理由: 本⼿法では, 他よりはるかに⼤きいスケールで, 画像内の全ての⼈々を⼀⻫に扱わ
ないといけない. ⇔ top-downアプローチでは, ⼈を検知してその⼈ごとに切り取って
拡⼤して扱えるので, ⼩さいスケールによる影響が⽐較的値作なる.
24
補⾜: IoU
• 引⽤: http://www.pyimagesearch.com/2016/11/07/intersection-
over-union-iou-for-object-detection/
25
Results > Results on the COCO Keypoints Challenge
• ランダムに選択された検証セットのサブセットでの⽐較.
• GT bounding box と single person CPMを使⽤すると, CPMを⽤いたtop-downアプロー
チのupper-bond(62.7%)に到達できる.
• SSD(Single shot multibox detecter)利⽤すると, パフォーマンスは10%低下する.
• 本⼿法のボトムアップ⽅式では, 58.4%のAPを達成.
• 本⼿法で最スケーリングされた各領域に, ⼀⼈の⼈物のCPMを適⽤することで, 2.6%のAP
改善される. (両⼿法でprecisionとrecallの改善に繋がるもののみアップデート)
– → より⼤きなスケールでのsearchが, ボトムアップ⼿法のパフォーマンスを向上させることが期待で
きる.
26
Results > Runtime Analysis
• Top-downアプローチと違い, Bottom-upアプローチでは, Runtimeが⼈の
⼈数に⽐例してほとんど変わらないことわかる.
– CNNの処理が⼈数に対してO(1)で, multi-person parsingはO(n2)だがそもそも計算
オーダーが⼩さいので, 合計したBottom-upアプローチは, ⼈数に対してほとんど変化
しないRuntimeを持つ.
27
Discussion
• 画像内の⼈物理解において, 複数⼈物の2次元姿勢⼤事.
• 今回の⼯夫
– 1. 部位の位置と, ⽅向の両⽅を符号化する表現
– 2. 部位検出と関係性を共同で学ぶアーキテクチャ
– 3. greedyアルゴリズムにより⼈の数が増えても計算量抑え, 精度⼗分.
• 代表的な失敗事例
28
実装
• C++:https://github.com/CMU-Perceptual-Computing-Lab/openpose
• Caffe:https://github.com/ZheC/Realtime_Multi-
Person_Pose_Estimation
• PyTorch:https://github.com/tensorboy/pytorch_Realtime_Multi-
Person_Pose_Estimation (train未実装)
29

More Related Content

PPTX
SfM Learner系単眼深度推定手法について
PPTX
[DL輪読会]Deep High-Resolution Representation Learning for Human Pose Estimation
PPTX
[DL輪読会]DropBlock: A regularization method for convolutional networks
PDF
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
PDF
High-impact Papers in Computer Vision: 歴史を変えた/トレンドを創る論文
PDF
動作認識の最前線:手法,タスク,データセット
PDF
【メタサーベイ】数式ドリブン教師あり学習
PDF
R-CNNの原理とここ数年の流れ
SfM Learner系単眼深度推定手法について
[DL輪読会]Deep High-Resolution Representation Learning for Human Pose Estimation
[DL輪読会]DropBlock: A regularization method for convolutional networks
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
High-impact Papers in Computer Vision: 歴史を変えた/トレンドを創る論文
動作認識の最前線:手法,タスク,データセット
【メタサーベイ】数式ドリブン教師あり学習
R-CNNの原理とここ数年の流れ

What's hot (20)

PDF
三次元点群を取り扱うニューラルネットワークのサーベイ
PDF
Deep Learningによる超解像の進歩
PDF
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
PPTX
[DL輪読会]Objects as Points
PDF
論文紹介「PointNetLK: Robust & Efficient Point Cloud Registration Using PointNet」
PPTX
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
PDF
20190307 visualslam summary
PDF
夏のトップカンファレンス論文読み会 / Realtime Multi-Person 2D Pose Estimation using Part Affin...
PDF
画像認識モデルを作るための鉄板レシピ
PDF
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
PPTX
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
PDF
[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)
PPTX
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
PPTX
畳み込みニューラルネットワークの高精度化と高速化
PDF
深層生成モデルを用いたマルチモーダル学習
PDF
Point net
PDF
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
PDF
【DL輪読会】Perceiver io a general architecture for structured inputs &amp; outputs
PPTX
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
PPTX
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
三次元点群を取り扱うニューラルネットワークのサーベイ
Deep Learningによる超解像の進歩
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
[DL輪読会]Objects as Points
論文紹介「PointNetLK: Robust & Efficient Point Cloud Registration Using PointNet」
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
20190307 visualslam summary
夏のトップカンファレンス論文読み会 / Realtime Multi-Person 2D Pose Estimation using Part Affin...
画像認識モデルを作るための鉄板レシピ
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
[第2回3D勉強会 研究紹介] Neural 3D Mesh Renderer (CVPR 2018)
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
畳み込みニューラルネットワークの高精度化と高速化
深層生成モデルを用いたマルチモーダル学習
Point net
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
【DL輪読会】Perceiver io a general architecture for structured inputs &amp; outputs
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
Ad

Similar to [DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields (20)

PDF
CVPR2011 Festival PDF
PDF
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
PDF
CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
PPTX
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
PDF
深層学習によるHuman Pose Estimationの基礎
PDF
論文紹介:2D Pose-guided Complete Silhouette Estimation of Human Body in Occlusion
PPTX
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
PPTX
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
PDF
20201010 personreid
PDF
【DL輪読会】Monocular real time volumetric performance capture
PPTX
[DL輪読会]Human Pose Estimation @ ECCV2018
PPTX
The 53th Computer Vision Study@ kantou by Takamitsu Omasa
PDF
複数人物姿勢推定におけるKnowledge Distillationを用いた教師ラベル補正手法の提案
PPTX
DLゼミ: Ego-Body Pose Estimation via Ego-Head Pose Estimation
PDF
CVPR 2019 report (30 papers)
PPTX
CVPR Festival
PDF
DeepPose: Human Pose Estimation via Deep Neural Networks
PPTX
2018 07 02_dense_pose
PDF
Object as Points
PDF
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
CVPR2011 Festival PDF
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
深層学習によるHuman Pose Estimationの基礎
論文紹介:2D Pose-guided Complete Silhouette Estimation of Human Body in Occlusion
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
20201010 personreid
【DL輪読会】Monocular real time volumetric performance capture
[DL輪読会]Human Pose Estimation @ ECCV2018
The 53th Computer Vision Study@ kantou by Takamitsu Omasa
複数人物姿勢推定におけるKnowledge Distillationを用いた教師ラベル補正手法の提案
DLゼミ: Ego-Body Pose Estimation via Ego-Head Pose Estimation
CVPR 2019 report (30 papers)
CVPR Festival
DeepPose: Human Pose Estimation via Deep Neural Networks
2018 07 02_dense_pose
Object as Points
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
Ad

More from Deep Learning JP (20)

PPTX
【DL輪読会】AdaptDiffuser: Diffusion Models as Adaptive Self-evolving Planners
PPTX
【DL輪読会】事前学習用データセットについて
PPTX
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
PPTX
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
PPTX
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
PPTX
【DL輪読会】マルチモーダル LLM
PDF
【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
PPTX
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
PDF
【DL輪読会】Can Neural Network Memorization Be Localized?
PPTX
【DL輪読会】Hopfield network 関連研究について
PPTX
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
PDF
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
PDF
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
PPTX
【DL輪読会】"Language Instructed Reinforcement Learning for Human-AI Coordination "
PPTX
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
PDF
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
PPTX
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
PDF
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
PDF
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
PPTX
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】AdaptDiffuser: Diffusion Models as Adaptive Self-evolving Planners
【DL輪読会】事前学習用データセットについて
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
【DL輪読会】マルチモーダル LLM
【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
【DL輪読会】Can Neural Network Memorization Be Localized?
【DL輪読会】Hopfield network 関連研究について
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
【DL輪読会】"Language Instructed Reinforcement Learning for Human-AI Coordination "
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...

[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

  • 1. Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields 東京⼤学⼤学院⼯学系研究科 技術経営戦略学専攻 松尾研究室 ⼤野峻典
  • 2. 書誌情報 2 • 論⽂名:“Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields” – https://arxiv.org/abs/1611.08050 • 著者:Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh – The Robotics Institute, Carnegie Mellon University • 公開⽇:24 Nov 2016 • CVPR 2017 Oral • Slide • Video • ※ 特に断りが無い場合は, 上記論⽂, Slide, Videoから引⽤
  • 4. Abstract • 画像中の複数⼈の2Dポーズを効率的に検出する⼿法の提案している. • ⼿法の特徴 – Part Affinity Fields(PAFs):⾝体部位と個々⼈の関連付けを学習している. – ボトムアップ的アプローチ:画像全体中の⽂脈をエンコードし, ⼈数によらず, ⾼速・ ⾼精度を維持. – Sequential Prediction with Learned Spatial Context:CNNで予測を⾏うユニットを 繰り返す. – Jointly Learning Parts detection and Parts Association:部位の場所とその関連付け を共同で学習する • 結果 – COCO2016keypoints challengeで1位, MPII Multi-Person benchmarkにおいて効 率・精度ともにsota上回った. 4
  • 5. Introduction • 既存研究では, 複数⼈の絡む状況での個々⼈の⾝体部位検知は難しい問題として知られてき た. – ⼈数, スケールが不定 – ⼈同⼠のインタラクション – ⼈数に⽐例して計算量増加 • top-down的アプローチ:⼈の検知を⾏い, その後に個⼈の姿勢推定を⾏う. – ❌ ① 画像内の⼈の検知に失敗すると、姿勢推定できない – ❌ ② ⼈数に⽐例して計算量増加 • bottom-up的アプローチ:← 本論⽂はこっち. – ⭕ ①ʼ 上記①に対して, ロバスト. – ⭕ ②ʼ 計算量抑えうる – ❌ 既存の⼿法では, 他の体部位や⼈からのグローバルなコンテキスト情報を直接的には使えておらず, 部位のつなぎ合わせの推定の計算量がかかり, ⾮効率. • → 本論⽂では, ここを改善. • 本論⽂では, bottom-upアプローチで, 複数⼈のポーズ推定をSoTAの精度で達成. – Part Affinity Fields(PAFs)によって部位同⼠の関連度を表現:体部位の場所, 向きをエンコードした2 次元ベクトル. – 部位検知と関連度のボトムアップ的な表現を同時に推定することで, グローバルなコンテキストが⼗ 分エンコードできる. それにより, ⾼精度・⾼速を実現した. 5
  • 6. Method • Feed forward network により, 体部位の位置の confidence map S (図b) と, ベクタで部分間の関連度をエンコードした affinity fields L (図c)を作成. – S = (S1, S2, …, SJ) で J個のconfidence mapsを持つ. J個の部位にそれぞれ対応. • Sj ∈ Rw×h, j ∈ {1…J} – L = (L1, L2, …, LC) で C個のベクタ持ち, それぞれ各部位ペアに対応. • Lc ∈ R w×h×2, c ∈ {1…C} • confidence mapとaffinity fieldsを元に, Bipartite Matching(2点間の関係 性計算)を⾏う(図d) 6 <⼊⼒から出⼒の流れ> ⼊⼒ 出⼒
  • 7. Method > Simultaneous Detection and Association • 部位検知の confidence map と部位関係エンコードの affinity fields を同時に 予測. • 2つのブランチ; [図上] confidence mapを予測, [図下] affinity fieldsを予測. • 画像はまずConv層(VGG-19の最初10層で初期化)で処理され, 特徴マップFとし て, Stage1の⼊⼒になる. • Stage1で, 検知 confidence map S1 = ρ1(F)と, part affinity fieldsのセット L1 = Φ1(F)を⽣成する. (ρ, ΦはそれぞれのstageにおけるCNNs) • 前のStageの出⼒2つと元の特徴マップFがつなぎ合わされて次の⼊⼒になる. 7
  • 8. Method > Simultaneous Detection and Association • Stageを経るごとに, confidence maps(図上)の精度上がってきてることが わかる. • 部位のconfidence mapを1st branchで, PAFsを2nd branchで繰り返し予測していく. 各 ブランチにロス関数(L2誤差)を⽤意. • Stage tにおける誤差関数: • S*, L*: 正解のconfidence map, affinity field. • W(p): binary maskで場所pにアノテーションがない場合0に. 正しい予測へのペナルティ防ぐ. – 全体の⽬的関数: 8
  • 9. Method > Confidence Maps for Part Detection • 式5での評価のため, 正解のmap S*をアノテーションされた2Dキーポイン トから⽣成する. • 複数⼈いて, 各部位が⾒えるとき, 各部位j, ⼈kに対応するconfidence map のピークが存在すべき. • まず, 個々のconfidence maps S*j,k (正解値)を各⼈kに⽣成する. – xj,k∈R2を部位j⼈kの画像中の正解位置とすると, S*jkにおける各場所p∈R2は以下のよ うに定義される. • σ: ピークの広がり具合を調整する項 – ネットワークから予測される形式に合わせて, 全ての⼈に関してmapをあわせて, 各部 位に関する正解のconfidence mapは以下のようにかける. (maxオペレータ) 9
  • 10. Method > Confidence Maps for Part Detection • Confidence mapsの平均を取るのでは無く、最⼤値を取るようにすること で、峰に近い場所が明確のままであれる。 • テスト時は、predictしたconfidence mapsを⽤いて、non-maximum suppressionを⾏うことで、体部位の予測位置を得る。 – (補⾜)Non-maximum suppression:閾値以上の割合で分布がかぶっている場合、 最も⾼いconfidence を持つ分布を残す. 10
  • 11. Method > Part Affinity Fields for Part Association • 任意の⼈数の⼈に関して, 検知された部位同⼠をいかにつなげるか. (図a) – 中間点を取る? 複数⼈が近かったりするとうまくつなぎ合わせられない(図b) • 位置のみのエンコードで向き情報ないなど表現⼒の限界. • → Part affinity fields:位置情報, 向き情報を含んだ表現(図c) – 各limb(部位のつなぎ合わせ部分)に対して各2Dベクトル – 各limbは関連する部位をつなぐaffinity fieldを持つ. 11
  • 12. Method > Part Affinity Fields for Part Association • ベクトル値の決め⽅ – xj1,k , xj2,k: ⼈kのlimb c における部位j1,j2の正解値とする. – Limb c上のpoint p達に関して, L*c,k(p)はj1からj2への単位ベクトルになる. Limb c外 のpoint pにおいては全てzeroベクトルに. 定式化すると以下. • v = (xj2,k-xj1,k) / || xj2,k-xj1,k ||2 (limbの向きの単位ベクトル) – Limb c上かどうかの判定は以下の式で定義. • 幅σlはピクセル距離, lc,kは部位間のユークリッド距離. 12
  • 13. Method > Part Affinity Fields for Part Association • ネットワークから予測される形に合わせて全ての⼈に関してfieldsをあわせ てlimbごとのfieldを⽣成. (average) – nc(p):point p においてk peopleの中でゼロじゃないベクトルの数(limbが重なった場 合に平均取りたいため) • テスト時は, 対応するPAFの線積分を候補部位の位置を結ぶ線分に沿って計 算することで, 候補部位間の関連度を測る. (= 検出された部位を結ぶことで 作られる候補limbと, 予測されたPAF間の⼀致度を測る) – 具体的には, 2つの候補部位dj1とdj2に対して, 予測されたPAF Lcを部位間の線分に沿っ てサンプリングして, 部位の関連度のconfidenceを計測する. • p(u):2つの部位dj1とdj2をつなぐ位置 – 実⽤上は, ⼀定間隔のuの値を合計して積分を近似している. 13
  • 14. Method > Multi-Person Parsing using PAFs • 各部位に関して複数検知される場所があり(複数⼈ or 偽陽性ゆえ), その 分可能なlimbのパターンが多く存在. • AF上の線積分計算により各候補limbにスコアをつける. 最適な組み合わせを ⾒つける問題は, NP-Hard問題であるK次元のマッチング問題に対応する. – → greedy 緩和法によって対処できる. – その理由は, PAFネットワークの受容野が⼤きいため, pair-wiseの関連度スコアが暗黙 にグローバルコンテキストをエンコードしているためと考えられる. (後述) • まず, 複数⼈の候補部位の集合を得る. – DJ = {dj m : for j ∈ {1…J}, m ∈{1…Nj} } • Nj: 部位jの候補数 • dj m ∈ R2: は部位jのm番⽬の検知候補. • 部位候補 dj1 mとdj2 nがつながっているか⽰す変数 z j1j2 mn ∈{0,1}を定義. – ゴールは, 可能な繋がりのうち最適な組み合わせを⾒つけること. – 以下Zはzの全組み合わせに関する集合. 14
  • 15. Method > Multi-Person Parsing using PAFs • あるc番⽬のlimbにつながるj1とj2のペアを考える. – 式10で求めたcにおける重みが最⼤になるような⼆点間マッチングを⾏う. – Ecはlimb type cのマッチングの全体の重みで, Zcはlimb type cのZのサブセットで, Emnは部位dj1 mとdj2 n間のpart affinity (式10で定義) – 式13,14は, 2つのエッジがノードをシェアするのを防ぐ. (同じtypeの2つのlimbが部 位の共有を防ぐ.) Hungarian algorithmで最適解⾒つける. 15
  • 16. Method > Multi-Person Parsing using PAFs • 複数⼈の全⾝のposeを⾒つけること考える. • Zを決めるのはK次元マッチング問題になる. この問題はNP Hardで, 多くの 緩和法存在. • この論⽂では, 今回のドメインに適した2つの緩和法を最適化に加える. – (1) 完全グラフではなく, 最⼩の数のエッジでツリーを得る (図c) – (2) マッチング問題をbipartiteマッチングのサブ問題の集合に分解し, 隣合うtreeの nodeの中で独⽴にマッチングを決める (図d) • Section 3.1で⽐較結果を出しており, minimal greedy inferenceがグロー バルな解を計算量低く, よく近似していることを⽰している. 16
  • 17. Method > Multi-Person Parsing using PAFs • 2つの緩和法で, 最適化は以下のようにシンプルに分解される. • ゆえに, 各limb typeに対して, 式12-14(各limb cに対してjoint⾒つけるや つ)を使って, 独⽴に, limbの繋がり候補を得る. • 全てのlimb繋がり候補を持って, 同じ候補部位をシェアする繋がりを組みわ せて, 複数⼈の全⾝のposeを作る. 17
  • 18. Results • 複数⼈pose estimationの2つのベンチマーク – (1) MPII human multi-person dataset (25k images, 40k ppl, 410 human activities) – (2) the COCO 2016 keypoints challenge dataset • いろんな実世界の状況の画像を含んだデータセット • それぞれSotA. • 計算効率に関する考察も加えた(Fig10. 後述) 18
  • 19. Results > Results on the MPII Multi-Person Dataset • 閾値はPCKhで, 全体部位に関するmean Average Precision(mAP)を指標に⽐較. • inference/optmization time per imageも⽐較 • テストセットにおける結果 – mAP: 今回の⼿法で従来のSotAを8.5%上回る(表上) • Scale search無くとも既存⼿法より良い. MAPIIデータ全体では, 13%良くなった. さらにscale search で良くなる. • → 既存⼿法に⽐べてPAFsが部位間の関係性を表現するのに有効なことがわかる. – inference time: 6桁早くなった(詳細3.3節で) 19
  • 20. Results > Results on the MPII Multi-Person Dataset • 補⾜ – mean Average Precision(mAP) • Precision:システムが正例と判定したもののうち、実際に正例だったものの割合. (正確さ) – 部位判定したもののうち、正しかったものの割合 • Recall:データセットの正例全体のうち、システムが正例と判定したものの割合(カバー率) – データセットでアノテートされている部位のうち、正しく検知されたものの割合 • Average Precision(AP: 平均適合率):PrecisionをRecallについて平均とったもの. – 以下の式で近似しているもの多い. (I: 正例なら1, 負例なら0の関数) 20
  • 21. Results > Results on the MPII Multi-Person Dataset • 補⾜ – mean Average Precision(mAP):今回の場合 • mAP:全ての⼈の部位に対する平均のprecision。 – まず、複数体写っている画像に対してpose estimation実⾏。 – 最も⾼いPCKh閾値にもとづいて、estimateされたポイントをground truth(GT)に割り合ててく。 – GTに割り当てられなかった予測ポイントは、false positiveとして扱う。 – 各部位ごとにAverage Precision(AP)を計算。 – 全体の部位に関してAPの平均を取って、mAPになる。 – PCKh threshhold: • PCP:あるパーツの両端の部位の検出位置が、そのパーツの⻑さの半分よりも正解に近ければ 検出成功とする. • PCK:⼈物のbounding boxサイズの逆数を閾値として定義 • PCKh:Headセグメントの50%の⻑さを閾値として定義 21
  • 22. Results > Results on the MPII Multi-Person Dataset • 異なるスケルトン構造の⽐較結果 – (6b) 全てのパターンつないだエッジ, (6c) 最⼩限のツリーエッジで整数リニアプログ ラミングでとかれるもの, (6d) 最⼩限のツリーエッジで貪欲アルゴリズムによってとか れるもの – → 最⼩限のエッジで、性能的には⼗分なことを⽰している. – (6d)のグラフが精度最も良くなっている.トレーニングの収束がはるかに容易になるた めと考えられる.(13 edges vs 91 edges) 22
  • 23. Results > Results on the MPII Multi-Person Dataset • PCKh-0.5のしきい値の場合, PAFを使⽤した結果は, 中間点表⽰を利⽤した結果 より優れてる. (one-midpointより2.9%⾼く, two-midpointより2.3%⾼い) • ラベルをつけられていない⼈にマスクを使⽤した訓練で, True Positiveの予測に よる(不当な)ロス防ぐと, 2.3%精度改善できる. • 部位detectionのGround Truthを⽤いて, PAFsで予測⾏うと, mAP 88.3%. そ の場合Detectionにおける誤差が無いので, PCKh閾値によらず⼀定. • 部位connectionのGround Truthを⽤いて, detectだけ⾏うケースでは, mAP 81.6%. – → PAFによるconnection判定と, Ground Truth使⽤でほとんど精度が変わらない. (79.4% vs 81.6%) . PAFが, ⾮常に⾼い精度で検出できること⽰している. • (b) stageごとのmAPの⽐較, 精度上がっていることがわかる. 23
  • 24. Results > Results on the COCO Keypoints Challenge • 10万⼈以上の⼈物, 100万以上のkeypoints. • COCOでの評価では, object keypoint similarity (OKS) を定義し, 10個の OKS閾値でのmean average precision (AP) を使⽤する. – OKSは, 物体認識におけるIoUと同じ役割. – ⼈のスケールと, GT位置と予測値の差, の両⽅を⽤いて計算される. • 表3: top teamとの⽐較. • ⽐較的⼩さいスケールの⼈(APM)に於いては, top-downアプローチの⼿法 に精度負けてる. – 理由: 本⼿法では, 他よりはるかに⼤きいスケールで, 画像内の全ての⼈々を⼀⻫に扱わ ないといけない. ⇔ top-downアプローチでは, ⼈を検知してその⼈ごとに切り取って 拡⼤して扱えるので, ⼩さいスケールによる影響が⽐較的値作なる. 24
  • 25. 補⾜: IoU • 引⽤: http://www.pyimagesearch.com/2016/11/07/intersection- over-union-iou-for-object-detection/ 25
  • 26. Results > Results on the COCO Keypoints Challenge • ランダムに選択された検証セットのサブセットでの⽐較. • GT bounding box と single person CPMを使⽤すると, CPMを⽤いたtop-downアプロー チのupper-bond(62.7%)に到達できる. • SSD(Single shot multibox detecter)利⽤すると, パフォーマンスは10%低下する. • 本⼿法のボトムアップ⽅式では, 58.4%のAPを達成. • 本⼿法で最スケーリングされた各領域に, ⼀⼈の⼈物のCPMを適⽤することで, 2.6%のAP 改善される. (両⼿法でprecisionとrecallの改善に繋がるもののみアップデート) – → より⼤きなスケールでのsearchが, ボトムアップ⼿法のパフォーマンスを向上させることが期待で きる. 26
  • 27. Results > Runtime Analysis • Top-downアプローチと違い, Bottom-upアプローチでは, Runtimeが⼈の ⼈数に⽐例してほとんど変わらないことわかる. – CNNの処理が⼈数に対してO(1)で, multi-person parsingはO(n2)だがそもそも計算 オーダーが⼩さいので, 合計したBottom-upアプローチは, ⼈数に対してほとんど変化 しないRuntimeを持つ. 27
  • 28. Discussion • 画像内の⼈物理解において, 複数⼈物の2次元姿勢⼤事. • 今回の⼯夫 – 1. 部位の位置と, ⽅向の両⽅を符号化する表現 – 2. 部位検出と関係性を共同で学ぶアーキテクチャ – 3. greedyアルゴリズムにより⼈の数が増えても計算量抑え, 精度⼗分. • 代表的な失敗事例 28
  • 29. 実装 • C++:https://github.com/CMU-Perceptual-Computing-Lab/openpose • Caffe:https://github.com/ZheC/Realtime_Multi- Person_Pose_Estimation • PyTorch:https://github.com/tensorboy/pytorch_Realtime_Multi- Person_Pose_Estimation (train未実装) 29