Visibilidad IA

Arquitectura YOLO (You Only Look Once): qué es, cómo funciona y cómo detectar objetos con Python

La Arquitectura YOLO (You Only Look Once) es una familia de modelos de inteligencia artificial diseñados para detectar y localizar objetos dentro de imágenes y vídeos de manera eficiente.

Su característica histórica más importante es utilizar una red neuronal unificada para producir predicciones de localización y clasificación a partir de una imagen, sin necesitar el tipo de etapa independiente de propuestas que caracteriza a detectores como Faster R-CNN.

YOLO se convirtió en una de las familias más conocidas de Object Detection gracias a su enfoque en la eficiencia de inferencia y en aplicaciones de visión artificial que requieren baja latencia.

El modelo original fue presentado por Joseph Redmon, Santosh Divvala, Ross Girshick y Ali Farhadi en el artículo científico You Only Look Once: Unified, Real-Time Object Detection, publicado en CVPR 2016.

Desde entonces, la familia ha evolucionado a través de numerosas generaciones, desarrolladas por diferentes investigadores y organizaciones.

Entre las versiones importantes se encuentran YOLOv1, YOLOv2, YOLOv3, YOLOv4, YOLOv5, YOLOv7, YOLOv8, YOLOv9, YOLOv10, YOLO11, YOLO12 y YOLO26.

Es importante comprender que YOLO no representa una única arquitectura inmutable. Las diferentes generaciones pueden utilizar componentes, funciones de pérdida, sistemas de asignación de etiquetas, cabezas de detección y procedimientos de posprocesamiento distintos.

Algunas arquitecturas utilizan Anchor Boxes.

Otras son Anchor-Free.

Algunas requieren Non-Maximum Suppression durante inferencia.

Otras disponen de mecanismos de predicción end-to-end que pueden operar sin NMS convencional.

Por eso, al estudiar YOLO debemos distinguir entre los principios generales de la familia y las características técnicas de un modelo concreto.

Entre sus aplicaciones destacan:

  • Detección de productos.
  • Inspección industrial.
  • Reconocimiento de vehículos.
  • Sistemas de robótica.
  • Análisis de vídeo.
  • Conteo de objetos.
  • Automatización de inventarios.
  • Agricultura de precisión.
  • Procesamiento de imágenes satelitales.
  • Detección de componentes electrónicos.
  • Análisis de imágenes comerciales.
  • Sistemas de visión artificial en dispositivos Edge.

En este artículo explicaremos cómo funciona YOLO, sus componentes arquitectónicos, las principales generaciones, sus métricas, los formatos de anotación y su implementación con Python.

También construiremos un flujo práctico de inferencia, entrenamiento, validación y exportación utilizando Ultralytics YOLO.


1. ¿Qué es YOLO?

Definición breve: YOLO es una familia de arquitecturas de visión por computadora que genera predicciones de objetos y sus localizaciones a partir de una imagen mediante una red neuronal de detección integrada.

El nombre significa:

You Only Look Once.

Esta expresión refleja la idea original de utilizar una sola evaluación de la red para producir predicciones sobre la imagen completa.

¿Qué detecta YOLO?

Depende de las categorías del dataset y del modelo.

Un detector entrenado sobre objetos generales puede reconocer categorías como:

  • Persona.
  • Automóvil.
  • Bicicleta.
  • Perro.
  • Botella.
  • Silla.
  • Ordenador portátil.

Un modelo adaptado a un dataset empresarial puede aprender categorías propias, como tipos de productos o componentes industriales.

¿Qué devuelve?

Para cada objeto puede proporcionar:

  1. Bounding Box.
  2. Identificador de clase.
  3. Nombre de categoría.
  4. Puntuación de confianza.

Los modelos de otras tareas pueden producir máscaras, puntos anatómicos u otras salidas.


2. ¿Por qué YOLO fue importante?

Antes de la aparición de YOLO, diferentes métodos de detección utilizaban pipelines que separaban la generación de regiones candidatas de la clasificación posterior.

El YOLO original planteó una formulación unificada de regresión de cajas y predicción de clases.

¿Qué ventaja buscaba?

Reducir la complejidad de múltiples etapas de procesamiento y facilitar inferencia de baja latencia.

¿Qué cambió para la visión artificial?

La detección rápida de objetos se convirtió en un objetivo central de muchas arquitecturas posteriores.

¿Significa que YOLO siempre es el detector más rápido?

No.

El rendimiento depende de:

  • Versión del modelo.
  • Tamaño.
  • Resolución.
  • Hardware.
  • Framework.
  • Backend de inferencia.
  • Batch Size.
  • Posprocesamiento.

Un detector no debe calificarse como «tiempo real» sin comprobar el presupuesto temporal de su aplicación.


3. YOLO frente a Faster R-CNN

YOLO y Faster R-CNN pertenecen a familias diferentes de detección.

CaracterísticaYOLOFaster R-CNN
FamiliaHistóricamente One-StageTwo-Stage
Propuestas independientes tipo RPNNo en su formulación característicaSí
PredicciónCabeza integrada de detecciónPropuestas y refinamiento
SalidaCajas, clases y puntuacionesCajas, clases y puntuaciones
LatenciaDepende de versión y hardwareDepende de versión y hardware
Uso en tiempo realFrecuentePosible, según configuración

¿Cuál es mejor?

No existe una respuesta universal.

Faster R-CNN puede resultar apropiado en determinados sistemas, mientras que una variante YOLO compacta puede ser interesante cuando el presupuesto de latencia es estricto.

Lo correcto es comparar checkpoints concretos con el mismo dataset y hardware.


4. ¿Cómo funciona YOLO?

Una representación conceptual de numerosas arquitecturas YOLO modernas incluye:

Imagen → Preprocesamiento → Backbone → Neck → Detection Head → Predicciones → Posprocesamiento

Backbone

Extrae características visuales.

Neck

Combina representaciones de diferentes escalas.

Detection Head

Produce la información utilizada para localizar y clasificar objetos.

Posprocesamiento

Convierte las salidas del modelo en detecciones utilizables.

Puede incluir NMS dependiendo de la arquitectura y del modo de inferencia.

¿Todas las generaciones incluyen estos mismos componentes?

No necesariamente.

Esta descomposición describe un diseño moderno habitual, no el esquema exacto de YOLOv1.


5. ¿Qué es el Backbone?

El Backbone es la parte de la red encargada de construir representaciones visuales.

En modelos convolucionales, utiliza bloques que pueden incluir:

  • Convoluciones.
  • Funciones de activación.
  • Normalización.
  • Conexiones entre capas.
  • Reducciones espaciales.

¿Qué aprende?

Representaciones de bordes, texturas, formas y características visuales más complejas.

¿Por qué importa?

Porque las cabezas de detección necesitan características adecuadas para localizar y clasificar objetos.

¿Los backbones de YOLOv3 y YOLO26 son iguales?

No.

Las generaciones incorporan arquitecturas internas diferentes.


6. ¿Qué es el Neck?

El Neck combina características procedentes de diferentes niveles de la red.

En numerosos detectores modernos se utilizan ideas relacionadas con Feature Pyramid Networks y Path Aggregation Networks.

¿Por qué es importante?

Porque los objetos pueden tener tamaños muy diferentes.

Por ejemplo:

  • Una moneda pequeña.
  • Una botella mediana.
  • Una caja grande.

¿Qué ventaja ofrece?

Permite aprovechar información de diferentes resoluciones.

¿Neck es obligatorio en todas las versiones?

No.

Es un concepto organizativo frecuente en familias YOLO modernas.


7. ¿Qué es la Detection Head?

La Detection Head transforma las características de la red en predicciones de objetos.

Dependiendo de la arquitectura puede estimar:

  • Coordenadas de cajas.
  • Puntuaciones de clase.
  • Objectness.
  • Distribuciones de localización.
  • Otras representaciones necesarias para construir detecciones.

¿Todas las cabezas predicen Objectness separadamente?

