lunes, 23 de noviembre de 2009

Escuela Nº 200

Después de bastante retomamos el blog. No queríamos dejar pasar la oportunidad de compartir una de las mejores experiencias personales que hemos tenido en el transcurso de este proyecto.

Nos contactamos con la Escuela Nº 200 de Montevideo gracias a la ayuda de nuestros tutores, las características particulares de esta escuela nos alentaron a interiorizarnos más en cuanto a su metodología de trabajo y las necesidades de los chicos que a ella concurren.

Aquí una breve reseña sobre la escuela:

.:Escuela Nº 200:.
La escuela funciona desde 1978, su objetivo es rehabilitar y/o habilitar al alumno mediante un conjunto dinámico y coordinado de estrategias que desarrollen al máximo sus potencialidades para favorecer su inclusión social. Brinda apoyo a familias e instituciones inclusoras, a través del asesoramiento técnico-docente, recursos didácticos y de implementación para que la inclusión de niños y jóvenes sea exitosa.
Al local concurren 100 niños aproximadamente y sus edades oscilan entre 2 y 20 años. Por ser la única escuela pública especial para niños con problemas motrices, asisten chicos de todo el departamento de Montevideo.

Además de los chicos, integran la escuela la directora, 10 maestros, docentes, fisioterapeutas, psicólogos, asistentes sociales, músicoterapeutas, auxiliares, cocinera y chofer.

Al centro ingresan chicos con diferentes tipo de discapacidad motriz: un 90% tienen Parálisis Cerebral, 8% Espina Bífida (diversos síndromes) y un 2% otras patologías.
Los perfiles de ingreso son los siguientes:
- Niños con patología motriz y con sobreagregación de déficit que por su severidad no pueden incluirse en el currículo común.
- Niños con patología motriz leve que deberán realizar una habilitación perceptivo-motriz antes de ser integrados o reubicados en las instituciones educativas que corresponden.
- Niños con patología motriz y con doble escolaridad, que estando incluidos en escuelas comunes reciben apoyo pedagógico en contrahorario.

El ingreso se produce luego de ser evaluado el niño a partir de una entrevista y habiendo cupo en el grupo al cual le corresponde asistir. El proceso de egreso se produce cuando el niño culmina la rehabilitación o habilitación y se busca la institución adecuada en donde se pueda inscribir. La idea es lograr que los niños salgan lo mas tempranamente posible de la escuela, de manera de que una vez que se ha preparado al niño y a la familia para la inclusión, el niño esta pronto para ser incluido en otra institución. Los tiempos son marcados por los niños y no por la escuela. 

Por el momento los chicos pasan 3 horas en la escuela, salvo unos pocos grupos que están haciendo 6 horas. Se está intentando que cada vez más grupos cumplan el horario de 6 horas. En ese tiempo realizan actividades académicas y recreativas.

La escuela trata de buscar apoyos de la comunidad, además del aporte que tienen de Primara y de la Intendencia, reciben apoyo económico de ONGs, y del Ejército para la limpieza y asistencia en las actividades didácticas, como lo son los paseos. Por el lado académico, se han enviado solicitudes a todas las Facultades buscando colaboración de estudiantes que puedan realizar pasantías pero no se ha tenido ninguna respuesta. En particular la Facultad de Ingeniería nunca a mostrado interés en brindar apoyo a esta institución, el proyecto de grado “Diseño de interfaces perceptuales para el Plan Ceibal” sería el primer trabajo que lograría algo en conjunto.
Por otro lado, la institución tiene varios proyectos de trabajo en donde se reciben visitas con muchas colaboraciones, el objetivo de los proyectos, es fomentar la comunicación brindando herramientas para la integración de los chicos en la sociedad.

Como actividades extracurriculares los chicos asisten a Teletón. Es un centro muy vinculado a la niños que asisten a la escuela 200, les brinda a los padres la posibilidad de llevar a los niños y entrar con determinados programas, pueden ser integrales o específicos para determinadas áreas de intervención como fisioterapia o terapia ocupacional, pueden ser de un mes, de quince días, depende de la evaluación que le hacen al niño al ingresar. Pero resulta importante destacar que deben ser los padres los que tienen que llevar a los chicos a Teletón, la escuela no se ocupa de los ingresos a ese centro.
El contexto social de la mayoría de los chicos que asisten a la escuela es complejo. Los padres visitan la escuela, pero se quiere tener mayor presencia de la familia para intervenir en forma conjunta más intensamente, debido a la extensión de la zona que abarca la escuela a veces es difícil lograrlo.


