Architecture d’application Kinect et modèle MVP. Plan de présentation O Introduction O Utilisation de la Kinect O Le modèle MVP.

Slides:



Advertisements
Présentations similaires
Module 5 : Implémentation de l'impression
Advertisements

Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Systèmes en temps réel Modélisation du comportement en temps réel avec UML.
Vue d'ensemble Implémentation de la sécurité IPSec
Module 6 : Gestion et analyse du système DNS
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
Design Pattern MVC En PHP5.
Assistance à distance Parfois on se sent bien seul face à un problème informatique surtout si on n’est qu’un simple utilisateur. Lorsqu'un problème survient.
Prenez le contrôle avec Kinect
Formation Microsoft® Office Access 2007
Prenez le contrôle de Kinect pour Windows SDK (Beta)
Sécurité Informatique
Réalisation dun travail concret avec des matrices Afficher un objet 3D sur une surface Lui appliqué des transformations Le voir se transformer suivant.
Etude des Technologies du Web services
Les dossiers débiteurs
PROJET DATELIEU 20 MARS 2012LCP SALLE B105 création du site internet avec Weebly.
Module 1 : Préparation de l'administration d'un serveur
Architecture d’application
Tableau croisé dynamique sous Excel (TCD).
Algorithmique et Programmation
Réalisée par :Samira RAHALI
Applications Chapitre B17 et C18
Architecture d’application
Le contrôle de la vision binoculaire pour un sujet ne présentant aucune gêne pouvant avoir une origine motrice. (cas n°1 à l ’examen) Paul JEAN.
Architecture d’application
Gestion des bases de données
Manipulation de formulaires en Javascript
Console MMC de Windows 2000 Présenté par Suzanne Savoie Cours 4.
Module 8 : Maintenance des logiciels à l'aide des services SUS
Module 2 : Préparation de l'analyse des performances du serveur
Module 4 : Maintenance des pilotes de périphériques
Design dun système de vision embarqué. Application:
Les devis Le devis ODF.
Développement dapplication avec base de données Semaine 10 : WCF avec Entité Framework Automne 2013.
Traitement d’images Kinect – Partie 2.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Présente Conception d’un petit site Web. 2 4-nov-03© Préambule Cette présentation fait suite à celle intitulée « Imaginer, concevoir, mettre.
OSI et TCP/IP CNAM
TD11 : Logiciel de présentation PowerPoint
Exemple de mise en oeuvre
En route vers le déploiement . . .
Iup MIAGe 3° année Projet MIAGe Toulouse – Groupe 21 Charte graphique.
Comprendre l’ergonomie du module STSWEB. La page d’accueil de STSWEB Code et Nom de l’établissement Version du module Campagne en cours Année affichée.
1 Windows 2003 Server Stratégie des comptes. 2 Windows 2003 Server Il faut tenir compte de ces 3 paramètres.
Création JJ Pellé novembre 2014Musique : David Schombert.
Applications Internet Cours 3 21 janvier 2010 Cours 3 21 janvier 2010.
Architecture Client/Serveur
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
LE COURRIER ELECTRONIQUE
Formation Didapages Gilles BADUFLE À partir d’un PPT modifié du C.A.H.M.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
1 Silverlight & XNA Développeurs, à vous le mobile! Pierre Cauchois - Microsoft France Relations avec les développeurs (mobiles et embarqués)
SommaireSommaire I. Présentation II. Création du projet III. Dessiner l’interface : o Attribuer une icône à l’application o Insérer une image animée o.
GUIDE D’UTILISATION SITE STE BATHILDE. Sommaire 1.Connexion - La page d’accueil 2.Gérer les articles: - Création - Modification - Suppression 3.Gérer.
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
Dreamweaver le retour Avec Les Formulaires Les Calques
Dreamweaver 2 Plan 1.Calques 2.CSS 3.Modèles 4.Comportements 5.Formulaires 6.Mise en ligne 1 Timothée Devaux Myriam Roudy Dreamweaver 2 Printemps 2008.
EXPOSE FLASH 2 SI 28 24/10/2006 Delphine GODREAU Hélène PERRIER.
DREAMWEAVER MX2 - Séance 2 Les calques Les comportements Les scénarios Les formulaires Les feuilles de style Les modèles Les cadres Mise en ligne Jérôme.
Dreamweaver 2 Feuilles de Style CSS Formulaires Calques Comportements
12/01/20161Boulogne Informatic Club FORMATION SKYPE MICROSOFT.
EasyAccess 2.0 Un moyen sécurisé pour accéder à distance à vos IHM Weintek et à vos API où qu’ils soient dans le monde.
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
Chapitre 12 Surveillance des ressources et des performances Module S41.
FACTORY systemes Module 6 Section 1 Page 6-3 Les ActiveX FORMATION INTOUCH 7.0.
Architecture d’application L’apprentissage automatique appliqué à l’architecture 3-tiers.
Architecture d’application
Transcription de la présentation:

