Outils pour utilisateurs

Outils du site


projets:plim:20152016:gr15

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édentes Révision précédente
Prochaine révision
Révision précédente
projets:plim:20152016:gr15 [2015/10/20 10:47]
gajetti [Sommaire]
projets:plim:20152016:gr15 [2015/11/22 14:44] (Version actuelle)
gajetti [Résultats Finaux]
Ligne 20: Ligne 20:
   * Model: HTC 8S   * Model: HTC 8S
   * Personal phone: NON   * Personal phone: NON
-  * IMEI:02026+  * IMEI:353760058902026
 ===== K-Mean : Descriptif ===== ===== K-Mean : Descriptif =====
-  * Etat initiale+  * Definition 
 +C'est une méthode de quantification vectorielle,​ populaire pour l'​analyse de clusterdans l'​exploration de données. 
 +Etant donnée un ensemble de point (x1,​x2,​...,​xn) on cherche à partitionner ces n points en k ensemble S tel que : 
 +S={S1,​S2,​...Sk} avec k≤n. 
 +Ce qu'on veut c'est minimiser la distance entre les points à l'​intérieur de chaque partition ce qui revient à minimiser :     
 + 
 +arg min ∑∑ || Kj - μi ||^2 pour i=1...k et Kj∈Si Minimum sur S 
 + 
 +  * Initialisation 
 +Il faut choisir k points qui représentent la position moyenne des partitions m1,m2...,mk initiales au hasard. 
   * Itération la boucle   * Itération la boucle
-  * La condition d'arret+On répète jusqu'​a ce qu'il y ait convergence : 
 +   ​- on prend chaque point on calcul la moyenne et on l'​attribue à la partition la plus proche 
 +   - à une étape t : Si ={Xj : ||Xj - mi|| ≤ || Kj - mï|| avec ï = 1,....k} 
 +   - On fait ça pour tous les points 
 +   - On met a jour chaque cluster : étape t+1 : mi = 1/​|Si(étape t)|∑ Xj 
 + 
 +  ​* La condition d'arrêt 
 +C'est lorsqu'​on obtient la convergence,​ c'est à dire lorsque les partitions ne changent plus ou bien l'on peut fixer un paramètre epsilon. Quand l'​écart entre deux étape est inférieur a epsilon on considère que les résultats sont satisfaisant. 
 + 
 + 
 +La méthode des K_means est donc performante sur une grande quantité de données. 
 +Pour détecter et lisser les variations, nous avons choisit de moyenner les données et d'​observer les variations toutes les secondes dans un premier temps (si le paramètre temps est changé il sera affiché dans l'​interface). Le principe est d'​utiliser la méthode MSE : Mean Square Error à 1 dimension qui est la moyenne de chaque variations au carré.
 ===== Outils utilisés, support ===== ===== Outils utilisés, support =====
-(Partie en attente ​de traitement) + 
-===== Structure et hiérarchie du projet ===== +  * Système d'​exploitation : Windows 10 
-(Partie ​en attente de traitement)+  * Logiciel : Visual Studio 2015 
 +  * Language ​de programmation : C# 
 +  * Bibliothèque .Net Windows Phone 
 +  * Cours en relation plateforme Logicielle pour l'​informatique Mobile 
 +  * Un HTC S8 Windows Phone version 8.1 
 ===== Planning development ===== ===== Planning development =====
 ==== Semaine 1 ==== ==== Semaine 1 ====
Ligne 46: Ligne 72:
   * Lumière   * Lumière
   *  ...   *  ...
 +  * Préparation du téléphone (mise a jour, ajout composants manquants, activation wifi, résoudre les problèmes pour le connecter à notre machine).
 +==== Semaine 6 ====
 +  * Récupération des données liés au capteur du téléphone.
 +  * Traitement des données dans le sens pré-formatage dans le but de les adapter au K-Mean.
 +  * Préparation de la méthode K-mean (compréhension,​ idées d'​utilisation,​ données d'​entrée données de sortie).
 +  * Recherche d'une méthode de stockage pour les capteurs (choix entre DataBase sur cloud ou enregistrement fichier en .txt)
 +  * Si possible enregistrement des données
 +  * Test méthode des K-means + Affichage des résultats
  
 +==== Semaine 7 ====
 +  * TP IOS, salle extérieur a EPU
 +  * Déploiement sur téléphone : En parrallèle semaine test récupération des données sur le téléphone.
 +
 +==== Semaine 8 ====
 +  * Correction des bugs
 +  * Mise en place d'une interface utilisateur
 +  * Rajout d'un filtre MSE : Mean Square Error à 1D pour préparer les données au traitement K_means, évite les interprétations aberrantes.
 +  * Création également d'une base de données, interne au téléphone.
 +  * Arrangement interface graphique
 +  * Rajout options : Stockage des profils, utilisateurs
 ===== Utilisation de l'​application ===== ===== Utilisation de l'​application =====
