CIGALE

Une application web d’assistance à la recherche en entomologie, en particulier dans le recadrage et la classification de photographies d’insectes.

L’idée est de proposer une application où l’on peut, à l’issue d’un transect1, déposer ses photos, laisser un réseau neuronal détecter un ou plusieurs insectes dans chaque image afin de les recadrer, corriger et vérifier ces recadrages, puis les classifier, notamment en identifiant l’espèce de l’insecte, là aussi avec de l’assistance à la classification par un réseau neuronal.

Capture d’écran de l’application, photos d’insectes importées, avec des boîtes dessus encadrant les insectes détectés par le réseau neuronal
Import des photos et détection d'insectes
Capture d’écran de l’application, une photo est affichée en grand ainsi que les boites autour des insectes, et il y a des outils pour modifier, ajouter et supprimer ces boites
Recadrage

Ce besoin provient d’un constant sur le paysage actuel des outils informatiques d’assistance dans ce champ de recherche: il n’existe pas de solution “tout en un”, et il est en plus parfois difficile d’arriver à correcter installer les logiciels, en particulier lorsqu’ils embarquent des réseaux neuronaux.

Le projet été donc de proposer une solution tout-en-un, qui va de la carte SD de l’appareil photo, jusqu’aux images recadrées et annotées. De plus, l’application est une webapp, et ne nécéssite donc aucune installation. Grâce à diverses technologies modernes des plateformes web, souvent regroupées sous la bannière des PWA (Progressive Web Apps), l’application est disponible hors ligne après la première utilisation, et effectue toute inférence par réseau neuronal sur l’appareil, ce qui améliore la performance (pas besoin d’envoyer les images sur un serveur distant), la confidentialité et la facilité de déploiement.

Capture d’écran de l’application, une photo recadrée à un insecte, et un champ pour lui assigner l’espèce souhaitée, qui propose des suggestions et affiche une description et une photo de référence de la suggestion
Classification
Capture d’écran d’un tableur ouvert sur un export des annotations, associant chaque image à l’espèce correspondante
Export des annotations

L’application est également pensée pour être générique, s’adaptant à différents protocoles scientifiques, différents domaines et éventuellement même d’autres champs de recherche. Ceci est rendu possible par une notion de protocoles, définissables par n’importe qui, et importables dans l’application, qui spécifient qu’est ce qu’il est pertinent d’annoter (les métadonnées), et avec quels modèles de réseaux neuronaux proposer des suggestions de recadrages et d’annotations.

Capture d’écran de l’application, dialogue permettant de choisir entre plusieurs modèles de classification
Choix du protocole

À la base un projet de groupe de fin d’études (“Projet long”) de 3e année à l’ENSEEIHT, il a aujourd’hui dépassé ce cadre. Le développement est financé par l’unité SETE (Station d’Écologie Théorique et Expérimentale) du CNRS, et je continue de la développer en collaboration avec l’équipe éducative initiale, ainsi que d’autres contributeurices, qui fournissent images et descriptions d’insectes, modèles de réseaux neuronaux,… Ce projet a aussi engendré le développement de deux bibliothèques JavaScript, swarpc and littrow

réalisé avec

notes de bas de page