Sei sulla pagina 1di 27

Corso di Laurea Magistrale in Ingegneria Informatica

Università degli Studi di Parma

Percezione

Robotica
AA 2016/2017

Robotica 1
Percezione (1)

● I sensori restituiscono informazioni


sull'ambiente
● Percezione: impiego dei dati sensoriali per
rappresentare l'ambiente o per generare stimoli
che il robot trasforma in azioni
● Percezione come interpretazione dei dati raw

Robotica 2
Percezione (2)
● Elaborazione dei dati sensoriali
– i dati “grezzi” acquisiti devono spesso essere
elaborati ed interpretati prima di poter essere usati
(es. visione)
● Associazione di dati
– dati acquisiti con sensori o in tempi diversi possono
essere riferiti allo stesso oggetto o porzione
dell'ambiente
● Incertezza
– la rappresentazione dell'incertezza si fonda spesso
su un modello probabilistico del processo sensoriale
Robotica 3
Estrazione di feature

● Feature: dato parametrizzato estratto da una


osservazione sensoriale (spesso con significato
geometrico)
● Feature stabile: feature estratta da osservazioni
ripetute in tempi e condizioni diverse dello stesso
punto dell'ambiente
● Una feature stabile può essere usata come
landmark

Robotica 4
Feature visuali

● Esiste una grande varietà di feature che si possono


estrarre da immagini
– colore
– edge
– punti
● Le feature puntiformi sono le più usate
– feature di Harris
– SIFT
– SURF, FAST, BRIEF, ORB (FAST + BRIEF), ecc.

Robotica 5
SIFT (1)
● SIFT: Scale Invarian Feature Transform
– proposto da Lowe nel 1999
– estrazione di feature puntiformi stabili
– computazionalmente e algoritmicamente
complesso
● Sketch:
– generazione scale space
– riconoscimento punti di interesse (IP)
– ricerca corrispondenze nello scale space
– calcolo dei descrittori

Robotica 6
SIFT (2)

● L'uso di immagini a diversa scala rende


l'identificazione dei punti di interesse
meno dipendente dalla scala, dalle
variazioni di luminosità, ecc.
● Ogni punto di interesse è caratterizzato
da un vettore di descrittori
– Descrittore: variabile che caratterizza un
punto rispetto al contesto (es. istogramma
orientamento del punto)

Robotica 7
ORB
● Oriented FAST and rotated BRIEF
– Keypoint detector: FAST
– Descrittore binario: BRIEF
● FAST: pixel p è keypoint se ogni q
FAST: vicinato Bresenham
circle radius 3 (16 pixel)
– I(q) > I(p)+t oppure
– I(q) < I(p)-t
● BRIEF: valore binario dal confronto di
intensità di coppie di pixel (x,y)
– 1 se I(x) < I(y), 0 altrimenti
– coppie x,y scelte nel patch
Rublee, Rabaud, Konolige, Bradski, “ORB: an efficient
alternative to SIFT or SURF”, 2011
BRIEF pattern: confronto
fra coppie di pixel nel
patch 31x31 Robotica 8
Range feature

● La distanza sensore-ostacolo è un dato


immediatamente disponibile ed utilizzabile
– comportamenti robotici reattivi per evitare ostacoli
– griglie di occupazione
● Alcuni task o algoritmi richiedono l'estrazione di
feature dai dati relativi ai sensori di prossimità
– sonar
– laser

Robotica 9
Feature della Point Cloud
● Input: punti 3D organizzati come
point cloud oppure come range
image
● Point Feature: punti caratteristici cui
sono associati dei descrittori
– Stabilità ed invarianza w.r.t.
condizioni di osservazione
– Diversi tipi di descrittori
● Esempi: normali, Point Feature
Histogram (PFH), Fast Point Feature
Histogram (FPFH), SHOT, Normal
Aligned Radial Feature (NARF)

Robotica 10
FPFH
● Fast Point Feature Histogram: un punto ed un insieme di
descrittori calcolati sui k vicini del punto (con distanza
massima r)
● Istogramma descrive la distribuzione delle differenze di
orientamento delle normali tra due punti nelle tre direzioni
Rusu et al., ”3D is here: Point Cloud Library (PCL)”, ICRA 2011

Robotica 11
SHOT
● Signature of Histograms of OrienTations
● Signature: codifica misure geometriche
(coordinate) di ciascun punto del vicinato
rispetto ad un frame locale invariante
● Histogram: codifica topologie locali (mesh,
vertici, ecc.) in un dominio suddiviso in bin
espresso nel frame locale
● SHOT detector: reference frame da autovettori
matrice errore pesata
● Descrittore di 352 bin: coseni punti vicinato-
normale (signature), ma interpolandone valori
e codificando nei bin (istogramma)
S. Salti, F. Tombari, L. Di Stefano, “SHOT: Unique Signatures of
Histograms for Surface and Texture Description”, CVIU 2014

Robotica 12
NARF
● Ricerca discontinuità nell'immagine di
range (i bordi degli oggetti)
● Calcolo della direzione e dell'orientamento
tramite istogramma delle differenze nel
vicinato
● Selezione dei punti con differenze più
significative
● Filtraggio dati e calcolo dei descrittori
(valori delle discontinuità pesati secondo
la distanza)
Steder et al., ”NARF: 3D Range Image Features for Object
Recognition”, IROS 2010

