# Agro'Deep project: object annotation tools

Philippe Borianne

► To cite this version:

Philippe Borianne. Agro'Deep project: object annotation tools. 2026. hal-05515059

HAL Id: hal-05515059

https://hal.inrae.fr/hal-05515059v1

Preprint submitted on 17 Feb 2026

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY-SA 4.0 - Attribution - ShareAlike - International
License
# Agro'Deep project: object annotation tools

Philippe Borianne<fnref n="1" />,<fnref n="2" />

Agro'Deep (Borianne et al. 2021) is a remote visual data processing platform using deep neural networks that offers services for the detection, segmentation and identification of organs, plants and landscapes for digital agriculture, particularly agroecology, agronomy, agroforestry and agribusiness. It provides thematic research teams with a technical framework and methodological support to deploy, adapt, develop and validate neural networks for specific needs.

Network learning and validation require annotated image datasets. Annotations are provided in additional text files. For the detection and identification of objects in colour images, annotations are typed rectangular boxes encompassing each object of interest visible in each image.

Two digital tools are available to facilitate preliminary annotation tasks:

* Annotator for drawing and labelling bounding boxes on images,

* Checker for visually checking annotation/detection pairing and correcting dataset annotations.

These two digital tools are Java plugins for the free and open-source multi-platform software ImageJ (Schneider et al. 2012) dedicated to image processing and analysis (Abràmoff et al. 2004).

<footnote n="1">¹CIRAD, UMR AMAP, F-34398 Montpellier, France;</footnote>

<footnote n="2">²AMAP, Univ Montpellier, CIRAD, CNRS, INRAE, IRD, Montpellier, France.</footnote>
# Annotator IJ-pluggin : user guide

Annotator is like a Java plugin of the ImageJ application developed as part of the Agro'Deep project to facilitate multi-class annotations of color images. It is distributed under Cecill-B license.

<figure><img src="image_2.png" /></figure>

## Principle

Annotation consists in defining rectangular areas on colour images that include objects of interest. Each of these annotations is defined by the coordinates of the lower left point, the width, the height of its rectangle and a class name. The annotations of the image *toto.jpg* are grouped in the file *toto.txt* which will be archived in a specific folder.

## The inputs / outputs block

Here are specified the files and folders for setting up the plugin, in particular

* The classification model to use: this is a TXT file that specifies the name and colour of the classes to use. Its nomenclature is as follows:

# model HORNETS

# the colour is defined by the rgb string where r, g and b are respectively the red, green and blue

# components; these components range from 0 to 255

#

MODELNAME Hornet

OBJNAME hornet

OBJCOLOR 255 145 35

OBJNAME bee

OBJCOLOR 35 145 255

OBJNAME capture

OBJCOLOR 255 35 255

* The folder where the annotation files are stored. *This folder must be specified before the next one.*

* The folder where the images to be annotated are stored.
## The annotations block

These are the functions related to the management (add, delete, resize) of annotations. The first thing is to choose the class to use. The choice of the function is made by radio button.

<figure><img src="image_3.png" /></figure>

In orange the *hornets*, in pink the *captures*. The pink rectangle shows the *Resize* mode.

## The Images block

The icons represent the tools that can be applied to the current image: the hand represents the selection / movement of a remarkable point of the selected annotation, the cross the movement of the image in the view window, and the magnifying glass the zoom of the image. These tools take precedence over ImageJ's tools.

There are also functions related to image management: select a specific image, go to the previous or the next one. Any change of image will save the annotations of the current image and load the annotations of the new image.

## Downloading / Installation of the plugin

Follow the link http://amap-dev.cirad.fr/projects/annotator/wiki

Once downloaded, the **annotator_.jar** plugin must be copied to the *plugins* subfolder (in the location) or installed by the "Plugins / Install" function of ImageJ or Fiji. In both cases, the applications must be restarted.

## Citation

Borianne, P., 2019. http://amap-dev.cirad.fr/projects/annotator/wiki
## Checker IJ-pluggin : user guide

