Loading
Study Reminders
Support
Text Version

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Ora passeremo dai kernels corrispondenti ai kernel corrispondenti per le piramidi delle immagini. Ad esempio, avere una piramide multi - risoluzione di immagini ed essere in grado di utilizzare quell' idea per sviluppare le kermesse corrispondenti. Le diaposite hanno nuovamente preso in prestito dalle lezioni del professor Avriquesto a Inria Rennes. Descrittore corrispondente, come abbiamo appena visto nella lezione precedente può essere dato da, hai Xc e Yc simile per le funzioni che appartengono a una particolare parola visiva in immagini X e immagine Y. Poi un kernel corrispondente per qualcosa come il sacchetto di parole potrebbe essere dato per sommità sugli stessi centrocampisti del cluster contando solo il numero di funzioni ad esso appartenenti. Si potrebbe anche includere qualche fattore di ponderazione per ciascuna di queste summazioni se richiesto. E una forma più generale che abbiamo visto l'ultima volta è stata quella che vedete qui sotto, che è K (X, Y) = γ (X) γ (Y) Manuale M (X,) cabbiano C Wc c Y c Wc è un peso che stiamo introducendo, che possiamo scegliere di utilizzare o meno e M di Xc Yc, dove M è la funzione di matching. (01.45) Ora, parleremo di andare oltre il matching di livello singolo e matching a livello di piramidi e descriveremo un lavoro seminale in questo contesto noto come kermesse di corrispondenza piramidale. Così la corrispondenza piramidale è un metodo efficiente che associa insiemi di feature non ordinati, che è ciò che ogni immagine è, ogni immagine è un insieme non ordinato di funzioni. Ci convertiamo che in istogrammi a risoluzione multipla e poi fare corrispondenza utilizzando gli istogrammi multi - risoluzione ponderati. Quindi idealmente possiamo iniziare con la più raffinata cella istogram dove compare una coppia abbinabile e poi continuiamo a unire gli istogrammi mentre saltiamo la piramide in questo particolare contesto. E il lavoro ha una simpaticissima interpretazione in cui si può dimostrare che approfondisca una somiglianza in un'impostazione di corrispondenza parziale, dove se si aveva solo una serie parziale di caratteristiche in un'immagine, abbinamenti di un feed, serie di funzioni in un'altra immagine, il kernel di corrispondenza piramidale approssimava quella corrispondenza parziale ottimale tra quelle due immagini. Per maggiori dettagli ti consiglierei anche di leggere questo articolo chiamato kernel di corrispondenza piramidale. È scritto molto bene e spiegare in dettaglio alcune di queste idee se siete interessati a conoscere di più. Iniziamo con la definizione dell'intersezione istogram, perché stiamo per definire gli istogrammi in entrambe le immagini. Ovviamente li definiremo a più livelli, ma parliamo solo di come si combina gli istogrammi in questo contesto. Quindi se avete avuto due istogrammi x e y di b bins ciascuno, quindi diciamo che questo è x, e questo è y, entrambi sono istogrammi con b bins ciascuno. Definiamo l'intersezione istogram come minimo di xi, yi, un elemento dell'istogramma in entrambe queste immagini e somma questi sopra tutti i bins b. Quindi prendete il primo vassoio di istogramma, il primo bidone della seconda, prendete il minimo valore, prendete il minimo valore del vassoio successivo nell'istogramma e aggiungete tutti. Questo è quello che definiamo come l'incrocio di storia. Curiosamente, si può dimostrare che questa nozione di intersezione istogram, che definiamo come Kappa sub - HI ha una relazione con la distanza L1. Non lo dimostreremo qui, ma probabilmente lo lasceremo come un esercizio per voi da guardare. Potete vedere che la distanza L1 tra due vettori, x e y può essere data da | |x − y | | |x | | |y | | κ (x,) 1 = | 1 + | 2 − 2 HI y Provatelo per voi stessi. Prendete qualche uscita, prendete un paio di esempi di x e y, vedrete davvero che era in pratica. Per favore prova a dimostrarlo anche se puoi. Questo è un esercizio interessante perché si possa lavorare, ma si può dimostrare che questa distanza istografica è relativa alla distanza L1. Ricordare la distanza L1 è la somma di valori assoluti di quel vettore. (05.16) Torna subito al kernel di corrispondenza piramidale. Abbiamo quindi detto che il kernel di corrispondenza piramidale fa una somma ponderata di istogrammi intersezioni a diversi livelli di due immagini, e si approssimazione di un accoppiamento pairwise ottimale. Quindi prima concettualmente ne parliamo e poi daremo un esempio concreto e andiamo come si fa. Quindi se avessi queste due immagini dello stesso oggetto da diverse pose, angoli di vista diversi, potresti avere, ancora una volta, hai estratto punti chiave e quei punti chiave potrebbero essere questi in posa in R power d. Hai una serie simile di funzioni sdraiate in R power d per la seconda immagine. Quindi ora, hai quell' intero spazio di funzione che si divide in una griglia per l'istanza. E ora contate quante delle caratteristiche presenti in un'immagine si verificano in ognuna di quella griglia dello spazio della funzione che sta per definire un istogramma. Combini l'istogramma a quel livello. Poi comprimere la griglia e unire le regioni nella tua griglia in R power d nel tuo vettore dimensionale D assumendo questa dimensione del descrittore corrispondente alla feature, la tua corrispondenza a quel livello, così via e così via. E un'intuizione qui è che si vuole dare un peso maggiore alle partite a un livello finale e un peso inferiore alle partite a un livello superiore dove gli istogrammi si piegano magari fuse. Daremo un esempio concreto e cammineremo su questa idea. (06.50) Consideriamo ora che si ha una serie di funzioni, una serie inordinata di caratteristiche in immagine X, che è data da questi punti blu, un insieme inordinato di caratteristiche in immagine Y, anche dai punti rossi. Ricordate quindi che questi sono punti, questi sono descrittori di quelle caratteristiche sdraiate in R power d e vi imbavamole in un bidone di caratteristiche molto fine in quello spazio. Così è possibile che questo punto blu fosse sdraiato in questo cestino, questo punto blu era sdraiato in questo cestino e così via. Si sta solo sbattendo l'intera regione di R power d in diversi bidoni e si posizionano ogni punto chiave che si verifica in ogni immagine in uno di quei bidoni in base ai valori descrittivi. Ora, hai il punto 1-D è X, Y su griglia di dimensioni 1. Lo chiameremo dimensione 1. Questa è la migliore risoluzione. (07.51) Così ora definiamo gli istogrammi. Quindi i tuoi istogrammi a livello zero saranno questo particolare vassoio nella tua griglia di alimentazione R come una caratteristica. Questo particolare vassoio in R power d in X ha una caratteristica. Questo particolare vassoio in R power d ha una funzione in immagine X e una feature nell'immagine Y, così via e così via. Così puoi costruire il tuo istogramma. Ovviamente, è possibile che si possa avere una caratteristica in più qui di Y nello stesso bidone, ma al primo livello creiamo questi bidoni in modo tale o si possono definire sempre i bidoni ad un livello molto fine. Cioè in alto, si creano questi bidoni in modo tale che ci sia una sola funzione in ognuno dei bidoni. Ovviamente unire questi come andiamo ad essere in grado di combinarli in modo più efficace. Quindi in base a questi istogrammi, quando si cerca di abbinarli, ricordati che il nostro intersezione istogramma sarà la media di ogni elemento. Quindi rimarrete a sinistra con l'incrocio, che è semplicemente un valore qui per questo bidone e un valore qui per questo bidone, tutti gli altri bidoni hanno uno degli elementi in X o Y da zero, il che significa che verranno rimossi. (09.09) Così si hanno due partite ora tra le immagini X e Y e si va a dimagrarle di un valore 1. Quindi il tuo punteggio totale di somiglianza ora sarà da 2 a 1, pari a 2. (09.24) Ora vi uniamo i vostri dolori istografici. Originariamente, se si aveva detto circa 20 piedini istogram, è necessario unire ogni consecutivo, ogni contiguo e renderli in 10 bidoni. E ora si vede che è possibile che ci siano due caratteristiche nell'immagine X che appartengono allo stesso bidone e così via. Così ora costruiamo quello che sono noti come istogrammi di livello 1 dove contiamo il numero di funzioni presenti in ognuno di questi bidoni uniti in immagine X e immagine Y. Si vede che ci sono due ricorrenze di caratteristiche in questo cestino. Allo stesso modo, ci sono due ricorrenze di funzioni in questo vassoio in immagine X, ma l'immagine Y ha una sola funzione ancora in ogni vassoio. Quindi basandosi su questo, costruiamo l'istogramma per l'immagine X, costruiamo l'istogramma per l'immagine Y. E ora calcola l'incrocio di questi due istogrammi e scopri che ci sono quattro partite. Ma non si contano tutte le quattro partite, si contano quante nuove partite si aggiungono. Quindi stiamo solo andando a guardare quante nuove partite si aggiungono abbinando questi istogrammi, che ci sarà da vedere due partite prima, abbiamo quattro partite ora, le nuove partite sarebbero due. Così ora si considera quelle nuove partite, le si ponderano per metà. Perché la metà, ricordare una corrispondenza ad un livello più stretto viene dato peso minore di una partita a livello di finer, perché il match di livello finer significa una corrispondenza più stretta. Quindi prendete queste due nuove partite ponderate per metà e ora il vostro punteggio di similitudine diventa 2 a 1 dalla slide precedente più 2 in 1/2, che sarà totalmente di 3. (11.19) Ora, continuiamo questo processo, ora rendi il tuo istogramma bins solo cinque in numero, il che significa che il numero di funzioni che avrai in ogni vassoio andrà ad aumentare. Ora è possibile avere tre funzioni in questo cestino in immagine X, così via e così via. Ancora una volta, si può ottenere l'istogramma per X, l'istogramma per Y, si calcola l'incrocio, che ora vi darà il numero di corrispondenze da 1 più 2 più 2, che sarà di 5, ma si sono già avute quattro partite nel livello precedente. Quindi, il numero di nuove partite sarà solo uno, quindi il nuovo match qui sarà solo uno. Quindi il punteggio di somiglianza ora sarà dato da 2x1 + 2x1/2 + 1x1/4, perché si sta riducendo il peso ancora di più quando si va ad un livello di corso ancora più alto. Quindi il tuo punteggio di somiglianza totale è di 2 più 2 in 1/2 più 1 in 1/4 che sarà di 3,25. (12.29) Così cerchiamo di mettere insieme questo. Così dato come set X che consiste in n diverse caratteristiche ciascuna appartenente alla potenza R d. Suppamiamo che le distanze di quegli elementi spaziano tra il 1 e il D. Questo ci aiuta a costruire i vostri bidoni per costruire l'istogramma. Una volta che si conosce la distanza massima tra gli elementi, si può giocare in giro con i bidoni dell'istogramma per definirli di conseguenza. Così, definiremo Xi come un istogramma di X in R power d su una griglia regolare di lunghezza laterale 2 potenza i. Iniziamo quindi con l'istogramma al livello 1, istogramma a livello zero, livello 2, così via e così via. Tecnicamente parlando, iniziamo a partire a meno 1, ma a meno 1 non ci sono partite. È puramente per convenienza matematica come vedremo in un attimo. E poi continuiamo a costruire il numero di livelli di istogramma fino al log D dove ricordare D usare le distanze massime tra gli elementi. Così ora date due immagini con i descrittori X e Y che definiremo precedentemente la corrispondenza piramidale come K (X,) γ (X) γ (Y) (κ (X,) (X,)) SI = Y i= 0 1 2 i HI i Y i − κHI i− 1 Y i− 1 E ad ogni livello si contano il numero di nuove partite. Il primo termine conta il numero di corrispondenze a questo livello, il secondo termine conta le partite al livello precedente e continuerai a costruirti. Così ad ogni punto, questo si farà riferimento al numero di nuove coppie corrispondenti. Quindi questa differenza può anche essere scritta, la sommatoria delle differenze piuttosto può essere scritta. Verrebbe, se si espandasse questo, si otterrebbe una somma telescopica perché si avrebbe un io pari a 0, si avrebbe 1 da 2 potenza 0 in κH (X,) (X,) I 0 Y 0 − κHI − 1 Y − 1 che si ignora, quel termine è qualcosa che si ignora. Poi si avrebbe più 1 di 2 in kappa di X1 da 1 meno kappa X0, Y0. Quindi i termini X0, Y0 saranno comuni tra questi due elementi che manterranno il telescopio. Quindi se li mettete tutti insieme, troverete che la somma telescopica può essere scritta come 1 da 2 potenza L in κ (X,) , che sarà al livello più alto più tutti gli altri termini L Y L otterranno, quindi, per esempio, facciamo un esempio particolare. Se prendi io è uguale a 1 e io è uguale a 2. A me è uguale a 1, avrai 1/2 per semplicità che andremo a leggerlo come κ (X,) (X Y). E a me è uguale a 2, si avrà 1 Y 1 − κ 0, 0 κ (X,) (X Y). 4 1 2 Y 2 − κ 1, 1 Così questo κ (X,), κ (X,) ci si sottrarrà e sarai lasciato con 1/4 in 2 1 1 Y 1 4 1 1 Y 1 kappa X1, Y1 ed è quello che si scrive qui fuori. Quindi che significa X1, Y1 avrebbe solo un quarto di sinistra perché uno di loro verrà annullato. Così rimarrete con 1 da 2 potenza i più 1 kappa di Xi, Yi. Nel caso si tratti solo di una semplificazione della somma telescopica che vediamo nell'equazione di cui sopra. Quindi questa è solo una rappresentazione matematica dell'esempio che abbiamo appena visto sopra le ultime slide. (16.32) Ora, si può dimostrare che questa funzione del delta K che abbiamo appena definito capita effettivamente di essere un kernel a tempo determinato. Ricordate ancora, se ricordate la vostra discussione di kernels in supporto di macchine vettoriali e machine learning, ricorrete che un kernel a tempo determinato ha dei benefici perché soddisfa il teorema dei muscoli e l'efficienza computazionale aumenta, se il vostro kernel soddisfa questa proprietà. Vediamo come questo vale qui. Ricordiamo ora che il delta K è scritto come somma ponderata dei termini kappa HI con coefficienti non negativi. Cosa sono quei coefficienti non negativi, 1 da 2 potenza i. quelli sono coefficienti non negativi. E poi si ha una somma ponderata di diversi termini kappa HI. Questo è i termini a cui ci riferiamo. Ecco cosa è K. Oppure se si guarda a Δo di queste equazioni è semplicemente una somma ponderata di kappa HÈ. E sappiamo anche che ognuno di questi κH s che è il tuo istogramma intersezioni è semplicemente un min di valori I ' in ogni vassoio. Quindi si tratta di una sommatoria di termini min. Ora sappiamo che il min può essere scritto come un prodotto dot. Come, se avessi un numero 3, e se avessi un numero 5, posso scrivere 3 come metto 1, 1, 1 per i primi tre valori e poi zero, zero, zero supponendo che io possa salire al valore 8. Allo stesso modo, per cinque, ho 1 nei primi cinque indici seguiti da tre zeri. Ora, il min di questi due valori, che è tre, è semplicemente un prodotto dot tra questi due vettori binari, il che significa che posso scrivere min come un prodotto dot e il resto ora sarebbe caduto in maniera nicola perché una somma di puntini che si avrebbe min per essere un prodotto dot, la somma dei termini min può anche essere scritta in questo modo e una somma ponderata di tali termini kappa HI con coefficienti non negativi può anche essere scritta in questo modo, il che significa che puoi scrivere il tuo intero delta K come un kernel a tempo determinato positivo. Nel caso ci siano parti che non ti siano chiare, ti preghiamo di andare avanti e leggere la carta del kernel di corrispondenza piramidale per poter avere un senso migliore di questo. Allora, una domanda qui è che abbiamo appena detto qui che il min può essere scritto come un prodotto dot scrivendo ognuno dei numeri che ci si ha in questa forma. Se hai scritto ognuno di quei numeri in questa particolare forma, allora min diventa un prodotto dot. Quindi potresti farmi la domanda. Si è semplicemente estrapolato il prodotto dot a una somma di termini min e poi somma dei termini min a una somma di termini kappa HI con coefficienti non negativi e continua che come positivo a tempo determinato. Poi quale sarebbe la rappresentazione degli elementi su cui il delta K è un kernel positivo, quello che sarebbe quell' embedding. Per il min l'embedding lo scriveva in questo modo, scrivendo ogni numero in modo semplice come in enumerazione, in modo enumerativo. Quale sarebbe il corrispondente embedding su cui il delta K diventa un kernel a tempo determinato. Per sapere cosa è l'embedding cerchiamo di analizzarlo un po' più con attenzione. (19.57) Quindi se avete avuto due immagini X e Y per convenienza supponiamo che X abbia un numero minore di caratteristiche rispetto all'immagine Y. Ricordiamo che entrambi sono serie inordinate di funzioni. Potrebbe essere anche l'altro. Questo è senza perdita di generalità. In quel caso, sarebbe solo ribaltabile. Ma altrimenti si può supporre che uno sia meno dell'altro in termini di cardinalità delle caratteristiche. E questo è definire una funzione pi che ci porta dall'immagine X all'immagine Y in modo tale che pi è uno - a - uno, che significa per ogni feature in immagine X. In quel caso, la perfetta corrispondenza pairwise sarebbe data da, si prende una feature da immagine X, si trova la corrispondente caratteristica più vicina nell'immagine Y, si prende la distanza L1 tra queste due caratteristiche e si va a trovare il pi della funzione che ti porta dall'immagine X all'immagine Y che ti dà il minimo che, scusa, che massimizza il reciproco di questa distanza. Ricordate, reciproco di questa distanza vi darà un senso di somiglianza a causa del reciproco che volete trovare la funzione pi che vi dà il massimo di tale distanza. Per chi di voi è un po' più familiare con le metriche di distanza, troverete che una tale rappresentazione è simile a quella che è conosciuta come la distanza della mover terrestre, che viene data da min |x (x) | |. Ricordati che si tratta di una metrica a distanza, mentre questo π lessico xantuno X | − π 1 rappresentazione di accoppiata in pairwise ottimale è una misura di similitudine, motivo per cui qui hai max e hai un min qui. Ricordate che la distanza e la somiglianza sono idee complimentose. Se uno è alto, l'altro dovrebbe essere basso, così via e così via. Così succede che definire X come abbiamo fatto, dove lo abbiamo definito in termini di posizioni di griglia e di istogrammi e così via e di prendere una norma tra quelle intersezioni, in realtà ci dà l'embedding. Per maggiori dettagli di questo, questo potrebbe essere un po' matematicamente coinvolto, ma per dettagli di questo, si prega di vedere questo particolare paper chiamato fast image richiamo via embeddings. Ma l'idea di base che si vuole togliere da qui è che il kernel di corrispondenza piramidale definisce un kernel definito positivo che lo rende efficiente perché sappiamo che un kernel a tempo determinato che soddisfa il teorema di Mercer ha un certo beneficio nelle elaborazioni utilizzando il trucco del kernel e anche che l'embedding che corrisponde al kernel proviene da un, può essere correlato alla distanza L1 tra questi valori X e questo particolare articolo lo descrive in modo più dettagliato. E ricordate che ancora una volta il kernel di corrispondenza piramidale è una misura di similitudine come ogni altra funzione del kernel e non penalizza clatter se non per la normalizzazione. Con questo intendiamo dire che è possibile che molte funzioni possano essere congregate in una certa sezione del vostro intero spazio di R power d e non lo penalizzi perché questo farebbe solo aumentare il conteggio dell'intersezione istogram in un determinato vassoio o così via. Non c'è una penalizzazione per questo. L'unica penalizzazione che si potrebbe avere è il fattore di normalizzazione che si può avere qui nella definizione del kernel. (23.51) Uno potrebbe estendersi questo invece di dividere la potenza di R in una griglia uniforme dove si conta quante funzioni sono sdraiate in ognuna di quella griglia di potenza R. Potresti anche ammassare tutte le tue caratteristiche e ora farlo in base a un vocabolario. Quindi potresti costruire il tuo intero istogramma in base a, fino ad ora nel metodo che abbiamo discusso, gli istogrammi non hanno avuto base su un vocabolario, avrebbero potuto semplicemente dividere tutta la tua potenza di R d in diversi bidoni e contando quante caratteristiche si sono verificate in ognuna di quelle griglie. Ma potresti anche considerarli clustering, clustering i tuoi punti chiave in vocabolario e poi costruire i tuoi bidoni in base a quei centri di cluster. Si tratterebbe semplicemente di un'estensione del metodo che abbiamo finora, dove sostituiremmo la griglia regolare con cellule vocaboli gerarchiche o non gerarchiche. E rispetto all'albero vocabolario prima all'inizio dell'ultima lezione, abbiamo parlato di come i mezzi gerarchici K possono essere utilizzati in sacchetto di parole. E dicevamo che una delle preoccupazioni c'è, non c'è un modo di principio per dare pesi a ogni livello dell'albero. Ora, nel kernel di corrispondenza piramidale abbiamo in realtà una via di principio che ha dato per il 1 di 2 potenza i. Anche qui, la qualità approssimativa può soffrire ad alte dimensioni semplicemente a causa della maledizione della dimensionalità e di come la distanza viene distorta in dimensioni superiori. (25:25) Uno potrebbe estendere questa idea di kernel di corrispondenza piramidale per fare un puro approccio di matching speciale. Finora abbiamo parlato di dividere. Si prendono tutte le caratteristiche da diverse immagini e si divide intera potenza R d che sono i descrittori dimensionali D per le caratteristiche in griglie e poi costruiscono i tuoi istogrammi. Ma potresti anche costruire questi istogrammi sul tuo spazio immagine. In questo contesto, quello che farete è, diciamo che avete un'immagine come questa, lì una persona sta eseguendo una certa azione. Si potrebbe dividere l'immagine in quattro parti, in 16 parti e così via. E hai due immagini diverse. Ora è possibile fare corrispondenza in base agli istogrammi. Quanti punti appartengono a questo bidone, quanti punti appartengono al vassoio in alto a destra, così via e così via. Chiaramente in questo approccio si sta considerando solo le posizioni coordinate delle funzioni. Non stai considerando il descrittore o l'aspetto di come quella caratteristica guarda a tutti. Ma questo approccio potrebbe essere usato nel cercare di abbinare la posizione di una persona o come fosse diversa la posizione di una persona rispetto ad una posizione precedente così via e così via. Quindi questo può essere usato, ma ha i suoi limiti, perché in questo caso si sta semplicemente contando quanti gli istogrammi si rivelano nello spazio dell'immagine spaziale, suddividendo l'immagine in parti piuttosto che prendere il descrittore del punto chiave e fare l'istogramma nello spazio descrittore. Quindi state considerando solo le coordinate qui o la geometria dei punti nell'immagine piuttosto che come appare ognuno di quei punti chiave. (27:14) Si potrebbero anche combinare queste idee per eseguire quello che è noto come corrispondenza piramidale spaziale. Questa era un'estensione del kernel di corrispondenza piramidale. In questo contesto, quello che si può fare è di avere di nuovo un livello zero, molto simile a quello di piramide match kernels, dove si prende un set di vocabolario, si ammassano tutte le sue caratteristiche in un vocabolario e poi si conta quanti punti appartengono a ciascuno di questi centri cluster e si otterrebbe, diciamo, bins istogram, come questi. Ora, hai diviso la tua immagine in quattro parti. E ora similmente, ricevi un vassoio di istogramma per ognuna di queste parole visive per ognuno di questi segmenti. Per il segmento top di sinistra si otterrebbe ancora una volta un istogramma di tre bidoni. Per il segmento di fondo destra si otterrebbe un istogramma di tre bidoni, così via e così via. Così i tre bidoni provengono dal kernel di corrispondenza guidato dal vocabolario, dove invece di dividere il proprio spazio descrittore in bidoni uniformi, si costruiscono centri cluster simili a sacchetto di parole e poi si contano il numero di funzioni appartenenti a ciascuna di quelle parole visive. Si può ancora una volta dividere ulteriormente l'immagine. Ora, si otterrà un numero ancora maggiore di piedini di istogramma corrispondenti a ciascuna di queste località. Quindi in questo caso, il tuo kernel sarà, hai il tuo kernel di corrispondenza piramidale, ma ora lo farai per ogni parte dell'immagine e aggiungerli tutti. Così la kermesse di corrispondenza piramidale esiste ancora per ogni parte dell'immagine e poi si continua a farlo su diverse parti dell'immagine. (28:51) Così, uno potrebbe guardarlo come un istogramma di geometria dell'aspetto congiunto. Quindi il kernel di corrispondenza delle piramidi è stato un puro istogramma di aspetto perché si era costruito gli istogrammi nello spazio descrittore. Abbiamo visto un esempio di come le kermesse di corrispondenza delle piramidi possono essere portate in corrispondenza speciale, che era un puro istogramma di geometria e la corrispondenza piramidale spaziale porta questi due insieme a creare quelli che sono noti come gli istogrammi di geometria dell'aspetto. Quindi questi sono robusto da deformare, non completamente invarianti alle trasformazioni, ma abbastanza robusto da deformazione semplicemente dal processo che si sta definendo, dove si sta valutando l'aspetto così come dove ognuna di queste caratteristiche si è verificata in una determinata immagine, che non c'era nel kernel di corrispondenza piramidale. Quindi questo può essere utilizzato per la classificazione di scena globale dove una diversa organizzazione di oggetti non dovrebbe snaturare il tuo risultato finale. (29:55) Un ultimo metodo di cui parleremo in questa lezione è l'impasto piramidale corrispondente, che è chiaramente un'estensione all'impasto vota se si ricorda. Quindi, in questo metodo, l'idea è, ricordati che nella tipica corrispondenza piramidale si prenderebbe una serie di caratteristiche e corrisponderete a caratteristiche da un'altra immagine e si potrebbe farlo in modo veloce utilizzando le piramidi di immagine se si richiamano discussioni in lezioni precedenti, dove si fa prima a matching a un livello di corso, poi al matching finale ad un livello più profondo della piramide e così via. (30:35) Così si potrebbero avere un mucchio di corrispondenze che si ottengono dalla corrispondenza a livello di punti chiave. E quello che faremo ora è lavorare con questi corrispondenti invece di due insiemi di caratteristiche non ordinate. Quindi si ha una serie di corrispondenze che già si ottengono facendo una corrispondenza piramidale veloce. E ricordate l'idea centrale di hough votare è ciascuna delle vostre corrispondenti voti per una particolare trasformazione o avete un'ipotesi di trasformazione basata su dire l'angolo di rotazione o la scala o la traduzione e ognuna di queste corrispondenze vota per un'ipotesi particolare e ora costruiamo istogrammi in quello spazio di trasformazione. (31:21) Vediamo un esempio qui. Si potrebbe supporre che una funzione locale P nell'immagine P abbia una certa scala, orientamento e traduzione ad essa, posizione ad essa in questo particolare caso, così che viene data da questa matrice di trasformazione. Ricordate che questa matrice di trasformazione è solo un modo diverso di scrivere quello che abbiamo visto in precedenza, dove vi abbiamo visto avere rcos θ rsin θ -rsin θ rcos θ tx, ty, zero, zero, 1, che costituente in una raffinata trasformazione dove r è una scala, la theta è l'orientamento e la tx e la ty sono posizioni. Quindi questo è solo un modo conciso di scrivere una tale matrice. Quindi, questi due zeri corrispondono a questo vettore zero qui. Uno è lì per semplicità matematica e poi questo s (p), R (p) corrisponde alla scala e all'orientamento di quel punto P, che può essere scritto come due cos due matrice e questo vettore t di p corrisponde alla posizione di quel particolare punto dell'immagine. (32:41) Assumere questo è come viene data una funzione locale a noi. Poi una corrispondenza tra una coppia di funzioni p asi P e q Dettagli Q può essere data da, F (c) = F (q) F (p), ricorda Fp è una rappresentazione di 1 punto p, analogamente, Fq sarebbe la rappresentazione del punto q in immagine Q e la corrispondente, la corrispondenza tra questi due punti è data da [ [ s (c) r (c) tc], [ 0 1]]. Ancora una volta questo si abbina alla tua matrice di rotazione e scala che arriva qui, la tua traduzione tx, ty arrivando qui, e il tuo zero, zero, 1. Ora, tx, anta non sono solo le coordinate, sono quanto ti sei spostato dall'immagine coordinata X o punto P alla coordinata q in immagine Q. Allo stesso modo la scala e la rotazione ti racconta, qual è la trasformazione, quanto hai ruotato per passare dall'immagine P all'immagine Q. Così tc, quindi non andiamo più a fondo in questo, ma solo per completare questa discussione, questo tc può essere scritto come tq, ovvero la posizione coordinata di Q meno sc Rc tp. Perché è così? tq è la posizione in di q in immagine Q, tp è la posizione di punto p in immagine P e sc, Rc dice, come hai fatto a ruotare p e come hai ingrandito p per arrivare a un punto dell'immagine Q e la differenza tra quelle due località sarà l'effettiva traduzione tc. Analogamente, è possibile definire lo zoom relativo in o zoom out per essere la scala in q divisa per la scala in p e la rotazione, analogamente, da attribuire come Rq in inversa Rp o l'angolo è dato dall'orientamento e dall'immagine del punto q in immagine Q meno theta di p l'orientamento di p in P. Ecco come viene data la corrispondenza. (34:52) Così, ora torniamo a impastate la piramide corrispondente. Quindi il che significa che la trasformazione può essere data da un vettore 4-D t (c) che come tx e ty, s (c), il fattore di scaling e θ (c), ovvero l'orientamento della differenza di rotazione. Così si va a definire una cosa in più prima di addentrarci nell'impasto piramidale corrispondente, dove se si disponeva di due corrispondenze p, q, e p ', q', diciamo che queste due corrispondenze sono conflittuali se p è uguale a p' o q è uguale a q ' o piuttosto se due punti da immagine P corrispondono allo stesso punto in immagine Q o un punto da immagine P corrisponde a due punti in immagine Q, si chiama tale corrispondenza ad essere conflittuale. Vedrete come usare questo quando andiamo alla slide successiva. (35:43) Così vediamo come funziona l'impasto piramidale corrispondente. Quindi hai una serie di corrispondenze ora, che sono delineate nel tuo spazio 4-D, ricordati ogni corrispondenza come tx, tx, s e θ. Così in questo spazio 4-D, avrete a che fare ognuna di queste corrispondenze posate. Ora dovresti essere in grado di disegnare somiglianza con il kernel di corrispondenza piramidale, perché ora stai facendo tutta la tua corrispondenza piramidale in questo spazio di trasformazione 4-D ed è per questo che la chiamiamo pasta piramidale corrispondente. Così ogni corrispondenza c è ponderata da qualche w (c) basata su qualche parola visiva. Si può scegliere di utilizzare questo o si può dare un, si può avere un peso uniforme se si sceglie. (36:28) Poi a livello zero, che è il primo livello di matching, ricordati dove hai dei bidoni molto granulari. Se ci sono corrispondenze conflittuali nello stesso bidone, li cancellerai. Ad esempio, si vede che c7 e c8 hanno due punti diversi da immagine P corrispondenti allo stesso punto dell'immagine Q. Così si eliminerà uno di essi. Quindi c7 viene rimosso in questo caso e si conserva solo c8. (36:56) Ora, in ognuno di questi bidoni in questa piramide, ricordati che questo binning ora è nello spazio di trasformazione come quello 4-D spazio di traduzione, scala e rotazione. Così, in ognuno di questi cestini b con le corrispondenti nb. Così, per esempio, questo bidone hai due corrispondenti, questo bidone hai tre corrispondenti. Così ogni gruppo di corrispondenza con altri due. In questo caso ce ne sono tre. Quindi ogni gruppo di corrispondenza con altri tre e il tuo peso a livello zero sarà di 1 molto simile a come lo abbiamo fatto per il kernel di corrispondenza piramidale. Quindi, ora, se vedete qui, vedete che avete i punteggi di similitudine ora, che è dato da, avete per c1 che è qui, avete due nuovi punti su due nuovi corrispondenti.