Segmentation d'instance pour l'identification individuelle des défauts
La segmentation d'instance identifie et délimite chaque objet individuel ou défaut au niveau du pixel, en attribuant un identifiant unique à chaque fissure, écl...

La segmentation sémantique est la tâche de vision par ordinateur consistant à attribuer une étiquette de classe prédéfinie à chaque pixel d’une image d’entrée, produisant une carte de classification complète au niveau du pixel où chaque pixel est assigné à une catégorie telle que fissure, revêtement non fissuré, marquage au sol, végétation, FOD, ou type de surface. La sortie est un masque de prédiction dense de mêmes dimensions spatiales que l’image d’entrée, où chaque valeur de pixel correspond à un indice de classe.
Cela distingue la segmentation sémantique de trois tâches de vision par ordinateur connexes mais fondamentalement différentes :
La classification d’images attribue une seule étiquette à l’image entière — par exemple, déclarer « cette image contient une fissure » sans spécifier où se trouve la fissure. La classification ne fournit aucune information spatiale sur la position, la forme ou l’étendue de l’objet. C’est la tâche de vision par ordinateur la plus simple mais aussi la moins informative pour l’inspection d’infrastructures, où connaître l’emplacement, la géométrie et l’étendue des défauts est essentiel pour l’évaluation de l’état et la planification de la maintenance.
La détection d’objets identifie et localise les objets en traçant des boîtes englobantes alignées sur les axes autour d’eux, attribuant à chaque boîte une étiquette de classe et un score de confiance. La détection répond à « quels objets sont présents et approximativement où. » Pour la détection de fissures, une boîte englobante peut contenir une région de fissure mais ne peut pas délimiter la forme précise, la largeur ou la connectivité de la fissure — des informations essentielles pour la classification du type de fissure (longitudinale, transversale, en maille, en bloc) et l’évaluation de la sévérité selon ASTM D5340.
La segmentation d’instances va plus loin en détectant chaque instance d’objet individuelle et en produisant un masque pixel par pixel pour chacune, attribuant des identifiants d’instance uniques. Pour l’inspection d’infrastructures, cela permettrait de distinguer les fissures ou nids-de-poule individuels les uns des autres. Cependant, de nombreux défauts de surface — en particulier les motifs de fissuration comme la fissuration en maille ou en bloc — forment des réseaux interconnectés difficiles à décomposer en instances discrètes, rendant la segmentation d’instances moins adaptée à l’évaluation générale de l’état des chaussées.
La segmentation panoptique unifie la segmentation sémantique et d’instances en attribuant une étiquette sémantique à chaque pixel (incluant les classes de « matière » comme le revêtement, le ciel, la végétation) et en détectant et segmentant simultanément les instances d’objets individuelles (classes de « choses » comme les nids-de-poule spécifiques ou les éléments de FOD). La segmentation panoptique est l’approche la plus complète mais aussi la plus exigeante en calcul et la plus complexe à entraîner.
| Tâche | Sortie | Précision Spatiale | Applicabilité aux Infrastructures |
|---|---|---|---|
| Classification d’images | Une seule étiquette par image | Aucune | Détection de présence de fissure uniquement |
| Détection d’objets | Boîtes englobantes par objet | Grossière | Détection de FOD, localisation de nids-de-poule |
| Segmentation sémantique | Étiquettes de classe par pixel | Maximale (niveau pixel) | Cartographie des fissures, type de surface, évaluation PCI |
| Segmentation d’instances | Masques d’objets individuels | Maximale + ID d’instance | Comptage de défauts discrets |
| Segmentation panoptique | Étiquettes tous pixels + instances | Maximale + ID d’instance | Compréhension complète de scène |
Pour les applications d’inspection d’infrastructures — en particulier l’évaluation de l’état des chaussées aéroportuaires, la cartographie des fissures et la classification des types de surface — la segmentation sémantique est l’approche la plus appropriée et la plus largement adoptée car elle fournit une compréhension complète de la scène avec la précision au niveau du pixel requise pour une évaluation quantitative de l’état, sans nécessiter la décomposition des réseaux de défauts continus en instances individuelles.
Architecturalement, les modèles de segmentation sémantique sont typiquement des réseaux entièrement convolutionnels (FCN) ou des modèles basés sur les transformers conçus pour accepter une image d’entrée de dimensions arbitraires et produire une carte de segmentation de sortie de mêmes dimensions spatiales. La caractéristique déterminante est l’absence de couches entièrement connectées qui fixeraient la taille d’entrée — à la place, toutes les couches sont convolutionnelles ou basées sur l’attention, permettant au réseau de traiter des images de résolutions variables pendant l’inférence.
La carte de segmentation de sortie a des dimensions H × W × C, où H et W correspondent aux dimensions spatiales d’entrée (ou une fraction fixe de celles-ci) et C est le nombre de classes. À chaque emplacement spatial, le vecteur C-dimensionnel contient la probabilité prédite pour chaque classe, normalisée typiquement par une fonction d’activation softmax afin que les probabilités somme à 1. L’assignation finale de classe est déterminée en prenant l’argmax sur la dimension des canaux — la classe avec la probabilité la plus élevée pour chaque pixel.

