Microsoft Kinect ile Örnek bir Uygulama: Piyano



Benzer belgeler
Anahtar Sözcükler: Kinect,Visual Studio 2010, WPF (Windows Presentation Foundation)

Öğr. Gör. Hakan YÜKSEL SÜLEYMAN DEMİREL ÜNİVERSİTESİ. Akademik Bilişim

Fırat Üniversitesi DENEY NO: 8 KINECT İLE İNSAN HAREKETLERİNİN ALGILANMASI

İnsan Hareketinin Algılanmasından Yeni Bir Teknoloji Platformu: KİNECT

Harf Eğitimi İçin İnteraktif Kinect Uygulaması

Uzaktan Kontrollü İnsan Makine Arayüz Uygulamasıyla Yeni Bir Eğitim Platformu

Kurulum (Windows)...3

Hazırlayan: Cihan Aygül BT Rehber ÖĞRETMENİ

Tak ve Çalıştır USB2.0 USB Video Sınıfı Web Kamerası

Bilişim Teknolojilerine Giriş

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

Java 2 Micro Edition (J2ME)

KWorld PlusTV Analog USB Stick

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

Kinect Kontrollü Robot Kol. Muhammed Emirhan ŞENLİ; Ramazan ÖZCAN ; Uğur DİYARBAKIR

Otistik Bireylere Kinect İle Davranış Öğretimi

Önemli Teknolojik Özellikler

1970 yılında ise şimdilerde kullandığımız her iki tarafada yöne hareket edebilen mouse un patentini almıştır.

USB WEB KAMERA TTC227. Kullanım Kılavuzu ve Garanti Belgesi

5.63. YÜK KONTROLLÜ ASANSÖR ROBOT TASARIMI

KWorld. PlusTV DVB-S USB. PlusTV DVB-S USB Kurulum Kılavuzu. İçindekiler

Ürün Kutusu. Kargoyla teslim edilen ürün kutusu. Ürün kutusundaki temel bileşenler

GÖRÜNTÜ TABANLI ALGILAMA İLE QUADROTORUN HAREKETLİ BİR CİSMİ TAKİBİ

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

WeldEYE. Kurulum Kılavuzu. İçindekiler

EĞİTİM-ÖĞRETİM YILI MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE) BÖLÜMÜ DERS PROGRAMINDA YAPILAN DEĞİŞİKLİKLER

4. Bölüm Programlamaya Giriş

Spor Eğitiminde Hareket Yakalama Kinect Teknolojisinin Uygulanması

İŞLETİM SİSTEMLERİ. (Operating Systems)

Giyilebilir Teknolojiler ve Solar Enerjili Şapka Uygulaması

Otomatik Kontrol Ulusal Toplantısı, TOK2013, Eylül 2013, Malatya AKILLI ŞEHİR, AKILLI BİNA VE AKILLI EV OTOMASYONU

Fiyat Listesi V2.0.7_8

Windows 7. Kurulum & Yapılandırma. A+ Bilgisayar Teknik Servis Elemanı Eğitimi / Windows 7

tarantula serisi pc kameralar

MÜFREDAT DERS LİSTESİ

Bu kullanma kılavuzu Piranha Razor N Type için geçerlidir.

KWorld. PlusTV Hybrid PCI (DVB-T 210SE) İçindekiler

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.2 Telif Hakkı QlikTech International AB. Tüm hakları saklıdır.

Electronic Letters on Science & Engineering 11(1) (2015) Available online at

HP Web Kamerası 2100 Kullanıcı Kılavuzu

sentry Ürün Kataloğu

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

PR Kasım 2009 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.1 Copyright QlikTech International AB. Tüm hakları saklıdır.

1. PS/2 klavye fare 2. Optik S/PDIF çıkışı 3. HDMI Giriş 4. USB 3.0 Port 5. USB 2.0 Port 6. 6 kanal ses giriş/çıkış 7. VGA giriş 8.

Temel Bilgisayar Bilgisi

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı

