TEED
TEED (Tiny and Efficient Edge Detector) est un petit réseau convolutionnel qui prédit une carte dense de probabilité des contours à partir d'une image RGB. LibreYOLO encapsule son architecture uniquement pour la détection de contours ; aucun checkpoint n'est fourni avec la bibliothèque.
- Tâches
- edge
- Tailles
- t at 352 px
- Installer
pip install libreyolo- Niveau de support
- Inférence uniquement, depuis v. Prédiction, validation et export uniquement. Les fonctionnalités d'entraînement ne s'appliquent pas.
- Licences
- Code MIT, poids MIT. Usage commercial
Installer
TEED ne nécessite aucun extra facultatif. Tous ses imports sont inclus dans l'installation de base.
pip install libreyoloPrédire
LibreYOLO ne fournit aucun checkpoint TEED. Les poids publiés officiellement
sont entraînés sur BIPED, dont les conditions publiées limitent l'utilisation
à des fins non commerciales. LibreYOLO ne les réplique donc pas. Convertissez
un checkpoint que vous êtes autorisé à utiliser avec
weights/convert_teed_weights.py, qui vérifie les clés des tenseurs par
rapport à l'architecture du runtime avant d'écrire un fichier directement
chargeable par LibreYOLO\u00a0:
python weights/convert_teed_weights.py upstream.pth weights/LibreTEEDt-edge.pt --verifyfrom libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("weights/LibreTEEDt-edge.pt")result = model(SAMPLE_IMAGE, save=True) edges = result.edgesprint(edges.array.shape) # (H, W) float32 dans [0, 1]print(edges.binary(0.5).sum()) # nombre de pixels de contour après seuillagelibreyolo predict model=weights/LibreTEEDt-edge.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Trueresult.edges contient le résultat\u00a0: un tableau float32 (H, W) dans
[0, 1], dont .binary(threshold) renvoie un masque booléen des contours. Il
n'y a aucune bounding box, donc conf, iou et max_det n'ont aucun effet.
Consultez la prédiction pour les sources, le streaming et la
gestion des résultats.
Variantes
LibreYOLO fournit une seule taille de TEED. Le banc de benchmark de LibreYOLO n'a pas mesuré cette famille, aucune valeur publiée ne permet donc de la comparer aux autres.
Valider
val() rapporte les mesures F ODS et OIS de type BSDS sur un dataset de
contours apparié\u00a0: les images sont placées à côté de cartes de contours de
même nom de base, avec un masque de validité facultatif pour que les pixels de
remplissage ne soient jamais comptés. imgsz doit être divisible par le
stride de sous-échantillonnage du réseau. LibreYOLO lève une erreur explicite
si ce n'est pas le cas.
from libreyolo import LibreYOLO model = LibreYOLO("weights/LibreTEEDt-edge.pt")metrics = model.val(data="my-dataset.yaml", imgsz=352) print(metrics["metrics/ODS"]) # mesure F optimale à l'échelle du datasetprint(metrics["metrics/OIS"]) # mesure F optimale à l'échelle de l'imagelibreyolo val model=weights/LibreTEEDt-edge.pt data=my-dataset.yaml imgsz=352Exporter
| Tâche | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| edge | edge to ONNX : pris en charge | edge to TorchScript : pris en charge | edge to ExecuTorch : pris en charge | edge to TensorRT : pris en charge | edge to OpenVINO : pris en charge | edge to Paddle : non pris en charge | edge to MNN : non pris en charge | edge to RKNN : non pris en charge | edge to ncnn : non pris en charge | edge to TFLite : pris en charge | edge to CoreML : non pris en charge | edge to Core AI : non pris en charge |
L'export des contours suit un contrat de runtime à résolution fixe et avec un
batch de 1\u00a0: dynamic et toute valeur de batch autre que 1 sont rejetés, et
le graphe exporté produit une seule carte de probabilités fusionnée. Un
artefact exporté se recharge dans LibreYOLO() grâce au suffixe de son
fichier. Un fichier .onnx se comporte donc comme un checkpoint et renvoie
les mêmes Results.
from libreyolo import LibreYOLO model = LibreYOLO("weights/LibreTEEDt-edge.pt")model.export(format="onnx", imgsz=352)model.export(format="tensorrt", imgsz=352, half=True)libreyolo export model=weights/LibreTEEDt-edge.pt format=onnx imgsz=352libreyolo export model=weights/LibreTEEDt-edge.pt format=tensorrt imgsz=352 half=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("weights/LibreTEEDt-edge.onnx")result = model(SAMPLE_IMAGE) print(result.edges.array.shape)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
- TEED, Xavier Soria
- Licence du projet d'origine
- MIT
- Source du projet d'origine
- github.com/xavysp/TEED
- Code de LibreYOLO
- MIT
- Poids
- MIT, distribués par leurs auteurs. LibreYOLO ne les héberge pas et n'en fournit pas de miroir.
- Interprétation
- MIT is a permissive license, so the TEED architecture LibreYOLO ports can be used in commercial and closed-source products, with the license text and copyright notice kept alongside any copy you redistribute. LibreYOLO ships no checkpoint for this family: the officially released weights are trained on BIPED, whose published dataset terms restrict use to non-commercial purposes, and mirroring them would carry that restriction into a nominally MIT-licensed download. Convert a checkpoint you hold a license for with `weights/convert_teed_weights.py`; the MIT code license does not change the terms attached to whatever checkpoint you convert.
LibreYOLO ne publie aucun checkpoint TEED. Rien n'est répliqué sous
l'organisation LibreYOLO\u00a0; convertissez plutôt un checkpoint pour lequel vous
possédez une licence avec weights/convert_teed_weights.py.
Citation
@InProceedings{Soria_2023teed,
author = {Soria, Xavier and Li, Yachuan and Rouhani, Mohammad and Sappa, Angel D.},
title = {Tiny and Efficient Model for the Edge Detection Generalization},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV) Workshops},
month = {October},
year = {2023},
pages = {1364-1373}
}Copié depuis le bloc de citation des auteurs sur github.com/xavysp/TEED#citation.