http://imagelab.ing.unimo.it presentazione attività di ricerca secondo periodo – aprile-settembre...
TRANSCRIPT
![Page 1: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/1.jpg)
http://imagelab.ing.unimo.it
Presentazione Attività di RicercaSecondo periodo – Aprile-Settembre 2008
02 Ottobre 2008
![Page 2: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/2.jpg)
http://imagelab.ing.unimo.it
Obiettivi progetto
1. Studio di fattibilità ed analisi dei requisiti; ricerca e definizione di sistemi di acquisizione, telecamere e sistema di illuminazione più adatto allo scopo; studio dello stato dell’arte negli algoritmi e nelle librerie software per il pick and place
2. Studio e sviluppo di algoritmi di visione per l’individuazione della posizione e rotazione nel 3D (o 2D ½) del pezzo per calcolo del punto di pick;
3. studio e sviluppo di algoritmi per l’individuazione dell’ingombro dei contenitori dei manufatti
4. studio di segmentazione e localizzazione dei pezzi anche in caso di due oggetti adiacenti o parzialmente sovrapposti
5. Realizzazione di un primo sistema prototipale e campagna di test 6. Estensione al caso di gruppi di pezzi sovrapposti e sviluppo di librerie
invarianti alla dimensione e forma dei pezzi 7. Realizzazione di un sistema prototipale e campagna di test
fatto (periodo 1) fatto (periodo 2)
![Page 3: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/3.jpg)
http://imagelab.ing.unimo.it
Ricostruzione 3D
![Page 4: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/4.jpg)
http://imagelab.ing.unimo.it
Ricostruzione 3D
Problemi ancora da affrontare:• La presenza in alcuni casi di picchi non corretti dovuti alla
mancanza di match corretto tra le due viste; verranno studiati metodi per eliminarle o “tollerarle”
• La gestione di parti poco riflettenti, come il nero, o troppo riflettenti (come specchio o superfici lucide), nonché la gestione delle parti contenenti dei liquidi
![Page 5: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/5.jpg)
http://imagelab.ing.unimo.it
Segmentazione oggetti complessi
Che approccio utilizzare?• Segmentazione basata sull’apparenza/colore
Colori non uniciApparenza molto “confusa” e occlusioni
• Segmentazione basata sui contorniOcclusioniContrasti non evidenti e riflessi
• Segmentazione basata su modello 3D completoModello 3D complesso da acquisireComputazionalmente oneroso
• Segmentazione basata su feature matching e trasf. geometricheRobusto a rotazione, scaling, luminosità, ecc.Veloce (pochi punti, non immagine completa o modello 3D)Feature matchate devono essere correlateSegmentazione non completa, ma “a punti”
![Page 6: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/6.jpg)
http://imagelab.ing.unimo.it
Nostro approccio
I metodi di segmentazione feature-based implementano i seguenti passi:• Feature extraction• Feature matching• Calcolo trasformazione geometrica tra modello e immagine
SIFT
![Page 7: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/7.jpg)
http://imagelab.ing.unimo.it
Feature extraction: SIFT
SIFT (Scale Invariant Feature Transform) – Lowe 2004I passi principali dell’algoritmo SIFT sono i seguenti:
1. Scale-space extrema detection: questo passo ricerca i massimi su tutte le scale e tutte le locazioni spaziali. Viene implementato efficientemente utilizzando le DoG (Difference of Gaussians) per identificare punti di interesse invarianti alla scala e all’orientazione.
2. Keypoint localization: per ogni punti di massimo trovato, un modello dettagliato viene utilizzato per determinare la locazione e la scala. I keypoint selezionati alla fine sono scelti sulla base di una misura di stabilità.
3. Orientation assignment: ad ogni keypoint vengono assegnate una o più orientazioni, sulla base delle direzioni del gradiente in un intorno del keypoint. Tutte le operazioni fatte successivamente sul keypoint vengono fatte rispetto alla direzione, scala e locazione assegnate al keypoint, garantendo quindi invarianza a queste caratteristiche.
4. Keypoint descriptor: vengono calcolati i gradienti locali alla scala selezionata e in un intorno del keypoint. Questi vengono poi trasformati in una rappresentazione che permette distorsioni locali della forma e cambi di illuminazione.
![Page 8: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/8.jpg)
http://imagelab.ing.unimo.it
Scale-space extrema detection
![Page 9: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/9.jpg)
http://imagelab.ing.unimo.it
Scale-space extrema detection
![Page 10: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/10.jpg)
http://imagelab.ing.unimo.it
Ricerca massimi nello scale-space
Oltre a cercare i massimi in un intorno
Elimino i punti con basso contrasto Elimino i punti sugli edge
![Page 11: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/11.jpg)
http://imagelab.ing.unimo.it
Ricerca massimi nello scale-space
Keypoint risultanti
![Page 12: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/12.jpg)
http://imagelab.ing.unimo.it
Calcolo orientazione dei keypoints
Calcolo modulo e orientazione del gradiente
Si calcola l’istogramma delle orientazioni, quantizzato per 36 direzioni Il picco dell’istogramma e gli altri picchi entro l’80% del picco maggiore sono
scelti come direzione principale del keypoint. Se ne risultano più di uno (e ciò succede in media il 15% delle volte), si crea un keypoint per ciascuna direzione principale. Queste direzioni multiple contribuiscono significativamente alla stabilità del matching.
Il descrittore viene calcolato su un intorno di 16 x 16 orientato in modo concorde alla sua direzione principale. Questo intorno viene suddiviso in 16 matrici 4 x 4 e per ciascuna l’istogramma dell’orientazione del gradiente discretizzato su 8 bin (4x4x8=128 valori).
![Page 13: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/13.jpg)
http://imagelab.ing.unimo.it
Matching dei keypoints
Semplice distanza Euclidea tra i descrittori a 128 valori Per aumentare la robustezza vengono scartati tutti i match per cui il
rapporto tra la distanza del match migliore e la distanza del secondo match migliore è maggiore di 0.8. Questo permette di evitare match falsi dovuti allo sfondo o ad altri oggetti nella scena.
![Page 14: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/14.jpg)
http://imagelab.ing.unimo.it
Trasformate geometriche
![Page 15: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/15.jpg)
http://imagelab.ing.unimo.it
Trasformata proiettiva o omografica
Colleziono tutti i punti e con SVD o MLE stimo i 9 parametri della trasformata
![Page 16: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/16.jpg)
http://imagelab.ing.unimo.it
Trasformata proiettiva o omografica
Usando direttamente tutti i punti per la trasformazione ho due tipi di problemi:
Match sbagliati Match corretti ma su oggetti diversi
![Page 17: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/17.jpg)
http://imagelab.ing.unimo.it
Trasformata omografica con RANSAC
Allora abbiamo usato il RANSAC (dettagli sul report)
![Page 18: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/18.jpg)
http://imagelab.ing.unimo.it
Trasformata Euclidea
Necessità di distinguere (clusterizzare) match di oggetti diversi
keypoint
punto caratterizzante
vettore spostamento
keypoint matchato
proiezione punto caratterizzante
vettore spostamento ruotato
MODELLO OGGETTO
![Page 19: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/19.jpg)
http://imagelab.ing.unimo.it
Alcuni risultati (il resto dal vivo …)
![Page 20: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/20.jpg)
http://imagelab.ing.unimo.it
Difetti … del SIFT
1. Il SIFT, come la maggior parte di questi metodi, si basa sul gradiente, quindi sul fatto che gli oggetti di interesse presentano parti texturate con un buon contrasto. Se questo non è vero i keypoints ottenuti sono troppo pochi e non affidabili;
2. Il SIFT ha dimostrato di avere una limitata robustezza ai cambi di luminosità localizzati, ad esempio dovuti ai riflessi dei flowpacks;
3. Il nostro approccio considera di confrontare l’immagine corrente con un modello dell’oggetto da cercare. Sebbene questo nel nostro caso sia inevitabile (volendo creare un sistema flessibile e non vincolato ad un solo oggetto), se il modello non è sufficientemente rappresentativo delle situazioni possibili il nostro approccio diventa inaffidabile;
4. Il SIFT, per costruzione, ottiene sempre solo un match per ciascun keypoint del modello; questo significa che nel caso di oggetti poco texturati i pochi keypoints ottenuti sul modello rischiano di essere suddivisi sulle varie istanze dell’oggetto presenti nell’immagine corrente e non essere sufficienti per segmentarli tutti.
![Page 21: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/21.jpg)
http://imagelab.ing.unimo.it
Sviluppi (quasi-)futuri
MULTI-MODELLO: Copie multiple da fondere Varie faccie: mutualmente esclusive
MULTI-MATCH: Correggere il problema del SIFT del match 1-a-1
![Page 22: Http://imagelab.ing.unimo.it Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008 02 Ottobre 2008](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5542eb66497959361e8d15b9/html5/thumbnails/22.jpg)
http://imagelab.ing.unimo.it
Integrazione 3D
Come integrare segmentazione e 3D? Altezza solo nei punti di prelievo!
Abbiamo davvero bisogno di prelevare il più alto? O solo quelli non “coperti” da altri?