La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Architecture d’application

Présentations similaires


Présentation au sujet: "Architecture d’application"— Transcription de la présentation:

1 Architecture d’application
Kinect et modèle MVP

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

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

4 Évolution des interfaces
Source:

5 HOOOO. : http://www. techradar
Source:

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

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

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

9 Source: http://homes. di. unimi

10 É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.

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

12 Éléments de la Kinect 1.3’ 2.6’ 9.8’ 13.1’ 26.2’ .4 .8 3 4 8 Default
Mode Near Pieds Mètres Inconnu Trop près Normal Trop loin

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

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

15 Avant de commencer Si vous en manquer un bout de ma présentation, vous pouvez aller sur le site suivant : Vous devez installer les éléments suivants Kinect for Windows SDK 1.8 Kinect for Windows Developer Toolkit 1.8 Connecter la Kinect (Tous les pilotes seront installés automatiquement)

16 La caméra Résolutions : Format : Evénementiel(AllFramesReady)
640 * 480, 1280 * 1024 Format : BGRA(Bleu, Vert, Rouge, Alpha)(byte) Evénementiel(AllFramesReady) Données fournies au travers d’un vecteur de bytes BGRA (Rouge, Vert, Bleu, Alpha) Voici 3 pixels B G R A .... 15 14 13 12 11 10 9 8 7 6 5 4

17 Caméra de profondeur

18

19 Caméra de profondeur

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

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

22 Caméra de profondeur Voici la représentation de deux pixels D P 15 14
13 12 11 10 9 8 7 6 5 4 3 2 1 D P 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Depth Player Index

23 Les couches de la Kinect

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

25 Démo

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

27 Squelettes détectés Identifiés Tracked

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

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

30 Coordonnées des jointures

31 Propriétés des squelettes
3 possibilités de types de squelettes NotTracked PositionOnly Tracked 3 possibilités de types de joints Inferred SkeletonTrakingState What it means NotTracked Skeleton object does not represent a tracked user. The Position field of the Skeleton and every Joint in the joints collection is a zero point PositionOnly The skeleton is detected, but is not actively being tracked. The Position field has a non-zero point, but the position of each Joint in the joints collection is a zero point. Tracked The skeleton is actively being tracked. The Position field and all Joint objects in the joints collection have non-zero points. JointsTrakingState What it means Inferred Occluded, clipped, or low confidence joints. The skeleton engine cannot see the joint in the depth frame pixels, but has made a calculated determination of the position of the joint. NotTracked The position of the joint is indeterminable. The Position value is a zero point. Tracked The joint is detected and actively followed.

32 Démo!

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

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

35 Le modèle MVP

36 Le modèle MVP 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. Ce modèle est bien adapté pour les applications où l’on s’attends à avoir plusieurs interface différente(Web, Form, WPF, etc.) C’est un dérivé de MVC et MVVM. En résumé, ce sera comme 3-tiers, mais nous aurons une couche entre le GUI et le BLL.

37 Le modèle MVP

38 Le modèle MVP 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.

39 Le modèle 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 Il décrit ou contient les données manipulées par l'application. 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. Le modèle offre des méthodes pour mettre à jour ces données (insertion, suppression, changement de valeur). Il offre aussi des méthodes pour récupérer ces données.

40 Le modèle

41 La vue La vue correspond à l'interface avec laquelle l'utilisateur interagit. Sa première tâche est de présenter les résultats. 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. La vue n'effectue aucun traitement, elle se contente d'afficher les résultats des traitements effectués.

42 Le modèle

43 La présentation 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. 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.

44 En résumé En résumé, lorsqu'un client envoie une requête à l'application : 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), La couche de présentation demande au modèle approprié d'effectuer les traitements et retourne l’information à la couche de présentation,

45 Différence avec l'Architecture trois tiers
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). 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).

46 Exemple Modèle Vue Présentation

47 Période de questions Vous avez des questions?


Télécharger ppt "Architecture d’application"

Présentations similaires


Annonces Google