KİNECT TEKNOLOJİSİ KULLANILARAK ENGELLİLER İÇİN EV OTOMASYONU HOME AUTOMATION FOR DISABILITIES USING KINECT TECHNOLOGY

SU KALITE SİSTEMİ. Türkiye Halk Sağlığı Kurumu

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

PROGRAMLAMA TEMELLERİ

Yer yüzündeki en küçük, en hafif Handycam

ANKARA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

Engelliler İçin Akıllı Ev Otomasyon Sistemi

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

SİNYAL TEMELLERİ İÇİN BİR YAZILIMSAL EĞİTİM ARACI TASARIMI A SOFTWARE EDUCATIONAL MATERIAL ON SIGNAL FUNDAMENTALS

Bilgisayar Donanım ANAKART ÜZERĐNDE YER ALAN GĐRĐŞ/ÇIKIŞ (I/O) BAĞLANTI NOKTALARI

Çalışmamız (Ne Yaptık?) Materyal Metot (Nasıl Yaptık?) Uygulama (Demo) Deneysel Sonuçlar Teşekkür ve Sorular

Bulanık Mantık Tabanlı Uçak Modeli Tespiti

İşletim Sistemleri (Operating Systems)

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

T.C. SÜLEYMAN DEMĠREL ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ KINECT TEKNOLOJĠSĠ KULLANILARAK ROBOT KOL KONTROLÜ

Mobil Cihazlarda Online Görüntü İşleme Yazılımının Geliştirilmesi

SkyStar3 USB 2.0 Box 64 bit BDA Sürücü Kurulumu

BLM 4811 MESLEKİ TERMİNOLOJİ II Salı , D-109 Dr. Göksel Biricik

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.0 Copyright QlikTech International AB. Tüm hakları saklıdır.

SORULAR (1-36) SORU -2 Aşağıdakilerden hangisi klavye ve farenin takıldığı portlardan biridir?

Mobil Cihazlarda Online Görüntü İşleme Yazılımının Geliştirilmesi

ve Sonrası Girişli Öğrenciler için Uygulanacak Ders Program

BİLGİSAYAR KULLANMA KURSU

SORULAR. A) Ses kartı. SORU -1 Aşağıdakilerden hangisi sadece giriş donanımıdır? D) Ekran. B) Klavye. C) Yazıcı

Touchstone Kisisel-Egitim Sürümü Level 2 DVD-ROM ve Video DVD talimatlari ve bilinen teknik konulari

Yazılım Güncelleştirmeleri

gelin ve Başlat ->Programlar -> VideoCAM SlimClip>Uninstall VideoCAM SlimClip yi seçin ve kurulumu kaldırmak için ekrandaki talimatları izleyin.

MONĐTÖRLER

İRİSTEN KİMLİK TANIMA SİSTEMİ

PHONAK INVISITY PROGRAMLAMA IPU SOFTWARE 1.0. KULLANICI ve TANITMA KILAVUZU

Yazılım Mühendisliğine Giriş 2018 GÜZ

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Uzaktan Eğitim ve E-Öğrenme

Üç Boyutlu Grafik Teknolojilerinin Mobil Öğrenme Alanı ile Bütünleştirilmesi

Merkezi İşlem Birimi Kavramı (CPU)

WINDOWS 7. Eğitim ID 98 2/4 (Normal Seviye Kullanıcı) Konu ID Windows 7 Hakkında Genel Bilgi Ek Bilgi -

ÜRÜN FİYAT LİSTESİ AHD / IP KAMERA VE KAYIT CİHAZLARI

PERİYODİK BAKIM: Garanti sonrası teknik bakımın sadece yetkili servis istasyonlarında yapılması gerekmektedir.

DESINING AND IMPLEMENTING 3D, MULTIPLAYER AND REAL TIME COMPUTER GAME (SUMMARY)

Harici Aygıtlar. Kullanıcı Kılavuzu

