Régression par carte de distance auxiliaire pour la segmentation Cityscapes pleine résolution

Quand le Dice aide, et quand il ne sert plus à rien

Cityscapes val · ConvNeXt-V2-Base + UPerNet · 4 variantes de loss × 3 seeds × 160 epochs à 1024×2048

Guillaume Cassez · Recherche indépendante 2026

Voir le code, les configs et les métriques
12 runs entiers, métriques par classe des 12 runs, tableau par classe, distance maps SDT int8 précomputées, filtre de consensus + tests unitaires

Résumé

On rapporte une ablation contrôlée d'une tête de régression auxiliaire de carte de distance pour la segmentation sémantique à la résolution native Cityscapes (1024×2048). La tête auxiliaire régresse, par classe, la transformée de distance signée (SDT) du masque vérité terrain et est entraînée conjointement avec la loss de segmentation par une erreur quadratique moyenne masquée, à poids fixe (λ = 1,0, sans pondération dynamique) — la transposition 2D de la méthode BRATS Distance-Map Auxiliary Loss. Cette tête est retirée à l'inférence : coût test nul. Avec un backbone ConvNeXt-V2-Base et une tête UPerNet, quatre configurations de loss sont entraînées 160 epochs sur trois seeds chacune, soit douze runs : (A) cross-entropy seule, (B) CE + Dice, (C′) CE + Dice + DistMap, et (D′) CE + DistMap. Le design est un 2×2 propre — l'axe Dice croisé avec l'axe DistMap.

Le résultat principal est un décalage entre training court et long. À 10 epochs, la formulation conjointe C′ mène (78,17 mIoU), tandis que la variante sans-Dice D′ est même en retard (75,59, sous la CE simple). À 160 epochs, l'image s'inverse : D′ atteint la plus haute mIoU moyenne (81,64 ± 0,27), tandis que les variantes Dice mènent le Trimap IoU (C′ 53,84, B 53,82). La significativité du mIoU utilise un bootstrap apparié sur les 500 images val comme test primaire pré-spécifié, le test t apparié par seed servant de couche de robustesse : sous le bootstrap-images (Holm), D′ bat la baseline standard CE + Dice B (Δ = +0,55, p = 0,046) et la variante conjointe C′ (Δ = +0,75, p = 0,001), tandis que D′ > A est directionnellement cohérent mais à la limite (Δ = +0,36, Holm p = 0,055).

