Outils pour utilisateurs

Outils du site


projets:plim:20142015:gr9

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
projets:plim:20142015:gr9 [2014/11/23 15:46] palmaprojets:plim:20142015:gr9 [2014/11/23 18:08] (Version actuelle) palma
Ligne 29: Ligne 29:
 == Data filtering == == Data filtering ==
  
-In order to remove the high frequency noise occurring on the accelerometer axis measurements in the real conditions, we implemented a Butterworth low pass filter with a cutting frequency set to 100Hz. +In order to remove the high frequency noise occurring on the accelerometer axis measurements in the real conditions, we implemented a [[http://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCEQFjAA&url=http%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FFiltre_de_Butterworth&ei=swdyVKGqHoLBOfv8gcAB&usg=AFQjCNFLaZ26jbyqhYBzbYZs0EJoJPTSOw&sig2=0fJbahybk4UQQv9inRpmgg&bvm=bv.80185997,d.ZWU|ButterWorth]] low pass filter with a cutting frequency set to 100Hz. 
-Also, walking and running activities generates a periodic pattern on the accelerometer axis data within a frequency range from 2Hz to 6Hz while resting and driving a car activities do not match any periodic pattern data on the accelerometer axis. The periodic pattern frequency feature cannot be measured in the time domain hence the use of a Fast Fourier Transform (FFT) applied on the accelerometer sensor raw (or filtered) in order to extract the pattern frequency feature.+Also, walking and running activities generates a periodic pattern on the accelerometer axis data within a frequency range from 2Hz to 6Hz while resting and driving a car activities do not match any periodic pattern data on the accelerometer axis. The periodic pattern frequency feature cannot be measured in the time domain hence the use of a [[http://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&sqi=2&ved=0CC8QFjAB&url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFast_Fourier_transform&ei=9wdyVO7CHcvHPcP7gLAH&usg=AFQjCNG4CRtY8aUnfktzpT3UnZcnkTStuA&sig2=WqJmuiFrBAjH9MteWPKrfg&bvm=bv.80185997,d.ZWU|Fast Fourier Transform]] (FFT) applied on the accelerometer sensor raw (or filtered) in order to extract the pattern frequency feature.
  
 == Features extraction == == Features extraction ==
Ligne 51: Ligne 51:
 == Classification == == Classification ==
  
-The k-means unsupervised classification algorithm has been used to cluster features into categories mapping onto user activities. It is well suited for our purpose since it is fast and we know upfront the amount of clusters which corresponds to the user activities we want to track (resting, walking, running and driving a car).+The [[http://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&cad=rja&uact=8&ved=0CEkQFjAG&url=http%3A%2F%2Fhome.deib.polimi.it%2Fmatteucc%2FClustering%2Ftutorial_html%2Fkmeans.html&ei=OQhyVLDtF8fKPYHHgcAJ&usg=AFQjCNE_GiISzddCbzNj4N6_a0d1jCt5gg&sig2=f6LcAqWzH8fyFCkFrVGUfA&bvm=bv.80185997,d.ZWU|k-means]] unsupervised classification algorithm has been used to cluster features into categories mapping onto user activities. It is well suited for our purpose since it is fast and we know upfront the amount of clusters which corresponds to the user activities we want to track (resting, walking, running and driving a car).
 The k-means clustering algorithm computes the mean value of a ten dimension vector (the ten features defined earlier) and computes the Euclidian distance in between this value and the values of each cluster mean value (cluster’s centroid). The vector is assigned to the nearest cluster (with the lowest Euclidian distance). Then, the nearest cluster’s centroid is updated to take into account the new vector it has been assigned to. The k-means clustering algorithm computes the mean value of a ten dimension vector (the ten features defined earlier) and computes the Euclidian distance in between this value and the values of each cluster mean value (cluster’s centroid). The vector is assigned to the nearest cluster (with the lowest Euclidian distance). Then, the nearest cluster’s centroid is updated to take into account the new vector it has been assigned to.
  
 == Learning == == Learning ==
  
-As it is an iterative approach, the k-means classification algorithm needs a high amount of input vectors to accurately define cluster’s centroid. For that reason we first need to repeat several times all defined activities until having accurate centroid values for the four clusters. Once done, we manually annotate each cluster with the name of the corresponding activity. Each new values sent to be classified is evaluated with the already existing centroids and then mixed with existing values to update this centroid.+As it is an iterative approach, the k-means classification algorithm needs a high amount of input vectors to accurately define cluster’s centroid. For that reason we first need to repeat several times all defined activities until having accurate centroid values for the four clusters. Once done, we manually annotate each cluster with the name of the corresponding activity.
 Cluster’s centroids have to be persistent in the application in order to enable constant iterative learning. For that purpose, we record inside the phone internal file system the four cluster’s centroid values and the amount of samples used to compute it. Recording the amount of samples used to compute each cluster’s centroid is important to ensure that the cluster’s centroid value is well weighted. Cluster’s centroids have to be persistent in the application in order to enable constant iterative learning. For that purpose, we record inside the phone internal file system the four cluster’s centroid values and the amount of samples used to compute it. Recording the amount of samples used to compute each cluster’s centroid is important to ensure that the cluster’s centroid value is well weighted.
  
Ligne 68: Ligne 68:
 == Project zip file == == Project zip file ==
  
 +[[https://drive.google.com/file/d/0B6t-5TDyw60heUtzTXlja3hndUE/view?usp=sharing|Project.zip]]
  
 == Installation == == Installation ==
Ligne 103: Ligne 104:
  
 Once started, you will get the following user interface: Once started, you will get the following user interface:
-[[https://www.flickr.com/photos/129285131@N04/15859932065/]]+ 
 +  * [[https://www.flickr.com/photos/129285131@N04/15241381073/|Main interface]] 
 + 
 +This interface is mainly designed for a debug purpose. It displays real time data gathered for each measurement window on both accelerometer and GPS. Some sliders are also made available to modify some parameters (although we do not recommend to modify these parameters).  
 +The GPS sensor status is also given by a LED (RED : GPS sensor not ready, GREEN : GPS sensor ready). 
 You have nothing to do. Just take the cell phone and rest, walk, run or drive a car to get sensors data gathered. You have nothing to do. Just take the cell phone and rest, walk, run or drive a car to get sensors data gathered.
-At the end of the day, you can open-up the statistics window to get a status about your daily activities: 
    
 +Finally, the "statistics" button open-up a new page displaying the overall results
 +So, at the end of the day, you can open-up the statistics window to get a status about your daily activities:
 +
 +  * [[https://www.flickr.com/photos/129285131@N04/15673692180/|Statistics interface]]
 +
 +
 === RESULTS  === === RESULTS  ===
  
Ligne 113: Ligne 124:
 === CONCLUSION AND FUTURE WORK === === CONCLUSION AND FUTURE WORK ===
  
-We have developed a methodology based on mobile phone accelerometer and GPS sensors to measure user activity. First results are very encouraging despite some instabilities noticed on the GPS measurements leading to wrong cluster mapping. This phenomena is aggravated by the fact that resting to walking and walking to running vectors are close (from a user speed standpoint of view) and very sensitive to speed (then GPS) measurement accuracy. On the other hand, GPS measures are key when dealing with driving activity. So, we could improve by disregarding the speed measurements that are below 15km/h (set to 0km/h) and rely only on the periodic pattern of each axis of the accelerometer to classify resting, walking and running activities.+We have developed a methodology based on mobile phone accelerometer and GPS sensors to measure user activity. First results are very encouraging despite some instabilities noticed on the GPS measurements leading to wrong cluster mapping. This phenomena is aggravated by the fact that resting to walking and walking to running vectors are close (from a user speed standpoint of view) and very sensitive to speed (then GPS) measurement accuracy. On the other hand, GPS measures are key when dealing with driving activity. So, we could improve the clustering efficiency by disregarding the speed measurements that are below 15km/h (set to 0km/h) and rely only on the periodic pattern of each axis of the accelerometer to classify resting, walking and running activities.
 Also, the amount of dimensions used in the k-means vector is quite important making hard to ensure data globularity which is a requirement for the k-means algorithm to properly work [19]. The amount of dimension necessary might be refined by additional experiments. Also, the amount of dimensions used in the k-means vector is quite important making hard to ensure data globularity which is a requirement for the k-means algorithm to properly work [19]. The amount of dimension necessary might be refined by additional experiments.
  
 === PUBLICATION ==== === PUBLICATION ====
  
-A preliminary publication of this study can be found here after. This publication would still need to be updated with real sensors results gathered from the cell phone. +A preliminary publication of this study can be found here after. This publication would still need to be updated with real sensors results gathered from the cell phone. Having the successful matching rate for each activity would be great.  
 [[https://drive.google.com/file/d/0B6t-5TDyw60hQTdvekVUWC1QVlU/view?usp=sharing|Publication]] [[https://drive.google.com/file/d/0B6t-5TDyw60hQTdvekVUWC1QVlU/view?usp=sharing|Publication]]
  
projets/plim/20142015/gr9.1416757584.txt.gz · Dernière modification : 2014/11/23 15:46 de palma