YOLO Vision 2026:

YOLOv3 y YOLOv3u#

Descripción general#

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

  1. YOLOv3: Esta 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 al introducir características como predicciones multiescala y tres tamaños diferentes de núcleos de detección.

  2. YOLOv3u: Esta es una versión actualizada de YOLOv3-Ultralytics que incorpora la cabeza dividida sin anclajes y sin puntuación de objeto utilizada en los modelos YOLOv8. YOLOv3u mantiene la misma arquitectura de backbone y cuello que YOLOv3, pero con la cabeza de detección actualizada de YOLOv8.

Banner del modelo de detección de objetos YOLOv3

Características clave#

  • 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 detección para objetos de diferentes tamaños. Además, YOLOv3 añadió características como predicciones multietiqueta para cada bounding box y una red extractora de características mejorada.

  • YOLOv3u: Este modelo actualizado incorpora la cabeza dividida sin anclajes y sin puntuación de objeto de YOLOv8. Al eliminar la necesidad de cajas delimitadoras predefinidas y puntuaciones de objeto, este diseño de cabeza de detección puede mejorar la capacidad del modelo para detectar objetos de varios tamaños y formas. Esto hace que YOLOv3u sea más robusto y preciso para tareas de detección de objetos.

Tareas y modos soportados#

YOLOv3 está diseñado específicamente para tareas de object detection. Ultralytics admite tres variantes de YOLOv3: yolov3u, yolov3-tinyu y yolov3-sppu. El u en el nombre indica que estas versiones utilizan la cabeza sin anclajes de YOLOv8, a diferencia de su arquitectura original basada en anclajes. Estos modelos son conocidos por su eficacia en diversos escenarios del mundo real, equilibrando precisión y velocidad. Cada variante ofrece características y optimizaciones únicas, lo que las hace adecuadas para una amplia gama de aplicaciones.

Los tres modelos admiten un conjunto completo de modos, lo que garantiza versatilidad en varias etapas del despliegue de modelos y desarrollo. Estos modos incluyen Inference, Validation, Training y Export, proporcionando a los usuarios un conjunto de herramientas completo para una detección de objetos eficaz.

Tipo de modeloPesos preentrenadosTareas compatiblesEntrenamientoValidaciónInferenciaExportar
YOLOv3(u)yolov3u.ptDetección de objetos
YOLOv3-Tiny(u)yolov3-tinyu.ptDetección de objetos
YOLOv3u-SPP(u)yolov3-sppu.ptDetección de objetos

Esta tabla ofrece una vista rápida de las capacidades de cada variante de YOLOv3, destacando su versatilidad y idoneidad para diversas tareas y modos operativos en flujos de trabajo de detección de objetos.

Ejemplos de uso#

Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia con YOLOv3. Para obtener la documentación completa sobre estos y otros modos, consulta las páginas de documentación de Predict, Train, Val y Export.

Ejemplo

Los modelos preentrenados de PyTorch *.pt, así como los archivos de configuración *.yaml, se pueden pasar a la clase YOLO() para crear una instancia de modelo en python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.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 YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Citas y agradecimientos#

Si usas YOLOv3 en tu investigación, cita los artículos originales de YOLO y el repositorio de Ultralytics YOLOv3:

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

FAQ#

  • YOLOv3 es la tercera iteración del algoritmo de object detection YOLO (You Only Look Once) desarrollado por Joseph Redmon, conocido por su equilibrio entre precisión y velocidad, utilizando tres escalas diferentes (13x13, 26x26 y 52x52) para las detecciones. YOLOv3-Ultralytics es la adaptación de Ultralytics de YOLOv3 que añade soporte para más modelos preentrenados y facilita una personalización más sencilla de los modelos. YOLOv3u es una variante mejorada de YOLOv3-Ultralytics que integra la cabeza dividida sin anclajes y sin puntuación de objeto de YOLOv8, mejorando la robustez y precisión de la detección para objetos de varios tamaños. Para más detalles sobre las variantes, consulta la serie YOLOv3.

  • Entrenar un modelo YOLOv3 con Ultralytics es muy sencillo. Puedes entrenar el modelo usando Python o la CLI:

    Ejemplo
    from ultralytics import YOLO
    
    # Load a COCO-pretrained YOLOv3u model
    model = YOLO("yolov3u.pt")
    
    # Train the model on the COCO8 example dataset for 100 epochs
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Para obtener opciones de entrenamiento y directrices más exhaustivas, visita nuestra documentación del modo Train.

  • YOLOv3u mejora a YOLOv3 y YOLOv3-Ultralytics al incorporar la cabeza dividida sin anclajes y sin puntuación de objeto utilizada en los modelos YOLOv8. Esta actualización elimina la necesidad de cuadros delimitadores predefinidos y puntuaciones de objeto, mejorando su capacidad para detectar objetos de diferentes tamaños y formas con mayor precisión. Esto convierte a YOLOv3u en una mejor opción para tareas de detección de objetos complejas y diversas. Para más información, consulta la sección de Características clave.

  • Puedes realizar inferencias con modelos YOLOv3 mediante scripts de Python o comandos de la CLI:

    Ejemplo
    from ultralytics import YOLO
    
    # Load a COCO-pretrained YOLOv3u model
    model = YOLO("yolov3u.pt")
    
    # Run inference with the YOLOv3u model on the 'bus.jpg' image
    results = model("path/to/bus.jpg")

    Consulta la documentación del modo Inference para obtener más detalles sobre la ejecución de modelos YOLO.

  • YOLOv3, YOLOv3-Tiny y YOLOv3-SPP admiten principalmente tareas de detección de objetos. Estos modelos se pueden utilizar para varias etapas del despliegue y desarrollo de modelos, como Inferencia, Validación, Entrenamiento y Exportación. Para ver un conjunto completo de tareas compatibles y detalles más profundos, visita nuestra documentación de tareas de Object Detection.

  • Si usas YOLOv3 en tu investigación, cita los artículos originales de YOLO y el repositorio de Ultralytics YOLOv3. Ejemplo de cita en BibTeX:

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

    Para obtener más detalles sobre las citas, consulta la sección de Citas y reconocimientos.

Comentarios