# Fundamentos de la ventana de anotación

## Annotate Data for Object Detection <a href="#annotate-data-for-object-detection" id="annotate-data-for-object-detection"></a>

### First Look <a href="#first-look" id="first-look"></a>

{% hint style="info" %}
Necesitarás un equipo con una [Nvidia GPU](https://docs.augelab.com/spanish/introduccion/system-requirements), tener instalados [CUDA, CUDNN](https://docs.augelab.com/spanish/primeros-pasos/installation-and-licensing#gpu-acceleration-cuda) y usar la ventana **Module Downloader Window** (Module Downloader Window) para instalar el paquete de IA.
{% endhint %}

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-a8f8a6f14194dc8bce64265d0e4420fb3f3939de%2Fannotation-window-first-look.jpg?alt=media" alt=""><figcaption></figcaption></figure>

La Image Annotation Window de AugeLab Studio permite anotar imágenes dibujando bounding boxes alrededor de los objetos de interés y asociándolos a clases específicas.

### Getting Started <a href="#getting-started" id="getting-started"></a>

Para abrir la Image Annotation Window, ve al menú superior y haz clic en "AI Tools" ➡️ "Image Annotation".

Para anotar imágenes necesitas dos cosas:

1. Un archivo `.class`
2. Un dataset

### Class File <a href="#class-file" id="class-file"></a>

Para etiquetar tus datos, primero necesitas un archivo `classes.names`, que es un archivo de texto simple con extensión *.names*. Un archivo de clases típico se ve así:

```
Human
Dog
Cat
Cup
```

Si no tienes dicho archivo, puedes crear uno usando la sección `Classes`:

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-6a3ecf49986537ff260b161f6b5becb9355f9e4f%2Fannotation-window-classes-section.jpg?alt=media" alt="" width="250"><figcaption></figcaption></figure>

Para crear tu propio archivo de clases:

1. Escribe un nombre de clase
2. Haz clic en `+` para añadir tu clase.
3. Haz clic en `Save Classes` (tercer botón) y ya podrás elegir una carpeta.

También puedes hacer clic en `-` para eliminar clases no deseadas.

### Load Image Folder <a href="#load-image-folder" id="load-image-folder"></a>

{% hint style="warning" %}
Asegúrate de que la ruta a tu dataset no contenga caracteres no ingleses.
{% endhint %}

Haz clic en `Open Folder` en la parte superior de la pantalla y elige la carpeta que contiene todas tus imágenes:

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-9213978ede4a7ddd20ef9e1df3911d9ebfe57ff8%2Fannotation-load-folder.png?alt=media" alt=""><figcaption></figcaption></figure>

Tras hacer clic en `Open Folder`, aparecerá un diálogo pidiéndote que selecciones una carpeta y un archivo de clases:

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-e282da66189d8c6c8cae0ba029bcb06957bb5bb0%2Fannotation-window-folder-dialog.jpg?alt=media" alt=""><figcaption></figcaption></figure>

Select Image from List: Después de cargar la carpeta de imágenes, se mostrará una lista de imágenes disponibles. Haz clic en una imagen para seleccionarla y anotarla.

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-2ef8eb999770bdc42901ba04a35c8e83b8e0a0ce%2Fannotation-folder-loaded.jpg?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### Annotating Images <a href="#annotating-images" id="annotating-images"></a>

Anotar imágenes es muy sencillo. Haz clic en la esquina superior izquierda del objeto que deseas detectar, arrastra el ratón y suéltalo cuando hayas terminado.

![Annotation Window](https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-408c74b4a6cef4063e25c0c30acc094904c04ef7%2Fdrone-annotation.webp?alt=media)

Los bounding boxes deben ajustarse de forma ceñida al objeto de interés sin incluir demasiado fondo. Esto ayuda al modelo a enfocarse en las características relevantes del objeto.

{% tabs %}
{% tab title="Bad Annotation" %}

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-a4090883b5130662b9223684b7b25081c37e0fad%2Fimage%20(74).png?alt=media" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Good Annotation" %}

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-fe83e4c833bbb81a14d0cee4bc2af965c8e8dd59%2Fimage%20(73).png?alt=media" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### Using the Dataset Panel <a href="#using-the-dataset-panel" id="using-the-dataset-panel"></a>

