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.
-
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.
-
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.
-
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.
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. De plus, 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.
-
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.
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 | Tâches prises en charge | Inférence | Validation | Formation | Exporter |
---|---|---|---|---|---|
YOLOv3 | DĂ©tection d'objets | âś… | âś… | âś… | âś… |
YOLOv3-Ultralytics | DĂ©tection d'objets | âś… | âś… | âś… | âś… |
YOLOv3u | 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 Ă 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 :
Citations et remerciements
Si tu utilises YOLOv3 dans tes recherches, merci de citer les articles originaux YOLO et le dépôt Ultralytics YOLOv3 :
Merci à Joseph Redmon et Ali Farhadi pour avoir développé le YOLOv3 original.