En este link se encuentra la ubicacion de la escuela a traves de Google Maps:

sábado, 8 de agosto de 2009

ARToolkit

¿Cómo funciona ARToolKit?


Principios básicos

Las aplicaciones construidas con ARToolKit permiten superponer imágenes virtuales sobre vídeos del mundo real, en tiempo real. Aunque esto parece mágico no lo es. El secreto está en los bordes negros que se utilizan como marcadores. El reconocimiento de ARToolKit funciona de la siguiente manera:

1. La cámara realiza una captura de vídeo del mundo real y lo envía a la computadora.
2. El software en la computadora realiza una búsqueda de cada cuadro de vídeo buscando cualquier forma cuadrada.
3. Si se encuentra un cuadrado, el software utiliza un cálculo matemático para calcular la posición de la cámara en relación al cuadrado negro.
4. Una vez que la posición de la cámara es reconocida, un modelo gráfico es dibujado desde esa misma posición.
5. Este modelo se dibuja sobre el vídeo del mundo real y así aparece pegado al marcador cuadrado reconocido anteriormente.
6. El resultado final se muestra de nuevo en la pantalla, así cuando el usuario mira la pantalla se muestran gráficos superpuestos en el mundo real.

martes, 28 de abril de 2009

Conociendo la XO

Dado que nuestro proyecto será montado en el hardware de las computaroras portátiles XO, nos parece conveniente familiarizarnos con ella. Por este motivo a continuación presentamos un video filmado con la XO, la resolución realmente es mala y desalentadora... Todo parece indicar que la
mejor opción es usar una camara web conectada a la XO en lugar de la cámara que trae la máquina.





A continuación un video similar filmado con una cámara web de una laptop convencional.







Aquí esta la salida del comando "lspci" ejecutado desde la XO:

00:01.0 Host bridge: Advanced Micro Devices [AMD] Unknown device 0028 (rev 21)
00:01.1 VGA compatible controller: Advanced Micro Devices [AMD] Geode LX Video
00:01.2 Entertainment encryption device: Advanced Micro Devices [AMD] Geode LX AES Security Block
00:0c.0 FLASH memory: Marvell Technology Group Ltd. Unknown device 4100 (rev 10)
00:0c.1 SD Host controller: Marvell Technology Group Ltd. Unknown device 4101 (rev 10)
00:0c.2 Multimedia video controller: Marvell Technology Group Ltd. Unknown device 4102 (rev 10)
00:0f.0 ISA bridge: Advanced Micro Devices [AMD] CS5536 [Geode companion] ISA (rev 03)
00:0f.3 Multimedia audio controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] Audio (rev 01)
00:0f.4 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] OHC (rev 02)
00:0f.5 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] EHC (rev 02)


Aquí se encuentran las especificaciónes de hardware de la XO.

Construyendo un prototipo con openframeworks

Comenzamos con la construcción de un prototipo básico. Por el momento lo que logramos hacer es tomar como entrada la camara web y reconocer contornos y orientaciones de los objetos presentados.

También se tienen algunas propiedades de los objetos, como por ejemplo el área de los mismos (por el momento no consideramos objetos en 3 dimensiones sino que trabajamos con dibujos en 2d) y estamos trabajando para reconocer figuras tales como cuadriláteros, triángulos, círculos, etc.

Encontramos un paper de Desarrollo de interfaces naturales para aplicaciónes dirigidas a niños en el cual se plantea la siguiente estrategia de reconocimiento.

Se detalla en este apartado el proceso de reconocimiento y las técnicas empleadas en cada
una de las fases. El sistema es capaz, por el momento, de reconocer forma, color y orientación
de cartulinas repartidas sobre el escritorio (fondo blanco uniforme); para llevarlo a cabo se han implementado algoritmos estándar básicos de reconocimiento visual.