<figure><img src="https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-059ef40e745bd39fb9da589e9db94c8d3fbd052b%2Fdataset-panel.png?alt=media" alt=""><figcaption></figcaption></figure>

El panel Dataset ofrece varias funcionalidades:

1. La función `Filter` que te permite filtrar varias clases de imágenes:
   * `All` Todas las imágenes, con y sin anotaciones
   * `Annotated` Imágenes que contienen anotaciones.
   * `Empty` Imágenes sin anotaciones, pero incluidas en el entrenamiento. Esto significa que objetos no anotados pueden afectar negativamente el entrenamiento.
   * `Excluded` Imágenes que no tienen archivo de anotación. No afectan al entrenamiento en absoluto.
2. La funcionalidad `Search` te permitirá filtrar imágenes por su nombre.

### Annotating Videos <a href="#annotating-videos" id="annotating-videos"></a>

También puedes anotar archivos de vídeo usando el modo **Video** en la parte superior de la ventana:

![](https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-3be51a7e7e0fb89fda31e85345ac316484fcbb0d%2Fannotation-modes.png?alt=media)

Al cambiar al modo video se te pedirá una ruta de archivo. Al elegir el video podrás anotarlo de la misma forma que una carpeta de imágenes.

### Tools <a href="#tools" id="tools"></a>

Hay varias herramientas en Annotation Tool para ayudarte durante la preparación del dataset:

#### Class Frequency Analysis <a href="#class-frequency-analysis" id="class-frequency-analysis"></a>

Al hacer clic en Class Frequency Analysis se analizará y mostrará cuántas instancias de cada clase existen en tu dataset.

Esto es útil para comprobar si tienes un dataset balanceado o no.

#### Augment Dataset <a href="#augment-dataset" id="augment-dataset"></a>

AugeLab Studio aplica automáticamente augmentación al dataset. La augmentación es el proceso de crear datos similares de forma artificial.

Este tema se trata con más detalle en la página [**Augmenting Your Dataset**](https://docs.augelab.com/spanish/caracteristicas-clave/annotate-data-for-object-detection/augment-dataset).

## 🛠️ Troubleshooting AI Vision

Si tus modelos de IA no se comportan como esperas, usa estos ajustes rápidos para mejorar el rendimiento.

<details>

<summary>🚫 "It annotates nothing" (Zero Detections)</summary>

Cuando la IA es demasiado "tímida" y no etiqueta nada, normalmente es un problema de umbral o de la descripción.

* **Lower Confidence:** Reduce ligeramente el **Confidence Threshold** (por ejemplo).
* **Text Sensitivity:** Para Grounding DINO, baja el **Text Threshold** para que sea menos restrictivo con la coincidencia de palabras.
* **Be Specific:** En lugar de "part", prueba con "silver metal bolt" o "red plastic cap". Las descripciones deben ser visuales.
* **Check Lists:** Verifica que tu lista de clases esté realmente cargada en la configuración del nodo y que no esté vacía.

</details>

<details>

<summary>📦 "Too many wrong boxes" (Ghost Detections)</summary>

Si la pantalla está llena de falsos positivos, necesitas aumentar la "severidad" del modelo.

* **Raise Confidence:** Incrementa el **Confidence Threshold** para filtrar conjeturas de baja certidumbre.
* **Text Strictness:** Aumenta el **Text Threshold** para forzar una correspondencia más estricta entre la imagen y tu prompt.
* **Remove Ambiguity:** Evita prompts demasiado generales como "object" o "item". Si la IA etiqueta sombras como "parts", describe específicamente colores o texturas únicas de la pieza.

</details>

<details>

<summary>❓ "YOLO model doesn't detect my class"</summary>

Los modelos YOLO estándar están pre-entrenados en datasets específicos.

* **COCO Standard:** Los modelos YOLO básicos solo reconocen las 80 categorías de COCO. Tus etiquetas deben coincidir exactamente (por ejemplo, `person`, `cell phone`, `chair`, `bottle`).
* **Custom Needs:** Si necesitas detectar algo específico (como "scratched circuit board"), cambia a un modelo de Text-Prompt (como Grounding DINO) o entrena un modelo **Custom YOLO**.

</details>

<details>

<summary>🐌 "Processing is slow or laggy"</summary>

Los modelos de visión requieren muchos recursos computacionales.

* **First-Run Delay:** Es normal que la primera ejecución sea lenta mientras los modelos se descargan e inicializan en memoria.
* **Model Size:** Grounding DINO Base y OWLv2 Large ofrecen alta precisión pero son "pesados". Prueba variantes "Tiny" o "Small" para mayor velocidad.
* **Hardware:** Asegúrate de que AugeLab esté utilizando tu **GPU**. Ejecutar modelos grandes en CPU provocará latencia significativa.

</details>

***

#### 💡 ¿Aún atascado?

Prueba el **AI Assistant** en AugeLab Studio. Describe la vista de tu cámara y cómo lucen actualmente las cajas; a menudo puede sugerir el valor decimal exacto para tus umbrales.

¿Quieres que cree una tabla "Threshold Cheat Sheet" que explique exactamente qué hacen Confidence vs. Text thresholds?]\(./augment-dataset.md).

