Manual de como crear realidad aumentada usando un programa para niños

Para mi es de gran alegría poder escribir nuevamente en este blog, que casi no ha sufrido modificaciones desde que se ganó el Premio de Fundación Telefónica en el 2011. Pero por el deseo de compartir con Ustedes la posibilidad de desarrollar los conceptos detrás de la realidad aumentada con los niños, es que me animo a publicar este pequeño manual  para aquellos interesando en enseñar algo más que el uso de los aburridos marcadores (una broma). También los invito a visitar el trabajo que estoy realizando en mi blog personal.

conocimientoysistemas.wordpress.com

Aquí el video:

Veamos las condiciones necesarias:

  • Tener instalado Etoys la última versión, por que en las anteriores la cámara no funcionaba.
  • Tener Scratch
  • Tener una cámara web (mucho de la calidad depende de tener una buena cámara)
  • Tener una manopla con un color homogéneo que sea diferente a los colores del fondo que usas

Pasos:

En esta primera oportunidad solo trabajaremos con Etoys

Abrir Etoys y comenzar un nuevo proyecto.

abrirEtoys

Ir a provisiones, catálogo de objetos.

abrirCatalogodeobjetosdeprovsiones

Pestaña multimedia y sacar al Mundo el objeto cámara.

multimediaCamara

Por lo general la cámara se activa, puedes agrandar o reducir la imagen (pero hay un máximo según la capacidad o flujo de la cámara y su rango o tamaño).

multimediaCamaraabierta

Pintar un objeto, como el famoso autito de Etoys.

pintarauto

Redirige la dirección del auto con Shift + movimiento del mouse sobre la flecha verde de dirección.

cambiadireccion

Pinta dos círculos, uno que diga atrás y otro adelante con sus respectivas flechas de manera  similar a como se hizo con el auto.

pintaCirculos

Mueve los círculos hacia la imagen.

muevecirculos

Si das click sobre el objeto cámara observarás su halo, ir a menú en la parte superior al lado de la X en el borde izquierdo. Configura la cámara en enviar al fondo, se resiste al avance; y al final del menu también esta la opción de apagar o encender la cámara (off, on).

configurarcamara

Colócate sobre el circulo, saca halo, abrir visor.

visorprogramacion

Saca al Mundo, Prueba Si No

pruebasino

Luego saca de Adelante(si colocaste ese nombre)la orden esta encima de color

encimadecolor

Luego colócate sobre el auto, saca halo, y coloca sobre el guión de Adelante, auto avanza 5, pero cambia ese valor por 10.

pruebasinoautoavanza

Selecciona con el cuenta gotas el color de tu guante, trata de que sea cerca del circulo ya que los colores varían en función de la cantidad de luz y la posición.

cuentagotas

Activa los guiones en el reloj de cada guión y todo terminado, tu primera aplicación de realidad aumentada esta listo para impresionar en casa o el colegio.

scripterminado

Lo último no olvides esconder los guiones para que se vea mejor y acercar el guante para que el carro se mueva adelante o atrás. el reto es mejor el guión para hacer otras cosas.

En posteriores post, les mostrare como interactuar con Scratch y WEDO.  Y si te gusto déjame un comentario.

Juan Cadillo

Publicado en Conceptos y Videos sobre la Realidad Aumentada, La herramienta desarrollada, Nuestra experiencia con la Realidad Aumentada, Sin categoría | Etiquetado , , , , | 9 comentarios

Nuevas Aplicaciones de la Realidad Aumentada para Niños

Estimados amigos que leen este blog, y por cuestiones de tiempo luego del Premio Fundación Telefónica de  Innovación Educativa (Premio Internacional Educared 2011), me resistí a actualizar, pero llegó la hora de mostrar los avances logrados en este 2012. Luego de mucha investigación he logrado en el semestre mayores avances en el desarrollo de aplicaciones para niños usando los conceptos de la Realidad Aumentada y la Visión Artificial  permitiendo  el trabajo con formas y colores; en los proyectos «Probado virtual» y «Pintura Virtual para la Realidad Aumentada» se avanzó con los conceptos pedagógicos sobre  el trabajo lúdico, el desarrollo de las capacidades kinestésicas  y las  competencias a desarrollar en  los niños y niñas por áreas. El software que se desarrollo para estos proyectos estaba limitado a la detección de movimiento y el reconocimiento de colores. Se trabajó con processing y librerías adaptadas de opencv para este lenguaje; lamentablemente muy pocas funciones de opencv (librerías de visión artificial)   fueron migradas por lo que la alternativa era trabajar en el lenguaje C++, usando las librerías nativas. Y en el segundo semestre estoy trabajando con C# y XNA para aprovechar las capacidades de manejo de juegos en 3D y aprovechar el potencial de OpenCV.

Los resultados del primer semestre usando opencv  para el lenguaje C++, Qt Creator, asi Microsoft Visual C++ Express fueron promisorias. Luego de mucho investigar he logrado reconocer formas y colores optimizando algoritmos e ideando muevas formas para trabajar el reconocimiento de formas, optimizar tiempos y lograr trabajar en tiempo real; aproveche parte de mi trabajo sobre colores derivados de los proyectos anteriores. Como muchos otros  proyectos de este tipo tengo aún problemas con la luz que es muy variable en los ambientes reales, pero aún así se ha logrado avanzar reduciendo el ruido de estas variaciones. en las pruebas del software, se verificó el funcionamiento y la robustez del desarrollo con los niños en condiciones reales  tomando criterios pedagógicos de color y forma.

