SlideShare a Scribd company logo
Realtime Multi-Person 2D Pose Estimation
using Part Affinity Fields
東京⼤学⼤学院⼯学系研究科
技術経営戦略学専攻
松尾研究室
⼤野峻典
@ono_shunsuke
夏のトップカンファレンス論⽂読み会
⾃⼰紹介
⼤野峻典
• 東京⼤学松尾研究室, FiNC
– 画像認識(Object Detection), ⾃然⾔語処理(NLU系)
– deeplearning.jp 輪読会, 実装勉強会 @東⼤
• バックグラウンド
– もと:Web系エンジニア
– いま: 画像認識, ⾃然⾔語処理 (2017~)
• Twitter: @ono_shunsuke
2
姿勢分析 チャットボット
書誌情報
3
• 論⽂名:“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
• Pose Estimationタスクとは
• ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation)
– 論⽂の主張
– 従来⼿法の問題点
– 提案⼿法
– 定式化
– 実験結果
• おわりに
アジェンダ
5
• Pose Estimationタスクとは
• ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation)
– 論⽂の主張
– 従来⼿法の問題点
– 提案⼿法
– 定式化
– 実験結果
• おわりに
Pose Estimationタスクとは
• 複数⼈写っている2D画像中の, 各⼈の各⾝体部位の位置を検知する.
– こんな感じ
• 難しさ
– ⼈数、スケールが不定
– ⼈同⼠のインタラクション
– ⼈数に⽐例して計算量増加
6
“Realtime Multi-Person 2D Pose Estimation
using Part Affinity Fields"
「⾝体部位の関係性(part affinity)を活かした,
リアルタイムの2D姿勢推定」
7
アジェンダ
8
• Pose Estimationタスクとは
• ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation)
– 論⽂の主張
– 従来⼿法の問題点
– 提案⼿法
– 定式化
– 実験結果
• おわりに
論⽂の主張
• 画像中の⾝体部位の位置のみではなく, 部位間の関係性(繋がり)もエンコー
ドしよう.
• この⼿法によって, 「画像中の⼈を検知してから各⼈に対してそれぞれpose
estimationを実⾏するtop-downアプローチ」ではなく, 「⼀度に画像全体
の⽂脈から複数⼈に対してpose estimationを⾏うbottom-upアプローチ」
が可能になり, 推定の精度・速度を改善できる.
• + 提案⼿法で肝になっているのは,
– エンコーディングを学ぶCNNユニットのステージを繰り返すこと
– ⾝体部位の位置, 部位間の関係性のエンコーディングを共通で学習するアーキテクチャ
9
アジェンダ
10
• Pose Estimationタスクとは
• ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation)
– 論⽂の主張
– 従来⼿法の問題点
– 提案⼿法
– 定式化
– 実験結果
• おわりに
従来⼿法の問題点
• 従来のTop-down アプローチ:⼈の検知を⾏い, その後に各⼈に姿勢推定
– ❌ ①⼈の検知に失敗すると, 姿勢推定できない
– ❌ ②⼈数分, 姿勢推定実⾏するので, ⼈数に⽐例して計算量増加
• 従来のBottom-Up アプローチ:写真中の各部位を検知し, 繋ぎ合わせるこ
とで⼀度で, 全ての⼈の姿勢を推定
– ⭕ ①ʼ 検知, 推定と別のステップを踏まないので, 上記①に対して⽐較的ロバスト
– ⭕ ②ʼ 計算量抑えられうる
– ❌ 既存⼿法では, 部位間の繋ぎ合わせの精度低い/繋ぎ合わせ推定の計算量が⼤きい. 画
像全体のコンテキスト情報を⼗分に利⽤できていないため.
11
⼈検知 姿勢推定 x n⼈
部位検知
部位の
繋ぎ合わせ
アジェンダ
12
• Pose Estimationタスクとは
• ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation)
– 論⽂の主張
– 従来⼿法の問題点
– 提案⼿法
– 定式化
– 実験結果
• おわりに
提案⼿法: Part Affinity Fieldsの導⼊
• 従来のボトムアップ⼿法では, 検知した部位間の繋ぎ合わせが難しく, そこ
で精度落ちたり, 組み合わせ爆発による計算量増加などの問題があった.
– 部位間の中間点を取るなど位置情報を追加する⼿法は, 提案されていたが, 向き情報が
無く表現⼒に限界があった.
• ⇛ 位置情報, 向き情報を含んだ表現(Part Affinity Fields)を提案
– 各limb(部位の繋ぎ合わせ部分)を, 2Dベクトルでエンコードできるフィルタを学習
13
チャネルごとに各部位間の流れをエンコード(図は⼆⼈の左上腕の流れ)
提案⼿法: アーキテクチャ (1/4)
• (a) ⼊⼒画像
• (b) 各チャネルで各部位検知 (confidence map)
– 出⼒:各部位(ex. 右肩, 右肘, …)がありそうな度合(confidence)をpx位置ごとencode.
• (c) 部位の関連度のエンコード (affinity fields)
– 出⼒:各部位間(ex. 右上腕, 右太もも, …)の流れ(2d vector)をpx位置ごとにencode.
• (d) b, cを元に, 最も確からしい部位同⼠をつなぎ合わせる.
– Ex. どの右肘と, どの右肩をつなぐべきか
• (e) 結果
– 各部位に関するdの出⼒を合計して, 結果.
14
<⼊⼒から出⼒の流れ>
提案⼿法: アーキテクチャ (2/4)
• Branch1でconfidence mapの予測, Branch2でpart affinity fieldsの予測
• 同じBranch1, Branch2を持つユニットを繰り返す(Stage 1 ~ Stage 6)
• 各Stageにおける⼊⼒は, 1つ前のStageにおけるBranch1, Branch2, 元の
Stage1の⼊⼒Fをconcatenateしたもの. (= 部位検知と, 繋ぎ合わせエン
コードを共同で⾏っている)
• Stageごとに誤差計算.
15
c
特徴ベクタ
提案⼿法: アーキテクチャ (3/4)
• Stageを重ねる事で精度が上がる.
– 上は, confidence map. 右⼿⾸を検知するチャネル. Stageを重ねるごとに右⼿⾸の
confidenceが上がり, そうでない箇所のconfidenceが下がることがわかる.
– 下は, part affinity field. 右上腕の流れをencodeするチャネル. Stageを重ねるごとに
右上腕の確からしさが上がり, そうでない箇所が薄くなることがわかる.
16
右⼿⾸検知
右上腕検知
提案⼿法: アーキテクチャ (4/4)
• 検知された部位達(part confidence map)同⼠を, 繋がりのencoding(part
affinity fields)的な確からしさを最⼤化するように, マッチングする.
• 繋ぎ合わせ問題は, 網羅的にやると, NP-Hard問題なため, 以下の2つの緩和
法を導⼊.
– (1) 各部位にとなり合うべき部位の事前情報を与える. (ex. 右肩とつながるのは, ⾸と
右肘のみ.)
– (2) 隣合う部位のみを⾒て, part affinity fields的な確からしさを最⼤化するようにマッ
チングする. (→ 実際これで精度出る(後述). Part affinity fieldsのglobal情報のencode
がうまくいっているよう.)
17
(1) (2)
アジェンダ
18
• Pose Estimationタスクとは
• ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation)
– 論⽂の主張
– 従来⼿法の問題点
– 提案⼿法
– 定式化
– 実験結果
• おわりに
定式化:誤差関数
• Stage tにおける誤差関数
• 全体の⽬的関数:全ステージ⾜し合わせ
19
正解値予測値
正解値予測値
各場所p pでのアノテーションが抜けているかで0,1のbinary mask各部位j
各繋がりc
Stage tにおける
Part confidence map S
Stage tにおける
Part affinity field L
定式化:Part Confidence Mapの正解値
• Part Confidence Mapの正解値 S* を, 部位位置がアノテーションされた2D
画像から作成.
• アノテーションされた点をピークに持つ分布で表現する.
• 1つのチャネルが全ての⼈の1つの部位を担当して予測するので, それに形式
をあわせるため, 全ての⼈に関してmapを合体. Max オペレータを使⽤し,
ピークを明確に保つ.
• Test時は, non-maxmum suppressionにより, 各部位の予測位置を得る.
– (補⾜)Non-maximum suppression:閾値以上の割合で分布がかぶっている場合、 最も
⾼いconfidence を持つ分布を残す. 20
⼈k部位j
アノテーションされた座標点 x
ピークの広がり具合を調整する項 σ
定式化:Part Affinity Fieldsの正解値
• Part Confidence Mapの正解値 L* を, 部位位置がアノテーションされた2D
画像から作成.
• 2部位の間, かつ, ⼀定の幅σのキョリにある点pが, 2部位間の単位ベクトル
vを持つようにする. それ以外の点は全てゼロベクトルに.
• 前ページ同様, 予測される形に合わせて, 全ての⼈に関してfieldsを合体して,
limbごとのfieldを作成. Averageオペレータを使⽤.
21
2部位の線分からのキョリがしきい値σ以下か2部位の線分上か
nc(p): 場所pで, k⼈の中でzeroじゃないベクトルの数. (limbが被る場合のみ平均取る)
定式化:部位マッチング
• 検知された部位間のマッチングを考える.
• 部位間の繋がりの確からしさを, Part Affinity Fieldsを⽤いて測る. 検出さ
れた部位同⼠を結ぶ線分上で線積分する.
• 各部位cを最⼤化するようなZc(各部位の繋ぎ合わせ⽅). 各limb typeに対し
て, 独⽴にE最⼤化するようなつなぎあわせを選ぶ.
22
部位間の線分上の点p(u) 部位間の単位ベクトルかけることで,
部位間の⽅向に沿って値評価
アジェンダ
23
• Pose Estimationタスクとは
• ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation)
– 論⽂の主張
– 従来⼿法の問題点
– 提案⼿法
– 定式化
– 実験結果
• おわりに
実験結果
• 複数⼈pose estimationの2つのベンチマーク
– (1) MPII human multi-person dataset (25k images, 40k ppl, 410 human
activities)
– (2) the COCO 2016 keypoints challenge dataset(100k person, 1 million
keypoints)
24
実験結果: MPII Multi-Person Dataset
• 精度(mAP): 今回の⼿法で従来のSotAを8.5%上回る
– Scale search無くとも既存⼿法より良い. MAPIIデータ全体では, 13%良くなった. さ
らにscale searchで良くなる.
– → 既存⼿法に⽐べてPAFsが部位間の関係性を表現するのに有効なことがわかる.
• 速度(inference time): 6桁早くなった.
• ※ 閾値はPCKhで, mean Average Precision(mAP)を指標に⽐較.
25
実験結果: MPII Multi-Person Dataset
• PAF利⽤は, 中間点表⽰(-,-)利⽤した結果より優れてる.
• マスクによりTrue Positiveのロス防ぐと, 2.3%精度上がる.
• 部位DetectionのGround Truth(GT)を⽤いて, PAFsのみ予測⾏うと, mAP
88.3%.
• 部位ConnectionのGTを⽤いて, Detectだけ⾏うケースでは, mAP 81.6%.
– → PAFによるconnection判定と, ほぼ精度が変わらない. (79.4% vs 81.6%) . PAFが,
⾮常に⾼い精度で検出できること⽰している.
26
実験結果: COCO Keypoints Challenge
• → ⽐較的⼩さいスケールの⼈(APM)のみ, top-downアプローチの⼿法に精
度負けてる.
– 理由: 本⼿法では, 他よりはるかに⼤きいスケールで, 画像内の全ての⼈々を⼀⻫に扱わ
ないといけない. ⇔ top-downアプローチでは, ⼈を検知してその⼈ごとに切り取って
拡⼤して扱えるので, ⼩さいスケールによる影響が⽐較的⼩さくなるのでは.
27
実験結果: COCO Keypoints Challenge
• ① GT bounding Box + Convolutional Pose Machine(CPM)
• ② GTの代わりにSSD利⽤すると↑より, パフォーマンスは10%低下する.
• ③ 本⼿法のボトムアップ⽅式では, 58.4%のAPを達成.
• ④ 本⼿法で最スケーリングされた各領域に, ⼀⼈⼀⼈にCPMを適⽤するこ
とで, 2.6%のAP改善される.
– → より⼤きなスケールでのsearchが, ボトムアップ⼿法のパフォーマンスを向上させる
ことが期待できる.
28
①
②
③
④
実験結果: ⼈数による速度変化
• Top-downアプローチと違い, Bottom-upアプローチでは, Runtimeが⼈の
⼈数に⽐例してほとんど変わらないことわかる.
29
アジェンダ
30
• Pose Estimationタスクとは
• ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation)
– 論⽂の主張
– 従来⼿法の問題点
– 提案⼿法
– 定式化
– 実験結果
• おわりに
おわりに
• 画像内の⼈物理解において, 複数⼈物の2次元姿勢⼤事.
• 今回の⼯夫
– 1. 部位の位置と, ⽅向の両⽅を符号化する表現.
– 2. 部位検出と関係性を共同で学ぶアーキテクチャ.
– 3. greedyアルゴリズムにより⼈の数が増えてもマッチング計算量抑え, 精度⼗分.
• 代表的な失敗事例
31
実装
• 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未実装)
32
実験結果: MPII Multi-Person Dataset
• 異なるスケルトン構造の⽐較結果
– 最⼩限のedgeで貪欲アルゴリズムによってとかれたものが精度, 速度ともに最⾼.
– (6d)のグラフが精度最も良くなっている.トレーニングの収束がはるかに容易になるた
めと考えられる.(13 edges vs 91 edges)
33
Results > Results on the MPII Multi-Person Dataset
• 補⾜
– mean Average Precision(mAP)
• Precision:システムが正例と判定したもののうち、実際に正例だったものの割合. (正確さ)
– 部位判定したもののうち、正しかったものの割合
• Recall:データセットの正例全体のうち、システムが正例と判定したものの割合(カバー率)
– データセットでアノテートされている部位のうち、正しく検知されたものの割合
• Average Precision(AP: 平均適合率):PrecisionをRecallについて平均とったもの.
– 以下の式で近似しているもの多い. (I: 正例なら1, 負例なら0の関数)
34引⽤:http://sucrose.hatenablog.com/entry/2017/02/26/224559
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%の⻑さを閾値として定義
35
補⾜: IoU
• 引⽤: http://www.pyimagesearch.com/2016/11/07/intersection-
over-union-iou-for-object-detection/
36

