論文
要旨
- 知識蒸留(Knowledge Distillation)によるHuman Pose Estimationの高速化の手法(Fast Pose Distillation)を提案した
- Fast Pose DistillationはFPDと略す
- 精度を保ったまま、推論時の計算量を大幅に削減することに成功した
提案手法
- 既存手法(Hourglass)のOriginalモデルをTeacherモデルとし学習を行い、Originalモデルからネットワークを軽くしたSmallモデルに対して、知識蒸留を行う
- Smallモデルは、HourglassのStage数を8から4に、1layerあたりのchannels数を256から128に、それぞれ半減されたもの(計算量は16%に削減される)
- Loss関数は、Originalモデルの出力(HeatMaps)とSmallモデルの出力のMSEをLoss関数とし、これに通常のLoss関数(Ground TruthとのMSE)を足したものとする
- 実験的に配合割合は0.5が良いとのこと、つまり2つのLoss関数を等しく作用させる
提案手法(FPD)の学習過程の全容図
- なぜ上手く行くのか(Ground Truthのみで学習した場合より良いのか)
- Pose Estimationのラベリングは難しくGround Truthに誤りが含まれる場合があり、Teacherモデルが修正する方向に働く(下図(A))
- 複雑なPoseの場合、TeacherモデルのようにHeapMapに曖昧さをもたせたほうが上手くいく(下図(B))
- Ground Truthにはない点がTeacherモデルで検出できるケースがある(下図(C))
知識蒸留の効果が分かるPose EstimationのExamples
- 図の(2)はGround TruthのHeatMapで、(3)がTeacherモデルのHeatMap、(4)がその差
結果
- MPII test datasetで既存手法と比較した結果、最新の研究に比べ、14.3% (9/63)の計算量で、96.4% (63.5/65.9)の精度を得ることができた
既存手法との比較結果
関連研究
- Stacked hourglass networks for human pose estimation, ECCV2016
- Teacherモデルとして用いているHourglassの論文
- Distilling the Knowledge in a Neural Network, NIPS2014
所感
- 基本的に精度とコストはトレードオフであるが、わずかな精度劣化で得られるコスト削減効果は大きいと思われる
- このわずかな精度劣化が具体的にどの程度影響あるかだが、ユースケースによっては採用する価値はありそうである
- なぜHourglassを選んだのだろうか、Simpleなアーキテクチャとあったが、Simple Baselineとかのほうが良い気がする
- ただ論文内でも触れられていたが、Hourglass以外にも応用が可能なので、他の手法ではもっと効果が高いものがあるかもしれない