Extrakce obrazových příznaků Ing. Aleš Láník, Ing. Jiří Zuzaňák Ústav počítačové grafiky a multimédíı Fakulta informačních technologíı Vysoké Učení technické v Brně Extrakce obrazových příznaků 1 / 39
Obsah Extrakce informací z obrazu Globální informace o scéně Lokální informace o segmentech obrazu Použití obrazových příznaků statistické rozpoznávání (klasifikátory) detekce význačných bodů (rohy, hrany, SIFTy, SURFy) rozpoznávání struktury (texturní příznaky) Extrakce obrazových příznaků 2 / 39
Obrazové příznaky Příznaky Texturní příznaky Barvený histogram LBP,LRD,LRP Detektory rohů a hran Výkonové spektrum Haarovy příznaky Kookurence Haarlickovy příznaky Gaborovy příznaky Extrakce obrazových příznaků 3 / 39
Obrazové příznaky - motivace Použití Průmysl Kontrola velikosti, tvaru,... výrobků Detekce chyb ve výrobcích Bezpečnost Automatická kontrola chování lidí ve veřejných prostorech Autentizace osob Identifikace osob Detekce nebezpečných situací Doprava Kontrola silničního provozu (porušení max. rychlosti, jízda na červenou) Informace o plynulosti silničního provozu Hledání vozidel (identifikace SPZ) A spousta dalších... Extrakce obrazových příznaků 4 / 39
Obrazove pr ı znaky - motivace http://pcl210-01.fit.vutbr.cz/facedetector Extrakce obrazovy ch pr ı znaku 5 / 39
Texturní příznaky Extrakce obrazových příznaků 6 / 39
Textury v přírodě Ochranné zbarvení (Mimikry) Odhad povrchu terénu v závislosti na deformaci textury Extrakce obrazových příznaků 7 / 39
Texturní příznaky - motivace Segmentace obrazu Jednotlivé regiony obrazu mají konstantní texturu Segmentace obrazu pomocí klasifikace textur Příklad segmentace Extrakce obrazových příznaků 8 / 39
Texturní příznaky - motivace Kontrola jakosti potravin Povrchové vady dřevěných desek Defekty textilíı Kvalita papíru Detekce granátů v továrně na marmeládu Extrakce obrazových příznaků 9 / 39
Jak získat příznaky z textury? Histogram Morfologie - měření zrnitosti Výkonové spektrum Autokorelační funkce Globální statistické vlastnosti textury Haralickovy texturní příznaky (Kookurenční matice) Lokální vlastnosti Konvoluce Gáborovská analýza Extrakce obrazových příznaků 10 / 39
Local Binary Patterns - LBP Princip LBP (P = 4, R = 1.0) (P = 8, R = 2.0) (P = 12, R = 2.0) (P = 16, R = 3.0) (P = 24, R = 4.0) Příklad vyhodnocení Vzorky Prahování Váhy 6 5 2 1 0 0 1 2 4 7 6 1 1 0 128 8 9 8 7 1 1 1 64 32 16 Pattern = 11110001 LBP = 1 + 16 + 32 + 64 + 128 = 241 Extrakce obrazových příznaků 11 / 39
Local Binary Patterns - LBP Výpočet binárního vzoru P 1 LBP P,R = s(g p g c )2 P s(x) = p=0 { 1, x 0 0, x < 0 g c - grayscale hodnota pixelu ve středu g p - grayscale hodnota pixelu na pozici p ve vzoru Detekovaná primitiva Špička Špička/Plocha Konec čáry Hrana Roh Extrakce obrazových příznaků 12 / 39
Zajištění rotační invariance binárních vzorů Příklad: (15) (15) (30) (60) (120) (240) (225) (195) (135) Bitová rotace vzoru vpravo LBP ri p,r = min{rot(lbp P,R, i) i = 0, 1,..., P 1} Příklad: 11000011 00001111 (195 15) Extrakce obrazových příznaků 13 / 39
LBP - příznaky Texturním příznakem není hodnota LBP jednotlivých pixelů a jejich okoĺı, ale histogram všech hodnot Klasifikace - porovnání histogramu textury s histogramy známých textur Extrakce obrazových příznaků 14 / 39
LBP - shrnutí Rychlý výpočet, snadná realizace v HW Invariantní vůči změnám intenzity pixelů v obraze Rotačně invariantní Praktické aplikace Segmentace obrazu Detekce obličeje Detekce pohybu... Extrakce obrazových příznaků 15 / 39
LRD Local Rank Differences Obraz se projíždí oknem po daných usecích Okno je rozděleno na 3x3 oblasti, v každé oblasti se provede součet hodnot Z těchto 9 oblastí jsou vybrány 2 a je určeno jejich pořadí v rámci okna Rozdíl těchto pořadí je indexem do jednorozměrné tabulky rank(2) rank(6) rank(v, V ) = { 1, v i < V 0, v i V Extrakce obrazových příznaků 16 / 39
LRP Local Rank Patterns Analogický postup jako u LRD, s tím rozdílem, že ranky se použijí jako indexy do 2-rozměrné tabulky Prostorově náročnější než LRD, výsledek je ale kvalitnejší rank(2) rank(6) Extrakce obrazových příznaků 17 / 39
Haarovy příznaky Extrahují informace o lokální frekvenci Existuje velký počet těchto bází (180 000 v 24x24) haar(ker) = A B C W B D E F w ker W w b ker B b Extrakce obrazových příznaků 18 / 39
Haarovy příznaky - integrální obraz optimalizace výpočtu hodnot nad regionem hodnota pixelu integrálního obrazu je dána součtem hodnot všech pixelů v oblasti, kde je daný bod pravým dolním rohem sat(x, y) = i(x, y ) x <=x;y <=y A B C D Součet hodnot nad jakoukoliv oblastí se pak provede sat(a x, A y ) + sat(c x, C y ) sat(b x, B y ) sat(d x, D y ) haar(ker) = (A B D + E) (B C E + F ) haar(ker) = A + 2E 2B D + C F Extrakce obrazových příznaků 19 / 39
Haarovy příznaky modifikace Zobecněné harrovky Více úrovní hodnot Oblasti na sebe nemusí navazovat Volba filtrů složitá (využívá se různých genetických algoritmů). 3D haarovky Třetí dimenzí čas Lépe postihuje pohybující se objekty např. chodce Také složitá volba filtrů Extrakce obrazových příznaků 20 / 39
Histogram Histogram patří k základním příznakům Dá se dělat nad mnoha různými vstupy např. Barevný histogram. Barevné modely Grayscale, RG, HSV,.... Ne RGB - silná korelace jednotlivých složek Histogram LBP příznaků (viz. dále) Histogramy gradientů Histogram kookurence atd... Co s histogramem? na histogram se nafituje např. gaussovka 2 histogramy se porovnají přímo pomocí vhodné metriky.χ 2 (chi-kvadrád) nx χ 2 (O i E i ) 2 = i=1 O i - testovaný histogram E i - očekávaný, vzorový histogram E i Extrakce obrazových příznaků 21 / 39
Histogram Histogramy ukázkových textur Pixel count 1600 1400 1200 1000 800 600 grass 0 grass 1 stone 0 stone 1 textil 0 textil 1 wall 0 wall 1 wall 2 400 200 Histogram lidské kůže 0 0 50 100 150 200 250 Values Extrakce obrazových příznaků 22 / 39
Morfologie - měření zrnitosti Morfologické operace Dilatace, Eroze, Otevření (Eroze a Dilatace), Uzavření (Dilatace a Eroze) Obrázek: Originální obraz, dilatace, eroze, otevření, uzavření Černobílý obraz Aplikace operace otevření s různými velikostmi jader d d, kde d = 3, 5, 7,... Po každé operaci spočítáme množství pixelů v obraze Výsledná funkce C(d), která se nazývá spektrum vzorů (pattern spectrum) slouží jako vektor příznaků textury Extrakce obrazových příznaků 23 / 39
Morfologie - měření zrnitosti Šedý obraz Aplikace otevření, stejně jako u černobílého obrazu Výpočet hodnot funkce C(d, g), kde d je velikost aplikovaného jádra, g je hodnota šedi a výsledek funkce je počet pixelu nastavených na hodnotu g po aplikaci otevření s jádrem d d Výsledná funkce popisuje matici příznaků textury Extrakce obrazových příznaků 24 / 39
Morfologie - měření zrnitosti příklad Příklady, osa X intenzita barvy, osa Y velikost morfologického jádra Výsledné spektrum vzorů je zpracováno jako vektor příznaků zvolené klasifikační metody Extrakce obrazových příznaků 25 / 39
Energie spektra Energie spektra: P(I ) = F (I ) 2 Extrakce obrazových příznaků 26 / 39
Příznaky z energie spektra Popis charakteristických frekvencí a směrovosti textury v jejím spektru Získání radiálních a úhlových příznaků ze spektra, pomocí výpočtu průměrné hodnoty v určitých oblastech v v u u Radiální příznaky V praxi se moc často nepoužívá Úhlové příznaky Extrakce obrazových příznaků 27 / 39
Autokorelační funkce Autokorelační funkce: P = F 1 ( F (I ) 2 ) Kvalitní popis velikosti primitiv a periodicity textury Extrakce obrazových příznaků 28 / 39
Kookurenční matice Histogram kookurence Jak často se v textuře vyskytuje stejná konfigurace pixelů Statistika 2. řádu Metodu lze zobecnit pro použití na silné textury Rozdělení přístupů: Směrové kookurenční matice - určené vektorem (p, q) Rotačně invariantní - určené poloměrem r Extrakce obrazových příznaků 29 / 39
Kookurenční matice Směrové kookurenční matice - určené vektorem (p, q) Jak často se v textuře vyskytuje stejná konfigurace pixelů, vzdálená o vektor (p, q) I = 1 1 0 0 1 0 2 1 0 0 2 2 2 0 2 2 2 C (0,1) (I ) = 4 2 2 0 1 1 0 2 1 3 3 2 5 C (1,0) (I ) = 4 2 2 1 0 1 1 3 0 2 3 5 Rotačně invariantní kookurenční matice - dané poloměrem r Jak často se v textuře vyskytuje stejná konfigurace pixelů vzdálená od sebe právě r pixelů v libovolném směru Jádro pro r = 2-2 C r=1 (I ) = 4 4 4 1 1 2 1 5 1 5 3 2 5 C r=2 (I ) = 4 1 6 0 1 1 0 10 6 3 3 5 Extrakce obrazových příznaků 30 / 39
Kookurenční matice - příklad Směrové - posun o vektor (5, 0) Extrakce obrazových příznaků 31 / 39
Kookurenční matice - příklad Rotačně invariantní poloměr r = 5 Extrakce obrazových příznaků 32 / 39
Haralickovy texturní příznaky Energie H 1 = X i,j C 2 (i, j) Entropie H 2 = X i,j C(i, j)log 2 C(i, j) Kontrast H 3 = X i,j i j C(i, j) Homogenita Korelace H 4 = X i,j H 5 = C(i, j) 1 + i j cov(i, j C) std(i C)std(j C) Extrakce obrazových příznaků 33 / 39
Lokální momenty - Konvoluce M pq = rx i= r j= r rx i p j q I (i, j) Realizace konvolučními maskami, nebo gáborovskou analýzou 2 1 1 1 3 2 1 1 1 3 M 0,0 = 4 1 1 1 5 M 1,0 = 4 0 0 0 5 1 1 1 1 1 1 2 M 0,1 = 4 2 M 1,1 = 4 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 3 2 5 M 2,0 = 4 3 2 5 M 0,2 = 4 1 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 0 1 3 5 3 5 Extrakce obrazových příznaků 34 / 39
Lokální momenty - Konvoluce příklad Originál M 0,1 M 1,0 Originál M 1,1 M 0,0 Extrakce obrazových příznaků 35 / 39
Lokální momenty - Gáborovská analýza Obraz je filtrován bankou filtrů, které jsou popsány Gáborovskou funkcí ( 1 f (x, y) = exp 1 ( x 2 + y 2 )) exp (2πjµ 0 x) 2πσ x σ y 2 σ x σ y,kde σ x a σ y určují Gausovskou obálku a µ 0 definuje radiální frekvenci Gáborovské funkce. Příklady jader vygenerovaných pomocí gáborovské funkce Gaussián - pouze měřítko Gáborovy vlnky - měřítko, orientace, prostorové frekvence Extrakce obrazových příznaků 36 / 39
Lokální momenty - příklad Gáborovské analýzy Originál Originál Extrakce obrazových příznaků 37 / 39
Závěr Zdroje Jiří Zuzaňák:POV přednáška 2008 Analýza a extrakce příznaků z textur Roman Juránek:POV přednáška 2008 Detekce objektů Michal Španěl: POV přednáška 2007 Radim Šára: Analýza textury Mihran Tuceryan a Anil K. Jain: Texture analysis Donxiao Zhou: Texture Analysis and Synthesis Výsledky po aplikaci některých algoritmů http://www.fit.vutbr.cz/~imlich/online/textures/ Extrakce obrazových příznaků 38 / 39