Ceci est une ancienne révision du document !
Plateformes logicielles pour l'Informatique Mobile
Introduction : 2 ECTS
- Du 29 Octobre à Novembre 2014
Mode d'Evaluation
- QCM de Test de connaissance technique (en relations avec les cours techniques)
- Audition individuelle sur le mini-projet de module (par oral ou écrit selon le nombre d'étudiants concernés) + évaluation du rendu sur la page associée
Eléments de développement logiciel pour la classification
Voici quelques éléments techniques, en particulier des librairies portables qui reprennent les concepts vus dans le cours de F. Precioso et qui vous permettront de finaliser votre projet.
Framework Accord .Net (pas encore complétement opérationnel sous WP)
Les projets de ce module sont développés sous Windows Phone 8.X.
Un des frameworks les plus connus sous .Net est le framework Accord dans lequel on peut trouver un grand nombre de libraires pour le Machine Learning, la vision, le traitement audio, le traitement du signal en général et des applications statistiques. Pour faire vos premiers pas voici des pages bien conçues.
La version Accord .Net est opérationnelle sous windows 8.x. Le portage pour cible mobile Windows Phone est en cours. Quelques démos sont opérationnelles mais la compilation et le déploiement de toutes les librairies pour Windows Phone n'est toujours pas validée.
Développement C# .Net pour la classification sans le Framework Accord
Les algorithmes mis en œuvre pour faire du partitionnement ne sont pas forcément complexes et peuvent être développés directement sans s'appuyer sur un framework élaboré. Cela est d'autant plus vrai pour le cours PLIM qu'il ne vous est pas demandé un travail poussé sur la machine learning mais essentiellement son utilisation pour la valorisation de votre travail.
Voici quelques exemples qui vous seront utiles si vous ne voulez pas vous lancer dans les tests des parties opérationnelles du portage d'Accord sous Windows Phone.
K-means clustering sous C#
Il s'agit d'un algorithme de classification non supervisé. L'algorithme k-means, parfois appelé l'algorithme de Lloyd, est applicable uniquement pour les données purement numériques.
Il consiste à
- initialiser le partitionnement
- début boucle
- calculer les valeurs moyennes de chaque groupe
- mettre à jour le partitionnement à partir des nouvelles moyennes
- fin de boucle
Vous trouverez toutes les explications sur K-means clustering sous C#
Voici le code source de l'exemple en C# pour le K-means clustering.
Librairies Alglib pour .Net
Les librairies Alglib offrent une version libre et gratuite en pure C# alglib-3.8.2.csharp.zip.
Ces librairies sont portables sous Windows Phone avec le code C# en mode managé bien sur (i.e. pas de noyau en code natif, donc moins performant mais portable).
Elles fournissent des algorithmes de classification en mode supervisé ou non, tels que :
- les forêts aléatoires ou forêts d'arbres décisionnels(Random Forest et dforest subpackage]).
Les forêts aléatoires sont des techniques très utilisées pour la prise la reconnaissance comme celle des gestes et postures (ex. sur la kinect). Des principes de base doivent être assimilés avant d'aller plus loin dans leur mise en œuvre.
- le Classification ascendante hiérarchique (Agglomerative hierarchical clustering).
La Classification ascendante hiérarchique (CAH) est un algorithme de clustering populaire qui agglomère des petits groupes dans des plus grands jusqu'à obtenir un grand groupe qui inclut tous les points / objets.
Les données du problème comprennent alors un ensemble de points (ou objets), une métrique (la formule qui est utilisée pour déterminer la distance entre deux points), le type de liaison (la formule qui est utilisé pour déterminer la distance entre deux groupes).
Vous pourrez trouver plus de détails sur Techniques Exploratoires Multivariées
Prérequis Techniques
Environnements de Développement
Liste des Sujets de Projet 2014 - 2015
Groupes, Projets et Sujets
Support des enseignements 2014 2015
Séance 1
- Programmation sur Mobile, le marché et ses technologies.
- Définition des projets des étudiants du module.
- Environnement de Développement pour cible Windows Phone.
Support de Cours Plateformes Logicielles et Informatique Mobile - Introduction
Séances 2 et 3 : Développement sur Windows Phone
Support de Cours sur la programmation pour Windows Phone
Environnement de développement
Vérifiez que votre HTC S8 est bien mise à jour avec la dernière version WP8 (voir la commande mise à jour dans les paramètres)
Vérifier que votre version de Visual Studio 2013 est bien upgrader SP3. Vous trouver l'upgrade sur ce lien
Pour créer une application du Windows Phone Store, vous devez installer Microsoft Visual Studio 2013 Update 2 ou version ultérieure pour installer les outils de développement pour Windows Phone 8.1.
Compatibilité descendante
Visual Studio 2013 avec Visual Studio 2013 Update 2 ou version ultérieure permet d’installer tout ce dont vous avez besoin pour créer et tester des applications pour Windows Phone 8.1 et, éventuellement, Windows Phone 8.0. Pour créer des applications pour Windows Phone 8.0, vous devez sélectionner ce composant optionnel quand vous installez Visual Studio 2013. Vous n’avez pas besoin de télécharger et d’installer Windows Phone SDK 8.0 séparément. Si Windows Phone SDK 8.0 est déjà installé, vous n’avez pas besoin de le désinstaller avant d’installer Visual Studio 2013.
Pour créer une version Windows Phone 8 de votre application du Windows Phone Store ou en effectuer la maintenance, vous devez installer Windows Phone SDK 8.0. Ce SDK est un composant optionnel de Visual Studio 2013.
N'oubliez pas non plus d'inscrire votre appareil Windows Phone au développement.
Séance 4 : Méthodes de Classification de Données
Séance 5 : REVUE et VALIDATION de Sujet de PROJET
Mail sur le Projet à faire au 300914
Dans la suite, [<nom1>] [<nom2>] [<nom3>] est la liste des noms des membres d'une groupe de travail.
Mail à envoyer :
- Subject : [MASTER SI5 PLIM] [<nom>] [<nom>] [<nom>] ..
- Body :
- Nom 1
- Prénom 1
- Option
- Adresse email 1
- Nom 2
- Prénom 2
- Option
- Adresse email 2
- Nom 3
- Prénom3
- Option
- Adresse email 3
- Marque et type de votre téléphone
- Téléphone personnel O/N
- IMEI de votre téléphone (sur lequel vous aurez créé votre compte développeur)
- Mon projet : sera intitulé <nom de projet> / je sais pas
- Sujet de Projet proposé :
<quelques lignes sur le projet>
<indiquer les données collectées sur le téléphone, le nom de l'API et du namespace .Net pour cela>
<indiquer les informations que vous voulez obtenir après traitement (classification …) des données collectées>
<indiquer la manière dont vous présenterez les informations obtenues à l'utilisateur>
<indiquer si vous souhaitez utiliser les informations obtenues pour d'autres fonctionnalités comme des actions sur votre téléphone
- Sujet validé par JY Tigli : O / N
Séances 6, 7 et 8 : Développement sous IOs
Intervenant : Cyril Chandelier
- Séance 6 : (4h) Introduction à iOS, Objective-C / Swift et aux outils de développement
- Séance 7 : (4h) Présenter l’information (UI) et communiquer (réseau) avec iOS
- Séance 8 : (4h) Les capteurs mobiles sur iPhone & iPad
Conseils Techniques et Tutoriaux des cours
Accès Capteurs sous Windows Phone
Développement Général et GUI sous Windows Phone
Librairies et Tutoriaux pour le Machine Learning sous Windows et Windows Phone
FAQ
AUTRE INFOS
Comment Aller dans la Salle “IUT Bâtiment CLIO Info 202” ?
Trajet depuis le parking visiteur du Campus SophiaTech au pied des Bâtiments Polytech...
Depuis le parking visiteur du Campus SophiaTech au pied des Bâtiments Polytech, emprunter les escaliers entre les deux bâtiments EST et OUEST jusqu'au plus haut. Le bâtiment IUT CLIO est le premier à droite. Vous entrez alors par le niveau 5. Le niveau de la salle 202 est le niveau 2.