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 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. 2) GÖZBEBEĞİ HAREKETLERİNİN İZLENMESİ Gözbebeği hareketlerini izlemek için aşağıdaki algoritma geliştirilmiş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. İnfrared filtresinin yerine, merceğin arkasına bu iki fotoğraf negatifi konmuştur. Ş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. 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. Şekil 1: Geliştirilen Algoritma 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. 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. 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, ekrana bakarak gözbebeğini hareket ettirmektedir. Gözbebeğini hareket ettirmesine rağmen, gözünün önünde her zaman Mouse’un imleci bulunmaktadır. ŞEKİL 2: Çerçevedeki Resim 4) GERÇEK ZAMANLI UYGULAMA 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. 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. 7)DEĞİŞKENLERİN SABİTLENMESİ İ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. 10) KAYNAKLAR En solda görülen infrared ışık kaynağıdır. Ortada infrared kamera görülmek-tedir. 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-Infrared-Camera http://www.mathworks.com/support/solutions/en/data/1-2X10AT/?solution=1-2X10AT http://tech.blorge.com/Structure:%20/2007/10/04/how-to-turn-your-webcam-into-an-ir-night-vision-camera/ ŞEKİL 3: Kurulan Düzenek