Skip to content

YOLOv3, YOLOv3-Ultralytics, et YOLOv3u

Vue d'ensemble

Ce document présente une vue d'ensemble de trois modèles de détection d'objets étroitement liés, à savoir YOLOv3, YOLOv3-Ultralytics, et YOLOv3u.

  1. YOLOv3 : Il s'agit de la troisième version de l'algorithme de détection d'objets You Only Look Once (YOLO). Développé à l'origine par Joseph Redmon, YOLOv3 a amélioré ses prédécesseurs en introduisant des fonctionnalités telles que les prédictions multi-échelles et trois tailles différentes de noyaux de détection.

  2. YOLOv3-Ultralytics: Il s'agit de l'implémentation par Ultralytics du modèle YOLOv3. Il reproduit l'architecture originale de YOLOv3 et offre des fonctionnalités supplémentaires, telles que la prise en charge d'un plus grand nombre de modèles pré-entraînés et des options de personnalisation plus faciles.

  3. YOLOv3u : Il s'agit d'une version mise à jour de YOLOv3-Ultralytics qui incorpore la tête de division sans ancrage et sans objet utilisée dans les modèles YOLOv8 . YOLOv3u conserve la même architecture de colonne vertébrale et de cou que YOLOv3, mais avec la tête de détection mise à jour de YOLOv8.

Ultralytics YOLOv3

Caractéristiques principales

  • YOLOv3: Introduced the use of three different scales for detection, leveraging three different sizes of detection kernels: 13x13, 26x26, and 52x52. This significantly improved detection accuracy for objects of different sizes. Additionally, YOLOv3 added features such as multi-label predictions for each bounding box and a better feature extractor network.

  • YOLOv3-Ultralytics: Ultralytics L'implémentation de YOLOv3 offre les mêmes performances que le modèle original, mais elle est accompagnée d'une prise en charge supplémentaire de plus de modèles pré-entraînés, de méthodes d'entraînement supplémentaires et d'options de personnalisation plus faciles. Cela le rend plus polyvalent et plus convivial pour les applications pratiques.

  • YOLOv3u : Ce modèle mis à jour incorpore la tête de division sans ancrage et sans objet de YOLOv8. En éliminant le besoin de boîtes d'ancrage et de scores d'objectivité prédéfinis, cette conception de tête de détection peut améliorer la capacité du modèle à détecter des objets de tailles et de formes variées. YOLOv3u est ainsi plus robuste et plus précis pour les tâches de détection d'objets.

Tâches et modes pris en charge

La série YOLOv3, qui comprend YOLOv3, YOLOv3-Ultralytics, et YOLOv3u, est conçue spécifiquement pour les tâches de détection d'objets. Ces modèles sont réputés pour leur efficacité dans divers scénarios du monde réel, en conciliant précision et rapidité. Chaque variante offre des caractéristiques et des optimisations uniques, ce qui les rend adaptées à toute une série d'applications.

All three models support a comprehensive set of modes, ensuring versatility in various stages of model deployment and development. These modes include Inference, Validation, Training, and Export, providing users with a complete toolkit for effective object detection.

Type de modèleTâches prises en chargeInférenceValidationFormationExporter
YOLOv3Détection d'objets
YOLOv3-UltralyticsDétection d'objets
YOLOv3uDétection d'objets

Ce tableau donne un aperçu des capacités de chaque variante de YOLOv3, en soulignant leur polyvalence et leur adéquation à diverses tâches et modes opérationnels dans les flux de travail de détection d'objets.

Exemples d'utilisation

Cet exemple fournit des exemples simples de formation et d'inférence de YOLOv3. Pour une documentation complète sur ces modes et d'autres , voir les pages Predict, Train, Val et Export docs.

Exemple

PyTorch pretrained *.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 YOLOv3n model
model = YOLO("yolov3n.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 YOLOv3n 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 YOLOv3n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640

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

Citations et remerciements

Si tu utilises YOLOv3 dans tes recherches, merci de citer les articles originaux YOLO et le dépôt Ultralytics YOLOv3 :

@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Merci à Joseph Redmon et Ali Farhadi pour avoir développé le YOLOv3 original.

FAQ

Quelles sont les différences entre YOLOv3, YOLOv3-Ultralytics et YOLOv3u ?

YOLOv3 is the third iteration of the YOLO (You Only Look Once) object detection algorithm developed by Joseph Redmon, known for its balance of accuracy and speed, utilizing three different scales (13x13, 26x26, and 52x52) for detections. YOLOv3-Ultralytics is Ultralytics' adaptation of YOLOv3 that adds support for more pre-trained models and facilitates easier model customization. YOLOv3u is an upgraded variant of YOLOv3-Ultralytics, integrating the anchor-free, objectness-free split head from YOLOv8, improving detection robustness and accuracy for various object sizes. For more details on the variants, refer to the YOLOv3 series.

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

La formation d'un modèle YOLOv3 à l'aide de Ultralytics est très simple. Tu peux entraîner le modèle en utilisant Python ou CLI:

Exemple

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# 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 YOLOv3n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640

Pour des options de formation et des directives plus complètes, visite notre documentation sur le mode de formation.

Qu'est-ce qui rend YOLOv3u plus précis pour les tâches de détection d'objets ?

YOLOv3u améliore YOLOv3 et YOLOv3-Ultralytics en incorporant la tête fendue sans ancrage et sans objet utilisée dans les modèles YOLOv8 . Cette amélioration élimine le besoin de boîtes d'ancrage et de scores d'objectivité prédéfinis, améliorant ainsi sa capacité à détecter avec plus de précision des objets de tailles et de formes variées. Cela fait de YOLOv3u un meilleur choix pour les tâches de détection d'objets complexes et diversifiées. Pour plus d'informations, reporte-toi à la section Pourquoi YOLOv3u.

Comment puis-je utiliser les modèles YOLOv3 pour l'inférence ?

Tu peux effectuer une inférence à l'aide des modèles YOLOv3 en utilisant les scripts Python ou les commandes CLI :

Exemple

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# Run inference with the YOLOv3n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
# Load a COCO-pretrained YOLOv3n model and run inference on the 'bus.jpg' image
yolo predict model=yolov3n.pt source=path/to/bus.jpg

Reporte-toi à la documentation du mode Inférence pour plus de détails sur l'exécution des modèles YOLO .

Quelles sont les tâches prises en charge par YOLOv3 et ses variantes ?

YOLOv3, YOLOv3-Ultralytics, et YOLOv3u prennent principalement en charge les tâches de détection d'objets. Ces modèles peuvent être utilisés à différentes étapes du déploiement et du développement des modèles, telles que l'inférence, la validation, la formation et l'exportation. Pour obtenir un ensemble complet de tâches prises en charge et des détails plus approfondis, consulte notre documentation sur les tâches de détection d'objets.

Où puis-je trouver des ressources pour citer YOLOv3 dans mes recherches ?

Si tu utilises YOLOv3 dans tes recherches, merci de citer les articles originaux YOLO et le dépôt Ultralytics YOLOv3. Exemple de citation BibTeX :

@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Pour plus de détails sur les citations, reporte-toi à la section Citations et remerciements.

📅 Created 11 months ago ✏️ Updated 28 days ago

Commentaires