Sunteți pe pagina 1din 36

UNIVERSITATEA LUCIAN BLAGA DIN SIBIU

FACULTATEA DE INGINERIE
DEPARTAMENTUL DE CALCULATOARE I INGINERIE ELECTRIC

PROIECT DE DIPLOM

Conductor tiinific : Prof. dr. ing. Volovici Daniel


ndrumtor: Sef lucr. drd. ing. Cpri V. Horia

Absolvent: Tat Mihai Alexandru


Specializarea: Calculatoare

- Sibiu, 2013
UNIVERSITATEA LUCIAN BLAGA DIN SIBIU
FACULTATEA DE INGINERIE
DEPARTAMENTUL DE CALCULATOARE I INGINERIE ELECTRIC

GESTURES
RECOGNITION:APLICAIE
DEMONSTRATIV

Conductor tiinific: Prof. dr. ing. Volovici Daniel


ndrumtor: Sef lucr. drd. ing. Cpri V. Horia

Absolvent:Tat Mihai Alexandru


Specializarea: Calculatoare

Cuprins
Cuprins.............................................................................................................................................3
2

List de figuri...................................................................................................................................5
List de tabele..................................................................................................................................6
Prezentarea temei.............................................................................................................................7
1.

Despre Kinect..........................................................................................................................8
1.1

Noiunea de Kinect senzor...............................................................................................8

1.2

Detalii hardware.............................................................................................................10

1.2.1

Ce se afl nauntrul senzorului Kinect.....................................................................10

1.2.2

Microfoanele Kinect-ului.........................................................................................17

1.2.3

Specificaiile tehnice ale Kinect-ului.......................................................................20

1.3

Detalii software..............................................................................................................22

1.3.1

Creierul....................................................................................................................22

1.3.2

Cum s nvei o mainrie s vad...........................................................................24

1.3.3

n interiorul procesului de gndire Natal.................................................................25

1.4

Limitri..........................................................................................................................26

1.4.1

Lumina solar..........................................................................................................27

1.4.2

Suprafeele reflectorizante i transparente...............................................................27

1.4.3

Rezoluie limitat.....................................................................................................27

1.4.4

Anumite obiecte simplificate sau nedetectate..........................................................28

1.4.5

Kinectul se presupune a fi imobil............................................................................28

1.4.6

Iniializarea utilizatorului necesit timp..................................................................29

1.4.7

Etichetele se pot comuta ntre cadre.......................................................................29

1.4.8

Consideraii legate de mbrcminte.......................................................................30

1.5

Diferena dintre Kinect-ul pentru Xbox 360 si Kinect-ul pentru windows...................31

1.5.1

Caracteristici............................................................................................................31

1.5.2

Preuri......................................................................................................................33

1.5.3

Liceniere.................................................................................................................33

1.5.4

Concuzii...................................................................................................................34

1.6
2.

Competitori....................................................................................................................34

Dezvoltarea aplicaiei............................................................................................................36
2.1

Cerine ale sistemului....................................................................................................36

2.1.1

Sisiteme de operare suportate..................................................................................36

2.1.2

Cerine hardware ale sistemului...............................................................................36

2.1.3

Cerine software ale sistemului................................................................................37

2.1.4

Cerine nainte de nceperea dezvoltrii propriu-zise..............................................37

2.2
2.2.1

Configurarea mediului de lucru.....................................................................................38

2.3

Ghid de instalare al SDK-ului..................................................................................38

2.3.1

Mediul de programare....................................................................................................41
Visul studio 2012.....................................................................................................41

2.4

Limbaje de programare..................................................................................................42

2.5

Descrierea proiectului....................................................................................................45

2.5.1

Ideea i scopul aplicrii...........................................................................................45

2.5.2

Hover button i hand cursor.....................................................................................46

2.5.3

Tic Tac Toe...............................................................................................................52

2.5.4

Elementele unui proiect n Visual Studio 2012.......................................................54

2.5.5

Implementarea clasei MainWindow........................................................................57

3.

Ghid de utilizare al aplicaiei.................................................................................................78

4.

Concluzii................................................................................................................................82

5.

Dezvoltri ulterioare..............................................................................................................83

Bibliografie....................................................................................................................................84

List de figuri
Figura 1:Senzorul Kinect.................................................................................................................5

Figura 2:Componentele Kinect-ului................................................................................................7


Figura 3:Camerele i proiectorul Kinect-ului [4]............................................................................9
Figura 4:Platforma de referin a Kinect-ului................................................................................10
Figura 5:Transferul informaiei de la camer la ecranul televizorului..........................................10
Figura 6: Punctele plasate de Kinect asupra corpului...................................................................12
Figura 7 Senzorul de adncime......................................................................................................12
Figura 8:Triangulaia stereo...........................................................................................................14
Figura 9:Cu cifra 1 sunt reprezentate cele patru microfoane din interiorul senzorului Kinect.....15
Figura 10:Trei dintre cele patru microfoane [4]............................................................................15
Figura 11:Sursa de alimentare extern a senzorului [10]..............................................................17
Figura 12:Mufa USB care alimenteaz Kinectul i cu care se conecteaz la PC [10]..................18
Figura 13:Spaiul de desfaurare ideal influenat i de numrul de juctori) [13].......................19
Figura 14:Ce gndete creierul......................................................................................................22
Figura 15: Anumite obiecte devin netezite cnd sunt observate de ctre Kinect,.........................26
Figura 16:Detectarea utilizatorilor fali.........................................................................................26
Figura 17: n aceast figur sunt reprezentate trei cadre consecutive n care utilizatorul este
marcat n fiecare estichet cu o culoare (n cadrul 1 este marcat cu rou ), n cadrul 2 etichetele
utilizatorului sunt pierdute ca mai apoi n cadrul 3 utilizatorul va s fie redescoperit, dar acesta
va fi marcat cu o etichet gresit ( reprezentat cu culoare albastr)..............................................27
Figura 18Kinect-ul pentru Windows vs Kinect-ul pentru Xbox360 [18]......................................28
Figura 19:Modul apropiat Vs Modul normal.................................................................................29
Figura 20:Configurarea mediului de lucru....................................................................................36
Figura 21:Instalarea SDK-ului Kinect pentru Windows................................................................37
Figura 22:SDK-ul pentru Kinect a fost instalat cu succes.............................................................38
Figura 23:Ledul care semaleaza c senzorul este instalat si gata de funcionare..........................38
Figura 24:Microsoft Kinect (din Device Manager).......................................................................39
Figura 25:Microfoanele senzorului Kinect (din Device Manager)................................................39
Figura 26:WPF User Control Library............................................................................................45
Figura 27:Crearea unui proiect de tipul WPF Apliccation............................................................54
Figura 28:Cum se adaug o referin............................................................................................54
Figura 29:Selecteaz refetina........................................................................................................54
Figura 30:Proiect de StartUp.........................................................................................................55
Figura 31Clasa ColorImageStream i ColorImageFrame..............................................................66

List de tabele
Tabel 1:Specificaiile Kinect-ului..................................................................................................19
Tabel 2:Valorile statusurilor pe care le poate lua Kinect-ul i explcaiile acestora.......................57
Tabel 3: Parametri funciei TransformSmoothParameters.............................................................65

Prezentarea temei
Obiectivul pincipal al acestui proiect a fost realizare unei aplicii care s
demonsteze o parte din multele faciliti pe care utilizarea unui senzor Kinect
6

le poate oferi i totodat modul de interaciune dintre om i calculator


