28 mars 2022

Construction d'un modèle de segmentation des coraux à l'aide de données éparses

Les contributeurs
Aucun élément trouvé.
S'abonner Ă  la newsletter
Partager cet article

Introduction

L'océan est un élément essentiel de notre planète, souvent négligé, et un bastion contre la menace du changement climatique. Considérés comme les villes de l'océan, les récifs coralliens sont essentiels à ses écosystèmes, tant pour la vie marine que pour la végétation océanique. Cependant, le changement climatique et la pollution d'origine humaine ne sont pas favorables à nos précieux récifs. prévisions que nous perdrons la quasi-totalité de nos récifs d'ici à 2050.

‍

‍

Un timelapse de récifs coralliens devenant blancs à force de mourir.
Timelapse d'un récif corallien en décomposition. Source : Blue Planet Oceans de BBC America : Blue Planet Oceans de BBC America

Que pouvons-nous donc faire ?

Outre l'atténuation des causes telles que le changement climatique et la pollution, la recherche sera essentielle pour tenter de sauver les récifs coralliens. Reef Support est une startup qui tente d'aider les chercheurs dans ce domaine. Elle crée des logiciels pour aider les chercheurs à prendre des décisions dans ce domaine. Avec FruitPunch AI, ils se sont demandé si l'IA pouvait jouer un rôle dans ce domaine. Ils ont donc organisé un défi pour voir si, avec l'aide de l'IA, ils pouvaient aider davantage les chercheurs à protéger les récifs coralliens. Dans le cadre de ce défi, ML6 a pris contact avec eux et a décidé de relever le défi dans le cadre de ses projets de Noël.

‍

Le défi

L'objectif est de segmenter des images prises à partir de coraux, afin de déterminer automatiquement la couverture corallienne de cette image. Cela ressemble à un problème de segmentation d'images, assez simple. Malheureusement, comme c'est souvent le cas dans le monde réel, les données sont moins simples. Dans un monde idéal, les données sont constituées de masques de segmentation d'image sous forme d'étiquettes, comme dans l'image ci-dessous.

‍

Image de récifs coralliens où les différentes régions sont mises en évidence avec le type de corail auquel elles appartiennent.
Comment la segmentation d'une image peut ressembler. source : Reef Support

‍

‍

Cependant, les données avec lesquelles nous travaillons sont celles de Seaview. Cet ensemble de données contient environ 1,1 million d'images haute résolution de coraux, dont environ 11 000 images annotées. Ces annotations, comme le montre l'image ci-dessous, sont des pixels annotés manuellement par des experts, indiquant à quoi ils appartiennent (corail, algue, éponge, ...).

‍

‍

Exemple d'une image de coraux, accompagnée de ses annotations. Les points verts représentent des algues, les points rouges des coraux durs et les points bleus des coraux mous.

‍

‍

Le principal défi de ce projet est donc d'appliquer les informations de ces annotations de manière intelligente, de sorte que nous puissions segmenter une image sans disposer de masques de segmentation d'image réels à utiliser pour l'entraînement.

‍

‍

Méthodes appliquées

Le classificateur Ă  fenĂŞtre roulante

La première idée qui m'est venue à l'esprit a été d'utiliser les étiquettes dont nous disposions non pas pour entraîner un modèle de segmentation, mais un modèle de classification. L'idée est que chaque annotation peut être utilisée comme information pour la classification des images. Pour ce faire, nous avons découpé, pour chaque image, un carré autour de chaque annotation. Comme nous avons environ 50 annotations par image, cela peut donner plus de 500 000 images d'entrée pour entraîner un classificateur.

‍

Recadrage de la zone autour d'une annotation.

‍

‍

Ce modèle pourrait alors théoriquement parcourir l'ensemble de l'image comme une fenêtre déroulante, en classant chaque pixel. Cependant, nous devons une fois de plus vivre avec le fait que nous vivons dans le monde réel et que le temps de calcul est fini. C'est pourquoi, pour économiser du temps de calcul, la fenêtre roulante utilise une certaine taille de pas (16 dans le cas présent).

‍

Il en résulte que chaque bloc de 16 x 16 pixels de l'image est attribué à une classe, ce qui donne un masque de segmentation.

‍

Résultat possible de la méthode de la fenêtre roulante, le rouge signifiant que le modèle a détecté le corail.

‍

Lorsque le classificateur est suffisamment performant, le résultat de cette méthode semble assez prometteur, mais présente également des inconvénients.

‍

Avantages de cette méthode :
  • Utilisation efficace des donnĂ©es d'annotation.
  • Relativement simple mais efficace.

‍

