YOLO Vision 2026 :

YOLOv3 et YOLOv3u#

Présentation#

Ce document présente un aperçu 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). Initialement développé 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 intègre la tête fractionnée sans ancrage et sans score d'objet utilisée dans les modèles YOLOv8. YOLOv3u conserve la même architecture de backbone et de neck que YOLOv3, mais avec la detection head mise à jour de YOLOv8.

Bannière du modèle de détection d'objets YOLOv3

Fonctionnalités clés#

  • YOLOv3 : A introduit l'utilisation de trois échelles différentes pour la détection, en exploitant trois tailles différentes de noyaux de détection : 13x13, 26x26 et 52x52. Cela a considérablement amélioré la précision de détection pour des objets de différentes tailles. De plus, YOLOv3 a ajouté des fonctionnalités telles que les prédictions multi-libellés pour chaque bounding box et un meilleur réseau extracteur de caractéristiques.

  • YOLOv3u : Ce modèle mis à jour intègre la tête fractionnée sans ancrage et sans score d'objet de YOLOv8. En éliminant le besoin de boîtes d'ancrage prédéfinies et de scores d'objet, cette conception de tête de détection améliore la capacité du modèle à détecter des objets de tailles et de formes variables. Cela rend YOLOv3u 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 object detection. Ultralytics prend en charge trois variantes de YOLOv3 : yolov3u, yolov3-tinyu et yolov3-sppu. Le u dans le nom indique qu'elles utilisent la tête sans ancrage de YOLOv8, contrairement à leur architecture d'origine qui est basée sur des ancrages. Ces modèles sont réputés pour leur efficacité dans divers scénarios du monde réel, équilibrant précision et vitesse. Chaque variante offre des fonctionnalités et des optimisations uniques, ce qui les rend adaptées à toute une gamme d'applications.

Les trois modèles prennent en charge un ensemble complet de modes, garantissant une grande polyvalence à différentes étapes du model deployment et du développement. Ces modes incluent Inference, Validation, Training et Export, offrant aux utilisateurs une boîte à outils complète pour une détection d'objets efficace.

Type de modèlePoids pré-entraînésTâches prises en chargeEntraînementValidationInférenceExporter (Export)
YOLOv3(u)yolov3u.ptDétection d'objets
YOLOv3-Tiny(u)yolov3-tinyu.ptDétection d'objets
YOLOv3u-SPP(u)yolov3-sppu.ptDétection d'objets

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

Exemples d'utilisation#

Cet exemple fournit des exemples simples d'entraînement et d'inférence pour YOLOv3. Pour une documentation complète sur ces derniers et d'autres modes, consulte les pages de documentation Predict, Train, Val et Export.

Exemple

Tu peux passer des modèles pré-entraînés PyTorch au format *.pt ainsi que des fichiers de configuration *.yaml à la classe YOLO() pour créer une instance de modèle en 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")

Citations et remerciements#

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

Citation
@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 d'avoir développé YOLOv3 à l'origine.

FAQ#

  • YOLOv3 est la troisième itération de l'algorithme de object detection YOLO (You Only Look Once) développé par Joseph Redmon, reconnu pour son équilibre entre accuracy et vitesse, utilisant trois échelles différentes (13x13, 26x26 et 52x52) pour les détections. YOLOv3-Ultralytics est l'adaptation par Ultralytics de YOLOv3 qui ajoute la prise en charge de modèles pré-entraînés supplémentaires et facilite la personnalisation des modèles. YOLOv3u est une variante améliorée de YOLOv3-Ultralytics, intégrant la tête fractionnée sans ancrage et sans score d'objet de YOLOv8, ce qui améliore la robustesse et la précision de la détection pour différentes tailles d'objets. Pour plus de détails sur les variantes, consulte la série YOLOv3.

  • L'entraînement d'un modèle YOLOv3 avec Ultralytics est simple. Tu peux entraîner le modèle en utilisant Python ou la 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)

    Pour des options d'entraînement et des directives plus complètes, consulte notre documentation sur le mode Train.

  • YOLOv3u améliore YOLOv3 et YOLOv3-Ultralytics en incorporant la tête fractionnée sans ancrage et sans score d'objet utilisée dans les modèles YOLOv8. Cette mise à niveau élimine le besoin de boîtes d'ancrage prédéfinies et de scores d'objet, améliorant sa capacité à détecter plus précisément des objets de tailles et de formes variables. Cela fait de YOLOv3u un meilleur choix pour les tâches de détection d'objets complexes et diversifiées. Pour plus d'informations, consulte la section Caractéristiques principales.

  • Tu peux effectuer une inférence à l'aide des modèles YOLOv3 par le biais de scripts Python ou de 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")

    Consulte la documentation sur le mode Inference pour plus de détails sur l'exécution des modèles YOLO.

  • 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 pour différentes étapes du déploiement et du développement de modèles, telles que l'inférence, la validation, l'entraînement et l'exportation. Pour un ensemble complet de tâches prises en charge et des détails plus approfondis, visite notre documentation sur les tâches de détection d'objets.

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

    Citation
    @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, consulte la section Citations et remerciements.

Commentaires