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.
Origine
CenterNet di UT Austin and UC Berkeley, MIT. Articolo, sorgente
Licenze
Codice MIT, pesi MIT. Uso commerciale

Installazione

CenterNet non richiede nessun extra opzionale. Tutto quello che importa è nell'installazione base.

bash
pip install libreyolo

Predizione

I pesi si scaricano da Hugging Face al primo utilizzo e restano in cache in locale.

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)

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.

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

Esportazione

TaskONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
DetectionDetection to ONNX: supportatoDetection to TorchScript: supportatoDetection to ExecuTorch: supportatoDetection to TensorRT: supportatoDetection to OpenVINO: supportatoDetection to Paddle: non supportatoDetection to MNN: non supportatoDetection to RKNN: non supportatoDetection to ncnn: non supportatoDetection to TFLite: non supportatoDetection to CoreML: non supportatoDetection 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.

Python
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")
CLI
libreyolo export model=LibreCenterNetresdcn18.pt format=onnx opset=18
Usare il file esportato
from 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.

FileIngresso (px)Licenza dei pesi
Detection
LibreCenterNetresdcn18.pt512mit
LibreCenterNetdla34.pt512mit

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
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.

Verificato con LibreYOLO v1.5.0. Le tabelle di supporto, i checkpoint e i dati dei benchmark in questa pagina vengono generati dalla libreria rilasciata e dai pesi pubblicati, non scritti a mano.