Le Mask R-CNN pour la délinéation de parcelles : retour d’expérience

=>

Les techniques de l’état de l’art en Deep Learning permettent-elles une délinéation individuelle de chaque parcelle de culture, comme le laisse penser cet article récent ? C’est ce que nous avons cherché à savoir au cours d’un stage au CESBIO en cherchant à qualifier l’architecture Mask R-CNN pour cette tâche. Nous vous livrons ici les principaux enseignements.

Le Mask R-CNN en théorie

En bref, le Mask R-CNN est une architecture qui fonctionne en trois grandes parties. On a tout d’abord un réseau convolutif appelé backbone qui extrait des primitives à partir de notre image de départ. À partir de ces primitives, une seconde partie (le Region Proposal Network ou RPN) va proposer et affiner un certain nombre de régions d’intérêts (sous la forme de boîtes englobantes rectangulaires) susceptibles de contenir une parcelle. Enfin, la dernière partie va récupérer les meilleures propositions, les affiner de nouveau, et produire un masque de segmentation propre à chacune d’entre elles.

À gauche les propositions conservées par le RPN, à droite les détections finales du Mask R-CNN avec leurs masques de segmentation.

Un schéma récapitulatif du réseau se trouve ci-dessous, il provient ce court article, qui peut être un bon point d’entrée si vous souhaitez en savoir plus. Il est à noter qu’au total, ce réseau possède une centaine de couches de convolution – ce qui rend plus difficile sa manipulation, car il est plus difficile d’interpréter les résultats obtenus.

Le Mask R-CNN en pratique

Afin d’entraîner ce réseau, nous avons utilisé les données du Registre Parcellaire Graphique (RPG) distribué chaque année par l’IGN. Cette base de donnée étant lacunaire, nous y avons ajouté un complément produit par l’Observatoire du Développement Rural de l’INRAE. Afin de simplifier notre problème autant que possible, nous n’avons défini qu’une seule et unique classe, laissant ainsi de côté les types de culture fournies dans ces bases de données.

En ce qui concerne les données d’entrée, nous avons utilisé des images Sentinel-2 de niveau 2A fournies par Theia et plus exactement les 4 bandes spectrales à 10m de résolution (rouge, vert, bleu et proche infrarouge). Nous avons sélectionné 7 tuiles au dessus du territoire métropolitain, et choisi 4 dates différentes en 2018 pour chacune d’entre elle, durant les périodes de culture. Nous disposons aussi d’images super-résolues (à 5m plutôt que 10), qui sont produites grâce à un travail précédant au CESBIO (utilisant un Cascading Residual Network). Ces images permettent de gagner en netteté, par rapport aux bandes Sentinel-2 à 10m, aussi nous pensions également gagner en précision sur les contours prédits par nos modèles.

Tuiles sélectionnées (31UDR et 31UEP sont nos tuiles de test, les autres nos tuiles d’entraînement/validation)

Le Mask R-CNN ayant déjà été expérimenté dans la littérature pour cette même tâche de segmentation par instance des parcelles, nous avons tenté de reproduire le travail de ces auteurs. Bien que cette publication utilise une implémentation basée sur Tensorflow, nous avons d’abord cherché à reproduire ces résultats en utilisant l’implémentation fournie par le module Torchvision de Pytorch. Or nous n’avons jamais réussi à faire converger cette implémentation, et avons au passage noté de nombreuses différences entre ces deux implémentations. Les modèles pré-entraînés fournis l’ont été avec la base de données Image-Net pour Pytorch et COCO (plus dense en objets) pour Tensorflow, le pré-entraînement ne concerne que la partie backbone pour Pytorch mais couvre l’ensemble du réseau pour Tensorflow, et enfin l’implémentation elle même diffère dans l’ordre de certaines couches et le choix des primitives utilisées par les dernières étapes du réseau. Nous avons tenté d’isoler les éléments qui permettaient au réseau Tensorflow de converger, sans succès. Au temps pour la recherche reproductible !

Résultats

Après avoir écarté l’implémentation Pytorch, nous avons évalué plusieurs scénarii d’apprentissage, que nous pouvons séparer en trois groupes différents, décrits dans le tableau ci-dessous. Le premier groupe  de scenarii contient les trois premiers entraînements, qui utilisent chacun une seule des quatre dates de nos tuiles d’entraînement, afin de tester la capacité de généralisation d’une date à un autre. On utilise toujours, comme trois premiers canaux, les bandes RVB, auxquels on ajoute soit le PIR, soit le NDVI. Les trois scenarii suivants tentent d’utiliser une approche multi-temporelle : soit on se contente d’utiliser l’ensemble de nos dates pour chaque tuile (aboutissant à un jeux de données quatre fois plus grand), soit on extrait le NDVI de chaque date avant de les empiler ; on utilise ainsi une pile multi-temporelle. Enfin, les 3 derniers entraînements utilisent des images super-résolues.

NomDatesCanauxRésolution
T09NIRSeptembreBVR – PIR10 m
T06NIRJuinBVR – PIR10 m
T09NDVISeptembreBVR – NDVI10 m
TADNIRToutesBVR – PIR10 m
TADNDVIToutesBVR – NDVI10 m
TMTNDVIToutes (empilées)NDVI (dates 1 à 4)10 m
T09NIRSRSeptembreBVR – PIR5 m
T09NDVISRSeptembreBVR – NDVI5 m
T09NDVISRSASeptembreBVR – NDVI5 m

Avec ces entraînements, on obtient quelques résultats intéressants qualitativement (à défaut d’être bons quantitativement). Lors d’une inférence, nous produisons un ensemble de polygones, chacun assorti d’un score de confiance. Sur ce score de confiance nous pouvons fixer un premier seuil, au dessous duquel les prédictions ne seront pas considérées.

