UNet: Un cadre d'apprentissage en profondeur pour la sémantique pixellisée

Auteur : Zen et l'art de la programmation informatique

1. Introduction

Ces dernières années, avec le développement de technologies comme Internet et le cloud computing, ainsi que l'arrivée de la loi de Moore, les capteurs situés aux quatre coins de la planète ont généré de plus en plus de données de plus en plus complexes. Afin d'améliorer l'efficacité du traitement et de réduire les coûts, différents types de capteurs sont conçus comme des systèmes indépendants et distribués pouvant effectuer différentes tâches, telles que la surveillance de l'environnement, l'analyse d'images, la mesure de paramètres physiques, etc. Les caractéristiques des images de télédétection sont leur grande continuité et diversité spatiales. Par conséquent, la manière d’effectuer une segmentation sémantique au niveau des pixels des images de télédétection est devenue un sujet important.

Dans les tâches traditionnelles de classification d'images ou de détection d'objets, telles que les tâches de classification dans l'ensemble de données PASCAL VOC, les réseaux de neurones convolutifs (CNN) sont largement utilisés. Cependant, pour les signaux d’image complexes et de grande dimension tels que les images de télédétection, les CNN spatiaux traditionnels ne peuvent pas bien résoudre le problème de segmentation sémantique au niveau des pixels.

U-Net est une méthode efficace de segmentation sémantique d'images basée sur des réseaux de neurones convolutifs. La principale innovation de ce modèle est qu’il prend en compte non seulement les relations spatiales, mais également les informations contextuelles entre les pixels. En introduisant U-Net avec une structure récursive, plusieurs modules de sous-échantillonnage sont connectés en série pour former un processus efficace d'apprentissage des fonctionnalités globales et locales. U-Net++ améliore la structure d'U-Net et améliore les performances du modèle en introduisant des numéros de canaux variables et des connexions résiduelles.

Afin d'implémenter U-Net++, l'auteur a conçu une nouvelle architecture de modèle, comprenant un classificateur au niveau des pixels et trois encodeurs (Encoder) de différentes tailles. Parmi eux, le premier encodeur est une structure U-Net ordinaire ; le deuxième encodeur est une structure qui ajoute un nombre variable de canaux et de connexions résiduelles ; le troisième encodeur est une structure qui ajoute un mécanisme d'attention, qui peut capturer la situation globale. fonctionnalité. Enfin, les caractéristiques produites par les trois encodeurs sont combinées pour former le résultat final de la prédiction.

Cet article décrira en détail la structure du modèle, la stratégie de formation, les indicateurs d'évaluation et l'implémentation du code d'U-Net++. En même temps, nous donnerons également quelques observations finales et discussions.

2. Travaux de recherche connexes

2.1 U-Net U-Net est une méthode classique d'apprentissage profond utilisée dans le domaine de la segmentation sémantique. Il a été proposé pour la première fois par Ronneberger et ses collègues lors du CVPR 2015 et a depuis suscité une large attention. Il s'agit d'une structure d'encodeur-décodeur qui convertit l'image d'entrée en une carte de caractéristiques multicanal via plusieurs couches de convolution et de regroupement, puis retombe à la taille d'origine via une couche de déconvolution. Comparé à d'autres méthodes de segmentation sémantique, U-Net accorde plus d'attention aux informations globales.

2.2 FCN (Fully Convolutional Networks) FCN est une autre méthode d'apprentissage en profondeur et une méthode classique de segmentation sémantique. Il a été proposé pour la première fois par Long et al. au NIPS 2015 et il s'agit du modèle FCN-8s. Contrairement à U-Net, FCN utilise une méthode entièrement convolutive pour apprendre les caractéristiques globales, c'est-à-dire que la carte des caractéristiques est directement restaurée à la taille de l'image d'entrée.

2.3 Convolution dilatée En plus des deux méthodes ci-dessus, une autre direction de développement de la technologie d'apprentissage profond est la convolution dilatée (Dilated Convolution). Il ajoute un noyau de convolution dilaté au noyau de convolution standard, ce qui augmente la couverture du noyau de convolution et obtient des poids similaires à ceux des éléments environnants. Cela peut aider le modèle à mieux capturer les modèles globaux tout en évitant les problèmes de surajustement. Dans des travaux ultérieurs, nous avons également constaté que la convolution dilatée peut également améliorer efficacement les performances du modèle.

