- Un projet prototype qui fait fonctionner un MacBook comme un écran tactile avec seulement 1 dollar de composants et des techniques de vision par ordinateur
- Un petit miroir est placé devant la webcam intégrée pour observer l’écran en biais et détecter le toucher via le point d’intersection entre le doigt et son reflet
- Le filtrage de la couleur de peau et l’analyse des contours servent à calculer les points de toucher et de survol, puis une correction par homographie les projette sur les coordonnées de l’écran
- Les entrées détectées sont converties en événements souris, ce qui permet d’utiliser immédiatement les gestes tactiles dans les applications existantes
- Le système fonctionne même avec une caméra 480p et constitue un exemple d’implémentation d’écran tactile à bas coût, dont la zone de détection peut être étendue avec une caméra haute résolution ou un miroir courbe
Aperçu de Project Sistine
- Utilise seulement 1 dollar de matériel et des techniques simples de vision par ordinateur pour transformer un MacBook en écran tactile
- Un prototype proof-of-concept réalisé par 4 personnes en environ 16 heures
- Le nom s’inspire de la reconstitution du tableau « La Création d’Adam » de la chapelle Sixtine
Principe de base
- Exploite le phénomène selon lequel, lorsqu’on regarde l’écran en biais, le doigt et son reflet apparaissent ensemble à cause de la réflexion de la lumière
- Le système détermine s’il y a contact en détectant le moment où le doigt touche son reflet
- L’idée vient du projet ShinyTouch créé auparavant par Kevin
- L’approche à webcam externe a été remplacée par la webcam intégrée du MacBook et un petit miroir
- Un petit miroir est installé devant la caméra intégrée afin d’obtenir un champ de vision plongeant sur l’ensemble de l’écran
- Les mouvements du doigt sont détectés dans le flux vidéo de la caméra puis convertis en événements tactiles
Configuration matérielle
- Les matériaux nécessaires sont de simples composants comme un petit miroir, une assiette en carton, une charnière de porte et un pistolet à colle
- Le miroir est fixé au bon angle pour que la caméra puisse voir l’ensemble de l’écran
- L’ensemble peut être monté en quelques minutes avec seulement un cutter et un pistolet à colle
Algorithme de détection du doigt
- Le système repère le doigt et son reflet dans l’image d’entrée afin de calculer les points de toucher et de survol
-
Filtrage de la couleur de peau et binarisation → détection des contours → sélection des deux contours principaux
- Les deux contours doivent se chevaucher horizontalement, et le plus petit doit se situer au-dessus
- Le point de toucher/survol est défini comme le milieu de la ligne reliant le haut de l’un et le bas de l’autre
- La distance verticale entre les deux contours permet de distinguer le toucher du survol
- Dans la vidéo de résultat, le doigt et la ligne de reflet apparaissent en vert, les boîtes englobantes en rouge et le point de contact en magenta
Mapping et calibration
- Une homographie est calculée pour transformer les coordonnées de la webcam en coordonnées écran
- L’utilisateur effectue une calibration en touchant certains points précis de l’écran
- À partir des paires de coordonnées collectées, une matrice de projection est estimée avec l’algorithme RANSAC
- Après calibration, la matrice de projection est visualisée par des lignes rouges sur l’écran, et les points de contact estimés sont affichés sous forme de points bleus
Applications
- Le prototype convertit le survol et le toucher en événements souris, ce qui rend immédiatement les applications existantes compatibles avec une interaction tactile
- Dans une application développée spécifiquement, il est aussi possible d’exploiter directement des données tactiles plus fines, comme la hauteur de survol
Conclusion et possibilités d’amélioration
- Project Sistine est une implémentation expérimentale qui transforme un ordinateur portable en écran tactile avec 1 dollar de matériel
- Le système fonctionne même avec la caméra intégrée en 480p, et une caméra haute résolution ou un miroir courbe pourraient permettre une détection sur l’ensemble de l’écran
- Il existe donc un potentiel d’évolution vers un système d’écran tactile pratique et peu coûteux
Code source
- Le prototype Sistine est publié en open source sous licence MIT
1 commentaires
Commentaires sur Hacker News
Steve Jobs disait en 2010 qu’un écran tactile vertical n’était bon que pour une démo sympa, mais qu’en pratique les bras se fatiguent vite et que c’est catastrophique du point de vue ergonomique.
C’est une citation reprise dans un article de Business Insider
Les anciens téléphones Android d’entrée de gamme à stylet ou les copies de Palm Pilot étaient vraiment médiocres, mais pour les artistes, un stylet sensible à la pression reste un outil utile.
(À noter que le terme « gorilla arm » vient du Jargon File des années 1980)
J’utilise l’appareil à plat ou en le faisant pivoter, et j’emploie aussi un Kindle Scribe et un Galaxy Note 10+.
J’aimerais essayer Apple Sidecar, mais j’hésite parce qu’il faudrait encore acheter un autre stylet. J’espère qu’un jour Apple sortira un successeur au Newton
Même si on m’offrait un MacBook Pro à écran tactile, je n’en voudrais pas. Tout est déjà optimisé pour les raccourcis clavier, donc je ne vois pas pourquoi il faudrait aller appuyer sur l’écran.
Pour le travail, clavier et trackpad sont bien plus efficaces que le tactile
L’écran principal n’est pas tactile, et celui du portable sert d’appoint, donc il n’y a pas de raison d’y tendre la main. C’est aussi pour cela que je pense que la Touch Bar a échoué
Ce projet me rappelle les anciennes expériences de Johnny Lee avec la Wii-mote
johnnylee.net/projects/wii/
Le portable professionnel que j’utilisais avant avait un écran tactile, et de façon surprenante c’était utile une ou deux fois par semaine.
Dans le train, toucher directement l’écran était plus pratique pour éviter de donner des coups de coude à la personne assise à côté, et pour faire défiler le contenu c’était aussi plus naturel avec le doigt.
Ce n’était pas le mode d’entrée principal, mais comme option d’entrée secondaire, c’était correct
La mention de « filtrage par couleur de peau » m’interpelle. Je me demande quelle couleur de peau sert de référence, et surtout quelles données existent sur le fonctionnement avec des peaux foncées
Sur un portable, l’écran tactile n’est pas agréable à utiliser. Personnellement, je préfère qu’il n’y en ait pas
C’est un très bel exemple d’application de vision par ordinateur. Et merci d’avoir publié le code
C’est un prototype simple, mais intéressant. Je me demande si la détection varie selon les conditions d’éclairage — est-ce que ça marcherait bien en extérieur ou à contre-jour ?
À la place du « filtrage par couleur de peau », la soustraction de fond (background subtraction) aurait peut-être été plus stable. Les teintes de peau varient trop selon l’éclairage
J’imagine déjà l’écran se fissurer quand on ferme le MacBook avec la caméra placée entre les deux.
J’aime les Mac, mais leur matériel me paraît tellement délicat que ça m’inquiète. Et comme c’est un portable de travail, je fais encore plus attention