Skip to content

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.

Ultralytics YOLOv5

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 :

# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv5n model and run inference on the 'bus.jpg' image
yolo predict model=yolov5n.pt source=path/to/bus.jpg

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 :

@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

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

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)
# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

Pour des instructions plus détaillées, consultez la section Exemples d'utilisation.

📅C réé il y a 1 an ✏️ Mis à jour il y a 1 mois

Commentaires