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

[JA] Has Image Recognition Technology Surpassed...

Avatar for mercari mercari PRO
September 30, 2017
2.8k

[JA] Has Image Recognition Technology Surpassed Human Abilities?

Avatar for mercari

mercari PRO

September 30, 2017
Tweet

More Decks by mercari

Transcript

  1. Mercari Tech Conf 2017 Machine Learning Engineer Takuma Yamaguchi 画像認識技術は人間を超えたのか?

    ~ メルカリにおける商品画像認識の現状と今後の発展 ~
  2. 自己紹介 • 学生時代 • パターン認識・画像処理・機械学習 • 博士(工学) • パッケージソフト会社 •

    画像認識、音声認識アルゴリズム • OCR / 音声認識エンジン • 交通インフラ系の製造業 • オペレーションズリサーチ • 鉄道運賃計算アルゴリズム • 画像認識、コンピュータビジョン • 改札機、駐車場、監視カメラ • ソーシャルゲーム会社 • データ分析基盤の開発・運用 • Hadoop / Spark / Hive / Presto • サーバーサイド • 株式会社メルカリ • 2016年〜 • 画像認識を中心とした機械学習 • サーバーサイド 山口 拓真 (Takuma Yamaguchi)
  3. 5.1

  4. メルカリと ImageNet の画像データ メルカリ • カテゴリ数: 1,100+ • 服 •

    靴 • バッグ • 本 ImageNet (ILSVRC) • カテゴリ数: 1,000 • milk can • rugby ball • paper towel • earthstar • envelope • miniskirt, mini • cowboy hat, ten-gallon hat • Trolleybus, trolley coach • etc... • 車 • ハンドメイド • 化粧品 • おもちゃ • etc... 識別の難易度はメルカリ・ImageNet で大きく変わらなさそう → メルカリの商品画像においても人間の識別能力を機械学習で実現できるのでは?
  5. 商品カテゴリの認識 • データ • 1,108 クラス • 学習用: 220万枚 •

    テスト用: 11万枚 • Framework • TensorFlow • モデル • Deep Neural Networks • Inception-v3 • https://github.com/tensorflow/models • 学習環境 • AWS EC2 p2.8xlarge • CPU x 32 • GPU(Tesla K80) x 8 • 学習パラメータ等 • Learning Rate: 0.1 • Batch Size: 256 • Epoch: 15 (60時間) • ほとんどチューニングせず
  6. 識別率の悪いカテゴリ • レディース > 小物 > その他 • レディース >

    バッグ > その他 • レディース > トップス > その他 • レディース > その他 > その他 • メンズ > その他 • ベビー・キッズ > その他 > その他 • ハンドメイド > 趣味/おもちゃ > その他 • スポーツ・レジャー > その他 > その他 • コスメ・香水・美容 > その他 > その他 • エンタメ・ホビー > コレクション > ノベルティグッズ • エンタメ・ホビー > コレクション > その他 • エンタメ・ホビー > その他 > その他 • インテリア・住まい・小物 > その他 • その他 > 日用品/生活雑貨/旅行 > 日用品/生活雑貨 • その他 > 日用品/生活雑貨/旅行 > その他 • その他 > アンティーク/コレクション > 雑貨 • その他 > アンティーク/コレクション > その他 • その他 > その他 ほとんどが “その他” のカテゴリで、選 択肢がないため選択したものなので仕 方がない
  7. 誤識別の分析 • ベビー・キッズ > キッズ服(女の子用) 100cm~ > ジャケット/上着 (0.3682) •

    ベビー・キッズ > ベビー服(女の子用) ~95cm > アウター (0.3037) • ベビー・キッズ > ベビー服(男女兼用) ~95cm > アウター (0.0615) • ベビー・キッズ > キッズ服(男女兼用) 100cm~ > ジャケット/上着 (0.0529) • ベビー・キッズ > ベビー服(男の子用) ~95cm > アウター (0.0481) カッコ内の数字は識別の確度を表 すスコアで、すべての候補のスコア の和は 1.0 となる
  8. 誤識別の分析 カッコ内の数字は識別の確度を表 すスコアで、すべての候補のスコア の和は 1.0 となる 正解は・・・ベビー・キッズ > キッズ服(男の子用) 100cm~

    > ジャケット/上着 (正解: お客様が選択したカテゴリ ) • ベビー・キッズ > キッズ服(女の子用) 100cm~ > ジャケット/上着 (0.3682) • ベビー・キッズ > ベビー服(女の子用) ~95cm > アウター (0.3037) • ベビー・キッズ > ベビー服(男女兼用) ~95cm > アウター (0.0615) • ベビー・キッズ > キッズ服(男女兼用) 100cm~ > ジャケット/上着 (0.0529) • ベビー・キッズ > ベビー服(男の子用) ~95cm > アウター (0.0481)
  9. 誤識別の分析 • レディース > ジャケット/アウター > ピーコート (0.4849) • メンズ

    > ジャケット/アウター > ピーコート (0.3372) • ベビー・キッズ > キッズ服(男の子用) 100cm~ > コート (0.0305) • ベビー・キッズ > キッズ服(男女兼用) 100cm~ > コート (0.0289) • レディース > ジャケット/アウター > トレンチコート (0.0176) カッコ内の数字は識別の確度を表 すスコアで、すべての候補のスコア の和は 1.0 となる
  10. 誤識別の分析 正解は・・・ベビー・キッズ > キッズ服(男の子用) 100cm~ > ジャケット/上着 カッコ内の数字は識別の確度を表 すスコアで、すべての候補のスコア の和は

    1.0 となる (正解: お客様が選択したカテゴリ ) • レディース > ジャケット/アウター > ピーコート (0.4849) • メンズ > ジャケット/アウター > ピーコート (0.3372) • ベビー・キッズ > キッズ服(男の子用) 100cm~ > コート (0.0305) • ベビー・キッズ > キッズ服(男女兼用) 100cm~ > コート (0.0289) • レディース > ジャケット/アウター > トレンチコート (0.0176)
  11. 誤識別の分析 ベビー・キッズ > キッズ服(男の子用) 100cm~ > ジャケット/上着 • 複数のカテゴリが当てはまる場合がある •

    ピンクの水玉のジャケットが男の子用であってもおかしいことではない • サイズがわずかに違うだけの商品は写真からでは人間も見分けられない • 服だけでなく靴などにも当てはまる 間違え方の傾向が、人間とよく似ていることも多く、非常に興味深い
  12. ベビー・キッズ > おもちゃ > 知育玩具 (0.7098) 誤識別の分析 ベビー・キッズ > おもちゃ

    > 知育玩具 ベビー・キッズ > おもちゃ > オルゴール (0.9111)
  13. 誤識別の分析 ベビー・キッズ > おもちゃ > 知育玩具 ベビー・キッズ > おもちゃ >

    オルゴール ルーピングとメリーの識別能力が未 熟のようで、画像の多様性に対し て、学習不足 / データ不足であった 可能性が高い ベビー・キッズ > おもちゃ > オルゴール (0.9111) CNNの中間層を利用して商品同士の類似度計算が可能
  14. 精度改善のためには? No one tells a child how to see, especially

    in the early years. They learn this through real-world experiences and examples. If you consider a child's eyes as a pair of biological cameras, they take one picture about every 200 milliseconds, the average time an eye movement is made. So by age three, a child would have seen hundreds of millions of pictures of the real world. That's a lot of training examples. So instead of focusing solely on better and better algorithms, my insight was to give the algorithms the kind of training data that a child was given through experiences, in both quantity and quality. “
  15. Deep Neural Networksは何を見て識別しているのか? Bolei Zhou, et al., Learning Deep Features

    for Discriminative Localization, CVPR 2016. • Class Activation Mappingというテクニックで可視化できる • 一般的な Convolutional Neural Networks なら適用可能 • Inception-v3においても適用可能
  16. 画像説明文の生成 • Oriol Vinyals, et al., Show and tell: A

    neural image caption generator, CVPR 2015. • https://github.com/tensorflow/models/tree /master/im2txt • https://research.googleblog.com/2016/09/ show-and-tell-image-captioning-open.html 画像のカテゴライズだけでなく、説明文の生成の研究も進んでいる   → 商品画像から商品タイトルも生成できるのでは?
  17. 商品タイトルを含む商品情報の推定 タイトル ブランド カテゴリ 価格 カラー 画像 Deep Neural Networks

    / Deep Learningを中心とした複数の推定モデルを学習 ベビー・キッズ > キッズ靴 > サンダル クロックス クロックバンド Crocs ¥1,500 〜 ¥2,500 ピンク 合計で5,000万件以上の 商品データを学習データとして利用 (現状、精度評価段階であり定量的な評価結果を公開できるまでに至っていない )
  18. まとめ • ImageNet (ILSVRC) のカテゴリ認識では人間の精度を達成とされている • メルカリの商品画像を利用したカテゴリ分類モデルを学習 • ImageNetの識別率には数値的に遠い結果が得られた •

    誤識別率の高いカテゴリ • “その他” カテゴリのような定義があいまいなカテゴリ • サイズや性別によってわけられたカテゴリ (メンズ / レディース / キッズ) • 改善の余地は多々ある • 学習時のハイパーパラメータ調整 • 学習データの追加(特に多様な商品を含むカテゴリ ) • 今後発展 • カテゴリだけではなく、商品タイトル、ブランド、価格、カラーなども含めた推定 • それらの項目を推定するプロトタイプはできており、現在性能評価中 • 製品知識・ブランド知識がない場合には、人間の能力を超えていると感じられる結果も含まれる • e.g. コンビ おしりふきウォーマー / ブルガリ プールオム