Fait notable — et contrairement à la loss boundary de Kervadec (l'étude sœur) — l'auxiliaire DistMap ne durcit pas les contours au-delà de la CE simple : A et D′ sont à égalité sur le Boundary F1 (Δ = +0,07, n.s.). Le gain de mIoU convergée de l'auxiliaire DistMap vient du façonnage de la représentation, pas d'un durcissement des contours. Enfin, un filtre de consensus par composantes connexes adapté de BRATS — appariement canonique C′⊘B — élague −18,1 % des fragments parasites à coût mIoU nul et sans coût significatif sur la qualité de bord.

1. Introduction

La segmentation sémantique de scènes urbaines est canoniquement évaluée sur Cityscapes (19 classes d'évaluation, 2 975 images d'entraînement annotées finement, 500 images de validation). Le sommet du leaderboard publié dépasse confortablement 84 mIoU, atteint avec des backbones très lourds (ViT-Adapter-L, InternImage-XL), une augmentation massive de données, une inférence multi-échelle et des pseudo-labels du split grossier de 20 000 images. Le présent papier ne vise pas le SOTA ; il vise une question contrôlée : ajouter une tête auxiliaire de régression de la transformée de distance signée par classe à une recette CE + Dice solide aide-t-elle sur Cityscapes à pleine résolution — et le Dice reste-t-il utile une fois l'auxiliaire géométrique présent ?

La régression de carte de distance comme tâche auxiliaire est bien établie en segmentation médicale 3D (Ma 2020, Xue 2020, Navarro 2019, Dangi 2019), où elle injecte un a priori de forme global dans la représentation partagée. Son comportement sur des scènes urbaines 2D pleine résolution — et en particulier son interaction avec le terme Dice omniprésent — est bien moins cartographié. La majorité des travaux 2D antérieurs pré-redimensionnent les inputs à 512×1024 ou 768×1536 pour des raisons de calcul. Avec un GPU Blackwell 96 Go, on peut entraîner à la résolution native 1024×2048 sans crops, ce qui devrait amplifier le rôle de tout signal auxiliaire sensible à la géométrie.

C'est le volet DistMap d'une étude à deux méthodes en miroir ; le volet loss boundary de Kervadec (même backbone, même protocole, même filtre de consensus) est le papier sœur. Lire les deux ensemble isole comment le signal géométrique entre — comme cible de régression (ici) versus comme poids de loss (Kervadec) — sous un pipeline par ailleurs identique.

3. Méthodes

Backbone : ConvNeXt-V2-Base (Woo 2023), ≈88 M paramètres, pré-entraîné ImageNet-22K via FCMAE puis fine-tuné ImageNet-1K. Head : UPerNet (Xiao 2018) — Feature Pyramid Network + Pyramid Pooling Module, sortie à pleine résolution par upsampling bilinéaire. Une tête auxiliaire FCN sur les features stride-16 fournit la deep supervision avec un poids de loss de 0,4 (recette originale).

Tête auxiliaire DistMap. Les variantes C′ et D′ ajoutent une seconde tête auxiliaire sur les features stride-16 : Conv3×3(C→256) → BN → ReLU → Dropout(0,1) → Conv1×1(256→19) → tanh, upsamplée bilinéairement à la résolution complète. Elle produit, par classe, une estimation bornée φ̂_c(x) ∈ [−1, 1] de la SDT normalisée du masque vérité terrain de cette classe. La tête est retirée à l'inférence — elle a un coût test nul ; seule la tête de segmentation tourne au déploiement.

Entraînement : 160 epochs d'AdamW (lr 6×10⁻⁵, weight decay 0,01, betas (0,9, 0,999)) avec poly decay (power 1,0). Batch size 2, gradient accumulation 4 (effectif 8). Autocast BF16 (Blackwell, pas de gradient scaler). Inputs à la résolution native 1024×2048 sans cropping ; augmentation restreinte au flip horizontal, jitter photométrique, blur gaussien. Pas de random scale, pas de Mosaic, pas de Copy-Paste — délibérément simple pour préserver l'interprétabilité de la comparaison de losses. 3 seeds par variante : 42, 123, 456. Checkpoints sauvés toutes les 10 epochs et à epoch 160.

Nommage des variantes (le 2×2)

Le poids CE est fixé à 1,0 partout. Le poids Dice suit la recette Cityscapes la plus citée ; le poids DistMap suit le défaut BRATS (λ_dm = 1,0, fixe). On n'a délibérément pas grid-search les poids — le but est d'isoler l'effet qualitatif de chaque terme, pas de tuner. A et B n'ont pas de tête DistMap ; C′ et D′ diffèrent de B et A respectivement uniquement par l'ajout de la branche de régression SDT — les quatre variantes forment donc un 2×2 propre.

  • A — CE : L_A = L_CE
  • B — CE + Dice : L_B = L_CE + L_Dice (= baseline nnU-Net / BRATS)
  • C′ — CE + Dice + DistMap : L_C′ = L_CE + L_Dice + λ_dm · L_DM
  • D′ — CE + DistMap : L_D′ = L_CE + λ_dm · L_DM

La loss DistMap est une MSE masquée : L_DM = (1/C) Σ_c [ Σ_x m(x)·(φ̂_c(x) − φ_c(x)/τ)² ] / Σ_x m(x), avec m(x) le masque de pixels valides (0 sur les 8 classes void), φ_c la SDT par classe clipée à [−τ, τ] (τ = 127 px), et λ_dm = 1. Crucialement, φ_c est ici la cible de régression d'une tête séparée, et non un poids multipliant p_c dans la loss de segmentation comme dans la loss boundary de Kervadec : le signal géométrique entre comme tâche auxiliaire qui façonne l'encodeur partagé, pas comme une re-pondération de l'objectif principal. La SDT est précomputée offline via scipy.ndimage.distance_transform_edt et stockée en int8 (≈113 GB, le même cache que l'étude sœur Kervadec).

