2016年10月27日木曜日

ナイスなファッションをしている人の画像から着ている服をディープラーニングで特定して検索可能に




ファッションコーディネートアプリ「iQON(アイコン)」の開発・運営を行う VASILYが、スナップ写真で着用しているアイテムを検出・検索できる独自のシステムを開発しています。これが例えばショッピングサイトなどに実装されれば、自分が気に入ったスナップ写真をアップロードするだけで、コーディネートを丸ごと真似したり特に気に入ったアイテムだけを購入したりが可能になるかもしれません。 

ディープラーニングによるファッションアイテム検出と検索 - VASILY DEVELOPERS BLOG 
http://tech.vasily.jp/entry/detection_and_retrieval 

システムはスナップ写真を読み込ませると、写真の中からファッションアイテムを検出し、類似アイテムを検索してくれるというもの。 


大まかにわけると以下の3つのタスクにわけれらるそうで、VASILYではこれを達成するために2種類のネットワークを使っているとのこと。 
・写真中からファッションアイテムに該当する領域を検出する 
・検出したファッションアイテムのカテゴリを予測する 
・検出したファッションアイテムに似ているアイテムをDBから検索する
◆ファッションアイテムの検出とカテゴリ予測 
ファッションアイテムの検出およびカテゴリ予測には、「 Single Shot MultiBox Detector(SSD)」と呼ばれる手法が用いられています。 

そのSSDのネットワーク構造は以下の通り。何層にも積まれた畳み込み層ひとつひとつの出力(feature map)を領域の予測とカテゴリの予測に使うのが強みだそうです。 


SSDはGitHub上でコードが公開されており、VASILYの開発スタッフは「SSDを試したい場合はこのコードをそのまま使うことをおすすめします。 ファインチューニングの実験はREADMEには書かれていない操作が必要になるかもしれませんが、よくある落とし穴はissueで著者が回答しているので、困ったらissueを探してみてください。」とコメントしています。 

GitHub - weiliu89/caffe at ssd


◆ファッションアイテムの検索 
そして、ファッションアイテムの検索には「類似度学習」や「特徴抽出」を用いています。 

アイテムの検索時にはアイテムの画像(スナップ写真をトリミングしたもの)を用い、この画像からアイテムの色や形などさまざまな特徴を抽出します。そして、類似度計算により類似アイテムを検索するというのが検出したアイテムに似たアイテムを検索する仕組みです。しかし、アイテム検索のカギとなるのはスナップ写真(のトリミング画像)なので、光や背景などさまざまなノイズが入ります。VASILYでは、このノイズに関わらず同じアイテムであれば大きな値を返すような関数を学習によって獲得するアプローチを取っています。この学習にはディープラーニング系の類似度学習であるtriplet lossを採用したそうです。 

◆実際にどれくらい似たアイテムを検索できるのか? 
難しい単語を並べられてもハッキリいってチンプンカンプンな人も多いはず。実際に開発されたシステムを用いるとスナップ写真からどのようなアイテムを検出し、類似アイテムとしてはどのようなものを検索してくれるのかは以下の画像を見るとわかります。 

スナップ写真から検出されたアイテムは、トップス・バッグ・パンツの3つ。全体的にアイテムの形は似たものからまったく違うものまでリストアップされていますが、色味はかなり元のアイテムに近いものが類似品として表示されている印象です。 


2枚目の結果に至っては「元のスナップ写真と同じアイテムが検索結果として表示されているのでは?」と思うくらいのレベル。 


なお、VASILYの開発者は「幾つか実験を重ねて今の実装になりましたが、まだまだ高度化の余地はあると感じています。より使いやすいシステムを目指して、各タスクの高精度化や検索対象の拡大に取り組んでいきたいと思います」としています。 

0 コメント:

コメントを投稿