Skip to content

YOLOv3 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. 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 actualisée de YOLOv8.

Ultralytics YOLOv3

Caractéristiques principales

  • YOLOv3 : Introduction de l'utilisation de trois Ă©chelles diffĂ©rentes pour la dĂ©tection, tirant parti de trois tailles diffĂ©rentes de noyaux de dĂ©tection : 13x13, 26x26 et 52x52. Cela a permis d'amĂ©liorer considĂ©rablement la prĂ©cision de la dĂ©tection pour les objets de diffĂ©rentes tailles. En outre, YOLOv3 a ajoutĂ© des fonctionnalitĂ©s telles que les prĂ©dictions multi-labels pour chaque boĂ®te de dĂ©limitation et un meilleur rĂ©seau d'extraction de caractĂ©ristiques.

  • YOLOv3u : Ce modèle mis Ă  jour intègre la tĂŞte de dĂ©tection 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 diffĂ©rentes. 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

YOLOv3 est conçu spécifiquement pour les tâches de détection d'objets. Ultralytics prend en charge trois variantes de YOLOv3 : yolov3u, yolov3-tinyu et yolov3-sppu. Les u dans le nom signifie qu'ils utilisent la tête sans ancrage de YOLOv8, contrairement à leur architecture originale qui est basée sur l'ancrage. Ces modèles sont réputés pour leur efficacité dans divers scénarios du monde réel, équilibrant précision et rapidité. Chaque variante offre des caractéristiques et des optimisations uniques, ce qui les rend adaptés à un large éventail d'applications.

Les trois modèles prennent en charge un ensemble complet de modes, garantissant la polyvalence à différents stades du déploiement et du développement du modèle. Ces modes comprennent l'inférence, la validation, l'entraînement et l'exportation, offrant aux utilisateurs une boîte à outils complète pour une détection efficace des objets.

Type de modèle Poids pré-entraînés Tâches prises en charge Inférence Validation Formation Exportation
YOLOv3(u) yolov3u.pt DĂ©tection d'objets âś… âś… âś… âś…
YOLOv3-Tiny(u) yolov3-tinyu.pt DĂ©tection d'objets âś… âś… âś… âś…
YOLOv3u-SPP(u) yolov3-sppu.pt DĂ©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 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 YOLOv3u model
model = YOLO("yolov3u.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 YOLOv3u 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 YOLOv3u model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3u.pt data=coco8.yaml epochs=100 imgsz=640

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

Citations et remerciements

Si vous utilisez YOLOv3 dans votre recherche, veuillez 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 le développement de l'original YOLOv3.

FAQ

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

YOLOv3 est la troisième itération de l'algorithme de détection d'objets YOLO (You Only Look Once) développé par Joseph Redmon, connu pour son équilibre entre précision et rapidité, utilisant trois échelles différentes (13x13, 26x26 et 52x52) pour les détections. YOLOv3-Ultralytics est une adaptation de Ultralytics' de YOLOv3 qui prend en charge un plus grand nombre de modèles pré-entraînés et facilite la personnalisation des modèles. YOLOv3u est une variante améliorée de YOLOv3-Ultralytics, qui intègre la tête de division sans ancrage et sans objet de YOLOv8, améliorant la robustesse et la précision de la détection pour différentes tailles d'objets. Pour plus de détails sur les variantes, voir la série YOLOv3.

Comment puis-je entraîner un modèle YOLOv3 en utilisant Ultralytics?

L'entraînement d'un modèle YOLOv3 avec Ultralytics est simple. Vous pouvez entraîner le modèle en utilisant Python ou CLI:

Exemple

from ultralytics import YOLO

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

Pour des options de formation et des lignes directrices plus complètes, consultez 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 prédéfinies et de scores d'objectivité, améliorant ainsi sa capacité à détecter avec plus de précision des objets de tailles et de formes différentes. YOLOv3u constitue ainsi un meilleur choix pour les tâches de détection d'objets complexes et diversifiées. Pour plus d'informations, consultez la section Pourquoi YOLOv3u.

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

Vous pouvez effectuer l'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 YOLOv3u model
model = YOLO("yolov3u.pt")

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

Reportez-vous à 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-Tiny et YOLOv3-SPP prennent principalement en charge les tâches de détection d'objets. Ces modèles peuvent être utilisés à différents stades du déploiement et du développement de modèles, tels que l'inférence, la validation, l'entraînement et l'exportation. Pour obtenir un ensemble complet de tâches prises en charge et des détails plus approfondis, consultez notre documentation sur les tâches de détection d'objets.

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

Si vous utilisez YOLOv3 dans votre recherche, veuillez 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, voir la section Citations et remerciements.

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

Commentaires