Štatistická analýza tvaru a obrazu Interdisciplinárny prístup postavený na matematických a štatistických základoch Shape Analysis—Interdisciplinary View Stanislav Katina 1 Ústav matematiky a statistiky Přírodovědecká fakulta Masarykova Univerzita v Brne Tento učební text vznikl za přispění Evropského sociálního fondu a státního rozpočtu ČR prostřednictvím Operačního programu Vzdělávání pro konkurenceschopnost v rámci projektu Univerzitní výuka matematiky v měnícím se světě (CZ.1.07/2.2.00/15.0203). f evropský 1 sociální fond V ČR EVROPSKÁ UNIE INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Stanislav Katina JMI Shape Analysis Vision -= My Partial Research Tree Statistical Shape Analysis i^W^HII............... ^\\\\N\V\v.'.V>.v.v.v Multivariate Spline Modelling Traditional and Geometric Morphometries ion models ^plpšaíťmod poral modeli Multivariate S lutionary anthropology: skull & other bones Clinical anthropology: UCLP, schizophrenia &VCFS i Generalization of PCA, PLS & DA Multivariate Fourier Analysis of Spatial Curves Stanislav Katina Analýza obrazu Digitálny obraz Definition (Digitálny obraz - definícia) Digitálny obraz / je dvoj-dimenzionálna funkcia prirodzených čísel vrátane nuly No x No do možných hodnôt intenzity z množiny P, teda kde u, v e No a l(u, v) e Velkost obrazu je charakterizovaná jeho šírkou M (počet stĺpcov) a výškou N (počet riadkov) obrazovej matice I, kde umax = M - 1, vmax = N - 1 a rozmery obrazu sú M x N pixelov (obrazových elementov). Čísla M, N sú zvyčajne rovné 2\ kde k sa nazýva bitová hĺbka. Obrazový súradnicový systém sa riadi nasledovnými zásadami O y-ové súradnice idú zhora dole, Q stred súradnicovaj sústavy je bod (u = 0, v = 0) ležiaci v Javom hornom rohu. Potom transformácia z obrazovej do karteziánskej súradnicovej sústavy bude nasledovná l(u, v) —> l(N - 1 - v, u). Stanislav Katina Stanislav Katina Analýza obrazu Digitálny obraz Analýza obrazu Digitálny obraz Definition (Typy digitálneho obrazu) Obraz v odtieňoch sivej - obraz pozostávajúci z jedného komponentu reprezentovaného intenzitou (nazývanou aj jas alebo hustota), ktorej hodnoty patria množine {0,1,... 2k - 1}, zvyčajne 2fc — 1 = 255; (k = 8) bitov (1 byte); 0 reprezentuje minimálny jas (čierna farba) a 255 the maximálny jas (biela farba). Binárny obraz - obraz, ktorý je špeciálnym typom obrazu v odtieni sivej, kde intenzita môže nadobúdatdve hodnoty nula a jedna (na pixel) a kóduje farby čierna a biela. RGB farebný obraz - obraz zložený z troch komponentov nazývaných aj primárne farby—červená, zelená a modrá (RGB); typicky zaberajúce k = 8 bitov pre každý farebný komponent. J Stanislav Katina Analýza obrazu Digitálny obraz Definition (Transformácia RGB farieb do sivej škály) Výsledkom transformácie RGB farieb do sivej škály je iluminácia (jas) v sivej škále definovaná ako Yg = Avg(R, G, ß) R+G + B Keďže červená a zelená sú vnímané ako ovela jasnejšie ako modrá, výsledný obraz sa nám bude zdal tmavý v červených a zelených oblastiach a prííiž svetlý v modrých. Preto je potrebné zaviest váženú ilumináciu (jas) v sivej škále Yg = Lum(R, G, 6) = wRR + wGG + wBB, kde wR = 0.2125, wG = 0.7154, and wB = 0.0720 sú odporúčané váhy. Bezfarebný (sivý) obraz definujeme ako obraz, kde každý RGB komponent má rovnakú hodnotu, t.j. kde Yg = Lum(R, G, B). Stanislav Katina Definition (RGB farebný obraz) RGB je aditívny systém farieb, čo znamená, že všetky farby sú vytvárané pridávaním primárnych farieb k základnej čiernej farbe. RGB môžeme vizualizovat ako troj-dimenzionálnu jednotkovú kocku (RGB kocka), kde osi tohoto systému nazývame osi primárnych farbieb. Rozsah RGB hodnôt je [0, Cmax]. Každá možná farba korešponduje bodu C,- v RGB kocke C, = (R„ G,, Bi), kde 0 < Rh G„ B, < Cmax. Rovinné usporiadanie farieb v skutočnom farebnom RGB obraze - jednotlivé farebné komponenty ležia v separátnych maticiach rovnakých rozmerov a funkcia intenzity má tvar / = (/R, lG, lB). Potom RGB farebný obraz I je pole M x N x 3 typu I = (lR:lG:ls), kde lR, lG, a ls sú M x N matice. Element (u, v, c) pola je definovaný ako lc(u, v), kde c = R, G a B komponent. RGB metrika (vzdialenost) nezodpovedá nášmu zrakovému vnímaniu, t.j. RGB metrika a zrakové vnímanie sú neproporcionálne. Stanislav Katina Analýza obrazu Digitálny obraz Definition (Obrazový histogram) Obrazový histogram je histogram popisujúci početnosti hodnôt intenzity (jasu) obrazu. Histogram h obrazu v odtieňoch sivej / s hodnotami intenzity l(u, v) e [0, K - 1] obsahuje K hodnôt, kde pre typický 8 bitový obraz K = 28 = 256. Jednotlivé zložky histogramu sú definované ako h(/) 1], počet pixelov v / s intenzitou ;', pre všetky ; e [0, K h(/) = card {(u, v)\l(u, v) = i, e P}. Interpretácia: O expozícia - pod- a preexponovaný obraz, dobre exponovaný obraz, Q kontrast - rozsah hodnôt intenzity použitý v danom obraze; plnokontrastový obraz—efektívne používa celkový možný rozsah hodnôt intenzity a e [amin, amax] alebo {0,1,... K - 1} (čierna-biela) Q dynamický rozsah - počet rozdielnych hodnôt intenzity v obraze (ideálne všetkých K hodnôt); pokiaí máme a e [amin < aiow, ahigt1 < amax] maximálne možný dynamicky rozsah je možné dosiahnut použitím všetkých možných hodnôt intenzity Stanislav Katina Analýza obrazu Digitálny obraz Analýza obrazu Bodové operácie Definition (Chyby alebo artefakty obrazu) chyby saturácie - ideálne by mal byt rozsah kontrastu senzora väčší ako rozsah intenzity svetla snímanej scény, potom by bol histogram hladký na oboch koncoch; realita - často lesklé alebo tmavé plochy; histogram je saturovaný na koncoch; signifikantně hroty na koncoch pri pod- a preexponovaných obrazoch chyby transformácie - ideálne je rozdelenie intenzity hladké globálne ako aj lokálne; realita - zriedka v originálnom obraze, ale často v transformovanom obraze; zvyšovanie kontrastu vedie ku separácii hodnôt intenzity (diskretizácii; tvorbe dier); znižovanie kontrastu vedie ku zlučovaniu hodnôt intenzity, ktoré boli predtým rozdielne (diskretizácia; tvorba hrotov) chyby kompresie - napr. počas kompresie do GIF je dynamický rozsah redukovaný na niekoíko hodnôt intenzity (kvantovanie farieb), tzv. liniová štruktúra histogramu chyby individuálnych komponent-v iluminačnom histograme (hist. intenzity sivej farby) neviditelné chyby, ktoré sa objavia v histogramoch jednotlivých komponent (presaturovanie modrého komponentu) Stanislav Katina Analýza obrazu Bodové operácie Definition (Lineárne bodové operácie) Lineárnu bodovú operáciu definujeme ako /lio(a) = k • a + /, kde k je nejaká škálovacia konštanta intenzity and / je aditívna vyrovnávacia konštanta intenzity obrazu. Saturačné (urezávacie, winsorizačné) podmienky definujeme nasledovne I O ak/li0(a) < 0, potom/li0(a) = 0 (if (a < 0) a <- o ) Q ak /jio(a) > K - 1 potom /ii0(a) = K - 1 (if (a > K-l) a <- K-l ) j Stanislav Katina Definition (Bodové operácie) Homogénna bodová operácia (globálna) - modifikácia intenzity bez zmeny velkosti, geometrie alebo lokálnych štruktúr obrazu. Hodnoty intenzity a sú transformované na nové hodnoty a' použitím funkcie f(a), a' i- f {ä) alebo ľ(u, v) -e- f(l(u, v)), pre V (u, v), kde /■(•) je nezávislá na súradniciach (u, v), t.j. je všade rovnaká, napr. O globálna transformácia intenzity (jasu), kontrastu alebo farby Q globálne kvantovanie obrazu a thresholding Avšak funkcia g() ako nehomogénna bodová operácia (lokálna) berie do úvahy aj súradnice (u, v), ale netransformuje ich na iné; t.j. a' <- g(a, u, v) alebo ľ (u, v) <- g(l(u, v), u, v). Napr. O lokálna transformácia intenzity (jasu), kontrastu alebo farby Q lokálne kvantovanie obrazu a thresholding Stanislav Katina Analýza obrazu Bodové operácie Definition (Aditívne vyrovnávanie obrazu) 1 Aditívne vyrovnávanie obrazu: nech k = 1, / e Z, |/< K /li0(a) = a + l, kde © / e Z, pretože chceme, aby intenzita bola kvantovaná z {0,1,... K - 1} ô |/| < K - 1, pretože inak by bola intenzita mimo povoleného rozsahu Q ak / > 0, potom transformovaný obraz bude svetlejší ako pôvodný Q ak / < 0, potom transformovaný obraz bude tmavší ako pôvodný Q I predstavuje posun histogramu doíava alebo doprava Stanislav Katina Analýza obrazu Bodové operácie Analýza obrazu Bodové operácie Definition (Škálovanie obrazu) Škálovanie obrazu: nech / kde 0 a k > 0, potom /lio(a) = k ■ a, © /c > 0, pretože f\\0(a) musí byt kladné Q nie je nutné, aby k e Z, pretože by sme mali len velmi málo použitelných možností Q praktické zaokrúhlovanie (v prípade potreby) f\\0(a) = [k ■ a + 0.5J O ak /c > 1, potom intenzita f\\0(a) pokryje širší interval hodnôt ako a Q ak k < 1, potom intenzita /|i0(a) pokryje užší interval hodnôt ako a Q škálovanie natahuje alebo stláča histogram v smere osi x Stanislav Katina Analýza obrazu Bodové operácie Definition (Thresholding) Thresholding je špeciálnym typom kvantovania obrazu, ktoré separuje intenzitu do dvoch tried v závislosti na prahovej konštante ath. Prahová funkcia /ihreshoid(a) kategorizuje pixely do dvoch skupín, ktorým zodpovedajú hodnoty intenzity a0 a ai, nasledovne a0 ai pre a < att1 pre a > att1 , kde 0 < att1 < a„ Typickými aplikáciami sú Q binarizácia intenzity obrazu s hodnotami a0 = 0 a ai = 1, ktorá v r bude vyzerat nasledovne a[which(a < a.th)] <- 0;a[which(a >= a.th)] <- 1. Q thresholding je najefektívnejší pri bimodálnom histograme - charakterizuje objekt a pozadie majúce rôznu priemernú intenzitu -tmavý objekt a svetlé pozadie alebo svetlý objekt a tmavé pozadie Q ciel - separovat objekt od pozadia alebo nájst obrys objektu Stanislav Katina Definition (Negatív obrazu) Negatív obrazu: nech k = -~\ a I = K - ~\, potom fíl0(a) =-a + (K - 1), kde O škálovanie použitím k = -1 spôsobí reverziu (flip) histogramu v smere osi x Q additívna konštanta / = K - 1 spôsobuje, že všetky transformované hodnoty sú kladné a patria do povoleného rozsahu Definition (Autokontrast) Autokontrast: /lio(a) = k ■ (a - c) + /, kde / = amin, c = aíow, k ahigh aiow , aiow 7^ ahigh, a intenzita je modifikovaná tak, aby jej hodnoty pokryli celý možný rozsah povolených hodnôt. Stanislav Katina Example 10 Digitálny obraz Example (r logo) Majme r logo Cíl (rozmery 77 x 101 pixelov)—uložené ako PPM (Portable Pixel Map, portable pixmaps). Aj napriek tomu, že ide o neefektívny formát rastrovaného obrazu, je velmi jednoduchý z híadiska spracovania obrazu, a preto sa často používa. 9 Načítajte a zobrazte toto logo m v r. Q Inveretujte R (červený) komponent obrazu m. Q Inveretujte G (zelený) komponent obrazu m. Q Inveretujte B (modrý) komponent obrazu m. Q Zvýraznite R komponent obrazu m. Q Odstráňte zelený komponent obrazu m. Q Transformujte m do sivej škály. Q Zvýraznite kontrast m v sivej škále pomocou funkcie f (a) = ak ,k = 2. Stanislav Katina Example 10 Digitálny obraz Example 11 Digitálny obraz Riešenia: Q knižnica library (pixmap) , príkaz M <- read.pnm(system.file("pictures/logo.ppm" package="pixmap") [1] ) Q Ml Q Ml Q Ml Q Ml Q Ml 9 Ml Q M2 M; Ml@red <- 1-M@red; plot(Ml) M; Ml@green <- 1-M@green; plot(Ml) M; Ml@blue <- 1-M@blue; plot(Ml) M; Ml@red <- 0.5 + M@red/2; plot(Ml) M; Ml@green <- matrix(0,77,101); plot(Ml) as(M,"pixmapGrey"); M2 <- Ml; plot(M2) Ml; M2@grey <- (M2@grey)~2; plot(M2) Obrázok: Bodové operácie s obrazom R loga Stanislav Katina Example 11 Digitálny obraz Grey scale image Binary image, threshold = 0.3 Binary image, threshold = 0.1 Binary image, threshold = 0.9 Obrázok: Lastúra Mytilus sp. v sivej škále (víavo hore) a binarizovaná pri rôznych hodnotách konštanty atn = 0.1,0.3,0.9 Stanislav Katina Example (Binarizácia lastúry) Majme lastúru (Mitilus sp.) uloženú ako PPM. Q Načítajte obraz lastúry M v R. Q Transformujte M do sivej škály a zobrazte použitím funkcie plot (). O Binarizujte obraz M pri thresholde 0.1 a vypočítajte počet pixelov lastúry. O Binarizujte obraz M pri thresholde 0.3 a vypočítajte počet pixelov lastúry. Q Binarizujte obraz M pri thresholde 0.9 a vypočítajte počet pixelov lastúry. ■ Riešenia: ^ library(pixmap); M <- read.pnm("mytilus.ppm") Q M <- as(M,"pixmapGrey"); Ml <- M@grey plot(M,main="Grey scale image") Q Ml <- M@grey; M@grey[which(Ml >= 0.1)] M@grey[which(Ml < a.th)] <- 0 plot(M,main="Binary image, threshold = 0.1") length(M@grey[which(Ml < a.th)]) 1; a.th <- . 1 Stanislav Katina Example 12 Digitálny obraz Example (Binarizácia lastúry, pokrač.' Majme lastúru (Mitilus sp.) uloženú ako JPEG. O Transformujte obraz z formátu JPEG do formátu PPM. Q Načítajte obraz lastúry M v R. O Transformujte M do sivej škály a zobrazte použitím funkcie image (). Pozn.: Treba si uvědomit, že Pixel Aspect Ratio (PAR), kde PAR je rovné pomeru šírky a výšky pixela, nemusí byí rovné jednej, ale napr. 2/3, 3/4 alebo 9/16, čo sa dálahko ošetřit pomocou argumentu asp=PAR vo funkcii image (). Funkcia plot () priamo načítava PAR zo súboru PPM, a preto táto korekcia nebola potrebná. PAR je pre lastúru rovný 9/16. Na zobrazenie M použite všetky možné odtiene sivej (8-bitová škála sivej). O Na zobrazenie M použite len tri odtiene sivej (2-bitová škála sivej). Q Na zobrazenie M použite len dva odtiene sivej (1-bitová škála sivej, monochromatický obraz). O Zobrazte M použitím funkcie contour () bez korekcie PAR. Stanislav Katina Example 12 Digitálny obraz Example 12 Digitálny obraz Riešenia: ^ library(pixmap); library(rimage) shell("convert mytilus.jpg mytilus.ppm") ^ M <- read.pnm("mytilus.ppm") Q M <- as(M,"pixmapGrey") image(t(M@grey[dim(M@grey)[1]:1,]),col=grey(0:2 55/2 55), asp=9/16,axes=FALSE, main="Gray-scale: 8-bits") Q image(t(M@grey[dim(M@grey)[1]:1,]),col=grey(0:3/3), asp=9/16,axes=FALSE, main="Gray-scale: 2-bits") Q image(t(M@grey[dim(M@grey)[1]:1,]),col=grey(0:1/1), asp=9/16,axes=FALSE, main="Monochrome: 1-bits") Q contour(t(M@grey[dim(M@grey)[1]:1,]),axes=FALSE) title(main="Contour plot") Stanislav Katina Example 13 Digitálny obraz Example (Hmyzie krídlo, histogram intenzity a extrakcia súradníc landmarkov) Majme hmyzie krídlo uložené ako JPEG. Q Načítajte obraz krídla M v R. Q Transformujte obraz z formátu JPEG do formátu PPM. Q Transformujte M do sivej škály, zobrazte histogram intenzity M a zobrazte M použitím funkcie plot (). O Zvýraznite kontrast M v sivej škále pomocou funkcie f(a) = ak,k = 3, zobrazte histogram intenzity M a zobrazte použitím funkcie plot (). Q Použitím funkcie locator () lokalizujte 5 landmarkov (viď. obrázok), označte ich ako + a extrahujte ich súradnice. Do obrázku dopíšte čísla landmarkov 1-5. O Lokalizujte hranice časti krídla (viď. obrázok) ako landmarky 6-10 použitím funkcie locator () a vykreslite polygón vnútri konvexného obalu týchto landmarkov pomocou funkcie polygon (). Q Čo sme pri extrakcii landmarkov zanedbali? Stanislav Katina Gray-scale: 8-bits Monochrome: 1-bits Gray-scale: 2-bits Obrázok: Lastúra Mytilus sp. v 8-bitovej sivej škále (víavo hore), v 2-bitovej sivej škále (vlavo dole), v 1-bitovej sivej škále (vpravo hore) a konturový obraz použitím nesprávneho PAR Stanislav Katina Example 13 Digitálny obraz Riešenia: ^) library(pixmap); library(rimage) M <- read.j peg("wing.jpg") ^ shell("convert wing.jpg wing.ppm") M <- read.pnm("wing.ppm") Q Ml <- M; Ml <- as(Ml,"pixmapGrey") hist(Ml@grey) plot(Ml,main="Grey scale image") Q Ml@grey <- (Ml@grey)"3 hist(M@grey) plot(M,main="Grey scale image brightness modified") Q plot(M) lok <- locator(5,type="p",pch=3) text(lok,pos=2,labels=l:5) ^) lok <- locator(5,type="l") polygon(lok,density=12) Stanislav Katina Example 13 Digitálny obraz Example 14 Digitálny obraz rtugram üf M@grey brightness modified Obrázok: Histogramy (prvý riadok víavo) a obrazy v sivej škále, modifikovanej sivej škále (druhý riadok vlavo) obrazu hmyzie krídlo a obraz hmyzie krídlo v sivej škále s lokalizovanými landmarkami (vpravo) Stanislav Katina Example 14 Digitálny obraz Gray seals imaga Invsrtad gray seals imags InlHni 1 imiml 1111 * I■■111..... lllllllllllllllll Obrázok: Obrázok sánky v RGB škále (prvý riadok vlavo), v sivej škále (prvý riadok v strede), negatív obrazu v sivej škále (prvý riadok vpravo) a negatív s lokalizovanými landmarkami (druhý riadok) Stanislav Katina Example (Sánka, negatív obrazu a extrakcia súradníc landmarkov) Majme sánku uloženú ako JPEG. Q Načítajte obraz sánky m v r. Q Transformujte m do sivej škály a zobrazte m použitím funkcie plot (). Q Invertujte obraz m v sivej škále (vytvorte negatív obrazu) a zobrazte použitím funkcie plot (). Q Použitím funkcie locator () odmerajte vzdialenost 1 cm. Q Použitím funkcie locator () lokalizujte 10 landmarkov (viď. obrázok), označte ich ako o. Preškálujte extrahované súradnice na správnu mierku. Riešenia: library(rimage) ^ M <- read.j peg("jawd.jpg") Q M <- rgb2grey(M); plot(M) © M <- 1- M; plot(M) Q lok <- locator(2,type="o",pch=8,lwd=2,col="grey6 0", lty=" 11") scale.one <- sqrt(sum(diff(lok$x)~2+diff(lok$y)"2)) Q b <- locator(10,type="p") conf.mat <- rbind(b$x,b$y)/scale.one Stanislav Katina Analýza obrazu Uzavreté obrysy Definition (Automatická extrakcia uzavretých obrysov a reíazové kódovanie) Objekt v rovine je reprezentovaný jeho vnútrom a obrysom. Obrys môžeme automaticky extahovaí pomocou reťazového (sekvenčného, Freemanovho) kódovania definovaného pomocou sekvencie smerových zmien na diskrétnom rastrovanom obraze. O definujeme štartovací bod xs vnútri objektu 1Z v rovine Q uzavretý obrys je definovaný pomocou sekvencie bodov Cti = [x0,xi,...xC-i], kde x,- = (uh v,) Q jednotlivé elementy sekvencie c'n = [c0, c'u c- = Code(Au/, Avi), kde Cc_-|] definujeme ako í) 1 (AuhAVi)=\ iW-W+i-V v ; [ (t/0 - U j, v0 - v,) a Code(Au,-, Av,) definujeme pomocou 8-pixelového susedstva pre 0 < ; < C pre ; = C - 1 Au 1 0 -1 -1 -1 0 0 3 2 1 Av 0 1 1 0 -1 -1 -1 4 pixel 0 Code(Auŕ, A v,-) 0 2 3 4 5 6 7 5 6 7 Stanislav Katina Analýza obrazu Uzavreté obrysy - algoritmus kontura Analýza obrazu Uzavreté obrysy - algoritmus kontura Algoritmus: 1. /: binarizovaný obraz; l(u, v) = 0 (objekt), l(u, v) = 1 (pozadie) 2. lokalizuj súradnice štartovacieho pixela, xs = (xs,ys), vnútri objektu tak, aby bolo jeho 4-pixelové susedstvo v objekte; potom transformuj obrazové súradnice od karteziánskych, kde xs = (dim(l)(i) — ys,xs) (pozri slajd "Digitálny obraz -definícia") 3. fixuj a = 1 (štartovací bod pre pohyb z jedného pixela do druhého, kde index pixela korešponduje a, ktoré sa zvýši o jednotku, keď je nájdený ďalší pixel proti smeru hodinových ručičiek), S = 6 (štartovací bod; pixel č.6) a SS =na (retazec); x = 0; y = 0 (štartovacie body; x- a y-ové súradnice); nech matica A má riadky Au a Av, potom D = (A(. 8j:A:A(. kde A(.,) je /'-ty stĺpec matice A 4. while (x(a),X(a)) / xs (pokiaísa dosiahne opat štartovací bod) or dĺžka vektora x je menšia ako 3 (vyhneme sa nekonečnej slučke) choď na (5) — (6) 5. if | (/(xs + D(1s+1),ys + D(2jS+i)) -/(xs,ys))| < threshold, potom a = a + 1 x(a) = xs; y (a) = y s xs = xs + D(.jS+1) SS(a) = S + 1; S = (S + 7) mod 8 (skontroluj pixel 5 a choď na pixel 5) Stanislav Katina Example 15 Uzavreté obrysy Example (pokrač. príkladu 11 a 12) Majme lastúru (Mitilus sp.) uloženú ako PPM. Použite binarizovaný obraz M pri thresholde 0.9 z príkladu 11. Extrahujte súradnice obrysu lastúry. O Zobrazte binarizovaný obraz M (pri thresholde 0.9). Q Pomocou funkcie locator () označte štartovací bod xs vnútri lastúry. Q Na identifikáciu obrysu použite algoritmus kontura. O Resamplujte súradnice bodov obrysu na k = 32, kde body budú ekvidištantne vzdialené - s rovnakou uhlovou vzdialenosiou medzi nimi, kde je potrebné vybrat k = 32 ekvidištantných bodov z 629 identifikovaných bodov s použitím funkcie seq (l, 629, length=32). Q Resamplujte súradnice bodov obrysu na k = 32, kde body budú ekvidištantne vzdialené - s rovnakou radiálnou vzdialenosiou medzi nimi, kde najprv vypočítate centroid lastúry (aritmetický priemer súradníc obrysu získaných v bode (4)), potom pomocou znalostí z analýzy komplexných čísel vyberiete tie z 629 súradníc identifikovaných algoritmom kontura, ktoré patria prieniku kontúry a ramien uhlov / = 0,1... /c, s vrcholom v bode (0,0). 2 X / X 7T Stanislav Katina Algoritmus (pokrač.): 6. if else j (/(xs + D(1 s+2),ys + D(2is+2)) ~ l{xS,Ys)) | < threshold, potom a = a + 1 X(a) = xs; y (a) = y s xs — XS '(•,S+2) SS(a) = S + 2; S = (S + 7) mod 8 (skontroluj pixel 6 a chod na pixel 6) if else j (/(xs + D(1s+3),ys + D(2iS+3)) - /(xs,ys)) | < threshold, potom a = a + 1 X(a) = xs; y (a) = y s xs — XS '(•,S+3) SS(a) = S + 3; S = (S + 7) mod 8 (skontroluj pixel 7 a chod na pixel 7) 8. else choď na obrys obrazu (smer - napr.diagonálne dole vpravo, S = (S + 1) mod 8; pokiaí nenájdeš pixel s intenzitou menšou ako threshold; t.j. prvý pixel pozadia) 9. return x = V(_i) ay = (dim(l)(1) — x)))^^ (vymaž prvý element, ktorý je rovný poslednému - štartovací bod; pozri slajd "Digitálny obraz - definícia") Stanislav Katina Example 15 Uzavreté obrysy Riešenia: plot(M,main="Binary image, threshold = 0.9"; x.start <- locator(i; x.start <- round(c(x.start$x,x.start$y)) myt.contour <- kontura(x.start, M@grey, start.threshold = 0.1, threshold = 0.1) lines(myt.contour$X,myt.contour$Y,lwd=3) k.r=32; k <- length(myt.contour$x; myt.contour.x <- (myt.contour$X[seq(1,k,length=k.r)]) myt.contour.y <- (mytilus.contour$Y[seq(1,k,length=k.r)]) plot(myt.contour.x,myt.contour.y,type="1",lwd=l.1, asp=l,axes=FALSE, main="Equidistantly spaced coordinates") points(myt.contour.x,myt.contour.y,pch=16,cex=0.7) plot(myt.contour.x,myt.contour.y,type="1",lwd=l.1, asp=l,axes=FALSE, main="Radially spaced coordinates") mean.x <- mean(mytillus.contour$x; mean.y <- mean(mytillus.contour$Y; points(mean.x,mean.y,pch=16) r.coords <- radial.coords{mytillus.contour$X,mytillus.contour$Y, 32) points(mean.x + r.coords$coords [,1] ,mean.y + r.coords$coords[,2],pch=16,cex=0.7) for (i in 1: k. r) { segments(mean.x,mean.y, mean.x + r.coords$coords [,1] , mean.y + r.coords$coords[,2]) } Stanislav Katina Example 15 Uzavreté obrysy Example 15 Uzavreté obrysy Riešenia (pokrač.): "radial.coords" <- function(Rx, Ry, kl) { k <- length(Rx; M <- matrix(c(Rx, Ry), k, 2) Ml <- matrix(c(Rx-mean(Rx), Ry-mean(Ry)), k, 2) VI <- complex(real = Ml[,l], imaginary = Ml[,2]! M2 <- matrix(c(Arg(Vl), Mod(VI)), k, 2) V2 <- NA for (i in 0:(kl-l)) V2[i+1] <- which.max((cos(M2[,1] - 2*i*pi/kl) V2 <- sort(V2) RES <- list("IDs" = V2,"radii" = M2[V2,2],"coords" = Ml [V2,] ) return(RES) } Stanislav Katina Example 16 Uzavreté obrysy Example (pokrač. príkladu 13) Majme hmyzie krídlo uložené ako JPEG. Extrahujte súradnice obrysu krídla. O Binarizujte obraz M (pri thresholde 0.95). Q Pomocou funkcie locator () označte štartovací bod xs vnútri krídla. O Na identifikáciu obrysu použite algoritmus kontura. O Resamplujte súradnice bodov obrysu na k = 64, kde body budú ekvidištantne vzdialené - s rovnakou uhlovou vzdialenosiou medzi nimi. Q Resamplujte súradnice bodov obrysu na k = 64, kde body budú ekvidištantne vzdialené - s rovnakou radiálnou vzdialenosiou medzi nimi. Stanislav Katina Grey scale image Binary image, threshold = 0.9 Equidistantly spaced coordinates Radially spaced coordinates Obrázok: Obrázok lastúry Mytilus sp. v sivej škále (prvý riadok víavo), binarizovaný s extrahovaným obrysom (prvý riadok vpravo), ekvidištantne body obrysu s identickou uhlovou vzialenosíou (druhý riadok vlavo) a s identickou radiálnou vzialenosíou (druhý riadok vpravo) Stanislav Katina Example 16 Uzavreté obrysy Grey scale image, threshold = 0.95 Original image Equidistantly spaced coordinates Radially spaced coordinates Obrázok: Obrázok hmyzieho krídla binarizovaný s extrahovaným obrysom (prvý riadok vlavo), v sivej škále s extrahovaným obrysom (prvý riadok vpravo), ekvidištantne body obrysu s identickou uhlovou vzialenosíou (druhý riadok víavo) a s identickou radiálnou vzialenosíou (druhý riadok vpravo) Stanislav Katina Example 17 Uzavreté obrysy Example 17 Uzavreté obrysy Example (pokrač. príkladu 14) Majme sánku uloženú ako JPEG. Extrahujte súradnice obrysu sánky. Q Binarizujte obraz M (pri thresholde 0.7). Q Pomocou funkcie locator () označte štartovací bod xs vnútri sánky. Q Na identifikáciu obrysu použite algoritmus kontura. O Resamplujte súradnice bodov obrysu na k = 100, kde body budú ekvidištantne vzdialené - s rovnakou uhlovou vzdialenosiou medzi nimi. Q Resamplujte súradnice bodov obrysu na k = 100, kde body budú ekvidištantne vzdialené - s rovnakou radiálnou vzdialenosiou medzi nimi. O Je možné použil súradnice bodov ekvidištantne vzdialených (s identickou radiálnou vzialenostou)? Ak nie prečo? Stanislav Katina Example 18 Uzavreté obrysy - zložitejšia situácia na metakarpe íudskej ruky 1 Obrázok: Originálny obraz metakarpu íudskej ruky Stanislav Katina nage, threshold = 0.7 Original image iiiiiiiiiiiiiini Equidistantly spaced coordinates Radially spaced coordinates Obrázok: Histogram intenzity sivej (prvý riadok víavo), obrázok sánky binarizovaný s extrahovaným obrysom (prvý riadok v strede), v RGB škále s extrahovaným obrysom (prvý riadok vpravo), ekvidištantne body obrysu s identickou uhlovou vzialenostou (druhý riadok víavo) a s identickou radiálnou vzialenosíou (druhý riadok vpravo) Stanislav Katina Example 18 Uzavreté obrysy - zložitejšia situácia na metakarpe íudskej ruky 2 Grey scale image Original Image Grey scale image Accentuated Accentuated Inverted Obrázok: Histogramy rôznych transformícií farebných komponentov obrazu a nim zodpovedajúce obrazy metakarpu íudskej ruky Stanislav Katina Example 18 Uzavreté obrysy - zložitejšia situácia na metakarpe íudskej ruky 3 Example 19 Uzavreté obrysy - zložitejšia situácia íudskej ruky 1 Original image Obrázok: Extrahovaný obrys metakarpu ludskej ruky Stanislav Katina Example 19 Uzavreté obrysy - zložitejšia situácia ludskej ruky 2 Original image Grey scaled ir Grey scaled image Original binarized inverted Original binarized Equidistantly spaced threshold = 0.8 threshold = 0.8 coordinates |n=200) Obrázok: Extrakcia obrysu ludskej ruky Stanislav Katina Obrázok: Obraz ludskej ruky Stanislav Katina Example 20 A - otvorený problém Uzavreté obrysy - (pravdepodobne) neriešiteíná situácia ludskej tváre a pier original red Obrázok: Obrazy rôznych transformácií komponentov obrazu ľudskej tváre a pier, extrahované hrany (vpravo hore) Stanislav Katina Example 20 B - otvorený problém Uzavreté obrysy - stačí len extrakcie obrysu? Example 20 B - otvorený problém Uzavreté obrysy a ich vnútro - potrebná extrakcie objektu ako celku Original image Original binarized threshold = 0.95 'U '■ luv Original binarized threshold = 0.95 Equidistantly spaced coordinates (n=200) Obrázok: Extrakcia obrysu hrúzovca sietovaného (Pseudorasbora parva) Stanislav Katina Analýza obrazu Geometrické operácie Definition (Geometrické operácie) Geometrické operácie transformujú obraz / do nového obrazu /' transformáciou súradníc jednotlivých pixelov, l(u,v)^ľ(u',v'), kde hodnoty intenzity obrazu / pôvodne v bode (u, v) sú transformované do bodu (ď, v') v novom obraze /'. Transformačná funkcia má potom tvar T : R2 R2 a je definovaná pre každý bod vzorového obrazu x = (u, v) a korešpondujúci bod transformovaného obrazu x' = (u', v'), kde x' = T(x). Príklady geometrických operácií: Q afínne transformácie - otočenie, posunutie, škálovanie, skosenie a zrkadlenie Q TPS modely - interpolačný thin-plate splajn (TPS) model [IM1, IM3] a penalizovaný TPS regresný model [PRM1, PRM3] Stanislav Katina Obrázok: Extrakcia sumčeka čierneho (Ameiurus melas) z pozadia Stanislav Katina Example 21 Geometrické operácie - warping ludskej ruky 1 (pozor nie morfing) • 2 # Hl 16 Obrázok: Ľudská ruka a 16 landmarkov Stanislav Katina Example 21 Geometrické operácie - warping ludskej ruky 2 (pozor nie morfing) Example 21 Geometrické operácie - warping ludskej ruky 3 (pozor nie morfing) Obrázok: Dve íudské ruky - chceme transformovat íavú na pravú Stanislav Katina Example 22 Geometrické operácie - warping Fredovej tváre (pozor, nie morfing) Obrázok: Prof. Fred Bookstein - originálna (víavo) a transformovaná fotografia (vpravo) [s láskavým dovolením zakladateía odboru Analýza tvaru] Stanislav Katina Obrázok: Ľudské ruky - vzorová ruka, odhadnutá ruka, affínna a neafínna komponenta transformácie (po stĺpcoch) [approx. 1.6mil premenných] Stanislav Katina Analýza tvaru Analýza obrysov Definition (Obrys) Obrys je uzavretá krivka definovaná súradnicami k bodov (semilandmarkov) patriacich tomuto obrysu, kde body sú Q ekvidištantne vzdialené s rovnakou radiálnou vzdialenosíou medzi nimi. Q ekvidištantne vzdialené s rovnakou uhlovou vzdialenosíou medzi nimi. Definition (Analýza obrysov) Štatistická analýza obrysu závisí od toho, o aký typ obrysu ide. Q Ak ide o obrys typu (1), používa sa radiálna Fourierova analýza. Q Ak ide o obrys typu (2), používa sa tangenciálna Fourierova analýza alebo eliptická Fourierova analýza. 2D/3D Fourierova analýza je zovšeobecnením klasickej Fourierovej analýzy používanej v časových radoch na analýzu periodického signálu v dátach, kde sa aplikuje rozklad Fourierovho radu použitím diskrétnych Fourierových transformácií. Slúži ja na výraznú redukciu dimenzii. Stanislav Katina Analýza tvaru Analýza obrysov Definition (Klasická Fourierova analýza) Fourierov rozklad periodickej funkcie f(t), kde íeťs periódou T\ = f v I nejakých časových jednotkách, bude mat tvar p f (t) = y + J2 (a, cos(A,/) + b, sin(A,/)), kde A, = j2tt ;'=1 je ;'-ta frekvencia funkcie f (t) v radiánoch A e (0,2ir), a, = -| /"2 ŕ(ŕ) cos(A,ŕ)dŕ; Ď, = ^ /"2 ŕ(ŕ) sin(A,/)d/ sú párne a nepárne Fourierove koeficienty a T je potrebné zvolit. Aplikácia f(t) predstavuje prepis do podoby nelineárneho regresného modelu tvaru p f (t) = a0i + a02ŕ + ^2 (a> cos(A,-ŕ) + b, sin(A,/)) + e(, kde A,- = ij, ;'=1 kde je potrebné odhadnú! 3p + 3 parametrov a model linearizovaí. Stanislav Katina Analýza tvaru RFA2 9 Metodologické poznámky: všetky obrysy z náhodného výberu musia byt automaticky extrahované pomocou reiazového kódu rovnakým smerom treba mat na zreteli, že smer výpočtu lúčov v RFA je proti smeru hodinových ručičiek a odhadovanie je sekvenčné štartovací bod a smer zoradenia bodov na obryse musia byt kompatibilné so štartovacím bodom a smerom odhadovania lúčov RFA, teda proti smeru hodinových ručičiek; ak nieje, je potrebné zoradenie v smere hodinových ručičiek zmenit na proti smeru hodinových ručičiek uhol a orientácia prvého ramena musí byt rovnaká pri všetkých obrysoch z náhodného výberu - všetky obrysy je potrebné rotovat do tejto polohy, t.j. nulté rameno je na osi x-ovej, smeruje k jej kladnej polovici s vrcholom v bode (0,0), čo docielime centrovaním obrysu do jeho centroidu (aritmetický priemer súradníc bodov obrysu) a otočením nultého ramena do osi x ak chceme porovnávat obrysy párového typu (íavá a pravá strana), je potrebné extrahovat jednu stranu proti smeru hodinových ručičiek a druhú v smere hodinových ručičiek s opačne orientovaným nultým uhlom a potom napr. íavú stranu transformovat pomocou osovej súmernosti (s osou v osi y) minimálny počet harmonických koeficientov p sa odhadne ako dp = argminVp ||m - m^|| RFA nemôže byt použitá v prípadoch, keď aspoň jedno rameno (lúč) pretne obrys viac ako jedenkrát Stanislav Katina O Analýza tvaru RFA 1 Definition (Radiálna Fourierova analýza, RFA) Majme obrys centrovaný do bodu (0,0). Lúče (ramená) /}■,/ = 1,2,... k, uhlov 6j s vrcholom v bode (0,0) je možné popísat periodickou funkciou r(6) nejakého uhla 6 nasledovne r(0) = y + 5ľ (a'' cos(A'e) + h sin(A,-0)), kde A,- = ; ;'=1 Potom y'-ta harmonická zložka je rovná r(0j), a0 = 2^X^=1 rj/k< 2 * 2 * bi = t J2 r' cos('öi); bi = t: J2 r' sin('^) 7=1 7=1 sú párne a nepárne Fourierove koeficienty, k je počet lúčov a zároveň semilandmarkov obrysu a p je počet frekvencií. Musí byt splnená podmienka p < |, lebo máme dva parametre na jednu harmonickú zložku, ktorá je funkciou nejakého jedného uhla 6. Označenia: obrys M a MÍf].. Stanislav Katina Example 23 RFA 3 Example (pokrač. príkladu 16) Majme hmyzie krídlo uložené ako JPEG a resamplované súradnice semilandmarkov obrysu pomocou radiálnych vzdialeností vypočítané v príklade 16. Q Odhadnite obrys krídla pomocou RFA pri optimálnom p. Obrázok: Obrys M superponovaný s obrysom so segmentami spájajúcimi korešpondujúce body, rozptylový graf počtu harmonických koeficientov voči dp (suboptimálne p = 8) Stanislav Katina Example 23 RFA4 d(p)= 46.347 d(p)= 25.605 d(p)= 21.884 d(p)= 21.134 d(p)= 25.741 d(p)= 22.46 d(p)= 21.395 d(p)= 21.114 Obrázok: Obrys M superponovaný s obrysmi M^, p = 1,2,. Pozn.: Súradnice sú vypočítané v tvare komplexných čísel, kde modulus= r(6j), argument= Qs. Stanislav Katina Analýza tvaru EFA2_ Definition (EFA, pokrač. Ak je obrys definovaný pomocou k semilandmarkov, potom môžeme Fourierove koeficienty odhadnut nasledovne a,- T A Axj ln2n2 ^ At i 7=1 ' T A Axj 2n2n2 ^ At, 7=1 1 cos ; Ay lir2n2 2— At, 7=1 1 sin ; cos ; 2TTtj ~t~ 2TTtj 2-Ktj cos ; 27TÍ !7-1 sin ; cos ; sin ; T 27rŕj_i T 27rŕj_i T 27rŕj_i T , Axi =xi -xk, , a0 rí>> 7=1 ,Ayi =yi -yfc, , Co 2 \ - 7=1 Vypočítané koeficienty a0, a,-, Ď,-, c0, c,- a d, použijeme na odhad x(/y) a y(/y) dosadením do rovníc z predchádzajúceho slajdu, kde oo nahradíme p. Stanislav Katina Analýza tvaru EFA 1 Definition (Eliptická Fourierova analýza, EFA) Majme obrys centrovaný do bodu (0,0). Nech T je obvod obrysu, A = 2-k/T je frekvencia a nech / e (0, T) je chordálna (uhlová) vzdialenosť Potom je možné pomocou / vyjádřit súradnice semilandmarkov obrysu ako x(/) a y(t) nasledovne x(ŕ) = ^ + (a> cos('Aŕ) + bi sin(/A/)), kde a, =-| / x{t)cos{i\t)dt;bi = ^ f x{t)sm{i\t)dt, ' Jo 'Ja y (t) = y + (a cos(/Aŕ) + di sin(/A/)), kde = -1/ y(t)cos(i\t)dt;di = j ľ y(ŕ)sin(/Aŕ)dŕ. Stanislav Katina Analýza tvaru EFA 3 Metodologické poznámky: Q všetky obrysy z náhodného výberu musia byt automaticky extrahované pomocou reiazového kódu rovnakým smerom Q treba mat na zreteli, že smer výpočtu EFA je identický so smerom zoradenia bodov obrysu, odhadovanie je sekvenčné a obe metódy majú rovnaký štartovací bod Q ak chceme porovnávat obrysy párového typu (íavá a pravá strana), je potrebné extrahovat jednu stranu proti smeru hodinových ručičiek a druhú v smere hodinových ručičiek s opačne orientovanou hlavnou osou a potom napr. íavú stranu transformovat pomocou osovej súmernosti (s osou v osi y) Q minimálny počet eliptických koeficientov p sa odhadne ako dp = argminVp ||m - m^|| Q parametrická forma EFA umožňuje jednoduché rozšírenie do 3D pridaním z(f) Q väčšie eliptické koeficienty korešpondujú s väčšími elipsami, kde obrys vzniká kombináciou superponovaných elíps Q počet eliptických koeficientov môžeme odhadnut pomocou Furierovej sily definovanej ako Power,- = (a? + bf + cf + df)/2, ktorá je proporcionálna amplitúde koeficientov a kumulatívnej Furierovej sily cumsum(Power,) Q najviac informácií o tvare obrysu je obsiahnutých v prvej elipse, pretože ide o najlepšiu aproximáciu obrysu Stanislav Katina Analýza tvaru EFA4 Example 24 EFA5 Definition (NEFA- normalizácia (štandardizácia) obrysu) Normalizovaná eliptická Fourierova analýza (NEFA) je EFA invariantná na velkost a rotáciu prvej elipsy a štartovací bod, kde sú koeficienty a,-, Ď,-, c,, d, transformované na aí, b., cí, dl použitím nasledovného algoritmu a'j b'A _ 1 / cosí/> sin^A /a,- ď,\ /cos/'ö — sin/'ö\ ~~ se V-s'n^ cos^y y c,- d,y ysin/'ö cos/'ö y' c; d; kde se je dĺžka hlavnej poloosi prvej elipsy, súvisí s orientáciou elipsy a d s rotáciou štartovacieho bodu na koniec elipsy. Potom V> = 0.5arctan 2(a-|Ď-| — c-|C/i) i? + c? — Ď? — d? ,Se = \[í \+c%,0 = arctan —, a* kde a* = a-i cos^ + ď-i sin 1(1 a c, = c( cos^ + d-i sin V>. Koeficienty prvej eliptickej zložky a\ = \,b\ = c\ = 0. Zostávajúci koeficient d/ súvisí s eliptickou excentricitou, t.j. šírko-dĺžkovym pomerom obrysu. Ak máme k dispozícii aj súradnice landmarkov na obryse, môžeme použit na normalizáciu GPA. Stanislav Katina Example 24 EFA 6 d(p)= 52.357 d(p)= 43.777 d(p)= 43.566 d(p)= 43.574 d(p)=51.708 d(p)= 43.962 d(p)= 43.54 d(p)= 43.525 d(p)= 43.877 d(p)= 43.988 d(p)= 43.55 d(p)= 43.528 Obrázok: Obrys M superponovaný s obrysmi M^Lp = 1,2,... 12 Stanislav Katina Example (pokrač. príkladu 16 a 23) Majme hmyzie krídlo uložené ako JPEG a resamplované súradnice semilandmarkov obrysu pomocou uhlových vzdialeností vypočítané v príklade 16. O Odhadnite obrys krídla pomocou EFA pri optimálnom p. Obrázok: Obrys M superponovaný s obrysom M^j so segmentami spájajúcimi korešpondujúce body, rozptylový graf počtu harmonických koeficientov voči dp (suboptimálne p = 11) Stanislav Katina Analýza tvaru TFA 1 Definition (Tangenciálna Fourierova analýza, TFA) Majme obrys centrovaný do bodu (0,0). Semilandmarky obrysu sú ekvidištantne vzdialené s rovnakou uhlovou vzdialenosíou medzi nimi. Nech T je obvod obrysu, ktorý je pre jednoduchost potrebné škálovat na 2ir. Potom je možné popísal kumulatívnu zmenu uhla dotykového vektora cf>(t) v jednotlivých bodoch obrysu ako funkciu (kumulatívnej) chordálnej (uhlovej) vzdialenosti / ako 0(ŕ) = 6 (t) - 9(0) - t, kde e (t) je uhol dotykového vektora vo vzdialenosti /, 6(0) je uhol dotykového vektora štartovacieho bodu a jeho odpočítanie slúži na štandardizáciu. Potom platí 2 + ^2 (a< cos(/0) + b, sin(/0)), kde a,- k k k \ J2 m cos(/0y); b, = lY, ^ sir«: a° =2 E 7=1 7=1 7=1 Pozn.: Tak ako aj pri RFA - používame na výpočet komplexné čísla, v tomto prípade dostaneme Z, kde modulus= 2ir/k, argument= 6(t) = cf>(t) + 0(0)+ t, výsledné súradnice obrysu sú cumsum(Z), kt. musíme centrovat do (0,0) j Stanislav Katina Example 25 TFA2 Example (pokrač. príkladu 16, 23 a 24) Majme hmyzie krídlo uložené ako JPEG a resamplované súradnice semilandmarkov obrysu pomocou uhlových vzdialeností vypočítané v príklade 16. O Odhadnite obrys krídla pomocou TFA pri optimálnom p. Pozn.: Najjednoduchší spôsob aproximácie uhla dotykového vektora je pomocou rozdielu dvoch susediacich bodov obrysu. Treba si uvědomit, že vplyv uhla 6(0) môže mat výrazný efekt na odhad obrysu. Obrázok: Obrys M superponovaný s obrysom so segmentami spájajúcimi korešpondujúce body (bez a s odpočítaním Stanislav Katina Analýza tvaru Analýza kriviek (sliding on curves) - geometrická homológia Definition (Matica ohybovej energie a ohybová energia) Majme TPS model [IM3] definovaný ako 17 'k Nech je inverzia matice L rovná -i *k ■ 11 *-kxk L21 L3x/< L12 .22 L3x3 potom Q matica ohybovej energie: Be = Q ohybová energia alebo penalta: -kxk J (f) J (f) Z^m=1 / /r2 tr (WrSW) v í 92 f™ V ^'J Vôx(')9x(i) / = /r(YrBeY) dx(1)dx(2), s riešením modelu IM3 Stanislav Katina Example 25 TFA 3 d(p)= 25.269 d(p)= 3.702 d(p)= 2.638 d(p)= 2.352 d(p)= 4.928 d(p)= 3.877 d(p)= 2.368 d(p)= 2.406 d(p)= 5.414 d(p)= 2.397 d(p)= 2.502 d(p)= 2.31í Obrázok: Obrys M superponovaný s obrysmi M^L,p = 1,2,... 12 Stanislav Katina Analýza tvaru Analýza kriviek (sliding on curves) - geometrická homológia Obrázok: Cirkularíta ohybovej energie vo vztahu ku polohe piateho landmarku v prostriedku štvorca Stanislav Katina Analýza tvaru Analýza kriviek (sliding on curves) - geometrická homológia Definition (Analýza kriviek - posúvanie semilandmarkov po krivke) Nech X*x2 = (xi, ...x,)7 = (x(1>,x(2>) a Ykx2 = (yi, ...y,)7 = (y(1),y(2)) sú konfiguračné matice s riadkami xy = (xí1\x^)T a yy = (y^\yj2^)T, kde x(-) = (x\m\4m\ ...**">) V* = (y\m\y{2m\ ...yiim))T.J = 1,2, a m = 1,2. Nech body sublistu yy. posúvame mimo ich pôvodnej polohy X]., i =1,2, ...q < k, pozdĺž tangenciálneho smeru u, = u,-2)) , kde ||u||2 = 1. Potom nová poloha xyŕ je definovaná ako y/ř = x/ř + /,u,,; = 1,2, ...q < /c, kde u, — X/_1 a t = (/!,...ŕ,)7 ||X/+1 - X;_-| ||2 Je potrebné minimalizovat kvadratickú formu y7By = (x+Ut)7B(x+Ut), kde x =Vec(X) a y =Vec(Y), B = d;ag(Be, Be), Be je závislá iba na nejakej (referenčnej) konfiguračnej matici X*. Stanislav Katina Analýza tvaru Analýza kriviek (sliding on curves) - geometrická homológia i—i—i—i—i—i—i i—i—i—i—i—i—i i—i—i—i—i—i—i i—i—i—i—i—i i—i—i—i—i—i Obrázok: Posúvanie bodov na krivke pri troch situáciách a dvoch tvaroch Stanislav Katina Analýza tvaru Analýza kriviek (sliding on curves) - geometrická homológia Definition (Analýza kriviek - posúvanie semilandmarkov po krivke; pokrač. Kvadratickú formu yrBy minimalizujeme cez hyperrovinu y = x + Ut, kde X je matica landmarkov vzoru (pôvodná poloha) a Y je matica landmarkov obrazu (nová poloha), U je matica riadkov dĺžky 2k a stĺpcov dĺžky q, kde (/,-, ;)-ty element označujeme a (k + ;)-ty element uf\ na iných miestach sú umiestnené nuly. Vektor t je riešením nasledujúcej rovnosti d_ at (x + Ut)7 B (x + Ut) d_ at (x7Bx + x7B(Ut)+ (Ut)7 Bx+ (Ut)7 B(Ut)) x7BU + U7Bx+2U7B(Ut) 2(x7BU + UTB(Ut)) = 0 Riešenie (podobné zovšeobecnenej MNŠ) má tvar t = - (U7BU) 1 U7Bx. Stanislav Katina Analýza tvaru Analýza kriviek (sliding on curves) - geometrická homológia Example (Symphyseálna krivka, pokrač.) Majme symphyseálnu krivku z príkladu 3, kde k = 21, dáta (symphysis). Na optimalizáciu polohy semilandmarkov na krivke v zmysle ohybovej energie (geometrická homológia) použijeme konfiguračnú maticu X a referenčnú (napr. priemernú) krivku XR (voči ktorej prebieha optimalizácia). Obrázok: Posúvanie bodov na krivke pri troch situáciách - rôzne chápanie krivky (uzavretá vs otvorená), koncové body fixované vs voíné na posúvanie [dotyčnice v smere u,-,; = 1,2, .../c; ozn. • pôvodné pozície x,] Stanislav Katina Analýza tvaru Analýza kriviek (sliding on curves) - geometrická homológia 2D tvár - snímok z klasického fotoaparátu Dpt. of Anthropology, University of Vienna, Vienna, Austria Obrázok: Posúvanie bodov na krivke pri troch situáciách - rôzne chápanie krivky (uzavretá vs otvorená), koncové body fixované vs voíné na posúvanie [dotyčnice v smere u,- s riešeniami y, = x,- + /,-u,-,; = 1,2, ...q, ozn. • pôvodné pozície x,-, • odhadnuté pozície y,] Stanislav Katina 2D tvár - snímok z klasického fotoaparátu Dpt. of Anthropology, University of Vienna, Vienna, Austria it i, 44 49 4#9 38 « M 47 -0.15 -0.10 -0.05 0.00 0.05 0.10 0.15 Obrázok: Reliabilita náklonu hlavy pri snímaní v rôznych uhloch [podmnožina (semi)landmarkov] a jej PCA Stanislav Katina 20 dievčat, 19 - 31 ročných, 46 + 26 (semi)landmarkov 30 32 Obrázok: (Semi)landmarky naludskej tvári a pravo-íavá (ne)kompatibilita kódovania semilandmarkov na krivkách [podmnožina (semi)landmarkov] Stanislav Katina 2D tvár - snímok z klasického fotoaparátu Dpt. of Anthropology, University of Vienna, Vienna, Austria Obrázok: PCA reliability náklonu hlavy pri snímaní v rôznych uhloch [podmnožina (semi)landmarkov] Stanislav Katina 2D tvár Získavanie dát a ich úprava v PC 3D tvár - snímok zo stereo-kamerového systému Dental clinic, The University of Glasgow, UK; Face 3D data Získavanie dát a ich úprava v PC: O nasnímanie dát klasickým fotoaparátom - protokol snímania (dotazník, kalibrácia snímacieho systému, participanti a časový harmonogram) O extrakcia 2D súradníc a RGB farieb - z .jpega . tif f súborov a pod. do . dmp súborov čitatelných v <® O validačná štúdia (štúdia reliabilita) - vhodná/optimálna orientácia tváre v anatomickom súradnicovom systéme, opakovatelnost presnosti snímania/merania (Technical Measurement Error, TEM), lineárny regresný model so zmiešanými efektami O (polo)automatické meranie/extrakcia súradníc (semi)landmarkov, kriviek [(46 + 26) x 2 (semi)landmarkov] O iteratívny výpočet súradníc geometricky homologických semilandmarkov na krivkách použitím TPS warpingu [(46 + 26) x 2 (semi)landmarkov a viac ako 2mil pixelov] O výpočet symetrizovaného priemerného tvaru (template) (semi)landmarky na referenčnej tvári a preznačenej a zrkadlovo súmernej tvári musia byí spriemerované Stanislav Katina 3D tvár - snímok z laserového skaneru Royal College of Surgeons in Ireland, Dublin; Face 3D data 42 párov naskenovaných tvárí, 23 landmarkov, 1664 geometricky homologických semilandamrkov na krivkách a ploche, 59242 bodov plochy trinagulovaných použitím 117386 trojuholníkov Obrázok: VCFS tvár, laserový skaner a (ne)triangulované semilandmarky na ploche Stanislav Katina Stanislav Katina 3D tvár Získavanie dát a ich úprava v PC Získavanie dát a ich úprava v PC: O nasnímanie dát stereo-kamerovým systémom alebo laserovým skanerom - protokol snímania (dotazník, kalibrácia snímacieho systému, participanti a časový harmonogram) Q extrakcia 3D súradníc, normál bodov na ploche, trinagulácie a RGB farieb-z . obj, .wrla . j peg súborov do .dmp súborov čitatelných v ® O validačná štúdia (štúdia reliabilita) - vhodná/optimálna orientácia tváre v anatomickom súradnicovom systéme, opakovatelnost presnosti snímania/merania (Technical Measurement Error, TEM), lineárny regresný model so zmiešanými efektami O (polo)automatické meranie/extrakcia súradníc (semi)landmarkov, kriviek a plôch [1664 x 3 = 4992, 4992 x 42 = 209664 bodov] O iteratívny výpočet súradníc geometricky homologických semilandmarkov na krivkách/plochách a bodov na ploche použitím TPS warpingu [59242 x 3 = 177726; 177726 x 42 = 7464492] O výpočet symetrizovaného priemerného tvaru (template) (semi)landmarky na referenčnej tvári a preznačenej a zrkadlovo súmernej tvári musia byt spriemerované; plocha tiež symetrizovaná Stanislav Katina 3D tvár - snímok z laserového skaneru Royal College of Surgeons in Ireland, Dublin; Face 3D data Obrázok: Symetrízovaná vzorová tvár (template) a (semi)landmarky Stanislav Katina Budúcnosť analýzy tvaru Automatická extrakcia diferienciálno-geometrických štruktúr z biologických objektov f-Cár 4*»p v -"-ťí'-''-- / Obrázok: Automatická extrakcia landmarkov, kriviek a anatomických plôch Stanislav Katina Budúcnosť analýzy tvaru Automatická extrakcia diferienciálno-geometrických štruktúr z biologických objektov Obrázok: Sekcencia automatickej extrakcie íudských pier Stanislav Katina Budúcnosť analýzy tvaru Analýza tvaru EEG - časo-priestorové modelovanie o o Obrázok: Fúzia analýzy tvaru, EEG a zobrazovacích techník mozgu Stanislav Katina