No.

Algunas generaciones modernas utilizan formulaciones diferentes.

¿Qué debemos comprobar?

La documentación de la versión concreta.


8. ¿Cómo funcionaba YOLOv1?

El YOLO original dividía conceptualmente la imagen en una cuadrícula.

Cada celda participaba en la predicción de cajas y probabilidades de clase.

Una configuración conocida utilizaba:

S = 7

y:

B = 2 cajas por celda

para el modelo entrenado sobre PASCAL VOC.

¿Qué significa?

La salida incluía información sobre cajas, confianza y clases asociada a la cuadrícula.

¿Qué limitación tenía?

La estructura imponía restricciones a la representación de ciertos objetos próximos y pequeños.

¿Las versiones modernas siguen utilizando exactamente esta cuadrícula 7 × 7?

No.

Las generaciones posteriores cambiaron profundamente la representación y la arquitectura.


9. Fórmula de salida del YOLO original

Una representación histórica de la salida es:

S × S × (B × 5 + C)

Donde:

  • S es la dimensión de la cuadrícula.
  • B es el número de cajas por celda.
  • C es el número de clases.
  • Cada caja aporta cinco valores asociados a localización y confianza.

Ejemplo

S = 7.

B = 2.

C = 20.

Entonces:

7 × 7 × (2 × 5 + 20)

Resultado:

7 × 7 × 30

Número de valores:

1.470

¿Representa la salida de YOLO26?

No.

Esta fórmula corresponde al diseño original y no debe reutilizarse indiscriminadamente para generaciones modernas.


10. Ejemplo 1 — Dimensiones del YOLO original con Python

def original_yolo_output(
grid_size,
boxes_per_cell,
num_classes
):
channels = (
boxes_per_cell * 5
+ num_classes
)
shape = (
grid_size,
grid_size,
channels
)
count = (
grid_size
* grid_size
* channels
)
return shape, count
shape, count = original_yolo_output(
grid_size=7,
boxes_per_cell=2,
num_classes=20
)
print("Forma:", shape)
print("Valores:", count)

Resultado esperado:

Forma: (7, 7, 30)
Valores: 1470

¿Qué demuestra?

Podemos calcular las dimensiones del esquema de salida histórico.


11. Evolución de las generaciones YOLO

Las generaciones de YOLO no constituyen una línea de desarrollo completamente centralizada.

Diferentes grupos de investigación y empresas han publicado modelos con el nombre YOLO.

GeneraciónAño aproximadoConcepto destacado
YOLOv12016Detección unificada mediante cuadrícula
YOLOv2 / YOLO90002017Mejoras de entrenamiento y Anchor Boxes
YOLOv32018Darknet-53 y predicciones multiescala
YOLOv42020Optimización de arquitectura y entrenamiento
YOLOv52020Implementación popular de Ultralytics en PyTorch
YOLOv72022Diseño y entrenamiento eficiente
YOLOv82023Cabeza Anchor-Free en su formulación de Ultralytics
YOLOv92024Programmable Gradient Information
YOLOv102024Detección end-to-end sin NMS convencional
YOLO112024Familia multitararea de Ultralytics
YOLO122025Diseño orientado a mecanismos de atención
YOLO262026Arquitectura optimizada y opción de inferencia sin NMS

La tabla resume algunas generaciones representativas, no todas las variantes ni todas las bifurcaciones de investigación.

¿Existe una única definición de YOLO moderno?

No.

Las diferencias deben examinarse por versión.


12. ¿Qué aportó YOLOv2?

YOLOv2 introdujo mejoras respecto al modelo original, incluyendo técnicas relacionadas con:

  • Batch Normalization.
  • Anchor Boxes.
  • Mejoras en la resolución de entrada.
  • Predicción de cajas.
  • Entrenamiento y representación de características.

¿Por qué fueron importantes los Anchors?

Porque proporcionaron un mecanismo para trabajar con cajas de referencia de diferentes geometrías.

¿YOLOv2 y YOLO26 utilizan la misma representación?

No.


13. ¿Qué aportó YOLOv3?

YOLOv3 utilizó Darknet-53 y predicciones a diferentes escalas.

¿Qué ventaja buscaba?

Mejorar el tratamiento de objetos de distintos tamaños.

¿Qué es Darknet-53?

Es una arquitectura convolucional utilizada como extractor de características.

¿Qué relación tiene con ResNet?

Incorpora conexiones residuales.

¿YOLOv3 utiliza Anchors?

Sí, en su diseño clásico.


14. ¿Qué aportó YOLOv4?

YOLOv4 combinó diferentes mejoras de arquitectura, optimización y entrenamiento.

Entre los conceptos relacionados con su diseño están:

  • CSPDarknet53.
  • Mosaic Data Augmentation.
  • Path Aggregation.
  • Técnicas de regularización.
  • Optimización de costes y precisión.

¿Qué es CSP?

Cross Stage Partial es una familia de ideas para organizar el flujo de características y las operaciones de una red.

¿Qué es Mosaic?

Una técnica de aumento de datos que combina varias imágenes en una composición de entrenamiento.


15. ¿Qué aportó YOLOv5?

YOLOv5 fue una implementación de Ultralytics especialmente utilizada en proyectos prácticos de visión artificial.

¿Por qué fue popular?

Por su ecosistema de entrenamiento, inferencia y despliegue basado en PyTorch.

¿Es exactamente la misma arquitectura que YOLOv4?

No.

¿YOLOv5 fue desarrollado por los mismos autores del YOLO original?

No.

Esto muestra por qué conviene atribuir cada generación correctamente.


16. ¿Qué aportó YOLOv8?

YOLOv8 introdujo en la familia de Ultralytics un diseño de detección Anchor-Free y una arquitectura multitararea.

¿Qué tareas podía cubrir?

Entre otras:

  • Detección.
  • Segmentación de instancias.
  • Clasificación.
  • Pose.
  • Cajas orientadas.

¿Qué significa Anchor-Free?

Que la arquitectura no depende del mismo conjunto explícito de cajas ancla predefinidas utilizado en detectores Anchor-Based clásicos.

¿Significa que no existe ninguna asignación de predicciones durante entrenamiento?

No.

Sigue siendo necesario relacionar predicciones con objetos verdaderos.


17. ¿Qué aportó YOLOv9?

YOLOv9 propuso técnicas como:

Programmable Gradient Information (PGI)

y una arquitectura conocida como:

GELAN

¿Qué problema intentaba abordar?

Mejorar el flujo de información y la eficiencia del aprendizaje.

¿Es equivalente a añadir una simple Skip Connection?

No.

El diseño es más elaborado y forma parte de una propuesta arquitectónica específica.


18. ¿Qué aportó YOLOv10?

YOLOv10 presentó un enfoque end-to-end orientado a detección sin necesidad de NMS convencional en su ruta de inferencia.

¿Qué significa?

El modelo puede generar predicciones seleccionadas mediante una estrategia interna de asignación y entrenamiento.

¿Por qué importa?

Porque NMS puede introducir posprocesamiento y complejidad adicional.

¿Todos los YOLO anteriores pueden eliminar NMS simplemente cambiando un parámetro?

No.

El comportamiento depende de su arquitectura y de cómo fue entrenado el modelo.


19. ¿Qué caracteriza a YOLO11?

YOLO11 es una familia de modelos de Ultralytics diseñada para diferentes tareas de visión artificial.

Incluye versiones de distintos tamaños para equilibrar capacidad y recursos.

¿Por qué puede seguir siendo útil?

Porque cuenta con checkpoints y herramientas de producción establecidos.

¿Es necesariamente mejor que YOLO26 en cualquier dispositivo?

No.

Debe compararse sobre datos y hardware equivalentes.


20. ¿Qué caracteriza a YOLO12?

YOLO12 es una familia que incorpora mayor atención al diseño de mecanismos de atención dentro de una arquitectura orientada a detección eficiente.

¿Cuál es su interés?

