documentatie licenta - copy

53
UNIVERSITATEA “LUCIAN BLAGA” DIN SIBIU FACULTATEA DE INGINERIE DEPARTAMENTUL DE CALCULATOARE ŞI INGINERIE ELECTRICĂ PROIECT DE DIPLOMĂ Conducător ştiinţific : Prof. dr. ing. Volovici Daniel Îndrumător: Sef lucr. drd. ing. Căpriţă V. Horia Absolvent: Tat Mihai Alexandru 1

Upload: tat-mihai-alexandru

Post on 09-Nov-2015

73 views

Category:

Documents


4 download

DESCRIPTION

Licenta

TRANSCRIPT

UNIVERSITATEA LUCIAN BLAGA DIN SIBIUFACULTATEA DE INGINERIE DEPARTAMENTUL DE CALCULATOARE I INGINERIE ELECTRIC

PROIECT DE DIPLOM

Conductor tiinific : Prof. dr. ing. Volovici Danielndrumtor: Sef lucr. drd. ing. Cpri V. Horia

Absolvent: Tat Mihai AlexandruSpecializarea: Calculatoare

Sibiu, 2013 UNIVERSITATEA LUCIAN BLAGA DIN SIBIUFACULTATEA DE INGINERIE DEPARTAMENTUL DE CALCULATOARE I INGINERIE ELECTRIC

GESTURES RECOGNITION:APLICAIE DEMONSTRATIV

Conductor tiinific: Prof. dr. ing. Volovici Danielndrumtor: Sef lucr. drd. ing. Cpri V. Horia

Absolvent:Tat Mihai AlexandruSpecializarea: CalculatoareCuprinsCuprins3List de figuri5List de tabele6Prezentarea temei71.Despre Kinect81.1Noiunea de Kinect senzor81.2Detalii hardware101.2.1Ce se afl nauntrul senzorului Kinect101.2.2Microfoanele Kinect-ului171.2.3Specificaiile tehnice ale Kinect-ului201.3Detalii software221.3.1Creierul221.3.2Cum s nvei o mainrie s vad241.3.3n interiorul procesului de gndire Natal251.4Limitri261.4.1Lumina solar271.4.2Suprafeele reflectorizante i transparente271.4.3Rezoluie limitat271.4.4Anumite obiecte simplificate sau nedetectate281.4.5Kinectul se presupune a fi imobil281.4.6Iniializarea utilizatorului necesit timp291.4.7Etichetele se pot comuta ntre cadre.291.4.8Consideraii legate de mbrcminte301.5Diferena dintre Kinect-ul pentru Xbox 360 si Kinect-ul pentru windows311.5.1Caracteristici311.5.2Preuri331.5.3Liceniere331.5.4Concuzii341.6Competitori342.Dezvoltarea aplicaiei362.1Cerine ale sistemului362.1.1Sisiteme de operare suportate362.1.2Cerine hardware ale sistemului362.1.3Cerine software ale sistemului372.1.4Cerine nainte de nceperea dezvoltrii propriu-zise372.2Configurarea mediului de lucru382.2.1Ghid de instalare al SDK-ului382.3Mediul de programare412.3.1Visul studio 2012412.4Limbaje de programare422.5Descrierea proiectului452.5.1Ideea i scopul aplicrii452.5.2Hover button i hand cursor462.5.3Tic Tac Toe522.5.4Elementele unui proiect n Visual Studio 2012542.5.5Implementarea clasei MainWindow573.Ghid de utilizare al aplicaiei784.Concluzii825.Dezvoltri ulterioare83Bibliografie84

List de figuri