realizat prin intermediul acestui senzor. Accentul este pus pe recunoaterea
de gesturi deoarece acesta este un aspect important n ceea ce privete
interpretarea inteniei unei persoane atunci cnd el sau ea ncearc s
contoleze o aplicaie ( fie ea un joc, o interfa sau chiar un robot).
n prima pate a lucrrii de licen este descris dispozitivul Kinect de la
partea hadware pn la cea software. Acest dispozitiv ne permite s
interacionm cu un joc ntr-un mod mai interactiv - cnd spun interactiv m
refer la o micare mai ampl a corpului comparativ cu alte jocuri pe PC.
Totodat n aceas parte sunt descrise limitrile Kinect-ului,( la fel ca oricare
alt dispozitiv i Kinect-ul are limitrile lui) i detali ce in de pre, liceniere i
diferena dintre Kinect-ul pentru Xbox 360 i cel pentu Windows ( aplicaia
fiind dezvoltat pe senzorul Kinect pentru Xbox 360).
n a doua parte a lucrrii sunt prezentate cerinele sistemului pe care
acest senzor le necesit pentru a funciona la parametrii optimi, totodat
sunt prezentai pai necesari instalrii SDK - ului , mediul de programare i n
cele din urm este prezentat dezvoltarea aplicaiei de test i anume
arhicunoscutul joc Tic Tac Toe. Am ales ca mod de interaciune intre om i
Kinect acest joc deoarece nu este un joc tocmai uor dar sigur este un joc
cunoscut de majoritatea lumii, putnd fi jucat chiar i de copii din ciclul
precolar fiind un mod bun ca acetia s i exerseze i totodat sa i
stimuleze logica. Jocul are o interfa intuitiv chiar user frendly i poate fi
jucat de persoane de toate vrstele, jocul putndu-se desfura contra unui
alt juctor sau mpotriva unui adversar virtual si anume mpotriva
calculatorului. Pentru a nu interveni nelmuriri n ceea ce privete modul de
utilizare al aplicaia, n aceast parte am creat i un ghid de utilizare.

1.Despre Kinect

Figura 1:Senzorul Kinect

1.1 Noiunea de Kinect senzor


Numele provine de la cuvantul kinetic` i de la cuvantul englezesc connect`, astfel
nct mbin tehnica de micare i cuvntul conectare.
nc din anul 2002, de la lansarea filmului Minority Report regizat de Steven Spielberg n
care personajul principal John Anderton, jucat de Tom Cruise, interacioneaz cu un calculator
folosind o mnu i gesturi ale minilor i degetelor, lumea tehnologic a nceput s vorbeasc
despre un nou mod de utilizare a calculatoarelor, un mod n care butoanele i mouse-ul s nu fie
principala metod de interaciune ntre om i PC, un mod care s ofere utilizatorilor o interfa
natural (Natural User Interface - NUI). Pe parcursul anilor urmtori s-au fcut publice diferite
proiecte i concepte asemntoare, dar abia dup apte ani, la Electronic Entertainment Expo
2009 (E3), Microsoft a anunat Project Natal, punnd accent pe ideea You are the controller
(Tu eti Controller-ul).
Project Natal era anunat ca fiind un dispozitiv hardware periferic pentru consola XBOX 360
i avea s schimbe modul de interaciune i gameplay ntre utilizatori i consola de jocuri
Microsoft. n filmul demonstrativ al conceptului, utilizatorii puteau s se distreze cu jocuri de
lupt sau cu maini prin micri naturale ale corpurilor lor, fr s fie constrni de utilizarea
unei manete sau de un joystick. Mai mult, aparatul ar fi avut i un microfon ncorporat special,
iar pornirea sau oprirea unui film spre exemplu, se puteau face prin simple comenzi vocale. Timp
de un an de zile Microsoft nu a mai dezvluit nimic despre produsul anunat, iar la E3 2010,
8

Project Natal a fost redenumit n Kinect i urma s fie lansat oficial la nceputul lunii noiembrie a
aceluiai an.
Acestea fiind spuse, Kinect este un dispozitiv periferic dezvoltat de Microsoft, care
detecteaz micarea i permite utilizatorilor s interacioneze cu consola XBOX 360, precum i
cu orice Windows PC (odat cu lansarea versiunii oficiale pentru Windows [1]) folosind, cum am
menionat anterior, gesturi ale corpului i comenzi vocale. Dei scopul iniial a fost de a mbog i
experiena jocurilor pe consola XBOX 360, n scurt timp sfera de utilizare pentru Kinect s-a
extins considerabil. n prezent, dispozitivul e folosit n domenii precum medicina, industria de
advertising sau robotica, mergnd cu mult mai departe dect funcia iniial de divertisment.
Acesta a fost lansat mpreun cu Xbox 360 n noiembrie 2010 i a avut un mare succes cu
vnzari de peste un milion de produse n zece zile.
Chiar dac n prim faz, Kinect era destinat doar utilizatorilor de XBOX 360, la cteva
sptmni de la lansare au nceput s apar diferite proiecte sub forma unor hack-uri. Controlul
mouse-ului n Windows, cntatul la o chitar digital, generarea 3D n timp real a unei camere de
apartament, mainue teleghidate ce ocoleau singure obstacole plasate n faa lor au fost doar
cteva din zecile de proiecte pe baz de Kinect construite de pasionai. Dup scurt timp au aprut
i SDK-uri (Software Development Kit) Open Source pentru ca oricine s poat s dezvolte proiecte cu noua tehnologie de la Microsoft.
Pentru a avea acces la datele provenite de la senzorul Kinect, prin intermediul softurilor
non-comerciale, comunicaia prin USB trebuie s fie reserved-engineerde1.
Folosind datele furnizate de ctre un analizator USB hacker-ul spaniol, Hctor Martn, a fost
primul care a accesat i afiat Kinect-ul RGB i datele de adncime pe un PC, folosind sistemul
de operare Linux, mpreuna cu bibliotecile OpenGL i OpenCV [2].
Drept rspuns, n iunie 2011, Microsoft a lansat primul Kinect-SDK oficial, dar fr licen de
comercializare. Acesta ne permite s scriem aplicaii pentru PC care s foloseasc senzorii de pe
Kinect. Ce trebuie subliniat este faptul c acest SDK se poate folosi doar pentru aplica ii noncomerciale n cazul n care avei achiziionat un Kinect pentru XBOX i nu pentru PC .
Versiunea final, de asemenea i comercial, a fost lansat pe 1 februarie 2012, mpreun cu o
nou ediie de Kinect, numit Kinect for Windows. Noul dispozitiv e asemntor cu edi ia pen tru
XBOX, cea mai notabil ediie fiind suportul pentru Near-Mode, un mod de func ionare n care
1 Ingineria invers (n englez reverse engineering) este procesul de descoperire a principiilor de funcionare a unui dispozitiv sau
sistem prin analiza structurii, funciei i operaiilor acestuia. De obicei, ingineria invers implic dezasamblarea sau descompunerea
sistemului sau dispozitivului respectiv i analizarea n detaliu a func ionrii sale, cu scopul de a realiza un nou dispozitiv sau sistem
similar, care nu copiaz nimic din cel original.

utilizatorul se poate apropia foarte mult de camer, iar aceasta poate detecta mi cri mult mai
fine, cum ar fi micarea degetelor.

1.2 Detalii hardware


Kinect-ul conine trei piese vitale, care lucreaz mpreun pentru a detecta micare i pentru a
crea imaginea fizic pe ecran, acestea vor fi menionate i totodata descrie puin mai jos.

1.2.1 Ce se afl nauntrul senzorului Kinect

Figura 2:Componentele Kinect-ului

Din punct de vedere hardware, acest device2 conine:


-camer video de 640x480 i 1280x960 (12,15 i 30 fps 3) folosit pentru capturarea
imaginii;
- un proiector cu inflarou pentru a calcula la ce distan se afl obiectele;
- un senzor CMOS monocrom;
- patru microfoane;

2 Device sau terminal n vocabularul uzual IT reprezint o noiune comun care se refer la
componente Hardware i reprezint instrumente de lucru utilizate pentru afiarea, introducerea i
transmiterea de date ntr-un sistem informatic.
3 FPS frames per second sau cadre pe secunda
10

