Como funciona a pesquisa de imagens do Dropbox

Se você precisar encontrar uma foto tirada em um piquenique há alguns anos, mal consegue se lembrar do nome que a câmera atribuiu automaticamente ao arquivo no momento da captura, por exemplo, 2017-07-04 12.37.54.jpg . Você olha em tudo - fotografias, seus esboços, tentando identificar objetos ou sinais do que você está procurando - e não importa se você está procurando uma foto perdida ou se quer encontrar uma foto decente nos arquivos para a apresentação de um novo projeto.





Seria ótimo se o Dropbox pudesse ver todas as imagens independentemente e selecionar aquelas que melhor correspondem às palavras na descrição! Esta é exatamente a tarefa que nos propusemos ao criar a função de pesquisa de imagens .





, Dropbox , , , , Dropbox .






Resultados da pesquisa de imagens por palavra-chave "piquenique"
""

, , , Dropbox.





: , () q j, s , , :





s = f(q, j).





- , , . : .





, . , . 





:





  • , , ;





  • , , ;





  • , , - .





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





Resultados da aplicação de um classificador de imagem a uma fotografia típica sem encenação

, , . , , , , , ? , ?





, , , .





. 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], .





, .





Projeção do vetor de palavras de consulta no espaço de categoria

  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) , . :





Conteúdo do índice de pesquisa para pesquisa de texto

, doc_1 doc_2 , . doc_3 , , . 





, , . doc_1 , doc_2, doc_1 .





. jc . .





Índice de pesquisa de conteúdo para pesquisar imagens por conteúdo

, :





  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