Camere inteligente - spectru de știință
Camere inteligente
Uneori, cineva își dorea ca casa să știe unde se află copiii tot timpul și să-i anunțe dacă fac ceva periculos; sau biroul ar ști automat când se desfășoară o întâlnire importantă și nu va fi apelat. Și ce zici dacă mașina ta a recunoscut că obosești după o călătorie lungă și te-a determinat să faci o pauză în timp util?

S-au încercat mult timp să se dezvolte sisteme informatice cu o astfel de performanță. În curând, mașinile ar putea prelua unele dintre sarcinile babysitter-urilor sau secretarilor.
De ce nu ai reușit să faci asta demult? Motivul principal îl văd în faptul că computerele sunt surde și orbe: puteți obține informații despre lume doar prin intermediul tastaturii și al mouse-ului. Chiar și microfonul și camera nu ajută atâta timp cât datele pe care le furnizează sunt transportate sau stocate doar, dar nu sunt interpretate în sensul semnificației sale. Cred că mașina trebuie să perceapă ceea ce face utilizatorul său într-un sens mult mai larg înainte de a-i putea ajuta cu adevărat. Mai mult, trebuie să fie capabil să-și recunoască persoana și să-și poată dezvălui intențiile - cel puțin în măsura limitată pe care o altă persoană sau chiar un câine o poate.
Pentru a ne apropia de acest obiectiv, grupul meu de cercetare a dezvoltat recent sisteme care recunosc fețele, expresiile faciale și gesturile. O putem folosi deja pentru a construi medii care se comportă în anumite aspecte, cum ar fi casa, biroul sau mașina descrise mai sus.
Aceste camere inteligente, așa cum le numim noi, sunt echipate cu camere și microfoane, din ale căror date o rețea de calculatoare elaborează o evaluare a ceea ce spun și fac oamenii în zona înregistrată. Poate folosi mișcările corpului, vorbirea și expresiile faciale pentru a oferi instrucțiuni sistemului, pentru a apela informații multimedia sau pentru a intra în lumi virtuale - fără tastatură și mouse și fără mănușile și căștile stângace de date.
Ideea principală este: Deoarece camerele inteligente știu ceva despre ocupanții lor - din percepția directă sau din alte surse - pot reacționa inteligent la acțiunile lor.
În colaborare cu Pattie Maes și cu mine, doctoranzii Trevor Darrell și Bruce M. Blumber au construit prima cameră inteligentă din laboratorul nostru media de la Massachusetts Institute of Technology din Cambridge în 1991. Acest lucru a dus în curând la un experiment la care participă mai multe grupuri de lucru. Există acum cinci astfel de camere, toate conectate prin linii telefonice: trei în Boston, una în Japonia și una în Marea Britanie. Sunt planificate alte instalații la Paris, New York și Dallas.
Fiecare dintre aceste camere este echipată cu mai multe calculatoare. Niciunul dintre aceste dispozitive nu este mai puternic decât un PC normal; fiecare este conceput și responsabil pentru o sarcină specifică, de exemplu una pentru analiza imaginilor, alta pentru cea a sunetelor și a treia pentru cea a gesturilor. Dacă sunt necesare mai multe abilități, adăugăm pur și simplu mai multe mașini.
În ciuda diferențelor, toate serviciile de recunoaștere se bazează pe același principiu statistic: maximizarea plauzibilității (analiza maximă a probabilității). Calculatoarele compară datele primite cu modelele stocate, calculează gradul de corespondență și determină în cele din urmă modelul care se potrivește cel mai bine datelor.
Înainte ca o cameră inteligentă să poată afla ce face utilizatorul, trebuie să le localizeze. Pentru a face acest lucru, am dezvoltat un sistem numit Pfinder (pentru căutarea de persoane) care înregistrează și urmărește locul unde se află o persoană, atâta timp cât se deplasează în cameră.
În acest caz, sistemul are nevoie de un model al corpului uman pentru analiza probabilității maxime: o descriere cu cât mai puține valori numerice posibil, care este totuși suficient de precisă pentru a fi comparabilă cu datele din camera video. Modelul nostru constă din câteva forme geometrice simple, interconectate, pe care le numim blobs (literalmente: blobs sau bulgări). Șapte pete - pentru mâini și picioare, precum și pentru cap, partea superioară și inferioară a corpului - sunt suficiente (imaginea 1). Un blob se caracterizează prin culoarea sa și prin dimensiunile geometrice pentru poziție, orientare și formă. În plus, există informații despre cât de exacte sau fiabile sunt aceste informații: în loc de un singur număr pentru o coordonată de poziție sau o specificație de culoare, există o distribuție în jurul valorii medii (mai exact: o matrice de covarianță).
Într-o anumită măsură, rezultatul este un concept de model pe care sistemul îl face asupra camerei și a persoanelor din ea: un manechin plin cu articulația poziției și posturii corecte, inserat într-un model de textură al fundalului camerei. Cu această imagine, Pfinder compară fiecare înregistrare nouă a camerei video; Programul creează o listă care arată ce puncte raster (pixeli) ar trebui să aparțină cărui blob în funcție de model și care nu.
Se extrapolează din trecut: dacă corpul superior al utilizatorului s-a deplasat cu o zecime de secundă mai devreme la dreapta la un metru pe secundă, Pfinder bănuiește că centrul blobului care modelează corpul superior este la o zecime de metru mai la dreapta pentru următoarea zecime de secundă. Aceste predicții sunt modificate prin compararea lor cu tiparele tipice de mișcare pe care sistemul le-a extras din observarea a mii de oameni. De exemplu, extrapolare include experiența că partea superioară a corpului poate fi îndoită în raport cu partea inferioară a corpului, dar nu poate fi compensată sau că mâinile și picioarele se mișcă, în general, mult mai repede decât trunchiul.
În pasul următor, programul compară imaginea și imaginea camerei prin scăderea culorii și luminozității ambelor imagini pixel cu pixel și evaluarea rezultatului în termeni de declarație de probabilitate. De exemplu, dacă diferența de luminozitate pentru un pixel este de 10 la sută și în același timp funcția de distribuție a blob-ului asociat indică faptul că o astfel de diferență apare doar în 1 la sută din cazuri, atunci șansa ca acest pixel să aparțină acestui blob este doar 1 din 100.
Sunt necesare ajustări suplimentare. Dacă o parte a corpului utilizatorului este la umbră, există diferențe de luminozitate care nu au nicio legătură cu probabilitatea menționată. Prin urmare, Pfinder localizează umbrele - definite ca zone care sunt mai întunecate decât se aștepta - și corectează valorile culorilor pixelilor lor la o luminozitate uniformă.
Modificările aduse iluminării sau aranjarea obiectelor în cameră ar putea determina, de asemenea, ca sistemul să le atribuie incorect. De exemplu, dacă utilizatorul ia o carte de pe masă și o pune pe raft, fundalul se schimbă în două locuri: locul vechi și cel nou al cărții. De aceea, Pfinder actualizează continuu datele fundalului - adică pixelii care nu sunt ocupați de bloburi - făcând o medie între valoarea de culoare veche și cea nouă.
După toate aceste calcule și compensații diferite, Pfinder determină în cele din urmă blobul căruia îi aparține cel mai strâns pentru fiecare pixel al noii imagini. La rândul său, aceasta câștigă noi valori pentru datele modelului blob și a fundalului, precum și pentru vitezele actuale, care sunt utilizate pentru a extrapola următoarea imagine. În acest fel, sistemul rămâne mereu actualizat datorită interacțiunii neîncetate dintre imaginea curentă și imaginar.
Cine și cum?
Următoarea sarcină este de a determina cine este în cameră și ce spun ei. Există deja mulți algoritmi pentru recunoașterea vorbirii (Spektrum der Wissenschaft, martie 1994, pagina 86). Practic, toate aceste sisteme funcționează satisfăcător numai atunci când microfonul se află în imediata apropiere a difuzorului. O cameră care înțelege doar persoana care stă într-un anumit punct - și anume în fața microfonului - nu ar fi considerată deosebit de inteligentă; Vorbirea ar trebui, de asemenea, să fie recunoscută atunci când difuzorul se mișcă liber în cameră și există încă zgomote.
Soluția noastră la această problemă se bazează pe faptul că Pfinder cunoaște în permanență poziția utilizatorului. Acesta este motivul pentru care se pot calcula timpii de tranzit al sunetului de la gura lui la mai multe microfoane instalate permanent. Circuitele electronice de întârziere asigură faptul că toate semnalele sonore ale difuzorului din sistem se reunesc în același timp și astfel se adună, în timp ce toate celelalte sunt mediate. Astfel veți obține un semnal de o calitate suficientă; este comparat cu cele ale cuvintelor cunoscute, iar cel cu potrivirea maximă este considerat vorbit.
Adesea la fel de important ca înțelegerea unei instrucțiuni este să știi cine o dă. Cel mai rapid mod de a recunoaște o persoană este cu siguranță fața ei. Sistemul are nevoie mai întâi de modele ale tuturor fețelor pe care ar trebui să le identifice. O metodă matematică din algebră liniară, analiza vectorului propriu, a produs ceva asemănător fețelor standard artificiale; le numim fețe Eigen. Orice față este creată înmulțind fiecare față individuală cu un anumit factor și apoi suprapunându-le pe toate aditiv; modelul unei fețe necesar analizei este sistemul acestor factori de ponderare.
Dacă camera camerei inteligente a descoperit acum o persoană, sistemul de identificare izolează fața localizată anterior de Pfinder de mediul înconjurător și normalizează contrastul acesteia. Programul calculează apoi cât de asemănător este cu fiecare față proprie sau, ce echivalează cu același lucru, ce factori de ponderare ar trebui utilizați pentru a o compune din fețele proprii. Aceste valori de similitudine au ca rezultat un model care este comparat cu modelele stocate de oameni care sunt deja cunoscuți. Camerele noastre inteligente au găsit persoana potrivită din grupuri de testare de câteva sute de persoane, cu o rată de acces de 99%.
Pe deasupra. De exemplu, un tutorial ar trebui să știe dacă elevii sunt interesați sau plictisiți. De îndată ce camera noastră inteligentă a găsit și a recunoscut o față, aceasta își analizează expresia (Fig. 2). Pentru a face acest lucru, un computer specializat compară mișcările feței cu directoare de mișcări care sunt tipice pentru anumite emoții (figurile 3 și 4). O persoană care zâmbește își întoarce colțurile gurii și își ridică anumite părți ale frunții; dacă imiți doar un zâmbet, miști doar gura. Sistemul nostru a reușit să determine corect expresiile faciale selectate într-un grup mic de persoane testate până la 98%.
La urma urmei, pentru ca casele, birourile și mașinile să fie cu adevărat utile, trebuie să raporteze percepțiile elementare despre identitatea, expresia feței și limbajul unei persoane. La urma urmei, una și aceeași mișcare poate fi interpretată foarte diferit, în funcție de ceea ce face inițiatorul ei. Un șofer care își ia piciorul de pe accelerator poate dori să se oprească - sau să se întoarcă. Cu toate acestea, există o diferență vizibilă: dacă doriți să vă întoarceți, ridicați indicatorul și puneți mâinile pe volan într-un mod diferit pentru a vă pregăti pentru rotire. Prin urmare, sistemul informatic trebuie să ia în considerare o combinație de mișcări curente și imediat precedente.
Pentru aceasta, am adoptat principii din tehnologia recunoașterii automate a vorbirii: un cuvânt este modelat în cadrul unui astfel de sistem printr-o succesiune de stări - foneme (sunete individuale) sau părți de foneme - cu anumite probabilități de tranziție de la un stat la altul: așa-numitul lanț Markov Spectrum of Science, martie 1994, pagina 90). Pentru a recunoaște un cuvânt rostit, sistemul încearcă să armonizeze semnalul sonor cu diferite lanțuri Markov; în cele din urmă decide în favoarea celui care lucrează cel mai bine cu el.
Am generalizat această abordare pentru a permite automatelor să își deducă intențiile din mișcările unei persoane. Anumite mișcări elementare iau locul fonemelor. De exemplu, trebuie făcută o distincție în ceea ce privește dacă o persoană doar flutură cu un braț întins sau arată ceva. Pentru a arăta, sistemul are un model intern format din trei stări: ridicați mâna, țineți-vă nemișcat și retrageți-vă rapid. Cu toate acestea, pentru o simplă extensie a brațului, se așteaptă o singură mișcare continuă.
Dintre sistemele de interpretare a acțiunii care au fost dezvoltate până acum, cele mai simple dintre ele permit utilizatorului să influențeze un mediu virtual prin mișcările corpului. De exemplu, ALIVE (Artificial Life Interaction Environment), un efort comun al grupului Pattie Maes și al meu, convertește descrierea unui utilizator oferită de Pfinder într-un model video care este populat de tot felul de forme de viață generate de computer Mediul este viu. Animalele fanteziste evaluează informații despre gesturi, limbaj și poziția utilizatorului și reacționează la aceasta (imaginea 1). Dacă se mișcă de parcă ar fi luat un băț și aruncându-l departe, imaginea video din mediul ALIVE face același lucru - și Silas, un câine virtual, fuge și aduce. Silas poate, de asemenea, să stea sau să se rostogolească la comanda sa.
Datele de ieșire ale unei camere inteligente pot fi, de asemenea, utilizate mult mai direct. De exemplu, poziția utilizatorului poate fi transferată într-o cameră de control virtuală; un cuvânt sau o mișcare a mâinii acționează apoi direct ca instrucțiuni pentru un program de computer.
Acesta poate fi un joc video într-un mediu imaginar tridimensional, care face fără controalele obișnuite, cum ar fi joystick-urile. Dacă un inamic se apropie de stânga în peisaj, jucătorul - în camera reală - trebuie doar să se întoarcă la stânga, să ridice mâna cu un pistol virtual și să strige „bang” - și adversarul va scârțâi.
Cu toate acestea, există și utilizări serioase. Limbajul semnelor americane (ASL) destul de complicat este un test bun al capacităților camerei noastre; de aceea am construit un sistem pentru interpretarea lor (Fig. 6). Am creat modele de personaje individuale combinând numeroase înregistrări ale mișcărilor relevante ale mâinilor - analizate de Pfinder. Până în prezent, sistemul a recunoscut 40 de cuvinte ASL în timp real, cu o precizie de 99,2%. Cu o rată constantă de recunoaștere și un vocabular crescut, ar trebui să fie posibil să se creeze un sistem de recunoaștere a vorbirii pentru surzi și muți.
Nu întâmplător am menționat automobilul de mai multe ori: majoritatea accidentelor rutiere sunt cauzate de greșelile făcute de șofer. Prin urmare, dezvoltăm o cabină inteligentă împreună cu Andy Liu, un om de știință la institutul de cercetare de bază al companiei Nissan din Cambridge (Massachusetts). Scopul pe termen lung este un vehicul care urmărește acțiunile șoferului și oferă informații utile: despre ruta corectă și manevrarea vehiculului până la avertizările de pericole.
Dezvoltarea a început din nou cu modelarea. Din mișcările mâinilor și picioarelor a numeroși șoferi pe un traseu simulat, am derivat modele comportamentale pentru activități tipice: evitarea unui obstacol, urmarea unui alt vehicul, rotirea, oprirea, pornirea și schimbarea benzilor (Fig. 5). Cu aceasta, sistemul ar trebui să clasifice acțiunile intenționate ale unui driver de testare cât mai repede posibil. Spre surprinderea noastră, rata de lovituri a fost de 86 la sută după o jumătate de secundă și 97 la sută după două secunde.
Cel puțin în situații simple, este posibil să urmăriți mișcările unei persoane, să le identificați și să interpretați anumite afirmații și expresii faciale - și toate acestea în timp real cu un efort de calcul modest. Capacitățile sistemelor noastre pot fi combinate în multe moduri. Așa dezvoltăm ochelari pe care oamenii îi recunosc și le șoptesc numele în urechea purtătorului. Lucrăm la ecrane de televiziune care se înregistrează atunci când cineva privește. Și intenționăm să dezvoltăm un card de credit care să-l cunoască pe proprietar - și astfel să știe dacă a fost furat.
Alte grupuri de cercetare din laboratorul nostru media lucrează la dotarea spațiilor inteligente cu o înțelegere mai profundă a acțiunilor și motivelor umane. Cu progrese suplimentare, sistemele informatice se vor comporta din ce în ce mai mult ca asistenți autonomi și atenți.
Bibliografie
- Grafică controlată vizual. De A. Azarbayejani, T. Starner, B. Howowitz și A. Pentland în: IEEE Transactions on Pattern Analysis and Machine Intelligence, Volumul 15, Numărul 6, paginile 602-604, iunie 1993.
- Sistemul ALIVE: interacțiune cu întregul corp cu agenți autonomi. De P. Maes, T. Darrell, B. Blumburg și A. Pentland în: Proceedings of Computer Animation '95, 1995.
- Recunoașterea expresiei faciale folosind un model dinamic și o energie de mișcare. De I. A. Essa și A. Pentland în: Proceedings of the Fifth International Conference on Computer Vision. IEEE Computer Society Press, 1995.
- Spre sisteme de control mărite. De A. Pentland și A. Liu în: Proceedings of the Intelligent Vehicles '95 Symposium. IEEE Industrial Electronics Society, septembrie 1995.
- Limbajul semnelor americane în timp real din videoclipuri folosind modele ascunse Markov. De T. Starner și A. Pentland în: International Symposium on Computer Vision, 1995. IEEE Computer Society Press, 1995.
- Pfinder: Urmărire în timp real a corpului uman. De Christopher Wren, Ali Azarbayejani, Trevor Darrell și Alex P. Pentland în: Integration Issues in Large Commercial Media Delivery Systems. Editat de A. G. Tescher și V. M. Bove. SPIE, vol. 2615, 1996.
- Laboratorul mass-media al Institutului de Tehnologie din Massachusetts are numeroase articole și rapoarte pe World Wide Web la http: // www-white. media.mit.edu/vismod.