論文紹介: Sketch Me That Shoe

論文紹介: Sketch Me That Shoe

スケッチと自然画像を照合するための特徴量をCNNを用いて学習する話です。

* 少数のスケッチ・自然画像ペアデータと、大量のスケッチ・自然画像単体データを利用した転移学習
* スケッチと自然画像というクロスドメインな照合をどのようにおこなうか

にフォーカスした研究です

A82e268e52c06ad69b83f1a251c682d4?s=128

Keisuke OGAKI

July 17, 2017
Tweet

Transcript

  1. 3.

    SBIRͷඞཁੑ •  ࣗવݴޠʹΑΔݕࡧ –  جຊతʹ঎඼ʹ͸ࣗવݴޠͰͷઆ໌͕ॻ͔Ε ͍ͯΔͨΊɺ௚઀આ໌จͱͷর߹͕Ͱ͖Δ –  ݕࡧଆʹυϝΠϯ஌ࣝΛඞཁͱ͢Δ •  άϥσΟΤʔλʔαϯμϧ???

    •  ྨࣅը૾ʹΑΔݕࡧ –  ྨࣅը૾ΛͨͲΔ͜ͱͰ໨తͷ΋ͷʹͨͲΓ ͚ͭΔ •  AΑΓ͸B͕ཉ͍͠ɺΛ͘Γ͔͑͢ •  Ϩίϝϯυ –  ໨తͷ΋ͷʹͨͲΓண͘·ͰʹΫΤϦΛ܁Γ ฦ͢ඞཁ͕͋Δ •  εέονʹΑΔݕࡧ –  ࣗ෼ͷࢥͬͯΔ΋ͷΛͦͷ··ΫΤϦʹͰ͖ Δ 3 スツール
  2. 4.

    今回の論文: Sketch Me That Shoe •  Φʔϥϧ( Object Recognition and

    Detection ) •  Qian Yu et al. •  Sketch X lab, Queen Mary University of London, London, UK –  http://sketchx.eecs.qmul.ac.uk/ –  SBIRʹؔ͢Δݚڀ͕࠷΋ଟ͘ɺεέονͷੜ੒ɾ؆ུԽͳͲ΋ݚڀ͞Εͯ Δ ϙΠϯτ •  ΫϩευϝΠϯͷর߹໰୊ͷ೉͠͞ʹ͍ͭͯ࿦͍ͯ͡Δ͜ͱ •  ผυϝΠϯͰಉ͡CNNΛར༻͢ΔͨΊͷֶशํ๏ͷ޻෉ •  σΟʔϓʹֶश͢ΔͨΊʹ͸গͳ͗͢ΔσʔληοτΛɺଞͷ໰୊ ༻ͷσʔληοτΛ༻͍ͨసҠֶशʹΑͬͯิڧ͍ͯ͠Δ •  ݁ہɺͱͯ΋৽͍͠ख๏ΛఏҊͨ͠Θ͚Ͱ͸ͳ͘ɺ࡞ۀखॱΛఏҊ ͍ͯ͠Δ͜ͱʹ஫ҙ 4
  3. 5.

    ͜ͷ࿦จ͸୭͕ಡΜͰخ͍͔͠  •  ˕ εέονσʔλΛѻ͏CNNΛ࡞Γ͍ͨਓ •  ̋ ΫϩευϝΠϯͷর߹໰୊Λղ͖͍ͨਓ •  ˚

    গ਺σʔλ͔͠༻ҙͰ͖ͳ͍͕CNNͰࣝผ໰୊ Λղ͖͍ͨਓ •  × 1ͭͷେن໛σʔλͰਫ਼౓Αࣝ͘ผ໰୊Λղ͖ͨ ͍ਓ 5
  4. 7.

    ໰୊ҙࣝ: ΫϩευϝΠϯর߹ 7 \n ͔ Θ ͑ ͑ LSTM LSTM

    Linear ベクトル同士の比較 Mean Squared Error 画像と、そこについているコメントのペアデータ
  5. 8.

    ໰୊ҙࣝ: ΫϩευϝΠϯর߹ 8 \n ͔ Θ ͑ ͑ LSTM LSTM

    Linear ベクトル同士の比較 Mean Squared Error ロスの伝搬 画像とコメントの特徴空間をマージする 画像と、そこについているコメントのペアデータ
  6. 9.

    ໰୊ҙࣝ: ΫϩευϝΠϯর߹ 9 \n ͔ Θ ͑ ͑ LSTM LSTM

    Linear 正例なら近づける、負例なら離す Contrastive Loss 画像とコメントのペアデータ 負例として他の画像に付いているコメントも ロスの伝搬 画像とコメントの特徴空間をマージする ロスの伝搬
  7. 10.

    問題意識: Contrastive Loss •  ϩεΛ্ख͘Լ͛ΒΕͳ͔ͬͨ •  ϚʔδϯΛͲΕ͘Β͍ʹऔΔ͔ɺਖ਼ྫͱෛྫΛ Ͳ͏͍͏ׂ߹Ͱֶशͤ͞Δ͔ɺ͕γϏΞͳΑ͏ ʹײͨ͡ɻ • 

    ͦ΋ͦ΋SiameseωοτϫʔΫ(ೖྗ1ͱ2͕ಉ͡ ωοτϫʔΫ͔Βग़ྗ͞ΕΔ΋ͷ)Ͱͷద༻͕ ओ? –  ΋ͱ΋ͱإtoإͷೝূͰ࢖ΘΕͨ 10
  8. 13.

    εέονಛ௃ •  ϕΫλσʔλ •  ࣌ܥྻσʔλ –  ॻ͖ॱ΋ར༻ग़དྷΔ •  σΟςʔϧͷෆۉҰੑ – 

    ྠֲ͸͔ͬ͠Γɺࡉ෦͸লུ –  ओ୊ͱͳΔΦϒδΣΫτΛڧௐ͢Δ ˞ ECCVͰεέονͷը૾ॲཧͷϫʔΫγϣοϓ͕։࠵͞Ε·͢ http://vase16.eecs.qmul.ac.uk/ 13
  9. 15.

    ΞʔΩςΫνϟͷݕ౼ 15 CNN Loss CNN 1. それぞれの特徴抽出にどう いうCNNを使うか •  自然画像にAlexNet,

    Resnet … •  スケッチにSketch-A-Net 2. 特徴空間をマージするための ロスはどうやって計算するか •  片方を固定して回帰 •  Contrastive Loss •  Triplet Loss
  10. 16.

    4ketch -A-Net Loss Alex net A1. Heterogenius、別ネットワーク ಛ௃நग़: Heterogenius v.s.

    Siamese ~ ਅʹΫϩευϝΠϯͳֶश͸Ͱ͖Δͷ͔ ~ 16 Sketch- A-Net Loss Sketch- A-Net A2. Heterogenius、同一ネットワーク B. Siamese Sketch -A-Net Loss Sketch -A-Net A1͕Ͱ͖Δͱ·͞ʹΫ ϩευϝΠϯͳΜͰ͢ ͚ͲͶ
  11. 18.

    ݁ہɻɻɻ׬੒ܥ 18 Sketch -A-Net Sketch -A-Net Trip let Sketch -A-Net

    参照 正例 負例 エッジ抽 出 エッジ抽 出 •  ࣗવը૾ͱεέονͱ͍͏׬શʹҧ͏υϝΠϯͰͷর߹͸ݫ͍͠ –  ࣮͸ɺಉ͡ωοτϫʔΫͰผʑʹτϨʔχϯά͢Δ͜ͱ΋ݫ͍͠ •  Τοδநग़͢Δ͜ͱͰແཧ΍ΓSiameseʹͨ͠ •  ໌ه͞Εͯͳ͍͚ͲɺΤοδநग़ͨ͠΋ͷΛೖྗʹ࢖͏ͬͯ͜ͱ͸ɺ Sketch-A-Netͱݴ͍ͭͭ΋ɺ࣌ܥྻ৘ใ͸ѻͬͯͳ͍(1νϟϯωϧʹͯ͠ Δ)ͱࢥΘΕΔ
  12. 21.

    ࢖͏σʔληοτ •  A.εέον-ը૾σʔληοτ –  ࠓճͷఏҊσʔληοτ –  716εέον716ը૾ –  ͘͢͝গͳ͍ • 

    B. ࣗવը૾-ϥϕϧσʔληοτ –  ImageNet-1K –  1Mը૾1000Ϋϥε •  C. εέον-ϥϕϧσʔληοτ –  TU-Berlin Sketch –  20000εέον250Ϋϥε •  D. ٖࣅεέον-ը૾σʔληοτ –  BͱC͔Β࡞Δ –  8976εέον19026ը૾ 21
  13. 22.

    సҠֶशͷεςοϓ ࣗવը૾ಛ௃நग़ εέονը૾Ͱ ϑΝΠϯνϡʔϯ ٖࣅεέον-ࣗ વը૾Ͱߥ͘౷߹ ࠓճͷఏҊσʔλ ηοτͰֶश 22 • 

    ". ࣗવը૾-ϥϕϧσʔληοτ –  ImageNet-1K –  1Mը૾1000Ϋϥε •  B. εέον-ϥϕϧσʔληοτ –  TU-Berlin Sketch –  20000εέον250Ϋϥε •  C. ٖࣅεέον-ը૾σʔληοτ –  "ͱ#͔Β࡞Δ –  8976εέον19026ը૾ •  D. εέον-ը૾σʔληοτ –  ࠓճͷఏҊσʔληοτ –  716εέον716ը૾ –  ͘͢͝গͳ͍ Sketch -A-Net Sketch -A-Net Triplet Triplet
  14. 23.

    సҠֶशͷεςοϓ ࣗવը૾ಛ௃நग़ εέονը૾Ͱ ϑΝΠϯνϡʔϯ ٖࣅεέον-ࣗ વը૾Ͱߥ͘౷߹ ࠓճͷఏҊσʔλ ηοτͰֶश 23 • 

    ". ࣗવը૾-ϥϕϧσʔληοτ –  ImageNet-1K –  1Mը૾1000Ϋϥε •  B. εέον-ϥϕϧσʔληοτ –  TU-Berlin Sketch –  20000εέον250Ϋϥε Sketch- A-Net •  ͦΕͧΕͷϥϕϧΛೝࣝ͢ΔΑ͏ʹී ௨ͷը૾ࣝผͷֶशΛߦ͏ –  ͨͩ͠A͸Τοδநग़ͨ͠ը૾ΛೖΕΔ latte Sketch- A-Net airplane
  15. 24.

    సҠֶशͷεςοϓ ࣗવը૾ಛ௃நग़ εέονը૾Ͱ ϑΝΠϯνϡʔϯ ٖࣅεέον-ࣗ વը૾Ͱߥ͘౷߹ ࠓճͷఏҊσʔλ ηοτͰֶश 24 • 

    ". ࣗવը૾-ϥϕϧσʔληοτ •  B. εέον-ϥϕϧσʔληοτ •  C. ٖࣅεέον-ը૾σʔληοτ Cͷ࡞Γํ 1.  ABڞ௨ͷϥϕϧ187ݸΛ༻ҙ 2.  ͦΕͧΕͷϥϕϧͷ୅දతͳը૾60%Λ நग़ 3.  ここまでの段階でのネットワークで、一旦各 スケッチと自然画像の間の距離を計算する 4.  ֤εέονͱࣗવը૾͔ΒTriplet(εέο νɺਖ਼ྫը૾ɺෛྫը૾)Λͭ͘Δ –  ਖ਼ྫ: εέονͱಉ͡Ϋϥε && εέον͔ Βͷڑ཭ͰΛϥϯΩϯά্ͨ͠Ґ20% –  ෛྫ: ҎԼͷ3छྨΛ3:1:1Ͱࠞ߹ •  ҧ͏Ϋϥε •  ҧ͏Ϋϥε͚ͩͲɺਖ਼ྫΑΓ΋ڑ཭͕͍ۙ •  ಉ͡Ϋϥε͚ͩͲɺԼҐ80% Tri pl et
  16. 25.

    సҠֶशͷεςοϓ ࣗવը૾ಛ௃நग़ εέονը૾Ͱ ϑΝΠϯνϡʔϯ ٖࣅεέον-ࣗ વը૾Ͱߥ͘౷߹ ࠓճͷఏҊσʔλ ηοτͰֶश 25 • 

    D. εέον-ը૾σʔλ ηοτ –  ࠓճͷఏҊσʔληοτ –  716εέον716ը૾ –  ͘͢͝গͳ͍ –  Data Augmentation Triplet
  17. 27.

    εέονͷData Augmentation εέονͷಛ௃ •  ετϩʔΫͷ࿈ଓͰ ͋Δ –  ෦෼తʹमਖ਼Ͱ͖Δ •  ௕͍ετϩʔΫ΄Ͳɺ

    ྠֲͷΑ͏ͳɺೝࣝ ʹޮ͘ҰൠతͳઢΛ ද͢ •  લ൒ʹॻ͔Εͨετ ϩʔΫ΄Ͳɺ(্ಉ) 27
  18. 29.

    2. Stroke Deformation •  lImage deformation using moving least squares.

    zͷख ๏ʹै͏ •  ୹͍ɺۂ཰ͷখ͍͞ετϩʔΫ΄Ͳมܗ͞Ε΍͍͢ 29
  19. 31.

    ࣮ݧ݁Ռ: సҠֶश / Data AugmentationͷޮՌ •  Step4͚ͩͰ΋ͦͦ͜͜͏·͘ ͍ͬͯΔͷ͕Ή͠Ζ͍͢͝ͱࢥ ͏ɻɻɻ 31

    ࣗવը૾ಛ௃நग़ εέονը૾Ͱ ϑΝΠϯνϡʔϯ ٖࣅεέον-ࣗ વը૾Ͱߥ͘౷߹ ࠓճͷఏҊσʔλ ηοτͰֶश
  20. 32.

    ࣮ݧ݁Ռ: طଘख๏ͱͷൺֱ •  HOGΑΓ͍͍ΑͶ •  طଘͷσΟʔϓͰ ಛ௃நग़ͯ͠ rankSVMΑΓ͍͍Α Ͷ • 

    ࠷ޙͷfine-tune͸େ ࣄͩΑͶ –  ISN(Improved Sketch Net)ͱ͸ɺసҠֶश Λऴ͑ͨόʔδϣϯ ͷSketch Net 32
  21. 33.

    ݁࿦ •  Good –  ࣮ࡍ͔ͳΓ೉͍͠໰୊Λෳ਺ͷΞΠσΞΛ૊Έ߹Θͤͯղ͍͍ͯΔ ͷͰ࣮༻্ࢀߟʹͳΔ •  Ή͠Ζಛڐͱͬͨํ͕޲͍ͯͦ͏ •  εέονͷdata

    augmentation •  5riplet༻ͷσʔλͷࣗಈੜ੒ख๏ –  গ਺ͷΫϩευϝΠϯڭࢣ͋ΓσʔλͰ࣮ߦͰ͖ΔͷͰ࣮༻্༗ར •  Bad –  ݁ہΫϩευϝΠϯ͸೉͍͠ͱ͍͏݁࿦ɻυϝΠϯ͸ࣅ͍ͯͯϥϕ ϧ͸ҧ͏ɺݴ͏ͳΕ͹൒ΫϩευϝΠϯͱͯ͠ղ͍͍ͯΔ •  ଞͷΫϩευϝΠϯর߹΋ಉ༷ʹղ͚ΔΘ͚Ͱ͸ͳͦ͞͏ –  ΫϩευϝΠϯʹدͤͨͨΊɺ݁ہεέονυϝΠϯʹಛԽͨ͠ಛ ௃நग़͸Ͱ͖͍ͯͳ͍ –  ΫϩευϝΠϯʹدͤͨͨΊɺ݁ہࣗવը૾ʹಛԽͨ͠ಛ௃நग़͸ Ͱ͖͍ͯͳ͍ 33
  22. 35.

    ࢀߟจݙ •  F.Wang, L. Kang, and Y. Li. Sketch-based 3d

    shape retrieval using convolutional neural networks. In CVPR, 2015. –  εέον͔Β3DϞσϧΛর߹͢Δ –  TripletͰ͸ͳ͘PairwiseͳϩεΛ࢖ͬͯΔ –  Heterogeneus •  S. Schaefer, T. McPhail, and J. Warren. Image deformation using moving least squares. In ACM Transactions on Graphics(TOG), 2006. –  %ataAugmentationͰ͔ͭͬͨɺStroke Deformation •  C. L. Zitnick and P. Dollar. Edge boxes: Locating object proposals from edges. In ECCV, 2014 –  ࠓճ࢖ͬͨΤοδݕग़ 35
  23. 36.

    Pairwise Loss 36 ただしyは、同じクラスかどうかの2値ラベル、Dは特徴空間での距離 y = 0 の時、exp(-Distance) y =

    1 の時、Distance**2 なので、同じラベルのものは近く、異なるラベルのものは遠く、なる