More Related Content

PDF
SSII2019企画: 点群深層学習の研究動向
PDF
三次元点群を取り扱うニューラルネットワークのサーベイ
PDF
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
PDF
Point net
PDF
画像生成・生成モデル メタサーベイ
PDF
研究効率化Tips Ver.2
PDF
深層学習によるHuman Pose Estimationの基礎
PPTX
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
SSII2019企画: 点群深層学習の研究動向
三次元点群を取り扱うニューラルネットワークのサーベイ
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
Point net
画像生成・生成モデル メタサーベイ
研究効率化Tips Ver.2
深層学習によるHuman Pose Estimationの基礎
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料

What's hot (20)

PPTX
【DL輪読会】Scaling Laws for Neural Language Models
PDF
[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions
PPTX
[DL輪読会]Pay Attention to MLPs (gMLP)
PDF
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
PPTX
物体検出の歴史(R-CNNからSSD・YOLOまで)
PDF
Vision and Language(メタサーベイ )
PPTX
20160724_cv_sfm_revisited
PDF
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
PDF
【メタサーベイ】数式ドリブン教師あり学習
PDF
生成モデルの Deep Learning
PDF
【メタサーベイ】Vision and Language のトップ研究室/研究者
PDF
深層生成モデルと世界モデル(2020/11/20版)
PDF
画像認識の初歩、SIFT,SURF特徴量
PPTX
[DL輪読会]When Does Label Smoothing Help?
PDF
【メタサーベイ】Neural Fields
PPTX
【DL輪読会】AuthenticAuthentic Volumetric Avatars from a Phone Scan
PDF
動画認識サーベイv1(メタサーベイ )
PDF
ELBO型VAEのダメなところ
PDF
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
【DL輪読会】Scaling Laws for Neural Language Models
[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions
[DL輪読会]Pay Attention to MLPs (gMLP)
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
物体検出の歴史(R-CNNからSSD・YOLOまで)
Vision and Language(メタサーベイ )
20160724_cv_sfm_revisited
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
【メタサーベイ】数式ドリブン教師あり学習
生成モデルの Deep Learning
【メタサーベイ】Vision and Language のトップ研究室/研究者
深層生成モデルと世界モデル(2020/11/20版)
画像認識の初歩、SIFT,SURF特徴量
[DL輪読会]When Does Label Smoothing Help?
【メタサーベイ】Neural Fields
【DL輪読会】AuthenticAuthentic Volumetric Avatars from a Phone Scan
動画認識サーベイv1(メタサーベイ )
ELBO型VAEのダメなところ
【DL輪読会】ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
Ad

Similar to 夏のトップカンファレンス論文読み会 / Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields (20)

PDF
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
PDF
CVPR2011 Festival PDF
PDF
CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
PPTX
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
PPTX
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
PDF
20201010 personreid
PPTX
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
PDF
CVPR 2019 report (30 papers)
PDF
【2015.05】cvpaper.challenge@CVPR2015
PPTX
CVPR2018 参加報告(速報版)初日
PDF
【DL輪読会】Monocular real time volumetric performance capture
PPTX
Eccv2018 report day2
PDF
【2015.07】(1/2)cvpaper.challenge@CVPR2015
PDF
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
PPTX
Crowd Counting & Detection論文紹介
PDF
ArtTrack: Articulated Multi-Person Tracking in the Wild : CV勉強会関東
PDF
PFI成果発表会2014発表資料 Where Do You Look?
PPTX
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
PPTX
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
PPTX
Cvpr2018 参加報告(速報版)3日目
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
CVPR2011 Festival PDF
CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
20201010 personreid
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
CVPR 2019 report (30 papers)
【2015.05】cvpaper.challenge@CVPR2015
CVPR2018 参加報告(速報版)初日
【DL輪読会】Monocular real time volumetric performance capture
Eccv2018 report day2
【2015.07】(1/2)cvpaper.challenge@CVPR2015
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
Crowd Counting & Detection論文紹介
ArtTrack: Articulated Multi-Person Tracking in the Wild : CV勉強会関東
PFI成果発表会2014発表資料 Where Do You Look?
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
Cvpr2018 参加報告(速報版)3日目
Ad

夏のトップカンファレンス論文読み会 / Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

  • 1. Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields 東京⼤学⼤学院⼯学系研究科 技術経営戦略学専攻 松尾研究室 ⼤野峻典 @ono_shunsuke 夏のトップカンファレンス論⽂読み会
  • 2. ⾃⼰紹介 ⼤野峻典 • 東京⼤学松尾研究室, FiNC – 画像認識(Object Detection), ⾃然⾔語処理(NLU系) – deeplearning.jp 輪読会, 実装勉強会 @東⼤ • バックグラウンド – もと:Web系エンジニア – いま: 画像認識, ⾃然⾔語処理 (2017~) • Twitter: @ono_shunsuke 2 姿勢分析 チャットボット
  • 3. 書誌情報 3 • 論⽂名:“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. アジェンダ 4 • Pose Estimationタスクとは • ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation) – 論⽂の主張 – 従来⼿法の問題点 – 提案⼿法 – 定式化 – 実験結果 • おわりに
  • 5. アジェンダ 5 • Pose Estimationタスクとは • ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation) – 論⽂の主張 – 従来⼿法の問題点 – 提案⼿法 – 定式化 – 実験結果 • おわりに
  • 6. Pose Estimationタスクとは • 複数⼈写っている2D画像中の, 各⼈の各⾝体部位の位置を検知する. – こんな感じ • 難しさ – ⼈数、スケールが不定 – ⼈同⼠のインタラクション – ⼈数に⽐例して計算量増加 6
  • 7. “Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields" 「⾝体部位の関係性(part affinity)を活かした, リアルタイムの2D姿勢推定」 7
  • 8. アジェンダ 8 • Pose Estimationタスクとは • ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation) – 論⽂の主張 – 従来⼿法の問題点 – 提案⼿法 – 定式化 – 実験結果 • おわりに
  • 9. 論⽂の主張 • 画像中の⾝体部位の位置のみではなく, 部位間の関係性(繋がり)もエンコー ドしよう. • この⼿法によって, 「画像中の⼈を検知してから各⼈に対してそれぞれpose estimationを実⾏するtop-downアプローチ」ではなく, 「⼀度に画像全体 の⽂脈から複数⼈に対してpose estimationを⾏うbottom-upアプローチ」 が可能になり, 推定の精度・速度を改善できる. • + 提案⼿法で肝になっているのは, – エンコーディングを学ぶCNNユニットのステージを繰り返すこと – ⾝体部位の位置, 部位間の関係性のエンコーディングを共通で学習するアーキテクチャ 9
  • 10. アジェンダ 10 • Pose Estimationタスクとは • ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation) – 論⽂の主張 – 従来⼿法の問題点 – 提案⼿法 – 定式化 – 実験結果 • おわりに
  • 11. 従来⼿法の問題点 • 従来のTop-down アプローチ:⼈の検知を⾏い, その後に各⼈に姿勢推定 – ❌ ①⼈の検知に失敗すると, 姿勢推定できない – ❌ ②⼈数分, 姿勢推定実⾏するので, ⼈数に⽐例して計算量増加 • 従来のBottom-Up アプローチ:写真中の各部位を検知し, 繋ぎ合わせるこ とで⼀度で, 全ての⼈の姿勢を推定 – ⭕ ①ʼ 検知, 推定と別のステップを踏まないので, 上記①に対して⽐較的ロバスト – ⭕ ②ʼ 計算量抑えられうる – ❌ 既存⼿法では, 部位間の繋ぎ合わせの精度低い/繋ぎ合わせ推定の計算量が⼤きい. 画 像全体のコンテキスト情報を⼗分に利⽤できていないため. 11 ⼈検知 姿勢推定 x n⼈ 部位検知 部位の 繋ぎ合わせ
  • 12. アジェンダ 12 • Pose Estimationタスクとは • ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation) – 論⽂の主張 – 従来⼿法の問題点 – 提案⼿法 – 定式化 – 実験結果 • おわりに
  • 13. 提案⼿法: Part Affinity Fieldsの導⼊ • 従来のボトムアップ⼿法では, 検知した部位間の繋ぎ合わせが難しく, そこ で精度落ちたり, 組み合わせ爆発による計算量増加などの問題があった. – 部位間の中間点を取るなど位置情報を追加する⼿法は, 提案されていたが, 向き情報が 無く表現⼒に限界があった. • ⇛ 位置情報, 向き情報を含んだ表現(Part Affinity Fields)を提案 – 各limb(部位の繋ぎ合わせ部分)を, 2Dベクトルでエンコードできるフィルタを学習 13 チャネルごとに各部位間の流れをエンコード(図は⼆⼈の左上腕の流れ)
  • 14. 提案⼿法: アーキテクチャ (1/4) • (a) ⼊⼒画像 • (b) 各チャネルで各部位検知 (confidence map) – 出⼒:各部位(ex. 右肩, 右肘, …)がありそうな度合(confidence)をpx位置ごとencode. • (c) 部位の関連度のエンコード (affinity fields) – 出⼒:各部位間(ex. 右上腕, 右太もも, …)の流れ(2d vector)をpx位置ごとにencode. • (d) b, cを元に, 最も確からしい部位同⼠をつなぎ合わせる. – Ex. どの右肘と, どの右肩をつなぐべきか • (e) 結果 – 各部位に関するdの出⼒を合計して, 結果. 14 <⼊⼒から出⼒の流れ>
  • 15. 提案⼿法: アーキテクチャ (2/4) • Branch1でconfidence mapの予測, Branch2でpart affinity fieldsの予測 • 同じBranch1, Branch2を持つユニットを繰り返す(Stage 1 ~ Stage 6) • 各Stageにおける⼊⼒は, 1つ前のStageにおけるBranch1, Branch2, 元の Stage1の⼊⼒Fをconcatenateしたもの. (= 部位検知と, 繋ぎ合わせエン コードを共同で⾏っている) • Stageごとに誤差計算. 15 c 特徴ベクタ
  • 16. 提案⼿法: アーキテクチャ (3/4) • Stageを重ねる事で精度が上がる. – 上は, confidence map. 右⼿⾸を検知するチャネル. Stageを重ねるごとに右⼿⾸の confidenceが上がり, そうでない箇所のconfidenceが下がることがわかる. – 下は, part affinity field. 右上腕の流れをencodeするチャネル. Stageを重ねるごとに 右上腕の確からしさが上がり, そうでない箇所が薄くなることがわかる. 16 右⼿⾸検知 右上腕検知
  • 17. 提案⼿法: アーキテクチャ (4/4) • 検知された部位達(part confidence map)同⼠を, 繋がりのencoding(part affinity fields)的な確からしさを最⼤化するように, マッチングする. • 繋ぎ合わせ問題は, 網羅的にやると, NP-Hard問題なため, 以下の2つの緩和 法を導⼊. – (1) 各部位にとなり合うべき部位の事前情報を与える. (ex. 右肩とつながるのは, ⾸と 右肘のみ.) – (2) 隣合う部位のみを⾒て, part affinity fields的な確からしさを最⼤化するようにマッ チングする. (→ 実際これで精度出る(後述). Part affinity fieldsのglobal情報のencode がうまくいっているよう.) 17 (1) (2)
  • 18. アジェンダ 18 • Pose Estimationタスクとは • ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation) – 論⽂の主張 – 従来⼿法の問題点 – 提案⼿法 – 定式化 – 実験結果 • おわりに
  • 19. 定式化:誤差関数 • Stage tにおける誤差関数 • 全体の⽬的関数:全ステージ⾜し合わせ 19 正解値予測値 正解値予測値 各場所p pでのアノテーションが抜けているかで0,1のbinary mask各部位j 各繋がりc Stage tにおける Part confidence map S Stage tにおける Part affinity field L
  • 20. 定式化:Part Confidence Mapの正解値 • Part Confidence Mapの正解値 S* を, 部位位置がアノテーションされた2D 画像から作成. • アノテーションされた点をピークに持つ分布で表現する. • 1つのチャネルが全ての⼈の1つの部位を担当して予測するので, それに形式 をあわせるため, 全ての⼈に関してmapを合体. Max オペレータを使⽤し, ピークを明確に保つ. • Test時は, non-maxmum suppressionにより, 各部位の予測位置を得る. – (補⾜)Non-maximum suppression:閾値以上の割合で分布がかぶっている場合、 最も ⾼いconfidence を持つ分布を残す. 20 ⼈k部位j アノテーションされた座標点 x ピークの広がり具合を調整する項 σ
  • 21. 定式化:Part Affinity Fieldsの正解値 • Part Confidence Mapの正解値 L* を, 部位位置がアノテーションされた2D 画像から作成. • 2部位の間, かつ, ⼀定の幅σのキョリにある点pが, 2部位間の単位ベクトル vを持つようにする. それ以外の点は全てゼロベクトルに. • 前ページ同様, 予測される形に合わせて, 全ての⼈に関してfieldsを合体して, limbごとのfieldを作成. Averageオペレータを使⽤. 21 2部位の線分からのキョリがしきい値σ以下か2部位の線分上か nc(p): 場所pで, k⼈の中でzeroじゃないベクトルの数. (limbが被る場合のみ平均取る)
  • 22. 定式化:部位マッチング • 検知された部位間のマッチングを考える. • 部位間の繋がりの確からしさを, Part Affinity Fieldsを⽤いて測る. 検出さ れた部位同⼠を結ぶ線分上で線積分する. • 各部位cを最⼤化するようなZc(各部位の繋ぎ合わせ⽅). 各limb typeに対し て, 独⽴にE最⼤化するようなつなぎあわせを選ぶ. 22 部位間の線分上の点p(u) 部位間の単位ベクトルかけることで, 部位間の⽅向に沿って値評価
  • 23. アジェンダ 23 • Pose Estimationタスクとは • ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation) – 論⽂の主張 – 従来⼿法の問題点 – 提案⼿法 – 定式化 – 実験結果 • おわりに
  • 24. 実験結果 • 複数⼈pose estimationの2つのベンチマーク – (1) MPII human multi-person dataset (25k images, 40k ppl, 410 human activities) – (2) the COCO 2016 keypoints challenge dataset(100k person, 1 million keypoints) 24
  • 25. 実験結果: MPII Multi-Person Dataset • 精度(mAP): 今回の⼿法で従来のSotAを8.5%上回る – Scale search無くとも既存⼿法より良い. MAPIIデータ全体では, 13%良くなった. さ らにscale searchで良くなる. – → 既存⼿法に⽐べてPAFsが部位間の関係性を表現するのに有効なことがわかる. • 速度(inference time): 6桁早くなった. • ※ 閾値はPCKhで, mean Average Precision(mAP)を指標に⽐較. 25
  • 26. 実験結果: MPII Multi-Person Dataset • PAF利⽤は, 中間点表⽰(-,-)利⽤した結果より優れてる. • マスクによりTrue Positiveのロス防ぐと, 2.3%精度上がる. • 部位DetectionのGround Truth(GT)を⽤いて, PAFsのみ予測⾏うと, mAP 88.3%. • 部位ConnectionのGTを⽤いて, Detectだけ⾏うケースでは, mAP 81.6%. – → PAFによるconnection判定と, ほぼ精度が変わらない. (79.4% vs 81.6%) . PAFが, ⾮常に⾼い精度で検出できること⽰している. 26
  • 27. 実験結果: COCO Keypoints Challenge • → ⽐較的⼩さいスケールの⼈(APM)のみ, top-downアプローチの⼿法に精 度負けてる. – 理由: 本⼿法では, 他よりはるかに⼤きいスケールで, 画像内の全ての⼈々を⼀⻫に扱わ ないといけない. ⇔ top-downアプローチでは, ⼈を検知してその⼈ごとに切り取って 拡⼤して扱えるので, ⼩さいスケールによる影響が⽐較的⼩さくなるのでは. 27
  • 28. 実験結果: COCO Keypoints Challenge • ① GT bounding Box + Convolutional Pose Machine(CPM) • ② GTの代わりにSSD利⽤すると↑より, パフォーマンスは10%低下する. • ③ 本⼿法のボトムアップ⽅式では, 58.4%のAPを達成. • ④ 本⼿法で最スケーリングされた各領域に, ⼀⼈⼀⼈にCPMを適⽤するこ とで, 2.6%のAP改善される. – → より⼤きなスケールでのsearchが, ボトムアップ⼿法のパフォーマンスを向上させる ことが期待できる. 28 ① ② ③ ④
  • 29. 実験結果: ⼈数による速度変化 • Top-downアプローチと違い, Bottom-upアプローチでは, Runtimeが⼈の ⼈数に⽐例してほとんど変わらないことわかる. 29
  • 30. アジェンダ 30 • Pose Estimationタスクとは • ⾝体部位の関係性(part affinity)を活かした, 姿勢推定(pose estimation) – 論⽂の主張 – 従来⼿法の問題点 – 提案⼿法 – 定式化 – 実験結果 • おわりに
  • 31. おわりに • 画像内の⼈物理解において, 複数⼈物の2次元姿勢⼤事. • 今回の⼯夫 – 1. 部位の位置と, ⽅向の両⽅を符号化する表現. – 2. 部位検出と関係性を共同で学ぶアーキテクチャ. – 3. greedyアルゴリズムにより⼈の数が増えてもマッチング計算量抑え, 精度⼗分. • 代表的な失敗事例 31
  • 32. 実装 • 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未実装) 32
  • 33. 実験結果: MPII Multi-Person Dataset • 異なるスケルトン構造の⽐較結果 – 最⼩限のedgeで貪欲アルゴリズムによってとかれたものが精度, 速度ともに最⾼. – (6d)のグラフが精度最も良くなっている.トレーニングの収束がはるかに容易になるた めと考えられる.(13 edges vs 91 edges) 33
  • 34. Results > Results on the MPII Multi-Person Dataset • 補⾜ – mean Average Precision(mAP) • Precision:システムが正例と判定したもののうち、実際に正例だったものの割合. (正確さ) – 部位判定したもののうち、正しかったものの割合 • Recall:データセットの正例全体のうち、システムが正例と判定したものの割合(カバー率) – データセットでアノテートされている部位のうち、正しく検知されたものの割合 • Average Precision(AP: 平均適合率):PrecisionをRecallについて平均とったもの. – 以下の式で近似しているもの多い. (I: 正例なら1, 負例なら0の関数) 34引⽤:http://sucrose.hatenablog.com/entry/2017/02/26/224559
  • 35. 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%の⻑さを閾値として定義 35
  • 36. 補⾜: IoU • 引⽤: http://www.pyimagesearch.com/2016/11/07/intersection- over-union-iou-for-object-detection/ 36