U-Net, introduit par Ronneberger, Fischer et Brox dans leur article de 2015 « U-Net: Convolutional Networks for Biomedical Image Segmentation, » est l’architecture de segmentation sémantique la plus influente et reste le standard de facto pour les tâches d’inspection d’infrastructures, en particulier la segmentation de fissures. Le nom provient de l’architecture symétrique en forme de U comprenant un chemin d’encodeur contractant et un chemin de décodeur expansif interconnectés par des connexions de saut (skip connections).
L’encodeur (chemin contractant) suit une conception typique de réseau convolutionnel : application répétée de deux convolutions 3×3 (chacune suivie d’une unité linéaire rectifiée — ReLU) et d’une opération de max pooling 2×2 avec stride 2 pour le sous-échantillonnage. À chaque étape de sous-échantillonnage, le nombre de canaux de caractéristiques double : de 64 à 128 à 256 à 512 à 1024 à la couche la plus profonde (le goulot d’étranglement). Cette augmentation progressive de la profondeur des canaux compense la perte de résolution spatiale, permettant au réseau d’apprendre des caractéristiques de plus en plus abstraites et sémantiquement significatives à des échelles plus grossières.
Le décodeur (chemin expansif) reflète l’encodeur en sens inverse : chaque étape commence par une up-convolution 2×2 (convolution transposée) qui réduit de moitié le nombre de canaux de caractéristiques et double les dimensions spatiales. La carte de caractéristiques suréchantillonnée est ensuite concaténée avec la carte de caractéristiques correspondante de l’encodeur à la même résolution — c’est la connexion de saut (skip connection) qui définit U-Net. La carte de caractéristiques concaténée passe par deux convolutions 3×3 avec activation ReLU. La couche finale est une convolution 1×1 qui mappe la représentation de caractéristiques au nombre souhaité de classes de sortie.
Les connexions de saut sont l’innovation architecturale qui rend U-Net efficace pour la localisation précise. Pendant l’encodage, l’information spatiale sur les frontières des objets, les gradients de texture et les détails fins est progressivement perdue par les opérations de sous-échantillonnage et de pooling. Les connexions de saut contournent le goulot d’étranglement et livrent directement les cartes de caractéristiques haute résolution de l’encodeur au décodeur aux résolutions correspondantes, permettant au décodeur d’accéder à la fois au contexte sémantique des couches profondes et à la précision spatiale des couches superficielles. Pour la segmentation de fissures, où des largeurs de fissure de 0,5 à 3 mm doivent être résolues, la préservation de la précision des frontières via les connexions de saut est essentielle.
L’implémentation originale d’U-Net contient environ 31 millions de paramètres pour une tâche de segmentation à 2 classes. Les implémentations modernes dans des frameworks tels que Segmentation Models PyTorch (smp) supportent des profondeurs d’encodeur configurables (3–5 étages), des backbones d’encodeur enfichables (ResNet, EfficientNet, etc.) et des spécifications de canaux de décodeur, rendant U-Net hautement adaptable à différents compromis précision-vitesse. L’architecture traite une image d’entrée 256×256 en environ 15–30 millisecondes sur un GPU moderne, permettant une inférence en temps réel à 30–60 images par seconde pour le traitement par tuiles de relevés de grandes surfaces.
DeepLabV3+, développé par Chen et al. chez Google (2018), étend la famille d’architectures DeepLab (DeepLabV1, V2, V3) en ajoutant une structure encodeur-décodeur au module Atrous Spatial Pyramid Pooling (ASPP) introduit dans DeepLabV3. L’architecture a été conçue spécifiquement pour pallier les limitations de la segmentation basée sur les FCN standards : la perte de résolution spatiale due au sous-échantillonnage répété, et la difficulté de segmenter des objets à plusieurs échelles.
L’innovation clé dans DeepLabV3+ est la convolution atreuse (dilatée) , qui permet au réseau de contrôler la résolution à laquelle les réponses des caractéristiques sont calculées sans réduire les dimensions spatiales. La convolution atreuse insère des zéros (trous) entre les poids du filtre, élargissant effectivement le champ récepteur sans augmenter le nombre de paramètres. Pour une convolution de taille de noyau k et de taux de dilatation r, la taille effective du noyau est k + (k-1)(r-1). DeepLabV3+ utilise un output stride de 16 — ce qui signifie que la résolution de la carte de caractéristiques finale est de 1/16 de l’entrée — comparé à 1/32 pour les backbones ResNet standards, préservant ainsi des détails spatiaux plus fins.
Le module Atrous Spatial Pyramid Pooling (ASPP) applique des convolutions atreuses parallèles avec différents taux de dilatation pour capturer le contexte multi-échelle. La configuration ASPP standard utilise quatre branches parallèles avec des taux de dilatation de 1, 6, 12 et 18 lorsque l’output stride est de 16 (ou 1, 12, 24, 36 pour un output stride de 8). Chaque branche traite la carte de caractéristiques via une convolution 3×3 à son taux de dilatation spécifié, suivie d’une normalisation par lots et d’une ReLU. Les sorties sont concaténées et passées par une convolution 1×1 pour produire la représentation finale des caractéristiques ASPP. Une branche supplémentaire applique un pooling moyen global pour capturer le contexte global de l’image, qui est suréchantillonné par interpolation bilinéaire et concaténé avec les caractéristiques ASPP.
Le module décodeur dans DeepLabV3+ est un composant relativement léger comparé au décodeur complet d’U-Net. Les caractéristiques de l’encodeur (provenant de l’ASPP) sont suréchantillonnées par interpolation bilinéaire d’un facteur 4. Ces caractéristiques suréchantillonnées sont concaténées avec les caractéristiques de bas niveau correspondantes du backbone de l’encodeur (spécifiquement, la carte de caractéristiques du premier bloc convolutionnel — typiquement à résolution 1/4). Les caractéristiques concaténées passent par une convolution 3×3 et un second suréchantillonnage bilinéaire d’un facteur 4 pour restaurer la résolution originale de l’entrée.
DeepLabV3+ atteint des performances de pointe sur des jeux de données de référence comme Cityscapes (82,1 % mIoU avec backbone ResNet-101) et PASCAL VOC 2012 (89,0 % mIoU avec backbone Xception). Pour l’inspection d’infrastructures, DeepLabV3+ excelle dans la segmentation de grandes caractéristiques de surface dépendantes du contexte comme les types de revêtement et les zones de marquage, mais peut avoir des difficultés avec les caractéristiques très fines comme les fissures capillaires (largeur < 1 mm) où l’output stride de 1/16 perd encore des détails spatiaux critiques.
SegFormer, introduit par Xie et al. chez NVIDIA (2021), représente une rupture fondamentale avec les architectures convolutionnelles en utilisant un encodeur purement basé sur les transformers avec un décodeur léger à perceptron multicouche (MLP). SegFormer a été le premier modèle hiérarchique de segmentation par transformer à démontrer que les transformers pouvaient égaler ou dépasser les architectures convolutionnelles sur toute la gamme de tailles de modèles — du léger (SegFormer-B0, 3,8 millions de paramètres) au lourd (SegFormer-B5, 84,7 millions de paramètres).
L’encodeur Mix Transformer (MiT) adopte une conception hiérarchique qui produit des cartes de caractéristiques multi-échelles à 1/4, 1/8, 1/16 et 1/32 de la résolution d’entrée, similaire à la hiérarchie de caractéristiques des backbones convolutionnels comme ResNet. Chaque étage applique un patch embedding avec chevauchement (plutôt que les patchs sans chevauchement du ViT standard), une auto-attention efficace avec une longueur de séquence réduite, et des réseaux feed-forward Mix-FFN. L’encodage positionnel dans SegFormer est initialisé à zéro et apprenable — les auteurs ont constaté que la suppression totale des encodages positionnels fixes et l’utilisation de la variante apprenable initialisée à zéro amélioraient les performances sur l’inférence à résolution variable, ce qui est essentiel pour les images d’infrastructure capturées à des altitudes et des distances au sol variables.
Le décodeur MLP est remarquablement simple comparé aux décodeurs convolutionnels : il agrège les caractéristiques multi-échelles de l’encodeur MiT en suréchantillonnant bilinéairement toutes les cartes de caractéristiques à la résolution 1/4, en les concaténant, en les faisant passer par une couche de fusion par convolution 3×3, et en appliquant un MLP avec deux couches cachées pour produire la segmentation finale. La simplicité du décodeur contribue à l’efficacité computationnelle de SegFormer — le décodeur ne contient que quelques millions de paramètres, même pour les plus grandes variantes du modèle.
L’avantage clé de SegFormer pour l’inspection d’infrastructures est sa robustesse à la variation de résolution d’entrée. Le mécanisme d’auto-attention de l’encodeur transformer s’adapte naturellement à différentes tailles d’entrée sans le comportement dépendant de la résolution des noyaux convolutionnels. Pour les tâches d’inspection de chaussées où les images peuvent être capturées à différentes altitudes de vol ou avec différents capteurs de caméra, SegFormer maintient une qualité de segmentation constante sans nécessiter de réglage fin spécifique à la résolution.
Pyramid Scene Parsing Network (PSPNet) , introduit par Zhao et al. (2017), aborde le défi de la compréhension du contexte global par le pooling pyramidal. L’idée clé est que de nombreuses erreurs de segmentation — en particulier la mauvaise classification de régions visuellement similaires mais sémantiquement différentes (par exemple, revêtement bitumineux vs. revêtement en béton, ou fissure scellée vs. fissure non scellée) — découlent d’un contexte global insuffisant.
Le Pyramid Pooling Module (PPM) applique un pooling moyen adaptatif à quatre échelles différentes : 1×1 (global), 2×2, 3×3 et 6×6. Chaque carte de caractéristiques poolée passe par une convolution 1×1 pour réduire les canaux à 1/N de l’entrée (où N=4, le nombre de niveaux pyramidaux), puis est suréchantillonnée bilinéairement à la résolution originale de la carte de caractéristiques. Les caractéristiques suréchantillonnées des quatre niveaux sont concaténées avec la carte de caractéristiques originale, produisant une représentation finale qui encode à la fois les détails locaux et le contexte global à plusieurs échelles.
Pour la segmentation des chaussées, le pooling pyramidal permet au réseau de distinguer les types de surface en fonction du contexte : une parcelle d’asphalte au centre d’une piste a une texture et un état attendus différents de ceux de l’asphalte en bordure de piste ou sur une voie de circulation. Le pooling global à 1×1 capture le type de scène global (piste, voie de circulation, aire de trafic, route), tandis que les échelles de pooling plus fines capturent les motifs locaux de texture et d’état.
Mask2Former, introduit par Cheng et al. chez Meta AI (2022), unifie la segmentation sémantique, d’instances et panoptique au sein d’une seule architecture en formulant toutes les tâches de segmentation comme une classification de masques. Plutôt que de produire directement des cartes de classification pixel par pixel, Mask2Former prédit un ensemble de masques binaires avec des étiquettes de classe associées, similaire à la façon dont la détection d’objets prédit des boîtes englobantes avec des étiquettes de classe.
L’architecture se compose de trois composants : un backbone (typiquement un Swin Transformer ou ResNet) qui extrait des caractéristiques multi-échelles, un décodeur transformer avec attention masquée qui affine itérativement les prédictions de masques, et un décodeur pixel qui génère des embeddings par pixel. Le mécanisme d’attention masquée restreint l’auto-attention du transformer aux régions à l’intérieur de chaque masque prédit, réduisant significativement la complexité computationnelle (de O(N²) à O(NM) où M est le nombre de pixels du masque) et concentrant la capacité du modèle sur les caractéristiques spécifiques à la région.
Pour l’inspection d’infrastructures, l’avantage de Mask2Former est sa capacité à traiter naturellement diverses tailles d’objets — des grandes régions continues (types de revêtement, zones de végétation) aux petits objets discrets (éléments de FOD, épaufrures individuelles) — au sein d’un cadre unifié. Cependant, la formulation par classification de masques peut être moins intuitive pour les motifs de défauts continus et amorphes que la classification directe pixel par pixel, et Mask2Former nécessite typiquement plus de données d’entraînement et de ressources computationnelles qu’U-Net ou DeepLabV3+.
ResNet, introduit par He et al. chez Microsoft Research (2015), est le backbone d’encodeur le plus utilisé pour la segmentation sémantique. L’innovation clé est le cadre d’apprentissage résiduel : au lieu d’apprendre une fonction non référencée H(x) = sortie, chaque couche (ou pile de couches) apprend le résidu F(x) = H(x) − x. L’entrée originale x est ajoutée au résidu appris par une connexion de raccourci (skip connection), donnant la sortie de couche H(x) = F(x) + x.
Le bloc résiduel formalise ceci : pour un bloc avec deux couches convolutionnelles 3×3, la sortie du bloc est σ(F(x) + x), où σ est l’activation ReLU et F(x) est la composition des deux convolutions, de la normalisation par lots et de la ReLU intermédiaire. Si les dimensions de x et F(x) diffèrent (par exemple, lorsque stride > 1 réduit la résolution spatiale), la connexion de raccourci utilise une convolution 1×1 pour faire correspondre les dimensions. La formulation résiduelle permet d’entraîner des réseaux d’une profondeur sans précédent — ResNet-152 a 152 couches — en atténuant le problème du gradient vanishing grâce au flux de gradient direct le long des chemins de raccourci.
Les variantes de ResNet sont désignées par leur profondeur : ResNet-18 (18 couches, 11,7 millions de paramètres), ResNet-34 (34 couches, 21,8 M), ResNet-50 (50 couches, 25,6 M), ResNet-101 (101 couches, 44,5 M) et ResNet-152 (152 couches, 60,2 M). Pour la segmentation d’infrastructures, ResNet-50 et ResNet-101 sont les choix les plus courants, équilibrant précision, mémoire et temps d’inférence.
Pour les tâches de segmentation, le backbone ResNet standard est modifié pour produire des cartes de caractéristiques dilatées (atreuses) en supprimant le stride dans le ou les deux derniers blocs et en remplaçant les convolutions suivantes par des convolutions dilatées. Cette variante ResNet dilaté maintient des cartes de caractéristiques de résolution plus élevée (1/8 ou 1/16 de la résolution d’entrée au lieu de 1/32) tout en préservant la taille du champ récepteur — une modification essentielle pour les tâches de prédiction dense.
EfficientNet, introduit par Tan et Le chez Google (2019), atteint une précision de pointe avec significativement moins de paramètres et de FLOPs que les architectures comparables grâce à la mise à l’échelle composée (compound scaling) . L’idée clé est que la mise à l’échelle de la profondeur, de la largeur et de la résolution d’entrée du réseau doit être effectuée conjointement, et non indépendamment. EfficientNet utilise un coefficient composé φ qui met à l’échelle simultanément les trois dimensions : profondeur α^φ, largeur β^φ et résolution γ^φ, sous la contrainte α·β²·γ² ≈ 2 (assurant que les FLOPs totaux augmentent d’environ 2^φ).
Le bloc de construction d’EfficientNet est le MBConv (Mobile Inverted Bottleneck Convolution) , introduit à l’origine dans MobileNetV2. Chaque bloc MBConv utilise : une convolution d’expansion 1×1 (augmentant le nombre de canaux d’un facteur 4–6), une convolution depthwise 3×3 ou 5×5 (opérant sur chaque canal indépendamment), une attention de canal squeeze-and-excitation (SE) (pooling moyen global → deux couches FC → activation sigmoïde → mise à l’échelle par canal), et une convolution de projection 1×1 (réduisant les canaux à la dimension cible). L’attention SE permet à EfficientNet de se concentrer sur les canaux informatifs — pour l’inspection des chaussées, cela signifie mettre l’accent sur les canaux de texture qui distinguent la fissure de la non-fissure tout en supprimant les régions de texture plate.
Les variantes d’EfficientNet vont de EfficientNet-B0 (5,3 M de paramètres, 0,4 GFLOPs pour une entrée 224×224) à EfficientNet-B7 (66 M de paramètres, 37 GFLOPs). Pour le déploiement en périphérie sur des drones d’inspection ou des systèmes embarqués, EfficientNet-B0 à B3 offrent d’excellents rapports précision/calcul, atteignant un IoU de segmentation de fissures à moins de 2–3 % de ResNet-50 tout en nécessitant 5–10× moins de FLOPs.
Le Vision Transformer (ViT) , introduit par Dosovitskiy et al. chez Google (2020), applique l’architecture transformer — développée à l’origine pour le traitement du langage naturel — directement à des patchs d’image. L’image d’entrée est divisée en patchs de taille fixe (typiquement 16×16 pixels), chaque patch est projeté linéairement en un embedding de token, et ces tokens sont traités par une série de couches d’encodeur transformer qui appliquent de l’auto-attention multi-têtes et des blocs MLP.
Le mécanisme d’auto-attention calcule des poids d’attention par paires entre toutes les paires de tokens, permettant à chaque représentation de patch d’incorporer des informations de tous les autres patchs de l’image. Le poids d’attention entre le token i et le token j est calculé comme suit : Attention(Q,K,V) = softmax(QK^T/√d_k)V, où Q (query), K (key) et V (value) sont des projections linéaires apprises des embeddings de tokens, et d_k est la dimension de la clé. Ce champ récepteur global — chaque position de sortie intègre des informations de chaque position d’entrée — est l’avantage fondamental de ViT par rapport aux réseaux convolutionnels, dont les champs récepteurs sont limités par la taille du noyau et la profondeur du réseau.
Pour la segmentation sémantique, les backbones ViT sont utilisés dans des cadres hiérarchiques (comme le Swin Transformer, qui applique l’auto-attention dans des fenêtres décalées pour l’efficacité computationnelle) ou combinés avec des décodeurs convolutionnels. L’architecture SegFormer utilise une variante hiérarchique de ViT spécialement conçue pour la segmentation, tandis que SETR (Segmentation Transformer) utilise un ViT standard avec un décodeur à suréchantillonnage progressif.
Les modèles de segmentation basés sur ViT atteignent généralement une précision plus élevée sur les grands jeux de données (nécessitant > 10 millions d’images d’entraînement pour le pré-entraînement du backbone) mais nécessitent substantiellement plus de données d’entraînement et de ressources computationnelles que les backbones convolutionnels. Pour l’inspection d’infrastructures avec des données annotées limitées, les backbones convolutionnels comme ResNet et EfficientNet restent plus pratiques à moins qu’un pré-entraînement approfondi sur des données pertinentes au domaine ne soit disponible.
La perte d’entropie croisée est la fonction de perte de base pour la segmentation sémantique, directement dérivée du principe de l’estimation du maximum de vraisemblance. Pour chaque pixel i, la distribution de probabilité de classe prédite p_i(c) est comparée au codage one-hot de vérité terrain y_i(c) (1 pour la classe correcte, 0 pour toutes les autres). La perte par pixel est : L_i = −Σ_c y_i(c) · log(p_i(c)) = −log(p_i(ĉ)), où ĉ est la classe de vérité terrain.
La perte totale est la moyenne sur tous les pixels : L_CE = (1/N) · Σ_i L_i, où N est le nombre total de pixels. L’entropie croisée est différentiable, convexe dans les logits softmax, et garantit que le minimum global correspond à la véritable distribution des données.
Cependant, l’entropie croisée donne de mauvais résultats sur les données déséquilibrées en classes, ce qui est la caractéristique dominante des images d’inspection d’infrastructures. Les pixels de fissure représentent typiquement 0,1 % à 3 % des pixels de l’image, les marquages au sol 2–5 %, et les FOD moins de 0,01 %. L’entropie croisée traite tous les pixels de manière égale, donc la grande majorité du signal de gradient provient des classes dominantes (revêtement non fissuré, végétation), et le réseau apprend à ignorer les classes minoritaires. L’entropie croisée pondérée répond à ce problème en attribuant un poids plus élevé aux classes minoritaires : L_WCE = −(1/N) · Σ_i w(ĉ) · log(p_i(ĉ)), où w(c) est typiquement la fréquence inverse de classe ou un poids ajusté manuellement.
La perte Dice optimise directement le coefficient Dice (score F1), la métrique de chevauchement entre la segmentation prédite et la vérité terrain. Pour la segmentation binaire, le coefficient Dice est : Dice = 2|P ∩ G| / (|P| + |G|), où P est l’ensemble des pixels positifs prédits et G est l’ensemble des pixels positifs de vérité terrain. La perte Dice est : L_Dice = 1 − Dice = 1 − (2Σ_i p_i · y_i + ε) / (Σ_i p_i + Σ_i y_i + ε), où ε est un terme de lissage (typiquement 1e-6) pour éviter la division par zéro, p_i est la probabilité prédite, et y_i est l’étiquette binaire de vérité terrain.
Pour la segmentation multi-classes, la perte Dice généralisée calcule le coefficient Dice pour chaque classe indépendamment et en fait la moyenne (potentiellement avec des poids de classe). La perte Dice est plus robuste au déséquilibre de classes que l’entropie croisée car elle traite la région de chevauchement (vrais positifs) comme une proportion de la surface totale de prédiction et de vérité terrain, plutôt que de compter les pixels pixel par pixel.
Une étude sur la segmentation de fissures de chaussées de piste à l’aéroport de Zadar a démontré que l’utilisation de la perte Dice améliorait l’IoU de la classe fissure de 5,9 points de pourcentage par rapport à l’entropie croisée pondérée, tandis que la perte combinée Dice + Focal améliorait encore la précision des frontières de 2–3 %.
La perte Focal, introduite par Lin et al. chez Facebook AI Research (2017) pour la détection dense d’objets, est conçue spécifiquement pour le déséquilibre extrême de classes. Elle modifie l’entropie croisée standard en ajoutant un facteur de modulation (1 − p_t)^γ, où p_t est la probabilité prédite de la classe de vérité terrain et γ ≥ 0 est le paramètre de focalisation : L_Focal = −(1/N) · Σ_i (1 − p_t)^γ · log(p_t).
Lorsque γ = 0, la perte Focal se réduit à l’entropie croisée. À mesure que γ augmente, le facteur de modulation réduit le poids des exemples bien classifiés (p_t élevé) et concentre l’entraînement sur les exemples difficiles et mal classifiés (p_t faible). Pour la segmentation de fissures où γ est typiquement fixé à 2, un pixel avec une probabilité prédite de 0,9 (arrière-plan bien classifié) contribue (1−0,9)^2 = 0,01 fois le poids de perte de l’entropie croisée standard, tandis qu’un pixel de fissure avec une probabilité prédite de 0,3 (exemple difficile) contribue (1−0,3)^2 = 0,49 du poids de perte — soit effectivement 49× plus d’attention à l’exemple difficile par rapport à l’exemple facile.
La perte Focal est particulièrement efficace pour la détection de FOD dans les images aéroportuaires, où les éléments de FOD occupent 0,001–0,1 % des pixels mais constituent la classe critique pour la sécurité. La perte combinée Dice + Focal (L = α·L_Dice + β·L_Focal, avec α et β typiquement fixés entre 0,5 et 1,0) est la formulation de perte la plus courante dans l’inspection d’infrastructures, combinant l’optimisation du chevauchement de Dice avec la focalisation sur les exemples difficiles de Focal.
La perte de frontière répond à une limitation des pertes basées sur les régions (Dice, IoU) : elles optimisent le chevauchement volumétrique mais ne pénalisent pas explicitement les erreurs de frontière. Pour la segmentation de fissures, où la précision des frontières détermine la précision de la mesure de largeur de fissure, l’optimisation des frontières est essentielle.
La perte de frontière calcule une transformée de distance sur la frontière de segmentation de vérité terrain et multiplie la carte de probabilité prédite par la carte de frontière pondérée par la distance : L_Boundary = Σ_i D(i) · |p_i − y_i|, où D(i) est la distance du pixel i au pixel de frontière de vérité terrain le plus proche (typiquement tronquée à une distance maximale, par exemple 5–10 pixels). Les pixels près des frontières (petit D) reçoivent un poids élevé, tandis que les pixels intérieurs (grand D) reçoivent un poids négligeable.
La perte de distance de Hausdorff (HD loss) est une formulation connexe qui minimise la distance maximale entre les frontières prédites et celles de vérité terrain, encourageant la frontière prédite à ne pas s’écarter trop de la vraie frontière en aucun point. Combinée à la perte Dice, la perte de frontière a démontré une amélioration de la précision de mesure de largeur de fissure de 15–25 % par rapport à la perte Dice seule, telle que mesurée par l’erreur absolue moyenne entre la largeur de fissure prédite et la vérité terrain.
| Fonction de Perte | Forme de la Formule | Meilleur Pour | Limitation |
|---|---|---|---|
| Entropie Croisée (Cross-Entropy) | −log(p_c) | Classes équilibrées, ligne de base | Mauvaise performance en déséquilibre |
| Entropie Croisée Pondérée (Weighted Cross-Entropy) | −w(c)·log(p_c) | Déséquilibre modéré | Poids fixes, pas de focalisation sur les exemples difficiles |
| Dice | 1 − 2 | P∩G | /( |
| Focal | −(1−p_t)^γ·log(p_t) | Déséquilibre extrême | Deux hyperparamètres (γ, α) |
| Dice + Focal | α·L_Dice + β·L_Focal | Inspection d’infrastructures (standard) | Nécessite le réglage de α, β |
| Frontière (Boundary) | Σ D(i)· | p_i−y_i |
Return ONLY the translated content. Preserve all formatting exactly.
Nous construisons un réseau de partenaires pour révolutionner la maintenance aéroportuaire avec une technologie de pointe.
La segmentation d'instance identifie et délimite chaque objet individuel ou défaut au niveau du pixel, en attribuant un identifiant unique à chaque fissure, écl...
La segmentation de fissures est une tâche de vision par ordinateur consistant à classer chaque pixel d'une image comme fissure ou non-fissure, produisant un mas...
La détection de fissures par IA utilise la vision par ordinateur — réseaux de neurones convolutifs, vision transformers et modèles de segmentation sémantique — ...