KINECT – czyli z czym to się je?
O czym będziemy mówić? Obecna oferta rynkowa. Co to jest i jak działa Kinect? Jak przygotować komputer do pracy z Kinectem? Kinect SDK rzut oka. Kinect jako nietypowa kamera internetowa. Świat nie jest płaski – wkraczamy w 3D. Sekcja zwłok – zabawy szkieletem. Kinect jako nietypowy mikrofon.
Obecna oferta rynkowa.
Co oferuje rynek?
Co to jest i jak działa Kinect?
KAMERA MIKROFON WIELOPŁASZCZYZNOWY KONTROLER NACHYLENIA SENSOR 3D
3 słowa o mikrofonach
Jak to działa? – semantyczna segmentacja obrazu w czasie rzeczywistym
Jak to działa? - prawdopodobieństwo
Jak to działa? – drzewa decyzyjne, uczenie maszynowe
Jak przygotować komputer do pracy z Kinectem?
Wymagania sprzętowe: Komputer z procesorem co najmniej dual-core 2.66-GHz 2 GB RAM (rekomendowane 4 GB) Karta graficzna kompatybilna z Windows 7 i wspierająca DirectX 9.0c Kontroler Kinect wraz z zasilaczem
Pobierz i zainstaluj następujące rzeczy: Microsoft® Visual Studio® 2010 Express lub dowolną inną wersję Visual Studio 2010 Microsoft® Visual Studio® 2010 Express.NET Framework 4.0 Gdy korzystamy z kodu niezarządzanego (C++): Microsoft DirectX® SDK - June 2010 lub wersję późniejszą Runtime for Microsoft DirectX® 9 Microsoft DirectX® SDK - June 2010 Runtime for Microsoft DirectX® 9 Gdy chcemy korzystać z funkcji rozpoznawania mowy: Microsoft Speech Platform Runtime, version 10.2 (x86 edition) Microsoft Speech Platform - Software Development Kit, version 10.2 (x86 edition) Kinect for Windows Runtime Language Pack, version 0.9 Microsoft Speech Platform Runtime, version 10.2 Microsoft Speech Platform - Software Development Kit, version 10.2 Kinect for Windows Runtime Language Pack, version 0.9
Pobierz i zainstaluj następujące rzeczy: us/um/redmond/projects/kinectsdk/defau lt.aspx
Jak Kinect widoczny jest w systemie?
Kinect SDK rzut oka.
DEMO
Kinect jako nietypowa kamera internetowa.
Jakie informacje otrzymujemy z kamery?
DEMO
Świat nie jest płaski – wkraczamy w 3D.
Dane z kamery - przypomnienie
Bufor głebokości ImageFrame.Image.Bits Tablica bajtów public byte[] Bits; – punkt startu – lewy górny róg obrazka, – zapis danych – od lewej do prawej, a potem krok w dół, – mówi nam o odległości każdego piksela.
Jak obliczyć odległość piksela? 2 bajty per piksel (16 bitów) Depth – odległość każdego piksela – Distance (0,0) = (int)(Bits[0] | Bits[1] << 8); DepthAndPlayer Index – odległość dla każdego playera – Distance (0,0) = (int)(Bits[0] >> 3 | Bits[1] << 5);
Definicja odległości Zakres: od 850 mm do 4000 mm Odległość = 0 oznacza odległość nieznaną Indeks playera – 0 – brak gracza – 1 – gracz 0 – 2 – gracz 1
DEMO
Sekcja zwłok – zabawy szkieletem.
Skeleton API
Dane o szkielecie
Kości Nazewnictwo w języku polskim Można śledzić na raz dwóch graczy Każdy gracz ma określone wartości dla każdej kości Każda kość ma przypisany jeden ze stanów: – Tracked, Not tracked, Inferred Inferred – kość jest zasłonięta przez inną lub jakiś przedmiot itp. Not Tracked – raczej nie występuje, ale trzeba to sprawdzać
DEMO
Kinect jako nietypowy mikrofon.
Audio API
DEMO
Bonus – gdzie szukać informacji us/um/redmond/projects/kinectsdk us/um/redmond/projects/kinectsdk Dokumentacja SDK