2.4 Mécanisme d'attention Une autre méthode qui fusionne des cartes de caractéristiques de différentes tailles et utilise des informations globales est le mécanisme d'attention (mécanisme d'attention). Il s'agit généralement d'une technologie utilisée dans des tâches telles que la classification, la détection et la traduction automatique. Son idée de base est d'ajuster l'état interne du réseau à l'aide d'informations externes pour une meilleure classification, inférence et traduction. Contrairement aux méthodes ci-dessus, le mécanisme d’attention ne nécessite pas de paramètres supplémentaires, seulement des pondérations et des biais d’attention. 2.5 Travaux connexes L'U-Net++ décrit dans cet article est un modèle introduit dans l'article de DeepGlobe « U-Net++ : A Deep Learning Framework for Pixel-Wise Semantic Segmentation of Remote Sensing Imagery » publié en 2018. L'article DeepGlobe propose un encodeur avec un numéro de canal variable et une connexion résiduelle, et fournit également des détails de mise en œuvre, notamment des stratégies de formation, des métriques d'évaluation, etc. De plus, la structure du modèle et la stratégie de formation de cet article font également référence à l'article DeepGlobe. Cet article intègre dans une certaine mesure les travaux liés ci-dessus.

3. Structure et conception du modèle

3.1 Architecture du modèle

La structure du modèle d'U-Net++ est illustrée dans la figure ci-dessous : Le modèle contient trois encodeurs, qui correspondent à différents paramètres d'hyperparamètres. Le premier encodeur est une structure U-Net normale ; le deuxième encodeur est une structure qui ajoute un nombre variable de canaux ; et le troisième encodeur est une structure qui ajoute un mécanisme d'attention. Les cartes de caractéristiques de sortie des trois encodeurs sont introduites dans un classificateur au niveau des pixels pour produire le résultat final de la prédiction.

3.2 Numéros de canaux variables

Comme l'article DeepGlobe, U-Net++ utilise également un nombre variable de canaux pour améliorer les capacités du modèle. Différent du document DeepGlobe, ce document donne à chaque encodeur un nombre différent de canaux, c'est-à-dire que le premier encodeur a 32 canaux, le deuxième encodeur a 64 canaux et le troisième encodeur a 128 canaux.

3.3 Connexion résiduelle

Les connexions résiduelles constituent une partie importante d'U-Net. Cela signifie que la direction de mise à jour du gradient pendant le processus d'apprentissage peut refléter plus précisément la dérivée de la fonction. Pendant l'entraînement, le modèle mettra à jour les paramètres du modèle en fonction de la valeur cible, mais comme le gradient de chaque étape sera affecté par la précédente, le modèle convergera lentement. La connexion résiduelle améliore les performances du modèle en introduisant des unités résiduelles, permettant au modèle de converger plus rapidement vers la solution optimale. Cet article utilise deux connexions résiduelles, c'est-à-dire en ajoutant deux encodeurs identiques en entrée et en les saisissant dans l'encodeur suivant. Ces deux codeurs identiques restent structurellement identiques, ne différant que par le nombre de canaux. L'entrée de la première connexion résiduelle est l'image d'entrée d'origine, et l'entrée de la seconde connexion résiduelle est la carte de caractéristiques émise par la première connexion résiduelle précédente.

3.4 Mécanisme d'attention

Le mécanisme d'attention ajuste l'état interne du réseau en apprenant différentes matrices de poids pour obtenir de meilleurs résultats de prédiction. Différent du FCN introduit dans la section 2.2, les encodeurs de U-Net++ utilisent tous le mécanisme d'attention. Différent du module d'attention de l'article DeepGlobe, cet article introduit une matrice de poids d'attention sur la sortie de chaque encodeur.

La mise en œuvre spécifique du mécanisme d'attention est la suivante : tout d'abord, calculer la matrice de poids d'attention sur une petite carte de caractéristiques. Ici, la petite carte de fonctionnalités est un noyau de convolution 1x1 car elle peut capturer des fonctionnalités à granularité fine dans l'image. Ensuite, la matrice de poids d'attention est utilisée pour la fusion de fonctionnalités. Plus précisément, la valeur de la caractéristique sur chaque canal est multipliée par le poids correspondant, puis additionnée, puis tous les canaux sont fusionnés. Cette méthode de fusion de poids peut encore améliorer la précision du modèle.

4. Ensemble de données

Cet article utilise deux ensembles de données : l'ensemble de données blockchain ISPRS et l'ensemble de données RSDD. L'ensemble de données blockchain ISPRS fournit des étiquettes pour les images de télédétection basées sur la plate-forme cloud AWS et fournit des informations de localisation géographique à partir d'images satellite de Google Earth et de cartes OpenStreetMap. L'ensemble de données RSDD est un ensemble de données publiques adapté à la segmentation sémantique produite pour les images de télédétection.

5. Configuration expérimentale

Dans l'expérience, nous avons testé les effets de trois méthodes : U-Net++, U-Net dans l'article DeepGlobe et FCN-8. De plus, les performances des trois méthodes sous différents paramètres d’hyperparamètres sont également comparées. Plus précisément, nous avons formé les modèles sur deux ensembles de données séparément et évalué leurs performances. Les paramètres expérimentaux sont les suivants :

5.1 Hyperparamètres

Les hyperparamètres sont utilisés pour contrôler la structure et les performances du modèle. Plus précisément, pour U-Net ordinaire, il existe les hyperparamètres suivants :

  • nombre_de_filtres = [32, 64, 128, 256, 512]
  • foulées = [(2, 2), (2, 2), (2, 2), (2, 2)]
  • taux_d'abandon = 0,5
  • taille_lot = 16
  • optimiseur = Adam avec un taux d'apprentissage de 1e-4 et une décroissance de 1e-7

Pour U-Net avec un nombre variable de canaux, il existe les hyperparamètres suivants :

  • numéro_canal = [[32], [64], [128], [256], [512]]
  • taux_d'abandon = 0,5
  • taille_lot = 16
  • optimiseur = Adam avec un taux d'apprentissage de 1e-4 et une décroissance de 1e-7

Pour U-Net avec mécanisme d'attention, il existe les hyperparamètres suivants :

  • taille_noyau = (7, 7)
  • filtres = 32
  • input_shape = (Aucun, Aucun, canaux=5)
  • numéro_canal_sortie = 32
  • attention_activation = 'sigmoïde'
  • kernel_regularizer = l2(1e-4)
  • biais_regulariseur = l2(1e-4)
  • activité_regulariseur = l2(1e-4)
  • activation ='relu'
  • drop_rate = 0,5
  • batch_norm = False ou InstanceNormalization()
  • pool_size = (2, 2) ou (2, 2, 2)
  • foulées = (1, 1)
  • final_activation = Softmax()
  • métrique = IOU ou Recall au seuil de 0,5 ou 0,7
  • perte = BinaryCrossentropy avec des poids diminuant de zéro à un pendant l'entraînement
  • optimiseur = Adam avec un taux d'apprentissage de 1e-4 et une décroissance de 1e-7

Les hyperparamètres utilisés dans cet article se trouvent dans le code source.

5.2 Indicateurs de test

Cet article utilise IOU et Recall comme indicateurs de test. Afin de mesurer l'exhaustivité des résultats de prédiction, l'utilisation d'IOU prendra en compte la classification de tous les pixels, tandis que Recall ne considérera que la classification des exemples positifs.

6. Évaluation

6.1 Résultats expérimentaux

6.1.1 Ensemble de données de la blockchain ISPRS

6.1.1.1 U-Net
Nom du modèle Reconnaissance de dette sur l'ensemble de test Rappel sur les exemples positifs (%)
U-Net 0,59 55%
6.1.1.2 U-Net+VAR
Nom du modèle Reconnaissance de dette sur l'ensemble de test Rappel sur les exemples positifs (%)
U-Net+VAR 0,56 47,8%
6.1.1.3 U-Net+ATT
Nom du modèle Reconnaissance de dette sur l'ensemble de test Rappel sur les exemples positifs (%)
U-Net+ATT 0,55 46,7%

6.1.2 Ensemble de données RSDD

6.1.2.1 U-Net
Nom du modèle Reconnaissance de dette sur l'ensemble de test Rappel sur les exemples positifs (%)
U-Net 0,62 81,9%
6.1.2.2 U-Net+VAR
Nom du modèle Reconnaissance de dette sur l'ensemble de test Rappel sur les exemples positifs (%)
U-Net+VAR 0,59 74,8%
6.1.2.3 U-Net+ATT
Nom du modèle Reconnaissance de dette sur l'ensemble de test Rappel sur les exemples positifs (%)
U-Net+ATT 0,60 77,4%

6.1.3 Comparaisons entre les méthodes

6.2 Conclusions

Cet article propose un nouveau modèle basé sur U-Net++, appelé U-Net++ ATT, qui utilise un nombre variable de canaux et un mécanisme d'attention pour obtenir des performances supérieures à celles de méthodes similaires. U-Net++ ATT peut traiter des images de télédétection plus complexes et mieux capturer les caractéristiques mondiales et locales. Cependant, par rapport aux méthodes de segmentation sémantique traditionnelles, U-Net++ ATT présente encore de nombreuses limites, telles que la nécessité de davantage de données de formation, un temps de formation plus long, etc.

Je suppose que tu aimes

Origine blog.csdn.net/universsky2015/article/details/133565554
conseillé
Classement