論文メモ: Adaptive Wing Loss for Robust Face Alignment via Heatmap Regression

今回は顔ランドマーク推定に関係する論文を取り上げます。

Adaptive Wing Loss for Robust Face Alignment via Heatmap Regression

Adaptive Wing Loss for Robust Face Alignment via Heatmap Regression (arXiv)では、ヒートマップ回帰型の顔ランドマーク推定モデルにおける新たな損失関数を提案しています。

@article{DBLP:journals/corr/abs-1904-07399,
  author    = {Xinyao Wang and
               Liefeng Bo and
               Fuxin Li},
  title     = {Adaptive Wing Loss for Robust Face Alignment via Heatmap Regression},
  journal   = {CoRR},
  volume    = {abs/1904.07399},
  year      = {2019},
  url       = {http://arxiv.org/abs/1904.07399},
  archivePrefix = {arXiv},
  eprint    = {1904.07399},
  timestamp = {Thu, 25 Apr 2019 13:55:01 +0200},
  biburl    = {https://dblp.org/rec/journals/corr/abs-1904-07399.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

github.com

ヒートマップ回帰

画像から顔ランドマークや姿勢 (頭部・関節など) といった特定部分の位置を推定するタスクでは、ヒートマップ回帰が主流となっています。ヒートマップ回帰では、部位座標 (x, y) をモードとするガウス分布でヒートマップを作り、そのヒートマップを推定します。

  • 部位がk個あれば、k枚のヒートマップが出力となります
  • ヒートマップ回帰以前は、部位座標を直接回帰する方法が採られてました

損失関数にMSEを用いた場合の問題点

ヒートマップ回帰では平均二乗誤差 (MSE) がロス関数として一般的に用いられています。ですが、MSEで学習すると前景画素の強度が低くぼやけたヒートマップになりやすい傾向があります。

  • 小さな誤差に対して敏感ではないため、ガウス分布のモードを正確に推定できない
  • 背景画素が大多数を占めるにも関わらず、前景画素と同じ重みを用いている

Figure 1, 2 抜粋

提案

この論文での主だった提案は2つです。さらに実験では、Boundary channel 1 やCoordConv 2 などの手法も取り入れています。

  • Adaptive Wing Loss
  • Weighted Loss Map

Adaptive Wing Loss

Adaptive Wing Lossは以下で定義されます。(式(2)抜粋)

  • ハイパパラメータはω、θ、ε、α
    • θが線形部分と非線形部分をスイッチするための閾値として働く
    • αは2よりもわずかに大きい値
  • AとCは関数を滑らかにするための定数

y (ground truth) の値によって振る舞いを変えている点がミソです。

  • y = 1に近い場合、Wing Loss 3 と類似
    • 誤差が小さい場合に勾配が大きくなる (強調される) -> ガウス分布の中心をより正確に近づける
    • Wing Lossと異なり、 |y - \hat{y}| = 0 付近でも滑らかなので学習も安定しやすい
  • y = 0に近い場合、MSEと類似
    • 誤差が十分小さい場合の影響度を下げる

Figure 4 抜粋

Weighted loss mapで前景画素を強調

典型的な顔ランドマーク推定タスクでは前景画素の割合は1.2%程度と極めて小さいため、前景画素を強調する目的で重み付きの損失関数マップMを用意します。

AWingから得られた損失値に、WM + 1を掛け算することで最終的な損失値としています (式(5)抜粋) 。

  • 実験ではハイパラW = 10として設定

実験

実験に用いたアーキテクチャは以下です。Stacked Hourglass 4 がベースとなってます。

f:id:ohke:20200505152332p:plain
Figure 3 抜粋

COFW・300W・WFLW 5 のデータセットを用い、NME・FR (10%)・AUC(10%) で比較し、従来手法よりも高い精度をマークしてます。

f:id:ohke:20200505115936p:plain

考察: ハイパパラメータを変えてみる

ハイパパラメータ (θ, ε, ω) を変えてWFLWで実験したが、そこまで敏感でもないので、上の実験で用いた初期パラメータで十分そうという結論です。

  • θは0.5
  • εとωを変えてもそこまで大きな変動は無い

考察: モジュールの組み合わせを変えてみる

モジュールの組み合わせを変えてMEで比較してみた結果が以下。

  • MSE: 5.39 に対して AW: 4.65 なので、Adaptive Wing Lossによって問題1.が改善した
  • Weighted Loss Mapの導入によって0.35ポイント改善している (問題2.の緩和)