AI-For-Beginners/translations/fr/lessons/4-ComputerVision/11-ObjectDetection
Pikachú 5d34bc4eb8 Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
..
lab Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
README.md Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00

README.md

Détection d'Objets

Les modèles de classification d'images que nous avons abordés jusqu'à présent prenaient une image et produisaient un résultat catégorique, tel que la classe 'nombre' dans un problème MNIST. Cependant, dans de nombreux cas, nous ne voulons pas seulement savoir qu'une image représente des objets - nous voulons pouvoir déterminer leur emplacement précis. C'est exactement le but de la détection d'objets.

Quiz pré-conférence

Détection d'Objets

Image provenant du site web de YOLO v2

Une Approche Naïve à la Détection d'Objets

Supposons que nous voulions trouver un chat sur une image, une approche très naïve de la détection d'objets serait la suivante :

  1. Diviser l'image en un certain nombre de tuiles
  2. Exécuter la classification d'images sur chaque tuile.
  3. Les tuiles qui résultent en une activation suffisamment élevée peuvent être considérées comme contenant l'objet en question.

Détection Naïve d'Objets

Image provenant du Cahier d'Exercices

Cependant, cette approche est loin d'être idéale, car elle ne permet à l'algorithme de localiser la boîte englobante de l'objet que de manière très imprécise. Pour une localisation plus précise, nous devons exécuter une sorte de régression pour prédire les coordonnées des boîtes englobantes - et pour cela, nous avons besoin de jeux de données spécifiques.

Régression pour la Détection d'Objets

Ce billet de blog propose une excellente introduction douce à la détection de formes.

Jeux de Données pour la Détection d'Objets

Vous pourriez rencontrer les jeux de données suivants pour cette tâche :

  • PASCAL VOC - 20 classes
  • COCO - Objets Communs dans le Contexte. 80 classes, boîtes englobantes et masques de segmentation

COCO

Métriques de Détection d'Objets

Intersection sur Union

Alors que pour la classification d'images il est facile de mesurer la performance de l'algorithme, pour la détection d'objets, nous devons mesurer à la fois la justesse de la classe, ainsi que la précision de la localisation de la boîte englobante inférée. Pour cette dernière, nous utilisons ce qu'on appelle l'Intersection sur Union (IoU), qui mesure à quel point deux boîtes (ou deux zones arbitraires) se chevauchent.

IoU

Figure 2 provenant de ce billet de blog excellent sur l'IoU

L'idée est simple - nous divisons la zone d'intersection entre deux figures par la zone de leur union. Pour deux zones identiques, l'IoU serait de 1, tandis que pour des zones complètement disjointes, il sera de 0. Sinon, il variera de 0 à 1. Nous considérons généralement uniquement les boîtes englobantes pour lesquelles l'IoU dépasse une certaine valeur.

Précision Moyenne

Supposons que nous voulions mesurer à quel point une classe d'objets donnée C est reconnue. Pour le mesurer, nous utilisons les métriques de Précision Moyenne, qui se calculent comme suit :

  1. Considérer que la courbe Précision-Rappel montre l'exactitude en fonction d'une valeur de seuil de détection (de 0 à 1).
  2. En fonction du seuil, nous obtiendrons plus ou moins d'objets détectés dans l'image, et différentes valeurs de précision et de rappel.
  3. La courbe ressemblera à ceci :

Image provenant du NeuroWorkshop

La précision moyenne pour une classe donnée C est la surface sous cette courbe. Plus précisément, l'axe du Rappel est généralement divisé en 10 parties, et la Précision est moyennée sur tous ces points :


AP = {1\over11}\sum_{i=0}^{10}\mbox{Précision}(\mbox{Rappel}={i\over10})

AP et IoU

Nous ne considérerons que les détections pour lesquelles l'IoU est au-dessus d'une certaine valeur. Par exemple, dans le jeu de données PASCAL VOC, on suppose généralement que le \mbox{Seuil IoU} = 0.5, tandis que dans COCO, l'AP est mesurée pour différentes valeurs de \mbox{Seuil IoU}.

