Liste de partage de Grorico
Un champion de Tetris, Shuey187, est tellement bon qu’il est capable de produire des dessins pixelisés 8 bits en utilisant les pièces du jeu. Il nous montre son art dans des vidéos où il s’arme de patience.
Quand je vous dit que Shuey187 s’arme de patience, c’est vraiment extrême car il faut disposer des bonnes pièces et réaliser les bonnes séquences pour pouvoir dessiner ligne par ligne.
Il aura fallu près de 100 minutes pour arriver à dessiner Mario ou encore 64 minutes pour Luigi.
Voici quelques vidéos de ses exploits :
***- 8BITSWOOD : Du Pixel Art 8 bits avec différentes essences de bois.
- Video : Le premier niveau de Super Mario Bros en version Stop Motion
- Une vidéo stop motion bien geek réalisée avec des ours en gélatine
- Pixel Galaxy : Un livre sur les graphisme pixelisé de la Gameboy
Shuey187, l’artiste qui dessine des oeuvres numériques pixelisées avec Tetris
Source : com/gaming/watch-this-dude-build-luigi-in-tetris-game-video/.
Article original publié sur Semageek® | Actualités High Tech, Robot, Électronique, DIY et Arduino.

Cette spin-off de l’ULB vient de récolter 150.000 euros pour développer sa technologie de géolocalisation.
Une startup belge qui trouve des investisseurs ? Cela existe. Née au départ d’un projet de doctorat à l’école polytechnique de l’ULB, Amoobi est devenue, depuis quelques semaines, une jeune société dont les fondateurs ont convaincu plusieurs investisseurs privés de les suivre dans l’aventure.
“Amoobi développe des solutions de géolocalisation indoor”, explique Olivier Delangre, un des créateurs de l’entreprise. Autrement dit : cette technologie permet de détecter la position des clients au sein d’un magasin et de leur envoyer automatiquement un message personnalisé par l’intermédiaire du téléphone portable. “Les données sont anonymisées et utilisées en toute transparence”, ajoute Olivier Delangre. “L’intérêt de notre solution est qu’elle est compatible avec tous les téléphones du marché, qu’il s’agisse d’écosystèmes ouverts comme Android ou plus verrouillés comme l’iOS.”
Riche de ce premier tour de table, Amoobi affirme en outre avoir signé un premier client “actif dans la grande distribution”, secteur qui semble bien entendu un terreau fertile pour ce type de projet. “Mais nous voyons aussi du potentiel dans d’autres lieux comme les musées qui aimeraient souvent proposer du contenu plus personnalisé en fonction mais ne savent pas comment le faire”, conclut Olivier Delangre.
François Palan
C'est l'histoire d'une personne qui reçoit un gros document papier, contenant une clé USB en forme de clé de porte (voir la photo en seconde partie de la dépêche). On se dit que la clé USB doit contenir la version numérique du document papier, et on branche négligemment l'objet sur son ordinateur.
Une fois branchée sous Windows, la clé ouvre la fenêtre Exécuter avec le raccourci clavier [Touche windows+R], tape une adresse HTTP de site web et confirme la demande. On se retrouve avec un navigateur (disons Internet Explorer par défaut sous Windows) qui ouvre un site distant inconnu. En l'occurrence la clé pointe vers le site du vendeur de ce gadget (l'adresse était en erreur la première fois que je l'ai branchée...), qui lui-même pointe vers le site désiré par l'acheteur de cet objet promotionnel.
- lien n°1 : Bug #798858 in linux (Ubuntu): “USB Webkey devices send arbitrary keyboard input to focused window
- lien n°2 : The Register: Hackers pierce network with jerry-rigged mouse
Comment ça marche ? Simple, la clé se fait passer pour un clavier, et envoie des séries de touches dès qu'elle est branchée. Sous Windows, la clé apparaît dans le gestionnaire de périphériques comme un HID Keyboard Device
.
Sous GNU/Linux, lsusb montre comme périphérique USBBus 005 Device 003: ID 05ac:020b Apple, Inc. Pro Keyboard [Mitsumi, A1048/US layout]
et usb-devices précise P: Vendor=05ac ProdID=020b Rev=03.01
S: Manufacturer=WebKey
S: Product=WebKey
et la série de touches envoyées (récupérable sur la console par exemple) est du type ^[r^[r^[r^[r^[r^[[1~^[[4http://r.w3bk33.c0m/xxxxxxxxxxxxxxxx $
.
Je résume : à des fins promotionnelles, on fournit à un public ciblé un objet qui envoie vers un site tiers via des redirections. Déjà au niveau sécurité c'est moyen (public ciblé donc attaque ciblée possible, site potentiellement hostile, adresse codée en dur qui restera après que l'opération promotionnelle ait disparue mais pas forcément pour un spammeur, etc.), mais surtout on se dit que ce système permet de faire beaucoup plus que ça. Au final, en se faisant passer pour un clavier, inséré à son insu par l'utilisateur, n'importe quelle commande pourrait être exécutée : effacement de données, dépôt d'un exécutable et exécution de celui-ci, sudo kill -9 -1
, etc. Ici pas de parefeu USB qui bloquerait l'action, pas de confirmation, rien. Tout est automatique, on branche et c'est fait.
En sécurité informatique, il est largement connu que dès que l'attaquant a un accès physique à la machine, les choses vont de mal en pis. On est malheureusement habitué aux disquettes à secteur d'amorce infecté, aux cédéroms avec autorun
hostile, etc. On se méfierait sûrement si quelqu'un nous disait « tiens branche ce dongle qui capture les touches entre ton clavier et ton ordi » ou « connecte cette clé 3G pour me filer un accès à ta machine pour que je contourne ton parefeu d'entreprise ». Et pourtant ici on est tellement habitué aux clés (ou aux souris, cf article The Register) USB que l'on ne se méfie pas... À tort.
La mort d'Alan Turing en 1954 a mis fin à une vie hors norme à plus d'un sens du terme. Le grand mathématicien britannique est l'un des scientifiques qui a le plus influencé le cours de l'histoire, aidant les Alliés à...
Un récent article du New Scientist fait le point sur ce qui pourrait bien être la prochaine révolution dans le domaine de la biologie synthétique. Il s’agit de domestiquer le processus de la sélection naturelle lui-même. Les nouvelles sciences comme la biotechnologie se heurtent à une série de problèmes que les anciennes sciences de l’ingénierie ne connaissaient pas (ou peu) : ceux posés par les systèmes complexes, dont les êtres vivants sont l’archétype. Notre corps est composé à 75% d’eau. Comment imaginer qu’en y ajoutant 25 % d’autres composés chimiques, on obtiendrait un tel résultat ? C’est ce qu’on appelle “l’émergence”. La combinaison d’un certain nombre d’éléments génère des propriétés qui ne pourraient être déduites d’une simple analyse des composants de base. L’émergence produit des résultats fabuleux, mais c’est une plaie pour les ingénieurs : elle signifie qu’il est impossible de manipuler un système complexe de manière prévisible.
Du coup, les chercheurs en biologie synthétique essaient d’éviter cette complexité en construisant des briques de vivant “simplifiées” et contrôlables. Comme le dit Drew Endy, célèbre évangéliste de la méthode des biobricks : “Les ingénieurs abominent la complexité. Je déteste les propriétés émergentes. J’aime la simplicité. Je ne veux pas que l’avion que je vais prendre demain manifeste des propriétés émergentes pendant son vol.”
Mais la technologie offre une autre option : accepter la complexité, faire comme la nature, et laisser l’évolution accélérer les choses. C’est la voie défendue par George Church, professeur de génétique à Harvard et au MIT. Church a déjà fait parler de lui ces derniers temps. En 2007, il faisait dans la revue en ligne The Edge une prophétie folle pour l’époque : “Dans l’année, affirmait-il, les gens pourront consulter leur génome”. Et effectivement, 11 mois plus tard, apparaissaient 23andMe et les autres sociétés de génomique personnelle. Il a ensuite créé le projet “Personal Genome” qui offrait aux volontaires un séquençage complet et gratuit de leur ADN à condition d’accepter de voir ses données rendues publiques. Mais c’est une autre de ses idées, celle d’une “machine à évolution”, qui a retenu l’attention du New Scientist.
Harris Wang, étudiant en troisième année de l’équipe de Church, en a inventé la première mouture en 2009. Son but était de produire une grande quantité de lycopène, la protéine qui donne sa couleur rouge aux tomates. Il a donc d’abord sélectionné des bactéries E. Coli capables de produire une petite quantité de ce produit (rappelons qu’avant de faire la une de l’actualité sanitaire, les E. Coli étaient surtout connues pour être les “rats de laboratoire” de l’ingénierie génétique : les organismes sur lesquels on effectue tous les tests). Ensuite, il a synthétisé 50 000 brins d’ADN correspondant, avec des variations, aux 24 gènes susceptibles de produire du lycopène, puis il a entré les bactéries et les brins dans sa machine, et les a laissés se recombiner joyeusement. Il a répété le cycle 35 fois, produit 15 milliards de souches, l’une d’elles produisant cinq fois plus de lycopène que la bactérie originale.
On le voit ici, il ne s’agit pas de créer des mutations au hasard. On sélectionne la séquence qu’on veut améliorer et on effectue les transformations exclusivement sur celle-ci. Avec son expérience, Wang a mis trois jours pour résoudre un problème sur lequel l’industrie biotechnologique planchait depuis des années…
De fait, la technique de Church n’est pas neuve. Elle s’appelle l’algorithme génétique, et a été inventée par John Holland au cours des années 60. D’ailleurs, un grand nombre de chercheurs travaillant dans ce qu’on appelle la “vie artificielle” tentent depuis longtemps d’utiliser la sélection darwinienne pour créer des programmes informatiques de plus en plus sophistiqués. Jusqu’ici, ça n’avait pas très bien marché, et surtout, tout cela se déroulait en virtuel : les formes de vie artificielles étaient des programmes, des séquences de codes. Church, au contraire envisage d’utiliser l’algorithmique génétique dans le monde réel.
Seul problème avec cette méthode, explique le New Scientist, il est facile de produire de nouvelles configurations, mais après, il est plus difficile de les retrouver !
Pour Wang, c’était assez simple. Il a cultivé 100 000 souches et a simplement sélectionné celles qui possédaient le rouge le plus brillant. Mais ce n’est pas toujours aussi facile. Church envisage cependant des solutions au problème. On pourrait par exemple incorporer dans l’ADN à multiplier des biomarqueurs qui s’activeraient lorsqu’un certain résultat est atteint.
Church pense vendre ses machines assez bon marché, à peu près 90 000 $ chacune. “Nous nous efforçons de faire baisser les prix pour tous, plutôt que de faire un grand projet que personne ne peut répéter”, explique-t-il.
Et de se lancer, parallèlement à ses recherches, dans l’entreprise privée. Church a cofondé LS9, une société de biocarburants basée près de San Francisco, et compte utiliser sa machine pour réaliser une E. coli susceptible de produire des biocarburants. Et, on le sait, la perspective de biocarburants plus faciles à produire et moins polluants est le Graal de la biologie synthétique. D’autres bactéries peuvent se révéler précieuses, telle la Shewanella, capable de convertir des métaux toxiques comme l’uranium en une forme insoluble (et donc moins dangereuse) ou les cyanobactéries qui peuvent extraire l’énergie de la lumière grâce à la photosynthèse.
Mais la technologie de Church va bien plus loin. Selon lui, la machine à évolution est le seul moyen de créer de profondes transformations du génome. Pas simplement quelques gènes, comme le font les ingénieurs génétiques d’aujourd’hui (et comme Wang l’a réalisé), mais la réécriture de génomes entiers.
À l’heure actuelle, appliquer d’importants changements même sur le plus petit génome est extrêmement coûteux et laborieux. Ainsi, comme nous rappelle encore le New Scientist, lorsque Craig Venter a, l’an dernier, réussi à remplacer le génome d’une bactérie par son équivalent synthétique, cela lui a réclamé 400 années de travail en temps humain et a coûté autour de 40 millions de dollars.
Si la “machine à évolution” se montrait capable d’accélérer ce processus (et d’en réduire le coût), cela pourrait amener à une accélération de la manipulation du génome humain, avec toutes les questions éthiques que cela pose. Church travaille déjà dessus, à travers une recherche financée par l’Institut national américain du génome, destinée à créer une multitude de cellules humaines pour voir quelles variations pourraient être à l’origine de maladies. “Nous aimerions, explique-t-il, développer les ressources afin que les gens puissent rapidement tester des hypothèses sur le génome humain en en synthétisant de nouvelles versions.”
biotechnologies, singularité, vie artificielle
Kinect par ci, Kinect par là… Vous avez surement tous déjà entendu parler de la Kinect de Microsoft. Mais savez-vous vraiment comment fonctionne ce nouveau type de périphérique entrant dans la catégorie des Interfaces Utilisateurs Naturelles (appelées NUI) ?
Initialement connu sous le nom de « Project Natal », ce périphérique conçu pour la console Microsoft Xbox 360 permet d’interagir avec celle-ci grâce à la reconnaissance de forme, de mouvement et par commandes vocales.
En quelques chiffres
La Kinect a été mise sur le marché par Microsoft en novembre 2010 en tant que nouveau périphérique de jeu (vous avez surement entendu le slogan « La manette c’est vous »). Grâce à celle-ci, les ventes de la division jeux de Microsoft (Entertainment and Devices Division) ont crû d’environ 60%. La Kinect a depuis été élue accessoire d’électronique grand public ayant connu la plus rapide progression de ses ventes par le Guinness World Records avec 8 millions d’unités vendues durant les 60 premiers jours de sa commercialisation.
Si vous souhaitez avoir un panorama plus complet sur la genèse de la Kinect, vous pouvez regarder la vidéo « Kinect, du rêve à la réalité » présentée par David Cohen (Responsable Expérience Numérique Microsoft) lors de l’Université du SI 2011.
En décembre 2010 soit quelques mois après la commercialisation de la Kinect, PrimeSense (la société détentrice du brevet d’un des principaux capteurs) a mis à disposition des développeurs un kit de développement Open-Source (OpenNI/NITE – Natural Interaction) permettant à chacun de tirer partie des capacités du Kinect.
En juin 2011, Microsoft lance son SDK Kinect officiel (en version beta) incluant les pilotes pour PC et des librairies de reconnaissance de forme. Pour l’instant la licence Kinect interdit le développement d’applications commerciales. Cette contrainte pourrait changer prochainement avec notamment l’introduction d’un magasin en ligne (type App Store ou Marketplace) permettant aux utilisateurs de télécharger facilement de nouvelles applications utilisant la Kinect.
PrimeSense collabore actuellement avec Asus pour mettre au point un produit similaire à la Kinect de Microsoft : le Wavi X-tion (dont la sortie est prévue fin 2011). Ce produit sera principalement destiné au monde des PC et potentiellement des TV connectés. Le Wavi profitera du SDK OpenNI de PrimeSense et de l’importante communauté de développeurs qui s’était créée à l’arrivée de la Kinect.
Intérêt des Interfaces Naturelles
J’ai mentionné en introduction l’expression « Interfaces Utilisateurs Naturelles ». Le mot « naturel » désigne les interfaces utilisateurs pouvant s’utiliser sans apprentissage et sans modification du schéma de pensée de l’utilisateur.
Un clavier et une souris peuvent sembler naturels à utiliser mais il faut en réalité un nombre important d’heures de pratique (rappelez-vous vos débuts devant un ordinateur) pour acquérir la dextérité nécessaire à une utilisation facile. Ce type de périphériques requiert l’emploi de symboles et de métaphores (ex: icône d’une disquette pour sauvegarder un fichier) qui détourne l’attention de l’utilisateur du contenu qu’il veut manipuler.
Une interface naturelle se doit donc d’avoir une prise en main immédiate et de pouvoir même s’effacer du point de vue utilisateur au profit de l’interaction en tant que telle.
Plusieurs périphériques plus ou moins récent entrent dans cette définition. Il y a entre autres les interfaces tactiles multi-point (telles que l’iPad ou la table Surface), les interfaces immersives (la Kinect et les lunettes d’immersion 3D) et les logiciels de commande vocale. Il est possible d’étendre la définition pour y inclure les périphériques contenant des capteurs de mouvement (accéléromètre, gyroscope) telle que la manette Nintendo Wii qui permet une compréhension immédiate de son mode d’interaction.
Il est évident que les années qui arrivent verront fleurir de nouveaux périphériques encore plus immersifs et naturels.
Techniquement comment marche la Kinect ?
Laissons les réflexions ergonomiques et concentrons-nous sur la fameuse Kinect.
La Kinect est composée de :
- Un capteur vidéo couleur faisant office de caméra et restituant des images jusqu’en 1280×1024
- Un capteur de profondeur (émetteur/récepteur infrarouge)
- Un ensemble de 4 microphones directionnels incluant un système de réduction du bruit et des échos afin de permettre l’identification précise des sources sonores (beam formation) et améliorer la reconnaissance vocale.
Le capteur de profondeur est le composant principal de la Kinect car il fournit l’essentiel des informations permettant la reconnaissance de formes et mouvements. Voici le résumé du brevet détenu par la société israélienne PrimeSense décrivant la technologie de mesure de profondeur :
L’invention concerne un système et une méthode à utiliser pour reconstruire un objet. […] L’unité d’éclairage comprend une source lumineuse cohérente et un générateur de motifs de granulation aléatoire […] projetant sur l’objet le motif de granulation.
L’unité d’imagerie de l’invention est conçue pour détecter […] un décalage du motif sur l’objet par rapport à l’image de référence du motif. Ceci permet une reconstruction en temps réel d’une carte tridimensionnelle de l’objet.
En bon français, un émetteur infrarouge projette un motif prédéfini (nuage de points) dans la pièce. Le capteur infrarouge détecte la moindre altération dans la réflexion de ce motif et en déduit la distance des objets de la pièce. Il est ainsi possible d’obtenir une représentation de la position en 3 dimensions des objets dans le champ de vision de la Kinect (60° horizontalement et sur une distance de 1 à 4 mètres).
Capture des flux venant des capteurs | |
|
|
Il est à noter que le capteur infrarouge est parasité par les rayons du soleil (émettant aussi de l’infrarouge). l’usage de la Kinect en extérieur est donc limité.
Et pour le matériel, c’est tout ! La partie que l’on pourrait appeler « intelligente » (détection des objets et des mouvements) s’exécute au niveau de l’ordinateur.
A partir des informations des capteurs, le kit de développement (SDK) fourni par Microsoft permet de détecter jusqu’à 4formes humaines. 2 types de tracking sont disponibles : le tracking passif et le tracking actif.
- Le tracking passif analyse rapidement les flux venant des capteurs pour calculer les données générales de forme et de positionnement des 4 personnes.
- Le tracking actif détermine la position et l’orientation précises des 20 principales articulations du corps humain (formant un squelette). Ce calcul étant consommateur en ressources CPU, la version actuelle du SDK se limite à la reconnaissance du squelette entier des 2 premiers humains détectés.
Reconnaissance de squelette | |
|
|
Le fait d’avoir dissocié les parties capture (matériel) et reconnaissance (logiciel) rend la Kinect très polyvalente et évolutive puisqu’indépendante de l’usage que l’on veut en faire.
Il est ainsi possible de ne pas utiliser la détection de squelettes du SDK et de faire soi-même les algorithmes et traitement d’images permettant la reconnaissance de formes. Certains projets indépendants permettent d’ores et déjà la reconnaissance individuelle des doigts, des traits du visage, d’animaux, d’objets variés.
Développement
Les prérequis pour le développement d’une application utilisant la Kinect sont assez faibles :
- Un ordinateur sous Windows 7 (x86 ou x64)
- Une Kinect (il vaut mieux le préciser)
- Un développeur C# ou C++ (le SDK est fourni pour .Net et C++)
Le reste des compétences requises est directement lié au type d’application que vous souhaitez réaliser. Si l’application doit permettre la manipulation en 3D d’objets, il faudra savoir utiliser des technologies de rendu graphique 3D tels que OpenGL, DirectX ou XNA. Une application de reconnaissance de mouvement nécessitera de maitriser un minimum les algorithmes mathématiques de lissage, interpolation ou traitement du signal.
Techniquement (attention il va y avoir du code C#), le SDK est simple à utiliser.
L’initialisation de la Kinect se fait en quelques lignes :
1 2 | kinectRuntime = new Runtime(); kinectRuntime.Initialize(RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseSkeletalTracking | RuntimeOptions.UseColor); |
Il faut ensuite indiquer à la Kinect de commencer l’acquisition des flux venant des capteurs :
1 2 | kinectRuntime.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution320x240, ImageType.DepthAndPlayerIndex); kinectRuntime.VideoStream.Open(ImageStreamType.Video, 2, ImageResolution.Resolution640x480, ImageType.Color); |
Le SDK fournit 2 méthodes différentes de récupération des informations de la Kinect : par évènement ou à la demande (polling).
Le modèle évènementiel permet de s’abonner à des évènements VideoFrameReady, DepthFrameReady ou SkeletonFrameReady qui seront notifiés dès qu’une « frame » est disponible.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | protected override void Initialize() { […] kinectRuntime.VideoFrameReady += new EventHandler(kinectRuntime_VideoFrameReady); kinectRuntime.SkeletonFrameReady += new EventHandler(kinectRuntime_SkeletonFrameReady); […] } void kinectRuntime_VideoFrameReady(object sender, ImageFrameReadyEventArgs e) { byte[] bitmapData = e.ImageFrame.Image.Bits; RenderToScreen(videoFrame); […] } void kinectRuntime_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e) { if (e.SkeletonFrame.Skeletons.Count() > 0) { HandleGestures(skeletonFrame); […] } } |
Ce modèle est utile pour le traitement asynchrone ou les applications multithread. En pratique, si les traitements que vous souhaitez effectuer pour chaque « frame » sont longs ou complexes, le modèle évènementiel risque de déclencher trop souvent votre algorithme et de provoquer une saturation du CPU.
Le modèle par polling permet d’obtenir sur demande explicite une frame (méthode GetNextFrame) et de passer à la suite si aucune frame n’est disponible dans un délai imparti.
1 2 3 4 5 6 | ImageFrame videoFrame = kinectRuntime.VideoStream.GetNextFrame(timeout); // videoFrame.Image.Bits est un byte[] RenderToScreen(videoFrame.Image.Bits); SkeletonFrame skeletonFrame = kinectRuntime.SkeletonEngine.GetNextFrame(timeout); HandleGestures(skeletonFrame); |
Ce modèle peut générer un code très procédurale et monolitique. Il faut donc l’utiliser avec précaution.
A titre d’exemple, j’ai développé en quelques heures un prototype permettant d’extraire une forme humaine et de l’incruster dans un décor quelconque. Voici une vidéo de démonstration:
En consultant le source complet (disponible sur le site Immersive Virtualpostcard with Kinect, vous verrez que la partie la plus complexe consiste à faire l’incrustation d’image (parcours de tableau d’octets) et non de récupérer les flux du Kinect.
La reconnaissance de mouvements
La reconnaissance de mouvements types (appelés gestures) comme « écarter les bras », « lever la main », « pencher sur la droite » sont à implémenter par le développeur à partir des informations du squelette.
Le SDK fournit jusqu’à 30 fois par seconde une mise à jour des squelettes détectés sous forme d’objet SkeletonFrame.
Cet objet contient les informations de positionnement des squelettes détectés ainsi que des informations sur la qualité de la détection (exacte, inférée…)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public sealed class SkeletonFrame { [...] public SkeletonFrameQuality Quality; // vecteur indiquant la gravité réelle pour corriger la déformation dûe à l'inclinaison de la Kinect public Vector FloorClipPlane; // liste de squelettes détectés public SkeletonData[] Skeletons = new SkeletonData[6]; } public sealed class SkeletonData { [...] // précision du tracking : None, PositionOnly, Tracked (squelette entier) public SkeletonTrackingState TrackingState; public int TrackingID; // position 3D globale public Vector Position; // tableau indiquant la position 3D de chaque jointure et la précision (Inferred, Tracked) public JointsCollection Joints; } |
A partir de ces informations, il est possible de tester des règles/seuils simples définissant de mouvements, par exemple exécuter une fonction particulière lorsque l’utilisateur a la main sur la tête:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | SkeletonFrame skeletonFrame = kinectRuntime.SkeletonEngine.GetNextFrame(timeout); Vector distance = skeletonFrame.Skeletons[0].Joints[JointID.HandRight].Position - skeletonFrame.Skeletons[0].Joints[JointID.Head].Position; // vérification de la position de la main par rapport à la tête if ( // la main est placée au-dessus du niveau de la tête distance.Y > 0 // la distance latérale entre la main et la tête est inférieure à 10cm Math.Abs(distance.X) < 10 // la distance en profondeur entre la main et la tête est inférieure à 10cm Math.Abs(distance.Z) < 10 ) { LaunchRocket(); } |
Plusieurs frameworks (tels que NITE de PrimeSense, BeTheController) existent pour faciliter cette tâche mais il vous faudra évaluer au cas par cas leur pertinence en fonction de votre besoin (reconnaissance de formes, suivi d’objets, précision, fiabilité…).
Je vous conseille de consulter le blog de David Cahute de Microsoft et surtout l’article sur la reconnaissance de gestures Kinect basée sur l’apprentissage : Gestures & Kinect. David a publié sous licence MIT le code du projet Kinect Toolbox qui inclut la reconnaissance de gestures, de poses et de la voix.
Pour aller plus loin
Voici une liste (non-exhaustive) de ressources sur la Kinect et les différents projets dans le domaine des NUI :
- Site officiel du SDK Kinect sur Microsoft Research
- Programming Guide Kinect SDK (DOC) | (PDF) : documentation technique officielle du SDK Kinect
- MocKinect : librairie de mock (record/replay) permettant de tester une application Kinect sans Kinect
- Dans la série de tutoriaux Microsoft « J’en ai rien à coder » : Prenez le contrôle avec Kinect pour Windows
- Blog de David Cahute (Microsoft) : EternalCoding
- Kinect Toolbox et Coding4Fun Kinect Toolkit: 2 librairies complémentaires améliorant l’intégration du SDK Kinect dans les applications .Net
- kinecthacks.net référence presque tous les projets Kinect
D’autres articles paraîtront sur le blog Octo sur les usages possibles de la Kinect pour l’entreprise.
Conclusion
Maintenant que le fonctionnement de la Kinect n’a plus de secret pour vous, comment comptez-vous en tirer partie ? La Kinect, la table Surface, l’iPad… forment un ensemble de technologies améliorant l’expérience utilisateur et pouvant décupler la productivité à condition d’être correctement utilisées. Par exemple (et sans vouloir rentrer dans un débat de religion), il est possible de dire que l’iPad a réussi là où les TabletPC des années 2000 ont échoué en ne voulant qu’ajouter un périphérique (écran tactile) aux usages de l’ordinateur. L’iPad s’est basé sur une refonte profonde des paradigmes d’ergonomie (navigation, accès à l’information, présentation…) et a permis l’apparition de nouveaux usages et nouveaux besoins.
De même pour la Kinect ou Surface, plusieurs grandes entreprises parmi nos clients font appel à nous pour notre expertise technologique dans le domaine mais aussi afin de les aider à inventer leurs usages de demain en B2C ou même B2E avec notamment le développement de la gamification (serious gaming pour l’évaluation/monitoring, la formation/training, la prévention…).
N’hésitez pas à partager vos expériences ou vos questions dans les commentaires, nous ne manquerons pas d’y répondre.
Suggestion d'articles :
Ce que Greenpeace craignait est malheureusement en train de se produire… Des biologistes de l’université de l’Iowa l’ont confirmé : certains insectes-nuisibles sont devenus résistants aux plantes OGM pesticides et en particulier au maïs OGM (dit maïs Bt). Ces études confirment donc les craintes de nombreux experts soulevées lors de la commercialisation des OGM.
Chrysomèle 1 – Monsanto 0
La chrysomèle des racines du maïs est un insecte nuisible particulièrement vorace, qui est depuis longtemps la hantise de tous les producteurs de maïs. Monsanto avait mis au point en 2003 le premier maïs OGM conçu pour résister aux attaques de cet insecte.
Le succès de cette variété a été tel que 6 ans plus tard, en 2009, 45% des cultures de maïs aux États-Unis utilisaient les semences de Monsanto. Oui mais voilà, depuis 2009 justement, les chrysomèles ont décidé de répliquer. Elles ont ainsi muté et sont devenues résistantes à la toxine intégrée dans les céréales (Bacillus thuringiensis ou Bt).
Les chercheurs sont partis de témoignages d’agriculteurs ayant subi des attaques de chrysomèles sur leurs champs de maïs génétiquement modifié. Les analyses conduites en laboratoire ont montré que le ver des racines du maïs (Diabrotica virgifera virgifera), présent dans le mid-west américain est résistant à la protéine Cry3Bb1 provenant du maïs OGM MON863, du MON88017 et de leurs croisements. Le maïs OGM MON863 avait été autorisé aux États-Unis et au Canada en 2003 et le MON88017 en 2006.
La mise en place d’une agriculture durable nécessaire !
Face au « risque commercial » que représentent les apparitions de résistance, la stratégie des multinationales est d’ « empiler » plusieurs transgènes codant pour plusieurs protéines insecticides dans une plante. Monsanto commercialise ainsi aux Etats-Unis le maïs SmartStax depuis 2010, un maïs qui contient notamment six protéines insecticides. Ce maïs est actuellement en attente d’autorisation commerciale en Europe, dans le cadre d’un dossier déposé en 2008 par Monsanto, Dow AgroScience et Mycogen.
Pour Aaron Gassmann, chercheur à l’université d’Iowa State, une des causes de la prolifération de ce nuisible est aussi l’insuffisance de refuges, zones de cultures non modifiées génétiquement qui doivent normalement concentrer ces insectes et les empêcher de muter. En effet, seulement la moitié des surfaces plantées respecte cette disposition, pourtant réglementaire!
Cette dernière étude n’est malheureusement pas la seule. D’autres prouvent la résistance des insectes aux OGM : comme le Spodoptera frugiperda résistant au Cry1F produit pas le maïs Bt à Porto Rico, le Busseola fusca résistant à la protéine Cry1Ab dans un maïs Bt en Afrique du sud, et le Helicoverpa zea à la protéine Cry1Ac et Cry2Ab dans le coton OGM dans le sud-est des États-Unis.
Ces instances de résistance est le sommet de l’iceberg. La résistance des insectes aux plantes OGM va forcer les agriculteurs à utiliser des pesticides encore plus toxiques et en plus grande quantité. Bref, les OGM consistent en un autre cul-de-sac de l’agriculture industrielle. Les solutions existent pourtant !
La solution reste et restera toujours la mise en place d’agriculture plus respectueuse de l’environnement et qui travaille avec la nature plutôt que contre elle !
A l'heure de votre mort, vous aurez peut être choisi l'option de la crémation, un procédé pas si écologique que cela puisqu’au final elle rejetterait dans l'air de l'oxyde d'azote, du monoxyde de carbone, du dioxyde de soufre, du mercure, du fluorure d'hydrogène (HF), du chlorure d'hydrogène (HCI), des métaux lourds, et des polluants organiques persistants (POP) !
La compagnie Resomation basée à Glasgow propose une alternative à la crémation par un processus qui dissout le corps dans de l'eau alcaline chauffée.[BRK1]
Selon les responsable de la société écossaise, la machine, surnommée "The Resomator (le resomateur)", est capable de dissoudre les tissus du corps en moins de trois heures. Le procédé produirait un tiers de gaz à effet de serre de moins que la crémation, utilise un septième de l'énergie, et permet même la séparation complète des amalgames dentaires (plomb, mercure).
Au Royaume-Uni, l'un des principaux problèmes rencontrés dans les crématoriums concernent les émissions dans l'atmosphère d'amalgames de mercure vaporisé (environ 16%), les obligeant à installer des systèmes de filtre pour être aux normes.
Le système fonctionne en submergeant le corps dans une solution d'eau et d'hydroxyde de potassium, pressurisé à 10 atmosphères et chauffé à 160°C pendant environ 2 heures. Selon M. Sullivan, biochimiste de formation et fondateur de Resomation, "les tissus du corps dissous et le liquide résultant peuvent être déversés dans le réseau des eaux usées". Et d'affirmer dans une interview à la BBC : "l'effluent est stérile, ne contient pas d'ADN, et ne pose aucun risque pour l'environnement."

Ensuite, les os sont retirés de l'unité et traités dans un "cremulator", une machine qui est utilisée pour écraser les fragments d'os. Ainsi, les métaux lourds présents dans les prothèses, pacemaker et autres implants peuvent être récupérés.
Une unité "d'hydrolyse alcaline" a été installée dans une chambre funéraire à Saint-Pétersbourg et sera utilisée pour la première fois dans les prochaines semaines. La machine a été brevetée en Europe.
Avantages de la résomation par rapport à la crémation :
- Technique non polluante : les drogues médicamenteuses sont détruites ainsi que les agents infectieux (y compris les prions) qui pourraient se trouver dans le corps ; absence d'émission de gaz toxiques (CO, CO2, SO2, NOx, mercure, dioxines...) que l'on peut trouver dans les fumées de crématorium.
- Economie d'énergie puisque la crémation pour être efficace doit chauffer le four à plus de 1000°C alors que le résomateur ne nécessite un chauffage que de 150 à 170°C.
- Économie de cercueil en bois, le « cercueil » utilisé est en soie complètement hydrolysable.[BRK2]
- Le résomateur est plus compact qu'un four.