De los resultados se puede concluir que aplicación es estable con correcciones menores, y toca seguir avanzando en la validación pedagógica, ya que a mi criterio su uso para apoyar el logro de las:

• Competencias: Para reconocer, nombrar y describir figuras geométricas, asociándolas con objetos de su entorno, y su

• Capacidad: Identificar elementos esenciales de figuras geométricas planas: rectángulo, cuadrado, triangulo.

Así también dentro del proyecto  tengo planificado crear juegos que refuercen estas y otras  competencias, espero  que el tiempo que es cada vez es más tirano, me ayude a concretar y compartir lo desarrollado.

Comparto con Ustedes las pruebas realizadas.

Aquí un avance en el reconocimiento de la mano, que debe permitirme con el tiempo construir mejores juegos para los niños.

Y el avance en el conteo de dedos,

Y espero para el domingo o lunes mostrarles  un juego de Realidad Aumentada que usa un auto en 3D y es conducido a través de la detección de movimiento.

Juan Cadillo

Publicado en Conceptos y Videos sobre la Realidad Aumentada, La herramienta desarrollada, Nuestra experiencia con la Realidad Aumentada, Sin categoría | Etiquetado , , , , | 3 comentarios

Enlace a software de Realidad Aumentada

A pedido de varios correos que he recibido comparto el enlace correspondiente al software desarrollado en el proyecto: «Probador Virtual de la Realidad Aumentada». Este trabajo aun esta recién desarrollándose y de seguro con el tiempo mejorará con sus aportes. (No olvidar los requerimientos para su instalación: https://probadorvirtualra.wordpress.com/2011/06/05/instalacion-de-pvra/)

Aquí en el enlace

http://www.ziddu.com/download/15259153/ProbadorVirtual.rar.html

Juan Cadillo

Publicado en La herramienta desarrollada, Nuestra experiencia con la Realidad Aumentada | 2 comentarios

Subsistema de manejo de los Bloques Lógicos

El trabajo en este último subsistema se baso en la detección de movimiento en 4 regiones:

La Primera de color

La segunda de tamaño

La tercera en la de forma

Y por último la de selección de orden (tenemos 3 figuras) de izquierda a derecha 1, 2 y 3.

El trabajo busca que el niño arme una serie de bloques lógicos que se le presenta mediante un juego y debe armar la serie según los criterios de color, forma y tamaño.

Video ilustrativo de aplicación

Juan Cadillo

Publicado en La herramienta desarrollada | Deja un comentario

Instalación del Probador Virtual

REQUISITOS DE INSTALACION

1. Tener instalada una cámara Web (WebCam) de por lo menos 3.0 Mpx. Usando los controladores respectivos ofrecidos por el fabricante.

2. Tener instalado la Máquina Virtual de Java (jre). Esta se encuentra en la dirección web:

http://www.box.net/shared/a1fa9mk2qb o en su defecto en la página del fabricante http://www.java.com/es/download/manual.jsp

3. Instalar en el siguiente orden: OpenCV_1.0.exe, WinVDIG_101.exe y QuickTimeInstaller.exe. Software que se encuentran en un repositorio acondicionado en la Red. (Reiniciar si está utilizando Windows XP)

OpenCV_1.0.exe. Puede ser descargado de:

  la URL del proyecto

 http://www.box.net/shared/cndyb04x7n

O del Fabricante

 http://sourceforge.net/projects/opencvlibrary/files/opencv-win/1.0/OpenCV_1.0.exe/download

WinVDIG_101.exe. Puede ser descargado de:

http://www.box.net/shared/11dp8vghsr

O del fabricante

http://www.eden.net.nz/7/20071008/ (debe descargar la versión 1.0.1) otras versiones dan problemas con el uso de processing

QuickTimeInstaller.exe. Puede ser descargado de:

http://www.apple.com/es/quicktime/download/

 

enlace al Software Probador Virtual

Aquí en el enlace

http://www.ziddu.com/download/15259153/ProbadorVirtual.rar.html

 

INSTRUCCIONES DE USO

1. Copie la carpeta ProbadorVirtual ofrecida en el enlace de la página WEB del proyecto y ubíquela en el disco C: (C:\ProbadorVirtual\) – Esta ubicación no se puede cambiar.

2. Conecte la WebCam (de preferencia una con más de 3Megapixeles)

3. Busque en la carpeta PinturaVirtual el ejecutable llamado setup.exe e inícielo.

4. Siga las Instrucciones del Menú.

Publicado en La herramienta desarrollada | Etiquetado | 1 Comentario

Nuestra experiencia con la Realidad Aumentada

En este parte deseo relatar la experiencia vivida en el manejo de la Realidad Aumentada con los niños y niñas:

Para ello partimos de las capacidades del Diseño Curricular Básico:

  • Explorar y experimentar con materiales de expresión gráfico plástica.

 Se trabajo con un lienzo virtual sobre el que los niños realizaron dibujos y pintaron, si bien el sistema no es muy estable por dificultades técnicas los niños reconocieron colores  y realizaron trazos que les permitió afianzar la expresión plástica

  • Observar y describir las características visuales, sonoras y cinéticas (de movimiento) de elementos naturales y objetos de su entorno.
Se trabajo el reconocimiento de colores aprovechando las posibilidades de la realidad aumentada; de tal forma que los niños recibieron reforzadores de los diferentes colores. En una segunda etapa implementaremos el reconocimiento de un número mayor de colores y sus reforzadores.
Se construyó un piano virtual, en el que los niños ejecutaron melodías libres, este aspecto debe evolucionar hasta poder tocar canciones sencillas, para ello se requiere el aprendizaje de las notas musicales y su ubicación en el piano.
  • Reconocer y describir diversas producciones manuales y artísticas melodías en el entorno familiar o comunitario.
Se aprovecho la realidad aumentada para enseñar canciones sobre las formas y los colores:
  • Reconoce la lateralidad en su cuerpo experimentando con diferentes actividades.
Para ello utilizamos un juego que permite ubicar el lado izquierdo y derecho, así como la posición de arriba y abajo.
  • Identifica y utiliza conceptos de ubicación espacial básicos al realizar movimientos y desplazamientos
Se trabajo los aspectos de ubicación espacial mediante juegos, como el probador virtual y el juego de pingpong que permite a los alumnos coordinar e movimiento de sus manos con los de sus ojos y consolidar lo aprendido.
  • Identifica elementos esenciales de figuras geométricas planas: rectángulo, cuadrado, triángulo

Se trabajo buscando que los niños pudieran trabajar con los bloques clasificándolos y odenándolos según su color, forma y tamaño.  

]