Explorar compromisos entre representaciones contextuales, calidad predictiva y coste.

¿Es obligatorio utilizar YOLO12 para obtener atención?

No.

Existen otras arquitecturas y variantes que incorporan mecanismos de atención.


21. ¿Qué es YOLO26?

YOLO26 es una generación de Ultralytics publicada en enero de 2026.

Introduce cambios orientados a simplificar el procesamiento, mejorar el despliegue y ampliar las tareas soportadas.

Entre sus características documentadas se encuentran:

  • Inferencia end-to-end con opción NMS-Free.
  • Cabezas de detección optimizadas.
  • Actualizaciones del procedimiento de entrenamiento.
  • Soporte para distintas tareas de visión artificial.
  • Variantes de diferentes tamaños.
  • Opciones de exportación a formatos de despliegue.

¿Significa que YOLO26 es siempre la mejor elección?

No.

Puede ser un punto de partida razonable para proyectos nuevos, pero es necesario medir su comportamiento real.

¿Qué es YOLO27?

A noviembre de 2026, aparece en la documentación como una familia futura, sin lanzamiento confirmado.


22. ¿Qué significa YOLO26n, YOLO26s, YOLO26m, YOLO26l y YOLO26x?

Las letras representan escalas de tamaño y capacidad dentro de la familia.

VarianteInterpretación habitual
nNano
sSmall
mMedium
lLarge
xExtra Large

¿Qué cambia?

Dependiendo de la familia:

  • Profundidad.
  • Anchura.
  • Número de parámetros.
  • Operaciones.
  • Consumo de memoria.
  • Latencia.
  • Capacidad predictiva.

¿Una variante grande siempre produce mayor mAP?

No para cualquier dataset o entrenamiento.


23. ¿Qué es Anchor-Based Detection?

En un detector Anchor-Based, el modelo utiliza cajas de referencia.

Ejemplo

Una posición puede tener Anchors:

  • Cuadrado.
  • Horizontal.
  • Vertical.

El modelo aprende ajustes sobre esas referencias.

¿Qué ventaja histórica ofreció?

Facilitó representar cajas de diferentes proporciones.

¿Qué inconvenientes puede presentar?

La selección y asignación de Anchors añaden decisiones de diseño y pueden afectar al entrenamiento.


24. ¿Qué es Anchor-Free Detection?

En una formulación Anchor-Free, el detector predice objetos sin depender de ese mismo conjunto de cajas de referencia explícitas.

Puede utilizar:

  • Centros.
  • Distancias a bordes.
  • Posiciones espaciales.
  • Predicciones de cajas directas.

¿Anchor-Free significa que no se utilizan coordenadas?

No.

Las cajas siguen necesitando coordenadas.

¿Es equivalente a NMS-Free?

No.

Anchor-Free se refiere a la representación de localización.

NMS-Free se refiere al mecanismo de selección de detecciones en inferencia.

Son dimensiones técnicas diferentes.


25. ¿Qué es Label Assignment?

Label Assignment es el proceso mediante el cual se asignan objetivos de entrenamiento a las predicciones candidatas.

¿Por qué importa?

Un detector puede generar numerosos candidatos.

Debe decidirse cuáles se consideran responsables de aprender un objeto verdadero.

¿Qué métodos existen?

  • Asignación basada en Anchors.
  • Asignación basada en posiciones.
  • Asignación dinámica.
  • Asignación uno-a-muchos.
  • Asignación uno-a-uno.

¿Por qué aparecen enfoques uno-a-uno?

Pueden permitir entrenar rutas de predicción diseñadas para reducir duplicados en inferencia.


26. ¿Qué es Non-Maximum Suppression?

Non-Maximum Suppression (NMS) es un algoritmo utilizado para reducir cajas duplicadas que representan posiblemente el mismo objeto.

Proceso

  1. Ordenar predicciones por puntuación.
  2. Conservar la mejor.
  3. Comparar solapamientos.
  4. Eliminar candidatos redundantes.
  5. Continuar con las restantes.

¿Qué utiliza?

Generalmente Bounding Boxes, puntuaciones e IoU.

¿Se utiliza en todas las generaciones YOLO?

No necesariamente.

Algunos modelos modernos disponen de rutas de inferencia sin NMS convencional.


27. Ejemplo 2 — NMS con PyTorch

import torch
from torchvision.ops import nms
boxes = torch.tensor([
[10., 10., 100., 100.],
[15., 15., 105., 105.],
[160., 25., 240., 105.]
])
scores = torch.tensor([
0.94,
0.87,
0.91
])
keep = nms(
boxes,
scores,
iou_threshold=0.5
)
print(
"Índices conservados:",
keep.tolist()
)

Resultado esperado:

Índices conservados: [0, 2]

¿Qué demuestra?

La segunda caja se elimina por su elevado solapamiento con la primera.

¿Debemos aplicar esta función manualmente a las salidas de cualquier YOLO?

No.

La API utilizada puede haber aplicado ya el posprocesamiento necesario, o el modelo puede utilizar inferencia NMS-Free.


28. ¿Qué es Intersection over Union?

IoU mide el solapamiento entre dos cajas.

Fórmula

IoU = Intersección / Unión

Ejemplo

Caja A:

[0, 0, 100, 100]

Caja B:

[25, 0, 125, 100]

Área de intersección:

7.500

Área de unión:

12.500

Resultado:

IoU = 0,60

¿Para qué se utiliza?

  • Evaluación.
  • Asignación de objetivos.
  • Supresión de duplicados.
  • Algunas funciones de pérdida.

Su utilización concreta depende de la arquitectura.


29. Ejemplo 3 — Calcular IoU con Python

def box_iou(box_a, box_b):
ax1, ay1, ax2, ay2 = box_a
bx1, by1, bx2, by2 = box_b
x1 = max(ax1, bx1)
y1 = max(ay1, by1)
x2 = min(ax2, bx2)
y2 = min(ay2, by2)
intersection = (
max(0, x2 - x1)
* max(0, y2 - y1)
)
area_a = (
max(0, ax2 - ax1)
* max(0, ay2 - ay1)
)
area_b = (
max(0, bx2 - bx1)
* max(0, by2 - by1)
)
union = (
area_a + area_b - intersection
)
return (
intersection / union
if union > 0 else 0.0
)
a = [0, 0, 100, 100]
b = [25, 0, 125, 100]
print(
round(box_iou(a, b), 3)
)

Resultado esperado:

0,6


30. ¿Qué funciones de pérdida utiliza YOLO?

Las funciones de pérdida cambian entre generaciones.

Pueden existir componentes relacionados con:

  • Clasificación.
  • Regresión de cajas.
  • Objectness, en arquitecturas que lo utilizan.
  • Calidad geométrica.
  • Distribuciones de localización.
  • Asignación y supervisión de predicciones.

Formulación conceptual

Ltotal = λbox Lbox + λcls Lcls + otros términos

¿Esta fórmula representa exactamente YOLO26?

No.

Es una representación genérica.

Las funciones y sus ponderaciones deben estudiarse según la versión.

¿Por qué importa?

Porque copiar una función de pérdida de una generación a otra puede producir resultados incorrectos.


31. ¿Qué es IoU Loss?

Una familia de pérdidas utiliza el solapamiento geométrico.

Una forma sencilla es:

LIoU = 1 − IoU

¿Qué problema presenta IoU convencional?

Cuando dos cajas no se solapan, IoU puede ser cero y ofrecer información limitada para determinados parámetros.

¿Qué alternativas existen?

  • Generalized IoU.
  • Distance IoU.
  • Complete IoU.

¿Son intercambiables?

No.


32. ¿Qué es Distribution Focal Loss?

Distribution Focal Loss (DFL) se utiliza en ciertas arquitecturas para representar y aprender información de localización mediante distribuciones discretizadas.

¿Todas las generaciones YOLO utilizan DFL?

No.

¿Qué ocurre en YOLO26?

