palais descongrèsParis7, 8 et 9février 2012
Au cœur d’un projetKinect InnovantMardi 7 février 2012 – 16h00Johanna RoweDesigner Industriel – MVP SurfaceWinwiseNicolas ...
Winwise en chiffres : 9,5 M€, 70 collaborateurs, 800 clients qui nous font confiance.Winwise a été créé en 1996 autour de ...
Sommaire Problématique de la publicité Concept de l’application Technologie Kinect Problématique des gestuelles Architectu...
PROBLEMATIQUE DE LAPUBLICITE
Publicité actuellePublicité trop classique                     Ad-blindnessBannière web (non vues)Affiches publicitaires c...
Publicité actuellePublicité   Expérience négative avec la marque « ils me saoule            avec leur pub »               ...
CONCEPT DE L’APPLICATION
Nouveau ConceptPublicité                     PublicitéExpérience négative avec la   Expérience positive avec lamarque « il...
MarqueiDTGVMarque fun, jeune etinnovanteAmbiance Zen et Zap« Choisissez avec quivous voyagez »
Story-board - partie 1
Story-board - partie 2
DEMO
TECHNOLOGIE KINECT
Technologie Kinect              Créer des interactions avec des              personnes et ce sans contacts avec un        ...
Technologie KinectLe « Moteur » et la « LED »Le moteur permet d’incliner Kinectsur l’axe vertical afin de régler sonchamps...
Technologie KinectLe « Microphone Array »4 Microphones qui permettent laprise de son avec Kinect.Cette structure permet de...
Technologie KinectLa « Caméra vidéo »Permet la capture vidéo dansdifférent format :- 640x480 (en 15 et 30 FPS)- 1280x960 (...
Technologie KinectLa « Projecteur Infrarouge »C’est un capteur actif qui projette unegrille infrarouge qui servira à la dé...
Technologie KinectLa « Caméra Infrarouge »C’est elle qui capture la grille et permetde renvoyer de informations deprofonde...
Technologie KinectLa « Détection du squelette »Permet de capter 6 personnes dans sonchamps de vision :-   2 personnes capt...
Technologie KinectSDK Kinect CommercialEst un SDK développé par MicrosoftResearch permettant de programmerKinect.Un périph...
PROBLEMATIQUE DEGESTUELLES
Problématique desgestuellesTactile                             Tout le corpsBeaucoup d’existant (études ergo)   Pas d’exis...
Problématique desgestuelles              Pas d’API pour le faire              Composer avec les              aléas de la d...
Problématique desgestuelles   Gestuelle « Hello » :Sur un intervalle donné (configurable)On capte les différentes position...
Problématique desgestuelles   Gestuelle « Zen » et « sortie (S) »Sur un intervalle donné (configurable)On capte les différ...
Problématique desgestuelles   Gestuelle « Clap » :Dans un intervalle de temps donné (configurable)On capte la position (X,...
ARCHITECTURE DEL’APPLICATION
Architecture de l’application             XNA 4             Kinect SDK Commercial             .Net 4 (en langage C#)
Architecture de l’application
Architecture de l’application                        Un processus XNA                        standard                     ...
SDK KINECT EN ACTION
SDK Kinect en action    Espace de nom « Microsoft.Kinect »    Récupérer une caméra et gérer son statutprivate void Initial...
SDK Kinect en action   Ouvrir le flux vidéothis._kinectSensor.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps3...
SDK Kinect en action    Traiter une information de squeletteprivate void AllFramesReady(object sender, AllFramesReadyEvent...
SDK Kinect en action Récupérer les points du corps (20 au total) Plusieurs états : « Tracked », « Infered » et « NotTracke...
DEMO
ContactsJohanna RoweBlog : http://www.johannarowe.com/Facebook : Design in ProgressTwitter : @johanna_roweEmail : johanne....
Pour aller plus loin                                               Prochaines sessions des Dev Camps  Chaque semaine, les ...
Prochain SlideShare
Chargement dans…5
×

Au coeur d'un projet Kinect innovant

1 247 vues

Publié le

Dans cette session nous allons faire un retour d'expérience sur un projet Kinect : Publicité interactive. Nous montrerons le processus de création du projet en partant du Design pour allez jusqu'au graphisme et finir par le développement. Une bonne façon de montrer ce que Kinect apporte sur un cas concret.

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 247
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
8
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Au coeur d'un projet Kinect innovant

  1. 1. palais descongrèsParis7, 8 et 9février 2012
  2. 2. Au cœur d’un projetKinect InnovantMardi 7 février 2012 – 16h00Johanna RoweDesigner Industriel – MVP SurfaceWinwiseNicolas CalviConsultant / Formateur – MVP SurfaceWinwise
  3. 3. Winwise en chiffres : 9,5 M€, 70 collaborateurs, 800 clients qui nous font confiance.Winwise a été créé en 1996 autour de 2 métiers:- La Formation, centre agréé Microsoft- Le ConseilEt 3 types d’intervention chez nos clients:- L’expertise- L’accompagnement- La réalisation de projets aux forfaitsNos clients sont de tout secteur d’activité et sollicitent nos 5 domaines de compétences:- Interfaces Riches et Naturelles- Architecture- Collaboratif- Business Intelligence et Data Management- InfrastructureTous nos collaborateurs sont certifiés sur les nouvelles technologies Microsoft.
  4. 4. Sommaire Problématique de la publicité Concept de l’application Technologie Kinect Problématique des gestuelles Architecture de l’application SDK Kinect en action
  5. 5. PROBLEMATIQUE DE LAPUBLICITE
  6. 6. Publicité actuellePublicité trop classique Ad-blindnessBannière web (non vues)Affiches publicitaires classiques (non enregistrées par le cerveau)Publicités ciblées (géolocalisation, personnalisation)Placement produit (clip, émissions, film, ect.)Publicité animés (Métro)Street marketingJeux avec l’image de la marque
  7. 7. Publicité actuellePublicité Expérience négative avec la marque « ils me saoule avec leur pub » Trop = Inefficace On ne voit plus On ne retient plus
  8. 8. CONCEPT DE L’APPLICATION
  9. 9. Nouveau ConceptPublicité PublicitéExpérience négative avec la Expérience positive avec lamarque « ils me saoule avec marque « J’ai fais un trucleur pub » marrant avec la marque iDTGV » Marquer l’utilisateur au travers d’une expérience ludique (drôle ou non selon l’image de la marque) Le cerveau associe quelque chose de positif à la marque
  10. 10. MarqueiDTGVMarque fun, jeune etinnovanteAmbiance Zen et Zap« Choisissez avec quivous voyagez »
  11. 11. Story-board - partie 1
  12. 12. Story-board - partie 2
  13. 13. DEMO
  14. 14. TECHNOLOGIE KINECT
  15. 15. Technologie Kinect Créer des interactions avec des personnes et ce sans contacts avec un périphérique. - Reconnaissance de mouvement - Reconnaissance vocale
  16. 16. Technologie KinectLe « Moteur » et la « LED »Le moteur permet d’incliner Kinectsur l’axe vertical afin de régler sonchamps de vision,La LED qui peut prendre 3 couleurs(rouge, jaune et vert) est unindicateur de statut.
  17. 17. Technologie KinectLe « Microphone Array »4 Microphones qui permettent laprise de son avec Kinect.Cette structure permet de savoird’où provient le son.
  18. 18. Technologie KinectLa « Caméra vidéo »Permet la capture vidéo dansdifférent format :- 640x480 (en 15 et 30 FPS)- 1280x960 (en 12 FPS)
  19. 19. Technologie KinectLa « Projecteur Infrarouge »C’est un capteur actif qui projette unegrille infrarouge qui servira à la détectionde profondeur.
  20. 20. Technologie KinectLa « Caméra Infrarouge »C’est elle qui capture la grille et permetde renvoyer de informations deprofondeur (Depth sur 11 bits) dansdifférent formats :- 640x480 (en 30 FPS)- 320x240 (en 30 FPS)- 80x60 (en 30 FPS)
  21. 21. Technologie KinectLa « Détection du squelette »Permet de capter 6 personnes dans sonchamps de vision :- 2 personnes capté avec le squelette entier.- 4 personnes avec leurs centre de gravité.
  22. 22. Technologie KinectSDK Kinect CommercialEst un SDK développé par MicrosoftResearch permettant de programmerKinect.Un périphérique dédié avec unemeilleurs détection le mode « near »
  23. 23. PROBLEMATIQUE DEGESTUELLES
  24. 24. Problématique desgestuellesTactile Tout le corpsBeaucoup d’existant (études ergo) Pas d’existant (gestuelles)Gestuelles identiques souvent Trouver les gestuelles naturellesréutilisées (donc connues par les Des morphologies différentesutilisateurs) Des manières de bouger différentes lesOn pose le doigt sur l’interface unes des autresdirectement Pas en situation de jeuLe bout d’un doigt est toujoursidentique
  25. 25. Problématique desgestuelles Pas d’API pour le faire Composer avec les aléas de la détection Eliminer les mouvements parasites
  26. 26. Problématique desgestuelles Gestuelle « Hello » :Sur un intervalle donné (configurable)On capte les différentes positions des points dusquelette et on en déduit les angles alpha et betaSi ces angles sont dans un certain intervalle calculédynamiquement et qu’on a détecté un mouvementon remonte la gestuelle
  27. 27. Problématique desgestuelles Gestuelle « Zen » et « sortie (S) »Sur un intervalle donné (configurable)On capte les différentes positions des points dusquelette et on en déduit les angles alpha, beta,gamma et deltaSi ces angles sont dans un certain intervallecalculé dynamiquement et que la pause esttenue pendant un certain laps de temps onremonte la gestuelle
  28. 28. Problématique desgestuelles Gestuelle « Clap » :Dans un intervalle de temps donné (configurable)On capte la position (X,Y,Z) des points et on endéduit les distances d1 et d2On vérifie que le corps est en face de Kinect® (d2supérieur à une certaine valeur)On Valide la position des poignetsOn regarde si les poignets sont passés par plusieursétats (écartés, quelconques, joints puis écartés)
  29. 29. ARCHITECTURE DEL’APPLICATION
  30. 30. Architecture de l’application XNA 4 Kinect SDK Commercial .Net 4 (en langage C#)
  31. 31. Architecture de l’application
  32. 32. Architecture de l’application Un processus XNA standard Un processus de détection des gestuelles Kinect branché sur le processus XNA
  33. 33. SDK KINECT EN ACTION
  34. 34. SDK Kinect en action Espace de nom « Microsoft.Kinect » Récupérer une caméra et gérer son statutprivate void InitializeKinect(){ // On se branche sur le manager des senseurs KinectSensor.KinectSensors.StatusChanged += new EventHandler<StatusChangedEventArgs>(this.KinectSensorsStatusChanged); // Si il y en a déjà un, on louvre if (KinectSensor.KinectSensors.Count > 0) this.OpenKinect(KinectSensor.KinectSensors.First());}private void KinectSensorsStatusChanged(object sender, StatusChangedEventArgs e){ if (e.Status == KinectStatus.Connected) this.OpenKinect(e.Sensor); else if (this._kinectSensor == e.Sensor) this.CloseKinect();}private void OpenKinect(KinectSensor kinect){ this._kinectSensor = kinect; // Initialisation this._kinectSensor.Start();}
  35. 35. SDK Kinect en action Ouvrir le flux vidéothis._kinectSensor.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps30);this._kinectSensor.ColorFrameReady += new EventHandler<ColorImageFrameReadyEventArgs>(this.KinectColorFrameReady); Ouvrir le flux de profondeurthis._kinectSensor.DepthStream.Enable(DepthImageFormat.Resolution320x240Fps30);this._kinectSensor.DepthFrameReady += new EventHandler<DepthImageFrameReadyEventArgs>(this.KinectDepthFrameReady); Démarrer la détection des squelettes// SmoothParamater pour éliminer le bruitTransformSmoothParameters parameters = new TransformSmoothParameters{ Correction = 1.0f, JitterRadius = 0.01f, MaxDeviationRadius = 0.01f, Prediction = 1.0f, Smoothing = 0.9f};this._kinectSensor.SkeletonStream.Enable(parameters);this._kinectSensor.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>(this.KinectSkeletonFrameReady); Intercepter tous les événements d’un coupthis._kinectSensor.AllFramesReady += new EventHandler<AllFramesReadyEventArgs>(this.AllFramesReady);
  36. 36. SDK Kinect en action Traiter une information de squeletteprivate void AllFramesReady(object sender, AllFramesReadyEventArgs e){ // On ouvre le buffer qui contient les informtions des squelettes using (SkeletonFrame frame = e.OpenSkeletonFrame()) { // On vérifie qu’il existe bien des informations exploitables if (frame != null && frame.SkeletonArrayLength > 0) { // On copie les données récupérées par Kinect dans un buffer local Skeleton[] skeletons = new Skeleton[frame.SkeletonArrayLength]; frame.CopySkeletonDataTo(skeletons); // On ne prend que les squelettes qui sont en mode « tracés » var result = from p in skeletons where p.TrackingState == SkeletonTrackingState.Tracked select p; foreach (Skeleton item in result) { // … ici on fait le traitement … } } }}
  37. 37. SDK Kinect en action Récupérer les points du corps (20 au total) Plusieurs états : « Tracked », « Infered » et « NotTracked » Convertir leurs coordonnées (X,Y,Z) Faire les traitements adéquat, mais surtout faire des buffers de points pour pouvoir a chaque frame, créer des algorithmes qui se fondent sur une évolutions des positions dans le temps.
  38. 38. DEMO
  39. 39. ContactsJohanna RoweBlog : http://www.johannarowe.com/Facebook : Design in ProgressTwitter : @johanna_roweEmail : johanne.rowe@winwise.comNicolas CalviBlog : http://blog.nicolascalvi.com/Facebook : Black BlogTwitter : @nicolascalviEmail : nicolas.calvi@winwise.com
  40. 40. Pour aller plus loin Prochaines sessions des Dev Camps Chaque semaine, les 10 Live Open Data - Développer des applications riches avec le février DevCamps 2012 16 Meeting protocole Open Data ALM, Azure, Windows Phone, HTML5, OpenData février Live Meeting Azure series - Développer des applications sociales sur la plateforme Windows Azure 2012 http://msdn.microsoft.com/fr-fr/devcamp 17 Live Comprendre le canvas avec Galactic et la librairie février Meeting three.js 2012 Téléchargement, ressources 21 février Live La production automatisée de code avec CodeFluent Meeting Entities et toolkits : RdV sur MSDN 2012 2 mars Live Comprendre et mettre en oeuvre le toolkit Azure pour http://msdn.microsoft.com/fr-fr/ 2012 Meeting Windows Phone 7, iOS et Android 6 mars Live Nuget et ALM 2012 Meeting Les offres à connaître 9 mars 2012 Live Meeting Kinect - Bien gérer la vie de son capteur 90 jours d’essai gratuit de Windows 13 mars 2012 Live Meeting Sharepoint series - Automatisation des tests Azure 14 mars Live TFS Health Check - vérifier la bonne santé de votre www.windowsazure.fr 2012 Meeting plateforme de développement 15 mars Live Azure series - Développer pour les téléphones, les 2012 Meeting tablettes et le cloud avec Visual Studio 2010 Jusqu’à 35% de réduction sur Visual 16 mars Live Applications METRO design - Désossage en règle dun Studio Pro, avec l’abonnement MSDN 2012 Meeting template METRO javascript 20 mars Live Retour dexpérience LightSwitch, Optimisation de www.visualstudio.fr 2012 Meeting laccès aux données, Intégration Silverlight 23 mars Live OAuth - la clé de lutilisation des réseaux sociaux dans 2012 Meeting votre application

×