- Convolutional Pose Machines
- https://arxiv.org/abs/1602.00134
姿勢認識の研究の流れを追うため、とりあえずガンガン読んでいく。
あとで綺麗にまとめたい。
関連研究
- Hierarchical models
- スケールの異なる部位間の関係を階層的な木構造で記述
- 前提の思想として、大きな部位は簡単に検知可能であり、その下の見つけにくい小さな部位を検知するのに役立つという考えに基づく
- sequential prediction
- implicitな空間モデルを学習
- convolutional architectures
- DeepPose
- 画像からconfidence mapを回帰
- 本研究では、空間的依存性をimplicitに学習させるには、上の研究と同じくCNNをcascade的に繋げて精度を高める際に、confidence mapを大きいreceptive fieldを持つCNNに入力させていく方式がよいことを示す
Pose Machines
Pose Machinesは幾つかStageを経て部位の特定精度を高めていく。
Stage1とそれ以降のStageで少しだけ処理が異なる。
このPose Machinesに関しては以前の論文の方を見たほうが良さそう。
Stage1
Stage1では、入力画像をもとに「各部位がどの位置にあるかの度合い」を示すconfidence map を出力する。
$$
g_{1}(x_{z}) \rightarrow {b_{1}^{p}(Y_{p} = z)}_{p \in {0 \cdots P}}
$$
各パーツ、各座標ごとにの値が一意に定まるイメージ。
このStage1で、画像中の局所的な特徴から部位を推定する。
ただしStage1だけの結果では弱いのでStage2以降で部位ごとのconfidence mapを統合してconfidence mapの精度を高めていく。
Stage2以降
Stage2以降では、
- 局所的な画像特徴量
- confidence map
をもとに、confidence mapを出力する。 $$ g_{t}(\boldsymbol{x}^{\prime}_{z}, \psi_{t}(z, \boldsymbol{b}_{t-1})) \rightarrow {b_{t}^{p}(Y_{p} = z)}_{p \in {0 \cdots P+1}} $$
その際、前のStageで出力されたconfidence mapから、 中間生成物としてcontext featuresを作る。 がからcontext featuresへの写像。 このの役割は、confidence mapにおける異なる部位の同じ座標の情報をエンコードすること。
実はこのPose Machinesの考え方は以前の論文に既に載っている。
本論文の新規な部分としては、とをCNNに置き換えたこと。
(以前はランダムフォレストだった)
勾配消失問題への対処
層が深くなると勾配消失問題が起きる。
その対応として、各Stageにおいて出力の誤差を計上し、その和を最小化するように学習する。
Stage間での誤差を最小化する提案手法の場合と、 (そうでない)最後のStageの誤差を最小化する場合で勾配のばらつきを調べたところ、 提案手法を使えば前の方の層でも勾配が消失していないことがわかった。
実験
- 3つのデータセットを使った
- MPII Human Pose Dataset
- LSP(Leeds Sports Pose) Dataset
- FLIC
その他
この論文の言うbeliefの意味が良くわからなかった。
DeepPoseやHeatmap regressorの方法だと、最初のステージでcropされた領域に部位が存在しない場合、絶対に成功しないが、本研究の手法の場合、cropしないのでこの問題は起きない。