Figura 1:Senzorul Kinect5Figura 2:Componentele Kinect-ului7Figura 3:Camerele i proiectorul Kinect-ului [4]9Figura 4:Platforma de referin a Kinect-ului10Figura 5:Transferul informaiei de la camer la ecranul televizorului10Figura 6: Punctele plasate de Kinect asupra corpului12Figura 7 Senzorul de adncime12Figura 8:Triangulaia stereo14Figura 9:Cu cifra 1 sunt reprezentate cele patru microfoane din interiorul senzorului Kinect15Figura 10:Trei dintre cele patru microfoane [4]15Figura 11:Sursa de alimentare extern a senzorului [10]17Figura 12:Mufa USB care alimenteaz Kinectul i cu care se conecteaz la PC [10]18Figura 13:Spaiul de desfaurare ideal influenat i de numrul de juctori) [13]19Figura 14:Ce gndete creierul22Figura 15: Anumite obiecte devin netezite cnd sunt observate de ctre Kinect,26Figura 16:Detectarea utilizatorilor fali26Figura 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)27Figura 18Kinect-ul pentru Windows vs Kinect-ul pentru Xbox360 [18]28Figura 19:Modul apropiat Vs Modul normal29Figura 20:Configurarea mediului de lucru36Figura 21:Instalarea SDK-ului Kinect pentru Windows37Figura 22:SDK-ul pentru Kinect a fost instalat cu succes38Figura 23:Ledul care semaleaza c senzorul este instalat si gata de funcionare38Figura 24:Microsoft Kinect (din Device Manager)39Figura 25:Microfoanele senzorului Kinect (din Device Manager)39Figura 26:WPF User Control Library45Figura 27:Crearea unui proiect de tipul WPF Apliccation54Figura 28:Cum se adaug o referin54Figura 29:Selecteaz refetina54Figura 30:Proiect de StartUp55Figura 31Clasa ColorImageStream i ColorImageFrame66

List de tabele

Tabel 1:Specificaiile Kinect-ului19Tabel 2:Valorile statusurilor pe care le poate lua Kinect-ul i explcaiile acestora57Tabel 3: Parametri funciei TransformSmoothParameters65

