Ultralytics YOLOv5
Vue d'ensemble
YOLOv5u représente une avancée dans les méthodologies de détection d'objets. S'inspirant de l'architecture fondamentale du modèle YOLOv5 développé par Ultralytics, YOLOv5u intègre la tête divisée sans ancrage et sans objet, une caractéristique précédemment introduite dans les modèles de détection d'objets. YOLOv8 modèles. Cette adaptation affine l'architecture du modèle, ce qui permet d'améliorer le compromis précision/vitesse dans les tâches de détection d'objets. Compte tenu des résultats empiriques et de ses caractéristiques dérivées, YOLOv5u constitue une alternative efficace pour ceux qui recherchent des solutions robustes tant dans la recherche que dans les applications pratiques.
Caractéristiques principales
-
Split Ultralytics Head sans ancrage : Les modèles traditionnels de détection d'objets s'appuient sur des boîtes d'ancrage prédéfinies pour prédire l'emplacement des objets. Cependant, YOLOv5u modernise cette approche. En adoptant une tête Ultralytics divisée sans ancrage, il garantit un mécanisme de détection plus souple et plus adaptatif, améliorant ainsi les performances dans divers scénarios.
-
Optimisation du compromis précision-vitesse : la vitesse et la précision vont souvent dans des directions opposées. Mais YOLOv5u remet en question ce compromis. Il offre un équilibre calibré, assurant des détections en temps réel sans compromettre la précision. Cette caractéristique est particulièrement précieuse pour les applications qui exigent des réponses rapides, telles que les véhicules autonomes, la robotique et l'analyse vidéo en temps réel.
-
Variété de modèles pré-entraînés : Comprenant que différentes tâches nécessitent différents ensembles d'outils, YOLOv5u fournit une pléthore de modèles pré-entraînés. Que vous vous concentriez sur l'inférence, la validation ou l'entraînement, un modèle sur mesure vous attend. Cette variété garantit que vous n'utilisez pas une solution unique, mais un modèle spécifiquement adapté à votre défi unique.
Tâches et modes pris en charge
Les modèles YOLOv5u, avec différents poids pré-entraînés, excellent dans les tâches de détection d'objets. Ils prennent en charge une gamme complète de modes, ce qui les rend adaptés à diverses applications, du développement au déploiement.
Type de modèle | Poids pré-entraînés | Tâche | Inférence | Validation | Formation | Exportation |
---|---|---|---|---|---|---|
YOLOv5u | yolov5nu , yolov5su , yolov5mu , yolov5lu , yolov5xu , yolov5n6u , yolov5s6u , yolov5m6u , yolov5l6u , yolov5x6u |
DĂ©tection d'objets | âś… | âś… | âś… | âś… |
Ce tableau fournit un aperçu détaillé des variantes du modèle YOLOv5u, en soulignant leur applicabilité dans les tâches de détection d'objets et la prise en charge de divers modes opérationnels tels que l'inférence, la validation, l'entraînement et l'exportation. Cette prise en charge complète permet aux utilisateurs d'exploiter pleinement les capacités des modèles YOLOv5u dans un large éventail de scénarios de détection d'objets.
Mesures de performance
Performance
Voir Detection Docs pour des exemples d'utilisation de ces modèles formés sur COCO, qui comprennent 80 classes préformées.
Modèle | YAML | taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
yolov5nu.pt | yolov5n.yaml | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 |
yolov5su.pt | yolov5s.yaml | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 |
yolov5mu.pt | yolov5m.yaml | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 |
yolov5lu.pt | yolov5l.yaml | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 |
yolov5xu.pt | yolov5x.yaml | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 |
yolov5n6u.pt | yolov5n6.yaml | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 |
yolov5s6u.pt | yolov5s6.yaml | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 |
yolov5m6u.pt | yolov5m6.yaml | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 |
yolov5l6u.pt | yolov5l6.yaml | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 |
yolov5x6u.pt | yolov5x6.yaml | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 |
Exemples d'utilisation
Cet exemple fournit des exemples simples de formation et d'inférence à l'adresse YOLOv5 . Pour une documentation complète sur ces modes et d'autres, voir les pages Predict, Train, Val et Export docs.
Exemple
PyTorch préformé *.pt
ainsi que la configuration *.yaml
peuvent ĂŞtre transmis Ă la fonction YOLO()
pour créer une instance de modèle dans python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv5n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
CLI sont disponibles pour exécuter directement les modèles :
Citations et remerciements
Ultralytics YOLOv5 Publication
Ultralytics n'a pas publié de document de recherche officiel pour YOLOv5 en raison de la nature rapidement évolutive des modèles. Nous nous attachons à faire progresser la technologie et à faciliter son utilisation, plutôt qu'à produire une documentation statique. Pour obtenir les informations les plus récentes sur l'architecture, les fonctionnalités et l'utilisation de YOLO , veuillez consulter notre dépôt GitHub et notre documentation.
Si vous utilisez YOLOv5 ou YOLOv5u dans votre recherche, veuillez citer le dépôt Ultralytics YOLOv5 comme suit :
Veuillez noter que les modèles YOLOv5 sont fournis sous les licences AGPL-3.0 et Enterprise.
FAQ
Qu'est-ce que Ultralytics YOLOv5u et en quoi diffère-t-il de YOLOv5?
Ultralytics YOLOv5u est une version avancée de YOLOv5, intégrant la tête de division sans ancrage et sans objet qui améliore le compromis précision-vitesse pour les tâches de détection d'objets en temps réel. Contrairement à la version traditionnelle YOLOv5, YOLOv5u adopte un mécanisme de détection sans ancrage, ce qui le rend plus flexible et adaptable à divers scénarios. Pour plus d'informations sur ses caractéristiques, vous pouvez consulter le site YOLOv5 Overview.
Comment la tête sans ancrage Ultralytics améliore-t-elle les performances de détection d'objets dans YOLOv5u ?
La tête Ultralytics sans ancrage de YOLOv5u améliore les performances de la détection d'objets en éliminant la dépendance à l'égard des boîtes d'ancrage prédéfinies. Il en résulte un mécanisme de détection plus souple et plus adaptatif, capable de gérer différentes tailles et formes d'objets avec une plus grande efficacité. Cette amélioration contribue directement à un compromis équilibré entre la précision et la vitesse, ce qui rend YOLOv5u adapté aux applications en temps réel. Pour en savoir plus sur l'architecture de YOLOv5u, consultez la section Caractéristiques principales.
Puis-je utiliser des modèles YOLOv5u pré-entraînés pour différentes tâches et différents modes ?
Oui, vous pouvez utiliser des modèles YOLOv5u pré-entraînés pour diverses tâches telles que la détection d'objets. Ces modèles prennent en charge plusieurs modes, notamment l'inférence, la validation, l'entraînement et l'exportation. Cette flexibilité permet aux utilisateurs d'exploiter les capacités des modèles YOLOv5u pour répondre à différents besoins opérationnels. Pour un aperçu détaillé, consultez la section Tâches et modes pris en charge.
Comment les performances des modèles YOLOv5u sont-elles comparées sur les différentes plateformes ?
Les performances des modèles YOLOv5u varient en fonction de la plateforme et du matériel utilisés. Par exemple, le modèle YOLOv5nu atteint 34,3 mAP sur l'ensemble de données COCO avec une vitesse de 73,6 ms sur CPU (ONNX) et 1,06 ms sur A100 TensorRT. Des mesures de performance détaillées pour les différents modèles YOLOv5u sont disponibles dans la section Mesures de performance, qui fournit une comparaison complète entre les différents appareils.
Comment puis-je entraîner un modèle YOLOv5u à l'aide de l'API Ultralytics Python ?
Vous pouvez entraîner un modèle YOLOv5u en chargeant un modèle pré-entraîné et en exécutant la commande d'entraînement avec votre ensemble de données. Voici un exemple rapide :
Exemple
Pour des instructions plus détaillées, consultez la section Exemples d'utilisation.