cvpr2017勉強会 realtime multi-person 2d pose estimation using part affinity fields

19
Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields @51takahashi

Upload: koichi-takahashi

Post on 22-Jan-2018

1.609 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

@51takahashi

Page 2: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

• さのまる

• @51Takahashi

• 顔認証の研究開発やっています

• 今回の発表は所属組織と関係ありません

• Disentangled Representation Learning GAN for Pose-

Invariant Face Recognitionもこの前発表しました!

– https://www.slideshare.net/KoichiTakahashi/disentangled-

representation-learning-gan-for-poseinvariant-face-recognition

自己紹介 CVPR2017勉強会

2

Page 3: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

論文の概要 CVPR2017勉強会

3

• タイトル

– Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

– パーツ間の結合性を利用したリアルタイム複数人物姿勢推定

• どこの研究?

– Carnegie Mellon University(この大学...強い!)

• どんな研究?

– Kinect使わずにRGBカメラで複数人物の姿勢推定したい

– OpenPoseの中身

• どんな手法?

– Convolutional Pose Machine(CPM)の拡張

» CPMはパーツ位置だけ推定してたけど、パーツ間の結合性も推定する

» 人物検出器は使わず、もはやパーツ検出器という感じ

• どんな結果?

– MPIIとCOCO 2016 keypoints challengeでSOTA(2位は僅差でGoogle)

– この手法...早い!(Geforce GTX 1080で9fpsくらい)

Page 4: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

予備知識: やりたいこと CVPR2017勉強会

4

• RGB画像を用いた姿勢推定

– 画像中の人物の各パーツの位置を推定する問題

• 難しさ

– 人物検出がそもそも難しい(Faster R-CNNが基本)

– 人物検出した後、一人ずつ姿勢推定してたらリアルタイムなんて無理

» 10人いたら10倍遅くなってしまう

Page 5: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

CPM CVPR2017勉強会

5

左手

左肩

CNNS2

左手

左肩

CNNS1 +

CPM: Convolutional Pose Machine

Page 6: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

CPM CVPR2017勉強会

6

左手

左肩

CNNS2

左手

左肩

CNNS1 +

各パーツの信頼度マップ 各パーツの信頼度マップ

CPM: Convolutional Pose Machine

Page 7: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

CPM CVPR2017勉強会

7

左手

左肩

CNNS2

左手

左肩

CNNS1 +

CAT

各パーツの信頼度マップ 各パーツの信頼度マップ

CPM: Convolutional Pose Machine

Page 8: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

CPM+PAF CVPR2017勉強会

8

左手

左肩

CNNS2

左手

左肩

CNNS1

左手 左肩

左肩 首

CNNL2

右手 右肩

左肩 首

CNNL1

+

PAF: Part Affinity Fields

Page 9: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

CPM+PAF CVPR2017勉強会

9

左手

左肩

CNNS2

左手

左肩

CNNS1

左手 左肩

左肩 首

CNNL2

右手 右肩

左肩 首

CNNL1

+

パーツ間の結合性マップ パーツ間の結合性マップ

PAF: Part Affinity Fields

Page 10: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

ネットワーク構造 CVPR2017勉強会

10

conv 3x3:128

conv 3x3:128

conv 3x3:128

conv 1x1:512

conv 1x1:19

conv 3x3:128

conv 3x3:128

conv 3x3:128

conv 1x1:512

conv 1x1:38

conv 7x7:128

conv 7x7:128

conv 1x1:512

conv 1x1:19

conv 7x7:128

conv 7x7:128

conv 1x1:512

conv 1x1:38

+

+

VGG 前半分:128

conv 7x7:128

conv 7x7:128

conv 7x7:128

conv 7x7:128

conv 7x7:128 conv 7x7:128

conv 7x7:128 conv 7x7:128

conv 1x1:19

conv 1x1:38

stage1

stage2

stage6

conv 3x3:128

conv 3x3:128

conv 3x3:128

conv 1x1:512

conv 7x7:128

