Tensore trifocale: Esplorare la profondità, il movimento e la struttura nella visione artificiale
Di Fouad Sabry
()
Info su questo ebook
Cos'è il tensore trifocale
Nel regno della visione artificiale, il tensore trifocale è una matrice numerica che vanta dimensioni di 3×3×3 e comprende tutte le relazioni geometriche proiettive tra le tre prospettive. Le coordinate dei punti o delle linee corrispondenti in tre diverse viste sono correlate tra loro mediante questo metodo, che è indipendente dalla struttura della scena e si basa esclusivamente sul movimento relativo tra le tre viste e sui parametri di calibrazione intrinseci di ciascuna vista . Di conseguenza, il tensore trifocale può essere pensato come la generalizzazione della matrice fondamentale in tre diverse prospettive. Nonostante il tensore sia composto da 27 elementi, è importante evidenziare che solo 18 di questi elementi sono realmente indipendenti.
Come trarrai beneficio
(I) Approfondimenti e convalide sui seguenti argomenti:
Capitolo 1: Tensore_trifocale
Capitolo 2: Rango_(algebra_lineare)
Capitolo 3: Traccia_(algebra_lineare)
Capitolo 4: Analisi_componente_principale
Capitolo 5: Traslazione_(geometria)
Capitolo 6: Prodotto_Kronecker
Capitolo 7: Autovalori_e_autovettori
Capitolo 8: Spazio_tridimensionale
Capitolo 9: Matrice_Fondamentale_(visione_computer)
Capitolo 10: Rilevamento_angolo
(II) Rispondere alle principali domande del pubblico sul tensore trifocale.
(III) Esempi reali per l'utilizzo del tensore trifocale in molti campi.
A chi è rivolto questo libro
Professionisti, studenti universitari e laureati, appassionati, hobbisti e coloro che vogliono andare oltre le conoscenze o le informazioni di base per qualsiasi tipo di tensore trifocale.
Leggi altro di Fouad Sabry
Correlato a Tensore trifocale
Titoli di questa serie (100)
Istogramma dell'immagine: Svelare intuizioni visive, esplorare le profondità degli istogrammi delle immagini nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniBanca filtri: Approfondimenti sulle tecniche del banco di filtri di Computer Vision Valutazione: 0 su 5 stelle0 valutazioniRidipintura: Colmare le lacune nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniFunzione di corrispondenza dei colori: Comprendere la sensibilità spettrale nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniRetinex: Svelare i segreti della visione computazionale con Retinex Valutazione: 0 su 5 stelle0 valutazioniVisione computerizzata: Esplorare le profondità della visione artificiale Valutazione: 0 su 5 stelle0 valutazioniVisione artificiale subacquea: Esplorando le profondità della visione artificiale sotto le onde Valutazione: 0 su 5 stelle0 valutazioniVisione stereoscopica del computer: Esplorare la percezione della profondità nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniSistema di gestione del colore: Ottimizzazione della percezione visiva negli ambienti digitali Valutazione: 0 su 5 stelle0 valutazioniDiffusione anisotropa: Miglioramento dell'analisi delle immagini attraverso la diffusione anisotropa Valutazione: 0 su 5 stelle0 valutazioniEqualizzazione dell'istogramma: Miglioramento del contrasto dell'immagine per una migliore percezione visiva Valutazione: 0 su 5 stelle0 valutazioniRiduzione del rumore: Miglioramento della chiarezza, tecniche avanzate per la riduzione del rumore nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniGruppo congiunto di esperti fotografici: Sfruttare la potenza dei dati visivi con lo standard JPEG Valutazione: 0 su 5 stelle0 valutazioniMappatura dei toni: Mappatura dei toni: prospettive illuminanti nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniCorrezione gamma: Migliorare la chiarezza visiva nella visione artificiale: la tecnica di correzione gamma Valutazione: 0 su 5 stelle0 valutazioniOmografia: Omografia: trasformazioni nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTrasformazione affine: Sbloccare le prospettive visive: esplorare la trasformazione affine nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTrasformata del radon: Svelare modelli nascosti nei dati visivi Valutazione: 0 su 5 stelle0 valutazioniMetodo di impostazione del livello: Avanzamento della visione artificiale, esplorazione del metodo dell'impostazione dei livelli Valutazione: 0 su 5 stelle0 valutazioniFiltro adattivo: Migliorare la visione artificiale attraverso il filtraggio adattivo Valutazione: 0 su 5 stelle0 valutazioniTrasformazione di Hough: Svelare la magia della trasformazione di Hough nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniPercezione visiva: Approfondimenti sull'elaborazione visiva computazionale Valutazione: 0 su 5 stelle0 valutazioniModello del sistema visivo umano: Comprendere la percezione e l'elaborazione Valutazione: 0 su 5 stelle0 valutazioniCompressione delle immagini: Tecniche efficienti per l'ottimizzazione dei dati visivi Valutazione: 0 su 5 stelle0 valutazioniSpazio colore: Esplorare lo spettro della visione artificiale Valutazione: 0 su 5 stelle0 valutazioniProfilo colore: Esplorare la percezione visiva e l'analisi nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniModello di aspetto del colore: Comprendere la percezione e la rappresentazione nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTrasformata di Hadamard: Svelare il potere della trasformazione Hadamard nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniMinimi quadrati: Tecniche di ottimizzazione per la visione artificiale: metodi dei minimi quadrati Valutazione: 0 su 5 stelle0 valutazioniRegolazione del pacchetto: Ottimizzazione dei dati visivi per una ricostruzione precisa Valutazione: 0 su 5 stelle0 valutazioni
Ebook correlati
Trasformazione lineare diretta: Applicazioni pratiche e tecniche nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniMetodo di impostazione del livello: Avanzamento della visione artificiale, esplorazione del metodo dell'impostazione dei livelli Valutazione: 0 su 5 stelle0 valutazioniEsercizi di matematica: sistemi differenziali lineari Valutazione: 0 su 5 stelle0 valutazioniEsercizi di matematica: analisi numerica Valutazione: 5 su 5 stelle5/5Esercizi di matematica: matrici e algebra lineare Valutazione: 5 su 5 stelle5/5Correlazione incrociata: Sbloccare i modelli nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniMatematica: calcolo vettoriale e matriciale Valutazione: 5 su 5 stelle5/5Interpolazione bilineare: Miglioramento della risoluzione e della chiarezza dell'immagine tramite l'interpolazione bilineare Valutazione: 0 su 5 stelle0 valutazioniMatematica vettoriale, matriciale e tensoriale Valutazione: 5 su 5 stelle5/5Analisi numerica Valutazione: 5 su 5 stelle5/5Computer grafica bidimensionale: Esplorazione del regno visivo: computer grafica bidimensionale nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniAlgoritmo della linea di Bresenham: Rendering delle linee efficiente e pixel perfetto per la visione artificiale Valutazione: 0 su 5 stelle0 valutazioniAnalisi matematica avanzata Valutazione: 5 su 5 stelle5/5Esercizi di matematica: studio di funzioni a variabile reale Valutazione: 0 su 5 stelle0 valutazioniEsercizi svolti di Matematica: Geometria Analitica Valutazione: 0 su 5 stelle0 valutazioniMatematica: geometria analitica Valutazione: 0 su 5 stelle0 valutazioniEsercizi di matematica: vettori e spazi vettoriali Valutazione: 0 su 5 stelle0 valutazioniEsercizi svolti di Matematica: Vettori Valutazione: 0 su 5 stelle0 valutazioniRelatività, decadimenti e campi elettromagnetici Valutazione: 0 su 5 stelle0 valutazioniRegolazione del pacchetto: Ottimizzazione dei dati visivi per una ricostruzione precisa Valutazione: 0 su 5 stelle0 valutazioniScala dello spazio: Esplorare le dimensioni nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniEsercizi di matematica: numeri complessi e funzioni iperboliche Valutazione: 0 su 5 stelle0 valutazioniEsercizi di matematica: funzioni reali a più variabili Valutazione: 0 su 5 stelle0 valutazioniImparare la fisica zero Valutazione: 0 su 5 stelle0 valutazioniTrasformazione affine: Sbloccare le prospettive visive: esplorare la trasformazione affine nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniMatematica: numeri complessi Valutazione: 0 su 5 stelle0 valutazioniEsercizi di matematica: studio di funzioni Valutazione: 0 su 5 stelle0 valutazioniEsercizi di matematica: integrali di linea, di superficie e di volume Valutazione: 4 su 5 stelle4/5Campo casuale di Markov: Esplorazione della potenza dei campi casuali di Markov nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniOmografia: Omografia: trasformazioni nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioni
Intelligenza artificiale e semantica per voi
ANonniMus: Vecchi rivoluzionari contro giovani robot Valutazione: 0 su 5 stelle0 valutazioniIl Terzo Like Valutazione: 0 su 5 stelle0 valutazioniGuida Intelligenza Artificiale Valutazione: 0 su 5 stelle0 valutazioni
Recensioni su Tensore trifocale
0 valutazioni0 recensioni
Anteprima del libro
Tensore trifocale - Fouad Sabry
Capitolo 1: Tensore trifocale
Per quanto riguarda la visione artificiale, il tensore trifocale (anche tritensore) è un array 3×3×3 di numeri (cioè un tensore) che rappresenta l'intero insieme delle relazioni tra tre punti di vista nella geometria proiettiva.
Le coordinate tridimensionali di linee e punti paralleli sono correlate, non avendo nulla a che fare con la topologia della scena e tutto a che fare con la mobilità relativa (cioè la posizione) tra le tre prospettive e i loro fattori di calibrazione innati.
Quindi, il tensore trifocale può essere pensato come una versione tridimensionale della matrice di base.
Si sottolinea che, sebbene il tensore sia costituito da 27 elementi, solo 18 di essi possono essere considerati veramente autosufficienti.
Ci sono 11 gradi di libertà, o elementi indipendenti, nel cosiddetto tensore trifocale calibrato, che codifica la postura relativa delle telecamere fino alla scala globale mettendo in relazione le coordinate di punti e linee in tre viste date le loro proprietà intrinseche. A causa della diminuzione dei gradi di libertà, è necessario inserire un minor numero di corrispondenze nel modello, ma ciò va a scapito di una maggiore non linearità.
Il tensore può anche essere visto come un insieme di tre matrici 3 x 3 di rango due {\mathbf T}_1, \; {\mathbf T}_2, \; {\mathbf T}_3 note come sezioni di correlazione.
Supponendo che le matrici di proiezione di tre viste siano {\mathbf P}=[ {\mathbf I} \; | \; {\mathbf 0} ] , {\displaystyle {\mathbf {P} }'=[{\mathbf {A} }\;|\;{\mathbf {a} }_{4}]} e {\displaystyle {\mathbf {P} ''}=[{\mathbf {B} }\;|\;{\mathbf {b} }_{4}]} , le sezioni di correlazione del tensore corrispondente possono essere espresse in forma chiusa come
{\mathbf T}_i={\mathbf a}_i {\mathbf b}_4^t - {\mathbf a}_4 {\mathbf b}_i^t, \; i=1 \ldots 3, dove {\mathbf a}_i, \; {\mathbf b}_i sono rispettivamente le i-esime colonne delle matrici della camera.
In pratica, tuttavia, il tensore viene calcolato confrontando ciascuna delle tre prospettive per la corrispondenza di punti e linee.
Le relazioni lineari tra linee e punti in tre immagini sono uno dei risultati più utili del tensore trifocale.
Più specificamente, per le triplette di punti corrispondenti e per {\displaystyle {\mathbf {x} }\;\leftrightarrow \;{\mathbf {x} }'\;\leftrightarrow \;{\mathbf {x} }''} tutte le rette corrispondenti {\displaystyle {\mathbf {l} }\;\leftrightarrow \;{\mathbf {l} }'\;\leftrightarrow \;{\mathbf {l} }''} che li attraversano, sono valide le restrizioni tridimensionali elencate di seguito:
{\displaystyle ({\mathbf {l} }^{\prime t}\left[{\mathbf {T} }_{1},\;{\mathbf {T} }_{2},\;{\mathbf {T} }_{3}\right]{\mathbf {l} }'')[{\mathbf {l} }]_{\times }={\mathbf {0} }^{t}}{\displaystyle {\mathbf {l} }^{\prime t}\left(\sum _{i}x_{i}{\mathbf {T} }_{i}\right){\mathbf {l} }''=0}{\displaystyle {\mathbf {l} }^{\prime t}\left(\sum _{i}x_{i}{\mathbf {T} }_{i}\right)[{\mathbf {x} }'']_{\times }={\mathbf {0} }^{t}}{\displaystyle [{\mathbf {x} }']_{\times }\left(\sum _{i}x_{i}{\mathbf {T} }_{i}\right){\mathbf {l} }''={\mathbf {0} }}{\displaystyle [{\mathbf {x} }']_{\times }\left(\sum _{i}x_{i}{\mathbf {T} }_{i}\right)[{\mathbf {x} }'']_{\times }={\mathbf {0} }_{3\times 3}}dove [\cdot]_{\times} indica la matrice del prodotto incrociato asimmetrico.
La posizione di un punto in una terza vista può essere determinata da una coppia di punti corrispondenti in due viste utilizzando solo il tensore trifocale di tali viste. Il trasferimento di punti descrive questo fenomeno, che si applica anche alle linee e alle coniche. È possibile trasferire curve generiche come coniche modellandole prima come cerchi osculanti in una curva differenziale locale. Tuttavia, la questione dei tensori trifocali non calibrati è ancora nell'aria.
Il caso standard prevede corrispondenze a sei punti con tre soluzioni.
Negli ultimi anni si è giunti alla soluzione del problema del calcolo del tensore trifocale utilizzando solo nove corrispondenze lineari.
Si dice che la stima calibrata del tensore trifocale sia estremamente impegnativa e richieda corrispondenze a quattro punti. Lo stesso metodo si è rivelato minimo anche con il grado 216 per la situazione combinata di corrispondenze a tre punti e una corrispondenza lineare.
{Fine Capitolo 1}
Capitolo 2: Rango (algebra lineare)
Il rango di una matrice A è il numero di dimensioni dello spazio vettoriale formato (o estratto) dalle sue colonne in algebra lineare. Pertanto, la non degenerazione
delle equazioni lineari e delle trasformazioni lineari memorizzate da A può essere quantificata in termini di rango. Il rango può essere inteso in vari modi. Il rango di una matrice è una proprietà molto elementare.
Il rango è tipicamente rappresentato dai simboli rank(A) o rk (A); Il rango di una matrice viene definito in questa sezione. Esiste un'ampia gamma di potenziali significati, alcuni dei quali sono esplorati nella sezione Significati alternativi.
Se A è un insieme, il suo rango di colonna è il numero di elementi nel suo spazio di colonne e il suo rango di riga è il numero di elementi nel suo spazio di riga.
In algebra lineare, è un risultato del primo ordine che il rango di una colonna è sempre uguale al rango di una riga.
(Tre dimostrazioni di questo risultato sono fornite in § Dimostrazioni che rango di colonna = rango di riga, di seguito.) Si consideri questa somma (ad esempio, contando il numero di righe e colonne univoche in A si ottiene il suo rango.
Se una matrice ha lo stesso numero di righe e colonne della matrice più grande concepibile di quelle dimensioni, allora si dice che ha rango completo. Se una matrice non ha un rango completo, si dice che è carente di rango. Se una matrice ha meno righe che colonne, si dice che ha un deficit di rango.
Il rango di una mappa lineare o di un operatore \Phi è definito come la dimensione della sua immagine:
{\displaystyle \operatorname {rank} (\Phi ):=\dim(\operatorname {img} (\Phi ))}dove {\displaystyle \dim } è la dimensione di uno spazio vettoriale e {\displaystyle \operatorname {img} } è l'immagine di una mappa.
La matrice
{\displaystyle {\begin{bmatrix}1&0&1\\-2&-3&1\\3&3&0\end{bmatrix}}}ha rango 2; Ci sono almeno due colonne linearmente indipendenti (la prima e la seconda), quindi il rango è almeno 2, ma il rango non è maggiore di 3 poiché la terza colonna è una combinazione lineare delle prime due (la prima meno la seconda).
La matrice
{\displaystyle A={\begin{bmatrix}1&1&0&2\\-1&-1&0&-2\end{bmatrix}}}ha rango 1; Ci sono alcune colonne, quindi il rango è diverso da zero; Tuttavia, due colonne sono linearmente dipendenti l'una dall'altra. Allo stesso modo, l'inversione
{\displaystyle A^{\mathrm {T} }={\begin{bmatrix}1&-1\\1&-1\\0&0\\2&-2\end{bmatrix}}}al primo posto, A.
Infatti, dato che la trasposizione di A ha gli stessi vettori colonna dei vettori riga di A, dire che una matrice ha lo stesso rango della sua trasposizione è paragonabile a dire che il suo rango di colonna è lo stesso del suo rango di riga, cioè rank(A) = rank(AT).
Trovare il rango di una matrice comporta in genere trasformarla in una forma più semplice, chiamata forma a scaglioni di riga, utilizzando solo semplici operazioni di riga. A causa della loro invertibilità, le operazioni di riga non alterano lo spazio di riga (e quindi il rango di riga) e traslano invece lo spazio di colonna in uno spazio isomorfo (quindi non modificano il rango di colonna). Il formato Row echelon rende il rango uguale alla somma dei numeri di pivot (o colonne di base) più il numero di righe diverse da zero.
Si consideri la matrice A, che può essere scritta come
{\displaystyle A={\begin{bmatrix}1&2&1\\-2&-3&1\\3&5&0\end{bmatrix}}}può essere scritto in forma compatta row-echelon utilizzando le successive operazioni di base di riga:
{\displaystyle {\begin{aligned}{\begin{bmatrix}1&2&1\\-2&-3&1\\3&5&0\end{bmatrix}}&\xrightarrow {2R_{1}+R_{2}\to R_{2}} {\begin{bmatrix}1&2&1\\0&1&3\\3&5&0\end{bmatrix}}\xrightarrow {-3R_{1}+R_{3}\to R_{3}} {\begin{bmatrix}1&2&1\\0&1&3\\0&-1&-3\end{bmatrix}}\\&\xrightarrow {R_{2}+R_{3}\to R_{3}} \,\,{\begin{bmatrix}1&2&1\\0&1&3\\0&0&0\end{bmatrix}}\xrightarrow {-2R_{2}+R_{1}\to R_{1}} {\begin{bmatrix}1&0&-5\\0&1&3\\0&0&0\end{bmatrix}}~.\end{aligned}}}Di conseguenza, il rango della matrice A è 2, poiché la matrice finale (in forma di scaglione di riga) ha due righe che non sono 0.
L'eliminazione gaussiana di base (decomposizione LU) può essere instabile quando viene impiegata nei calcoli in virgola mobile sui computer; Si consiglia invece una decomposizione che riveli il rango. La decomposizione del valore singolare (SVD) è un'alternativa potente, anche se ci sono alternative più economiche che sono ancora più robuste numericamente dell'eliminazione gaussiana, come la decomposizione QR con pivoting (la cosiddetta fattorizzazione QR che rivela il rango). Per la determinazione numerica del rango è necessaria una scelta pratica che dipende sia dalla matrice che dall'applicazione, come ad esempio un criterio per selezionare quando un valore, come un valore singolare dell'SVD, deve essere considerato come zero.
In algebra lineare, l'uguaglianza dei ranghi di colonne e righe di una matrice è una proprietà fondamentale.
Sono stati forniti numerosi esempi.
Uno dei più elementari è stato abbozzato in § Rank dalle forme a scaglioni di fila.
Una dimostrazione alternativa è presentata qui:
È facile dimostrare che un'operazione di riga di base non ha alcun effetto sul rango di riga o sul rango di colonna. A causa della natura dell'eliminazione gaussiana, che coinvolge solo semplici operazioni di riga, il rango di riga e il rango di colonna di una matrice vengono entrambi conservati nella sua versione a scaglioni di riga ridotta. La matrice può essere trasformata in una matrice di identità eseguendo alcune operazioni di colonna più elementari, ad esempio l'aggiunta di una riga di zeri a ciascun lato. Ancora una volta, questo non ha alcun effetto sull'ordine delle righe o delle colonne. Il numero di matrici con voci diverse da zero è direttamente proporzionale al rango di ogni riga e colonna.
Vengono fornite altre due prove di questo risultato. Il primo è indipendente dal campo e impiega solo le caratteristiche elementari delle combinazioni lineari di vettori. Wardlaw è il fondamento della dimostrazione (2005).
Sia A una matrice m × n.
Assumiamo che r sia il rango della colonna di A, e sia c1, .., cr una base qualsiasi per lo spazio della colonna di A.
Posizionali come colonne di una matrice m × r C.
Ognuna delle colonne di A può essere scritta come una combinazione lineare delle colonne r di C.
Ciò significa che esiste una matrice r × n R tale che A = CR.
R è la matrice la cui i-esima colonna è formata dai coefficienti che danno l' i-esima colonna di A come combinazione lineare delle colonne r di C.
Per riformulare, R è la matrice che contiene i multipli per le basi dello spazio delle colonne di A (che è C), per completare la lettera A.
Ora, combinando linearmente le r righe di R si ottiene ogni riga di A.
Pertanto, le righe in R si estendono sia nello spazio delle righe A che in B, secondo il lemma di scambio di Steinitz, r è il rango massimo di riga che A può avere.
È la prova che A ha un rango di riga inferiore rispetto a un rango di colonna.
Qualsiasi matrice può trarre beneficio da questa conclusione, quindi utilizzare la soluzione per la trasposizione di A.
Quando A viene trasposto, il suo rango di riga diventa il suo rango di colonna e il suo rango di colonna diventa il suo rango di riga, Questo dimostra la disuguaglianza inversa e ci dà che il rango di riga di A e il rango di colonna sono uguali.
Per un concetto correlato, vedere Fattorizzazione del rango.
Sia A una matrice m × n con voci nei numeri reali il cui rango di riga è r.
Pertanto, A ha r righe, quindi r è la dimensione del suo spazio di righe.
Siano x1, x2, ..., xr una base dello spazio delle righe di A.
Affermiamo che i vettori Ax1, Ax2, ..., Axr sono linearmente indipendenti.
Per capire, si consideri una relazione omogenea lineare che coinvolge questi vettori con coefficienti scalari c1, c2, ..., cr:
{\displaystyle 0=c_{1}A\mathbf {x} _{1}+c_{2}A\mathbf {x} _{2}+\cdots +c_{r}A\mathbf {x} _{r}=A(c_{1}\mathbf {x} _{1}+c_{2}\mathbf {x} _{2}+\cdots +c_{r}\mathbf {x} _{r})=A\mathbf {v} ,}dove v = c1x1 + c2x2 + ⋯ + crxr.
Notiamo due cose: una combinazione lineare di vettori nello spazio delle righe di A è indicata con v, quindi v deve esistere nelle righe di A, inoltre (b), perché Av = 0, Ogni vettore di riga di A e il