CenterNet
CenterNet моделює об'єкт як центральну точку його обмежувальної рамки й регресує всі інші властивості з піка теплової карти, тому їй не потрібні якорі та етап немаксимального придушення. LibreYOLO постачає її як детектор лише для інференсу.
- Задачі
- detection
- Розміри
- resdcn18, dla34 at 512 px
- Встановлення
pip install libreyolo- Рівень підтримки
- Лише інференс, починаючи з v. Лише передбачення, валідація та експорт. Функції навчання не застосовуються.
- Ліцензії
- Код: MIT, ваги: MIT. Комерційне використання
Встановлення
CenterNet не потребує додаткових залежностей. Усе, що вона імпортує, входить до базового встановлення.
pip install libreyoloПередбачення
Під час першого використання ваги завантажуються з Hugging Face і кешуються локально.
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)libreyolo predict model=LibreCenterNetresdcn18.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom 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, виміряними на будь-якому датасеті у форматі, на якому проводилося
навчання.
from libreyolo import LibreYOLO model = LibreYOLO("LibreCenterNetresdcn18.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])libreyolo val model=LibreCenterNetresdcn18.pt data=my-dataset.yamlЕкспорт
| Задача | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Detection | Detection 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 спричиняє
помилку до початку трасування.
from libreyolo import LibreYOLO model = LibreYOLO("LibreCenterNetresdcn18.pt") # Для експорту ONNX потрібен opset 16 або новіший: етап підвищення роздільної# здатності з деформовною згорткою перетворюється на GridSample, доданий в opset 16.model.export(format="onnx", opset=18)model.export(format="tensorrt")libreyolo export model=LibreCenterNetresdcn18.pt format=onnx opset=18from libreyolo import LibreYOLO # Фабрика маршрутизує за суфіксом файлу, тому експортований артефакт# завантажується як будь-яка контрольна точка й повертає той самий об'єкт Results.model = LibreYOLO("LibreCenterNetresdcn18.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)Контрольні точки
Усі опубліковані файли ваг цього сімейства.
| Файл | Вхід (пікс.) | Ліцензія ваг |
|---|---|---|
| Detection | ||
| LibreCenterNetresdcn18.pt | 512 | mit |
| LibreCenterNetdla34.pt | 512 | mit |
Кожен наведений вище файл уже доступний у організації 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.