INTEROB

Proiect
Situatie
Obiective
Prezentare
Justificare
Schema
Rezultate
Impact
Management
Resurse
Echipa
Raport final
Diseminare

4. PREZENTAREA ȘTIINȚIFICĂ ȘI TEHNICA A PROIECTULUI:

4.1. Definirea unui dicționar de gesturi

Constituirea dicționarului gestual presupune o serie de obiective, și anume:

  • propunerea unui dicționar gestual incluzând posturi ale mâinii, traiectorii gestuale și mișcări ale capului
  • constituirea unui eșantion de utilizatori voluntari pentru colectarea de date gestuale
  • efectuarea de studii ergonomice privind capacitatea utilizatorilor de a interacționa gestual cu un sistem informatic și concluzionarea asupra complexității, naturaleții, flexibilității și eficienței gesturilor considerate:

Considerând spre exemplu sistemele de realitate virtuală, putem identifica 3 tipuri de comenzi în ceea ce privește interacțiunea cu acestea:

  • comenzi generale ale aplicației (comenzi de tipul da / nu / activarea meniurilor, etc.)
  • comenzi pentru interacțiunea cu obiectele virtuale (deplasare, rotație, scalare, tot ce ține de interacțiunea directă cu obiectul virtual)
  • comenzi pentru navigarea în mediul virtual (schimarea punctului de vedere sau a poziției camerei, navigarea în cadrul scenei, operații de tip zoom, etc.)

Comenzile gestuale cu caracter general nu se adresează obiectelor sau spațiului virtual ci aplicației în general. Putem identifica în această categorie:

  • activarea / inactivarea interacțiunii gestuale – un gest necesar reprezentând decizia de a utiliza tehnologia de interacțiune gestuală, decizie care trebuie facută cunoscută sistemului
  • lucrul cu meniuri (o propunere de gesturi și posturi în figura alăturată) – absolut necesar în cadrul metaforei existente WIMP (Windows, Icons, Menus, Point)
  • da / nu – din necesitatea pentru gesturi simple pentru a confirma sau nega în diferite etape ale interacțiunii (pentru a valida o acțiune, pentru a răspunde la o întrebare a sistemului, etc.)
  • undo / redo – gesturi simple pentru a anula sau pentru a permite refacerea unei operații.

 

               

 

      Activarea unui menu

Selectarea unei opțiuni dintr-un meniu contextual atașat unui obiect virtual

Dezactivarea meniului

Figura 1. Propunere de gesturi (posturi și mișcări ale mâinii) pentru lucrul cu meniuri

Din cadrul comenzilor asociate obiectelor virtuale, putem identifica:

  • selecția (selecția simplă sau selecția multiplă) care să permită indicarea țintei tuturor acțiunilor viitoare (exemplu în figura de mai jos)
  • deplasarea unui obiect virtual în cadrul scenei
  • operația de rotație a unui obiect (rotație cu o singură mână sau cu două mâini ?)
  • dimensionarea unui obiect virtual

 

Figura 2. Propunere de gesturi pentru selecția respectiv rotația unui obiect virtual

Comenzile pentru navigarea în spațiul virtual includ (două exemple care exploateză mișcări naturale ale capului sunt prezentate în figura de mai jos):

  • schimbarea orientării curente a camerei
  • deplasarea într-o direcție aleasă anterior (deplasare la viteză normală, viteză augmentată, etc.)
  • operații de tip zoom asupra scenei

 

Figura 3. Mișcări ale capului pentru schimbarea direcției de deplasare într-un mediu virtual

4.2. Achiziția vizuală a gesturilor mâinii și mișcărilor capului

Pentru detecția mâinii și achiziția gesturilor efectuate cu mâna propunem o tehnică de segmentare a cadrelor video bazată pe informații complementare obținute din:

  • caracteristici de culoare (engl. color based segmentation)
  • detecția mișcării și folosirea de modele adaptive ale fundalului (engl. motion detection)
  • caracteristici derivate (de exemplu comparații și distanțe de similaritate definite între muchii, engl. edge detection ), pentru a discrimina între diferitele posturi incluse în dicționarul de gesturi

Accentul va fi pus pe segmentarea bazată pe culoare și pe construirea unui filtru adaptiv pentru detecția culorii pielii (engl. skin color detection ) în spațiul de culoare HSV (vezi figura alăturată). Astfel, imaginea va fi filtrată în funcție de o condiție de tipul:   în cadrul căreia pragurile de filtrare pentru cele două componente hue / saturation vor fi determinate în mod dinamic și adaptiv în funcție de particularitățile cadrului video curent (luminozitate, apariția / dispariția unor obiecte pe fundal, etc.).

 

    Figura 4. Trei cadre video consecutive și histograma 2D hue / saturationasociată
    (Vatavu et.al, Advances in Electrical and Computer Engineering, 1/2005)

