YOLOv3

YOLOv3 est le détecteur Darknet-53 qui a ajouté la prédiction multi-échelle et des classificateurs logistiques indépendants à la lignée YOLO. LibreYOLO le conserve comme pièce historique figée, réservée à l'inférence, dans les tailles tiny, base et SPP.

Tâches
detection
Tailles
t, b, spp at 416 to 608 px
Installer
pip install libreyolo
Niveau de support
Musée, depuis v. Pièce figée. Corrections de bugs uniquement.
Origine
YOLOv3 par Joseph Redmon, Public domain (Darknet "YOLO LICENSE"). Article, source
Licences
Code MIT, poids Public domain (Darknet "YOLO LICENSE"). Usage commercial

Installer

YOLOv3 ne nécessite aucun extra au-delà du package de base.

bash
pip install libreyolo

Prédire

Cette famille est réservée à l'inférence\u00a0: train() lève NotImplementedError, cette page ne comporte donc aucune section Entraîner. La prédiction, la validation et l'export sont tous pris en charge. Les poids sont téléchargés depuis Hugging Face à la première utilisation et mis en cache localement.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreYOLO3b.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
CLI
libreyolo predict model=LibreYOLO3b.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True
Taille SPP
from libreyolo import LibreYOLO, SAMPLE_IMAGE # La variante SPP ajoute un bloc de spatial pyramid pooling avant les# têtes de détection et s'exécute à sa propre taille d'entrée native.model = LibreYOLO("LibreYOLO3spp.pt")result = model(SAMPLE_IMAGE)

L'objet Results renvoyé est celui de toutes les familles, le remplacement du détecteur ne demande donc de modifier qu'une ligne. conf filtre selon le seuil de confiance et iou selon le seuil de NMS, appliqués par échelle avant de fusionner les bounding boxes des trois têtes. Consultez la prédiction pour les sources, le streaming et la gestion des résultats.

Valider

val() renvoie un dictionnaire de clés metrics/ couvrant la précision, le rappel, la mAP 50 et la mAP 50-95, mesurés sur tout dataset au format utilisé pour la validation.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLO3b.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])
CLI
libreyolo val model=LibreYOLO3b.pt data=my-dataset.yaml

Exporter

TâcheONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
DetectionDetection to ONNX : pris en chargeDetection to TorchScript : pris en chargeDetection to ExecuTorch : pris en chargeDetection to TensorRT : pris en chargeDetection to OpenVINO : pris en chargeDetection to Paddle : non pris en chargeDetection to MNN : non pris en chargeDetection to RKNN : non pris en chargeDetection to ncnn : pris en chargeDetection to TFLite : non pris en chargeDetection to CoreML : non pris en chargeDetection to Core AI : pris en charge

Un artefact exporté se recharge dans LibreYOLO() grâce au suffixe de son fichier. Un fichier .onnx ou .engine se comporte donc comme un checkpoint et renvoie les mêmes Results. Vous pouvez également exécuter le graphe dans un runtime nu, sans installer LibreYOLO, mais vous devez alors écrire vous-même le prétraitement et le post-traitement.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLO3b.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreYOLO3b.pt format=onnxlibreyolo export model=LibreYOLO3b.pt format=tensorrt half=True
Utiliser le fichier exporté
from libreyolo import LibreYOLO, SAMPLE_IMAGE # La fabrique détermine le chemin selon le suffixe du fichier ; un artefact exporté se charge# donc comme tout checkpoint et renvoie le même objet Results.model = LibreYOLO("LibreYOLO3b.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)

Checkpoints

Tous les fichiers de poids publiés pour cette famille.

FichierEntrée (px)Licence des poids
Detection
LibreYOLO3t.pt416other
LibreYOLO3b.pt416other
LibreYOLO3spp.pt608other

Tous les fichiers ci-dessus sont actuellement disponibles dans l<link>organisation LibreYOLO</link> et sont téléchargés à la première utilisation.

Licence

Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.

Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.

Travail d'origine
YOLOv3, Joseph Redmon
Licence du projet d'origine
Public domain (Darknet "YOLO LICENSE")
Source du projet d'origine
github.com/pjreddie/darknet
Code de LibreYOLO
MIT
Poids
Public domain (Darknet "YOLO LICENSE"), republiés sur huggingface.co/LibreYOLO
Interprétation
Darknet's bundled NOTICE quotes its own license in full: "Darknet is public domain. Do whatever you want with it." That covers both the architecture and the pretrained weights LibreYOLO converts from it, with no attribution requirement and no restriction on commercial use. LibreYOLO's own code around this architecture is MIT.

Vérifié avec LibreYOLO v1.5.0. Les tableaux de support, les checkpoints et les chiffres de benchmark de cette page sont générés à partir de la bibliothèque publiée et des poids publiés, et non rédigés à la main.