Saltar al contenido

YOLOv3, YOLOv3-Ultralytics, y YOLOv3u

Visi贸n general

Este documento presenta una visi贸n general de tres modelos de detecci贸n de objetos estrechamente relacionados, a saber, YOLOv3, YOLOv3-Ultralytics, y YOLOv3u.

  1. YOLOv3: Es la tercera versi贸n del algoritmo de detecci贸n de objetos You Only Look Once (YOLO). Desarrollado originalmente por Joseph Redmon, YOLOv3 mejor贸 a sus predecesores introduciendo funciones como las predicciones multiescala y tres tama帽os diferentes de n煤cleos de detecci贸n.

  2. YOLOv3-Ultralytics: 脡sta es la implementaci贸n de Ultralytics' del modelo YOLOv3. Reproduce la arquitectura original de YOLOv3 y ofrece funcionalidades adicionales, como soporte para m谩s modelos preentrenados y opciones de personalizaci贸n m谩s sencillas.

  3. YOLOv3u: Se trata de una versi贸n actualizada de YOLOv3-Ultralytics que incorpora la cabeza de divisi贸n sin anclajes ni objetos utilizada en los modelos YOLOv8 . YOLOv3u mantiene la misma arquitectura de columna vertebral y cuello que YOLOv3, pero con la cabeza de detecci贸n actualizada de YOLOv8.

Ultralytics YOLOv3

Caracter铆sticas principales

  • YOLOv3: Introdujo el uso de tres escalas diferentes para la detecci贸n, aprovechando tres tama帽os distintos de n煤cleos de detecci贸n: 13x13, 26x26 y 52x52. Esto mejor贸 significativamente la precisi贸n de la detecci贸n para objetos de distintos tama帽os. Adem谩s, YOLOv3 a帽adi贸 funciones como predicciones multietiqueta para cada cuadro delimitador y una red extractora de caracter铆sticas mejorada.

  • YOLOv3-Ultralytics: Ultralytics La implementaci贸n de YOLOv3 ofrece el mismo rendimiento que el modelo original, pero con soporte a帽adido para m谩s modelos preentrenados, m茅todos de entrenamiento adicionales y opciones de personalizaci贸n m谩s sencillas. Esto lo hace m谩s vers谩til y f谩cil de usar para aplicaciones pr谩cticas.

  • YOLOv3u: Este modelo actualizado incorpora el cabezal de divisi贸n sin anclajes ni objetualidad de YOLOv8. Al eliminar la necesidad de cajas de anclaje y puntuaciones de objetualidad predefinidas, este dise帽o de cabezal de detecci贸n puede mejorar la capacidad del modelo para detectar objetos de distintos tama帽os y formas. Esto hace que YOLOv3u sea m谩s robusto y preciso para las tareas de detecci贸n de objetos.

Tareas y modos admitidos

La serie YOLOv3, que incluye YOLOv3, YOLOv3-Ultralytics, y YOLOv3u, est谩 dise帽ada espec铆ficamente para tareas de detecci贸n de objetos. Estos modelos son famosos por su eficacia en diversos escenarios del mundo real, equilibrando precisi贸n y velocidad. Cada variante ofrece caracter铆sticas y optimizaciones 煤nicas, que los hacen adecuados para una serie de aplicaciones.

Los tres modelos admiten un amplio conjunto de modos, que garantizan la versatilidad en las distintas fases de despliegue y desarrollo del modelo. Estos modos incluyen Inferencia, Validaci贸n, Entrenamiento y Exportaci贸n, proporcionando a los usuarios un conjunto completo de herramientas para la detecci贸n eficaz de objetos.

Tipo de modelo Tareas admitidas Inferencia Validaci贸n Formaci贸n Exportar
YOLOv3 Detecci贸n de objetos
YOLOv3-Ultralytics Detecci贸n de objetos
YOLOv3u Detecci贸n de objetos

Esta tabla proporciona una visi贸n general de las capacidades de cada variante de YOLOv3, destacando su versatilidad e idoneidad para diversas tareas y modos operativos en los flujos de trabajo de detecci贸n de objetos.

Ejemplos de uso

Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia de YOLOv3. Para obtener documentaci贸n completa sobre estos y otros modos, consulta las p谩ginas de documentaci贸n Predecir, Entrenar, Val y Exportar.

Ejemplo

PyTorch preentrenado *.pt modelos, as铆 como la configuraci贸n *.yaml pueden pasarse a la funci贸n YOLO() para crear una instancia del modelo en python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv3n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI para ejecutar directamente los modelos:

# Load a COCO-pretrained YOLOv3n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv3n model and run inference on the 'bus.jpg' image
yolo predict model=yolov3n.pt source=path/to/bus.jpg

Citas y agradecimientos

Si utilizas YOLOv3 en tu investigaci贸n, por favor, cita los art铆culos originales de YOLO y el repositorio Ultralytics YOLOv3:

@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Gracias a Joseph Redmon y Ali Farhadi por desarrollar el YOLOv3 original.



Created 2023-11-12, Updated 2024-06-10
Authors: glenn-jocher (7)

Comentarios