Extrakce obrazových příznaků Roman Juránek Ú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 / 30
Motivace Účelem extrakce příznaků je získání informace z obrazu. Je to nejnižší úroveň zpracování vstupu, která předchází komplexním úlohám. Kvalita příznaků velmi významně ovlivňuje výsledek zpracovávané úlohy. Detekce a rozpoznání vzorů v obraze Detekce obličeje a jeho částí, detekce aut, postav,... Obecné rozpoznávání objektů Segmentace obrazu a shlukování Aplikace bezpečnost, doprava, průmysl,... Dohledové systémy ve veřejných prostorách Dopravní kamery Biometrie Kontrola kvality výrobků Extrakce obrazových příznaků 2 / 30
Obrazové příznaky Vlastnosti příznaků: Globální/Lokální výpočet příznaku probíhá nad celým obrazem (např. Fourierova transformace) nebo jen nad lokální oblastí (průměr intenzity v oblasti). Dense/Sparse příznak se počítá pro každou pozici v obraze, nebo jen pro určité body Invariance Stálost příznaku s rotací, velikostí, zkreslením obrazu, změnou úhlu pohledu, změnou osvětlení,... Extrakce obrazových příznaků 3 / 30
Obrazové příznaky Konvoluční FFT, wavelety (Haar, Gabor), Hranové detektory Rankové LBP, LRP Texturní Harlickovy příznaky, zrnitost Histogramy Histogram gradientů, histogram orientací Význačné body Rohové detektory (Harris, Hessian) a deskriptory (SURF, SIFT) a další... Extrakce obrazových příznaků 4 / 30
Detekce hran Maxima první derivace obrazové funkce nebo zero-crossing druhé derivace obrazové funkce Aproximace konvolucí s různými jádry Sobel, Roberts, Prewitová, Kirch, Robinson Hybridní metody Canny Odstranění šumu Výpočet gradientu Ztenčení hran (pomocí nonmaximum suppression) Prahování s hysterezí Extrakce obrazových příznaků 5 / 30
Detekce hran Vztah první a druhé derivace k signálu Robertson 1 0 0 1 Sobel 0 Prewitt 5x5 @ «0 1 1 0 1 2 1 0 0 0 1 2 1 1 A «Extrakce obrazových příznaků 6 / 30
Lokální momenty rx rx M pq = i p j q I (i, j) i= r j= r Realizace konvolucí 2 M 0,0 = M 0,1 = M 1,1 = 2 2 4 1 1 1 1 1 1 1 1 1 4 1 0 1 1 0 1 1 0 1 4 0 0 0 1 0 1 1 0 1 3 2 5 M 1,0 = 4 3 5 M 2,0 = 3 5 M 0,2 = 1 1 1 0 0 0 1 1 1 2 4 1 1 1 0 0 0 1 1 1 2 4 1 0 1 1 0 1 1 0 1 3 5 3 5 3 5 Extrakce obrazových příznaků 7 / 30
Lokální momenty - příklad Originál M 0,1 M 1,0 Originál M 1,1 M 0,0 Extrakce obrazových příznaků 8 / 30
Haarovy příznaky Konvouce s Haarovými vlnkami Extrahují informace o lokální frekvenci Existuje velký počet těchto bází (180 000 v 24 24px okně) Extrakce obrazových příznaků 9 / 30
Haarovy příznaky - integrální obraz optimalizace výpočtu hodnot nad regionem výpočet odezev konstantním čase nezávisle na velikosti. hodnota pixelu integrálního obrazu I je dána součtem hodnot všech pixelů v vlevo a nahoru od něj. X I (x, y) = i(x, y ) x <=x;y <=y A B C D Součet hodnot v libovolné oblasti: S = A B C + D Výpočet odezvy příznaku: A B C W B D E F f (X ) = (A B D + E) (B C E + F ) = A + 2E 2B D + C F Extrakce obrazových příznaků 10 / 30
Haarovy příznaky modifikace Zobecněné příznaky Různé váhy oblastí Oblasti na sebe nemusí navazovat Spatio-temporal wavelets Vlnky roztáhlé v čase Lépe postihuje pohybující se objekty např. chodce Extrakce obrazových příznaků 11 / 30
Gaborovy vlnky Podobné jako Haarovy vlkny extrakce informace o lokální frekvenci Konvoluční jádro je dáno funkcí: g(x, y; λ, θ, ψ, σ, γ) = exp x «2 + γ 2 y 2 cos 2π x «2σ 2 λ + ψ kde x = x cos θ + y sin θ a y = x sin θ + y cos θ. Sinus násobený gaussovou funkcí Příklady jader: Extrakce obrazových příznaků 12 / 30
Gaborovy vlnky Originál Originál Extrakce obrazových příznaků 13 / 30
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 LBP = 11110001 = 241 Extrakce obrazových příznaků 14 / 30
Local Binary Patterns - LBP Výpočet binárního vzoru Detekovaná primitiva P 1 X LBP P,R = s(g p g c)2 P s(x) = p=0 j 1, x 0 0, x 0 g c - grayscale hodnota pixelu ve středu g p - grayscale hodnota pixelu na pozici p ve vzoru Špička Špička/Plocha Konec čáry Hrana Roh Extrakce obrazových příznaků 15 / 30
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ů 16 / 30
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ů 17 / 30
LRD Local Rank Differences Z obrazu je extrahována množina vzorků V (pixely, odezvy na konvoluci) Parametr příznaku jsou indexy dvou vzorků a, b Odezva příznaků je: LRD = rank(v a, V ) rank(v b, V ) Typicky jsou vzorky konvoluce s obdelníkovým jádrem v pravidelné 3 3 mřížce. rank(2) rank(6) rank(u, V ) = X ( 1, v i < u 0, v i u Zobecnění LRP Ranky se interpretují jako 2D vektor. Extrakce obrazových příznaků 18 / 30
Výkonové spektrum Výkonové spektrum: P(I ) = F (I ) 2 Extrakce obrazových příznaků 19 / 30
Příznaky z výkonového 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ů 20 / 30
Autokorelační funkce Autokorelační funkce: P = F 1 ( F (I ) 2 ) Kvalitní popis velikosti primitiv a periodicity textury Extrakce obrazových příznaků 21 / 30
Kookurenční matice Histogram kookurence Jak často se v textuře vyskytuje stejná konfigurace pixelů 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ů 22 / 30
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ů 23 / 30
Kookurenční matice - příklad Směrové - posun o vektor (5, 0) Extrakce obrazových příznaků 24 / 30
Kookurenční matice - příklad Rotačně invariantní poloměr r = 5 Extrakce obrazových příznaků 25 / 30
Haralickovy texturní příznaky Energie H 1 = X i,j C 2 (i, j) Entropie H 2 = X i,j C(i, j)log 2C(i, j) Kontrast H 3 = X i,j i j C(i, j) Homogenita H 4 = X i,j C(i, j) 1 + i j Korelace cov(i, j C) H 5 = std(i C)std(j C) Extrakce obrazových příznaků 26 / 30
Význačné oblasti a deskriptory Oblasti, které lze opakovaně nalézt v transformovaném obraze Invariantní vůči afinním transformacím, změně osvětlění,... Harris, Hessian, DoG, a jejich modifikace Popis oblastí deskriptorem SURF, SIFT, GLOH, MSER,... Extrakce obrazových příznaků 27 / 30
SIFT Scale Invariant Feature Transform Kĺıčové body extrémy v Differencial-of-Gaussian (DoG) DoG rozdíly různě rozmazaných obrazů... Scale (next octave) Scale (first octave) Gaussian Difference of Gaussian (DOG) Extrakce obrazových příznaků 28 / 30
SIFT Scale Invariant Feature Transform Desktiptor Distribuce gradientů v okoĺı bodů Image gradients Keypoint descriptor Vlastnosti: Scale a rotačně invariantní Robustní detekce v různých pohledech Extrakce obrazových příznaků 29 / 30
Shrnutí Funkce počítané nad obrazem Lokální, globální, sparse, dense,... Mnoho typů Haar, Gabor, LBP, LRP kookurence, spektrum invariantní oblasti a deskriptory SIFT, SURF Extrakce obrazových příznaků 30 / 30