CIGALE

A web application to support entomological research, particularly in the cropping and classification of insect photographs.

The idea is to offer an application where, at the end of a transect1, you can upload your photos, let a neural network detect one or more insects in each image in order to crop them, verify and adjust these croppings, and then classify them—for example, by identifying the insect species, again with the help of a neural network.

Screenshot of the application, imported insect photos with boxes highlighting insects detected by the neural network
Photo import, insect detection
Screenshot of the application, a photo is displayed with bounding boxes around detected insects, and tools to modify, add, or delete these boxes
Cropping

This need arises from a recurring issue in the current landscape of computer-assisted tools in this field of research: there is no “all-in-one” solution, and it is often difficult to install the necessary software correctly—especially when it involves neural networks.

The project was therefore to create an all-in-one solution, from the camera’s SD card all the way to cropped and annotated images. Moreover, the application is a web app, which means no installation is required. Thanks to a range of modern web platform technologies—often grouped under the banner of PWA (Progressive Web Apps)—the application is available offline after the first use, and performs all neural network inference locally on the device. This improves performance (no need to send images to a remote server), protects privacy, and simplifies deployment of the app.

Screenshot of the application, a photo cropped to a single insect with a field to assign its species, including suggestions and a description with a reference photo
Classification
Screenshot of a spreadsheet showing exported annotations, linking each image to the corresponding species
Annotations export

The application is also designed to be generic, adaptable to different scientific protocols, various fields, and potentially even other areas of research. This is made possible by the concept of protocols, which can be defined by anyone and imported into the application. These protocols specify what metadata is relevant to annotate and which neural network models to use for cropping and annotation suggestions.

Screenshot of the application, dialog allowing you to choose between several classification models
Protocol Choice

Originally a final-year group project (“Long Project”) for my 3rd year at ENSEEIHT, it has since grown beyond that initial scope. Development is now funded by the SETE (Theoretical and Experimental Ecology Station) unit of the CNRS, and I continue to work on it in collaboration with the original academic team and other contributors, who provide insect images and descriptions, neural network models, and more. This project also spawned two JavaScript library projects, swarpc and littrow

made with

footnotes