Qlik Sense için sistem gereksinimleri. Qlik Sense June 2017 Copyright QlikTech International AB. Tüm hakları saklıdır.

Kurulum ve Sistem Gereklilikleri 1

Yazılım Kurulumu ve Yönetimi -2010

CPU çok güçlü bir hesap makinesi gibi çalışır. CPU lar çok zeki olmayabilirler ancak çok hızlıdırlar. Sadece 0 ve 1 değerleri üzerinden işlem

AutoCAD 2011 Kurulumu

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ- 1

MODEL STAR SERİSİ IR BULLET IP KAMERALAR FİYAT TL RESİM 4 MEGAPİKSEL 992,00 TL IPC2124SR3-DPF36. IPC242E-IR-Z-IN Motorize Lens 1.937,00 TL 1.

Girdi ve Giriş Aygıtları

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU

ISCOM Kurumsal ISCOM KURUMSAL BİLİŞİM TEKNOLOJİLERİ EĞİTİM KATALOĞU

Transkript:

Microsoft Kinect ile Örnek bir Uygulama: Piyano Ahmet Ali Süzen 1, Kubilay Taşdelen 2, 1 Süleyman Demirel Üniversitesi, Elektronik-Bilgisayar Eğitimi Bölümü, Isparta 2 Süleyman Demirel Üniversitesi, Elektrik-Elektronik Mühendisliği Bölümü Isparta, ahmetali.suzen@hotmail.com, kubilaytasdelen@sdu.edu.tr Özet: Kinect, insan hareketlerini algılayıp bu hareketleri bilgisayarlara gönderebilen bir sistemdir. Microsoft tarafından Xbox oyun konsolu için oyun oynamak amaçlı geliştirilmiş ve zamanla diğer alanlardaki uygulamalar için kullanılmaya başlanmıştır. Yeni bir teknoloji olmasından dolayı uygulama ve Türkçe literatür eksikliği vardır. Bu çalışmada, kullanıcının el hareketleri Kinect tarafından algılanarak hazırlanan piyano tuşları üzerinde hangi notaya karşılık geliyorsa o sesi çıkaran sanal bir piyano uygulaması gerçekleştirilmiştir. Anahtar Sözcükler: Kinect, Visual Studio 2010, WPF (Windows Presentation Foundation) A Sample Application with Kinect : Piano Abstract: Kinect is a system which can able to detect human motions and send them to computer. It was developed by Microsoft for Xbox game console to play games and by the time it was used for the applications in different areas. Since it is a new technology, it has got some deficiencies such as practice and Turkish literature. In this study, a virtual piano application is carried out that detects hand motions of the user by Kinect and sounds them which corresponds musical notes on piano keys. Keywords: Kinect, Visual Studio 2010, WPF (Windows Presentation Foundation) 1. Giriş Hızla gelişen bilgisayar teknolojisinin en verimli ürünlerinden biri olan Kinect ile insan hareketleri algılanabilemektedir. Kinect in insan hareketlerini algılayabilme özelliği ilk olarak oyunlarda tanıtılmıştır. Bu sayede oyunseverler kumanda veya kontrol kartı kullanmadan sadece hareketleri ile oyun oynayabilmektedir. Kinect teknolojisinin kazandırdığı yenilik sadece oyun sektöründe kalmamıştır. İnsanın olduğu her alanda bu yenilik dikkat çekmektedir. Kinect her ne kadar yeni bir teknoloji olsa da eğitim, robotik, mühendislik alanlarındaki projelerde de hızla yerini almaktadır [4]. Şekil 1 de Kinect cihazı görülmektedir. Kinect üzerinde bulunan kamera ve ses algılayıcıları sayesinde ortamda bulunan insan veya nesneleri kolay bir şekilde algılayabilmektedir. Şekil 1. Kinect donanımı [5] Kinect ın algılama özelliği otomatik olarak oyunlarda sadece XBOX 360 oyun konsolu ile gerçekleşmekteydi [8]. Fakat Microsoft Kinect in bilgisayarlarda da kullanılması için gerekli SDK (Software Development Kit) yı yayınlamıştır [9]. Bununla beraber Kinect Windows işletim sistemi yüklü olan her bilgisayarda kullanılmaya başlanmıştır. Bu gelişim ile beraber araştırmacıların dikkatini çeken Kinect ile etkileşimli uygulamalar gerçekleştirmek mümkün olmuştur. Yeni gelişen bir teknoloji olmasının

