Skip to content

Ultralytics YOLOv5

Vue d'ensemble

YOLOv5u représente une avancée dans les méthodologies de détection d'objets. Issu de l'architecture fondamentale du modèle développé par , YOLOv5u intègre la tête divisée sans ancrage et sans objet. YOLOv5 développé par Ultralytics, YOLOv5u intègre la tête divisée sans ancrage et sans objet, une caractéristique introduite précédemment 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 à la fois dans la recherche et dans les applications pratiques.

Ultralytics YOLOv5

Caractéristiques principales

  • Tête fendue sans ancrage Ultralytics Head : 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 faire de compromis sur la précision. Cette caractéristique est particulièrement précieuse pour les applications qui exigent des réponses rapides, comme 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 tu te concentres sur l'inférence, la validation ou l'entraînement, il y a un modèle sur mesure qui t'attend. Cette variété garantit que tu n'utilises pas simplement une solution unique, mais un modèle spécifiquement adapté à ton 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èlePoids pré-entraînésTâcheInférenceValidationFormationExporter
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6uDé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 garantit que les utilisateurs peuvent 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èleYAMLtaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms
)
Vitesse
A100 TensorRT
(ms
)
params
(M)
FLOPs
(B)
yolov5nu.ptyolov5n.yaml64034.373.61.062.67.7
yolov5su.ptyolov5s.yaml64043.0120.71.279.124.0
yolov5mu.ptyolov5m.yaml64049.0233.91.8625.164.2
yolov5lu.ptyolov5l.yaml64052.2408.42.5053.2135.0
yolov5xu.ptyolov5x.yaml64053.2763.23.8197.2246.4
yolov5n6u.ptyolov5n6.yaml128042.1211.01.834.37.8
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.324.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.265.7
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1137.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.4250.7

Exemples d'utilisation

Cet exemple fournit des exemples simples de formation et d'inférence sur 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 à l'outil 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 Des commandes 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 concentrons sur l'avancement de la technologie et la facilitation de son utilisation, plutôt que sur la production d'une documentation statique. Pour obtenir les informations les plus récentes sur l'architecture, les fonctionnalités et l'utilisation de YOLO , tu peux te référer à notre dépôt GitHub et à notre documentation.

Si tu utilises YOLOv5 ou YOLOv5u dans ta recherche, cite 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}
}

Note 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 des informations plus détaillées sur ses caractéristiques, tu peux te référer à l'aperçuYOLOv5 .

Comment la tête sans ancrage Ultralytics améliore-t-elle les performances de détection des 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 qui peut 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 son architecture, consulte 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, tu peux 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é, consulte la section Tâches et modes pris en charge.

Comment les mesures de performance des modèles YOLOv5u se comparent-elles sur les différentes plateformes ?

Les mesures de performance 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. Les mesures détaillées des performances des différents modèles YOLOv5u se trouvent dans la section Mesures des performances, qui fournit une comparaison complète entre divers appareils.

Comment puis-je entraîner un modèle YOLOv5u à l'aide de l'API Ultralytics Python ?

Tu peux entraîner un modèle YOLOv5u en chargeant un modèle pré-entraîné et en exécutant la commande d'entraînement avec ton 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, visite la section Exemples d'utilisation.

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

Commentaires