Grégory Bourguin
SysReIC - LISIC - ULCO
Computer Vision

Data Augmentation

La data augmentation est une technique essentielle en apprentissage profond, particulièrement dans le domaine de la vision par ordinateur. Elle consiste à générer des variations supplémentaires des données d'entraînement existantes afin d'améliorer la robustesse et la généralisation des modèles.

En appliquant des transformations telles que la rotation, le recadrage, le retournement, ou encore l'ajout de bruit aux images d'entraînement, on peut simuler une plus grande diversité de scénarios réels.

Dans cette partie, nous explorerons les différentes techniques de data augmentation couramment utilisées.

Transfer Learning

Le transfer learning est une technique essentielle en apprentissage profond, particulièrement dans le domaine de la vision par ordinateur. Elle consiste à réutiliser un modèle pré-entraîné sur une grande base de données pour une nouvelle tâche, ce qui permet d'améliorer la performance et de réduire le temps d'entraînement.

Pourquoi utiliser le Transfer Learning ?

  • Réduction du temps d'entraînement : Les modèles pré-entraînés ont déjà appris des représentations visuelles génériques.
  • Moins de données nécessaires : Utile quand on dispose d'un petit dataset pour la tâche cible.
  • Meilleures performances : Les features apprises sur de grandes bases (ImageNet) sont souvent transférables.
  • Évite l'overfitting : Particulièrement important avec des datasets limités.

Modèles pré-entraînés populaires

  • VGG16/VGG19 : Architecture simple et efficace, bonne base pour débuter.
  • ResNet (50, 101, 152) : Utilise des connexions résiduelles, très profond.
  • InceptionV3 : Architecture complexe avec des modules inception.
  • MobileNet : Léger et rapide, idéal pour applications mobiles.
  • EfficientNet : Excellent compromis précision/efficacité.

Approches

Feature Extraction (Extraction de caractéristiques)

  • Geler les couches convolutives du modèle pré-entraîné.
  • Remplacer uniquement le classifier (dernières couches fully-connected).
  • Entraîner seulement le nouveau classifier.
  • Rapide et efficace pour des tâches similaires.

Fine-Tuning (Ajustement fin)

  • Dégeler certaines couches supérieures du modèle.
  • Réentraîner ces couches avec un taux d'apprentissage faible.
  • Permet d'adapter le modèle plus finement à la nouvelle tâche.
  • Nécessite plus de données et de temps d'entraînement.

Object Detection

La détection d'objets est une tâche centrale en vision par ordinateur qui consiste à identifier et localiser simultanément plusieurs objets dans une image. Contrairement à la simple classification, elle fournit pour chaque objet sa catégorie et sa position spatiale.

Elle est utilisée dans de nombreuses applications telles que la surveillance, la conduite autonome, la robotique, la médecine ou encore l’analyse vidéo.

Objectifs

  • Identifier ce qui est présent dans l’image (classe de l’objet)
  • Localiser il se situe dans l’image
  • Gérer la présence de plusieurs objets avec leurs positions respectives

Sorties d’un détecteur

Chaque prédiction comprend généralement :

  • Une boîte englobante (bounding box) : (x, y, largeur, hauteur)
  • Une classe prédite
  • Un score de confiance p compris entre 0 et 1

Le Backbone

Le backbone est le réseau profond chargé d’extraire les caractéristiques visuelles pertinentes de l’image. Il s’agit généralement d’un CNN ou d’un Transformer.

L’image brute est transformée en carte de caractéristiques (feature map), qui sera ensuite exploitée pour prédire les objets.

Schéma simplifié

Image → Backbone → Features → Détecteur → Boîtes + Classes

Exemples de backbones classiques

Voici quelques architectures de réseaux couramment utilisées comme backbones pour l’extraction de caractéristiques en détection d’objets :

  • ResNet
  • MobileNet
  • EfficientNet
  • CSPDarknet

Différentes Approches

Plusieurs familles de modèles ont été développées, chacune avec ses avantages et ses compromis en termes de précision, rapidité et complexité. On distingue principalement les approches en deux étapes, les méthodes en une seule étape, ainsi que de nouveaux paradigmes exploitant les Transformers ou supprimant les ancres traditionnelles.

Approche en deux étapes

Une première phase génère des régions candidates (Region Proposal), puis une seconde étape classe et affine ces régions.

Exemples : Faster R-CNN, Mask R-CNN
Avantage : précision élevée
Limite : inférence plus lente

Approche en une seule étape

Les prédictions sont effectuées directement sur l’image entière, sans étape intermédiaire de proposition de régions.

Exemples : YOLO, SSD, RetinaNet
Atout : rapidité et compatibilité temps réel
Limite : performance plus faible sur les petits objets

Nouveaux paradigmes

De récents modèles comme DETR exploitent les Transformers pour une détection plus globale et cohérente, tandis que les approches anchor-free simplifient la prédiction en supprimant la notion d’ancres traditionnelles.

