> 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/hand-pose-estimation.md).

# Hand Pose Estimation

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

`Image`\
Proporcione una imagen (frame de cámara, imagen cargada o imagen procesada) para analizar en busca de manos.

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

`Visualization`\
Imagen anotada que muestra keypoints, esqueletos y bounding boxes.

`Hands`\
Datos estructurados de la detección (lista/diccionario) que incluyen bounding boxes, posiciones por keypoint, puntuaciones de confianza y flags de visibilidad.

`Model Info`\
Información básica de tiempo de ejecución, como el estilo de esqueleto seleccionado y los ajustes de umbral.

`Hand Count`\
Número de manos detectadas (después de aplicar los límites configurados).

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

`Skeleton Style`\
Elija cómo se formatean los keypoints/esqueletos para la visualización (por ejemplo, estilo MMPose u OpenPose).

`Det Threshold`\
Ajuste la confianza mínima requerida para que una detección de mano se considere válida (escala 0–100).

`Keypoint Threshold`\
Establezca la confianza mínima para que un keypoint individual se considere visible (escala 0–100).

`Max Hands`\
Limite cuántas manos se devuelven y dibujan (útil para reducir el tamaño de salida y el procesamiento en escenas concurridas).

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

* Superposición visual con keypoints, conexiones de esqueleto y bounding boxes para cada mano detectada.
* Salida estructurada tipo JSON para uso posterior: bounding boxes, posiciones (x,y) por keypoint, confianza y visibilidad.
* Umbrales ajustables por el usuario para equilibrar sensibilidad frente a falsos positivos.
* Limite el número de manos procesadas con `Max Hands` para un comportamiento downstream predecible.
* Usa automáticamente el hardware disponible para mejorar la velocidad (preferirá GPU si está disponible).

## 📝 Instrucciones de uso <a href="#usage" id="usage"></a>

1. Conecte una fuente de imagen al input `Image` (cámara en vivo, stream o archivo de imagen).
2. Elija el `Skeleton Style` preferido para la visualización y el formato downstream.
3. Ajuste `Det Threshold` para controlar si se ignoran detecciones débiles.
4. Ajuste `Keypoint Threshold` para controlar qué keypoints se consideran visibles.
5. Configure `Max Hands` si solo desea rastrear un número limitado de manos.
6. Lea las salidas: use `Visualization` para previsualizar, y `Hands` / `Hand Count` para lógica, interfaz o registro.

## 📊 Cómo funciona <a href="#evaluation" id="evaluation"></a>

Al recibir una imagen, el bloque analiza la imagen en busca de manos, aplica los umbrales de confianza para detección y keypoints, limita los resultados según `Max Hands` y luego emite: una imagen visual con overlays, una lista estructurada de manos detectadas con bounding boxes y detalles por keypoint, un pequeño resumen en `Model Info` y el número de manos detectadas.

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

* Para entrada en vivo, combine con `Camera USB`, `Camera IP (ONVIF)` o `Stream Reader` para alimentar frames continuos.
* Use `Show Image` para previsualizar la salida `Visualization` en una ventana más grande mientras ajusta umbrales.
* Preprocese imágenes con ruido usando `Blur`, `Denoising` o `Image Resize` para mejorar la estabilidad de la detección.
* Si las manos aparecen recortadas o solo desea analizar un área específica, coloque un bloque `Image ROI Select` o `Image ROI` antes de este bloque.
* Para anotar resultados en reportes, combine `Visualization` con `Write Text On Image` o `Draw Result On Image` y luego guarde con `Image Logger`, `Image Write` o `Record Video`.
* Use `Object Detection` o `Object Detection - Custom` antes de este bloque cuando quiera localizar primero a las personas y luego analizar solo las regiones de persona para manos — esto reduce falsos positivos y acelera el procesamiento.
* Si necesita keypoints de cuerpo completo además de las manos, considere emparejar con `Skeleton Estimation` y combinar resultados en pasos de procesamiento posteriores.

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

* Sin detecciones: Intente bajar ligeramente `Det Threshold` y `Keypoint Threshold`, o mejore la claridad de la imagen con `Image Resizer`.
* Falsos positivos / keypoints ruidosos: Aumente los umbrales y/o recorte la región de interés con `Image ROI Select` para eliminar el desorden.
* Demasiado lento: Reduzca la resolución de la imagen con `Image Resize`, disminuya `Max Hands` o use una fuente de imagen más rápida. Un sistema con GPU acelerará el procesamiento.
* Falta de dependencias o modelo no disponible: El bloque requiere que el modelo de hand-pose esté disponible. Si el modelo o componentes de runtime no están presentes, siga el instalador de módulos / descargador de módulos de la aplicación para añadir los paquetes de runtime y modelo necesarios.

Si necesita combinaciones de ejemplo o una canalización recomendada pequeña para seguimiento de manos en vivo (camera → preprocess → hand pose → display/save), pida una cadena de bloques sugerida y una breve explicación.