getirdiği avantajların yanında dezavantajları da bulunmaktadır. Bu dezavantajların en önemlisi kaynak ve literatür eksikliğidir. Özellikle ülkemizde Kinect alanında yapılan bilimsel çalışmaların azlığı söz konusudur.. Gerçekleştirilen örnek Kinect uygulaması ile literatürdeki bu eksikliği kapatacak adımlardan biri olması planlanmaktadır. Gerçekleştirilen örnek uygulama Visual Studio 2010 üzerinden Kinect SDK ları kullanılarak gerçekleştirilmiştir. Yazılım kodları Visual C# programlama dili kullanıllarak WPF teknoloji üzerinde yazılmıştır. Örnek uygulama olarak tercih edilen Piyano, müzik severlerin hiç bir maliyet gerektirmeden sadece ellerini kullanarak piyano çalmasını öğreneceği bir uygulamadır. Bu sayede piyano öğrenmek isteyenler için eğlenceli bir materyal olması hedeflenmektedir. 2. Kinect Kinect ya da eski adı ile Project Natal, Microsoft tarafından geliştirilmiş bir donanımdır. Kinect in göze çarpan en büyük özelliği insan hareketlerini algılaması olmuştur. Microsoft un, Kinect teknolojisi ilk olarak oyun sektöründe tanıtıldı. Yine Microsoft un başka bir ürünü olan X-Box oyun konsolu ile çalışabilen Kinect, oyunlarda kontrol görevi görmektedir [2]. Yani oyuncu hiç bir kontrol aracı kullanmadan hareketleri ile oyunu oynayabilmektedir. Microsoft 2010 yılında bu teknolojiyi piyasaya sürmüştür. Ülke geneline bakıldığında, bu teknoloji oyun sektöründe yeni yeni görülmektedir [5]. Kinect, donanımı ile tümleşik 2 tane derinlik kamerası, 1 tane RGB (Red Green Blue) kamera, 2 tane mikrofon bulunmaktadır [9]. Kinect in alt bölümünde yukarı ve aşağı hareketi sağlayan tilt motoru vardır. Kinect in teknik özellikleri aşağıdaki gibi listelenmektedir; RGB kameranın özellikleri; 1.3 megapixel renkli kamera Micron MT9M001. IR (Infrared) geçiren filtre ile donatılmış. 32-bit renk ve 30 frame/sn. 640 x 480 pixel resim çözünürlüğüne sahiptir [10]. Sensör; Renk ve derinlik algılama lensleri. Ses mikrofon düzeni. Sensör ayarlaması için tilt motoru [9]. Görüş Alanı; Yatay görüş alanı: 57 derece. Dikey görüş alanı: 43 derece. Fiziksel Tilt alanı: 27 derece. Derinlik sensörü alanı: 1.2m - 3.5m [9]. Data Akışı; 320x240 16-bit derinlik - 30 frame/sn 640x480 32-bit renk - 30 frame/sn 16-bit audio - 16 khz [11]. 2.1. Kinect teknolojisinin bilgisayarda kullanılması Microsoft'un oyun konsulu XBOX 360 ile kullanılmak üzere geliştirdiği Kinect, Kinect SDK ile Windows uygulamalarında da kullanılabilinmektedir. Kinect teknolojisinin paketi içerisinde yer alan USB kablosu ile bilgisayara bağlanılmaktadır. Kinect in bilgisayarda çalışabilmesi için hem USB in takılması hemde harici bir kaynaktan 5V güç verilmesi gerekmektedir [7]. Kinect teknolojisinin bilgisayarda verimli çalışabilmesi için gerekli minimum bilgisayar ve yazılım gereksinimleri aşağıdaki gibi verilmiştir [5].

