Histogram Tabanlı Algoritmalarla Sanal Giriş Birimi Tasarımı
Selman HIZAL1,Cemil ÖZ2
1
Bilgisayar ve Bilişim Mühendisliği Bölümü
Sakarya Üniversitesi, Esentepe
[email protected]
2
Bilgisayar Mühendisliği Bölümü
Sakarya Üniversitesi, Esentepe
[email protected]
Özetçe
Gerçek zamanlı video kaynağından alınan görüntü çerçeveleri
analiz edilerek insan ve objelerin hareketlerinin analiz
edilmesi, sağlık sektörü başta olmak üzere, endüstri ve eğlence
sektöründe yaygın bir şekilde kullanılmaktadır. Kullanılan bu
sistemler oldukça pahalı olmalarından dolayı yaygın değildir.
Bilgisayar yazılım ve donanımındaki hızlı gelişme ve
beraberinde düşen fiyatlar, bu konudaki çalışmaları artırmıştır.
Bu çalışmada histogram tabanlı algoritmalarla sanal giriş
birimi tasarlanmış ve gerçekleştirilmiştir. Gerçek zamanlı
video kaynağından görüntü çerçeveleri alınarak, bu
görüntülerden
hareketli nesneler belirlenmiştir. Bu
hareketlerden insan vücudu hareketlerine benzeyen hareketleri
seçip, 15 farklı insan üst vücut pozisyonlarını Windows
işletim sistemi ve Windows işletim sistemi altında çalışan
programların kontrolü amaçlı kullanımı gerçekleştirilmiştir.
Gerçekleştirilen sanal giriş birimi standart bilgisayar giriş
birimlerinin birçok fonksiyonlarını yerine getirmektedir.
Abstarct
Analysis of the movement of people and objects from real time
image frames which is taken from video source is widely used
especially in the health sector, industry and entertainment
sector. These systems are not widespread because of being
very expensive. Computer software and hardware development
and with the fast falling prices, increased efforts in this regard.
In this paper, virtual input unit is designed and implemented
with histogram based algorithms. Moving objects are
determined from real time image frames which are received
from the video source. Then the movement is selected which is
similar to human body movements. 15 different human upper
body positions are implemented to control programs which are
running in the Windows operating system and Windows
operating system based software‟s.
Implemented system performs many functions of the standard
computer input unit.
1. Giriş
Bilim ve teknolojideki hızlı ilerlemeler, toplumların ekonomik
ve sosyal yapılarını etkilemiş ve değişikliğe uğratmıştır.
Toplumsal değişmede çok etkili olan bilgisayar ve hızla
gelişen bilgisayar teknolojisi, birçok yerde ve işte kullanılarak
yaşamımızı kolaylaştırmaktadır. Günümüzde bilgisayar; sanayi
kuruluşlarında, bankalarda, hastanelerde, süpermarketlerde,
okullarda ve hatta evlerde çeşitli amaçlarla yoğun bir şekilde
kullanıldığından vazgeçilmez bir araç durumuna gelmiştir.
Bilgisayar, insanların yapabilecekleri işlerin bir bölümünü
insanlardan daha çabuk ve güvenilir bir biçimde yapabilen
araçtır. Ancak, bu işlerin nasıl yapılacağının insanlar
tarafından tanımlandığı da unutulmamalıdır. Bilgisayar, insan
etkinliklerinin yalnız bir bölümünü ve insanlar tarafından
geliştirilmiş
ayrıntılı
yönergelere
göre
gerçekleştirebilmektedirler. Bilgisayara bu yönergelerin
verilmesini ve girilen bilgilerin işlemden geçtikten sonra bize
ulaşmasını sağlamak için bazı giriş ve çıkış birimlerinden
faydalanırız. Bunlar klavye, fare, monitör ve görüntü kartı,
yazıcı, tarayıcı, modem, ses kartı gibi donanımlardan veya
stereo kulaklıktan oluşan başlık seti ve gözlük, vücut
hareketlerini algılayan özel bir giysi ya da eldiven, çok
algılayıcı giriş çıkış cihazları gibi sanal gerçeklik
donanımlarından oluşmaktadır.
Giriş birimleri, kullanıcı ve bilgisayar arasında bir tür iletişim
kurma olanağı sağlar. Bu araçlarla bilgisayara komutları verir,
bilgileri gireriz. Teknolojinin gelişmesi ve sanal gerçeklik
uygulamalarının yaygınlaşması insan-bilgisayar etkileşimini
daha mümkün hale getirmiştir. Bu etkileşimde doğal
araçlardan biriside insan kol hareketlerinin sanal bir giriş
birimi olarak kullanılmasıdır. Dolayısıyla doğal insan kol
hareketlerinin,
bilgisayar
tarafından
anlaşılması
ve
yorumlanmasının önemi ortaya çıkmaktadır. Etkileşimin
gerçekleşmesi için bu hareketlerin bilgisayar tarafından
anlaşılması ve yorumlanması gerekmektedir.
1992‟de Hamid R. Arabnia yaptığı çalışmada; medikal yönden
rahatsızlığı olan bilgisayar kullanıcılarının vücut hareketlerine
göre bilgisayarı yönetebilmeleri için yeni bir bilgisayar giriş
birimi sunmuştur. Kamera ile gerçek zamanlı olarak alınan
görüntüler işlenerek bilgisayara komut vermek için giriş birimi
olarak kullanılmıştır. Bu birimi kullanan kişi, vücudunun
herhangi bir organını kullanarak bilgisayara komutlar
verebilmektedir. Böylece hiçbir fiziksel temas olmaksızın
bilgisayar yönetilmektedir. Sistem; imleç tabanlı olarak
menüler arasında gezinti yapılmasını ve ayrıca fiziksel klavye
yerine kullanılabilecek simüle edilmiş klavye ile kullanıcının
yazı yazmasına olanak sağlamıştır[1].
İnsan ayağının sanal bilgisayar giriş birimi olarak
kullanılmasına olanak sağlayan çalışmalarında; seçilmek
istenilen kutucuk üzerine ayak görüntüsü getirildiğinde
kutucuğun kenarları ışıklandırılarak seçilmiş olur. Seçilen
kutucuğun işlevine göre bilgisayar ekranında bulunan
komutlar çalıştırılır. Ayak görüntüsü kutucukların dışında bir
yere geldiğinde boş seçim yapılmış olur[1].
İnsan ve bilgisayar etkileşiminde sanal gerçeklik giriş
birimlerinin kullanılması, insan el hareketlerini doğru bir
şekilde izlemek üzere olanaklar sağlamaktadır. Günümüzde
kullanılan çoğu ticari el izleme cihazları eldiven tabanlı, hantal
ve pahalı olmaktadır. Bu tür sorunları aşmak için el
hareketlerini yakalamada bilgisayar görmesi kullanılmaktadır.
2002‟de Edward Lin vd., tek bir kamerada 3B modelleme
sistemi tabanlı gerçek zamanlı el izleme sistemi
sunmuşlardır[2].
Görsel olarak insan el hareketinin yakalanması için 3B elin
küresel pozisyonunun yanı sıra, parmak eklemlerinin
belirlenmesine ihtiyaç duyulur. Yüksek çözünürlüklü ortamda
el ve parmak hareketlerini araştırmak oldukça zordur. 2002‟de
John Lin vd.,global ve yerel el hareketlerini ayırmak için bir
yaklaşım sunmuşlardır. Avuç içi ve parmakların özellik
noktalarını kullanarak insan el hareketlerini tahmin etmeye
yönelik yaptıkları çalışmada, doğal el hareketleri için oldukça
doğru ve sağlam el hareketleri elde etmişlerdir[3].
Sanal gerçeklik araştırmalarındaki önemli konulardan biriside
kullanıcı ve sanal ortam arasında etkileşimi sağlayacak
sistemlerin geliştirilmesidir. 2004 Uluslararası bilgisayar
grafikleri sempozyumunda; Salvador Berrera ve diğerleri eller
serbest olarak sanal ortam içerisinde yürümeyi sağlayacak bir
sanal giriş birimi aygıtı sunmuşlardır.
Salvador Berrera ve arkadaşları yaptıkları çalışmada sanal
ortamda kullanılmak üzere ayak bileklerinin hareketlerini ivme
sensörleriyle algılayan cihaz geliştirmişlerdir. Üç farklı açıda
(x, y, z) hareketi algılamak için ivme sensörleri ayak bileği ve
diz kapağı arasındaki bölgeye yerleştirilmiştir. İvme sensörleri
ayak hareketlerini algılayarak; yürüme, yer değiştirme ve
zıplama olayları için x, y ve z yönlerinde çıkış vermektedir[4].
2005 yılında bilgisayar ve robot görmesi üzerine yapılan ikinci
Kanada konferansında Jilin Tu ve diğerleri, insan yüz
hareketlerinin üç boyutlu izlenmesi ile kamera tarafından
yönlendirilen bir bilgisayar faresi sunmuşlardır. Böylelikle
insan ve bilgisayar etkileşiminde eller serbest olarak
etkileşimin
sağlanmasına
uygulanabilir
bir
çözüm
getirmişlerdir. İnsan yüz izleme sistemi sayesinde yüzün
dönüşü, gözler, dudaklar, yüz ifadeleri vb. doğru bir şekilde
parametrelere
dönüştürmüşlerdir.
Çalışmalarında
bu
parametreleri gerçek zamanlı olarak kullanarak; insan baş
kısmının konumunu fare imlecini hareket ettirmek için, dudak
hareketlerini ise fare etkinliklerini tetiklemek için
kullanmışlardır. Geliştirdikleri uygulamada, Microsoft
Windows XP işletim sistemi üzerinde insan yüzünü ve
pozisyonlarını kullanarak 3 çeşit fare modunu üretmişlerdir.
Bu çalışmanın sonunda elleri olmayan ya da konuşma özürlü
olan kişiler için alternatif bir bilgisayar giriş birimi
sunmuşlardır[5].
Göz izleme teknolojisi kamera ya da herhangi bir görüntüleme
aygıtı sayesinde gözün belirli özelliklerinin izlenmesidir. Daha
sonra bu özellikler anlamlandırılarak fare kontrolü olarak
kullanılmaktadır[6].
2007‟de Naveed Ali ve diğerleri “Gözlerle fare kontrolü”
isimli çalışmalarında bilgisayar görmesi tabanlı fare kontrolü
sunmuşlardır. İnsan ve bilgisayar arasındaki etkileşimin doğal
yollardan sağlanmasını amaçlayan bu çalışmalarında,
kullanıcının göz hareketleri gözlüğe yerleştirilmiş göz izleme
aygıtları ile algılanmaktadır. Böylece kullanıcının, bilgisayar
ekranında hangi noktaya baktığı belirlenmekte ve bakılan
noktadaki komutun çalıştırılması için ise sol göz kapağının
kapatılıp açılması ile sağlanmaktadır. Engelli insanların,
normal insanlar gibi rahat bir şekilde bilgisayarı yönetmesini
amaçlayan çalışmalarında dijital görüntü işleme teknikleri
kullanılmıştır[6].
Giriş sisteminde görüntü yakalama, görüntü işleme ve
masaüstü koordinat hesaplama olarak üç alt sistem
bulunmaktadır. Kullanıcı kamera tarafından kayıt işlemlerine
başlamadan önce sağ ve sol göz kısımlarına küçük kameralar
gelecek şekilde özel bir gözlük takmaktadır. Ortamdaki ışık
yoğunluğunun
performansı
etkilemekte
olduğundan
düzenlenmesi performansı arttırmaktadır. Sistemde üç adet
kamera kullanılmıştır, iki adet sağ ve sol gözü ve diğeri ise baş
hareketlerini incelemek içindir. Göz hareketlerini izleyen
kameralardan alınan gerçek zamanlı renkli görüntüler ilk
olarak siyah ve beyaz görüntülere çevrilmektedir. Göz
bebeğinin kenarları işaretlenerek, göz bebeğinin koordinatları
hesaplanmaktadır. Başın konumunu izleyen kamera verisi ile
de kullanıcının tam olarak nereye baktığı belirlenmektedir.
Kullanıcı böylelikle gözleriyle bilgisayardaki fareyi
yönetebilmekte ve fare ile tıklama işlemini ise sol gözünü
kırparak yapmaktadır[6].
Bu çalışmada görmeye dayalı insan kol hareketleri histogram
tabanlı algoritmalarla anlamlandırılarak bilgisayarla iletişime
geçilebilecek sanal giriş birimi tasarlanmış ve kodlanmıştır.
Çalışmada işaretleyici kullanmadan ve özel donanımlı kamera
sistemlerine ihtiyaç duyulmadan insan kol hareketlerinin
algılanması gerçekleştirilmiştir.
İnsan kol hareketleri algılandığında, her bir harekete karşılık
sanal bir bilgisayar giriş birimi olayı tetiklenmiştir. Her bir kol
için dört adet hareket algılanabilmektedir.
1. Sol kol yükselmemiş;
2. Sol kol çapraz aşağı yükselmiş;
3. Sol kol düz yükselmiş;
4. Sol kol çapraz yukarı yükselmiş;
Sağ kol için de benzer durumlar söz konusudur, böylece
toplam 16 değişik durum oluşur. Eğer her iki kolunda
yükselmemiş olduğu durumu hareket olarak kabul edilmezse,
diğer hareketlerin kombinasyonundan meydana gelen 15 kol
hareketi tanımlanmıştır. Böylece video veya kamera
kaynağından gerçek zamanlı alınan görüntülerden algılanan
insan kol hareketleri sanal gerçeklik bilgisayar giriş birimi
olarak kullanılmıştır.
Geliştirilen yazılım sayesinde algılanan kol hareketleri, klavye
kontrolü ve fare kontrolü olarak Windows işletim sistemi
altında çalışan uygulamalar üzerinde çalışabilmektedir.
2. Sanal Gerçeklik ve İnsan-Bilgisayar
Etkileşimi
Sanal gerçeklik, bir konunun fiziksel olarak taşınmadan, farklı
bir ortama kaydırılma kapasitesine sahip teknolojiden ileri
gelir. En basit şekliyle, bilgisayarda canlandırılan üç boyutlu
görüntülerin, bazı aygıtların yardımıyla insanlara "gerçek bir
dünya" gibi gösterilmesidir. Bu amaçla konuyla ilgili duyu
organları bir şekilde işlenerek, algılanması sağlanan ortama
fiziksel ortam yerine sanal ortam denir. Bugün birçok alanda
farklı amaçlarla kullanılan bu teknolojiye, bu nedenle "yapay
gerçeklik", "sanal dünyalar", "sanal ortamlar" gibi isimler de
verilmektedir.
aygıtlarının çoğaltılmasıyla birlikte sanal ortama doğru
yaklaşılır. Sanal ortamda, her şey tamamen insan algılarını
yapay olarak uyaran sistemler mevcuttur[7].
2.2. Sanal Gerçeklik Uygulama Alanları
Sanal gerçeklik uygulamaları geniş bir alana yayılmıştır.
Bilgisayar destekli tasarımda (CAD), tıbbi teşhis ve tedavide,
fiziksel ve biyoloji bilimlerindeki bilimsel deneyimlerde, pilot
ve astronotların eğitimi için uçuş simülatörlerinde ve eğlence
olarak üç boyutlu video oyunlarında kullanılmaktadır. CAD en
geniş şekliyle endüstriyel sanal gerçeklik uygulamalarında
kullanılmaktadır. Mimarlar ve tasarımcılar, ürünlerin ve
yapıların üç boyutlu modelleri üzerinde test ve tasarım
işlemleri yapmakta kullanırlar. SG teknolojisi ayrıca ecza ve
biyoteknoloji firmaları tarafından yeni ilaçların bilgisayara
uyarlanmış davranışlarını geliştirmek ve gözlemlemek için
kullanılmaktadır. Ayrıca doktorlar hasta vücudunun sanal bir
modelinin oluşturulup sorgulanmasında faydalanmaktadır.
3. Gerçekleştirilen Çalışma
Çalışmanın bu bölümünde bilgisayar görmesine dayalı gerçek
zamanlı insan üst vücut pozisyonları histogram tabanlı
algoritmalarla anlamlandırılarak, sanal bir bilgisayar giriş
birimi elde edilmesine yönelik uygulama gerçekleştirilmiştir.
3.1. Çalışmanın Amacı
Şekil 1: Sanal Gerçeklik Sistem Bileşenleri
Sanal gerçeklik sistem bileşenleri Şekil 1‟deki gibi bilgisayar
donanım ve yazılımı, giriş ve çıkış aygıtları, veri ve
kullanıcılardan oluşmaktadır. Genellikle çıkış birimi olarak
başa takılan ekran ve stereo kulaklık, giriş birimi olarak da
vücut hareketlerini algılayan konum ve oryantasyon cihazları
ve elbiseler, el hareketlerini algılayan eldiven vb. sistemlerden
oluşmaktadır.
2.1. Sanal Ortan Kavramı
İnsan ve objelerin hareket analizi başta sağlık sektörü olmak
üzere, endüstri ve eğlence sektöründe temel teşkil etmektedir.
Bu sistemler pahalı olmasından dolayı yaygın değillerdir. Bu
çalışmanın amacı; işaretleyici kullanmadan ve özel donanımlı
kamera sistemlerine ihtiyaç duyulmadan insan üst vücut
pozisyonlarını
histogram
tabanlı
algoritmalarla
sınıflandırılması ve daha sonra elde edilen veriler ile sanal bir
bilgisayar giriş birimi oluşturulmasıdır. Elde edilen bu esnek
bilgisayar giriş birimine ilave olarak geliştirilecek yazılım
modülleriyle endüstride, sağlık sektöründe, eğlence sektöründe
ve bilgisayar oyunlarında rahatlıkla kullanılabilecektir.
Böylece verimliliğin
arttırıp harcanan zaman ve
malzemeden(algılayıcı donanımlar, alarm sistemleri, insan
kaynakları v.b.) kazanç sağlanması amaçlanmaktadır.
3.2. Hareket Yakalama
Herhangi bir video kaynağındaki hareketleri algılamak için
çeşitli yaklaşımlar bulunmaktadır. Bunların çoğu şimdiki
görüntü ile bir önceki görüntüyü veya arka plan olarak
adlandırdığımız görüntüyü karşılaştırma yaklaşımıdır.
Şekil 2: Sanal Gerçeklik Süreç Şablonu
Gerçek ortam ve sanal ortamların daha net anlaşılabilmesi için
Şekil 2‟deki şablondan faydalanılabilir. Gerçek ortam, dış
Dünya‟da herhangi bir ek aygıt olmaksızın algıladığımız
ortamlardır. Gerçek ortam ve sanal ortam arasında kalan kısma
karıştırılmış veya arttırılmış gerçeklik olarak adlandırılır. Bu
sistemlerde hem gerçek ortamdan nesneler hem de sanal
ortamdan nesneler bulunmaktadır. Kullanılan sanal gerçeklik
Görüntü, iki boyutlu ışık şiddeti fonksiyonudur. Bu fonksiyon
f(x,y) şeklinde gösterilir. Burada x ve y kartezyen
koordinatları, (x,y) noktasındaki f‟in sayısal değeri ise
parlaklık değeri veya görüntünün ilgili noktadaki gri seviye
değeridir.
iki adet görüntü alınmalıdır. Algılanmak istenilen son hareketli
çerçeveden bir görüntü ve bu çerçeveden önce gelen bir
görüntü alınır.
Burada:
R: RGB görüntüsündeki pikselin kırmızı bileşeni(8bit) 0-255
G: RGB görüntüsündeki pikselin yeşil bileşeni(8bit) 0-255
B: RGB görüntüsündeki pikselin mavi bileşeni(8bit) 0-255
Görüntülerin bilgisayar tarafından daha hızlı bir şekilde
işlenebilmesi ve CPU zamanından kazanç sağlamak için alınan
RGB görüntünün gri tonlama bir kopyası olan görüntü ve bir
önceki çerçeveden alınmış zemin görüntüsünün gri tonlanmış
hali alınır. Daha sonra bu iki görüntü arasında hangi bölgelerin
farklı olduğu bulunmaya çalışılır.
Şekil 3: Dijital Görüntülerin Koordinat Düzleminde
Gösterimi
İki görüntü arasındaki değişimi tespit etmek için kullanılan en
temel algoritmalardan biri arka plan farkının alınmasıdır. Bu
yönteme göre değişim
ve
ve
zamanlarında alınan
görüntülerinin, temel görüntü
birimlerinin (piksel) matematiksel farklarının alınmasıyla
tespit edilir. Bu görüntülerden biri, durağan bileşenlerden
oluşan referans yani arka plan görüntüsü, diğeri ise, aynı
durağan bileşenlerle beraber hareketli bir nesne veya
nesnelerin olduğu görüntüdür. Bu iki görüntünün farkının
alınması, değişimlerin gözlemlenmesi için oluşturulan fark
görüntüsünde, durağan bileşenleri eleyerek, durağan olmayan
bileşenleri ortaya çıkarmaktadır[8].
ve
zamanlarında alınan iki görüntü arasındaki
değişiklikleri gösteren fark resminin oluşturulması şöyle ifade
edilir.
ile gösterilen değer, iki piksel arasındaki farkın, harekete
ait olup olmadığını belirleyen, tamamen deneysel olarak
önceden belirlenmiş eşik değeridir. Fark görüntüsündeki „1‟
değerleri, incelenen görüntülerin o koordinattaki, eşik değeri
‟ye göre, belirgin farkı sembolize eder. Bir anlamda
değişimi ikilik resim ile ifade eder.
Dinamik görüntü analizinde, D(x,y)‟deki tüm „1‟ değerleri,
nesne hareketi olarak kabul edilir. Bu yaklaşım, ancak ışık
yoğunluğu sabit ise doğrudur. Pratikte, ışık yoğunluğu her
zaman sabit olmadığından, bu durum çoğunlukla D(x,y)‟de,
gürültü diye tabir edilen, harekete ait olmayan aktif piksel
guruplarının oluşmasına yol açmaktadır.
3.3. Hareketli Nesne Çıkarımı
24 bit renk derinliğine sahip RGB görüntülerden oluşan
herhangi bir video kaynağından ard arda gelen çerçevelerinden
Farklı bölgelerin açığa çıkarılması için fark filtreleme
kullanılır. Elde ettiğimiz bu fark görüntüsü üzerinde eşikleme
filtresi kullanarak hareket eden cismin piksellerini
sınıflandırabiliriz. Böylece görüntümüz iki çeşit piksel
değerinden oluşacaktır.
Eşikleme filtresinden geçirilen görüntüde istenmeyen
gürültüler bulunabilir. Bu gürültülerden kurtulmak için açma
filtresi kullanılmaktadır. Bu adımdan sonra gürültülerden
olduğunca arındırılmış ve hareketin olduğu bölgelerin
belirlenmiş olduğu bir görüntüye ulaşılmaktadır.
Şekil 4: Nesnenin Gürültülerden Arındırılmış Hali
Bu aşamalardan sonra elde edilen görüntü Şekil 4‟deki gibi
olacaktır. Elde edilen görüntüde gürültülerden kaynaklanan
nesneleri veya insan vücudu dışındaki nesneleri ayırt
edebilmek için, video görüntümüzden sırayla aldığımız
çerçevelerdeki hareket eden cisimler sayılır. Hareket eden bu
cisimlerin her birinin boyutları kontrol edilir ve istenilen insan
vücut büyüklüğünü karşılayabilecek olan nesne seçilir.
Nesne algıladıktan sonra, bize bir hareket göstermesi için ona
zaman şansı tanınır. Eğer nesne sürekli olarak hareket
ediyorsa, bize bir hareket algılamamız için kol hareketi
göstermek istemez. Böylece bu kısım işlenmez. Beklenen kol
hareketini yakalamak için nesnenin hareketi durdurduğunda
çerçeveler arasındaki farkı bulma yöntemini kullanarak nesne
algılanır. Fakat nesnenin devamlı hareket ettiği sürece, insan
kol hareketleri algılama yoluna geçilmez. Bunun yerine, ard
arda nesnenin hareketsiz olarak algılandığı çerçevelerin
miktarı hesaplanarak bir sayaçta tutulur. Ard arda gelen
hareketsiz çerçevelerin miktarı beklenen değere ulaştığında,
sonunda nesneyi kol hareketleri algılama modülüne geçilir.
Kol hareketlerini algılama yöntemlerine geçmeden önce,
yanlış hareket algılanmadığından emin olunmalıdır. Bunun
için ilave bir kontrol yapılır. Ard arda gelen çerçeveleri
kontrol ederek, nesnenin belirli sürede aynı hareketi yaptığı
algılanarak doğrulanır. Böylelikle hareket eden nesnenin bize
doğru hareketi yapıp yapmadığı kontrol edilir.
3.4. İnsan Kol Hareketleri Tanıma
Bölüm 3.3‟deki bahsedilen işlemlerden geçirilecek hareketli
bir insan nesnesi yakalandıktan sonra, bu nesne analiz edebilir,
kol hareketi yapmayı denediğini tanımlayabiliriz.
Gövde genişliği ve kol uzunluklarını elde edildikten sonra
kolun yukarı kalkmış veya kalkmamış olabileceğini
belirlenebilir. Her bir kol için, kullanılan algoritma ile kolun
kaldırılmamış, çapraz aşağı, düz ve çapraz yukarı olarak
kaldırıldığı algılanmaya çalışılır. Tüm bu dört olağan
pozisyonlar Şekil 7‟de gösterilmiştir.
Daha sonra kol hareketlerini algılama gerçekleştirilir. Kol
hareketlerini algılama histogram ve istatistiksel veriler
kullanılarak elde edilebilir.
Algoritma dikey ve yatay piksel yoğunluk istatistikleri
histogramları olmak üzere iki farklı histogramdan
oluşmaktadır.
Şekil 7: Örnek İnsan Kol Pozisyonları
Bir kolun yukarı kaldırıldığını veya kaldırılmadığını kontrol
etmek için, insan vücudunun oranları hakkında bazı
istatistiksel bilgilerden yararlanılır. Eğer kol yukarı
kaldırılmamış ise, kolun yatay histogramdaki genişliği, gövde
genişliğinin %30 unu geçemez. Aksi halde, kol kalkmıştır.
Şekil 5: (a)Dikey ve (b) yatay histogram
Şekil 8: Hareket Eden Kol ve Dikey Histogramları
İnsan kol hareketlerini algılamada, ilk olarak Şekil 5.(b)‟deki
yatay histogramdan faydalanarak görüntümüzdeki insan
vücudunun kol ve gövde kısımlarının nerde olduğu bulunmaya
çalışılır.
Şekil 8‟deki yukarı/aşağı doğru yükselmiş kol hareketlerinin
dikey histogramlarında görüldüğü üzere, yukarı yükselmiş
kolun en yüksek değeri histogramın başlangıç noktasına
kaymıştır(dikey histogramda, üst kısımda),fakat aşağı doğru
yükselmiş kolun en yüksek değeri ise ortalara doğru kaymıştır.
Böylelikle bu özellikleri kullanarak iki ayrı tip ayrıştırılabilir.
Yatay histogram biraz daha detaylı incelenirse, kol
bölgelerinin bulunduğu kısımlarda histogramın küçük değerler
aldığını fakat gövde kısmında ise en yüksek değerleri aldığı
görülür. İnsan vücudunun bazı bölümlerini dikkate
aldığımızda, insan kolunun, insan vücut boyunun %30 unu
geçmeyeceği söylenebilir.(%30 değeri oldukça yüksektir, fakat
bu güvenlik ve örnek olması açısından kullanılır). Böylelikle
yatay histogram ile kol ve gövde alanlarını sınıflandırılır.
İşlem basamaklarının hepsi tamamlandığında, algoritmamız
her bir kol için dört adet hareketi algılayabilmektedir.
3.5. Kol Hareketleri Sanal Giriş Birimi Olarak Kullanımı
Şekil 6: Yatay Histogramın Eşiklenmesi
Yatay histogramın eşiklemesi ile vücudun genişliğini ve
kolların uzunlukları kolayca hesaplanabilir. Sağ elin uzunluğu,
histogramın sağ kısmında bulunan boş bölgeye eşittir. Sol
kolun uzunluğu ise, histogramın sol kısmında kalan boş
bölgeye eşittir ve gövdenin genişliği iki bölge arasında kalan
boş bölgeye eşittir.
Şekil 9:Kol Hareketleri Sanal Giriş Birimi Olarak
Kullanımı
Şekil 9‟da insan kol hareketlerinin sanal giriş birimi olarak
kullanılması için geliştirilen yazılım görülmektedir. Algılanan
kol hareketleri metin veya şekil olarak video çerçeveleri
üzerinde gösterilebilmektedir. Geliştirilen yazılım Windows
tabanlı tüm uygulamalarda klavye yön tuşlarını ve farenin
hareketini kontrol etmek için kullanılmaktadır. Ayrıca
Microsoft Windows Media Player uygulaması için klavye
kısayol tuşları kullanılarak müzik listesindeki müziklerin
çalınması durdurulması, bir sonraki ve bir önceki müzikler
arasında gezinti yapılabilmesine olanak sağlamaktadır.
4. Sonuçlar ve Öneriler
Bu çalışmada histogram tabanlı algoritmalarla sanal giriş
birimi tasarlanmış ve gerçekleştirilmiştir. Gerçek zamanlı
video kaynağından görüntü çerçeveleri alınarak, bu
görüntülerden
hareketli nesneler belirlenmiştir. Bu
hareketlerden insan vücudu hareketlerine benzeyen hareketleri
seçip, 15 farklı insan üst vücut pozisyonlarını Windows
işletim sistemi ve Windows işletim sistemi altında çalışan
programların kontrolü amaçlı kullanımı gerçekleştirilmiştir.
Gerçekleştirilen sanal giriş birimi standart bilgisayar giriş
birimlerinin birçok fonksiyonlarını yerine getirmektedir.
Çalışmada kullanılan algoritmalar gerçek zamanlı uygulamalar
için uygundur ve yeterlidir. İnsan üst vücut pozisyonlarının
gerçek zamanlı olarak algılanması ve tanınmasında kullanılan
algoritmalar %90 oranında başarılıdır.
Sistem, el şekillerinin tanınması modülünün eklenmesi ile
genişletilebilir. Duvardaki kol gölgelerine bakılarak daha
sağlam algılama yapılabilir. Algılanan insan vücudunun
arkasında oluşan farklı hareketlerin olduğu dinamik sahnelerin
yönetilmesi gerçekleştirilebilir.
5. Teşekkür
Bu çalışma, 2009-50-01-013 numaralı lisansüstü tez projesi
kapsamında gerçekleştirilmiştir. Katkı ve desteklerinden
dolayı Sakarya Üniversitesi Bilimsel Araştırma Projeleri
Komisyonu Başkanlığına teşekkür ederiz.
6. Kaynakça
[1] ARABNIA, H.R., A Computer Input Device For
Medically Impaired Users Of Computer, IEEE, 1992.
[2] LIN, E., CASSIDY, A., HOOK, D., BALIGA, A.,
CHEN, T., Hand Tracking using Spatial Gesture
Modeling and Visual Feedback for a Virtual DJ
System,IEEE, 2002.
[3] LIN, J., WU, Y., and HUANG, T.S., Capturing Human
Hand Motion in Image Sequences, IEEE, 2002.
[4] BARRERA, S., TAKAHASHI, H., NAKAJIMA, M.,
Hands-free navigation metods for moving through a
virtual landscape walking interface virtual reality input
devices, Proceedings of the Computer
Graphics
International (CGI‟04), IEEE, 2004.
[5] TU, J., TAO, T.H.H., Face as Mouse Through Visual
Face Tracking, IEEE, 2005.
[6] ALI, N., KHAN, N.Y., IMRAN, A.S., Controlling Mouse
Through Eyes, IEEE, 2007.
[7] MILGRAM, P., and KISHINO, A.F., Taxonomy of
Mixed Reality Visual Displays IEICE Transactions on
Information and Systems, E77-D(12), pp. 1321-1329,
1994.
[8] ASTHEIR, P., DAI, GÖBEL, M., KRUSE, R.,
MÜLLER, S., ZACHMANN, G., Realism in Virtual
Reality, in: Magnenat Thalmann N and Thalmann D,
Artificial Life and Virtual reality, John Wiley, pp. 189209, 1994.
Download

Histogram Tabanlı Algoritmalarla Sanal Giriş Birimi