- Ein Prototyp-Projekt, das ein MacBook mit nur 1 Dollar an Bauteilen und Computer-Vision-Technik wie einen Touchscreen funktionieren lässt
- Vor der integrierten Webcam wird ein kleiner Spiegel angebracht, der den Bildschirm schräg erfasst, und der Schnittpunkt von Finger und Spiegelbild wird als Berührung erkannt
- Über Hautfarben-Filterung und Konturanalyse werden Touch- und Hover-Punkte berechnet und per Homography-Korrektur auf Bildschirmkoordinaten abgebildet
- Die erkannten Eingaben werden in Maus-Events umgewandelt, sodass Touch-Bedienung auch in bestehenden Apps sofort möglich ist
- Funktioniert sogar mit einer 480p-Kamera; mit höher auflösenden Kameras oder gekrümmten Spiegeln lässt sich der Erfassungsbereich erweitern – ein Beispiel für eine kostengünstige Touchscreen-Umsetzung
Überblick über Project Sistine
- Verwendet nur 1 Dollar an Hardware und einfache Computer-Vision-Technik, um ein MacBook in einen Touchscreen zu verwandeln
- Ein Proof-of-Concept-Prototyp, der von 4 Personen in etwa 16 Stunden gebaut wurde
- Der Name ist von der Nachstellung des Gemäldes „Die Erschaffung Adams“ aus der Sixtinischen Kapelle inspiriert
Grundprinzip
- Nutzt das Phänomen, dass man beim schrägen Blick auf den Bildschirm durch Lichtreflexion sowohl den Finger als auch dessen Spiegelbild sieht
- Erkennt den Moment, in dem Finger und Spiegelbild sich berühren, um eine Berührung festzustellen
- Die Idee stammt aus Kevins früherem Projekt ShinyTouch
- Der Ansatz mit externer Webcam wurde durch die integrierte MacBook-Webcam und einen kleinen Spiegel ersetzt
- Vor der integrierten Kamera wird ein kleiner Spiegel angebracht, um eine schräge Gesamtansicht des Bildschirms zu erhalten
- Bewegungen des Fingers im Kamerabild werden erkannt und in Touch-Events umgewandelt
Hardware-Aufbau
- Benötigt werden nur einfache Bauteile wie ein kleiner Spiegel, ein Pappteller, ein Türscharnier und eine Heißklebepistole
- Der Spiegel wird in einem passenden Winkel fixiert, sodass die Kamera den gesamten Bildschirm sehen kann
- Lässt sich allein mit Messer und Heißklebepistole in wenigen Minuten zusammenbauen
Algorithmus zur Fingererkennung
- Sucht im Eingabebild nach Finger und Spiegelbild, um Touch-/Hover-Punkte zu berechnen
-
Hautfarben-Filterung und Binärisierung → Konturerkennung → Auswahl von zwei Hauptkonturen
- Die beiden Konturen müssen sich horizontal überlappen, und die kleinere Kontur muss oben liegen
- Der Mittelpunkt der Linie, die Ober- und Unterseite der beiden Konturen verbindet, wird als Touch-/Hover-Punkt gesetzt
- Über den vertikalen Abstand zwischen den beiden Konturen wird zwischen Touch und Hover unterschieden
- Im Ergebnisbild werden Finger und Reflexion grün, Begrenzungsrahmen rot und der Touch-Punkt magenta dargestellt
-
Mapping und Kalibrierung
- Zur Umrechnung von Webcam-Koordinaten in Bildschirmkoordinaten wird eine Homography berechnet
- Der Nutzer führt eine Kalibrierung durch, indem er bestimmte Punkte auf dem Bildschirm berührt
- Auf Basis der gesammelten Koordinatenpaare wird mit dem RANSAC-Algorithmus eine Projektionsmatrix geschätzt
- Nach der Kalibrierung wird die Projektionsmatrix mit roten Linien visualisiert, die geschätzten Touch-Punkte erscheinen als blaue Punkte
Anwendung
- Der Prototyp wandelt Hover und Touch in Maus-Events um und macht damit bestehende Apps sofort touchfähig
- Bei der Entwicklung eigener Apps lassen sich auch detaillierte Touch-Daten wie etwa die Hover-Höhe direkt nutzen
Fazit und Verbesserungsmöglichkeiten
- Project Sistine ist eine experimentelle Umsetzung, die einen Laptop mit 1-Dollar-Hardware in einen Touchscreen verwandelt
- Funktioniert selbst mit einer integrierten 480p-Kamera; mit höher auflösenden Kameras oder gekrümmten Spiegeln ist eine Erkennung über den gesamten Bildschirm möglich
- Hat das Potenzial, sich zu einem praktischen Touchscreen-System mit niedrigen Kosten weiterzuentwickeln
Quellcode
- Der Sistine-Prototyp ist als Open Source unter MIT-Lizenz veröffentlicht
- GitHub-Repository: bijection/sistine
1 Kommentare
Hacker-News-Kommentare
Steve Jobs sagte 2010, vertikale Touchscreens seien nur für coole Demos gut, in der Praxis würden die Arme aber schnell ermüden und es sei ergonomisch furchtbar.
Das ist ein Zitat aus einem Business-Insider-Artikel
Frühere billige Android-Smartphones mit Stylus oder Palm-Pilot-Nachbauten waren wirklich miserabel, aber für Künstler ist ein druckempfindlicher Stylus weiterhin ein nützliches Werkzeug.
(Zur Info: Der Begriff „gorilla arm“ stammt aus dem Jargon File der 1980er)
Ich nutze das Gerät flach liegend oder gedreht und verwende außerdem ein Kindle Scribe und ein Galaxy Note 10+.
Ich würde gern Apple Sidecar ausprobieren, zögere aber, weil ich dafür noch einen weiteren Stylus kaufen müsste. Hoffentlich bringt Apple irgendwann einen Nachfolger des Newton heraus
Ich würde ein MacBook Pro mit Touchscreen nicht einmal geschenkt haben wollen. Alles ist bereits auf Tastaturkürzel optimiert, es gibt also keinen Grund, extra auf den Bildschirm zu tippen.
Für die Arbeit sind Tastatur und Trackpad viel effizienter als Touch
Der Hauptmonitor hat kein Touch, und der Laptop-Bildschirm ist nur sekundär, also gibt es keinen Grund, die Hand auszustrecken. Deshalb glaube ich auch, dass die Touch Bar gescheitert ist
Dieses Projekt erinnert mich an die alten Wii-mote-Experimente von Johnny Lee.
johnnylee.net/projects/wii/
Mein früherer Firmenlaptop hatte einen Touchscreen, und überraschenderweise war das ein- bis zweimal pro Woche nützlich.
Im Zug war es praktischer, den Bildschirm direkt zu berühren, statt mit dem Ellbogen den Sitznachbarn anzustoßen, und auch beim Scrollen fühlte sich der Finger natürlicher an.
Es war nicht das primäre Eingabegerät, aber als zusätzliche Eingabeoption war es okay
Der Ausdruck „Skin-Color-Filtering“ wirft bei mir Fragen auf. Ich würde gern Daten dazu sehen, welche Hauttöne als Grundlage dienen und wie gut das besonders bei dunkler Haut funktioniert
Auf Laptops sind Touchscreens nicht angenehm. Ich persönlich finde es besser ohne
Ein wirklich cooles Anwendungsbeispiel für Computer Vision. Danke auch dafür, dass der Code veröffentlicht wurde
Nur ein einfacher Prototyp, aber interessant. Ich frage mich, ob sich die Erkennung je nach Lichtverhältnissen verändert — funktioniert es auch draußen oder bei Gegenlicht gut?
Statt „Skin-Color-Filtering“ wäre Background Subtraction wahrscheinlich robuster gewesen. Hautfarben variieren je nach Beleuchtung zu stark
Wenn die Kamera zwischen Bildschirm und Tastatur sitzt, stelle ich mir beim Zuklappen des MacBooks vor, dass das Display kaputtgeht.
Ich mag Macs, aber die Hardware wirkt so empfindlich, dass ich nervös werde. Bei einem Firmenlaptop bin ich deshalb noch vorsichtiger