Necesitatea unei asemenea soluții poate fi observată din figura de mai sus care prezintă 3 cadre video consecutive. A se observa variația consistentă în ceea ce privește histogramele 2D hue / saturation pentru cele 3 cadre consecutive. Dreptunghiul mare suprapus histogramei reprezintă limitele maxime între care poate fi situată culoare pielii iar dreptunghiul mic limitele specifice fiecărui cadru. Se poate observa clar din dimensiunile diferite ale dreptunghiului mic necesitatea efectuării unei filtrări adaptive specifice fiecărui cadru video (în comparație cu abordări similare prezente în literatura domeniului, a se vedea capitolul 2 cuprinzând situația pe plan național și internațional).

Algoritmii de pre-procesare vizând detecția culorii pielii vor fi dezvoltați inițial pe sisteme tip desktop și va fi cosiderată o eventuală implementare tip arhitectură hardware System on Chip totul pentru a reduce timpul total de procesare, degrevând sistemul principal de o analiza suplimentară și realizând pre-procesările tip hardware. Astfel, vom avea în considerare o arhitectură SoC pentru un dispozitiv inglobat cu camera video cu următoarele funcții:

  • achiziția în timp real a imaginilor furnizate de camera video atașată dispozitivului
  • prelucrarea în timp real a imaginilor vizând aplicarea metodelor de detecție a culorii pielii și de determinare a zonelor din scenă aflate în mișcare
  • transferul cu PC al parametrilor de funcționare specifici: număr cadre/sec, rezoluție imagini, tipul de compresie, parametri specifici algoritmilor de prelucrare a imaginilor, etc.
  • transferul pe PC a rezultatelor obținute privind zonele de interes detectate (culoarea pielii respectiv zonele conținând obiecte aflate în mișcare), cu scopul de a fi prelucrate în continuare pe PC

Scopul unei arhitecturi hardware este de a reduce procesarea necesară sistemului de recunoaștere a gesturilor prin realizarea unor operații de pre procesare (detecția culorii pielii, detecția zonelor aflate în mișcare) pe sisteme hardware specializate. Arhitectura presupune următoarea configurație: (1) microprocesor pe 32 biți (Xilinx Microblaze); (2) interfață Ethernet,  folosită pentru comunicarea datelor cu PC-ul; (3) interfață UART și una JTAG folosite pentru debug; (4) interfață SDRAM/FLASH folosită pentru stocarea datelor și a programelor; (5) interfață grafică VGA/LCD pentru afișarea rezultatelor; (6) interfață USB, folosită pentru comunicarea cu camera video. Dispozitivul ce va fi dezvoltat prezintă un grad ridicat de noutate atât din punctul de vedere al implementarii hardware cât și din punctul de vedere al interfațării software. Cu toate că cercetarile în domeniul recunoașterii gesturilor se desfășoară într-un ritm alert, referințele bibliografice naționale și internaționale nu marchează existența unui astfel de dispozitiv.

Pentru detecția feței, va fi perfectionat un algoritm pornind de la cercetarile din [Viola & Jones, 2001], având la bază caracteristici de tip Haar și metode de antrenare de tip Ada Boost. Metodele de tip boosting au drept scop îmbunătățirea performanțelor individuale a oricăror algoritmi de învățare. Algoritmul are ca date de intrare un set de antrenare și o serie de clasificatori, considerați slabi sau cu performanțe slabe. Scopul este de a combina acești clasificatori într-unul singur, puternic. Clasificatorii slabi care vor fi folosiți sunt de tipul , unde reprezintă o caracteristică de tip Haar, un prag iar un indicator de paritate, indicând sensul inegalității; x reprezintă un exemplu din setul de antrenare.

4.3. Arhitectura sistemului de interacțiune gestuală

Pentru implementarea sistemului de interacțiune gestuală, modulele principale vor fi:

  • Modulul de captură video, implementat prin intermediul unui filtru DirectShow (VideoGrabber.ax)
  • Modulul de achiziție a gesturilor mâinii, implementat sub forma unei librării DLL (folosind OpenCV)
  • Modulul de detecție a feței și achiziție a mișcărilor capului (DLL, folosind OpenCV)
  • Dicționarul gestual


Figura 5. Arhitectura sistemului software

Modulele vor fi dezvoltate folosind: Microsoft Visual Studio .NET 7.0, Microsoft DirectX 9.0 SDK și biblioteca de funcții pentru procesarea imaginilor Intel OpenCV. Pentru a realiza aplicația în conformitate cu noile standarde impuse de Microsoft în ceea ce privește arhitectura media streaming pe platformele Windows, va fi utilizată componenta DirectShow din cadrul DirectX 9. DirectShow suportă captura video atât de la surse folosing WDM (Windows Driver Model) cât și de la dispozitive folosind vechiul Video for Windows, precum și detectarea automată a accelerării video hardware.