- un motor pentru micarea pe vertical (+/- 27 ), i un accelerometru care detecteaz


unghiul, n care se afl Kinectul, relativ la orizont;
- o mufa USB de tipul A.

1.2.1.1 Camerele Kinect-ului


Camera Kinect-ului a avut o mare influen nu doar n ceea ce privete seciune de jocuri, ci
i n ceea ce privete ntreg conceptul IT. James L. McQuivey, vice pre edinte si analist principal
la Forrester, descrie Kinect-ul ca fiind Kinect is to the next decade what the operating system
was to the 1980s,what the mouse was to the 1990s, and what the Internet has been ever since. It
is the thing that will change everything [3].
Dei aceast afirmaie nu e tiinific i vrea s prezic viitorul reuete cumva s reflecte
entuziasmul pentru acest produs.
Camera Kinect-ului a fost dezvoltata de catre Microsoft n colaborare cu Prime Sense 4.S-a
discutat despre ea pentru prima dat in iunie 2009, n timpul expoziiei Electronic Entertainment
Expo (E3) i n cele din urm a fost lansat n Noiembrie 2010.Dup cum s-a men ionat mai sus
Kinectul este compus din trei sisteme diferite, care lucreaz mpreun pe cipul Prime Sense
Carmine chip (PS 1080).

Figura 3:Camerele i proiectorul Kinect-ului [4]

n Figura 2 se pot observa cele 2 camere i un proiector infrarou:


4 PrimeSense este o companie Israelian, Detectare 3D i interaciune, care are sediul in Tel Aviv
11

-n stanga : (IR CMOS) Microsoft / X853750001 / VCA379C7130;


-n mijloc : (Color CMOS) VNA38209015;
-n dreapta : (IR Projector) OG12 / 0956 / D306 / JG05A.
Figura 3 este ntoarsa cu 180 deci aceste camere sunt descrise n ordinea invers a ezrii
normale a Kinect-ului.
Aceste camere nu sunt mici, ca cele pentru telefoane, sunt mai apropiate de camerele care pot fi
gsite intr-un webcam, cu lentile mari i auto-focalizare.
Rezoluia nu poate fi confirmat independent pe fiecare camer, dar Microsoft susine c
rezoluia camerei cu infrarou este de 320x240 pixeli 5 [5] iar cea a camerei RGB este de
640x480 pixeli.

Figura 4:Platforma de referin a Kinect-ului

Aceasta este o diagram a Prime Sense care explic cum funcioneaz platforma lor de referin ,
Kinect-ul fiind prima ( i singura ) implementare pe aceast platform.

5 Pixelul este un element component, de obicei foarte mic, al imaginilor grafice (fotografii,
desene etc.) digitale. Cuvntul provine din englez de la PICture ELements (elemente de
imagine). Se prescurteaz prin "px", uneori i cu "p". Un multiplu des ntrebuinat este 1 Mpx =
1 megapixel = 1 milion pixeli.
12

Figura 5:Transferul informaiei de la camer la ecranul televizorului

O camera ( i un emitor IR ) furnizeaz informaii pentru harta de adncime ( cu o rezoluie de


320x240 pixeli ), n timp ce o a treia camer detecteaz spectrul vizual uman la o rezoluie de
640x480 pixeli, ceea ce este o performan apreciabil.
Studiile au artat c sistemul poate msura distana cu o precizie de 1 centimetru pe o
distan de doi metri. Review-urile iniiale arat c nu s-a ajuns la aceast precizie n lumea real,
nc.
Kinect-ul are o camer mic color (CMOS color sensor, cu ajutorul creia preia o imagine
RGB),care folosete un filtru color Bayer, cu rezoluia de 640x480 pixeli ( folosete 8 bii ),
aceasta suportnd o rezoluie mai mare ( 1280x1024) doar dac frecvena cadrelor captate va fi
sczut la 15 fps.
Aceast camer video ajut la recunoaterea facial i alte altor caracteristici de detaliu, prin
detectarea a trei componente ale culorii i anume rou, galben i albastru.Microsoft obinuiete
s intituleze aceast camer camer RGB, referindu-se la componentele de culoare pe care
aceasta le detecteaz. Ea nu are nici un rol n msurarea adncimii.
Camera cu infrarou este cea care difereniaz acest device de orice alt device de pe pia.
Aceasta ne permite s putem ti cu precizie la ce distan se afl fiecare obiect.
Senzorul de adncime 3D este format dintr-un proiector de unde infrarou i un senzor
CMOS, care captureaz informaii 3D. Cu ajutorul tehnologiei software, Kinect poate recunoate
gesturi (gesture recognition) i ofer un sistem foarte avansat de interaciune natural.

13

Aparatul poate urmri ase persoane simultan, dar doar la dou din acestea se poate analiza
micarea.Cu toate acestea Prime Sense afirm c aceasta poate s vad, dar nu s proceseze, ati
juctori cte persoane sunt prezente n cmpul vizual al camerei.
Micarea analizat se obine cu ajutorul scheletului pe care software-ul Kinectului l ofer.
Un numr de puncte sunt plasate asupra corpului i sunt folosite pentru a recunoate anumite
micri fcute de utilizator. Aceste puncte, sau ncheieturi, sunt: cap, gt, umr stng/drept, cot
stng/drept, ncheietura minii stnga/dreapta, mn stnga/dreapta, coloan, pelvis, old
stng/drept, genuchi stng/drept, glezn stnga/dreapta, laba piciorului stnga/dreapta.

Figura 6: Punctele plasate de Kinect asupra corpului

Urmrirea acestor puncte pe corp e posibil prin intermediul proiectorului de unde infrarou.
Acesta transmite undele i msoar timpul lor de ntoarcere, dup ce au lovit unele obstacole
fizice din mediul nconjurtor ( ca n Figura 7 ).

14

Figura 7

Senzorul de adncime

Principiul e asemntor cu modul n care funcioneaz sonarul: dac putem detecta timpul
necesar undelor pentru a se ntoarce la senzorul infrarou, putem afla i distana la care se afl
corpurile de care acestea s-au ciocnit. Toate aceste distane se pot stoca i n final transcrie ntr-o
imagine sau un fel de hart a cmpului vizual al camerei. Fiecarui punct de pe aceast hart i
este ataat un indice de adncime n spaiu, iar toate aceste puncte pot fi transmise pentru o
procesare aprofundat, unde, prin intermediul unor algoritmi, se pot detecta anumite forme sau
obiecte, cum ar fi corpul uman, mpreun cu poziia unor puncte importante pe acesta (cap,
mini, n principiu, exact punctele pe care le-am prezentat anterior).
Pe lng acuratee i vitez de reacie, tehnologia infrarou aduce i un avantaj n plus:
rezolvarea problemei luminii ambientale. Pentru c senzorul nu e proiectat s capteze lumina
vizibil, Kinect poate fi folosit i n ncperi unde luminozitatea e foarte redus, dar cu toate
acestea se recomand o surs de lumin fluorescent sau generat de leduri. Ar fi ideal s se evite
proiectarea luminii direct ctre device sau ctre lentilele senzorului. Intr-un mediu nchis toate
luminile vor fi filtrate de lumina inflaroie. Pentru a evita interferen ele de iluminare ar fi de
preferat s se evite intersecia cmpurilor vizuale ale lentilelor senzorului [6].
De ndata ce Kinect-ul are un senzor IR, nu va funciona n lumina solara.n plus, suprafeele
reflectorite i metalice sunt responsabile pentru o mulime de ocluziuni i pot genera informaii
ambigue.

1.2.1.1.1

Cum

funcioneaz

senzorul

triangulaie stereo

15

de

profunzime

Kinect

Kinec-ul utilizeaz senzorul de adncime produs de PrimeSense, dar modul de lucru al


