Probador virtual Kinect
En el 2009 empece a sentir mucho interés por la realidad aumentada, para esos días no existía el kinect y solo se podía lograr con la web cam, el detalle era que yo no sabía nada de AS3 que es el lenguaje de programación que me permitio hacer todo lo que he venido haciendo.
En esos días trabajaba para Yannick Warnier en su empresa llamada Beeznest, fomentaban mucho la investigación y yo como siempre curioso aprovechaba el tiempo que nos permitian para investigar, eso fue bueno ya que me permitio experimentar mucho.
para el 2010 logre desarrollar un probador virtual con muy pocos conocimientos de programación y gracias a la ayuda de mi amigo Christian Fasanando, hablo de este probador :
Luego logramos mejorar la detección de movimiento con esta librería :
http://blog.soulwire.co.uk/code/actionscript-3/webcam-motion-detection-tracking
y quedo perfecto a pesar de que yo no sabía nada de programación as3 me metí y logre hacerlo, el detalle era que consumia recursos, sobre todo procesador.
ya para el 2011 conocí a quien es mi actual empleador, le mostre la beta del proyecto con la detección de movimiento y le gusto, nos ofrecio el 30% del monto total de la venta que le hiciera a Saga Falabella ya que el consideraba que era super bueno el producto, así pasaron los meses y Saga Falabella adquirio el primer probador virtual en el Perú, pero no lo desarrolle yo ya que andaba compeltamente ocupado con el proyecto mistura, así que mi empleador decidío contratar a un Desarrollador as3 para que mejorara el rendimiento de mi beta, y allí empezó el caos , en lugar de mejorarla la detección era pésima, tanto que el probador virtual que usamos en saga falabella los usuarios tenían que usar unos objetos en sus manos ya que eso permitía mejorar un poco la detección, tengo tantos emails que cruce ese día con el desarrollador que aún los guardo como el recuerdo de que quien se supone era el mejor no pudo estar a la altura.
En fin Saga Falabella el primer día se quejo con quien es mi empleador y yo tuve que ir a reunirme con mi amigo Christian Fasando a poner el diseño a nuestra beta ya que el que hizo el desarrollador no funciono, pero para el día siguiente se decidío de que a pesar el probador virtual no funcionaba bien se utilizaría como comente unos objetos “pin” en la mano, aunque el inicio no era mas que un sujetador de cabello que entregabamos a los usuarios para que se lo pusieran en la mano, pienso en eso y siento tanta verguenza.
Este fué el probador virtual noten que no detecta bien :
Para solucionar ello se decidió colocar estos pines que el usuario tiene en la mano además de contratar a una persona para que ayudara a los usuarios, ella hizo un buen trabajo :
En fin esta es la historia del primer probador virtual, y vale decir que del 30% que me ofrecieron no cobre nada y es que ese fue otro tema que he dejado pasar ya que creo que el destino y el tiempo se encarga de devolvernos el favor.
hace 3 días decidí hacer un probador virtual Kinect, esto fué motivado por un Argentino que me contacto y con el cual llegamos a un acuerdo. Kinect permite ya no depender de los botones y manejarlo todo a nivel de gestos y eso es lo bueno, he trabajado aquí el seguimiento del cuerpo, además de escalar en base a la proporción, tambien el reconocimiento de gestos y si que ha sido divertido utilizar airkinect que es la librería que utilice para comunicar el kinect con Adobe Flash, Gracias nuevamente al equipo de as3nui.com por hacer esta librería que es tan maravillosa como el kinect.
les muestro las 2 betas del nuevo Probador Virtual Kinect, cada una con su propia funcionalidad, recomiendo verlas ya que quedaron muy bonitas .
TEKI el doctor desde tu casa
Suelo escribir en este blog solo sobre los proyectos en los que vengo trabajando, pero ayer me di con la noticia que el País Vasco invertira 1.5 millones de Euros en un proyecto llamado TEKI, Teki es un proyecto el cual pretende llevar el doctor a casa de pacientes crónicos.
La iniciativa es grandiosa, el uso mucho mas aún , la cantidad de dinero que ahorrarán el paciente al no tener que movilizarse a la clínica pues es beneficiosos.
Me gustaría ver a Kinect Intervention en los hogares de las personas, creo que el inicio de TEKI impulsado por el País Vasco es el inicio de lo que serán los doctores en casa, y con el creo que se abre una gran puerta para que llevemos tambien kinect intervention a muchos hogares.
Airkinect 2 en FlashDevelop
Mi mayor problema siempre ha sido el día en que se vencio mi licencia de prueba de Flash Builder, es por eso que busque una manera de correr Airkinect en Flash Develop, encontre mucha documentación para la version 7.1 de airkinect pero no para la versión 2, es así que decidí hacer un tutorial de como correr airkinect 2 en Flash Develop, para todos aquellos que quieran iniciarse en la programación con Kinect y Air.
Primero deben considerar que deben tener un kinect y el sdk instalado en su máquina, la manera de instalar y de donde sacar el sdk se encuentra aquí :
http://www.kinectforwindows.org/
Lo segundo que deben considerar es que deben tener el core de airkinect y lo descargan de aquí :
http://as3nui.github.com/airkinect-2-core/
Este es el vídeo tutorial :
El código con el que llame a la cámara depth es el siguiente
package
{
import flash.display.Sprite;
import com.as3nui.nativeExtensions.air.kinect.Kinect;
import com.as3nui.nativeExtensions.air.kinect.KinectSettings;
import com.as3nui.nativeExtensions.air.kinect.data.SkeletonJoint;
import com.as3nui.nativeExtensions.air.kinect.data.User;
import com.as3nui.nativeExtensions.air.kinect.events.CameraImageEvent;
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
/**
* …
* @author Luis Rodriguez
*/
public class Main extends Sprite
{
private var kinect:Kinect;
private var bmp:Bitmap;
private var skeletonContainer:Sprite;
public function Main():void
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.nativeWindow.visible = true;
if(Kinect.isSupported())
{
bmp = new Bitmap();
addChild(bmp);
skeletonContainer = new Sprite();
addChild(skeletonContainer);
kinect = Kinect.getDevice();
kinect.addEventListener(CameraImageEvent.DEPTH_IMAGE_UPDATE, depthImageHandler);
var settings:KinectSettings = new KinectSettings();
settings.depthEnabled = true;
kinect.start(settings);
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
}
protected function depthImageHandler(event:CameraImageEvent):void
{
bmp.bitmapData = event.imageData;
}
protected function enterFrameHandler(event:Event):void
{
skeletonContainer.graphics.clear();
for each(var user:User in kinect.usersWithSkeleton)
{
for each( var joint:SkeletonJoint in user.skeletonJoints)
{
skeletonContainer.graphics.beginFill(0xff0000);
skeletonContainer.graphics.drawCircle(joint.depthPosition.x, joint.depthPosition.y , 3);
skeletonContainer.graphics.endFill();
}
}
}
}
}
Kinect Intervention ocupo el 2do puesto en la competencia Imagine Cup 2012
Imagine cup es una competencia mundial organizada por Microsoft en la cual se premia a la innovación tecnológica, junto a un grupo de estudiantes de el instituo IDAT logramos sacar adelante un proyecto que idee y se llama Kinect Intervention.
Les cuento un poco la historia, los estudiantes de IDAT me invitarón a ser “mentor” de su grupo que pretendía presentarse al Imagine Cup, ellos pretendían grabar con el kinect vídeos de las “nanas” que cuidan a los niños y las cuales muchas veces no estimulan el desarrollo psicomotriz de los mismos.
Yo plantie en lugar de grabar y violar la privacidad tanto de los niños como de la “nana” el detectar la hiperactividad del niño, todo esto sucedió después de que visite a una psicóloga para preguntar sobre los trastornos del comportamiento, ella en un inicio menciono la hiperquinecia, autismo, esquizofrenia catatoide y yo ante todo ello quede admirado, fui con esta idea de detectar a través del kinect datos de posición y movimiento para armar un patrón definido que nos permitiera detectar a tiempo y desde la comodidad de casa la Hiperquinesia.
Fue así que empezamos a desarrollar nuestro proyecto, en un inicio recuerdo haber hecho una prueba simplemente con Jquery, para luego pasar a c# utilizando un ejemplo de Microsoft, era necesario utilizar las tecnologías de Microsoft para poder participar, pero hoy despues de esa competencia estamos pensando pasar todo a sof libre.
Para poder sacar adelante el proyecto tuve que pensar en una estregia de negocio que permitiera llegar al usuario de manera gratuita, con el fin de ayudar a las personas, el único modelo que nos permite ello es el de la publicidad y es allí donde ví que lo que en comun tienen las empresas de alimentos, clínicas, psicólogos y laboratorios es buscar “clientes” a los cuales vender a través de la publicidad su producto, al tener nosotros una plataforma donde registramos los datos estaríamos construyendo un mercado específico para estas industrias, además de los planes de licenciamiento para clínicas para el uso de kinect intervention.
También me puse a investigar sobre la competencia y note que la mayoría de los aparatos que existen son intrusivos y costosos, además desarrolle la idea de un vídeo en el cual se muestre de manera clara y facil como iba a funcionar kinect intervention, para ello tuve que hacer un guion que explicara de manera sensilla y eficaz el proyecto.
Kinect intervention gracias al esfuerzo de los estudiantes y a todas estas ideas que detallo logro el 2do puesto en la competencia nacional Imagine Cup 2012, nos apena no haber obtenido el primer puesto y poder ir representando al Perú a Australia, creemos que el primer puesto carece de todo lo que nosotros no carecíamos pero asi son las competencias.
Dejo con ustedes un resumen de tecnología 21 donde se menciona al equipo clase 75 como ganadores del 2do puesto :
Y nuestro vídeo bandera Kinect Intervention :
Mañana es la Final de la competencia Imagine Cup
Mañana es la competencia final del concurso Imagine Cup, los chicos estan super preparados, han logrado un nivel de confianza importante y creemos estar dentro de los 3 primeros proyectos que ganarán la final, hoy salio en el Diario “El Comercio” el proyecto Kinect Intervention y todo el equipo esta muy orgulloso de ello. esperemos mañana ocupar el primer puesto del concurso porqué estamos seguros de que Kinect Intervention realmente ayuda, además de ser innovador y util para diagnosticar a tiempo los transtornos del comportamiento.
ACTUALIZACIÓN :
Radio Capital de los 10 proyectos nos da como favoritos : http://www.capital.com.pe/2012-04-27-proyectos-peruanos-compiten-por-llegar-al-microsoft-imagine-cup-noticia_476243.html
lo mismo en Radio Programas : http://www.rpp.com.pe/2012-04-26-diez-proyectos-peruanos-luchan-en-imagine-cup-organizada-por-microsoft-noticia_476125.html
Aplicacion Educativa Kinect beta terminada
Acabo de terminar la primera beta de la aplicación educativa Kinect para practicar los ejercicios de suma , esta beta fue hecha con la librería AIRKINECT yo estoy muy agradecido con los desarrolladores de esta librería ya que es muy fácil construir aplicaciones Kinect con ella.
El segundo paso después de esta beta es llevarla a probarlas en la escuela estoy trabajando en mis tiempos libres para lograr los necesarios contactos para que ello suceda, si alguien tiene o es profesor de una escuela en el Perú no dude en comunicarse conmigo para probar esta beta con sus alumnos, le estaré también muy agradecido
KINECT INTERVENTION
Actualización 04/04/2012 :
Estamos muy contentos de haber pasado a la competencia final nacional de Imagine Cup, el vídeo nos sirvio mucho para poder comunicar de manera adecuada nuestro proyecto.
Quiero presentarles el proyecto en el cual actualmente me encuentro trabajando, se llama Kinect Intervention; es una aplicación que recopila datos de posición y movimiento desde la comodidad de tu casa para detectar a transtornos de tdah, hiper actividad y hiperquinesia, según los psicologos con los que venimos trabajando esta aplicación tambien les brinda datos de otros transtornos como la esquizofrenia infantil, autismo.
Este video lo hicimos para presentarlo en el concurso imagine cup .
Kinect Aplicación educativa para aprender las vocales
Pues he venido trabajando todas las madrugadas después de la oficina sobre esta aplicación educativa para aprender las vocales con kinect y as3nui, he logrado ya hacer un bonito diseño y el seguimiento de rostro al cual le he agregado una carita de abeja para que los niños se diviertan con ello, les dejo el vídeo del mismo como adelanto a lo que se viene ya que aún como decía me falta animar los personajes hacer la colisión de los globos con mi mano y otras cositas mas que le pondré así que si tienen alguna idea comentario o quieren apoyar con las tareas de animación, diseño y programación déjenme saber
Segundo Prototipo educativo Kinect
Hola aprovechando el poco tiempo libre que tengo he hecho un segundo prototipo educativo kinect para aprender las vocales, esta dirigido a niños muy pequeños , sigo pensando que los “nativos digitales” deberían tener herramientas interactivas que los ayuden a desarrollar mucho más rápido su capacidad de aprender, creo que Kinect ayudará mucho en esa tarea.
Solo nos falta el avatar y quedará lista la aplicación educativa kinect
He venido avanzando en mis tiempos libres despues del trabajo la aplicación educativa , le he colocado un timer y un score para hacerlo competitivo. Ahora solo nos falta trabajar en el avatar para que los niños puedan divertirse sintiendose dentro del juego y haciendolo suyo, dejo el siguiente video para que vayan viendo el avance del mismo



