26 juillet 2020

Reconnaissance faciale et OSINT – Digikam

Par Sébastien

Digikam

Inquiétante à plus d’un titre, la reconnaissance faciale peut tout de même s’avérer extrêmement pratique pour l’OSINT. La plus grosse problématique pour son utilisation reste la chaîne d’outils nécessaire : bien souvent des scripts python, des ressources systèmes importantes, une ergonomie douteuse pour le néophyte.

Nous vous proposons aujourd’hui à travers un cas simple, de mettre en œuvre un outil de reconnaissance faciale à moindre effort : Digikam.

Digikam

Digikam est un outil de gestion de bibliothèque photo qui reprend les grands principe de logiciels tels que iPhotos par exemple. Son gros avantage c’est qu’il est gratuit, open-source, et multiplateforme : originellement développé pour Linux, il est désormais disponible pour Windows et Mac. Vous le savez, à OpenFacto, nous sommes friands de logiciels libres!

Digikam est sorti ces jours-ci en version 7 – son développement est très actif! – et cette nouvelle mouture met l’accent sur son nouveau moteur de reconnaissance faciale. Un gros effort a en effet été réalisé pour améliorer les performance de Digikam sur ce point. Et le moins que l’on puisse dire, c’est que ça marche très très bien! y compris sur les animaux!

L’interface de Digikam

On ne s’attardera pas ici sur l’immensité des fonctions de Digikam pour la gestion de sa bibliothèque d’images mais plutôt sur la reconnaissance faciale proprement dite.

Création d’un corpus photo de référence

A l’aide d’Instaloader nous allons télécharger des photos d’un personnage public, pour constituer une base de connaissance de visages. Instaloader est un logiciel python qui permet de télécharger en masse des photos d’instagram. Mais vous pouvez utiliser votre propre technique pour faire de même, y compris télécharger vos photos manuellement. Dans votre répertoire d’images, créez un sous-répertoire et téléchargez-y vos images de références.

instaloader --login votre_login fhollande 

L’idéal est d’avoir plusieurs images sous différents angles de la personne, de près, de loin… Pour cet exemple, j’ai téléchargé au hasard une trentaine de photos, que j’importe ensuite dans Digikam.

L’interface de Digikam sur cet exemple.

Il faut maintenant lancer l’outil de détection de visages. Cliquez bouton droit, puis « Cherchez des visages » sur le nom de l’album.

Puis pour chaque photo de référence, placez un tag mentionnant le nom de la personne sur chaque image.

Sur chaque visage, placez le nom de la personne.

Certains visages ont pu ne pas être détectés par l’application : vous pouvez tout de même les identifier manuellement:

L’icône d’identification manuelle.

Une fois cette étape achevée, vous obtenez une base de référence :

Application sur des photos inconnues

Nous allons maintenant télécharger en masse des photos inconnues, comportant le hashtag « #francoishollande », grâce à Instaloader.

instaloader --login votre_login "#francoishollande"
(n'oubliez pas les guillemets autour du hashtag...

Nous réitérons ensuite la recherche de visages comme ci-dessus, en validant cette fois-ci « recognize faces« , puis en allant dans les « settings » pour baisser la sensibilité à 50%.

Après avoir appuyé sur « Analyser une collection…. » dans le premier onglet, et au bout de quelques secondes, Digikam indique les visages détectés.

Il suffit de les valider un par un pour confirmer la détection ET améliorer la détection future…..

Il est possible de jouer un peu à la hausse ou à la baisse avec le niveau de détection, en fonction de la base de référence (si elle contient beaucoup d’image ou pas), et de la forme des différentes photos.

ici par exemple avec un réglage à 41 au lieu de 50, de nombreux visages sont « reconnus » mais avec une marge d’erreur plus forte…

Conclusion

En détournant un outil tel que Digikam, on peut obtenir très rapidement un très chouette outil d’OSINT et vous faire gagner un temps précieux pour l’exploitation de milliers de clichés.

Attention toutefois. Digikam reste un outil… jamais parfait!
Fiez vous aussi à votre œil!

Rejoignez notre mission.

Adhérez à OpenFacto, et faites de l’OSINT un standard en France.