senzorului nu este evident de la prima vedere. Anumite persoane pretinznd a fi speciali ti,
pretind c senzorul produs de PrimeSense utilizeaz camera de profunzime timp-de-zbor. De
fapt, PrimeSense comunica n mod explicit c nu se utilizeaz camera timp-de-zbor, dar o
camera numit de ei "de codificari uoare care folosete un simplu senzor CMOS care nu este
capabil de a extrage timpul de reflexie a luminii modulate, generate de ctre senzor.
Daniel Reetz a desfurat anumite lucrri excelente de fotografiere n spectrul IR folosind
emitorul laser Kinect i analiza caracteristicilor acestor fotografii. Acesta confirma declaraiile
PrimeSense - emitorul IR laser nu este modulat. Tot ceea ce face laserul este s proiecteze un
model pseudo-static care ajut la colectarea specificaiilor despre mediu. PrimeSense folose te
doar un singur senzor IR. Cum este posibil de a extrage informa ii de adncime de la o singur
imagine IR a modelului spec? Algoritmul de Triangula ie stereo are nevoie de dou imagini
pentru a obine adncimea n fiecare punct (spec.). Trucul const n faptul c folosim nu una, ci
dou imagini. O imagine este ceea ce se vede pe fotografie - imaginea spec capturat de senzor
IR. A doua imagine este invizibil- este un model de specificaii care se proiecteaz folosind
unda laser. A doua imagine trebuie s fie codat n logica cip-ului. Aceste imagini nu sunt
echivalente - exist o anumit distan ntre laser i senzor, astfel nct imaginile corespund n
diferite poziii ale aparatului de fotografiat, i care permite folosirea triangula iei stereo pentru a
calcula fiecare adncime n parte.

Figura 8:Triangulaia stereo

Diferen const n faptul c a doua imagine este "virtual" poziia fa de al doilea


punct y_2 este deja codat n memorie. Fiindc laser-ul i senzorii sunt aliniai, sarcina devine
mult mai uoar: tot ceea ce trebuie s facem este s msurm offset-ul orizontal al spec pe
prima imagine relativ la poziia codat n (dup corectarea distorsiuniilor lentilelor in cauz).
16

Acest lucru, explic patternul/modelul pseudo-aleatoral specificaiilor. Modelul Pseudoaleator efectueaz potrivirea de specificaii a dou imagini mult mai uoar, deoarece fiecare
spec are doar diferene locale. Putem denumi senzorul

de

lumin structurata doar daca

modificam definita. Lumina structurata, de obicei, proiecteaz o gril de linii regulate n loc de
puncte pseudoaleatoare [7].

1.2.2 Microfoanele Kinect-ului


Kinect-ul are o serie de patru microfoane, care sunt amplasate de-a lungul prii de jos a barei
orizontale acest lucru fiind reprezentat n Figura 8, cu ajutorul crora se face recunoa terea
vocii.Aceste microfoane sunt prevzute cu localizare acustic a sursei, eliminarea zgomotului
ambiental i anularea ecoului.

Figura 9:Cu cifra 1 sunt reprezentate cele patru microfoane din interiorul senzorului Kinect

Dupa cum s-a menionat mai sus sunt n total patru microfoane care se afl n partea de jos a
device-ului, trei dintre acestea se afl pe partea dreapt iar unul pe partea stng acest lucru fiind
prezentat n Figura 9.

17

Figura 10:Trei dintre cele patru microfoane [4]

Kinect-ul are o serie de microfoane care sunt capabile s filtreze sunetele, mai exact pot s
fac diferena ntre vocile care sunt n faa senzorului i suntetele care se aud pe fundal. Acest
lucru este folositor atunci cnd se dorete s se vorbeasc cu Kinect-ul sau cnd i este adresat o
comand vocal. n continuare se va prezenta cum este realizat aceast sarcin dificil.
Printr-o serie de microfoane se nelege un microfon urmat de un alt microfon, toate acestea
fiind situate dealungul unei suprafee.Fiecare microfon de pe suprafa nregistreaz sunetul care
provine din toate direciile.
Aa cum este i logic, dac s-ar pune microfoane n diferite locuri, sunetul va ajunge la
fiecare microfon n diferite momente de timp, n acest caz se poate calcula din ce zon provine
sursa sunetului dac se ia n calcul diferena dintre semnalul pe care l prime te microfonul i
viteza sunetului n aer. Dar nu numai c se poate calcula dac sunetul provine dintr-o parte sau
din alta, de asemenea, poate fi determinat cu aproximaie poziia sa. Dac se dorete s se
neleag cum este calculat acest lucru, se poate citi aceast lucrare stiin ific dar aceasta
necestita un nivel ridicat de cunotiine de matematic i fizic [8] . Acest set de microfoane
simuleaz comportamentul urechii umane .Dup cum se tie, urechiile se afl de fiecare parte a
capului iar acest lucru servete pentru a ne ajuta s auzim sunetul.Cnd urechea recep ioneaz un
sunet, creierul calculeaz aproximativ diferena dintre faza undei sonore, care ajunge la fiecare
ureche, i locul de unde provine sunetul.
Dup ce poziia sunetului este calculat, un algoritm complex combin sunetul provenit de la
fiecare microfon n parte iar dup ce acest lucru a fost realizat se va obine un semnal care va
conine sunetul provenit de la un con imaginar, care ncepe n aparat iar mai apoi este extins n
exterior.

18

De asemenea, se face o filtrare care terge tot ce iese nafara frecven ei vocii umane
( ntre 80 si 1100 Hz6) i crescnd volumul acesteia ntr-un aa mod nct zgomotul ambiental
este filtrat iar vocea este amplificat.
n cazul n care acest lucru nu este ndeajuns ca sunetul s fie filtrat, microfonul terge ecourile,
rezultate prin ciocnirea vocii cu mobila sau pereii, atunci cnd se calibreaz n concordan cu
ecoul produs. Chiar i cu acestea, n cazul n care se va modifica poziia mobilierului,
microfoanele trebuiesc calibrate din nou. Aceast calibrare poate servi ca model pentru
recunoaterea vocal, deoarece aceasta trebuie s aib o prob cu vocea noastr pentru ca mai
apoi s o poat i recunoate.
Kinect-ul are o serie de procesoare digitale a semnalului care proceseaz algoritmi
compleci necesari executrii acestor sarcini. Dac consola video s-ar ocupa de aceste procesri,
o mulime de resurse vor fi consumate i nu ar mai exista ndeajuns de mult timp de procesare
pentru ca micrile din joc s se realizeze.
Chiar i cu toate aceste filtrari, sunetul nu va avea aceeai calitate ca atunci cnd se
vorbeste n microfon de la doar civa centrimetru fa de aceste, dar desigur aceste ajustari sunt
ultile pentru a se asigura un confort mai bun in timpul jocului [9].

1.2.2.1 Alimentare Kinect-ului i comunicarea acestuia cu PC-ul


Consumul de energie al senzorului este relativ mare, acest lucru se datoreaz proiectorului de
unde IR ( care are un consum de 12 W, aproximativ 2A). n plus Kinect-ul are o interfa audio i
un controller USB. Deoarece consumul de energie este mai mare dect energia furnizat de
portul USB ( acesta furniznd o putere egal cu 2,5 W ), este necesar o surs de alimentare
extern ( ca n figura 10 ).

6 Hertz unitate de msur pentru frecven, prescurtat Hz


19

Figura 11:Sursa de alimentare extern a senzorului [10]

