Sommario:

Ricostruzione 3D da una singola foto: 8 passaggi
Ricostruzione 3D da una singola foto: 8 passaggi

Video: Ricostruzione 3D da una singola foto: 8 passaggi

Video: Ricostruzione 3D da una singola foto: 8 passaggi
Video: 14/11/2019 - AUTOCISTERNA PRECIPITA DA UN VIADOTTO IN SLOVENIA: MORTO IL CONDUCENTE 2024, Luglio
Anonim
Ricostruzione 3D da una singola foto
Ricostruzione 3D da una singola foto
Ricostruzione 3D da una singola foto
Ricostruzione 3D da una singola foto

Il compito della ricostruzione 3D è solitamente associato alla visione binoculare. In alternativa, puoi spostare una singola telecamera attorno all'oggetto. Nel frattempo, se si conosce la forma dell'oggetto, il compito può essere risolto da una singola foto. Cioè hai solo una telecamera e non si muove. Vediamo come farlo passo dopo passo. Useremo il cubo di Rubik perché è ben standardizzato e ha un ricco set di funzionalità. Può essere considerato un oggetto molto semplice e allo stesso tempo un costrutto complicato. Quindi la visione artificiale deve superare ostacoli sostanziali per completare il compito.

Passaggio 1: valutare la complessità del compito

Valutare la complessità del compito
Valutare la complessità del compito
Valutare la complessità del compito
Valutare la complessità del compito
Valutare la complessità del compito
Valutare la complessità del compito
Valutare la complessità del compito
Valutare la complessità del compito

A prima vista, il compito è semplice. Trova il nodo centrale dove si uniscono i 3 bordi del cubo e disegna questi bordi. Dalle loro coordinate è possibile calcolare la distanza dalla telecamera e gli angoli di rotazione. Il problema è che queste linee non esistono. Dall'immagine a sinistra si vede che ogni bordo è rappresentato da 2 linee parallele. Inoltre, l'immagine in alto a destra mostra che ognuno di essi è suddiviso in 3 segmenti. Inoltre, se applichiamo una variante della popolare trasformata di Hough in grado di rilevare i segmenti di linea, esegue il compito con alcuni errori che rendono impossibile il rilevamento del nodo centrale. Se le estremità non si toccano, non c'è un unico punto. Se il rilevamento supera l'estremità, assomiglierà al nodo al centro del bordo come si vede nelle 2 immagini rimanenti.

Passaggio 2: trova l'approccio corretto

Trova l'approccio corretto
Trova l'approccio corretto

Quando troppi dettagli rendono impraticabili gli algoritmi deterministici, è il momento di considerare l'approccio probabilistico. Se calcoliamo i parametri medi dell'immagine, i loro errori saranno sostanzialmente diminuiti e paradossalmente il metodo risulterà più affidabile. La trasformata di Hough standard non produce segmenti di linea. Solo la sua pendenza theta e la distanza rho dall'origine della coordinata. Formano la parte dello spazio di Hough di cui è mostrata sopra. Qui theta corrisponde all'asse orizzontale. I punti luminosi contrassegnano le possibili linee sull'immagine. Nota che molti di questi punti si trovano uno sopra l'altro. Non c'è da stupirsi, sulla nostra immagine ci sono molte linee parallele. Hanno lo stesso theta e diversi rho.

Passaggio 3: calcola l'istogramma Theta

Calcola istogramma Theta
Calcola istogramma Theta

Rileviamo tali cluster. A questo scopo riassumeremo le letture per tutti i punti nello spazio di Hough con lo stesso theta. Vedete l'istogramma corrispondente sull'illustrazione. Qualche nota sulle misurazioni. Quando lavori con immagini in coordinate pixel, l'asse X va come al solito, ma Y punta verso il basso, quindi l'origine della coordinata è l'angolo in alto a sinistra e theta dovrebbe essere misurato dall'asse X in senso orario. Tenendo presente che l'intero arco di theta sull'immagine è di 180 gradi, è possibile verificare approssimativamente che 3 picchi principali rappresentano 3 pendenze predominanti sull'immagine.

Passaggio 4: calcola l'istogramma Rho

Calcola l'istogramma Rho
Calcola l'istogramma Rho

Ora che conosciamo 3 gruppi principali di linee parallele, separiamo le linee all'interno di ciascuno di essi. Possiamo ripetere lo stesso approccio. Prendiamo una colonna dello spazio di Hough che corrisponde a un picco sull'istogramma theta. Successivamente, calcoleremo un altro istogramma in cui l'asse X rappresenta il valore rho e Y - letture riassunte per questo rho. Ovviamente, la somma sarà inferiore, quindi questo grafico non è così fluido. Tuttavia, i picchi sono chiaramente visibili e il loro numero (7) corrisponde esattamente al numero di linee parallele sull'immagine sorgente. Sfortunatamente, non tutti i grafici sono così perfetti, ma il principio è chiaro.

Passaggio 5: trova il nodo centrale

Trova il nodo centrale
Trova il nodo centrale

Se prendiamo il picco centrale sull'istogramma rho per ogni theta, otterremo 3 linee che sono rosse sull'immagine. La loro intersezione segna il punto necessario.

Passaggio 6: scegli tra 2 alternative

Scegli tra 2 alternative
Scegli tra 2 alternative
Scegli tra 2 alternative
Scegli tra 2 alternative

Vedete che ogni linea va dal punto centrale in entrambe le direzioni. Come determinare la metà corretta? Prendiamo theta3. Supponiamo di prendere la parte inferiore di questa linea. Calcoliamo ancora un altro spazio di Hough solo per la parte dell'immagine da 2 linee verdi nell'angolo in alto a destra dell'immagine. Quindi crea l'istogramma theta per esso. Vedete che il terzo picco è completamente scomparso, quindi abbiamo fatto la scelta corretta.

Passaggio 7: determinare gli angoli esterni

Determinare gli angoli esterni
Determinare gli angoli esterni

Ora possiamo usare il primo e l'ultimo picco su istogrammi rho in modo da disegnare linee blu che tagliano i bordi rossi e segnano gli angoli di riposo. Il compito è risolto.

Passaggio 8: provalo in pratica

Le illustrazioni per questo Instructable sono state create utilizzando Perception 1.0. Questo è un software gratuito che utilizza OpenCV, una potente libreria per la visione artificiale. Inoltre può essere collegato a WinNB che è stato utilizzato nel mio altro Instructable fornendo così capacità di visione per la robotica. Puoi scaricare entrambi i programmi da nbsite. Per l'installazione, basta eseguire il file exe scaricato. Successivamente, puoi rimuoverlo utilizzando lo strumento standard di Windows. Il sito contiene anche risorse sulla visione artificiale e argomenti correlati. In Perception troverai il metodo descritto di ricostruzione 3D e molti altri. Il vantaggio di questo programma è che emette il risultato finale insieme ai dati intermedi. Sei in grado di ricercare come funziona la visione artificiale senza essere un programmatore. Per quanto riguarda l'input, ogni metodo ha campioni tipici appositamente selezionati. Certo, puoi usare anche il tuo. È possibile inserire immagini da un file o dalla fotocamera del computer. Sentiti libero di contattarmi per qualsiasi domanda o suggerimento.

Consigliato: