4.6 Entraîner et déployer votre propre modèle de vision
Introduction
YOLO26 est la dernière génération de la famille YOLO, conçue pour une vision par IA en temps réel et adaptée à l'edge. Elle est conçue pour être plus rapide, plus légère et plus facile à déployer, tout en offrant une précision élevée pour des tâches telles que la détection d'objets, la segmentation, la classification et l'estimation de pose. Comparée aux modèles YOLO précédents, YOLO26 met davantage l'accent sur le déploiement efficace et l'inférence de bout en bout, ce qui la rend particulièrement adaptée aux dispositifs edge et aux applications pratiques.

Dans ce chapitre, nous présenterons comment entraîner et déployer rapidement votre propre modèle de détection avancé sur reComputer, afin que vous puissiez passer des données à une application IA fonctionnelle dans le monde réel grâce à un flux de travail efficace et moderne.
Expérience rapide
Étape 1 : Définir clairement la tâche
Un projet solide commence par une question claire.
Exemples :
- détecter des casques et des personnes
- détecter des places de parking occupées
- détecter des palettes et des chariots élévateurs
Pour faciliter la démonstration, nous avons fourni un script qui peut nous aider à effectuer l'ensemble du processus, de la collecte de données au déploiement du modèle.
Prérequis : Installez les dépendances requises :
bashpip install ultralytics opencv-python pillow pyyaml
🚀 Essayez-le et exécutez-le vous-même !
cd 4-Computer-Vision/4.6-Train-and-Deploy-Your-Own-Vision-Model/code
python yolo_end_to_end.pyÉtape 2 : Collecter des données
Connectez une caméra à votre appareil, sélectionnez la cible que vous voulez détecter et collectez les images appropriées pour le jeu de données.

Étape 3 : Annoter les données
Pour la détection, annoter signifie généralement dessiner des boîtes englobantes et attribuer des étiquettes de classe.
Utilisez notre outil et faites glisser la souris pour marquer la cible que vous souhaitez détecter.

Étape 4 : Entraîner un modèle
Divisez vos jeux de données et sélectionnez un modèle pré-entraîné à entraîner.
L'ensemble d'entraînement est utilisé pour enseigner au modèle en ajustant ses paramètres. L'ensemble de validation est utilisé pendant le développement pour vérifier la généralisation du modèle, comparer différents paramètres et décider quand arrêter l'entraînement. En bref, le découpage du jeu de données nous aide à entraîner, améliorer et évaluer le modèle de manière fiable.

L'entraînement est l'étape où le modèle apprend à partir du jeu de données et améliore progressivement ses prédictions. En général, nous commençons avec un checkpoint de départ, ce qui signifie utiliser un modèle pré-entraîné plutôt que de partir de zéro. Cela aide le modèle à apprendre plus vite et donne souvent de meilleurs résultats.
Étape 5 : Inférence
Sélectionnez les poids du modèle qui ont été précédemment entraînés et observez ses performances.

Remarque : Si vous voulez que votre modèle soit plus performant, vous devez augmenter votre jeu de données ou effectuer des opérations d'augmentation de données.
Idées reçues fréquentes
- « Une métrique élevée signifie toujours que le modèle est prêt. »
- Les tests en conditions réelles restent nécessaires.
- « Plus de données signifie automatiquement un meilleur modèle. »
- Plus de données n'aide que si elles sont pertinentes et bien étiquetées.
- « Si l'entraînement se termine, le déploiement est facile. »
- Le déploiement introduit des contraintes de vitesse, de mémoire et de système.
Exercices / Réflexion
- Concevez un projet de détection d'objets à deux classes qui pourrait être réalisé par un débutant.
- Listez cinq types de variations de scène que vous voudriez avoir dans le jeu de données.
- Expliquez la différence entre les résultats de validation et les performances réelles en déploiement.
- Après avoir lancé un entraînement, examinez trois cas d'échec et décrivez quel type de données pourrait les corriger.
Configuration de l'environnement
Avant d'entraîner des modèles YOLO, configurez votre environnement Python à l'aide du gestionnaire de paquets uv :
Installer uv
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc
uv --version
Créer l'environnement virtuel
uv venv .yolo --python 3.10.12
source .yolo/bin/activate
python --version

Installer PyTorch (GPU)
uv pip install torch --index-url https://pypi.jetson-ai-lab.io/jp6/cu126
Remarque : Les kits de développement Jetson de Seeed sont livrés avec des environnements préconfigurés. Vérifiez si l'environnement
.yoloexiste déjà avant d'en créer un nouveau.
Installer YOLO26/Ultralytics
uv pip install ultralytics opencv-python pillow pyyamlExemples de tâches YOLO26
YOLO26 prend en charge plusieurs tâches de vision par ordinateur. Voici des exemples pour chacune d'entre elles.
Détection d'objets
Détectez et localisez des objets dans des images ou des vidéos :
cd 4-Computer-Vision/4.6-Train-and-Deploy-Your-Own-Vision-Model/code
python yolo_object_detection.py
Segmentation d'instances
Identifiez les objets au niveau des pixels :
cd 4-Computer-Vision/4.6-Train-and-Deploy-Your-Own-Vision-Model/code
python yolo_instance_segmentation.py
Estimation de pose
Détectez les points clés du corps humain :
cd 4-Computer-Vision/4.6-Train-and-Deploy-Your-Own-Vision-Model/code
python yolo_pose_estimation.py
Classification d'images
Classifiez le sujet principal d'une image :
cd 4-Computer-Vision/4.6-Train-and-Deploy-Your-Own-Vision-Model/code
python yolo_image_classification.py
Détection d'objets orientés (OBB)
Détectez des objets avec des boîtes englobantes orientées :
cd 4-Computer-Vision/4.6-Train-and-Deploy-Your-Own-Vision-Model/code
python yolo_obb_detection.py
Entraînement de modèle
Entraînez un modèle YOLO sur votre jeu de données personnalisé :
cd 4-Computer-Vision/4.6-Train-and-Deploy-Your-Own-Vision-Model/code
python yolo_train.py

Annotation de jeu de données avec Label Studio
Utilisez Label Studio (basé sur Docker) pour annoter vos données d'entraînement :

Résumé
Entraîner un modèle de vision personnalisé n'est pas seulement une question d'exécuter une commande. C'est un processus piloté par les données qui implique la définition de la tâche, l'annotation, l'entraînement, la validation et l'analyse des erreurs. Dans la section suivante, nous passons du premier modèle réussi à l'exportation et au déploiement sur l'edge.
Étape suivante suggérée
Poursuivez avec 4.7 Exportation de modèles et déploiement sur l'edge.