Informaia audio i video este meninut n mod individual de ctre cipul PS1080.
Ambele informaii sunt accesibile prin intermediul portului USB. Acesta ofer putere exclusiv
pentru unitatea Prime Sense, dar cum a fost menionat mai sus Kinect-ul are nevoie de energie
supliemntar pentru celelalte servicii pe care el le ofer. [11]
Transferul de informaii i conexiunea cu XBOX 360 (sau PC) se face prin USB, iar
alimentarea se face de la priz. Noile modele XBOX 360 Slim, lansate n 2010, includ un
adaptor special care elimin nevoia de alimentare de la priz.
Conectarea Kinect-ului la PC se face prin USB i necesit instalare unor drivere ce se pot
obine de pe internet. Dac se dorete instalarea unui SDK, fie Open Source sau cel oficial,
driverele se instaleaz odat cu ele.

Figura 12:Mufa USB care alimenteaz Kinectul i cu care se conecteaz la PC [10]

1.2.3 Specificaiile tehnice ale Kinect-ului


Un cercettor Britanic a posta un set de specificaii tehnice a perifericlului de control al
micrii ,i anume a Kinect-ului, creat de Microsoft.Acesta face observaia c doar doi juctori
activi pot fi urmrii la un moment dat.

20

n timp ce camera poate urmri pn la ase persoane , poate s manevreze doar doi
juctori activi redirecionndu-i pe ceilali ctre roluri de sprijin, n cel mai bun caz, sau ctre
spectatori inactivi, n cel mai ru caz .Cererea de a fi urmrie ase persoane de-o dat prea un
vis, dar cum consola Wii putea sa urmreasc patru persoane n acelai timp, a fost un drum scurt
pn ce s-a ajuns la uimitoarea performan n care intreaga familie se poate juca de-o dat, adic
ase persoane pot fi urmrite n acelai timp i n acelai joc [12].
Specificaiile Kinect-ului sunt prezentate mai jos:
1. Senzorul
- Lentil colorate i cu analiz a adncimii;
- Un set de microfoane;
- Motor pentru ajustarea nclinaiei senzorului;
- Compatibil cu Xboxul 360 i PC-ul;
2. Cmpul de vizualizare
- Cmpul de vizualizare pe orizontl : 57 de grade;
- Cmp de vizualizare pe vertical : 43 de grade;
- Interval de nclinare fizic : 27 de grade;
- Distana pna i de la care poate vedea : 1,2m 3,5m (lucru detaliat n Figura 10 );

Figura 13:Spaiul de desfaurare - ideal ar fi 4

m2

dar este acceptat i un spaiu cu dimensiune de 2

m2

,poziia ideala

a jucatorului fiind la 2 m distan fa de camer (aceasta distan este influen at i de numrul de juctori) [13]

3. Sistemul de urmriere al scheletului


- Poate urmri pn la ase persoane, ncluznd doi juctori activi;
- Poate urmri 20 de articulaii pentru fiecare juctor active;

21

- Are abilitatea de a mapa juctorii activ pentru avatare live.


4. Sistemul audio
- Se poate menine o conversaie n timp real, se pot da comenzi vocale;
- Sistem de anulare al ecoului i de amplificare a vocii;
- Recunoasterea vocii fiecarui juctor active;
Distana pan la care poate vedea
Rezoluia senzorului de adncime
Rezoluia camerei RGB
Cmpul de vizualizare

1,2 pn la 3,5 metri


320 x 240 16-bii, 30 fps
640 x 480 32-bi, 30 fps
16-bii, 16 kHz
Orizontal : 27 de grade

nclinaia maxim a motorului

Vertical : 43 de grade
Vertical : 27 de grade
Tabel 1:Specificaiile Kinect-ului

1.3 Detalii software


Software-ul este cel care face ca senzorul s fie un dispozitiv inovator. Dezvoltatorii
Kinect au adunat o cantitate impresionant de date privind captura micrii obiectelor reale, n
situaii reale din viaa de zi cu zi. Prelucrarea acestor date, utiliznd un algoritm special de
inteligen artificial i nvare automat, i permit Kinect-ului s mapeze datele vizuale pe care
le colecionez din modele reprezentnd oameni din medii diferite (spre exemplu ani, nl imea,
genul, fizionomia, mbrcmintea i multe altele). Aceasta este doar una dintre modalit ile prin
care dezvoltatorii au fost capabili s ajute Kinect-ul "s nvee" despre mprejurimile sale i
despre ceea ce vede cu adevrat.

1.3.1 Creierul
Secretul Kinect-ului este de fapt creierul acestuia. Cu ajutorul datelor stocate Kinect-ul
este ndeajuns de inteligent ncat s analizeze ceea ce vede i s asocieze acest lucru cu o colecie
de structuri scheletice, cu ajutorul crora va interpreta micarea. Odat ce creierul are ndeajuns
de multe date referitoare la prile corpului, output-ul va fi format din aceste date de referin
stocate ntr-o form simpl a unui avatar 3D. Dincolo de determinarea valoriilor micrii
juctorului, cnd jocul ruleaz Kinect-ul mai trebuie s determine distana dintre diferitele
puncte de pe corpul uman (spre exemplu: mna, cap , picior i multe altele). Pentru a face acest
lucru acesta folosete o serie de senzori i analizeaz toate aceste date de 30 de ori pe secund.

22

Clusterele7, de calculatoare, de la Microsoft sunt creierul care nva i cu ajutorul acestui


creier se vor alimenta cu informaie toate Kinect-urile.
Adnc n laboratoarele Miscrosoft, echipa Xbox 360 lucreaz nu doar pentru a creea un nou
sistem de joc video. Ei de fapt ncearc s rezolve o problem extrem de dificil n inteligena
artificial. Prototipul lor intitulat Project Natal v permite s controlai un joc doar folosinduv de micrile corpului dumneavoastr ( fr butoane sau vreun joystick Wii ) urmrindu-v
prin intermediul unei camere video 3D. Sun destul de simplu, dar majoritatea camerelor doar
fotografiaz fr a avea nici cea mai mic idee ce au fotografiat de fapt. Pentru a face ca
prototipul Natal s funcioneze, echipa Microsoft a fost nevoit s nve e camera s i n eleag
ceea ce fotografiaz ( ceea ce vede de fapt) nu doar s fac un simplu snapshot la ceea ce vede.
Carcasa , din Natal, pe care juctorii o vd arat asemntor cu un webcam. Singurul care
face diferena dintre cum arat i ce este cu adevrat, este software-ul din interiorul acestuia, pe
care cei de la Microsoft obinuiesc s l intituleze creierul. Acest software este cel care d sens
(interpreteaz) imaginile capturate de ctre camer. A fost programat s analizele imaginile, s
formeze o structur asemntoare structurii umane, i s identifice aproximativ 30 de pri
eseniale ale corpului uman, cum ar fi: cap, trunchi, olduri, genunchi, coate i coapse.
n programarea acestui creier ( un proces care nc este n desf urare ) Microsoft se
bazeaz pe o ramur avansat a inteligenei artificiale denumit nvare automat ( machine
learning ). Premisa este urmtoarea : hrnete calculatorul cu ct mai multe date ( n acest caz ,
datele sunt reprezentate prin milioane de imagini reprezentnd oameni n diferite ipostaze ) i
apoi el o s fie capabil s nvee de unul singur cum s interpreteze aceste date. Acest lucru
salveaz programatorii de o sarcina aproape imposibil i anume codarea unor reguli care descriu
mi de miliarde de posibile micri pe care un organism uman le poate face.
Acest proces se aseamn foarte mult cu exemplul urmtor : un printe care ncearc s
nvee un nou nscut ( un bebelu ) ce este o mn i cum arat. Printele va arta spre diferite
mini ale unor diferite persoane, repetnd cuvntul mn pn, cnd n cele din urm nou
nscutul va nelege cum arat o mn, cum se poate mica i eventual mna nu dispare atunci
cnd iese din cmpul vizual sau este ascuns.

1.3.2 Cum s nvei o mainrie s vad


7 Clusterele de calculatoare-sunt un grup de calculatoare stns legate ntre ele, care lucreaz
mpreun ca un tot unitar, i pot fi vzute ca un singur calculator avnd procesare paralele.
23