La documentación de YOLO26 señala un rediseño de la regresión de cajas que elimina DFL de su cabeza correspondiente.

¿Qué conclusión obtenemos?

No debemos asumir que las pérdidas utilizadas por YOLOv8, YOLO11 y YOLO26 son idénticas.


33. ¿Qué es mAP?

Mean Average Precision (mAP) es una familia de métricas ampliamente utilizada para evaluar detectores.

Combina resultados de Precision y Recall bajo un protocolo definido.

¿Qué representa Precision?

La proporción de detecciones correctas entre las predicciones positivas consideradas.

¿Qué representa Recall?

La proporción de objetos reales correctamente detectados.

¿Qué es Average Precision?

Un resumen de la curva Precision-Recall.

¿Qué es mAP?

Un promedio de AP entre clases y, según el benchmark, entre diferentes umbrales IoU.


34. ¿Qué significa mAP50?

mAP50 utiliza un umbral IoU de 0,50 para determinar coincidencias.

¿Qué significa mAP50-95?

En la evaluación COCO habitual, se agregan umbrales IoU:

0,50 a 0,95, con incrementos de 0,05.

¿Cuál es más exigente geométricamente?

mAP50-95 incorpora también umbrales altos que exigen localizaciones más precisas.

¿Es correcto comparar mAP50 de un modelo con mAP50-95 de otro?

No.


35. ¿Qué es un dataset YOLO?

Un dataset de detección compatible con el formato habitual de Ultralytics YOLO contiene:

  • Imágenes.
  • Archivos de etiquetas.
  • Un archivo de configuración YAML.

Estructura

dataset/
images/
train/
val/
test/
labels/
train/
val/
test/
data.yaml

Cada archivo de etiquetas corresponde a una imagen.

¿Qué contiene?

Una fila por objeto anotado.


36. Formato de anotación YOLO

Una fila habitual es:

class x_center y_center width height

Las coordenadas se encuentran normalizadas entre cero y uno.

Ejemplo

0 0.500000 0.500000 0.250000 0.300000

¿Qué significa?

  • Clase = 0.
  • Centro X = 0,5.
  • Centro Y = 0,5.
  • Anchura = 0,25.
  • Altura = 0,30.

¿Cómo se interpretan los valores?

En relación con el tamaño de la imagen.

¿Las clases comienzan en cero?

Sí, en este formato habitual.


37. Ejemplo 4 — Convertir XYXY a etiqueta YOLO

def xyxy_to_yolo(
box,
image_width,
image_height
):
x1, y1, x2, y2 = box
center_x = (
x1 + x2
) / 2
center_y = (
y1 + y2
) / 2
width = x2 - x1
height = y2 - y1
return [
center_x / image_width,
center_y / image_height,
width / image_width,
height / image_height
]
box = [160, 120, 320, 264]
label = xyxy_to_yolo(
box,
image_width=640,
image_height=480
)
print([
round(value, 4)
for value in label
])

Resultado esperado:

[0.375, 0.4, 0.25, 0.3]

¿Qué demuestra?

Podemos transformar cajas absolutas al formato normalizado utilizado por YOLO.


38. Ejemplo 5 — Crear una línea de anotación YOLO

class_id = 0
x_center, y_center, width, height = label
line = (
f"{class_id} "
f"{x_center:.6f} "
f"{y_center:.6f} "
f"{width:.6f} "
f"{height:.6f}"
)
print(line)

Resultado esperado:

0 0.375000 0.400000 0.250000 0.300000

¿Por qué conservar suficientes decimales?

Porque una precisión numérica demasiado baja puede desplazar las cajas, especialmente en imágenes grandes.


39. ¿Qué contiene data.yaml?

El archivo data.yaml describe el dataset.

Ejemplo:

path: /ruta/absoluta/dataset
train: images/train
val: images/val
test: images/test
names:
0: botella
1: caja
2: taza

¿Para qué sirve?

Permite que el framework encuentre las imágenes y conozca las categorías.

¿Es obligatorio incluir test?

No siempre.

Sin embargo, es recomendable disponer de un conjunto de prueba independiente para la evaluación final.

¿Qué debemos revisar?

Que los nombres de clase y los identificadores de los archivos de etiquetas coincidan.


40. ¿Cómo instalar Ultralytics YOLO?

La biblioteca proporciona una API Python y una interfaz de línea de comandos.

Instalación:

pip install ultralytics

¿Qué necesita?

Una versión compatible de Python y sus dependencias.

¿Puede ejecutarse sin GPU?

Sí.

¿La primera ejecución descarga pesos?

Puede hacerlo si utilizamos el nombre de un checkpoint preentrenado que todavía no existe localmente.


41. Ejemplo 6 — Primera detección con YOLO26

from ultralytics import YOLO
model = YOLO(
"yolo26n.pt"
)
results = model.predict(
source="imagen.jpg",
conf=0.25,
imgsz=640
)
print(
"Imágenes procesadas:",
len(results)
)
for result in results:
print(
"Detecciones:",
len(result.boxes)
)

¿Qué demuestra?

Podemos cargar un checkpoint de detección y ejecutar inferencia sobre una imagen local.

¿Qué significa conf=0.25?

Es un umbral de puntuación para conservar determinadas detecciones.

¿Qué significa imgsz=640?

Configura el tamaño de entrada utilizado por el procesamiento, sujeto a las reglas del framework.


42. Ejemplo 7 — Extraer cajas, clases y puntuaciones

result = results[0]
boxes = result.boxes.xyxy.cpu().numpy()
scores = result.boxes.conf.cpu().numpy()
classes = (
result.boxes.cls
.cpu()
.numpy()
.astype(int)
)
for box, score, class_id in zip(
boxes,
scores,
classes
):
class_name = result.names[
class_id
]
print(
"Clase:",
class_name
)
print(
"Score:",
round(float(score), 3)
)
print(
"Box:",
box.tolist()
)

¿Qué demuestra?

Las predicciones contienen información estructurada que podemos utilizar en otros programas.

¿Qué ocurre si no hay detecciones?

El bucle no produce registros.

El sistema debe manejar ese caso correctamente.


43. Ejemplo 8 — Guardar una imagen anotada

from ultralytics import YOLO
from PIL import Image
model = YOLO("yolo26n.pt")
result = model.predict(
source="imagen.jpg",
conf=0.30
)[0]
annotated = result.plot()
# result.plot() produce una imagen en
# formato BGR en el flujo habitual.
image_rgb = annotated[:, :, ::-1]
Image.fromarray(
image_rgb
).save(
"detecciones_yolo.jpg"
)

¿Qué demuestra?

Podemos producir una imagen de resultados para informes o aplicaciones.

¿Es necesario incluir todas las detecciones?

No.

Podemos filtrar categorías y puntuaciones según la finalidad.


44. Ejemplo 9 — Contar objetos detectados

from collections import Counter
result = model.predict(
source="imagen.jpg",
conf=0.40
)[0]
class_ids = (
result.boxes.cls
.cpu()
.numpy()
.astype(int)
)
counts = Counter(class_ids)
for class_id, count in counts.items():
print(
result.names[class_id],
count
)

¿Qué demuestra?

Podemos obtener una estimación de la cantidad de objetos visibles por categoría.

¿Es un recuento garantizado?

No.

El detector puede omitir objetos o generar duplicados.


45. ¿Cómo detectar objetos en vídeo?

Un detector puede procesar fotogramas procedentes de un archivo de vídeo.

¿Qué necesitamos?

  • Fuente de vídeo.
  • Modelo.
  • Procesamiento de fotogramas.
  • Gestión de resultados.
  • Recursos suficientes.

¿Es lo mismo que seguimiento?

No.

La detección identifica objetos por fotograma.

El seguimiento intenta mantener identidades entre fotogramas.


46. Ejemplo 10 — Procesar un vídeo en streaming

from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.predict(
source="video.mp4",
stream=True,
conf=0.35
)
for frame_number, result in enumerate(
results,
start=1
):
print(
frame_number,
len(result.boxes)
)

