You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

21 KiB

🍄 Projet de groupe 2024 sur la reconnaissance de champignons 🍄

Auteurs : Heuzef, Yvan Rolland, Viktoriia Saveleva, Florent Constant


Rendu N°1 : Rapport d’EDA

Date : 06/2024

1. Introduction

La comprĂ©hension des champignons est cruciale pour la prĂ©servation de la biodiversitĂ©, la santĂ© humaine et l’agriculture durable.

Les champignons ne sont pas des plantes, bien que leur apparente immobilitĂ© puisse le faire penser. Une distinction simple est que les champignons ne font pas de photosynthĂšse, contrairement Ă  une majoritĂ© de plantes. En fait, dans l’arbre de la vie, les champignons sont plus proches des animaux que des plantes bien que leur mode de nutrition, paroi cellulaire, reproduction, les distingues Ă©galement nettement des animaux.

L’arbre de la vie, qui reprĂ©sente la parentĂ© entre les organismes vivants, peut ĂȘtre dĂ©coupĂ© en six rĂšgnes. Les champignons reprĂ©sentent rien qu'Ă  eux le rĂšgne fongique, qui rassemblerait hypothĂ©tiquement jusqu'Ă  5 millions d’espĂšces de champignons. Parmi toutes ces espĂšces, environ seulement 120 000 ont Ă©tĂ© nommĂ©es et “acceptĂ©es” par la communautĂ© scientifique en 2017.

La reconnaissance de champignons reprĂ©sente un dĂ©fi dans le domaine de la vision par ordinateur. En effet, les critĂšres biologiques et le peu d’espĂšce rĂ©fĂ©rencĂ©s limite Ă  une reconnaissance peu fiable et sur un Ă©chantillon insignifiant si l’on souhaite Ă©tudier l’ensemble du rĂšgne fongique.

La classification classique des vivants est schématisée ainsi :

Classification classique des rĂšgnes
Animal
Plante
Champignon (Fungi)
Protiste
Bactérie
Archée

