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

Benzer belgeler
Microsoft Kinect ile Örnek bir Uygulama: Piyano

Öğ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

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

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

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ı

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

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

Bilişim Teknolojilerine Giriş

Önemli Teknolojik Özellikler

KWorld PlusTV Analog USB Stick

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

Otistik Bireylere Kinect İle Davranış Öğretimi

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

Spor Eğitiminde Hareket Yakalama Kinect Teknolojisinin Uygulanması

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

MÜFREDAT DERS LİSTESİ

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

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

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

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

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

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

Giyilebilir Teknolojiler ve Solar Enerjili Şapka Uygulaması

Fiyat Listesi V2.0.7_8

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

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

Java 2 Micro Edition (J2ME)

4. Bölüm Programlamaya Giriş

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.

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

sentry Ürün Kataloğu

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

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

WeldEYE. Kurulum Kılavuzu. İçindekiler

tarantula serisi pc kameralar

Engelliler İçin Akıllı Ev Otomasyon Sistemi

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

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

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

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

PROGRAMLAMA TEMELLERİ

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?

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

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

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

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

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ı

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

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

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

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

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

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.

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

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

Temel Bilgisayar Bilgisi

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

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

Okuma Yazma Eğitiminde Kinect Kullanımı

1. DÖNEM Kodu Dersin Adı T U K. Matematik II Mathematics II (İng) Fizik I Bilgisayar Programlama I (Java) Computer Programming I (Java) (İng)

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

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

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

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

Kurulum ve Sistem Gereklilikleri 1

AutoCAD 2011 Kurulumu

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

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

Bilgi ve iletişim teknolojileri

Yazılım Güncelleştirmeleri

DİZÜSTÜ BİLGİSAYAR (5)

Bilgisayar Mühendisliği Bölümü Lisans Ders Programı / Computer Engineering Undergraduate Curriculum

Bilişim Teknolojileri Temelleri 2011

PHONAK INVISITY PROGRAMLAMA IPU SOFTWARE 1.0. KULLANICI ve TANITMA KILAVUZU

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

TOSY QF-7004 NVR TOSY QF-7008 NVR TOSY QF-7016 NVR MODEL RESİM TOSY HD DVR KAYIT CİHAZLARI TOSY QF-7004 AHD TOSY QF-7008 AHD TOSY QF-7016 AHD

Özgeçmiş (CV) Web, Yazılım, Donanım : Samsun Barış Bilgisayar - ( )

BenQ projektör ile 3D içeriği oynatmak için en düşük bilgisayar sistemi gereksinimleri:

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

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Uzaktan Eğitim ve E-Öğrenme

Bilgisayar Mühendisliği

1. YARIYIL / SEMESTER 1

ÖZGEÇMİŞ. 1. Adı Soyadı : Kürşat Mustafa KARAOĞLAN. İletişim Bilgileri :, PK:, / İş Adresi. Telefon. : Mail. 2.

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

ÖZGEÇMİŞ. 4. ÖĞRENİM DURUMU Derece Mezun Olunan Alan Üniversite Yıl. Lisans Bilgisayar Mühendisliği SELÇUK ÜNİVERSİTESİ June 1905

Transkript:

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 Akademik Bilişim 2013 XV. Akademik Bilişim Konferansı Bildirileri Ö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çeliteratü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 insanhareketlerini 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 projelerdede 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. 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 ileetkileş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ımlardanbiri 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. Ş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]. 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, 191

Ahmet Ali Süzen, Kubilay Taşdelen 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; 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. RGB kameranın özellikleri; 1.3 megapixel renkli kamera MicronMT9M001. 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]. Şekil2. Kinect in sürücü birimleri 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 yada bilgisayara göndermektedir. 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 teknolojisininbilgisayarda 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 ilebilgisayara 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 Şekil 3. Kinect in çalışma sistemi 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]. 192

Akademik Bilişim 2013 XV. Akademik Bilişim Konferansı Bildirileri 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]. Ç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 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şininde 20 farklı bölgesini aktif olarak algılayıp izleyebilmektedir. Kinect in algıladığı 20 farklı bölge Çizelge 1 de verilmiştir [6]. 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) 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]. Şekil 4. Kinect in insan hareketlerini algılama algoritması 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 OnlyMemory) u üzerinde bir insanın 3. Uygulama 3.1. Multimedya VerilerininToplanması 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ş seside veri olarak uygulamada saklanmaktadır. 193

Ahmet Ali Süzen, Kubilay Taşdelen runtime.initialize(microsoft.research.kinect.nui.runti meoptions.usecolor RuntimeOptions.UseSkeletalTracking); runtime.videostream.open(imagestreamtype.video, 2, ImageResolution.Resolution640x480, ImageType.Color); Ş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. 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 Studio2010 üzerinden File>New > New Project menüsünden WPF Applicationtaslağı 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. 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çerisindeskeletonframeisimli sınıf Kinect cihazından gelen eklem hareketlerini saklamaktadır. Aşağıdaki örnek kod ile eklem hareketleri alınabilmektedir. 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 SkeletonFrameisimli sınıftan gelen el hareketlerini süzmek gerekmektedir. Ufak bir sorgulama ile bu işlem gerçekleştirilmiştir. 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. Şekil 6. Uygulamanın Tasarım Görüntüsü 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. 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); 194

Akademik Bilişim 2013 XV. Akademik Bilişim Konferansı Bildirileri 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. 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ışmaile 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üzikseverlerede 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 yeterliolmaması 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 TeknologiMalaysia, 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). 195