¿Qué demuestra?

El modo stream=True permite procesar resultados de forma iterativa.

¿Por qué es importante?

Puede evitar almacenar en memoria las predicciones de todo un vídeo.


47. ¿Qué es Object Tracking en YOLO?

Object Tracking intenta mantener la identidad de los objetos entre diferentes fotogramas.

Ejemplo

Un automóvil aparece durante veinte fotogramas.

El sistema intenta conservar el mismo Track ID.

¿YOLO realiza seguimiento simplemente por detectar automóviles?

No.

Necesita un procedimiento de asociación temporal.

¿Qué herramientas pueden utilizarse?

Ultralytics proporciona interfaces de tracking compatibles con algoritmos como ByteTrack y BoT-SORT, según la configuración.


48. Ejemplo 11 — Seguimiento en vídeo

from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.track(
source="video.mp4",
stream=True,
tracker="bytetrack.yaml",
persist=True
)
for result in results:
if (
result.boxes is not None
and result.boxes.id is not None
):
ids = (
result.boxes.id
.int()
.cpu()
.tolist()
)
print(
"Track IDs:",
ids
)

¿Qué demuestra?

Podemos obtener identificadores asociados a detecciones seguidas temporalmente.

¿Los IDs son perfectamente estables?

No.

Pueden producirse cambios de identidad por oclusiones y errores de asociación.


49. ¿Cómo entrenar YOLO con datos propios?

Un proceso típico es:

  1. Definir categorías.
  2. Recopilar fotografías.
  3. Anotar Bounding Boxes.
  4. Verificar las etiquetas.
  5. Dividir el dataset.
  6. Crear data.yaml.
  7. Cargar un checkpoint.
  8. Entrenar.
  9. Validar.
  10. Evaluar sobre un Test Set reservado.
  11. Exportar.
  12. Desplegar.

¿Por qué utilizar Transfer Learning?

Porque los pesos preentrenados pueden proporcionar representaciones visuales útiles.

¿Cuántas imágenes necesitamos?

No existe un número universal.

Depende de la diversidad de objetos, clases, escenarios y variaciones de imagen.


50. Ejemplo 12 — Entrenamiento con YOLO26

from ultralytics import YOLO
model = YOLO(
"yolo26n.pt"
)
train_results = model.train(
data="dataset/data.yaml",
epochs=50,
imgsz=640,
batch=8,
project="runs/brand_products",
name="experiment_001"
)

¿Qué demuestra?

Podemos adaptar un modelo preentrenado a categorías comerciales.

¿Está garantizado que cincuenta épocas sean suficientes?

No.

Es un punto de partida ilustrativo.

¿Qué debemos observar?

  • Pérdida de entrenamiento.
  • Métricas de validación.
  • Sobreajuste.
  • Rendimiento por categoría.
  • Errores visuales.

51. Entrenamiento en Windows

En Windows, el uso de procesos de carga de datos puede necesitar proteger el punto de entrada del script.

Ejemplo 13 — Patrón recomendado

from ultralytics import YOLO
def main():
model = YOLO(
"yolo26n.pt"
)
model.train(
data="dataset/data.yaml",
epochs=20,
imgsz=640,
batch=4,
workers=0
)
if __name__ == "__main__":
main()

¿Por qué utilizar este patrón?

Reduce problemas relacionados con la creación de procesos secundarios en Windows.

¿Por qué workers=0?

Es una configuración conservadora para diagnóstico y compatibilidad.

Puede ajustarse cuando el entorno funcione correctamente.


52. ¿Qué es Data Augmentation en YOLO?

El Data Augmentation modifica las imágenes de entrenamiento para crear variaciones útiles.

Técnicas frecuentes

  • Reflexión.
  • Escalado.
  • Traslación.
  • Cambios de brillo.
  • Cambios de color.
  • Mosaic.
  • MixUp, en configuraciones que lo admitan.
  • Recortes y transformaciones geométricas.

¿Qué ocurre con las cajas?

Las anotaciones deben transformarse junto con las imágenes.

¿Se deben utilizar todos los aumentos posibles?

No.

Algunas transformaciones pueden crear ejemplos poco realistas o perjudicar ciertas tareas.


53. ¿Qué es Mosaic Augmentation?

Mosaic Augmentation combina varias imágenes en una composición utilizada durante entrenamiento.

¿Para qué sirve?

Puede aumentar la variabilidad de escalas, posiciones y contexto.

¿Qué desafío presenta?

Las cajas deben transformarse correctamente y el resultado debe seguir siendo adecuado para la tarea.

¿Debe mantenerse hasta el final del entrenamiento?

Depende de la estrategia utilizada por el modelo y del procedimiento de entrenamiento.


54. ¿Cómo validar un modelo YOLO?

La validación calcula métricas sobre un dataset apropiado.

Ejemplo 14 — Validar el modelo entrenado

from ultralytics import YOLO
model = YOLO(
"runs/brand_products/"
"experiment_001/weights/best.pt"
)
metrics = model.val(
data="dataset/data.yaml",
split="val",
imgsz=640
)
print(
"mAP50:",
metrics.box.map50
)
print(
"mAP50-95:",
metrics.box.map
)

¿Qué demuestra?

Podemos recuperar métricas agregadas de detección.

¿Qué debemos evitar?

Utilizar solamente la métrica global sin analizar las clases minoritarias.


55. ¿Cómo evaluar sobre un Test Set independiente?

Después de seleccionar el modelo utilizando validación, debemos evaluarlo en datos reservados.

Ejemplo 15 — Evaluación final

metrics = model.val(
data="dataset/data.yaml",
split="test",
imgsz=640
)
print(
"Test mAP50:",
metrics.box.map50
)
print(
"Test mAP50-95:",
metrics.box.map
)

¿Por qué es importante?

Porque proporciona una evaluación menos sesgada del rendimiento.

¿Debemos utilizar los resultados del Test Set para ajustar hiperparámetros repetidamente?

No.

Eso convierte indirectamente el conjunto de prueba en parte del proceso de selección.


56. ¿Qué es Overfitting en YOLO?

Overfitting ocurre cuando el modelo aprende demasiado específicamente los ejemplos de entrenamiento y generaliza peor a imágenes nuevas.

Indicadores posibles

  • Buenas métricas en Train.
  • Peores resultados en Validation.
  • Detecciones fallidas en fondos nuevos.
  • Sensibilidad excesiva a iluminación o escala.

¿Cómo mitigarlo?

  • Más datos representativos.
  • Aumentos apropiados.
  • Validación.
  • Ajuste de capacidad del modelo.
  • Early Stopping.
  • Revisión de errores y etiquetas.

57. ¿Qué es Small Object Detection?

La detección de objetos pequeños es un desafío importante.

Ejemplos

  • Tornillos.
  • Etiquetas.
  • Códigos impresos.
  • Productos lejanos.
  • Vehículos en imágenes aéreas.

¿Por qué es difícil?

Los objetos pequeños pueden ocupar pocas posiciones en los mapas de características.

Posibles soluciones

  • Aumentar la resolución.
  • Utilizar parches.
  • Mejorar anotaciones.
  • Utilizar representaciones multiescala.
  • Entrenar con suficientes ejemplos pequeños.

¿YOLO26 garantiza que todos los objetos pequeños se detectarán?

No.


58. ¿Qué es la detección con cajas orientadas?

Oriented Bounding Box Detection (OBB) utiliza cajas que pueden estar rotadas.

Ejemplo

Un avión aparece diagonalmente en una imagen satelital.

Una caja horizontal puede incluir mucho fondo.

Una caja orientada puede ajustarse mejor a su geometría.

¿Es lo mismo que una máscara?

No.

Sigue siendo una representación rectangular, pero permite orientación.

¿Todas las variantes YOLO incluyen OBB?

No.

Debemos seleccionar una variante compatible con esa tarea.


59. ¿Puede YOLO realizar segmentación?