Et les principaux rangs taxonomiques ainsi (ici, un exemple de classification du trùs connu “Champignon de Paris") :

taxon.png

On y voit que les champignons sont classés (du plus général au plus spécifique) en divisions, ordres, familles, genres et espÚces.

L'Ă©tat de l’art nous apprend que la reconnaissance des champignons au sens large ne sera possible que sur un Ă©chantillon trĂšs faible du rĂšgne fongique, mais ce n’est pas tout, en effet, la vision par ordinateur effectue un balayage des images matricielle pour comparer les similitudes pour chaque pixel avec des images dĂ©jĂ  labellisĂ©, ainsi, nous dĂ©pendons de la qualitĂ© des sources de donnĂ©s, qui ne reprĂ©sentent qu’un Ă©chantillon des ~120 000 espĂšces scientifiquement nommĂ©es sur un total pouvant aller jusqu'Ă  5 millions d’espĂšces thĂ©orique.

Il existe Ă©galement la distinction entre macro-champignons et micro-champignons, qui se base sur une combinaison de caractĂ©ristiques morphologiques, cellulaires, reproductives, Ă©cologiques et Ă©conomiques. L’identification prĂ©cise des champignons exige des connaissances approfondies en mycologie. Par ailleurs les diffĂ©rentes sources alertent quand Ă  la difficultĂ© de l’identification d’une espĂšce se basant uniquement sur l’aspect visuel.

À ce jours, il existe approximativement 35000 genres et de champignon sur terre et certain peuvent compter jusqu'Ă  des milliers espĂšces nommĂ©s, tandis que d’autre peuvent n’en compter qu’une seul.

Une analyse visuelle des diffĂ©rents rangs taxonomiques sur des Ă©chantillons de photos extraite de Mushroom Observer nous laisse penser que c’est au niveau de l’espĂšce que nous pouvons observer les plus de traits caractĂ©ristiques en vue de rĂ©aliser une identification visuelle :

Visuel par ordre :

Des champignons appartenant à l’ordre des PEZIZALES :

visu_diff_01.png

Visuel par famille :

Des champignons appartenant Ă  la famille des RUSSULACEAE :

visu_diff_02.png

Visuel par genre :

Des champignons du genre CANTHARELLUS :

visu_diff_03.png

Visuel par espĂšce :

Des champignons appartenant à l’espùce HYPHOLOMA LATERITIUM :

visu_diff_04.png

C’est Ă©galement communĂ©ment le niveau d’identification recherchĂ© car c’est au niveau de l’espĂšce que sont dĂ©finies les principales propriĂ©tĂ©s d’un champignon, telles que la comestibilitĂ©.

Nous constatons Ă©galement que les champignons peuvent avoir des formes si variĂ©es que deux champignons de la mĂȘme espĂšce peuvent avoir un aspect trĂšs diffĂ©rent (notamment en fonction de l’age), alors que deux champignons d’espĂšces diffĂ©rentes peuvent afficher une trĂšs forte ressemblance.

VariĂ©tĂ©s de formes dans une mĂȘme espĂšce

Pour illustration, deux champignons de l’espĂšce Coprinus comatus mais visuellement trĂšs diffĂ©rents :

visu_diff_05.png

Confusions possibles

De mĂȘme deux champignons de genres diffĂ©rents visuellement difficiles Ă  distinguer, ici Clytocibe nĂ©buleux et Entolome livide :

visu_diff_06.png

visu_diff_07.png

2. Objectif

Ce premier niveau de connaissance de la problĂ©matique d’identification visuelle d’un champignon nous permet de distinguer trois difficultĂ©s majeures du domaine :

  1. L’immense quantitĂ© d’espĂšces existantes, la proximitĂ© visuelle importante existant entre certaines espĂšces et la diffĂ©rence morphologique pouvant exister au sein d’une mĂȘme espĂšce.

  2. La quantité et la qualité des données disponibles seront déterminantes pour obtenir un modÚle performant.

  3. Selon nos propres capacitĂ©s et le temps disponible pour la rĂ©alisation du projet, nous pourrons fixer diffĂ©rents niveaux d’objectifs Ă  atteindre pour notre projet, l’essentiel restant l’aspect pĂ©dagogique et l’acquisition de compĂ©tences.

L’objectif primaire est d’entraĂźner un modĂšle pour la reconnaissance des champignons. Pour atteindre cet objectif, il faudra suivre les Ă©tapes suivantes :

  1. Analyser la taxonomie et définir le niveau sur lequel nous concentrer

  2. Analyser les données disponibles

  3. Trier et filtrer les données

  4. Data augmentation (crĂ©er de nouveaux Ă©chantillons d’entraĂźnement en appliquant diverses transformations aux images existantes)

  5. Prétraitement des données

  6. Poursuivre avec des techniques de deep learning

Nous pourrons donc travailler Ă  entraĂźner un modĂšle capable d’identifier un nombre plus ou moins grand d’espĂšces avec le plus de prĂ©cision possible. Le niveau de difficultĂ© pourra donc ĂȘtre modulĂ© selon le nombre d’espĂšces introduites mais aussi la ressemblance visuelle entre les diffĂ©rentes espĂšces introduites.

Nous pourrons Ă©galement envisager diffĂ©rentes approches, par exemple entraĂźner et utiliser un modĂšle pour faire du “boxing”, gĂ©nĂ©rer des donnĂ©es artificielles par des transformations des images de notre jeu de donnĂ©es, essayer de quantifier le volume d’images nĂ©cessaire pour l’obtention d’un certain niveau de performances ...

3. Sources de données identifiées

Les ensembles de donnĂ©es contenant des champignons sont largement utilisĂ©s pour l’entraĂźnement des algorithmes de machine learning et de deep learning. Divers ensembles de donnĂ©es sont disponibles en accĂšs libre pour diffĂ©rentes finalitĂ©s.

UC Irvine Mushroom Database (https://archive.ics.uci.edu/dataset/73/mushroom) comprend 8 124 enregistrements de donnĂ©es et 22 attributs. Chaque espĂšce de champignon est identifiĂ©e comme une classe de champignons comestibles ou toxiques. Ces donnĂ©es sont rĂ©parties en 4 208 champignons comestibles et 3 916 champignons toxiques. De nombreuses approches diffĂ©rentes sont prĂ©sentĂ©es dans la littĂ©rature pour travailler avec ce type de caractĂ©risation des champignons basĂ©e sur les caractĂ©ristiques physiques (pas d’images). Cependant, dans ce travail, nous nous concentrons principalement sur la reconnaissance d’images, notre attention se portant sur les ensembles de donnĂ©es d’images.

Mushroom Observer

Mushroom Observer est un site web oĂč les gens peuvent tĂ©lĂ©charger des observations de champignons. Ces observations incluent diffĂ©rentes informations sur l’espĂšce observĂ©e, comme le nom, l’emplacement, et la certitude concernant l’espĂšce sur les images soumises. Le site est basĂ© sur des photos prises par un grand nombre d’individus qui ne sont pas nĂ©cessairement des experts dans ce domaine. La certitude des Ă©tiquettes de classe, donnĂ©e par la communautĂ© est sur une Ă©chelle continue de 1 Ă  3 (oĂč 3 reprĂ©sente le plus haut niveau de certitude).

L’analyse des images de Mushroom Observer montre deux problĂšmes principaux liĂ©s Ă  :

  1. la qualitĂ© des images. Il y a beaucoup d’images qui ne sont pas exploitables : schĂ©mas, clichĂ©s microscopiques, etc ...

mo_useless_pictures.png

Exemples de photos inexploitables

  1. le niveau de fiabilitĂ© de l’attribution de classe. Le systĂšme de vote pour la classification des champignons ajoute de l’incertitude dans l’attribution de classe.

mo_confidence.png

Ainsi, la base de donnĂ©es ne peut pas ĂȘtre utilisĂ©e telle quelle Ă  partir du site web et doit ĂȘtre filtrĂ©e.

MO106 Database

En analysant la littĂ©rature utilisant l’ensemble de donnĂ©es Mushroom Observer, nous avons trouvĂ© une base de donnĂ©es MO106 disponible en accĂšs libre oĂč les auteurs ont sĂ©lectionnĂ© 106 classes de champignons de Mushroom Observer en utilisant les critĂšres suivants : espĂšces ayant au moins 400 images, images avec certitude ≄ 2. De plus, pour filtrer automatiquement les images afin d’obtenir une image correcte de champignon (sans objets supplĂ©mentaires ou sans champignons), les auteurs ont formĂ© un modĂšle CNN spĂ©cifique.

Cela a abouti Ă  un ensemble de donnĂ©es MO106 contenant 29 100 images rĂ©parties en 106 classes. La plus grande classe compte 581 Ă©lĂ©ments, la plus petite 105, avec une moyenne de 275. Les images, disponibles gratuitement pour le tĂ©lĂ©chargement, ont des tailles variant entre 97 × 130 (plus petite surface) et 640 × 640 (plus grande surface).

Pour une observation nous obtenons :

  •   Photos
  •   Genre et espĂšces

Mushrooms classification - Common genus’s images

Dataset de champignons basés sur des images.

Cet ensemble de donnĂ©es contient 9 dossiers d’images des genres de champignons les plus communs du nord de l’Europe (Agaricus, Amanita, Boletus, Cortinarius, Entoloma, Hygrocybe, Lactarius, Russula et Suillus). Chaque dossier contient entre 300 et 1 500 images sĂ©lectionnĂ©es de genres de champignons. Les Ă©tiquettes correspondent aux noms des dossiers. Des codes de classification utilisant cet ensemble de donnĂ©es sont Ă©galement disponibles.

L’avantage de cette base de donnĂ©es par rapport Ă  Mushroom Observer est que la classification a Ă©tĂ© vĂ©rifiĂ©e par la sociĂ©tĂ© de mycologie d’Europe du Nord, qui a fourni les sources des champignons les plus communs de cette rĂ©gion et a vĂ©rifiĂ© les donnĂ©es et les Ă©tiquettes.

Pour une observation nous obtenons :

  •   Photos
  •   Genre et espĂšces

MycoDB

Le site mycodb.fr nous permet d’acquĂ©rir des caractĂ©ristique prĂ©cises d’un champignon identifiĂ© via un nom binominal, pour une observation nous obtenons :

  •   Photos
  •   Division - Classe - Ordre - Famille
  •   Synonymes
  •   Chapeau
  •   Lames
  •   Stipe
  •   Saveur
  •   Odeur
  •   Couleur de la sporĂ©e
  •   Ecologie
  •   ComestibilitĂ©
  •   RĂ©fĂ©rences bibliographiques

Wikipedia

WikipĂ©dia reste une source d’information trĂšs complĂ©mentaire et souvent exhaustive pour en apprendre plus sur un genre ou une espĂšce de champignon.

Conclusion

AprĂšs identification de ces diffĂ©rentes sources de donnĂ©es nous concluons que Mushroom Observer sera celle qui sera la plus exploitable pour obtenir des donnĂ©es de qualitĂ©. Le site dispose d’une API permettant un accĂšs Ă  la quasi totalitĂ© des donnĂ©es, permettant d’obtenir une visualisation prĂ©cise du nombre d’espĂšces rĂ©pertoriĂ©es ainsi que du nombre d’observations et d’images associĂ©es Ă  chaque espĂšce.

Par ailleurs le jeu de donnĂ©es MO106 dĂ©jĂ  extraites de Mushroom observer pourrait ĂȘtre une source inintĂ©ressante car dĂ©jĂ  prĂȘte Ă  l’emploi bien que la qualitĂ© des images sĂ©lectionnĂ©e Ă©chappe Ă  notre contrĂŽle. Cela pourra par exemple donner lieu Ă  un comparatif de prĂ©cision des rĂ©sultats en fonction de la qualitĂ© des images en entrĂ©e.

4. Exploration approfondie des données disponibles sur Mushroom observer

Le principal avantage de Mushroom observer est qu’il met Ă  disposition une API permettant d’accĂ©der a des donnĂ©es structurĂ©es issues de sa base. Ces donnĂ©es nous permettrons de faire une analyse qualitative et quantitative des images disponibles. Les donnĂ©es ont Ă©tĂ© tĂ©lĂ©chargĂ©es au format CSV et sont prĂ©sentes sur le dĂ©pĂŽt du projet.

Principales tables

table names

Cette table contient l’arborescence des nommages disponibles sur le site, rĂ©partis en niveaux (rangs) de la maniĂšre suivante :

  1. forme
  2. variété
  3. sous-espĂšce
  4. espĂšce
  5. stirpes
  6. sous-section
  7. section
  8. sous-genre
  9. genre
  10. famille
  11. ordre
  12. classe
  13. phylum
  14. regne
  15. domaine
  16. groupe

Nous observons par exemple que le site répertorie à ce jour 56161 espÚces.

table observations

Cette table permet de quantifier le nombre d’observations rĂ©alisĂ©es pour chaque espĂšce mais aussi de qualifier la fiabilitĂ© de ces observations : le site offrant un systĂšme participatif, l’identification des champignons est soumise au vote des utilisateurs du site. La note de confiance concernant l’identification d’une observation varie de -3 Ă  3. AprĂšs Ă©valuation du nombre d’observation disponible nous choisirons de ne conserver que celles dont le score de confiance est >= 2.

Le graphique montre que le jeu de donnée comprends environs 150k observations rattachées à une espÚce avec un niveau de confiance >= 2.

MO Rangs

table images_observation

Cette table liste les images rattachĂ©es Ă  chaque observation. Sans surprise les quantitĂ©s d’images rattachĂ©es Ă  chaque rang sont proportionnelles a la quantitĂ© d’observations. Nous constatons que pour notre sĂ©lection de critĂšres environs 500k images sont disponibles.

mo_img_rang.png

Agrégation par espÚces

Nous savons que nous devons disposer d’une quantitĂ© minimale d’images pour chacune des espĂšces sur lesquelles nous souhaitons entraĂźner notre modĂšle. Bien que cette quantitĂ© soit encore Ă  dĂ©finir prĂ©cisĂ©ment, nous estimons que 150-250 images serait une base de dĂ©part viable. Nous constatons aussi que la moitiĂ© environs des images est exploitable, le reste n'Ă©tant pas directement des photographie des spĂ©cimens de champignons.

Un second filtrage est effectuĂ© pour ne sĂ©lectionner que les espĂšces qui disposent d’au moins 500 photos sur le site. Nous pouvons donc compter disposer de donnĂ©es suffisantes pour 129 espĂšces.

mo_img_129_species.png

SĂ©lection finale des images

Nous avons identifiĂ© le besoin de filtrer manuellement les images avant prĂ©-traitement pour exclure celle qui ne sont pas exploitables (schĂ©mas, clichĂ©s microscopiques, etc ...). Nous avons donc rĂ©alisĂ© un outil proposant une interface permettant de rĂ©aliser le tri de maniĂšre relativement efficace. Nous pourrons constituer un jeu de donnĂ©es d’images triĂ©e plus ou moins important selon les besoins et le temps disponible au fil de l’avancĂ©e du projet.

L’outil est disponible sur le dĂ©pĂŽt du projet.

mo_manual_select_tool.png

Une fois la sĂ©lection effectuĂ©e, nous pouvons alors exĂ©cuter le script de webscraping nous permettant de tĂ©lĂ©charger les photos sĂ©lectionnĂ©s (cf: Annexes). Pour certains champignons, nous avons plus d’une photo. Nous nous concentrons uniquement sur la premiĂšre (le script sĂ©lectionne uniquement la premiĂšre image de la sĂ©rie).

A la date de rédaction de ce rapport nous avons réuni 2282 images appartenant à 14 espÚces différentes.

Organisation des données

Le stockage des données, (dans espace de stockage privé), est structurée ainsi :

data
├── LAYER0
│   ├── MO
│       ├── MO
│   │   └── dataset.csv
│   └── MO_106
│       ├── MO_106
│       ├── class_stats.csv
│       ├── dispersion.csv
│       └── image_stats.csv
├── LAYER1
│   └── MO
│       └── MO
└── LAYER2
    └── MO
        └── MO

Cette configuration nous permettra ultĂ©rieurement de fournir la base d’image MO ou MO_106 Ă  nos diffĂ©rent modĂšles facilement.

5. Pré-traitement des données

Choix des outils de preprocessing

Pour le prétraitement des données, nous avons sélectionné des outils spécifiques de preprocessing. Ensuite, nous appliquons un second traitement avec le modÚle YOLOv5 (You Only Look Once version 5), qui permet une détection rapide et précise des champignons en les identifiant par encadrement (cf: Annexes).

Cela nous permet d’obtenir des images prĂ©cise indispensables pour les Ă©tapes suivantes d’entraĂźnement de modĂšle. Cet outil n'Ă©tant pas parfait, nous compensons les Ă©checs de celui-ci avec un outil d’encadrement manuel dĂ©veloppĂ© pour l’occasion (cf: Annexes).

Afin de préparer nos images pour les entraßnements à venir, nous appliquons les méthodes conventionnelles et récurrentes pour le CNN.

Redimensionnement des images

La réduction des images à une taille de 224 x 224 pixels est couramment utilisée dans les architectures de réseaux de neurones convolutionnels (CNN) pour plusieurs raisons pratiques et techniques tel que la standardisation, la gestion de la mémoire et des ressources computationnelles, la comparaison avec les modÚles pré-entraßnés et la capture des caractéristiques importantes.

Enrichir le jeu de données

Nous rĂ©alisons une Ă©tape de rĂ©-Ă©chantillonnage afin d’augmenter le volume de donnĂ©es d’entraĂźnement, pour les futurs modĂšles que nous testerons. Cela nous permettra d’amĂ©liorer la prĂ©cision des modĂšles.

Nous avons réalisé un script exploitant ImageDataGenerator de la librairie tensorflow.keras.preprocessing.image (cf: Annexes).

Nous effectuons ainsi l’augmentation des donnĂ©es avec les techniques suivantes :

  • Rotations

  • Retournement horizontal

  • Retournement vertical

  • Cisaillements

Cela permet de crĂ©er de nouveaux Ă©chantillons d’entraĂźnement Ă  partir des images existantes, augmentant ainsi la robustesse et la capacitĂ© de gĂ©nĂ©ralisation de notre modĂšle.

images_augmentees.png Exemple d’images enrichies gĂ©nĂ©rĂ©e depuis une unique image source, Ă  l’aide de la classe ImageDataGenerator de Keras.

6. Conclusion

Ce rapport nous permet d’avoir un aperçu de la complexitĂ© de la reconnaissance de champignons, mettant en lumiĂšre les dĂ©fis et les opportunitĂ©s qui se prĂ©sentent dans ce domaine. À travers une exploration dĂ©taillĂ©e de la taxonomie, des sources de donnĂ©es disponibles et des Ă©tapes de prĂ©traitement des donnĂ©es, nous avons identifiĂ© les diffĂ©rentes options Ă  explorer pour atteindre notre objectif de dĂ©veloppement d’un modĂšle de reconnaissance de champignons fiable.

L’analyse a rĂ©vĂ©lĂ© plusieurs dĂ©fis majeurs, notamment la grande diversitĂ© des espĂšces de champignons, la variabilitĂ© morphologique au sein d’une mĂȘme espĂšce, et la qualitĂ© variable des donnĂ©es disponibles, nĂ©cessitant ainsi des stratĂ©gies de filtration et de prĂ©traitement rigoureuses. Cependant, nous avons Ă©galement identifiĂ© des sources de donnĂ©es prometteuses, qui offrent des ensembles de donnĂ©es volumineux pour l’entraĂźnement de modĂšles de reconnaissance.

Enfin, nous avons Ă©tabli un plan d’action clair, comprenant l’analyse approfondie des donnĂ©es disponibles, le prĂ©traitement des images, et l’enrichissement du jeu de donnĂ©es par des techniques d’augmentation. Ces Ă©tapes prĂ©liminaires posent les fondations nĂ©cessaires pour le dĂ©veloppement ultĂ©rieur de modĂšles de deep learning, qui seront essentiels pour la reconnaissance prĂ©cise des champignons.

7. Annexe

  1. Scripts de webscraping, d’analyse du site Mushroom Observer et de sĂ©lection des donnĂ©s
  2. Script de sélection automatique avec YOLOv5
  3. Outil d’encadrement manuel MPBS
  4. Script d’oversampling