Kinect for Xbox One

**Kinect for Xbox One** on Xbox One'i lisaseade, milles on kõrglahutusega kaamera, mikrofon ja infrapunakaamera esemete kauguse tuvastamiseks.

See tuli välja koos Xbox One'iga ning on esialgse Kinecti edasiarendus. Seade on mõeldud kasutajaliidesena, mida on võimalik juhtida nii häälkäskude kui ka käe- ja kehaliigutustega. Kinecti sensorid saavad tuvastada ja järgida korraga kuni kuut inimest.

## Kinect for Windows
Nagu esialgse Kinecti puhul, andis Microsoft lisaks Xboxi versioonile välja ka personaalarvuti jaoks mõeldud Kinecti versiooni. Selle sihtrühmaks olid eelkõige arendajad, kes soovisid arvutitele Kinecti rakendusi luua. Riistvaraliselt olid seadmed samade näitajatega, aga arvuti jaoks mõeldud versioonil oli USB 3.0 ühendatavus ja eraldi toiteplokk. 2015. aasta kevadel teatas Microsoft, et lõpetab eraldiseisva personaalarvuti versiooni tootmise ning pakub edaspidi Kinecti arvutiga ühendamiseks eraldi adapterit.

### Kinect for Windows SDK 2.0
Koos uue Kinectiga andis Microsoft välja ka uue versiooni Windowsi jaoks mõeldud tarkvaraarenduskomplektist (SDK). SDK 2.0 vajab töötamiseks Windowsi versiooni 8/8.1/10 ja üpris võimekat arvutit, millel peab olema USB 3.0 liides. SDK sisaldab mitmesuguseid komponente, mille abil rakendusi ehitada.
#### SDK komponendid
* Windowsi poe tugi
* Unity tugi
* C++-rakendusliides – C++ funktsioonid Kinecti võimaluste kasutamiseks. Optimeeritud parima jõudluse saavutamiseks. Võimaldab ligipääsu kõikidele Kinecti andmevoogudele: värvikaamera, infrapunakaamera, kaugusandur, mikrofonid. Samuti pakub funktsioone käe- ja kehaliigutuste äratundmiseks ja järgimiseks, kõnetuvastuseks ning kaameratevahelise vastavuse tuvastamiseks.
* .NET-rakendusliides – enamik C++-i funktsioone on kasutatavad ka .NET-raamistikuga. .NET-liidest on mugavam kasutada, aga see on aeglasem kui C++.
* Heli – juurdepääs Kinecti mikrofonidele ja signaalitöötlusfunktsioonidele.
* Funktsioonid nägude jälgimiseks – Kinect võimaldab automaatset nägude tuvastamist ja järgimist, samuti näoilmete tuvastamist.
* Funktsioonid käeliigutuste tuvastamiseks – Kinectil on väga laialdane tugi käeliigutuste tuvastamiseks ja jälgimiseks. See on üheks peamiseks suhtlusvahendiks kasutaja ja Kinecti vahel.
* Kinect Fusion – tarkvara, mis võimaldab konstrueerida objekti 3D-mudeli, liigutades Kinecti kaamerat ümber objekti.
* Kinect Studio – graafiline kasutajaliides Kinecti andmevoogude visualiseerimiseks ja salvestamiseks.
* Graafiline liides käe- ja kehaliigutuste salvestamiseks – Kinect võimaldab salvestada uusi liigutusi, mida saab hiljem rakendustes kasutada.
* Koodinäited – kõikide andmevoogude kasutamise kohta on kaasa pandud koodinäited (C++, C#).

### Kinect teistes operatsioonisüsteemides
Kinect on mõeldud kasutamiseks eelkõige Xbox One'i või Windowsiga arvuti kaudu. SDK toetab ainult Windowsi. Eelkõige akadeemilise ringkonna suure huvi tõttu on aga arendatud ka võimalusi kasutada Kinecti teiste operatsioonisüsteemidega. OpenKinect on projekt, mille abil on võimalik Kinecti kasutada nii Linuxis, OS X-is kui ka Windowsis. Tegemist on avatud lähtekoodiga tarkvaraga, mis pakub draivereid ja muud tarkvara mõlema Kinecti versiooni tarbeks. Toetatud on mitmed programmeerimiskeeled (C++, Python, Java jpm).

## Riistvara

Kinect for Xbox One sisaldab värvikaamerat, infrapunakaamerat ja kahte mikrofoni. Lisaks on Kinectis kolm laserit, mis eraldavad infrapunasagedusel valgusimpulsse, mida kasutatakse kauguse mõõtmisel.
Võrreldes algse Kinectiga toimus edasiminek peaaegu kõikide komponentide osas. Järgmises tabelis on toodud peamised erinevused kahe põlvkonna vahel.

### Värvikaamera
Värvikaamera lahutusvõime on 1920×1080 ning sõltuvalt valgustingimustest edastab 30 või 15 kaadrit sekundis. Kaamera vaatenurga kohta Microsoft täpseid andmeid avaldanud ei ole, aga mõõtmiste tulemusena on hinnatud, et horisontaalne vaatenurk on 84 kraadi ja vertikaalne 54 kraadi.

### Infrapunakaamera
Infrapunakaamera lahutusvõime on 512×424 ja pildi kaadrisagedus 30&nbsp;Hz. Uuel Kinectil on võrreldes eelkäijaga täiesti erinev kauguse mõõtmise tehnoloogia, see võimaldab ka kaugusinfot saada lahutusvõimega kui infrapunakaamera. Lisaks on oluliselt parandatud ka vaatenurki, mis võimaldab inimest tuvastada lähemalt ja suurema täpsusega. Kuna värvikaamera ja infrapunakaamera vaatenurgad on erinevad, siis anduritest saadavad pildid kattuvad vaid osaliselt.

#### Lennuaeg

Kinect for Xbox One kasutab kauguse mõõtmiseks valguslaine lennuaja tehnoloogiat. Kolm infrapunalaserit tekitavad amplituudmodulatsiooni abil laineid sagedusega 120&nbsp;MHz, 80&nbsp;MHz ja 16&nbsp;MHz. Lained peegelduvad tagasi läheduses viibivatelt objektidelt ning püütakse kinni infrapunakaamera poolt. Iga infrapunakaamera piksel sisaldab kahte fotodioodi. Kui diood on vooluringiga ühendatud, muundab ta osa endale langevast valgusest vooluks, mida on võimalik mõõta ning seeläbi tuvastada valguse intensiivsus. Kinectis lülitatakse pikslidioode kordamööda sisse ja välja ning mõõdetakse kahe dioodi väljundpingete vahet. Kuna dioodide ümberlülitamine toimub sama sagedusega kui moduleeritud laine genereerimine, siis võimaldab taoline mõõtmine tuvastada objektilt tagasi peegeldunud laine faasinihet, mille abil on võimalik hinnata objekti kaugust valemiga

2d = \frac{phase}{2\pi} \cdot \frac{c}{f_{mod}} ,

kus d on kaugus, c on valguse kiirus ja f_{mod} on moduleeritud laine sagedus. Selline lähenemine võimaldab kaugust unikaalselt hinnata ainult ühe lainepikkuse kaugusel, kuid tänu sellele, et Kinect kasutab kolme eri sagedust, on võimalik saada küllalt täpseid tulemusi ka suurema kauguse korral. Maksimaalne unikaalne kaugus on üle 16 meetri, aga tarkvaraliselt on see piiratud 4,5 meetrile (kuna enamasti elutoas kaugused seda ei ületa).

Lisaks suurendatud eraldusvõimele on uue Kinecti kauguse mõõtmine oluliselt täpsem kui tema eelkäijal, seda eriti suuremate kauguste (üle ühe meetri) puhul, kus viga jääb 1&nbsp;mm piiresse, samas kui esialgse Kinecti puhul võis keskmine viga kerkida üle 10&nbsp;mm.

Selle tehnoloogia peamiseks puuduseks on tundlikkus mitmesuguste peegelduste suhtes. Kui üks ja sama laine jõuab andurisse korduvalt, siis ei ole võimalik sellest informatsioonist ühest pilti kokku panna. Näiteks klaasseina korral peegeldub osa lainest tagasi klaasilt, aga osa selle taga olevalt objektilt.

## Meediakajastus
Uue Kinecti arvustused on olnud vastuolulised. Engadget kiitis seadme funktsionaalsust, tuues eriti välja näotuvastuse abil sisselogimist ning väga head liigutuste järgimist. Samas, kui mõnikord funktsioonid ei töötanud, siis tekitas see neis frustratsiooni ning pani ikkagi tavalise puldi järele haarama. Samu positiivseid aspekte tõi välja ka Time.com-i arvustus, märkides aga, et seadme täpsus jättis vahest soovida ning taustamüra häiris seadme tööd oluliselt. Samuti ei olnud kasutajaliides alati piisavalt intuitiivne.

Kuna esialgu plaanis Microsoft teha uue Kinecti Xbox One'i kohustuslikuks lisaks (vastupidi esimesele Kinectile, mis tuli välja valikulise lisana), siis tekitas palju muret võimalik privaatsusoht. Kuna Kinect on pidevalt sisse lülitatud ja Xboxi kaudu ühenduses Microsofti serveriga, on teoreetiliselt võimalik Microsoftil näha ja kuulda, mis inimese elutoas toimub. Microsoft küll kinnitas, et tal taolisi plaane ei ole, aga pidi loobuma Kinecti kohustuslikuks tegemise plaanist. Siiski müüdi Kinecti pikka aega koos Xboxiga.

### Müügiandmed
Microsoft pole Xboxi ega Kinecti kohta ametlikke müügiandmeid avalikustanud, mille põhjuseks on arvatavasti soov vältida otsest võrdlust Playstation 4-ga. Pärast Kinecti eraldi müügiletulekut on huvi tema vastu olnud üpriski väike, mille peamine põhjus on pakutavate mängude vähesus. Samas on Kinecti avastanud mitmesuguste rakenduste loojad, kes kasutavad Kinecti näiteks virtuaalse proovikabiinina.

## Viited

## Välislingid
* What's Inside Xbox One's Kinect Sensor Kinecti osad
* Kinect 2 Tech Demo Kinect for Xbox One demo
* Kinect v1 vs v2 Kinect v1 vs v2