{{
}}
Citizen science & machine learning for plant Identification: challenges from Pl@ntNet
Joseph Salmon
IMAG, Univ Montpellier, CNRS, Inria, Montpellier, France
Consortium Pl@ntnet
The services they provide to us
John Severns
Public domain
Malene Thyssen
Public domain
Lynette Schimming − EOL
CC-BY-NC
fuerst.ernst
CC-BY-SA
A machine learning-driven citizen science platform for mobile plant identification
Note: I am mostly innocent, I started working with the Pl@ntNet team in 2020
A multidisciplinary collaboration:
Addressing open challenges:
We need you: come and help us improve it, one way or another!
Alexis Joly
Primary investigator, INRIA
ResearchGate
Pierre Bonnet
Primary investigator, CIRAD
ResearchGate
Jean-Christophe Lombardo
Software Manager, IA engineer, INRIA
LinkedIn
Hervé Goëau
Researcher, CIRAD
ResearchGate
Christophe Botella
Researcher, INRIA
ResearchGate
Joseph Salmon
Researcher, INRIA
Website
Benjamin Bourel
Researcher, INRIA
Website
Lee Sue Han
Senior Lecturer, Swinburne University of Technology Sarawak Campus
Scholar
Fabrice Vinatier
Researcher, INRAE
ResearchGate
Lydia Bousset-Vaslin
Researcher, INRAE
Website
Diego Marcos
Researcher, INRIA
ResearchGate
Vanessa Hequet
Botanist, IRD
LinkedIn
Murielle Simo-Droissart
Botanist, IRD
ResearchGate
Jean-Marc Sadaillan
Project manager, INRAE
LinkedIn
Antoine Affouard
Backend & DB engineer, INRIA
LinkedIn
Mathias Chouet
Backend engineer, CIRAD
GitHub
Thomas Paillot
Front engineer, INRIA
LinkedIn
Rémi Palard
Geo & Fullstack engineer, CIRAD
LinkedIn
Théo Simoes
Backend engineer, INRAE
LinkedIn
Théo Larcher
PhD candidate, INRIA
LinkedIn
Giulio Martellucci
PhD candidate, INRIA
LinkedIn
Raphaël Benerradi
PhD candidate, INRIA
LinkedIn
Ilyass Moummad
Post-doc, INRIA
Personal website | Google Scholar
Millions of images across thousands of species (classes)
A hierarchical taxonomy, with visually similar species prone to confusion
A citizen-science dataset, unevenly sampled across species and regions
9 540 044
Users with accounts
3X more users without accounts
86 814
(WCVP) Species with photos
out of 404 389
1 511 221 837
Queries
unlabeled images : without species
32 952 432
Observations
labeled images: with species
Rkitko
(Wikimedia Commons)
436 TB
Storage
Source: Pl@ntNet stats
WCVP: World Checklist of Vascular Plants database.
Benoît Janichon
Patrice SIROT
Borquez Vicent
Наталья
Annette Bejany
A Lee
Daniel Barthelemy
Campos Ignacio
stefano mazzotti
buqa Jarmil
Walter Reider
furs
Rene Weck
Jcm Arthur
pierre Lamy
Wolfi 41
Dieter Wagner
David Eickhoff − EOL
Patrick Cartier
Maximilien PerrinWhat gets photographed is not random.
Easy access
Visible species
Easy identification
What we see depends on when we look.
Season
Flowering
Plant appearance
Observations can reflect observers own choices.
Personal preferences
Rare species
Endangered species
…
Popular labeled datasets limitations:
Constraints:
Krizhevsky (2009): “Furthermore, we personally verified every label submitted by the labelers”, on CIFAR10 & CIFAR100 paper

Pl@ntNet-300K v1.0 characteristics:
Neurips (Datasets and Benchmarks track) paper
Zenodo, 1 click download
https://zenodo.org/record/5645731
Code to train models
https://github.com/plantnet/PlantNet-300KUncertainty quantification with long-tail

Tiffany Ding
UC Berkeley
within

Jean-Baptiste Fermanian
Inria
“Conformal Prediction for Long-Tailed Classification”
T. Ding, J.-B. Fermanian and J. Salmon
ICLR 2026
Elements to help guide the users
For an input image \(X\), propose the most probable classes \(y\) with confidence level \(1-\alpha\) (with small \(\alpha\))
\[ \mathcal{C}_{\alpha}(X) = \big\{ y : s(X,y) \geq t_\alpha \big\} \]
Conformal prediction: sets \(t_{\alpha}\) as the \((1-\alpha)\) quantile of the scores on a calibration set
Marginal (or standard) coverage targets:
\[\mathbb{P}\big[ Y \in \mathcal{C}_{\alpha}(X) \big ] \geq 1 - \alpha.\]
Class conditional coverage targets:
\[\forall y,\quad \mathbb{P}\big[ Y \in \mathcal{C}_\alpha(X) | Y=y \big ] \geq 1 - \alpha.\]
The optimal set of minimum size and marginal coverage of at least \(1-\alpha\) is: \[ \mathcal{C}_{\alpha}(x) = \left\{ y : p(y|x) \geq t_\alpha \right\} \]
The optimal set of minimum size and conditional coverage of at least \(1-\alpha\) is: \[ \mathcal{C}_{\alpha}(x) = \left\{ y : p(y|x) \geq t_\alpha^{y} \right\} \]
Marginal:
calibrate \(t_{\alpha}\) on whole calibration set \((X_i, Y_i)_{i=1}^n\)
Conditional:
calibrate \(t_{\alpha}^y\) only on \((X_i, Y_i)\) such that \(Y_i = y\)
\[ \text{MacroCoverage} = \frac{1}{|\mathcal{Y}|} \sum_{y \in \mathcal{Y}} \mathbb{P}\big( Y \in \mathcal{C}(X) \, | \, Y = y \big) \]
The optimal set of minimum size and Macro-Coverage of at least \(1-\alpha\) is: \[ \mathcal{C}_{\alpha}(x) = \left\{ y : \frac{p(y|x)}{p(y)} \geq t_\alpha \right\} \]
For user-chosen class weights \(\omega\) with \(\omega(y)\geq 0\) and \(\sum_{y \in \mathcal{Y}} \omega(y)=1\), define the \(\omega\)-weighted macro-coverage :
\[ \begin{align} \mathrm{MacroCov}_{\omega}(\mathcal{C}) = \sum_{y \in \mathcal{Y}} \omega(y) \mathbb{P}(Y \in \mathcal{C}(X) \mid Y = y). \end{align} \]
The optimal set of minimum size and Macro-Coverage of at least \(1-\alpha\) is: \[ \begin{align} \mathcal{C}^*(x) = \left\{ y \in \mathcal{Y} : \omega(y) \dfrac{p(y|x)}{p(y)} \geq t\right\}, \end{align} \]
\[ \omega(y) = \begin{cases} \frac{\gamma}{W} & \text{if } y \in \mathcal{Y}_{\text{at-risk}} \quad (\text{with } W = \gamma|\mathcal{Y}_{\text{at-risk}}| + |\mathcal{Y} \setminus \mathcal{Y}_{\text{at-risk}}|)\\ \frac{1}{W} & \text{otherwise}, \end{cases} \]
Dataset release:
Code release:
Future work