Fondament d Elaborazone d Immagn emplate Matchng Raffaele Cappell raffaele.cappell@unbo.t
Contenut Introduzone Confronto dretto fra mmagn e template matchng Panoramca approcc d template matchng Correlazone Defnzone Msure d correlazone normalzzate Anals della complesstà computazonale Approcco mult-rsoluzone Alcun esemp pratc ecnche avanzate d template matchng Cenn ad argoment trattat n Vsone Artfcale e Rconoscmento Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 2
Confronto dretto fra mmagn Ogn mmagne potrebbe essere semplcemente consderata come un punto n uno spazo multdmensonale Un mmagne grayscale corrsponderebbe qund a un vettore con n=wxh dmenson Il confronto dretto d mmagn, medante dstanza fra tal vettor nello spazo, n generale non funzona per una sere d ragon, fra cu: Dfferenze d traslazone, rotazone, scala e prospettva Deformazone e varabltà de pattern Cambament d llumnazone Presenza d rumore nelle mmagn e utlzzo d tecnche d acquszone dverse 4524.84 3990.34 Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 3
emplate matchng Anzché tentare d confrontare drettamente due mmagn, s costruscono uno o pù pattern modello (template) e l s rcerca all nterno dell mmagne, msurandone l grado d somglanza (matchng) n tutte le possbl poszon I 1 2 2 template Immagne d rfermento la poszone (deale) d massma somglanza per due template all nterno dell mmagne Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 4
emplate matchng Panoramca approcc emplate Matchng Rgd emplate Deformable emplate Matchng Matchng Correlaton Hough Free-form Parametrc based transform deformable deformable Analytc-Form based Prototype based Shape learnng Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 5
emplate matchng rgdo Il template è costtuto da un oggetto rgdo Normalmente una pccola mmagne n formato raster: l confronto avvene drettamente fra pxel; tuttava, a seconda dell applcazone, potrebbe essere pù effcace esegure l template matchng dopo aver estratto determnate feature (es. gl edge, oppure l orentazone del gradente) vene sovrapposto a I n tutte le possbl poszon (rspetto agl ass x e y), ma, a seconda dell applcazone, può essere anche necessaro operare delle trasformazon (ad es. ruotarlo e/o scalarlo). Nel seguto s ndcherà con una generca stanza d ottenuta con una data trasformazone. Per ogn stanza, l grado d smlartà vene soltamente calcolato massmzzando la correlazone con la porzone d mmagne I coperta da. Normalmente template hanno dmensone nferore all mmagne Analogamente alla convoluzone, è necessaro decdere come comportars su pxel d bordo (ossa dove non è completamente contenuto n I) Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 6
Correlazone Defnzon Data un mmagne I e un stanza del template, sa I la porzone d mmagne con le stesse dmenson d centrata nel pxel (x,y) Nel seguto, per semplctà d notazone, I e ndcheranno vettor ottenut concatenando le rghe delle due mmagn rettangolar corrspondent SSD e CC Una msura ntutva d dverstà fra I e è la Sum of Squared Dfferences (SSD): SSD 2 2 2 I, I I I I 2 I se le norme d I e fossero costant, mnmzzare la SSD equvarrebbe a massmzzare la Cross Correlaton (CC): CC I, I k I k k Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 7
Correlazone (2) Msure d correlazone normalzzate Necessare, quando I e non sono costant: Dverse regon della stessa mmagne raramente lo sono Istanze dello stesso template dverse tra loro per numero d pxel e lumnostà meda Normalzed SDD (NSDD) e Normalzed CC (NCC) Sono ndpendent dal contrasto d mmagne e template. Infatt pattern a pù elevato contrasto (caratterzzat da ampo range d lvell d grgo) vengono rtenut dalla semplce SSD pù dssml rspetto a pattern con scarso contrasto. Zero-mean NSDD (ZNSDD) e Zero-mean NCC (ZNCC) Rspetto a NSSD e NCC sono nvarant anche per pattern che, a partà d contrasto (stesso range dnamco), presentano lumnostà mede dverse. ZNSSD ZNCC NSSD NCC I I,, I I I I I, NSSD I I, I, NCC I I, 2 Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 8
Correlazone Implementazone d base [...] f (.Wdth *.Heght > nt.maxvalue / (255 * 255)) throw new Excepton("emplate troppo grande per calcolo ntero a 32 bt"); [...] res = new Image<nt>(I.Wdth, I.Heght); nt tw =.Wdth; N.B. Un mplementazone pù effcente dovrebbe evtare l accesso a pxel con [y,x] (utlzzando ndc lnear) e cercare d evtare calcol nutl, ad esempo precalcolando gl offset del template. nt th =.Heght; nt mw2 =.Wdth / 2; nt mh2 =.Heght / 2; nt y1 = mh2; nt y2 = I.Heght - mh2-1; nt x1 = mw2; nt x2 = I.Wdth - mw2-1; // Esegue la correlazone ( bord restano nzalzzat a zero) for (nt y = y1; y <= y2; y++) for (nt x = x1; x <= x2; x++) { nt val = 0; for (nt yt=0;yt<th;yt++) for (nt xt=0;xt<tw;xt++) val += (nt)i[y-mh2+yt,x-mw2+xt] * [yt,xt]; res[y,x] = val; } Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 9
Complesstà computazonale Un esempo: rconoscmento d targhe Immagne: 512x256 emplate: 10 cfre e 26 caratter Rsoluzone 13x20 pxel. Per ogn cfra e per ogn carattere consderamo 9 stanze dovute a varazon d scala (dverse dstanze dalla telecamera) e rotazone. Ogn stanza (324 stanze = 36x9) deve essere sovrapposta all mmagne n tutte le possbl poszon e genera qund ulteror 512x256 stanze (se s trascurano bord). Pertanto occorre stmare crca 42.467.328 = 324x512x256 correlazon, cascuna rchedente almeno 13x20 moltplcazon e altrettante somme (nel caso d semplce CC). In totale crca 11x10 9 moltplcazon (ntere) e altrettante somme. Quanto tempo occorre per processare un mmagne? Almeno 44 second su una macchna capace d esegure 500 mlon d operazon ntere al secondo. Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 10
Correlazone Problematche Complesstà computazonale Il numero d operazon rcheste cresce lnearmente con l numero d stanze e con l numero d pxel d I e (e qund quadratcamente rspetto al lato d I e d ). In pratca, per applcazon real-tme, l approcco d base è raramente applcable. Dffcle gestone d pattern deformabl Esempo: localzzazone d un componente elettronco Necessara nvaranza per poszone, rotazone, scala e aspect rato (lunghezza/altezza). Cò mplca un enorme numero d stanze! Come gestre le varazon d colore? (s potrebbe operare sugl edge e non su pxel) Come gestre le deformazon local (ad esempo pedn pegat o d dversa lunghezza)? Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 11
Correlazone: approcco mult-rsoluzone Obettvo: rdurre la complesstà computazonale Vantagg S segue la rcerca su una gerarcha crescente d rsoluzon Vene creata una pramde d rsoluzon sa per I che per (ad esempo dmezzando la rsoluzone ad ogn lvello) La rcerca vene eseguta nzalmente sulla rsoluzone pù bassa, e a lvell successv vengono analzzate solo le stanze promettent (la cu correlazone al lvello nferore eccedeva una data sogla) Consente d esegure una scrematura a lvell nzal e d perfezonare la localzzazone e fltrare false somglanze a lvell successv Esemplfcando: A metà rsoluzone le operazon s rducono d 16 volte. A 1/4 quarto d rsoluzone d 256 volte. A 1/2 n d rsoluzone d 2 4n volte, ma tpcamente oltre a 3, 4 lvell non è possble operare per mancanza d dettagl Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 12
Approcco mult-rsoluzone Esempo S consder l caso del rconoscmento d targhe vsto n precedenza (mmagne 512x256, 36x9 stanze d template) L applcazone della ZNCC (con un mplementazone medamente effcente n C#) rchede 70.8 second su una CPU a 2.0GHz Applcando l approcco multrsoluzone con 2 lvell e mpostando la sogla n modo da consderare al secondo lvello crca l 1% delle correlazon pù promettent del prmo lvello, temp rsultano essere: 4.3 second per la correlazone al prmo lvello (come era logco fosse!) 1.5 second per la correlazone al secondo lvello (dmenson orgnal) 0.3 second per selezonare le stanze da analzzare al secondo lvello Le poszon selezonate al prmo lvello per una partcolare stanza d un template Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 13
ecnche avanzate d template matchng emplate matchng rgdo Correlazone nel domno delle frequenze Analogamente al caso della convoluzone, è possble utlzzare la trasformata d Fourer per calcolare la correlazone n manera pù effcente [ VAR] rasformata d Hough Nella sua versone orgnale, s tratta d un metodo puttosto robusto per ndvduare lnee rette n un mmagne [ VAR] Può essere generalzzata per rcercare fgure d forma arbtrara n un mmagne (es. crconferenze, ellss,...) Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 14
ecnche avanzate d template matchng (2) emplate matchng deformable Free-form deformable Il template non è vncolato a forme precse. S fa uso d un potental feld, coè d una funzone d energa prodotta dalle feature salent dell mmagne, per gudare l processo verso le deformazon maggormente sgnfcatve. [VAR] Parametrc deformable Il template è parametrco (ad esempo formato da arch, curve splne,...) e regolato da un numero lmtato d parametr, agendo su qual s ottengono deformazon controllate. [VAR] Shape learnng Le possbl varazon della forma del template (e corrspondent grad d lbertà) vengono appres n modo automatco a partre da un nseme d esemp rappresentatv delle possbl varazon dell oggetto che l template deve rappresentare. [VAR] Raffaele Cappell Ingegnera e scenze nformatche Unverstà d Bologna 15