Outils pour utilisateurs

Outils du site


Panneau latéral

Accueil

Select other language :


Apprentissage

Enseignements

Enseignements Département Informatique SI5 et Master IFI

Enseignements Département Bâtiment Polytech'Nice

Autres Formations française et étrangère

Activités administratives, Ingénierie et Innovation Pédagogiques

Apprentissage Département Informatique SI5/Master 2 ingénierie informatique EUR DS4H


Recherche

Valorisation de la Recherche

Dépôts Logiciels à l’Agence de Protection des Programme (APP)

Valorisation des résultats de recherche et transfert

Diffusion de la Culture scientifique et Technologique

Communications de presse

Séminaire ENSI Tunis

Pédagogie Innovante

Relations industrielles et socio-économique

Organisation de Manifestations

  • Conférence sur les FabLabs, Alexandre Schneider, Professeur Agrégé en Génie Mécanique, Université de Reims Champagne-Ardenne Web
  • Journées UbiMob'14 Site Web

Animation de la Recherche

U-Santé

Privé

Outils

Sources d'Informations

cours:plim:projet16_17:gr17:gr17

Analyse du son ambiant

Présentation du projet

  • Nom 1 : Bichoy MESSIHA
  • Créneau (AM ou PM) : AM
  • Nom 2 : Eslam HOSSAM
  • Créneau (AM ou PM) : AM

Description et scénario d'utilisation

L'idée est un détecteur du bruit qui peut calculer la puissance du son autour du portable (en dB), en tenant compte de sa géolocalisation et du temps, peut faire des statistiques pour ces valeurs et alors donne des rapports à l'utilisateur. L’intérêt est d'avertir l'utilisateur s'il y a du bruit troublant autour de lui pendant les différentes périodes de la journée, et aussi de lui donner un bilan simplifié du bruit auquel il est été exposé.

Scénario: Barry ne parvient pas à entendre les gens facilement. L'otologiste lui a conseillé de bien surveiller le bruit autour de lui pendant ses activités quotidiennes. Il télécharge notre application qui lui affiche des informations et des statistiques du son ambiant. Il a remarqué que la période ou il est chez lui, il est exposé au bruit nuisible. Alors il a installé des fenêtres isolants de bruit.

Matériel disponible

Cible Mobile utilisée :

  • Référence du SmartPhone: HTC One M8 Eye
    • Caractéristiques techniques:
      • Capteurs: Acceleromètre, Gyro, Proximity, Compass
      • Localisation: Yes, with A-GPS, GLONASS
      • Connection: Wi-Fi 802.11 a/b/g/n, dual-band, Wi-Fi Direct, DLNA, hotspot
  • Référence du SmartPhone: Sony Xperia Z2
    • Caractéristiques techniques:
      • Capteurs: Acceleromètre, Gyro, Proximity, Compass
      • Localisation: Yes, with A-GPS, GLONASS
      • Connection: Wi-Fi 802.11 a/b/g/n, dual-band, Wi-Fi Direct, DLNA, hotspot
  • L'OS : Android 6.0.1

Environnement logiciel :

  • Android Studio (dernière version)
  • Projet GitHub

Ressources utilisées dans le Projet

  • Liste des capteurs:
    • Microphone
    • GPS
  • Data collectés par le Mobile:
    • Son ambiant
    • Géolocalisation du mobile
    • Temps
  • Liste des SDK et API pour l'accès à ces informations:
  • Version OS : Android 6.0.1

Choix de technologies

  • Google Cloud (pour déployer le coté serveur):
    • Pour supporter le calcul intense des d'algorithmes
    • Pour que ça soit accessible dans n'importe location
  • Firebase (pour déployer la base de données)
    • Pour que ça soit accessible dans n'importe location
    • Pour que ça soit accessible par le cloud et l'application mobile
    • Persister les données: créer un cache local pour les données en cas de déconnexion

Faisabilité des choix

  • MediaRecorder pour capter le son
  • Calcul de l'intensité du son à l'aide d'une équation
  • Pour déterminer le seuil permis d'exposition continu

Architecture logicielle de la solution :

Notre système se compose de:

  • L'application qui a le role de:
    • Rassembler les données tout le long du jour (Running Service)
    • Afficher l'analyse à l'utilisateur
    • Communiquer avec l'API pour identifier la géolocalisation
    • Communiquer avec le coté serveur avec des requêtes REST
  • Base de données (Déployé sur FireBase):
    • Enregistrer les données envoyées par l'application mobile
    • Persistence des données: FireBase automatiquement crée un cache local en cas de déconnexion
  • Coté serveur (Déployé sur Google Cloud)
    • Apport des donnés depuis la base de données
    • Appliquer les algorithmes d'apprentissage sur ces données
    • Envoyer des réponses JSON pour l'application, contenant les résultats d'algorithme

Algorithmes mis en œuvre :

  • K-Means Clustering non-supervisé
    • L'utilité du Clustering nous donne un rapport simplifié des données captées pendant le jour. On se base sur deux dimensions: Le temps et L'intensité du son et l’intérêt est de montrer à l'utilisateur pour quelle période de jour il était exposé pour quelle intensité.
  • Custom Clustering
    • Pour éviter l'affichage de plusieurs marqueurs sur la carte pour la meme position, nous avons besoin de regrouper les positions qui sont proches (pour un certain rayon). Nous n'avons pas utilisé le K-means parce qu'on doit lui préciser le nombre des clusters, et dans ce cas, on ne peut pas connaitre ce type de donnée. Nous avons crée notre propre méthode pour regrouper les positions proches.

RENDU FINAL

Installation

Il suffit d'installer l'application mobile sur votre smartphone Android, puisque le coté serveur et la base de données est sur cloud.

Téléchargement : télécharger l'APK suivant sur votre téléphone mobile : APK

  • Choisir “Télécharger”
  • Allez dans l'application “Téléchargement” et cliquez sur le fichier .apk
  • Sélectionnez “Installer”

Fonctionnement de l’application:

Dès l'ouverture de l'application, le service de recording est activé. Il calcule l’intensité du son une fois chaque 30 second (le calcul d’une fois est effectivement 5 fois consécutives et on prend la moyenne afin d’éviter les anomalies). Puis le service enregistre chaque donnée au Firebase.

A l’interface principale, vous trouverez quatre boutons: Get Data, Show Map, KMeans et un bouton de capture écran.

  • Le bouton Get Data demande les données directement enregistrées sous Firebase et dès qu’elles sont prêtes, on les affiche sur le graphe sans aucun calcul.

  • Show Map permet le passage à la carte où on affichera les positions dans lesquelles le service a enregistré l’intensité du son, et aussi l’intensité moyenne dans cette position (si il y en a plusieurs).

  • KMeans permet le passage à une autre interface qui vous donne le choix de représenter le résultat de l’algorithme sous forme d’un graphe. Plus un paragraphe dessous qui explique la résultat

  • Capture d’écran du graphe visible

Donnée sans calcul:

Resultat Kmeans:

Consommation de l’application:

Puisque l’application utilise un service activé tout le jour, il est alors indispensable d’évaluer la consommation d'énergie. Nous avons fait un petit test, nous avons laissé le service fonctionnant depuis minuit et pour 15 heures. La consommation était seulement 3%.

cours/plim/projet16_17/gr17/gr17.txt · Dernière modification: 2017/02/19 23:43 par bmessiha