YOLOv4
YOLOv4 associe un backbone CSPDarknet-53, un bloc SPP et un neck PANet à des activations Mish. LibreYOLO le conserve comme pièce historique figée, réservée à l'inférence, dans les tailles tiny et base.
- Tâches
- detection
- Tailles
- t, b at 416 to 608 px
- Installer
pip install libreyolo- Niveau de support
- Musée, depuis v. Pièce figée. Corrections de bugs uniquement.
- Licences
- Code MIT, poids Public domain (Darknet "YOLO LICENSE"). Usage commercial
Installer
YOLOv4 ne nécessite aucun extra au-delà du package de base.
pip install libreyoloPré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.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreYOLO4b.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)libreyolo predict model=LibreYOLO4b.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=TrueL'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 après la mise à
l'échelle centrale scale_x_y propre à chaque tête. 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.
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLO4b.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])libreyolo val model=LibreYOLO4b.pt data=my-dataset.yamlExporter
| Tâche | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Detection | Detection to ONNX : pris en charge | Detection to TorchScript : pris en charge | Detection to ExecuTorch : pris en charge | Detection to TensorRT : pris en charge | Detection to OpenVINO : pris en charge | Detection to Paddle : non pris en charge | Detection to MNN : non pris en charge | Detection to RKNN : non pris en charge | Detection to ncnn : pris en charge | Detection to TFLite : non pris en charge | Detection to CoreML : non pris en charge | Detection 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.
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLO4b.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibreYOLO4b.pt format=onnxlibreyolo export model=LibreYOLO4b.pt format=tensorrt half=Truefrom 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("LibreYOLO4b.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)Checkpoints
Tous les fichiers de poids publiés pour cette famille.
| Fichier | Entrée (px) | Licence des poids |
|---|---|---|
| Detection | ||
| LibreYOLO4t.pt | 416 | other |
| LibreYOLO4b.pt | 608 | other |
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
- YOLOv4, Alexey Bochkovskiy
- Licence du projet d'origine
- Public domain (Darknet "YOLO LICENSE")
- Source du projet d'origine
- github.com/AlexeyAB/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.
Citation
@misc{bochkovskiy2020yolov4,
title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
year={2020},
eprint={2004.10934},
archivePrefix={arXiv},
primaryClass={cs.CV}
}Copié depuis le bloc de citation des auteurs sur github.com/AlexeyAB/darknet#citation.