{% hint style="warning" %}
El proceso de augmentación debe realizarse después de terminar la anotación.
{% endhint %}

{% hint style="warning" %}
El proceso de augmentación puede aumentar el tamaño en disco de tu dataset hasta 10 veces.
{% endhint %}

#### Preprocess Image <a href="#preprocess-image" id="preprocess-image"></a>

La herramienta Preprocess Image te permite cambiar el contraste, brillo y gamma de las imágenes que se muestran en la ventana. Esta función es útil cuando trabajas con imágenes muy oscuras o demasiado brillantes.

![](https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-ea614591a99ba0fb4c1aa63655adfa91024e1d7d%2Fpreprocess-image.png?alt=media)

#### Change Class Id <a href="#change-class-id" id="change-class-id"></a>

La herramienta Change Class Id te permitirá cambiar todas las instancias anotadas de una clase a otra diferente.

Esta herramienta es útil al fusionar dos datasets distintos.

![](https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-855577ac596492464532d4657bd17311d15dc45a%2Fchange-class-id.png?alt=media)

#### Shortcuts and Help <a href="#shortcuts-and-help" id="shortcuts-and-help"></a>

<details>

<summary>Para atajos y ayuda, haz clic en el botón `Help` en el menú superior.</summary>

* `D`: Mostrar la siguiente imagen o frame.
* `A`: Mostrar la imagen o frame anterior.
* `Shift + D`: Avanzar 10 imágenes/frames.
* `Shift + A`: Retroceder 10 imágenes/frames.
* `W`: Disminuir la selección de clase.
* `S`: Incrementar la selección de clase.
* `Shift + W`: Disminuir la selección de clase en 3.
* `Shift + S`: Incrementar la selección de clase en 3.
* `X`: Eliminar la última anotación de bounding box.
* `Shift + C`: Borrar todas las anotaciones.
* `O`: Añadir un archivo de anotación vacío o limpiar anotaciones.
* `P`: Eliminar anotaciones y limpiar el archivo.
* `M`: Mover o excluir imagen a otra carpeta (solo en Folder Mode).
* `Shift + Delete`: Eliminar imagen y anotación del equipo (solo en Folder Mode).

</details>

#### Training With Custom AI Object Detection Model <a href="#training-with-custom-ai-object-detection-model" id="training-with-custom-ai-object-detection-model"></a>

Para entrenar un modelo de detección de objetos personalizado, consulta [**Object Detection Train**](https://docs.augelab.com/spanish/caracteristicas-clave/train-custom-ai-models-with-training-window).
