GÖZ BEBEĞİ HAREKETLERİNE DAYALI SANAL FARE HAZIRLAYAN: Giray Sercan ÖZCAN DANIŞMAN: Ögr. Gör. Emre SÜMER Başkent Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü E-posta: gsercan22@hotmail.com Projenin Amacı: Göz bebeği hareketlerinin bilgisayar tarafından izlenebilmesinin sağlanması ve mouse hareketleri ve tıklamalarının göz hareketleri ile yapılması. 1) ÖZET Projede, yuvarlak cisimleri bulma algoritmasından yararlanılmıştır. Normal web kamerası infrared kameraya dönüştürülerek kullanılmıştır. 5) WEB KAMERAYI İNFRARED KAMERAYA DÖNÜŞTÜRMEK 2) GÖZBEBEĞİ HAREKETLERİNİN İZLENMESİ Gözbebeği geliştirilmiştir. hareketlerini izlemek için aşağıdaki algoritma Kamera kasası optik lens kısmına kadar açıldı. 8) FOTOĞRAF KARESİNDEN ALAN ALINMASI Göz bebeğinin, fotoğraf karesinin tamamını gezemeyeceği bilindiğinden fotoğraf karesinden belli bir alan alınarak, bu alan Mouse’un hareket ettirileceği alanla ilişkilendirilmiştir. Merceğin arkasındaki küçük kırmızı infrared filtresi çıkartılmıştır. Bu filtre infrared ışığın kameraya girmesini engellemektedir. İki tane fotoğraf negatifi kesilmiştir. Bu fotoğraf negatifleri görülen ışığın içeri girmesini önlemek içindir. İnfrared ışığı hiçbir şekilde engellememektedirler. ŞEKİL 4: Fotoğraf Karesinden Alan Alınması Mouse’un hareket ettirileceği alan 1280x800 çözünürlükte ve video 320x240 çözünürlükte olmaktadır. X ekseni 125 ve 195’te ayrılmıştır. Y ekseni ise 20 ve 70 noktalarında ayrılmaktadır. Şekil 1: Geliştirilen Algoritma İnfrared filtresinin yerine, merceğin arkasına bu iki fotoğraf negatifi konmuştur. 3) YUVARLAKLIKLARI BELİRLEME Çerçevedeki cismin koordinatları alınmıştır. Koordinatlar kullanılarak cismin çevre uzunluğuna ilişkin tahmini bir değer hesaplanmıştır. Regionprops() fonksiyonunun algoritmalarıyla hesaplanan cismin tahmini alan değeri alınmıştır. 4*pi*alan/çevre2 formülünde yerine konmuştur. Resimde görülen ortadaki dikdörtgen, sınırları belirlenen, gözbebeğinin hareket edeceği kısımdır. Sadece gözbebeği, dikdörtgen alan içindeyken Mouse hareket ettirilmektedir. 6) MOUSE’UN HAREKET ETTİRİLMESİ Matlab’ın fare hareketlerini ilişkilendirmek için sağladığı bir fonksiyon bulunmamaktadır. Ancak uzun araştırmaların sonucunda Matlab’ın içinde Java kodları yazılabildiği anlaşılmıştır. Mouse’un hareket ettirilmesi ve tıklanılması için Java tarafından geliştirilmiş olan Robot ve event adlı sınıflardan yararlanılmıştır. Bu sınıfların namespace’i java.awt.Robot ve java.awt.event’tir. ŞEKİL 2: Çerçevedeki Resim 9) SONUÇ Programın gerçek zamanlı hale getirilmesi ve göz bebeği hareketlerinin Mouse ile ilişkilendirilmesi başarı ile gerçekleştirilmiştir. Uygulama, kameranın, ışık kaynağının konduğu platformu bilgisayar ekranının önüne getirmekle başlamaktadır. Göz kapandıkça mouse sol tıklaması yapılmaktadır. Kullanıcı kameraya yaklaşarak, gözbebeğini hareket ettirmektedir. 4) GERÇEK ZAMANLI UYGULAMA 7)DEĞİŞKENLERİN SABİTLENMESİ Web kamerasının desteklediği format YCbCr olduğundan ilk önce bunun RGB formatına dönüştürülmesi gerekmektedir. Yoksa anlamsız fotoğraf kareleri elde edilmektedir. İnfrared kameranın, ışık kaynağının açısı, tutulma şekli, kullanıcının gözünün açısı ve ortamdaki infrared ışık gibi çok fazla değişken vardır. Değişkenlerin sabitlenmesi gerekmektedir. Trigger modu manuel yapılarak web kamerasından alınan görüntünün hafızaya uğramaması direkt Matlab’a gelmesi sağlanmıştır. Hafızaya uğradığı durumlarda çok fazla gecikme yaşanmıştır. Gerçek zamanlı olma prensibine aykırı olmuştur. getsnapshot() fonksiyonuyla tek bir frame alınarak gerekli işlemler yapılmıştır. Göz bebeğini bulmak için yapılan işlemler çok uzun zaman aldığından gerçek zamanlı uygulama prensibinden biraz uzaklaşılmıştır. ekrana bakarak Gözbebeğini hareket ettirmesine rağmen, gözünün önünde her zaman Mouse’un imleci bulunmaktadır. 10) KAYNAKLAR En solda görülen infrared ışık kaynağıdır. Ortada infrared kamera görülmektedir. Sağ tarafta görülen tahtanın üzerindeki boşluk ise kullanıcının başını koyabilmesi için düşünülmüştür. http://www.dfanning.com/ip_tips/color2gray.html http://www.wikihow.com/Make-a-Webcam-Into-an-InfraredCamera http://www.mathworks.com/support/solutions/en/data/12X10AT/?solution=1-2X10AT ŞEKİL 3: Kurulan Düzenek http://tech.blorge.com/Structure:%20/2007/10/04/how-toturn-your-webcam-into-an-ir-night-vision-camera/