260 likes | 467 Views
Benoit Bernardin et Paul Meyer Encadrement : Jean-Christophe Lapayre. Utilisation de la kinect pour la détection de mouvements intempestifs dans une salle d’opération. Projet 2012 / 2013. LE CONTEXTE / L’OBJECTIF.
E N D
Benoit Bernardin et Paul Meyer Encadrement : Jean-Christophe Lapayre Utilisation de la kinect pour la détection de mouvements intempestifs dans une salle d’opération Projet 2012 / 2013
LE CONTEXTE / L’OBJECTIF • Pouvoir détecter des mouvements intempestifs afin de prévenir des maladies nosocomiales. • Suscite de nombreuses interrogations par rapport à la configuration d’un bloc et des caractéristiques du matériel. BLOC OPERATOIRE ZONE DE TRAVAIL KINECT ENTREE
SOMMAIRE RAPIDE La Kinect Caractéristiques et limites La Kinect et le bloc opératoire ? L’application développée Description Démonstration Améliorations et questions
SOMMAIRE RAPIDE La Kinect Caractéristiques et limites La Kinect et le bloc opératoire ? L’application développée Description Démonstrations Améliorations et questions
Présentation de la Kinect • Origine : Périphérique destiné à la console de jeux vidéo Xbox360 de Microsoft permettant de contrôler le jeu sans manette • Deux types de Kinect : • Kinect pour la console Xbox360 de Microsoft(jeux vidéo + développement) • Kinect pour Windows(développement) • Libre de développement aujourd’hui (gratuit)
Caractéristiques de la Kinect • Capteur • Lentilles détectant la couleur et la profondeur de la scène • Micro à reconnaissance vocale (français disponible) • Capteur motorisé pour s’adapter à la scène (fonction limitée)
Vision de la scène (1) • Champ de vision • 57° à l’horizontale • 43° à la verticale Avec inclinaisons possibles de +27°/-27° en vertical grâce au moteur • Portée du capteur : deux modes KINECT En mètres MODE PAR DEFAUT En pratique : de 1.2 à 3.5 INCONNU TROP PRES TROP LOIN MODE RAPPROCHE VALEURS NORMALES En pratique : de 0.8 à 2.5
Vision de la scène (2) • Le mode fait varié le champ de vision • La Kinect gère un espace 3D • X = A gauche ou à droite • Y = En haut ou en bas • Z = Près ou loin EN METRES MODE RAPPROCHE MODE PAR DEFAUT
Reconnaissance physique • 6 personnes au maximum • Postures assis et debout NON-TRACKÉES TRACKÉES A NOTER 6 Personnes = 6 Squelettes 2 Personnes suivies totalement = 2 Squelettes trackés 4 Personnes suivies partiellement = 4 Squelettes non-trackés
Squelette tracké • Chaque point est appelé « joint » et possède une position en X, Y et Z. • 20 joints pour un squelette tracké • Le joint « HIP_CENTER » détermine la position globale du squelette
Récupération des informations • Flux de données entre la Kinect (émettrice) et l’ordinateur (récepteur) • La Kinect envoie 30 images par seconde de la scène qu’elle détecte • Une image est composée de : • 6 squelettes avec leur identifiant • La position globale de chacun des 6 squelettes • Toutes les positions des 20 joints des 2 squelettes trackés • Et encore beaucoup d’informations… = Une quantité très importante de données !
SOMMAIRE RAPIDE La Kinect Caractéristiques et limites La Kinect et le bloc opératoire ? L’application développée Description Démonstrations Améliorations et questions
L’application développée • Son rôle est actuellement de : DETECTER DES MOUVEMENTS ET LES INTERPRETER POUR AFFICHER UN NIVEAU D’ALERTE
Comment ? • Pas d’écart-type en Y (sauter ou s’agenouiller dans un bloc ?) ORDINATEUR 1 2 3 KINECT Envoi la position globale des squelettes 4 Je sauvegarde la position reçue (X,Y,Z) de chaque squelette 5 6 30 fois par seconde TABLEAU DE SQUELETTES (avec leur position) UNE TABLE DE SAUVEGARDE DES POSITIONS PAR SQUELETTE • Toutes les 30 sauvegardes (donc chaque seconde), je calcule l’écart-type des 30 valeurs en X et en Z et pour chaque squelette • J’interprète l’écart-type pour savoir si un squelette BOUGE ou non. • Je supprime toutes les valeurs pour recevoir le 2e échantillon de valeurs
Règles d’interprétation • Pour un squelette, on sait s’il bouge ou non • Pour plusieurs squelettes (mouvement général) : • NIVEAU 1 • Aucun squelette détecté • Les squelettes détectés ne bougent pas (immobiles) • NIVEAU 2 • Moins de la moitié des squelettes bougent • Les autres sont immobiles • NIVEAU 3 • Tout le monde ou la majorité bouge • Règles modifiables et ajustables selon les besoins
Performances • Chaque seconde (en traitement de fond) • Réception de 30 positions X, Y et Z pour les 6 squelettes • Calcul de l’écart-type en X, en Y et en Z • Très couteux : multiplications, divisions et racine-carrée • Interprétations des valeurs • Sans compter le démarrage, l’affichage de l’interface graphique…
1 2 3 4 5 Etapes du programme avec un seul squelette 1 : Le programme n’est pas lancé 2 : Le programme se lance 3 : Un squelette est détecté mais ne bouge pas - Les « écart-type » sont calculés mais varient très peu (25%) 4 : Le squelette bouge beaucoup - Les « écart-type » varient beaucoup et le programme tourne à +50% 5 : Le programme est arrêté 1 2 3 4 5
Benoit Bernardin et Paul Meyer Encadrement : Jean-Christophe Lapayre AMELIORATIONS BESOINS - QUESTIONS ? Utilisation de la kinect pour la détection de mouvements intempestifs dans une salle d’opération Projet 2012 / 2013
Y a-t-il besoin de tous les flux de données ? • Flux « profondeur » et « squelettes » obligatoires • « Couleur » facultatif ? • Permet de visualiser • la scène comme la Kinect : la suppression entrainerait juste l’affichage des squelettes
Quel mode utilisé ? • Pour rappel : A noter que le mode utilisé fait varié forcément l’angle de vision • Un mode convient-il mieux pour un bloc opératoire ou doit-on donner la possibilité de modifier le mode dynamiquement ? (entraine le redémarrage de l’application) MODE PAR DEFAUT INCONNU TROP PRES TROP LOIN MODE RAPPROCHE VALEURS NORMALES
Repères • Les coordonnées X, Y et Z d’un squelette sont-elles toutes nécessaires ? • X : Droite ou gauche • Y : Haut ou bas (sauter, s’agenouiller, s’asseoir) • Z : Loin ou près (profondeur)
Tracké ou non ? • Doit-on juste connaitre la position globale de chaque squelette et savoir s’ils bougent ? (comme actuellement) • Ou détailler les mouvements de bras, de jambes… ? (quand on peut : 2 squelettes max)
Règles d’interprétation à modifier ? • Pour un squelette, on sait s’il bouge ou non • Pour plusieurs squelettes (mouvement général) : • NIVEAU 1 • Aucun squelette détecté • Les squelettes détectés ne bougent pas (immobiles) • NIVEAU 2 • Moins de la moitié des squelettes bougent • Les autres sont immobiles • NIVEAU 3 • Tout le monde ou la majorité bouge
Benoit Bernardin et Paul Meyer Encadrement : Jean-Christophe Lapayre Utilisation de la kinect pour la détection de mouvements intempestifs dans une salle d’opération Projet 2012 / 2013