conv 7x7:128

conv 7x7:128

conv 7x7:128

conv 7x7:128

・入力部分はVGGの前半分 - 3回のmax-pool層 - 解像度は1/8になる

・青部分はパーツの信頼度マップ

- 18パーツ+背景の19枚

・赤部分はPAFのマップ

- 19本のパーツ間結合を定義 - xy方向あるので38枚

・その他の特徴

- 全体で6ステージ - 2層目からは7x7の畳み込み層 - 解像度のくびれがない

Page 11: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

Part Association CVPR2017勉強会

11

• どのパーツ間が結合してるの?

– パーツ間の方向とPAFの方向が一致していればよい

– 論文中で、これはNP困難な問題だ~とか言ってるけど…

Page 12: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

実験結果: COCO 2016 Keypoint Challenge

CVPR2017勉強会

12

Average Precision: 平均検出率

Page 13: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

実験結果: 計算時間 CVPR2017勉強会

13

・Geforce GTX-1080 GPUを使用 ・1920x1080画素の動画を654x368画素にリサイズしてテスト ・19人の動画で8.8fpsだった

Top-down: 人物検出+CPM Bottom-up: CPM+PAF

Page 14: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

論文のまとめ CVPR2017勉強会

14

• タイトル

– Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

– パーツ間の結合性を利用したリアルタイム複数人物ポーズ推定

• どこの研究?

– Carnegie Mellon University

• どんな研究?

– Kinect使わずにRGBカメラで複数人物のポーズ推定したい

– OpenPoseの中身

• どんな手法?

– Convolutional Pose Machineの拡張

» CPMはパーツ位置だけ推定してたけど、パーツ間の結合性も推定する

» 人物検出器は使わず、もはやパーツ検出器という感じ

• どんな結果?

– MPIIとCOCO 2016 keypoints challengeでSOTA

– リアルタイム動作を実現

Page 15: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

おまけ1:別の新しい手法 CVPR2017勉強会

15

• タイトル

– Mask R-CNN

• どこの研究?

– Facebook AI Research

– 筆頭著者はKaiming He氏

• どんな手法?

– Faster R-CNNにセグメンテ-ションのロスを追加して学習

– 各パーツを1画素のセグメンテーションと見做せば、姿勢推定も可能

• どんな結果?

– 特に何もしてないのにCPM+PAFよりいい結果が出てしまった

– 5fpsくらいで動作するらしい

Page 16: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

おまけ2:2位ってどれ? CVPR2017勉強会

16

• タイトル

– Towards Accurate Multi-person Pose Estimation in the Wild

• どこの研究?

– Google

• どんな手法?

– Faster-RCNNで人物検出して、ディープで姿勢推定

• どんな結果?

– MPIIとCOCO 2016 keypoints challengeで2位

» …だったけど、論文中ではCPM+PAFやMask R-CNNより高精度

» たぶん遅い

– 謝辞でエクセレントなFaster R-CNN実装論文の著者に感謝

Page 17: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

おまけ3:OpenPoseの指姿勢推定 CVPR2017勉強会

17

• タイトル

– Hand Keypoint Detection in Single Images using Multiview

Bootstrapping

• どんな手法?

– 中身はただのCPM

– 多視点映像を元に、失敗したアングルを検出・再学習を繰り返す

• どんな結果?

– 実環境に耐えうるリアルタイムの指姿勢推定を実現

– そのうちデータセットも公開するらしい

Page 18: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

おまけ4:OpenPoseのデモ CVPR2017勉強会

18

• Windows版のビルド済バイナリも公開

– portable OpenPose demo 1.0.1.

• 必要なもの

– VC2015のランタイム(x64)

– CUDA 8.0

– cuDNN 5.1

• 実行方法

– 例) bin¥OpenPoseDemo.exe –net_resolution “320x176”

» 入力画像の解像度を落とせばノートPC内蔵のGPUでも動く

» Geforce 940MXで~3fps

Page 19: CVPR2017勉強会 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

おつかれさまでした