220 likes | 342 Views
Presentazione Attività di Ricerca Secondo periodo – Aprile-Settembre 2008. 02 Ottobre 2008. Obiettivi progetto. fatto ( periodo 1) fatto ( periodo 2).
E N D
Presentazione Attività di RicercaSecondo periodo – Aprile-Settembre 2008 02 Ottobre 2008
Obiettivi progetto fatto (periodo 1)fatto (periodo 2) 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
Ricostruzione 3D Problemi ancora da affrontare: • La presenza in alcuni casi di picchi non correttidovuti 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
Segmentazione oggetti complessi Che approccio utilizzare? • Segmentazione basata sull’apparenza/colore • Colori non unici • Apparenza molto “confusa” e occlusioni • Segmentazione basata sui contorni • Occlusioni • Contrasti non evidenti e riflessi • Segmentazione basata su modello 3D completo • Modello 3D complesso da acquisire • Computazionalmente oneroso • Segmentazione basata su featurematching e trasf. geometriche • Robusto a rotazione, scaling, luminosità, ecc. • Veloce (pochi punti, non immagine completa o modello 3D) • Featurematchate devono essere correlate • Segmentazione non completa, ma “a punti”
Nostro approccio I metodi di segmentazione feature-based implementano i seguenti passi: • Featureextraction • Featurematching • Calcolo trasformazione geometrica tra modello e immagine SIFT
Featureextraction: SIFT SIFT (Scale InvariantFeatureTransform) – Lowe 2004 I passi principali dell’algoritmo SIFT sono i seguenti: • Scale-spaceextrema detection: questo passo ricerca i massimi su tutte le scale e tutte le locazioni spaziali. Viene implementato efficientemente utilizzando le DoG (DifferenceofGaussians) per identificare punti di interesse invarianti alla scala e all’orientazione. • Keypointlocalization: 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à. • Orientationassignment: 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. • Keypointdescriptor: 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.
Ricerca massimi nello scale-space • Oltre a cercareimassimi in un intorno • Eliminoipunti con basso contrasto • Eliminoipuntisugli edge
Ricerca massimi nello scale-space • Keypointrisultanti
Calcolo orientazione dei keypoints • Calcolo modulo e orientazione del gradiente • Si calcolal’istogrammadelleorientazioni, 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).
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.
Trasformata proiettiva o omografica • Collezionotuttiipunti e con SVD o MLE stimoi 9 parametridellatrasformata
Trasformata proiettiva o omografica • Usandodirettamentetuttiipunti per la trasformazione ho due tipi di problemi: • Match sbagliati • Match corretti ma suoggettidiversi
Trasformata omografica con RANSAC • Alloraabbiamousatoil RANSAC (dettaglisul report)
Trasformata Euclidea • Necessità di distinguere (clusterizzare) match di oggettidiversi MODELLO OGGETTO keypoint keypoint matchato punto caratterizzante proiezione punto caratterizzante vettore spostamento vettore spostamento ruotato
Difetti … del SIFT • 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; • Il SIFT ha dimostrato di avere una limitata robustezza ai cambi di luminosità localizzati, ad esempio dovuti ai riflessi dei flowpacks; • 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; • 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.
Sviluppi (quasi-)futuri • MULTI-MODELLO: • Copie multiple dafondere • Variefaccie: mutualmenteesclusive • MULTI-MATCH: • Correggereilproblema del SIFT del match 1-a-1
Integrazione 3D • Come integraresegmentazione e 3D? • Altezza solo neipunti di prelievo! • Abbiamodavverobisogno di prelevareilpiù alto? O solo quelli non “coperti” daaltri?