De la experiencia podemos afirmar que el uso de las aplicaciones desarrolladas en su  mayoría son para grupos pequeños; ya que la principal dificultad es el manejo de las variaciones de color producto del movimiento de las personas.

Juan Cadillo
Publicado en La herramienta desarrollada, Nuestra experiencia con la Realidad Aumentada | Etiquetado , , , , , , | Deja un comentario

Conclusiones del Proyecto

Deseamos presentar una herramienta que se base en una solución pedagógica y didáctica  factible, teniendo en cuenta la complejidad técnico.

La tecnología es una herramienta y no la meta en si del trabajo en las aulas; eso lo comprendimos desde el inicio por ello la parte pedagógica fue crucial, permitió lograr desarrollar una herramienta que permita el uso de la Realidad Aumentada adaptada a nuestras necesidades. Gracias a ello nuestros niños y niñas  lograron los objetivos que nos habíamos planteado.

Estas son nuestras conclusiones:

  • Se puede usar la Realidad Aumentada para enseñar colores. (PROPUESTA PARA LA SEGUNDA ETAPA añadir voz al reconocimiento de colores).
  • Se puede usar la Realidad Aumentada para desarrollar los conceptos de Lateralidad con los niños.
  • La Realidad Aumentada permite el desarrollo de los  reflejos y coordinación ojo mano. También demanda de los niños resistencia en los miembros superiores.
  • La realidad aumentada permite el afianzamiento  de la coordinación motriz en lo niños.
  • Se puede enseñar música a través de la Realidad Aumentada.
  • Los niños y niñas pueden aprender a  dibujar y pintar a través de la Realidad Aumentada.
  • Se puede usar la realidad aumentada para desarrollar las capacidades de reconocimiento y clasificación de figuras.
  • La realidad aumentada permite el desarrollo de capacidades consideradas en el Diseño Curricular Básico Curricular del Perú

Siendo la ULTIMA CONCLUSION,

El juego didáctico como estrategia para usar la Realidad aumentada brinda adecuados frutos y permite que los niños asimilen la parte sintética como natural, además el juego apoyado en la Realidad Aumentada explora actividades nuevas para los niños y niñas. Así mismo los niños del cuarto grado logran mejorar sus competencias comunicativas reflejadas  en el discurso, ordenamiento de sus ideas y la entonación  y pronunciación que se aprecia en los videos.

 


Publicado en La herramienta desarrollada, Nuestra experiencia con la Realidad Aumentada | Etiquetado , , , | Deja un comentario

Diario del Proyecto

Para nosotros es de gran emoción poder compartir dentro del marco del Premio Internacional Educared 2011, las incidencias resumidas de todo el trabajo desarrollado dentro del Proyecto Probador Virtual. El proyecto presentado es una incubadora de Ideas sobre la Aplicación de la Realidad Aumentada en la Escuela.

Partimos de la necesidad de construir un emprendimiento que fuera capaz de utilizar ideas propias, de colegas y muchas otras que están dispersas y se conocen a través de Internet. El reto inicial era conocer más sobre la Realidad Aumentada y poder aplicarla en nuestro entorno local a través de aplicaciones personalizadas que respondan a nuestras necesidades dejando en un segundo plano algunas aplicaciones comerciales que ofrecen contenido visual de una calidad impresionante pero requieren la adquisición de licencias y en muchos casos están descontextualizados de nuestra realidad.

Partimos de lo pedagógico para guiar el emprendimiento tecnológico desconociendo a priori los resultados. Esto es fundamentalmente a que no existen estudios o son muy poco difundidos; no tenemos referencias contextualizadas de los logros y aplicaciones conseguidas de la Realidad Aumentada. Lo que se puede observar sobre la tecnología son gran cantidad de videos muchos de ellos de carácter comercial, en los que se muestra marcadores (hojas de papel con símbolos que el software interpreta) y algún objeto que se muestra sobre estos como videos, fotografías, animaciones en 3D.

 La tecnología de la Realidad Aumentada todavía es inmadura y el proyecto apunta a aportar en su uso dentro del aula para conocer sus ventajas y desventajas con niños dentro de un ambiente que cuenta con limitados recursos tecnológicos pero mucho ánimo de aprender cómo es nuestra Escuela.

 Los lineamientos guía que fundamentan el desarrollo materia de este diario son:

– El desarrollo de las capacidades de kinestésicas

– El desarrollo de la expresión creativa.

– El desarrollo de habilidades matemáticas y lógicas básicas.

– Mostrar información diversa a través de Marcadores.

Y para los niños más grande

-Mejorar y potenciar las estrategias, en especial usar la dinámica de gestión del  conocimiento que permita el trabajo de los niños más grandes (4º) con los más pequeños. 

Todo dentro de una estrategia global de juego apoyado en lo didáctico.

Todo comenzó con la  Premiación del Certamen Internacional Educared 2010, donde la  Fundación Telefónica y EDUCARED organizaron una jornada de Intercambio y Capacitación en el que  se expuso los avances en el ámbito tecnológico dirigido a la Educación. uno de estos avances fue la Realidad Aumentada; lo que motivo gran interés por conocer y aplicar los conceptos y la tecnología dentro del ámbito local.

Es así que en Enero – Febrero 2011

Nos avocamos a investigación sobre la tecnología inmersa para usar la Realidad Aumentada:

– Lenguajes de programación como  processing, Actionscript, C++

– Entornos de desarrollo para gestionar la Realidad Aumentada.

– Hardware necesario para usar la Realidad Aumentada.

Para Marzo del 2011

Consideramos que se tenía muchas posibilidades de poder aplicar la Realidad Aumentada en Nuestra Institución «Jesus Nazareno», por lo que iniciamos la investigación y selección de las competencias y capacidades a desarrollar en una primera etapa por la Realidad aumentada con los niños. También evaluar y seleccionar la opción tecnológica, fundamentalmente orientada a usar software libre para poder realizar un emprendimiento sostenible en la comunidad; ya que al ser una escuela publica carecemos de fondos para adquirir licencias de Software.

En este mes el aprendizaje del  lenguaje programación Processing, se intensificó, ya que este fue el lenguaje seleccionado por sus características de ser software libre, fácil de aprender  y tener muchas librerias  complementarias.  Las librearías que emocionaron  fueron las de la visión artificial con las cuales pudíamos ampliar   nuestro trabajo con la Realidad Aumentada, abriendo puertas más allá de los simples marcadores que se publicitan con la Realidad Aumentada.

En  Abril del 2011 

Durante la primera semana iniciamos formalmente el proceso de planificación y como resultados obtuvimos el plan de investigación que guiaría todo el trabajo. Este plan fue presentado y aprobado por la Dirección de la Institución Educativa. En él se postuló la fundamentación pedagógica y didáctica del proyecto, así como la parte técnica que por carácter de novedosa teníamos que gestionar de manera cuidadosa ya que esta podía convertirse en abrumadora por las dificultades técnicas.

La PROPUESTA CURRICULAR que nos guió fue:

Se trabajó teniendo como base el Diseño Curricular Nacional de la Educación Básico Regular, considerando las áreas de Educación Artística y Educación Física del III Ciclo fundamentalmente y atendiendo en parte de las IV Ciclo:

ARTE
• COMPETENCIA: Expresa con espontaneidad y creatividad sus vivencias, ideas, sentimientos y percepción del mundo, haciendo uso de recursos artísticos para explorar los elementos del arte vivenciándolos con placer.
 • CAPACIDADES:
o Explora y experimenta con materiales de expresión gráfico plástica; con objetos sonoros del entorno…
o Observa y describe las características visuales, sonoras y cinéticas (de movimiento) de elementos naturales y objetos de su entorno.
o Reconoce y describe diversas producciones manuales y artísticas desarrolladas en el entorno familiar o comunitario.

EDUCACION FISICA
• COMPETENCIA: Comprende su cuerpo de forma integral, lo utiliza en la ejecución de actividades físicas sencillas, valorándolas como medio de cuidar su salud.
• CAPACIDADES:
o Utiliza su cuerpo como totalidad en la realización de actividades lúdicas
• COMPETENCIA. Domina su cuerpo y utiliza sus posibilidades de movimiento para resolver tareas motrices simples, orientarse en el espacio y en el tiempo, expresarse corporalmente y manipular objetos; mostrando espontaneidad en actuar.
• CAPACIDADES:
o Reconoce la lateralidad en su cuerpo experimentando con diferentes actividades.
o Identifica y utiliza conceptos de ubicación espacial básicos al realizar movimientos y desplazamientos

LOGICO MATEMATICA

 • COMPETENCIA: Reconoce, nombra y describe figuras geométricas, asociándolas con objetos de su entorno

• CAPACIDADES:

o Identifica elementos esenciales de figuras geométricas planas: rectángulo, cuadrado, triangulo.

Para los niños del 4º que son los que apoyan la intervención  estas son las competencias y capacidades seleccionadas:

  • COMPETENCIA: Construcción de la identidad y de la convivencia democrática

CAPACIDADES

  • Evalúa sus estados emocionales y  actúa asertivamente en una situación de conflicto, proponiendo alternativas de solución.
  • Participa en la planificación y ejecución de

 COMPETENCIAS: Expresa sus necesidades, intereses, sentimientos y experiencias, adecuando su discurso a los distintos interlocutores, es receptivo y muestra una actitud de escucha respetuosa con atención y espíritu critico a los mensajes, en las diversas situaciones comunicativas en las que participa.