Windows 7 (x86 veya x64 ) Dual-Core 2.66 GHZ veya daha hızlı bir işlemci 2GB Ram Visual Studio 2010.NET Framework 4.0 DirectX SDK DirectX End-User Runtime Microsoft Speech Platform Kinect in bağlantıları sağlandıktan sonra, Windows 7 işletim sisteminde otomatik olarak sürücüleri yüklenecektir. Bu yükleme Windows Update sistemi ile gerçekleşmektedir. Bu yüzden yükleme esnasında internet bağlantısının olması gerekmektedir. Yükleme tamamlandıktan sonra Şeki 2 deki resimde görüldüğü gibi aygıt yönetisicinde, Kinect in birimleri kullanılmaya hazır olacaktır. 2.2. Kinect Teknolojisinin Görüntü İzleme Sistemi Kinect'in üzerinde 3 adet göz, sıra mikrofonlar ve hareket sağlayıcı bir motor mekanizması bulunmaktadır. Soldaki göz lazer projeksiyonu yaparken, sağdaki kızılötesi sensör bu ışınların gidiş - geliş süresini hesaplayarak 320 x 240 çözünürlüğünde her bir noktanın mesafesini bildirmektedir. Kinect içerisindeki yazılım ise bu veriler ışığında iskelet yapısını hesaplamakta ve bunu XBox a ya da bilgisayara göndermektedir. Firmware üzerine kayıtlı 200 poz, insan vücudunun bir kısmı görüş alanı dışına çıkarsa bile iskelet yapısının görünmeyen kısmını tahmin etmek için kullanılır [1]. Kinect'in ortasında bulunan göz ise 640 x 480 çözünürlüğünde 30 FPS (Frame Per Second) bir VGA (Video Graphics Array) kameradır. Yakalanan görüntü, saniyede 30 kez resim olarak uygulamaya iletilmektedir. Şekil 3 te Kinect in kamera ve ses birimleri ile iletişimi görülmektedir [11]. Şekil 2. Kinect in sürücü birimleri Şekil 3. Kinect in çalışma sistemi

