今回は顔ランドマーク推定に関係する論文を取り上げます。
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} }
ヒートマップ回帰
画像から顔ランドマークや姿勢 (頭部・関節など) といった特定部分の位置を推定するタスクでは、ヒートマップ回帰が主流となっています。ヒートマップ回帰では、部位座標 (x, y) をモードとするガウス分布でヒートマップを作り、そのヒートマップを推定します。
- 部位がk個あれば、k枚のヒートマップが出力となります
- ヒートマップ回帰以前は、部位座標を直接回帰する方法が採られてました
損失関数にMSEを用いた場合の問題点
ヒートマップ回帰では平均二乗誤差 (MSE) がロス関数として一般的に用いられています。ですが、MSEで学習すると前景画素の強度が低くぼやけたヒートマップになりやすい傾向があります。
- 小さな誤差に対して敏感ではないため、ガウス分布のモードを正確に推定できない
- 背景画素が大多数を占めるにも関わらず、前景画素と同じ重みを用いている
提案
この論文での主だった提案は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 = 0に近い場合、MSEと類似
- 誤差が十分小さい場合の影響度を下げる
Weighted loss mapで前景画素を強調
典型的な顔ランドマーク推定タスクでは前景画素の割合は1.2%程度と極めて小さいため、前景画素を強調する目的で重み付きの損失関数マップMを用意します。
AWingから得られた損失値に、WM + 1を掛け算することで最終的な損失値としています (式(5)抜粋) 。
- 実験ではハイパラW = 10として設定
実験
実験に用いたアーキテクチャは以下です。Stacked Hourglass 4 がベースとなってます。
COFW・300W・WFLW 5 のデータセットを用い、NME・FR (10%)・AUC(10%) で比較し、従来手法よりも高い精度をマークしてます。
考察: ハイパパラメータを変えてみる
ハイパパラメータ (θ, ε, ω) を変えてWFLWで実験したが、そこまで敏感でもないので、上の実験で用いた初期パラメータで十分そうという結論です。
- θは0.5
- εとωを変えてもそこまで大きな変動は無い
考察: モジュールの組み合わせを変えてみる
モジュールの組み合わせを変えてMEで比較してみた結果が以下。
- MSE: 5.39 に対して AW: 4.65 なので、Adaptive Wing Lossによって問題1.が改善した
- Weighted Loss Mapの導入によって0.35ポイント改善している (問題2.の緩和)
-
[1805.10483] Look at Boundary: A Boundary-Aware Face Alignment Algorithm↩
-
[1807.03247] An Intriguing Failing of Convolutional Neural Networks and the CoordConv Solution↩
-
https://arxiv.org/abs/1711.06753 (解説記事: 論文メモ: Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks - け日記 )↩
-
[1603.06937] Stacked Hourglass Networks for Human Pose Estimation↩
-
データセットの解説記事 顔ランドマークデータセットまとめ (AFLW, LFPW, COFW, 300-W, WFLW) - け日記↩