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

論文紹介: Sketch Me That Shoe

論文紹介: Sketch Me That Shoe

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

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

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

Keisuke OGAKI

July 17, 2017
Tweet

More Decks by Keisuke OGAKI

Other Decks in Research

Transcript

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

    View Slide

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

    View Slide

  3. SBIRͷඞཁੑ
    •  ࣗવݴޠʹΑΔݕࡧ
    –  جຊతʹ঎඼ʹ͸ࣗવݴޠͰͷઆ໌͕ॻ͔Ε
    ͍ͯΔͨΊɺ௚઀આ໌จͱͷর߹͕Ͱ͖Δ
    –  ݕࡧଆʹυϝΠϯ஌ࣝΛඞཁͱ͢Δ
    •  άϥσΟΤʔλʔαϯμϧ???
    •  ྨࣅը૾ʹΑΔݕࡧ
    –  ྨࣅը૾ΛͨͲΔ͜ͱͰ໨తͷ΋ͷʹͨͲΓ
    ͚ͭΔ
    •  AΑΓ͸B͕ཉ͍͠ɺΛ͘Γ͔͑͢
    •  Ϩίϝϯυ
    –  ໨తͷ΋ͷʹͨͲΓண͘·ͰʹΫΤϦΛ܁Γ
    ฦ͢ඞཁ͕͋Δ
    •  εέονʹΑΔݕࡧ
    –  ࣗ෼ͷࢥͬͯΔ΋ͷΛͦͷ··ΫΤϦʹͰ͖
    Δ
    3
    スツール

    View Slide

  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

    View Slide

  5. ͜ͷ࿦จ͸୭͕ಡΜͰخ͍͔͠

    •  ˕ εέονσʔλΛѻ͏CNNΛ࡞Γ͍ͨਓ
    •  ̋ ΫϩευϝΠϯͷর߹໰୊Λղ͖͍ͨਓ
    •  ˚ গ਺σʔλ͔͠༻ҙͰ͖ͳ͍͕CNNͰࣝผ໰୊
    Λղ͖͍ͨਓ
    •  × 1ͭͷେن໛σʔλͰਫ਼౓Αࣝ͘ผ໰୊Λղ͖ͨ
    ͍ਓ
    5

    View Slide

  6. ͜ͷ࿦จ͸୭͕ಡΜͰخ͍͔͠:υϫϯΰ
    6
    類似構図スケッチ検索
    ラフスケッチ 特徴抽出
    類似構図画像
    コメントサジェスト
    \n ͔ Θ ͑ ͑
    ը૾ಛ௃ ίϝϯτಛ௃
    ΫϩευϝΠϯর߹ 4#*3

    View Slide

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

    View Slide

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

    View Slide

  9. ໰୊ҙࣝ: ΫϩευϝΠϯর߹
    9
    \n ͔ Θ ͑ ͑
    LSTM
    LSTM
    Linear
    正例なら近づける、負例なら離す
    Contrastive Loss
    画像とコメントのペアデータ
    負例として他の画像に付いているコメントも
    ロスの伝搬
    画像とコメントの特徴空間をマージする
    ロスの伝搬

    View Slide

  10. 問題意識: Contrastive Loss
    •  ϩεΛ্ख͘Լ͛ΒΕͳ͔ͬͨ
    •  ϚʔδϯΛͲΕ͘Β͍ʹऔΔ͔ɺਖ਼ྫͱෛྫΛ
    Ͳ͏͍͏ׂ߹Ͱֶशͤ͞Δ͔ɺ͕γϏΞͳΑ͏
    ʹײͨ͡ɻ
    •  ͦ΋ͦ΋SiameseωοτϫʔΫ(ೖྗ1ͱ2͕ಉ͡
    ωοτϫʔΫ͔Βग़ྗ͞ΕΔ΋ͷ)Ͱͷద༻͕
    ओ?
    –  ΋ͱ΋ͱإtoإͷೝূͰ࢖ΘΕͨ
    10

    View Slide

  11. ΞδΣϯμ
    ΫϩευϝΠϯর߹
    • εέονͷಛ௃ྔ
    • ΫϩευϝΠϯΛ౷߹͢ΔͨΊͷϩε
    ֶशςΫχοΫ
    • సҠֶश
    • εέονͷDataAugmentation
    11

    View Slide

  12. εέονͷಛ௃: σʔληοτͷ࡞Γํ
    •  1.ࣗવը૾ΛΑ͏͍
    –  Shoes:
    http://vision.cs.utexas.edu/projects/finegrained/utzap50k/
    –  Chairs: amazon, IKEA, Taobao͔Βݕࡧ
    •  2. εέον
    –  15ඵݟͤͯ -> ফͯ͠ -> λϒϨοτʹࢦͰॻ͔ͤΔ
    12

    View Slide

  13. εέονಛ௃
    •  ϕΫλσʔλ
    •  ࣌ܥྻσʔλ
    –  ॻ͖ॱ΋ར༻ग़དྷΔ
    •  σΟςʔϧͷෆۉҰੑ
    –  ྠֲ͸͔ͬ͠Γɺࡉ෦͸লུ
    –  ओ୊ͱͳΔΦϒδΣΫτΛڧௐ͢Δ
    ˞ ECCVͰεέονͷը૾ॲཧͷϫʔΫγϣοϓ͕։࠵͞Ε·͢
    http://vase16.eecs.qmul.ac.uk/
    13

    View Slide

  14. εέονಛ௃ͷSOTA: Sketch-a-Net that Beats Humans

    •  ஶऀΒʹΑΔBMVC2015Ͱͷ࿦จ
    14

    View Slide

  15. ΞʔΩςΫνϟͷݕ౼
    15
    CNN
    Loss
    CNN
    1. それぞれの特徴抽出にどう
    いうCNNを使うか
    •  自然画像にAlexNet,
    Resnet …
    •  スケッチにSketch-A-Net
    2. 特徴空間をマージするための
    ロスはどうやって計算するか
    •  片方を固定して回帰
    •  Contrastive Loss
    •  Triplet Loss

    View Slide

  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͕Ͱ͖Δͱ·͞ʹΫ
    ϩευϝΠϯͳΜͰ͢
    ͚ͲͶ

    View Slide

  17. 特徴空間のマージ: TripletLoss学習
    •  正例との距離が十分近く、負例との距離がे෼ԕ͘ͳΔΑ͏ʹֶश͢Δ
    •  ਖ਼ྫɾෛྫͷ૊Έ߹ΘͤͰαϯϓϧ਺͕૿΍ͤΔɺ͕ɺΔҎ্཭ΕͯΔෛྫ
    ͸ҙຯ͕ͳ͍ͷͰɺ΋ͪΖΜ·ͱ΋ͳෛྫΛಘΔඞཁ͸͋Δ
    17
    CNN CNN
    Triplet
    loss
    CNN
    参照(s)
    正例
    (p+)
    負例
    (p-)

    View Slide

  18. ݁ہɻɻɻ׬੒ܥ
    18
    Sketch
    -A-Net
    Sketch
    -A-Net
    Trip
    let
    Sketch
    -A-Net
    参照
    正例
    負例
    エッジ抽

    エッジ抽

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

    View Slide

  19. ࣮ݧ݁Ռ
    •  ࣮૷ͷৄࡉ͸͋ͱʹճ͠·͕͢ɺ
    –  PairwiseΑΓTripletͷํ͕͍͍
    •  Pairwise: ਖ਼ྫͱෛྫΛࠞͥͯɺަޓʹֶश͢Δ
    –  ը૾ಛ௃ͱεέονಛ௃Λผʑʹֶश͢ΔΑΓɺωοτϫʔΫ
    ڞ༗ͨ͠΄͏͕͍͍!
    •  ͨͩ͠ɺ΋͏গͨ͘͠͞Μσʔλ͕͋ͬͨΒҧ͏Μ͡Όͳ͍͔ɺͱߟ࡯
    ͸ͯ͠·͢ɻ
    19

    View Slide

  20. ΞδΣϯμ
    ΫϩευϝΠϯর߹
    • εέονͷಛ௃ྔ
    • ΫϩευϝΠϯΛ౷߹͢ΔͨΊͷϩε
    ֶशςΫχοΫ
    • సҠֶश
    • εέονͷDataAugmentation
    20

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

  25. సҠֶशͷεςοϓ
    ࣗવը૾ಛ௃நग़
    εέονը૾Ͱ
    ϑΝΠϯνϡʔϯ
    ٖࣅεέον-ࣗ
    વը૾Ͱߥ͘౷߹
    ࠓճͷఏҊσʔλ
    ηοτͰֶश
    25
    •  D. εέον-ը૾σʔλ
    ηοτ
    –  ࠓճͷఏҊσʔληοτ
    –  716εέον716ը૾
    –  ͘͢͝গͳ͍
    –  Data Augmentation
    Triplet

    View Slide

  26. εέονͷData Augmentation
    •  ࠷ޙͷҰ൪ॏཁͳεςοϓͰ࢖͏σʔλ͸716εέον͔͠ͳ
    ͍ɻɻ
    –  12ഒʹData Augmentation͠·͢
    26
    12個のスケッチデータ

    View Slide

  27. εέονͷData Augmentation
    εέονͷಛ௃
    •  ετϩʔΫͷ࿈ଓͰ
    ͋Δ
    –  ෦෼తʹमਖ਼Ͱ͖Δ
    •  ௕͍ετϩʔΫ΄Ͳɺ
    ྠֲͷΑ͏ͳɺೝࣝ
    ʹޮ͘ҰൠతͳઢΛ
    ද͢
    •  લ൒ʹॻ͔Εͨετ
    ϩʔΫ΄Ͳɺ(্ಉ)
    27

    View Slide

  28. 1. Stroke removal
    28
    •  ֤ετϩʔΫͷ࡟আ͞ΕΔ֬཰͸ӈͷࣜʹൺྫ͢Δɻ
    –  o: orderɺԿ൪໨ͷετϩʔΫ͔
    –  l: lengthɺͲΕ͘Β͍௕͍ετϩʔΫ͔

    View Slide

  29. 2. Stroke Deformation
    •  lImage deformation using moving least squares. zͷख
    ๏ʹै͏
    •  ୹͍ɺۂ཰ͷখ͍͞ετϩʔΫ΄Ͳมܗ͞Ε΍͍͢
    29

    View Slide

  30. ΞδΣϯμ
    ΫϩευϝΠϯর߹
    • εέονͷಛ௃ྔ
    • ΫϩευϝΠϯΛ౷߹͢ΔͨΊͷϩε
    ֶशςΫχοΫ
    • సҠֶश
    • εέονͷDataAugmentation
    30

    View Slide

  31. ࣮ݧ݁Ռ: సҠֶश / Data AugmentationͷޮՌ
    •  Step4͚ͩͰ΋ͦͦ͜͜͏·͘
    ͍ͬͯΔͷ͕Ή͠Ζ͍͢͝ͱࢥ
    ͏ɻɻɻ
    31
    ࣗવը૾ಛ௃நग़
    εέονը૾Ͱ
    ϑΝΠϯνϡʔϯ
    ٖࣅεέον-ࣗ
    વը૾Ͱߥ͘౷߹
    ࠓճͷఏҊσʔλ
    ηοτͰֶश

    View Slide

  32. ࣮ݧ݁Ռ: طଘख๏ͱͷൺֱ
    •  HOGΑΓ͍͍ΑͶ
    •  طଘͷσΟʔϓͰ
    ಛ௃நग़ͯ͠
    rankSVMΑΓ͍͍Α
    Ͷ
    •  ࠷ޙͷfine-tune͸େ
    ࣄͩΑͶ
    –  ISN(Improved Sketch
    Net)ͱ͸ɺసҠֶश
    Λऴ͑ͨόʔδϣϯ
    ͷSketch Net
    32

    View Slide

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

    View Slide

  34. 34
    Appendix

    View Slide

  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

    View Slide

  36. Pairwise Loss
    36
    ただしyは、同じクラスかどうかの2値ラベル、Dは特徴空間での距離
    y = 0 の時、exp(-Distance)
    y = 1 の時、Distance**2
    なので、同じラベルのものは近く、異なるラベルのものは遠く、なる

    View Slide