Microsoft ncearc s mbunteasc ultima versiune de creier care va fi implementat


pe noile produse. Acest lucru va fi realizat prin colectarea migloas a unor sumedenii de poze
cu oameni n diferite ipostaze, iar toate aceste poze vor fi mai apoi rulate prin imensele clustere
de calculatoare, unde i au reedina creierele care nva.
Procesul de colectare a datelor necesit de fapt o munc manual imens. n primul rnd,
este nevoie s se recolteze o multitudine de imagini capturate n diferite case din ntreaga lume,
i de nregistrri cu oameni care se deplaseaz n jurul unui ring special construit. Aceste imagini
capturate reprezint oameni reali n micare, executnd o micare natural (care nu e bazat pe o
cerin cunoscut n prealabil).

Dar aceste nregistrri nu i pot spune, de unele singure,

calculatorului nimic util despre articulaii ( joints) i membre, aa c programatorii sunt nevoi i
s foloseasc datele primite de la senzor i s programeze astfel nct s eticheteze fiecare parte
din corp ( n fiecare imagine) .
Microsoft utilizeaz, de asemenea, scene de capur a micrii, care furnizeaz date
similare, dar fr toat munca laborioas de codificare manual (de cnd sistemele folosesc
senzori care marcheaz prile individuale ale corpului ). i Microsoft deine un mini studio mocap8, unde personalul poate face o nregistrare rapid atunci cnd este nevoie de o nou poriune
de date.
Toate aceste imagini despre care s-a discutat mai sus cuprind zeci de terabytes de
informaii. Ferma de servere de la Microsoft examineaz acest set de date foarte mare lsnd ca
mai apoi creierul, pe baza algoritmilor implementai, s execute probabilitiile i statisticile
referitoare la forma uman. Odat ce creierul a terminat de nv at, el mpreun cu statisticile
generate de ctre acesta se asambleaz n sistemul Natal.

1.3.3 n interiorul procesului de gndire Natal


Ce gndete creierul? Ce gndete creierul n momentul n care vede o persoan srind sau
cnd cineva ncearc s loveasc nite lilieci imaginari, sau n momentul n care ncearc s
loveasc o minge imaginar. n timp ce persoana st n faa camerei, creierul cuantific distana
dintre diferite puncte de pe corpul uman. Apoi el v-a ghici prile conintoare ale corpului.

8 mo-cap- Motion capture este procesul de nregistrare a micrii unor obiecte sau persoane.
24

Figura 14:Ce gndete creierul

Screenshot-ul de mai sus explica ce se ntmpl n momentul n care creierul vede toate aceste
aciuni (imaginile diferite reprezint stagii diferite ale procesului de calcul Natal ). n continuare
vor fi prezentai aceti pai de calcul:
1) n timp ce o persoan st n faa camerei, creierul msoar distana dintre diferite
puncte de pe corp. n imaginea din partea stnga, punctele reprezint ceea ce
vede, un aa numit nor de puncte reprezentnd o suprafaa 3D. Scheletul
desenat n imaginea stng este o simpl presupunere rudimentar. Imaginea din
partea de sus repezint imaginea perceput de ctre camera color, care poate fi
folosit ca un webcam.
2) In acest pas creierul va face legtura dintre ceea ce vede i prile corpului. Se va
baza pe experiena pe care a nmagazinat-o pn n acest pas (mai exact pe baza
experienei descris mai sus). n funcie ct de asemntoare este poziia curent,
n care se afl persoana din faa camerei, cu cea de dinainte. Natal poate s fie mai
mult sau mai puin confuz n alegerea sa. n imaginea reprezentnd o persoan n
codul de culori ( imaginea mijloc jos ), ntunericul , luminozitatea i mrimea
diferit a ptratelor reprezint ct de sigur este Natal n alegerea sa . Spre
exemplu, cele trei ptrate roi mari indic faptul c este foarte probabil ca acele
pri ale corpului s reprezinte umrul stng, cotul stng i genunchiul
stng, cu ct pixeli devin mai mici i mai sczui n intensitatea culorii, cum este
cazul pixelului cenuiu de lng mini, indic faptul ca Natal d ce are mai bun
din el pentru a alege corect dar nu este foarte sigur de alegere.

25

3) Apoi, bazat pe probabilitiile asignate pe diferite arii, Natal vine cu toate


structurile de schelete posibile care s-ar putea potrivi cu acele pri scanate ale
corpului. Acest pas nu este prezentat n imaginea de mai sus, dar aceasta este
similar cu imaginea din stnga, cu singura diferen c sunt zeci de posibili
schelei suprapui. Acesta stabilete n cele din urm scheletul cel mai probabil.
Raionamentul su de aici se bazeaz parial pe experiena sa, i parial pe mai
multe modele cinematice formale pe care programatorii le-au implementat.
4) Odat ce Natal a stabilit c are ndeajuns de mult certitudine nct s aleag cea
mai probabil structur scheletic, va avea ca ieire ( rezultat ) forma unui avatar
simplu 3D (acest lucru este reprezentat n Figura 13, imaginea din dreapta).
Acesta este scheletul final cruia i vor fi adugate haine, pr i alte caracteristici
care se vor vedea n joc.
5) Toi aceti pai vor fi repetai ( de 30 de ori pe secunda ). n timp ce persoana din
faa senzorului se mic, creierul genereaz toate structurile scheletice posibile
,lucrul acesta va fi fcut la fiecare cadru, ia decizia i va avea ca ieire pe cel mai
probabil. Tot acest proces dureaz cteva milisecunde, de unde reiese c este
ndeajuns de mult timp ca Xbox-ul s preia informaia i s o foloseasc pentru a
controla jocul [14].

1.1.4 Limitri
Cu toate c abordarea lui Shatton [15] ar pre a fi favorabil, ambele pri, hardware i
software, impun o serie de limitri. Cu toate c aceste limitri pot fi nesemnificative atunci cnd
senzorul este folosit ca un controler pentru jocuri, pot fi vitale atunci cnd spre exemplu senzorul
este folosit n robotic . Limitriile majore sunt urmtoarele:
1. Nu funcioneaz n lumina solar (aceasta fiind o limitare hardware), dup cum a
fost menionat mai sus;
2. Suprafeele reflectorizante i cele transparente nu sunt detectate corespunztor;
3. Rezoluia limiteaz gesturile fine, cum ar fi gesturile facute din degete, de la o
distan mai mare (aceasta fiind tot o limitare hardware);
4. O serie de obiecte sunt simplificate sau nu sunt detectate ( limitare hardware sau
firmware );
5. Se presupune c senzorul Kinect este imobil;
6. Iniializarea utilizatorului necesit timp ( limitare software);

26

7. Etichetele care reprezinta utilizatorul pot comuta ntre cadre atunci cnd Kinect-ul
este mutat ( limitare software );
8. Detalii legate de mbrcminte.

1.1.1 Lumina solar


n [16] lumina proiectat de Kinect o diod laser de 830 nm si 60 mW putere. Cum lumina
solar are un spectru larg de lumin infraroie, grila proiectat de ctre Kinect este orbit de
lumina solar aadar camera cu infrarou nu este capabil s detecteze grila. Din aceast cauz
se va obine o recunoatere a adncimii foarte slab n ariile care sunt expuse mai tare la lumina
solar.

1.1.2 Suprafeele reflectorizante i transparente


Detectarea suprafeelor reflectorizante sau transparente este ntotdeauna dificil atunci cnd
se utilizeaz senzorii optici, acesta lucru aplicandu-se i n cazul Kinect-ului. Aceast dificultate
este datorat faptului c majoritatea senzoriilor optici observ lumina reflectat dintr-un obiect,
n cazul n care aceast reflexie esta fie mai mare, fie mai mic dect era de ateptat, observarea
tinde s fie dificil, iar informaia care trebuie s ajung la senzor va fi tot mai puin.

