Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Probabilistic face embeddings (ICCV 2019)

kuzma
November 09, 2022

Probabilistic face embeddings (ICCV 2019)

第55回 コンピュータビジョン勉強会@関東発表資料

kuzma

November 09, 2022
Tweet

More Decks by kuzma

Other Decks in Technology

Transcript

  1. P r o b a b i l i s

    t i c F a c e E m b e d d i n g s Yi c h u n S h i a n d A n l i K . J a i n M i c h i g a n S t a t e U n i v e r s i t y
  2. 紹 介 す る 論 文 の 問 題 設

    定 ( 1 / 2 ) 3 顔認証では、 ・本人同士の画像ペア: 類似度を高くして、FRR(False Reject Rate: 本人棄却率) を下げたい ・他人同士の画像ペア: 類似度を低くして、FAR(False accept rate: 他人受入率) を下げたい が、画質劣化が顕著な場合、本人ペア・他人ペアの両方でエラーが発生しやすい 本人ペア 本人なのに類似度が低い ≒ False Reject 他人なのに類似度が高い ≒ False Accept 他人ペア
  3. 紹 介 す る 論 文 の 問 題 設

    定 ( 2 / 2 ) 4 本人ペア(青線): 画質劣化してない画像(左端)と劣化した画像をマッチングした類似度 他人ペア(赤線): 画質劣化した画像同士をマッチングした類似度 一定以上の画質劣化があると、他人ペアの類似度が本人ペアの類似度を上回る ⇒ この「不鮮明画像に起因するジレンマ」を問題として扱う 類 似 度 (cos) 画質劣化度合 他人ペア 本人ペア
  4. 提 案 手 法 の ア イ デ ィ ア

    ( 1 / 2 ) 5 従来(deterministic): 画像xを潜在空間の1点zに射影 ← 不鮮明な画像を1点に定めるのは困難では?? ⇒ 提案(probabilistic): 潜在空間でガウス分布として射影(⇒ 不鮮明さを分散で扱う) = Probabilistic Face Embeddings(PFE)
  5. 提 案 手 法 の 効 果 6 「潜在空間でガウス分布として射影(⇒ 不鮮明さを分散で扱う)」と何が嬉しいの??

    A. 分散を考慮して類似度算出することで認識性能を改善 B. 品質値が低い(=分散が大きい)画像をreject(filter out)することで認識性能を改善 ※ 実用的な顔認証システムでは、不鮮明画像を認証対象外としてOKなケースもある Aについて RepresentationをOriginal(cos類似度)から PFE(提案)にすると性能が改善 Bについて 左: 品質値(High/Low)と不鮮明さは相関あり 右: 品質値に応じてrejectすると性能改善する
  6. 提 案 手 法 の ア イ デ ィ ア

    ( 2 / 2 ) 7 「潜在空間でガウス分布として射影(⇒ 不鮮明さを分散で扱う)」を定式化するとこうなる 𝑝 𝑧 𝑥𝑖 = 𝒩(𝑧; 𝜇𝑖 , 𝜎𝑖 2𝐼) 𝑧: 潜在空間のベクトル(𝐷次元) 𝑥𝑖 : 𝑖番目の入力画像 𝜇𝑖 : 𝑖番目の入力画像から推定された平均ベクトル(𝐷次元) ← 入力画像を普通にCNNとかに突っ込んだらOK(従来通り) 𝜎𝑖 : 𝑖番目の入力画像から推定された分散ベクトル(𝐷次元) ← 各特徴次元ごとのconfidence 次頁から、この定式化に基づいたマッチング方式 ・ 画像ペアの類似度(= mutual likelihood score(MLS))計算 ・ 複数顔画像の特徴集約 と、そもそも ・ 分散の推定 をどうしているかを説明
  7. M u t u a l L i k e

    l i h o o d S c o r e ( M L S ) 8 2つの画像が本人である尤度は、次のように書ける 𝑝(𝑧𝑖 = 𝑧𝑗 ) = න 𝑝 𝑧 𝑥𝑖 𝑝 𝑧 𝑥𝑗 𝛿 𝑧𝑖 − 𝑧𝑗 𝑑𝑧𝑖 𝑑𝑧𝑗 これをlog likelihoodにしたものを、類似度指標mutual likelihood score(MLS)として提案 𝑠 𝑥𝑖 , 𝑥𝑗 = log 𝑝(𝑧𝑖 = 𝑧𝑗 ) = − 1 2 ෍ 𝑙=1 𝐷 (𝜇 𝑖 (𝑙) − 𝜇 𝑗 (𝑙))2 𝜎 𝑖 2 𝑙 + 𝜎 𝑗 2 𝑙 + log 𝜎 𝑖 2 𝑙 + 𝜎 𝑗 2 𝑙 − 𝑐𝑜𝑛𝑠𝑡 𝑙: 各次元, 𝑐𝑜𝑛𝑠𝑡 = 𝐷 2 (log 2𝜋) MLSの特性: ・ 分散で特徴を重みづけ ⇒ 信頼できる次元に注目することで識別性能が上がる(はず) ・ 分散をペナルティとして利用 ⇒ 分散が大きい不鮮明画像同士の類似度が下がる ・ ペナルティがあるので、入力のどちらかでも不鮮明なら類似度が下がる ・ 両方が鮮明でかつ特徴が類似している時だけ、類似度が上がる ⇒ 不鮮明画像に起因するジレンマから脱却(したはず)
  8. 複 数 顔 画 像 の 特 徴 集 約

    9 (前提)複数画像を入力とするSet-based Face Recognitionでは、画像毎で特徴抽出して、 上手いこと集約(fuse, aggregate, pool, …)するやり方が一般的(だと思う) 個々の画像から得た分布をがっちゃんこして、より正確な1つの分布を得たい ⇒ いろいろ計算したら右の式が得られるよ!! (雑) Ƹ 𝜇𝑛 = ෍ 𝑖=1 𝑛 ො 𝜎𝑛 2 𝜎𝑖 2 𝜇𝑖 1 ො 𝜎𝑛 2 = ෍ 𝑖=1 𝑛 1 𝜎𝑖 2 1次元の場合はこの式 多次元なら各次元これで(多分) OK 「左式導くために全画像が条件付き独立を仮定したけど、 実際の動画とか仮定が崩壊してて冗長性あるから、 分散は各次元ごとで全画像のmin取るよ」 的なこと書いてあるので、実装見たほうが良いかも
  9. 分 散 の 推 定 ( u n c e

    r t a i n t y m o d u l e ) 10 NNを使って分散推定器(uncertainty module)を構築 𝒫: 本人画像のペアの集合 バッチサイズは256(=64クラスから4枚ずつ) ⇒ ペア数は384(= 4 𝐶2 ∗ 64) - 入力: CNN(とか)で得たベクトル ※ end-to-endでなくstage-wiseに学習 - 構成: FC x 2 (FC-BN-ReLU-FC-BN-exp) ⇒利用GPU: GTX 1080ti x 1 - 学習データ: CNN(とか)の学習データと共通 - 最適化:本人ペアのmutual likelihood scoreの最大化 ⇒ ℒ = 1 𝒫 σ(𝑖,𝑗)∈𝒫 −𝑠(𝑥𝑖 , 𝑥𝑗 )の最小化 CNN(とか) uncertainty module 画像𝑥𝑖 関数f(x) 特徴(平均)𝜇𝑖 分散𝜎𝑖 𝑠 𝑥𝑖 , 𝑥𝑗 = − 1 2 ෍ 𝑙=1 𝐷 (𝜇 𝑖 (𝑙) − 𝜇 𝑗 (𝑙))2 𝜎 𝑖 2 𝑙 + 𝜎 𝑗 2 𝑙 + log 𝜎 𝑖 2 𝑙 + 𝜎 𝑗 2 𝑙 − 𝑐𝑜𝑛𝑠𝑡 値小=分散”大” が最適 値小 = 分散”小” が最適 本人類似度なので ⇒ 相反する状態が最適なので最適化が成り立つ 論文に書いてないけど他人無視してOKな理由は多分これ
  10. ジ レ ン マ か ら の 脱 却 は

    で き た の か ? 11 他人ペアの類似度が本人ペアの類似度を大きく超えることはなくなった! ただ、本人ペアの類似度は他人ペア並みなので、本人ペアを改善した印象は薄い 類 似 度 (cos) 他人ペア 本人ペア 類 似 度 (MLS) 画質劣化度合
  11. P F E ( M L S / 特 徴

    集 約 ) の 有 効 性 検 証 ( 1 / 2 ) 12 普通にcos類似度(オリジナル)使うよりは、MLSが有効なケースが多い - 学習データ少、著者実装による比較: どの損失・評価データでもオリジナルから改善 - 学習データ大、SOTAとの比較: ArcFace以外に対してほぼ優位(Baselineで超えてるのが…) サチってるLFW,YTFと品質悪くないMF(MegaFace)が評価データだから(ry という言い訳めいた記載有 ※1. 提案手法はどちらの評価も64層のResNetを採用。※2. 学習データ(大)ではAM-Softmaxを採用。※3. ArcFaceは収束せず使えなかった。 学習データ少、著者実装による比較 学習データ大、SOTAとの比較
  12. P F E ( M L S / 特 徴

    集 約 ) の 有 効 性 検 証 ( 2 / 2 ) 13 不鮮明画像が多いIJB-A~S(多さは恐らくS>C>A) 、向き耐性評価するCFP-FPでだいたいTop(雑) - IJB-C: FARが低いところでぶっちぎり(に見えるが実はArcFaceには負けてる) - IJB-S: 検索性能ではMLSで基本性能低下も、スコアが重要になるFAR基準では〇 また、低品質同士のマッチングが起きるSurveillance同士の検索では〇 ※1. Surveillance-to-Single, Surveillance-to-Booking,は検索DBに正面向き高品質画像しか含まれていない ※2. IJB-Sはまだ公開されてないようで、ここの研究チームしか評価してない(C-FANも同じチーム) 向き耐性 射影による特徴変換 向き耐性 特徴集約 特徴集約 学習データ 特徴集約 損失関数(的なの) IJB-S 95.6% ArcFace >90.0%
  13. ( 関 連 ) A r c F a c

    e で ダ メ な ら A i r F a c e 14 ArcFace収束しないんですけど(怒)という方はチェックしても良いかも ICCV2019で初開催のLightweight Face Recognition Challenge(軽量顔認識コンペ)で、 2位になった(と論文に書いてある) 手法がAirFace:Lightweight and Efficient Model for Face Recognition 軽量モデルでArcFace収束しないからちょっと弄ってみたよという話(雑) ※ ロス切り替えながらFineTuning繰り返すとか泥臭いことも書いてて手法自体がどこまで使えるのか少し疑わしい気も… 本論文もAirFace使えてればArcFaceに負けずに済んだかも(適当) ArcFace AirFace
  14. D e c o d e r を 使 っ

    た 分 析 15 特徴を画像にdecodeするNWを学習し、PFEの分布からサンプリングした特徴をdecode - 鮮明(分散小)な上段の画像: ほぼ同じ顔が復元可能 - 不鮮明(分散大)な中段の画像: 上段に比べ復元した顔にばらつきあり - 非顔(分散特大)な下段の画像: めちゃばらつく。目のような特徴的な部分が識別不能 ⇒ 非顔を入力すると、モデルは顔の顕著な特徴を見いだせない(⇒だからエラーになる)
  15. 品 質 推 定 に 基 づ く リ ス

    ク コ ン ト ロ ー ル 16 顔検出器(MTCNN)のスコアとPFEのconfidence(全次元の分散の調和平均) を比較@IJB-A 品質値が高い(H)/低い(L)の画像を見比べてもあまりよくわからないが、 品質が低い順に評価データの〇%を評価からfilter outするとPFEの方がTARが高い ⇒ 顔認識モデルの性能を引き出すのに有効な品質値を推定できている ※ PFEも通常のcos類似度でスコアを算出しており、あくまでfilter out基準にPFEを利用している
  16. 所 感 17 ・リスクコントロール的な使い方が割りと使いやすそう 顔だけどさ…みたいな顔も最近の顔検出は検出してくれるので… ・分散の推定器について、他人ペアもケアすればもっと良くなる? (他人ペアケアすると、ペア数が爆発するのでやりたくはないだろうけど) 品質というラベル作りがしんどいものをラベルなしで推定しているのは賢い ・この大学は人力で品質ラベル作ってRank学習+Deep Learningで品質推定する論文も

    Automatic Face Image Quality Prediction(https://arxiv.org/abs/1706.09887) 出してるので、人間の感覚は認識性能の改善に寄与しにくいとか思ってるのかも ・MLSは類似度のレンジが決まっていないところに使いにくさを感じる あと、ペナルティだけを使った場合と特徴の重みづけだけを使った場合を 比較して欲しかった(ペナルティの効果が支配的な予感があるので) ・やっぱArcFaceつよい