De Jupyter a la Web: Lanzando la App
Automatizando el flujo de trabajo con Streamlit, DINOv2 y visión geométrica.
El Salto a la Interfaz Visual
De nada sirve tener el mejor modelo matemático del mundo si solo los programadores pueden usarlo. El objetivo del Día 4 fue claro: montar una aplicación (usando Streamlit) que automatice todo el flujo de trabajo desarrollado en los días previos para que cualquier usuario pueda interactuar con la IA.
⚙️ El Pipeline Automático en 4 Pasos
Cuando un usuario sube una imagen a nuestra interfaz, ocurren cuatro procesos automáticos en fracciones de segundo:
Carga de Imagen
El usuario sube su foto cruda directamente a la interfaz de la aplicación.
Preprocesado Geométrico
El sistema detecta el «panel negro», lo recorta, lo rectifica y orienta la mano para que siempre aparezca entrando por la izquierda.
Extracción DINOv2
El modelo Vision Transformer de Meta extrae un «embedding»: un resumen numérico perfecto de la imagen.
Clasificación Final
Ese resumen se pasa por nuestra Regresión Logística, que decide si el dedo está bien posicionado («sí») o mal posicionado («no»).
Bajo el Capó: Los Parámetros
Para lograr que este pipeline funcione como un reloj suizo, fijamos estas reglas en el código:
- PANEL_SIZE:
(640, 480)– Tamaño final de rectificación. - TEST_SIZE:
0.25– 75% entrena, 25% examina. - TARGET_BACKGROUND_GRAY:
200– Blanco objetivo. - TARGET_BOX_GRAY:
25– Oscuro objetivo. - PANEL_DETECTION_THRESHOLD:
70– Sensibilidad de detección. - RANDOM_STATE:
42– Semilla de reproducibilidad.
El Dataset en Números
Totales
El Rendimiento de la App 🚀
Al evaluar nuestro modelo híbrido (Regresión Logística sobre embeddings) en nuestro conjunto de pruebas oculto, conseguimos que la aplicación «entienda» la posición del dedo con estos números:
Conclusión: Hemos transformado un experimento complejo en una herramienta visual de alto valor. Con una precisión cercana al 72% en un dataset de solo 81 imágenes, el concepto está más que probado. ¡El siguiente paso es alimentar la bestia con más datos!