Detekcja twarzy w obrazach cyfrowych

1 Detekcja twarzy w obrazach cyfrowychz wykorzystaniem al...
Author: Friderich Olszówka
0 downloads 0 Views

1 Detekcja twarzy w obrazach cyfrowychz wykorzystaniem algorytmów heurystycznych Piotr Latusek

2 PLAN • Detekcja twarzy i problemy pokrewne • Wyzwania • Heurystyka, kategorie heurystyk • Wybrane podejście • Filtry • Łączenie wyników

3 DETEKCJA TWARZY I PROBLEMY POKREWNE• Detekcja twarzy: „ Na postawie zdjęcia ustalić czy znajdują się na nim twarze, a jeśli tak to w którym miejscu i jaki jest ich rozmiar” • Lokalizacja twarzy • Rozpoznawanie twarzy

4 WYZWANIA I PROBLEMY • Przysłanianie • Poza twarzy • Mina• Warunki środowiskowe • Obecność lub brak elementów strukturalnych • Kąt

5 HEURYSTYKA „Heurystyka - w informatyce metoda znajdowania rozwiązań, dla której nie ma gwarancji znalezienia rozwiązania optymalnego, a często nawet prawidłowego.” „Rozwiązań tych używa się np. wtedy, gdy pełny algorytm jest z przyczyn technicznych zbyt kosztowny, lub gdy jest nieznany.”

6 KATEGORIE HEURYSTYK • Metody oparte na ogólnej wiedzy • Metody zakładające niezmienność cech • Metody dopasowujące do wzorców • Metody dopasowujące do modelu Do 2002 roku powstało ponad 150 różnych metod detekcji twarzy. M. H. Yang, D. J. Kriegman, N. Ahuja, „Detecting Faces in Images”.

7 WYBRANE PODEJŚCIE H. A. Rowley, S. Baluja, T. Kanade, „Neural Network-Based Face Detection”.

8 WYBRANE PODEJŚCIE • Skalowanie • Maska 20 x 20 pikseli • Przetwarzanie wstępne: - eliminacja wariancji oświetlenia, - wyrównywanie histogramu • Właściwy filtr • Łączenie wyników H. A. Rowley, S. Baluja, T. Kanade, „Neural Network-Based Face Detection”.

9 WYBRANE PODEJŚCIE • Skalowanie gwarantuje wykrycie twarzy niezależnie od jej wielkości - co z rotacją? • Przetwarzanie wstępne ujednolica obraz na wejściu filtrów – m.in. niweluje wpływ różnic w oświetleniu • Możliwość jednoczesnego zastosowania wielu filtrów

10 WYBRANE PODEJŚCIE Dla obrazu o rozmiarach 3072 x 2304 (ok. 7 Mpix) właściwy filtr musi być zastosowany do ramek 20 x 20 pix.

11 FILTRY • Sieci neuronowe • Najbliższy sąsiad - Linear discriminant analysis, Fisherfaces - Samoorganizujące się mapy Kohonena (SOM)

12 FILTRY - SIECI NEURONOWE• Perceptron - kilka zm. wejściowych i jedna zm. wyjściowa - jak dobrać wagi W? - jak dobrać funkcję f? • Organizacja perceptronów w sieć - ile warstw?

13 FILTRY - SIECI NEURONOWE• Sieć neuronowa jest modelem • Parametrami modelu są wagi perceptronów • Dopasowujemy obraz wejściowy do modelu

14 FILTRY - NAJBLIŻSZY SĄSIAD• Baza wzorców zawierająca obrazy twarzy i innych obiektów nie będących twarzami • Dopasowujemy obraz wejściowy do wzorców (tzn. znajdujemy w bazie obraz najbardziej podobny do wejściowego i sprawdzamy czy jest oznaczony jako twarz czy nie-twarz)

15 FILTRY - NAJBLIŻSZY SĄSIAD• Jak mierzyć podobieństwo? Najprościej: suma kwadratów różnic między pikselami mało skuteczne  • Standardowo obraz 20 x 20 jest reprezentowany jako punkt w przestrzeni 400 wymiarowej • Ten sposób reprezentacji powoduje niską skuteczność

16 FILTRY - NAJBLIŻSZY SĄSIADJak zwiększyć skuteczność? • znaleźć lepszą reprezentację obrazu np. redukcja wymiarów przy użyciu Analizy Liniowych Wyróżników (Linear Discriminant Analysis)

17 FILTRY - NAJBLIŻSZY SĄSIAD• Nowe wymiary są liniową kombinacją starych • Analiza Liniowych Wyróżników automatycznie dobiera wymiary, które pozwalają najłatwiej rozróżnić twarz od nie-twarzy • Zbędne informacje są usuwane • Przykład twarzy zrzutowanej na nowe wymiary, a następnie z powrotem do pierwotnej postaci: • Twarze w nowej reprezentacji nazywają się Fisherfaces

18 FILTRY - NAJBLIŻSZY SĄSIAD• Aby ograniczyć ilość twarzy w bazie można zastosować Samoorganizujące się mapy Kohonena (SOM) • SOM znajduje reprezentantów grup spośród wielu obrazów Reprezentacyjne obrazy znalezione przy użyciu SOM:

19 ŁĄCZENIE WYNIKÓW • W wyniku dotychczasowych działań otrzymujemy wiele potencjalnych miejsc zawierających twarz • Czas odsiać błędne wyniki i scalić pozostałe

20 ŁĄCZENIE WYNIKÓW • Progowanie – usuwanie pojedynczych wystąpień • Łączenie sąsiadujących wystąpień w jedno - uśrednianie lokalizacji i skali • Eliminacja nakładających się wystąpień - decyduje ilość

21 ŁĄCZENIE WYNIKÓW • Scaliliśmy wyniki pojedynczego filtra, pozostało scalenie wyników wszystkich filtrów • Możemy mieć kilka różnych sieci neuronowych i kilka innych filtrów co pozwala zredukować liczbę błędnych wskazań • Najprostsze scalanie w tym wypadku to AND lub OR • Można też użyć sieci neuronowej

22 ŁĄCZENIE WYNIKÓW

23 DZIĘKUJĘ ZA UWAGĘ. Pytania?