Dropbox画像検索の仕組み

数年前にピクニックで撮った写真を探す必要がある場合、撮影時にカメラがファイルに自動的に割り当てた名前を思い出せませんたとえば、2017-07-0412.37.54.jpg写真、スケッチ、探しているもののオブジェクトや兆候を特定しようとするなど、すべてを調べます。紛失した写真を探しているのか、アーカイブで適切な写真を見つけてプレゼンテーションを行うのかは関係ありません。新しいプロジェクト。





Dropboxがすべての画像を個別に表示し、説明の単語に最も一致する画像を選択できれば素晴らしいと思います。これはまさに、画像検索機能を作成するときに自分で設定したタスクです。





, Dropbox , , , , Dropbox .






キーワード「ピクニック」による画像検索結果
""

, , , Dropbox.





: , () q j, s , , :





s = f(q, j).





- , , . : .





, . , . 





:





  • , , ;





  • , , ;





  • , , - .





— 2012 . Krizhevsky . ImageNet hallenge. , , , , Open Images ImageNet, , TensorFlow PyTorch, , . , :





典型的な非ステージング写真に画像分類器を適用した結果

, , . , , , , , ? , ?





, , , .





. jc . C- , C — ( ). , , , .





— . — word2vec — Mikolov . 2013 . Word2vec , , , , . d- , d .





, word2vec. , , :





  1. q d- qw, . w, — c.





  2. ciw. m̂i = qw - ciwi- . -1 1 , . ( mi = max(0, i)), , .





  3. , qc = [m1 m2 ... mC], C- , , — , , .





3 — - , qc = qwC, Cciw.





qcs = qcjc.





. . - , s = qcJ, J jc , s — .





. , — : , , .





, . , [0,35–0,62 0,70], .





, .





クエリワードのベクトルのカテゴリ空間への射影

  EfficientNet, OpenImages. 8 500 . , . , Dropbox.





TensorFlow   ConceptNet Numberbatch. , , , , . : dog chien , .





AND, . , , beach ball, . , OR , beach ball (beach AND ball) OR (beach ball). , .





, , J . , , , , . ().





J , Dropbox Nautilus.





, Nautilus (forward index), (, ) , (inverted index), (posting list) , . :





テキスト検索の検索インデックスの内容

, doc_1 doc_2 , . doc_3 , , . 





, , . doc_1 , doc_2, doc_1 .





. jc . .





コンテンツで画像を検索するためのコンテンツ検索インデックス

, :





  1. qw C qc, . C — , , .





  2. , qc, . , , .





  3. jc qc, s. , .





- , . 10 000 10 000 , 40 . , 10 000 . , 40 80 . , , !





, , , , m̂i , 5 000 . , 10 .





, , , . s = qcjc, qc — 10 000 , jc — 10 000 , . , s





qc jc , . , 10 qc 50 jc . :





  • 10 000- 50 , 50 . ; 50 ( ) 50 ( ) 300 .





  • 10 000, 50 , 200 . , 500 80.





  • qc 10 , 10 — . , .





, . , , , — .





-. , OCR- , .





?

, , Dropbox. . , , . , , , , , " , " .





, , . , "Machine Learning Deep Learning", NVIDIA.





, :





  • Data Scientist





  • Data Analyst





  • Data Engineering









  • Fullstack- Python





  • Java-





  • QA- JAVA





  • Frontend-









  • C++





  • Unity





  • -





  • iOS-





  • Android-









  • Machine Learning





  • "Machine Learning Deep Learning"





  • " Data Science"





  • " Machine Learning Data Science"





  • "Python -"





  • " "









  • DevOps








All Articles