Inconvénients
  • Le rĂ©sultat est assez rugueux et "en bloc", bien que cela puisse ĂŞtre attĂ©nuĂ© par des techniques de lissage (et ce n'est pas vraiment un problème puisque l'objectif principal est de calculer la couverture du corail).
  • Cela peut prendre beaucoup de temps si la taille du pas est petite.
  • Des taches alĂ©atoires ici et lĂ  sont mal classĂ©es et n'ont pas beaucoup de sens.

‍

‍

La méthode semi-supervisée

‍

Une autre méthode, dont l'idée est attribuée à Maks Kulicki qui a également travaillé sur le défi, est une combinaison de segmentation non supervisée et d'un classificateur tel qu'utilisé précédemment.

‍

L'idée de cette méthode est d'utiliser d'abord une technique non supervisée (telle que SLIC) pour déterminer quels sont les segments possibles dans l'image. Ensuite, un patch est découpé autour du centre de chacun de ces segments, après quoi ce patch est soumis au classificateur.

‍

Exemple de regroupement non supervisé, suivi d'une classification

‍

Chacun des segments prédéterminés est alors attribué à une classe, ce qui donne un masque de segmentation.

Avantages de cette méthode :
  • Beaucoup plus rapide que la mĂ©thode de la fenĂŞtre roulante.
  • RĂ©sultat de la segmentation plus lisse.
Inconvénients
  • Moins robuste. Si le classificateur se trompe sur un segment, une grosse erreur a dĂ©jĂ  Ă©tĂ© commise.
  • En gĂ©nĂ©ral, cette mĂ©thode est moins performante que la mĂ©thode de la fenĂŞtre roulante.

‍

‍

La méthode hybride

Si l'on considère les deux méthodes précédentes, elles présentent toutes deux des avantages et des inconvénients. C'est donc tout naturellement que l'idée a germé : Peut-on combiner les deux ?

L'idée que nous avons appliquée est la suivante : Utiliser la fenêtre roulante pour obtenir une première "suggestion" de segmentation. Ensuite, la segmentation non supervisée divise l'image en segments. Au lieu d'utiliser le classificateur pour classer directement la classe du segment, on se base maintenant sur le résultat de la méthode de la fenêtre roulante. Si le pourcentage de pixels d'un segment classés comme corail est supérieur à un certain seuil (par exemple 30 %), le segment est considéré comme étant de type corail.

‍

Visualisation de la méthode de la fenêtre roulante, suivie d'une segmentation non supervisée, après quoi le seuil est appliqué.

‍

En conséquence, la performance a augmenté de manière significative (à la fois sur la base d'une évaluation visuelle subjective et dans les métriques).

Bien que les méthodes proposées ne soient certainement pas encore parfaites, des bases ont été jetées sur lesquelles nous pouvons nous appuyer pour affiner les méthodes et, espérons-le, améliorer autant que possible le travail des chercheurs sur les coraux.

‍

‍

Prochaines étapes

‍

Pour les prochaines étapes, nous travaillerons avec l'organisation étudiante Everest Analytics. Comme cela correspond à leur objectif de permettre aux étudiants de travailler sur des projets de données et d'apprentissage automatique avec une valeur ajoutée sociétale, cela nous a semblé être l'occasion parfaite de reprendre ce projet avec eux. En tant que ML6, nous les guiderons pour essayer d'affiner les solutions proposées précédemment. Les pistes possibles sont les suivantes :

  • AmĂ©liorer le classificateur
  • ExpĂ©rimentation de diffĂ©rentes mĂ©thodes de segmentation non supervisĂ©e
  • ExpĂ©rimenter le prĂ©traitement (comme l'amĂ©lioration des couleurs, pour laquelle les gens de FruitPunch ont dĂ©jĂ  fait du bon travail).
  • AccĂ©lĂ©rer le classificateur (ce qui permettra Ă  la mĂ©thode de la fenĂŞtre roulante d'ĂŞtre plus fine)
  • Ajustement des mĂ©thodes (il existe de nombreux hyperparamètres, tels que la taille de pas de la fenĂŞtre roulante, la taille d'entrĂ©e du classificateur, ...)
  • Explorer des mĂ©thodes complètement diffĂ©rentes, telles que l'apprentissage faiblement supervisĂ©

‍

‍

Restez à l'écoute pour un éventuel futur article de blog afin de voir comment il s'est amélioré.


‍

Postes connexes

Voir tout le contenu
Aucun résultat n'a été trouvé.
Il n'y a pas de résultats correspondant à ces critères. Essayez de modifier votre recherche.
Grand modèle linguistique
Modèles de fondation
Entreprise
Personnes
Données Structurées
Chat GPT
Durabilité
Voix et son
Développement frontal
Protection des données et sécurité
IA responsable/éthique
Infrastructure
Hardware et capteurs
MLOps
IA générative
Natural Language Processing
Vision par ordinateur