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

[Journal club] CRIS: CLIP-Driven Referring Image Segmentation

[Journal club] CRIS: CLIP-Driven Referring Image Segmentation

More Decks by Semantic Machine Intelligence Lab., Keio Univ.

Other Decks in Technology

Transcript

  1. CRIS: CLIP-Driven Referring Image Segmentation Zhaoqing Wang1,2* Yu Lu3∗ Qiang

    Li4∗ Xunqiang Tao2 Yandong Guo2 Mingming Gong5 Tongliang Liu1 1University of Sydney; 2OPPO Research Institute; 3Beijing University of Posts and Telecommunications 4Kuaishou Technology; 5University of Melbourne 慶應義塾大学 杉浦孔明研究室 畑中駿平 Wang, Zhaoqing, et al. "Cris: Clip-driven referring image segmentation." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.
  2. ▸ Referring Image Segmentation ( RIS ) ▹ [Hu+, ECCV16]

    で初めて提案 ▸ RIS の研究トレンド 1. CNN・LSTMから特徴量を結合 (ex. [Long+, ECCV16]) 2. 注意機構の導入(ex. [Shi+, ECCV18]) 3. クロスモーダルな注意機構 (ex. CMSA [Ye+, CVPR19]) 3 背景:RISタスクにおいてクロスモーダルな注意機構の導入 が進んでいる CMSA [Ye+, CVPR19] Image/Textのモダリティ間の相互作用を学習
  3. ▸ RISの既存手法は事前学習済みモデルを用いて学習を行う ▹ Image Encoderの例:ResNet、ViT ▹ Text Encoderの例:LSTM、BERT ▸ 問題点:独立した単一モダリティの事前学習済みモデルを適用

    ▹ マルチモーダルな表現学習が不十分 4 問題点:既存手法は単一モーダルの事前学習済みモデルを 適用しておりマルチモーダルな表現学習が不十分 [Chen+, BMVC19] [Chen+, BMVC19]の例 • Text Encoder:LSTM • Image Encoder:ResNet-101
  4. ▸ SimVLM [Wang+, 21]やCLIP [Radford+, PMLR21] ▹ 大規模なvision-language事前学習によりマルチモーダルな表現を学習 可能 ▸

    問題点:RISタスクには最適ではない ▹ CLIP:入力画像の全体的な情報に着目 5 問題点:マルチモーダルな表現学習モデルはRISタスクには 最適ではない CLIP [Radford+, PMLR21] SimVLM [Wang+, 21]
  5. ▸ CRIS ( CLIP-Driven Referring Image Segmentation ) ▹ CLIP駆動型RISフレームワーク

    ▸ CLIPの持つマルチモーダルな知識を テキストとピクセル単位の対応に活用 6 提案手法:CLIPモデルをRISに活用 CLIPの要領でマルチモーダル情報の整合 性を高め、クロスモーダルなマッチングの 性能を向上
  6. ▸ Visual Encoder:CLIPで学習済みResNet ▸ 入力:画像 𝐼 ∈ ℝ𝐻×𝑊×3 ▹ 𝐻:画像の高さ、

    𝑊:画像の幅 ▸ 出力:2-4ステージ目の特徴量 𝐹𝑣2 , 𝐹𝑣3 , 𝐹𝑣4 ▹ 𝐹𝑣2 ∈ ℝ 𝐻 8 ×𝑊 8 ×𝐶2 ▹ 𝐹𝑣3 ∈ ℝ 𝐻 16 ×𝑊 16 ×𝐶3 ▹ 𝐹𝑣4 ∈ ℝ 𝐻 32 ×𝑊 32 ×𝐶4 ▹ 𝐶2 , 𝐶3 , 𝐶4 :チャネル数 8 Visual Encoder 𝐹2 , 𝐹3 , 𝐹4 = 𝑓VE (𝐼)
  7. ▸ Text Encoder:CLIPで学習済みTransformer ▸ 入力:テキスト 𝑇 ∈ ℝ𝐿 ▹ 𝐿

    :テキスト文の長さ ▸ 出力 ▹ テキスト特徴量: 𝐹𝑡 ∈ ℝ𝐿×𝐶 ▹ テキスト表現: 𝐹 𝑠 ∈ ℝ𝐶′ ▹ バイト対符号化(byte pair encoding, BEP) ▹ 𝐶, 𝐶′:チャネル数 9 Text Encoder 𝐹𝑡 , 𝐹𝑠 = 𝑓TE (𝑇)
  8. ▸ Neck: 𝐹𝑣𝑖 , 𝐹 𝑠 を結合して視覚特徴量を獲得する ▸ 入力: 𝐹𝑣2

    , 𝐹𝑣3 , 𝐹𝑣4 , 𝐹 𝑠 ▸ 出力: 視覚特徴量 𝐹 𝑣 = 𝐶𝑜𝑛𝑣([𝐹 𝑚 , 𝐹𝑐𝑜𝑜𝑟𝑑 ]) ∈ ℝ 𝐻 16 ×𝑊 16 ×𝐶 ▹ 𝐹𝑐𝑜𝑜𝑟𝑑 : 𝐹 𝑚 に位置情報を埋め込んだ特徴量 ▹ 𝐹 𝑚 = 𝐶𝑜𝑛𝑣([𝐹𝑚2 , 𝐹𝑚3 , 𝐹𝑚4 ] ▹ 𝐹𝑚4 = 𝑈𝑝(𝜎(𝐹𝑣4 𝑊𝑣4 ) ∙ 𝜎(𝐹 𝑠 𝑊 𝑠 )) ▹ 𝐹𝑚3 = 𝜎 𝐹𝑚4 𝑊𝑚4 ∙ 𝜎 𝐹𝑣3 𝑊𝑣3 ▹ 𝐹𝑚2 = 𝜎 𝐹𝑚3 𝑊𝑚3 ∙ 𝜎 𝐴𝑣𝑔(𝐹𝑣2 )𝑊𝑣2 10 Cross-modal Neck 𝐹𝑣 = 𝐶𝑜𝑛𝑣([𝐹𝑚 , 𝐹𝑐𝑜𝑜𝑟𝑑 ])
  9. ▸ 入力 ▹ テキスト特徴量: 𝐹𝑡 ∈ ℝ𝐿×𝐶 ▹ 視覚特徴量: 𝐹

    𝑣 ∈ ℝ 𝐻 16 ×𝑊 16 ×𝐶 ▸ 出力: マルチモーダル特徴量 𝐹 𝑐 ∈ ℝ 𝐻 16 ×𝑊 16 ×𝐶 ▹ 𝐹𝑐 = 𝑀𝐿𝑃 𝐿𝑁 𝐹𝑐 ′ + 𝐹𝑐 ′ ▹ 𝐹𝑐 ′ = 𝑀𝐻𝐶𝐴 𝐿𝑁 𝐹𝑣 ′ , 𝐹𝑡 + 𝐹𝑣 ′ ▹ 𝑀𝐻𝐶𝐴 :multi-head cross-attention ▹ 𝐹𝑣 ′ = 𝑀𝐻𝑆𝐴 𝐿𝑁 𝐹 𝑣 + 𝐹 𝑣 ▹ 𝑀𝐻𝑆𝐴 :multi-head self-attention 11 Vision-Language Decoder Text Encoder Visual Encoder 𝐹𝑐 = 𝑀𝐿𝑃 𝐿𝑁 𝐹 𝑐 ′ + 𝐹 𝑐 ′
  10. ▸ 入力 ▹ テキスト表現:𝐹 𝑠 ∈ ℝ𝐿 ▹ マルチモーダル特徴量:𝐹 𝑐

    ∈ ℝ 𝐻 16 ×𝑊 16 ×𝐶 ▸ 出力 ▹ テキスト特徴量:𝑧𝑡 ∈ ℝ𝐷 ▹ 𝑧𝑡 = 𝐹 𝑠 𝑊𝑡 + 𝑏𝑡 ▹ ピクセル単位の特徴量: 𝑧𝑣 ∈ ℝ 𝐻 4 ×𝑊 4 ×𝐷 ▹ 𝑧𝑣 = 𝑈𝑝(𝐹 𝑐 ) 𝑊 𝑣 + 𝑏𝑣 12 Text-to-Pixel Contrastive Learning 𝑧𝑡 = 𝐹𝑠 𝑊𝑡 + 𝑏𝑡 𝑧𝑣 = 𝑈𝑝(𝐹𝑐 ) 𝑊 𝑣 + 𝑏𝑣 𝐹𝑠 𝐹 𝑐
  11. ▸ 損失関数の入力 ▹ テキスト特徴量:𝑧𝑡 ▹ ピクセル単位の特徴量: 𝑧𝑣 ▸ 𝐿𝑐𝑜𝑛 𝑧𝑡

    , 𝑧𝑣 = 1 𝒫∪𝒩 σ𝑖∈𝒫∪𝒩 𝐿𝑐𝑜𝑛 𝑖 (𝑧𝑡 , 𝑧𝑣 ) ▸ 𝐿𝑐𝑜𝑛 𝑖 𝑧𝑡 , 𝑧𝑣 = ቐ − log 𝜎 𝑧𝑡 ∙ 𝑧𝑣 𝑖 , 𝑖 ∈ 𝒫 − log(1 − 𝜎 𝑧𝑡 ∙ 𝑧𝑣 𝑖 ), 𝑖 ∈ 𝒩 ▹ 𝒫:class “1” ▹ 𝒩:class “0” 13 Text-to-pixel contrastive loss 𝑧𝑡 = 𝐹𝑠 𝑊𝑡 + 𝑏𝑡 𝑧𝑣 = 𝑈𝑝(𝐹 𝑐 ) 𝑊 𝑣 + 𝑏𝑣 https://github.com/DerrickWang005/CRIS.pytorch/blob/0df39f073acfb9 e6e17d83536a916548905ecfc3/model/segmenter.py#L59 シグモイド関数へ入力したのち Upsamplingでもとの画像サイズへ やっていることはBCEと同じでは? (コードの損失関数はBCEであった)
  12. ▸ ベンチマーク 1. RefCOCO:( train, valid )= ( 120,624枚, 10,834枚

    ) 2. RefCOCO+:RefCOCOにおいて絶対位置の単語が除外 3. G-Ref:平均文長 8.4 語、場所や外観に関する単語が多い ▸ 学習 ▹ 画像サイズ:416×416 ▹ バッチサイズ:64 ▹ マシン:8 Tesla V100 with 16 GPU VRAM 14 実験:3つのベンチマークで性能比較
  13. ▸ Baseline model = CRIS w/o visual-language decoder, w/o text-to-

    pixel contrast learning ▸ Decoderの層数を4にすると過学習を起こし性能が悪化 16 Ablation Study:visual-language decoderと text-to-pixel contrast learningの有効性確認