1.1.3 Rezoluie limitat


Datorit rezoluiei oarecum limitat de Kinect, (640x480 pixeli) , nu toate tipurile de gesturi
pot fi nregistrate. Gesturile tipice ar putea fi confundate, spre exemplu ridicarea unui bra sau
punerea unui bra ntr-o poziie de stop,dac ntreg corpul este vizibil. Cu toate acestea, dac o
mic parte a corpului este vizibil, cum ar fi un bra sau partea superioar a corpului, gesturile
(spre exemplu o mn cu ajutorul creia este reprezentat o liter ) ar putea fi recunoscut cu mai
mare uurin.

1.1.4 Anumite obiecte simplificate sau nedetectate

27

Kinect-ul [17], are probleme atunci cnd detecteaz anumite obiecte. Acest lucru poate fi
vzut atunci cnd se observ un obiect format din 10 scri care au 10 mm nl ime i 10 mm
adncime. Dup cum este artat n Figura 9, anumite obiecte devin netezite cnd sunt observate
de ctre Kinect, chiar de la o distan destul de mic. Pe lng acestea, obiectele precum prul
sunt adesea prea mici ( au o granulaie prea mic ) pentru a fi descoperite de ctre Kinect.

Figura 15: Anumite obiecte devin netezite cnd sunt observate de ctre Kinect,
chiar i de la o distan destul de mica [17]

1.1.5 Kinectul se presupune a fi imobil


Pentru a simplifica extragerea fundalului, se presupune c senzorul Kinect st pe loc i c tot
ceea ce se mic cel mai probabil este o persoan. Prin urmare, atunci cnd Kinect-ul este montat
pe o platform mobil i aceast presupunere nu mai este valid, o mul ime de afirma ii false
sunt detectate. Aceasta este o problem major atunci cnd se utilizeaz Kinect-ul

pe o

platform mobil, iar n acest caz problema trebuie tratat n mod special pentru ca senzorul s
poate fi folosit n acest fel.
n Figura 10 sunt prezentai mai muli utilizatori care sunt detectai de ctre senzoul
Kinect ataaii unei platforme mobile. Este de reinut faptul c silueta corect identificat,
utilizatorul verde, este foarte precis.

28

Figura 16:Mai muli utilizatori fali sunt detectai, acetia sunt marcai cu culoare dup standardele NITE middleware, cnd
Kinect-ul este n micare.Rspunsul corect ar fi doar silueta verde

1.1.6 Iniializarea utilizatorului necesit timp


Atunci cnd un utilizator este detectat, acesta trebuie s stea ntr-o poziie special dup cum
urmeaz: braele trebuie s fie ntinse n lateral iar palmele trebuie s fie orientate n sus. Acest
lucru trebuie fcut cteva secunde pn cnd algoritmul calibreaz un schelet virtual care pe
urm va fi ajustat utilizatorului. Aceasta este, de asemenea, o problem major pe o platform
mobil dac aceasta se deplaseaz cu o vitez oarecum decent. Va fi un lucru foarte neplcut
dac platforna va trece de utilizator nainte de a se sfri calibrarea.

1.1.7 Etichetele se pot comuta ntre cadre.


O alt problem major este aceea c etichetele care reprezint utilizatorul se pot comuta
ntre cadre. Problema apare atunci cnd etichetarea unui utilizator se pierde pentru unul sau mai
multe cadre iar cnd utilizatorul va fi redescoperit va fi marcat ca fiind un alt utilizator. Aceast
problem este ilustrat n Figura 11.

29

Figura 17: n aceast figur sunt reprezentate trei cadre consecutive n care utilizatorul este marcat n fiecare etichet cu o
culoare (n cadrul 1 este marcat cu rou ), n cadrul 2 etichetele utilizatorului sunt pierdute ca mai apoi n cadrul 3 utilizatorul
va s fie redescoperit, dar acesta va fi marcat cu o etichet gresit ( reprezentat cu culoare albastr)

Aceste incoerene n etichetare cauzeaz probleme atunci cnd un utilizator este urmrit pe
parcursul mai multor cadre, i atunci cnd se face comparaia dintre un cadru i cadrul urmtor.
Dac aceat comutare a utilizatorului este facut n timpul n care se execut un gest ( gesture ),
atunci cnd se va face recunoaterea gestului intrare poate fi interpretat ca fiind a doi utlizatori
diferii, i nu se va putea face legtura dintre gestul efectuat de ctre primul utilizator i cel
efectuat de ctre al doilea utilizator. Prin urmare, aceast limitare trebuie mbuntit astfel nct
observarea s se execute fr erori n cazul n care se folosete o platform mobil.

1.1.8 Consideraii legate de mbrcminte


O prim limitare n ceea ce privete mbrcmintea pe care ar trebui s o poarte juctorul ar fi
s evite ori ce gen de mbrcminte care i-ar ascunde minile sau picioarele. Este de preferat s
se evite purtarea earfelor, a rochiilor lungi sau a fustelor, deoarece rochiile lungi ascund
picioarele i earfele se pot confunda foarte repede cu minile.
O alt limitare ar fi s se evite purtarea de jachete largi sau a hainelor largi. n general orice
hain care acoper formele umane ar trebui s fie eliminat pentru ca jocul s se desf oare n
condiii optime.
n general persoanele cu prul lung ar putea avea dificult i atunci cnd se joac. Pentru a
elimina acest inconvenient ar fi indicat ca nainte de a ncepe jocul persoana s aib prul prins i
dac este posibil chiar prins n coc.

30

1.2.5 Diferena dintre Kinect-ul pentru Xbox 360 si


Kinect-ul pentru windows

Figura 18Kinect-ul pentru Windows vs Kinect-ul pentru Xbox360 [18]

n continuare vor fi comparate cele dou Kinect-uri, respectiv cel de Windows i cel de
Xbox. Dei par la fel exist o multitudine de diferene ntre acestea.

1.1.1 Caracteristici
Kinect pentru Windows ofer mai multe caracteristici care nu sunt activate atunci cnd se
utilizeaz un Kinect pentru Xbox 360.
Printre acestea se numr:

1.1.1.1 Modul apropiat


Modul apropiat este cu adevrat o mbuntire fa de Kinect-ul original ( fa de Kinect-ul
pentru Xbox ).Aceste cerine au venit din partea dezvoltatorilor de la Microsoft. Aplicaiile care
se bazeaz pe PC necesit adesea ca senzorul s se focalizeze pe o gam mai aparte de aplica ii,
aceast facilitate nefiind satisfcut n cazul Kinect-ului pentru Xbox . Microsoft a creat Kinectul pentru Windows cu abilitatea de a vedea un obiect de la o distan de 400 mm spre deosebire
de versiunile anterioare de Kinect pentru Xbox care puteau sesiza obiectul lor de la o distan de
800 mm. Acest interval de adncime trebuie s fie setat n aplicaie, n acest mod se va ti dac se
lucreaz n modul apropiat sau nu.

31

Pentru SDK ul 1.0, modul apropiat poate detecta doar 2 obiecte. Urmrirea scheletului nu
este disponibil n modul apropiat .Cu toate acestea urmrirea scheletului este posibil n
versiunile mai recente i anume SDK 1,6 i versiunile mai noi. Acest SDK ofer posibilitatea de
a reunoate partea superiaor a corpului ( 10 articulii ), care pot fi folosite stnd la birou.
Dou caracteristici suplimentare pentru intervalul de adncime sunt de asemenea disponibile.
Acestea sunt MinDepth si MaxDepth care descriu limitele intervalul de adncime.

Figura 19:Modul apropiat Vs Modul normal

1.1.1.2 ezut sau modul 10 articulaii


Dup cum a fost menionat mai sus modul apropiat ofer posibilitatea de a urmri doar
capul, gtul i braele sau chiar un utilizator care st jos.

