SSD

SSD (Single Shot MultiBox Detector) predice todas las cajas y las puntuaciones de clase a partir de una rejilla densa de cajas por defecto en una sola pasada hacia delante, sin una etapa aparte de propuesta de regiones. LibreYOLO incluye el checkpoint SSD300 con backbone VGG16 como detector solo de inferencia.

Tareas
detection
Tamaños
300 at 300 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.
Proyecto original
SSD de UNC Chapel Hill, Zoox, Google and University of Michigan, BSD-3-Clause. Artículo, fuente
Licencias
Código BSD-3-Clause, pesos BSD-3-Clause. Uso comercial

Instalación

SSD no necesita ningún extra opcional. Todo lo que importa está en la instalación base.

bash
pip install libreyolo

Predicción

Los pesos se descargan de Hugging Face en el primer uso y se guardan en la caché local.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreSSD300.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
CLI
libreyolo predict model=LibreSSD300.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg 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. SSD decodifica su rejilla de cajas por defecto con puntuaciones por clase y después aplica non-maximum suppression, así que aquí conf, iou y max_det tienen todos un efecto real, a diferencia de los detectores basados en queries de esta biblioteca. Consulta predicción para fuentes, streaming y manejo de resultados.

Variantes

SSD incluye un único checkpoint: la red SSD300 con backbone VGG16 en su lienzo nativo fijo. En esta familia no hay elección de tamaño ni de escala; la predicción, la validación y la exportación usan todas ese mismo grafo.

El archivo de pesos es LibreSSD300.pt, el prefijo de la familia seguido de su única clave de tamaño, "300". La clase que hay detrás es LibreSSD, así que una construcción directa es LibreSSD(size="300") y no una clase con el nombre del archivo.

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.

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

Exportación

TareaONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
DetectionDetection to ONNX: compatibleDetection to TorchScript: no compatibleDetection to ExecuTorch: no compatibleDetection to TensorRT: no compatibleDetection to OpenVINO: no compatibleDetection to Paddle: no compatibleDetection to MNN: no compatibleDetection to RKNN: no compatibleDetection to ncnn: no compatibleDetection to TFLite: no compatibleDetection to CoreML: no compatibleDetection to Core AI: no compatible

SSD solo exporta a ONNX; el resto de formatos están bloqueados actualmente para esta familia. La exportación usa siempre el lienzo nativo del checkpoint, y el grafo expone la cabeza empaquetada en bruto de SSD en lugar de una salida con non-maximum suppression fusionada, así que nms=True no se acepta en el momento de exportar. Los propios backends de LibreYOLO ejecutan el paso de decodificado y supresión después de volver a cargar el grafo.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreSSD300.pt") # imgsz se omite aquí a propósito: SSD300 se traza en el lienzo nativo# de su checkpoint, y cualquier otro valor lanza un error antes de que# empiece la exportación.model.export(format="onnx")
CLI
libreyolo export model=LibreSSD300.pt format=onnx
Usar el archivo exportado
from 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("LibreSSD300.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)

Checkpoints

Todos los archivos de pesos publicados de esta familia.

ArchivoEntrada (px)Licencia de los pesos
Detection
LibreSSD300.pt300bsd-3-clause

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
SSD, UNC Chapel Hill, Zoox, Google and University of Michigan
Licencia del proyecto original
BSD-3-Clause
Fuente del proyecto original
github.com/pytorch/vision
Código de LibreYOLO
MIT
Pesos
BSD-3-Clause, republicados en huggingface.co/LibreYOLO
Interpretación
BSD-3-Clause is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep its copyright notice and disclaimer with any copy you redistribute, and it places no obligation on your own application code. The official SSD300 COCO checkpoint carries no separate, checkpoint-specific license: LibreYOLO's mirror applies BSD-3-Clause on an explicitly disclosed implied basis, the same basis torchvision states for its own pretrained SSD300 weights. The VGG16 backbone the graph is built on traces back to Oxford's fully convolutional reduced VGGNet, released under CC BY 4.0 by Karen Simonyan and Andrew Zisserman.

El código de SSD300 de LibreYOLO no está portado de la propia versión en Caffe de los autores del paper; deriva de la implementación de SSD300 de torchvision, con licencia BSD-3-Clause, y ese es el repositorio enlazado arriba como fuente upstream. Los pesos VGG16 del backbone se remontan además a la VGGNet reducida totalmente convolucional de Oxford, publicada bajo CC BY 4.0 por Karen Simonyan y Andrew Zisserman.

Cita

@inproceedings{liu2016ssd,
  title = {{SSD}: Single Shot MultiBox Detector},
  author = {Liu, Wei and Anguelov, Dragomir and Erhan, Dumitru and Szegedy, Christian and Reed, Scott and Fu, Cheng-Yang and Berg, Alexander C.},
  booktitle = {ECCV},
  year = {2016}
}

Copiado del bloque de cita de los autores en github.com/weiliu89/caffe/tree/ssd#citing-ssd.

Verificado con LibreYOLO v1.5.0. Las tablas de compatibilidad, los checkpoints y las cifras de rendimiento de esta página se generan a partir de la biblioteca publicada y los pesos publicados; no se escriben a mano.