Detekcja twarzy w obrazie Metoda na kanałach RGB 1. Należy utworzyć nowy obrazek o wymiarach analizowanego obrazka. 2. Dla każdego piksela oryginalnego obrazka pobiera się informację o wartości kanałów R, G, B 3. Od kanału R należy odjąć wartość kanału G; jeśli uzyskany wynik jest ujemny, do nowego obrazka, w miejscu analizowanego piksela, wstawić wartość 0 do wszystkich kanałów kolorów (w przypadku uzyskania wartości należy wstawić wynik do wszystkich kanałów w miejscu analizowanego piksela). 4. Uzyskany obraz w odcieniach szarości, należy zbinaryzować; w takim obrazie kolor biały będzie odpowiadał miejscom zlokalizowania skóry. Rysunek 1 a) Obraz wejściowy, b) obraz R-G, c)obraz zbinaryzowany Metoda na kanałach HSV 1. Podobnie jak w metodzie RGB, należy utworzyć nowy obrazek o wymiarach analizowanego obrazka. 2. Konwersja składowej RGB na HSV:
3. Należy sprawdzić czy H, S i V zawierają się w zadanych przedziałach: H < 50 0,22 < S < 0,69 0,4 < V a. TAK: do nowego obrazka, w miejscu odpowiadającym analizowanemu pikselowi, podstawia się kolor biały. b. NIE: do nowego obrazka, w miejscu odpowiadającym analizowanemu pikselowi, podstawia się kolor czarny Rysunek 2 a) obraz wejściowy, b) obraz po wykonaniu operacji tylko dla S i V, c) obraz po wykonaniu operacji dla H, S i V. Metoda mieszana Połączenie obu przedstawionych metod pozwala na redukcję (częściową) liczby artefaktów: 1. Należy utworzyć nowy obrazek o wymiarach analizowanego obrazka. 2. Następnym krokiem jest porównanie ze sobą piksel po pikselu rezultatów uzyskanych oboma metodami: a. TAKIE SAME: do nowego obrazka, w miejscu analizowanego piksela, podstawia się zgodną wartość. b. RÓŻNE: do nowego obrazka, w miejscu odpowiadającym analizowanego piksela, podstawia się kolor czarny.
Rysunek 3 Wyżej od lewej: obraz RGB zbinaryzowany, obraz po wykonaniu operacji tylko dla S i V. IZOLOWANIE TWARZY W OBRAZIE 1. Przeprowadzić kilkukrotną erozję i dylatację w celu usunięcia drobnych artefaktów. Rysunek 4 Wynik przeprowadzenia operacji i dylatacji na wejściowym, zbinaryzowanym obrazie. 2. Dla pozostałych białych regionów sprawdzić czy stosunek ich wysokości i szerokości jest zbliżony do złotej proporcji (1,6). a. NIE: Obszary nie spełniające tej proporcji powinny zostać usunięte. b. TAK: Wybrać największy, piksele pozostałych regionów zamienić na czarne. Z wnętrza największego obszaru usunąć czarne piksele. 3. Uzyskaną maskę należy nałożyć na obraz oryginalny w taki sposób, by zachować tylko piksele odpowiadające białym pikselom maski.
Rysunek 5 a) obraz oryginalny, b) maska, c) obraz wycięty z oryginalnego maską. IZOLOWANIE ELEMENTÓW TWARZY 1. Uzyskany wycinek twarzy zamienia się na odcienie szarości. 2. Na uzyskany obraz w odcieniach szarości zakłada się filtr Sobela. 3. Uzyskany obraz konwertuje się na negatyw, który następnie się binaryzuje. 4. Maskę, którą wycinana była twarz, poddaje się kilkukrotnej dylatacji; nałożona na zbinaryzowany obszar pozwoli usunąć krawędzie obszaru 5. Należy utworzyć histogram czarnych pikseli z wierszy tak uzyskanego obrazka. 6. Na histogramie znaleźć obszary o największych wartościach (oczy, usta) i sprawdzić ich wzajemnie położenie: a. OBSZARY BLISKO POŁOŻONE NA GÓRZE: jeden ze zlokalizowanych obszarów stanowi brwi, obszar z trzecią największą wartością stanowią usta. b. OBSZAR O NAJWIĘKSZEJ WARTOŚCI MIĘDZY USTAMI A OCZAMI: nos Rysunek 6 Od lewej: obraz po wydobyciu twarzy, obraz w odcieniach szarości, obraz po filtracji Sobela.
Rysunek 7 od lewej: negatyw filtra Sobela, zbinaryzowany negatyw, oryginalna maska Rysunek 8Od lewej: maska po dylatacji, obraz po nałożeniu nowej maski, histogram pionowy.