CenterNet
CenterNet modella un oggetto come il punto centrale del suo bounding box e ricava per regressione ogni altra proprietà da un picco della heatmap, quindi non ha bisogno di anchor né di un passaggio di non-maximum-suppression. LibreYOLO lo include come rilevatore solo per inferenza.
- Task
- detection
- Dimensioni
- resdcn18, dla34 at 512 px
- Installa
pip install libreyolo- Livello di supporto
- Solo inferenza, dalla v. Solo predizione, validazione ed esportazione. Le funzionalità di addestramento non si applicano.
- Licenze
- Codice MIT, pesi MIT. Uso commerciale
Installazione
CenterNet non richiede nessun extra opzionale. Tutto quello che importa è nell'installazione base.
pip install libreyoloPredizione
I pesi si scaricano da Hugging Face al primo utilizzo e restano in cache in locale.
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)L'oggetto Results restituito è lo stesso che restituisce ogni famiglia,
quindi passare a un rilevatore diverso è una modifica di una riga. conf e
max_det filtrano i picchi della heatmap già ordinati; iou è accettato per
parità di API ma non ha effetto, perché il decode top-k dei picchi di CenterNet
non richiede nessun passaggio di soppressione per IoU dei box. Vedi
predizione per sorgenti, streaming e gestione dei risultati.
Varianti
Due backbone. resdcn18 abbina un tronco ResNet-18 a un upsampling a
convoluzione deformabile; dla34 abbina un tronco DLA-34 a un upsampling ad
aggregazione profonda iterativa. Entrambi alimentano le stesse tre teste dense
(heatmap, larghezza/altezza, offset) e lo stesso canvas di input.
Validazione
val() restituisce un dizionario di chiavi metrics/ che coprono precisione,
recall, mAP 50 e mAP 50-95, misurate su qualsiasi dataset nel formato con cui
hai addestrato.
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.yamlEsportazione
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Detection | Detection to ONNX: supportato | Detection to TorchScript: supportato | Detection to ExecuTorch: supportato | Detection to TensorRT: supportato | Detection to OpenVINO: supportato | Detection to Paddle: non supportato | Detection to MNN: non supportato | Detection to RKNN: non supportato | Detection to ncnn: non supportato | Detection to TFLite: non supportato | Detection to CoreML: non supportato | Detection to Core AI: non supportato |
L'esportazione in ONNX richiede opset 16 o superiore: la fase di upsampling a
convoluzione deformabile presente in entrambi i backbone viene tradotta
nell'operatore ONNX GridSample, introdotto dall'opset 16. Se chiedi un opset
precedente viene sollevato un errore prima che inizi il tracing.
from libreyolo import LibreYOLO model = LibreYOLO("LibreCenterNetresdcn18.pt") # L'esportazione in ONNX richiede opset 16 o superiore: la fase di# upsampling a convoluzione deformabile viene tradotta in GridSample,# introdotto dall'opset 16.model.export(format="onnx", opset=18)model.export(format="tensorrt")libreyolo export model=LibreCenterNetresdcn18.pt format=onnx opset=18from libreyolo import LibreYOLO # La factory instrada in base al suffisso del file, quindi un artefatto# esportato si carica come qualsiasi checkpoint e restituisce lo stesso# oggetto Results.model = LibreYOLO("LibreCenterNetresdcn18.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)Checkpoint
Tutti i file di pesi pubblicati per questa famiglia.
| File | Ingresso (px) | Licenza dei pesi |
|---|---|---|
| Detection | ||
| LibreCenterNetresdcn18.pt | 512 | mit |
| LibreCenterNetdla34.pt | 512 | mit |
Oggi tutti i file elencati sopra sono presenti nell<link>organizzazione LibreYOLO</link> e vengono scaricati al primo utilizzo.
Licenza
Controlla la licenza nel repository Hugging Face degli specifici pesi che scarichi. Ogni checkpoint nell<link>organizzazione LibreYOLO</link> ne include una e non è sempre la stessa per tutta la famiglia. Quel repository è la fonte autorevole; il riepilogo seguente descrive le condizioni applicabili al momento dellultima verifica di questa pagina.
Questa è una descrizione delle licenze coinvolte, non una consulenza legale. Se la risposta è importante a fini commerciali, leggi personalmente le licenze e chiedi una consulenza indipendente.
- Lavoro originale
- CenterNet, UT Austin and UC Berkeley
- Licenza upstream
- MIT
- Sorgente upstream
- github.com/xingyizhou/CenterNet
- Codice LibreYOLO
- MIT
- Pesi
- MIT, ripubblicati su huggingface.co/LibreYOLO
- Interpretazione
- 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.
Il grafo di ResDCN-18 accredita anche human-pose-estimation.pytorch di
Microsoft, distribuito con licenza MIT, e il grafo di DLA-34 accredita
l'implementazione DLA di Fisher Yu, con licenza BSD-3-Clause. LibreYOLO non
incorpora l'estensione DCNv2 originale usata dal progetto upstream;
l'esecuzione nativa usa invece deform_conv2d di torchvision, con licenza
BSD-3-Clause, e l'implementazione portabile, solo per l'esportazione, è stata
scritta a parte per LibreYOLO.
Citazione
@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}
}Copiato dal blocco di citazione degli autori disponibile su github.com/xingyizhou/CenterNet#citation.