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.
-
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.
-
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.
-
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.
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:
Citas y agradecimientos
Si utilizas YOLOv3 en tu investigación, por favor, cita los artículos originales de YOLO y el repositorio Ultralytics YOLOv3:
Gracias a Joseph Redmon y Ali Farhadi por desarrollar el YOLOv3 original.