CenterNet

CenterNet моделює об'єкт як центральну точку його обмежувальної рамки й регресує всі інші властивості з піка теплової карти, тому їй не потрібні якорі та етап немаксимального придушення. LibreYOLO постачає її як детектор лише для інференсу.

Задачі
detection
Розміри
resdcn18, dla34 at 512 px
Встановлення
pip install libreyolo
Рівень підтримки
Лише інференс, починаючи з v. Лише передбачення, валідація та експорт. Функції навчання не застосовуються.
Першоджерело
CenterNet, автори: UT Austin and UC Berkeley, ліцензія MIT. Стаття, джерело
Ліцензії
Код: MIT, ваги: MIT. Комерційне використання

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

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

bash
pip install libreyolo

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

Під час першого використання ваги завантажуються з Hugging Face і кешуються локально.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreCenterNetresdcn18.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
CLI
libreyolo predict model=LibreCenterNetresdcn18.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True
DLA-34
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreCenterNetdla34.pt")result = model(SAMPLE_IMAGE, save=True)

Повернений об'єкт Results є однаковим для всіх сімейств, тому заміна детектора потребує зміни одного рядка. conf і max_det фільтрують ранжовані піки теплової карти; iou приймається для узгодженості API, але не впливає на результат, оскільки декодування top-k піків CenterNet не потребує етапу придушення рамок за IoU. Типи джерел, потокове передбачення та обробку результатів описано в розділі передбачення.

Варіанти

Доступні два бекбони. resdcn18 поєднує основу ResNet-18 із підвищенням роздільної здатності деформовною згорткою; dla34 поєднує основу DLA-34 з ітеративним підвищенням роздільної здатності через глибоку агрегацію. Обидва подають дані до тих самих трьох щільних голів (теплова карта, ширина/висота, зсув) і використовують однакове вхідне полотно.

Валідація

val() повертає словник ключів metrics/ із точністю, повнотою, mAP 50 та mAP 50-95, виміряними на будь-якому датасеті у форматі, на якому проводилося навчання.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreCenterNetresdcn18.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])
CLI
libreyolo val model=LibreCenterNetresdcn18.pt data=my-dataset.yaml

Експорт

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

Для експорту ONNX потрібен opset 16 або новіший: етап підвищення роздільної здатності з деформовною згорткою в обох бекбонах перетворюється на оператор ONNX GridSample, доданий в opset 16. Запит старішого opset спричиняє помилку до початку трасування.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreCenterNetresdcn18.pt") # Для експорту ONNX потрібен opset 16 або новіший: етап підвищення роздільної# здатності з деформовною згорткою перетворюється на GridSample, доданий в opset 16.model.export(format="onnx", opset=18)model.export(format="tensorrt")
CLI
libreyolo export model=LibreCenterNetresdcn18.pt format=onnx opset=18
Використання експортованого файлу
from libreyolo import LibreYOLO # Фабрика маршрутизує за суфіксом файлу, тому експортований артефакт# завантажується як будь-яка контрольна точка й повертає той самий об'єкт Results.model = LibreYOLO("LibreCenterNetresdcn18.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)

Контрольні точки

Усі опубліковані файли ваг цього сімейства.

ФайлВхід (пікс.)Ліцензія ваг
Detection
LibreCenterNetresdcn18.pt512mit
LibreCenterNetdla34.pt512mit

Кожен наведений вище файл уже доступний у організації LibreYOLO і завантажується під час першого використання.

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

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

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

Оригінальна робота
CenterNet, UT Austin and UC Berkeley
Ліцензія першоджерела
MIT
Джерело першоджерела
github.com/xingyizhou/CenterNet
Код LibreYOLO
MIT
Ваги
MIT, повторно опубліковано на huggingface.co/LibreYOLO
Тлумачення
MIT is a permissive license, so these weights can be used in commercial and closed-source products. It asks only that you keep the copyright notice and license text with any copy you redistribute, and it places no obligation on your own application code. The official ResDCN-18 and DLA-34 COCO checkpoints were published by the MIT-licensed CenterNet project but carry no separate per-checkpoint license file; LibreYOLO's mirror states MIT as implied by the releasing project rather than a publisher-confirmed, checkpoint-specific grant.

Граф ResDCN-18 також зазначає авторство human-pose-estimation.pytorch від Microsoft під ліцензією MIT, а граф DLA-34 зазначає реалізацію DLA від Fisher Yu під ліцензією BSD-3-Clause. LibreYOLO не включає початкове розширення DCNv2, використане початковим проєктом. Нативне виконання натомість використовує deform_conv2d від torchvision під ліцензією BSD-3-Clause, а переносну реалізацію лише для експорту окремо створено для LibreYOLO.

Цитування

@inproceedings{zhou2019objects,
  title={Objects as Points},
  author={Zhou, Xingyi and Wang, Dequan and Kr{\"a}henb{\"u}hl, Philipp},
  booktitle={arXiv preprint arXiv:1904.07850},
  year={2019}
}

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

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