Detección de toque y gestos¶
Detectar dónde y cuándo el dedo del usuario toca la superficie proyectada (o hace gestos sobre ella), para que la mesa sea un display interactivo de entrada, no solo de salida.
Contexto¶
Convierte la mesa en interfaz: botones, menús y manipulación directa proyectados sobre la superficie. El holomat lo usa para su UI tipo JARVIS. Es opcional para un MVP de "solo medir y proyectar guías", pero clave para el caso "manos libres".
Contenido¶
Tracking de manos (RGB) — mediapipe Hands: localiza 21 landmarks 2.5D (x, y, profundidad relativa) por mano en tiempo real, on-device. Es lo que usa el Holomat. La profundidad es relativa, no métrica.
Caso real Holomat — "hover 2D" (no toque z): el holomat no detecta contacto por profundidad. Toma la punta del índice (landmark 8), la transforma de cámara a coordenadas de proyector con su homografía de 4 puntos (cv2.perspectiveTransform) y considera "activado" un botón cuando el (screen_x, screen_y) del dedo cae sobre su región. Es decir, detecta hover/posición, no si el dedo realmente tocó la superficie. Simple y suficiente para una UI; insuficiente si se necesita distinguir tocar de pasar por encima.
Detección de toque vs hover: - Con cámara de profundidad (Kinect/RealSense): se conoce la altura del fingertip sobre el plano calibrado de la mesa; si ≈0 mm → toque. GMH-D mejora MediaPipe con RGB-D para tracking 3D más preciso. - Solo cámara (sin depth) — fusión dedo+sombra: en un setup proyector-cámara el dedo proyecta sombra; lejos de la superficie el dedo y su sombra aparecen separados, y al tocar se fusionan en la imagen. Detectar el merge = detectar el toque. Resultados de literatura: error de posición <5 mm, precisión ~93%, ~36 ms/frame. Muchas implementaciones usan cámara IR + 2 luces IR para sombras nítidas (combina con la solución IR de latencia oclusion sombras); hay variantes RGB. Es la vía recomendada para toque sin Kinect. - Structured light range cameras: detectan toque + pose de mano combinando superficie y deep network.
Para la mesa: una cámara de profundidad simplifica mucho la detección de toque robusta; con solo RGB+MediaPipe se logran gestos (no toque preciso) o toque por sombra con más calibración.
Relaciones¶
- Usa: mediapipe
- Relacionado con: calibracion camara proyector (el plano de toque hay que calibrarlo)
- Usado por: holomat
- Informa: arquitectura referencia mesa ia
Citas / evidencia¶
- MediaPipe "performs precise landmark localization of 21 2.5D coordinates (x, y, and relative depth)" — deteccion toque gestos
- "Touch status can be determined based on depth images by establishing fingertip position and finger direction." — deteccion toque gestos
Abierto / gaps¶
- Implementación RGB pura (sin IR) de la fusión dedo-sombra y su robustez bajo la luz del proyector en setup casero.