論文紹介: Sketch Me That Shoe

論文紹介: Sketch Me That Shoe

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

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

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

A82e268e52c06ad69b83f1a251c682d4?s=128

Keisuke OGAKI

July 17, 2017
Tweet

Transcript

  1. 論文紹介: Sketch Me That Shoe @CVPR2016ಡΈձ גࣜձࣾυϫϯΰ େ֞ܚհ

  2. SBIR(Sketch Based Image Retrieval) https://sketchx.eecs.qmul.ac.uk/

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

    •  ྨࣅը૾ʹΑΔݕࡧ –  ྨࣅը૾ΛͨͲΔ͜ͱͰ໨తͷ΋ͷʹͨͲΓ ͚ͭΔ •  AΑΓ͸B͕ཉ͍͠ɺΛ͘Γ͔͑͢ •  Ϩίϝϯυ –  ໨తͷ΋ͷʹͨͲΓண͘·ͰʹΫΤϦΛ܁Γ ฦ͢ඞཁ͕͋Δ •  εέονʹΑΔݕࡧ –  ࣗ෼ͷࢥͬͯΔ΋ͷΛͦͷ··ΫΤϦʹͰ͖ Δ 3 スツール
  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
  5. ͜ͷ࿦จ͸୭͕ಡΜͰخ͍͔͠  •  ˕ εέονσʔλΛѻ͏CNNΛ࡞Γ͍ͨਓ •  ̋ ΫϩευϝΠϯͷর߹໰୊Λղ͖͍ͨਓ •  ˚

    গ਺σʔλ͔͠༻ҙͰ͖ͳ͍͕CNNͰࣝผ໰୊ Λղ͖͍ͨਓ •  × 1ͭͷେن໛σʔλͰਫ਼౓Αࣝ͘ผ໰୊Λղ͖ͨ ͍ਓ 5
  6. ͜ͷ࿦จ͸୭͕ಡΜͰخ͍͔͠:υϫϯΰ 6 類似構図スケッチ検索 ラフスケッチ 特徴抽出 類似構図画像 コメントサジェスト \n ͔ Θ

    ͑ ͑ ը૾ಛ௃ ίϝϯτಛ௃ ΫϩευϝΠϯর߹ 4#*3
  7. ໰୊ҙࣝ: ΫϩευϝΠϯর߹ 7 \n ͔ Θ ͑ ͑ LSTM LSTM

    Linear ベクトル同士の比較 Mean Squared Error 画像と、そこについているコメントのペアデータ
  8. ໰୊ҙࣝ: ΫϩευϝΠϯর߹ 8 \n ͔ Θ ͑ ͑ LSTM LSTM

    Linear ベクトル同士の比較 Mean Squared Error ロスの伝搬 画像とコメントの特徴空間をマージする 画像と、そこについているコメントのペアデータ
  9. ໰୊ҙࣝ: ΫϩευϝΠϯর߹ 9 \n ͔ Θ ͑ ͑ LSTM LSTM

    Linear 正例なら近づける、負例なら離す Contrastive Loss 画像とコメントのペアデータ 負例として他の画像に付いているコメントも ロスの伝搬 画像とコメントの特徴空間をマージする ロスの伝搬
  10. 問題意識: Contrastive Loss •  ϩεΛ্ख͘Լ͛ΒΕͳ͔ͬͨ •  ϚʔδϯΛͲΕ͘Β͍ʹऔΔ͔ɺਖ਼ྫͱෛྫΛ Ͳ͏͍͏ׂ߹Ͱֶशͤ͞Δ͔ɺ͕γϏΞͳΑ͏ ʹײͨ͡ɻ • 

    ͦ΋ͦ΋SiameseωοτϫʔΫ(ೖྗ1ͱ2͕ಉ͡ ωοτϫʔΫ͔Βग़ྗ͞ΕΔ΋ͷ)Ͱͷద༻͕ ओ? –  ΋ͱ΋ͱإtoإͷೝূͰ࢖ΘΕͨ 10
  11. ΞδΣϯμ ΫϩευϝΠϯর߹ • εέονͷಛ௃ྔ • ΫϩευϝΠϯΛ౷߹͢ΔͨΊͷϩε ֶशςΫχοΫ • సҠֶश • εέονͷDataAugmentation 11

  12. εέονͷಛ௃: σʔληοτͷ࡞Γํ •  1.ࣗવը૾ΛΑ͏͍ –  Shoes: http://vision.cs.utexas.edu/projects/finegrained/utzap50k/ –  Chairs: amazon,

    IKEA, Taobao͔Βݕࡧ •  2. εέον –  15ඵݟͤͯ -> ফͯ͠ -> λϒϨοτʹࢦͰॻ͔ͤΔ 12
  13. εέονಛ௃ •  ϕΫλσʔλ •  ࣌ܥྻσʔλ –  ॻ͖ॱ΋ར༻ग़དྷΔ •  σΟςʔϧͷෆۉҰੑ – 

    ྠֲ͸͔ͬ͠Γɺࡉ෦͸লུ –  ओ୊ͱͳΔΦϒδΣΫτΛڧௐ͢Δ ˞ ECCVͰεέονͷը૾ॲཧͷϫʔΫγϣοϓ͕։࠵͞Ε·͢ http://vase16.eecs.qmul.ac.uk/ 13
  14. εέονಛ௃ͷSOTA: Sketch-a-Net that Beats Humans  •  ஶऀΒʹΑΔBMVC2015Ͱͷ࿦จ 14

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

    Resnet … •  スケッチにSketch-A-Net 2. 特徴空間をマージするための ロスはどうやって計算するか •  片方を固定して回帰 •  Contrastive Loss •  Triplet Loss
  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͕Ͱ͖Δͱ·͞ʹΫ ϩευϝΠϯͳΜͰ͢ ͚ͲͶ
  17. 特徴空間のマージ: TripletLoss学習 •  正例との距離が十分近く、負例との距離がे෼ԕ͘ͳΔΑ͏ʹֶश͢Δ •  ਖ਼ྫɾෛྫͷ૊Έ߹ΘͤͰαϯϓϧ਺͕૿΍ͤΔɺ͕ɺΔҎ্཭ΕͯΔෛྫ ͸ҙຯ͕ͳ͍ͷͰɺ΋ͪΖΜ·ͱ΋ͳෛྫΛಘΔඞཁ͸͋Δ 17 CNN CNN

    Triplet loss CNN 参照(s) 正例 (p+) 負例 (p-)
  18. ݁ہɻɻɻ׬੒ܥ 18 Sketch -A-Net Sketch -A-Net Trip let Sketch -A-Net

    参照 正例 負例 エッジ抽 出 エッジ抽 出 •  ࣗવը૾ͱεέονͱ͍͏׬શʹҧ͏υϝΠϯͰͷর߹͸ݫ͍͠ –  ࣮͸ɺಉ͡ωοτϫʔΫͰผʑʹτϨʔχϯά͢Δ͜ͱ΋ݫ͍͠ •  Τοδநग़͢Δ͜ͱͰແཧ΍ΓSiameseʹͨ͠ •  ໌ه͞Εͯͳ͍͚ͲɺΤοδநग़ͨ͠΋ͷΛೖྗʹ࢖͏ͬͯ͜ͱ͸ɺ Sketch-A-Netͱݴ͍ͭͭ΋ɺ࣌ܥྻ৘ใ͸ѻͬͯͳ͍(1νϟϯωϧʹͯ͠ Δ)ͱࢥΘΕΔ
  19. ࣮ݧ݁Ռ •  ࣮૷ͷৄࡉ͸͋ͱʹճ͠·͕͢ɺ –  PairwiseΑΓTripletͷํ͕͍͍ •  Pairwise: ਖ਼ྫͱෛྫΛࠞͥͯɺަޓʹֶश͢Δ –  ը૾ಛ௃ͱεέονಛ௃Λผʑʹֶश͢ΔΑΓɺωοτϫʔΫ

    ڞ༗ͨ͠΄͏͕͍͍! •  ͨͩ͠ɺ΋͏গͨ͘͠͞Μσʔλ͕͋ͬͨΒҧ͏Μ͡Όͳ͍͔ɺͱߟ࡯ ͸ͯ͠·͢ɻ 19
  20. ΞδΣϯμ ΫϩευϝΠϯর߹ • εέονͷಛ௃ྔ • ΫϩευϝΠϯΛ౷߹͢ΔͨΊͷϩε ֶशςΫχοΫ • సҠֶश • εέονͷDataAugmentation 20

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

    B. ࣗવը૾-ϥϕϧσʔληοτ –  ImageNet-1K –  1Mը૾1000Ϋϥε •  C. εέον-ϥϕϧσʔληοτ –  TU-Berlin Sketch –  20000εέον250Ϋϥε •  D. ٖࣅεέον-ը૾σʔληοτ –  BͱC͔Β࡞Δ –  8976εέον19026ը૾ 21
  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
  23. సҠֶशͷεςοϓ ࣗવը૾ಛ௃நग़ εέονը૾Ͱ ϑΝΠϯνϡʔϯ ٖࣅεέον-ࣗ વը૾Ͱߥ͘౷߹ ࠓճͷఏҊσʔλ ηοτͰֶश 23 • 

    ". ࣗવը૾-ϥϕϧσʔληοτ –  ImageNet-1K –  1Mը૾1000Ϋϥε •  B. εέον-ϥϕϧσʔληοτ –  TU-Berlin Sketch –  20000εέον250Ϋϥε Sketch- A-Net •  ͦΕͧΕͷϥϕϧΛೝࣝ͢ΔΑ͏ʹී ௨ͷը૾ࣝผͷֶशΛߦ͏ –  ͨͩ͠A͸Τοδநग़ͨ͠ը૾ΛೖΕΔ latte Sketch- A-Net airplane
  24. సҠֶशͷεςοϓ ࣗવը૾ಛ௃நग़ εέονը૾Ͱ ϑΝΠϯνϡʔϯ ٖࣅεέον-ࣗ વը૾Ͱߥ͘౷߹ ࠓճͷఏҊσʔλ ηοτͰֶश 24 • 

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

    D. εέον-ը૾σʔλ ηοτ –  ࠓճͷఏҊσʔληοτ –  716εέον716ը૾ –  ͘͢͝গͳ͍ –  Data Augmentation Triplet
  26. εέονͷData Augmentation •  ࠷ޙͷҰ൪ॏཁͳεςοϓͰ࢖͏σʔλ͸716εέον͔͠ͳ ͍ɻɻ –  12ഒʹData Augmentation͠·͢ 26 12個のスケッチデータ

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

    ྠֲͷΑ͏ͳɺೝࣝ ʹޮ͘ҰൠతͳઢΛ ද͢ •  લ൒ʹॻ͔Εͨετ ϩʔΫ΄Ͳɺ(্ಉ) 27
  28. 1. Stroke removal 28 •  ֤ετϩʔΫͷ࡟আ͞ΕΔ֬཰͸ӈͷࣜʹൺྫ͢Δɻ –  o: orderɺԿ൪໨ͷετϩʔΫ͔ – 

    l: lengthɺͲΕ͘Β͍௕͍ετϩʔΫ͔
  29. 2. Stroke Deformation •  lImage deformation using moving least squares.

    zͷख ๏ʹै͏ •  ୹͍ɺۂ཰ͷখ͍͞ετϩʔΫ΄Ͳมܗ͞Ε΍͍͢ 29
  30. ΞδΣϯμ ΫϩευϝΠϯর߹ • εέονͷಛ௃ྔ • ΫϩευϝΠϯΛ౷߹͢ΔͨΊͷϩε ֶशςΫχοΫ • సҠֶश • εέονͷDataAugmentation 30

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

    ࣗવը૾ಛ௃நग़ εέονը૾Ͱ ϑΝΠϯνϡʔϯ ٖࣅεέον-ࣗ વը૾Ͱߥ͘౷߹ ࠓճͷఏҊσʔλ ηοτͰֶश
  32. ࣮ݧ݁Ռ: طଘख๏ͱͷൺֱ •  HOGΑΓ͍͍ΑͶ •  طଘͷσΟʔϓͰ ಛ௃நग़ͯ͠ rankSVMΑΓ͍͍Α Ͷ • 

    ࠷ޙͷfine-tune͸େ ࣄͩΑͶ –  ISN(Improved Sketch Net)ͱ͸ɺసҠֶश Λऴ͑ͨόʔδϣϯ ͷSketch Net 32
  33. ݁࿦ •  Good –  ࣮ࡍ͔ͳΓ೉͍͠໰୊Λෳ਺ͷΞΠσΞΛ૊Έ߹Θͤͯղ͍͍ͯΔ ͷͰ࣮༻্ࢀߟʹͳΔ •  Ή͠Ζಛڐͱͬͨํ͕޲͍ͯͦ͏ •  εέονͷdata

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

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

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