Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

General Facial Representation Learning in a Vis...

kuzma
November 09, 2022

General Facial Representation Learning in a Visual-Linguistic Manner(CVPR'22)

社内の勉強会での発表資料です
CVPR '22のOral採択の論文、"General Facial Representation Learning in a Visual-Linguistic Manner"について要約しています

kuzma

November 09, 2022
Tweet

More Decks by kuzma

Other Decks in Technology

Transcript

  1. 2 © Panasonic Connect Co., Ltd. 2022 • CVPR 2022,

    Oral • arXiv, github, Oral動画(5分), CVPRのページ • 著者と所属: 実態はMSRA(インターン生とMSRAの人のEqual contribution) – Xiamen University(の人がMSRAのインターンに行った時の研究) • Yinglin Zheng, Ming Zeng – Microsoft Research Asia • Hao Yang, Ting Zhang, Jianmin Bao, Yangyu Huang, Dong Chen, Fang Wen – Microsoft Cloud+AI • Dongdong Chen , Lu Yuan, 関連リンク, 著者情報 参考文献: [1]
  2. 3 © Panasonic Connect Co., Ltd. 2022 流行りのVision and Language(V&L)の話を顔認識に持ち込んで検証

    (顔認識エリアであまり掘られてない⇒掘ってみた!) 具体的にやってることは↓で、手法より問題が新規という感じ – LAION ⇒ LAION-Faceを構築 – 標準の型(Image-Textの対照学習, Masked Image Modeling)を顔に適用 – 様々な視点で検証(私見: まさに、掘られてないから掘ってみたという感じ) • 既存のPre-trained(≒Foundation Model) と比較 • データ量の影響調査 • 複数のダウンストリームタスクで検証 (各タスクSOTAとも比較) • ↑の型の構成要素の検証 • (AI)倫理観点からの(簡単な)検証 論文の概要 参考文献: [1]
  3. 4 © Panasonic Connect Co., Ltd. 2022 LAION(-400M)[2] • 400M(=4億)枚の画像とテキストのペアのデータセット

    • クローリング⇒CLIP[3]でフィルタリング済(画像とテキストの距離が閾値以下なら捨てる) • CLIPでLAION内を検索するデモ[2-2]もある(↓の図はデモの結果サンプル) • オープンソース. 10TBとかなり大きい 参考文献: [2][3] 画像は[2-3]より引用 画像は[2-3]より引用 検索キーとして“blue cat”を入力 検索キーとして“cat with blue eyes”を入力 画像+テキストが検索結果
  4. 5 © Panasonic Connect Co., Ltd. 2022 • LAIONから顔が含まれるもの20Mペアを抽出 –

    SOTAな顔検出手法(Retina Face[4])で顔が検出された画像を対象 – (顔検出信頼度) > 0.9となった画像をランダムにサンプリング – 実際は50Mあるけど検討をはやめたくて20Mにした模様(公式repo.の記述から) • 1つの画像に複数顔があるケースは30%弱(=だいたい1つの顔しかない) LAION-Face 画像は[1-1]より引用 参考文献: [1][4]
  5. 6 © Panasonic Connect Co., Ltd. 2022 • 流行りの型(CLIP[3]とBEiT[5])で、32 V100

    GPUsを16 epochぶん回す • 画像エンコーダはViT(-B/16), テキストエンコーダもTransformer(CLIPと同じの) 流行りの型にLAION-Faceをぶっこむ 参考文献: [1][3][5] CLIPでやってること BEiTでやってること 画像エンコーダに対する損失 ※ 分母のjでテキストが変化 テキストエンコーダに対する損失 ※ 分母のjで画像が変化 画像は[1-1]より引用 同じの 画像エンコーダに対する損失 ①マスクした画像のベクトル表現が、 ② 元画像の量子化表現に、 近ければOK ①はマスクした画像を、 左側と同じエンコーダと おまけエンコーダ𝐸 に通して得る
  6. 7 © Panasonic Connect Co., Ltd. 2022 • pretrainedなViTの特徴を入力として、downstreamタスク(顔セグメンテーション、 顔パーツ検出、属性推定)向けheadを学習(⇒特徴表現の構造は同じで重みだけ違う)

    • 3つのタスクで全て提案手法のFaRLが最高精度 • 私見: コンポーネントの影響を検証したTable 3を見ると、属性推定以外ほぼ CLIP[3]に負けており、WITのデータが気になるところ (学習データだけが違いであろ う、Table 3のITC(先頭(LAION-Face)と最終(LAION-RANDOM)の負けが顕著) ★(怒涛の)実験結果1: 既存Pretrainedモデル達と比べてみる 参考文献: [1][3][6] ※顔認証データで ViT(一部改変有)[6] セグメンテーション パーツ検出 属性推定 画像は[1-1]より引用 (Table 1) 画像は[1-1]より引用 (Table 3) CLIP以下の精度を色付け
  7. 8 © Panasonic Connect Co., Ltd. 2022 • downstreamタスクの学習データ量を制限しfew-shot設定で実験 •

    どの条件でも1位か2位 ⇒ FaRLは汎化性が高い • 著者曰く、「CLIPにパーツ検出で負けるのはデータ量の差」 ★(怒涛の)実験結果2: 既存Pretrainedモデル達とFew-Shot条件で比べてみる 参考文献: [1] 画像は[1-1]より引用 (Table 2) 下線つきは2位 セグメンテーション パーツ検出 属性推定
  8. 9 © Panasonic Connect Co., Ltd. 2022 • StyleCLIPのCLIPをFaRLに置き換え(⇒私見: テキストエンコーダの評価?)

    • よりtext promptに適した表現が得られるようになっていそう • 私見: Donald Trumpでそれらしくなってるあたり、個人もかなり記憶してそ う(この能力だけ消す研究とかやったら楽しそう) StyleCLIPでCLIPと比較してみる 参考文献: [1][12] 画像は[1-1]より引用 (Figure 4)
  9. 10 © Panasonic Connect Co., Ltd. 2022 • MIM: セグメンテーション、パーツ検出に効果あり.

    層数はあまり効かない • ALIGN: どれにでも効きそう? 特に属性推定はこれが有効 • LAION-FACE(←先頭と最終を比較)はどのタスクでも有効(特に属性推定) ⇒ MIMは低次な、ALIGN,LAION-Faceは高次な、情報を要するタスクに有効? ★(怒涛の)実験結果3: 各コンポーネントの効果を見てみる 参考文献: [1] ITC: Image Text Contrastive MIM: Masked Image Modeling ※1, 6の添え字はMIMの層数 ALIGN: 検出した顔領域を入力 (ALIGNなしはランダムクロップ) LAION-RANDOM: LAIONから20Mをランダムに 画像は[1-1]より引用 (Table 3) セグメンテーション パーツ検出 属性推定
  10. 11 © Panasonic Connect Co., Ltd. 2022 • 標準FaRLでSOTA最高精度以上 •

    FTすることでちょっと改善⇒(逆に言うと)FaRLで十分汎化性がある • Scratchの時点で、解像度224ながらSOTA最高と近い精度が出ている (怒涛の)実験結果4: 各タスクのSOTAと比べてみる(セグメンテーション) 参考文献: [1] 画像は[1-1]より引用 (Table 4) 画像は[1-1]より引用 (Table 5) CelebAMask-HQ LaPa SOTA最高 入力サイズ=473 Scratch: ViTでScratch学習 FaRL: 標準 FaRL ft: 特徴抽出器をFT FaRL ft 448: 入力サイズ上げてFT
  11. 12 © Panasonic Connect Co., Ltd. 2022 • FaRL(標準)でAFLW-19は最高精度超え、他は届かないがそれなりの精度に •

    ADNet[7]はパーツの位置関係を考慮する仕組みがあるが、FaRLはそういっ たものがないため、WFLW, 300Wでちょっと負けている • FaRLと似たUniversalな特徴表現を狙った方式[8]に対しても優位性あり (怒涛の)実験結果5: 各タスクのSOTAと比べてみる(パーツ検出) 参考文献: [1][7][8] 画像は[1-1]より引用 (Table 6) AFLW-19 Scratch: ViTでScratch学習 FaRL: 標準 FaRL ft: 特徴抽出器をFT FaRL ft 448: 入力サイズ上げてFT SOTA最高 画像は[1-1]より引用 (Table 7) WFLW 画像は[1-1]より引用 (Table 8) 300W Universalな 顔特徴表現研究
  12. 13 © Panasonic Connect Co., Ltd. 2022 • データ量がFULLの場合、FaRLで最高精度に届かないまでもそれなりに ※

    PS-MCNN[9]はIDラベルを使ったり、headの設計を工夫したりしている • データ量が少ない場合、FaRL(標準)でだいたいSOTA超え (怒涛の)実験結果6: 各タスクのSOTAと比べてみる(属性推定) 参考文献: [1][9] FaRL: 標準 FaRL ft: 特徴抽出器をFT 画像は[1-1]より引用 (Table 9) CelebA/LWFA SOTA最高 画像は[1-1]より引用 (Table 9) CelebA/LWFA, downstreamタスク学習データ量比較
  13. 14 © Panasonic Connect Co., Ltd. 2022 • 年齢、性別、人種がバランスされたFairFace[10]を用いて評価 •

    平均精度はCLIPと同程度. 人種間の精度差は比較3手法の中で年齢推定でも 性別推定でも2番目 ⇒ データ構築におけるバイアス問題対処はFuture Work • 人種は本当は7グループある(⇒ 私見: 紙面の都合か隠したいことかで削られた??) (怒涛の)実験結果7: (倫理的な観点として)属性別属性推定精度をみてみる 参考文献: [1][10] 画像は[1-1]より引用 (Table 10) WhiteとNon-Whiteの差
  14. 16 © Panasonic Connect Co., Ltd. 2022 • Fake It

    Till You Make It: Face analysis in the wild using synthetic data alone (ICCV 2021, Microsoft) • 独自のスキャンデータをもとに顔の3D生成モデルを作成 ⇒セグメンテーション/キーポイントのラベル付合成データを10万枚生成 • 10万枚のCGデータでセグメンテーションとパーツ検出のモデルを学習 • CGデータだけでSOTA並みの精度のモデルを作成 (関連?研究) CGデータだけで学習しちゃうぜ! 参考文献: [11] 画像は[11-3]より引用 動画は[11-2]より引用
  15. 17 © Panasonic Connect Co., Ltd. 2022 • 精度を単純に比較するとFaRLが強い (ベースラインの差)

    • Scratchからの差分で見ると – パーツ検出: CGを使った場合の方がゲインが大きい – セグメンテーション: FaRLの方がゲインが大きい(CGは精度低下) ⇒ LAION-Face(20M)とCG(0.1M)のタスク別効率性/有効性は面白い題材かも FaRLとCG使った研究[11]を(勝手に)比較してみた 参考文献: [1][11] FaRL: 標準 解像度: 224x224 NW: ViT-B/16 CGデータ学習モデル 解像度: 256x256 NW: ResNet34 +0.21 +0.34 +0.28 +0.91 画像は[1-1]より引用 (Table 8) 画像は[11-2]より引用 (Table 3) +0.7 -0.8 CGデータ学習モデル 解像度: 512x512 NW: ResNet18 画像は[11-2]より引用 (Table 2) 画像は[1-1]より引用 (Table 4) LaPa(セグメンテーション) 300W(パーツ検出)
  16. 18 © Panasonic Connect Co., Ltd. 2022 • まとめ –

    V&Lで使える顔画像に特化したデータを作った – 流行りの型で実際にモデルを作ってみた – 3つのダウンストリームタスクで有用だと分かった ⇒ “顔”でV&L、MIM、Foundation Modelの問題の一歩目の研究 • 所感 – トレンド盛沢山(CLIP , LAION, MIM, ViT) – 顔検出、なりすまし、偽造検知等がFuture Work(というかLimitation) で、今後どんなタスクまで解けるようになるのか気になる – データ規模やFairnessでCGが強そうで、大規模データ x V&Lと比較した り組合せたりするのも面白そう まとめと所感
  17. 19 © Panasonic Connect Co., Ltd. 2022 参考文献 • [1]

    General Facial Representation Learning in a Visual-Linguistic Manner – [1-1] https://arxiv.org/abs/2112.03109 – [1-2] https://github.com/faceperceiver/farl • [2] Laion400m: Open dataset of clip-filtered 400 million image-text pairs – [2-1] https://laion.ai/blog/laion-400-open-dataset/ – [2-2] https://rom1504.github.io/clip-retrieval/?back=https%3A%2F%2Fknn5.laion.ai&index=laion5B&useMclip=false – [2-3] https://arxiv.org/abs/2111.02114 • [3] Learning Transferable Visual Models From Natural Language Supervision – [3-1] https://openai.com/blog/clip/ – [3-2] https://www.slideshare.net/kuz44ma69/transformer-in-250447206 • [4] RetinaFace: Single-stage Dense Face Localisation in the Wild – [4-1] https://arxiv.org/abs/1905.00641 – [4-2] https://openaccess.thecvf.com/content_CVPR_2020/html/Deng_RetinaFace_Single-Shot_Multi-Level_Face_Localisation_in_the_Wild_CVPR_2020_paper.html • [5] BEiT: BERT Pre-Training of Image Transformers – [5-1] https://arxiv.org/abs/2106.08254 – [5-2] https://openreview.net/forum?id=p-BhZSz59o4 • [6] Face Transformer for Recognition – [6-1] https://arxiv.org/abs/2103.14803 – [6-2] https://github.com/zhongyy/Face-Transformer • [7] ADNet: Leveraging Error-Bias Towards Normal Direction in Face Alignment – [7-1] https://arxiv.org/abs/2109.05721 • [8] Pre-training strategies and datasets for facial representation learning – [8-1] https://arxiv.org/abs/2103.16554 • [9] Partially Shared Multi-Task Convolutional Neural Network with Local Constraint for Face Attribute Learning – [9-1] https://openaccess.thecvf.com/content_cvpr_2018/papers/Cao_Partially_Shared_Multi-Task_CVPR_2018_paper.pdf • [10] FairFace: Face Attribute Dataset for Balanced Race, Gender, and Age – [10-1] https://arxiv.org/abs/1908.04913 – [10-2] https://openaccess.thecvf.com/content/WACV2021/papers/Karkkainen_FairFace_Face_Attribute_Dataset_for_Balanced_Race_Gender_and_Age_WACV_2021_paper.pdf – [10-3] https://github.com/joojs/fairface • [11] Fake It Till You Make It: Face analysis in the wild using synthetic data alone – [11-1] https://microsoft.github.io/FaceSynthetics/ – [11-2] https://arxiv.org/abs/2109.15102 – [11-3] https://github.com/microsoft/FaceSynthetics • [12] StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery – [12-1] https://arxiv.org/abs/2103.17249 – [12-2] https://github.com/orpatashnik/StyleCLIP