CAPACIDADES

  • El discurso oral: pautas para otorgar coherencia a las ideas
  • Pautas para exponer y fundamentar ideas y conclusiones.
  • Cualidades de la voz: entonación y pronunciación.

Respecto a la parte técnica se propuso desarrollar el proyecto mediante ciclos evolutivos en dos Etapas, En la primera etapa se  consideran 3 ciclos evolutivos para tener un producto entregable probado al 06 de junio del 2011 y una Evaluación esto coincide con el último día de la entrega de Trabajos del Premio Internacional Educared. Luego una segunda etapa al 10 de diciembre del 2011 con 2 o 3 ciclos dependientes de los resultados de la Primera Etapa,  donde la Institución Educativa muestra el resultado del trabajo a las Autoridades Municipales del Distrito de Independencia – Huaraz.

 La propuesto en ciclos de desarrollo busca hacer visibles lo más pronto posible los resultados logrados y no esperar hasta el final, de la misma forma por cada ciclo se tiene un entregable; en caso de no terminar el tercer ciclo de desarrollo de la propuesta se tiene por lo menos uno o dos de los ciclos terminados base de la propuesta.

PRIMER CICLO: Apoyar el reconocimiento de Color mediante la Realidad Aumentada:

SEGUNDO CICLO: Desarrollar un lienzo virtual  o un sistema de dibujo kinestésico. Apoyar la expresión artística

TERCER CICLO: Lograr mediante la Realidad Aumentada el desarrollo de los reflejos y la lateralidad. Y desarrollar un sistema de reconocimiento de figuras geométricas

En la tercera semana de este mes se:

– Inició el desarrollo del subsistema de reconocimiento de color.

– Se tomó  como base  el libro “Learning Processing A Beginner’s Guide to Programming Images, Animation, and Interaction” de Daniel Shiffman quién propone un algoritmo de selección de color y su seguimiento del mismo en el video para el software Processing.

– Se detecta que un sistema de detección de color es insuficiente para una propuesta pedagógica con niños, no se puede hacer mucho con seguir un color a largo de la pantalla.

– Se evidencia que la cámara web Microsoft LifeCam VX-5500, no es muy buena para detectar color, ya que no presenta colores verdaderos.

En la cuarta semana:

– Se llega a la conclusión que el modelo RGB no permite una detección de objetos por color ya que un solo color puede tener múltiples presentaciones o gamas.

– Se propone en base a la investigación en Internet cambiar el modelo de color usado por un computador RGB a un modelo CieLab que es más certero a la hora de encontrar un color