-===== Results ​=====+ 
 +- Lancement de l'​application sous visual Studio 2015 
 + 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-10-26_20.10.02.png?​200|}} 
 + 
 +- Première page : Log pour récupérer et stocker les données pour traitement futur : 
 + 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-10-26_20.10.31.jpg?​200|}} 
 + 
 +- Exemple d'un premier log Activity 1 
 + 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-10-26_20.11.21.jpg?​200|}} 
 + 
 +- Exemple simulation du bougé du téléphone 
 + 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-10-26_20.11.41.jpg?​200|}} 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-10-26_20.11.50.jpg?​200|}} 
 + 
 +-Exemple page pour utilisation méthode des K-Means 
 + 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-10-26_20.10.41.jpg?​200|}} 
 +===== Résultats Finaux ​===== 
 + 
 +  - Démarrage de l'​application : L'​utilisateur doit se connecter. 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-11-14_14.55.56.jpg?​200|}} 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-11-14_14.56.40.jpg?​200|}} 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-11-14_14.56.45.jpg?​200|}} 
 + 
 +  - Entrer le nom de l'​activité,​ puis démarrer la récupération de données.Attention,​ pour que l'​application fonctionne correctement il faut enregistrer un minimum de données(quelques minutes), car on le rappelle, l'​application est faite pour interpréter un grand nombre de données et voir comment fonctionne la méthode des K_means. 
 + 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-10-26_20.10.31.jpg?​200|}} 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-10-26_20.11.21.jpg?​200|}} 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-10-26_20.11.50.jpg?​200|}} 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-10-26_20.11.50.jpg?​200|}} 
 + 
 +  - Recommencer avec autant d'​activités que vous le souhaitez (pour que ce soit cohérent il faut au moins 2 activités différentes) 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-11-14_15.00.56.jpg?​200|}} 
 + 
 +  - Une fois le stockage des données fini, aller dans K_means (bouton en haut a droite), sélectionner les capteurs que vous voulez regarder, fixer les paramètres,​ K : nombre de cluster et epsi valeur d'​arrêt de la méthode. Lancer start K_mean en bas. 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-11-14_15.02.24.jpg?​200|}} 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-11-14_15.02.34.jpg?​200|}} 
 + 
 +  - Une fois que le bouton profil en haut à droite est accessible (ce qui correspond au faite que la méthode a fini de tourner) aller voir vos résultats:​ 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-11-14_15.02.51.jpg?​200|}} 
 + 
 +  - Différents graphiques apparaissent en fonction de la valeur d'​entrée K. Pour visualiser les suivantes vues cliquer sur NEXT , pour revenir en arrière , sur LAST. 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-11-14_15.02.57.jpg?​200|}} 
 +{{:​projets:​plim:​20152016:​capture_d_e_cran_2015-11-14_15.03.00.jpg?​200|}} 
 + 
 +Vous pouvez également sauvegarder vos données. Grâce à l'​identification en début de session cela permet à l'​utilisateur de conserver ses scan d'​activités sans être mélanger avec les données et activités différentes d'​autres utilisateurs. 
 + 
 +Pour finir, une fois que vous avez acquis différentes données pour que l'​application est une base de repère d'​activités,​ vous pouvez aller dans scan activity. Cette option permet à l'​utilisateur de voir en instantanée ce que l'​application détecte sur son activité. Plus la base de données sera grande et variée, plus le scan activity sera performant. 
 + 
 +{{ :​projets:​plim:​20152016:​capture_d_e_cran_2015-11-14_15.01.51.jpg?​200 |}} 
 +===== Téléchargements ===== 
 +  * Version avec base de donnée en ligne [[https://​github.com/​mathiascouste/​PlimKmeans/​archive/​master.zip]] 
 +  * Version avec base de donnée locale : [[https://​github.com/​Faroukelkholy/​ActivityDetector/​archive/​master.zip]]
projets/plim/20152016/gr15.1445330857.txt.gz · Dernière modification: 2015/10/20 10:47 par gajetti