Algunas familias YOLO modernas ofrecen modelos de segmentación de instancias.

¿Qué cambia?

En lugar de producir únicamente cajas, pueden generar máscaras individuales.

¿El mismo checkpoint de detección produce automáticamente máscaras?

No necesariamente.

Debemos utilizar un modelo entrenado para segmentación.

¿Qué otras tareas existen?

Según la familia:

  • Clasificación.
  • Pose Estimation.
  • OBB.
  • Segmentación.
  • Otras tareas visuales especializadas.

60. Ejemplo 16 — Segmentación con una variante YOLO

from ultralytics import YOLO
model = YOLO(
"yolo26n-seg.pt"
)
results = model.predict(
source="imagen.jpg"
)
result = results[0]
if result.masks is not None:
print(
"Máscaras:",
result.masks.data.shape
)
else:
print(
"No se detectaron máscaras"
)

¿Qué demuestra?

Una variante de segmentación puede generar máscaras asociadas a detecciones.

¿Es equivalente a segmentación panóptica?

No automáticamente.


61. ¿Qué significa Pose Estimation?

Pose Estimation identifica puntos representativos de un cuerpo u objeto.

Ejemplo

En una persona:

  • Hombros.
  • Codos.
  • Rodillas.
  • Tobillos.

¿Es lo mismo que detección de objetos?

No.

La detección localiza el objeto mediante una caja.

La estimación de pose añade puntos estructurales.

¿YOLO puede hacerlo?

Sí, mediante variantes entrenadas para esta tarea.


62. ¿Qué es Export en YOLO?

Export convierte un modelo entrenado a un formato de despliegue.

Formatos utilizados según compatibilidad:

  • ONNX.
  • TensorRT.
  • OpenVINO.
  • TorchScript.
  • Otros formatos soportados.

¿Por qué exportar?

Para ejecutar inferencia mediante runtimes especializados o integrarla con aplicaciones existentes.

¿Una exportación siempre aumenta velocidad?

No.

Depende del backend y del hardware.


63. Ejemplo 17 — Exportar YOLO26 a ONNX

from ultralytics import YOLO
model = YOLO(
"yolo26n.pt"
)
exported_path = model.export(
format="onnx",
imgsz=640
)
print(
"Modelo exportado:",
exported_path
)

¿Qué demuestra?

Podemos preparar un modelo para ejecución en un runtime ONNX compatible.

¿Qué conviene verificar?

  • Salidas.
  • Precisión.
  • Formas dinámicas.
  • Dependencias.
  • Latencia.
  • Compatibilidad de posprocesamiento.

64. Ejemplo 18 — Inferencia desde ONNX exportado

from ultralytics import YOLO
model = YOLO(
"yolo26n.onnx"
)
results = model.predict(
source="imagen.jpg",
imgsz=640
)
for result in results:
print(
"Detecciones:",
len(result.boxes)
)

¿Qué demuestra?

La API puede utilizar un modelo exportado compatible.

¿Significa que todos los runtimes ONNX producen salidas idénticas?

No necesariamente.

Conviene validar diferencias numéricas y de posprocesamiento.


65. ¿Qué significa Quantization?

Quantization consiste en representar cálculos o parámetros con formatos numéricos de menor precisión.

Ejemplos

  • FP16.
  • INT8.

¿Qué ventaja puede aportar?

Reducir memoria y mejorar rendimiento en determinados dispositivos.

¿Qué riesgo existe?

Puede disminuir la calidad predictiva si no se realiza adecuadamente.

¿Qué debemos hacer?

Comparar mAP y latencia antes y después de la cuantización.


66. ¿Qué es Edge AI con YOLO?

Edge AI consiste en ejecutar modelos de inteligencia artificial cerca de la fuente de datos.

Por ejemplo:

  • Cámara inteligente.
  • Ordenador industrial.
  • Dispositivo embebido.
  • Equipo de inspección local.

¿Qué ventajas puede ofrecer?

  • Reducir transferencias de imágenes.
  • Mejorar latencia.
  • Operar con conectividad limitada.
  • Mantener ciertos datos localmente.

¿Qué limitaciones existen?

Memoria, potencia de procesamiento, temperatura y consumo energético.


67. ¿Cómo comparar YOLO26n y YOLO11n?

Una comparación rigurosa debe utilizar:

  • El mismo dataset.
  • Las mismas clases.
  • El mismo hardware.
  • Resolución equivalente.
  • Condiciones de inferencia documentadas.
  • Métricas comparables.

¿Qué medir?

  • mAP50-95.
  • Precision.
  • Recall.
  • Latencia.
  • Throughput.
  • Memoria.
  • Tamaño del checkpoint.

¿Debemos utilizar únicamente los números de marketing?

No.

Lo más útil es ejecutar un benchmark representativo de nuestra aplicación.


68. Ejemplo 19 — Comparación básica de inferencia

import time
from ultralytics import YOLO
models = {
"YOLO26n": YOLO("yolo26n.pt"),
"YOLO11n": YOLO("yolo11n.pt")
}
image_path = "imagen.jpg"
for name, model in models.items():
# Calentamiento
for _ in range(3):
model.predict(
source=image_path,
verbose=False
)
times = []
for _ in range(10):
start = time.perf_counter()
model.predict(
source=image_path,
verbose=False
)
times.append(
time.perf_counter() - start
)
average = sum(times) / len(times)
print(
name,
f"{average * 1000:.2f} ms"
)

¿Qué demuestra?

Podemos comparar el tiempo completo de llamadas de inferencia bajo condiciones similares.

¿Es un benchmark científico definitivo?

No.

La medición incluye componentes de procesamiento y ejecución dependientes del entorno.

Para una comparación rigurosa conviene registrar dispositivo, versiones, temperaturas, resolución, variabilidad y condiciones de carga.


69. ¿Cómo construir un detector de productos para una empresa?

Supongamos una empresa con tres categorías:

  • Botella.
  • Caja.
  • Taza.

Paso 1

Recopilar fotografías representativas.

Paso 2

Anotar cada objeto con una Bounding Box.

Paso 3

Crear categorías e identificadores.

Paso 4

Separar Train, Validation y Test.

Paso 5

Crear data.yaml.

Paso 6

Entrenar un YOLO preentrenado.

Paso 7

Evaluar mAP y errores por clase.

Paso 8

Ajustar el sistema.

Paso 9

Exportar y desplegar.

Paso 10

Monitorizar el rendimiento cuando cambian los productos o las condiciones de imagen.


70. ¿Cómo utilizar YOLO para contar productos?

Un detector puede estimar cuántas instancias visibles corresponden a una categoría.

Ejemplo

Una estantería contiene botellas.

El detector devuelve doce cajas de botellas.

El sistema informa:

12 botellas detectadas.

¿Garantiza que realmente existen doce?

No.

Pueden existir falsos positivos, objetos omitidos y duplicados.

¿Qué debemos evaluar?

También conviene medir errores de conteo, no únicamente mAP.


71. YOLO en inspección industrial

Un modelo puede utilizarse para identificar componentes.

Ejemplos

  • Tornillos.
  • Conectores.
  • Cajas.
  • Herramientas.
  • Piezas mecánicas.

¿Qué aporta?

Localización y clasificación visual.

¿Puede detectar defectos?

Si el sistema ha sido entrenado o diseñado para reconocer esas categorías o anomalías.

¿Es suficiente para certificación industrial?

No.

Se necesita validación apropiada al proceso, control de errores y requisitos de calidad.


72. YOLO en imágenes satelitales

Un detector puede identificar objetos en imágenes aéreas.

Ejemplos

  • Vehículos.
  • Barcos.
  • Aviones.
  • Instalaciones.
  • Estructuras específicas.

¿Qué desafío aparece?

Los objetos pueden ser pequeños y aparecer rotados.

¿Qué ayuda?

  • Modelos orientados a OBB.
  • Alta resolución.
  • Procesamiento por parches.
  • Datos representativos.
  • Evaluación específica.

