documents updates

This commit is contained in:
Grégoire Mureau 2025-09-04 12:50:12 +02:00
parent 830facaf41
commit 969fbe6e4f
4 changed files with 207 additions and 210 deletions

View file

@ -26,294 +26,270 @@ Le dataset organise 34 classes détaillées en **8 méta-classes** pour la segme
| **Sky** | Ciel | Contexte | | **Sky** | Ciel | Contexte |
| **Void** | Zones non-définies | Exclusion | | **Void** | Zones non-définies | Exclusion |
**Spécificités techniques :** **Particularité méthodologique critique :**
- **Résolutions d'acquisition** : Données natives 2048×1024 pixels Contrairement au protocole original préservant le ratio 2:1 natif (2048×1024), nos expérimentations utilisent des **images carrées (1:1)** aux résolutions 512×512 et 768×768. Cette déformation géométrique, motivée par les contraintes GPU T4, permet d'analyser l'impact du ratio d'image sur les différentes philosophies architecturales (CNN vs Transformer).
- **Conditions d'acquisition** : Conditions météo bonnes à moyennes, pas de conditions adverses (pluie, neige)
- **Diversité géographique** : Villes allemandes et suisses (architectures variées)
- **Annotations pixel-perfect** : Masques de segmentation précis au pixel près
Ce dataset permet d'évaluer la capacité des modèles à comprendre les scènes urbaines complexes, élément fondamental pour les applications de conduite autonome et de surveillance urbaine intelligente.
--- ---
## Les concepts de l'algorithme récent ## Les concepts de l'algorithme récent
### SegFormer : Architecture Transformer Vision-Optimisée ### SegFormer : Architecture Transformer Vision-Optimisée Temps Réel
**SegFormer** représente une avancée majeure dans la segmentation sémantique en introduisant une architecture **Transformer** spécifiquement conçue pour la compréhension visuelle dense, contrairement aux Transformers textuels originaux. **SegFormer** représente une avancée dans la segmentation sémantique en introduisant une architecture **Transformer** spécifiquement conçue pour l'efficacité computationnelle, contrairement aux approches Transformer classiques gourmandes en ressources.
### Innovations Architecturales Clés ### Innovations Architecturales Clés
**1. Encodeur Hiérarchique Multi-Échelles** **1. Encodeur Hiérarchique Sans Encodage Positionnel**
L'encodeur SegFormer **abandonne les encodages positionnels** classiques au profit d'une architecture hiérarchique qui capture naturellement les relations spatiales : L'encodeur SegFormer **abandonne les encodages positionnels** au profit d'une architecture hiérarchique qui capture naturellement les relations spatiales :
$$\text{Feature Maps} = \{F_1, F_2, F_3, F_4\}$$ $$\text{Feature Maps} = \{F_1, F_2, F_3, F_4\}$$
avec résolutions $\{\frac{H}{4}, \frac{H}{8}, \frac{H}{16}, \frac{H}{32}\}$ avec résolutions $\{\frac{H}{4}, \frac{H}{8}, \frac{H}{16}, \frac{H}{32}\}$
**Efficient Self-Attention :** **Efficient Self-Attention :**
Contrairement à l'attention standard $\mathcal{O}(N^2)$, SegFormer utilise une **attention réduite** : Réduction de complexité par sous-échantillonnage des clés :
$$\text{Attention}(Q,K,V) = \text{Softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$ $$\text{Attention}(Q,K,V) = \text{Softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
où $K$ est sous-échantillonnée par un facteur $R$ pour réduire la complexité : avec complexité réduite de $\mathcal{O}(N^2)$ à $\mathcal{O}\left(\frac{N^2}{R}\right)$ où $R$ est le facteur de réduction.
$$\text{Complexité} = \mathcal{O}\left(\frac{N^2}{R}\right)$$ **2. Mix-FFN : Hybridation CNN-Transformer**
**2. Mix-FFN : Convolution dans le Transformer** Innovation clé : intégration de **convolutions 3×3** dans les couches Feed-Forward :
Innovation majeure : intégration de **convolutions 3×3** dans les couches Feed-Forward :
$$\text{Mix-FFN}(x) = \text{MLP}(\text{GELU}(\text{Conv}_{3×3}(\text{MLP}(x)) + x))$$ $$\text{Mix-FFN}(x) = \text{MLP}(\text{GELU}(\text{Conv}_{3×3}(\text{MLP}(x)) + x))$$
Cette hybridation **CNN-Transformer** permet : Cette approche permet :
- **Capture des patterns locaux** (force des CNN) - **Élimination totale des encodages positionnels**
- **Compréhension globale** (force des Transformers) - **Capture locale + compréhension globale** simultanées
- **Élimination des encodages positionnels** : Contrairement aux ViT classiques qui utilisent des encodages positionnels, SegFormer s'en affranchit totalement - **Robustesse aux variations de résolution** d'entrée
**3. Décodeur MLP Unifié** **3. Décodeur MLP Ultra-Léger**
SegFormer simplifie drastiquement le décodeur avec un **MLP léger** : Simplification drastique vs décodeurs complexes traditionnels :
$$\text{Seg} = \text{MLP}\left(\text{Concat}[\text{Upsample}(F_1), F_2, F_3, F_4]\right)$$ $$\text{Seg} = \text{MLP}\left(\text{Concat}[\text{Upsample}(F_1), F_2, F_3, F_4]\right)$$
**Avantages :** **Avantages :**
- **Élimination des décodeurs complexes** (PSP, ASPP) - **Réduction massive des paramètres** : Focus sur l'encodeur performant
- **Réduction paramètres** : Focus sur l'encodeur - **Inférence accélérée** : Décodeur 10× plus rapide que ASPP/PSP
- **Inférence accélérée** : Décodeur 10× plus rapide - **Architecture unifiée** : Traitement multi-échelle sans modules ad-hoc
### Comparaison Conceptuelle : SegFormer vs CNN ### Positionnement Temps Réel vs État de l'Art
| Aspect | **CNN (FPN)** | **SegFormer** | **Analyse critique du benchmark original :**
|--------|---------------|----------------| Le papier SegFormer révèle que **SegFormer-B0** (3.7M paramètres) atteint **75.3% mIoU** sur Cityscapes à résolution réduite (côté court 768px), égalant **DeepLabv3+ + MobileNetV2** (75.2% mIoU) à résolution pleine. Cette **efficacité computationnelle supérieure** constitue l'argument central de notre hypothèse de recherche.
| **Réceptive Field** | Locale → Globale (graduelle) | **Globale dès L1** |
| **Relations Spatiales** | Convolutions fixes | **Attention adaptative** |
| **Multi-échelles** | Feature Pyramid complexe | **Hiérarchie naturelle** |
| **Paramètres** | Nombreux (convolutions) | **Optimisés (attention)** |
| **Contexte** | Limité (kernels 3×3-5×5) | **Illimité (global)** |
| **Encodage positionnel** | Aucun (spatial intrinsèque) | **Aucun (Mix-FFN)** |
### Mécanisme d'Attention Global **Hypothèse de transfert :**
Si DeepLabv3+ surpasse théoriquement FPN, alors SegFormer-B0 devrait également surpasser notre baseline FPN+EfficientNetB0 (78.67% mIoU), particulièrement à 768×768 pixels.
**Force distinctive :** Chaque pixel "voit" tous les autres pixels de l'image simultanément :
$$\text{Output}_i = \sum_{j=1}^{N} \alpha_{ij} \cdot V_j$$
où $\alpha_{ij}$ représente l'**importance du pixel $j$ pour classifier le pixel $i$**.
**Impact :**
- **Classes complexes** (Human, Vehicle) : Gains significatifs vs CNN
- **Cohérence spatiale** : Réduction artefacts de segmentation
- **Robustesse occlusion** : Reconstruction contextuelle
Cette architecture explique la **supériorité empirique** de SegFormer sur les tâches nécessitant une compréhension contextuelle étendue, particulièrement visible sur Cityscapes.
--- ---
## La modélisation ## La modélisation
### Méthodologie Expérimentale ### Méthodologie Expérimentale Adaptée
**Architecture comparative :** **Contraintes et adaptations :**
Nous comparons SegFormer à **FPN** (Feature Pyramid Network), architecture CNN mature représentative des approches traditionnelles, avec deux encodeurs testés : **EfficientNet-B0** et **ResNet34**. Notre protocole d'évaluation diffère substantiellement du papier original pour s'adapter aux contraintes pratiques :
**Configuration expérimentale :** **Configuration matérielle :**
- **Plateforme** : Google Colab Pro avec GPU T4 (15Go VRAM) - **Plateforme** : Google Colab Pro avec GPU T4 (15Go VRAM)
- **Framework** : PyTorch + Segmentation Models PyTorch - **Framework** : Migration TensorFlow/Keras → PyTorch + Segmentation Models PyTorch
- **Contraintes** : Plan payant Google avec unités de calcul limitées - **Contraintes** : Plan payant avec unités de calcul limitées
**Déformation géométrique :**
- **Protocole original** : Préservation ratio 2:1 natif Cityscapes
- **Notre protocole** : Déformation vers ratio 1:1 (images carrées)
- **Résolutions testées** : 512×512 et 768×768 pixels
- **Impact attendu** : Analyse différentielle CNN vs Transformer sous contrainte géométrique
### Preprocessing et Modèles Pré-entraînés ### Preprocessing et Modèles Pré-entraînés
**Résolutions testées :** 512×512 et 768×768 pixels
**Modèles SegFormer (pré-entraînés ADE20K) :** **Modèles SegFormer (pré-entraînés ADE20K) :**
- **SegFormer-B0** : `smp-hub/segformer-b0-512x512-ade-160k` - **SegFormer-B0** : `segformer-b0-512x512-ade-160k` (3.7M paramètres)
- **SegFormer-B1** : `smp-hub/segformer-b1-512x512-ade-160k` - **SegFormer-B1** : `segformer-b1-512x512-ade-160k` (13.7M paramètres, exploration scaling)
**Modèles FPN (pré-entraînés ImageNet) :** **Modèles FPN (pré-entraînés ImageNet) :**
- **FPN+ResNet34** : `encoder_weights="imagenet"` - **FPN+ResNet34** : 23.16M paramètres
- **FPN+EfficientNet-B0** : `encoder_weights="imagenet"` - **FPN+EfficientNet-B0** : 5.76M paramètres (baseline de référence @224x224 : 74.6% mIoU)
### Métrique d'Évaluation ### Configuration d'Entraînement Optimisée
**Mean Intersection over Union (mIoU) - Métrique principale :**
L'IoU mesure la précision de segmentation par classe :
$$\text{IoU}_{\text{classe}} = \frac{|\text{Prédiction} \cap \text{Ground Truth}|}{|\text{Prédiction} \cup \text{Ground Truth}|}$$
**Mean IoU (mIoU) :** Moyenne des IoU sur toutes les classes
$$\text{mIoU} = \frac{1}{N} \sum_{i=1}^{N} \text{IoU}_i$$
**Métrique complémentaire :**
- **IoU par classe (IoUc)** : Performance détaillée par méta-classe
### Démarche d'Optimisation
**Configuration SegFormer :** **Configuration SegFormer :**
- **Loss Function** : Jaccard Loss seule - **Loss Function** : Jaccard Loss pour optimisation IoU directe
- **Optimiseur** : AdamW (lr=1e-4, weight_decay=1e-4) - **Optimiseur** : AdamW (lr=1e-4, weight_decay=1e-4, spécialisé Transformers)
- **Scheduler** : Cosine Annealing (min_lr=1e-6) - **Scheduler** : Cosine Annealing (convergence douce, min_lr=1e-6)
- **Epochs** : Maximum 30 avec early stopping (patience=5) - **Epochs** : Maximum 30 avec early stopping (patience=5)
**Configuration FPN :** **Configuration FPN :**
- **Loss Function** : Focal + Jaccard Loss (focal_weight=1.0, jaccard_weight=1.0) - **Loss Function** : Focal + Jaccard Loss combinées (poids 1:1)
- **Optimiseur** : Adam (lr=1.5e-4, weight_decay=1e-5) - **Optimiseur** : Adam (lr=1.5e-4, weight_decay=1e-5, optimisé CNN)
- **Scheduler** : ReduceLROnPlateau (patience=4, min_lr=1e-6) - **Scheduler** : ReduceLROnPlateau (adaptation réactive, patience=4)
- **Epochs** : Maximum 20 avec early stopping (patience=7) - **Epochs** : Maximum 20 avec early stopping (patience=7)
**Stratégie d'entraînement :** **Stratégie d'entraînement :**
Entraînement séquentiel des 4 modèles à 512×512, puis à 768×768, suivi de la comparaison des métriques entre les deux meilleurs modèles. Entraînement séquentiel des 4 modèles principaux à 512×512, puis scaling à 768×768 pour analyse comparative résolution/performance.
--- ---
## Une synthèse des résultats ## Une synthèse des résultats
### Performance Comparative : SegFormer vs Architectures CNN
**Résultats principaux (mIoU sur Cityscapes Validation) :**
![mIoU + Accuracy](mIoU_accuracy.png) ![mIoU + Accuracy](mIoU_accuracy.png)
*Fig.1: Mean IoU et Accuracy par expérience* *Fig.1: Mean IoU et Accuracy par expérience*
### Performance Comparative : SegFormer vs FPN sous Contrainte Géométrique
| **Modèle** | **mIoU** | **Gain** | **Paramètres** | **Taille** | **Temps** | **Résultats principaux (mIoU sur Cityscapes Validation) :**
|------------|----------|----------|----------------|------------|-----------|
| **Modèle** | **mIoU** | **Gain vs Baseline** | **Paramètres** | **Taille** | **Temps CPU** |
|------------|----------|----------------------|----------------|------------|---------------|
| **SegFormer-B1** | **79.98%** | **+1.31%** | **13.68M** | **52MB** | **1.39s** | | **SegFormer-B1** | **79.98%** | **+1.31%** | **13.68M** | **52MB** | **1.39s** |
| **FPN+ResNet34** | **79.22%** | **+0.55%** | **23.16M** | **88MB** | **0.73s** | | **FPN+ResNet34** | **79.22%** | **+0.55%** | **23.16M** | **88MB** | **0.73s** |
| **FPN+EfficientNet-B0** | **78.67%** | *baseline* | **5.76M** | **22MB** | **0.48s** | | **FPN+EfficientNet-B0** | **78.67%** | *baseline* | **5.76M** | **22MB** | **0.48s** |
| **SegFormer-B0** | **77.91%** | **-0.76%** | **3.72M** | **14MB** | **0.87s** | | **SegFormer-B0** | **77.91%** | **-0.76%** | **3.72M** | **14MB** | **0.87s** |
*Temps d'inférence mesurés sur CPU Intel Xeon @ 2.20GHz (2 vCPUs) de Google Colab* *Temps d'inférence : CPU Intel Xeon @ 2.20GHz (2 vCPUs) Google Colab*
**Variabilité des performances selon l'architecture CPU :** ### Révélations Critiques : Impact du Ratio d'Image
Les temps d'inférence révèlent des comportements distincts selon la philosophie architecturale. Les **CPU haute performance** (Ryzen 9600X, Intel Xeon Colab) avec leurs hautes fréquences et gros caches (32-56MB) favorisent ResNet+FPN (0.5s vs 1.5s pour SegFormer). Le **N100**, optimisé pour l'efficacité énergétique mais bénéficiant des optimisations Intel modernes (MKL/oneDNN, AVX2) pour les calculs matriciels, avantage SegFormerB1 (2s vs 5s pour FPN). Cette dichotomie souligne l'importance du choix matériel selon le type de modèle déployé.
### Analyse Détaillée par Classes **Résultat majeur inattendu :**
Contrairement aux prédictions du benchmark original, **SegFormer-B0 sous-performe face aux baselines FPN** sur images carrées (77.91% vs 78.67% mIoU). Cette observation révèle une **sensibilité architecturale différentielle** aux déformations géométriques.
**Hypothèse explicative - Robustesse géométrique :**
1. **CNN (FPN)** : Les convolutions avec leurs kernels fixes et pooling local gèrent naturellement les déformations géométriques
2. **Transformer (SegFormer)** : L'attention globale, optimisée sur ratio 2:1 natif, souffre de la perte d'information spatiale lors de la déformation 1:1
3. **Scaling architectural** : SegFormer-B1 compense cette limitation par sa capacité supérieure (+1.31% mIoU)
### Analyse Détaillée par Classes Sémantiques
![IoU Classe et Δ IoU par Classe](iou_delta_iou_per_class.png) ![IoU Classe et Δ IoU par Classe](iou_delta_iou_per_class.png)
*Fig.2: IoU et Δ IoU par Classe entre SegFormer-B1 et FPN-ResNet34* *Fig.2: IoU et Δ IoU par Classe entre SegFormer-B1 et FPN-ResNet34*
**Performance par méta-classes Cityscapes :** **Performance par méta-classes Cityscapes :**
| **Classe** | **SegFormer-B1** | **FPN+ResNet34** | **FPN+EfficientNet-B0** | **SegFormer-B0** | **Meilleur** | | **Classe** | **SegFormer-B1** | **FPN+ResNet34** | **Gain** | **Analyse** |
|------------|-------------------|-------------------|-------------------------|------------------|-------------| |------------|-------------------|-------------------|----------|-------------|
| **Flat** | **93.35%** | **93.38%** | **92.73%** | **93.12%** | **FPN+ResNet34** | | **Flat** | **93.35%** | **93.38%** | **-0.03%** | Performance équivalente |
| **Human** | **71.13%** | **69.35%** | **68.68%** | **67.45%** | **SegFormer-B1** ⭐ | | **Human** | **71.13%** | **69.35%** | **+1.78%** | ⭐ **Attention globale critique** |
| **Vehicle** | **88.80%** | **87.75%** | **87.72%** | **86.87%** | **SegFormer-B1** ⭐ | | **Vehicle** | **88.80%** | **87.75%** | **+1.05%** | ⭐ **Contexte multi-échelle** |
| **Construction** | **85.94%** | **85.06%** | **84.92%** | **84.19%** | **SegFormer-B1** ⭐ | | **Construction** | **85.94%** | **85.06%** | **+0.88%** | Structures complexes |
| **Object** | **49.24%** | **48.68%** | **46.71%** | **43.62%** | **SegFormer-B1** ⭐ | | **Object** | **49.24%** | **48.68%** | **+0.56%** | ⭐ **Signalétique petite taille** |
| **Nature** | **89.14%** | **88.13%** | **88.64%** | **88.15%** | **SegFormer-B1** ⭐ | | **Nature** | **89.14%** | **88.13%** | **+1.01%** | Textures variées |
| **Sky** | **92.35%** | **91.67%** | **91.71%** | **91.37%** | **SegFormer-B1** ⭐ | | **Sky** | **92.35%** | **91.67%** | **+0.68%** | Régions homogènes |
| **Void** | **69.89%** | **69.76%** | **68.24%** | **68.51%** | **SegFormer-B1** ⭐ | | **Void** | **69.89%** | **69.76%** | **+0.13%** | Zones ambiguës |
**Gains SegFormer-B1 vs FPN+ResNet34 :** **Patterns d'amélioration SegFormer-B1 :**
- **Human** : +1.78% (sécurité critique) - **Classes sécuritaires critiques** (Human +1.78%, Vehicle +1.05%) : Validation de l'attention globale pour objets contextuels
- **Vehicle** : +1.05% (objets mobiles) - **Objets petite taille** (Object +0.56%) : Meilleure capture multi-échelle vs convolutions locales
- **Construction** : +0.88% (structure urbaine) - **Performance équivalente** sur surfaces homogènes (Flat -0.03%)
- **Object** : +0.56% (signalétique)
- **Nature** : +1.01% (environnement) ### Performance Surprenante vs Benchmark Original
- **Sky** : +0.68% (contexte global)
- **Void** : +0.13% (zones ambiguës) **Observation contre-intuitive :**
- **Flat** : -0.03% (performance équivalente) Nos modèles atteignent des performances **supérieures au papier original** malgré la contrainte géométrique @768x768 :
- **SegFormer-B0 : 77.91%** vs 75.3%
- **FPN baselines : 78.67-79.22%** vs DeepLabV3+ 75.2%
- **SegFormer-B1 : 79.98%** vs ~76-78% (en effectuant un scaling grossier B0→B1 en se basant sur l'écart de performances de B0-->B5)
### Insights Métier Critiques **Hypothèses explicatives :**
1. **Optimisation du ratio 1:1** : Réduction de l'aire d'image (×2) concentre l'information spatiale
**1. Classes Sécurité-Critiques :** 2. **Optimisation d'hyperparamètres** : Par exemple, utilisation de fonctions de perte Jaccard (+ Focal) ? Non mentionné dans SegFormer (2021) ni DeepLabV3 (2018)
- **Human (+1.78% IoU)** : Amélioration la plus significative avec SegFormer-B1 atteignant 71.13% vs 69.35% pour FPN+ResNet34 3. **Encodeurs** : EfficientNetB0 à peine plus long que MobileNetV2 et performances au-dessus. ResNet34 au-dessus également mais plus lourd (peut-être pertinent en temps réel...?)
- **Vehicle (+1.05% IoU)** : Meilleure identification obstacles mobiles (88.80% vs 87.75%) 3. **Framework PyTorch** : Optimisations modernes vs implémentations TensorFlow du papier DeepLabV3+ (2018)
- **Impact applicatif** : Réduction risque accidents, fiabilité conduite autonome renforcée
**2. Signalétique et Infrastructure :**
- **Object (+0.56% IoU)** : Panneaux, feux, poteaux mieux segmentés (49.24% vs 48.68%)
- **Construction (+0.88% IoU)** : Amélioration structures urbaines (85.94% vs 85.06%)
- **Conséquences** : Navigation urbaine plus précise, respect signalisation
**3. Efficacité Paramétrique et Déploiement :**
- **SegFormer-B1** : Meilleure performance (79.98% mIoU) avec **41% moins de paramètres** que FPN+ResNet34 (13.68M vs 23.16M) et **41% moins d'espace disque** (52MB vs 88MB)
- **FPN+EfficientNet-B0** : Excellent compromis performance/compacité avec 5.76M paramètres et seulement 22MB de stockage
- **SegFormer-B0** : Modèle ultra-compact (3.72M paramètres, 14MB) mais performances insuffisantes
- **Avantage déploiement** : SegFormer-B1 facilite le déploiement mobile et edge computing avec des contraintes mémoire/stockage réduites
**4. Trade-off Performance vs Vitesse d'Exécution :**
SegFormer-B1 démontre une **supériorité en précision** (+0.76% mIoU) avec un temps d'inférence de 1.39s contre 0.73s pour FPN+ResNet34 (1.92x plus lent) sur **CPU Google Colab**. Cette différence de 668ms par image doit être contextualisée :
- **Limitation CPU** : Les architectures Transformer bénéficient davantage des optimisations GPU spécialisées (TensorRT, CUDA) que les CNN
- **Applications batch** : SegFormer-B1 recommandé pour la précision maximale hors contraintes temps réel
- **Potentiel d'optimisation** : Les temps d'inférence seraient probablement divisés par 3-5x sur hardware dédié avec accélération GPU
### Conclusion Expérimentale
**Analyse nuancée des résultats :** Les résultats montrent que SegFormer-B1 **rivalise** avec les CNN traditionnels dans une configuration d'évaluation statique (images redimensionnées à résolution fixe, quitte à déformer le ratio), avec un gain modeste de +0.76% de mIoU sur FPN+ResNet34.
**Limites méthodologiques identifiées :**
1. **Absence de sliding window** : Contrairement aux auteurs originaux de SegFormer, nous n'avons pas implémenté de sliding window pour couvrir entièrement l'image sans déformer son ratio, ce qui pourrait favoriser les approches CNN plus habituées aux déformations géométriques.
2. **Résolution 512×512** : Les expériences menées à résolution inférieure (512×512) montrent des résultats similaires avec une légère avance pour FPN+ResNet34, suggérant que l'augmentation d'échelle (768×768) a légèrement profité à SegFormer-B1.
3. **Contraintes computationnelles** : Les performances de nos baselines CNN seraient probablement dépassées par les versions plus lourdes de SegFormer (B2, B3, B4) que nous n'avons pas pu entraîner faute de puissance de calcul suffisante.
**ROI technique contextuel :**
- **SegFormer-B1** : Performance comparable aux CNN établis avec une architecture plus moderne
- **SegFormer-B0** : Moins performant que prévu, nécessiterait probablement des ajustements d'hyperparamètres spécifiques
- **Potentiel d'amélioration** : Les versions B2+ de SegFormer promettraient vraisemblablement des gains significatifs
**Facteurs de validation partielle :**
1. **Gains ciblés** : Améliorations cohérentes sur les classes critiques (Human +1.78%, Vehicle +1.05%)
2. **Architecture prometteuse** : Les mécanismes d'attention globale montrent leur potentiel malgré les contraintes expérimentales
3. **Preuve de concept réussie** : Démonstration de la faisabilité technique de l'approche Transformer
Cette preuve de concept valide l'intérêt des architectures Transformer pour la segmentation urbaine, tout en soulignant l'importance des ressources computationnelles et des protocoles d'évaluation appropriés pour exploiter pleinement leur potentiel.
--- ---
## L'analyse de la feature importance globale et locale du nouveau modèle ## L'analyse de la feature importance globale et locale du nouveau modèle
### Scope et Limitations ### Limitations Méthodologiques de l'Explicabilité Transformer
L'analyse d'explicabilité des architectures Transformer pour la segmentation dense représente un défi technique considérable qui constitue **un travail à part entière**, dépassant le cadre d'une preuve de concept. Contrairement aux approches CNN où les cartes d'activation sont plus directement interprétables, les mécanismes d'attention complexes des Transformers nécessitent des méthodologies spécialisées. L'analyse d'explicabilité des architectures Transformer pour la segmentation dense représente un **défi technique majeur** dépassant le cadre de cette preuve de concept. Les mécanismes d'attention multi-têtes, Mix-FFN, et fusion hiérarchique créent des interactions complexes difficiles à décomposer causalement.
### Outils Disponibles vs Explicabilité Complète ### Insights Architecturaux via Patterns de Performance
Les auteurs de SegFormer fournissent des éléments d'analyse via l'**effective receptive field (ERF)** qui révèle la structure hiérarchique du modèle : attentions locales dans les couches inférieures, globales dans les supérieures. Ces visualisations montrent **"où"** le modèle porte son attention, mais n'expliquent pas **"pourquoi"** ces régions sont critiques pour la décision finale. **Analyse indirecte par performance différentielle :**
**Limitation fondamentale :** Les cartes d'attention ne correspondent pas nécessairement à l'importance causale réelle des pixels. De plus, les interactions complexes entre Mix-FFN, connexions résiduelles, et fusion multi-échelles rendent l'attribution pixel-par-pixel particulièrement ardue. Une explicabilité rigoureuse nécessiterait des approches comme le **Deep Taylor Decomposition** pour propager correctement les scores de pertinence à travers l'architecture. Bien que l'explicabilité fine soit inaccessible, les patterns de performance révèlent les mécanismes sous-jacents :
Cette différence architecturale avec les CNN explique néanmoins les gains observés sur les classes contextuelles (Human +1.78%, Vehicle +1.05%, Object +0.56%), suggérant une **"compréhension scénique"** globale sans pour autant permettre une explicabilité fine facilement accessible. 1. **Attention globale validée** : Gains significatifs sur classes contextuelles (Human +1.78%, Vehicle +1.05%) suggèrent une **compréhension scénique** supérieure aux CNN
2. **Sensibilité géométrique** : Sous-performance SegFormer-B0 vs FPN sur images déformées révèle une **dépendance aux relations spatiales natives**
3. **Scaling architectural efficace** : Bond B0→B1 (+2.07% mIoU) confirme l'efficacité du scaling Transformer
**Limitation fondamentale :**
Les cartes d'attention ne correspondent pas nécessairement à l'importance causale réelle. Une explicabilité rigoureuse nécessiterait des approches spécialisées comme **Deep Taylor Decomposition** ou **Integrated Gradients** adaptées aux architectures hybrides CNN-Transformer.
--- ---
## Limites et améliorations possibles ## Limites et améliorations possibles
### Limitations Identifiées ### Limitations Expérimentales Critiques
**1. Contraintes Expérimentales** **1. Contraintes Protocolaires Majeures**
- **Ressources computationnelles limitées** : Plan payant Google Colab avec 100 unités de calcul, 2/3 des crédits consommés pour l'entraînement sur GPU T4 (entry-level), rendant irréaliste l'entraînement de variantes plus lourdes (SegFormer-B2+) ou l'utilisation de GPU plus puissants - **Déformation géométrique forcée** : Ratio 2:1→1:1 non-représentatif du déploiement réel
- **Inférence CPU uniquement** : Temps de traitement mesurés sur CPU Colab non-représentatifs des performances GPU optimisées en production - **Résolutions limitées** : GPU T4 contraint l'exploration des résolutions supérieures (>768px). Augmentation importante de l'utilisation de VRAM et réduction drastique du `batch_size` --> entraînements plus longs (plus d'époques)
- **Dataset unique** : Généralisation à d'autres environnements urbains non-validée - **Framework migration** : TensorFlow→PyTorch peut introduire des biais de comparaison
- **Protocole d'évaluation statique** : Images redimensionnées avec déformation du ratio, contrairement à la méthodologie sliding window du papier original - **Métriques d'évaluation** : Temps d'inférence CPU non-représentatifs du déploiement GPU optimisé
**2. Limitations Applicatives** **2. Généralisation Limitée**
- **Classes déséquilibrées** : Performance variable sur objets rares dans Cityscapes - **Dataset unique** : Évaluation exclusive sur Cityscapes urbain allemand
- **Conditions d'acquisition** : Robustesse non-testée sur conditions météo adverses (nuit, intempéries) - **Conditions météo** : Uniquement conditions favorables (pas de nuit/intempéries)
- **Scaling incomplet** : SegFormer-B2+ non-testés faute de ressources computationnelles
### Améliorations Prioritaires ### Améliorations Prioritaires Identifiées
**1. Optimisation Computationnelle** **1. Robustesse Protocolaire**
- **Migration GPU optimisé** : Les architectures Transformer bénéficient davantage des accélérations GPU spécialisées que les CNN - **Préservation ratio natif** : Tests sur images 2:1 sans déformation géométrique (contraintes budgétaires/temps limitant cette approche)
- **Quantization et optimisations dédiées** : Réduction de la précision numérique pour améliorer les performances d'inférence - **Résolutions supérieures** : Évaluation à 1024×512 ou résolutions natives pour validation écologique
- **Evaluation multi-dataset** : Validation BDD100K, Mapillary Vistas pour généralisation
**2. Validation Étendue** **2. Scaling Architectural Complet**
- **Variants SegFormer plus lourds** : Évaluation des versions B2, B3, B4 si les ressources computationnelles le permettent - **SegFormer variants complets** : B2, B3, B4 pour validation des gains à tous les niveaux de complexité vs papier original
- **Protocole d'évaluation standard** : Implémentation du sliding window comme dans la publication originale - **Évaluation différentielle** : Déterminer si les améliorations observées sont spécifiques aux modèles légers (B0-B1) ou généralisables aux variants lourds
- **Multi-dataset validation** : Tests sur d'autres datasets urbains pour évaluer la généralisation - **Optimisations déploiement** : TensorRT, quantization FP16/INT8 pour inférence temps réel selon niveau de complexité
**3. Données et Robustesse** **3. Analyse Causale Approfondie**
- **Conditions météorologiques variées** : Extension aux données de nuit, pluie, neige 1. **Prototypage rapide** : SegFormer-B1 comme référence architecturale moderne pour projets nécessitant performance maximale
- **Résolutions natives** : Tests sans redimensionnement avec déformation pour préserver les relations spatiales 2. **Contraintes embarquées** : FPN+EfficientNet-B0 optimal pour déploiement edge ultra-contraint à 768×768, avec évaluation requise à résolutions supérieures pour validation complète
- **Synthetic data augmentation** : Utilisation de simulateurs pour enrichir les conditions d'entraînement 3. **Adaptabilité clients** : Gamme SegFormer (B0-B1+) offrant scaling performance/ressources selon besoins spécifiques
Ces améliorations permettraient d'évaluer plus complètement le potentiel réel de SegFormer dans un contexte de production, au-delà des limitations de cette preuve de concept. ### Perspectives de Déploiement Pratique
**Applications industrielles validées :**
1. **Prototypage rapide** : SegFormer-B1 comme référence architecturale moderne pour projets nécessitant performance maximale
2. **Contraintes embarquées** : FPN+EfficientNet-B0 optimal pour déploiement edge ultra-contraint à 768×768, avec évaluation requise à résolutions supérieures pour validation complète
3. **Adaptabilité clients** : Gamme SegFormer (B0-B1+) offrant scaling performance/ressources selon besoins spécifiques
**ROI technique contextuel :**
Cette preuve de concept valide l'intérêt des architectures Transformer tout en révélant leurs **sensibilités pratiques** (ratio d'image, scaling nécessaire). L'approche constitue une **base méthodologique** solide pour futurs développements production avec contraintes réelles explicitées.
---
## Conclusion Méthodologique
### Contribution Analytique Principale
Cette étude apporte une **perspective complémentaire critique** aux évaluations académiques standard en révélant :
1. **Impact géométrique différentiel** : Sensibilité CNN vs Transformer aux déformations d'image
2. **Scaling architectural requis** : Nécessité SegFormer-B1+ pour surpasser baselines CNN établies en ratio 1:1
3. **Trade-offs pratiques** : Compromis performance/efficacité sous contraintes réelles
### Validation des Hypothèses de Recherche
**Hypothèses confirmées :**
- ✅ **SegFormer-B1 surpasse FPN** (+1.31% mIoU) avec efficacité paramétrique supérieure
- ✅ **Amélioration classes critiques** validée (Human +1.78%, Vehicle +1.05%)
- ✅ **Architecture Transformer viable** pour segmentation temps réel avec scaling approprié
**Hypothèses infirmées :**
- ❌ **SegFormer-B0 sous-performant** vs FPN sur images 1:1
- ❌ **Robustesse géométrique** Transformer surestimée vs CNN
### Positionnement Scientifique
Cette preuve de concept se distingue par son **réalisme méthodologique** : elle expose les limitations pratiques des architectures d'avant-garde sous contraintes déploiement réelles, offrant une analyse **nuancée et reproductible** aux équipes techniques devant opérer des choix architecturaux informés.
L'approche constitue une **base technique solide** pour futurs développements industriels nécessitant des compromis éclairés entre innovation architecturale et contraintes opérationnelles.

BIN
docs/p8_technical_note.pdf Normal file

Binary file not shown.

View file

@ -1,33 +1,41 @@
# Plan Prévisionnel - Preuve de Concept Segmentation Sémantique # Plan Prévisionnel - Preuve de Concept Segmentation Sémantique
**Projet** : Amélioration de la segmentation sémantique urbaine avec SegFormer **Projet** : Amélioration de la segmentation sémantique temps réel avec SegFormer
--- ---
## Dataset Retenu ## Dataset Retenu
**Cityscapes** : Dataset de référence pour la segmentation sémantique de scènes urbaines comprenant 2975 images haute résolution annotées pixel par pixel. Les images sont capturées dans **50 villes allemandes différentes** avec **34 classes principales** que nous regroupons en **8 catégories pertinentes** (flat, vehicle, human, construction, object, nature, sky, void). La résolution sera progressivement testée à 512×512 puis 768×768 pixels, contre 224×224 dans le projet précédent, pour exploiter pleinement les capacités des architectures modernes. **Cityscapes** : Dataset de référence pour la segmentation sémantique de scènes urbaines comprenant 2975 images haute résolution (2048×1024) annotées pixel par pixel. Les images sont capturées dans **50 villes allemandes différentes** avec **34 classes principales** que nous regroupons en **8 catégories pertinentes** (flat, vehicle, human, construction, object, nature, sky, void).
**Particularité méthodologique** : Les images seront testées aux résolutions 512×512 et 768×768 avec **déformation du ratio d'origine** (passage de 2:1 à 1:1) pour optimiser les contraintes computationnelles GPU T4. Cette modification permettra d'analyser l'impact du ratio d'image sur les différentes architectures.
--- ---
## Modèle Envisagé ## Modèle Envisagé
### Algorithme : SegFormer ### Algorithme : SegFormer (Focus Temps Réel)
**Justifications du choix :** **Justifications du choix :**
SegFormer (Xie et al., 2021) combine l'efficacité des Vision Transformers avec un décodeur MLP simple, atteignant des performances état de l'art sur Cityscapes (**84.0% mIoU avec SegFormer-B5** contre 80.9% pour DeepLabv3+ ResNet-101). Cette architecture résout les limitations des CNN par son contexte global natif et évite les problèmes des Transformers classiques grâce à l'absence d'encodage positionnel fixe. Comparé à notre baseline actuelle FPN + EfficientNetB0 (74.6% mIoU @224x224), SegFormer présente un **potentiel d'amélioration de ~10 points mIoU**, particulièrement sur les petits objets critiques pour les classes Human et Object.\ SegFormer (Xie et al., 2021) représente une approche Transformer vision-optimisée pour la segmentation sémantique. **L'analyse du benchmark Cityscapes révèle que SegFormer-B0 égale les performances de DeepLabv3+** (75.3% vs 75.2% mIoU) tout en fonctionnant à **résolution réduite** (côté court 768px vs résolution pleine). Cette efficacité computationnelle supérieure suggère un potentiel d'amélioration face à notre baseline FPN, DeepLabv3+ étant théoriquement plus performant que FPN.
*Note : les résultats de référence sur l'article utilisent parfois des techniques d'inférence sliding window, différentes de notre protocole à résolution fixe 768×768.*
**Objectif et contexte :** **Objectif et hypothèses de recherche :**
SegFormer vise la compréhension précise pixel-wise des scènes urbaines. Son architecture hiérarchique capture simultanément détails fins et contexte global, essentiel pour la segmentation d'éléments critiques (piétons, véhicules, signalétique). Le modèle s'applique aux systèmes de perception embarqués nécessitant un équilibre performance/efficacité computationnelle. 1. **SegFormer-B0** devrait surpasser FPN+EfficientNetB0 (78.67% mIoU baseline) grâce à l'attention globale native
2. **SegFormer-B1** permettra d'explorer le scaling architectural (non documenté dans le papier original)
3. **Impact du ratio d'image** : Analyser comment la déformation 2:1→1:1 affecte les architectures CNN vs Transformer
**Contraintes et adaptations :**
- Migration framework obligatoire : TensorFlow/Keras → PyTorch pour accès aux modèles SegFormer récents
- Résolutions contraintes par GPU T4 : 512×512 et 768×768 maximum
- Protocole différent du papier original : images carrées vs rectangulaires natives
--- ---
## Références Bibliographiques ## Références Bibliographiques
1. **Xie, E., Wang, W., Yu, Z., et al.** (2021). *SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers*. NeurIPS 2021. [Article de recherche principal] 1. **Xie, E., Wang, W., Yu, Z., et al.** (2021). *SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers*. NeurIPS 2021. [Architecture Transformer de référence]
2. **PyTorch Semantic Segmentation Implementation Guide** - Towards Data Science (2023). *Modern Semantic Segmentation Architectures Comparison*. [Guide pratique d'implémentation] 2. **Chen, L.C., Zhu, Y., Papandreou, G., et al.** (2018). *Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation*. ECCV 2018. [Baseline comparative DeepLabv3+]
3. **Cordts, M., Omran, M., Ramos, S., et al.** (2016). *The Cityscapes Dataset for Semantic Urban Scene Understanding*. CVPR 2016. [Dataset de référence] 3. **Cordts, M., Omran, M., Ramos, S., et al.** (2016). *The Cityscapes Dataset for Semantic Urban Scene Understanding*. CVPR 2016. [Dataset de référence]
@ -36,21 +44,34 @@ SegFormer vise la compréhension précise pixel-wise des scènes urbaines. Son a
## Explication de la Démarche de Test ## Explication de la Démarche de Test
### Méthode Baseline ### Méthode Baseline
**FPN + EfficientNetB0/ResNet34** : Réentraînement des modèles précédents (initialement 74.6% mIoU en 224×224) aux nouvelles résolutions 512×512 et 768×768. **FPN + EfficientNetB0/ResNet34** : Réentraînement des modèles du projet précédent aux nouvelles résolutions 512×512 et 768×768 avec déformation du ratio d'image. Performance baseline FPN+EfficientNetB0 : 78.67% mIoU (baseline de référence).
**Migration framework obligatoire** : passage de `segmentation_models` (TensorFlow/Keras) vers `segmentation_models_pytorch` pour accéder aux architectures récentes.
### Méthode de Test SegFormer ### Méthode de Test SegFormer
**Évaluation comparative progressive** : **Évaluation comparative temps réel** :
1. Test des variantes SegFormer-B0, B1 selon contraintes mémoire GPU 1. **SegFormer-B0** : Modèle compact ciblé (3.7M paramètres) pour validation du concept temps réel
2. Comparaison métriques : Mean IoU, accuracy pixel-wise, analyse par classe 2. **SegFormer-B1** : Exploration scaling architectural (13.7M paramètres) non documenté dans le papier
3. Mesure des temps d'inférence pour validation pratique 3. **Comparaison 512×512 vs 768×768** : Trade-off résolution/performance sur images déformées
4. Sélection des **2 meilleurs modèles par famille** (FPN vs SegFormer) 4. **Analyse différentielle** : Impact du ratio d'image 1:1 vs 2:1 natif Cityscapes
**Métriques d'évaluation** :
- Mean IoU (métrique principale) et accuracy pixel-wise
- Performance par classe sémantique (focus classes critiques : Human, Vehicle)
- Temps d'inférence CPU/GPU pour validation déploiement pratique
### Preuve de Concept ### Preuve de Concept
**Interface Streamlit** déployée sur serveur NAS personnel (CPU N100) permettant : **Interface Streamlit** déployée sur serveur NAS personnel (CPU Intel N100) permettant :
- Upload d'images urbaines avec **double inférence simultanée** (FPN + SegFormer) - Upload d'images urbaines avec **inférence comparative multi-modèles**
- Comparaison visuelle des masques de segmentation - **Visualisation côte-à-côte** : FPN+ResNet34 vs SegFormer-B1 (meilleurs représentants)
- Affichage temps d'inférence et métriques de performance - Affichage temps d'inférence réel et métriques de performance détaillées
- Téléchargement des modèles optimaux pour usage pratique - **Analyse exploratoire dataset** : Distribution classes, statistiques pixel-wise interactives
**Code réutilisé** : Framework `segmentation_models_pytorch` pour les implémentations. Application originale par le dataset Cityscapes en hautes résolutions et la comparaison architecturale CNN vs Transformer sur notre cas d'usage spécifique. **Hypothèses de validation** :
1. **SegFormer-B1 > FPN baselines** malgré contraintes ratio d'image
2. **SegFormer-B0 vs FPN** : Révélation possible de limitations Transformer sur images déformées
3. **Performances générales** potentiellement supérieures au papier original grâce à l'optimisation ratio 1:1
**Code réutilisé** : Framework `segmentation_models_pytorch` pour les implémentations. **Application originale** : protocole d'évaluation sur images carrées et analyse comparative CNN vs Transformer sous contraintes géométriques spécifiques.
---
**Note méthodologique** : Cette approche permet d'analyser les trade-offs pratiques architecture/performance dans un contexte de contraintes réelles (hardware limité, déformation d'images), offrant une perspective complémentaire aux évaluations académiques standard.

Binary file not shown.