El proceso es el que se explica a continuación (ver Figura 1).


1. Captura. Como se ha comentado, el hardware de captura visual consiste en una webcam
conectada al PC
mediante puerto USB. Una llamada a la librería “VideoForWindows” de
Windows, devuelve un array de píxeles de
dimensión 320 x 200, en la cual cada píxel es
representado por sus componentes de color
RGB (Rojo, Verde y Azul) de 8 bits de resolución
en cada componente.



2. Umbralización de la imagen. Se genera un valor de umbral automático que representa un
valor de luminancia (entre 0 y 255) que separa el escritorio de los elementos tangibles. Se
genera un array binario. Para eliminar ruidos de señal de vídeo se aplica un filtrado de
mediana.


3. Visión retinal. Esta fase se encarga de la detección de movimiento. El objetivo es no mostrar
en pantalla resultados “falsos” y esperar hasta que el usuario haya terminado
de realizar su
disposición de elemento tangibles.



Figura 1. Flujo del proceso de reconocimiento visual


4. Segmentación de la imagen. Con la imagen estática, y a partir del array binario, se cuenta
y localiza cuántos elementos tangibles hay sobre el escritorio. A continuación se aplica el
algoritmo estándar de etiquetado de blobs (los blobs son puntos o regiones en una imagen que pueden ser tanto mas claras o mas oscuras que sus alrededores
).


5. Parametrización de los blobs. Una vez individualizados y etiquetados los blobs, se
parametrizan: se obtienen los valores que caracterizan las propiedades físicas de los
elementos tangibles que se han detectado en el proceso de segmentación: Área, contorno,
orientación, color.


lunes, 27 de abril de 2009

Perceptual User Interface (PUI)

Por un largo tiempo, las interfaces de usuario gráficas (su abreviación en ingles GUI: Graphical User Interface), han sido la plataforma dominante para la interacción persona computadora. Sin embargo, por la forma en que utilizamos la informática y por el modo en que se ha generalizado y se hace cada vez mas presente en nuestras vidas, las interfaces de usuario gráficas no soportaran fácilmente la gama de interacciones necesarias para satisfacer las necesidades de los usuarios. Para dar lugar a una mas amplia gama de escenarios, tareas, usuarios y preferencias, necesitamos avanzar y migrar hacia interfaces naturales, intuitivas, flexibles y discretas. Un nuevo enfoque para lograr lo antes mencionado, son las interfaces de usuario de perceptuales ( su sigla en ingles y como las llamaremos de ahora en adelante: PUI Perceptual User Interfaces ), y su objetivo es hacer la interacción persona computadora lo mas parecida a como la gente interactúa entre si y con el resto del mundo [1].
       
EraParadigmaImplementación
1950sNingunoSwitches, cables, tarjetas perforadas
1970sMáquina de escribirInterface de línea de comandos
1980sEscritorioGUI / WIMP
2000sInteracción NaturalPUI (entrada y salida multimodal)
    Tabla 1 [1]
Las PUI deben aprovechar las capacidades perceptuales humanas y presentar la información y el contexto en forma natural y significativa. Esto significa que debemos ser capaces de entender la visión humana, la percepción auditiva, formas de conversación convencionales, capacidades táctiles, etc. De la misma manera, las PUI deben aprovechar los avances en la visión artificial, reconocimiento de voz y sonido, sistemas de aprendizaje y comprensión del lenguaje natural [1].

La visión es claramente un elemento importante a la hora de la comunicación entre los seres humanos. Es verdad que la comunicación entre seres humanos puede concretarse sin la visión, pero también es cierto que la visión proporciona una riqueza a la comunicación que no puede ser remplazada mediante el uso de la voz o el texto.Por ejemplo el lenguaje corporal, los gestos faciales, etc. Las interfaces basadas en la vision (su sigla en ingles VBI: Visual Based Interfaces) intentan poder introducir estos gestos a la comunicación entre las personas y las computadoras. Las VBI son una subclase de las PUI y se concentran en desarrollar un conocimiento visual de las personas que usan un sistema. [1]

Visual Based Interfaces (VBI):

Se pueden clasificar en 2 aspectos: Control y conocimiento visual.