73. YOLO y análisis de vídeo

Un sistema puede procesar fotogramas y localizar objetos en movimiento.

Aplicaciones

  • Conteo de vehículos.
  • Análisis de flujos.
  • Inspección automatizada.
  • Estadísticas de movimiento.
  • Robótica móvil.

¿Qué debemos considerar?

  • Latencia.
  • Frame Rate.
  • Seguimiento.
  • Oclusiones.
  • Persistencia de identidades.
  • Privacidad y seguridad.

74. YOLO en AI Visibility

Una plataforma de AI Visibility puede utilizar detección de objetos para analizar activos visuales.

Caso 1. Fotografías comerciales

Detectar objetos y productos.

Caso 2. Capturas de páginas web

Localizar elementos visuales definidos.

Caso 3. Catálogos digitales

Estimar cantidades y posiciones de artículos.

Caso 4. Reconocimiento de elementos de marca

Adaptar un detector para localizar tipos específicos de activos gráficos.

¿Qué beneficio aporta?

Información estructurada sobre objetos visuales.

¿Qué no aporta automáticamente?

Una mejora en las recomendaciones o citas generadas por asistentes externos.


75. ¿YOLO aumenta Recommendation Rate?

No directamente.

Recommendation Rate mide recomendaciones observadas según una metodología.

YOLO detecta objetos visuales.

Su uso en una herramienta comercial no modifica por sí solo las respuestas de sistemas externos de inteligencia artificial.


76. ¿YOLO mejora Citation Coverage?

No directamente.

Citation Coverage está relacionada con citas o referencias observadas en respuestas de asistentes.

Una Bounding Box no representa una cita.

YOLO puede formar parte de un sistema de análisis visual, pero no genera automáticamente nuevas referencias de una marca.


77. ¿Qué licencia debemos revisar?

Antes de utilizar una implementación YOLO en producción, debemos revisar su licencia.

Las diferentes generaciones y repositorios pueden utilizar términos distintos.

En particular, Ultralytics ofrece modalidades de licencia que incluyen AGPL-3.0 y licencia Enterprise.

¿Por qué importa para una empresa?

Porque la distribución de software, los servicios SaaS y el uso de modelos pueden crear obligaciones relacionadas con el código y los derechos de utilización.

¿Podemos asumir que un paquete gratuito puede integrarse en cualquier aplicación propietaria?

No.

¿Qué debemos hacer?

Revisar los términos vigentes y obtener asesoramiento adecuado cuando la arquitectura vaya a formar parte de un producto comercial.


78. Errores frecuentes al utilizar YOLO

Error 1. Considerar todas las versiones YOLO idénticas

Las generaciones tienen arquitecturas distintas.

Error 2. Suponer que todas utilizan Anchors

Existen diseños Anchor-Free.

Error 3. Confundir Anchor-Free y NMS-Free

Son características diferentes.

Error 4. Aplicar NMS manualmente a resultados ya procesados

Puede modificar incorrectamente las detecciones.

Error 5. Confundir formato XYXY con CXCYWH

Produce errores de geometría.

Error 6. Utilizar coordenadas absolutas en archivos YOLO normalizados

Genera anotaciones incorrectas.

Error 7. Utilizar clases que comienzan en uno en el formato Ultralytics habitual

Puede desplazar los identificadores de categorías.

Error 8. No verificar las etiquetas

Puede impedir un entrenamiento correcto.

Error 9. Mezclar imágenes relacionadas entre Train y Test

Produce Data Leakage.

Error 10. Utilizar mAP50 como si fuera mAP50-95

Son métricas diferentes.

Error 11. No evaluar Precision y Recall

Oculta determinados tipos de errores.

Error 12. Ajustar umbrales utilizando Test Set

Introduce sesgo de selección.

Error 13. Suponer que la puntuación es una probabilidad perfectamente calibrada

No necesariamente.

Error 14. No medir latencia real

Puede producir expectativas incorrectas de despliegue.

Error 15. Ignorar preprocesamiento y posprocesamiento

Subestima tiempos y costes.

Error 16. Suponer que el modelo más grande siempre es mejor

Depende de datos y recursos.

Error 17. No considerar objetos pequeños

Puede afectar aplicaciones industriales.

Error 18. Aplicar Data Augmentation inapropiado

Puede producir ejemplos irreales.

Error 19. Utilizar categorías COCO como si fueran códigos SKU

No son equivalentes.

Error 20. Confundir detección con seguimiento

Detectar en un fotograma no proporciona identidad temporal persistente.

Error 21. Suponer que un modelo de detección produce máscaras automáticamente

Se necesita una variante de segmentación.

Error 22. No validar después de exportar

Puede ocultar diferencias numéricas.

Error 23. Confundir FPS y latencia

Miden aspectos diferentes.

Error 24. Ignorar licencias del software y modelos

Puede crear problemas de cumplimiento.

Error 25. Relacionar YOLO directamente con Citation Coverage

No existe una relación automática.


79. Buenas prácticas para implementar YOLO

  1. Seleccionar una versión concreta.
  2. Consultar su documentación.
  3. Verificar la licencia.
  4. Definir las categorías de negocio.
  5. Recopilar imágenes representativas.
  6. Anotar las cajas con precisión.
  7. Comprobar el formato YOLO.
  8. Revisar los IDs de clase.
  9. Separar entrenamiento, validación y prueba.
  10. Evitar filtración de imágenes relacionadas.
  11. Comenzar con Transfer Learning.
  12. Utilizar un modelo compacto como línea base.
  13. Medir mAP50 y mAP50-95.
  14. Analizar Precision y Recall.
  15. Evaluar clases minoritarias.
  16. Estudiar objetos pequeños y ocluidos.
  17. Ajustar los umbrales con validación.
  18. Documentar el posprocesamiento.
  19. Medir latencia real.
  20. Comparar distintos tamaños de modelo.
  21. Validar la exportación.
  22. Registrar dependencias y checkpoints.
  23. Probar con imágenes difíciles.
  24. Monitorizar cambios en los datos.
  25. Revisar resultados antes del despliegue.

Preguntas frecuentes sobre YOLO

¿Qué significa YOLO?

You Only Look Once.

¿Qué es YOLO?

Es una familia de arquitecturas de visión artificial para detección eficiente de objetos y otras tareas relacionadas.

¿Quién desarrolló el YOLO original?

Joseph Redmon, Santosh Divvala, Ross Girshick y Ali Farhadi.

¿Cuándo se publicó?

En CVPR 2016.

¿Qué hace YOLO?

Detecta objetos y estima sus localizaciones.

¿YOLO es una CNN?

El YOLO original y numerosas generaciones posteriores utilizan predominantemente redes convolucionales, aunque otras incorporan mecanismos adicionales.

¿Qué es un Backbone?

Es un extractor de características visuales.

¿Qué es un Neck?

Es una etapa que combina representaciones de diferentes niveles.

¿Qué es una Detection Head?

Es la parte que produce predicciones utilizadas para construir detecciones.

¿Qué es una Bounding Box?

Es una caja rectangular que delimita un objeto.

¿Qué significa Objectness?

Es una puntuación asociada a la presencia de un objeto en determinadas arquitecturas.

¿YOLO predice siempre Objectness separadamente?

No.

¿Qué significa Anchor-Based?

Detección basada en cajas de referencia.

¿Qué significa Anchor-Free?

Detección que no depende del mismo conjunto explícito de cajas ancla clásicas.

¿Anchor-Free significa NMS-Free?

No.

¿Qué es Label Assignment?

Es relacionar candidatos de predicción con objetos verdaderos durante entrenamiento.

¿Qué es NMS?

Non-Maximum Suppression.

¿Todos los YOLO necesitan NMS?

No necesariamente.

¿Qué es YOLOv1?

La arquitectura original publicada en 2016.

¿Qué es YOLOv3?

Una generación que utiliza Darknet-53 y detección multiescala.

