> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/ai-blocks/object-detection-custom.md).

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