Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Detección de objetos, Unidad 2 — Representación del problema, 2.1 — Bounding boxes y anotaciones ·

Formatos de cajas

Formatos de cajas: La clave para la detección de objetos

Introducción

En la detección de objetos, las bounding boxes (cajas delimitadoras) son una herramienta fundamental. Estas cajas permiten a los modelos marcar precisamente dónde se encuentra un objeto en una imagen o video, y cuál es su tamaño relativo. Sin embargo, existen múltiples formatos de bounding box que pueden ser utilizados para representar estas cajas delimitadoras, cada uno con sus propias ventajas y desventajas. En este artículo, exploraremos los diferentes formatos de bounding boxes y cómo elegir el más adecuado dependiendo de tu tarea de detección.

Explicación principal

Las bounding boxes son utilizadas para marcar objetos en imágenes o videos. Dependiendo del formato que se utilice, las cajas pueden ser representadas de formas ligeramente diferentes. Los formatos más comunes incluyen:

1. Formatos de coordenadas mínimas y máximas (Xmin, Ymin, Xmax, Ymax)

Este es el formato más básico y directo. Se utiliza para especificar las coordenadas del punto superior izquierdo (Xmin, Ymin) y el punto inferior derecho (Xmax, Ymax) de la caja.

# Ejemplo en Python
x_min = 100
y_min = 200
x_max = 300
y_max = 400

# Caja delimitadora
bbox = [x_min, y_min, x_max, y_max]

2. Formatos de coordenadas centrales (Xc, Yc) con ancho y alto (w, h)

En este formato, las coordenadas son el centro de la caja delimitadora (Xc, Yc), junto con el ancho (w) y el alto (h).

# Ejemplo en Python
x_center = 200
y_center = 300
width = 100
height = 150

# Caja delimitadora
bbox = [x_center, y_center, width, height]

3. Formatos de coordenadas centrales (Xc, Yc) con ancho y alto normalizados en [0,1]

Este formato es similar al anterior pero las dimensiones son normalizadas por la resolución total del imagen.

# Ejemplo en Python
x_center = 0.5
y_center = 0.75
width = 0.3
height = 0.2

# Caja delimitadora
bbox = [x_center, y_center, width, height]

Errores típicos / trampas

  1. Mala elección de formato: No elegir el formato adecuado puede llevar a errores en la detección. Por ejemplo, usar un formato no normalizado cuando se requiere uno normalizado puede distorsionar las cajas delimitadoras.
  1. Fallo al ajustar bounding boxes: Si los datos de entrada para las coordenadas están fuera de rango (por ejemplo, Xmax es mayor que el ancho total de la imagen), esto puede llevar a errores en las predicciones.
  1. Desconocer el impacto de la normalización: No entender cómo se normalizan los valores puede llevar a cajas delimitadoras incorrectas, especialmente cuando se pasan a modelos preentrenados que esperan cierto formato.

Checklist accionable

  1. Verifica el formato requerido: Asegúrate de conocer y entender el formato específico requerido por tu modelo de detección.
  2. Normaliza tus datos: Si estás trabajando con un formato no normalizado, asegúrate de normalizar los valores antes del entrenamiento.
  3. Valida tus cajas delimitadoras: Verifica que las coordenadas de tus bounding boxes están dentro del rango válido para tu dataset y modelo.
  4. Elije el formato adecuado: Dependiendo de la tarea, elige un formato que mejor se adapte a tus necesidades (Xmin, Ymin, Xmax, Ymax; Xc, Yc, w, h; o Xc, Yc, w, h normalizados).
  5. Revisa los datos de entrada: Asegúrate de que las coordenadas de entrada estén bien formateadas y no contengan errores.

Cierre con "Siguientes pasos"

Siguientes pasos

  1. Aprende a preprocesar tus datos: Familiarízate con los procesos necesarios para preparar tus datos en el formato correcto.
  2. Explora más modelos de detección: Comienza a experimentar con diferentes modelos de detección que utilizan bounding boxes en formatos variados.
  3. Prueba tu modelo: Convierte cajas delimitadoras en un formato diferente y evalúa cómo afecta la precisión de tus predicciones.

La elección correcta del formato de bounding box es crucial para el éxito de cualquier tarea de detección de objetos. Cada formato tiene sus propias ventajas y desventajas, y entender cuándo utilizar cada uno puede marcar una gran diferencia en los resultados finales.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).