Architecture d’application Kinect et modèle MVP

Plan de présentation O Introduction O Utilisation de la Kinect O Le modèle MVP

Introduction O L’objectif de ce cours de vous montrer le modèle MVP avec l’inteprétation de Windows Form. O Pour nous amuser un peu, nous allons utiliser le sdk 1,8 de la Kinect pour implémenter la théorie vue en classe.le sdk 1,8 de la Kinect Pour sauver du temps, est-ce que vous pouvez télécharger le SDK pendant le cours.

Évolution des interfaces Source:

Source:

Maintenant Amusons nous avec la Kinect! O Prenez le contrôle avec Kinect!

Kinect ? Qu’est ce que c’est ? O Kinect est La première caméra commerciale qui permet l’interaction entre l’humain et la machine. O Créée par Microsoft(09/2008) O Contrôler des logiciels et des jeux sans souris ni clavier avec le corps ou la voie O Le but est de créer une expérience immersive de jeu. O Windows Kinect VS Xbox Kinect

Éléments de la Kinect Émeteur (IR) Caméra RVB Capteur de profondeur(IR) Moteur Microphones

Source:

Éléments de la Kinect Le +/- 27 degrés vient du fait qu’il est possible de modifier l’angle de la Kinect de +/- 27 degrés.

Éléments de la Kinect 0.8m/2.6 ft

Éléments de la Kinect 1.3’2.6’9.8’13.1’26.2’ Default Mode Near Mode Pieds Mètres InconnuTrop prèsNormalTrop loin

Éléments de la Kinect O 43 degré vertical par 57 degré horizontal.

Possibilités de la Kinect O Caméra BGRA O Détection de la profondeur O Détection de personne(Squelette) O Reconnaissance vocale(si le temps le permet)

Avant de commencer O Si vous en manquer un bout de ma présentation, vous pouvez aller sur le site suivant : O us/kinectforwindows/develop/how-to-videos.aspx us/kinectforwindows/develop/how-to-videos.aspx O Vous devez installer les éléments suivants O Kinect for Windows SDK 1.8Kinect for Windows SDK 1.8 O Kinect for Windows Developer Toolkit 1.8 Kinect for Windows Developer Toolkit 1.8 O Connecter la Kinect (Tous les pilotes seront installés automatiquement)

La caméra O Résolutions : O 640 * 480, 1280 * 1024 O Format : O BGRA(Bleu, Vert, Rouge, Alpha)(byte) O Evénementiel( AllFramesReady) O Données fournies au travers d’un vecteur de bytes BGRA (Rouge, Vert, Bleu, Alpha) O Voici 3 pixels BGRABGRABGRA

Caméra de profondeur

O Résolutions O 640x480 O 320x240 O 80x60 O Lorsque les images sont prêtes, un événement est déclenché. O Stockage sur 16 bits O 13 bits pour la distance en millimètres depuis le capteur O 3 bits pour donner l’index de la personne reconnue

Caméra de profondeur O Retourne la distance et l’index du joueur pour chaque pixel O Ex: 320 x 240 = 76,800 pixels (x 16 bits) O Distance en mm de la Kinect ex: 2,000mm O 1-6 Joueur(s) simultanément O Ainsi pour chaque pixel, nous avons un 16-bit short

Caméra de profondeur O Voici la représentation de deux pixels DDDDDDDDDDDDDPPP DepthPlayer Index DDDDDDDDDDDDDPPP

Les couches de la Kinect

Pour connecter la Kinect O N’oubliez pas d’ajouter la référence Microsoft.Kinect O Nous allons créer une variable membre O Nous allons se connecter à l’événement AllFramesReady O Nous allons initialiser le bon angle pour la caméra(_sensor.ElevationAngle = 0;) O Nous allons convertir les images reçus en Image et nous allons les afficher dans des picturebox.

Démo

Détection des squelettes O 6 squelettes détectés O Chaque squelette donne sa position O 2 squelettes suivis (tracked) O Liste de joints (points de contrôles)

Squelettes détectés Identifiés Tracked

Points détectés sur un squelette FootLeft AnkleLeft KneeLeft HipLeft HipCenter HipRight FootRight AnkleRight KneeRight Spine HandLeft WristLeft ShoulderLeft Head ElbowLeft ShoulderRight HandRight WristRight ElbowRight ShoulderCenter Mode normal Mode assis

Coordonnées des jointures Z Axis X Axis Y Axis Negative Positive Negative

Coordonnées des jointures

Propriétés des squelettes O 3 possibilités de types de squelettes O NotTracked O PositionOnly O Tracked O 3 possibilités de types de joints O Inferred O NotTracked O Tracked

Démo!

Exercice O Brancher le module du perceptron pour permettre de reconnaitre les mouvements de la célèbre chanson YMCA.

Note O Il est plus performant de normaliser le corps avant d’exécuter le perceptron.

Le modèle MVP

O Le modèle consiste à diviser la couche d'interface graphique en deux. La partie la plus basse, le "Presenter", sera la seule à communiquer avec la couche métier et éventuellement avec celle d'accès aux données dans les limites où c'est acceptable dans votre architecture globale. O Ce modèle est bien adapté pour les applications où l’on s’attends à avoir plusieurs interface différente(Web, Form, WPF, etc.) O C’est un dérivé de MVC et MVVM. O En résumé, ce sera comme 3-tiers, mais nous aurons une couche entre le GUI et le BLL.

Le modèle MVP

O Pour plus de flexibilité, je vous conseille de faire une interface entre la vue et le Presenter.*** It's remarkable to say that Martin Fowler has extended the original MVP design pattern with Passive View and Supervising Controller/Presenter. In the case of the Passive View pattern, the main idea is to have no dependencies between the View and the Model concerns and the view is dumb. The Supervising Controller is a flexible interpretation of the original MVP design pattern and the view is not completely dumb and has some responsibilities.

Le modèle O Le modèle représente le comportement de l'application : traitements des données, interactions avec la base de données, etc. C’est la Business Logic ET la DAL O Il décrit ou contient les données manipulées par l'application. O Il assure la gestion de ces données et garantit leur intégrité. Dans le cas typique d'une base de données, c'est le modèle qui la gère. O Le modèle offre des méthodes pour mettre à jour ces données (insertion, suppression, changement de valeur). O Il offre aussi des méthodes pour récupérer ces données.

Le modèle

La vue O La vue correspond à l'interface avec laquelle l'utilisateur interagit. O Sa première tâche est de présenter les résultats. O Sa seconde tâche est de recevoir toutes les actions de l'utilisateur (clic de souris, sélection d'une entrée, boutons, etc.). Ces différents événements sont envoyés au contrôleur. O La vue n'effectue aucun traitement, elle se contente d'afficher les résultats des traitements effectués.

La vue O Certaines opérations peuvent nécessiter une interaction avec l'utilisateur (affichage d’erreur, confirmation, …), ces interactions doivent être assurées par la VUE. O La VUE connaît la présentation. O La VUE peut utiliser le binding pour récupérer les données à afficher depuis la couche PRESENTATION, ou lui envoyer les informations saisies ou modifiées par l’utilisateur. O La VUE dispose d’un traitement particulier pour effectuer les mises à jour nécessaires (traitement "Demande de mise à jour de l’IHM"). Ce traitement est appelé automatiquement lors de l’initialisation, puis sur demande de la couche PRESENTATION ou de la couche MODELE (fonction DemandeMiseAJourIHM).DemandeMiseAJourIHM

Le modèle

La présentation O Le présentation prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle et les synchroniser. O Il reçoit tous les événements de l'utilisateur et enclenche les actions à effectuer. Si une action nécessite un changement des données, le contrôleur demande la modification des données au modèle, ce dernier avertit la vue que les données ont changée pour qu'elle se mette à jour. Certains événements de l'utilisateur ne concernent pas les données, mais la vue. Dans ce cas, le contrôleur demande à la vue de se modifier. Le contrôleur n'effectue aucun traitement, ne modifie aucune donnée. Il analyse la requête du client et se contente d'appeler le modèle adéquat et de renvoyer la vue correspondant à la demande.

En résumé O En résumé, lorsqu'un client envoie une requête à l'application : 1. la requête envoyée depuis la vue est analysée par la couche de présentation(par exemple un clic de souris pour lancer un traitement de données), 2. La couche de présentation demande au modèle approprié d'effectuer les traitements et retourne l’information à la couche de présentation,

Différence avec l'Architecture trois tiers O L'architecture trois tiers est un modèle en couches, c'est-à- dire, que chaque couche communique seulement avec ses couches adjacentes (supérieures et inférieures) et le flux de contrôle traverse le système de haut en bas; les couches supérieures contrôlent les couches inférieures, c'est-à-dire, que les couches supérieures sont toujours sources d'interaction (clients) alors que les couches inférieures ne font que répondre à des requêtes (serveurs). O Dans le modèle MVP, la différence se trouve au niveau des rôles de chaque couche. Les couches de BL et DAL sont incluses dans le modèle. La couche de présentation des données est séparé en deux : une qui représente le design de l’interface(Vue) personne machine et l’autre représente son fonctionnement(Présentation).

Exemple O Modèle O Vue O Présentation

Période de questions O Vous avez des questions?