Résumé de section

  • Une fois l'entraînement terminé, l'intégration du modèle dépend de votre environnement de déploiement.

    1. Exportation du modèle (environnements non-Python) : si votre application ne repose pas sur Python, il est nécessaire d'exporter le modèle (initialement au format PyTorch .pt) vers un format optimisé pour votre matériel cible (ex. : TensorRT pour GPU, CoreML pour iOS, TFLite pour mobile). Cette conversion améliore significativement la vitesse d'inférence et réduit la consommation de ressources. La liste complète des formats supportés et les arguments d'exportation sont disponibles dans la documentation officielle d'Ultralytics.

    2. Utilisation en environnement Python : si vous restez dans l'environnement Python utilisé pour l'entraînement, le chargement et l'exécution sont directs :

    from ultralytics import YOLO 

    model = YOLO("best.pt") # Charger le meilleur modèle

    results = model.predict(source="chemin_vers_votre_image/image.jpg", conf=0.25) # N'oubliez pas de spécifier le seuil de confiance optimal ici

                     

    3. Exploitation des résultats : l'objet results contient les détections sous la forme d'une liste d'objets boxes. Pour chaque objet détecté, vous pouvez extraire :

    • Coordonnées : Via xyxy (coins haut-gauche/bas-droite) ou xywh (centre/largeur/hauteur), ainsi que leurs versions normalisées (xyxynxywhn).
    • Confiance : Via l'attribut conf (score de probabilité entre 0 et 1).
    • Classe : Via l'attribut cls (index correspondant aux catégories définies dans votre fichier data.yaml).
    • Suivi : Via l'attribut id si la méthode model.track() a été utilisée.

         

    Exemple d'itération sur les détections :

    results = model("image.jpg")

    for r in results: # itère sur chaque objet détecté dans l'image

    print(r.boxes.xyxy) # coordonnées des coins (haut gauche/bas droit)

    print(r.boxes.xywh) # coordonnées du centre et de la taille de la boîte avec w ("width") : la largeur et h ("height") : la hauteur

    print(r.boxes.conf) # scores de confiance

    print(r.boxes.cls) # index de la classe

             

    Ces données structurées peuvent ensuite être intégrées directement dans votre logique métier pour des calculs ultérieurs ou des actions automatisées.