Foire aux questions (FAQ) sur Ultralytics YOLO
Cette section FAQ aborde les questions et problèmes courants que les utilisateurs peuvent rencontrer lorsqu’ils travaillent avec les référentiels Ultralytics YOLO.
FAQ
Qu’est-ce qu’Ultralytics et qu’est-ce qu’il offre ?
Ultralytics est une société d’IA de vision par ordinateur spécialisée dans la détection d’objets et les modèles de segmentation d’images de pointe, en mettant l’accent sur la famille YOLO (You Only Look Once). Leurs offres comprennent :
- Implémentations open source de YOLOv8 et YOLO11
- Une large gamme de modèles pré-entraînés pour diverses tâches de vision par ordinateur
- Un package Python complet pour une intégration transparente des modèles YOLO dans les projets
- Des outils polyvalents pour l’entraînement, les tests et le déploiement de modèles
- Documentation exhaustive et une communauté de soutien
Comment installer le package Ultralytics ?
L’installation du package Ultralytics est simple à l’aide de pip :
pip install ultralytics
Pour la dernière version de développement, installez directement à partir du référentiel GitHub :
pip install git+https://github.com/ultralytics/ultralytics.git
Des instructions d’installation détaillées sont disponibles dans le guide de démarrage rapide.
Quelles sont les exigences système pour exécuter les modèles Ultralytics ?
Exigences minimales :
- Python 3.8+
- PyTorch 1.8+
- GPU compatible CUDA (pour l'accélération GPU)
Configuration recommandée :
- Python 3.8+
- PyTorch 1.10+
- GPU NVIDIA avec CUDA 11.2+
- 8 Go de RAM ou plus
- 50 Go ou plus d'espace disque disponible (pour le stockage des ensembles de données et l'entraînement des modèles)
Pour le dépannage des problèmes courants, consultez la page YOLO Problèmes courants.
Comment puis-je entraîner un modèle YOLO personnalisé sur mon propre jeu de données ?
Pour entraîner un modèle YOLO personnalisé :
- Préparez votre ensemble de données au format YOLO (images et fichiers txt d'étiquettes correspondants).
- Créez un fichier YAML décrivant la structure et les classes de votre ensemble de données.
-
Utilisez le code python suivant pour démarrer l'entraînement :
from ultralytics import YOLO # Load a model model = YOLO("yolov8n.yaml") # build a new model from scratch model = YOLO("yolov8n.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
Pour un guide plus approfondi, incluant la préparation des données et les options d'entraînement avancées, consultez le guide d'entraînement complet.
Quels modèles pré-entraînés sont disponibles dans Ultralytics ?
Ultralytics propose une gamme variée de modèles pré-entraînés pour diverses tâches :
- Détection d'objets : YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x
- Segmentation d'instance : YOLO11n-seg, YOLO11s-seg, YOLO11m-seg, YOLO11l-seg, YOLO11x-seg
- Classification : YOLO11n-cls, YOLO11s-cls, YOLO11m-cls, YOLO11l-cls, YOLO11x-cls
- Estimation de pose : YOLO11n-pose, YOLO11s-pose, YOLO11m-pose, YOLO11l-pose, YOLO11x-pose
Ces modèles varient en taille et en complexité, offrant différents compromis entre la vitesse et la précision. Explorez la gamme complète des modèles pré-entraînés pour trouver celui qui convient le mieux à votre projet.
Comment puis-je effectuer une inférence à l’aide d’un modèle Ultralytics entraîné ?
Pour effectuer une inférence avec un modèle entraîné :
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/your/model.pt")
# Perform inference
results = model("path/to/image.jpg")
# Process results
for r in results:
print(r.boxes) # print bbox predictions
print(r.masks) # print mask predictions
print(r.probs) # print class probabilities
Pour les options d'inférence avancées, y compris le traitement par lots et l'inférence vidéo, consultez le guide de prédiction détaillé.
Les modèles Ultralytics peuvent-ils être déployés sur des appareils périphériques ou dans des environnements de production ?
Absolument ! Les modèles Ultralytics sont conçus pour un déploiement polyvalent sur diverses plateformes :
- Périphériques de périphérie : Optimisez l'inférence sur des périphériques tels que NVIDIA Jetson ou Intel Neural Compute Stick en utilisant TensorRT, ONNX ou OpenVINO.
- Mobile : Déployez sur des appareils Android ou iOS en convertissant les modèles en TFLite ou Core ML.
- Cloud : Tirez parti de frameworks tels que TensorFlow Serving ou PyTorch Serve pour des déploiements cloud évolutifs.
- Web : implémentez l’inférence dans le navigateur à l’aide de ONNX.js ou TensorFlow.js.
Ultralytics fournit des fonctions d’exportation pour convertir les modèles en différents formats pour le déploiement. Explorez la vaste gamme d’options de déploiement pour trouver la meilleure solution pour votre cas d’utilisation.
Quelle est la différence entre YOLOv8 et YOLO11 ?
Les principales distinctions sont les suivantes :
- Architecture : YOLO11 présente une conception améliorée du backbone et de la tête pour des performances accrues.
- Performance : YOLO11 offre généralement une précision et une vitesse supérieures à celles de YOLOv8.
- Efficacité : YOLO11m atteint une précision moyenne (mAP) plus élevée sur l'ensemble de données COCO avec 22 % de paramètres en moins que YOLOv8m.
- Tâches : Les deux modèles prennent en charge la détection d'objets, la segmentation d'instance, la classification et l'estimation de pose dans un cadre unifié.
- Base de code : YOLO11 est implémenté avec une architecture plus modulaire et extensible, ce qui facilite la personnalisation et l’extension.
Pour une comparaison approfondie des fonctionnalités et des mesures de performance, consultez la page de documentation YOLO11.
Comment puis-je contribuer au projet open source Ultralytics ?
Contribuer à Ultralytics est un excellent moyen d’améliorer le projet et d’élargir vos compétences. Voici comment vous pouvez participer :
- Forkez le référentiel Ultralytics sur GitHub.
- Créez une nouvelle branche pour votre fonctionnalité ou correction de bug.
- Effectuez vos modifications et assurez-vous que tous les tests sont réussis.
- Soumettez une demande de tirage avec une description claire de vos modifications.
- Participez au processus d’examen du code.
Vous pouvez également contribuer en signalant des bugs, en suggérant des fonctionnalités ou en améliorant la documentation. Pour obtenir des directives détaillées et des pratiques exemplaires, consultez le guide de contribution.
Comment installer le package Ultralytics dans python ?
L’installation du package Ultralytics dans python est simple. Utilisez pip en exécutant la commande suivante dans votre terminal ou votre invite de commandes :
pip install ultralytics
Pour la version de développement de pointe, installez directement à partir du référentiel GitHub :
pip install git+https://github.com/ultralytics/ultralytics.git
Pour obtenir des instructions d’installation spécifiques à l’environnement et des conseils de dépannage, consultez le guide de démarrage rapide complet.
Quelles sont les principales caractéristiques d’Ultralytics YOLO ?
Ultralytics YOLO offre un ensemble riche de fonctionnalités pour les tâches avancées de vision par ordinateur :
- Détection en temps réel : détectez et classez efficacement les objets dans des scénarios en temps réel.
- Capacités multi-tâches : Effectuez la détection d'objets, la segmentation d'instance, la classification et l'estimation de pose avec un cadre unifié.
- Modèles pré-entraînés : accédez à une variété de modèles pré-entraînés qui équilibrent la vitesse et la précision pour différents cas d’utilisation.
- Formation personnalisée : affinez facilement les modèles sur des ensembles de données personnalisés avec le pipeline de formation flexible.
- Vastes options de déploiement : exportez des modèles vers différents formats tels que TensorRT, ONNX et CoreML pour un déploiement sur différentes plateformes.
- Documentation exhaustive : profitez d’une documentation complète et d’une communauté de soutien pour vous guider tout au long de votre parcours de vision par ordinateur.
Comment puis-je améliorer les performances de mon modèle YOLO ?
L’amélioration des performances de votre modèle YOLO peut être réalisée grâce à plusieurs techniques :
- Réglage des hyperparamètres : Expérimentez avec différents hyperparamètres à l’aide du Guide de réglage des hyperparamètres pour optimiser les performances du modèle.
- Augmentation des données : Mettez en œuvre des techniques telles que le retournement, la mise à l’échelle, la rotation et les ajustements de couleur pour améliorer votre ensemble de données d’entraînement et améliorer la généralisation du modèle.
- Apprentissage par transfert : Tirez parti des modèles pré-entraînés et affinez-les sur votre ensemble de données spécifique à l'aide du guide Train.
- Exporter vers des formats efficaces : Convertissez votre modèle en formats optimisés tels que TensorRT ou ONNX pour une inférence plus rapide à l’aide du guide d’exportation.
- Évaluation comparative : Utilisez le mode d’évaluation comparative pour mesurer et améliorer la vitesse et la précision de l’inférence de manière systématique.
Puis-je déployer des modèles Ultralytics YOLO sur des appareils mobiles et périphériques ?
Oui, les modèles Ultralytics YOLO sont conçus pour un déploiement polyvalent, y compris sur les appareils mobiles et périphériques :
- Mobile : Convertissez les modèles en TFLite ou CoreML pour une intégration transparente dans les applications Android ou iOS. Consultez le Guide d’intégration de TFLite et le Guide d’intégration de CoreML pour obtenir des instructions spécifiques à la plateforme.
- Appareils périphériques : Optimisez l’inférence sur des appareils tels que NVIDIA Jetson ou d’autres matériels périphériques à l’aide de TensorRT ou ONNX. Le Guide d’intégration Edge TPU fournit des étapes détaillées pour le déploiement périphérique.
Pour une vue d’ensemble complète des stratégies de déploiement sur diverses plateformes, consultez le guide des options de déploiement.
Comment puis-je effectuer une inférence à l’aide d’un modèle Ultralytics YOLO entraîné ?
L’exécution de l’inférence avec un modèle Ultralytics YOLO entraîné est simple :
-
Charger le modèle :
from ultralytics import YOLO model = YOLO("path/to/your/model.pt")
-
Exécuter l’inférence :
results = model("path/to/image.jpg") for r in results: print(r.boxes) # print bounding box predictions print(r.masks) # print mask predictions print(r.probs) # print class probabilities
Pour les techniques d’inférence avancées, y compris le traitement par lots, l’inférence vidéo et le prétraitement personnalisé, consultez le guide de prédiction détaillé.
Où puis-je trouver des exemples et des tutoriels pour utiliser Ultralytics ?
Ultralytics fournit une multitude de ressources pour vous aider à démarrer et à maîtriser leurs outils :
- 📚 Documentation officielle : Guides complets, références d’API et meilleures pratiques.
- 💻 Référentiel GitHub : Code source, exemples de scripts et contributions de la communauté.
- ✍️ Blog Ultralytics : Articles approfondis, cas d’utilisation et informations techniques.
- 💬 Forums communautaires : Connectez-vous avec d’autres utilisateurs, posez des questions et partagez vos expériences.
- 🎥 Chaîne YouTube : Tutoriels vidéo, démonstrations et webinaires sur divers sujets Ultralytics.
Ces ressources fournissent des exemples de code, des cas d’utilisation réels et des guides étape par étape pour diverses tâches à l’aide des modèles Ultralytics.
Si vous avez besoin d’aide supplémentaire, n’hésitez pas à consulter la documentation Ultralytics ou à contacter la communauté via GitHub Issues ou le forum de discussion officiel.