¿Qué es SDPose-Wholebody?
SDPose-Wholebody es un modelo de estimación de postura corporal basado en técnicas de difusión probabilística, capaz de detectar con alta precisión 133 puntos clave del cuerpo humano. Su principal ventaja es que ofrece una interfaz web intuitiva, eliminando la necesidad de escribir código para realizar análisis de postura.
Este sistema permite procesar tanto imágenes como videos, soporta detección de una o múltiples personas y genera resultados visuales superpuestos sobre la imagen original, además de archivos JSON con coordenadas exactas y puntuaciones de confianza. Es ideal tanto para investigadores como para usuarios sin experiencia técnica previa.
Iniciar el servicio web
Para lanzar la interfaz gráfica, ejecuta los siguientes comandos en tu terminal:
cd /root/SDPose-OOD/gradio_app
bash launch_gradio.sh
Esto inicia un servidor local en el puerto 7860. Accede desde tu navegador a http://localhost:7860. Si el puerto está ocupado, puedes especificar otro:
bash launch_gradio.sh --port 7861
Interfaz de usuario
La interfaz se organiza en cinco secciones principales:
- Carga del modelo: Ruta preconfigurada y botón para cargar los pesos del modelo.
- Subida de archivos: Permite arrastrar o seleccionar imágenes (JPG, PNG, BMP) y videos (MP4, AVI, MOV).
- Parámetros ajustables: Umbral de confianza, opacidad de superposición y esquema de puntos clave.
- Control de ejecución: Botones para iniciar inferencia y descargar resultados.
- Vista de resultados: Muestra lado a lado la entrada original y la salida con anotaciones.
Pasos para usar la herramienta
1. Cargar el modelo
Haz clic en "Load Model". La ruta predeterminada es /root/ai-models/Sunjian520/SDPose-Wholebody. El proceso puede tardar varios minutos debido al tamaño del modelo (~5 GB).
2. Subir archivo multimedia
Selecciona una imagen o video (recomendado ≤100 MB). El sistema procesará automáticamente todos los fotogramas en el caso de videos.
3. Ajustar parámetros (opcional)
- Umbral de confienza: Valores altos aumentan precisión; bajos incrementan sensibilidad.
- Opacidad: Controla la transparencia entre la imagen original y las anotaciones.
- Esquema de puntos: Por defecto usa
wholebody(133 puntos).
4. Ejecutar inferencia
Pulsa "Run Inference". El tiempo de procesamiento varía según el hardware y el tamaño del archivo. Durante la ejecución, se muestra una barra de progreso.
5. Exportar resultados
- Imagen PNG: Con anotaciones superpuestas, resolución original.
- Archivo JSON: Contiene coordenadas (x, y), puntuaciones de confianza y metadatos por persona detectada.
Casos de uso prácticos
Análisis deportivo
Entrenadores pueden evaluar biomecánica de movimientos (ej. tiro en baloncesto) mediante trayectorias articulares cuantificables.
Enseñanza de danza
Permite comparar posturas de estudiantes con referencias profesionales, destacando diferencias en alineación corporal incluso en coreografías grupales.
Rehabilitación médica
Facilita el seguimiento longitudinal de pacientes, registrando mejoras en rango de movimiento o simetría postural a lo largo del tiempo.
Animación digital
Los datos JSON pueden importarse directamente en software de animación para replicar movimientos humanos reales sin equipos de captura de movimiento costosos.
Solución de problemas comunes
Fallo al cargar el modelo
Verifica que la ruta sea exactamente /root/ai-models/Sunjian520/SDPose-Wholebody y que los archivos no estén corruptos.
Problemas de memoria
Reduce la resolución de entrada o procesa videos por segmentos. En sistemas sin GPU, considera usar modo CPU aunque sea más lento.
Ajuste de precisión
En escenas con oclusión parcial, baja temporalmente el umbral de confianza (ej. de 0.3 a 0.1) y filtra manualmente falsos positivos después.
Optimización de rendimiento
Asegúrate de tener controladores CUDA actualizados para aprovechar aceleración por GPU. Para procesamiento masivo, considera integrar la API subyacente en scripts personalizados.
Ventajas técnicas
- Precisión robusta: Mantiene desempeño en condiciones adversas (ropa holgada, fondos complejos, iluminación variable).
- Baja latencia: Procesa imágenes en ~0.2s en GPU moderna, suficiente para aplicaciones interactivas.
- Accesibilidad: Diseño centrado en el usuario con retroalimentación visual inmediata y mensajes de error explicativos.