Hammouche_Nadir_2024_memoire
Hammouche_Nadir_2024_memoire
Hammouche_Nadir_2024_memoire
1
Nadir HAMMOUCHE
i
Remerciements
ii
Table des matières
Dédicace i
Remerciements ii
Résumé ix
Abstract x
1 Introduction Générale 1
1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Inspection des ponts avec drone . . . . . . . . . . . . . . . . . 1
1.1.2 La segmentation des défauts dans les ponts . . . . . . . . . . . 2
1.1.3 La segmentation des éléments structurels du pont . . . . . . . 2
1.2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Organisation du document . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Revue de littérature 7
2.1 La segmentation sémantique . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.3 Techniques et méthodes traditionnelles . . . . . . . . . . . . . 8
2.1.4 Techniques basées sur l’apprentissage profond . . . . . . . . . 10
2.1.5 Métriques d’évaluation . . . . . . . . . . . . . . . . . . . . . . 18
2.1.6 Fonctions de perte . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 La segmentation dans l’inspection de ponts . . . . . . . . . . . . . . . 22
2.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.2 Travaux existants . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
iii
3 Ensemble de données 27
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Acquisition et annotation . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.1 Source d’images . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.2 Processus d’annotation . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Répartition des données . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1 Description de l’approche . . . . . . . . . . . . . . . . . . . . 32
3.3.2 Outil d’exploration de données : Fiftyone . . . . . . . . . . . . 33
3.3.3 Méthode de réduction de dimension : UMAP . . . . . . . . . . 34
3.3.4 Répartition des données en groupes avec K-Moyennes . . . . . 36
3.4 Les statistiques de l’ensemble de données . . . . . . . . . . . . . . . . 38
3.4.1 Distribution des instances d’objet par classe de défaut . . . . . 38
3.4.2 Distribution des images par classes de défaut . . . . . . . . . . 38
3.4.3 Matrice de corrélation . . . . . . . . . . . . . . . . . . . . . . 39
3.4.4 Carte de température par classe de défauts . . . . . . . . . . . 40
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4 Méthodologie 42
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Concepts de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2.1 Apprentissage multitâche . . . . . . . . . . . . . . . . . . . . . 43
4.2.2 Supervision en Profondeur . . . . . . . . . . . . . . . . . . . . 47
4.2.3 Mécanisme d’attention . . . . . . . . . . . . . . . . . . . . . . 48
4.3 Solutions proposées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.1 Réseau U-Net classique . . . . . . . . . . . . . . . . . . . . . . 50
4.3.2 Réseau à apprentissage multitâche avec encodeur partagé . . . 51
4.3.3 Réseau à apprentissage multitâche avec encodeur-décodeur par-
tagés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.4 Expérimentation 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4.1 Données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4.2 Modèle de segmentation . . . . . . . . . . . . . . . . . . . . . 55
4.4.3 Code et implémentation . . . . . . . . . . . . . . . . . . . . . 56
4.4.4 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.5 Expérimentation 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.5.1 Entraînement . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.5.2 Augmentation de données . . . . . . . . . . . . . . . . . . . . 70
4.5.3 Fonction de perte . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.5.4 Algorithme d’optimisation . . . . . . . . . . . . . . . . . . . . 72
4.5.5 Spécifications matérielles . . . . . . . . . . . . . . . . . . . . . 72
4.5.6 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Bibliographie 79
iv
Table des figures
1.1 Exemple d’image d’un pont avec son masque correspondant à diffé-
rents éléments structurels segmentés. . . . . . . . . . . . . . . . . . . 3
v
3.7 Étapes du processus de répartition des images. (1) : Chargement des
images avec une résolution fixe (300×300) ; (2) : Génération des pro-
longements d’images ; (3) : Réduction de dimension ; (4) : Construction
des groupes (clustering) ; (5) : Répartition finale de chaque groupe se-
lon les proportions fixées. . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.8 Aperçu de l’ensemble de données avec annotations via l’interface de
fiftyone [7]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.9 Code et résultats de la phase de réduction de dimension . . . . . . . . 35
3.10 Illustration des étapes de regroupement via K-moyen. . . . . . . . . . 37
3.11 Graphe des projections d’images sur un plan 2D après regroupement
k-moyen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.12 Distribution des instances de défauts par classe . . . . . . . . . . . . 38
3.13 Histograme de répartition des images par catégorie de défaut. . . . . 39
3.14 Cartes des températures par classes de défaut. . . . . . . . . . . . . . 40
vi
4.23 Illustration de la stratégie d’entraînement au niveau d’une seule ité-
ration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.24 Diagramme illustrant le calcul de la fonction de perte globale du réseau. 71
4.25 Code d’implémentation de l’algorithme d’optimisation et de son or-
donnanceur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.26 Progression du taux d’apprentissage en fonction des itérations. . . . . 72
4.27 Histogramme des résultats Dice de chaque architecture par classe de
défauts sur les données de test et de validation . . . . . . . . . . . . . 74
4.28 Résultats des prédictions des 3 architectures sur 4 images. . . . . . . 75
vii
Liste des tableaux
viii
Résumé
ix
Abstract
x
Chapitre 1
Introduction Générale
1.1 Contexte
1.1.1 Inspection des ponts avec drone
L’inspection des ponts est une tâche cruciale qui rentre dans le volet de
la maintenance des infrastructures de transport de chaque pays. Les effets dus aux
aléas de la nature (changement de température, humidité, séismes, etc) et les charges
appliquées continuellement par les véhicules, réduisent la fiabilité des ponts au fil du
temps. D’où, la nécessité d’effectuer régulièrement des opérations de maintenance.
Comme le nombre de ponts existant est très important, le budget alloué à cette
opération est colossal. Une des approches les plus intéressantes pour réduire les coûts
de maintenance est de prévenir les défauts et dommages par le biais d’inspections
régulières. Traditionnellement, cette opération est conduite par des inspecteurs qui
vont procéder à la vérification à l’œil nu des différentes parties du pont en quêtes de
défauts et d’anomalies.
1
issues du domaine de la vision par ordinateur représentent une solution très pro-
metteuse qui peuvent être appliquées au flux de données collecté par les drones. Les
modèles tels que la détection d’objets et la segmentation sémantique ont déjà fait
leurs preuves dans d’autres domaines comme la conduite autonome de véhicule. De
ce fait, ces techniques peuvent aussi être employées de plusieurs façons différentes
dans l’inspection des ponts.
2
l’accès est plus difficile.
La solution triviale qui répond au besoin de cette étape est la mise en place
d’un modèle de segmentation qui permettra d’associer chaque pixel de l’image à
l’élément structurel du pont auquel il appartient. Ajouté à cela aussi le fait que les
zones qui ne correspondent pas au pont seront non prises en compte plus tard dans le
processus de détection de défauts. Plusieurs types de catégories peuvent être établis
au préalable selon la nature des ponts à inspecter. La figure 1.1 ci-dessous montre
bien un exemple de segmentation des éléments structurel d’un pont en 4 catégories
(arrière plan, béton, acier, structure métallique)
Figure 1.1 – Exemple d’image d’un pont avec son masque correspondant à différents
éléments structurels segmentés.
1.2 Problématique
Ce travail de recherche s’inscrit comme une partie d’un projet à large spectre
qui vise à apporter des solutions basées sur les techniques d’apprentissage profond
et de la vision par ordinateur au processus d’inspection de pont. Ces solutions repré-
sentent un moyen d’automatiser et de moderniser ce processus tant important dans
la maintenance de ce type d’infrastructure. La problématique traitée par le biais de
ce travail de recherche est centrée sur la segmentation sémantique dans la détection
des défauts lors du processus d’inspection des ponts. La segmentation sémantique
étant une technique de haut niveau dans la vision par ordinateur. Contrairement
aux techniques de classification d’images et de détection d’objets par boites englo-
bantes, la segmentation sémantique permet de cibler les défauts et les anomalies avec
une précision de l’ordre du pixel. Les images d’inspections de ponts se caractérisent
avec un certain nombre d’aspects qui peuvent rendre la segmentation des défauts
difficile. D’après [16], les aspects suivants sont des facteurs qui causent des difficultés
dans la généralisation des modèles d’apprentissage profond relatives à cette tâche :
3
d’un échantillon à un autre. Cela a pour effet d’augmenter la diversité de ces surfaces
qui incluent généralement les défauts et les anomalies.
Complexité des classes de défauts : Les défauts présents dans les images se
caractérisent avec des grandeurs de dimension variables, des degrés de gravité diffé-
rents et un champ de localisation assez ouvert dans l’image. En plus, les défauts qui
ont des relations de cause à effet peuvent se chevaucher entre eux. Tous ces aspects
montrent la complexité des défauts.
Tous ces aspects représentent des défis que nous voulons aborder à travers
ce travail. Pour cela, nous avons opté d’explorer la piste associant l’apprentissage
multitâche à la segmentation des défauts dans les images d’inspections de ponts.
L’apprentissage multitâche est un paradigme d’apprentissage qui s’inspire du cer-
veau humain. Il vise à exploiter le transfert d’apprentissage positif entre plusieurs
tâches lors de l’entraînement d’un réseau. Cette propriété est importante dans notre
problème de segmentation de défauts du fait que les défauts peuvent être cooccur-
rents et avoir des liens de causalité. L’apprentissage multitâche peut bien représenter
ces relations en prédisant de meilleurs masques de segmentation que si on entraînait
les différents défauts de manière séparée.
4
très particuliers contrairement aux autres. Les cracks se manifestent souvent sous
une forme linéaire et fine, ils peuvent aussi être discontinus. Ces aspects nous ont
emmenés à ne pas les inclure dans ce travail orienté apprentissage multitâche, car
ils peuvent favoriser un transfert négatif dans l’entrainement de nos modèles et ainsi
causer une perte de performance. Cette classe de défauts est traitée exclusivement
dans un autre volet de ce même projet.
1.3 Objectifs
Afin de mener ce travail à terme et répondre efficacement et méthodiquement
à la problématique posée dans la section 1.1.3, nous avons défini les objectifs à
atteindre le long de ce travail. Ces objectifs ont pour rôle de structurer la manière
d’approcher la problématique et ainsi permettre de la diviser en sous parties pour
mieux cerner ces différents aspects. Les objectifs principaux de ce travail sont :
5
partie, nous nous verrons aussi incorporer des mécanismes avancés de l’apprentissage
profond tels que l’attention et la supervision en profondeur dans l’optique de pousser
loin les performances de la segmentation des défauts.
6
Chapitre 2
Revue de littérature
2.1.2 Définition
La segmentation est une tâche de niveau intermédiaire dans la hiérarchie
des techniques de la vision par ordinateur. Elle a pour objectif d’identifier les objets
présents dans l’image au niveau pixel. Cette tâche traite l’image en assignant à chaque
pixel une classe d’objet prédéfinie. Nous distinguons deux types de segmentations
comme nous pouvons le voir dans la figure 2.1 :
7
d’objet.
8
Figure 2.2 – Exemples des différentes méthodes de segmentation par seuillage.
Segmentation en régions
Cette approche est souvent utilisée dans le domaine du traitement d’image.
Elle consiste à diviser l’image en région par rapport à un critère de similarité sur la
couleur, la texture et l’intensité des pixels. Ensuite, une phase de fusion de ces régions
succédera pour atteindre un niveau de segmentation désiré. Nous distinguons deux
techniques majeurs dans cette catégorie : La segmentation par division et fusion qui
procède en divisant l’image en petits blocs jusqu’à satisfaire un critère d’arrêt. En-
suite, les blocs seront fusionnés ensemble de façon à respecter une certaine similarité
jusqu’à l’obtention d’un masque final. Cette méthode est efficace et simple, mais elle
rencontre des difficultés dans les images complexes avec des chevauchements d’objets.
La deuxième méthode s’intitule segmentation par graphes. Elle exploite les fonde-
ments de la théorie des graphes dans le but de représenter l’image sous la forme d’un
graphe. Les nœuds du graphe sont les pixels de l’image tandis que les arêtes repré-
sentent le degré de similarité entre les pixels. Une fois cette représentation construite,
la méthode enchaîne en appliquant un algorithme de partitionnement de graphe qui
fonctionne en minimisant une fonction de coût. Ce dernier a pour rôle de construire
les différents segments de l’image.
9
frontière par filtre de Canny et par filtre de Sobel, en plus de la détection par le La-
placien. D’autres méthodes ont utilisé les contours actifs pour localiser les frontières
des objets.
10
Fondements
Avant d’aborder les bases et les concepts clés de segmentation, nous devons
rappeler l’origine de cette tâche qu’est la classification d’images. La classification
d’images est considérée comme le point de départ de tous les problèmes relatifs au
domaine de la vision par ordinateur. Cette tâche permet de faire le lien entre une
image avec une étiquette prédéfinie au préalable. Comme toutes les tâches de la
vision, la classification a aussi bénéficié de la révolution et de la démocratisation des
techniques d’apprentissage machine et profond ces dernières années. Nous pouvons
constater que les modèles de classification d’images les plus aboutis dans le domaine
sont ceux qui adoptent des architectures dites à réseaux de neurones profondes et
plus précisément les réseaux de convolution.Les réseaux de neurones convolutifs sont
un type de réseau de neurones profond qui est composé principalement de deux
compartiments comme illustré dans la figure 2.4. Le premier est l’extracteur de traits
et d’attributs. Le deuxième, c’est le classificateur. Dans ce type de réseau, nous
trouvons généralement quatre types de blocs :
Couche de convolution : la convolution est une application d’un filtre sur une
représentation de données où nous obtenons une activation des traits et des aspects
bien spécifiques de la représentation. Cette couche comporte un ensemble de filtres
qui sont entraînables. Ces filtres ont la particularité d’avoir des champs réceptifs
restreints par rapport à la représentation d’entrée. En résumé, cette opération permet
d’extraire les aspects clés des images de départs qui serviront pour la prédiction finale.
11
Figure 2.5 – Illustration de l’opération de pooling.
Unité Relu : C’est une fonction d’activation, communément appelée unité linéaire
rectifiée, dont le rôle est de minimiser le sur-apprentissage du modèle. De ce fait, elle
contribue grandement à réaliser des résultats plus précis.
Couche entièrement connectée : C’est une couche qui se caractérise par le fait
que ses unités de sorties sont connectées à toutes les unités de la couche qui la
précède. Elle se présente comme la couche finale du réseau et prend en entrée une
représentation de données aplatie pour calculer la prédiction finale.
12
intermédiaire sous une forme de vecteur à taille fixe que l’en nomme "représentation
latente". Cette représentation latente est compressée et elle est conçue pour capturer
les informations les plus importantes de la séquence d’entrée. Ensuite, le décodeur
procède au traitement de cette dernière afin de générer une représentation finale
basée principalement sur la représentation latente.
Parmi les modèles basés sur les techniques d’apprentissage profond qui ont
marqué la tâche de segmentation sémantique, nous listons ci-dessous les réseaux qui
ont eu un impact considérable dans le domaine :
FCN
En 2014, [1] ont publié un modèle pour la segmentation sémantique qui s’inti-
tule FCN 1 . Le modèle reprend les bases d’un réseau de neurones convolutif classique
avec le remplacement de la couche finale entièrement connectée par une couche de
sur-échantillonnage. À la base, la couche entièrement connectée est utilisée pour la
prédiction des résultats dans la tâche de classification et de détection d’objets à partir
des résultats des couches de convolution. Le choix de remplacer cette couche par celle
de sur-échantillonnage est motivé par la préservation des dimensions des caractéris-
tiques le long du réseau dans l’optique de produire un masque de segmentation qui
1. Fully Connected Network : Réseau de neurones entièrement connecté
13
correspond à l’image d’entrée. Par conséquence, l’avantage de cette modification est
que l’image d’entrée n’est plus restreinte à une dimension fixe, qui est une contrainte
imposée par la couche entièrement connectée.
U-Net
Le réseau U-Net est proposé par [2] en 2015. Il vient pour apporter des amé-
liorations au modèle FCN [1]. À la base, ce modèle est destiné pour la segmentation
d’images biomédicales.
14
Figure 2.9 – L’architecture du réseau U-Net. [2]
L’autre particularité de ce réseau est que dans la partie expansive, les carac-
téristiques ont un nombre important de canaux. Par conséquence, le réseau propage
les informations sur le contexte dans les couches de haute résolution. Ce qui induit
que la partie expansive est plus au moins symétrique à la partie contractante et d’où
une architecture sous forme d’un "U" [2].
DeepLab
Le DeepLab est un modèle à code source ouvert conçu pour la segmentation
sémantique par l’équipe de recherche des laboratoires de Google. Ce réseau adopte
aussi le paradigme architectural de type Encoder-Décodeur.
Parmi les défis auxquels le FCN [1] fait face, la réduction de dimension des
caractéristiques lors du processus de convolution et pooling qui engendre une perte
3. Une fonction mathématique utilisée souvent dans les réseaux de neurones comme fonc-
tion d’activation.
15
d’information capitale. Les masques de segmentation produits sont d’une résolution
réduite et les frontières entre les objets sont confuses. La famille DeepLab s’est penché
sur le défi précédant en introduisant une nouvelle technique de convolution “ Convo-
lution atrous” qui est un module qui permet une segmentation d’objet à différente
échelle de grandeur s’intitulant “Atrous Spatial Pyramid Pooling”.
La convolution atrous : Des solutions présentées par [2, 1], la convolution trans-
posée est le moyen employé dans la partie décodage du réseau afin de sur-échantillonner
les caractéristiques. Cependant, cette technique requiert une capacité de calcul et de
mémoire importante. La solution proposée pour palier à ce problème dans [3] est
la convolution atrous. Cette technique illustrée dans la figure 2.10 permet le calcul
des caractéristiques avec une résolution spatiale que l’on désire [3]. La convolution
atrous suggère d’étendre le champ de vision des filtres pour la capture d’un contexte
plus large sans augmenter le nombre de paramètres ni la complexité de calcul. Cela
est possible via l’insertion de zéros dans les filtres conventionnels, d’où l’appellation
“atrous” .
Figure 2.10 – Illustration de l’opération de convolution atrous sur une image 2D.[3].
16
Figure 2.11 – Illustration du processus effectué par le module “atrous spatial pyra-
mid pooling”[3].
les dernières couches de max pooling du décodeur ont été remplacées par les couches
de convolutions atrous. De plus, ce modèle intègre un champ aléatoire conditionnel
entièrement connecté afin de produire des masques de segmentation avec des détails
très raffinés. En résumé, le DeepLabv1 prend une image d’entrée et la passe à tra-
vers les couches conventionnel d’un réseau profond de convolution suivi d’une ou
deux couches de convolutions atrous. La caractéristique résultante sera ensuite sur-
dimensionnée par le biais de l’opération d’interpolation bilinéaire. Enfin, le champ
aléatoire conditionnel entièrement connecté procédera à l’affinement des résultats de
segmentation comme illustré dans la figure 2.12.
17
caractéristique. Les résultats seront ensuite fusionnés par le biais du module ASPP 4
tel qu’illustré à la figure 2.11.
Figure 2.13 – Illustration de l’emploi du module ASPP amélioré par une caracté-
ristques à contexte global dans le réseau DeepLabv3 [4].
DeepLabv3+ : Ce réseau est proposé par [21], il reprend le modèle précédent [4]
avec l’ajout d’un décodeur plus efficace. Ce dernier a pour rôle d’affiner au mieux les
résultats de la segmentation et plus précisément au niveau des frontières des objets.
L’architecture de ce modèle est illustrée dans la figure 2.14.
18
Précision
Cette mesure est souvent utilisée dans le domaine de reconnaissance de
formes et de la segmentation. Elle permet de quantifier la proportion de pixels cor-
rectement classés comme positifs (vrais positifs) par rapport à l’ensemble des pixels
classés comme positifs (vrais positifs et faux positifs). L’équation de cette mesure est
donnée comme suit :
VP
P rcision =
V P + FP
Rappel
Cette mesure (aussi appelé sensibilité ou taux de vrais positifs) est fréquem-
ment associée à la précision par conjonction afin de mesurer les performances des
modèles de segmentation avec pertinence. Cette mesure reflète la capacité du modèle
à détecter correctement tous les pixels appartenant à la classe cible dans l’image, par
rapport à la vérité de référence. L’équation de cette mesure est donnée comme suit :
VP
Rappel =
V P + FN
Exactitude
C’est une métrique assez simple et basique. Elle est le résultat du ratio des
pixels correctement classifiés par le modèle par rapport au nombre total de pixels
composant l’image. Mathématiquement, La métrique se définit comme suit :
VP +VN
Exactitude =
V P + V N + FP + FN
Néanmoins, cette métrique présente un inconvénient dans le cas où notre modèle est
confronté à des données qui comporte des classes qui domine en termes de pixel dans
l’image. Pour exemple, si nous avons un jeu de données avec la classe “arrière-plan”
qui occupe 90% de l’image, alors l’évaluation de cette métrique sera élevée et cela ne
reflète pas la réalité des autres classes.
19
Dans le cas d’une segmentation avec plusieurs classes d’objets, la valeur globale de
l’IoU est calculée en prenant la moyenne de la métrique pour chaque classe. Contrai-
rement à la métrique précédente, l’IoU permet une interprétation plus effective des
résultats.
Coefficient de Dice
Communément appelé aussi l’indice de Sørensen-Dice, cet indice est utilisé
dans la segmentation afin de mesurer le degré de similarité entre le masque prédit A
par le modèle et le masque de la réalité terrain B. Ce coefficient est très intéressant,
car il est sensible à la fois à la précision et au rappel de la segmentation. Il prend
en compte à la fois les faux positifs et les faux négatifs, offrant ainsi une évaluation
équilibrée de la qualité de la segmentation. L’équation de calcul de cet indice est
donnée comme suit :
2× | A ∩ B |
Dice =
|A∪B |
20
P : la distribution de probabilité de la réalité terrain des classes pour le pixel.
Q : la distribution de probabilité prédite par le modèle des classes pour le pixel.
La fonction de Dice
C’est une fonction de perte qui est construite sur la base des coefficients
de Sørensen-Dice. Elle a été proposée pour la première fois par [22] dans leurs tra-
vaux concernant la segmentation des images médicales volumétriques. Cette fonction
quantifie le degré de chevauchement entre les masques de la réalité terrain et celui
prédit. Elle prend ces valeurs dans l’intervalle [0, 1] et l’objectif est de la maximiser.
Dans la pratique, cette quantité est calculée pour chaque classe, ensuite la moyenne
de toutes ces classes est prise pour être la valeur globale de la fonction de perte.
2.1.7 Conclusion
Cette section fait office d’introduction au domaine de la segmentation séman-
tique d’image. En effet, dans l’optique de bien aborder le contexte de la segmentation
dans l’inspection des ponts en béton, il est judicieux de poser les fondements de cette
tâche de la vision par ordinateur. Dans un premier temps, nous avons posé la dé-
finition concrète de cette tâche. Ensuite, nous avons rapporté les détails pertinents
des différentes architectures et modèles qui ont eu des succès considérables dans ce
domaine durant cette dernière décennie. Enfin, nous avons mis l’accent sur les dif-
férentes métriques d’évaluation et fonctions de perte qui sont adoptées dans cette
tâche de segmentation. La section suivante sera consacrée aux différents travaux réa-
lisés dans le contexte de la segmentation associée à la tâche d’inspection de ponts en
béton.
21
2.2 La segmentation dans l’inspection de ponts
2.2.1 Introduction
L’inspection de ponts est une tâche importante dans le processus de main-
tenance des infrastructures civiles d’un pays. Récemment, cette tâche tend de plus
en plus à être automatisée et à gagner en performance en termes du temps et de la
qualité de l’inspection. Cela est rendu possible grâce aux différentes avancées tech-
nologiques réalisées dans les domaines de la robotique et de la vision par ordinateur.
En effet, l’utilisation des drones dans cette tâche est une tendance très prisée, car
cela permet un accès aisé à toutes les zones du pont et une réduction considérable
du temps de l’inspection. Par ailleurs, les modules de la vision par ordinateur tels
que les détecteurs d’objets et les modèles de segmentation permettent une inspec-
tion pointue en mettant en évidence les différentes anomalies présentes au niveau des
ponts.
22
Parmi les recherches entreprises dans ce domaine, les travaux de [23, 24]
témoignent de la réussite de l’utilisation du réseau HRNet [25] dans la détection et
la segmentation des défauts de surfaces. Le réseau HRNet est un réseau de neurones
convolutif dont la particularité est de lier les convolutions de résolution hautes à celle
de basse résolution de manière parallèle. Rubio et al. [26] et Dunget al. [27] ont réussi
à utiliser le réseau FCN [1] pour la segmentation des anomalies se trouvant sur le
tablier 6 des ponts (délaminage, armature exposée et les fissures de béton). Pan et al.
[28] ont développé le réseau PipeUNet qui reprend le réseau U-Net [2] et le mécanisme
d’attention pour segmenter les défauts des conduits d’égouts (fissures, infiltration,
décalage des jointures, etc.). Wang et Cheng [29] ont proposé le réseau DilaSegCRF
qui reprend le réseau PSPNet [30] pour la segmentation des défauts des conduits
d’égouts. Shi et al. [31] ont contribué à la segmentation des corrosions métalliques et
des fissures en s’appuyant sur le réseau U-Net ([2] . Pour la segmentation d’instances,
nous avons rapporté que d’après [5], le réseau Mask R-CNN [32] est utilisé pour la
segmentation des fissures sur les ponts en béton [33], et des défauts de façades [34].
Dans la littérature relative à cette tâche, le travail de Yeum et al. [35] pro-
pose une méthode basée sur un réseau de neurone convolutif pour la localisation et la
classification des régions d’intérêts dans les images d’inspection. Narazaki et al. [36]
ont contribué dans les méthodes de segmentation pour l’automatisation de l’inspec-
tion des ponts en proposant une solution de segmentation sémantique des éléments
d’un pont. La méthode combine la classification de scène et la segmentation tradi-
tionnelle pour des résultats consistants. Bianchi et al.[37] a utilisé le modèle SSD
v2 [38] pour la détection des éléments que l’on trouve le plus souvent au-dessous
des ponts métalliques. Karim et al. [39], s’est appuyé sur la technique de transfert
d’apprentissage pour entraîner le réseau Mask R-CNN pour une segmentation multi-
classes des éléments structurels des ponts. D’autre part, Zhang et al. [40] ont mené
une étude qui démontre que HRNetV2-W32 est le réseau le plus convenable pour
l’extraction des caractéristiques profondes relatives à la segmentation multi-classe
des éléments de structure de ponts. Yu et al. [41] ont mené une investigation sur la
segmentation et la reconnaissance des éléments des ponts. Ils se sont appuyé sur le
modèle de segmentation d’instance Mask R-CNN qu’ils ont entraîné sur un ensemble
6. C’est une structure porteuse qui supporte les charges du trafic routier
23
de données de 800 images.
Dans les travaux reportés dans les deux sections précédentes, chaque tâche
est traitée indépendamment de l’autre. Zhang et al.[5] ont exploré une autre approche
qui adopte l’apprentissage multitâche pour les tâches de segmentation des éléments
structurels et celle de la segmentation des défauts pour les images d’inspections. En
effet, les auteurs ont noté la corrélation existante entre les éléments structurels et le
type de défauts qui s’y trouve dessus. Cela a fait en sorte de les motiver afin de mettre
en place un réseau 2.15 basé sur un apprentissage multitâche qui était entraîné sur
une banque d’images contenant à la fois des annotations sur les éléments structurels
et des défauts (corrosion). Les résultats obtenus ont démontré l’avantage de cette
approche vis-à-vis des approches standards ou chaque tâche est traitée par un réseau
indépendant.
24
Table 2.1 – Tableau récapitulatif des méthodes et modèles de segmentation pour
les tâches d’inspections de pont
en métal
Seg sémantique
Mask R-CNN[39] 2022 Éléments du pont +
Détection
Mask R-CNN[41] 2022 Éléments du pont Seg d’instance
Corrosion
MTL Multitask Deep learning[5] 2022 + Seg sémantique
Éléments du pont
25
2.2.3 Conclusion
Dans cette section, nous avons fait le tour des travaux et contributions réa-
lisées dans le cadre des tâches de segmentations de défauts et d’éléments structurels
dans l’inspection des ponts. Nous avons constaté que ce domaine d’inspection est de
plus en plus convoité ces dernières années par des approches basées sur la segmenta-
tion sémantique et d’instances. Cela dans l’objectif d’atteindre des résultats précis qui
permettront d’automatiser le processus d’inspection dans sa globalité. Néanmoins,
il reste beaucoup de défis à franchir avant d’atteindre cet objectif. Le manque de
données accessibles et annotées est un obstacle majeur dans cette quête comme il a
été mentionné dans [5]. Ensuite, il faut adapter les modèles et réseaux de segmen-
tation de pointe actuelle aux caractéristiques complexes de ces tâches en explorant
différentes approches telles que celle par l’apprentissage multitâche [5].
26
Chapitre 3
Ensemble de données
3.1 Introduction
Ce chapitre se consacre au processus de construction d’un ensemble de don-
nées dédié à la tâche de la segmentation des défauts dans les images d’inspection
de ponts en béton. Ce processus est constitué d’un ensemble d’étapes bien définies
que nous aborderons en détails par la suite. En raison du manque de disponibilité et
d’accès à des banques d’images d’inspection de pont, nous avons fixé pour objectif
premier de construire une base d’images annotées pour la segmentation des défauts
au niveau des ponts. Cette démarche débute par la phase d’acquisition des images
puis s’enchaîne avec l’annotation de ces dernières. Une fois l’ensemble des images
annoté, la répartition de ces dernières en sous ensemble est capitale. La dernière
étape consiste à tester un réseau de segmentation sur notre ensemble de donnée afin
d’évaluer sa qualité.
27
Figure 3.1 – Échantillon d’images de la base d’image CODEBRIM [6].
tudes de caméras. Une partie des images est acquise par drone, car elles concernent
des zones non accessibles à un humain.
28
Figure 3.2 – (a) : Exemple d’images avec un champ de profondeur proche.
(b) : Images avec un champ de profondeur lointain
29
du béton.
Figure 3.3 – (a) : image contenant à la fois de la corrosion et des barres exposées
ainsi qu’une dégradation du béton. (b) : Image contenant une efflorescence.
Dans un premier temps, nous avons chargé les images à annoter dans la
plateforme web qui inclue un espace de stockage. Puis, nous avons défini les classes
des défauts à annoter comme le montre la figure 3.5. Ensuite, nous avons procédé
30
à l’annotation de chaque image en binôme 1 .En résumé, cette étape s’est déroulée
sous deux passes. La première consistait à créer des masques pour chaque image de
notre banque de données à partir de rien. Et la deuxième venait juste après pour la
vérification et le raffinement des masques.
31
3.3 Répartition des données
Après le processus d’annotation des images de notre ensemble de données,
il faut procéder à la répartition des images et de leurs annotations en trois sous-
ensembles avec des proportions bien définies. Pour cette étape, nous avons choisi de
répartir 75% des images dans l’ensemble d’entraînement et 12,5% pour l’ensemble de
test et de validation.
32
3.3.2 Outil d’exploration de données : Fiftyone
Pour accomplir ce processus de répartition des images, nous avons opté pour
une bibliothèque python à code source ouvert qui s’intitule fiftyone [7]. Cette bi-
bliothèque est développée par Voxel51 et offre une panoplie de fonctionnalités pour
l’exploration des données. Elle permet de simplifier le processus de conception de
modèles et leur évaluation. En plus, des équipes peuvent facilement collaborer sur
des projets via cette plateforme. La plateforme est composée de 3 principales com-
posantes : la librairie python, l’application de visualisation et le cerveau. La librairie
python offre une collection de structure de données qui sert à l’exploration et la
manipulation des ensembles de données. L’application est une interface graphique
qui facilite la visualisation des données de manière intuitive et interactive comme
le montre la figure 3.8. Le cerveau est une librairie python qui inclue une collection
d’outils d’apprentissage machine qui servent à l’extraction des statistiques et des
caractéristiques pertinentes des données.
Fonctionnalités de fiftyone :
— Une interface interactive pour la visualisation des données et leurs anno-
tations ;
— Débogage des modèles et des réseaux ;
— Intégration des librairies les plus connues de l’apprentissage profond et
machine comme TensorFlow et PyTorch ;
— Outils de visualisation des statistiques et des données comme les histo-
grammes, matrices de confusion,... etc.
33
3.3.3 Méthode de réduction de dimension : UMAP
Dans la phase de réduction de dimension citée dans les paragraphes précé-
dents, nous avons employé la méthode UMAP 2 [44]. Cette méthode de réduction de
dimension est une technique très sophistiquée qui permet générer des coordonnées en
deux dimensions dans notre cas à partir des prolongements d’image. Cette technique
a la capacité de préserver la structure locale et globale de l’ensemble des prolonge-
ments. Ce qui la rend efficace pour des données très larges. Dans notre approche
pour la répartition de notre base d’images, cette étape se positionne comme une
étape de prétraitement à la phase de regroupement des images en groupes. UMAP
est reconnue comme une méthode qui améliore les résultats de regroupement des
données.
34
(a) Illustration des étapes de la phase de réduction de dimension par code python.
(b) Graphe des projections d’images sur un plan 2D après la réduction de dimension.
35
3.3.4 Répartition des données en groupes avec K-Moyennes
Une fois le processus de réduction de dimension soit achevé, l’étape de re-
groupement des images en sous groupes homogènes doit prendre place. Pour cette
étape en particulier, nous avons choisi d’opter pour l’algorithme des K-moyennes.
L’objectif de cette étape est de mettre les images similaires et qui partagent un cer-
tain nombre d’aspects dans les mêmes groupes afin de faire une répartition équilibrée
de ces dernières sur nos ensembles d’entrainement, test et de validation.
Après plusieurs expériences, nous avons constaté visuellement via les graphes
de projection que le nombre de sous groupe qui correspond au mieux pour notre
ensemble d’images est 38.
La figure 3.10 illustre bien le code correspondant à cette étape. La figure 3.11,
nous montre les différents groupes construits à la fin de l’exécution de l’algorithme.
36
Figure 3.10 – Illustration des étapes de regroupement via K-moyen.
Figure 3.11 – Graphe des projections d’images sur un plan 2D après regroupement
k-moyen.
37
3.4 Les statistiques de l’ensemble de données
Une fois notre ensemble d’images annoté, nous présenterons dans cette sec-
tion quelques statistiques basiques qui caractérisent la nature de notre ensemble de
données. Nous entamerons par l’analyse des distributions des instances de défaut
ainsi que des images par catégorie de défaut pour avoir une idée sur l’équilibre inter-
classe des défauts dans notre ensemble de données. Ensuite, nous enchaînerons avec
des statistiques sur les relations binaires entre classes avec la matrice de corrélation
des défauts. Nous terminerons par la mise en évidence des cartes de chaleur pour
chaque classe de défaut afin d’avoir une idée sur la concentration et la localisation
des défauts dans notre ensemble de données.
38
Figure 3.13 – Histograme de répartition des images par catégorie de défaut.
À travers les deux analyses statistiques précédentes. Nous constatons que les
classes de défauts sont réparties en suivant un certain équilibre qui est déjà présent
dans la réalité terrain de nos images d’inspection.
D’après les résultats du tableau 3.1, nous constatons une forte corrélation
en la classe de corrosion et celle des barres exposées. Cela est dû au fait que dans
la majorité des images d’inspection de notre base, la présence de la corrosion est le
résultat direct du phénomène d’oxydation des barres exposées. D’autre part, nous
avons aussi une corrélation considérable entre les cas des dégradations de béton et
l’apparition des barres exposées. Comme les barres métalliques sont cachées à la base
dans le béton, alors leur présence est la conséquence logique de la dégradation du
béton.
39
3.4.4 Carte de température par classe de défauts
Dans la figure 3.14, nous pouvons avoir une idée sur la concentration des
défauts en termes d’emplacement sur les images. Cette information est très impor-
tante lors de la conception des modèles et des réseaux de segmentation. En effet,
elle pourra considérablement contribuer au choix des extracteurs de caractéristiques
visuelles des images.
40
3.5 Conclusion
Au terme de ce chapitre, l’étape qui consiste à la mise en place d’un en-
semble de donnée pour la tâche de la segmentation des défauts présents au niveau
des ponts en béton est un objectif atteint. Ce processus est achevé au bout d’un cer-
tain nombre d’étapes qui sont décrites en détails dans cette section. Maintenant que
nous disposons d’une banque d’images et de leurs masques respectifs pour la segmen-
tation des défauts présents sur les ponts en béton, nous aborderons la partie centrale
de notre travail de recherche. Elle concerne les solutions pour la problématique posée
sur les segmentations des défauts que nous aborderons avec plus de détails dans le
chapitre suivant. Ainsi, cet ensemble de données annoté servira pour l’entraînement
des modèles et des réseaux qui seront abordés ultérieurement.
41
Chapitre 4
Méthodologie
4.1 Introduction
Dans ce présent chapitre, nous aborderons les différents aspects de la solution
que nous avons proposée afin de répondre à la problématique de la segmentation des
défauts dans le processus d’inspection de ponts en béton. En premier temps, nous
ferons la lumière sur les concepts clés et fondamentaux avec lesquels nous avons
élaboré notre solution. Ensuite, nous exposerons en détails les déférents aspects de
la solution. Cette dernière est composée de trois parties. La première approche est
classique et naïve, elle se présente sous la forme d’un réseau de segmentation multi-
classe des défauts. La deuxième approche aborde le problème sous l’angle de l’ap-
prentissage multitâche. En effet, la segmentation de chaque défaut est considérée
comme une tâche à part entière. Dans cette approche, nous proposerons deux ar-
chitectures orientées apprentissage multitâche : Architecture à encodeur partagé et
celle à encodeur-décodeur partagés. Ces deux architectures sont dotées aussi de mé-
canismes qui permettent d’améliorer les résultats comme l’attention et la supervision
en profondeur.
42
4.2 Concepts de base
4.2.1 Apprentissage multitâche
L’apprentissage multitâche est un paradigme d’apprentissage dans le do-
maine de l’apprentissage automatique. D’après [8], ce paradigme suggère que le mo-
dèle soit entraîné simultanément sur des données issues de multiples tâches diffé-
rentes. Ainsi le modèle apprendra des représentations partagées et communes aux
multiples tâches. Ces représentations partagées améliorent l’efficacité des données,
ce qui permettra ainsi d’atteindre une vitesse d’apprentissage plus rapide pour les
tâches. Tous ces effets pallieront les limites traditionnelles que l’en rencontre dans
l’apprentissage profond, à savoir la limite de la quantité de données disponible et la
nécessité d’avoir des ressources de calculs importante.
Motivation
Lors de la construction de l’ensemble d’image pour l’inspection des défauts,
nous avons recensé quatre classes de défauts (corrosion, barres exposées, dégradation
de béton et efflorescence). Après avoir exploré ces données, nous avons constaté que
les instances de ces classes de défauts partageaient des aspects communs entre eux. En
d’autres termes, nous avons observé qu’il y avait une relation de cause à effet entre
ces classes de défauts. Par exemple, la dégradation de béton a pour conséquence
directe l’apparition des barres exposées qui est le plus souvent accompagnée par la
corrosion. Ceci est expliqué par le fait que la corrosion se forme lorsqu’il y a une
partie métallique qui est exposée à l’humidité. Toutes ces relations existantes entre
43
les classes de défauts représentent un potentiel pour une architecture à apprentissage
multitâche qui sera capable de bien exploiter ces aspects communs afin d’achever des
meilleurs résultats dans la segmentation des différents défauts.
Types d’architectures :
Dans le processus de conception de modèles à architecture partagée entre
différentes tâches, il est important de prendre en considération les facteurs qui défi-
nissent la manière de partitionner les paramètres du réseau sur les parties partagées
et celles spécifiques aux tâches. En d’autres termes, savoir répartir les filtres de
convolution du modèle entre les ensembles de filtres partagés et spécifiques est la clé
pour concevoir une architecture efficace qui saura exploiter au mieux les vertus de
l’apprentissage multitâches. Dans la littérature relative à ce champ de recherche, les
architectures les plus performantes se caractérisèrent avec un certain équilibre dans
la répartition des parties partagées et spécifiques de ces dernières relativement au
domaine d’information des tâches concernées.
44
Architectures à hard parameter sharing : qui se distinguent par le fait que les
paramètres du réseau sont répartis en deux sous-ensembles. Les paramètres partagés
sont communs pour toutes les tâches et sont responsables directement aux représen-
tations communes entre les tâches. D’autre part, les paramètres dédiés et spécifiques
à chaque tâche. L’architecture à encodeur partagé est la plus répandue dans cette
classe.
45
Le résultat est une représentation qui inclue des informations issues des deux tâches
et qui seront acheminées vers les couches suivantes respectives de chaque sous-réseau.
Stratégies d’optimisation
Après avoir discuté les architectures des modèles à apprentissage multitâches,
nous aborderons l’aspect relatif à l’entraînement de ce type d’architecture qui est le
processus d’optimisation. En effet, les réseaux à apprentissage multitâche sont amenés
à apprendre des différentes tâches simultanément. L’objectif est de veiller à garder un
équilibre entre les tâches lors de la phase d’entraînement du réseau, de sorte qu’il n’y
a pas une tâche qui domine plus sur la mise à jour des paramètres. D’après l’article
de [8], il existe plusieurs stratégies d’optimisation pour ce type de techniques. Avant
de parler de ces stratégies, il faut rappeler que pour ce type de réseau, nous avons
une fonction de perte du réseau dans son ensemble. Elle est calculée en se basant sur
des fonctions de perte pour chaque tâche du réseau comme dans l’équation 4.1.
X
Lossglobale = ωi · Lossi (4.1)
46
4.2.2 Supervision en Profondeur
La contribution proposée à travers ce travail de recherche se base princi-
palement sur l’apprentissage multitâche. Les réseaux de segmentations basés sur ce
paradigme d’apprentissage se distinguent par des architectures profondes et com-
plexes. L’idée d’incorporer la technique de la supervision en profondeur dans ce
travail s’avère très prometteuse en vue de répondre au problème classique de dispari-
tion du gradient lors du processus de la rétro-propagation. Ce problème est souvent
rencontré au niveau des architectures profondes et complexes.
47
4.2.3 Mécanisme d’attention
Le mécanisme d’attention est une technique qui prend son origine du fonc-
tionnement du système visuel de l’homme. Ce dernier a pour capacité d’analyser et
de comprendre efficacement des scènes complexes. Cela est dû au fait qu’il ressort
les éléments saillants et importants de la scène en ignorant les parties moins impor-
tantes. Ce mécanisme est ensuite adopté dans le domaine de la vision par ordinateur
avec succès.
48
au module précédent, il procède en exploitant les informations inter-spatiales de la
représentation d’entrée. Ce module vise à répondre à la question d’où se situent les
zones les plus importantes de la caractéristique.
49
4.3 Solutions proposées
4.3.1 Réseau U-Net classique
Architecture
Cette première solution présentée dans cette partie est une approche clas-
sique pour une segmentation de type multi-classe. Elle se présente sous forme d’un
réseau de segmentation U-Net classique [2] avec une disposition de type encodeur-
décodeur sous forme d’un ‘U’. Nous avons ajusté sa couche de sortie afin qu’il génère
une collection de masques qui correspondent aux défauts traités. En d’autres termes,
ce réseau prendra en entrée une image d’inspection et produira des masques pour
chaque classe de défauts. Il faut mentionner aussi que la fonction d’activation qui
permet d’avoir les masques est de type sigmoïde.
Implémentation :
Comme mentionné dans la section précédente, cette solution propose un ré-
seau classique de type U-Net. Pour implémenter une telle architecture, nous avons
opté pour la libraire Segmentation-models [48] développée entièrement en PyTorch
et qui propose une panoplie de modèles destinés pour la tâche de segmentation. Cette
libraire a pour particularité d’offrir des modèles avec des paramètres pré-entraînés qui
favorisent une meilleure et rapide convergence pour la phase d’entraînement. L’enco-
deur de notre réseau reprend les bases du ResNet50 [13] pré-entraîné sur ImageNet
avec cinq niveaux de profondeur. Il comporte 23 millions de paramètres entraînables
que nous avons gelé pour le processus d’entraînement. La figure 4.9 illustre le bout
de code utilisé afin de construire le réseau dans sa globalité. Le nombre de masques
à produire par le modèle est fixé par le paramètre ‘classes’. La fonction de perte est,
elle aussi, paramétrée via l’argument ‘activation’.
50
Figure 4.9 – Code d’implémentation du réseau U-Net.
51
Implémentation
Comme mentionné dans la section précédente, le réseau de segmentation à
encodeur partagé proposé dans le cadre de ce travail de recherche adopte un style
architectural similaire au réseau U-Net [2]. L’encodeur partagé est construit sur la
base de l’architecture ResNet50 [13] avec quatre niveaux de profondeur, pré-entraîné
sur l’ensemble de donnée ImageNet. Nous avons opté d’élaguer le dernier niveau de
la version d’origine de l’encodeur afin d’avoir un modèle qui s’aligne sur les limites
de la mémoire graphique disponible. D’autre part, l’efficacité de l’encodeur n’est pas
impactée par cette modification d’après les tests effectuée préalablement. La partie
décodeur de chaque tâche est implémentée en suivant le même schéma que l’encodeur
ResNet50 avec quatre blocs constituant le chemin extensif du modèle. Chaque bloc
est constitué d’une succession d’opérations : la convolution transposée, deux blocs de
convolution et enfin un module d’attention à bloc de convolution (CBAM)[12]. Un
dernier bloc de convolution s’ajoute à la fin dont le rôle est de générer le masque final
de la tâche concernée. Le lien qui lie l’encodeur à chaque décodeur se présente sous
forme d’un ensemble de connexions résiduelles entre chaque bloc de même niveau
dans les deux parties. La figure 4.11 montre les différents aspects que nous venons
de décrire.
52
4.3.3 Réseau à apprentissage multitâche avec encodeur-décodeur
partagés
Architecture
L’architecture de la solution proposée dans cette partie adopte aussi le mo-
dèle encodeur-décodeur orienté aussi apprentissage multitâche. Néanmoins, les tâches
qui seront traitées par ce réseau se verront partager à la fois l’encodeur et décodeur
contrairement à la solution précédente. Comme nous pouvons le constater dans la
figure 4.12, ce réseau est composé d’un encodeur qui est directement relié à un en-
codeur. Les deux parties reprennent la même architecture classique du réseau U-Net
[2] avec un chemin qui rétrécit et l’autre qui est de nature expansif en plus des
connexions résiduelles qui font le lien entre les deux. Nous avons opté de mettre le
décodeur comme une partie partagée pour les différentes tâches dans l’optique d’ex-
plorer si ce dernier peut bénéficier du transfert positif entre les tâches lors de la phase
d’apprentissage. Ainsi, nous aurons à la fois une architecture plus légère et efficace
que celle précédente vu qu’elle possède juste un seul décodeur comparé à la précé-
dente qui associe un décodeur par tâche. Afin de générer des masques respectifs à
chaque tâche, nous avons ajouté des blocs dédiés pour chaque tâche composés d’une
opération de convolution simple.
Ce réseau se distingue aussi avec une unité spécialement conçue pour prendre
en charge une supervision en profondeur lors de la phase d’entraînement. Cette unité
53
est composée de deux blocs de convolutions qui vient directement se brancher aux
deux derniers blocs du décodeur. Le rôle de chaque bloc est de générer une carac-
téristique intermédiaire propre à chaque bloc du décodeur en prenant en entrée les
caractéristiques résultantes de ces blocs au niveau du décodeur. Les représentations
produites par cette unité serviront exclusivement dans la phase d’entraînement au
calcul de la fonction de perte du réseau. Cela impactera ensuite le processus de la
rétro-propagation en permettant ainsi d’amplifier le flux du gradient directement à
partir de ces deux couches intermédiaires. Ce phénomène a pour effet d’améliorer
l’apprentissage.
Implémentation
Comme mentionné précédemment, ce réseau reprend les mêmes bases d’im-
plémentation que la solution précédente au niveau de l’encodeur. Ce dernier se pré-
sente sous une version de quatre niveaux du réseau ResNet [13]. La partie décodeur
est, elle aussi, constituée de quatre blocs qui s’ajustent avec l’encodeur. Chaque bloc
du décodeur intègre un module d’attention à bloc de convolution CBAM [12]. Nous
avons aussi mis en place des parties dédiées pour chaque tâche à la sortie du déco-
deur. Chaque partie est composée d’une couche de convolution à laquelle nous avons
associé une fonction d’activation de type sigmoïde. Enfin, L’unité spécialisée dans la
supervision en profondeur est constituée de deux blocs qui sont directement reliés
aux sorties des deux derniers blocs de l’encodeur. Chacun est composé d’une couche
de convolution suivie d’une fonction d’activation sigmoïde.
54
4.4 Expérimentation 1
Dans cette section, nous rapporterons les résultats obtenus lors de la phase
d’entraînement et de test du réseau de segmentation U-Net [2] sur l’ensemble de
donnée que nous avons construit. Ces expérimentations ont été menées pour chaque
classe de défaut indépendamment des autres dans le but d’évaluer la qualité de
notre ensemble de données. Nous avons choisi différents encodeurs pré-entraînés sur
l’ensemble de données ImageNet [14]. Cela nous a permis de faire un transfert d’ap-
prentissage au réseau U-Net sur notre ensemble de données.
4.4.1 Données
Les expérimentations concernent l’ensemble d’images d’inspection que nous
avons mis en place dans les étapes précédentes. Il est constitué de trois sous ensembles
partitionnés de manière équilibrée et consistante. L’ensemble d’entraînement com-
prend 450 images et les ensembles de validation et test en comptent 72 chacun.
L’histogramme de la figure 4.13 illustre bien cette répartition.
Figure 4.13 – Histogramme de la répartition des images sur les ensembles d’entraî-
nement , validation et de test.
55
d’encodeur du réseau. En résumé, nous avons six versions du réseau U-Net avec les
encodeurs suivants pré-entraînés sur ImageNet :
— ResNet [13].
— DenseNet [49].
— Xception [50].
— MobileNet [51].
— EffecientNet [19].
— Mix Transformer [52].
Les paramètres des encodeurs seront figés lors de la phase d’entraînement
des modèles dans le but d’exploiter au mieux les paramètres appris par les encodeurs
préalablement. Pour créer contexte commun d’évaluation pour tous les modèles, nous
avons fixé le nombre d’itérations de la phase d’entraînement à 100.
Figure 4.14 – Exemple de code pour instancier le réseau U-Net avec un encodeur
de type ResNet [13] pre-entraîné sur ImageNet [14].
4.4.4 Résultats
Dans cette section, nous présenterons les résultats quantitatifs et qualitatifs
des expérimentations décrites précédemment. Les résultats sont organisés par classes
de défaut de notre ensemble de données.
56
Corrosion
Les graphes de la figure 4.15 représentent l’évolution des courbes de la fonc-
tion de perte 4.15a et du coefficient Dice 4.15b lors de la phase d’entrainement sur
les donnes d’entraînement et de validation :
Validation Test
Encodeur Loss Acc Dice Prec Recall Loss Acc Dice Prec Recall
ResNet[13] 0.33 0.98 0.67 0.78 0.60 0.31 0.96 0.69 0.87 0.57
DenseNet[49] 0.31 0.97 0.68 0.73 0.66 0.30 0.96 0.69 0.85 0.59
Xception[50] 0.33 0.97 0.67 0.77 0.60 0.30 0.96 0.69 0.827 0.60
MobileNet[51] 0.36 0.97 0.63 0.65 0.63 0.31 0.96 0.68 0.78 0.63
EffecientNet[19] 0.34 0.97 0.65 0.7 0.64 0.27 0.96 0.72 0.85 0.64
MixTrans[52] 0.36 0.97 0.63 0.65 0.63 0.28 0.96 0.71 0.8 0.64
Les résultats du tableau 4.1, montrent clairement que le modèle U-Net avec
l’encodeur EffecientNet [19] réalise le meilleur coefficient dice sur l’ensemble de test
avec un score de 72%. Pour les modèles restants, nous observons qu’il n’y a pas un
grand écart de performance entre eux.
57
(a) Les courbes de la fonction de perte.
58
Figure 4.16 – Aperçu des résultats des prédictions des six modèles sur des images
de l’ensemble de test.
59
Efflorescence
60
Les graphes de la figure 4.17 représentent l’évolution des courbes de la fonc-
tion de perte 4.17a et du coefficient Dice 4.17b lors de la phase d’entrainement sur
les donnes d’entraînement et de validation.
Validation Test
Encodeur Loss Acc Dice Prec Recall Loss Acc Dice Prec Recall
ResNet[13] 0.39 0.97 0.60 0.74 0.53 0.62 0.98 0.37 0.54 0.30
DenseNet[49] 0.42 0.97 0.57 0.66 0.52 0.63 0.98 0.36 0.41 0.40
Xception[50] 0.34 0.97 0.65 0.72 0.64 0.63 0.98 0.37 0.50 0.30
MobileNet[51] 0.46 0.97 0.53 0.68 0.48 0.74 0.98 0.25 0.32 0.21
EffecientNet[19] 0.33 0.98 0.66 0.76 0.61 0.67 0.98 0.32 0.41 0.30
MixTrans[52] 0.31 0.98 0.68 0.73 0.65 0.66 0.98 0.33 0.5 0.34
Dans le tableau 4.2, nous constatons que les modèles avec des encodeurs :
efficientNet [19] et Mix Transformer [52] ont réalisé les meilleurs scores du coefficient
dice dans l’ensemble de validation. Les autres modèles suivent la même tendance avec
des scores qui se situent dans un voisinage de 60%. Par contre, les expérimentations
menées sur l’ensemble de test montrent une baisse de résultats comparés à ceux
de l’ensemble de validation. Cette baisse de résultats est aussi constatée dans les
résultats de l’évaluation qualitative comme le montre la figure 4.18.
61
Figure 4.18 – Aperçu des résultats des prédictions des six modèles sur des images
de l’ensemble de test.
62
Barres exposées
63
Les graphes de la figure 4.19 représentent l’évolution des courbes de la fonc-
tion de perte 4.19a et du coefficient Dice 4.19b lors de la phase d’entrainement sur
les donnes d’entraînement et de validation.
Table 4.3 – Résultats quantitatifs des modèles sur la classe Barre exposée.
Validation Test
Encodeur Loss Acc Dice Prec Recall Loss Acc Dice Prec Recall
ResNet[13] 0.30 0.98 0.69 0.68 0.74 0.31 0.98 0.68 0.69 0.70
DenseNet[49] 0.30 0.98 0.7 0.66 0.75 0.32 0.98 0.68 0.67 0.70
Xception[50] 0.31 0.98 0.68 0.68 0.71 0.33 0.98 0.67 0.66 0.69
MobileNet[51] 0.32 0.97 0.67 0.63 0.73 0.35 0.98 0.64 0.62 0.68
EffecientNet[19] 0.30 0.98 0.69 0.68 0.73 0.28 0.98 0.71 0.69 0.77
MixTrans[52] 0.31 0.98 0.68 0.68 0.69 0.31 0.98 0.69 0.68 0.71
Discussion des résultats : Les résultats des expérimentations menées sur la classe
de “barre exposée” montrent que les six modèles testés convergent lors de l’entraîne-
ment. En effet, les courbes de la fonction de perte 4.19a montrent clairement que les
modèles se stabilisent dans les dernières itérations du processus d’entraînement. Dans
l’autre côté, l’évolution des courbes du coefficient Dice 4.19b suit un comportement
similaire qui reflète la convergence des modèles. Dans un premier temps, le coefficient
dice augmente progressivement jusqu’à atteindre une certaine stabilité autour de 80
% pour l’ensemble d’entraînement et 70 % pour l’ensemble de validation.
Concernant le tableau 4.3, les six modèles ont réalisé des résultats qui sont
proches l’un des autres en termes du coefficient de dice. Les résultats varient de 67 %
à 70 % pour l’ensemble de validation tandis que ceux de l’ensemble de test se situent
entre 64 % et 71 %.
64
Figure 4.20 – Aperçu des résultats des prédictions des six modèles sur des images
de l’ensemble de test.
65
Dégradation du béton
66
Les graphes de la figure 4.21 représentent l’évolution des courbes de la fonc-
tion de perte 4.21a et du coefficient Dice 4.21b lors de la phase d’entraînement sur
les donnes d’entraînement et de validation.
Table 4.4 – Résultats quantitatifs des modèles sur la classe Dégradation de béton.
Validation Test
Encodeur Loss Acc Dice Prec Recall Loss Acc Dice Prec Recall
ResNet[13] 0.27 0.94 0.73 0.81 0.67 0.23 0.90 0.76 0.81 0.72
DenseNet[49] 0.28 0.93 0.71 0.75 0.70 0.22 0.90 0.77 0.77 0.77
Xception[50] 0.28 0.93 0.71 0.79 0.65 0.23 0.91 0.76 0.82 0.72
MobileNet[51] 0.48 0.84 0.57 0.50 0.71 0.38 0.84 0.67 0.61 0.76
EffecientNet[19] 0.25 0.94 0.75 0.79 0.72 0.20 0.91 0.79 0.78 0.80
MixTrans[52] 0.25 0.94 0.74 0.84 0.68 0.22 0.90 0.78 0.77 0.79
Les résultats du tableau 4.4 montre que le modèle U-Net avec l’encodeur
MobileNet[51] a réalisé le plus faible résultat. Pour les restants, le modèle U-Net
avec EffecientNet[19] est le celui avec la meilleure performance, tandis les autres sont
aussi assez proches de lui.
67
Figure 4.22 – Aperçu des résultats des prédictions des six modèles sur des images
de l’ensemble de test.
68
4.5 Expérimentation 2
Cette deuxième phase d’expérimentations concerne les trois architectures à
apprentissage multitâche proposées pour répondre à la problématique de la segmen-
tation des défauts dans le processus d’inspection des ponts en béton. Elle retrace les
détails clés des expérimentations avant d’exposer les résultats quantitatifs et quali-
tatifs obtenus par les modèles.
4.5.1 Entraînement
La phase d’entraînement de ces réseaux s’est effectuée sur l’ensemble de
données que nous avons construit auparavant. Pour rappel, ce dernier comporte des
images d’inspection de ponts avec des masques pour quatre classes de défauts. La
partie encodeur du réseau est gelée afin de ne pas subir d’apprentissage vu qu’elle
a été pré-entraînée sur ImageNet. Cela est jugé suffisant, car cet aspect lui confère
une efficacité reconnue dans l’extraction des caractéristiques génériques des objets.
En ce qui concerne la partie décodeur, elle sera affectée et sujette aux modifications
et à l’apprentissage de cette phase d’entraînement.
Nous avons fixé le nombre d’itérations à 200. Ce choix se justifie par le fait
que dans la majorité des expérimentations que nous avons menées préalablement,
les modèles ont tendance à atteindre leurs points de convergence en moins de 200
itérations.
69
4.5.2 Augmentation de données
Dans cette phase d’entraînement, nous avons inclus une étape importante
dans le pipeline d’acheminement des données. Cette dernière est l’augmentation de
donnée. Elle a pour rôle d’augmenter notre ensemble d’entraînement afin d’amener
de la diversité dans les données au modèle pour qu’il puisse atteindre une meilleure
généralisation. Cette étape est composée de deux opérations qui s’appliquent succes-
sivement de la même manière à l’image et son masque :
Retournement Horizontal : Bascule l’image sur son axe horizontal avec
une probabilité d’occurrence :p = 0.5
Rotation : Procède à une rotation de l’image avec un angle compris dans
[0, 10] avec une probabilité d’occurrence :p = 0.5
Dans l’équation 4.2, Y est le masque de la réalité terrain, et Ŷ est le masque prédit
par le modèle.
Comme le dénote bien l’équation 4.3, l’entropie croisée binaire a été choisie
dans l’optique de mesurer la divergence entre la distribution de probabilité des pixels
réels yi et celle des pixels prédits ŷi . N étant le nombre de pixels total dans le masque.
Lorsque les prédictions du modèle correspondent exactement aux valeurs réelles, la
cross-entropie binaire est minimale.
N
1 X
Fecb =− yi . log(ŷi ) + (1 − yi ). log(1 − ŷi ) (4.3)
N i=1
70
2 × Y ∪ Ŷ
Fdice (Y, Ŷ ) = (4.4)
Y ∩ Ŷ
71
4.5.4 Algorithme d’optimisation
Le choix d’un algorithme d’optimisation du gradient est cruciale pour l’en-
traînement des modèles proposés via ce travail de recherche. Le rôle d’un tel algo-
rithme est de minimiser la fonction de perte lors de la phase d’entraînement. Lors des
expérimentations sur les réseaux proposés, nous avons choisi d’employer l’optimiseur
Adam [53]. Cet algorithme est très populaire dans le domaine de l’apprentissage pro-
fond et combine à la fois les avantages des optimiseurs : AdaGrad [54] et RMSProp.
Nous avons fixé le taux d’apprentissage initial à 0.001, et nous avons défini
un ordonnanceur qui ajustera la valeur de ce taux au fil des 200 itérations. L’ordon-
nanceur adopte une stratégie qui consiste à diminuer le taux d’apprentissage au fil
des itérations d’entraînement en suivant une fonction exponentielle comme le montre
le graphe de la figure 4.26.
72
Table 4.5 – Caractéristiques matérielles et logicielle de la station d’expérimentation.
4.5.6 Résultats
Dans cette section, nous aborderons les résultats quantitatifs et qualitatifs
des expérimentations conduites sur les modèles exposés précédemment.
Résultats quantitatifs
Le tableau 4.6 résume en détails les résultats obtenus lors des expérimenta-
tions menées sur les 3 architectures proposées dans ce travail.
73
74
Figure 4.27 – Histogramme des résultats Dice de chaque architecture par classe de défauts sur les données de test et de
validation
Résultats qualitatifs
Cette section montre les résultats d’inférences des modèles sur un ensemble
d’images afin d’avoir une idée globale sur la qualité des masques générés.
75
Discussion
D’après les résultats des expérimentations menées sur nos trois architectures,
l’ensemble des architectures atteignent le point de convergence lors du processus
d’apprentissage. C’est un indicateur que les trois réseaux ont capturé l’ensemble des
aspects caractéristiques et les relations présentes dans l’ensemble d’entraînement.
Nous constatons aussi que pour les classes corrosion et barre exposée, les réseaux ont
obtenu des résultats assez similaires dans un intervalle allant de 0.6 à 0.7. Concernant
la classe de dégradation du béton, les modèles ont performé très bien à l’unanimité
comme nous pouvons le voir dans la figure 4.27. Enfin, nous constatons que les réseaux
n’ont pas su bien se généraliser par rapport à la classe efflorescence dans les données
de test. Cela est probablement dû à la faible proportion d’images de cette classe
présente dans l’ensemble d’entraînement relativement aux autres. Ainsi, les modèles
n’ont pas assez appris pour bien se généraliser. En plus de ça, nous soupçonnons
aussi le fait que les masques de cette classe ne capturent pas un ensemble suffisant
d’aspects caractéristique de cette dernière pour une meilleure discrimination lors du
processus d’apprentissage.
76
Chapitre 5
Ce travail de recherche est une partie qui s’inscrit dans un projet portant
sur un système d’inspection de ponts avec drone. La problématique traitée dans ce
travail concerne la mise en place d’une méthode d’apprentissage profond, à savoir la
segmentation sémantique dans la détection des défauts pour ce processus d’inspec-
tion.
77
Raffinage des annotations de l’ensemble de données : Cette opération est
primordiale après les résultats obtenus dans la classe efflorescence. En tenant compte
des analyses faites sur les instances de cette classe de défauts, nous estimons qu’il
y a matière à améliorer les annotations de cette classe. Ainsi, nous obtiendrons des
masques consistants qui capturent l’essentiel des aspects caractéristiques de cette
classe.
Augmenter la base d’image : Cette approche est centrée sur les données. Dans
la littérature relative à l’apprentissage profond, l’augmentation des données permet
de pousser les performances des réseaux. Dans le cas de cette base d’image, il existe
deux approches pour ce processus. La première est une approche naïve qui consiste à
ajouter davantage d’images d’inspection de pont et ensuite les annoter. La deuxième
consiste à générer une autre version de la base actuelle en divisant les images et leurs
masques correspondants en plusieurs parties pour constituer une base plus large.
78
Bibliographie
[1] Jonathan Long, Evan Shelhamer, and Trevor Darrell. Fully convolutional net-
works for semantic segmentation, 2015.
[2] Olaf Ronneberger, Philipp Fischer, and Thomas Brox. U-net : Convolutional
networks for biomedical image segmentation, 2015.
[3] Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos, Kevin Murphy, and
Alan L. Yuille. Deeplab : Semantic image segmentation with deep convolutional
nets, atrous convolution, and fully connected crfs, 2017.
[4] Liang-Chieh Chen, George Papandreou, Florian Schroff, and Hartwig Adam.
Rethinking atrous convolution for semantic image segmentation, 2017.
[5] Chenyu Zhang, Muhammad Monjurul Karim, and Ruwen Qin. A multitask
deep learning model for parsing bridge elements and segmenting defect in bridge
inspection images, 2022.
[6] Martin Mundt, Sagnik Majumder, Sreenivas Murali, Panagiotis Panetsos, and
Visvanathan Ramesh. Meta-learning convolutional neural architectures for
multi-target concrete defect classification with the concrete defect bridge image
dataset. CoRR, abs/1904.08486, 2019.
[7] B. E. Moore and J. J. Corso. Fiftyone. GitHub. Note : https ://gi-
thub.com/voxel51/fiftyone, 2020.
[8] Michael Crawshaw. Multi-task learning with deep neural networks : A survey,
2020.
[9] Zhanpeng Zhang, Ping Luo, Chen Change Loy, and Xiaoou Tang. Facial land-
mark detection by deep multi-task learning. In David Fleet, Tomas Pajdla,
Bernt Schiele, and Tinne Tuytelaars, editors, Computer Vision – ECCV 2014,
pages 94–108, Cham, 2014. Springer International Publishing.
[10] Y. Gao, J. Ma, M. Zhao, W. Liu, and A. L. Yuille. Nddr-cnn : Layerwise fea-
ture fusing in multi-task cnns by neural discriminative dimensionality reduction.
In 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition
(CVPR), pages 3200–3209, Los Alamitos, CA, USA, jun 2019. IEEE Computer
Society.
[11] Chen-Yu Lee, Saining Xie, Patrick Gallagher, Zhengyou Zhang, and Zhuowen
Tu. Deeply-supervised nets, 2014.
[12] Sanghyun Woo, Jongchan Park, Joon-Young Lee, and In So Kweon. CBAM :
Convolutional Block Attention Module, July 2018. arXiv :1807.06521 [cs].
79
[13] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual lear-
ning for image recognition, 2015.
[14] Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li, and Li Fei-Fei. Imagenet :
A large-scale hierarchical image database. In 2009 IEEE conference on computer
vision and pattern recognition, pages 248–255. Ieee, 2009.
[15] American Association of State Highway and Transportation Officials (AA-
SHTO). Manual for Bridge Element Inspection, 2019.
[16] Dariush Amirkhani, Mohand Saïd Allili, Loucif Hebbache, Nadir Hammouche,
and Jean-François Lapointe. Visual concrete bridge defect classification and
detection using deep learning : A systematic review. IEEE Transactions on
Intelligent Transportation Systems, pages 1–23, 2024.
[17] Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for
large-scale image recognition, 2015.
[18] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dra-
gomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich.
Going deeper with convolutions, 2014.
[19] Mingxing Tan and Quoc V. Le. Efficientnet : Rethinking model scaling for
convolutional neural networks, 2020.
[20] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Spatial pyramid
pooling in deep convolutional networks for visual recognition. In Computer
Vision – ECCV 2014, pages 346–361. Springer International Publishing, 2014.
[21] Liang-Chieh Chen, Yukun Zhu, George Papandreou, Florian Schroff, and Hart-
wig Adam. Encoder-decoder with atrous separable convolution for semantic
image segmentation, 2018.
[22] Fausto Milletari, Nassir Navab, and Seyed-Ahmad Ahmadi. V-net : Fully convo-
lutional neural networks for volumetric medical image segmentation, 2016.
[23] Dmitry A. Yudin, Vasily Adeshkin, Alexandr V. Dolzhenko, Alexandr Poly-
akov, and Andrey E. Naumov. Roof Defect Segmentation on Aerial Images
Using Neural Networks. In Boris Kryzhanovsky, Witali Dunin-Barkowski, Vla-
dimir Redko, and Yury Tiumentsev, editors, Advances in Neural Computation,
Machine Learning, and Cognitive Research IV, pages 175–183, Cham, 2021.
Springer International Publishing.
[24] Fityanul Akhyar, Chih-Yang Lin, and Gugan S. Kathiresan. A Beneficial Dual
Transformation Approach for Deep Learning Networks Used in Steel Surface
Defect Detection. In Proceedings of the 2021 International Conference on Mul-
timedia Retrieval, ICMR ’21, pages 619–622, New York, NY, USA, September
2021. Association for Computing Machinery.
[25] Jingdong Wang, Ke Sun, Tianheng Cheng, Borui Jiang, Chaorui Deng, Yang
Zhao, Dong Liu, Yadong Mu, Mingkui Tan, Xinggang Wang, Wenyu Liu, and
Bin Xiao. Deep high-resolution representation learning for visual recognition,
2020.
[26] Juan Jose Rubio, Takahiro Kashiwa, Teera Laiteerapong, Wenlong Deng, Kohei
Nagai, Sergio Escalera, Kotaro Nakayama, Yutaka Matsuo, and Helmut Pren-
80
dinger. Multi-class structural damage segmentation using fully convolutional
networks. Computers in Industry, 112 :103121, November 2019.
[27] Cao Vu Dung and Le Duc Anh. Autonomous concrete crack detection using
deep fully convolutional neural network. Automation in Construction, 99 :52–
58, March 2019.
[28] Gang Pan, Yaoxian Zheng, Shuai Guo, and Yaozhi Lv. Automatic sewer pipe de-
fect semantic segmentation based on improved U-Net. Automation in Construc-
tion, 119 :103383, November 2020.
[29] Mingzhu Wang and Jack C. P. Cheng. A unified convolutional neural net-
work integrated with conditional random field for pipe defect segmentation.
Computer-Aided Civil and Infrastructure Engineering, 35(2) :162–177, 2020.
[30] Hengshuang Zhao, Jianping Shi, Xiaojuan Qi, Xiaogang Wang, and Jiaya Jia.
Pyramid Scene Parsing Network, April 2017. arXiv :1612.01105 [cs].
[31] Jiyuan Shi, Ji Dang, Mida Cui, Rongzhi Zuo, Kazuhiro Shimizu, Akira Tsunoda,
and Yasuhiro Suzuki. Improvement of Damage Segmentation Based on Pixel-
Level Data Balance Using VGG-Unet. Applied Sciences, 11(2) :518, January
2021.
[32] Kaiming He, Georgia Gkioxari, Piotr Dollár, and Ross Girshick. Mask R-CNN,
January 2018. arXiv :1703.06870 [cs].
[33] Yonas Zewdu Ayele, Mostafa Aliyari, David Griffiths, and Enrique Lopez Dro-
guett. Automatic Crack Segmentation for UAV-Assisted Bridge Inspection.
Energies, 13(23) :6250, January 2020. Number : 23 Publisher : Multidisciplinary
Digital Publishing Institute.
[34] Jiajun Li, Qian Wang, Jun Ma, and Jingjing Guo. Multi-defect segmentation
from façade images using balanced copy–paste method. Computer-Aided Civil
and Infrastructure Engineering, 37(11) :1434–1449, 2022.
[35] Chul Min Yeum, Jongseong Choi, and Shirley J Dyke. Automated region-of-
interest localization and classification for vision-based visual assessment of civil
infrastructure. Structural Health Monitoring, 18(3) :675–689, May 2019. Publi-
sher : SAGE Publications.
[36] Yasutaka Narazaki, Vedhus Hoskere, Tu A. Hoang, Yozo Fujino, Akito Sakurai,
and Billie F. Spencer Jr. Vision-based automated bridge component recogni-
tion with high-level scene consistency. Computer-Aided Civil and Infrastructure
Engineering, 35(5) :465–482, 2020.
[37] Eric Bianchi, Amos Lynn Abbott, Pratap Tokekar, and Matthew Hebdon.
COCO-Bridge : Structural Detail Data Set for Bridge Inspections. Journal
of Computing in Civil Engineering, 35(3) :04021003, May 2021. Publisher :
American Society of Civil Engineers.
[38] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed,
Cheng-Yang Fu, and Alexander C. Berg. SSD : Single Shot MultiBox Detector.
volume 9905, pages 21–37. 2016. arXiv :1512.02325 [cs].
[39] Muhammad Monjurul Karim, Ruwen Qin, Genda Chen, and Zhaozheng Yin.
A semi-supervised self-training method to develop assistive intelligence for seg-
81
menting multiclass bridge elements from inspection videos. Structural Health
Monitoring, 21(3) :835–852, May 2022. Publisher : SAGE Publications.
[40] Chenyu Zhang, Muhammad Monjurul Karim, Zhaozheng Yin, and Ruwen Qin.
A deep neural network for multiclass bridge element parsing in inspection image
analysis, 2022.
[41] Weilei Yu and Mayuko Nishio. Multilevel structural components detection and
segmentation toward computer vision-based bridge inspection. Sensors, 22(9),
2022.
[42] Rich Caruana. Multitask Learning. Machine Learning, 28(1) :41–75, July 1997.
[43] Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao, Chloe Rolland, Laura
Gustafson, Tete Xiao, Spencer Whitehead, Alexander C. Berg, Wan-Yen Lo,
Piotr Dollár, and Ross Girshick. Segment anything, 2023.
[44] Leland McInnes, John Healy, and James Melville. Umap : Uniform manifold
approximation and projection for dimension reduction, 2020.
[45] Laurens van der Maaten and Geoffrey Hinton. Visualizing data using t-sne.
Journal of Machine Learning Research, 9(86) :2579–2605, 2008.
[46] Alex Kendall, Yarin Gal, and Roberto Cipolla. Multi-task learning using uncer-
tainty to weigh losses for scene geometry and semantics, 2018.
[47] Meng-Hao Guo, Tian-Xing Xu, Jiang-Jiang Liu, Zheng-Ning Liu, Peng-Tao
Jiang, Tai-Jiang Mu, Song-Hai Zhang, Ralph R. Martin, Ming-Ming Cheng,
and Shi-Min Hu. Attention Mechanisms in Computer Vision : A Survey. Com-
putational Visual Media, 8(3) :331–368, September 2022. arXiv :2111.07624 [cs].
[48] Pavel Iakubovskii. Segmentation models pytorch. https://github.com/qubvel/
segmentation_models.pytorch, 2019.
[49] Gao Huang, Zhuang Liu, Laurens van der Maaten, and Kilian Q. Weinberger.
Densely connected convolutional networks, 2018.
[50] François Chollet. Xception : Deep learning with depthwise separable convolu-
tions, 2017.
[51] Andrew G. Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun
Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam. Mobilenets :
Efficient convolutional neural networks for mobile vision applications, 2017.
[52] Enze Xie, Wenhai Wang, Zhiding Yu, Anima Anandkumar, Jose M. Alvarez, and
Ping Luo. Segformer : Simple and efficient design for semantic segmentation with
transformers, 2021.
[53] Diederik P. Kingma and Jimmy Ba. Adam : A method for stochastic optimiza-
tion, 2017.
[54] John Duchi, Elad Hazan, and Yoram Singer. Adaptive subgradient methods
for online learning and stochastic optimization. Journal of Machine Learning
Research, 12(61) :2121–2159, 2011.
82