Checker was developed in the framework of the AgroDeep (AD) project; it allows to visually analyze, and if necessary to correct, the prediction errors of a specialized neural network. It is distributed under a Cecill-B license.

<figure><img src="image_4.png" /><figcaption>Figure 1 : IHM</figcaption></figure>

### Principle

The validation of a neural network consists, among other things, in comparing the expert's annotations to the network's predictions. This work leads to divide the objects into three distinct types:

* True Positives, made up of objects simultaneously annotated by the expert and detected by the network,

* False Positives, corresponding to objects detected by the network but not corresponding to any expert annotation,

* False negatives, corresponding to objects annotated by the expert but not detected by the network.

The result checking consists in making sure that the various objects present in the image are correctly "typed"; it is necessary to be able to correct errors that are not the responsibility of the network (for example FALSE FALSE POSITIVE which correspond to an expert annotation defect).
The Checker plugin allows you to quickly visualize the elements by type and if needed

1. to transfer an object from the False Positive type to the True Positive type, thereby correcting an expert annotation defect,

2. to delete an object of the type False Negatives, thereby correcting an excess annotation,

3. to reclassify an object, particularly in the case of multi-class networks

## Input / Output block

Here are specified the data model to be used and the folders containing the images and type files respectively.

* The **Model** file to use: this is a TXT file that specifies the name and color of the object classes present in the images.

```
# model MANGOES
# the color is defined by the rgb string where r, g and b are respectively the red, green and blue components ;
# these components range from 0 to 255
#
```

<table><tr><td>MODELNAME</td><td>Mango</td></tr><tr><td>OBJNAME</td><td>mango</td></tr><tr><td>OBJCOLOR</td><td>255 145 35</td></tr><tr><td>OBJNAME</td><td>other</td></tr><tr><td>OBJCOLOR</td><td>35 145 255</td></tr></table>

* The **Annotations** folder: it contains TXT files with exactly the same radical as the images contained in the Images folder.

<table><thead><tr><th>ID</th><th>BX</th><th>BY</th><th>Width</th><th>Height</th><th>Name</th><th>Type</th></tr></thead><tbody><tr><td>1</td><td>1823</td><td>480</td><td>43</td><td>18</td><td>other</td><td>FP</td></tr><tr><td>2</td><td>411</td><td>895</td><td>23</td><td>37</td><td>other</td><td>FP</td></tr><tr><td>3</td><td>646</td><td>868</td><td>32</td><td>50</td><td>mango</td><td>FN</td></tr><tr><td>4</td><td>1770</td><td>723</td><td>28</td><td>50</td><td>other</td><td>FP</td></tr><tr><td>5</td><td>371</td><td>1145</td><td>52</td><td>55</td><td>mango</td><td>TP</td></tr><tr><td>6</td><td>146</td><td>1164</td><td>45</td><td>57</td><td>mango</td><td>TP</td></tr><tr><td>7</td><td>422</td><td>1387</td><td>41</td><td>63</td><td>mango</td><td>TP</td></tr><tr><td>8</td><td>348</td><td>1283</td><td>43</td><td>49</td><td>other</td><td>FP</td></tr><tr><td>9</td><td>356</td><td>1359</td><td>50</td><td>60</td><td>mango</td><td>FN</td></tr><tr><td>10</td><td>394</td><td>1241</td><td>40</td><td>56</td><td>mango</td><td>TP</td></tr><tr><td>11</td><td>325</td><td>1190</td><td>32</td><td>51</td><td>mango</td><td>TP</td></tr><tr><td>12</td><td>356</td><td>1221</td><td>44</td><td>56</td><td>mango</td><td>TP</td></tr></tbody></table>

* The **Images** folder: it contains Image files (png, jpg, JPEG,...) with the same radical as the files contained in the Annotations folder.
## Filters block