¿Qué es YOLOv4?

Una generación que incorpora mejoras de arquitectura y entrenamiento.

¿Qué es YOLOv5?

Una familia de implementación desarrollada por Ultralytics.

¿Qué es YOLOv8?

Una familia Anchor-Free de Ultralytics.

¿Qué es YOLOv9?

Una arquitectura asociada con Programmable Gradient Information.

¿Qué es YOLOv10?

Una arquitectura orientada a detección end-to-end sin NMS convencional.

¿Qué es YOLO11?

Una familia multitararea de Ultralytics.

¿Qué es YOLO12?

Una familia que incorpora mecanismos de atención en su arquitectura.

¿Cuál es la versión más reciente disponible en noviembre de 2026?

YOLO26 es la generación más reciente publicada de Ultralytics según su documentación consultada.

¿YOLO27 ya está disponible?

No aparece como lanzamiento disponible confirmado en la documentación consultada.

¿Qué significa YOLO26n?

Es la variante Nano de YOLO26.

¿Qué significa YOLO26x?

Es una variante de mayor escala.

¿Qué versión conviene para empezar?

Una variante compacta preentrenada puede ser un buen punto de partida, seguida de comparaciones con alternativas.

¿Qué es IoU?

Intersection over Union.

¿Qué es Precision?

Es la proporción de predicciones positivas correctas.

¿Qué es Recall?

Es la proporción de objetos reales correctamente detectados.

¿Qué es mAP?

Mean Average Precision.

¿Qué es mAP50?

Es AP promediada bajo un protocolo con IoU 0,50.

¿Qué es mAP50-95?

Es AP agregada sobre múltiples umbrales de IoU entre 0,50 y 0,95.

¿Qué es COCO?

Common Objects in Context.

¿Cuántas clases habituales tiene COCO Detection?

Ochenta categorías principales en su evaluación convencional.

¿Qué es el formato YOLO?

Un formato de anotación que utiliza clase y coordenadas normalizadas de caja.

¿Las clases comienzan en cero?

Sí, en el formato habitual de detección de Ultralytics.

¿Qué es data.yaml?

Es la configuración de rutas y categorías del dataset.

¿Qué es Transfer Learning?

Es reutilizar pesos preentrenados.

¿Qué es Fine-Tuning?

Es adaptar pesos a un nuevo dataset.

¿Qué es Mosaic?

Una técnica de aumento de datos que combina varias imágenes.

¿Qué es Small Object Detection?

Es la detección de objetos pequeños.

¿Puede ejecutarse YOLO en CPU?

Sí.

¿Es obligatoria una GPU?

No, pero puede mejorar el rendimiento.

¿Puede YOLO analizar vídeos?

Sí.

¿Puede seguir objetos?

Sí, cuando se combina con un sistema de tracking.

¿Qué es ByteTrack?

Es un método de asociación y seguimiento de objetos en vídeo.

¿Qué es ONNX?

Es un formato utilizado para intercambiar y desplegar modelos de aprendizaje automático.

¿Puede exportarse YOLO a ONNX?

Sí, con versiones y modelos compatibles.

¿Qué es TensorRT?

Es una plataforma de optimización e inferencia de NVIDIA.

¿Qué significa Quantization?

Es utilizar representaciones numéricas de menor precisión.

¿Qué es Edge AI?

Es ejecutar inteligencia artificial cerca de la fuente de datos.

¿YOLO puede detectar productos?

Sí, con categorías y entrenamiento apropiados.

¿Puede identificar un SKU exacto?

No necesariamente.

¿Puede contar objetos?

Puede estimar cantidades mediante sus detecciones.

¿Puede detectar defectos industriales?

Sí, cuando el sistema se entrena y valida para esa finalidad.

¿Puede analizar imágenes satelitales?

Sí.

¿Qué es OBB?

Oriented Bounding Box.

¿Puede YOLO producir máscaras?

Sí, mediante variantes de segmentación compatibles.

¿Puede estimar Pose?

Sí, mediante variantes entrenadas para esa tarea.

¿YOLO es siempre más rápido que Faster R-CNN?

No en todas las condiciones.

¿Se puede utilizar Ultralytics YOLO en un SaaS propietario?

Depende del cumplimiento de sus términos de licencia; puede requerirse una licencia Enterprise.

¿YOLO mejora Recommendation Rate?

No directamente.

¿YOLO mejora Citation Coverage?

No directamente.

¿Por qué importa para AI Visibility?

Puede utilizarse en sistemas que analizan productos, capturas y activos visuales de marca.


Conceptos relacionados

  • Inteligencia Artificial.
  • Machine Learning.
  • Deep Learning.
  • Visión por Computadora.
  • Object Detection.
  • Arquitectura YOLO.
  • You Only Look Once.
  • Bounding Boxes.
  • Backbone.
  • Neck.
  • Detection Head.
  • Objectness.
  • Confidence Score.
  • Anchor Boxes.
  • Anchor-Free Detection.
  • Label Assignment.
  • Non-Maximum Suppression.
  • IoU.
  • Generalized IoU.
  • Focal Loss.
  • Distribution Focal Loss.
  • Precision.
  • Recall.
  • Average Precision.
  • Mean Average Precision.
  • COCO.
  • Transfer Learning.
  • Fine-Tuning.
  • Data Augmentation.
  • Mosaic.
  • Feature Pyramid Network.
  • Darknet.
  • YOLOv1.
  • YOLOv3.
  • YOLOv4.
  • YOLOv5.
  • YOLOv8.
  • YOLOv9.
  • YOLOv10.
  • YOLO11.
  • YOLO12.
  • YOLO26.
  • Faster R-CNN.
  • SSD.
  • RetinaNet.
  • PyTorch.
  • Ultralytics.
  • ONNX.
  • Edge AI.
  • Object Tracking.
  • AI Visibility.

Conclusión

La Arquitectura YOLO (You Only Look Once) representa una de las familias más influyentes en la evolución de la detección de objetos mediante Deep Learning.

Su propuesta original consistió en utilizar una red neuronal unificada para estimar cajas delimitadoras y categorías a partir de imágenes completas.

Esta aproximación contribuyó a impulsar la detección de objetos con baja latencia y favoreció el desarrollo de numerosas aplicaciones prácticas.

A lo largo de sus generaciones, YOLO ha incorporado técnicas de extracción multiescala, mejoras de entrenamiento, nuevas representaciones de cajas, mecanismos Anchor-Free y diferentes estrategias de selección de predicciones.

Sin embargo, no todas las versiones utilizan las mismas operaciones.

Por eso resulta fundamental estudiar cada arquitectura concreta antes de modificar sus pérdidas, cabezas o posprocesamiento.

En noviembre de 2026, YOLO26 constituye una generación actual de referencia dentro del ecosistema Ultralytics, mientras que YOLO11 y otras versiones anteriores siguen siendo relevantes para aplicaciones existentes y comparaciones técnicas.

Python y Ultralytics permiten ejecutar inferencia, preparar datasets personalizados, entrenar modelos y exportar checkpoints a formatos de despliegue.

La evaluación debe incluir métricas como mAP, Precision y Recall, además de la latencia y el consumo de memoria.

Para proyectos empresariales, también resulta importante revisar las licencias del software y los modelos.

En aplicaciones de AI Visibility, YOLO puede contribuir al análisis visual de productos, capturas web y activos de marca, aunque no produce directamente nuevas recomendaciones ni citas en asistentes externos.

La conclusión fundamental es que YOLO combina reconocimiento y localización de objetos dentro de una familia de detectores optimizados para diferentes compromisos de calidad y eficiencia. Su valor práctico reside en transformar imágenes y vídeos en información estructurada que puede incorporarse a aplicaciones reales de visión artificial.

Solicitar Análisis Gratuito
Solicitar Análisis Gratuito

Visibilidad IA

Contact

Menu

(c) 2025-2026  Todos los derechos reservados | Designed by Benelux-IT