poster - Başkent Üniversitesi

advertisement
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/
Download