Ingénierie IAIngénierie IA
Ingénierie IA3 min de lecture

Qu’est-ce que l’algorithme YOLO? Introduction à la détection d’objets en temps réel

YOLO, aussi appelé You Only Look Once, est l’un des algorithmes de détection d’objets en temps réel les plus puissants. Son nom vient du fait que...

Mis à jour le 01 sept. 2021
Qu’est-ce que l’algorithme YOLO? Introduction à la détection d’objets en temps réel
Sommaire

À retenir

  • YOLO est utile parce qu’il transforme la détection d’objets en une seule prédiction rapide sur l’image, ce qui a rendu la détection en temps réel pratique.
  • La vitesse fait les manchettes, mais le véritable test consiste à vérifier si les détections restent fiables malgré les changements d’éclairage, d’échelle, d’occlusion et de caméra.
  • Pour les builders, la détection d’objets est aussi une décision de produit : les faux positifs, les objets manqués, la latence et les contraintes de déploiement comptent tous.

Regardez la vidéo et soutenez-moi sur YouTube!

YOLO, aussi appelé You Only Look Once, est l’un des algorithmes de détection d’objets en temps réel les plus puissants. Son nom vient du fait que, contrairement aux algorithmes précédents comme R-CNN ou sa version améliorée Faster R-CNN, l’image ou la vidéo doit traverser son réseau une seule fois.

Exemple visuel tiré de Qu’est-ce que l’algorithme YOLO? Introduction à la détection d’objets en temps réel

https://www.pyimagesearch.com/2018/11/12/yolo-object-detection-with-opencv/

Ces anciennes méthodes examinaient successivement plusieurs régions de l’image pour y trouver les objets. YOLO a changé cette approche en raisonnant à l’échelle de l’image entière. Pour y arriver, YOLO utilise un seul réseau neuronal qui exploite les caractéristiques de toute l’image afin de prédire plusieurs boîtes, chacune contenant un objet précis. Tout cela se fait simultanément.

Exemple visuel tiré de Qu’est-ce que l’algorithme YOLO? Introduction à la détection d’objets en temps réel

https://www.pyimagesearch.com/2018/11/12/yolo-object-detection-with-opencv/

Pour ce faire, l’image est divisée en régions de taille « S » x « S ». Si le centre d’un objet se trouve dans l’une de ces régions, celle-ci devient responsable de sa détection. Chaque cellule de cette grille doit prédire « B » boîtes contenant chacune un objet, ainsi qu’un score qui représente le niveau de confiance associé à l’objet présent dans la boîte. Si la cellule ne contient aucun objet, ce score devrait être nul. Sinon, le score correspond à l’intersection sur l’union (IoU) entre la boîte prédite et la vérité terrain de l’image.

Exemple visuel tiré de Qu’est-ce que l’algorithme YOLO? Introduction à la détection d’objets en temps réel

https://stackoverflow.com/questions/50575301/yolo-object-detection-how-does-the-algorithm-predict-bounding-boxes-larger-than

Nous avons ensuite besoin des scores de confiance propres à chaque classe pour chaque boîte. Ils sont produits par un réseau neuronal convolutif basé sur le réseau GoogLeNet. L’output de cet algorithme est l’image ou la vidéo fournie en input, avec les objets localisés et la classe associée à chacun.

Exemple visuel tiré de Qu’est-ce que l’algorithme YOLO? Introduction à la détection d’objets en temps réel

https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/

Comme nous l’avons vu, YOLO raisonne à l’échelle de l’image entière au lieu d’examiner successivement plusieurs régions.
Cette approche augmente énormément la vitesse de détection, mais réduit légèrement son exactitude par rapport aux autres méthodes présentées plus tôt. YOLO est actuellement l’un des algorithmes de détection d’objets les plus puissants et les plus utilisés dans de nombreux domaines, comme les véhicules autonomes, la détection de triche au poker et plus encore.

Exemple visuel tiré de Qu’est-ce que l’algorithme YOLO? Introduction à la détection d’objets en temps réel

Si vous voulez en apprendre davantage sur cet algorithme, consultez l’article scientifique lié ci-dessous!


Références

Article original sur YOLO : https://arxiv.org/abs/1506.02640

Article sur YOLOv4 : https://arxiv.org/abs/2004.10934

Code de YOLOv4 : https://github.com/AlexeyAB/darknet

Discussion

Commentaires

Chargement

Aucun compte requis. Votre nom et votre commentaire seront publics, alors n'incluez pas de renseignements privés. Consultez la page de confidentialité pour les détails.

Continuez à apprendre

Vous voulez le côté pratique de l'IA, sans le brouillard marketing ?

Je partage ce qui est utile sur YouTube, Substack et dans mes guides d'ingénierie IA.

FAQ

Qu’est-ce que YOLO en vision par ordinateur?

YOLO, ou You Only Look Once, est une approche de détection d’objets qui prédit les objets et leurs boîtes englobantes à partir d’une image en un seul passage.

Pourquoi YOLO est-il populaire?

YOLO est devenu populaire parce qu’il peut détecter rapidement les objets, ce qui le rend utile pour les applications en temps réel et les déploiements aux ressources limitées.

Qu’est-ce que la détection d’objets?

La détection d’objets trouve où se situent les objets dans une image et détermine la catégorie de chacun, généralement à l’aide de boîtes englobantes.

Que devraient tester les builders avant d’utiliser YOLO?

Testez différents éclairages, tailles d’objets, angles de caméra et niveaux d’occlusion, ainsi que les faux positifs, les détections manquées, la latence et le matériel exact du déploiement.

Comment les débutants devraient-ils apprendre YOLO?

Commencez par comprendre la différence entre classification et détection, puis apprenez les boîtes englobantes, les scores de confiance, la suppression non maximale, les datasets et les métriques d’évaluation.