The filters used are specified here in terms of Type ("True Positive", "False Positive" or "False Negative") and class. In Figure 1 it is indicated on the one hand that only the False Positives will be "seen" and on the other hand that in case of modification they will be assigned to the mango class.

## Objects block

Here are proposed the functionalities applicable to the objects:

* `<`: access to the previous object of the current image in the specified type,

* `>`: access to the next object of the current image in the specified type,

* **Change Type**: allows to modify the type or class of the current object,

* **Suppress**: removes the current object from the list of objects associated with the current image,

* **Undo**: cancels the last operation performed.

Functionalities are blocked / unblocked depending on the filters used.

## Images block

Allows to navigate through the images in the selected folder in the Input/Output block. Changing an image causes the changes made to the current image to be saved.

Some values of the TXT files will be modified.

<table><thead><tr><th>ID</th><th>BX</th><th>BY</th><th>Width</th><th>Height</th><th>Name</th><th>Type</th></tr></thead><tbody><tr><td>1</td><td>1823</td><td>480</td><td>43</td><td>18</td><td>other</td><td>FP</td></tr><tr><td>2</td><td>411</td><td>895</td><td>23</td><td>37</td><td>other</td><td>FP</td></tr><tr><td>3</td><td>646</td><td>868</td><td>32</td><td>50</td><td>remove RM</td><td></td></tr><tr><td>4</td><td>1770</td><td>723</td><td>28</td><td>50</td><td>other</td><td>FP</td></tr><tr><td>5</td><td>371</td><td>1145</td><td>52</td><td>55</td><td>mango</td><td>TP</td></tr><tr><td>6</td><td>146</td><td>1164</td><td>45</td><td>57</td><td>mango</td><td>TP</td></tr><tr><td>7</td><td>422</td><td>1387</td><td>41</td><td>63</td><td>mango</td><td>TP</td></tr><tr><td>8</td><td>348</td><td>1283</td><td>43</td><td>49</td><td>mango TP</td><td></td></tr><tr><td>9</td><td>356</td><td>1359</td><td>50</td><td>60</td><td>mango</td><td>FN</td></tr><tr><td>10</td><td>394</td><td>1241</td><td>40</td><td>56</td><td>mango</td><td>TP</td></tr><tr><td>11</td><td>325</td><td>1190</td><td>32</td><td>51</td><td>mango</td><td>TP</td></tr><tr><td>12</td><td>356</td><td>1221</td><td>44</td><td>56</td><td>mango</td><td>TP</td></tr></tbody></table>
## Displaying

Checker is a visual control tool: it displays the image being analyzed and the selected object in the form of a thumbnail, materialized in the image by a red rectangle.

<figure><img src="image_5.png" /></figure>

Triggered operations (change of type or class, deletion) are applied on the thumbnail object.

## Downloading / Installation

Follow the link http://amap-dev.cirad.fr/projects/checker/wiki

Prerequisite: Install the ImageJ or Fiji application on the computer.
Once downloaded to the computer, the **Checker_jar** plugin must be copied to the plugins subfolder in the root directory of **ImageJ** or **Fiji** or installed using the GUI of those applications. In both cases, the applications will have to be restarted.

<figure><img src="image_6.png" /></figure>

...

## Starting

The Checker plugin is launched from the graphical interface of ImageJ or Fiji.

<figure><img src="image_7.png" /></figure>

## Citation

Borianne, P., 2020. http://amap-dev.cirad.fr/projects/checker/wiki

## Bibliography

Abràmoff, Michael D., Paulo J. Magalhães, and Sunanda J. Ram. "Image processing with ImageJ." Biophotonics international. 2004; 11.7: 36-42.

Borianne P., Théveny F., Bertrand B., Villain L., Faye É., Sarron J., Viennois G., Borne F., Jaeger J. L'IA au service de l'agriculture : au cœur de l'expérience Agro'Deep. 2021. (hal-05019239)

Schneider C.A., Rasband W.S., Eliceiri K.W. NIH Image to ImageJ: 25 years of image analysis. Nat Methods. 2012;9, 671–675.