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ę

Podobne dokumenty