Documente Academic
Documente Profesional
Documente Cultură
MatrixRom
1. Introducere
n ultimii ani s-a acordat o atenie deosebit modurilor neconvenionale de interaciune cu dispozitivele mobile i chiar cu calculatorul. Sunt binecunoscute ecranele LCD de tip touchscreen existente pe dispozitivele de tip smartphone ca iPhone, pe Tablet PC-uri sau chiar pe ecranele calculatoarelor. Aceste tipuri de ecrane ne permit s interacionm cu dispozitivele, prin folosirea direct a degetelor fr utilizarea unui mouse sau a unei tastaturi. De asemenea este binecunoscut folosirea vorbirii n comunicarea inteligent om-calculator (Candance et al., 1997). Camerele video conectate la un calculator pot prelua imagini de la un utilizator, care poate accesa meniuri speciale ale aplicaiilor soft. Acum cu ajutorul acestor camere folosind micri ale minii putei avea acces direct la obiectele dintr-o aplicaie de tip CAD i putei selecta, roti, mri sau micora obiectele cu care lucrai (Gorgan et al., 2008). mptimiii de jocuri 3D pe
94
consol sau pe calculator pot folosi telecomenzi speciale care au incorporate senzori de micare. De exemplu, cu telecomanda pentru Wii (http://ro.wikipedia.org/wiki/Wii) juctorul poate controla personajul unui joc prin intermediul controlerului. Pornirea calculatorului sau semnalarea faptului c ai ajuns sau plecat de la serviciu se face folosind recunoaterea minii cu metode biometrice, deoarece ofer o foarte mare securitate (den et al., 2001). Gestica minii poate fi folosit n aplicaii de desenare, de explorare pe Internet, de navigare ntre paginile unei prezentri de tip PowerPoint (von Hardenberg i Brard, 2001) sau n aplicaii ce construiesc o realitate augmentat (Reifinger et al. 2007). Lucrarea de fa reprezint o extindere a lucrrii (Coneac i Iftene, 2011) i se ncadreaz n domeniul folosirii gesticii minii pentru a interaciona cu un calculator. Dintre tehnicile cele mai folosite pentru identificarea gesturilor minii amintim folosirea recunoaterii de abloane (pattern recognition) (Freeman i Roth, 1994), (Snchez-Nielsen et al., 2003), (Chakraborty et al., 2008), (Roomi et al., 2010), folosirea histogramelor pentru identificarea orientrii i folosirea metodelor care nu depind de schimbrile de iluminare (Freeman i Roth, 1994), folosirea mainilor cu stri finite pentru a modela gesturile (Davis i Shah, 1994). Alte abordri au la baz identificarea degetelor (von Hardenberg i Brard, 2001) sau a caracteristicilor geometrice (den et al., 2001). n (Klsch i Turk, 2004), autorii prezint o abordare interesant, care folosete Viola-Jones pentru a identifica diferite posturi ale minii i analizeaz limitele rotaiei acestora pentru care se obine o performana bun de detecie. HandVu (Klsch et al., 2004) reprezint o colecie de librrii ce permit recunoaterea si urmrirea n timp real a posturilor minii, acestea putnd fi folosite n aplicaii ce redau fiiere video. Cele mai recente abordri construiesc modelele mai complexe pe baza imaginii recepionate i au rezultate mai bune dect abordrile anterioare. Amintim aici folosirea modelului Gaussian (Roomi et al., 2010), folosirea reelelor neuronale (Ahmeda et al., 2008), i recunoaterea de caracteristici multi-culoare (Bretzner et al., 2002). n continuare lucrarea e organizat dup cum urmeaz. n capitolul 2 sunt prezentate principalele elemente utilizate n lucrare, precum mna uman, detecia n timp real, trstur Haar, imagine integral i algoritmul AdaBoost. n capitolul 3 sunt prezentate experimentele pe care le-am realizat n analiza micrii minii i n detecia posturilor minii. Arhitectura aplicaiei i evaluarea ei sunt prezentate n capitolele 4 i 5. La final avem
95
96
de imagini; Detectarea de obiecte: localizarea claselor generice de obiecte din imagine (mna n cazul nostru); Recunoaterea de obiecte: clasificarea obiectelor specifice unei categorii dintr-o imagine (cum ar fi identificarea posturii unei mini n cazul nostru). Pentru a msura acurateea n detecia i recunoaterea obiectelor am folosit caracteristicile: rat de succes (procentul obiectelor corect identificate) i rat de eec (procentul imaginilor clasificate incorect).
97
Viola i Jones prin introducerea termenului de imagine integral au eliminat acest inconvenient al duratei mari de execuie i au putut realiza aceast operaie n timp constant O(1). Astfel imaginea integral de la locaia (x, y), ii(x, y), reprezint suma pixelilor din dreptunghiul mrginit stnga sus de punctul (0, 0) i dreapta jos de punctul (x, y) (Viola i Jones, 2001).
n Figura 3 am exemplificat modul n care detectm o mn folosind subferestre ce conin trsturi Haar.
98
unde x este sub-fereastra din Xi, i este pragul, iar indic direcia semnului de inegalitate. Algoritm AdaBoost folosete tehnica de Boosting (un algoritm de nvare bazat pe o serie de clasificatori slabi) (Freund i Schapire, 1999).
3. Experimente
3.1 Analiza micrii minii
Studiind traiectoria pe care o realizeaz mna uman cnd se dorete deplasarea pe o dreapt am observat c e dificil s se obin o traiectorie perfect. Din acest motiv am decis s ncercm ncadrarea traiectoriei ntrun interval prestabilit (apropiat unei drepte n cazul de mai sus), i dac aceast operaie are loc cu succes s considerm c am identificat traiectoria minii umane. nainte de a le folosi efectiv n aplicaie, am studiat dou tipuri de traiectorii: vertical i orizontal. Motivul alegerii acestor dou tipuri e legat de simplitatea realizrii lor de ctre utilizatori, i totodat de uoara analiz a lor. Astfel, pentru a determina tipul traiectoriei realizate de mna utilizatorului, orizontal sau vertical, aceasta va fi ncadrat ntr-un
99
dreptunghi de o lime sau lungime predefinit. Cu ct dimensiunile dreptunghiului sunt mai mici, cu att traiectoria este mai apropiat de cea a unei drepte, i evident precizia este mai mare. n urma experimentelor efectuate, pentru a oferi utilizatorilor o uurin ct mai mare n utilizarea aplicaiei am decis ca aceste dimensiuni sa fie de 50 pixeli. n Figura 4 avem o traiectorie a minii utilizatorului care a fost ncadrat la traiectorie orizontal.
Algoritmul AdaBoost a primit ca intrare dou tipuri de imagini: imagini pozitive (care conin posturi ale minii) i imagini negative (care nu conin posturi ale minii). Obinerea imaginilor pozitive Imaginile pozitive au fost colectate folosind diverse fundaluri, cu diverse variaii de iluminare i considernd diferite dimensiuni. Iniial ntr-o prima etap, pentru fiecare postur am considerat 750 de imagini. Mai apoi, n cea de a doua etap, pornind de la aceste imagini, am folosit funciile oferite de
100
biblioteca OPENCV (http://opencv.willowgarage.com/wiki/), care ne permit s realizm rotaii n spaiul tridimensional, i am obinut 7.000 de imagini pozitive. Pentru ca scara imaginilor ce conin posturile s nu afecteze procesul de antrenare, n cadrul crerii clasificatoarelor, acestea au fost ajustate la o dimensiune de 15 x 28 pixeli (pentru postura palm), 15 x 30 pixeli (pentru postura dou degete), respectiv 20 x 20 pixeli (pentru postura pumn). Obinerea imaginilor negative Cu (Tutorial Haar Negatives, 2011) am obinut 3000 de imagini ce nu conin niciuna dintre posturile minii. Imaginile negative pe lng faptul c nu conin posturi ale minii, trebuie s conin o variaie a nivelurilor de gri, a formelor, a muchiilor, i a texturilor astfel nct clasificatorul slab s poat obine o mai bun acuratee prin eliminarea unor mari varieti de mostre negative. Figura 6 ilustreaz cteva imagini negative folosite n procesul de antrenare.
Antrenarea Pentru antrenarea clasificatoarelor am folosit o succesiune de 20 de runde. Pentru fiecare rund n execuia cascadei de clasificatori, am stabilit rata minim de succes la 96.9% i rata maxim de eec la 50%. La final, pentru postura palm am obinut o rat de succes a clasificatorului final de 90%,
101
pentru postura dou degete am obinut o rat de succes de 92%, iar pentru postur pumn rata de succes a fost de 97%. Figura 7 prezint trsturile Haar asociate celor 3 posturi.
Evaluarea Pentru a evalua performana clasificatorilor obinui am considerat 100 de imagini de test pentru fiecare postur. Tabelul 1 ilustreaz att performanele cascadelor de clasificatori, ct i timpul necesar procesrii celor 100 de imagini.
Tabelul 1. Performana clasificatorilor antrenai
Potriviri 90 92 97
Nepotriviri 10 8 3
False 50 30 20
102
corecte, coloana Nepotriviri prezint numrul de posturi omise de clasificator, coloana False reine numrul de detecii false ale acestuia, iar ultima coloan Durata deteciei precizeaz care este timpul necesar preprocesrii tuturor imaginilor folosite mai apoi n etapa de testare. De exemplu, pentru postura Palm putem observa c au fost identificate corect 90 de posturi, 10 posturi au fost omise, astfel nregistrndu-se 50 de detecii false (datorit fundalului aglomerat ce conine arii mici a crui nivel de gri este asemntor cu cel al posturii palm). Figura 8 prezint cteva imagini n care este corect detectat postura palm.
Pentru testare am folosit o camera-web setat s capteze imagini la o rezoluie de 320 x 240 pixeli la un interval de 15 cadre/secund i nu s-a nregistrat nici o latena n detecia sau urmrirea posturilor. Rezultatele evalurii au demonstrat robusteea clasificatorilor antrenai la variaia de lumin sau de rotaie cu n plan. Prin analiza rezultatelor de detecie am remarcat faptul c rotaiile excesive provoac omiterea unor imagini pozitive. De asemenea, majoritatea deteciilor false sunt identificate n arii foarte mici, ce au o probabilitate foarte mare de a conine acelai nivel de gri ca al obiectul antrenat. Pentru a elimina aceast inconvenien am ajustat pragul pentru
103
sub-fereastra de scanare.
4. Arhitectura aplicaiei
Pentru a demonstra eficiena sistemului nostru de identificare a posturilor, am realizat o aplicaie pentru browser-ul Internet Explorer. Cu ajutorul acestei aplicaii, utilizatorul poate interaciona cu acest browser prin intermediul camerei web, folosind urmtoarele operaii de navigare: ALT + TAB (saltul ntre ferestre) prin micarea orizontal a palmei; SCROLL vertical (defilarea vertical a ferestrei) prin micarea vertical a pumnului; ZOOM (mrirea sau micorarea coninutului ferestrei active) prin micarea pumnilor din interior/exterior spre exterior/interior; CLICK (selectarea unei opiuni) prin micarea vertical a posturii dou degete; TAB (salt de la o opiune la alta) micarea orizontal a posturii dou degete.
Iat reprezentarea grafic a dou comenzi: comanda ALT + TAB n Figura 9 (cu cele dou variante: prima, de a selecta fereastra urmtoare, caz n care traiectoria minii este orizontal de la stnga la dreapta i cea de a doua, de a selecta fereastra anterioar, caz n care traiectoria minii este orizontal de la dreapta la stnga) i comanda ZOOM-OUT, n Figura 10 (care folosete posturile pumn a ambelor mini, care realizeaz simultan o micare orizontal dinspre afar spre interior).
104
Aplicaia este alctuit din 5 module mai importante, pe care le prezentm n continuare: Modulul Win32 ne ofer informaii legate de instanele active din sistem ale browser-ului web Internet Explorer; Modulul Computer Vision Library ofer funciile necesare procesrii imaginilor pentru detecia posturilor i a traiectoriei minii (cele mai importante funcii sunt pentru antrenare, i pentru clasificare); Modulul Periferical Service ne permite accesul la capturile realizate de camera web; Modulul User Interface afieaz comenzile realizate de gesturile utilizatorului; Modulul Interaction Engine este modulul central al aplicaiei.
Succesiunea pailor executai de algoritm sunt dai n continuare. Astfel, dup pornirea aplicaiei: Pas 1. Modulul Interaction Engine comunic cu modulul Periferical Service pentru a captura imaginea curent oferit de camer. Pas 2. Imaginea primit este trimis ctre modulul Computer Vision Library, care o proceseaz i identific postura curent a minii. De asemenea, pe baza procesrii unei succesiuni de imagini se identific traiectoria minii. Combinnd etapa de identificare a posturii cu etapa de identificare a traiectoriei se obine gestul utilizatorului uman. Pas 3. n urma procesrii acesta i transmite modului Interaction Engine c s-a realizat un gest i care este acesta (i se merge la Pas 4) sau i transmite c nu s-a realizat un gest (i se reia de la Pas 1). Pas 4. Modulul Interaction Engine produce comenzile pentru browser Internet Explorer cu ajutorului modulului Win32 i notific modulul User Interface cu privire la noile schimbri. Se merge la Pas 1.
105
5. Evaluare preliminar
Pentru a putea evalua ntr-o prim etap aplicaia pe care am realizat-o, am apelat la 10 persoane nespecialiste n domeniul informaticii, dar care posed cunotine despre navigarea pe Internet. Pornind de la o pagin web aparinnd unui ziar online, participanii trebuiau (1) s citeasc un articol ce depea o pagin (n acest fel ei erau obligai s fac scroll i s fac operaii de mrire sau micorare a textului), (2) s selecteze una din seciunile preferate din meniul paginii web pentru a gsi un articol de actualitate i (3) s fac salt ntre mai multe ferestre deschise simultan. Scopul experimentelor a fost de a observa att gradul de comoditate n a folosi comunicarea bazat pe gesturi cu un calculator, ct i robusteea algoritmilor implementai atunci cnd avem utilizatori noi. La sfritul experimentelor am identificat faptul c aplicaia este foarte util n special n cazul persoanelor care sunt greu de iniiat n domeniul informaticii, oferindu-le un grad sporit de comoditate atunci cnd folosesc calculatorul. Acesta este cazul persoanelor cu dezabiliti sau al persoanelor care folosesc prima data calculatorul sau al persoanelor n vrst, care se adapteaz mai greu la tehnologiile mai noi.
Un alt mare avantaj vine din faptul c prin utilizarea trsturilor Haar aplicaia noastr reuete s realizeze identificarea corect a posturilor n timp real, acest lucru permindu-ne s putem folosi cu succes gestica minii n cazul n care dorim s o aplicm la prezentri sau la proiecii. Dezavantaje identificate pe parcursul experimentelor se datoreaz faptului c aplicaia e destul de sensibil la tranziii ntre poziii succesive ale minii atunci cnd se dorete urmrirea ei. O alt problem semnalat de cei care au participat la experiment este datorat faptului c funcionalitile implementate sunt nc minimale, neeliminndu-se total folosirea mouseului i a tastaturii. Pe viitor, intenionm s realizm experimentele de mai sus pe un grup mult mai mare de utilizatori crora s le cerem s rspund i la cteva ntrebri legate de modul n care au folosit aplicaia noastr. De asemenea, intenionm ca ntr-o a doua etap s facem o evaluare din punct de vedere al utilizabilitii aplicaiei.
6. Concluzii
Lucrarea de fa prezint o metod neconvenional de a comunica cu un calculator. Folosind o camer web care este conectat la calculator utilizatorul poate interaciona cu browser-ul web Internet Explorer folosind gestica minii.
106
Aplicaia a folosit ca punct de pornire una din cele mai bune soluii existente n prezent n detectarea de obiecte prezentat n (Viola i Jones, 2001). Originalitatea sistemului nostru const n faptul c prin modul de construire, iniial avem o etap de antrenare, urmat de o etap n care folosim algoritmul AdaBoost pentru clasificare, obinem o robustee ridicat (operaiile de antrenare sunt independente de utilizatorul care va folosi aplicaia). Comenzile pe care le-am implementat n aplicaie ne permit s facem salturi ntre ferestre (prin micarea orizontal a palmei), s facem scroll vertical (prin micarea vertical a pumnului), s facem operaii de zoom (prin micarea pumnilor), s facem click (prin micarea vertical a posturii dou degete), s facem salt ntre opiuni (prin micarea orizontal a posturii dou degete). Pe viitor se dorete mbuntirea clasificatorilor creai, prin colectarea imaginilor de la un numr ridicat de persoane diferite. Astfel acest sistem va deveni mult mai independent i robust. O alt mbuntire ar fi extragerea fundalului din imaginea ce necesit a fi procesat pentru o mbuntire substanial a performanei sistemului. Alte direcii viitoare de dezvoltare au ca scop oferirea mai multor opiuni de comunicare cu browser-ul i totodat permiterea simultan a recunoaterii i a altor pari ale corpului uman pentru a crea noi comenzi. Ca aplicaiile s fie mai interactive dorim s integrm i alte tehnici de comunicare cum ar fi recunoaterea vocii.
Mulumiri
Autorii doresc s aduc mulumiri participanilor la experimente pentru bunvoina i pentru rbdarea acordat. Cercetarea prezentat n aceast lucrare a fost finanat de ctre Programul Operaional Sectorial Dezvoltarea Resurselor Umane prin proiectul Dezvoltarea capacitii de inovare i creterea impactului cercetrii prin programe post-doctorale POSDRU/89/1.5/S/49944.
Referine
Ahmeda, S. M. H., Alexanderb, T. C., Georgios, C., Anagnostopoulos, B. Real-time, Static and Dynamic Hand Gesture Recognition for Human-Computer Interaction. TR, 2008. Bretzner, L.,Laptev, I., Lindeberg, T. Hand Gesture Recognition using Multi-Scale Colour
107
Features, Hierarchical Models and Particle Filtering. Proceedings of the Fifth IEEE International Conference on Automatic Face and Gesture Recognition (FGR02) 07695-1602-5/02 IEEE, 2002. Candace, A., Kamm, M., Walker, A., Rabiner, L. R. The role of speech processing in human-computer intelligent communication. Speech Communication, 1997. Chakraborty, P., Sarawgi, P., Mehrotra, A., Agarwal, G., Pradhan, R. Hand Gesture Recognition: A Comparative Study. Proceedings of the International MultiConference of Engineers and Computer Scientists 2008, Vol. I, IMECS 2008, 19-21 March, Hong Kong, 2008. Coneac, M., Iftene, A. Folosirea gesticii minii n interaciunea om-calculator. Revista Romn de Interaciune Om-Calculator 4 (Numr special - RoCHI 2011), Pp. 107-110, Bucureti, 8-9 Septembrie, 2011. Davis, J., Shah, M. Recognizing Hand Gestures. Computer Vision - ECCV 94 Proceedings of Third European Conference on Computer Vision, Stockholm, Sweden, Volume I, May 2-6, 1994. Freeman, W. T., Roth, M. Orientation Histograms for Hand Gesture Recognition. IEEE Intl. Wkshp. on Automatic Face and Gesture Recognition, Zurich, June, 1995. Freund, Y., Schapire, R. E. A short introduction to boosting. Journal of Japanese Society for Artificial Intelligence, vol. 14, nr, 5, pp. 771 780, 1999. Fuchs, C. Social Networking Sites and the Surveillance Society. A Critical Case Study of the Usage of studiVZ, Facebook, and MySpace by Students in Salzburg in the Context of Electronic Surveillance. Salzburg/Vienna, Austria, 2009; Forschungsgruppe Unified Theory of Information - Verein zur Frderung der Integration der Informationswissenschaften, ISBN 978-3-200-01428-2, 2009. Gorgan, D., Stefanut, T., Veres, M., Gabos, I. Tehnici de adnotare grafica n 3D n aplicatiile de e-learning interactive. Revista Romna de Interactiune Om-Calculator Vol.1, Nr.1, ISSN 1843-4460, 2008. Klsch, M., Hllerer, T., DiVerdi, S. HandVu: A New Machine Vision Library for Hand Tracking and Gesture Recognition. Demo at ISWC/ISMAR, http://www.movesinstitute.org/~kolsch/HandVu/HandVu.html, 2004. Klsch, M., Turkm, M. Analysis of Rotational Robustness of Hand Detection with a ViolaJones Detector. International Conference on Pattern Recognition (ICPR), Cambridge, U.K., August 2004. Lienhart, R., Maydt, J. An extended set of Haar-like features for rapid object detection. IEEE ICIP 2002, Pp. 900-903, 2002. Napier, J. Hands. New York: Panthon Books, 1980. den, C., Eril, A., Yildiz, V.T., Kirmizita, H., Bke, B. Hand Recognition Using Implicit Polynomials and Geometric Features. AVBPA01 Proceedings of the Third International Conference on Audio- and Video-Based Biometric Person Authentication. Springer-Verlag London, UK, ISBN:3-540-42216-1, 2001. Reifinger, S., Wallhoff, F., Ablassmeier, M., Poitschke, T., Rigoll, G. Static and dynamic
108
hand-gesture recognition for augmented reality applications. Proceedings of the 12th international conference on Human-computer interaction: intelligent multimodal interaction environments, HCI07, Beijing, China, Springer-Verlag, Pp. 728-737, 2007. Roomi, R., Priya, S. M. M., Jayalakshmi, H. Hand Gesture Recognition for HumanComputer Interaction. Journal of Computer Science 6 (9): 994-999, ISSN 1549-3636, 2010. Snchez-Nielsen, E., Antn-Canals, L., Hernndez-Tejera, M. Hand Gesture Recognition for Human-Machine Interaction. Journal of WSCG, Vol.12, No.1-3, ISSN 1213-6972 WSCG2004, February 2-6, Plzen, Czech Republic, 2003. Tutorial Haar Negatives: tutorialhaartraining.googlecode.com/svn/trunk/data/ negatives, 2011 Viola, P., Jones. M. Rapid Object Detection using a Boosted Cascade of Simple Features. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR01), Volume 1, Pp. 511-518, 2001. Von Hardenberg, C.,_Brard, F._Bare-hand human-computer interaction. Proceedings of the 2001 workshop on Percetive user interfaces PUI 01, ACM Press, 2001. Whitehill, J., Omlin, C. W. Haar Features for FACS AU Recognition. Procceding of 7th International Conference on Automatic Face and Gesture Recognition, Pp. 97-101, 2006. Snchez-Nielsen, E., Antn-Canals, L., Hernndez-Tejera, M. Hand Gesture Recognition for Human-Machine Interaction. Journal of WSCG, Vol.12, No.1-3, ISSN 1213-6972 WSCG2004, February 2-6, Plzen, Czech Republic, 2003. Tutorial Haar Negatives: tutorialhaartraining.googlecode.com/svn/trunk/data/ negatives, 2011 Viola, P., Jones. M. Rapid Object Detection using a Boosted Cascade of Simple Features. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR01), Volume 1, Pp. 511-518, 2001. Von Hardenberg, C.,_Brard, F._Bare-hand human-computer interaction. Proceedings of the 2001 workshop on Percetive user interfaces PUI 01, ACM Press, 2001. Whitehill, J., Omlin, C. W. Haar Features for FACS AU Recognition. Procceding of 7th International Conference on Automatic Face and Gesture Recognition, Pp. 97-101, 2006.