はじめに
CVPR2021より以下の論文
[1] Q. Meng, et. al. MagFace: A Universal Representation for Face Recognition and Quality Assessment. CVPR2021
のまとめ
github:
https://github.com/IrvingMeng/MagFace
既にこちらのような
https://qiita.com/miiuchu/items/bf970a6fe4ab01866511
まとめ記事が存在するので、自分用にlogicと結果のみ超ざっくりまとめ
概要
- 顔画像から個体認証する系のモデル
- ArcFaceに対して、dataのqualityが高いほどlossに加える重みを高くすることで精度を上げた
lossの改良点
ArcFaceのloss
MobileFaceNetの記事内
https://qiita.com/masataka46/items/e069384c2622f3b722f9
にまとめたので略
L = -\frac{1}{N} \sum^N_{i=1} \log \frac{e^{s \cos (\theta_{y_i} + m)}}{e^{s \cos (\theta_{y_i} + m)} + \sum_{j \neq y_i} e^s \cos \theta_j} \tag{1}
角度ベースで $m$ のマージンを加えている。
MagFaceのloss
まず a を特徴量の大きさとする。data i の特徴量 $f_i$ における大きさは
a_i = \| f_i \| \tag{2}
確信度の高いdataほど特徴量の絶対値が大きいと仮定し、マージン m を $a_i$ に比例的に大きくなるとする。
ArcFace のlossを以下のように修正する。
L = -\frac{1}{N} \sum^N_{i=1} \log \frac{e^{s \cos (\theta_{y_i} + m(a_i))}}{e^{s \cos (\theta_{y_i} + m(a_i))} + \sum_{j \neq y_i} e^s \cos \theta_j} + \lambda_g g(a_i) \tag{3}
そうすると、質の低いデータの影響力は下がるだろう。2項目は正則化項。
結果
以下は各データセットにおける(各列)各モデル(各行)のvarification accuracy。
ArcFaceに対して微妙に上がってる。