Robotica 13
Feature del sonar (1)
● Riconoscimento di 4 tipi di target usando un anello di
sonar [Leonard & Durrant-Whyte,1992]
● Piano: superficie piana
● Cilindro: risposta uguale da qualsiasi punto di
osservazione
● Angolo: incontro di due piani con concavità verso il
sensore
● Spigolo: incontro di due piani con concavità dalla parte
opposta al sensore

Robotica 14
Feature del sonar (2)
● Simulazione dei
pattern sonar nei 4
casi
● I risultati della
simulazione sono
impiegati per il
riconoscimento delle
feature

Robotica 15
Feature del laser scanner (1)

● I punti del laser scanner potrebbero essere


direttamente impiegati come feature
– limite: riproducibilità delle feature
– sintesi operata da griglie di occupazione
● Estrazione di segmenti
– riduce il numero di feature
– corrisponde ad oggetti riconoscibili
– adatta a rappresentare ambienti indoor
● Feature puntiformi: angoli, FLIRT, FALKO

Robotica 16
Feature del laser scanner (2)

● Il riconoscimento di segmenti viene effettuato


normalmente ricorrendo a due algoritmi
● Split & Merge
● Trasformata di Hough

Robotica 17
Split & Merge
p1 p2 ● Inizializza la lista ordinata S con i punti
della scansione
● Identifica la retta r passante per gli
r estremi p1 e p2 di S
S1 S2 ● Ricerca il punto p a distanza max da r
p p2”
p1' p” ● Separa S in

p' – S1 contenente i punti tra p1 e p


p2'=p1” (escluso)
– S2 contenente i punti tra p (incluso) e
p2

● Ripetere la procedura su S1 e S2 se
contengono abbastanza punti e d(p,r)<
soglia
Robotica 18
Trasformata di Hough
● Ricerca delle rette nel piano dei parametri
– parametrizzazione Hessiana: x cos   y sin  = 
● Trasforma punti in coord. cartesiane  x , y  nel
corrispondente luogo dei punti   ,  
– sinusoidi per la parametrizzazione Hessiana

Robotica 19
FLIRT
● FLIRT: Fast Laser Interest Region Transform (Tipaldi et
al, 2010; http://www.openslam.org/)
● Ricerca punti di interesse elaborando la scansione a
scale diverse
– impiega anche descrittori per ciascun punto come il SIFT

Robotica 20
FALKO
1 2
● Custom design of keypoint detector
based on curvature discontinuity in
laser scans
–careful neighbor selection
– cornerness score
Left/right adaptive Discard point with few ● Fast and efficient computation and
neighbor search neighbors
easy-to-implement on embedded
3 4 1 Distance- processors (no multiscale)
Point
● Descriptors BSC and GCH: histograms
p based on distribution of neighbor
p pR points
L i 2
Geometric check Angular distance Kallasi, Lodi Rizzini, Caselli, “ Fast Keypoint Features from Laser
(curvature) to neighbors Scanner for Robot Localization and Mapping”, 2016
5 66 5 12
1 75
BSC (Binary Shape CGH (Cumulative Gaussian
2
Context) Histogram)
2 71
01 3
1

Cornerness Non-maxima
score suppression
Robotica 21
Feature Laser Scanner
● Caratteristica più significativa: variazioni della curvatura
● Descrittori: istogrammi distribuzione dei punti

Robotica 22
Outlier

● Modello parametrizzato della Feature


● Estrazione di feature da più dati sensoriali affetti da
rumore
– es. estrazione di rette da punti di scansione laser
● Problema di identificare l'insieme di osservazioni
che corrispondono al modello della feature
● Outlier: osservazione numericamente distante dal
resto dell'insieme delle osservazioni

Robotica 23
RANSAC (1)

● RANSAC: RANdom SAmple Consensus


● Algoritmo iterativo che permette di stimare i
parametri di un modello matematico a partire
da un insieme di dati che contiene outlier
● [Fisher & Bolles, 1981]

Robotica 24
RANSAC (2)

1. Seleziona k item in modo casuale


2. Stima i parametri a partire dagli item selezionati
3. Determinare l'insieme F degli item che distano dal
modello non più di una data soglia th
4. Se F ha cardinalità maggiore di f (parametro fissato),
allora si accettano i parametri stimati -> FINE
• Ricalcolo parametri su tutti gli inlier (oltre agli F)
5. Se il processo non è stato ripetuto per più di m volte,
ritorna al punto 1
6. Altrimenti la stima dei parametri è fallita

Robotica 25
Sensori logici

● Astrazione che raggruppa tutte le operazioni


necessarie per fornire un tipo di dato percettivo
● Gli algoritmi presentati possono essere visti
come sensori logici
● Visione stereo può essere vista come sensore
logico
– più fonti sensoriali: 2 o più telecamere
– confronto fra immagini restituisce la profondità
come dato percettivo

Robotica 26
Fusione sensoriale

● L'uso di una rappresentazione intermedia per dati


sensoriali di diversa origine permette la fusione
sensoriale
● L'aggregazione di dati avviene su base geometrica
(occupancy grid, feature, ecc.)
● Algoritmi di fusione:
– filtri bayesiani (es. filtro di Kalman)
– Dempster-Shafer
– Soluzioni specifiche
● La fusione sensoriale non è propriamente
percezione, ma la presume
Robotica 27

Potrebbero piacerti anche