Pour ensuite les associer à notre ensemble de polygones cibles, nous avons utilisé un critère géométrique illustré ci-contre. Ce critère estime si une cible (rectangle vert) et une prédiction (ellipse rouge) possèdent une intersection (en jaune) suffisante pour que leur correspondance soit jugée valide. En calculant deux ratios (jaune sur vert et jaune sur rouge), puis en prenant le minimum, on s’assure d’être le plus restrictif possible. La valeur obtenue est appelée RC, et on peut également fixer un seuil sur celui-ci afin d’être plus ou moins strict sur la qualité de nos prédictions. Une fois les associations entre les prédictions et les cibles effectuées, on peut alors calculer les métriques classiques de détection que sont la précision, le rappel et le F1-Score. La précision correspond au nombre de nos prédictions qui sont effectivement des cibles, le rappel correspond au nombre de cibles détectées, et le F1-Score est un compromis entre les deux premiers.

Sur l’ensemble de nos cas d’usage, ce sont les entraînements T09NDVISR et TMTNDVI qui ont fourni les meilleurs résultats, comme on peut le voir dans le tableau ci-dessous. Nous y avons utilisé des seuils assez restrictifs, à savoir 0.8 pour les deux valeurs (la confiance et le RC).

TestPrécisionRappelF1-Score
T06NIR (sur juin)35.3425.6129.7
T06NIR (sur septembre)31.5121.4525.52
T09NIR (sur juin)30.0820.824.6
T09NIR (sur septembre)30.3121.7925.35
T09NDVI (sur juin)31.0321.4325.35
T09NDVI (sur septembre)29.7921.2124.78
TADNIR34.5125.1129.07
TADNDVI39.3526.8831.94
TMTNDVI42.5630.2835.39
T09NIRSR34.2438.2636.13
T09NDVISR36.9239.3538.09
T09NDVISRSA34.3837.7836.0

Afin de comparer nos performances à celles des auteurs de la publication mentionnée plus haut, nous avons choisi un seuil de RC à 0.5 et un seuil de confiance à 0.7. Les résultats sont montrés dans le tableau ci-dessous.

TestPrécisionRappelF1-Score
T09NDVISR55.7959.4157.30
TMTNDVI75.7355.8664.13
OSO (sur 31UDR)45.8922.5430.23
Auteurs68.748.556.2

Notre pile multi-temporelle de NDVI semble donc fournir des information pertinentes, et parvient à faire mieux que les résultats déclarés par les auteurs (sur leurs propres tuiles de test). La super résolution est quant à elle un peu en dessous en termes de métriques de détection, et au final on est très proche des résultats obtenus par les auteurs (on gagne sur le rappel mais on perd sur la précision). Toutefois, les bonnes prédictions fournies semblent être de meilleure qualité. En effet, les contours fournis (dont on peut voir un extrait ci-dessous, à deux échelles différentes) collent davantage aux parcelles de référence : l’entraînement à l’aide d’images super-résolues semble donc bien fournir des contours plus précis.

Parcelles cibles (en vert) et prédictions du modèle T09NDVISR (en bleu)

Pour finir, nous avons également soumis le produit OSO vectorisé à notre procédure d’appariement, afin de justifier la pertinence d’une approche de segmentation par instance. Nous avons fait ce test sur la tuile 31UDR, et on constate sans grande surprise que le rappel est très bas – puisque le produit OSO va notamment fusionner des parcelles de mêmes cultures qui sont côte-à-côte, on va donc avoir un grand nombre de cibles non détectées. Cela justifie ainsi l’intérêt d’utiliser une approche de segmentation par instance. Malgré cela, les résultats obtenus sont, à ce stade, bien loin d’être exploitables pour un utilisateur final. Il est à noter cependant que, à cause de notre critère d’appariement des prédictions aux cibles, il nous est impossible de détecter la fragmentation (le fait de détecter une cible en plusieurs prédictions) ou l’agglomération (le fait de détecter plusieurs cibles avec une seule prédiction). Pourtant, sur l’image, certaines fragmentations ou agglomérations pourraient sembler légitime, aussi nous sous-estimons nécessairement nos résultats.

Article réalisé dans le cadre d’un stage au CESBIO financé par le CNES.
Merci à Julien, Jordi et Olivier pour l’aide précieuse qu’ils m’ont apportée durant ce stage.

Plus d'actualités

BIOMASS, the third launched satellite mission designed at CESBIO !

After SMOS in 2009, and VENµS in 2017, the CESBIO Laboratory is very proud to see its third proposed mission, Biomass, reach orbit. As always, it has been a long journey from the idea, at the beginning of the century, to the selection in 2013 as the seventh Earth Explorer Mission by ESA, to the […]

Sentinel-2 reveals the surface deformation after the 2025 Myanmar earthquake

Sentinel-2 captured several clear-sky images of Myanmar before and after the 28 March 2025 earthquake. The animation below shows a 5-day apart sequence of images captured by Sentinel-2B and Sentinel-2C (10 m resolution) near the epicenter located close to Mandalay. The surface slip due to the earthquake follows the Sagaing Fault, a major fault in […]

Satellite Stereoscopy for Water Resource Monitoring?

=> In arid or semi-arid regions, where irrigation is widespread, monitoring agricultural water resources is essential to anticipate shortages. These resources may come from large dams, small reservoirs, or groundwater aquifers. This is the case in the state of Telangana, in South India, where numerous large dams (shown in cyan blue in the figure below) […]

Rechercher