- MacBook'u yalnızca 1 dolarlık parça ve bilgisayarlı görü teknikleriyle dokunmatik ekran gibi çalışır hale getiren bir prototip proje
- Dahili web kamerasının önüne küçük bir ayna yerleştirerek ekranı eğik açıdan algılıyor ve parmak ile yansımasının kesişim noktasını dokunuş olarak tespit ediyor
- Ten rengi filtreleme ve kontur analizi ile dokunma·hover noktalarını hesaplıyor, ardından homografi düzeltmesi ile bunları ekran koordinatlarına eşliyor
- Tespit edilen girdiler fare olaylarına dönüştürülüyor, böylece mevcut uygulamalarda da anında dokunmatik kullanım mümkün oluyor
- 480p kamerada da çalışıyor; yüksek çözünürlüklü kamera veya kavisli ayna kullanılırsa algılama alanı genişletilebilen düşük maliyetli bir dokunmatik ekran uygulaması örneği
Project Sistine Genel Bakış
- MacBook'u dokunmatik ekrana dönüştürmek için yalnızca 1 dolarlık donanım ve basit bilgisayarlı görü teknikleri kullanıyor
- Yaklaşık 16 saatte 4 kişi tarafından geliştirilen bir proof-of-concept prototip
- Adı, Sistina Şapeli'ndeki 'Yaratılış' tablosunun yeniden canlandırılmasından esinleniyor
Temel Prensip
- Ekrana eğik açıyla bakıldığında ışık yansıması nedeniyle parmağın ve yansımasının birlikte görünmesi olgusundan yararlanıyor
- Parmağın yansımasına temas ettiği anı tespit ederek dokunma olup olmadığını belirliyor
- Fikir, Kevin'in daha önce geliştirdiği ShinyTouch projesinden alınmış
- Harici web kamerası kullanan yaklaşım, MacBook dahili web kamerası ve küçük bir ayna ile değiştirilmiş
- Dahili kameranın önüne küçük bir ayna yerleştirerek ekranın tamamına eğik açıdan bakan bir görüş elde ediyor
- Kamera görüntüsünde parmak hareketlerini algılayıp dokunma olaylarına dönüştürüyor
Donanım Yapısı
- Gereken malzemeler küçük ayna, kağıt tabak, kapı menteşesi, sıcak silikon tabancası gibi basit parçalardan oluşuyor
- Ayna uygun açıda sabitlenerek kameranın tüm ekranı görebilmesi sağlanıyor
- Sadece bıçak ve sıcak silikon tabancasıyla birkaç dakika içinde monte edilebilecek bir yapı
Parmak Algılama Algoritması
- Giriş görüntüsünde parmağı ve yansımasını bularak dokunma/hover noktasını hesaplıyor
-
Ten rengi filtreleme ve ikilileştirme → kontur tespiti → iki ana konturun seçimi
- İki konturun yatay yönde çakışması ve küçük konturun üst tarafta yer alması gerekiyor
- İki konturun üst ve alt noktalarını birleştiren çizginin orta noktası dokunma/hover noktası olarak belirleniyor
- İki kontur arasındaki dikey mesafe ile dokunma ve hover ayrımı yapılıyor
- Sonuç görüntüsünde parmak ve yansıma çizgisi yeşil, sınır kutusu kırmızı, dokunma noktası ise fuşya ile gösteriliyor
-
Eşleme ve Kalibrasyon
- Web kamerası koordinatlarını ekran koordinatlarına dönüştürmek için homografi (homography) hesaplanıyor
- Kullanıcı, ekrandaki belirli noktalara dokunarak kalibrasyon yapıyor
- Toplanan koordinat çiftlerine dayanarak RANSAC algoritması ile izdüşüm matrisi tahmin ediliyor
- Kalibrasyondan sonra ekranda kırmızı çizgilerle izdüşüm matrisi görselleştiriliyor, tahmin edilen dokunma noktaları ise mavi noktalar olarak gösteriliyor
Uygulama
- Prototip, hover ve dokunmayı fare olaylarına dönüştürerek mevcut uygulamaların hemen dokunmatik desteği kazanmasını sağlıyor
- Kendi uygulamasını geliştirenler, hover yüksekliği gibi ayrıntılı dokunma verilerini de doğrudan kullanabiliyor
Sonuç ve İyileştirme Olasılıkları
- Project Sistine, 1 dolarlık donanımla bir dizüstünü dokunmatik ekrana dönüştüren deneysel bir uygulama
- 480p dahili kamerada da çalışıyor; yüksek çözünürlüklü kamera veya kavisli ayna kullanılırsa tüm ekranı algılamak mümkün olabilir
- Düşük maliyetle pratik bir dokunmatik ekran sistemine dönüşme potansiyeli taşıyor
Kaynak Kodu
- Sistine prototipi MIT lisanslı açık kaynak olarak yayımlandı
- GitHub deposu: bijection/sistine
1 yorum
Hacker News yorumları
Steve Jobs, 2010'da dikey dokunmatik ekranların sadece etkileyici demolar için olduğunu, pratikte ise kolları hızla yorduğu için ergonomi açısından berbat olduğunu söylemişti
Bu alıntı Business Insider yazısında yer alıyor
Eski ucuz Android stylus telefonları ya da Palm Pilot kopyaları gerçekten berbattı, ama sanatçılar için basınç algılayan stylus hâlâ faydalı bir araç
(Bu arada “gorilla arm” terimi 1980'lerdeki Jargon File'dan geliyor)
Cihazı düz şekilde koyarak ya da döndürerek kullanıyorum; ayrıca Kindle Scribe ve Galaxy Note 10+ da kullanıyorum.
Apple Sidecar'ı denemek isterim ama bir stylus daha almam gerektiği için kararsızım. Bir gün Apple'ın Newton'ın halefini çıkarmasını umuyorum
Bana dokunmatik ekranlı bir MacBook Pro bedava verseler bile istemem. Zaten klavye kısayolları için optimize edilmiş; gidip ekrana basmak için bir neden yok
İş odaklı kullanımda klavye ve trackpad dokunmaktan çok daha verimli
Ana monitör dokunmatik değil, dizüstü ekranı da ikincil ekran olduğu için ona uzanmanın bir anlamı olmuyor. Bu yüzden Touch Bar'ın da başarısız olduğunu düşünüyorum
Bu proje bana eski Johnny Lee Wii-mote deneylerini hatırlattı
johnnylee.net/projects/wii/
Eskiden kullandığım şirket dizüstüsünde dokunmatik ekran vardı ve şaşırtıcı biçimde haftada bir iki kez işe yarıyordu
Trende yanımdaki kişiye dirsekle çarpmamak için ekrana doğrudan dokunmak daha rahattı ve kaydırma yaparken de bunu parmakla yapmak daha doğal geliyordu
Ana giriş yöntemi değildi ama ikincil bir giriş seçeneği olarak fena değildi
“Cilt tonu filtreleme” ifadesini görünce aklıma soru takıldı. Ölçüt alınan hangi cilt tonu, özellikle de koyu tenlerde ne kadar iyi çalıştığına dair veriyi merak ediyorum
Dizüstülerde dokunmatik ekran rahat değil. Şahsen hiç olmamasını tercih ederim
Gerçekten harika bir bilgisayarlı görü uygulaması. Kodu da paylaştıkları için teşekkürler
Basit bir prototip ama ilginç. Işık koşullarına göre algılamanın değişip değişmeyeceğini merak ediyorum — açık havada ya da arkadan aydınlatmada da iyi çalışır mı?
“Cilt tonu filtreleme” yerine background subtraction kullanılsaydı daha kararlı olabilirdi diye düşünüyorum. Cilt tonu aydınlatmaya göre fazla değişken
Kamerayı ekranın arasına koyup MacBook'u kapatınca ekran kırılacakmış gibi hissettiriyor.
Mac'leri seviyorum ama donanım o kadar narin ki tedirgin ediyor. Şirket dizüstüsü olunca daha da dikkatli davranıyorum