論文メモ: Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks

今回はCVPR'18で提案されたWing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks1 (arXiv) という論文を紹介します。

ポイント

  • 顔ランドマーク検出の損失関数として新たにWing Lossを定義
  • 正面向き以外の画像をオーバサンプリングするPose-based data balancing、画像内の頭部の回転を修正するためのTwo-stage landmark localisationを組み合わせることで、AFLWと300-Wにて高精度をマーク
@inproceedings{feng2018wing,
  title={Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks},
  author={Feng, Zhen-Hua and Kittler, Josef and Awais, Muhammad and Huber, Patrik and Wu, Xiao-Jun},
  booktitle={Computer Vision and Pattern Recognition (CVPR), 2018 IEEE Conference on},
  year={2018},
  pages ={2235-2245},
  organization={IEEE}
}

提案

Wing Loss

顔ランドマーク検出の分野では、損失関数にL2やsmooth L1が使われてきましたが、それぞれ問題があります。

  • L2は外れ値に対して敏感すぎる
  • L1およびsmooth L1でも大きく誤ったランドマークに引っ張られやすい (傾き1で一定のため)

そこで、小〜中程度の誤りを強調するWing Lossという新しい損失関数を提案。

  • wとεはハイパパラメータ
  • wは定数で、(-w, w) の範囲を表す
  • Cも定数で、 w - wlog(1+\frac{w}{\epsilon})

誤差が小〜中 (|x| < w) では定数Cまで素早く立ち上がり、大きい場合 (|x| > w) は一定のなだらかな傾きになります。全体で見るとΥ型で、これにより小〜中程度の誤差が外れ値と比較しても小さくなりすぎない誤差関数になってます。

AFLWを使って各損失関数とCED (Cumulative Error Distribution) 曲線で比較すると、他の損失関数よりも左側に位置しており、中程度に難しいランドマークに対して低いNMEをマークしてます。

  • 同時に一般的に使われているL2が最も悪く、外れ値の悪影響を証明されています

[1] Figure 4.抜粋

Pose-based data balancing

一般的に、画像内の姿勢 = 顔向きによって精度が異なります。概して横向き (profileやsemi-frontalと呼ばれます) の方が精度は悪くなります。
この論文では学習・評価にAFLWを用いているのですが、AFLWに正面向きの画像に偏っている点 (下図) に着目し、横向きの画像をオーバサンプリングすることで精度改善させています。

[1] Figure 5.抜粋

具体的には以下のアルゴリズムで学習データを使って、顔向きの判定・オーバサンプリングしています。1.〜4.で得られた分布が上の図になります。

  1. ランドマークの位置の平均値を計算することでベースとなる図形 (平均形状) を得る
  2. プロクラステス分析 (procrustes analysis) でランドマークを平均形状に位置合わせする (並進・回転・スケール変換)
  3. 位置合わせしたランドマークにPCA分析を適用して、元の図形をPCAで得られる1次元空間 (姿勢空間) へ投影して係数を得る
  4. 係数ごとにK個のビンに分割して、画像を分類する
  5. 少ないビンの画像を複製・オーグメンテーションする

プロクラステス分析はこちらの方の記事が参考になります。

gv.hateblo.jp

Two-stage landmark localisation

ランドマークが見切れる回転 (yawやpitch) 以外にも、ランドマークが画像内に全部入っていても顔の回転 (roll) によって精度は落ちます。

f:id:ohke:20200502205607p:plain
2 Fig 9.抜粋

これに対応するために、CNN-6とCNN-7という2段の畳み込みネットワークを使った位置推定 (Two-stage landmark localisation) を提案しています。

  1. 1段目のCNN-6で、64x64x3を入力として粗くランドマークを検出し、回転とBBoxを補正
  2. 2段目のCNN-7では、補正後の128x128x3を入力としてランドマークを検出

[1] Figure 1.抜粋

これによって単一の畳込みネットワークを使うよりも高い精度をマークしてます。

[1] Table 3.抜粋

実験

300Wデータセットを使い、各モデルとNMEで比較した実験結果が下表です。3つの提案の有効性証明する結果となってます。

[1] Table 4.抜粋

加えて、Wing Lossの一般性を確認するために、ネットワークをResNetに変えてNMEで評価した結果が下表です。WIng Lossが最も低くなっており、他のネットワークにも適用できる一般性を持っていることがわかります。

[1] Table 6.抜粋

まとめ

今回はWing Lossを提案した論文について紹介しました。


  1. Zhen-Hua Feng, Josef Kittler, Muhammad Awais, Patrik Huber, and Xiao-Jun Wu. Wing loss for robust facial landmark localisation with convolutional neural networks. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2018.

  2. Yue Wu and Qiang Ji. Facial Landmark Detection: A Literature Survey. International Journal of Computer Vision (IJCV), May 2018.