ING - Scuola di Ingegneria Industriale e dell'Informazione
22-dic-2016
2015/2016
Sistemi di monitoraggio e analisi delle prestazioni atletiche sono oggigiorno oggetto di forte sviluppo tecnologico. Nello specifico, in ambito natatorio, le difficoltà derivanti dall’ostacolo dell’acqua pongono le basi per ulteriori sfide. In questo mercato, i principali attori si affidano perlopiù a tecnologie wearable. Sono chiamati Fitness Tracker o Smartwatch e sono essenzialmente dispositivi indossabili sotto forma di braccialetti, che attraverso vari sensori, monitorano e riconoscono i movimenti della persona che li indossa. Le prestazioni di questi dispositivi sono lampanti ma hanno uno svantaggio se pensiamo alla perdita di idrodinamicità nella nuotata. Per questo motivo, è stato proposto un sistema di monitoraggio per i nuotatori basato esclusivamente sulla componente visiva. L’obiettivo è quello di estrarre informazioni circa il movimento del nuotatore nella corsia, in primo luogo identificandolo e successivamente seguendolo attraverso la sessione di allenamento. Da ciò è chiaro che questo lavoro si colloca in quel campo chiamato Object Tracking che è il fondamento di molte applicazioni di computer vision. Ad oggi, la letteratura scientifica prolifera di algoritmi capaci di localizzare un oggetto in movimento nello spazio e seguirlo nel suo percorso. Inoltre, sistemi che sfruttano questa funzionalità sono diventati di uso quotidiano, si pensi ai sistemi di video sorveglianza, riconoscimento di gesti, smart rooms, tracking dei veicoli, realtà aumentata, imaging medicale ecc. Ciò che cambia tra queste applicazioni e un sistema di object tracking in una piscina, è che in questo secondo caso l’algoritmo è chiamato a individuare l’oggetto in uno sfondo dinamico, si pensi alla schiuma creata dalla gambata del nuotatore. Per questo motivo, le tecniche tradizionali devono essere riviste e adattate per garantire i medesimi risultati in tali condizioni. I primi studi in questo campo hanno evidenziato la difficoltà nell’utilizzare i ben consolidati metodi di sottrazione del background o frame differencing facendo emergere la necessità di creare un modello del nuotatore basato sulle caratteristiche visive dello stesso e costruire il detector di conseguenza. Nonostante ciò, queste prime implementazioni contengono alcune limitazioni derivanti dalla complessità e dalla flessibilità dei sistemi. Nella mia tesi mi sono concentrata principalmente su una sessione di nuoto ad alte prestazioni, durante la quale, lo sfondo è altamente dinamico e i movimenti dell’acqua nella piscina sono casuali. Per far fronte a questo tipo di scenario ho preso spunto dal framework sviluppato da Paul Viola e Michal Jones per il riconoscimento facciale riadattandolo al caso sopradescritto. Nello specifico, il metodo proposto di compone di una fase di identificazione del nuotatore e una fase di tracking dello stesso lungo il suo percorso. L’identificazione è fatta attraverso un classificatore cascading in cui ogni stadio sfrutta un metodo di boosting chiamato AdaBoost per la scelta rapida delle features, precedentemente costruito con una fase di training. Il classificatore cerca all’interno di ciascun frame del video sezioni le quali caratteristiche sono simili quelle del nuotatore e una volta trovate le marca con una etichetta. Per quanto riguarda invece il tracking, è stato impiegato il filtro di Kalman opportunamente calibrato. L’algoritmo è stato testato visivamente e ha dato riscontri positivi. Successivamente, gli output dell’algoritmo sono stati utilizzati per calcolare la velocità media e istantanea del nuotatore. L’analisi di questi ultimi risultati ha evidenziato i punti di forza dell’algoritmo e spunti per futuri miglioramenti dello stesso.
Monitoring and analysis’s systems of athletic performances are nowadays in strong technological development. Specifically, in the field of swimming, the difficulties arising from the water environment set the stage for further challenges. Currently, the main players in this market rely primarily on wearable technology. They are called Fitness Tracker or Smartwatch and consists basically in wearable devices in the form of bracelets, that, through various sensors, monitor and recognize the movements of the person wearing them. The performances of this devices are evident but they come with a drawback if we think to the loss of hydrodynamics during the stroke. Therefore, a swimmer tracking system based solely on vision analysis has been proposed. The goal of the system is to assert informations about the motion of the swimmer by first identifying and then tracking him through the swimming session. From this, it is clear that this work is inserted in the Object Tracking field which is today an establishment in many computer vision applications. Nowadays, scientific literature proliferates of algorithms able to localize a moving object in space and track it in its motion. Moreover, systems that exploit this functionality have become of daily use, think of surveillance systems, gesture recognition, smart rooms, vehicle tracking, augmented reality, medical imaging, etc. What makes the difference between these popular applications and tracking system in a swimming pool is that in the second case the algorithm is called to detect the object in a dynamic background, think of the foam created by the swimmer stroke. Hence, traditional techniques should be revisited in order to obtain the same performances in this different condition. Earliest studies in this field have pointed out the difficulty of using the well-established methods of background subtraction or frame differencing bringing out the need to take into account a swimmer model based on visual features and build a detector accordingly. However, these early implementations contained some limitations related to the complexity and the flexibility of the systems. In my thesis I have focused mainly on high performance swim session, during which the background is highly dynamic and the movements of water in the pool are random. To cope with this kind of scenario I have started from the framework developed by Paul Viola and Michal Jones for face detection adapting it to the case described above. Specifically, the proposed method comprises a step of identification of the swimmer and a tracking phase of the same along its path. The identification is made through a cascading classifier in which each stage exploits a boosting technique called Adaboost for rapid features selection, previously built with a training phase. The classifier, looks for frame sections within the whole video which characteristics are similar to those of the swimmer, and once found, labels them. As for the tracking, it was employed the Kalman filter properly calibrated. The algorithm has been tested visually and gave positive feedbacks. Subsequently, the outputs of the tracking phase were used to calculate the average and instantaneous velocity of the swimmer. The analysis of these latest results showed the algorithm's strengths and ideas for future improvements of the same.