– Se construye un algoritmo de transformación del modelo RGB a CIELAB para Processing en base a la propuesta de Jacques y Desmis(http://www.rawness.es/cielab/?lang=es) quiénes han desarrollado código de transformación del modelo en el lenguaje PHP. El código propuesto tiene licencia CC0 v1.0( Http://creativecommons.org/publicdomain/zero/1.0/) y se logra adaptarlo a Processing.

– Se adapta el modelo y se tiene la primera versión de la propuesta. Se desarrolla un video con objetos de colores para el rojo, amarillo y azul; también para el verde, negro y blanco.

– Se prueba el modelo con alumnos del cuarto grado. Los resultados no son muy alentadores el sistema no identifica correctamente los colores debido a que la cámara no presenta color verdadero por lo que se juega con los tonos de color, pero para una propuesta con niños más pequeños no es una opción viable con esta cámara.

Durante el mes Mayo del  2011 

Trabajamos muy duró y logramos en la primera semana:

– Adaptar al proyecto que estamos desarrollando las librerias de openCV para java; pero la cámara web Microsoft LifeCam VX-5500 es incompatible con OpenCV, por lo que se cambia a una cámara web Genius Eye 110 Instan Video.

– El sistema funciona pero siguen los problemas con el color verdadero.

– Se  hacen otras pruebas, y se decide adquirir una cámara Web de mejores prestaciones, la opción es la Longitech WebCam Pro 9000. (Esta cámara no está en stock por lo se tiene que esperar a la próxima semana).

– Como se tiene un producto en el Primer Ciclo, y se espera que el rendimiento sea mejor con la cámara solicitada se inicia el SEGUNDO CICLO de nuestro trabajo.

Paralelamente se ha estado desarrollando un lienzo virtual para pintar sobre él.

– Con el segundo ciclo se prioriza  la investigación sobre las librerías de OpenCV para processing (OPENCV Processing and Java Library cuya dirección url es: http://ubaa.net/shared/processing/opencv/.), para ello en primer lugar se trató de detectar bloques de objetos con la función blobs()  de OpenCV pero no fue muy efectivo ya que se detectaban mucho bloques (regiones agrupadas) y el pincel corría de un lugar a otro imposibilitando dibujos uniformes; por lo se vio por conveniente cambiar a un reconocimiento de color, aprovechando lo aprendido en el subsistema de reconocimiento de color.

La segunda semana, se inicio con el logro  de detección del movimiento en regiones puntuales usando OpenCV y se propone elaborar un menú que permita cambiar de color el pincel de pintado y tener la posibilidad de  localizar los menús que funcionarán sin necesidad de presionar el mouse o alguna tecla.

– Se tiene éxito al final de la semana en lograr pintar haciendo seguimiento de color y cambiar pinceles, pero la tasa de fallas es muy elevada debido fundamentalmente a la cámara usada.

– Se hacen las primeras pruebas con los niños, el nivel de dificultad para pintar es alto y se sigue esperando la nueva cámara.

La tercera semana es muy alentadora pues la  nueva cámara está por fin en nuestras manos, se prueba con los niños,  el PRIMER CICLO QUEDA COMPLETO, los niños usan la Realidad Aumentada para reconocer el color, el nivel de fallos desciende de un 50% a un 10%. Y la jornada de Interacción de los niños del Cuarto Grado con los del Segundo es Satisfactoria, se logra que los niños usen la aplicación desarrollada.

– El  Subsistema de dibujo kinestésico está listo para su uso; las primeras pruebas en un ambiente poco controlado no son muy alentadoras. Los niños tienen a moverse de su sitio creando variaciones en el reflejo de la luz, el aula varía el tono de color de los objetos que detecta la cámara según la posición del día  y la entrada de la luz.

– Se ha investigado más, en youtube.com se han observado varios videos que hacen pintado sobre un lienzo y usan gafas de realidad virtual o en su defecto redes neuronales o algún filtro de predicción de movimiento. El desarrollo de estas tecnologías es costosa en tiempo pero posible por lo que se evaluará su desarrollo en la SEGUNDA ETAPA.

– Se ha optimizado en todo lo posible el sistema y lo que queda es probarlo en un ambiente más controlado. Ya que en las pruebas realizadas en un ambiente con una sola entrada de luz es sistema es satisfactorio de un 80 a 90%. Versus el 50% que se logró en el aula. Se decide dejar para la primera semana de junio la prueba de este ciclo y planificar el ambiente para su desarrollo con los niños.

Se ha iniciado el TERCER CICLO con el Subsistema de reflejos y lateralidad.

– Las ideas que se tiene es desarrollar un sistema que permita mejorar la lateralidad: arriba, abajo, izquierda y derecha.

– Se toma como base el juego realizado por Andy Best (http://andybest.net/2009/02/processing-opencv-tutorial-2-bubbles/). Él juego consiste en un grupo de bolas  o pompas de jabón que van cayendo y al ser tocadas desaparecen. El comparte parte de su código. Lo relevante es que permite obtener  una visión más clara de la detección de movimiento y dar nuevas  luces a la propuesta que estamos desarrollando. A nosotros nos interesa poder mover la pompa de jabón de un lugar a otro es decir desarrollar los conceptos de arriba, abajo, izquierda y derecha.

– El desarrollo de la idea está completa. Las pruebas de uso con los niños del CUARTO GRADO es exitosa, los niños del CUARTO GRADO apoyan el desarrollo del juego con los niños del SEGUNDO GRADO, siendo la experiencia satisfactoria.

– Paralelamente se viene desarrollando el juego de PingPong. Este se basa en la detección de color y sacar un promedio del mismo en la pantalla. El proceso al inicio lo deseamos realizar usando la detección de movimiento, pero se hacía muy lento puesto que se tenía que tocar la paleta por los extremos para moverla hacia arriba y abajo; luego de un revisión se tomó contacto con el trabajo de Nikolaus Gradwohl, (http://www.local-guru.net/blog/2008/10/10/touchless-multitouch-in-processing) que  realiza un trabajo sobre un multitouch display,  y logra en base a un promedio de color de dos objetos muy marcados  presentado a la cámara web hacer seguimiento de los mismos. También presenta un algoritmo que nos orienta a cómo sacar el promedio de color de toda la pantalla, la adaptación de su idea permite construir un bloque de código que a continuación presentamos:

class Point

int x;

int y;

Point( int x, int y )

this.x = x;

this.y = y;

//comparando el color del punto buscado versus el punto de la figura

boolean Match( int c1, int c2 )

int limit = 10 ;

int sr = c1 >> 16 & 0xFF;

int sg = c1 >> 8 & 0xFF;

int sb = c1 & 0xFF;

int cr = c2 >> 16 & 0xFF; //extrer color

int cg = c2 >> 8 & 0xFF;

int cb = c2 & 0xFF;

return cr > sr – limit && cr < sr + limit &&

cg > sg – limit && cg < sg + limit &&

cb > sb – limit && cb < sb + limit;

////saca el promedio de los puntos de un color

Point avg( ArrayList l )

int  posicionY = 0;

if (l.size() == 0)

return new Point( 0, 0 );

int x = 0;

int y = 0;

boolean cont = true;

for( Iterator i = l.iterator(); i.hasNext(); )

Point p = (Point)i.next();

x += p.x;

y += p.y;

if (cont)

posicionY = p.y;

cont = false;

if (( posicionY – y / l.size())< 20)

return new Point( x  / l.size(), y / l.size() + 50);

else

return new Point( x  / l.size(), y / l.size());

//

– La adaptación que se realizó permite trabajar con OpenCV y maniobrar la paleta en la dirección deseada, logrando construir un juego de pingpong usando realidad aumentada.

– El último día laborable de la semana se logra probar el juego con los niños de CUARTO GRADO y luego con los del SEGUNDO grado, siendo los resultados satisfactorios.

La cuarta semana también tiene frutos considerables:

– Durante la Cuarta semana se desarrolla un probador de ropa virtual, la idea se basa en varios video presentados en YouTube que permiten el cambio de ropa; este tipo de videos son los más promocionados en la publicidad de la realidad aumentada luego de los videos que muestra marcadores con videos o imágenes.

– Dentro de la propuesta inicial se tenía el objetivo de mejorar las habilidades kinestésicas y tomando la idea nos pareció que se podría construir un sistema similar para mejorar la coordinación de los niños. La idea no era muy difícil de realizar ya que se tenía la experiencia de detección de movimiento.

– Las primeras muestras del sistema se probaron el lunes en un ambiente poco controlado con los niños del CUARTO GRADO y se mostró algunas falencias respecto a la graduación del movimiento y la cantidad de luz del aula.

– Estas falencias se subsanaron y se logró probar nuevamente el sistema con los niños del CUARTO GRADO quiénes mejoraron su uso y estaban listos para demostrarlo  el día miércoles a los niños del SEGUNDO GRADO y apoyar su uso con ellos. La jornada fue nuevamente  satisfactoria.

– La expresión artística, se logra desarrollar con el trabajo de pintura en el lienzo. Surge la la idea de poder desarrollar también un piano virtual que sería una adaptación del probador virtual pero en vez de mover o cambiar la ropa se debe tocar una nota musical.

– Lo más complicado de la propuesta es detectar las notas musicales y sus respectivos acordes. Para el día viernes ya se tenía la primera propuesta probable que  dejó muy grata impresión en los niños quienes demostraron  la factibilidad de la propuesta.

En esta semana se completa el desarrollo de una aplicación en forma de juego que permite el reconocimiento de formas, color y tamaño. El que es utilizado en clase con los niños quienes logran formar series en base al tamaño, color y forma de los objetos usando la realidad aumentada.

Durante la primera semana de Junio 2011

Durante todo el proceso registramos las incidencias y esta semana  trabajamos en la sistematización de la propuesta, subir los videos del trabajo  a youtube.com, terminar la memoria descriptiva y levantar el software necesario para que prueben nuestra solución desarrollada; también nos avocamos a terminar otras propuestas que teníamos pendientes, pero con tanto ajetreo  nos olvidamos de grabar las pruebas sobre el sistema de pintura virtual que anda un poco mejor. Solo queda cruzar los dedos y esperar que el tiempo que nos reste el lunes poder grabar el funcionamiento de este dentro del trabajo con los niños y enlazarlo al blog.

Termino el registro del diario agradeciendo la oportunidad de participar en este concurso y un reconocimiento a mis alumnos del cuarto grado quienes me apoyaron en sus horas de recreo y las de sobre tiempo para poder enseñar a los más pequeños el uso de cada uno de los subsistemas y lograr los objetivos propuestos.

Huaraz, 04 de junio, del 2011

Publicado en La herramienta desarrollada, Nuestra experiencia con la Realidad Aumentada | Etiquetado , , , , , , | Deja un comentario

Subsistema de Reflejos y Lateralidad

Para consolidar el desarrollo, se buscó  reforzar el aspecto kinestésico, lo que permitiera que los niños refuercen sus reflejos y lateralidad mediante la aplicación de juegos; a ello apunto el desarrollo del módulo de ping pong, el módulo de Lateralidadque reforzará el reconocimiento de DERECHA, IZQUIERDA, ARRIBA Y ABAJO. Se implementó un probador de ropa que permite coordinar todo lo aprendido. Y finalmente me anime a desarrollar un piano virtual que sería una adaptación del probador virtual pero en vez de mover o cambiar la ropa se debe tocar una nota musical.

El módulo de ping pong se basa en el reconocimiento y seguimiento de color COLOR TRAKING, que permite mover las barras de los jugadores según un color definido por click (PRIMER JUGADOR ) y anticlik (SEGUNDO JUGADOR). Una pelota se mueve de izquierda a derecha y viceversa donde el jugador tiene que impedir que la bola pase hacia el final de su campo, para ello tiene una barra que se desplaza verticalmente. El juego requiere de coordinación, equilibrio y fuerza en el brazo para mantenerlo levantado.

Para indicar que se está dando el movimiento de las barras y su dirección se ha colocado unos círculos pequeños de diferentes colores que le indican al jugador el sentido que tiene su movimiento.

Fig. Ping Pong – con seguimiento de color (color traking)

A continuación se muestra el segmento de código para la implementación de la paleta de juego:

class paleta { //gestor de movimiento, según color

Point e1, e2;

paleta(){ //declaración de la clase

e1 = new Point( 0, 0 );

e2 = new Point( 0, 0 );

}

void mover(){

//nueva región de interés

if (s1)

{

//e1.x = constrain(e1.x, 40, width – 40);

e1.y =  constrain(e1.y, 0, height); //región limite

mouseYnuevoI = e1.y;

ellipseMode(CENTER);

ellipse( e1.x, e1.y, 30, 30 );

}

if (s2)

{

e2.y =  constrain(e2.y, 0, height); //región limite

mouseYnuevoD = e2.y;

fill( 0, 255, 255, 128 );

ellipseMode(CENTER);

ellipse( e2.x, e2.y, 30, 30 );

}

}

El módulo de Lateralidad permite distinguir la dirección del movimiento; si es a la izquierda, a la derecha arriba o hacia abajo.

 

Fig. Juego de Lateralidad: Izquierda, Derecha, Arriba y Abajo

Presentamos una declaración de variables usado:

//Programa que mueve la burbuja en cualquiera de las cuatro direcciones

import hypermedia.video.*;          //  Importando OpenCV library

OpenCV opencv;                      //  Creando un Nuevo objeto OpenCV object

PImage movementImg;                 //  Creando un PImage para detector movimiento

PImage bubblePNG;                   //  Crea un PImage para la burbuja a mover

PFont font;                         //  Crea un objeto font

Bubble bolita;

El módulo  probador virtual permite que el alumno demuestre sus destrezas de coordinación y ubicación para poder  elegir un polo que se le acomode al cuerpo, para ello utiliza el sistema de menú con detección de movimiento.

A continuación presentamos una imagen ilustrativa y el código correspondiente a la clase que permite el cambio de color, tamaño y ubicación de la ropa.

Fig. Probador Virtual – con menú interactivo

class Ropa

{

int rX, rY, ropaWidth, ropaHeight;

int MaxropaWidth, MaxropaHeight;

int elcolor;

Ropa ( int rpX, int rpY, int rW, int rH, int posicion)

{

rX = rpX;

rY = rpY;

ropaWidth = rW;

MaxropaWidth = rW;

ropaHeight = rH;

MaxropaHeight = rH;

elcolor = posicion;

}

}

Y el Piano virtual, es cual todavía nos falta perfeccionar.

Presentación de los Resultados:

Video 1: Institución Educativa  «Jesús Nazareno»

Video 2. Institución Educativa «Jesús Nazareno»

Video3. Institución Educativa  «Jesús Nazareno»

Video 4. Institución Educativa

Juan Cadillo

Publicado en La herramienta desarrollada | Etiquetado , , , , , , , , , | Deja un comentario

Subsistema de Dibujo Kinestésico

Este es el subsistema  que demando mayor  trabajado. Partimos de la capacidad de poder detectar movimiento para lo cual usamos las librerías para JAVA de OpenCV ubicadas en OPENCV Processing and Java Library cuya dirección url es: http://ubaa.net/shared/processing/opencv/.

Para ello dividí el trabajo en:

  1. Poder detectar el movimiento en regiones puntuales, lo que sirvió para localizar los menús que funcionarán sin necesidad de presionar el mouse o alguna tecla.

 Menú de selección de color activado por detección de movimiento

Fig. Menú de selección de color activado por detección de movimiento

Se trabaja básicamente sobre una diferencia de pixeles de un imagen capturada frente a otra imagen capturada posteriormente; si la diferencia es marcada en la región entonces se ha detectado movimiento; lo que corresponde a la selección de un color para el pincel que debe pintar en nuestro caso.

También se prevé que se tenga que borrar el lienzo donde se pinta lo que se hace con el menú borrar.

 

Fig. Menú de borrado de lienzo – activado por detección de movimiento

El código que presentamos a continuación permite poner una imagen en escala de blanco y negro y hace uso de las librerías de openCV:

  // luego de encontrado el color aplicamos filtros para detectar movimiento

  opencv.absDiff();                           //  Crear una diferencia de imagen

  opencv.convert(OpenCV.GRAY);                //  Convertir a una escala de grises

  opencv.blur(OpenCV.BLUR, 3);                //  Remover- ruido

   opencv.threshold(20); // Thresholds to convert to black and white; se puede //seleccionar en función de la luz del ambiente.

  1. Poder pintar sobre el lienzo (pantalla), para ello en primer lugar se trató de detectar bloques de objetos con la función blobs()  de OpenCV pero no fue muy efectivo ya que se detectaban mucho bloques (regiones agrupadas) y el pincel corría de un lugar a otro imposibilitando dibujos uniformes; por lo se vio por conveniente cambiar a un reconocimiento de color, aprovechando lo aprendido en el subsistema de reconocimiento de color. La idea guía fue presentar una imagen de un solo color, sacar el promedio de color dentro de la imagen capturada por el video y en base a este promedio guiar al pincel; en inglés a esta técnica se le denomina “color Tracking”. El inconveniente de este método es la cantidad de otras imágenes que puedan tener un color similar al que estamos siguiendo; esto hace que el pincel salte de un lugar a otro en algunas ocasiones. O en algunos casos la pérdida del color de seguimiento debido a la variación de luz que hace que un objeto se vea de un color distinto al del seguimiento. Una solución al caso planteado es combinar el reconocimiento de bloques y el reconocimiento de color; para ellos se tendría que implementar una red neuronal o algún tipo de filtro como el de Kalman;  pero cuya programación es más costosa.

Fig. Pincel activo – seguimiento de color (color traking)

A continuación se presenta el código que permite implementar el color tracking en el subsistema:

////sacar el promedio de los puntos de un color

Point avg( ArrayList l ) {

int  posicionY = 0;

if (l.size() == 0) {

return new Point( 0, 0 );

}

int x = 0;

int y = 0;

boolean cont = true;

for( Iterator i = l.iterator(); i.hasNext(); ) {

Point p = (Point)i.next();

x += p.x;

y += p.y;

if (cont)

{

posicionY = p.y;

cont = false;

}

}

if (( posicionY – y / l.size())< 20)

{

return new Point( x  / l.size(), y / l.size() + 50);

} else

{

return new Point( x  / l.size(), y / l.size());

}

}

Video 1. Institución Educativa «Jesús Nazareno»

Juan Cadillo

Publicado en La herramienta desarrollada | Etiquetado , , , , , | 1 Comentario