Avec Gallica Similitudes, à vous la recherche par images similaires !

capture d'écran d'un résultat de recherche d'images similaires

La recherche d'images similaires dans Gallica !

Auteur

Webapp : Raphaël Baudiment, ingénieur étude et développement, BnF

Fiche : Eleonora Moiraghi, assistante de recherche, BnF

Tutoriel : Raphaël Baudiment et Cécile Quach.

En bref

L’application Gallica Similitudes permet de chercher dans Gallica des images similaires à une image donnée issue de Gallica.

L’application

Le prototype Gallica Similitudes met en œuvre une approche d’indexation d’images par le contenu : celle du contenu visuel basée sur les similarités formelles et structurelles des images. Sans faire appel aux techniques d’apprentissage profond, l’objectif était de créer un index à partir d’un corpus d’images de Gallica issu des collections d’images des départements spécialisés de la BnF.

L’index de test de près de 770 000 images ne s’appuie pas sur les métadonnées bibliographiques, mais il est construit à partir de la structure de chacune des images, décrite dans une signature utilisée pour la comparaison et l’identification de similarités lors d’une recherche. À cet effet, pour chaque image, des statistiques ont été calculées sur la distribution colorimétrique (un seul canal pour les images noir et blanc ou en niveaux de gris, trois canaux pour les images en couleur) à l’aide de l’outil open source ImageMagick qui permet de calculer pour chaque canal de l’image la moyenne colorimétrique, l’écart type, l’asymétrie, la courbure et l’entropie.

Afin de rechercher ces images, une application web a été développée pour fonctionner en deux phases : une première phase de présélection qui présuppose la pertinence par rapport à l’image-requête et une deuxième phase de tri pour fournir en réponse de la requête des résultats classifiés par pertinence descendante. Pour cette deuxième phase a été utilisé l’un des algorithmes en surcouches du serveur Solr développés dans le cadre du projet Lucene/LIRE. L’algorithme, choisi en raison de sa pertinence, s’appelle calcul d’empreinte FCTH (Fuzzy Color and Texture Histogram) ; il prend en entrée une image et ensuite calcule une empreinte sous forme d’un tableau de 192 octets. Outre l’index produit par ImageMagick, un deuxième index a donc été constitué via l’algorithme FCTH ; l’avantage étant l’utilisation des empreintes pour le calcul de distance. La mesure de similarité de Tanimoto, a enfin été employée pour calculer cette distance, c’est-à-dire pour classifier les images sur la base du niveau de similarité.

L’index produit a servi à construire une API qui permet d’utiliser un protocole pour interroger les images en termes de palette de couleurs et de proportions.

Grâce au protocole IIIF, d’autres fonctionnalités ont été expérimentées, comme par exemple une expérience renouvelée de l’exploration de documents cartographiques basée sur la comparaison de cartes anciennes avec des systèmes cartographiques contemporains tels qu’OpenStreetMap.

En conclusion, Gallica Images propose une nouvelle forme de découverte des collections BnF, rythmée par des rebonds qui incitent la flânerie et la sérendipité. Dans une application de recherche d’image, cette approche serait complémentaire des techniques d’indexation sémantique.

Ressources utilisées

  • un index de test de près de 770 000 images issues de Gallica
  • l’outil open source ImageMagick
  • le calcul d’empreinte FCTH (Fuzzy Color and Texture Histogram), l’un des algorithmes en surcouches du serveur Solr développés dans le cadre du projet Lucene/LIRE
  • le protocole IIIF
  • OpenStreetMap

En savoir plus

Présentation par Raphaël Baudiment

Tutoriel d’utilisation de Gallica Similitudes

Mots-clé: 
indexation d'images
similarités structurelles d'images
moteur de recherche
application

Ajouter un commentaire

Billets récents