TEED
TEED (Tiny and Efficient Edge Detector) є малою згортковою мережею, яка передбачає щільну карту ймовірності країв з одного зображення RGB. LibreYOLO обгортає її архітектуру лише для виявлення країв; контрольна точка не постачається з бібліотекою.
- Задачі
- edge
- Розміри
- t at 352 px
- Встановлення
pip install libreyolo- Рівень підтримки
- Лише інференс, починаючи з v. Лише передбачення, валідація та експорт. Функції навчання не застосовуються.
- Ліцензії
- Код: MIT, ваги: MIT. Комерційне використання
Встановлення
TEED не потребує додаткових залежностей. Усе, що вона імпортує, входить до базового встановлення.
pip install libreyoloПередбачення
LibreYOLO не постачає контрольної точки TEED. Офіційно випущені ваги навчено
на BIPED, опубліковані умови датасету якого обмежують використання
некомерційними цілями, тому LibreYOLO не створює їхнього дзеркала. Перетворіть
контрольну точку, на використання якої маєте ліцензію, за допомогою
weights/convert_teed_weights.py. Скрипт перевіряє ключі тензорів відносно
архітектури середовища виконання, перш ніж записати файл, який LibreYOLO може
завантажити безпосередньо:
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 у діапазоні [0, 1]print(edges.binary(0.5).sum()) # Кількість пікселів країв після порогуванняlibreyolo predict model=weights/LibreTEEDt-edge.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Trueresult.edges містить результат: масив float32 (H, W) у діапазоні
[0, 1]; .binary(threshold) повертає булеву маску країв. Рамок немає,
тому conf, iou і max_det не впливають на результат. Типи джерел,
потокове передбачення та обробку результатів описано в розділі
передбачення.
Варіанти
LibreYOLO постачає TEED в одному розмірі. Засоби бенчмарків LibreYOLO не вимірювали це сімейство, тому опублікованих показників для порівняння немає.
Валідація
val() повідомляє F-міри ODS і OIS у стилі BSDS для парного датасету країв:
зображення поруч із картами країв з однаковою основою назви й необов'язковою
маскою дійсності, щоб доповнені пікселі ніколи не враховувалися. imgsz має
ділитися на крок зменшення мережі, а в іншому разі LibreYOLO показує зрозумілу
помилку.
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-міра в оптимальному масштабі зображенняlibreyolo val model=weights/LibreTEEDt-edge.pt data=my-dataset.yaml imgsz=352Експорт
| Задача | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| edge | edge 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.
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)Ліцензування
Перевіряйте ліцензію в репозиторії 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.