Flickr se sert des réseaux de neurones pour trouver des images similaires
Tout n'est que vecteurs
Le 08 mars 2017 à 16h00
4 min
Internet
Internet
Flickr vient d’introduire pour ses utilisateurs une nouvelle fonctionnalité, permettant de chercher des images similaires. Une possibilité qui n’a rien de nouveau en soi, mais l’éditeur a travaillé sur un algorithme spécifique qui pourrait être appliqué ensuite à d’autres domaines.
Même si les solutions d’hébergement de photos sont nombreuses, Flickr reste l’une des plus connues et utilisées. Pourtant, le service n’avait jamais introduit jusque-là de comparaison entre les images, et donc la possibilité de chercher des clichés similaires. C’est désormais chose faite, et le service semble particulièrement fier du résultat.
Flickr permet de trouver des images similaires
La fonctionnalité est disponible dès à présent dans le service. Dans une page de résultats, l’utilisateur peut placer la souris sur une image et faire apparaître trois petits points dans le coin supérieur droit. En cliquant dessus, un menu s'affiche dans lequel il pourra masquer temporairement toutes les photos appartenant au même auteur, ou chercher des photos semblables.
Comme on s’en doute, le résultat sera très variable. Sur des formes précises, la comparaison est plus efficace que sur des photos de paysages dans lesquelles on trouve de nombreux éléments. La notion de photos semblables ne prend d’ailleurs pas en compte l’objet lui-même de la même photo. Si on avait par exemple cherché des clichés du Mont Ventoux, les résultats semblables peuvent afficher des paysages similaires, et non plus nécessairement cette montagne en particulier.
Décomposer les images en lots de vecteurs
Si la fonction est forcément intéressante pour les utilisateurs réguliers de Flickr, elle est bien loin d’être nouvelle. Presque tous les moteurs classiques de recherche la proposent depuis des années, notamment Google qui permet depuis longtemps d’envoyer soi-même une photo pour en chercher des similaires. Le point intéressant dans l’annonce de Flickr est cependant que l’éditeur détaille sa technique et parle de l’algorithme utilisé.
Nommé LOPQ, pour Locally Optimized Product Quantization, il a nécessité selon l’entreprise plusieurs années de travaux, avec la participation de Yahoo (qui l’a rachetée entre temps). LOPQ analyse les images et les décompose en vecteurs, avant d’analyser la distance qui les sépare. En d’autres termes, il les réduit à une somme de caractéristiques mathématiques, qu’il peut nettement plus facilement comparer avec les autres.
Cette collaboration entre Flickr et Yahoo permettrait une analyse particulièrement rapide des clichés, en indexant systématiquement tous les vecteurs voisins pour créer une sorte de carte, ou modèle. Selon l’éditeur, cette opération se fait à peu de frais et ne nécessite pas de grandes quantités de mémoire vive.
Un algorithme qui réclame une infrastructure adaptée
En fait, Flickr est si certain de la qualité de son algorithme qu’il parle déjà de l’employer à l’avenir pour d’autres types d’applications. LOPQ serait particulièrement utile pour analyser rapidement tout ce qui pourrait être résumé à des lots conséquents de données vectorielles, notamment le texte et les vidéos, et pourquoi pas les molécules en biotechnologie.
Google utilise déjà une technique de ce genre pour son outil Traduction, tandis que Facebook travaille lui aussi sur une solution similaire : « on prend un texte en anglais, on le passe dans un réseau récurrent, qui extrait un long vecteur qui représente le sens de la phrase, et ensuite un autre réseau récurrent régurgite la phrase dans une autre langue, par exemple le français ».
Il faut cependant disposer de l’infrastructure nécessaire puisque LOPQ est conçu pour fonctionner sur la base d’un réseau de neurones, dont on rappelle qu’ils sont très utilisés en intelligence artificielle. Flickr indique que ce type de réseau est employé depuis longtemps pour certaines opérations comme la reconnaissance des objets, la prédiction du caractère NSFW d’une photo ou encore celle d’un niveau esthétique global.
Des implémentations open source pour les développeurs
Par ailleurs, si l’éditeur parle autant de son algorithme, c’est que les développeurs intéressés peuvent eux-mêmes y jeter un coup d’œil. Flickr pointe ainsi vers deux implémentations open source réalisées en Python et en Sparck. Il explique que l’algorithme produit tout un ensemble d’index que les développeurs peuvent interroger via un index inversé. Les sources sont disponibles sur GitHub, sous licence Apache 2.0.
Flickr se sert des réseaux de neurones pour trouver des images similaires
-
Flickr permet de trouver des images similaires
-
Décomposer les images en lots de vecteurs
-
Un algorithme qui réclame une infrastructure adaptée
-
Des implémentations open source pour les développeurs
Commentaires (7)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 08/03/2017 à 16h03
Des implémentations open source pour les développeurs
Par ailleurs, si l’éditeur parle autant de son algorithme, c’est que les développeurs intéressés peuvent eux-mêmes y jeter un coup d’œil. Flickr pointe ainsi vers deux implémentations open source réalisées en Python et en Sparck. Il explique que l’algorithme produit tout un ensemble d’index que les développeurs peuvent interroger via un index inversé. Les sources sont disponibles sur GitHub, sous licence Apache 2.0.
Mais c’est bon ça! " /> " />
C’est bien en tout cas, on se dirige à grands pas dans ce monde de réseaux de neurones
Les possibilités sont immenses! (pour le meilleur et pour le pire)
Le 08/03/2017 à 16h07
Quand tu cherches homme politique il te ramène des escrocs ?
Le 08/03/2017 à 16h12
vivement les greffes
Le 09/03/2017 à 02h25
Spark pas Sparck ;)
Le 09/03/2017 à 14h07
Sinon y’a tineye … ca existe depusi super longtemps … aucune innovation ici
Le 09/03/2017 à 17h02
Il y a quand même un gap entre tineye (<3 )et googleimages. cela doit se rapprocher de la techno que google propose si je comprends bien
Le 09/03/2017 à 17h44
Une photo de pin-up peut-elle faire disjoncter une IA mâle ?