Home

Documento PDF - Università degli Studi di Padova

image

Contents

1. l gt E u fu Uptst Vi Vi Upts1 dove Upts1 Upts1 non sono altro che le coordinate nel sistema di riferimento del frame dell angolo in alto a sinistra della finestra ridotta 40 CAPITOLO 2 MISURA DELLA POSIZIONE DEL PILOTA e090 Figure 1 idisp im E Ine histo zoom unzoom Machine Vision Toolbox for MATLAB u pixels a Selezione del primo angolo b Selezione del secondo angolo Figura 2 7 Identificazione del target selezione della finestra mobile A questo punto quindi stata determinata la matrice p contenente le coordinate dei quattro punti del target per il primo frame Ora come gi accennato poc anzi se la finestra ridotta rimanesse fissa durante l analisi dei frame successivi succederebbe inevitabilmente che ad un certo punto il target esca dalla finestra per questo motivo necessario realizzare una finestra mobile che insegua il target La regola implementata nel codice per realizzare la finestra ad inseguimento la seguente Le coordinate del punto centrale della finestra al frame j esimo sono date dalle coordinate del centro del target calcolate al frame j 1 esimo Quindi la finestra centrata sul target e si sposter con un ritardo di un frame rispetto ad esso per questo che stata denominata finestra ad inseguimento Un ritardo di un frame corrisponde a un ritardo di un trentesimo di secondo in un video a 30 fps Per quant
2. O iii A 20 25 30 35 40 45 50 Time s Figura 5 11 Ritorno 1 91 dWidt mis Alpha angle deg 92 Speed km h Rall angle deg Torque Nm CAPITOLO 5 PROVE SPERIMENTALI Accelerazione e Velocita di avanzamento ddt ddt mis E A 3 5 10 15 20 25 30 35 40 45 50 Time S Roll angle Alpha angle al Alpha angle de UG 5 10 15 20 25 30 35 40 45 50 Time s 650 ITA ti iaia EET O PC PEES E ebria OR E AAA ta pr i Li Goyer Coppia 2Dtot saline egg A oppia 2 Bo Seppe Prota LN Coppia pilota 50 O 5 10 18 20 25 30 35 40 45 50 Time s Figura 5 12 Ritorno 2 5 3 RISULTATI DELLE PROVE SPERIMENTALI 93 Tabella 5 3 Correlazione fra le coppie misurate con le due metodologie e correlazione fra pe a Cross Correlation Coefficients Lags Cp vs Cap pus a wus at s Andata 1 0 842 0 886 0 53 Andata 2 0 802 0 718 0 73 Ritorno 1 0 893 0 759 0 90 Ritorno 2 0 694 0 792 1 16 Analisi dei risultati Dai grafici si nota subito una buona correlazione fra l andamento della Cop pia Pilota e la coppia misurata dai sensori In tabella 5 3 sono riportati 1 valori degli indici di correlazione calcolati con l algoritmo Cross Correlation I valori trovati fra la coppia calcolata con la 5 3 e la coppia ottenuta dai sensori tabella 5 3 evidenziano che esiste un ottima correlazione per le prove di Anda tal Andata e Ritorno1 mentre nel caso della prova Ritorno
3. 2L 1 L 82 CAPITOLO 5 PROVE SPERIMENTALI Figura 5 3 Calcolo dell angolo di rollio Tabella 5 1 Distanze sensori laser Li 204 5 mm L 204 5 mm h 210 mm di 210 mm do 220 mm Az 10 mm quindi l angolo di rollio Lo di h L1 h ua Az do arct p arctan 3L L 5 10 dove L la distanza del sensore ottico di sinistra rispetto al piano di mezzeria della motocicletta L la distanza del sensore ottico di destra rispetto al piano di mezzeria della motocicletta h altezza dal terreno della linea orizzontale passante per il sensore di sinistra dj distanza dal sensore di sinistra al terreno in mm d distanza dal sensore di destra al terreno in mm Az distanza verticale tra i due laser ovvero la differenza di misura tra 1 due sensori per angolo di rollio nullo I dati delle misure effettuate sulla motocicletta sono riportati in tabella 5 1 5 1 CALCOLO DELLA COPPIA GENERATA DAL PILOTA 83 0 88 m Figura 5 4 Sistemi di riferimento target moto target pilota e sistema di riferimento motocicletta 5 1 2 Calcolo dell angolo a In riferimento alla figura 5 1 angolo a dato dalla seguente a arctan 2 5 11 e dove Yp Zp sono le coordinate del baricentro del pilota rispetto al sistema di riferimento della motocicletta Anche in questo caso la posizione del pilota Ty che si ottiene dal sistema di pose estimation espressa rispetto al sistema d
4. image IM Display an image rather than points resolution N Image plane resolution N x N or N W H e sensor S Image sensor size in metres 2 x 1 e centre P Principal point 2 x 1 e pixel S Pixel size S x Sor S W H 1 3 CALIBRAZIONE DELLA FOTOCAMERA 29 e noise SIGMA Standard deviation of additive Gaussian noise added to returned image projections e pose T Pose of the camera as a homogeneous transformation e color C Color of image plane background default 110 8 Con 1 dati ottenuti dalla calibrazione delle GoPro sono stati creati dei modelli Central Camera Il modello per la GoPro Hero 1 il seguente cam name GOPRO HERO1 central perspective focal length 0 00251 distortion k 0 2796 0 06391 0 p 0 00045 0 00054 pixel size 4 4e 06 4 4e 06 principal pt 648 2 495 6 number pixels 1280 x 960 noise 0 05 0 05 pix r O O O F O Ore O O e Oo O e O O O Mentre per la GoPro Hero 3 il modello cam name GOPRO HERO3 1440p central perspective focal length 0 00261 distortion k 0 2532 0 06659 0 p 0 00011 0 00014 pixel size 3 1e 06 3 1e 06 principal pt 969 6 722 9 number pixels 1920 x 1440 T O O O F O Ore O O ROO e O O O 1 3 3 Pose Estimation La determinazione della posa r del sistema di riferimento T di un target rispetto al sistema di riferimento della fotocamera C possibile s
5. di interesse senza richiedere volta per volta l intervento manuale dell utente ha portato a pensare ad una soluzione diversa Anzich analizzare l intero frame si pensato di analizzare solamente una finestra ridotta di dimensioni tali da contenere esclusivamente il target Questa finestra corrisponde ad un ritaglio del frame originale ed avr quindi dimensioni molto ridotte rispetto all immagine di origine Si avr quindi una drastica riduzione dei tempi di elaborazione dell immagine da parte della funzione blob analysis proprio perch il numero di pixel da analizzare ora nettamente inferiore ed inoltre sar molto pi semplice riconoscere esclusivamente le regioni appartenenti al target Con questa soluzione il tempo di elaborazione scende sotto i 0 5 s per frame contro i 10 s del frame completo L implementazione di questa tecnica ha per un problema di fondo il target si muove e potrebbe uscire dalla finestra ridotta La soluzione ideata per risolvere questo problema stata di realizzare una finestra mobile che insegue il target Nelle righe che seguono verr illustrata l implementazione della finestra mobile e il modus operandi del codice Il primo passo consiste nella definizione della finestra Il codice plotter a display l immagine del primo fotogramma da analizzare e chieder all utente di selezionare la finestra entro la quale contenuto il target La selezione avviene attraverso due click il pr
6. 2 0 0 0 0 0 eee eee 85 Correlazioni fra i risultati ll 93 Correlazioni fra i risultati 2 94 Correlazioni fra i risultati 3 GG 94 1X Sommario In questa tesi sar messo a punto un sistema in grado di determinare la posizione e l orientamento del pilota durante la guida di una motocicletta Questo metodo utilizza una telecamera montata sul codone della moto che riprende i movimenti del pilota Tramite le immagini aquisite dalla telecamera si andr a stimare la posizione del pilota rispetto alla moto Dopo aver messo a punto il metodo tramite una procedura di calibrazione verranno effettuate delle prove sperimentali con una motocicletta strumentata con dei sensori di coppia che misurano le forze scambiate dal pilota e si confronteranno i riultati ottenuti dai sensori con un modello che utilizza la posizione del pilota ottenuta dalla telecamera per calcolare la coppia di rollio esercitata dal pilota Abstract In this thesis will be developed a system capable of determining the position and orientation of a rider during driving a motorcycle This method uses a camera mounted on the tail of the motorcycle that recording the movements of the pilot Through the images from the camera we estimate the position of the rider than the motorcycle After having correct the method through a calibration procedure will be carried out experimental tests with a motorcycle instrumented with sensors that measure the torque forces exchanged by the
7. CALIBRAZIONE Traslazioni Traslazioni X Y Z Traslazioni mm 400 Tirne s Velocit X Y Z Velocit mms Time s Figura 3 31 Traslazioni e velocit di traslazione lungo gli assi X Y Z Errore X GoProH1 vid Und GoProH3 Yid Und GoPRoH1pxUnd A GoPRoH3pxUnd Errori mm Time s Errore Y GoProH1 Vid Und GoProH3 Yid Und GoPRoH1pxUnd GoPRoH3 pxUnd Errori mm Time 3 Errore Z GoProH1 Yid Und GoProH3 Yid Und fa E RE eens ATI PAR is AS a O O EIN GoPRoH1 pxUnd rs a e Kei alan 1 ent ate EST redil Ei rt gi i y d i E E i N E A E A O a ENS A RR AE a A A T A E xa o gt A aE st di Ww i a di 2 4 6 8 10 12 14 16 18 Tirne s Figura 3 32 Errori telecamere 3 4 RISULTATI DEI TEST 67 Rotazioni Rotazioni RotX RotY Rotz deg 0 2 4 6 8 10 12 14 16 18 Time s si Velocit RotX RotY Rotz 40 30 20 lt 1 gt 3 0 10 20 30 40 SI 2 4 6 8 10 12 14 16 18 Time s Figura 3 33 Rotazioni e velocit di rotazione attorno agli assi X Y Z Errore Rotx FT Pens tr ARRE Wl een o ose 134 E As A ON E o A ROSE il O BROS ta BAN eh R GoPro H1 Yid Und _ me se AN j i YO GoPro H3 Yid Und 1 E pe one ne EM BR E e paar OE AAA e AO ARA Lars Pe rier ee ee oN s GoPPo H1 px Und 2 N P a 4 I lt p
8. Castle 200 400 600 800 1000 1200 b v pixels 100 200 300 400 500 600 160 200 300 400 500 600 c d Figura 1 22 Esempio di binarizzazione delle immagini I pixel appartenenti all oggetto c 1 vengono rappresentati in bianco mentre i pixel non appartenenti all oggetto c 0 in nero La figura b rappresenta il risultato della binarizzazione dell immagine a effettuata dopo aver classificato i pixel aplicando una sogliatura La figura d il risultato della binarizzazione dell immagine c dopo aver effettuato una classificazione dei pixel per colore o intensit cromatica Fonte Peter Corke Robotic vision and control per ottenere dei risultati diversi Il processo di segmentazione si suddivide in tre sottoproblemi Il primo il processo di classificazione dei pixel nel quale ogni pixel viene asssociato ad una determinata classe C con il valore c 0 1 C 1 In questo lavoro verrano utilizzate due classi 2 si operer quindi una classifi cazione binaria o binarizzazione figura 1 22 I pixel appartenenti all oggetto di interesse saranno classificati come c 1 mentre i restanti pixel non appartenenti all oggetto saranno classificati con c 0 Si puo intuire come la classificazione soggettiva per ogni immagine cio non esiste una suddivisione univoca per tutti 1 tipi di immagine ma necessario adattarla alla scena che si intende analizzare e agli oggetti che si vogl
9. Time s Figura 3 14 Confronto fra gli errori ottenuti con i due metodi di correzione della distorsione valore assoluto degli errori traslazione asse Y 3 4 RISULTATI DEI TEST ot Asse Z trasi 2 BTS vs GoPre rasli Z GoPro H1 rasli Z GoPro H3 trasl Z BTS tras Z mm 900 0 5 1 1 5 2 2 5 3 3 5 4 4 5 5 5 5 6 Time 3 Figura 3 15 Traslazione lungo l asse Z confronto fra i risultati ottenuti dal BTS motion capture system e i risultati delle due telecamere trasl Z ys errors Error mm tras Z mm 35 0 5 1 1 5 2 2 5 3 g5 4 4 5 5 5 5 6 Time s Figura 3 16 Traslazione lungo l asse Z ed errori sulla misura ottenuta dalle telecamere IS CAPITOLO 3 CALIBRAZIONE dZ dt vs errors Error GoPro H1 Error GoPro H3 ZE Errors mm dzidt mms bio 0 5 1 1 5 2 2 5 3 3 5 4 4 5 5 5 5 q Time s Figura 3 17 Velocit di traslazione lungo l asse Z ed errori sulla misura ottenuta dalle telecamere ABS Errors 2 GoPro Hero 1 Errors Yideo Undistort Errors Pixel undistort Errors Z mm Time s ABS Errors 2 GoPro Hero 3 Errors 2 mm Time s Figura 3 18 Confronto fra gli errori ottenuti con i due metodi di correzione della distorsione valore assoluto degli errori traslazione asse Z 3 4 RISULTATI DEI TEST 59 3 4 2 Rotazioni Asse X RotX BTS vs GoPre Rot GoPro H1 Rotx GoPro H3 Rot BTS RotX deg 0 0 5 1 1 5 2 2
10. 1 Dix3 1 _ e Ror Ror tor nane 01x3 l 1 2 Generazione dell immagine noto da tempo che un semplice forellino praticato attraverso una parete di una stanza buia camera obscura in grado di creare l immagine invertita dell ambiente esterno all interno della stanza stessa figura 1 4 Questo forellino denominato obiettivo Stenopeico dal Greco Piccolo foro o pin hole Figura 1 4 Un esempio di camera obscura da un illustrazione del XVII secolo Alcuni molluschi marini come ad esempio il Nautilus hanno gli occhi che funzionano secondo questo principio mentre gli animali vertebrati hanno gli occhi dotati di una lente che forma un immagine capovolta sulla retina dove si trovano le cellule fotosensibili che convertono la luce in impulsi che vengono poi inviati al cervello In linea di principio una fotocamera digitale funziona in modo simile una lente di vetro o plastica forma un immagine sulla superficie di un semiconduttore dotato di una serie di dispositivi fotosensibili che convertono la luce in un immagine digitale Il processo di formazione dell immagine in un occhio o in una macchina fotografica comporta quindi la proiezione del mondo 3D su una superficie a 2 dimensioni Ovviamente per in questo passaggio le informazioni di profondit sono perse e non si pi in grado di stabilire ad esempio se un oggetto nell immagine un oggetto grande distante o un oggetto piccolo pi vicino Questa trasfo
11. A N NE ae O A TEO A ener eee A ARL GoPRo H3px Und dn i i f 5 2 5 j gig ys A Pall ERRE RR PAE RANA LD A ARAS e E Ga e fae ASAT AD 3 a EA TAS ARA IEA LET RARA REA REPARAR e OS ni ad Negri a MRI ION A yee ee 0 2 4 6 8 10 12 14 16 18 Time s Errore RotY GoPro H1 Vid Und GoPro H3 Vid Und E GoPRo H1 px Und 2 GoPR 5 to ff pr _ gd BIN e PEE A our mbes ES Rie Mn E 16 18 Time s Errore RotZ 3 gt GoPro H1Yid Und GoPro H3 Vid Und Ay GoPRo H1 px Und gJ GoPRo H3px Una Errori deg Time s Figura 3 34 Errori telecamere 68 CAPITOLO 3 CALIBRAZIONE Tabella 3 2 Errori medi traslazioni e rotazioni test movimenti combinati GoPro Herol GoPro Hero3 960p 30fps 1440p 48fps Video Und Pixel Und Video Und Pixel Und Err X mm 2 41 3 19 1 78 3 49 Err Y mm 3 08 3 97 1 71 3 23 Err Z mm 2 51 4 07 0 74 2 90 Err RotX deg 0 89 1 18 0 80 0 91 Err RotY deg 0 68 0 71 0 39 0 97 Err RotZ deg 0 65 0 62 0 24 0 33 Considerazioni sui risultati della prova Dai grafici relativi alle traslazioni da figura 3 31 a figura 3 34 si nota che ora l errore pi elevato rispetto alle prove precenti soprattutto per le traslazioni Questo probabilmente dovuto in primis alle velocit di traslazione nettamente pi elevate dove nel caso delle t
12. En Ofr D R 1 3 si dimostra inoltre che fo 0 Ep 1 4 La trasformazione pu essere rappresentata da un punto di vista algebrico in diversi modi in questo lavoro verr utilizzata la rappresentazione matriciale Consideriamo il punto p in coordinate omogenee l equazione 1 1 si pu scrivere A Tg PP 1 5 1 1 RAPPRESENTAZIONE DELLA POSIZIONE E DELL ORIENTAMENTO5 Ay Figura 1 2 Posizione relativa fra sistemi di riferimento dove Tz una matrice 4 x 4 che trasforma i punti di B in A detta anche trasformazione omogenea Appartiene allo spazio euclideo di dimensione 3 ovvero T SE 3 c R La matrice T pu essere scomposta in una matrice di pura traslazione e in una matrice di pura rotazione I Leasa Trot 1 6 dove la matrice di pura traslazione las t3x1 _ Tiras n pe 1 1 7 O E O O HE O O PO O xX V R con x y z componenti del vettore spostamento t e I matrice identit La matrice di pura rotazione invece rotii rotis rotis T R3x3 03x1 _ Ota31 TOte2 rot z No 0 x3 1 rotai rotas rot33 0 0 0 1 8 RR Oo Il minore R3 3rappresenta la rotazione del sistema di riferimento rispetto al sistema di riferimento globale e le sue colonne sono composte dalle coordinate dei tre versori che compongono la terna La matrice Rgx3 quindi ortonormale appartiene allo spazio ortornormale di dimensione 3 ovvero T SO 3 C R perci gode della
13. GPS 19 Sensori sterzo gt a atone a a a ERE TO Sensore angolo di sterzo a a 76 Sensore pedane 1 a TT Sensori sterzo oaoa a a TT Sensori laser E shock RAY aoaaa 18 Posizione telecamera a a a a a a 18 Modello per il calcolo della coppia del pilota 80 9 2 9 9 9 4 5 9 5 0 O 9 8 5 9 5 10 9 11 9 12 9 13 9 14 5 15 9 16 Sistemi di riferimento motocicletta l 81 Calcolo dell angolo di rollio LL 82 Sistemi di riferimento motocicletta 2 0 83 Segmentazione del corpo secondoDempster 84 Modello del pilota 89 Coppie rilevate sulla motociletta 86 Tratto di strada percorso durante 1 test 87 Risultati test su Strada 89 Risultati test su Strada 90 Risultati test su Strada 91 Risultati test su strada 4 45 e e SS 92 Andatal coppie rilevate dai sensori 95 Andata2 coppie rilevate dai sensori 95 Ritornol coppie rilevate dal sensori 96 Ritorno2 coppie rilevate dai sensori 96 Elenco delle tabelle Zid 3 1 3 2 4 1 4 2 4 3 9 1 9 2 9 9 9 4 5 9 Tempi di analisi 0a a a a a 44 Errori medi test calibrazione i LG 65 Errori medi test calibrazione movimenti combinati 68 Data Logger Spec 72 Potenziometro rotativo pel 16 Sensore laser per misura di distanze Spec 18 Distanze sensori laser 1 ee ee a a a 82 Parametri di Dempster
14. TARGET MOTO disp crop win click_and_crop read video start_frame disp UK 20 disp Running blob analysis h Blob analysis n_frames 50 end_frameM start_frame n_frames 1 if end frameM gt video NumberUOfFrames end_frameM video NumberOfFrames n frames end_frameM start_frame end shape 0 6 1 area 150 20000 wbar waitbar 0 Processing video LS Li T OU 102 APPENDICE A CODICE MATLAB for k start_frame end_frameM centers_moto i f win crop iJ blobs_01 read video k shape area crop win f video k i waitbar i n_frames wbar sprintf Processing frame hi hi i n_frames i itl end 7 correct camera lens distortion var01 0 var01 input Do you want to correct lens distortion L Yes other No s if isempty var01 1 centers_und undistortPixel centers_moto centers_moto centers_und end close wbar save centers_moto mat centers_moto disp 20 disp DONE disp 2 disp The coordinates of the centers of each frame were saved on the current folder on file disp centers_pilot mat for Rider Target disp centers_moto mat for Moto Target disp 2 disp Complete else disp Complete end hh message disp 7 disp For correct any ambiguity problems that it is possible to occurred during
15. asse normale al suo piano l ordine con cui vengono determinate le regioni nell immagine ruotata e in quella non ruotata non lo stesso Le soluzioni pensate per risolvere questo problema sono state diverse inizialmente si pensato di utilizzare delle figure geometriche diverse fra loro e di individuare la regione esima tramite il rapporto area perimetro Infatti una stella x ad esempio avr un rapporto area perimetro molto minore rispetto a un cerchio In questo caso per necessario il calcolo del perimetro delle regioni da parte della 2 1 TARGET 30 A A R rE Figura 2 2 Modello rappresentativo del target ideato funzione blob analysis che comporta un aumento del tempo di analisi Per questo motivo stata adoperata una soluzione pi semplice ovvero sono state scelte quattro figure circolari con differenti aree e l idea di ordinare per area crescente le regioni determinate dalla blob analysis in modo da eliminare l ambiguit nel riconoscimento relle regioni Il target ideato piano cio le figure circolari si trovano sullo stesso piano Sarebbe stato possibile utilizzare anche un target tridimensionale esempio una piramide soluzione che per non stata presa in considerazione dato che i risultati ottenuti con il target piano sono stati molto soddisfacenti e inoltre perch si tratterebbe di una soluzione molto pi complessa Si sono scelte inoltre quattro figure circolari perch 4 il n
16. brai85 libero it h Loading parameters cam gopro load GoPro Hero 1 parameter from camera calibration h cam goproH3_1440p load centers_pilot mat load centers from blob analysis 77 Pose estimation n_frames size centers 3 T_pilot zeros 4 4 n_frames T_old T_pilot 1 memorize the previous pose matrix for k 1 n_frames attempt to estimate target s pose try T_pilot k cam estpose target_pilot centers k catch on pose estimation failure disp L Warning pose estimation failed at num2str k T_pilot k T_old set the matrix equal to the previous end T_old T_pilot k memorize the previous pose matrix end save the variable save T_pilot mat T_pilot A 4 rel pos TmTp h POSE ESTIMATION OF A MOTORCYCLE RIDER USING A CAMERA h Relative position TARGET MOTO TARGET PILOT h h A BRAI 2014 mail to alberto brai85 libero it dim size T_pilot 3 for k 1 dim T_motopilot k inv T_moto T_pilot k end Bibliografia 1 Jean Yves Bouguet Camera Calibration Toolbox for Matlab http www vision caltech edu bouguetj calib_doc 2 Nicola Petrone 2013 Dispense del corso Sport engineering and rehabilitation devices 3 Peter Corke 2011 Robotics Vision and Control Springler 4 Peter Corke 2012 Machine Vision Toolbox 5 Vianello Alberto 2011 Studio teorico e Sperimentale per la determinazione del
17. figure circolari che sono in 36 CAPITOLO 2 MISURA DELLA POSIZIONE DEL PILOTA Figura 2 3 Target pilot Figura 2 4 Target pilot fissaggio del target al pilota Si notano le cinghe elastiche attorno al torace e le due chinghe attorno alle spalle questo caso nere su sfondo bianco Il target rappresentato in figura 2 5 e come si pu notare dotato di un particolare supporto ad incastro e permette di rimuovere la parte superiore rapidamente e senza dover svitare o avvitare delle viti durante i test Questa soluzione stata adottata per poter posizionare il target moto il pi possibile al centro dell inquadratura in modo da ridurre l errore dovuto alla distorsione dell immagine e anche per il fatto che se fosse posizionato nella parte bassa dell inquadratura soluzione che era stata adottata inizialmente quando si andr a correggere la distorsione della lente parte della cornice pi esterna dell immagine verr tagliata i pixel vengono stirati verso l esterno con il rischio di perdere una parte del target stesso Rimuovere il bersaglio durante i test potrebbe sembrare una cosa insolita dato che il target moto necessario per determinare la posizione relativa pilota motocicletta per dato che questo a differenza del target pilot un target statico e sufficiente al limite un solo frame per determinare la sua posizione Per questo durante i test il target moto verr posizionato mentre il pilota in se
18. i coefficienti di correlazione tra la coppia M e la coppia senza le componenti sullo sterzo e tra M e la coppia alla sella 5 3 RISULTATI DELLE PROVE SPERIMENTALI 95 Time s Torque Pimi U y Ea Time fs Figura 5 13 Andatal coppie rilevate dai sensori Time s Torque Mm g Time fs Figura 5 14 Andata2 coppie rilevate dai sensori 96 CAPITOLO 5 PROVE SPERIMENTALI Coppia 20tot oppia pela i Coppia pedane a 5 ti 15 Ei a 45 Time 5 an LI mi Coppia manubno si cCopplasterzo Torque fm Time 8 Figura 5 15 Ritornol coppie rilevate dai sensori dlp o a Coppia 20ta w On j ida ao i i sa i et i Coppia sala a eee E Coppia pedane 2 r Torque Hmi 5 2e Ea Ti petal ed Coppia manubrio Coppia sterzo 1 Time f Figura 5 16 Ritorno coppie rilevate dai sensori Conclusioni In questo lavoro stato realizzato un metodo per la stima della posizione del pilota durante la guida di una motocicletta Il metodo basato sull algoritmo di pose estimation che permette di ottenere la posizione e l orientamento di un oggetto di dimensioni note rispetto a una camera calibrata L algoritomo richiede l individuazione di almeno quattro punti dell oggetto di cui si vuole conoscere la posizione Questo oggetto rappresentato da un target che sar posizionato sulla schie
19. i marker sono stati posizionati in modo che i segmenti che congiungono i loro centri formino un angolo retto in modo che in fase di elaborazione dei dati si possa costruire una terna orientata come il target I test sono stati effettuati compiendo una serie di movimenti all interno del volume di interesse e registrando con entrambe le telecamere simultaneamente Le telecamere in questione sono a o QD dd di Figura 3 3 Markers 3 3 ELABORAZIONE DATI 49 e GoPro Hero 1 con risoluzione 1280 x 960p 30 fps e GoPro Hero 3 con risoluzione 1920 x 1440p 48 fps 3 3 Elaborazione dati Optoelectronic System Il sistema di motion capture restituisce le coordinate x y z di ogni marker presente all interno del volume calibrato rispetto al suo sistema di riferimento globale Per poter conoscere la posizione e l orientazione del target mobile rispetto al target fisso si procede nel seguente modo e si crea una nuova terna centrata ed orientata sul target fisso e solidale ad esso e si crea una nuova terna centrata ed orientata sul target mobile e solidale ad esso e si calcola la posizione relativa fra le due terne Nel caso del target fisso tramite le coordinate dei punti dei tre marker posizionati su di esso si ottengono i due vettori V Tie ft T 3 Vy Tup a To Tramite la seguente Va Vy X Vz 3 1 si ottiene il vettore V ortogonale al piano formato dai due vettori V V Ora i t
20. l andamento dell angolo di rollio y in gradi e l andamento dell angolo a del pilota sempre in gradi per il tratto percorso 3 un grafico che riporta il confronto tra la coppia totale misurata dai sensori eq 5 16 indicata nei grafici con Coppia 2Dtot e la coppia misurata dal pose estimation eq 5 3 indicata con Coppia Pilota per il tratto percorso 5 3 RISULTATI DELLE PROVE SPERIMENTALI Accelerazione e Velocit di avanzamento Speed km h i la O 5 10 15 20 25 30 35 40 45 Time s Angolo di rollio e angolo alpha Roll angle R 3 Alpha angle Rall angle deg a Time s Coppia 2Dtot vs Coppia Pilota Torque Nm Time s Figura 5 9 Andata 1 89 ddt mis Alpha angle deg 90 CAPITOLO 5 PROVE SPERIMENTALI PECRIBPAZIONE e Velocit di avanzamento Speed kmh i 6 0 5 10 15 20 25 30 35 40 45 Time s Angulo di rollio e ange apne Roll angle Roll angle deg Cornia Dtot Coppla pilota TEA A e eagle A o A o eni n A A A eer Torque Nm Figura 5 10 Andata 2 Alpha angle ia ddt mis Alpha angle deg 5 3 RISULTATI DELLE PROVE SPERIMENTALI Speed kmh Rall angle deg a Torque Mm a o a a 3 20 25 30 35 40 45 Time s i 20 25 20 35 40 45 Time s Coppia Dtot vs Coppia Pilota CEE EE ET O CE Sh A A A A E oro Coppia Dtot 2 3 3 Coppia pilota
21. la correlazione leggermente pi bassa Oltre ai valori di correlazione fra le coppie in tabella 5 3 riportato anche l indice di correlazione e il ritardo lag fra l angolo di rollio della motocicletta y e l angolo a del pilota I dati indicano che l angolo di rollio e l angolo a sono ben correlati in tutte quattro le prove inoltre l angolo a risulta sempre in anticipo rispetto a Questo dimostra come il pilota agisca spostando il proprio baricentro verso la direzione vuole che la moto rolli Quindi se il pilota vuole far rollare la moto a destra sposta il suo corpo verso destra Questo che si traduce in una coppia di rollio che fa rollare la moto e il ritardo dipender dall entit della coppia applicata oltre che dall inerzia della moto Osservando il valore del lag fra le prove di Andata e di Ritorno si nota che quest ultimo varia anche del 100 il che sta ad indicare che il pilota in ha guidato in modo nettamente diverso tra le due prove Infatti dai grafici delle prove in Andata dove il lag inferiore rispetto al Ritorno si pu osservare che le coppie applicate sono mediamente pi elevate rispetto ai tratti di ritorno il che significa che il pilota ha guidato con uno stile pi aggressivo cercando di far rollare la moto rapidamente di conseguenza ne risulta una coppia applicata pi elevata e uno sfasamento basso tra pea Nel tratto di Ritorno il lag doppio rispetto all andata e anche la coppia nett
22. otterr quindi una matrice To che rappresenta la trasfor mazione dal sistema di riferimento globale O al sistema di riferimento centrato sul target mobile 3 3 ELABORAZIONE DATI ol La posizione relativa fra il target fisso e il target mobile quindi Tn Ty gt Ma 3 5 tp Videocamera Dal codice paragrafo 2 2 si ottiene la posizione relativa target fisso target mobile che per espressa rispetto al sistema di riferimento della videocamera che ha un orientamento diverso dal sistema di riferimento del sistema di motion capture vedi 1 3 2 Affinch vi sia quindi compatibilit nei risultati quando si andr ad effettuare il confronto fra i due sistemi necessario che le terne siano orientate tutte allo stesso modo In figura 3 6 rappresentato l orientameto delle due terne nel volume di calibrazione la trasformazione necessaria ad orientare la terna della videocamera come la terna del sistema di motion capture data dalla seguente ia mo ni Tr Team mTio 3 6 dove Tr Troty 7 2 Trotz a cos 7 2 0 sin 7 2 0 1 0 0 0 0 1 0 0 0 cost sinTg 0 sin 7 2 O cos 7 2 0 0 sint cost 0 0 0 0 1 0 0 1 mTlo Troty 2 Trotz m cos 7 2 0 sin 7 2 0 cos 7 sin 7 0 0 E 0 1 0 O sin 7 cos 7 0 0 sin 2 0 cos 7 2 0 0 0 1 0 0 1 0 O 1 E possibile inoltre dimostrare che Tr To 3 7 Calcolo dell errore L errore st
23. questo caso necessario modificare manualmente i parametri di area e shape scegliendoli in base ai risultati ottenuti dalla blob analysis cointenuti nel messaggio di errore gt gt Warning iblobs failed at frame 320 Identified blobs Area Shape Theta 0 1890 0 3204 2 3746 0 9190 0 3316 2 3786 0 3620 0 3127 0 8274 0 6270 0 3294 0 8487 0 1030 0 2916 1 7068 gt gt retry to individuate target on current frame 1 YES other opt 2 shape 0 16943 0 4925 gt gt try new shape limits Si 2 0 3 0 5 area 100 1952 gt gt try new area limits A1 A2 150 1000 2 2 CODICE 43 La regione che non appartiene al target ha un valore di shape 0 2916 sufficiente quindi un valore di S1 gt 0 3 per eliminarla Per quanto riguarda invece il caso di figura 2 8c non possibile identificare tutte e quattro le regioni a causa di un riflesso sul bordo di una di esse In questo caso modificare 1 parametri o riselezionare la finestra non avr alcun effetto quindi al comparire dei messaggi di errore si dar sempre Invio cio non si inserir nessun parametro il codice automaticamente prender il risultato del frame precedente e passer al successivo quindi quel particolare frame in cui l analisi non possibile viene scartato e sostituito con il risultato del frame precedente Lo stato di avanzamento dell analisi monitorato da una barra di avanzamento che riporta il numero di frame analizza
24. sensore mentre i parametri cosiddetti estrinseci descrivono la posizione della telecamera e comprendono un minimo di sei parametri per descrivere le traslazioni e le rotazioni nel sistema di riferimento globale Ci sono quindi un totale di 11 parametri la matrice della fotocamera ha 12 elementi per cui un grado di liberta il fattore di scala resta vincolato In pratica questi parametri non sono noti e devono essere stimati sulla base di una procedura di calibrazione della telecamera che verr trattata in 1 3 Il campo di visuale o field of view di una fotocamera funzione della lunghezza focale f Una lente con un ampio angolo di visuale avr una lunghezza focale corta una lente teleobiettivo avr una lunghezza focale lunga mentrer un obiettivo zoom avr una lunghezza focale variabile Il campo di visuale pu essere determinato in riferimento alla figura 1 8 In direzione orizzontale l angolo di visuale W pu H i vy 2 tan Zh 1 20 6 2 tan h an TE 5 si pu notare inoltre che il campo di visuale funzione anche delle dimensioni del sensore che sono date da Wp x H pp 14 CAPITOLO 1 TEORIA a Distorsione a botte b Distorsione a cuscino Figura 1 9 Esempio di immagini distorte 1 2 2 Distorsione lenticolare Nessuna lente perfetta e le lenti economiche usate in molte fotocamere sono ben lontane da essere perfette Le imperfezioni delle lenti producono distorsioni come l aberrazione c
25. shape S1 52 accept only blobs with shape in the interval S1 to S2 e touch T accept only blobs that touch 1 or do not touch 0 the edge default accept all e class C accept only blobs of pixel value C default all Se ad esempio effettuiamo la seguente blob analysis gt gt f iblobs im class 1 area 1000 2000 shape 0 5 1 touch 0 boundary per l immagine di figura 1 22d si otterr il seguente risultato f 1 area 1211 cent 170 9 100 9 theta 1 55 b a 0 689 class 1 label 1 touch 0 parent 23 perim 190 3 circ 0 420 2 area 1171 cent 120 8 148 0 theta 2 90 b a 0 687 class 1 label 8 touch 0 parent 23 perim 155 4 circ 0 610 3 area 1377 cent 212 9 155 6 theta 2 98 b a 0 715 class 1 label 10 touch 0 parent 23 perim 158 3 circ 0 691 4 area 1268 cent 161 6 198 1 theta 1 67 b a 0 630 class 1 32 CAPITOLO 1 TEORIA label 20 touch 0 parent 23 perim 174 7 circ 0 522 dove fra le opzioni si inserito e il valore per classe dei pixel pari a 1 cio sono state elaborate le regioni formate solo da pixel bianchi e il valore dell area massima e minima e il valore del rapporto massimo e minimo b a fra i raggi dell elissoide d inerzia e l opzione non tocca il bordo in questo modo sono state elaborate solo le regioni che non toccano il bordo dell immagine Come si pu notare le regioni individ
26. test in un tempo molto breve Il modello utilizzato per la stima della coppia di rollio applicata alla motocicletta molto semplificato non sono state considerate infatti le rotazioni del busto del pilota Il modello che comprende tutti e sei i gld del busto del pilota molto complesso e richiede uno studio approfondito 97 Appendice A Codice Matlab A 1 Video Processing h POSE ESTIMATION OF A MOTORCYCLE RIDER USING A CAMERA h Video processing h loading video h blob analysis target pilot h blob analysis target moto A BRAI 2014 mail to alberto brai85 libero it clearvars except video close all disp gt disp VIDEO PROCESSING disp loading video disp blob analysis of a rider target disp blob analysis of a moto target disp i 4 LOADING VIDEO videoName input Insert video name with suffix avi mp4 8 video VideoReader videoName h video parameter start_frame end_frame n_frames skip_frames videoParameter video 99 100 APPENDICE A CODICE MATLAB hh TARGET PILOT Crop images at target size disp gt IDENTIFY THE RIDER TARGET disp DE crop win click_and_crop read video start_frame displ0K 4 disp Running blob analysis h TARGET PILOT Blob analysis shape 0 20 1 area 200 20000 wbar waitbar 0 Processing video i 1 f 0 cen
27. the blob analysis running ambiguity_control m disp disp Instead for pose estimation running disp pose_est_pilot m for rider pose estimation disp pose est_moto m for moto pose estimation A 2 POSE EST MOTO 103 disp disp Bye disp A Brai 2014 A 2 pose est moto h POSE ESTIMATION OF A MOTORCYCLE RIDER USING A CAMERA h pose estimation of a target moto h h A BRAI 2014 h mail to alberto brai85 libero it h Loading parameters cam gopro load GoPro Hero 1 parameter from camera calibration h cam goproH3_1440p load centers_moto mat load centers from blob analysis 77 Pose estimation clear T n_frames size centers_moto 3 T zeros 4 4 n_frames T_old T 1 memorize the previous pose matrix for k 1 n_frames attempt to estimate target s pose try T k cam estpose target_moto centers_moto k catch on pose estimation failure disp L Warning pose estimation failed at num2str k T k T_old set the matrix equal to the previous end T_old T k memorize the previous pose matrix end T_moto median T 3 calcola la posizione media save data save T_moto mat T_moto A 3 pose est pilot h POSE ESTIMATION OF A MOTORCYCLE RIDER USING A CAMERA 104 APPENDICE A CODICE MATLAB pose estimation of a target pilot h h A BRAI 2014 mail to alberto
28. uno scaling 1 2 GENERAZIONE DELL IMMAGINE 13 una traslazione e una proiezione prospettica La matrice C spesso indicata anche come matrice di calibrazione della fotocamera Abbiamo gi menzionato all inizio del paragrafo qual il problema fondamentale della proiezione prospettica ovvero l ambiguit nel distinguere fra un oggetto distante di grandi dimensioni e un oggetto vicino di piccole dimensioni Possiamo riscrivere l equazione 1 18 come p CH HP C P dove H una matrice arbitraria 3 x 3 non singolare Questo implica che esistono infinite combinazioni di fotocamere C e di punti P che possono dare la stessa proiezione p Si comprende quindi come sia molto colplesso determinare le coordinate di un punto nello spazio partendo dalla sua proiezione prospettica su un piano bi dimensionale Questo problema pu essere risolto solo se e sono note tutte le informazioni sulla fotocamera ovvero nota la matrice C e sono note le dimensioni dell oggetto 3 dimensionale proiettato La proiezione pu essere scritta anche come p P P K c 1 19 dove P il punto nello spazio K la matrice dei parametri della fotocamera e Eo la posizione della fotocamera rispetto al sistema di riferimento globale I parametri della fotocamera contenuti nella matrice K comprendono f Pw Ph Un vo e sono detti parametri intrinseci perch rappresentano le caratteristiche insite della fotocamera e del
29. 0 00000 0 00143 0 00088 0 00020 0 00018 0 00000 Pixel error err 0 711 0 563 Note The numerical errors are approximately three times the standard 1 3 CALIBRAZIONE DELLA FOTOCAMERA 21 Reprojection error in pixel To exit ight button qa E i H i n 4 mi 4 ar t t Er sere ee i ELISA pr ra Figura 1 18 Pixel error deviations for reference Una volta effettuata la calibrazione utile analizzare l errore con il comando Analyse error che plotter un grafico contentente gli errori in pixel delle immagini elaborate figura 1 18 Se l errore risulta troppo elevato possibile ridurlo tramite il comando Recomp corners che permette di riselezionare gli angoli della scacchiera ed effettuare una estrazione migliore dei corners per le immagini che presentano un errore eccessivo In questa fase solitamente si utilizza un riquadro pi piccolo rispetto a quello iniziale Fatto ci si ri calibra il set di immagini nel caso della GoPro Hero 3 si sono ottenuti i seguenti risultati gt gt Calibration results after optimization with uncertainties Focal Length fc 841 12 843 11 1 61 1 59 Principal point cc 969 65 722 93 1 16 1 04 Skew alpha 0 00 0 00 gt angleofpixelaxes 90 00 0 00degrees Distortion kc 0 25316 0 06659 0 00011 0 00014 0 00000 0 00098 0 00075 0 00010 0 00010 0 00000 Pixel error err 0 293 0 262 Note The numer
30. 1200 1400 200 400 600 600 1000 1200 1400 1600 1800 Xe in camera frame Figura 1 17 Corner estratti it is necessary to enter an initial guess for the radial distortion factor kc useful for subpixel detection Need of an initial guess for distortion no other yes Use number of iterations provided Use focal provided Estimated focal 5592 3749 pixels Guess for distortion factor kc 0 Inserito un opportuno coefficiente kc il codice in grado di riconoscere gli angoli ed estrarli figura 1 17 Il quadratino blu che compare in ogni angolo estratto rappresenta il riquadro le cui dimensioni wintx winty sono state date nel passaggio precedente entro il quale il software andr a cercare il corner Nel caso della GoPro la distorsione talmente elevata soprattutto vicino ai bordi che ho dovuto scegliere un riquadro di dimensioni elevate per riuscire ad individuare i corner dato che il coefficiente kc in certi casi non era sufficiente Una volta estratti 1 corner di tutte le immagini si procede alla calibrazione tramite il punsante Calibration Terminato il processo verranno plottati i risultati gt gt Calibration results after optimization with uncertainties Focal Length fc 857 51 860 36 2 99 2 9 Principal point cc 984 92 729 51 2 31 2 31 Skew alpha 0 00 0 00 gt angleofpixelaxes 90 00 0 00degrees Distortion kc 0 23113 0 04742 0 00007 0 00057
31. 3 2 ad esempio la GoPro Hero 1 Siano date inoltre le coordinate di quattro punti del target Xp Ap Xp Xp P Ye Ype Yp 1 24 Zp 4p 4p Zp e le coordinate di questi punti proiettati sul piano dell immagine UL UL UTZ UX 1 25 UY1 UY2 VY UYa La posizione del target rispetto alla fotocamera gt gt T_est cam estpose P p T_est la matrice 4 x 4 che rappresenta la trasformazione r cercata importante che le coordinate del punto p che si trovano nella colonna j esima della matrice p corrispondano alla proiezione del punto P le cui coordinate dovranno essere rappresentate anch esse dalla colonna j esima della matrice P In altre parole l ordine dei punti nelle due matrici che vengono date in pasto all algoritmo deve essere lo stesso 1 4 Segmentazione delle immagini La segmentazione delle immagini il processo di partizionamento di un immagine in regioni significative L obiettivo di segmentare o separare i pixel che rappre sentano oggetti di interesse da tutti gli altri pixel dell immagine Concettualmente si tratta di problema semplice per dal punto di vista computazionale molto complesso da implementare Uno dei problemi principali riguarda la robustezza del metodo infatti sufficiente ad esempio cambiare l illuminazione della scena 1 4 SEGMENTAZIONE DELLE IMMAGINI 27 Ps Tourist NN ra information Castle v pixels Tourist l UN information
32. 5 3 Time s Figura 3 19 Rotazione lungo l asse X confronto fra i risultati ottenuti dal BT S motion capture system e 1 risultati delle due telecamere RotX errore Error deg RotX BTS deg 3z 0 5 1 1 5 2 2 5 3 3 5 4 Time s Figura 3 20 Rotazione lungo l asse X ed errori sulla misura ottenuta dalle telecamere 60 CAPITOLO 3 CALIBRAZIONE d RotX Hdt vs error Error GoPro H1 Error GoPro H3 d RotK ldt Errors deg a 0 5 1 1 5 2 2 5 3 3 5 4 4 5 sou Time s Figura 3 21 Velocita di rotazione lungo l asse X ed errori sulla misura ottenuta dalle telecamere ABS Errors Rotx GoPro Hero 1 Errors Yideo Undistort Errors Pixel undistort Errors RotX deg 2 5 Time s ABS Errors Rotx GoPro Hero 3 Errors Poty deg 0 D5 1 13 gt 2 25 3 3 5 4 4 5 5 Time s Figura 3 22 Confronto fra gli errori ottenuti con i due metodi di correzione della distorsione valore assoluto degli errori rotazione asse X 3 4 RISULTATI DEI TEST 61 Asse Y RotY BTS vs GoFrc 90 i Rot GoPro H1 i i i RotY GoPro H3 i i Rotr BTS 60 30 RotY deg 30 60 90 0 0 5 1 1 5 2 2 5 3 Time s Figura 3 23 Rotazione lungo l asse Y confronto fra i risultati ottenuti dal BT S motion capture system e 1 risultati delle due telecamere RotY vs error Error deg RotY BTS deg Time s Figura 3 24 Rotazione lungo l ass
33. 5 5 5 5 Abba Time 5 Figura 3 9 Velocit di traslazione lungo l asse X ed errori sulla misura ottenuta dalle telecamere ABS Errors X GoPro Hero 1 Errors Video Undistort Errors Pixel undistort Errors Y men Time s ABS Errors X GoPro Hero 3 Errors X mm Time s Figura 3 10 Confronto fra gli errori ottenuti con i due metodi di correzione della distorsione valore assoluto degli errori traslazione asse X 3 4 RISULTATI DEI TEST 59 Asse Y fe trasi Y BTS vs GoPrc lrasl Y GoPro H1 i i trasl Y GoPro H3 550 i E asl Y BTS 500 450 400 o n o trasi Y mm 250 E 200 150 100 50 Time 3 Figura 3 11 Traslazione lungo l asse Y confronto fra i risultati ottenuti dal BTS motion capture system e 1 risultati delle due telecamere trasl Y ys error Error GoPRo H1 Error GoPro H3 asl Y BTS Error mm tras Y mm Time 3 Figura 3 12 Traslazione lungo l asse Y ed errori sulla misura ottenuta dalle telecamere 50 CAPITOLO 3 CALIBRAZIONE dY dt vs error Error GoPro H1 Error GoPro H3 Hait Errors mm Time s Figura 3 13 Velocit di traslazione lungo l asse Y ed errori sulla misura ottenuta dalle telecamere ABS Errors Y GoPro Hero 1 Errors Video Undistort Errors Pixel undistort Errors Y mm Time s ABS Errors Y GoPro Hero 3 Errors Y mm
34. COPPIA GENERATA DAL PILOTA 9 Tabella 5 2 Parametri di Dempster massa lunghezza e posizione dei segmenti Segmenti Tink o na Yo OM Mano 0 6 4 0 50 6 Avambraccio 1 6 15 4 43 0 Braccio 2 17 2 43 6 Testa e collo 7 9 17 7 56 7 Tronco 51 1 29 9 46 7 Coscia 9 7 24 7 43 3 Gamba 4 5 23 3 43 3 Piede 1 4 15 2 26 4 e Dy zt zb con x zt hr hi hi 0 24m misurato durante i test A ZOOM Oo Dz 0 16 TCOM Figura 5 6 Modello del pilota 86 CAPITOLO 5 PROVE SPERIMENTALI Figura 5 7 Coppie rilevate sulla motocicletta 5 2 Calcolo della coppia misurata dai sensori La coppia totale misurata dai sensori data dalla somma dei contributi delle componenti in direzione x delle varie coppie figura 5 7 Quindi Map Mpea Ms Mm cose My sin e 5 16 dove Mpea la coppia applicata dal pilota sulle pedaline e vale Do Qu Mbed FpedDX FredSx con d si indicata la distanza fra le due pedaline M la coppia applicata sulla sella Mm la coppia applicata sul manubrio e M la coppia allo sterzo e l angolo di inclinazione dello sterzo e 25 5 5 3 RISULTATI DELLE PROVE SPERIMENTALI ST 5 3 Risultati delle prove sperimentali Le prove sono state effettuate in un tratto di strada pubblica che presenta delle ottime curve con una buona visibilit Il tratto lunghezza 1 6 km rappresentato in figura 5 8 le prove sono state suddivise in du
35. UNIVERSITA DEGLI STUDI DI PADOVA UNIVERSITA DEGLI STUDI DI PADOVA Dipartimento di Ingegneria Industriale DII Corso di Laurea Magistrale in Ingegneria Meccanica Misura della posizione del pilota tramite una action camera Relatore Prof Roberto LOT Co relatore Ing Enrico GIOLO Laureando Alberto BRAI Matricola 1058226 Anno Accademico 2014 2015 Questa tesi stata scritta con ESIFXsu Mac utilizzando il modello Tesi Classica di Lorenzo Pantieri disponibile nel sito http www lorenzopantieri net Le immagini utilizzate sono in parte realizzate dall autore e in parte tratte dalle opere citate in bibliografia L imagine Mano con sfera riflettente tratta dalle opere di Escher Il vero mistero del mondo il visibile non l invisibile Oscar Wilde Alla mia famiglia Indice I 1 Il metodo per la stima della posizione del pilota Teoria 1 1 Rappresentazione della posizione e dell orientamento 1 2 Generazione dell immagine 0 000008 1 2 1 La proiezione prospettica 022 0008 1 2 2 Distorsione lenticolare 0 1 3 Calibrazione della fotocamera 1 3 1 Bouguet Camera Calibration Tool 1 3 2 Central Camera Model 1 83 3 Pose Estimation 2 432 5k due ok ow ee oe Re eS 1 4 Segmentazione delle immagini 04 1 4 1 Classificazione audi 1 4 2 Rappresentazione 2 e a a a a a 1 4 3 De
36. Z ed errori sulla misura ottenuta dalle telecamere ABS Errors RotZ GoPro Hero 1 Errors Video Undistort Etrors Pixel undistort Errors Potz deg 0 0 5 1 1 5 2 2 5 3 3 5 4 4 5 5 Time s ABS Errors Rotz GoPro Hero 3 Errors Rot Z deg 2 5 Time s Figura 3 30 Confronto fra gli errori ottenuti con i due metodi di correzione della distorsione valore assoluto degli errori rotazione asse Z 3 4 RISULTATI DEI TEST 65 Tabella 3 1 Errori medi traslazioni e rotazioni GoPro Herol GoPro Hero3 960p 30fps 1440p 48fps Video Und Pixel Und Video Und Pixel Und Err X mm 0 61 0 59 0 91 1 29 Err Y mm 1 53 1 63 1 01 0 99 Err Z mm 1 17 1 25 0 40 0 46 Err RotX deg 0 39 0 92 0 35 0 35 Err RotY deg 0 33 0 77 0 01 0 59 Err RotZ deg 0 91 0 42 0 59 0 61 Considerazioni sui risultati delle prove Dai grafici relativi alle traslazioni da figura 3 7 a figura 3 18 si nota che l errore oscilla circa attorno al valore 3 5mm per la GoPro Herol mentre per quanto riguarda la GoPRo Hero3 l errore oscilla circa attorno al valore 42mm Per quanto riguarda l andamento dell errore con la velocit si nota che esiste una dipendenza dell errore da quest ultima Ovvero in corrispondenza dei picchi di velocit l errore tende al sul massimo Questa tendenza si verifica nel caso delle traslazioni ma ancora pi evidente nel caso delle rotazioni Infatti per quest ultime l andamento dell er
37. a variazione attorno al valore medio mentre il picco attorno allo 0 3 pi alto e largo del primo rappresenta i pixel scuri ed ha una pi elevata variazione della luminosit attorno al valore medio Impostare un valore di soglia t in modo da separare la due classi di pixel per questo caso risulta molto semplice La netta demarcazione fra i due picchi ci permette di poter scegliere un valore di t compreso fra 0 6 e 0 8 Il Metodo Otsu permette di calcolare automaticamente il valore di soglia ottimale che separa un immagine in due classi di pixel in modo da minimizzare la varianza del valori all interno di ciascuna classe e massimizza la varianza dei valori tra le classi supponendo per che l istogramma presenti due picchi distinti Per l immagine di figura 1 23 il Metodo Otsu calcola un valore di soglia t 0 6 Chiaramente non tutte le immagini presentano una netta separazione come nel caso precedente Si consideri ad esempio la stessa immagine nella quale per stato modificato il valore di luminosit tramite l aggiunta di un gradiente in direzione diagonale Il risultato mostrato in figura 1 24a e l istogramma che si ottiene radicalmente diverso non presenta pi i due picchi distinti e di conseguenza non pi possibile separare le due famiglie di pixel come nel caso precendente figura 1 24b In questo caso il Metodo Otsu calcola una soglia t 0 5412 e il risultato dell applicazione di tale soglia mostrato in f
38. amente minore il quindi in questo caso il pilota ha guidato con uno stile meno aggressivo questo fatto si pu apprezzare anche dall entit dell angolo a nettamente inferiore nel tratto di ritorno rispetto all andata In tabella 5 4 sono riportati i coefficienti di correlazione tra l angolo di rollio ottenuto confrontando le due prove di andata e le due prove di ritorno Lo stesso si fatto per l angolo a La correlazione fra l andamento dell angolo di rollio indica quanto simili sono le traiettorie seguite dalla moto 1 traiettorie identiche 94 CAPITOLO 5 PROVE SPERIMENTALI Tabella 5 4 Confronto tra le prove ripetute Cross Correlation Coefficient Andatal vs Andata2 Ritornol vs Ritorno2 n 0 892 0 923 a 0 797 0 607 Tabella 5 5 Correlazione fra le coppie misurate 2 Cross Correlation Coefficients Cp vs Captot Cp vs Copnosteer Cp VS Csella Andata 1 0 842 0 895 0 970 Andata 2 0 802 0 817 0 952 Ritorno 1 0 893 0 840 0 961 Ritorno 2 0 694 0 787 0 930 mentre la correlazione fra l andamento dell angolo a indica quanto differente stato lo stile di guida fra una prova e l altra Come si pu notare l angolo di rollio ben correlato mentre vi una scarsa correlazione nell angolo a nel caso delle prove di ritorno in questo caso quindi il pilota ha adottato due stili diversi tra la prova Ritornol e Ritorno2 Nei grafici che seguono da figura 5 13 a figura5 16 sono riportati gli andamenti delle copp
39. asse Z fig l DT Risultati calibrazioni traslazione asse Z 118 2 Fi Risultati calibrazioni traslazione asse Z fig 3 58 Risultati calibrazioni traslazione asse Z 118 4 98 Risultati calibrazioni rotazione asse X fig l 99 Risultati calibrazioni rotazione asse X fig 2 59 Risultati calibrazioni rotazione asse X fig 3 60 Risultati calibrazioni rotazione asse X fig 4 60 Risultati calibrazioni rotazione asse Y fig 1 61 Risultati calibrazioni rotazione asse Y fig 2 61 Risultati calibrazioni rotazione asse Y fig 3 62 Risultati calibrazioni rotazione asse Y fig 4 62 Risultati calibrazioni rotazione asse Z fig 1 63 Risultati calibrazioni rotazione asse Z fig 2 63 Risultati calibrazioni rotazione asse Z fig 3 64 Risultati calibrazioni rotazione asse Z 118 4 64 Risultati calibrazioni movimenti combinati traslazionl 66 Risultati calibrazioni movimenti combinati errori traslazioni 66 Risultati calibrazioni movimenti combinati rotazioni 67 Risultati calibrazioni movimenti combinati errori rotazioni 67 Motocicletta Aprilia Mana 850 71 20 Data LOST no mae e RAE RE GES SS 12 Installazione Logger 2 a aa a i Mappatura Season 14 Piattaforma inerziale e sensore
40. ata Logger e velocit angolare Gy e velocit angolare G con una risoluzione di 0 02 m s ed un fondo scala di 6 texto Inoltre se dotato di antenna GPS figura 4 5 questo strumento permette di misurare e ricostruire il tracciato percorso L antenna GPS acquisisce ad una frequenza di 6 Hz i seguenti canali e latitudine lungitudine e velocit assoluta sulla superficie terrestre km h e accelerazione longitudinale assoluta riferita alla traiettoria ricostruita m s e accelerazione laterale assoluta riferita alla traiettoria ricostruita m s 14 CAPITOLO 4 SETUP STRUMENTALE lt i pri ui n a Hd m o a lt o LOAD CELL PEDALINA DX x i lt al a 1 pa a SJ u U a lt o STEEARING TORQUE STEEARING ANGLE T D o O uu Q N Figura 4 4 Mappatura dei sensori 4 3 Sensore di coppia allo sterzo e di coppia al manubrio Il sensore di coppia allo sterzo figura 4 6 stato realizzato dal gruppo di ricerca MDRG Motorcycle dynamics research group La coppia allo sterzo viene rilevata direttamente nel punto di fissaggio del manubrio Il sensore risulta essere sensibile sia ai bassi valori di coppia tipici delle manovre stazionarie in percorrenza di curva che agli alti valori tipici di manovre di emergenza o di cambio improvviso di direzione Il sensore misura valori positivi per momenti applicati in senso orario osservando la moto dall alto vers
41. ate dei pixel sono espresse dal vettore u v chiaramente formato da numeri interi positivi l origine per convenzione si trova nell angolo in altro a sinistra dell immagine Le coordinate dei pixel sono riferite alle coordinate del piano dell immagine dalle seguenti relazioni L y u Uo U 00 Pw Ph dove e Pw pp sono rispettivamente la larghezza e l altezza del pixel e uo vo sono le coordinate del principal point ovvero le coordinate del punto dove l asse ottico interseca il piano dell immagine 12 CAPITOLO 1 TEORIA Figura 1 8 Modello central perspective imaging con matrice dei pixel sul piano dell immagine fonte Peter Corke Robotic Vision and Control E possibile quindi esprimere le coordinate del punto proiettato sul sensore in pixel premoltiplicando l equazione 1 14 per una matrice K che contiene i parametri della fotocamera Lipu 0 Uo f 0 00 _ p 0 Yo v 0 f 0 0 P 1 17 0 0 1 0 0 10 K dove p u v w sono le coordinate omogenee del punto P in pixel Le coordinate non omogenee sono ovviamente Combinando le equazioni 1 16 e 1 17 si ottiene l equazione generale della protezione prospettica flow O uo 1 0 0 0 i 1 0 0 To P 01 01 a p 0 Jon Vo 0 0 0 l 0 estinseci 1 18 intrinseci KPy T31P CP dove tutti 1 termini sono contenuti nella matrice 3 x 4 della fotocamera o camera matrix C che rappresenta una trasformazione omogenea che effettua
42. ate del baricentro del pilota rispetto al sistema di riferimento centrato sul punto sella figura 5 2 La posizione del pilota T7 che si ottiene dal sistema di pose estimation espressa rispetto al sistema di riferimento del target moto figura 5 2 necessario perci trasformare questo sistema di riferimento nel sistema di riferimento centrato nel punto sella per ottenere la posizione del pilota espressa rispetto ad esso ed orientare inoltre il sistema di riferimento del taget pilot come il sistema di riferimento del punto sella La trasformazione si pu scrivere S T rps Tom Tr Terps 5 4 5 1 CALCOLO DELLA COPPIA GENERATA DAL PILOTA 31 0 27 m Figura 5 2 Sistemi di riferimento target moto target pilota e punto sella Tlrm Tirast 0 270 0 270 0 Troy 1 2 Trotz 7 Trot 75 55 Tye Troy 1 2 Tre 5 6 dalla matrice T rps si ricavano le coordinate tp Yp Zp del pilota rispetto al sistema di riferimento centrato nel punto sella La formula 5 3 necessita del valore di a p ed mp che verranno determinati nel paragrafi che seguono 5 1 1 Calcolo dell angolo di rollio L angolo di rollio calcolato tramite i sensori di distanza installati sulla moto In riferimento alla figura 5 3 si pu scrivere che d h Lit ee 5 7 d h L tan y Az quindi ricavando tan p t _ di h ie 9 5 8 tan Y e e sommando le due equazioni si ottiene Lo di h Li h Az d
43. atletici Il sistema usato nei nostri test un sistema optoelettronico ed costituito da sei telecamere ad infrarossi a 60 Hz figura 3 2 e da dei particolari marcatori detti markers figura 3 3 che riflettono la luce nello spettro dell infrarosso e quindi visibili da queste telecamere Questo sistema in grado di rilevare la posizione x y z dei marker nello spazio e affinch il sistema possa triangolare la sua posizione il marker deve essere visibile da almeno due telecamere Prima di eseguire i test necessario calibrare il volume in cui si intende operare Durante la procedura di calibrazione le telecamere identificano una terna di riferimento comune che viene posizionata in un punto del volume da calibrare e che diventer l origine del sistema di riferimento del volume calibrato Inoltre vengono valutati i parametri intrinseci ed estrinseci di ogni camera Solo tramite questa procedura possibile effettuare la ricostruzione ed ottenere le posizioni dei markers all interno del volume calibrato 47 48 CAPITOLO 3 CALIBRAZIONE Sistema di riferimento Figura 3 1 Optoelectronic motion capture system Fonte Dispense del corso Sport engineering and rehabilitation devices 2013 prof N Petrone Figura 3 2 Videocamera ad infrarossi 3 2 Test Per effettuare i test sono stati posizionati tre marker sul target fisso figura 3 4 e quattro marker sul target mobile figura 3 5 Sul target fisso
44. ato valutato come differenza fra la misura ottenuta dal sistema di motion capture e la misura ottenuta dalle telecamere che stata elaborata nei due modi seguenti 1 misura ottenuta elaborando il filmato privo di distorsione della lente 2 misura ottenuta elaborando il filmato con distorsione della lente e correzione della distorsione a posteriori sulle coordinate dei centri rilevate In questo modo stato possibile valutare l effetto della correzione della distorsione effettuata solamente sulle coordinate dei centri vedi paragrafo 2 2 1 rispetto all analisi del filmato privo di distorsione ottenuto correggendo i frames completi 92 CAPITOLO 3 CALIBRAZIONE Zcam sei Xcam y ala BTS Ycam Figura 3 6 Orientamento dei sistemi di riferimento del BTS e della telecamera 3 4 Risultati del test Le prove effettuate sono suddivise in tre parti 1 traslazioni lungo 2 y 2 2 rotazioni attorno a 2 Y 2 3 movimenti combinati Nelle pagine che seguono sono rappresentati i risultati dei test I dati sono stati filtrati tutti a 2 Hz tramite un filtro low pass di ordine 10 In figura 3 7 riportato l andamento della coordinata X rilevato dal sistema BTS e dalle due telecamere in figura 3 8 riportato l andamento della coordinata X e il corrispondente errori in mm delle due telecamere valutati come grs IGoPro in figura 3 9 invece si confrontano gli errori con la velocit di spostamento in mm s I
45. cchiera dX dY e il numero di riquadri lungo la direzione x e y quest ultima selezione opzionale il toolbox pu anche riconoscere automaticamente i riquadri L operazione si ripete poi per tutte le immagini SUCCESSIVE Molto spesso i punti in cui il codice prevede che si trovino gli angoli non sono abbastanza vicini agli angoli dell immagine reale per consentire un estrazione dell angolo efficace come in figura 1 16 Questo si verifica a maggior ragione se la fotocamera ha una lente con un elevata distorsione come nel caso della GoPro In questo caso necessario inserire manualmente un coefficiente correttivo kc che tiene conto della distorsione gt gt If the guessed grid corners red crosses on the image are not close to the actual corners 1 3 CALIBRAZIONE DELLA FOTOCAMERA 19 Click on the four extreme comers of the rectangular pattern first comer origin Image 19 200 400 E a 600 800 1000 1200 1400 T 400 600 800 1000 1200 1400 1600 1800 Figura 1 15 Estrazione corner individuazione manuale degli angoli Theredcrosses should be close tothe image comers 200 600 200 1000 1200 1400 200 400 s00 7 800 1000 1200 1400 1600 1800 Figura 1 16 Estrazione corner corner previsti dal codice senza coefficiente correttivo kc 20 CAPITOLO 1 TEORIA Extracted comers 00 400 500 per i Ill TINI Hi III ai e in camera frame 1000
46. e e sono note le dimensioni del target e le coordinate X Y Zi i 1 N di un numero di N punti del target rispetto a T y e sono noti i parametri intrinseci della fotocamera 26 CAPITOLO 1 TEORIA e sono note le coordinate u v dei N punti del target proiettate sul piano dell immagine della fotocamera Il problema di stimare la posizione usando le coordinate dei punti u vi Xi Yi Zi i 1 N e i parametri intrinseci della fotocamera detto Perspective n Point Problem o PnP Problem Negli ultimi anni sono stati proposti vari algoritmi per la soluzione di questo problema In questo lavoro verr utilizzato l algoritmo proposto da Vincent Lepetit Francesc Moreno Noguer e Pascal Fua denominato EPnP An Accurate O n Solution to the PnP Problem Si tratta di un algoritmo non iterativo la cui complessit computazionale cresce linearmente con il numero dei punti n O n a differenza di altri algoritmi nei quali la complessit computazionale cresce con O n oppure O n Questo algoritmo non iterativo presenta una migliore precisione e una minore complessit computazionale rispetto agli altri algoritmi non iterativi e rispetto agli algoritmi iterativi molto pi veloce con una piccola perdita di precisione L algoritmo applicabile per n gt 4 e gestisce sia punti complanari che non complanari Per mostrare il funzionamento di questo algoritmo si consideri una fotocamera calibrata vista nel paragrafo 1
47. e 2 Segmentazione delle immagini rappresentazione Posizione target 6 0 a a a a a Target Tarect pilota anehe DAA Fissaggio del target al pilota Target moto con supporto a a a Target moto camera VIEW Identificazione del target LL Blob analysis error Barra di avanzamento analisi Sistema motion Capture vil vill 3 2 3 9 3 4 3 0 3 6 3 7 3 8 3 9 3 10 3 11 3 12 3 13 3 14 3 15 3 16 3 17 3 18 3 19 3 20 3 21 3 22 3 23 3 24 3 25 3 26 3 27 3 28 3 29 3 50 3 91 3 92 9 99 3 94 4 1 4 2 4 3 4 4 4 9 4 6 4 1 4 8 4 9 4 10 4 11 5 1 ELENCO DELLE FIGURE Videocamera ad infrarossi 2 22 48 Moke irene 48 Test BT S marker su target fisso 49 Test BTS marker su target mobile 50 Orientamento dei sistemi di riferimento del BTS e della telecamera 52 Risultati calibrazioni traslazione asse X fig 1 93 Risultati calibrazioni traslazione asse X fig 2 93 Risultati calibrazioni traslazione asse X fig 3 94 Risultati calibrazioni asse X fig 4 0 a a 54 Risultati calibrazioni traslazione asse Y fig l 2 90 Risultati calibrazioni traslazione asse Y fig 2 55 Risultati calibrazioni traslazione asse Y fig 3 56 Risultati calibrazioni traslazione asse Y fig 4 56 Risultati calibrazioni traslazione
48. e Y ed errori sulla misura ottenuta dalle telecamere 62 CAPITOLO 3 CALIBRAZIONE d RotY dt vs error Errors deg d RotY BT S dt degl Ei 0 5 1 1 5 2 2 5 3 3 5 4 4 5 5 5 5 6 Time s Figura 3 25 Velocit di rotazione lungo l asse Y ed errori sulla misura ottenuta dalle telecamere ABS Errors Roty GoPro Hero 1 a _ ee Errors video Undistort Errors Pixel undistort lerrors Rot deg Time s ABS Errors RotY GoPro Hero 3 lerrors Rot YI deg Time s Figura 3 26 Confronto fra gli errori ottenuti con i due metodi di correzione della distorsione valore assoluto degli errori rotazione asse Y 3 4 RISULTATI DEI TEST 63 Asse Z RotZ BTS vs GoPre Rot GoPro H1 RotZ GoPro H3 Rot2 BTS RotX deg 0 0 5 1 1 5 2 2 0 3 3 5 4 4 5 5 Time s Figura 3 27 Rotazione lungo l asse Z confronto fra i risultati ottenuti dal BTS motion capture system e 1 risultati delle due telecamere RotZ ys errors Error GoPRo H1 Error GoPro H3 Rot2 BTS Error deg Rotz BTS deg 1 5 2 2 5 3 3 5 4 4 5 5 Time 3 Figura 3 28 Rotazione lungo l asse Z ed errori sulla misura ottenuta dalle telecamere 64 CAPITOLO 3 CALIBRAZIONE d RotX Hdt vs error Error GoPro H1 Error GoPro H3 d RotKWdt a kei g gt A pg Y SQ x LU O 2 0 5 1 1 5 2 2 5 3 3 5 4 4 5 an Time s Figura 3 29 Velocit di rotazione lungo l asse
49. e parti andata con senso di percorrenza da A a B 2 volte ritorno senso di percorrenza da B ad A 2 volte Vivai Piante Forin amp oo un ai pi T Cnocabin S p Als PAT E Via Rus E L AS BITUBO Srl amp 200 m 500 ft F Mat tun Da Figura 5 8 Tratto di strada percorso durante i test Fonte Google Maps I dati del sistema di pose estimation e della telecamera sono stati sincronizzati tramite l algoritmo di cross correlation incrociando il canale della coppia sulla sella Entrambe le prove non sono riferite all intero percorso di figura 5 8 ma ad un tratto pi corto 1 2 km a causa del traffico locale che ha ostacolato in parte la guida 88 CAPITOLO 5 PROVE SPERIMENTALI M con la coppia ottenuta dal sistema di pose estimation M Questo perch in linea teorica lo sfasamento fra queste due coppie ci si aspetta sia nullo dato che la coppia alla sella risente in modo diretto dello spostamento del pilota Infine i dati sono stati filtrati a 2 Hz tramite un filtro passa basso di ordine 10 I risultati dei test sono riportati dalla figura 5 9 alla 5 12 con il seguente ordine andata 1 in figura 5 9 andata 2 in figura 5 10 ritorno 1 in figura 5 11 ritorno 2 in figura 5 12 In ogni figura riportato rispettivamente 1 un grafico che riporta l andamento della velocit di avanzamento in km h e Vaccelerazione longitudinale a in m s per il tratto percorso 2 un grafico che riporta
50. el piano dell immagine data dal punto p x y tramite la seguente relazione X Y T fz y z 1 11 che rappresenta la trasformazione prospettica dall oggetto reale all immagine ed ha le seguenti caratteristiche 10 CAPITOLO 1 TEORIA e Esegue una trasformazione dallo spazio tridimensionale al piano dell immagine bidimensionale R R e Linee rette restano proiettate come linee rette e Linee parallele vengono proiettate come linee che si intersecano in un punto di fuga o vanishing point questo valido sempre eccetto per linee in un piano parallelo al piano dell immagine che non convergono e Coniche sono proiettate come coniche nel piano immagine Ad esempio un cerchio viene proiettato come un ellisse o al limite come un cerchio nel caso si trovi in un piano parallelo al piano dell immagine e La trasformazione inversa non univoca cio dato il punto proiettato p x y non possibile determinare un unico punto P X Y Z ma si pu solamente affermare che il punto P cercato si trova lungo la semiretta OP come rappresentato in figura 1 6 e La trasformazione non conforme cio non conserva le forme dato che gli an goli interni non vengono conservati Una traslazione rotazione o una riduzione in scala sono esempi di trasformazione conforme Una generica trasformazione affine non conforme comprende traslazioni rotazioni e cambiamenti di scala differenti per ogni asse Esprimiamo ora il pu
51. el posizionamento dei target e della telecamera sulla motocicletta pesante dal punto di vista computazionale In questa analisi che vedremo nel paragrafo 2 2 si andra ad effettuare sul singolo frame una blob analysis in modo da ottenere le coordinate delle proiezioni dei punti del target sul sensore della camera e successivamente tramite l algoritmo di pose estimation si andr a determinare la posizione del target stesso E chiaro quindi che il target deve avere determinate caratteristiche e soddisfare perlomeno queste due condizioni fondamentali e deve essere ben riconoscibile e ipunti individuati dovranno essere associati in modo univoco e corretto ai punti del target Riuscire ad individuare i punti in modo univoco il problema pi ostico Infatti la blob analysis determina le regioni apparentemente senza un ordine preciso che pu essere ad esempio dalla pi grande alla pi piccola o viceversa In realt analizzando l algoritmo di blob analysis utilizzato si visto che le regioni sono determinate scansionando la matrice di pixel di cui formata l immagine da sinistra verso destra e dall alto verso il basso perci la regione pi in alto a sinistra sar identificata come blob 1 e la regione pi in basso a destra sar la blob n Questo criterio per nel nostro caso non sufficiente a determinare le regioni univocamente perch se immaginiamo di ruotare ad esempio di 7 2 il target attorno all
52. ero di frame analizzato fissato a priori ed pari a 50 La selezione della finestra ridotta e la correzione della distorsione avvengono invece con le stesse modalit dell analisi precedente Terminata l analisi dei target il codice salver le matrici contenenti i centri nella cartella di lavoro corrente in due file con i seguenti nomi centers_pilot mat centers_moto mat La tabella 2 1 riporta i tempi di esecuzione delle principali funzioni richiamate durante un analisi del target pilot di uno spezzone di video della durata di 60 secondi 2 2 CODICE 45 a 30 fps 1800 frame Come si pu vedere l analisi durata in totale 150 8 fs quindi circa 2 5 min 1 min video Dai tempi di esecuzione di ogni singola funzione si nota in particolare che la funzione undistortPixel impiega solamente 2 4 s per correggere la distorsione dei pixel relativi ai punti del target mentre se avessimo corretto la distorsione dei frame completi sarebbero state necessarie pi di 2 ore 2 2 2 Pose estimation target Ricavate le coordinate dei punti dei target proiettati sul sensore piano dell im magine si passa ora alla stima della posizione dei due target rispetto alla camera tramite gli script pose_est_pilot e pose_est_moto Questi due script sono molto simili tra loro l unica differenza pose_est_pilot stima la posizione camera pilota e quindi restituisce n matrici Tpilot 4 4 i dove i 1 2 n pose_est_moto st
53. esto caso che sono collegati tra loro In altre parole si potrebbe dire che una blob una regione di pixel contigui appartenenti alla stessa classe Il comando gt gt label m parents cls ilabel im permette di individuare le blobs all interno di un immagine La variabile m indica il numero di blobs individuate nel caso della figura 1 25 si hanno tre regioni bianche e due nere quindi m 5 mentre label l etichetta che viene assegnata ad ogni pixel della regione individuata Quindi ad esempio tutti i pixel appartenente alla regione 2 verranno individuati dall etichetta 2 Il vettore parents indica se una regione contenuta in un altra e quale regione la contiene cls indica la classe dei pixel di una regione 1 bianco 0 nero Nell analisi ilabel viene assunto come valore di default una connettivit a 4 vie 30 CAPITOLO 1 TEORIA O ur i ST nformation v pixels i Cast 200 400 600 800 1000 1200 01 02 03 04 05 06 07 08 09 a u pixels b Greylevel a Immagine in scala di grigi con gradiente di b Istogramma dei valori di pixel in scala di luminosita diagonale grigi v pixels 200 400 600 800 1000 1200 E u pixels c Applicazione del valore di soglia dato dal Metodo Otsu t 0 54 Figura 1 24 Binarizzazione di un immagine Fonte Peter Corke Robotic vision and control cio si considerano i pixel connessi all interno di una regione solo se sono a contatto al lati La con
54. i riferimento del target moto figura quindi come prima necessario trasformare rispetto al sistema di riferimento della motocicletta figura 5 4 per ottenere la posizione del pilota espressa rispetto ad esso ed orientare inoltre il sistema di riferimento del taget pilot come il sistema di riferimento della moto La trasformazione si pu scrivere i og lis a Ey 5 12 con mT om Team Ta Term 5 13 T ES sa Loy 17 2 Trotz 7 2 5 14a dg D 0 0 880 0 Lo 7 5 14b T rm Terast 0 0 220 0 100 5 14c TPIT Tpy ia 5 14d 34 CAPITOLO 5 PROVE SPERIMENTALI La matrice T 7 contiene le coordinate del pilota rispetto al sistema di riferimento della motocicletta 5 1 3 Modellizzazione del pilota secondo Dempster Il pilota stato modelizzato secondo i parametri del modello di Dempster Questo modello prevede la suddivisione del corpo in segmenti collegati da articolazioni Dempster tramite i risultati ottenuti da uno stu ES dio effettuato su numerosi soggetti ha definito u OT lunghezze masse e baricentri dei segmenti nor Tronco EA malizzati rispetto all altezza e massa totale del Ao corpo In tabella 5 2 sono riportati i valori in percentuale rispetto alla massa e altezza totale 436 Braccio gt Tenendo presente lo scopo del calcolo cio 56 4 stimare la massa del pilota mp da introdurre 4 gt gl nella formula 5 3 si pu considerare in prima 1 approssimazione 1
55. ical errors are approximately three times the standard deviations for reference Mentre per la GoPro Hero 1 si ottenuto gt gt Calibration results after optimization with uncertainties 22 CAPITOLO 1 TEORIA Extrinsic parameters camera entered T a Pi Ra ma 300 d Ma eel ii a TIRRENO ORALE TT y nei AAEE ITHE Ry AN a a ma AA 700 mde a E oly 200 Figura 1 19 Parametri estrinseci sistema di riferimento fotocamera Focal Length fc 570 55 571 32 4 49 4 17 Principal point cc 648 21 495 63 3 89 4 77 Skew alpha 0 00 0 00 gt angleofpixelaxes 90 00 0 00degrees Distortion kc 0 27956 0 06391 0 00045 0 00054 0 00000 0 00354 0 00225 0 00084 0 00054 0 00000 Pixel error err 0 413 0 387 Note The numerical errors are approximately three times the standard deviations for reference Per quest ultima si nota che l errore leggermente pi elevato rispetto alla prima Questo dovuto al fatto che le immagini utilizzate per la calibrazione che non erano altro che dei frame estratti da un filmato non avevano una buona definizione e quindi i bordi dei riquadri della scacchiera risultavano poco definiti Al contrario le immagini estratte dal filmato fatto con la GoPro Hero 3 presentavano un ottima definizione e di conseguenza anche i bordi dei riquadri della scacchiera Il comando Show extrinsic permette di visualizzare i pa
56. ideoReader videoName dove videoName il nome del file video da caricare compreso di estensione ad esempio videoTest avi o videoTest mp4 Una volta caricato il video si procede inserendo il punto in cui si intende far partire l analisi il punto di fine in secondi e la frequenza a cui si intende analizzare il filmato ovvero il numero di frame per secondo che si intende analizzare Ad esempio se si vuole analizzare un spezzone che va dal minuto 1 30 al minuto 3 45 inseriremo gt gt Insert starting time s 150 gt gt Insert ending time s 225 gt gt Insert frequency frames s 30 gt Start frame 4500 gt End frame 6749 Number of frame that will be analyse 2249 A questo punto si passa all analisi di ogni singolo frame che verra estratto dal video Ad ogni frame corrisponder un immagine di dimensioni in pixel pari alla risoluzione del video Nel caso della GoPro Hero 1 la risoluzione utilizzata pari a 1280 x 960 pa 30fps La blob analysis non verr per effettuata sull intero frame perch necessita di un tempo di calcolo troppo elevato circa 10 secondi per frame e inoltre si avrebbero delle difficolta nel riconoscimento delle regioni appartenenti al target a causa dell eccessivo numero di regioni che verrebbero individuate L esigenza di realizzare un codice che non sia eccessivamente pesante dal punto di vista computazionale e che sia in grado di individuare le regioni 2 2 CODICE 39
57. ie misurate dai sensori prese singolarmente per le prove effettuate Come si pu notare la coppia alla sella e la coppia alla pedane sono le componenti che influiscono maggiormente sulla coppia totale La coppia allo sterzo si mantiene sempre al di sotto dei 10 Nm in tutte e quattro le prove e si nota che il suo andamento molto simile tra le prove ripetute Un contributo maggiore lo da invece la coppia al manubrio che in certi tratti raggiunge 120Nm chiaro che il modello usato per valutare la coppia applicata dal pilota M considerando solo lo spostamento laterale del pilota molto semplificato e le componenti della coppia che sono applicate allo sterzo che il pilota applica usando la forza delle braccia non sono conteggiate correttamente Questo modello inoltre non tiene conto degli effetti dinamici che invece sono presenti durante la guida Correlando infatti la coppia Mp con la coppia data dai sensori senza le componenti allo sterzo si ottiene una correlazione mediamente pi elevata rispetto ai dati ottenuti precedentemente Mentre correlando la coppia M con la sola coppia misurata alla sella si ottiengono coefficienti di correlazione elevatissimi prossimi all unit Questo era abbastanza prevedibile in quanto lo spostamento laterale del pilota si trasmette perfettamente alla sella mentre per quanto riguarda le azioni sul manubrio e in percentuale minore sulle pedane la dinamica pi complessa In tabella 5 5 sono riportati
58. igura 1 24c Nel caso quindi di distribuzione non bimodale dei valori di luminosit il Metodo Otsu fallisce Le tecniche basate sulla sogliatura sono notoriamente fragili un leggero cambia mento nell illuminazione della scena e il valore di soglia scelto diventa inappropriato Nella maggior parte delle scene reali non si pu ad esempio scegliere una soglia che seleziona un determinato oggetto piuttosto che un altro all interno di un immagine Distinguere un oggetto dallo sfondo rimane quindi un problema di computer vision complesso 1 4 SEGMENTAZIONE DELLE IMMAGINI 29 200 y Tourist AN information amp 300 o Tourist UN information gt Castle 400 l 500 li 600 g 4 E f C a S t le F d f Je f TOO amp 800 ki 900 p 200 400 600 800 1000 1200 200 400 600 800 1000 1200 a Immagine originale b Immagine binarizzata 6 Number of pixels x 10 0 1 Da 0 3 0 4 0 5 0 6 0 7 0 8 0 9 Greylevel c Istogramma dei valori di pixel in scala di grigi Figura 1 23 Binarizzazione di un immagine Fonte Peter Corke Robotic vision and control 1 4 2 Rappresentazione La rappresentazione consiste nel connettere pixel della stessa classe adiacenti per formare insiemi spaziali S1 S2 Sm Ad esempio nell immagine di figura 1 25 si possono identificare facilmente tre regioni bianche che vengono dette anche blobs Una blob un insieme di pixel della stessa classe bianco in qu
59. ima la posizione camera moto e restituisce una matrice Tmoto 4 4 che la matrice ottenuta mediando i 50 frame analizzati nel passo precedente La posizione del target moto rappresentata da una sola matrice proprio perch un target statico Quindi al limite basterebbe un solo fotogramma per ottenere la sua posizione per per tener conto della dispersione degli errori sono state prese 50 posizioni vedi 2 2 1 e poi ne stata fatta la media Al termine dell esecuzione di questi due script otterremo quindi due file che contengono le posizioni dei due target rispetto alla camera T_pilot mat T_moto mat salvati anch essi nella cartella corrente di lavoro 2 2 3 Posizione relativa target moto target pilota Per calcolare la posizione relativa target moto target pilota si faccia riferimento alla figura INSERIRE FIGURA Si pu scrivere Er Er O Er sottraendo da entrambi i membri si ha O Ex 0 En O Er O Er O Er e quindi si ottiene la forma finale che rappresenta la posizione relativa target moto target pilota Im C C nr 9 9 Em che in forma matriciale si scrive Tr Ma To 46 CAPITOLO 2 MISURA DELLA POSIZIONE DEL PILOTA dove T 7 la posizione camera target moto mentre T 7 la posizione camera target palot L operazione appena vista viene eseguita dallo script rel_pos_MOTOpilot che salva nella cartella corrente il file T_motopilot mat co
60. imo in corrispondenza del vertice in alto a sinistra figura 2 7a e il secondo in corrispondenza del vertice in basso a destra figura 2 7b Tramite questi due click diamo al calcolatore le coordinate in pixel della finestra ridotta gt gt gt IDENTIFY THE RIDER TARGET gt gt Select upper left and lower right corner gt gt DONE gt gt Running blob analysis Queste coordinate sono espresse nel sistema di riferimento del frame che ha origine nel vertice in alto a sinistra Ad esempio facendo riferimento sempre alla figura 2 7 si ottengono le seguenti coordinate gt gt pts1 x y 497 260 gt gt pts2 x y 775 445 e quindi le dimensioni della finestra ridotta sono Cio 497 210m a 445 260 93 pa A questo punto l immagine corrispondente alla finestra selezionata viene prima binarizzata tramite una sogliatura che sfrutta il metodo di Otsu si veda 1 4 1 e successivamente verra eseguita la blob analysis che determinera le coordinate in pixel dei quattro centri delle figure circolari del target Queste coordinate perd sono determinate rispetto all origine del sistema di rife rimento della finestra ridotta percid necessario trasformarle rispetto al sistema di riferimento del frame Quindi se u vi sono le coordinate del punto i esimo in coordinate della finestra ridotta le nuove coordinate rispetto al sistema di riferimento del frame si ottengono tramite le seguenti equazionl
61. iono riconoscere Nel caso di classificazioni con un numero di classi C gt 2 i pixel vengono classificati per colore o livello cromatico e in questo modo possibile suddividere l immagine contenente oggetti di colori diversi La seconda fase del processo di segmentazione detta rappresentazione e consiste nell individuazione degli insiemi spaziali S1 52 Sm dei pixel appartenenti alle 28 CAPITOLO 1 TEORIA varie classi ovvero l identificazione delle regioni che delimitano un gruppo di pixel della stessa classe Ad ogni gruppo verr assegnata un etichetta La terza ed ultima fase detta di descrizione i gruppi di pixel 5 verranno descritti da funzioni scalari o vettoriali che rappresentano ad esempio la dimensione la forma e la posizione 1 4 1 Classificazione Nel processo di classificazione ad ogni pixel dell immagine viene associato il valore di una determinata classe C Operando una classificazione binaria C 2 otterremo una suddivisione fra pixel che appartengono all oggetto e pixel che non appartengono all oggetto Una regola comune la seguente I clu v ey SOR se V u v I 1 26 1 sellu v gt t Questo approccio detto sogliatura e t detto valore di soglia L istogramma di figura 1 23c presenta distribuzione bimodale con due picchi ben definiti che rappresentano due famiglie di pixel Il picco pi basso attorno allo 0 9 corrisponde ai pixel pi luminosi e presenta una bass
62. l analisi viene fermata e 1 viene plottato a schermo l immagine della finestra ridotta di analisi con evidenziate le regioni trovate 2 vengono plottati 1 risultati della blob analysis 3 viene chiesto all utente se desidera riselezionare la finestra ridotta oppure se intende modificare i parametri dell analisi Vediamo ora degli esempi in cui l analisi stata arrestata perch non sono state individuate le quattro regioni del target Il codice plotter un messaggio del tipo gt gt Warning iblobs failed at frame 320 Identified blobs Area Shape Theta 0 8220 0 8841 3 1259 1 6890 0 8697 2 8314 1 9600 0 8021 2 9512 gt gt retry to individuate target on current frame 1 YES other opt e a display verr plottata l immagine in cui c stato l errore in modo che l utente possa capire qual stato il problema figura 2 8 Nel caso di figura 2 8a si nota che sono state individuate solo tre regioni indicate dai marcatori rossi perch la quarta tocca il bordo e quindi viene automaticamente scartata In questo caso sufficiente selezionare una finestra pi grande digitando 1 il codice plotter a schermo il frame completo e l utente andr a ridefinire la finestra ridotta di analisi come fatto per il frame iniziale 42 CAPITOLO 2 MISURA DELLA POSIZIONE DEL PILOTA Figura 2 8 Esempi di blob analysis error Nella figura 2 8b invece le regioni identificate sono 5 In
63. l angolo di rollio di una motocicletta in curva 16 V Lepetit F M Noguer P Fua 2009 EPnP An Accurate O n Solution to the PnP Problem 7 Vittore Cossalter 2008 Motorcycle Dynamics 105
64. l Camera Model Una funzione molto utile che verr usata molto spesso in questo lavoro la Central Camera che una sub class della classe Camera che si trova all interno del Machine Vision Toolbox for MATLAB di Peter Corke scaricabile dal sito http www petercorke com Tramite questa funzione possibile creare un modello di una central perspective camera ovvero un modello che riproduce una fotocamera a prospettiva centrale che ha quindi il punto focale a z 0 e il piano dell immagine a z f L immagine non quindi invertita si veda a proposito 1 2 1 Il sistema di riferimento del modello rappresentato nello schema seguente ed ha origine nell angolo in alto a sinistra dell immagine 24 CAPITOLO 1 TEORIA a Immagine originale distorta b Immagine elaborata non distorta Figura 1 21 Esempio di correzione della distorsione principal point Z axis is into the page v v Y Il comando per creare il modello della fotocamera il seguente gt gt cam CentralCamera options e prevede le seguenti opzioni e name N Name of camera e focal F Focal length metres e distortion D Distortion vector k1 ka k3 p1 p2 e distortion bouguet D Distortion vector k1 ka p1 pa k3 e default Default camera parameters 1024 x 1024 f 8mm 10m pixels camera at origin optical axis is z axis u and v axes parallel to x and y axes respectively
65. l baricentro del pilota e la retta passante per il punto di contatto e il baricentro della moto che assumiamo appartenere al piano di simmetria della moto In questo modello sono presenti le seguenti semplificazioni e il sistema considerato in equilibrio e si assume che la direzione della risultante R passi per il punto di contatto della ruota posteriore In condizioni di equilibrio la risultante R della forza centrifuga e della forza peso attraversa la linea che congiunge i punti di contatto dei pneumatici sul piano stradale Questa linea giace sul piano del motocliclo se le ruote hanno spessore nullo e l angolo di sterzata molto piccolo Questa condizione di equilibrio corrisponde alla percorrenza di una curva a raggio costante ed a velocit costante inoltre considerare nullo lo spessore del pneumatico comporta avere un angolo di rollio leggermente pi piccolo dell angolo di rollio effettivo La coppia generata dallo spostamento laterale del pilota calcolata rispetto al punto sella Ps in figura 5 1 ed data dalla seguente gt M bx R 5 1 19 SO CAPITOLO 5 PROVE SPERIMENTALI p Z moto Figura 5 1 Modello per il calcolo della coppia del pilota Si ha che R Dieci 5 2a b zs ys tan q cosa 5 2b l angolo a piccolo quindi si pu considerare cosa 1 si ottiene b zs ys tana 9 26 la coppia quindi Mp zs ys tana a 5 3 Ys Zs sono le coordin
66. l corso di tutto il lavoro Il secondo paragrafo descrive il processo di formazione dell immagine Si mostrer come i punti di un oggetto reale vengono proiettati sul piano dell immagine della camera s ricaver quindi l espressione che rappresenta la trasformazione prospettica Si vedranno i parametri caratteristici di una fotocamera e in che modo influenzano la proiezione prospettica Verr inoltre descritto il problema della distorsione lenticolare aspetto molto importante che in questo lavoro sar determinante nel ottenimento di misure accurate proprio perch le action cameras che saranno impiegate sono caratterizzate da una distorsione lenticolare molto elevata causata dal loro elevato campo visivo Il terzo paragrafo descrive il procedimento di calibrazione ovvero il processo attraverso il quale vengono determinati i parametri intrinseci ed estrinseci di una camera Verr inoltre descritto l algoritmo che stima la posizione di un oggetto rispetto a una camera calibrata tramite l analisi della proiezione di un insieme di punti dell oggetto L ultimo paragrafo infine illustra le tecniche di segmentazione dell immagine tramite le quali possibile individuare ed analizzare particolari regioni all interno dell immagine 4 CAPITOLO 1 TEORIA 1 1 Rappresentazione della posizione e dell orien tamento La posizione di punto p nello spazio rispetto ad un sistema di riferimento globale O pu essere descritta da un vetto
67. li telescopi etc utilizzano lenti o specchi per concentrare la luce dell immagine catturata direttamente sul piano focale Quando la regolazione fornisce un risultato nitido si dice che l immagine a fuoco in caso contrario si dice che fuori fuoco o sfocata Per analogia l occhio umano funziona proprio come una macchina fotografica dove la parte anteriore cornea e cristallino simile ad un obiettivo dotato di meccanismi di regolazione della messa a fuoco utile per distanze da 7 cm all infinito e dove la parte posteriore retina e nervo ottico funzionano come un sensore fotografico in grado di fornire a distanza di 25 cm una risoluzione massima o acutezza visiva 20 10 monoculare di 280 dpi pari a circa 11 linee per mm La vista binoculare umana mette a fuoco gli oggetti utilizzando due sistemi contemporaneamente la telemetria a sdoppiamento d immagine basata sulla distanza tra le due assi ottiche 1 2 GENERAZIONE DELL IMMAGINE 9 parallasse e l accomodamento focale dei piani prioettati sulla r tina Nella fotocamere la messa a fuoco viene attuata allontanando o avvicinando oppor tunamente sull asse ottico le lenti dell obiettivo in modo che il gruppo ottico si trovi alla distanza z In questo modo possibile mettere a fuoco qualsiasi piano immagine ripreso tra la distanza minima e l infinito proiettandolo nitidamente sul piano focale del sensore lastra pellicola etc Per un oggetto all infinit
68. licazione di forze sulla moto che non sono dovute alla pura azione di controllo del veicolo Per altro queste forze disturberebbero il segnale ottenuto nei sensori soprattutto nelle pedaline Figura 4 1 Motocicletta Aprilia Mana 850 71 12 CAPITOLO 4 SETUP STRUMENTALE Tabella 4 1 Data Logger caratteristiche Model 2D Data Logger id 124 Memory 512 Mb Sampling frequency from 6 25 Hz to 3 2kHz N channels 256 Analogical channels 16 Digital Channel IC 8 4 1 Data Logger Il Data Logger figura 4 2 un componente hardware che permette di or ganizzare e gestire la strumentazione installata nella motocicletta e registrare 1 dati provenienti dai sensori La tabella 4 1 ne riporta le caratteristiche tecniche Il Logger pu interfacciarsi al software di gestione tramite porta seriale Ethernet o porta USB Nel nostro caso il collegamentro con il pc avviene tramite porta Ethernet Nella figura 4 3 rappresentata la sequenza dell installazione del Logger e della piattaforma inerziale all interno del vano casco della moto mentre in figura 4 4 rappresentata la mappatura dei sensori collegati al Logger Figura 4 2 2D Data Logger 4 2 Piattaforma inerziale La piattaforma inerziale 2D figura 4 5 permette di misurare e accelerazione longitudinale A e accelerazione laterale Ay e accelerazione verticale A e velocit angolare G 4 2 PIATTAFORMA INERZIALE 13 Figura 4 3 Installazione del 2D D
69. lizzare il sistema di misura Capitolo due descrive in che modo stato possibile determinare la posizione del pilota tramite l analisi del filmato ottenuto con la telecamera Capitolo tre contiene la procedura di calibrazione nella quale si confronter la misura ottenuta con il metodo ideato con la misura ottenuta da un sistema di motion capture Parte Seconda che riguarda i test sperimentali effettuati con la moto strumentata e comprende Capitolo quattro in cui descritta la strumentazione installata sulla moto cicletta utilizzata per 1 test su strada Capitolo cinque che riguarda l analisi dei test effettuati con la motocicletta Infine l appendice A contiene una parte del codice in linguaggio Matlab per l elaborazione del filmato e l ottenimento della misura di posizione del pilota x111 Parte I Il metodo per la stima della posizione del pilota Capitolo 1 Teoria In questo primo capitolo verranno descritte le tecniche impiegate all interno di questa tesi necessarie a mettere a punto il sistema di misura della posizione del pilota tramite una action camera Il primo paragrafo affronta l argomento della rappresentazione della posizione e dell orientamento di un corpo nello spazio strumento indispensabile per poter esprimere la posa del pilota rispetto alla motocicletta e poter effettuare dei cambi di coordinate fra un sistema di riferimento ed un altro Si vedr quindi il metodo che sar impiegato ne
70. lizzare i dati acquisiti per ogni canale sensore selezionare i tratti di interesse ed esportare i dati in formato di testo da poter essere gestiti in MatLab Questo software inoltre ricostruisce il tracciato percorso con i dati ottenuti dal GPS se disponibili 18 CAPITOLO 4 SETUP STRUMENTALE Tabella 4 3 Caratteristiche dei sensori laser E shock RAY per misura di distanze Measurement range from 100 mm to 1000 mm Laser Power lt 5mW Wawe lenght 7801 nm Temperature range from 10 Cto 70 C a l b Figura 4 10 Sensori laser Figura 4 11 Telecamera installata sul codone della moto Capitolo 5 Prove sperimentali In questo capitolo saranno elaborate le prove effettuate con la motocicletta strumentata vista nel capitolo precedente In particolare si valuter se possibile determinare la coppia di rollio applicata dal pilota considerando il solo spostamento laterale del pilota rispetto alla motocicletta Questa coppia sar confrontata con la coppia totale misurata dai sensori installati sulla motocicletta e sar calcolato il coefficiente di correlazione tra le due coppie 5 1 Calcolo della coppia generata dal pilota La figura 5 1 mostra il modello implementato per il calcolo della coppia generata dallo spostamento laterale del pilota rispetto al piano della motocicletta sposta mento che viene quantificato dall angolo a ovvero l angolo fra la retta passante per il punto di contatto e i
71. lla alla motocicletta saranno registrati alcuni secondi di filmato e poi sar rimosso per poter effettuare le guide e rendere ben visibile il pilota che altrimenti sarebbe coperto figura 2 6 2 2 CODICE 37 a b Figura 2 5 Target moto particolare del posizionamento sulla motocicletta Foto a target in posizione Foto b target rimosso Foto c particolare del supporto rimovibile Foto d altro particolare del supporto rimovibile 2 2 Codice Nelle righe che seguono verr descritto il funzionamento del codice per la stima della posizione del pilota Il codice scritto in linguaggio MatLab e si suddivide nelle seguenti parti e video processing e pose estimation target pilota e pose estimation target moto e posizione relativa target pilota target moto 2 2 1 Video Processing Lo script video processing esegue le seguenti operazioni 1 caricamento video in memoria 38 CAPITOLO 2 MISURA DELLA POSIZIONE DEL PILOTA Figura 2 6 Target moto camera view 2 selezione dello tratto di interesse da analizzare 3 individuazione dei quatto punti del target pilot ovvero blob analysis sul target del pilota e correzione della distorsione della lente 4 individuazione dei quatto punti del target moto ovvero blob analysis sul target fisso e correzione della distorsione della lente 5 salvataggio dei dati Il caricamento del video in memoria si esegue con il comando gt gt video V
72. n vantaggio enorme in termini di tempo di elaborazione basti pensare che correggere l intero frame significa correggere 1280 x 960 1 23 x 10 pizel Terminata questa prima parte relativa al target pilot il codice passa all analisi del target moto gt gt Do you want to analyze even the target moto fixed target Yes other No 44 CAPITOLO 2 MISURA DELLA POSIZIONE DEL PILOTA Tabella 2 1 Tempi di analisi 1800 frame Function name Calls Total Time s Self Time s video processing 1 150 8 6 8 blobs 00 1800 15 4 38 6 VideoReader read 1801 99 4 98 6 iblobs 1800 22 6 4 0 imoments 13069 14 6 9 4 tb otparse 14873 7 0 2 9 click and crop 2 7 0 0 0 ginput 2 6 7 0 1 close 1802 6 6 0 1 isprop 22110 4 1 4 1 waltbar 1801 4 0 3 0 undistortPixel 1 2 4 0 1 normalize pixel 02 7200 29 0 2 comp distortion oulu 7200 2 1 2 1 im2bw 1800 1 8 0 4 reb2gray 1800 1 2 0 1 graythresh 1800 2 0 2 gt gt The Target Moto it is on the same video of Rider Target Yes other No NO gt gt Insert video name with suffix avi mp4 targetMoto mp4 gt IDENTIFY THE MOTO TARGET gt gt Select upper left and lower right corner gt gt DONE gt gt Running blob analysis L analisi molto simile all analisi vista per il target pilot con alcune differenze e possibile caricare il nuovo video nel caso che il target moto dovesse trovarsi in un video diverso da quello caricato all inizio e il num
73. na del pilota E stato quindi scritto un codice in linguaggio Matlab che effettua l analisi del filmato individua i punti del target e stima la sua posizione Questo codice stato ottimizzato affinch i tempi di analisi siano i pi ridotti possibile E raggiunto un risultato di 2 5 minuti di analisi per minuto di filmato Successivamente stata effettuata una procedura di calibrazione nella quale sono emersi dei buoni risultati in termini di errore di posizione Questi risultati sono dovuti principalmente al fatto che il metodo utilizza un target fisso tramite il quale possibile svincolarsi dal sistema di riferimento della telecamera della quale non noto l orientamento Infine il metodo stato utilizzato in alcune prove sperimentali dove stato messo a punto un modello che traduce lo spostamento laterale del pilota rispetto alla moto in coppia applicata alla moto stessa ed emersa una discreta correlazione tra la coppia misurata dai sensori e la coppia ottenuta dal modello In conclusione a questo lavoro emerso che il metodo di pose estimation messo a punto ha superato ogni aspettativa iniziale per quanto riguarda l accuratezza della misura in quanto dalla calibrazione emerso un valore dell errore medio al di sotto del grado per quanto riguarda le rotazioni e sotto 1 due millimetri per quanto riguarda le traslazioni Inoltre il codice realizzato elabora i filmati con tempi molto ristretti questo ha permesso di analizzare 1
74. nettivit a 8 vie considera connessi all interno di una stessa classe 1 pixel che sono a contatto anche agli angoli 1 4 3 Descrizione In questa fase le regioni precedentemente individuate vengono analizzate e descritte da funzioni scalari che restituiscono ad esempio le dimensioni la forma la posizione del centro il perimetro il momento d inerzia l elissoide d inerzia ecc Queste funzioni vengono dette RegionFeature In questo lavoro verr utilizzata una funzione contenuta in Machine Vision Toolbox for MATLAB di Peter Corke denominata iblobs che permete di calcolare le RegionFeature di un immagine precendentemente binarizzata La funzione iblobs prevede una serie di opzioni che permettono di filtrare le regioni analizzate in modo da restiture le RegionFeatures delle regioni che effettivamente interessano 1 4 SEGMENTAZIONE DELLE IMMAGINI 31 v pixels 7 E El 10 5 6 u pixels Figura 1 25 Individuazione delle regioni immagine esempio Fonte Peter Corke Robotic vision and control Si riportano a seguire la sintassi e le opzioni per la funzione iblobs gt gt f iblobs im options Options e aspect A set pixel aspect ratio default 1 0 e connect C set connectivity 4 default or 8 e greyscale compute greyscale moments 0 default or 1 e boundary compute boundary default off e area Al A2 accept only blobs with area in the interval Al to A2 e
75. nfine in figura 3 10 riportato il valore assoluto dell errore commesso dalle telecamere confrontato con il valore assoluto dell errore commesso applicando la distorsione ai soli quattro pixel che corrispondono ai centri delle blobs vedi 2 2 1 Per quanto riguarda le traslazioni lungo gli assi Y e Z 1 risultati sono riportati allo stesso modo dalla figura 3 11 alla 3 14 per l asse Y e dalla figura 3 15 alla 3 18 per Z I dati delle rotazioni attorno ai tre assi x y z sono rappresentati dalla figura 3 19 alla figura 3 30 Il significato dei grafici lo stesso descritto per le traslazioni I risultati del test con movimenti combinati sono riportati dalla figura 3 31 alla 3 34 3 4 RISULTATI DEI TEST 93 3 4 1 Traslazioni Asse X trasl X BTS vs GoPrc trasi X GoPro H1 tras X GoPro H3 550 500 350 tras X mm 250 200 150 100 50 0 0 5 1 1 5 2 2 5 3 3 5 4 4 5 5 5 5 6 Time 3 Figura 3 7 Traslazione lungo l asse X confronto fra i risultati ottenuti dal BT S motion capture system e 1 risultati delle due telecamere trasl X ys errors Error GoPRo H1 Error GoPro H3 tras X BTS dano Error mm tras X mm Time 3 Figura 3 8 Traslazione lungo l asse X ed errori sulla misura ottenuta dalle telecamere 94 CAPITOLO 3 CALIBRAZIONE dx dt vs errors Error GoPro H1 Error GoPro H3 dXladt Errors mm dX dt mms 5 0 5 1 1 5 2 2 5 3 3 5 4 4
76. ntente le posizioni relative target moto target pilota Capitolo 3 Calibrazione Lo stumento di pose estimation messo a punto necessit di una calibrazione per poter capire quale sia il suo potenziale in termini di qualita della misura Effettuare una calibrazione di un sistema di questo tipo in grado di determinare tuttii gradi di libert di un oggetto nello spazio non semplice in quanto necessa rio conoscere l esatta posizione e orientamento del target per ogni posizione rilevata per poi confrontarla con la misura data dal sistema Il problema principale rap presentato dal fatto che per avere un discreto numero di dati necessario affettuare diverse acquisizioni e per ognuna di esse rilevare la posizione e l orientamento del target nello spazio il che diventa un lavoro piuttosto oneroso perch richiede molto tempo per misurare accuratamente ogni posizione Per questo motivo abbiamo pensato di sfruttare il sistema di motion capture del laboratorio di bio meccanica del Dipartimento di Ingegneria Industriale dell Universit degli studi di Padova che in grado di rilevare il movimento nello spazio di particolari marcatori Questi marcatori verranno applicati al target e il sistema di motion capture ne restituir le posizioni nello spazio 3 1 BTS I sistemi di motion capture figura 3 1 sono dei sistemi impiegati principalmente in sport engineering per catturare e studiare il movimento durante l esecuzione di gesti
77. nto proiettato sul piano dell immagine in forma omogenea p x y 2 dove X Y y _ E Y i 2 Z 1 12 z Z oppure in forma matriciale f 0 0 X p 0 f Olly 1 13 00 1 Z le coordinate in forma non omogenea sono ovviamente Se esprimiamo il punto P in coordinate di fotocamera e in forma omogenea cio CP X Y Z 1 F la trasformazione prospettica si pu scrivere come Di 0 0 0 i p 0 f 0 O P 1 14 o 0 1 0 OVVEro p C P 1 15 dove la matrice C una matrice 3 x 4 detta anche camera matrix e CP rappresenta le coordinate omogenee del punto rispetto al sistema di riferimento della fotocamera 1 2 GENERAZIONE DELL IMMAGINE 11 0 Figura 1 7 Sistema di riferimento della fotocamera fonte Peter Corke Robotic Vision and Control C quanto segue possibile nota La tilde rappresenta una quantit omogenea vedi appendice La matrice C pu essere scomposta nel modo seguente i fooi ooo p C P 0 f O o 1 0 0 CP 0 0 1 0 0 1 0 dove la seconda matrice detta projection matriz La fotocamera in generale avr una posizione c arbitraria rispetto al sistema di riferimento globale figura 1 7 La posizione del punto P rispetto alla camera CP Ofc PP T P 1 16 In una fotocamera digitale il piano dell immagine composto da una griglia W x H di elementi foto sensibili che corrispondono ai pixel dell immagine come mostrato in figura 1 8 Le coordin
78. nziale o distorsione decentrante si verifica in direzione ortogo nale alla direzione radiale e solitamente molto bassa Le coordinate dei punti u v distorti sono dati da u u d v v 1 22 1 2 GENERAZIONE DELL IMMAGINE 15 ia Ci der ni hej ad a gr y xa T T a ah dl ca E ES ROMA AA a f j PA A mL A E al i i E P FP P d x r xj A 5 1 h a de gt f E gt a Hy A di A MAME REN ad oe a i A A Fr il e sl ai a k z g s 5 mi Ed Pal 5 A Li ae 4 4 oy s Pi A a a ay p n a ca a y 4 4 i ng Pai js a aoe ve magi iad fae lA A 44 j ai Te PF j V 4 A A E wm T I E di d Fi les de lt a fax mej ml PI F __ i Il Lalo lO E M LE x i Ms j h W Lar A ip he y yi Pel a gt eb i 1 ai F P a Fm A L F P P LA LENA ALA Y aa e f ES E a a e af Fi i Fo A M F ff i F i di 1 x k A t A mp AA a T a r AAA Y a dl PS ARS L it T zH J i i i i a Distorsione radiale b Distorsione tangenziale Complete Distortion Model ALE c Distorsione completa Figura 1 10 Distorisione della lente vettori spostamento dove gli spostamenti sono Oy ulkyr kart kgr 2p uv pa r 2u v ulkir kart kar pi r 20 2p uv 1 23 ve o radial tangential In figura 1 10 sono plottati i vettori spostamento dati dalla 1 23 I ve
79. o della telecamera per non si conosce con esattezza ed inoltre molto difficile da determinare in quanto dipende dalla posizione del sensore all interno della camera Il piano dell immagine infatti coincide con il sensore CMOS e quindi su quest ultimo collocato l origine del sistema di riferimento della camera di conseguenza la sua posizione e orientamento dipende da come il sensore stato installato all interno della telecamera Questo problema stato risolto in modo molto semplice l idea stata di posizionare un secondo target fisso sulla motocicletta e calcolare la posizione relativa target pilota target fisso In questo modo ci si svincola dal sistema di riferimento della telecamera e il nuovo sistema di riferimento rappresentato dal target fisso di cui possibile conoscere con esattezza la sua posizione ed orientamento La telecamera scelta una GoPro in quanto offre un campo di visuale molto ampio che permette di riprendere bene il pilota anche da molto vicino Nel primo paragrafo descritto il target realizzato mentre nel secondo illustrato il codice MatLab che effettua l elaborazione del video ed ottiene la posizione del pilota 2 1 Target Nella scelta del tipo di target da utilizzare si dovuto tenere conto di una serie di aspetti tali da rendere possibile una analisi robusta e soprattutto non eccessivamente 33 34 CAPITOLO 2 MISURA DELLA POSIZIONE DEL PILOTA Figura 2 1 Schema d
80. o il basso Infine la taratura di questo sensore risultava gi tarato in un precedente lavoro di tesi Il sensore di coppia applicata al manubrio figura 4 6 misura il momento ortogonale all asse di sterzo applicato dal pilota La coppia positiva se applicata il senso orario 4 4 Sensore per la misura dell angolo di sterzo La misura dell angolo di sterzo effettuata tramite un potenzionetro rotativo magnetico 2D ad alta risoluzione figura 4 7 In tabella 4 2 sono riassunte le sue caratteristiche Il sensore misura valori positivi ruotando lo sterzo in senso orario rotazioni verso il lato destro della moto 4 5 CELLE DI CARICO SULLE PEDANE 19 LED indicator Connect GPS fix or not fix to logger EVA DIAZ b Figura 4 5 Piattaforma inerziale e sensore GPS Figura 4 6 Sensore di coppia allo sterzo e sensori di coppia al manubrio indicati dalle frecce azzurre 4 5 Celle di carico sulle pedane Come per il sensore di coppia allo sterzo anche questi due sensori figura 4 8 sono stati interamente progettati ed assemblati dal gruppo di ricerca MDRG La strumentazione consiste in due celle di carico per la misura delle forze normali applicate dal pilota sulle pedane 4 6 Sensore di coppia alla sella Il sensore per la misura della coppia alla sella figura 4 9 stato realizzato dall ing Giolo del gruppo di ricerca MDRG La sella originale stata sostituita con una nuova sella montata su un su
81. o riguarda la blob analysis i parametri dati per filtrare le regioni devono essere adattativi perch quando il target si muove la prospettiva far variare le aree ed i rapporti fra gli assi dell elissoide d inerzia delle blobs La blob analysis implementata nella funzione denominata blobs_00 Le opzioni inserite per individuare esclusivamente le figure circolari del target sono touch Q class 1 area A1 A2 shape S1 S2 Quindi impostato per il primo fotogramma un range per le aree A A2 e un range per il rapporto b a dei semiassi dell elissoide d inerzia S1 S2 per il fotogramma successivo 1 nuovi parametri saranno 2 2 CODICE 41 area area_min c area max c shape shape min d shape max d dove e area_min e area_max sono l area minima e massima trovate al fotogramma precedente e shape_min shape_max sono i rapporti b a minimo e massimo trovati al fotogramma precedente e ced sono delle costanti In questo modo il codice cerchera di individuare delle regioni simili alle regioni trovate al passo precedente adattando cos l analisi volta per volta in ogni frame Pu comunque capitare che in alcuni frame il codice non individui solamente le quattro aree del target ma ad esempio solo tre di queste oppure addirittura delle regioni non appartenenti al target Per questo motivo stata inserita una funzione di controllo che se le regioni individuate non sono quattro
82. o z f L allontanamento dell ottica dal Sensore provoca la messa a fuoco di oggetti sempre pi vicini alla fotocamera i tubi di prolunga e i soffietti posti tra corpo macchina e ottica vengono utilizzati appunto in macrofotografia per ingrandire i soggetti riducendo la minima distanza di messa a fuoco L obiettivo stenopeico funziona senza lenti ottiche e senza l ausilio di regolazioni di messa a fuoco producendo un immagine totalmente a fuoco o quasi Precisamente pi piccolo il diametro del foro e pi piccoli saranno i circoli di confusione dei punti immagine rendendo pi nitida o a fuoco la fotografia Una lente quindi ha la necessit di mettere a fuoco l immagine per con il compromesso di poter convogliare una maggior quantit di luce In computer vision si utilizza il modello di central perspective imaging rappre sentato in figura 1 6 I raggi convergono sull origine del sistema di riferimento della fotocamera C e l immagine non invertita viene proiettata sul piano dell immagi ne situato a z f Utilizzando la similitudine fra triangoli si pu dimostrare che la P X Y Z VA De a j gere _ rau O a Plier d A ll i J l 2 d f p f y de Aa AL ortain YC Figura 1 6 Modello central perspective imaging fonte Peter Corke Robotic Vision and Control proiezione di un punto P X Y Z in coordinate globali n
83. one dei parametri in trinseci ed estrinseci della telecamera Le tecniche di calibrazione si basano sull acqui sizione con la fotocamera da calibrare di punti reali nello spazio le cui coordinate re Figura 1 11 Mano con sfera rifletten lative spaziali sono note e sull analisi delle te di M Escher proiezioni di questi punti ottenute nelle im magini acquisite Lo stato dell arte della tecnica per la calibrazione delle fotocamere rappresentato dal Bouguet Camera Calibration Toolbox for MATLAB di Jean Yves Bouguet che richiede semplice mente una serie di immagini di una scacchiera calibrata tramite le quali possibile stimare parametri intrinseci compresi i parametri di distorsione e la posa della scacchiera rispetto alla fotocamera in ogni immagine Le tecniche di calibrazione classiche richiedono una singola vista di un bersaglio 3 dimensionale calibrato ma non sono in grado di stimare tuttavia il modello distorsivo della fotocamera In questo lavoro verranno utilizzate due telecamere e GoPro HD Hero in modalit R4 che offre una risoluzione di 1280 x 960 pixel a 30 fps figura 1 12a e GoPro Hero3 black edition in modalit 1440p che offre una risoluzione di 1920 x 1440 pixel a 48 fps figura 1 12b Queste telecamere appartengono alla famiglia delle action cameras e offrono un elevato campo visivo che raggiunge i 170 Nella prossima sezione si vedr il procedimento utilizzato per determinare i
84. parametri intrinseci ed estrinseci di queste due telecamere 1 3 CALIBRAZIONE DELLA FOTOCAMERA 17 HeRost b Figura 1 12 GoPro HD Hero a GoPro Hero 3 b 1 3 1 Bouguet Camera Calibration Tool Il Bouguet Camera Calibration Toolbox uno strumento per la calibrazione di fotocamere che utilizza un target planare sul quale impressa la trama di una scacchiera calibrata composta da quadrati dalle dimensioni note Il toolbox richiede una serie di immagini della scacchiera catturate con la fotocamera da calibrare da diverse posizioni e angolazioni Tipicamente venti immagini sono sufficienti Il toolbx si lancia con il seguente comando gt gt calib_gui Comparir a display una finestra del tipo graphical user interface GUI in figu ra 1 13 BON Camera Calibration Toolbox Standard Version _ Image names Read images Extract grid corners Calibration __ _ Show Extrinsic Reprojectonimages Analyse error Recomp corners Add Suppress images Save Load Exit Comp Extrinsic Undistort Export calib data Show calib results r he Figura 1 13 Camera calibration toolbox GUI Il primo step consiste nel caricare le immagini tramite il pulsante Image Names Le immagini dovranno essere numerate e avere lo stesso formato ad esempio image01 jpg image02 jpg image03 jpg e quindi l intestazione image dovr essere comune per tutte Il set completo di immagini una volta carica
85. pilot and will compared the results obtained by the sensors with a model that uses the position of rider obtained from the camera to calculate the roll torque exerted by the rider x Introduzione Questa tesi si pone l obiettivo di mettere a punto un sistema di misura della posizione e dell orientamento del pilota durante la guida di una motocicletta Questo metodo non dovra utilizzare sensori a contatto in modo da non interferire con le azioni di guida del pilota L idea che verr sviluppata quella di utilizzare una telecamera montata sul codone della moto che riprende 1 movimenti del pilota il quale avr posizionato sulla schiena un particolare bersaglio Tramite le immagini aquisite dalla telecamera si andr a stimare la posizione del pilota rispetto alla moto Una volta messo a punto il metodo tramite una procedura di calibrazione verranno effettuate delle prove sperimentali con una motocicletta strumentata con dei sensori di coppia che misurano le forze scambiate dal pilota con la motocicletta e si confronteranno i riultati ottenuti dai sensori con un modello che utilizza la posizione del pilota ottenuta dalla telecamera per calcolare la coppia di rollio esercitata dal pilota La tesi suddivisa in due parti Parte Prima che tratta lo sviluppo e la calibrazione del metodo per la stima della posizione del pilota composta dai seguenti capitoli Capitolo uno descrive le teorie e le tecniche di base utilizzate per rea
86. pporto in grado ruotare attorno all asse longitudinale della motocicletta Questo supporto a sua volta collegato ad una cella di carico che misura il momento applicato in direzione longitudinale in grado 16 CAPITOLO 4 SETUP STRUMENTALE Output range V 0 5 Output range lower resolution 40 Max range of linearity 40 Resolution Tabella 4 2 Potenziometro rotativo caratteristiche Figura 4 7 Sensore angolo di sterzo quindi di misurare la coppia sulla sella dovuta al rollio del pilota Il momento positivo se il pilota rolla verso destra 4 7 Sensori ottici per la misura della distanza I sensori installati figura 4 10 sono il modello E shock RAY Si tratta di sensori laser a triangolazione per la misura di distanze appositamente studiati per applicazioni motociclistiche In tabella 4 3 sono riassunte le caratteristiche principali 4 8 TELECAMERA TI Figura 4 9 Sensore di coppia allo sella 4 8 Telecamera La telecamera per la misura della posizione del pilota installata sulla moto la GoPro Hero HD ed stata posizionata nel codone della moto figura 4 11 a soli 25 cm dal pilota per grazie all ampio fov di questa camera 170 il pilota ripreso interamente 4 9 Software di gestione dei dati I dati delle misurazioni ottenuti dalle centraline 2D vengono gestiti dal software 2D WinARace appositamente creato per questo scopo Tramite questo software stato possibile visua
87. propriet R7 R e det R 1 Una rotazione 0 attorno ad un asse x y o z si esprime rispettivamente con le 6 CAPITOLO 1 TEORIA F fixed camera Ep EF 1B object nto C camera on robot 10 world coordinate f trame Figura 1 3 Sistemi di riferimento 3D multipli e posizione relativa fra di essi Fonte Peter Corke Robotic Vision and Control seguenti matrici ortornormali 1 0 0 R 0 0 cos sin 1 9a O sinf cos cos 0 sin R 0 0 1 0 1 9b sin 0 cos cos sin0 0 R 0 sin cos 0 1 9c 0 0 1 Quindi una rotazione attorno ai tre assi pu essere espressa moltiplicando le matrici dell equazione 1 9a La sequenza con cui si moltiplicano per molto importante infatti possibile dimostrare che invertendo l ordine con cui le matrici vengono moltiplicate il risultato che si ottiene diverso per questo fondamentale riferirsi a una sequenza prefissata Le classi fondamentali di rotazioni sono due le rotazioni secondo Eulero e le rotazioni secondo Cardano In questo lavoro verr usata sempre la sequenza di Cardano altres detta roll pitch and yaw rappresentata dalla seguente R R 0 R 0 R 0 1 10 Tornando ora alla figura 1 3 se si volesse ad esempio scrivere l equazione 1 3 1 2 GENERAZIONE DELL IMMAGINE Y in forma matriciale si otterrebbe Th ais Ta Z _ Ror tor _ Ror tor _ _ Ron R rtory Ror tor _ 0133
88. rametri estrinseci ovvero la posizione relativa della scacchiera rispetto alla camera Oc Xc Yo Zc rappre sentati nella figura 1 19 La piramide rossa rappresenta il campo di visuale FOV effettivo della fotocamera e come si puo notare entrambe le GoPro hanno un campo di visuale molto ampio che arriva anche fino a 170 In figura 1 20 sono plottati i parametri estrinseci rispetto al sistema di riferimento globale Un FOV elevato come quello della GoPro comporta un elevata distorsione delle immagini come si pu ben notare nell figura 1 21a Tramite il comando Undistort image possibile rimuovere la distorsione della lente dalle immagini catturate con la fotocamera calibrata in figura 1 21b ne rappresentato un esempio Come si puo notare per l immagine non risulta perfettamente priva di distorsioni 1 3 CALIBRAZIONE DELLA FOTOCAMERA 23 Extrinsic parameters word c entered Figura 1 20 Parametri estrinseci sistema di riferimento globale ma presenta ancora delle distorsioni in prossimit dei bordi La funzione che permette di eliminare la distorsione utilizza i coefficienti k1 k2 k3 p1 p2 ottenuti dalla calibrazione che non sono esatti ma presentano una certa incertezza Inoltre io credo personalmente che a causa dell elevata distorsione radiale che presenta la lente della GoPro tre soli coefficienti per la determinazione della distorsione radiale in questo caso non siano sufficienti 1 3 2 Centra
89. raslazioni si raggiungono picchi di quasi 300 mm s rispetto ai 150 mm s registrati nei test precedenti In quest o caso inoltre si nota che la differenza tra le due telecamere pi marcata la GoPro Hero3 si comporta meglio della versione Herol probabilmente a velocit pi elevate un maggior frame rate fa la differenza In tabella 3 2 sono riportati gli errori medi per ogni grado di libert di entrambe le telecamere Parte Il Test su strada con una motocicletta strumentata 69 Capitolo 4 Setup strumentale In questo capitolo verr descritta la strumentazione installata sulla motocicletta impiegata nelle prove sperimentali Questa strumentazione ha l obiettivo di analiz zare il comportamento del pilota durante la guida e l interazione pilota motocicletta I sensori installati permettono infatti di misurare e forze e coppie scambiate tra il pilota e la moto e l angolo di rollio e l angolo di sterzo e la posizione del pilota rispetto alla motocicletta La motocicletta impiegata una Aprilia Mana 850 mostrata in figura 4 1 dotata di cambio automatico La cilindrata del motore di 839 3 cc e la potenza massima dichiarata di 56 kW a 8000 rpm Una motocicletta dotata di cambio automatico permette al pilota di concentrarsi esclusivamente sulla guida del veicolo ed inoltre non presente l azione di cambiata esercitata dal pilota che nel caso di una motocicletta con il cambio manuale implicherebbe l app
90. re di coordinate p Yp 2p Per descrivere la posizione e orientamento nello spazio di un corpo rigido anzich considerare le coordinate degli n punti del corpo rispetto al sistema di riferimento globale conveniente associare al l oggetto in questione un sistema di riferimento solidale ad esso e descriverne la posizione e l o rientamento rispetto al sistema di riferimento globale La posizione relativa o posa di un siste ma di riferimento rispetto ad un altro sistema di riferimento viene indicata con il simbolo Come rappresentato in figura 1 2 la posizione relativa di B rispetto ad A descritta dalla trasformazione g Questa trasformazione pu anche rappresentare un movimento si immagini ad esempio di applicare una traslazione ed una rotazione ad A che lo trasforma in B Le coordinate del punto p rispetto ad B possono essere espresse rispetto ad A dalla seguente p p 1 1 Le trasformazione che definiscono la posizione relativa tra due sistemi di riferimento possono essere combinate fra loro Nel caso di figura 1 2 si pu scrivere Eo Ee Ey 1 2 Si consideri ora la figura 1 3 e si immagini di voler determinare la posizione del robot nel sistema di riferimento globale tramite la telecamera fissa Si ha fr En Ep sottraendo da entrambi i membri O p si ottiene Armillary Sphere Figura 1 1 Sfera armillare Ofr Er Ep Ofr OER e quindi
91. re vettori Vz Vy V non rappresentano una terna di vettori ortogonali fra loro perch per quanto i marker siano stati posizionati in modo accurato 1 due vettori v e Vy non saranno mai ortogonali Per ottenere una terna di vettori ortogonali si dovr quindi ricalcolare il vettore v con la seguente Y V X V 3 2 Figura 3 4 Disposizione delle telecamere a e dei marker sul target fisso b 50 CAPITOLO 3 CALIBRAZIONE Figura 3 5 Target mobile disposizione dei marker dato che V e v sono ortogonali per definizione La matrice di trasformazione dal sistema di riferimento globale O al nuovo sistema di riferimento centrato sul marker 1 one quindi EEE O Uz Uy Uz right Y Tiron ICO ne 0 0 0 1 Come si pu notare le colonne del minore 3 x 3 che rappresenta le rotazioni sono date dalle componenti dei vettori Vz Uy Uz normalizzati La nuova terna creata centrata in 7 gn deve essere traslata in corrispondenza del centro del target fisso quindi Tle Tre 7 Te 3 4 dove fright Tes 100 re ae 0 1 0 y Trigh They 0 0 1 A 0 0 0 1 Per quanto riguarda il target mobile il procedimento lo stesso con due uniche differenze e la terna centrata sul punto ottenuto calcolando la media fra i punti centrali dei due segmenti congiungenti i markers del target mobile diagonalmente opposti e la terna calcolata per ogni posizione assunta dal target anche in questo caso si
92. rmazione da 3 a 2 dimensioni nota come protezione prospettica 1 2 1 La proiezione prospettica La figura 1 5 mostra gli aspetti elementari della formazione dell immagine L asse z positivo l asse ottico della telecamera La coordinata z dell oggetto e l immagine 8 CAPITOLO 1 TEORIA da esso formata sono legate dalla seguente legge it 1 1 zo za J che la cosiddetta lens law dove zo la distanza dell oggetto dalla lente z la distanza del piano dell immagine dalla lente e f la lunghezza focale della lente Se zo gt f l immagine che si former sul piano a distanza z lt f risulter invertita lquivalent nL hole ay inverted Image image plane re Figura 1 5 Elementi fondamentali della formazione dell immagine fonte Peter Corke Robotic Vision and Control Il termine fuoco o focale in ottica indica il piano o il punto in cui singoli raggi fotonici formanti un fascio di radiazioni elettromagnetiche distinte e arrivate da un punto all infinito si incontrano e quindi si concentrano La distanza tra il centro ottico della lente ed il piano focale indica appunto la distanza focale come valore assoluto della lente es 50 mm usata per catalogare anche gli obiettivi fotografici la focale di un ottica sempre riferita alla messa a fuoco all infinito Quasi tutti i vari strumenti ottici creati dall uomo macchine fotografiche can nocchiali binoco
93. rocessing 99 A 2 pose est moto oaoa 103 A 3 pose est pilot LL 103 A 4 rel pos TmTp soe ranas 104 Elenco delle figure 1 1 1 2 1 3 1 4 1 9 1 6 Lor 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 2 1 Za 2 9 2 4 2 0 2 0 Ll LO 20 3 1 Sfera armillare 1 4 446645 88 sde we Eee ss Posizione relativa fra sistemi di riferimenmto Posizione relativa fra sistemi di riferimento 2 Un esempio di camera Obscura 0 00000 ee Image formation 2 a a central projecting LL Image lormation s ss s soss ssas eR owe Ge SG central projecte a a a Esempi di immagini distorte oa a a a a o Distorisione della lente vettori spostamento Mano con sfera riflettente GoPro Camera calibration toolbox GUI o Calibration image 1 2 a a Camera calibration estrazione degli angoli Camera calibration estrazione degli angoli2 Camera calibration estrazione degli angoli 3 Camera calibration pixel error Camera calibration show extrinsic Camera calibration show extrinsic Correzione della distorsione 00000 ee Segmentazione delle immagini esempi di immagini binarizzate Classificazione delle immagini binarizzazione di un immagine Classificazione delle immagini binarizzazione di un immagin
94. romatica l aberrazione sferica o astigmatismo variazione della messa a fuoco attraverso la scena e distorsioni geometriche che provocano uno spostamento del punto proiettato rispetto a dove si dovrebbe trovare in accordo con l equazione 1 13 La distorsione geometrica generalmente l effetto pi problematico che si pu incontrare nelle fotocamere e comprende due componenti radiale e tangenziale La distorsione radiale provoca una traslazione dei punti proiettati sul piano del l immagine lungo una semiretta radiale che ha origine nel principal point L errore provocato dalla distorsione radiale pu essere ben approssimato dal polinomio dr k r kor kar 1 21 dove r la distanza del punto proiettato sul piano dell immagine e il principal point La distorsione radiale si verifica in due modi barrel distortion o distorsione a botte si verifica quando l ingrandimento della lente diminuisce con l aumentare della distanza dal punto principale In presenza di questo effetto linee rette verticali che si trovano vicino al bordo dell immagine appariranno curve verso l esterno pincushion distortion o distorsione a cuscino si verifica quando al contrario l ingrandimento aumenta con l aumentare della distanza dal punto principalee quindi in presenza di questo effetto linee rette verticali che si trovano vicino al bordo dell immagine appariranno curve verso l interno La distorsione tange
95. rore segue quasi esattamente l andamento della velocit di rotazione per con il segno opposto Nei grafici riportato anche il confronto fra gli errori valutati correggendo la distorsione all intero video Video Undistort e correggendo la distorsione solamente alle coordinate dei pixel Pixel Undistort Si nota che la differenza tra i due metodi minima mediamente l errore valutato con il metodo Pixel Undistort leggermente pi grande anche se in alcuni tratti risulta essere addirittura minore dell errore ottenuto con il metodo Video Undistort In tabella 3 2 sono riportati gli errori medi per ogni grado di libert di entrambe le telecamere Si pu notare che la telecamera GoPro Hero3 mediamente pi accurata anche se la differenza con meno performante GoPro Herol minima Questo risultato dovuto probabilmente alla sua maggiore risoluzione rispetto alla risoluzione della Herol 1440p vs 960p e anche al frame rate pi elevato 48 fps vs 30 fps 3 4 3 Test con movimenti combinati In questi test a differenza dei precedenti i movimenti effettuati sono combinati ovvero il target stato mosso non solo attraverso un particolare grado di libert ma in modo casuale all interno di un volume entro il quale il pilota si pu muovere durante la guida La velocit di spostamento in queste prove stata molto pi elevata rispetto ai test precedenti I risultati sono mostrati nelle figure che seguono 66 CAPITOLO 3
96. scrizione Misura della posizione del pilota A O A ER eG Hee eee eee eA eS 225 GOO up eee caseta rosa aa 2 2 1 Video Processing suenos e a 2 2 2 Pose estimation target 0 00 2 2 3 Posizione relativa target moto target pilota Calibrazione oA Jol ounce hewn eeseadee see E EE S 32 E sarsies LL banaue 3 3 Elaborazione dat 3 4 Risultati del test 000000000004 oli o II 02 Rolz o gt o erasmo TRA 3 4 3 Test con movimenti combinati II Test su strada con una motocicletta strumentata 4 Setup strumentale 4 1 Data Logger es 4 2 Piattaforma inerziale 0 00 SIN RW vl INDICE 4 3 Sensore di coppia allo sterzo e di coppia al manubrio 14 4 4 Sensore per la misura dell angolo di sterzo 14 4 5 Celle di carico sulle pedane 0 200048 15 4 6 Sensore di coppia alla sella 0 ds 4 7 Sensori ottici per la misura della distanza 2 76 4 8 Telecamera Lusia n RA vs 4 9 Software di gestione del dati 0 0 0048 TI Prove sperimentali 79 5 1 Calcolo della coppia generata dal pilota 19 5 1 1 Calcolo dell angolo di rollio 81 5 1 2 Calcolo dell angolo 0 002004 83 5 1 3 Modellizzazione del pilota secondo Dempster 84 5 2 Calcolo della coppia misurata dal sensori 86 5 3 Risultati delle prove sperimentali 87 Codice Matlab 99 A 1 Video P
97. segmenti busto e testa collo AA VA mobili rispetto alla moto mentre gambe e braccia OTO de si considerano fermi Quindi dati peso e altezza del pilota tramite i parametri di Dempster possibile calcolare il la massa e la posizione del baricentro per il modello del pilota ora dato solamente dalle parti mobili busto testa collo dato che le parti che rimangono ferme rispetto alla moto non danno momento Le caratteristiche del pilota sono 430 oP Avambraccio 570 506 7 Mano gt 4B DES Beat e Mio TO kg 0 Hic 1 1m Figura 5 5 Segmentazione secon Si ottiene quindi do Dempster mp 41 3 kg pilotcom 0 011 0 000 0 306 m dove pilotcom sono le coordinate del baricentro COM rispetto al bacino La testa stata considerata leggermente inclinata in avanti rispetto al piano frontale del tronco necessario che le misure di posizione siano riferite al baricentro del pilo ta il sistema di pose estimation per calcola la posizione del centro del target Quindi riferendoci allo schema di figura 5 6 necessario effettuare la seguente trasformazione Tp TT ry Ttrast Dx Dy Dz 5 15 dove e Dx 0 021 m rappresenta lo scostamento in direzione x del centro del target rispetto al piano sagittale del pilota ed stato determinato estraendo dai test dei tratti di rettilineo nei quali il pilota era ben centrato e rimaneva fermo sulla motocicletta 5 1 CALCOLO DELLA
98. te verr plottato a schermo figura 1 14 Il secondo step consiste nell individuare gli angoli della scacchiera in ogni immagine il comando si lancia cliccando sul pulsante Extract grid corners Ogni immagine caricata verr plottata a display una alla volta e l utente dovr cliccare in cirrispondenza dei quattro angoli della scacchiera Solitamente si parte dall angolo pi in alto a sinistra e si procede nell individuazione dei successivi in senso orario Il primo angolo che verr individuato rappresenta l origine del sistema di riferimento della scacchiera Quindi una volta lanciato il comando compariranno a schermo le seguenti istruzioni 18 CAPITOLO 1 TEORIA Calibration images Figura 1 14 Immagini caricate gt gt Extraction of the grid corners on the images Number s of image s to process all images Window size for corner finder wintx and winty 1 wintx 15 winty L 15 e verra richiesto di inserire le dimensioni del riquadro wintx winty entro il quale il software cercher l angolo Nel caso della calibrazione della GoPro sono partito inserendo una dimensione del riquadro abbastanza elevata wintx winty 15 15 il motivo verra spiegato pit avanti A questo punto si procede all identificazione manuale per ogni immagine degli angoli della scacchiera figura 1 15 Una volta identificati i corner dell immagine verranno richieste le dimensioni in millimetri dei riquadri della sca
99. ters old O for k start_frame skip_frames end_frame centers i newcrop win shape area f k blobs_00 read video k shape area crop win f centers old k i centers_old centers i Crop newcrop waitbar i n_frames wbar sprintf Processing frame LL DL As 4 n_frames i itl end 7 correct camera lens distortion var01 0 var01 input Do you want to correct lens distortion Yes other No s if isempty var01 1 centers_und undistortPixel centers centers centers_und end close wbar save centers_pilot mat centers disp disp DONE disp disp The coordinates of the centers for each frame of Rider Target were saved on the current folder on file A 1 VIDEO PROCESSING centers_pilot mat disp 2J disp disp TARGET MOTO 101 var2 0 var3 0 var2 input Do you want to analyze even the target moto fixed target L Yes other No s if isempty var2 1 var3 input The Target Moto it is on the same video of Rider Target Yes other No s if isempty var3 0 videoName input Insert video name with suffix avi mp4 s video VideoReader videoName start_frame end_frame n_frames skip_frames videoParameter video end Crop images at target size disp gt IDENTIFY THE
100. ti rispetto al totale da analizzare figura 2 9 aor Processing frame 20112939 Figura 2 9 Barra di avanzamento analisi Terminata l analisi i risultati sono contenuti nella matrice centers avente di mensione 2 4 n frame dove l ultima dimensione rappresenta il frame analizzato A questo punto il codice chieder se si intende correggere la distorsione della lente gt gt Do you want to correct lens distortion Yes other No In caso di risposta affermativa verr richiamata la funzione undistortPixel che applicher la correzione esclusivamente alle coordinate dei pixel contenute nella matrice centers In altre parole non verr corretta la distorsione sul frame completo ma saranno corretti solamente i quattro pixel trovati dalla blob analysis effettuata in precedenza Questo procedimento concettualmente errato perch la blob analysis dovrebbe essere effettuata gi sul frame non distorto cio bisognerebbe correggere prima la distorsione dell intero frame e poi effettuare l analisi Correggere la distorsione di ogni frame un processo molto oneroso e se applicato ad ogni frame del video l analisi richiederebbe diverse ore di elaborazione Per questo motivo ci s accontenta di correggere la distorsione esclusivamente dei quattro pixel del target con la consapevolezza che questo comporta l introduzione di un certo errore che verr valutato nel capitolo 3 relativo alla calibrazione ma che comporta u
101. ttori indicano lo spostamento necessario per correggere la distorsione in diversi punti nell immagine e indicano inoltre la distorsione radiale dominante Tipicamente sono sufficienti tre coefficienti per descrivere la distorsione radiale k1 k2 k3 quindi il modello che rappresenta la distorsione della camera parametrizzato da k1 k2 k3 1 p2 che sono considerati parametri intrinseci aggiuntivi della camera 16 CAPITOLO 1 TEORIA 1 3 Calibrazione della fotocamera Il modello della prioiezione prospettica rappresentato dall equazione 1 18 ha un certo numero di parametri che non sono noti In genere il principal point non si trova al centro del sensore la lunghezza focale di un obiettivo ha un errore di 4 sul valore dichiarato dal costruttore ed corret ta solo se l obiettivo focalizzato all infinito E risaputo inoltre che i parametri intrinse ci variano se ad esempio una lente viene smontata e rimontata nonch durante gli interventi di regolazione della messa a fuo co e di apertura del diaframma Gli unici parametri intrinseci che possibile ottenere direttamente sono le dimensioni dei pixel dell elemento fotosensibile p e p tramite le informazioni fornite dal costruttore I parametri estrinseci cio la posa della foto camera indicano dove si trova esattamente il punto centrale della fotocamera rispetto al sistema di riferimento globale La calibrazione della fotocamera il pro cesso di determinazi
102. uate appartengono ai quattro riquadri gialli dell immagine originale 1 22c Queste opzioni inserite sono molto utili in quanto permettono di indviduare le regioni che realmente interessano fra tutte le regioni possibili Se si avesse inserito alcuna opzione nel comando la blob analysis effettuata sulla stessa immagine individuerebbe ben 117 regioni diverse Capitolo 2 Misura della posizione del pilota In questo capitolo sar descritto il metodo ideato per la determinazione della posizione del pilota Questo metodo stato pensato ed ideato completamente all interno di questo lavoro di tesi L idea di base deriva dall aleoritmo di pose estimation paragrafo 1 3 3 che per determinare la posizione di un oggetto nello spazio tramite una fotocamera calibrata necessita delle coordinate di almeno quattro punti di questo oggetto proiettati sul piano dell immagine Si pensato quindi di creare un bersaglio o target che verr posizionato sulla schiena del pilota e di riprendere 1 movimenti di quest ultimo con una telecamera posizionata sulla parte posteriore della moto figura 2 1 Successivamente tramite le tecniche di segmentazione dell immagine viste in 1 4 si ricaveranno le coordinate di quattro punti del target che verranno inserite nell algoritmo di pose estimation Quest ultimo restituir la posizione del target rispetto al sistema di riferimento della telecamera L esatta posizione e orientamento del sistema di riferiment
103. umero minimo di punti necessario all algoritmo pose estimation per determinare la posizione dell oggetto Utilizzare un numero maggiore di figure per avere un numero maggiore di punti non migliora l accuratezza della misura a meno che i punti siano non complanari Le aree delle figure circolari sono in rapporto fra loro come rappresentato in figura 2 2 I centri P Po P3 Pi rappresentano i vertici di un quadrato di lato 10cm per il target pilot e l 5cm per il target moto e rappresentano i punti P che verranno determinati con la blob analysis Affinche il target sia ben riconoscibile necessario garantire un elevato contrasto fra le figure circolari e lo sfondo Per questo il target pilota stato realizzato in legno e rivestito con una stoffa nera le figure circolari invece sono bianche realizzate in carte e incollate sulla base rivestita Rivestire con della stoffa nera evita di avere dei riflessi sul target a causa della luce del sole che potrebbero dare dei problemi alla blob analysis figura 2 3 I target viene assicurato al pilota tramite quattro cinghie due cinghie elastiche che vengono legate attorno al torace e due cinghie che passano attorno alle spalle In questo modo il target ben fissato al pilota e non vi sono rischi che si sposti durante la guida figura 2 4 Il target moto non necessario che sia rivestito in stoffa quindi stato realizzato tramite una semplice stampa su foglio di carta delle

Download Pdf Manuals

image

Related Search

Related Contents

DELL Inspiron One 2330  XD-W6400  10 Plesetsk Cosmodrome  3 1 - Parts Express  TAFCO WINDOWS NU2-061S-W Installation Guide  EssentialPIM Free Help  AR-RAX1J用 取扱説明書( 579KB )  Breves de prey n18 mai 2014  Lego Mini Telehandler  Samsung SP-M220 Brugervejledning  

Copyright © All rights reserved.
Failed to retrieve file