1- Control: Es la comunicación explicita con el sistema, por ejemplo poner un objeto en un lugar.
2- Conocimiento visual:  Recoger información sobre lo que esta sucediendo sin una iintención explicita de comunicarla. Esto le brinda una contexto a la aplicación, y a partir de este contexto puede decidir tomar acciones o no, pero lo importante es resaltar que no fue necesario dar una orden explicita para que el sistema cambie su comportamiento, el sistema es capaz de detectar un cambio en el contexto.
Por ejemplo, se podría realizar un seguimiento de una persona y si abandona la escena cambiar el comportamiento.Una persona esta mirando un video, y si se levanta y se va entonces podemos pausar el video tanto para evitar que se pierda partes del mismo o que se malgasten recursos que no están siendo aprovechados. [1]

3. Tipos de interfaces y conformación de las PUI:

Imagen 1


  • Perceptive UI:
Como se puede ver en la figura, las perceptive UI y las demás interfaces que se explican a continuación, están incluidas dentro de las interfaces de usuario perceptuales.

La principal característica de las perceptual UI es que agregan capacidades de tipo humanas a las computadoras. Por ejemplo hacer consiente a la computadora de lo que el usuario esta diciendo o de los gestos que sus manos o su cara están haciendo. Estas interfaces proveen una entrada a la computadora tomando conocimiento del entorno, es decir, permiten a la computadora percibir aquellas vías de comunicación características de los seres humanos las cuales son ignoradas por las GUI a las cuales estamos acostumbrados hoy en día.[1]

  • Multimodal UI:
Las multimodal UI tienen en común los aspectos de entrada con las perceptual UI. Estas se basan en el uso de múltiples modalidades, por ejemplo la entrada de la computadora puede ser provista por voz junto  con gestos, o la utilización de las 2 manos a la vez. También se basan en entradas sensoriales, pero lo que las distingue es que se tiene en cuenta mas de una entrada a la vez, no 2 entradas que provean  información redundante sino 2 entradas diferentes que provean información diferente a la computadora. [2]
Así como se usan distintas modalidades para la entrada, también se utilizan distintas modalidades para la salida, como por ejemplo gráfico, voz o salida táctil. El fin de este tipo de salida es incorporar las capacidades de percepción, cognitivas y habilidades de comunicación del usuario para comprender de mejor manera lo que está siendo presentado por el sistema. [1]
Estas interfaces permiten aumentar el ancho de banda de la comunicación entre el usuario y la computadora. Por ejemplo, el usuario podría dar una orden con la voz y otra orden con la mano al mismo tiempo, por lo tanto en una sola acción del usuario se le dio 2 ordenes distintas al computador ,mientras que en las interfaces que permiten un solo modo por vez no hubiera sido posible, primero tendría que haberse dado la orden con la voz y luego con las manos o en el orden contrario. [2]
  • Multimedia UI:
Las interfaces multimedia son un subconjunto de la salida de las multimodal UI. Aprovechan las habilidades perceptuales y cognitivas del usuario para interpretar lo que el sistema esta presentando. Las vías típicas utilizadas son el texto, el audio y el video. Las interfaces multimedia se concentran en los canales de comunicación, mientras las multimodal UI se concentran en los canales de percepción humanos, es por esto que son un subconjunto de las multimodal UI.

  • Percepual UI:
Las interfaces perceptuales de usuario integran las perceptive UI, multimodal UI y multimedia UI para que nuestras capacidades humanas influyan de manera de poder crear interfaces mas naturales e intuitivas. Habilitan múltiples estilos de interacción, como por ejemplo solamente voz, voz y texto, texto y tacto, visión y sonido. Estas vías de interacción son usadas apropiadamente en diferentes circunstancias, siempre con el objetivo de hacer la interacción mas natural e intuitiva.

Las PUI son multimodal UI altamente interactivas, modeladas a partir de la interacción humano-humano. El objetivo de las mismas es lograr una interacción con la tecnología de una manera similar de la que tenemos los humanos entre nosotros y con el mundo físico.
       
Imagen 2
 


             


Referencias: [1] Matthew Turk, Perceptual User Interfaces
                      [2] George G. Robertson, Leveraging Human Capabilities in Perceptual Interfaces