Prezentacja2_praca_mgr 730KB Apr 24 2008 01:38:53 AM
Transkrypt
Prezentacja2_praca_mgr 730KB Apr 24 2008 01:38:53 AM
Interpretacja gestów dłoni w sekwencji obrazów cyfrowych autor: Karol Czapnik opiekun: prof. dr hab. Włodzimierz Kasprzak Plan prezentacji Cel pracy magisterskiej Zastosowanie pracy Założenia projektowe Podstawowe problemy i ograniczenia Ogólny opis funkcji systemu Przegląd metod i algorytmów Przedstawienie własnych rozwiązań Zaplanowane zadania Środowisko programistyczne 2/20 Cel pracy magisterskiej Aplikacja przeznaczona do śledzenia dłoni w sekwencji obrazów i interpretowania gestów dawanych ręką: wykrywanie układu dłoni na statycznych obrazach cyfrowych interpretacja gestu śledzenie dłoni, czyli wyznaczenie trajektorii jej ruchu stworzenie kilkuetapowego sytemu wizyjnego do rozpoznawania gestów języka migowego w warunkach naturalnych interpretacja znaków Polskiego Alfabetu Palcowego (PAP) oraz gestów z Polskiego Języka Miganego (PJM) 3/20 Zastosowania pracy komunikacja między człowiekiem a komputerem – sterowanie różnymi urządzeniami gospodarstwa domowego (RTV/AGD) wydawanie poleceń maszynom (np. w fabryce lub w środowisku uniemożliwiającym komunikację dźwiękową) stworzenie systemów nadążnych stosowanych do manipulacji zdalnych maszyn czy robotów ułatwianie pracy oraz kontaktu z otoczeniem osobom niepełnosprawnym i w podeszłym wieku automatyczne tłumaczenie gestów języka migowego na język mówiony lub pisany (np. w urzędach, w pracy) 4/20 Język migowy język naturalny i podstawowe narzędzie komunikacji dla osób głuchoniemych Polski Alfabet Palcowy (PAP) i Polski Język Migany (PJM) oparty na gramatyce języka polskiego gesty statyczne i dynamiczne odpowiadają jednoznacznie znakom ideograficznym (wyrażenia i słowa) oraz znakom daktylograficznym (litery, liczby) niektóre znaki dynamiczne są ruchomą wersją swoich odpowiedników statycznych, np. Ń jest ruchomą wersją znaku N Zestaw znaków PAP 5/20 Założenia projektowe rozpoznawanie poszczególnych znaków PAP ze szczególnym uwzględnieniem gestów dynamicznych rozpoznawanie sekwencji obrazów z kamery cyfrowej testowanie w warunkach naturalnych (dowolne tło i oświetlenie) niezbyt szybkie i starannie wykonywane gesty poszukiwanie dłoni jako obiektu pierwszoplanowego widoczna cała dłoń, niezasłonięta detekcja swobodnie rozmieszczonej dłoni na obrazie kolorowym określenie wzajemnego położenia części anatomicznych dłoni 6/20 Podstawowe problemy i ograniczenia akwizycja obrazów (rozdzielczość, jasność, dynamizm) szybkość rejestrowania, przetwarzania i rozpoznawania gestów wyodrębnienie dłoni z dowolnego tła rozróżnienie znaków statycznych i dynamicznych ograniczenie związane z ruchem, czyli ze znakami dynamicznymi: śledzenie dłoni (cały czas kontakt z obiektem) deformacje dłoni (nie uwzględnianie stanów pośrednich) określenie kształtu trajektorii zakreślanej przez dłoń właściwa interpretacja gestu (stworzenie odpow. wektora cech) poprawna klasyfikacja układów dłoni (gestów) 7/20 Ogólny opis funkcji systemu (1) akwizycja obrazów – pozyskiwanie obrazów cyfrowych segmentacja – wydzielenie dłoni na obrazie kolorowym, czyli uzyskanie obrazu binarnego ewentualna poprawa jakości powstałego obrazu wykrywanie konturów dłoni (określenie położenia, kształtu, układu i orientacji dłoni oraz widocznych palców) modelowanie dłoni – stworzenie wektora cech (baza wiedzy) interpretacja i klasyfikacja gestu porównanie układu dłoni z modelami w bazie wiedzy rozróżnienie gestu dynamicznego od statycznego śledzenie dłoni – wyznaczenie trajektorii ruchu dłoni 8/20 Ogólny opis funkcji systemu (2) Analiza barw (segmentacja) Wykrywanie konturów dłoni (znalezienie konturów dłoni i detekcja obwiedni śródręcza) Modelowanie dłoni (wektor cech) Interpretacja i klasyfikacja gestu Piotr Skrzyński „Wykrywanie i interpretacja układu dłoni na obrazie” IAiIS Warszawa 2005 9/20 Przegląd metod i algorytmów (1) Rozpoznawanie pojedynczych znaków PAP Segmentacja (uzyskanie obrazu binarnego): • MBS – metoda oparta na modelu barwy skóry ludzkiej w przestrzeni barw znormalizowanych RGB • MKR – obraz konturowy i wypełnienie konturu • MSN – model oparty na sieci neuronowej • Wnioski: wrażliwość na warunki oświetlenia i jednorodność tła Joanna Marnik „Rozpoznawanie znaków Polskiego Alfabetu Palcowego”, 2003 10/20 Przegląd metod i algorytmów (2) Modelowanie (tworzenie wektora cech): • morfologiczne przekształcenie „trafi – nie trafi” (oparte na elementach strukturalnych – wzorcach) • wektor cech: powierzchnia, kąt nachylenia, odległość od środka ciężkości dłoni Klasyfikacja: • ostateczne rozpoznanie znaku PAP za pomocą sieci neuronowej Rozpoznanie trajektorii ruchu dłoni: • śledzenie ruchu wybranego punktu dłoni w kolejnych klatkach Wyniki: • prosta metoda, ale wolna (5 klatek/s) • duża skuteczność rozpoznawania (ok. 90%) Joanna Marnik „Rozpoznawanie znaków Polskiego Alfabetu Palcowego”, 2003 11/20 Przegląd metod i algorytmów (3) Rozpoznawanie wyrazów i całych zdań PJM (gesty dynamiczne wykonywane dwoma rękami) Segmentacja: • MBS – model barwy skóry ludzkiej Modelowanie (tworzenie wektora cech): • identyfikacja pozycji dwóch dłoni i twarzy na obrazie • analiza pola powierzchni obiektów, ich pozycji oraz zakresu ruchu • wektor cech: środek ciężkości i powierzchnia obiektów, kształt, orientacja i położenie dłoni oraz korelacje między nimi Klasyfikacja: • statystyczne przewidywanie następnego ruchu oparte na ukrytych modelach Markowa (HMM) poprzez funkcje gęstości prawdopodobieństw kolejnych stanów Tomasz Kapuściński „Rozpoznawanie polskiego języka miganego w systemie wizyjnym”, 2006 12/20 Przegląd metod i algorytmów (4) Rozpoznawanie pojedynczych umownych znaków (podobne do PAP) Segmentacja: analiza barw obrazu na podstawie wykrywania koloru skóry w przestrzeni barw YCbCr lub YCgCr Modelowanie (tworzenie wektora cech): • metoda „aktywnych konturów” • automatyczne „zliczanie” widocznych palców • wektor cech: ilość widocznych wyprostowanych palców, widoczność kciuka, wymiary dłoni i śródręcza, kąt pod jakim widoczna jest dłoń, odległości punktów dwóch konturów względem środka masy dłoni Klasyfikacja: proces interpretacji układu dłoni na podstawie kombinacji wartości tych wszystkich cech Piotr Skrzyński „Wykrywanie i interpretacja układu dłoni na obrazie” IAiIS Warszawa 2005 13/20 Metoda aktywnych konturów (1) Cechy charakterystyczne: zbiór uszeregowanych punktów opisujących kontur, na który oddziałują różne siły dążące do zminimalizowania swojej energii Siły: • zewnętrzne (związane z własnościami obiektu) • wewnętrzne (zachowanie ciągłości i gładkości krzywej) • wspólnie działają prowadząc do dopasowania się krzywej do krawędzi poszukiwanego obiektu wprowadzenie zewnętrznych sil gradientowych (GVF) tradycyjna postać energii obrazu pozostawia dużą odległość od wklęsłości U-kształtnych obiektów (słaba zbieżność konturu) 14/20 Metoda aktywnych konturów (2) Zalety: bardzo dobre wyniki rozpoznawanie gestów wykorzystanie GVF – duża dokładność i efektywność (nawet w warunkach naturalnych – niekoniecznie jednolite tło) Wady: procesy kosztowne obliczeniowo: • zastosowanie GVF (duża liczba iteracji) • iteracyjny proces przemieszczania punktów kontrolnych • proces interpolacji punktów kontrolnych zastosowanie obliczeń GVF nie nadaje się do rozpoznawania gestów dynamicznych 15/20 Modyfikacje metody Wprowadzone modyfikacje: zmniejszenie liczby iteracji obliczeń GVF (tylko do 1): • brak prawidłowego odzwierciedlania U-kształtów nie przeszkadza w poprawnym określeniu ilości palców (krawędź konturu niedokładnie odzwierciedla krawędź poszukiwanego obiektu) • nadal uzyskanie poprawnego rozpoznawania znaków 240 iteracji obliczeń GVF 1 iteracja obliczeń GVF zmniejszenie liczby iteracji rozmieszczania punktów kontrolnych: • mały wpływa na wygląd zewnętrznego konturu zastosowanie metody „aktywnych konturów” do rozpoznawania gestów dynamicznych bez obliczeń GVF 16/20 Proponowane rozwiązania przygotowanie dokładnej segmentacji obrazu (redukcja szumów) wyznaczanie krawędzi obiektu bez korzystania z „aktywnych konturów”, wykorzystanie filtru Sobela (do wykrywania krawędzi) i zastosowanie tylko kilku punktów kontrolnych wyznaczanie środka ciężkości i środka geometrycznego dłoni wyznaczanie prostej łączącej środek ciężkości z punktami kontrolnymi zastosowanie niezmienników momentowych wektor cech: długość, kierunek i kąt nachylenia tej prostej, niezmienniki momentowe oraz ilość widocznych palców śledzenie środka ciężkości do ogólnego wyznaczenia kierunek ruchu śledzenie dłoni z wykorzystaniem ukrytych modeli Markowa (HMM) 17/20 Zaplanowane zadania pobieranie obrazu z kamery cyfrowej oraz segmentacja i analiza poszczególnych klatek poprawianie skuteczności, wydajności i szybkości wykrywania konturów zastosowanie niezmienników momentowych śledzenie ruchu ręki według przemieszczającego się punktu środka ciężkości lub środka geometrycznego śledzenie dłoni z wykorzystaniem HMM rozpoznawanie kierunków ruchu ręki (lewo-prawo, góra-dół) tło jednolite albo tło bez elementów o barwie skóry wykorzystanie aktywnych konturów do rozpoznawania PAP na dowolnym tle 18/20 Środowisko programistyczne stworzenie własnej obsługi kamery cyfrowej (internetowej) zastosowanie języka Java z wykorzystaniem dwóch bibliotek: JAI – Java Advanced Imaging (zaawansowana obsługa obrazów cyfrowych) JMF – Java Media Framework (pakiet do przetwarzania obrazów oraz strumieni danych, np. przechwytywanie obrazu z kamery cyfrowej) zastosowanie języka C++ z biblioteką Video for Windows (Windows API) – możliwość implementowania najważniejszych operacji związanych z obrazami statycznymi i dynamicznymi możliwość wykorzystania biblioteki OpenCV 19/20 Dziękuję za uwagę