2.3.Kinect teknolojisinin iskelet algılama ve izleme sistemi Kinect teknolojisinin en büyük yeteneklerinden biri de iskelet algılama ve izleme sistemidir. Kinect üzerinde bulunan kızılötesi kamera sayesinde insanın hareketli eklemleri algılanabilmekte ve izlenebilmektedir. İnsan anatomisine bakıldığında 20 farklı hareket noktası görülmektedir. Kinect, insanda bulunan bu 20 farklı noktayı algılayabilme özelliğine sahiptir. Kinect kameraları aynı anda 2 farklı kişinin de 20 farklı bölgesini aktif olarak algılayıp izleyebilmektedir. Kinect in algıladığı 20 farklı bölge Çizelge 1 de verilmiştir [6]. Kinect in donanımsal yapısı incelendiğinde içerisinde bir mikroişlemci devresi olduğu görülmektedir. Kinect içerisinde yer alan bu mikroişlemci devresinin ROM (Read Only Memory) u üzerinde bir insanın yapabileceği milyonlarca hareket ve durum tanımlı olarak gelmektedir. Kinect e hareket algılama komutu verilmesi ile beraber IR (Infrared) kamera ortama kızılötesi ışın yapmaktadır. Kızılötesi ışınlar insanın el kol, baş ve ayağın geçebileceği noktalara yayılmaktadır [3]. O noktalarda insan algılanırsa CMOS (Complementary Metal Oxide Semiconductor) algılayıcılar açılarak hareket tanımlanmaya başlamaktadır. Kinect içerisindeki ROM da kayıtlı olan hareket algılanırsa sistem bilgisayar sistemine uyarı kod göndermektedir [14]. Gerçekleştirilen hareket, tanımlı hareketler arasında yok ise Kinect sistemi beklemeye almaktadır. Kinect in insan hareketlerinin algılmasına yönelik algoritma Şekil 4 teki gibi olmaktadır. 2.4. WPF (Windows Presentation Foundation) Şekil 4. Kinect in insan hareketlerini algılama algoritması Çizelge 1. Kinect in algıladığı bölgeler Baş Sol omuz Sağ omuz Sol dirsek Sol bilek Sağ bilek Sağ el Sol el Sol diz Sağ dirsek Bölgeler Sağ diz Sol ayak Sol ayak bilek Sağ ayak bilek Boyun Sağ ayak Sol kalça Sağ kalça Orta kalça Göğüs Microsoft gelişen yazılım teklonojisine, kullanıcı etkileşimli uygulamalar konusunda çok önemli bir teknoloji sunarak destek olmuştur. Bu teknoloji 2003 yılında Professional Developer Conference etkinliğinde.net Framework 3.0 ailesi ile birlikte lanse edilmiş ve ilk duyurulduğunda Avalon kod ismi ile anılmıştır [13]. WPF, yazılım geliştiriciler için devrim niteliğinde bir yenilik olmuştu. Çünkü bir form uygulaması geliştirmek için sadece geliştirici yeterli idi. Web tarafında bu iş, geliştirici ve tasarımcının ortak çalışması sonucunda gerçekleşiyor. Bu tasarım ve kod alanının farklı yerlerde yer almasından kaynaklanıyor. Form uygulamalarında tüm iş geliştiriciye düşüyor ve eksik tasarımlar çıkabiliyordu [13]. WPF teknolojisine baktığımızda ilk olarak tasarım ve kod alanlarının birbirinden

ayrıldığı göze çarpmaktadır. Bu yenilik sayesinde hem tasarımcı hem de geliştirici kendi alanlarında daha verimli olabileceklerdir. WPF, teknolojinin karmaşık ama umut verici bir parçasıdır. WPF teknolojisi, bu eşsiz özellikleri ile daha yetenekli uygulamalar geliştirilmesine imkân sağlamaktadır [12]. Bu teknoloji ile geliştirilmiş Messenger, Office 2010, Visual Studio 2010 yazılımları olduğu bilinmektedir. WPF teknolojisinin birçok özelliği Windows XP Servise Pack 2 ve öncesi işletim sistemlerinde desteklenmemektedir. Performans olarak en iyi Windows 7 de çalışmaktadır [12]. 3. Uygulama 3.1. Multimedya Verilerinin Toplanması Kinect ile gerçekleştirilecek olan piyano uygulaması için, piyono tuş sesleri ve piyano tuşlarının toplanması gerekmektedir. Şekil 5 te görüldüğü gibi piyano tuşlarında bir bölümü kullanılacaktır. Her bir tuş için tuş sesi de veri olarak uygulamada saklanmaktadır. Piyano üzerindeki her bir tuş resim Adobe Photoshop programı ile ayrı resimler haline getirilmiştir. Bu sayede uygulama üzerinde her tuşa farklı bir işlev yüklenmesi amaçlanmıştır. Visual Studio 2010 üzerinden File>New > New Project menüsünden WPF Application taslağı açılabilmektedir. Tasarım gerçekleştirilirken her bir piyona tuşu için HoverButton kontrolü kullanılmıştır. Bu kontrolün arkaplan resmine tuş resimleri aktarılmıştır. Piyona tuşları uygulama üzerinde tasarlandıktan sonra, uygulamayı yönetecek kullanıcının el kontrolleri takibi için iki tane daire oluşturulmuştur. Bunun sebebi kullanıcıya elini nasıl hareket ettirdiğini ve hangi tuşun üzerinde olduğunu göstermektedir. Piyona uygulamasına ait tasarımın son görüntüsü Şekil 6 da verilmiştir. Şekil 6. Uygulamanın Tasarım Görüntüsü Şekil 5. Örnek Klavye Tuşları 3.2 Uygulama Tasarımın Yapılması Piyona uygulamasının tasarım bölümü gerçek bir piyanoyu anımsatacağı için Şekil 5 te görüldüğü gibi olacaktır. Uygulamanın tasarım ve yazılım alanları Visual Studio 2010 üzerinde açılan WPF teknolojisi ile gerçekleştirilmiştir. 3.3. Uygulama Yazılımının Gerçekleştirilmesi Tasarım bölümü tamamlanan uygulamanın yazılım kısmında temel olarak Kinect ten gelen sinyaller incelenip ve el komutları geldiği zaman işleme alınmaktadır. Öncelikle uygulamanın Kinect cihazının tanıması ve insan iskeletini izlemesi için temel atamaların yapılması gerekmektedir.

