AUTOMATYKA 2006 Tom 10 Zeszyt 3 Piotr Pawlik*, Daniel Iwaniec**, Micha³ Iwaniec** Analiza obrazu z kamery jako podstawa interfejsu cz³owiek niepe³nosprawny-komputer*** 1. Wprowadzenie Problem umo liwienia lub chocia usprawnienia osobom niepe³nosprawnym samodzielnej pracy z komputerem zosta³ dostrze ony ju w pocz¹tkowych etapach prac nad graficznymi interfejsami u ytkownika systemów operacyjnych. Przyk³adem mog¹ byæ U³atwienia dostêpu, które pojawi³y siê np. w systemie Microsoft Windows 95. Oczywiœcie oprócz u³atwieñ dostarczanych z systemem powstawa³o coraz wiêcej dedykowanych aplikacji wspomagaj¹cych osoby niepe³nosprawne w pracy z komputerem. Nale y tu jednak rozró niæ aplikacje wspomagaj¹ce pracê od aplikacji umo liwiaj¹cych pracê na komputerze. Wspomniane U³atwienia dostêpu, zgodnie zreszt¹ ze swoj¹ nazw¹, mog¹ tylko wspomóc osoby lekko niepe³nosprawne. Umo liwienie pracy na komputerze osobom z bezw³adnoœci¹ (lub po amputacji) koñczyn wymaga³o stworzenia aplikacji praktycznie zrywaj¹cych z tak podstawowymi urz¹dzeniami wejœcia/wyjœcia, jak klawiatura i mysz (nie wspominaj¹c o urz¹dzeniach bardziej specjalizowanych). W takich przypadkach jedynymi mo liwymi (powszechnie dostêpnymi) sensorami komputera staj¹ siê kamera i mikrofon. Przy czym istotne wydaje siê wyró nienie zakresu stosowalnoœci obu tych kana³ów komunikacji. Sterowanie komputera za pomoc¹ g³osu skupia siê na wydawaniu poleceñ i rozpoznawaniu mowy w celach tworzenia dokumentów. Natomiast droga wizyjna jest wykorzystywana do zast¹pienia urz¹dzeñ wskazuj¹cych. Niniejszy artyku³ skupia siê na tym drugim aspekcie komunikacji cz³owieka niepe³nosprawnego z komputerem. 2. Istniej¹ce aplikacje wizyjnej komunikacji z komputerem Zast¹pienie urz¹dzenia wskazuj¹cego kamer¹ oznacza pozyskanie obrazu osoby steruj¹cej kursorem i analiz¹ maj¹c¹ na celu przekszta³cenie informacji zawartej w tym obrazie * Katedra Automatyki, Akademia Górniczo-Hutnicza w Krakowie; piotrus@agh.edu.pl ** Instytut Politechniczny, PWSZ w Tarnowie *** Praca powsta³a w ramach badañ w³asnych umowa AGH nr 10.10.120.39 399
400 Piotr Pawlik, Daniel Iwaniec, Micha³ Iwaniec na komendy przemieszczaj¹ce kursor. Zadanie to mo e byæ realizowane na wiele sposobów, jednak e sprowadzaj¹ siê one do dwóch nurtów: 1) wyodrêbnienia z obrazu punktu (lub obszaru), którego ruch jest zamieniany na ruch kursora; 2) sterowania kursorem na podstawie ruchu ga³ki ocznej. Poni ej omówiono przyk³adowe aplikacje dla obu typów rozwi¹zañ. 2.1. CameraMouse Jest to projekt rozwijany przez Boston College. Jego celem jest pomoc osobom, które nie maj¹ mo liwoœci poruszania adn¹ czêœci¹ cia³a w sposób umo liwiaj¹cy u ywanie tradycyjnego wskaÿnika, jakim jest mysz. System wykorzystuj¹cy prost¹ kamerê analizuje ruchy g³owy (lub jej czêœci, np. nos, podbródek, usta) i odpowiednio przesuwa kursor na ekranie monitora. Kamera powinna byæ zogniskowana na twarz, gdy znajdowany jest nos, ewentualnie podbródek osoby steruj¹cej. Zmiany po³o enia tych czêœci twarzy s¹ podstaw¹ obliczenia pozycji kursora na ekranie. Zdarzenia klikniêcia przyciskiem myszy s¹ wywo³ywane, gdy u ytkownik zatrzyma kursor na krótki interwa³ czasowy w jednym miejscu. Stanowi to pewn¹ wadê rozwi¹zania, gdy zatrzymanie kursora na d³u szy czas nie musi oznaczaæ chêci naciœniêcia klawisza myszy [1, 5]. 2.2. Quick Glance Quick Glance umo liwia osobom niepe³nosprawnym obs³ugê komputera, wykorzystuj¹c ruch ga³ki ocznej obserwowanej przez kamerê. Zdarzenie klikniêcia myszy mo na zrealizowaæ przez krótkie mrugniêcie oka lub zatrzymanie wzroku na pewien, krótki czas w jednym miejscu. Rozwi¹zanie to mo e byæ stosowane w pomieszczeniach o ró norodnej jakoœci oœwietlenia. Z faktu, i kamera w zupe³noœci skupia siê na oku, wynika, e nie jest dopuszczalne znaczne poruszanie g³ow¹. Zalet¹ takiego rozwi¹zania jest szybkoœæ poruszania kursora. Do wad nale y zaliczyæ wspomaganie diodami podczerwonymi oraz fakt, i wykorzystanie oka do pozycjonowania kursora wi¹ e siê z koniecznoœci¹ neutralizowania drgañ, jakie wprowadza ga³ka oczna [4, 6]. 3. Proponowana metoda oparta o rozpoznawanie wzorców 3.1. Analiza ograniczeñ W dotychczasowych opisach œwiadomie pominiêto rozwi¹zania interfejsu cz³owiekkomputer bazuj¹ce na dodatkowych urz¹dzeniach poza kamer¹ (lub zastêpuj¹ce kamerê), zarówno ze wzglêdu na koniecznoœæ dodatkowego przygotowywania siê do obs³ugi komputera (np. czujniki elektrookulograficzne), jak i z powodu wysokiego kosztu takich rozwi¹zañ.
Analiza obrazu z kamery jako podstawa interfejsu cz³owiek niepe³nosprawny-komputer 401 Rozwi¹zania wykorzystuj¹ce œledzenie twarzy zak³adaj¹ ruchomoœæ g³owy. Przy rozleg³ym parali u koñczyn czêsto poruszanie g³ow¹ tak e jest ograniczone, co w tym wypadku dyskwalifikuje te metody. Mo liwe jest œledzenie wybranego ruchomego punktu twarzy (np. podbródka), ale najczêœciej jest to zwi¹zane z k³opotliwym umieszczaniem na skórze dodatkowego markera. Z kolei obserwacja ruchu ga³ki ocznej jest wra liwa na gwa³towne jej ruchy, oraz czêsto bywa wspomagana diodami podczerwonymi, stanowi¹cymi dodatkowe wyposa enie. Analiza powy szych ograniczeñ zaowocowa³a propozycj¹ rozwi¹zania niezale nego od ruchu ga³ki ocznej i nie skupiaj¹cego siê na œledzeniu twarzy lub innych elementów obrazu. Istotne te by³o opracowanie rozwi¹zania nie wymagaj¹cego dodatkowego sprzêtu lub wysokiej jakoœci (drogich) kamer. W proponowanym rozwi¹zaniu ruch kursora oraz klikniêcia myszy s¹ odpowiedziami na rozkazy mimiczne. Za³o ono, i system ma rozpoznawaæ proste komendy ruchu kursora ( góra, dó³, lewo, prawo ) oraz naciœniêcia przycisków myszy. Rozpoznawanymi komendami by³yby obrazy zró nicowanych min u ytkownika komputera. Poniewa proponowany system mia³ w za³o eniach pracowaæ na tanim sprzêcie w ró nych warunkach oœwietleniowych i byæ niezale ny od ewentualnego poruszania siê u ytkownika, zdecydowano siê u yæ metody SIFT (Scale Invariant Features Transform), która wyró nia siê spe³nieniem wszystkich powy szych wymagañ oraz du ¹ niezawodnoœci¹. 3.2. Propozycja rozwi¹zania opartego o Scale Invariant Features Transform Metoda SIFT zaproponowana przez Dawida G. Lowe z University of British Columbia [2, 3] jest algorytmem detekcji i opisu charakterystycznych punktów obrazu. Punkty uzyskane za jego pomoc¹ charakteryzuj¹ siê odpornoœci¹ na obrót, zmianê skali, a tak e pewn¹ odpornoœci¹ na zmianê oœwietlenia. Metoda SIFT bazuje na stworzeniu piramidy obrazów o coraz mniejszej rozdzielczoœci. Obrazy tworz¹ce piramidê s¹ obrazami ró nicowymi. S¹ one uzyskiwane w wyniku odjêcia dwóch obrazów powsta³ych przez przefiltrowanie obrazu pocz¹tkowego filtrami Gaussa o ró nych parametrach σ. Na wstêpie dzia³ania algorytmu na obrazie wyszukiwane s¹ punkty charakterystyczne. Znajdowane s¹ one jako ekstrema w obrazach tworz¹cych piramidê. Nastêpnie w otoczeniach ekstremów wyznacza siê wartoœæ i kierunek gradientu dla ka dego punktu i tworzy siê histogram orientacji tych gradientów wzglêdem gradientu w punkcie charakterystycznym. Tak wyznaczony histogram staje siê deskryptorem cech. Porównuj¹c deskryptory na dwóch obrazach mo na znaleÿæ punkty wspólne tych obrazów. Posiadaj¹c obrazy wzorcowe min mo na stwierdziæ, czy wystêpuj¹ one na obrazie z kamery porównuj¹c deskryptory zawarte w obrazie z deskryptorami wzorców, wyszukuje siê wzorzec o najwiêkszej liczbie wspólnych punktów charakterystycznych. Je eli liczba punktów wspólnych nie przekracza zadanego progu, minê uznaje siê za neutraln¹ (brak dopasowania do jakiegokolwiek wzorca).
402 Piotr Pawlik, Daniel Iwaniec, Micha³ Iwaniec 4. Weryfikacja metody 4.1. Aplikacja testowa W celu weryfikacji przedstawionej metody, napisana zosta³a aplikacja do rozpoznawania i przetwarzania mimiki twarzy na ruchy kursora. Aplikacja pobiera obrazy z prostej kamery internetowej (typu QuickCam), który nastêpnie poddaje siê procesowi analizy za pomoc¹ algorytmu SIFT. Wyznaczone na obrazie punkty charakterystyczne porównuje siê z (uprzednio wprowadzonymi na etapie konfiguracji aplikacji) obrazami bazowymi przedstawiaj¹cymi miny (por. rys. 1) przypisane do odpowiednich ruchów kursora oraz do zdarzeñ klikniêcia lewym i prawym klawiszem myszy. Po stwierdzeniu wystarczaj¹cego podobieñstwa do jednego z obrazów bazowych nastêpuje przesuniêcie kursora lub wywo³anie zdarzenia klikniêcia. Rys. 1. Przyk³adowy wynik porównania obrazu z kamery (dó³) z szeœcioma wzorcami (góra) 4.2. Test metody Aby sprawdziæ poprawnoœæ metody, wykonano testy na 360 obrazach zawieraj¹cych miny. Ka dy kolejny obraz wczytywany z kamery by³ porównywany do szeœciu obrazów z minami bazowymi (rys. 1). Aby obraz zosta³ uznany za podobny do obrazu bazowego, liczba porównañ musia³a przekroczyæ zadany próg podobieñstwa (tzn. liczba punktów charakterystycznych wspólnych dla obu obrazów musia³a byæ wiêksza od zadanej wartoœci progowej). Wartoœæ tego progu wyznaczono doœwiadczalnie, co zosta³o zobrazowane na rysunku 2. Jest to procentowy wykres poprawnych i niepoprawnych rozpoznañ w zale noœci od przyjêtego progu podobieñstwa. Jasny wykres s³upkowy przedstawia procent obrazów o minie zgodnej z min¹
Analiza obrazu z kamery jako podstawa interfejsu cz³owiek niepe³nosprawny-komputer 403 bazow¹ (które zosta³y prawid³owo zakwalifikowane), a ciemny pokazuje, ile obrazów zosta³o zakwalifikowanych niew³aœciwe. Analiza wyników sugeruje u ycie progu podobieñstwa w okolicach 35%. Jak widaæ, dla progu 33% nie wyst¹pi³o adne b³êdne dopasowanie, a 87% obrazów z minami zgodnymi z obrazem bazowym zosta³o poprawnie rozpoznane. obrazy spe³niaj¹ce kryteria porównania 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 w³aœciwe niew³aœciwe próg [%] Rys. 2. Procentowy wykres odpowiedzi systemu w zale noœci od progu podobieñstwa 4.3. Test aplikacji W celu sprawdzenia dzia³ania aplikacji wykonano proste testy maj¹ce na celu sprawdzenie, jak skutecznie mo na poruszaæ kursorem i wywo³ywaæ klikniêcia przycisków myszy. Na ekranie narysowano szar¹ lini¹ figurê o kszta³cie przypominaj¹cym elipsê (por. rys. 3), a nastêpnie nawigowano kursorem wzd³u jej krawêdzi, wykonuj¹c klikniêcia na obszarach oznaczonych kó³kami. Ruch kursora obrazuj¹ czarne linie. Strza³kami zaznaczono miejsca, w których znajdowa³ siê kursor w chwili pozyskania pierwszego i ostatniego obrazu testowego. Liczby wokó³ elipsy s³u ¹ powi¹zaniu odcinków pokonywanych przez kursor z umieszczonymi poni ej wykresami. Na wykresach przedstawiono procentow¹ liczbê zgodnych punktów charakterystycznych obrazu z punktami ka dego z piêciu obrazów bazowych dla kolejnych obrazów z kamery. Przerywan¹ lini¹ na ka dym wykresie zaznaczono wartoœæ przyjêtego progu akceptacji (37%), a obszary zaciemnione powy ej tego progu akceptacji oznaczaj¹ rozpoznanie wzorca. Liczby nad wykresami odpowiadaj¹ liczbom reprezentuj¹cym odcinki pokonywane przez kursor. Wskazuj¹ one miejsca na wykresach, gdzie nastêpowa³o rozpoznanie danej komendy.
404 Piotr Pawlik, Daniel Iwaniec, Micha³ Iwaniec a) b) c) d) e) f) Rys. 3. Œledzenie elipsopodobnego wzorca (a). Wykresy rozpoznañ piêciu wzorców dla kolejnych 349 obrazów z kamery: b) góra; c) dó³; d) prawo; e) lewo; f) klikniêcie lewym przyciskiem myszy Objaœnienia w tekœcie
Analiza obrazu z kamery jako podstawa interfejsu cz³owiek niepe³nosprawny-komputer 405 5. Podsumowanie Wyniki testów, zarówno samej metody, jak i aplikacji na niej opartej potwierdzaj¹, i mo liwe jest zastosowanie wzorców mimicznych jako ekwiwalentów komend wydawanych urz¹dzeniu wskazuj¹cemu komputera. Co wiêcej, proponowana metoda posiada zalety umo liwiaj¹ce nieuci¹ liwe stosowanie jej przez u ytkowników o znacznym stopniu niepe³nosprawnoœci ruchowej bez ponoszenia wysokich kosztów zakupu specjalizowanego sprzêtu. Dalsze prace powinny skupiæ siê na dalszym przyspieszeniu dzia³ania algorytmu poprzez próbê optymalizacji metody SIFT pod k¹tem tej konkretnej aplikacji. Literatura [1] Betke M., Gips J., Fleming P.: The Camera Mouse: Visual Tracking of Body Features to Provide Computer Access For People with Severe Disabilities. IEEE Transaction on Rehabilitation Engineering, 10, 1, 2002, 1 10 [2] Lowe D.G.: Object recognition from local scale-invariant features. International Conference on Computer Vision, 1999, 1150 1157 [3] Lowe D.G.: Distinctive image features from scale-invariant keypoints. International Journal of Computer Vision, 60, 2, 2004, 91 110 [4] Rasmusson D., Chappell R., Trego M.: Quick Glance: Eye-Tracking Access To The Windows95 Operating Environment. Technology And Persons With Disabilities Conference, 1999 [5] http://www.cameramouse.com [6] http://www.eyetechds.com
406 Piotr Pawlik, Daniel Iwaniec, Micha³ Iwaniec