# Object Detection - Custom

Este bloque de función detecta objetos en imágenes usando archivos de modelo personalizados que proporciones. Te permite cargar un detector (weights, config y lista de clases), elegir qué clases detectar y controlar la sensibilidad con un deslizador sencillo. El bloque devuelve una imagen anotada y datos estructurados de detección para procesado posterior.

## 📥 Entradas

`Image Any` La imagen que se analizará en búsqueda de detecciones.

## 📤 Salidas

`Image Any` Imagen anotada con cajas de detección y etiquetas.

`Object Count` Número de objetos detectados.

`Object Locations` Lista de posiciones centrales de los objetos detectados (se permiten múltiples salidas).

`Object Sizes (w, h)` Ancho y alto de cada objeto detectado (se permiten múltiples salidas).

`Object Class` Nombre de la clase para cada objeto detectado (se permiten múltiples salidas).

`Rectangles` Coordenadas de los rectángulos delimitadores para cada detección (se permiten múltiples salidas).

## 🕹️ Controles

`Open Weight File` Botón para seleccionar el archivo de weights del modelo.

`Open Config File` Botón para seleccionar el archivo de configuración del modelo.

`Open Class File` Botón para seleccionar un archivo de texto con los nombres de las clases.

`Class Names` Tabla donde aparecen las clases disponibles; puedes activar/desactivar cada clase.

`Confidence Threshold %` Deslizador para ajustar la sensibilidad de la confianza de detección (más alto = más estricto).

## ⚙️ Mecanismo de ejecución

* El bloque necesita tres recursos para funcionar: un archivo de weights, un archivo de config y un archivo con la lista de clases. Cárgalos con los tres botones de archivo.
* Tras proporcionar los archivos, el detector se inicializa y queda listo hasta que cambies los archivos.
* Cuando se entrega una imagen en la entrada, el bloque ejecuta el detector sobre ella y produce:
  * una imagen anotada con cajas/etiquetas,
  * el conteo y las posiciones,
  * tamaños, clases y coordenadas de rectángulos para cada detección.
* Cambiar los archivos de weights o config fuerza la recarga del detector para que las evaluaciones siguientes usen el nuevo modelo.

## ✨ Características

* Soporte para cargar tu propio modelo (weights, config y lista de clases).
* Selección de qué clases detectar mediante una lista de verificación sencilla.
* Umbral de confianza ajustable con efecto inmediato.
* Devuelve resultados visuales y datos estructurados (conteos, posiciones, tamaños, rectángulos).
* Funciona con múltiples objetos detectados y entrega resultados en forma de listas para bloques posteriores.

## 📝 Instrucciones de uso

1. Haz clic en `Open Weight File` y selecciona el archivo de weights del modelo.
2. Haz clic en `Open Config File` y selecciona el archivo de configuración del modelo.
3. Haz clic en `Open Class File` y selecciona el archivo de nombres de clases. La lista de clases se llenará automáticamente.
4. Activa solo las clases que quieras detectar en la tabla `Class Names`.
5. Ajusta `Confidence Threshold %` para equilibrar sensibilidad frente a falsos positivos.
6. Proporciona la imagen en la entrada `Image Any` y ejecuta el escenario para obtener la imagen anotada y los datos de detección.

## 💡 Consejos y trucos

* Para ver resultados de forma interactiva, conecta la salida `Image Any` al bloque `Show Image`.
* Si las imágenes de entrada son muy grandes y la detección es lenta, coloca un `Image Resizer` antes de este bloque para reducir resolución y aumentar velocidad.
* Limita el análisis a un área específica usando `Image ROI` o `Image ROI Select` aguas arriba, así el detector se centra solo en regiones de interés.
* Para rastrear detecciones entre frames, conecta las salidas de este bloque a `Object_Detection_Tracker`.
* Si necesitas dibujo personalizado más allá de las anotaciones integradas, usa `Draw Detections` con los rectángulos y conteos proporcionados por este bloque.
* Guarda frames interesantes con detecciones usando `Image Logger` o `Image Write` / `Record Video` para revisiones posteriores.
* Monitoriza rendimiento y uso de GPU con `GPU Statistics` cuando ejecutes modelos más pesados.

(Pista: habilita solo las clases necesarias y aumenta el umbral de confianza para reducir falsos positivos y acelerar el post-procesado)

## 🛠️ Solución de problemas

* Archivos de modelo faltantes: Asegúrate de seleccionar los tres archivos (weights, config, lista de clases). El bloque no puede funcionar sin ellos.
* No hay detecciones: Prueba bajar el valor de `Confidence Threshold %` o habilitar más clases en la tabla. Verifica también que el archivo de clases coincida con el modelo.
* Demasiadas detecciones falsas: Incrementa `Confidence Threshold %` y habilita solo las clases relevantes para reducir ruido.
* Rendimiento lento: Reduce el tamaño de la imagen de entrada con `Image Resizer` o usa modelos más pequeños; considera usar GPU si está disponible y vigila con `GPU Statistics`.
* Nombres de clases incorrectos o archivos no coincidentes: Verifica que el archivo de clases corresponda al modelo cargado (el orden y los nombres de las clases deben coincidir con el entrenamiento del modelo).

## 🔗 Combinaciones de bloques recomendadas

* `Show Image` — Previsualizar salida anotada.
* `Image Resizer` — Acelerar detección en imágenes grandes.
* `Image ROI` / `Image ROI Select` — Enfocar detección en áreas específicas.
* `Object_Detection_Tracker` — Rastrear objetos detectados a lo largo del tiempo.
* `Draw Detections` — Visualización personalizada usando rectángulos y conteos de detección.
* `Image Logger` / `Image Write` / `Record Video` — Guardar resultados anotados para auditoría o análisis posterior.


---

# 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-custom.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.