4. Données et évaluation

Cityscapes fine annotations : 2 975 images d'entraînement, 500 de validation, 1 525 de test (labels test retenus, toutes les métriques sont reportées sur la val). 19 classes d'évaluation ; 8 classes void exclues. Résolution native 2048×1024 ; entraînement et évaluation à pleine résolution sans redimensionnement. Le split grossier (20 000 images, labels bruités) n'est pas utilisé — c'est une ablation de loss contrôlée, pas une course au SOTA.

Métriques : mIoU sur les 19 classes à partir d'une unique matrice de confusion au niveau dataset, validée bit-identique à la routine officielle cityscapesscripts (le mIoU rapporté est donc la valeur officielle Cityscapes) ; IoU par classe ; Boundary F1 (tolérance 3 px, extrait de masques binaires par classe — une carte multi-classes n'est jamais passée à une morphologie binaire, ce qui réduirait la mesure au contour route-vs-reste) ; Trimap IoU (bande 3 px autour de toutes les frontières inter-classes).

Endpoint primaire pré-spécifié et protocole de significativité. L'unique endpoint primaire est le mIoU. Le test primaire est un bootstrap apparié sur les 500 images val : rééchantillonnage avec remise (B = 10 000 réplicats, seed fixe), Δ mIoU recalculé par réplicat, IC 95 % = percentiles 2,5/97,5. Ce test sonde la source de variance dominante sur un benchmark de 500 images — l'échantillonnage du jeu d'évaluation. Le test t apparié par seed (n = 3, Student) est l'analyse de robustesse : IC 95 % via t(0,975, df=2) = 4,303 × SE (l'approximation normale 1,96 sous-estime l'intervalle d'un facteur ~2,2 à n=3) ; il est explicitement sous-puissant à n = 3. Les p-values sont corrigées par Holm dans les deux tests.

Matériel : NVIDIA RTX PRO 6000 Blackwell Max-Q (96 Go GDDR7, sm_120), 64 Go DDR5, Intel i7-14700K. Les variantes DistMap s'entraînent à coût comparable à la baseline (la tête de régression SDT ajoute un bloc conv et un terme MSE masqué — surcoût de step-time de quelques pourcent), ≈28–30 h pour 160 epochs à batch-2, VRAM peak ≈33 Go. L'évaluation offline a utilisé 6 workers parallèles sur le même GPU (CPU-bound sur la boucle de post-process boundary-F1 / trimap).

5. Résultats

5.1 Métriques globales à epoch 160

VariantemIoUBoundary F1Trimap IoU
A — CE81,28 ± 0,5377,24 ± 0,1652,17 ± 0,14
B — CE+Dice81,09 ± 0,7476,39 ± 0,2453,82 ± 0,36
C′ — CE+Dice+DistMap80,89 ± 0,9376,43 ± 0,1153,84 ± 0,18
D′ — CE+DistMap81,64 ± 0,2777,17 ± 0,3252,32 ± 0,36

IC = 95 % Student-t (df = 2). Le gras marque la meilleure moyenne par colonne. Sur le Boundary F1, A et D′ sont statistiquement à égalité (Δ = 0,07, p = 0,60) ; sur le Trimap, B et C′ sont à égalité (Δ = 0,02, p = 0,87).

D′ a la plus haute mIoU moyenne, de +0,36 / +0,55 / +0,75 sur A / B / C′. On rapporte les deux tests de significativité côte à côte car ils sondent deux sources de variance (échantillonnage images vs seed). Primaire — bootstrap apparié sur les images (n = 500, B = 10 000, Holm) : D′ > B est significatif (Δ = +0,55, Holm p = 0,046) et D′ > C′ est significatif (Δ = +0,75, p brut < 0,001, Holm p = 0,001) ; D′ > A rate Holm de peu (Δ = +0,36, p brut = 0,014, Holm p = 0,055). Robustesse — test t apparié par seed (n = 3) : la plus forte est D′ > C′ (p = 0,042), aucune autre paire ne passe Holm à trois seeds, mais les trois seeds favorisent D′. L'énoncé honnête : la variante DistMap sans Dice est la meilleure recette en moyenne et bat significativement la baseline CE + Dice et la variante conjointe sur le test primaire.

Les deux métriques de contour se séparent le long de l'axe Dice. Les variantes sans Dice mènent le Boundary F1 — A (77,24) et D′ (77,17) — sur les variantes Dice C′ (76,43) et B (76,39) : A − B = +0,85 et A − C′ = +0,81 sont significatifs (Holm p ≤ 0,008). À l'inverse, les variantes Dice gagnent fortement le Trimap IoU (B − D′ = +1,50, C′ − D′ = +1,52, Holm p ≤ 0,012). Le terme Dice adoucit mesurablement les contours mais préserve la cohérence de blob près des frontières.

Le résultat négatif central : l'auxiliaire DistMap ne durcit pas les contours au-delà de la CE simple — A et D′ sont à égalité sur le Boundary F1 (Δ = +0,07, n.s.). C'est l'absence de Dice, pas la présence de l'auxiliaire géométrique, qui garde les bords nets. C'est le contraste le plus net avec le papier sœur loss boundary, où le terme boundary lui-même augmentait le Boundary F1.

5.2 Le retournement 10-vs-160 epochs

Aucune courbe de convergence continue n'est montrée : les checkpoints intermédiaires ont été purgés, de sorte que seuls epoch 10 et epoch 160 sont disponibles — la dynamique est rapportée comme ces deux points, pas une courbe (la ligne epoch-10 est seed 42, n = 1, illustrative).

mIoUepoch 10 (seed 42)epoch 160 (3 seeds)
C′ — CE+Dice+DistMap78,1780,89
D′ — CE+DistMap75,5981,64

À epoch 10, la formulation conjointe C′ est clairement la meilleure sur le mIoU (78,17 ; +2,26 sur B à 75,91), un delta qui pousserait toute étude courte à recommander la formulation conjointe. La variante sans-Dice D′ démarre dernière (75,59, sous même la CE simple) et finit première (81,64) — le retournement central du papier. L'écart C′-vs-D′ passe de +2,58 à epoch 10 à −0,75 à epoch 160 (un retournement de 3,33 points), et la direction D′ > C′ à epoch 160 est significative sur le bootstrap-images primaire (p = 0,001).

C'est l'observation centrale : une ablation à 10 epochs sur cette tâche choisit un autre vainqueur que le run convergé. Le terme Dice fournit une régularisation précoce qui accélère la convergence mais ne se traduit pas en avantage long-training sur la métrique globale. L'auxiliaire DistMap, lui, prend plus de temps à payer — le gradient de régression SDT façonne lentement l'encodeur partagé, et ce n'est qu'une fois les régions bulk apprises que la représentation géométrique se traduit en mIoU convergée supérieure — donc la variante sans Dice qui démarre la pire finit la meilleure.

5.3 Décomposition par classe

Le delta de mIoU global masque une histoire fortement classe-dépendante. Deux patterns émergent : D′ domine les grandes classes étendues structurées — truck +5,54, bus +2,59, motorcycle +1,73, wall +1,31 mIoU vs B. Ces classes ont des intérieurs longs et uniformes et des contours bien définis — l'auxiliaire de régression SDT façonne un champ géométrique cohéremment signé sur toute la région, et la tête sans Dice aligne fidèlement la prédiction. À l'inverse, B (et dans une moindre mesure C′) préserve les classes thin riches en signal — traffic light +1,83, train +0,85, traffic sign +0,82 mIoU vs D′. Footprints petits ou fragmentés : le Dice les ancre contre la dérive class-imbalance de la CE, tandis que l'auxiliaire géométrique est plus bruité sur un poteau de 4 pixels que sur un bus de 200 pixels.

Cette complémentarité n'est pas capturée par la mIoU globale, dominée par les grandes classes (road, building, vegetation, sky). Les grandes classes qui répondent à D′ pilotent l'essentiel du swing de mIoU entre D′ et B à epoch 160 ; les classes thin où B gagne sont individuellement larges en delta mais petites en pixel count. À noter aussi : truck sous les variantes Dice est la classe la plus volatile (écart-type inter-seeds 4,40 pour B contre 0,61 pour D′), n'apparaissant que dans 80 des 500 images val — l'emphase régionale du Dice amplifie les fluctuations sur les classes à faible support.

5.5 Filtrage par consensus — élagage des fragments parasites

La décomposition par classe montre que D′ et B sont complémentaires, ce qui invite à une étape de consensus. On adapte le filtre par composantes connexes (CC) de nos travaux BRATS, où une segmentation « généraliste » est vetoée par une « spécialiste » : par classe, toute composante connexe du généraliste sans recouvrement de même classe dans le veto est retirée. Quel appariement est l'analogue BRATS ? Dans nos travaux BRATS le veto est la baseline standard (Dice + CE, la loss nnU-Net par défaut), et le généraliste qu'elle élague (DistMap) garde lui aussi Dice + CE. Parce que la méthode de ce papier est DistMap, la variante C′ (CE + Dice + DistMap) est la transcription Cityscapes littérale du modèle BRATS DistMap, et le veto standard est B (CE + Dice). Le consensus canonique est donc C′⊘B.

Cityscapes impose quatre écarts à la formulation BRATS (adaptation, pas portage) : connexité 8 en 2D au lieu de 26 en 3D ; 19 classes plates sans hiérarchie WT/TC/ET ; pas de classe de fond (une composante retirée est réassignée au label du veto, mettre 0 voudrait dire « route ») ; protection des structures fines (pole, traffic light, traffic sign, fence sont exemptés par défaut, et un plafond max_drop_size restreint la suppression aux vrais fragments). On rapporte aussi un fragment count (composantes connexes par classe), proxy de cohérence spatiale indépendant du mIoU que le veto ne peut que baisser.

AppariementmIoUΔ mIoU vs primaireΔ fragments
C′⊘B (canonique)81,01+0,124 pp−18,1 %
D′⊘B (contraste)81,65+0,005 pp−18,7 %
C′⊘A81,15+0,262 pp−7,7 %
D′⊘A81,74+0,097 pp−13,8 %

Deux faits structurels. Chaque appariement est mIoU-neutre (|Δ mIoU| ≤ 0,27 pp, bien dans les IC seed) : le veto élague les fragments sans toucher au recouvrement, par construction. Et le veto B (= baseline Dice + CE) élague ≈ 2× plus de fragments que le veto A (C′⊘B −18,1 % vs C′⊘A −7,7 %) : la baseline Dice B est un masque de veto plus fort et plus propre, ce qui confirme que le veto BRATS-fidèle est la baseline B.

Le consensus canonique C′⊘B est un nettoyage de cohérence spatiale pur : contre le primaire C′, le mIoU est confirmé neutre par les deux tests (seed paired-t p = 0,160 ; bootstrap-images Δ = +0,12, p = 0,093), et les décalages de Boundary F1 (−0,049 pp) et Trimap IoU (+0,077 pp) sont bien sous 0,1 pp et statistiquement indétectables. Il retire ≈ 18 % des fragments (−114/img, p = 0,019) à coût mIoU nul et coût qualité-de-bord nul significatif — l'analogue 2D fidèle du résultat BRATS DistMap⊘Baseline (neutre sur le recouvrement, le gain vivant entièrement sur la fragmentation, propriété à laquelle le mIoU est aveugle).

Contraste D′⊘B : même élagage et même mIoU-neutralité (fragments −18,7 %, −142/img, p < 0,001 ; mIoU Δ = +0,005 pp, p = 0,754), mais un décalage notable du caractère Dice (Boundary F1 −0,622 pp et Trimap IoU +0,931 pp, p = 0,005 et 0,002). Réassigner les fragments de D′ (sans Dice) aux labels de B (avec Dice) Dice-ifie la sortie, car D′ et B sont aux extrémités opposées de l'axe Dice. C′⊘B (les deux variantes du côté Dice) n'a pas cet effet de bord — c'est le consensus pur ; D′⊘B confond le nettoyage de fragments avec un décalage sur l'axe Dice. Le veto est donc un outil de cohérence spatiale, pas un gain de mIoU. Le filtre, la métrique de fragment count, le script d'évaluation (scripts/evaluate_consensus.py) et une suite de tests synthétiques (19/19) sont publiés avec le code (src/postprocessing/consensus.py).

6. Discussion

Pourquoi D′ dépasse-t-il C′ à pleine durée d'entraînement ? On propose deux explications compatibles. D'abord, une compétition pour la représentation partagée entre Dice et l'auxiliaire. La tête DistMap et la tête de segmentation partagent l'encodeur ConvNeXt ; le gradient de régression SDT y reflue et biaise les features vers la géométrie de classe. Le Dice, lui, optimise un ratio d'overlap régional qui tire les mêmes features vers la confiance bulk-région. Tôt, le signal Dice domine et accélère la convergence ; tard, quand la plupart des régions bulk sont correctes, le signal Dice résiduel devient un régularisateur soft qui concurrence le façonnage géométrique que l'auxiliaire essaie encore d'installer. La variante D′, libérée de la contrainte Dice, laisse l'encodeur partagé servir pleinement l'auxiliaire de régression SDT.

Ensuite, une saturation du déséquilibre de classes. La valeur publiée principale du Dice est la gestion du déséquilibre. À epoch 50–60, les IoU par classe ont déjà plateauisé pour les classes rares. Après ce point, le Dice continue de pénaliser le sous-confidence résiduel sur les intérieurs des classes rares au prix des derniers pixels des classes dominantes ; D′, sans Dice, les laisse récupérer.

Sur les contours : le Trimap IoU est une IoU restreinte aux pixels à 3 px d'un contour — l'emphase régionale du Dice garde cette bande cohérente (Trimap plus élevé pour B et C′) mais arrondit le détail fin (Boundary F1 plus bas). Le résultat négatif instructif est que l'auxiliaire DistMap ne durcit pas lui-même les contours : A (CE simple) et D′ (CE + DistMap) sont à égalité sur le Boundary F1, et C′ ≈ B. C'est le contraste méthodologique central avec le papier sœur loss boundary, où le terme boundary — une pénalité pondérée par la distance sur la sortie — augmentait mesurablement le Boundary F1. Régresser la carte de distance comme tâche auxiliaire améliore la métrique de région convergée (mIoU) en façonnant la représentation, mais n'agit pas comme une loss de durcissement de contour. Géométrie-comme-cible et géométrie-comme-poids-de-loss ne sont pas interchangeables.

Prises actionnables. Pour un modèle Cityscapes déployé : D′ (CE + DistMap, λ_dm = 1,0) est un défaut solide — plus haute mIoU moyenne, significativement au-dessus de la baseline standard B et de la variante conjointe C′ sur le test primaire, à coût inférence nul (la tête auxiliaire est retirée au test). Là où la cohérence régionale près des contours compte plus, une variante Dice (B ou C′) est préférable (Trimap ≈ +1,5, significatif), et B protège en plus les classes thin. Pour un pipeline multi-task qui a déjà Dice : utiliser C′ — le sacrifice de ≈ +0,5–0,75 mIoU vs D′ achète au filtre de consensus son comportement le plus propre. Et ne pas faire confiance aux ablations à 10 epochs : le swing de 3,3 points sur le gap C′−D′ suggère qu'une décision production doit reposer sur au moins 80–100 epochs.

Limites : un seul λ_dm (= 1,0, pas de DWA) ; un seul backbone (ConvNeXt-V2-Base + UPerNet) ; budget ≈ 37 % de la référence MMSegmentation (160 k itérations) ; pas de TTA ni multi-échelle ; hypothèses de mécanisme non directement mesurées (pas de normes de gradient par layer) ; Cityscapes seulement ; pas de courbe de convergence continue (deux points, epoch-10 = seed 42) ; faible puissance statistique (n = 3) — D′ > A reste à la limite (Holm p = 0,055), un re-run à 5 seeds le trancherait.

6.5 Implications pour le déploiement véhicule autonome

Les trois métriques se projettent sur des consommateurs aval distincts d'un stack de perception VA. Le Trimap IoU mesure la cohérence intra-région près des contours — la métrique qui compte quand un planner lit le masque comme grille d'occupation ou estimateur de free-space. Le Boundary F1 mesure la localisation précise du contour — la métrique qui compte quand on extrait des polylignes de bord de voie/trottoir/objet pour estimation de distance ou planification. La décomposition par classe ajoute un second axe : la loss qui gagne sur la mIoU globale n'est pas nécessairement celle qui gagne sur la classe que le downstream regarde le plus.

Cela transforme le résultat à 4 variantes en guide module par module :

  • Heads « drivable area » / « free space » alimentant une grille d'occupation : une variante Dice (B ou C′), dont l'avantage ≈ +1,5 Trimap IoU préserve la cohérence du blob et évite l'overshoot sur la classe voisine.
  • Heads « lane » / « curb detection » émettant des polylignes : D′, dont les contours plus nets (elle égale la CE simple pour le meilleur Boundary F1) donnent une meilleure estimation latérale. Avec la caméra Cityscapes (focale f_x ≈ 2262 px), une erreur d'1 pixel ≈ ~1,3 cm d'offset latéral réel à 30 m, ~4,4 cm à 100 m, ~8,8 cm à 200 m — la précision sub-pixel devient critique en longue portée.
  • Classifieurs traffic light / traffic sign recevant un crop de segmentation : B, qui mène D′ de +1,83 IoU sur traffic light et +0,82 sur traffic sign — la région plus propre maintient le classifieur d'état sur les bons pixels.
  • Détecteurs d'objets rigides étendus (truck, bus, wall, motorcycle) pour la collision : D′, qui mène B de +5,54 sur truck, +2,59 sur bus, +1,73 sur motorcycle, +1,31 sur wall.
  • Piéton, cycliste et rider : scores essentiellement plats sur A–D′ dans nos expériences. Le choix de loss ne pèse pas sur ces classes collision-critical. Des techniques orthogonales (focal loss, copy-paste, oversampling) sont nécessaires.

Pour un pipeline multi-head, la conception actionnable est de choisir une loss par head : Dice (ou CE+Dice) sur les heads à masques type occupancy, et CE+DistMap sur les heads à polylignes ou à exigence de précision région maximale. La variante conjointe C′ (CE+Dice+DistMap) reste le compromis single-loss sûr pour les modèles single-head, et celui pour lequel le filtre de consensus est le plus propre. Le résultat le plus transférable pour une équipe ML VA est méthodologique : un benchmark de loss à 10 epochs sur Cityscapes décale le gap C′−D′ de 3,3 points par rapport à la réponse convergée — suffisant pour inverser une décision production.

7. Conclusion

On fournit une ablation 2×2 reproductible de l'espace de design CE / Dice / auxiliaire DistMap pour la segmentation sémantique pleine résolution sur Cityscapes. À 160 epochs avec trois seeds par variante, la variante sans Dice D′ (CE + DistMap) atteint la plus haute mIoU moyenne (81,64 ± 0,27) ; sous le bootstrap apparié sur les images pré-spécifié elle dépasse significativement à la fois la baseline standard CE + Dice B (p = 0,046) et la variante conjointe C′ (p = 0,001) — la formulation qu'un pilote à 10 epochs aurait choisie — tandis que son avance sur le CE simple (A) est à la limite (p = 0,055). Les variantes Dice (B, C′) gardent une avance Trimap IoU significative (≈ +1,5 sur A et D′). Un résultat négatif clé : l'auxiliaire DistMap ne durcit pas les contours (A égale D′ sur le Boundary F1) — son gain de mIoU convergée vient du façonnage de la représentation partagée, pas d'une pénalité de contour sur la sortie.

Le filtre de consensus par composantes connexes complète l'image : le veto canonique C′⊘B — la transcription 2D la plus fidèle de la règle BRATS DistMap⊘Baseline — élague −18,1 % des fragments parasites à coût mIoU nul et coût qualité-de-bord nul significatif, gain de cohérence spatiale pur invisible au mIoU au niveau dataset. Avec le papier sœur loss boundary, cela soutient une thèse cross-domaine unique : un modèle conscient de la géométrie (un auxiliaire DistMap ici, une loss boundary de Kervadec là) combiné à un veto de consensus retire la fragmentation à coût mIoU nul — et le résultat tient en 2D (Cityscapes) et en 3D (BRATS). La trouvaille pratique la plus actionnable est de nouveau méthodologique : les ablations à epochs courts sont systématiquement trompeuses sur cette tâche, inversant le ranking qui tient à 160 epochs.

Code, données et reproductibilité

Tout le code, les configs Hydra, le script de génération des figures, les métriques par classe des 12 runs, le filtre de consensus avec sa suite de tests et la version Markdown du paper sont disponibles publiquement.

Cliquez une figure pour l'agrandir

Figure 1 — IoU par classe à epoch 160
Figure 1 — IoU par classe à epoch 160. IoU par classe à epoch 160, triées par Δ(D′ − B). Chaque barre est la moyenne sur 3 seeds. D′ (sans Dice) domine les grandes classes étendues structurées : truck (+5,54 vs B), bus (+2,59), motorcycle (+1,73), wall (+1,31). B (CE + Dice) préserve les classes thin riches en signal : traffic light (+1,83 vs D′), train (+0,85), traffic sign (+0,82). Cette complémentarité n'est pas visible sur la mIoU globale, dominée par les grandes classes (route, bâtiment, végétation, ciel).

Références

  1. Audebert et al. (2019). Distance transform regression for spatially-aware deep semantic segmentation. Computer Vision and Image Understanding 189:102809. arXiv:1909.01671.
  2. Bai & Urtasun (2017). Deep watershed transform for instance segmentation. CVPR. arXiv:1611.08303.
  3. Bischke et al. (2019). Multi-task learning for segmentation of building footprints with deep neural networks. IEEE ICIP. arXiv:1709.05932.
  4. Cordts et al. (2016). The Cityscapes dataset for semantic urban scene understanding. CVPR.
  5. Csurka et al. (2013). What is a good evaluation measure for semantic segmentation ? BMVC.
  6. Dangi et al. (2019). A distance map regularized CNN for cardiac cine MR image segmentation. Medical Physics 46(12):5637–5651. arXiv:1901.01238.
  7. Hayder et al. (2017). Boundary-aware instance segmentation. CVPR. arXiv:1612.03129.
  8. Kervadec et al. (2019). Boundary loss for highly unbalanced segmentation. MIDL ; étendu dans Medical Image Analysis 67:101851 (2021). arXiv:1812.07032.
  9. Ma et al. (2020). How distance transform maps boost segmentation CNNs : an empirical study. MIDL. PMLR 121:479–492.
  10. Milletari et al. (2016). V-Net: fully convolutional neural networks for volumetric medical image segmentation. 3DV.
  11. Navarro et al. (2019). Shape-aware complementary-task learning for multi-organ segmentation. MLMI @ MICCAI. arXiv:1908.05099.
  12. Perazzi et al. (2016). A benchmark dataset and evaluation methodology for video object segmentation. CVPR.
  13. Woo et al. (2023). ConvNeXt V2 : co-designing and scaling ConvNets with masked autoencoders. CVPR. arXiv:2301.00808.
  14. Xiao et al. (2018). Unified perceptual parsing for scene understanding. ECCV. arXiv:1807.10221.
  15. Xue et al. (2020). Shape-aware organ segmentation by predicting signed distance maps. AAAI 34(07):12565–12572. arXiv:1912.03849.

À propos de l'auteur

Guillaume Cassez, ingénieur en machine learning et vision par ordinateur. Ce travail est le volet DistMap d'une étude à deux méthodes en miroir : son papier sœur sur Cityscapes étudie la loss boundary de Kervadec sous le même backbone et le même protocole, et la série s'inscrit elle-même dans la continuité d'un travail antérieur sur la segmentation de tumeurs cérébrales BraTS 2023.

Voir aussi le papier sœur : Ablation de loss boundary (Kervadec) pour Cityscapes.

Actuellement à la recherche d'opportunités : ingénieur ML, recherche appliquée, vision par ordinateur, perception véhicule autonome — CDI, CDD, post-doc industriel ou contrat de mission.

cassez.guillaume@gmail.com · guillaume-cassez.fr · ORCID 0009-0007-0987-3931