Les métriques d’évaluation

L’évaluation des performances en détection d’objets repose sur des métriques spécifiques qui tiennent compte à la fois de la localisation et de la classification des objets. Ces mesures permettent de comparer objectivement les modèles et d’identifier leurs points forts et leurs limites selon les applications visées.

Principe général de l’évaluation

Un modèle de détection d’objets prédit pour chaque instance une boîte englobante, une classe et un score de confiance associé à cette classification. Ce score reflète la certitude du modèle quant à la présence de l’objet et à sa classe.

Seuil de confiance : filtrage des prédictions

Les prédictions sont d’abord filtrées selon ce score de confiance : seules les boîtes dont la confiance est supérieure ou égale à un seuil fixé sont conservées pour l’évaluation. Les autres sont rejetées car jugées insuffisamment fiables.

Intersection over Union (IoU)

Les boîtes conservées sont ensuite comparées aux boîtes de référence à l’aide de l’Intersection over Union (IoU), qui mesure le degré de recouvrement entre la boîte prédite et la boîte réelle. Elle correspond au rapport entre l’aire de leur intersection et l’aire de leur union. Une détection est considérée comme correcte si son IoU dépasse un seuil fixé lors de l’évaluation (par exemple 0.5 dans de nombreux protocoles).

IoU = Aire de l’intersection / Aire de l’union

Précision

La précision mesure la proportion de détections correctes parmi l’ensemble des boîtes conservées après application du seuil de confiance. Une boîte est considérée comme correcte si sa classe est exacte et si son IoU avec la boîte de référence dépasse le seuil IoU fixé. Elle évalue ainsi la fiabilité globale des détections produites par le modèle.

Précision = TP / (TP + FP)

Rappel

Le rappel représente la proportion d’objets réels effectivement détectés par le modèle. Il mesure la capacité du modèle à identifier l’ensemble des objets présents, en tenant compte des détections validées par le critère IoU.

Rappel = TP / (TP + FN)

Courbe Precision-Recall

La courbe précision-rappel représente la relation entre la précision et le rappel pour différents seuils de confiance appliqués aux prédictions du modèle. En faisant varier ce seuil, on obtient une série de couples précision/rappel qui traduisent le compromis entre la capacité du modèle à détecter un maximum d’objets (rappel) et celle à limiter les détections incorrectes (précision).

Cette courbe est construite en classant les prédictions selon leur score de confiance, puis en évaluant la performance cumulée à chaque seuil, pour un seuil d’IoU fixé. Elle constitue un outil central pour analyser la performance d’un modèle de détection et sert de base au calcul de l’Average Precision (AP).

mAP (mean Average Precision)

Le mAP est une métrique globale utilisée en détection d’objets. Il correspond à la moyenne de l’Average Precision (AP) calculée pour chaque classe.

L’Average Precision (AP) d’une classe est obtenue à partir de la courbe précision-rappel, en mesurant l’aire sous cette courbe. Elle synthétise donc le compromis entre précision et rappel pour différents seuils de confiance. Le mAP est ensuite calculé comme la moyenne des AP sur l’ensemble des classes.

  • mAP@0.5 (ou mAP50) : moyenne des Average Precision (AP) calculées pour un seuil d’IoU fixé à 0.5.
  • mAP@0.5:0.95 (ou mAP50-95) : moyenne des AP calculées pour plusieurs seuils d’IoU allant de 0.5 à 0.95 par pas de 0.05.

Segmentation

La segmentation est une tâche avancée en vision par ordinateur qui consiste à diviser une image en segments significatifs, souvent pour identifier et localiser des objets ou des régions spécifiques. Contrairement à la détection d'objets qui utilise des boîtes englobantes, la segmentation fournit une compréhension plus fine en attribuant une étiquette à chaque pixel de l'image.

L'une des architectures les plus populaires pour la segmentation d'images est U-Net. U-Net repose sur une structure en encodeur-décodeur : la première partie (encodeur) extrait progressivement des caractéristiques de plus en plus abstraites de l'image, tandis que la seconde (décodeur) reconstruit une carte de segmentation détaillée à la résolution d'origine. Des connexions directes (skip connections) relient les couches correspondantes de l'encodeur et du décodeur, permettant de préserver les détails fins.

Pour augmenter la résolution des cartes de caractéristiques lors de la phase de décodage, on utilise souvent la convolution transposée (ou deconvolution). Contrairement à la convolution classique qui réduit la taille spatiale, la convolution transposée permet de "reconstruire" une image plus grande à partir de représentations compactes. Elle apprend à répartir l'information sur une grille plus fine, ce qui est essentiel pour obtenir des segmentations précises à la résolution d'origine.

Depuis U-Net, de nombreuses évolutions ont vu le jour, comme l'intégration de transformers pour mieux capturer le contexte global. Ces variantes visent à améliorer la précision, la robustesse et l'efficacité de la segmentation pour des applications variées (médical, satellite, etc.).