À 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.

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.

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.

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.

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.

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
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.

