DexiNed

DexiNed (Dense Extreme Inception Network) є згортковою мережею, яка передбачає щільну карту ймовірності країв з одного зображення RGB. LibreYOLO обгортає її архітектуру лише для виявлення країв; контрольна точка не постачається з бібліотекою.

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

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

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

bash
pip install libreyolo

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

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

bash
python weights/convert_dexined_weights.py upstream.pth weights/LibreDexiNedb-edge.pt --verify

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("weights/LibreDexiNedb-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/LibreDexiNedb-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 постачає DexiNed в одному розмірі. Засоби бенчмарків LibreYOLO не вимірювали це сімейство, тому опублікованих показників для порівняння немає.

Валідація

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

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

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

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

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

Оригінальна робота
DexiNed, Xavier Soria
Ліцензія першоджерела
MIT
Джерело першоджерела
github.com/xavysp/DexiNed
Код LibreYOLO
MIT
Ваги
MIT, поширюється авторами. LibreYOLO не розміщує й не дублює ці ваги.
Тлумачення
MIT is a permissive license, so the DexiNed 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_dexined_weights.py`; the MIT code license does not change the terms attached to whatever checkpoint you convert.

LibreYOLO не публікує контрольної точки DexiNed. Організація LibreYOLO не розміщує жодного дзеркала; натомість перетворіть контрольну точку, на яку маєте ліцензію, за допомогою weights/convert_dexined_weights.py.

Цитування

@INPROCEEDINGS {xsoria2020dexined,
author = {X. Soria and E. Riba and A. Sappa},
booktitle = {2020 IEEE Winter Conference on Applications of Computer Vision (WACV)},
title = {Dense Extreme Inception Network: Towards a Robust CNN Model for Edge Detection},
year = {2020},
volume = {},
issn = {},
pages = {1912-1921},
keywords = {image edge detection;convolution;training;feeds;machine learning;task analysis;kernel},
doi = {10.1109/WACV45572.2020.9093290},
url = {https://doi.ieeecomputersociety.org/10.1109/WACV45572.2020.9093290},
publisher = {IEEE Computer Society},
address = {Los Alamitos, CA, USA},
month = {mar}
}

@article{soria2023dexined_ext,
title = {Dense extreme inception network for edge detection},
journal = {Pattern Recognition},
volume = {139},
pages = {109461},
year = {2023},
issn = {0031-3203},
doi = {https://doi.org/10.1016/j.patcog.2023.109461},
url = {https://www.sciencedirect.com/science/article/pii/S0031320323001619},
author = {Xavier Soria and Angel Sappa and Patricio Humanante and Arash Akbarinia},
keywords = {Edge detection, Deep learning, CNN, Contour detection, Boundary detection, Segmentation}
}

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

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