1.1.1.3 Cablul USB


Asigur fiabilitate pe o gam larg de calculatoare i mbuntete coexisten cu alte
periferice USB.

1.1.1.4 Setrile camerei sunt extinse


Ofer setri suplimentare cum ar fi luminozitatea, expunerea, etc .Cu ajutorul acestor
faciliti suplimentare putem adapta programul cum dorim.

1.1.1.5 Kinect fusion

32

Kinect Fusion extrage informaiile de adncime care sunt generate de ctre senzorul Kinectului de Windows din secvena de cadre i construiete o hart 3D 9, a obiectelor sau a
mediului, care este extrem de detaliat. Tool-ul citete n medie peste sute sau chiar mii de
cadre pentru a crea un nivel ridicat de detaliu. Pentru mai multe informa ii se pot accesa
paginile [19], [20] .

1.1.1.6 ncletarea minii


2.
Detecia minii va permite s se implementeze gesturi precum pinch-to-zoom10 , grab11 ,
etc. cu ajutorul crora se poate mbunti aplicaia i totodat cu aceasta ajutorul acestei
faciliti se pot construi tot felul de noi aplicaii . Pentru mai multe informaii se poate accesa
pagina [21].

1.1.2 Preuri
Kinectul pentru Windows cost aproximativ 250 $ ,dar n cazul n care se cumpr prin
intermediul magazinului online de la Windows de pe site-ul [22] (Windows Store) preul este
de 215 $.
Kinect-ul pentru Xbox este mult mai ieftin. Acesta poate fi cumprat la preul de 70 $ ( cu
acest pre se vinde n prezent ) ,este cu 180 $ mai ieftin, dar este posibil s necesite
cumprarea unei surse de alimentare separat cu ajutorul creia utilizatorul va putea conecta
Kinect-ul la PC.
SDK-ul Kinect-ului pentru Windows se poate descrca gratis de pe site-ul de la Microsoft
care poate fi gsit aici [23].

9 3D (sau tridimensional) desemneaz o tehnic de redare a obiectelor reale (cu 3


dimensiuni: nlime, lime i adncime) cu ajutorul anumitor medii.
10 gest de ciupire cu ajutorul cruia se poate controla mrimea zoomului
11 Gest de apucare (spre exemplu selectarea unei imagini)
33

1.1.3 Liceniere
Licena comercial autorizeaz dezvoltarea i distribuia de aplicaii comerciale .SDK-ul
Beta a fost creat doar pentru cercetare, testare, experimentare i nu era potrivit pentru utilizarea
cu produse finale, care pe urm vor fi comercializate. Noua licen care e disponibil odat cu
achiziionarea Kinect-ului pentru Windows versiunile 1,0 si 1,5 ale software-ului permit
dezvoltatorilor s creeze i s vnd aplicaiile lor, pentru Kinect-ul de Windows, clien ilor care
utilizeaz Kinect de Windows i clienilor care utilizeaz senzorul Kinect de Windows pe
platforme Windows .
Din acest lucru reiese c n cazul n care se dorete s se comercializeze o aplica ie pentru
implementarea acesteia trebuie folosit Kinectul pentru Windows deoarece aplicaiile fcute
pentru cel de Xbox sunt ilegale .De aici reiese i motivul pentru care preul Kinect-ului pentru
Windows este mai mare dect preul Kinect-ului pentru Xbox. Odat ce s-a cumprat Kinect-ul
pentru Windows se va plti deasemenea i licena pentru utilizarea acestuia . n cazul n care se
doresc mai multe detalii despre licen se poate accesa site-ul [24] .

1.1.4 Concuzii
Dac se dorete ca o aplicaie s se comercializeze, ar fi de preferat s se achizi ioneze un
Kinect pentru Windows iar n acest caz comerciantul se poate asigura c este la zi cu licen a i c
poate beneficia de toate facilitiile pe care acesta i le ofer.
n cazul n care Kinect-ul este folosit doar pentru a dezvolta aplicaii n timpul liber sau doar
pentru a experimenta, ar fi de preferat folosirea tot a unui Kinect pentru Windows, astfel
utilizatorul se poate asigura c beneficiaz de toate facilitiile pe care acesta le ofer, dar asta nu
nseamn c este neaprat necesar s se achiziioneze un Kinect pentru Windows. Se poate folosi
de asemenea i un Kinect pentru Xbox.
Cu toate acestea Microsoft recomand utilizarea unui Kinect pentru Windows:
Dezvoltatorii ar trebui s aib n plan tranziia de la Kinect-ul pentru Xbox la cel pentru
Windows pentru dezvoltarea de aplicaii i ar trebui s se atepte ca utilizatorii lor s utilizeze ,
de asemenea, Kinect-ul pentru Windows. [25]

34

1.1.6 Competitori
Principalii competitori ai Kinect-ului sunt Nintendo Wii i Playstation Move, fiecare avnd
diferite atribute care le difereniaz. n continuare vom face o comparaie ntre cele trei
dispozitive i vom ncerca s-l gsim pe cel care implementeaz cel mai bine o interfa uman
natural.
n ceea ce privete camera video, Microsoft Kinect iese n eviden i e oarecum de
ateptat, ntruct camera e fundamental n funcionarea sa. Pe lng camera ce emite n
infrarou i camera receptor ataat acesteia, Kinect dispune i de o camer RGB care sporete
funcia de recunoatere a formelor n imagini i poate fi folosit pentru detectarea expresiilor
faciale i a detaliilor de finee pe care camera infrarou nu le poate capta. n plus, poate fi
folosit i ca un fel de webcam mai performant pentru Skype sau alte conversaii video pe
internet. Playstation Move dispune de o camer RGB, dar pentru c funcioneaz n tandem cu
un alt controller, Move nu ofer o soluie bazat pe infrarou, iar asta face destul de dificil
urmrirea corpului utilizatorului n ntregime. Wii nu dispune de nici un fel de camer, ntruct
dispozitivul celor de la Nintendo se bazeaz n special pe accelerometru i giroscop. Nintendo
Wii poate detecta micarea, dar nu cu o precizie foarte ridicat.
Controlul audio e foarte bine integrat de Kinect: dispozitivul dispune de un set de
microfoane direcionale care i permit s asculte doar comenzile utilizatorului i s ignore
zgomotul de fond. Ca i camera RGB, setul de microfoane poate fi perfect folosit pentru Skype
sau alte aplicaii pentru captare de sunet. Move ofer un set asemntor de microfoane, deci
performanele audio sunt comparabile cu cele gsite la Kinect. Wii-ul nu integreaz nici un fel de
microfon, deci comenzile vocale sau captarea audio nu sunt o opiune.
Ct despre controllere fizice ataate, Kinect iese din start din discuie, iar asta e chiar
partea interesant. Potrivit Microsoft, cnd vine vorba de Kinect, controller-ul este chiar
utilizatorul i orice micare sau gest al acestuia sunt automat captate de dispozitiv i procesate
n continuare. Controller-ul fizic e elementul central al Nintendo Wii, iar accelerometrele i
giroscopul su l fac destul de eficient i distractiv pentru unele jocuri mai simple. ns, dei se
afl printre deschiztorii de drumuri n domeniu, Nintendo Wii a pierdut puin teren ntre
dispozitivele ce pot oferi o interfa uman natural cu adevrat performant. Playstation Move
dispune de un controller asemntor cu maneta Wii ce msoar acceleraia micrilor
utilizatorului. E un sistem de funcionare bun, iar mpreun cu camera video, poate oferi i o

35

precizie bun n detectarea gesturilor, ns pentru a folosi Playstation Move, utilizatorul trebuie
s in tot timpul n mn i controller-ul ataat. E un mic dezavantaj pentru c n timp poate
provoca disconfort i ca atare deprteaz puin soluia oferit de Playstation de o interfa
uman cu adevrat natural.

36