Prezentarea temeiObiectivul pincipal al acestui proiect a fost realizare unei aplicii care s demonsteze o parte din multele faciliti pe care utilizarea unui senzor Kinect 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.

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, 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 mbogi 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-engineerde[footnoteRef:1]. [1: Ingineria invers(nenglezreverse 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 funcionrii sale, cu scopul de a realiza un nou dispozitiv sau sistem similar, care nu copiaz nimic din cel original.]

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 aplicaii non-comerciale 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 ediia pentru XBOX, cea mai notabil ediie fiind suportul pentru Near-Mode, un mod de funcionare n care utilizatorul se poate apropia foarte mult de camer, iar aceasta poate detecta micri 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-uluiDin punct de vedere hardware, acest device[footnoteRef:2] conine: [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.]

-camer video de 640x480 i 1280x960 (12,15 i 30 fps[footnoteRef:3]) folosit pentru capturarea imaginii; [3: FPS frames per second sau cadre pe secunda]

- un proiector cu inflarou pentru a calcula la ce distan se afl obiectele;- un senzor CMOS monocrom;- patru microfoane;- 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 preedinte 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[footnoteRef: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 menionat mai sus Kinectul este compus din trei sisteme diferite, care lucreaz mpreun pe cipul Prime Sense Carmine chip (PS 1080). [4: PrimeSense este o companie Israelian, Detectare 3D i interaciune, care are sediul in Tel Aviv]

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

n Figura 2 se pot observa cele 2 camere i un proiector infrarou:-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 aezrii 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[footnoteRef:5] [5] iar cea a camerei RGB este de 640x480 pixeli. [5: Pixeluleste un element component, de obicei foarte mic, al imaginilor grafice (fotografii, desene etc.) digitale. Cuvntul provine din englez de laPICture ELements(elemente de imagine). Se prescurteaz prin "px", uneori i cu "p". Un multiplu des ntrebuinat este 1 Mpx = 1 megapixel = 1 milion 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.

Figura 5:Transferul informaiei de la camer la ecranul televizoruluiO 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.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 ).

Figura 7 Senzorul de adncimePrincipiul 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 interferenele 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 de profunzime Kinect - triangulaie stereo

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 specialiti, 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 folosete doar un singur senzor IR. Cum este posibil de a extrage informaii de adncime de la o singur imagine IR a modelului spec? Algoritmul de Triangulaie 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 triangulaiei stereo pentru a calcula fiecare adncime n parte.

Figura 8:Triangulaia stereoDiferen 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).Acest lucru, explic patternul/modelul pseudo-aleatoral specificaiilor. Modelul Pseudo-aleator 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 recunoaterea 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 KinectDupa 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.

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 primete 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 stiinific 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 recepioneaz 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.De asemenea, se face o filtrare care terge tot ce iese nafara frecvenei vocii umane ( ntre 80 si 1100 Hz[footnoteRef:6]) i crescnd volumul acesteia ntr-un aa mod nct zgomotul ambiental este filtrat iar vocea este amplificat. [6: Hertz unitate de msur pentru frecven, prescurtatHz]

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 ).

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.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 dar este acceptat i un spaiu cu dimensiune de 2 ,poziia ideala a jucatorului fiind la 2 m distan fa de camer (aceasta distan este influenat 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; 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 vedea1,2 pn la 3,5 metri

Rezoluia senzorului de adncime320 x 240 16-bii, 30 fps

Rezoluia camerei RGB640 x 480 32-bi, 30 fps

16-bii, 16 kHz

Cmpul de vizualizareOrizontal : 27 de gradeVertical : 43 de grade

nclinaia maxim a motoruluiVertical : 27 de grade

Tabel 1:Specificaiile Kinect-ului1.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, nlimea, genul, fizionomia, mbrcmintea i multe altele). Aceasta este doar una dintre modalitile 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. Clusterele[footnoteRef:7], de calculatoare, de la Microsoft sunt creierul care nva i cu ajutorul acestui creier se vor alimenta cu informaie toate Kinect-urile. [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.]

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 folosindu-v 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 nvee camera s i neleag 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 desfurare ) 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

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 nevoii 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 mo-cap[footnoteRef:8], unde personalul poate face o nregistrare rapid atunci cnd este nevoie de o nou poriune de date. [8: mo-cap- Motion capture este procesul de nregistrare a micrii unor obiecte sau persoane.]

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 nvat, 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.

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

1.4.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.4.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.4.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.4.4 Anumite obiecte simplificate sau nedetectate

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 nlime 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.4.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 mulime de afirmaii 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.

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.4.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.4.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.

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.4.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 desfoare n condiii optime.n general persoanele cu prul lung ar putea avea dificulti 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.

1.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.5.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.5.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 aplicaii, aceast facilitate nefiind satisfcut n cazul Kinect-ului pentru Xbox . Microsoft a creat Kinect-ul 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.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 normal1.5.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.5.1.3 Cablul USB

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

1.5.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.5.1.5 Kinect fusion

Kinect Fusion extrage informaiile de adncime care sunt generate de ctre senzorul Kinect-ului de Windows din secvena de cadre i construiete o hart 3D[footnoteRef: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 informaii se pot accesa paginile [19], [20] . [9: 3D(sautridimensional) desemneaz o tehnic de redare a obiectelor reale (cu 3 dimensiuni: nlime, lime i adncime) cu ajutorul anumitor medii.]

1.5.1.6 ncletarea minii

Detecia minii va permite s se implementeze gesturi precum pinch-to-zoom[footnoteRef:10] , grab[footnoteRef:11] , 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]. [10: gest de ciupire cu ajutorul cruia se poate controla mrimea zoomului] [11: Gest de apucare (spre exemplu selectarea unei imagini)]

1.5.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].

1.5.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, clienilor 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 aplicaie 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.5.4 Concuzii

Dac se dorete ca o aplicaie s se comercializeze, ar fi de preferat s se achiziioneze un Kinect pentru Windows iar n acest caz comerciantul se poate asigura c este la zi cu licena 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]

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 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.

35