MICROSOFT KINECT İLE ÖRNEK BİR UYGULAMA:PİYANO
Ahmet Ali SÜZEN - Yrd. Doç. Dr. Kubilay TAŞDELEN
25.01.2013
İçindekiler
Kinect Literatür Özeti Yapılan Çalışmalar Windows Presentation Foundation Çalışmanın Yapısı Çalışmanın Kazanımları
Microsoft Kinect Nedir ?
Herhangi bir kontrol çubuğu veya kumanda kullanmadan, sadece eklem hareketleriyle oyun oynayabilmekti.
Kinect’in Fiyatı
İlk Olarak 4 Kasım 2010'da, Kuzey Amerika'da - 199 $
Türkiye'ye 1 Mart 2011 - 400 TL
Kinect’in Algılama Noktaları
Kinect kameraları aynı anda 2 farklı kişinin 20 farklı bölgesini aktif olarak algılayıp izleyebilmektedir.
Kinect’in Özellikleri
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.Sensör;• Renk ve derinlik algılama lensleri • Ses mikrofon düzeni • Sensör ayarlaması için tilt motoru 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.5mData Akışı;• 320x240 16-bit derinlik - 30 frame/sn• 640x480 32-bit renk - 30 frame/sn•16-bit audio - 16 kHz
Kinect için Nyko’s Zoom
Kinect’in insanları algılaması için 1.2m - 3.5m arası bir mesafeolması gerekmektedir. Nyko’s Zoom ile ;
Sony Motion Detector
Yeni bir denetleyici ile donatılmış son derece duyarlı hareket sensörleri bulunan bir cihazdır.
Literatür Özeti
• Derinlik algılama• İşaret dili algılama ve metine dönüştürme• İnsan iskelet yapısı izleme • Eş zamanlı 3D model çıkarma• Fizik tedavi uygulaması• İnsansız helikopter kullanımı ve eğitimi• İnsan vücudunun 3D taranması• Kuka robot kontrolü• Komutları Metine Dönüştürme
Kinect kullanılarak yapılmış akademik çalışmalar
WINTERTemplate
01Los Angeles Auto Show, Toyota Prius and the Kinect
Aralık -2012 , Los Angeles Auto Show: Toyota araba tanıtımında Kinect kullanılarak oynanabilen bir oyun geliştirdi. Otomobil severler Toyota arabalarını bu oyun ile test edebilme imkanı bulmuştur.
03Faceshift, a Kinect based real time facial movement package
Faceshift projesi :Kinect teknolojisi kullanılarak gerçek zamanlı yüz hareketi modelleme uygulaması yapılmıştır.
04Kinect for Windows at Convergence of Style and Technology for New York Fashion Week
New York'ta High-Tech firmasının desteği ile sanal giyinme odası modaseverlerle buluştu.
05 CocaCola- Lets Dance For Free Coke
Kola satış makinaları içerisine Kinect kamera entegreedilmiştir. Dans yapanlara ücretsiz kola verilmektedir.
WPF (Windows Presentation Foundation) Nedir ?
.NET Framework 3.0 ailesi ile birlikte lanse edilmiş, yeni nesil kullanıcı arayüzü geliştirme ve görüntüleme platformudur.
• XAML isimli işaretleme dili çıkmıştır.• Direct-X altyapısı kullanmaktadır.• 3D kütüphanelerini içerisinde bulundurur.• WPF piksel tabanlı değil vektörel tabanlı bir teknolojidir. • Silverlight isimli teknolojisi ile web ve mobil alanlar üzerinde tüm yeteneklerini göstermektedir.
Gerçekleştirilen Çalışma
Maliyet gerektirmeden eğlenceli bir şekilde piyano kullanılması sağlanacaktır. Kullanıcı örnek piyano uygulamasını elleri ile kullanabilmektedir.
Gerçekleştirilen Çalışmada Kullanılanlar
• Adobe Photoshop CS6
• Visual Studio 2010 üzerinde WPF teknolojisi
• Kinect SDK
Gerçekleştirilen Çalışmada Kullanılanlar
Kinect ile insan hareketlerinin algılanması için kullanılan kod bloğu ;
void runtime_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e) { SkeletonFrame skeletonSet = e.SkeletonFrame; SkeletonData data = (from s in skeletonSet.Skeletons where s.TrackingState == SkeletonTrackingState.Tracked select s).FirstOrDefault();
if (data != null) { KonumAta(leftHand, data.Joints[JointID.HandLeft]); KonumAta(rightHand, data.Joints[JointID.HandRight]); } }
Microsoft.Research.Kinect.Nui
Runtime
Gerçekleştirilen Çalışmada Kullanılanlar
<Controls:HoverButton x:Name="kinectButtone" ImageSize="100" ImageSource="/Resources/Ekey.png"/>
kinectButtone.Click += new RoutedEventHandler(kinectButtone_Clicked);
void kinectButtone_Clicked(object sender, RoutedEventArgs e) { SoundPlayer player2 = new SoundPlayer("pianoekey.wav"); player2.Play(); }
Piyona klavyesinin her tuşu HoverButton ;
Butona el ile tıklandığında gerçekleşen olay;
Gerçekleştirilen Çalışmanın Kazanımları
Yüksek maliyeti yüzünden bir çoğumuzun tercih etmediği piyanoyu sanal olarak kullanmaya imkan sağlamak.
Kinect ile ilgili literatür ün büyük çoğunluğu ingilizce kaynaklardır. Literatüre Türkçe kaynak olarak girerek Kinect alanındaki uygulamalara farklılık kazandırması hedeflenmektedir.
WPF uygulamalarına somut bir örnek olacaktır.