(C#) runtime.initialize(microsoft.research.kinect. Nui.RuntimeOptions.UseColor RuntimeOptions.UseSkeletalTracking); runtime.videostream.open(imagestreamtyp e.video, 2, ImageResolution.Resolution640x480, ImageType.Color); Kinect in uygulamanın çalıştığı bilgisayara USB arabirimi ile takılı olması gerekmektedir. Kinect insan hareketlerini algıladığı zaman uygulamamıza olay olarak sinyalleri aktarmaktadır. WPF uygulaması içerisinde SkeletonFrame isimli sınıf Kinect cihazından gelen eklem hareketlerini saklamaktadır. Aşağıdaki örnek kod ile eklem hareketleri alınabilmektedir. (C#) SkeletonFrame skeletonset = e.skeletonframe; SkeletonData data = (from s in skeletonset.skeletons where s.trackingstate == SkeletonTrackingState.Tracked select s).firstordefault(); Kinect üzerinden gelen insan hareketlerinin hepsi bazen kullanılmamaktadır. Bu uygulamada sadece el hareketleri ile komut verilebilmektedir. Bu yüzden SkeletonFrame isimli sınıftan gelen el hareketlerini süzmek gerekmektedir. Ufak bir sorgulama ile bu işlem gerçekleştirilmiştir. (C#) if (data!= null) { SetEllipsePosition(leftHand, data.joints[jointid.handleft]); SetEllipsePosition(rightHand, data.joints[jointid.handright]); } İnsanın el hareketleri algılanıp uygulamaya aktarıldıktan sonra el hareketlerinin anlık görülebilmesi için dairelere konumları aktarılmaktadır. (C#) private void KonumAta(Ellipse daire, Joint joint) { Microsoft.Research.Kinect.Nui.Vector vector = new Microsoft.Research.Kinect.Nui.Vector(); vector.x = ScaleVector(640, joint.position.x); vector.y = ScaleVector(480, - joint.position.y); vector.z = joint.position.z; Joint updatedjoint = new Joint(); updatedjoint.id = joint.id; updatedjoint.trackingstate = JointTrackingState.Tracked; updatedjoint.position = vector; Canvas.SetLeft(daire, updatedjoint.position.x); Canvas.SetTop(daire, updatedjoint.position.y); } Uygulamayı kullanan kullanıcı el hareketlerini ekranda görebilmektedir. Kullanıcı eli ile daha önceden tasarlanan piyona tuşları üzerine geldiği zaman o tuşda tanımlanan ses çalmaktadır. Bu işlem için kullanılan HoverButton un Click olayı altında tanımlı ses aktif olmaktadır. (C#) void kinectbuttond_clicked(object sender, RoutedEventArgs e) { SoundPlayer player1 = new SoundPlayer("pianodkey.wav"); player1.play(); } void kinectbuttone_clicked(object sender, RoutedEventArgs e) { SoundPlayer player2 = new SoundPlayer("pianoekey.wav"); player2.play(); }

4. Sonuç ve Öneriler Kinect in insan hareketlerini algılayabilme yeteneği ile bilgisayar uygulamalarına farklı bir kullanım şekli kattığı görülmektedir. Ayrıca kullanım performansı ile ön plana çıkarak rekabetçi avantajlar sağlamaktadır. Bu çalışma ile literatüre yeni bir örnek çalışma daha eklenmiştir. Bu sayede literatürde bunulan eksikliğin önemli ölçüde giderileceği öngörülmektedir. Ayrıca piyano olarak geliştirilen uygulama, piyona öğrenmek isteyen müzikseverlere de maliyet ve öğrenim materyalinde kolaylık sağlayacağı görülmektedir. Kinect teknolojisi ile gerçekleştirilen çalışma, Kinect teknolojisinin henüz yeni olmasından kaynaklanan problemleri de beraberinde getirmiştir. Kinect teknolojisinin kişiyi algılama mesafesinin yeterli olmaması nedeni ile kullanıcının bazı komutları vermekte zorlandığı görülmektedir. Bu çalışmada sadece müzik alanı ele alınmış ve Kinect in getirdiği kolaylıklar sunulmuştur. İleriki çalışmalarda sağlık ve robotik alanlarında da kullanılması mümkündür. 5. Kaynaklar [1] Charles, E. C., Janie H. B., John H., Chase M., Matthew J. T., Wang, W.W. Multiple User Motion Capture and Systems Engineering. Proceedings of the 2011 IEEE Systems and Information Engineering Design Symposium, University of Virginia, Charlottesville, VA, USA, (2011). [2] Hua, H., Bin, L. Yi, C., Interaction System of Treadmill Games based on Depth Maps and CAM-Shif. Huazhong University of science and technology, China, (2011). [3] Ikemura, S., Fujiyoshi, H., Real-Time Human Detection using Relational Depth Similarity Features. ACCV 2010, Lecture Notes in Computer Science. Volume 6495/2011, 25-38, (2011). [4] Khoshelham, K., 2011. Accuracy Analysis Of Kinect Depth Data. ITC Faculty of Geo-information Science and Earth Observation, University of Twente, Netherlands. [5] Kinect, 2010. İnternet Sitesi. http://www.xbox.com/en-gb/kinect. Erişim Tarihi: 31.03.2012. [6] Sidik, M., Sunar, M., Ismail, I., Mokhtar, M., A Study on Natural Interaction for Human Body Motion using Depth Image Data. Workshop on Digital. Media and Digital Content Management, UTM ViCubeLab, Department of Computer Graphics and Multimedia Faculty of Computer Science and Information System, Universiti Teknologi Malaysia, 26, 97-102, Malaysia, (2011). [7] Padilla, A., Hayashibe, M., Poignet, P., Joint Angle Estimation in Rehabilitation with Inertial Sensors and its Integration with Kinect. Annual International Conference of the IEEE EMBS, 8/11, 3479-3483s, (2011). [8] Solaro, J., The Kinect Digital Out-of- Box Experience. Microsoft,(2011). [9] Souza, L., McMeel, D., Amor, R., Kinect to Architecture, IEEE, 70-76, (2011). [10] Stone, E., E., Skubic, M., Evaluation of an Inexpensive Depth Camera for Passive In-Home Fall Risk Assessment, 5th International Conference on Pervasive Computing Technologies for Healthcare and Workshops, USA, 71-77, (2011). [11] Stowers, J., Hayes, M., Quadrotor Helicopter Flight Control Using Hough Transform and Depth Map from a Microsoft

Kinect Sensor. Conference on Machine Vision Applications, 9-31, 352-356, JAPAN, (2011). [12] Süzen, A.A., WPF ile Programlama. Kodlab Yayın Evi, 13206, 400s., İstanbul, (2011). [13] Taşdelen, A., Windows Presentatin Foundation, Pusula Yayın Evi, 350s., İstanbul, (2010). [14] Tong, J., Zhou, L., Pan, Z., Yan, H., Scanning 3D Full Human Bodies sing Kinects. Transactions on Visualization and Computer Graphics, 18, 643-650s, (2012).