CenterNet
CenterNet modela un objeto como el punto central de su bounding box y regresa todas las demás propiedades a partir de un pico del heatmap, así que no necesita anchors ni un paso de non-maximum-suppression. LibreYOLO lo incluye como detector solo de inferencia.
- Tareas
- detection
- Tamaños
- resdcn18, dla34 at 512 px
- Instalación
pip install libreyolo- Nivel de compatibilidad
- Solo inferencia, desde v. Solo permite predecir, validar y exportar. Las funciones de entrenamiento no se aplican.
- Licencias
- Código MIT, pesos MIT. Uso comercial
Instalación
CenterNet no necesita ningún extra opcional. Todo lo que importa está en la instalación base.
pip install libreyoloPredicción
Los pesos se descargan de Hugging Face en el primer uso y se guardan en la caché local.
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)El objeto Results devuelto es el mismo que devuelven todas las familias, así
que cambiar a otro detector es un cambio de una línea. conf y max_det
filtran los picos del heatmap ya ordenados; iou se acepta por paridad de API
pero no tiene efecto, porque el decodificado top-k de picos de CenterNet no
necesita ningún paso de supresión por IoU de cajas. Consulta
predicción para fuentes, streaming y manejo de resultados.
Variantes
Dos backbones. resdcn18 combina un tronco ResNet-18 con upsampling por
convolución deformable; dla34 combina un tronco DLA-34 con upsampling por
agregación profunda iterativa. Ambos alimentan las mismas tres cabezas densas
(heatmap, ancho/alto, offset) y el mismo lienzo de entrada.
Validación
val() devuelve un diccionario de claves metrics/ que cubren precisión,
recall, mAP 50 y mAP 50-95, medidas contra cualquier dataset en el formato con
el que entrenaste.
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.yamlExportación
| Tarea | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Detection | Detection to ONNX: compatible | Detection to TorchScript: compatible | Detection to ExecuTorch: compatible | Detection to TensorRT: compatible | Detection to OpenVINO: compatible | Detection to Paddle: no compatible | Detection to MNN: no compatible | Detection to RKNN: no compatible | Detection to ncnn: no compatible | Detection to TFLite: no compatible | Detection to CoreML: no compatible | Detection to Core AI: no compatible |
La exportación a ONNX requiere opset 16 o superior: la etapa de upsampling por
convolución deformable de ambos backbones baja al operador GridSample de
ONNX, que se introdujo en el opset 16. Pedir un opset anterior lanza un error
antes de que empiece el trazado.
from libreyolo import LibreYOLO model = LibreYOLO("LibreCenterNetresdcn18.pt") # La exportación a ONNX necesita opset 16 o superior: la etapa de# upsampling por convolución deformable baja a GridSample, que se# introdujo en el 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 factoría enruta según la extensión del archivo, así que un# artefacto exportado se carga como cualquier checkpoint y devuelve# el mismo objeto Results.model = LibreYOLO("LibreCenterNetresdcn18.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)Checkpoints
Todos los archivos de pesos publicados de esta familia.
| Archivo | Entrada (px) | Licencia de los pesos |
|---|---|---|
| Detection | ||
| LibreCenterNetresdcn18.pt | 512 | mit |
| LibreCenterNetdla34.pt | 512 | mit |
Todos los archivos anteriores existen hoy en la organización de LibreYOLO y se descargan la primera vez que se usan.
Licencia
Comprueba la licencia en el repositorio de Hugging Face de los pesos concretos que descargues. Cada checkpoint de la organización de LibreYOLO incluye una, y no siempre es la misma en toda una familia. Ese repositorio es la fuente autorizada; el resumen siguiente describe qué se aplicaba cuando se verificó esta página por última vez.
Esta es una descripción de las licencias implicadas, no asesoramiento legal. Si la respuesta es importante a nivel comercial, lee las licencias y busca tu propio asesoramiento.
- Trabajo original
- CenterNet, UT Austin and UC Berkeley
- Licencia del proyecto original
- MIT
- Fuente del proyecto original
- github.com/xingyizhou/CenterNet
- Código de LibreYOLO
- MIT
- Pesos
- MIT, republicados en huggingface.co/LibreYOLO
- Interpretación
- 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.
El grafo de ResDCN-18 acredita además el human-pose-estimation.pytorch de
Microsoft, con licencia MIT, y el grafo de DLA-34 acredita la implementación de
DLA de Fisher Yu, con licencia BSD-3-Clause. LibreYOLO no incorpora la extensión
DCNv2 original que usaba el proyecto upstream; la ejecución nativa usa en su
lugar deform_conv2d de torchvision, con licencia BSD-3-Clause, y la
implementación portable, solo para exportación, se escribió aparte para
LibreYOLO.
Cita
@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}
}Copiado del bloque de cita de los autores en github.com/xingyizhou/CenterNet#citation.