4.4. Validarea prin implementări ale sistemului de interacțiune gestuală

4.4.1. Lucrul în cadrul realității virtuale

Sistemul de interacțiune gestuală va fi implementat în cadrul unui mediu de lucru virtual în manieră colaborativă Spin3D dezvoltat în cadrul LIFL Laboratoire d'Informatique Fondamentale de Lille. Scopul este de a asigura o manipulare naturală a obiectelor virtuale (operațiile considerate sunt: translații, rotații, scalări ale obiectelor, modificări ale proprietăților și comportamentului acestora) folosind gesturi similare cu cele propuse în paragraful 4.1. referitor la dicționarul gestual. Trebuie menționat faptul că interacțiunea gestuală cu obiecte virtuale face obiectul unei teze de doctorat condusă în cotutelă în parteneriatul dintre Universitatea Suceava și LIFL din cadrul Universității de Științe și Tehnologie din Lille.

4.4.2. Lucrul în cadrul realității augmentate

Aplicația de tip realitate augmentată presupune folosirea unui dispozitiv tip proiector video pentru a realiza proiecții ale unor obiecte virtuale (a se vedea figura alăturată) pe suprafața unei mese (reale) de lucru, masă care poate conține și alte obiecte din lumea reală. Lucrul se realizează simultan atât cu obiectele reale cât și cu cele virtuale, de o manieră similară deci folosind aceleași categorii de gesturi (a se vedea specificațiile pentru dicționarul gestual ca parte deosebit de importantă a propunerii).


Figura 6. Lucrul cu obiecte virtuale în cadrul unei aplicații de realitate augmentată.
Proiecția video are loc pe suprafața une mese (reale) de lucru

4.4.3. Interfața cu un sistem robotic static tip braț

Robotul Hercules din cadrul Universității Suceava, folosit în cadrul sistemului de viziune artificială, este de tip braț cu clește permițând executarea de comenzi într-o sferă de acțiune cu o rază de 501 mm. Brațul robot este comandat de un sistem de prelucrare a imaginilor dezvoltat în cadrul Universității Suceava. Sistemul cuprinde o componentă de analiză vizuală centrată spre procesarea obiectelor din zona sa de lucru pentru operații de tipul: identificări de obiecte țintă, apucări optime ale obiectelor, deplasări ale obiectelor, etc. Interfața gestuală vizează gesturi specifice operațiilor executate de acesta.

4.4.4. Interfața cu un sistem robotic mobil

Robotul mobil autonom Centaure va fi rezultatul unei colaborari între Universitatea Suceava și Polytech'Lille, Universite des Sciences et Technologies de Lille. Robotul este capabil să patruleze un perimetru bine definit și să adune informații din mediul inconjurator. Specificațiile robotului Centaure includ: șasiul tip baza dreptunghiulara 70 cm x 40 cm; roțile sunt plasate în interior cu tracțiunea pe spate: două roți de 20 cm si două roți mici de tip jockey; controller de viteza pentru motoare de 12/24V; microcontroller OOPic-R; senzor de poziție; senzor de contact; senzori infraroșu; borne infraroșu pentru zona de patrulare; cameră video. Interfața gestuală vizează gesturi specifice (direcția de deplasare, lansare de comenzi, atragerea atenției robotului, etc.).

4.5. Gradul de noutate și complexitate ale propunerii sunt conferite de:

  • realizarea unui dicționar gestual care să asigure un standard al interfeței de tip gestual, din punct de vedere al ergonomicității, naturaleții, flexibilității, ușurinței în rememorare a gesturilor . Trebuie remarcat faptul că există în literatură propuneri de gesturi pentru acțiuni specifice însă nu în ceea privește realizarea unui standard interacțional comun în condițiile criteriilor amintite mai sus
  • realizarea unei analize a traiectoriilor gestuale prin corelarea informațiilor oferite de două camere video . Există încercări și diferite abordări ale viziunii și analizei stereoscopice însă centrate pe activități simple și specifice. Propunerea urmărește înglobarea în cadrul aceleiași analize a urmăririi traiectoriilor gestuale ale mâinii și mișcărilor capului într-un model fiabil și cu cerințele unei interfețe de interacțiune,  situandu-se în trendul cel mai actual al procesării în domeniul viziunii artificiale
  • experimentarea și validarea sistemului de interacțiune prin implementarea acestuia în 4 scenarii diferite (în cadrul unui sistem de realitate virtuală pentru manipularea a obiectelor virtuale, în cadrul unui sistem de realitate augmentată, pentru comanda unui robot static Hercules respectiv pentru comanda unui robot mobil Centaure, sceanarii pentru care nu se cunosc solutii)
[Proiect] [Situatie] [Obiective] [Prezentare] [Justificare] [Schema] [Rezultate] [Impact] [Management] [Resurse] [Echipa] [Raport final] [Diseminare]