a l i t y A d a p t i v e M a r g i n f o r F a c e R e c o g n i t i o n M i n c h u l K i m , A n i l K . J a i n , X i a o m i n g L i u D e p a r t m e n t o f C o m p u t e r S c i e n c e a n d E n g i n e e r i n g , M i c h i g a n S t a t e U n i v e r s i t y
d i t i v e A n g u l a r M a r g i n L o s s f o r D e e p F a c e R e c o g n i t i o n 顔認証の損失関数でデファクトと言えるであろうArcFace (CVPR2019) 正解クラスの分類をcos類似度で角度mだけ難しくしてからsoftmax・cross entropyする このmをマージンと呼ぶ 7 クラスの代表ベクトル (がクラス数Cだけ並んだもの) =最後のFC層/Classifier クラスの代表ベクトル と画像xのcos類似度 (がクラス数Cだけ並んだもの) 正解クラス以外は いつも通り(マージン無)の意 Yu4uさんのQiita記事から引用 (本家ArcFaceの図より見やすい)
n i v e r s a l R e p r e s e n t a t i o n f o r F a c e R e c o g n i t i o n a n d Q u a l i t y A s s e s s m e n t - Qualityが低い=認識が難しいと仮定し、難しいサンプルを過学習しないようにしたい ⇒ マージンmを可変にして、Hardサンプルの分類が難しくなりすぎないように調整 - QualityがL2ノルムとして現れるよう、L2ノルムに基づきマージンが変化する損失を提案 ⇒ (結果的に)L2ノルムによるQualityの推定も可能に 8 𝑎𝑖 =L2ノルム ⇒ L2ノルムでマージンが変化 L2ノルム 赤点線 =クラス中心のベクトル Hard 中心となす角: 大 L2ノルム: 小 Easy 中心となす角: 小 L2ノルム: 大 (横軸)cosθ:クラス中心となす角 (縦軸): L2ノルム ArcFaceとの差分 𝑚(𝑎𝑖 ): L2ノルム小 ⇒ マージン小 ⇒ 損失小 𝑔(𝑎𝑖 ): L2ノルム小 ⇒ gの値(=損失)大 ⇒ gによる正則化でバランスを取ってる
U n r e c o g n i z a b l e F a c e s f o r I m p r o v i n g F a c e R e c o g n i t i o n ( E R S ) 本人ペアスコアが低い話も問題だが、他人ペア(False Pos)スコアが高い方がやばい問題 低品質な画像は特徴空間でクラスタ形成(=高い他人ペアスコアを量産)すると言及 前頁のデモで、こういう他人ペアがArcFaceで出てAdaFaceで出てないところが気になる (他人ペアスコアが減少して閾値が下がったことで高精度化したのか、 本人ペアスコアが増加して閾値を超えるケースが増えたことで高精度したのか、気になる) 20