Learn AI with Python · Leçon

Détection d’objets avec YOLOv8

YOLO d’ultralytics, model.predict(), boîtes englobantes, filtrage selon la confiance, entraînement personnalisé.

Leçon 4 sur 413 étapes

Détection d’objets avec YOLOv8 est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Classification ou détection

La classification d'une image indique ce qu'elle contient. La détection d'objets va plus loin : elle détermine où se trouve chaque objet, en dessinant des cadres englobants et des étiquettes. YOLO est le détecteur en temps réel le plus populaire.

Qu'est-ce que YOLO ?

YOLO (Vous ne regardez qu'une fois) détecte tous les objets en un seul passage avant, ce qui le rend assez rapide pour la vidéo. YOLOv8, développé par Ultralytics, propose une interface Python claire pour l'inférence et l'entraînement.

pip install ultralytics

Charger un modèle préentraîné

Importez YOLO et chargez un point de contrôle. yolov8n.pt est le modèle nano : compact et rapide. Les variantes plus grandes (s, m, l, x) offrent un compromis entre vitesse et précision. Les poids sont téléchargés automatiquement lors de la première utilisation.

from ultralytics import YOLO

model = YOLO("yolov8n.pt")

Exécuter l'inférence

Appelez model.predict (ou simplement model(image)) sur un chemin d'image, une URL ou un tableau. La fonction renvoie une liste de résultats, un par image d'entrée.

results = model.predict("street.jpg", conf=0.5)

Le seuil de conf

Le paramètre conf définit le niveau minimal de confiance requis pour conserver une détection. Augmentez-le pour supprimer les cadres incertains (moins de faux positifs) ; diminuez-le pour détecter davantage d'objets, au risque d'ajouter du bruit.

results = model.predict("street.jpg", conf=0.25)  # more detections
results = model.predict("street.jpg", conf=0.7)   # only confident ones

Lire les cadres

Chaque résultat possède un objet boxes. boxes.xyxy fournit les coins du cadre englobant sous la forme [x1, y1, x2, y2] (coordonnées en pixels du coin supérieur gauche et du coin inférieur droit).

r = results[0]
print(r.boxes.xyxy)  # tensor of [x1, y1, x2, y2] rows

Classes et confiance

En plus des cadres, vous obtenez boxes.cls (indices des classes) et boxes.conf (scores de confiance). Associez les indices aux noms avec model.names.

for box in r.boxes:
    cls_id = int(box.cls)
    conf = float(box.conf)
    name = model.names[cls_id]
    print(name, round(conf, 2))

Visualiser les résultats

results[0].plot() renvoie un tableau d'images annoté, sur lequel sont dessinés les cadres et les étiquettes, prêt à être affiché ou enregistré. C'est très pratique pour vérifier rapidement les détections.

annotated = results[0].plot()

import cv2
cv2.imwrite("output.jpg", annotated)

Détecter dans une vidéo

Transmettez un fichier vidéo ou un indice de webcam, et YOLO traite chaque image. Avec stream=True, il renvoie les résultats image par image, ce qui limite la mémoire utilisée pour les longues vidéos.

for result in model.predict("clip.mp4", stream=True):
    boxes = result.boxes
    # process each frame

Entraînement personnalisé

Pour détecter vos propres classes d'objets, entraînez le modèle sur un jeu de données annoté décrit par un fichier YAML. Appelez model.train avec la configuration des données, le nombre d'époques et la taille des images. YOLO affine les poids préentraînés.

model = YOLO("yolov8n.pt")
model.train(
    data="my_dataset.yaml",
    epochs=50,
    imgsz=640
)

Le fichier YAML des données

Le fichier YAML du jeu de données répertorie les dossiers d'images d'entraînement et de validation, ainsi que les noms des classes. YOLO attend que chaque image ait un fichier d'étiquettes correspondant, contenant pour chaque objet les coordonnées normalisées de son cadre.

# my_dataset.yaml
# train: images/train
# val: images/val
# names:
#   0: helmet
#   1: vest

Vérification rapide

Vérifiez vos connaissances sur YOLOv8.

Récapitulatif : détection d'objets avec YOLOv8

Vous avez chargé un détecteur préentraîné avec YOLO("yolov8n.pt"), exécuté model.predict(img, conf=0.5) et lu les détections dans results[0].boxes.xyxy, .cls et .conf. Vous avez visualisé les résultats avec results[0].plot() et affiné le modèle sur des classes personnalisées via model.train avec un fichier YAML de données.

Gratuit pour commencer

Apprends Python avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
53
Leçons
225

Questions Fréquemment Posées

La leçon « Détection d’objets avec YOLOv8 » est-elle gratuite ?

Oui — le texte complet de « Détection d’objets avec YOLOv8 » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Détection d’objets avec YOLOv8 » ?

YOLO d’ultralytics, model.predict(), boîtes englobantes, filtrage selon la confiance, entraînement personnalisé. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Détection d’objets avec YOLOv8 » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Tenseurs PyTorch et Autograd
  2. Jeux de données et DataLoaders personnalisés
  3. Créer et entraîner des CNN avec PyTorch
  4. Détection d’objets avec YOLOv8
← Retour à Learn AI with Python