470 likes | 609 Views
Progettazione di sistemi di controllo. Docente : Prof. Luca Schenato Studenti : Bristot Francesca Pattarello Marco Schmiedhofer Klaus. Padova , il 18/02/2010.
E N D
Progettazionedisistemidicontrollo Docente: Prof. Luca Schenato Studenti: Bristot Francesca Pattarello Marco Schmiedhofer Klaus Padova, il 18/02/2010
Autocalibrazionedistribuita di videocamere fisse con vincoli di comunicazione dove una frazione di telecamere e calibrata
SCOPO: Trovare la posizonedelle N videocamerediunaretedisorveglianzasapendoche solo n<<N sono calibrate. DATI: Parametriinternidellevideocamere. PERCHE’: La calibrazione“manuale” richiedetroppo tempo e risorse.
Modello Pin-hole F piano focale RPianoimmagine Z asseottico C Centro ottico f focale
m= punto piano immagine M= punto ‘mondo’ m=PM Matricediproiezione: P=K[I 0]G K
Traiettoriacasualedavantiallevideocamere RACCOLTA FRAME DALLA RETE Calcolomatricifondamentali per ognicoppia CALCOLO BASELINE E DISTANZE Trovoilcamminominimo GRAFO PESATO, CAMMINO MINIMO Ricalibro la rete DIMINUZIONE DELL’ERRORE 1 F 2
DATE min 8 corrispondenze m1m2 TROVO F tale che: ALGORITMO DEGLI 8 PUNTI N.B. F non precisa! Vaaffinata.
STIMA DI MASSIMA VEROSIMIGLIANZA DI F Si usailmetodo Gold Standard Si minimizzaunadistanzageometrica, l’errorediriproiezione
E=SR Fattorizzazione SVD R A menodi un fattorediscala Traslazione Rotazione
L’algoritmo DLT e quello degli 8 punti porta a conoscere le seguenti matrici Semplifichiamo ulteriormente il problema....
Si tratta dunque di trovare la lunghezza della retta rossa, detta baseline. Troviamo un riferimento intelligente....
Il sistema di riferimento utilizzato è evidenziato in azzurro
Rispetto al nuovo riferimento l’equazione del piano diventa: X=-differenza tra altezze delle telecamere=-diff Per l’equazione della retta si ha invece bisogno di conoscere: • Il punto in cui passa è C1=[0,0,0]T • il vettore direzionale della retta rappresentato nel • sistema di riferimento azzurro è dato da: Dove C2 è rappresentato rispetto al sistema di riferimento solidale alla seconda telecamera ed è noto a meno di un fattore di scala
Mettendo a sistema si ottiene il punto C2=[X,Y,Z]T rispetto al nuovo sistema di riferimento Pertanto il fattore di scala si calcola come
Le altezze nelle telecamere sono ricavate dalla seguente formula: • Dove: • H omologia tra il piano testa e il piano dei piedi • l∞ è la vanishing line • v∞ è il vanishing point • h altezza operatore • z altezza telecamera
Vanishing line e Vanishing Point Immagine vanishiang line e vanishing point
Con piu’ telecamere l’errore peggiora? Ma a cosa è dovuto questo peggioramento?....
Pixellizzazione • Cliccare sui punti coniugati • Algoritmo 8 punti, errori dovuti a: • linearizzazione • cattivo condizionamento Tutto questo si riflette sulle matrici R e t sbagliando quindi il versore direzionale della baseline al piu di un grado
Per diminuire tale errore l’unico modo è raffinare la matrice F con un algoritmo di costo non lineare come già evidenziato oppure Ricalibrare il sistema.
Calcolodelladistanzatraognicoppiaditelecamere • Costruzionedi un grafopesato (distanze) • Ricerca del camminominimodaognitelecamera incognita • verso una nota • Eliminazionedeglicamminiridondanti Nuovasequenzadicalibrazione
Grafo pesato • Matrice di adiacenza • Listacalibrata • Algoritmo di Dijkstra
Definizione: vi ….. Vertice = telecamere ei ….. Arco = distanzatratelecamere Nota: La distanzasitrovaovviamente solo se il campo visivodelle due telecamereied j siintersecca.
Definizione: Un grafodi N verticipuo` essererappresentatodaunamatrice A didimensioneNxN. Nelnostrocasoglielementisonodefiniti:
Definizione: • Array L dilunghezza N (numeroditelecamere) • L(i) = 0, telecamera incognita • L(i) = 1, telecamera nota 1 0 0 0 0 1 0 0
Definizione: Trovaicamiminiminimi in un grafo con pesi non negativi. In particolareilcamminominimocheunisce due nodiprecisi del grafo. Valori in ingresso: Nododipartenzaagente incognito Nododiarrivoagentenoto Matricediadiacenza (Grafo)
Cerchiamo la prima telecamera incognita nellalistacalibratamarcata con uno zero • Calcoliamotutticamminidiquesta verso le calibrate:
3) Dijkstratrovailcamminominimo • 4) Ripetiamoilprocedimento (N-n)-volte, per ogniagente incognito • (N-n) camminiminimi: • Puo’ esserecheicamminisianoridondanti
5) Ordiniamo in manieradecrescente • 6) Calibriamogliagenticontenutinella prima sequenza • 7) Scelgo la successiva: • E’ inclusanellaprecedente? • Trovoretericalibrata No: Calibroagentidellasequenza Si: Elimino
Diminuzionedell’errore: 1. Calibrazione: …..Agentenoto …..Agente incognito d d d d d 4d
2. Ricalibrazione: …..Agentenoto …..Agente incognito d d d d 2d 2d
L’errore e’ proporzionalealladistanza: Calibrazione: dmax = 4d Ricalibrazione: dmax = 2d La ricalibrazionediminuiscel’erroresullaposizionediogniagente
Obiettivo: • Trovare la rotazionediogni PTZ rispetto al riferimentomondo • ModellizzareunatelecameraPTZ • EspressionedellaRotazionetotale con Pan e Tilt
Reteditelecamerecalibrata • Rotazionetraognicoppiaditelecamere • Rotazionedelletelecamere note rispettoilriferimentomondo • Tuttiicamminiminimi • InizialmenteModello pinhole con la PTZ a riposo: • RPAN = 0 e RTILT = 0 • Centro ottico coincide con l’assedirotazionedella PTZ
Telecamera nota Telecamera incognita Riferimentomondo
Scelgounatelecamera con rotazioneincognita (C3) • Seguoilcamminominimo verso la telecamera nota (C1) • Ognitelecamerachepasso, moltiplico per la matricedirotazione: • mondoR3 = R2 R R-1 Sistemadi riferimentomondo ~ R2 R-1 R C3 C2 C1 ~
Se le PTZ sispostanodallaposizonediriposo, le telecamererisultanodinuovoscalibrate • Modifichiamoilmodellodelle PTZ • Inseriamo le rotazioni: • Pan RPAN(rotazioneorizzontale) • Tilt RTILT(rotazioneverticale)
Quindi la rotazionetotaledellatelecamerarispetto al riferimentomondo e’: • mondoR3,PTZ = RPAN RTILTmondoR3 • Vantaggio: • Avendo svincolato i riferimenti tra le singole telecamere, la rete resta calibrata anche in seguito alla rottura di una o pi`u telecamere.
Risultati: • Calibrazionedell’interaretedivideocamere con metodi per migliorare la stimadellaposizione. • Algoritmo per ilcalcolo del fattorediscala Calcolo baseline L’algoritmo non porta a risultatiperfetti, infattierroriminimisullastimadellarototraslazione (anche un solo grado) “crescono” con la distanza. Teoremadellacorda
Perfezionamentodellastima • Eliminazionedell’errore • Estensione al casodivideocamere Pan-Tilt-Zoom • Estensione al casodistribuito