Project Sistine - Convierte una MacBook en pantalla táctil con hardware de 1 dólar
(anishathalye.com)- Un proyecto prototipo que hace que una MacBook funcione como si tuviera pantalla táctil usando solo 1 dólar en piezas y visión por computadora
- Coloca un espejo pequeño frente a la webcam integrada para captar la pantalla en ángulo y detectar el toque mediante la intersección entre el dedo y su reflejo
- Calcula los puntos de toque y hover mediante filtrado por color de piel y análisis de contornos, y los mapea a coordenadas de pantalla con corrección por homografía
- La entrada detectada se convierte en eventos de mouse, por lo que permite interacción táctil inmediata incluso en apps existentes
- Funciona incluso con una cámara de 480p, y con una cámara de mayor resolución o un espejo curvo puede ampliar el área de reconocimiento, como un ejemplo de implementación de pantalla táctil de bajo costo
Resumen de Project Sistine
- Usa solo 1 dólar en hardware y técnicas simples de visión por computadora para convertir una MacBook en pantalla táctil
- Un prototipo proof-of-concept creado por 4 personas en unas 16 horas
- El nombre está inspirado en la recreación de la pintura ‘La creación de Adán’ de la Capilla Sixtina
Principio básico
- Aprovecha el fenómeno de que, al mirar la pantalla en ángulo, se ven juntos el dedo y su reflejo por la luz reflejada
- Detecta el momento en que el dedo toca su reflejo para determinar si hubo contacto
- La idea viene del proyecto ShinyTouch creado anteriormente por Kevin
- Sustituye el uso de una webcam externa por la webcam integrada de la MacBook y un espejo pequeño
- Se coloca un espejo pequeño frente a la cámara integrada para obtener una vista de toda la pantalla desde arriba y en ángulo
- Reconoce el movimiento del dedo en el video de la cámara y lo convierte en eventos táctiles
Configuración de hardware
- Los materiales necesarios son piezas simples como un espejo pequeño, un plato de papel, una bisagra de puerta y una pistola de pegamento caliente
- El espejo se fija en un ángulo adecuado para que la cámara pueda ver toda la pantalla
- Se puede ensamblar en pocos minutos usando solo un cuchillo y una pistola de pegamento caliente
Algoritmo de detección del dedo
- Busca el dedo y su reflejo en el video de entrada para calcular el punto de toque/hover
-
Filtrado por color de piel y binarización → detección de contornos → selección de dos contornos principales
- Los dos contornos deben superponerse horizontalmente, y el contorno más pequeño debe estar arriba
- El punto medio de la línea que une la parte superior y la inferior de ambos contornos se establece como punto de toque/hover
- La distancia vertical entre ambos contornos permite distinguir entre toque y hover
- En el video de resultados, el dedo y la línea de reflejo aparecen en verde, la caja delimitadora en rojo y el punto de toque en magenta
-
Mapeo y calibración
- Calcula una homografía (homography) para convertir las coordenadas de la webcam en coordenadas de pantalla
- El usuario realiza la calibración (calibration) tocando puntos específicos de la pantalla
- A partir de los pares de coordenadas recopilados, estima la matriz de proyección con el algoritmo RANSAC
- Después de calibrar, la matriz de proyección se visualiza con líneas rojas sobre la pantalla, y los puntos de toque estimados se muestran como puntos azules
Aplicaciones
- El prototipo convierte hover y toque en eventos de mouse, lo que permite que las apps existentes respondan al tacto de inmediato
- Al desarrollar una app propia, también se pueden aprovechar directamente datos táctiles más detallados, como la altura del hover
Conclusión y posibilidades de mejora
- Project Sistine es una implementación experimental que convierte una laptop en pantalla táctil con hardware de 1 dólar
- Funciona incluso con la cámara integrada de 480p, y usando una cámara de mayor resolución o un espejo curvo podría reconocer toda la pantalla
- Existe potencial para evolucionar hacia un sistema de pantalla táctil práctico y de bajo costo
Código fuente
- El prototipo Sistine está publicado como código abierto bajo licencia MIT
- Repositorio de GitHub: bijection/sistine
1 comentarios
Opiniones de Hacker News
Steve Jobs dijo en 2010 que las pantallas táctiles verticales solo sirven para demos llamativas, pero en la práctica cansan rápido los brazos y son terribles desde el punto de vista ergonómico
Está citado en un artículo de Business Insider
Los viejos teléfonos Android baratos con stylus o las copias de Palm Pilot eran realmente malísimos, pero para los artistas un stylus con sensibilidad a la presión sigue siendo una herramienta útil
(Como referencia, el término “gorilla arm” proviene del Jargon File de los años 80)
La uso con el dispositivo en plano o girado, y también uso un Kindle Scribe y una Galaxy Note 10+.
Me gustaría probar Apple Sidecar, pero dudo porque tendría que comprar otro stylus. Ojalá algún día Apple saque un sucesor del Newton
Yo no querría una MacBook Pro con pantalla táctil ni aunque me la regalaran. Ya está optimizada para atajos de teclado, así que no hay razón para andar tocando la pantalla
Para trabajo, teclado y trackpad son mucho más eficientes que el tacto
El monitor principal no es táctil y la pantalla de la laptop queda como secundaria, así que no hay motivo para estirar la mano. Por eso también creo que la Touch Bar fracasó
Este proyecto me recordó los viejos experimentos de Johnny Lee con el Wii-mote
johnnylee.net/projects/wii/
Una laptop del trabajo que usaba antes tenía pantalla táctil, y sorprendentemente me resultaba útil una o dos veces por semana
En el tren, para no pegarle con el codo a la persona de al lado, era más cómodo tocar directamente la pantalla, y para hacer scroll también se sentía natural hacerlo con el dedo
No era el método principal de entrada, pero como opción de entrada secundaria estaba bien
Al ver la frase “filtrado por color de piel”, me surgió la duda. Quisiera saber qué tono de piel toma como referencia y, sobre todo, qué tan bien funciona con pieles oscuras
En laptops, las pantallas táctiles no son cómodas. Personalmente prefiero que no tengan
Es una aplicación de visión por computadora realmente genial. También agradezco que hayan publicado el código
Es un prototipo simple, pero interesante. Me pregunto si el reconocimiento cambiará según las condiciones de iluminación — ¿funcionará bien al aire libre o con contraluz?
En lugar de “filtrado por color de piel”, creo que usar background subtraction habría sido más estable. El color de piel varía demasiado según la iluminación
Me imagino que al cerrar la MacBook con la cámara entre medio de la pantalla la pantalla podría romperse.
Me gustan las Mac, pero el hardware es tan delicado que me da ansiedad. Como además es una laptop de la empresa, me hace ser todavía más cuidadoso