# Object Detection (D-FINE)

Esta función realiza detección de objetos en tiempo real con tamaño de modelo configurable, filtrado por clases, umbral de confianza y visualización opcional. Úsala para detectar y localizar objetos comunes en imágenes y enviar los resultados de detección a bloques posteriores para seguimiento, registro o visualización.

## 📥 Entradas <a href="#inputs" id="inputs"></a>

`Image` La imagen de entrada que se va a analizar. Acepta imágenes a color o en escala de grises.

## 📤 Salidas <a href="#outputs" id="outputs"></a>

`Result` Imagen anotada con cajas delimitadoras codificadas por color. Aparece cuando `Draw Boxes` está habilitado.\
`Boxes` Lista con las coordenadas de las cajas delimitadoras para cada detección.\
`Labels` Lista de nombres de clases detectadas como cadenas de texto.\
`Scores` Puntuaciones de confianza para cada detección.

## 🕹️ Controles <a href="#controls" id="controls"></a>

`Model Size` Elige el tamaño del modelo para equilibrar velocidad y precisión (ejemplos: Nano / Small / Medium / Large / XLarge). Los modelos más pequeños son más rápidos; los más grandes ofrecen mejor localización.\
`Select Classes` Selecciona qué clases de objetos detectar. Si no se selecciona ninguna clase, se consideran todas las clases disponibles.\
`Draw Boxes` Activa o desactiva si la imagen de salida debe mostrar cajas delimitadoras y etiquetas.\
`Threshold` Ajusta el umbral de confianza (0–100%) utilizado para filtrar detecciones. Valores más altos producen menos detecciones pero con mayor confianza.

## 🎯 Características clave <a href="#features" id="features"></a>

* Varios tamaños de modelo para equilibrar latencia y calidad de detección.
* Filtrado a nivel de clase para enfocarse solo en los objetos que te interesan.
* Umbral de confianza para controlar la precisión.
* Visualización integrada y fácil de interpretar con cajas coloreadas y etiquetas de texto.
* Utiliza aceleración de hardware disponible cuando sea posible para una inferencia más rápida.

## 📝 Cómo usar <a href="#usage" id="usage"></a>

1. Proporciona una imagen al input `Image`.
2. Selecciona un `Model Size` adecuado para tu entorno (rápido vs. preciso).
3. Opcionalmente, elige clases específicas con `Select Classes` para reducir falsos positivos y acelerar el proceso.
4. Ajusta el `Threshold` para controlar la sensibilidad de detección. Empieza alrededor de 30 y ajusta hacia arriba o abajo según necesites.
5. Activa o desactiva `Draw Boxes` para previsualizar las detecciones en la salida `Result`.

## 📊 Qué hace el bloque <a href="#evaluation" id="evaluation"></a>

Al ejecutarse, el bloque analiza la imagen entrante, devuelve las cajas delimitadoras detectadas, sus etiquetas y las puntuaciones de confianza, y opcionalmente genera una imagen de visualización con las cajas y etiquetas.

## 💡 Consejos y trucos <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Si las imágenes de entrada son muy grandes y el procesamiento es lento, añade el bloque `Image Resize` antes de este bloque para reducir la resolución y aumentar el rendimiento.
* Para imágenes pequeñas o de baja resolución, prueba el bloque `Super Resolution` antes de la detección para mejorar las tasas de reconocimiento.
* Para ver los resultados en la interfaz, conecta este bloque al bloque `Show Image` o habilita `Draw Boxes` y visualiza la salida `Result`.
* En flujos con múltiples fotogramas donde quieras rastrear detecciones a lo largo del tiempo, alimenta las salidas `Boxes` y `Labels` al bloque `Object_Detection_Tracker`.
* Guarda imágenes de detección o ejemplos usando `Image Logger` o `Image Write` para crear conjuntos de datos o para depuración.
* Exporta metadatos de detección (labels, scores, posiciones) usando `Data to JSON` o `CSV Export` para informes o sistemas posteriores.
* Si solo te interesan áreas específicas, recorta con `Image ROI` o `Image ROI Select` antes de la detección para reducir falsos positivos y acelerar el procesamiento.

## 🛠️ Solución de problemas <a href="#troubleshooting" id="troubleshooting"></a>

* Sin detecciones: prueba a bajar el `Threshold` y/o seleccionar menos clases para ampliar las coincidencias. También verifica la calidad de la imagen de entrada; considera usar `Super Resolution` o mejorar la iluminación.
* Demasiados falsos positivos: sube el `Threshold` y restringe `Select Classes` a las clases relevantes.
* Rendimiento lento: elige un `Model Size` más pequeño o añade `Image Resize` para reducir la resolución de entrada. Si hay una GPU disponible, asegúrate de que esté habilitada en tu entorno para acelerar el procesamiento.
* Visualización ausente: asegúrate de que `Draw Boxes` esté habilitado para obtener la imagen anotada en `Result`, o conecta las salidas a `Show Image` para previsualizar.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/spanish/bloques-de-funcion/ai-blocks/object-detection-d-fine.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
