TEED

TEED (Tiny and Efficient Edge Detector) є малою згортковою мережею, яка передбачає щільну карту ймовірності країв з одного зображення RGB. LibreYOLO обгортає її архітектуру лише для виявлення країв; контрольна точка не постачається з бібліотекою.

Задачі
edge
Розміри
t at 352 px
Встановлення
pip install libreyolo
Рівень підтримки
Лише інференс, починаючи з v. Лише передбачення, валідація та експорт. Функції навчання не застосовуються.
Першоджерело
TEED, автори: Xavier Soria, ліцензія MIT. Стаття, джерело
Ліцензії
Код: MIT, ваги: MIT. Комерційне використання

Встановлення

TEED не потребує додаткових залежностей. Усе, що вона імпортує, входить до базового встановлення.

bash
pip install libreyolo

Передбачення

LibreYOLO не постачає контрольної точки TEED. Офіційно випущені ваги навчено на BIPED, опубліковані умови датасету якого обмежують використання некомерційними цілями, тому LibreYOLO не створює їхнього дзеркала. Перетворіть контрольну точку, на використання якої маєте ліцензію, за допомогою weights/convert_teed_weights.py. Скрипт перевіряє ключі тензорів відносно архітектури середовища виконання, перш ніж записати файл, який LibreYOLO може завантажити безпосередньо:

bash
python weights/convert_teed_weights.py upstream.pth weights/LibreTEEDt-edge.pt --verify

Python
from 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 у діапазоні [0, 1]print(edges.binary(0.5).sum())  # Кількість пікселів країв після порогування
CLI
libreyolo predict model=weights/LibreTEEDt-edge.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True

result.edges містить результат: масив float32 (H, W) у діапазоні [0, 1]; .binary(threshold) повертає булеву маску країв. Рамок немає, тому conf, iou і max_det не впливають на результат. Типи джерел, потокове передбачення та обробку результатів описано в розділі передбачення.

Варіанти

LibreYOLO постачає TEED в одному розмірі. Засоби бенчмарків LibreYOLO не вимірювали це сімейство, тому опублікованих показників для порівняння немає.

Валідація

val() повідомляє F-міри ODS і OIS у стилі BSDS для парного датасету країв: зображення поруч із картами країв з однаковою основою назви й необов'язковою маскою дійсності, щоб доповнені пікселі ніколи не враховувалися. imgsz має ділитися на крок зменшення мережі, а в іншому разі LibreYOLO показує зрозумілу помилку.

Python
from libreyolo import LibreYOLO model = LibreYOLO("weights/LibreTEEDt-edge.pt")metrics = model.val(data="my-dataset.yaml", imgsz=352) print(metrics["metrics/ODS"])   # F-міра в оптимальному масштабі датасетуprint(metrics["metrics/OIS"])   # F-міра в оптимальному масштабі зображення
CLI
libreyolo val model=weights/LibreTEEDt-edge.pt data=my-dataset.yaml imgsz=352

Експорт

ЗадачаONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
edgeedge to ONNX: підтримуєтьсяedge to TorchScript: підтримуєтьсяedge to ExecuTorch: підтримуєтьсяedge to TensorRT: підтримуєтьсяedge to OpenVINO: підтримуєтьсяedge to Paddle: не підтримуєтьсяedge to MNN: не підтримуєтьсяedge to RKNN: не підтримуєтьсяedge to ncnn: не підтримуєтьсяedge to TFLite: підтримуєтьсяedge to CoreML: не підтримуєтьсяedge to Core AI: не підтримується

Експорт країв використовує контракт середовища виконання з фіксованою роздільною здатністю та розміром батча 1: dynamic і batch зі значенням, відмінним від 1, відхиляються, а експортований граф виводить одну об'єднану карту ймовірностей. Експортований артефакт знову завантажується через LibreYOLO() відповідно до суфікса файлу, тому файл .onnx поводиться як контрольна точка й повертає той самий об'єкт Results.

Python
from libreyolo import LibreYOLO model = LibreYOLO("weights/LibreTEEDt-edge.pt")model.export(format="onnx", imgsz=352)model.export(format="tensorrt", imgsz=352, half=True)
CLI
libreyolo export model=weights/LibreTEEDt-edge.pt format=onnx imgsz=352libreyolo export model=weights/LibreTEEDt-edge.pt format=tensorrt imgsz=352 half=True
Використання експортованого файлу
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("weights/LibreTEEDt-edge.onnx")result = model(SAMPLE_IMAGE) print(result.edges.array.shape)

Ліцензування

Перевіряйте ліцензію в репозиторії Hugging Face конкретних ваг, які завантажуєте. Кожна контрольна точка в організації LibreYOLO має ліцензію, і вона не завжди однакова для всього сімейства. Цей репозиторій є авторитетним джерелом, а наведене нижче резюме описує умови на момент останньої перевірки сторінки.

Це опис відповідних ліцензій, а не юридична консультація. Якщо відповідь має комерційне значення, самостійно прочитайте ліцензії та зверніться по юридичну консультацію.

Оригінальна робота
TEED, Xavier Soria
Ліцензія першоджерела
MIT
Джерело першоджерела
github.com/xavysp/TEED
Код LibreYOLO
MIT
Ваги
MIT, поширюється авторами. LibreYOLO не розміщує й не дублює ці ваги.
Тлумачення
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 не публікує контрольної точки TEED. Організація LibreYOLO не розміщує жодного дзеркала; натомість перетворіть контрольну точку, на яку маєте ліцензію, за допомогою weights/convert_teed_weights.py.

Цитування

@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}
}

Скопійовано з блоку цитування авторів на сторінці github.com/xavysp/TEED#citation.

Перевірено з LibreYOLO v1.5.0. Таблиці підтримки, контрольні точки й результати бенчмарків на цій сторінці згенеровано з випущеної бібліотеки та опублікованих ваг, а не написано вручну.