Les ours bruns ont un visage, et il peut être identifié
Qui est cet énorme quadrupède qui fait trempette dans les eaux glacés du Grand Nord ? Le système de reconnaissance faciale pour ours bruns BearID peut vous le dire.
Les ours bruns sont comme vous et moi : moins on les dérange, mieux ils se portent. Les biologistes de la conservation le savent bien, mais ils ont tout de même besoin de suivre les pérégrinations de ces ursidés pour veiller à leur bonne santé. Le projet BearID leur permet désormais confier une partie de cette tâche difficile aux machines.
Un œil entraîné peut reconnaître un ours brun en situation réelle ou sur des clichés de pièges photographiques. Cependant, en plus de dépendre d’un petit nombre de spécialistes, cette méthode manque de solidité. Le projet BearID a donc développé un système de reconnaissance faciale pour les Ursus arctos. Et ça marche : BearID identifie des animaux individuels avec 84% de précision.
Boite Noire a rencontré Ed Miller, l’un des piliers du projet, pour lui demander comment il a appris aux machines à reconnaître des ours. Figurez-vous que tout part d’un programme pour « hipsteriser » son chien.
∎ Bonjour Ed. Qui êtes-vous ?
∎ Ed Miller : Je suis développeur de hardware, de software et de systèmes pour produits multimédias et appareils connectés. Je suis ingénieur principal chez Arm, mais aussi développeur bénévole pour le projet BearID. En ce moment, je me concentre sur la télédétection, la vision par ordinateur et le deep learning. Dans le projet BearID, Je travaille avec Mary Nguyen, qui développe des applications de machine learning et de deep learning depuis 2016.
∎ Qu’est-ce que BearID ?
Le projet BearID veut faire progresser le domaine des technologies de conservation en développant un logiciel de reconnaissance faciale pour le suivi de la faune. En nous appuyant sur des techniques de reconnaissance faciale pour humains, nous développons un outil qui permet d’identifier les ours bruns à partir d’images de leur « visage ». Appliquée aux clichés fournis par des pièges photographiques, cette technologie pourrait permettre aux scientifiques de surveiller les populations sauvages d’Ursus arctos, mais aussi ouvrir de nouvelles questions de recherche appliquée.
∎ Pourquoi les ours bruns et pas une autre espèce ?
Mary et moi sommes de fervents spectateurs des webcams Explore.org et en particulier des « bear cameras » de Brooks Falls, dans le parc national de Katmai en Alaska. Dans les forums dédiés à ces caméras, les gens reconnaissent les ours qui passent à l’image. Ils diffusent aussi des conférences de gardes forestiers et des commentaires vidéo qui évoquent tel ou tel ours, sa vie, ses activités… Et peu à peu, nous avons appris à reconnaître de nombreux ours, nous aussi.
∎ Comment BearID est-il né ?
Avant, je ne connaissais rien au machine learning. Mais comme cette technique revenait de plus en plus souvent dans mon travail, j’ai décidé de prendre quelques cours pour me former. Mary s’est jointe à moi et après quelque temps, nous avons voulu lancer un projet pour appliquer notre apprentissage. Or, à peu près au même moment, nous apprenions aussi à identifier les ours de Brooks Fall… Ces deux éléments semblaient faits l’un pour l’autre. Le machine learning sait bien identifier les choses que les humains savent identifier, et les ours bruns peuvent être identifiés par les humains. Nous avons donc souhaité savoir si nous pouvions développer une application pour identifier les ours bruns.
Tout d’abord, nous avons essayé de comprendre comment les humains identifient les ours. Ensuite, nous avons examiné d’autres projets de machine learning axés sur la faune. Et finalement, nous avons opté pour la reconnaissance faciale. Selon nous, cette technique pouvait donner de bonnes choses sans demander trop de travail car elle a déjà de nombreuses approches bien définies.
Nous avons contacté le parc national de Katmai pour leur parler de notre projet et leur demander si nous pouvions piocher dans les photos de leur programme de surveillance des ours. Ces données initiales nous ont permis de développer un prototype fonctionnel. Nous avons alors réclamé d’autres photos d’ours sur Wildlabs, un site qui veut rassembler les écologistes et les technologues. C’est comme ça que nous avons rencontré une chercheuse en conservation de l’Université de Victoria, Melanie Clapham, qui surveillait les mouvements des ours bruns de Colombie-Britannique avec des pièges photographiques. Peu de temps après, Melanie, Mary et moi-même avons formé le projet BearID.
∎ Apparemment, le premier bloc de votre projet était un petit programme pour « hipsteriser » son chien… Vous pouvez nous expliquer ?
Les premières étapes cruciales de notre pipeline de reconnaissance faciale sont la détection des visages d’ours et leur réorientation dans une pose commune.
Les réseaux de classification d’objets, qui sont nombreux et accessibles, se chargent de trouver ces visages. Mais une fois les visages identifiés par la machine, il faut les réorienter. Et pour ce faire, vous devez identifier certains points-clés, ou points de repère, comme les yeux et le nez. Ces points peuvent alors être utilisés pour transformer le visage de l’image originale en une image de visage normalisée que nous appelons « face chip ».
Malheureusement, entraîner un réseau de neurones à effectuer cette transformation demande des centaines ou des milliers d’images labellisées avec des boîtes d’encombrement, ces cadres autour de l’objet que vous souhaitez détecter, et des points de repère qui marquent les emplacements de chaque point-clé. J’ai commencé ce travail de labellisation à la main, mais cela prenait beaucoup de temps.
L’une des bibliothèques de machine learning que nous avons étudiées, dlib, possédait un très bon outil de labellisation d’image automatique appelé imglab. Quelques mois avant le début de mes recherches, son développeur a publié un billet de blog intitulé Hipsterize Your Dog With Deep Learning. Ce billet montre que dlib peut être utilisé pour détecter un objet, dans ce cas des visages de chien, et des points de repères, ici les yeux, le nez, les oreilles et le haut de la tête de l’animal. Ces informations étaient ensuite utilisées pour affubler les chiens de lunettes et de moustaches.
Par chance, nous avons découvert que les réseaux du « Dog Hipsterizer » fonctionnaient également assez bien pour les ours. Donc, plutôt que de labelliser manuellement des images d’ours, nous avons fait appel à ces réseaux dans la première version de notre système Bearface. Cela nous a permis de passer rapidement à l’étape suivante, le « face embedding ». Et au final, nous avons créé un data set d’entraînement constitué de visages d’ours et de leurs points-clés en modifiant à la main les labels incorrects du dog hispterizer. Ce data set nous a permis de ré-entraîner Bearface pour le rendre plus précis.
∎ Que se passe-t-il après cette phase de détection ?
BearID suit le même flux que le FaceNet de Google, l’une des premières méthodes de deep learning pour la reconnaissance du visage humain. Une fois les visages des images originales transformés en « face chips » par leur identification, leur réorientation et leur redimensionnage en 150x150 pixels, nous passons au chiffrement.
Pour ce faire, nous avons utilisé le Deep Metric Learning de dlib pour créer des « embeddings » des visages d’ours. Ces embeddings sont des vecteurs en 128 dimensions. Pendant l’entraînement de ce système, nous lui avons présenté deux face chips du même ours ou deux face chips d’ours différents. La fonction de perte force les embeddings pour deux images du même ours à se « rapprocher » dans leur espace à 128 dimensions. De la même manière, les embeddings pour des face chips d’ours différents sont supposés se séparer l’un de l’autre. Si vous lanciez tous les face chips de tous les ours dans cet espace, vous devriez obtenir des groupes d’embeddings distincts pour chacun de ces ours.
La dernière étape est la mise en correspondance du visage. Nous utilisons une machine à vecteurs de support pour attribuer un embedding à un ours précis. En gros, des classificateurs binaires comparent chaque ours à tous les autres ours. L’animal qui obtient le plus grand nombre de classification « gagne ».
∎ Pouvez-vous élaborer sur la partie embeddings et vecteurs en 128 dimensions ? Comment cela aboutit-il à l’identification d’un ours ?
En gros, la machine « traduit » chaque face chip en un vecteur à 128 dimensions ou « embedding ». Ensuite, elle place les vecteurs provenus de face chips du même ours à proximité les uns des autres, tout en plaçant les vecteurs de visages d’ours différents loin les uns des autres. Chaque fois qu’elle est confrontée à un nouveau face chip, cette machine lui attribue un nouveau vecteur. Et si tout se passe bien, ce vecteur est proche des vecteurs que la machine a déjà attribués à des face chips du même ours.
∎ Comment avez-vous assemblé et labellisé votre « golden dataset » ?
Le label souverain est sans aucun doute le nom de chaque ours sur chaque photo. Cette tâche a été effectuée par des experts qui ont étudié les populations auxquelles appartiennent ces ours. Pour les ours de Brooks Falls, ce sont leurs « surveillants » et les gardes nationaux du parc national de Katmai qui ont mis la main à la pâte. Melanie Clapham a identifié les ours de Glendale Cove, où elle travaille depuis dix ans.
L’autre tâche de labellisation est la définition des boîtes d’encombrement et des points-clés pour chaque visage d’ours, dont nous avons déjà parlé avec Dog Hipsterizer.
∎ Votre modèle ne parvient pas toujours à identifier un ours. Quand cela se produit, comment pouvez-vous savoir pourquoi ?
C’est très difficile et cela fait partie de notre domaine d’étude actuel. Certaines méthodes, notamment la matrice de confusion ou les graphiques t-NSE, semblent pouvoir nous aider à comprendre. Grâce à elles, nous pouvons identifier les ours qui suscitent le plus d’erreurs. Selon notre hypothèse principale, nos erreurs sont liées à des biais dans les données. Par exemple, nous avons beaucoup moins de photos de certains ours que d’autres. Et pour certains ours, nous n’avons que des photos d’une saison. D’autres apparaissent uniquement sur des photos aux facteurs peu variés : pose, lumière… Dès lors, toute nouvelle image, peut-être pendant une saison différente ou dans une autre configuration, fait mauvais ménage avec le dataset existant. C’est la raison pour laquelle nous cherchons toujours plus d’images.
∎ BearID ne fonctionne que pour Ursus arctos mais serait « transférable à d’autres mammifères ». Lesquels et comment ?
Notre objectif initial concerne d’autres espèces d’ours, mais nous pensons que BearID peut s’accommoder d’autres espèces dont le visage est similaire à celui des ursidés. Après tout, nous avons commencé avec un réseau entraîné sur des chiens… Dans chaque cas, les algorithmes et le code pourront rester les mêmes, mais les réseaux devront être ré-entraînés et le générateur de chips devra peut-être également être ajusté.
∎ Connaissez-vous d’autres projets appliquant l’intelligence artificielle à la reconnaissance de la faune ?
La reconnaissance faciale a été utilisée pour quelques primates, notamment les chimpanzés et les lémuriens. En fait, ces systèmes peuvent fonctionner tant que l’espèce concernée manifeste un trait d’identification distinct : les rayures des zèbres et des tigres, les tâches des léopards et des requins-baleines, et même les motifs sur la queue de certains cétacés. Les ours bruns sont intéressants parce qu’ils ne disposent d’aucun trait de ce genre, et c’est la raison pour laquelle nous utilisons leur visage. Nous pensons que cette méthode peut aider à identifier d’autres espèces, et nous allons continuer à enquêter sur d’autres techniques. ∎
Boîte Noire est la newsletter hebdomadaire sur l’intelligence artificielle de Sébastien Wesolowski. Inscrivez-vous par ici : http://eepurl.com/hivYvT