Image provenant du NeuroWorkshop

Précision Moyenne - mAP

La principale métrique pour la Détection d'Objets est appelée Précision Moyenne, ou mAP. C'est la valeur de la Précision Moyenne, moyennée sur toutes les classes d'objets, et parfois aussi sur le \mbox{Seuil IoU}. En détail, le processus de calcul de la mAP est décrit dans ce billet de blog), et aussi ici avec des exemples de code.

Différentes Approches de Détection d'Objets

Il existe deux grandes classes d'algorithmes de détection d'objets :

  • Réseaux de Proposition de Régions (R-CNN, Fast R-CNN, Faster R-CNN). L'idée principale est de générer des Régions d'Intérêt (ROI) et d'exécuter un CNN sur celles-ci, à la recherche de l'activation maximale. C'est un peu similaire à l'approche naïve, à l'exception que les ROI sont générées de manière plus intelligente. Un des principaux inconvénients de ces méthodes est qu'elles sont lentes, car nous avons besoin de nombreux passages du classificateur CNN sur l'image.
  • Méthodes à un passage (YOLO, SSD, RetinaNet). Dans ces architectures, nous concevons le réseau pour prédire à la fois les classes et les ROI en un seul passage.

R-CNN : CNN Basé sur les Régions

R-CNN utilise Selective Search pour générer une structure hiérarchique des régions ROI, qui sont ensuite passées à travers des extracteurs de caractéristiques CNN et des classificateurs SVM pour déterminer la classe de l'objet, et une régression linéaire pour déterminer les coordonnées de la boîte englobante. Article Officiel

RCNN

Image provenant de van de Sande et al. ICCV11

RCNN-1

Images provenant de ce blog

F-RCNN - Fast R-CNN

Cette approche est similaire à R-CNN, mais les régions sont définies après que les couches de convolution aient été appliquées.

FRCNN

Image provenant de l'Article Officiel, arXiv, 2015

Faster R-CNN

L'idée principale de cette approche est d'utiliser un réseau de neurones pour prédire les ROI - le soi-disant Réseau de Proposition de Régions. Article, 2016

FasterRCNN

Image provenant de l'article officiel

R-FCN : Réseau Convolutif Entièrement Basé sur les Régions

Cet algorithme est encore plus rapide que Faster R-CNN. L'idée principale est la suivante :

  1. Nous extrayons des caractéristiques en utilisant ResNet-101
  2. Les caractéristiques sont traitées par une Carte de Scores Sensible à la Position. Chaque objet des C classes est divisé en régions de k\times k, et nous formons pour prédire des parties d'objets.
  3. Pour chaque partie des régions de k\times k, tous les réseaux votent pour les classes d'objets, et la classe d'objet avec le maximum de votes est sélectionnée.

image r-fcn

Image provenant de l'article officiel

YOLO - You Only Look Once

YOLO est un algorithme en temps réel à un passage. L'idée principale est la suivante :

  • L'image est divisée en régions de S\times S
  • Pour chaque région, le CNN prédit n objets possibles, les coordonnées de la boîte englobante et la confiance=probabilité * IoU.

YOLO

Image provenant du document officiel

Autres Algorithmes

✍️ Exercices : Détection d'Objets

Poursuivez votre apprentissage dans le notebook suivant :

ObjectDetection.ipynb

Conclusion

Dans cette leçon, vous avez fait un tour d'horizon des différentes manières dont la détection d'objets peut être réalisée !

🚀 Défi

Lisez ces articles et notebooks sur YOLO et essayez-les par vous-même

Quiz post-conférence

Revue & Auto-apprentissage

Devoir : Détection d'Objets

Avertissement :
Ce document a été traduit à l'aide de services de traduction automatique basés sur l'IA. Bien que nous visons à garantir l'exactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour des informations critiques, une traduction professionnelle effectuée par un humain est recommandée. Nous ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction.