La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sistemi di visione per la navigazione autonoma Relatore: ch.mo prof. Ruggero FREZZA Laureando: Andrea ROSSETTI Padova, 11 aprile 2005.

Presentazioni simili


Presentazione sul tema: "Sistemi di visione per la navigazione autonoma Relatore: ch.mo prof. Ruggero FREZZA Laureando: Andrea ROSSETTI Padova, 11 aprile 2005."— Transcript della presentazione:

1 Sistemi di visione per la navigazione autonoma Relatore: ch.mo prof. Ruggero FREZZA Laureando: Andrea ROSSETTI Padova, 11 aprile 2005

2 2 Il problema della visione stereo Vogliamo realizzare un algoritmo di visione stereo real-time, per valutare le distanze di oggetti inquadrati da due telecamereVogliamo realizzare un algoritmo di visione stereo real-time, per valutare le distanze di oggetti inquadrati da due telecamere Feature: useremo le intensità dei pixel, danno output densi e hanno un campo di applicazione ampio (es.: interni-esterni)Feature: useremo le intensità dei pixel, danno output densi e hanno un campo di applicazione ampio (es.: interni-esterni) (Ohta-Kanade, 1986)

3 3 Relazione disparità-distanza Se le telecamere hanno piani focali complanari e allineati, posso trovare la distanza in base alla disparità con un’opportuna triangolazioneSe le telecamere hanno piani focali complanari e allineati, posso trovare la distanza in base alla disparità con un’opportuna triangolazione b = baseline d = disparità Z f = focale Distanza: inv. prop. alla disparitàDistanza: inv. prop. alla disparità Risoluzione: prop. al quadrato della distanzaRisoluzione: prop. al quadrato della distanza

4 4 Procedura di rettificazione Si riproiettano le immagini su piani focali complanari allineati, con una rotazione dei piani attorno ai centri focaliSi riproiettano le immagini su piani focali complanari allineati, con una rotazione dei piani attorno ai centri focali Problema: non sempre posso disporre di piani focali così allineatiProblema: non sempre posso disporre di piani focali così allineati C2C2 C1C1 M2M2 M1M1 W R1R1 R2R2 C1C1 M2M2 M1M1 W R1R1 C2C2 R2R2 Funzione disponibile nella libreria OpenCVFunzione disponibile nella libreria OpenCV

5 5 Mappe di disparità L’output del programma consiste in un immagine in toni di grigio: maggiore la disparità, maggiore l’intensità luminosaL’output del programma consiste in un immagine in toni di grigio: maggiore la disparità, maggiore l’intensità luminosa Quindi oggetti più vicini = toni di grigio più chiariQuindi oggetti più vicini = toni di grigio più chiari Dalla mappa di disparità è immediato risalire alle distanze con la relazione disparità-distanzaDalla mappa di disparità è immediato risalire alle distanze con la relazione disparità-distanza Cam.1Cam.2

6 6 Disparità con metodi locali Utilizzo la funzione SSD per confrontare due zone rettangolari nell’immagine sinistra e destraUtilizzo la funzione SSD per confrontare due zone rettangolari nell’immagine sinistra e destra Per ogni punto (x,y) scelgo il valore di disparità d min che minimizza SSD(x,y,d)Per ogni punto (x,y) scelgo il valore di disparità d min che minimizza SSD(x,y,d) SSD in programmazione dinamica: il tempo di calcolo diventa indipendente dall’area della finestraSSD in programmazione dinamica: il tempo di calcolo diventa indipendente dall’area della finestra Tempo totale di esecuzione:Tempo totale di esecuzione: O(righe colonne max.livelli)

7 7 Disparità con metodi globali Cerco la sequenza di matching tra feature che massimizza la probabilità di matching dell’intera scanline; tengo conto di eventuali occlusioni (feature visibili in 1 sola imm.)Cerco la sequenza di matching tra feature che massimizza la probabilità di matching dell’intera scanline; tengo conto di eventuali occlusioni (feature visibili in 1 sola imm.) Equivalente ad un problema di cammino a costo minimo (Dijkstra)Equivalente ad un problema di cammino a costo minimo (Dijkstra) OriginaleMet.localiMet.globali Superiorità rispetto ai metodi localiSuperiorità rispetto ai metodi locali Scanline sinistra Scanline destra

8 8 Metodi globali: vincoli Alcune combinazioni di matching corrispondono a soluzioni fisicamente impossibili: le scartiamo imponendo dei vincoliAlcune combinazioni di matching corrispondono a soluzioni fisicamente impossibili: le scartiamo imponendo dei vincoli Vincolo di unicità: uno stesso pixel non può appartenere a due matching diversiVincolo di unicità: uno stesso pixel non può appartenere a due matching diversi Vincolo di ordinamento: scelti due matching (l 1,r 1 ) e (l 2,r 2 ), se l 1 <l 2 allora anche r 1 <r 2 e viceversaVincolo di ordinamento: scelti due matching (l 1,r 1 ) e (l 2,r 2 ), se l 1 <l 2 allora anche r 1 <r 2 e viceversa O(righe colonne max.livelli) Metodi globali: tempo di esecuzione pari a quello ottenibile con metodi locali

9 9 Metodi globali: miglioramenti Vincolo di stabilizzazione: a un’occlusione destra non può seguire un’occlusione sinistra, e viceversa (almeno un pixel di matching nel mezzo)Vincolo di stabilizzazione: a un’occlusione destra non può seguire un’occlusione sinistra, e viceversa (almeno un pixel di matching nel mezzo) Uso della SSD anche nell’algoritmo globaleUso della SSD anche nell’algoritmo globale Termine a priori: aggiungiamo alla funzione di costo una probabilità gaussiana centrata sul valore di disparità al frame precedente; funzionamento in feedbackTermine a priori: aggiungiamo alla funzione di costo una probabilità gaussiana centrata sul valore di disparità al frame precedente; funzionamento in feedback

10 10 Filtraggio di Kalman Vogliamo attenuare la rumorosità delle misure di disparitàVogliamo attenuare la rumorosità delle misure di disparità Per ogni pixel dell’output uso un filtro di Kalman con modello dinamico molto semplice:Per ogni pixel dell’output uso un filtro di Kalman con modello dinamico molto semplice: Matrici di covarianza Q ed R: vanno regolate a un valore di compromesso tra buona attenuazione del rumore ed eccessiva presenza di “scie” in outputMatrici di covarianza Q ed R: vanno regolate a un valore di compromesso tra buona attenuazione del rumore ed eccessiva presenza di “scie” in output Ottimizzazione con OpenCV: le operazioni matematiche per il filtraggio vengono eseguite in blocco su tutti i pixel con funzioni altamente ottimizzateOttimizzazione con OpenCV: le operazioni matematiche per il filtraggio vengono eseguite in blocco su tutti i pixel con funzioni altamente ottimizzate

11 11 Risultati sperimentali Firewire 1280x1024 256 toni di grigio PC P4 2GHz RAM 512MB

12 12 Risultati sperimentali DistanzaTelec.sinistraTelec.destra

13 13 Integrazione con i software per il controllo e il path planningIntegrazione con i software per il controllo e il path planning Modelli più avanzati per il Filtro di KalmanModelli più avanzati per il Filtro di Kalman Uso di immagini a coloriUso di immagini a colori Ottimizzazione con istruzioni SIMD e parallelizzazione per un miglior frame rateOttimizzazione con istruzioni SIMD e parallelizzazione per un miglior frame rate Sviluppi futuri Website: http://andrear.altervista.org/tesiWebsite: http://andrear.altervista.org/tesi


Scaricare ppt "Sistemi di visione per la navigazione autonoma Relatore: ch.mo prof. Ruggero FREZZA Laureando: Andrea ROSSETTI Padova, 11 aprile 2005."

Presentazioni simili


Annunci Google