ideación arquitectónica asistida mediante realidad …jafruiz/ideacion asistida realidad...

8

Click here to load reader

Upload: ngodien

Post on 25-Sep-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ideación Arquitectónica asistida mediante Realidad …jafruiz/ideacion asistida realidad aumentada.pdf · maqueta conceptual inicial, sino muchas de ellas; tantas como ideas nuevas

Ideación Arquitectónica Asistida mediante Realidad Aumentada

A. Ruiz1, C. Urdiales1, J.A. Fernández-Ruiz2 y F. Sandoval1 (1) Dpto. Tecnología Electrónica, ETSI Telecomunicación

Univ. Málaga, Campus de Teatinos s/n, 29071-Málaga E-mail: [email protected]

(2) Dpto. de Expresión Gráfica, Arquitectónica y en la Ingeniería, ETS Arquitectura Univ. Granada, Campus de Fuentenueva, Av. Severo Ochoa s/n , 18071-Granada

E-mail: [email protected]

Resumen

Este artículo presenta un nuevo sistema CAD para evitar al arquitecto la construcción física de una maqueta una vez dispone de un modelo 3D por computador. Para ello, se usan técnicas de Realidad Aumentada que permiten que, mediante una cámara sencilla y una pantalla o gafa virtual, el usuario perciba el modelo integrado en el mundo real y pueda interactuar con él de forma natural usando las manos. Este sistema, que integra procesado de imagen y diseño y programación 3D, se ha desarrollado con hardware de bajo coste y funciona correctamente en tiempo real.

1. Introducción a la Realidad Aumentada Durante las últimas décadas, un gran número de investigadores ha concentrado sus esfuerzos en el desarrollo de interfaces de usuario avanzadas mediante técnicas de Realidad Virtual, dada la mayor ergonomía que ofrecen las herramientas de este tipo. Más recientemente, se ha creado una nueva rama de interfaces denominadas de Realidad Aumentada, donde los elementos reales conviven con los elementos virtuales (Fig. 1), que sirven para aportar información adicional a los primeros [1]. Los ejemplos del uso de la Realidad Aumentada en campos como la medicina, fabricación y reparación de equipos industriales, sector aeroespacial y militar son una constante hoy en día [1], así como los ejemplos del uso de esta nueva herramienta en arquitectura, en campos como la construcción, inspección y renovación de elementos estructurales [2]. Los principales problemas de las aplicaciones de Realidad Aumentada estriban en la necesidad de compatibilizar dos mundos distintos, el virtual y el real, lo que supone la necesidad de alinear los sistemas de coordenadas de ambos de forma que sean coherentes. Así, si un elemento virtual se encuentra frente al usuario y éste se da la vuelta, debería quedar a su espalda. A este problema se le conoce como alineación o seguimiento y se resuelve mediante técnicas de procesado de imagen [3], capaces de detectar, reconocer y seguir rasgos significativos del entorno y/o dispositivos de seguimiento, y técnicas de predicción [4] para detectar en qué dirección mira el usuario. El segundo problema a resolver lo constituye la interacción del usuario con los elementos virtuales, ya que, especialmente en aplicaciones que deben estar orientadas a un público en general, algunos grupos menos familiarizados con la tecnología pueden encontrarse en desventaja frente al uso de las Tecnologías de la Sociedad de la Información, acentuándose así las diferencias sociales, hecho que

se conoce como la División Digital (DD) [5]. En general, una de las soluciones más habituales para combatir este problema estriba en el desarrollo de interfaces ergonómicas. La clave de la ergonomía es mantener el espacio de trabajo centrado en la persona, lo que presenta las ventajas de una mejor eficiencia, tiempos de aprendizaje reducidos y una mayor facilidad de uso [6]. En este artículo se presenta un sistema ergonómico de apoyo al diseño arquitectónico, basado en técnicas de Realidad Aumentada, que constituyen uno de los campos de mayor interés de los sistemas multimedia actuales. Este sistema presenta la ventaja de una gran interactividad entre el usuario y la máquina, así como compatibilidad con las herramientas CAD actuales, y su propósito es la sustitución de la actual maqueta física por un modelo virtual que se insertará en el mundo real y podrá manipularse manualmente. Así, el apartado 2 presenta una breve justificación desde el punto de vista arquitectónico de la necesidad de una herramienta de este tipo. En los puntos 3 y 4 se presenta la solución que se ha dado al problema del seguimiento y la interacción con el usuario respectivamente. El punto 5 se centra en los resultados del sistema propuesto y, por fin, el punto 6 presenta conclusiones y líneas de trabajo futuro.

Fig.1. Diferencias entre Realidad Virtual y Aumentada

Page 2: Ideación Arquitectónica asistida mediante Realidad …jafruiz/ideacion asistida realidad aumentada.pdf · maqueta conceptual inicial, sino muchas de ellas; tantas como ideas nuevas

2. La Realidad Aumentada como herramienta de asistencia al proceso de ideación arquitectónico.

El arquitecto ha necesitado siempre de un sistema metafórico para expresar las ideas. El sistema tradicional consistió en un trabajo de traducción permanente entre la “maqueta mental”, la idea tridimensional en el cerebro, y su representación en el exterior, el papel [7]. Esto ha sido posible mediante conocimientos de geometría proyectiva, acompañados de determinados valores: posicionamientos éticos, cultura analítica formal, historia de la arquitectura y teoría de la proyectación. Este método clásico es complicado y pesado tanto por la complejidad que tiene la traducción entre dos mundos tan distantes: el mental y el de la técnica proyectiva, como por la carga que hay que soportar en el viaje: los valores culturales asociados citados. Esta distancia psicológica es la que seguramente condujo a establecer que la sinergia creativa es proporcional al número de migraciones que hagamos entre los medios [8], o lo que es lo mismo: cuanto más nos movamos entre el papel, los modelos CAD y la Realidad Aumentada, mejor. El hecho de traer la idea desde el papel, o desde el ordenador a nuestro mundo, estimula la creatividad. Debemos preguntarnos sobre la motivación de los arquitectos para no utilizar con más frecuencia las maquetas físicas en las fases iniciales de la creación de nuevas morfologías. La respuesta creemos que está en la asincronía existente entre la velocidad que requiere la ideación, (la necesaria para imaginar nuevos objetos a gran rapidez) y su expresión en forma de maqueta física: cartón, madera de balsa etc. Pero no sólo sería perentorio desarrollar una maqueta conceptual inicial, sino muchas de ellas; tantas como ideas nuevas se produjesen, algo que es inviable, en consecuencia, los arquitectos se ven obligados a trabajar a través de croquis que son representados a través de proyecciones planas. Una solución parcial a este problema lo han aportado los entornos CAD. Sin embargo adolecen del defecto de que se trata de otro modo de proyección plana. La Realidad Aumentada puede resolver el problema de la realización de muchas maquetas físicas, pues la observación estereoscópica sobre un entorno real potencia la creatividad al igual que lo haría una maqueta física. Todo ello con la ventaja de que, simultáneamente trabajaríamos en un entorno CAD y en un papel si lo deseamos. Nuestra propuesta permite la gestión de visualización de las maquetas digitales generadas pudiendo tomar decisiones sobre ellas sin necesidad de hacer maquetas físicas. Si es cierto, como está demostrado, que los resultados arquitectónicos son una consecuencia de los medios que usamos, podríamos estar en presencia de una metodología

que puede retar a las herramientas tradicionales y, por tanto, susceptible de desarrollar una arquitectura nueva y diferente.

3. Inserción de elementos virtuales en el sistema de coordenadas real

El primer problema que nos encontramos en las aplicaciones de Realidad Aumentada es compatibilizar los mundos virtual y real a partir de sus coordenadas. En Realidad Aumentada los objetos virtuales coexisten con los elementos reales. Esta coexistencia requiere de un adecuado alineamiento de los objetos virtuales en el mundo real. Pequeños errores en el alineamiento son fácilmente detectables por el sistema de visión humano. Por éste motivo, la elección del sistema de posicionamiento es de vital importancia en los sistemas de realidad aumentada. Los sistemas de tracking o posicionamiento determinan la posición y orientación de los objetos en el mundo real. Hay tres procedimientos usados en el campo de la Realidad Aumentada.[9]:

En primer lugar, el usuario puede llevar consigo dispositivos en la mano o cabeza que nos provean de información. Los dos métodos que más se utilizan en Realidad Aumentada son el posicionamiento magnético y óptico. El magnético es de confianza salvo en presencia de campos magnéticos, mientras que el óptico tiene más precisión pero menos resistencia a oclusión y movimientos rápidos.

En segundo lugar, podemos utilizar ciertos objetos del mundo real para conocer la posición y cubrirlos con información virtual. Estos objetos pueden ser naturales del entorno por donde se va a mover el usuario, o marcas especialmente concebidas para su fácil y rápida localización.

Como tercera opción, podemos situar dispositivos activos en el medio donde esté el usuario y los objetos, para que nos provean de información del entorno, presenten información sobre los objetos y de cómo interactúa el usuario con ellos.

Dependiendo de la aplicación habrá que elegir un método de posicionamiento. Para esta aplicación se ha elegido la detección de posición mediante una marca conocida, sobre la que se “pegará” la imagen virtual. La elección viene determinada por varios factores. En primer lugar, la aplicación pretende sustituir la representación tradicional de maquetas construidas con materiales reales por unas virtuales, conservando la interacción habitual con una maqueta: desplazarse alrededor, acercarse y alejarse. Esta libertad de movimientos no suelen garantizarla los sensores magnéticos u ópticos de consumo, ya que proporcionan posiciones relativas a la inicial

Page 3: Ideación Arquitectónica asistida mediante Realidad …jafruiz/ideacion asistida realidad aumentada.pdf · maqueta conceptual inicial, sino muchas de ellas; tantas como ideas nuevas

pero no absolutas con respecto al sistema de coordenadas real. En segundo lugar, el usuario necesita de un soporte físico sobre el que se sitúa la maqueta tanto real como virtual. Es en este soporte donde introducimos la marca, que nos dará la clave para conocer hacia donde está mirando el usuario. En tercer lugar, para garantizar la portabilidad, es deseable no necesitar entornos especiales con hardware específico, por lo que no es recomendable usar dispositivos activos externos. Es por estos motivos que se opta por posicionarse a partir de una marca artificial en el entorno. El principal problema de la técnica escogida lo constituyen los errores posibles de alineación derivados de las condiciones de captura y resolución, y de la necesidad de trabajar en tiempo real y, por tanto, usar algoritmos simples y rápidos. Los errores de posicionamiento pueden ser estáticos y dinámicos [10]. Los estáticos aparecen cuando el tamaño de la marca es reducido en relación a la resolución de la imagen y, por tanto, se pierde precisión en la localización. Estos no son un problema en nuestra aplicación ya que: i) el usuario estará cerca de la maqueta y por tanto cerca de la marca o patrón que se debe detectar; y ii) el tamaño del soporte ha de ser proporcional al tamaño de la maqueta, y las maquetas reales son de proporciones elevadas para conseguir un elevado detalle del modelo y su apreciación por el usuario. Los errores dinámicos ocurren cuando el movimiento de la marca, del usuario o de las condiciones de captura provocan la pérdida de la marca. Aquí tampoco representan ningún problema, porque el movimiento de la maqueta o del usuario estará restringido a acercarse, alejarse y desplazarse alrededor, habitualmente de una forma pausada para observar la maqueta. Una vez decidido el método de posicionamiento, se ha escogido una librería específica ya existente para dicho posicionamiento: el ARToolkit [11].

3.1. Descripción de ARToolkit ARToolkit ofrece una serie de librerías para el desarrollo de aplicaciones de Realidad Aumentada. La parte más difícil de estas aplicaciones suele ser

calcular la perspectiva del usuario para que el objeto virtual esté perfectamente alineado con el mundo real. ARToolkit utiliza técnicas de tratamiento de imágenes para calcular la posición de la cámara y la orientación relativa a una marca cuadrada de dimensiones conocidas, para incluir los objetos virtuales con respecto a estas marcas [11]. ARToolkit genera una matriz con la posición relativa de la marca y ésta se utiliza, junto con la librería gráfica OpenGL, para representar el objeto virtual en la imagen capturada por la cámara. La matriz que obtenemos con ARToolkit es relativa a un modelo de la distorsión que la cámara introduce en el proceso. ARToolkit incorpora material para calibrar la cámara y ajustar de la manera más fiable posible las coordenadas reales con las virtuales. Aún así, encontramos errores de posicionamiento en los resultados finales porque este proceso de calibración no es perfecto[12]. En la Fig. 2 vemos un esquema de los distintos pasos. En primer lugar, se captura la imagen de video y ésta se pasa a una imagen binaria en blanco y negro en función de un valor umbral de luminosidad, que se calibra para ajustar el proceso a los cambios de luminosidad. En esta imagen se realiza la búsqueda de marcas cuadradas para, entre todas las encontradas, seleccionar aquella que contenga un patrón almacenado en memoria sobre el que se va a dibujar el objeto virtual. Cuando se encuentra dicha marca (Fig. 3), podemos averiguar las coordenadas de la cámara respecto a ella utilizando la expresión de la ecuación 1[13]. Esta matriz se utiliza para dibujar el objeto virtual encima de la marca detectada, por eso es importante minimizar errores de posicionamiento, para que las coordenadas de la cámara real y de la virtual coincidan.

Fig. 2. Pasos del algoritmo de posicionamiento usando ARToolkit

(1)

Page 4: Ideación Arquitectónica asistida mediante Realidad …jafruiz/ideacion asistida realidad aumentada.pdf · maqueta conceptual inicial, sino muchas de ellas; tantas como ideas nuevas

La matriz de coordenadas se utiliza junto con las librerías OpenGL para realizar el dibujo. La Fig. 4 presenta un ejemplo de la detección de marca e inserción de un objeto virtual sobre ella.

3.2. De 3DStudio a OpenGL El objetivo de esta aplicación es representar modelos 3D de diseños arquitectónicos en Realidad Aumentada. Esto es, sustituir las tradicionales maquetas de cartón por otras virtuales que presenten, como mínimo, el mismo grado de interacción. El modelo del diseño a representar, realizado por el arquitecto en uno de los muchos programas CAD que actualmente existen en el mercado, será uno de los parámetros de entrada en esta aplicación. Si ha de facilitarse la tarea al arquitecto, no es viable forzarlo a aprender OpenGL para crear la maqueta para la aplicación, por lo que debe permitírsele usar cualquiera de los programas a que esté habituado, garantizándole así la compatibilidad con todos los diseños de que disponga hasta la fecha. Así, el modelo presentará un determinado formato que debe traducirse a OpenGL para dibujarlo sobre la marca con las coordenadas anteriormente halladas. Se decidió escoger como formato de entrada los archivos del tipo .3DS (3Dstudio) [14] porque: i) es un formato universal que prácticamente todos las aplicaciones de diseño CAD utilizan; ii) en caso de tener el modelo en un formato diferente, existen en el mercado infinidad de herramientas que hacen la traducción a 3DS; y iii), es fácil traducir el formato 3DS a OpenGL. La elección de OpenGL viene motivada por la potencia y versatilidad de sus instrucciones, que actúan directamente sobre la mayoría de hardware. Esto es muy importante porque necesitamos que, una vez cargado el dibujo, la representación en pantalla sea lo más rápida posible, con el objetivo de que al usuario le parezca casi real el objeto virtual, evitando saltos y teniendo una tasa de imágenes por segundo fluida. El hecho de que las librerías de ARToolkit estén enfocadas al diseño con OpenGL permite una facilidad de uso mayor.

4. Interacción natural con elementos virtuales a través de la mano del usuario

Para poder trabajar con la maqueta virtual, debe proporcionarse al arquitecto cierto grado de

interacción con ésta, aparte del desplazamiento relativo a ella que ya garantiza el ARToolkit. La interfaz natural para esto es, por supuesto, la mano. Si bien aún no se ha extendido, ya existen numerosas aplicaciones que hacen uso de la mano para interactuar con elementos lógicos como, por ejemplo, controles de un sistema operativo [15], videojuegos[16] o control remoto para electrónica de consumo[17]. Las principales ventajas de los interfaces de este tipo son [17]: i) un alto grado de integración; ii) posibilidad de operar desde cierta distancia; iii) un número reducido de piezas mecánicas, que deviene en mejor durabilidad; y iv) un uso más intuitivo. En general, este tipo de interfaces consisten en buscar la mano en la imagen para luego detectar las posiciones relativas de los dedos. La mano se puede buscar directamente en el plano 2D mediante la transformación de Karhunen Loeve [18], pero estos métodos se ven afectados por variaciones de luz, sombras y la tonalidad de la piel, lo que requiere un cierto entrenamiento previo para usuarios distintos. Alternativamente, puede trabajarse en 1D sobre el contorno de la mano en la escena. Para esto dicho contorno debe delimitarse previamente. Una opción es el uso de serpientes (snakes) [19], pero presenta la desventaja de tratarse de un método iterativo y no es obvio controlarlas. Dado que el color de la piel no es excesivamente común en entornos interiores, la opción más rápida es la segmentación por crecimiento (ej. [20]), que básicamente consiste en expandir una región del color deseado hasta que ya no queden pixeles en la imagen en contacto con ella dentro del margen de variación permitido. En particular, si se consultan tablas sobre variación de color de piel, éste oscila en el espacio RGB entre (255 221 204) para el blanco pálido y el (136 85 17) para el negro. Si se aplica un algoritmo de crecimiento a la imagen de la Fig. 6a, quedan las regiones de la Fig. 6b, de donde, descartando las que no están dentro del margen de color deseado, se procesa únicamente la región en negro. Una vez extraído el contorno de la mano, éste se

Fig. 3. Cálculo de las coordenadas de la cámara respecto a la marca

Fig. 4. Ejemplo de funcionamiento con iluminación pobre (luz de

flexo indirecta)

Page 5: Ideación Arquitectónica asistida mediante Realidad …jafruiz/ideacion asistida realidad aumentada.pdf · maqueta conceptual inicial, sino muchas de ellas; tantas como ideas nuevas

(2)

codifica mediante un código de cadena incremental, lo que supone asociar a cada píxel n un vector (∆x(n), ∆y(n)) que corresponde a la diferencia en x e y entre el píxel n y el píxel n+1 del contorno. A continuación, se calcula la función de curvatura de dicho contorno mediante el método propuesto por los autores en [21]: - Para cada píxel n, calcular la máxima longitud de contorno k(n) libre de discontinuidades en torno a n. k(n) se calcula comparando la distancia Euclídea de n a n+k(n) con el número de píxeles de contorno entre ambos puntos (Fig. 5). En concreto, k(n) es el valor mayor que satisface:

[ ] [ ] kmax UiKdiKiid −≥+ )(),(

siendo Uk un valor que permite fijar el nivel de filtrado del algoritmo y que adopta siempre un valor en nuestra aplicación de 0.4. - A continuación, se calcula el código de cadena incremental adaptativo del contorno como:

∑+

−=

∆=)(

)()()(

nkn

nknjk jxn∆x

∑+

−=

∆=)(

)()()(

nkn

nknjk jyn∆y

-A partir del código obtenido se calcula la pendiente de la curva en cada punto n en función del ángulo entre el segmento n-k(n) a n+k(n) y el eje vertical:

))()(()(

k

k

nynxarctgnAng

∆∆

=

-Usando la pendiente, se calcula la curvatura de cada punto n como la variación de pendiente con respecto a n, aproximada por:

)()1()( nAngnAngnCurv −+= Las ventajas de este método de obtención de curvatura, tal como se demuestra en [21], es una gran resistencia frente a ruido, tanto debido a la cuantización como a más que posibles errores de segmentación. Además, y a diferencia de otros métodos de obtención de curvatura, en éste el algoritmo se adapta a la escala natural del contorno, es decir, el factor implícito de filtrado del proceso es variable según la escala a que se presenten los puntos significativos del contorno. Esto significa que todos los puntos de inflexión del contorno aparecen como picos independientemente del ángulo que subtiendan. Así, los dedos aparecerán de forma

natural como picos de la función de curvatura de la mano (Fig. 6.c), pudiendo emplearse tanto como puntero como para reconocimiento de gestos, ya que se conservan las distancias relativas entre picos tanto en puntos de contorno como en el plano de la imagen. En la aplicación actual nos limitamos a usar el dedo como puntero. Una vez se dispone de las coordenadas (x,y) del dedo puntero, identificado como aquel cuya esquina se encuentra más apartada del centroide de la mano (Fig. 6.d), se identifica en la proyección del modelo 3D en el plano de imagen qué elemento virtual se encuentra más cerca de éste. Al no disponer de la coordenada z (profundidad) del dedo, caso de proyectarse varios elementos en la misma coordenada (x,y) del plano de imagen nos quedaríamos con el que menor coordenada z tuviese. Hasta el momento, ya que el dedo únicamente actúa de puntero, la interacción permitida es devolver información sobre el elemento señalado -como posición en el espacio, material, etc- o introducirse en la maqueta, si es que está modelada por dentro (señalando su centro).

5. Resultados Los resultados obtenidos han sido bastantes satisfactorios. Para ello se ha empleado un PC estándar Pentium IV a 2,4 GHz con una tarjeta gráfica de 64Mb. Como cámara se usa un modelo de videoconferencia USB estándar. 5.1. Estudio de tiempos Los tiempos empleados se pueden dividir en dos: i) el tiempo que un modelo tarda en cargarse, es decir, traducirse un archivo 3DS a OpenGL; y ii) es el número de imágenes por segundo que podemos servir al dispositivo de visión. El tiempo de carga es más crítico. En la tabla 1 se presentan los resultados

Fig.6: a) imagen original; b) imagen segmentada y mano detectada; c) función de curvatura de la mano; d) esquinas localizadas y puntero detectado.

(3)

(4)

(5)

Fig.5 Estimación de (i) en un punto significativo

(6)

Page 6: Ideación Arquitectónica asistida mediante Realidad …jafruiz/ideacion asistida realidad aumentada.pdf · maqueta conceptual inicial, sino muchas de ellas; tantas como ideas nuevas

de tiempo en función de la tasa entre número de caras y mallas del modelo (C/M) para algunos ejemplos significativos. Es importante observar que el tiempo no es tan dependiente del tamaño del archivo, como cabría esperar, como de este parámetro. Este tiempo no llega a ser muy negativo para el sistema porque la carga del modelo sólo se realiza una vez. La tasa de generación de imágenes por segundo es bastante satisfactoria. Al utilizar las librerías OpenGL, el tiempo que se dedica a dibujar es muy bajo debido a que estas instrucciones actúan directamente sobre el hardware. Los tiempos que tardan las funciones de ARToolkit también están optimizados. Las tablas 2 y 3 presentan el número medio de imágenes por segundo según los parámetros también expuestos en la tabla 1, para dos resoluciones de imagen distintas. Puede observarse que la resolución de la secuencia sí es un parámetro clave en la velocidad de generación de imágenes aumentadas y crece linealmente con el número de caras. 5.2. Estudio de luz A efectos de garantizar un uso adecuado en ambientes interiores, es necesario probar el sistema bajo distintas condiciones de luz. Estas, principalmente, pueden ser iluminación natural o artificial y, en ambos casos, directa o indirecta. Se ha comprobado que una luz directa puede devenir en una pérdida de la marca debido al fuerte reflejo de ésta sobre el papel blanco. Para evitar este problema, sólo cabe buscar un papel adecuado o limitarse a iluminación indirecta, que, por otro lado, es lo usual. Así, se han llevado a cabo distintas pruebas a distintas horas del día con iluminación natural y artificial, habiéndose comprobado que, salvo en condiciones extremas, el funcionamiento suele ser adecuado incluso en presencia de sombras (Fig. 7).

5.3. Oclusiones Un problema muy importante del sistema propuesto es su comportamiento frente a oclusiones de la marca. En el momento en que no es capaz de capturar la marca completa, se pierde la referencia y no se sabe dónde ubicar los elementos virtuales. Una primera solución probada fue mantener la última posición conocida en ausencia de marcas detectadas, pero se comprobó que iba muy en detrimento de la percepción del usuario sobre el rendimiento del sistema. Así pues, se procedió a trabajar con un número mayor de marcas, de forma que siempre se pueda percibir al menos una, independientemente de la posición de la mano del usuario cuando se opera de modo normal, es decir, descartando situaciones en que, por ejemplo, la mano ocupa la mayor parte del campo visual. En la Fig. 8 vemos un ejemplo de cómo la sombra produce un cambio de luminosidad en la imagen y la marca ya no es detectada. En la Fig. 9 se utilizan seis marcas. La que está arriba a la izquierda no se detecta porque la tapa el dedo. La que está justo debajo de la anterior no es detectada porque se sale de la imagen. Las dos marcas centrales están dobladas por lo que los bordes ya no son líneas rectas y no se detectan. Las dos de la izquierda son las utilizadas para hallar las coordenadas y dibujar el objeto virtual. En resumen,

Tabla 1: Tiempos de carga en función del número de mallas y del tamaño del archivo. Tamaño(KB)

Caras Mallas Tasa C/M

Tiempo carga

144 5706 7 815.14 0.3 sg 259 7985 33 241.96 1.0 sg

1971 81690 83 984.21 8.2 sg 881 41256 12 3438 17 sg 570 16660 3 5553.3 55 sg

Tabla 2. Número medio de imágenes por segundo en función del tamaño del archivo, numero de mallas y caras. Resolución 640x480 Tamaño(KB)

Caras Mallas Tasa C/M

Imgs/seg

144 5706 7 815.142 15 259 7985 33 241.969 15 570 16660 3 5553.333 15 881 41256 12 3438 9

1971 81690 83 984.216 5

Tabla 3. . Número medio de imágenes por segundo en función del tamaño del archivo, numero de mallas y caras. Resolución 320x240

Tamaño(KB)

Caras Mallas Tasa C/M

Imgs/seg

144 5706 7 815.142 30 259 7985 33 241.969 30 570 16660 3 5553.333 30 881 41256 12 3438 14

1971 81690 83 984.216 11

Page 7: Ideación Arquitectónica asistida mediante Realidad …jafruiz/ideacion asistida realidad aumentada.pdf · maqueta conceptual inicial, sino muchas de ellas; tantas como ideas nuevas

trabajamos con un patrón con seis marcas, cuyas posiciones relativas conocemos y así podemos situar el objeto virtual centrado. Mientras detectemos cualquiera de las seis marcas podremos seguir generando la maqueta virtual. El problema principal de esta solución estriba en que la carga computacional se eleva y el número de imágenes por segundo baja apreciablemente, lo que sugiere trabajar con resoluciones no excesivamente elevadas para mantener una tasa adecuada. 5.4. Interacción Tal como se ha comentado previamente, en el sistema presentado se ha limitado la interacción al uso del dedo como puntero, a efectos de ofrecer información adicional sobre el elemento de la maqueta virtual que se encuentre más cerca de éste. El principal problema a este respecto lo supone usualmente la detección de la mano y del dedo puntero, pero la función de curvatura adaptativa propuesta suele ofrecer buenos resultados a este respecto (Fig. 10). En general, se ha detectado que el proceso falla en ocasiones en que el contraste es muy elevado como, por ejemplo, cuando se interpone la mano frente a una luz directa. En cuanto a la detección del punto más cercano del elemento virtual con respecto al dedo, resulta una operación muy sencilla, ya que, como se ha comentado, por el momento se prescinde de la profundidad. A este respecto cabe señalar que dicha limitación no supone un problema en el sistema, ya que, en general, en caso de duda al señalar un punto, al ser el proceso realimentado, el usuario tiende a cambiar su posición relativa a la marca. La Fig. 10 muestra como se corresponde el punto detectado

como dedo con áreas del objeto virtual (en este caso, hemisferios norte y sur de la tierra). En la Fig. 11 se muestra la interacción del dedo en el sistema completo, esta vez incluyendo el posicionamiento del elemento virtual respecto a la marca. Como puede observarse, la posición (x,y) del dedo se detecta correctamente y se asocia al vértice izquierdo superior del cubo más cercano.

6. Conclusiones y trabajo futuro En este artículo se ha presentado un sistema completo para presentación de maquetas arquitectónicas mediante técnicas de Realidad Aumentada. El sistema presenta dos partes claramente diferenciadas. La primera se enfrenta al problema de la inserción de la maqueta virtual en el mundo real, lo que supone alinear los ejes de coordenadas de ambos. Para ello se localiza una marca artificial en el entorno mediante procesado de imagen y se calcula la posición relativa de la cámara frente a ella. Los problemas más importantes a este nivel han sido conseguir resistencia contra cambios de iluminación y oclusiones, lo que se ha solventado usando varias marcas. La segunda soporta cierta interactividad con la maqueta virtual, más allá de desplazamientos relativos con respecto a la cámara, y se ha solventado mediante el uso del dedo índice como puntero. Para ello ha sido necesaria la segmentación de la mano del usuario y el posterior cálculo de su curvatura, usando una técnica adaptativa muy resistente al ruido propuesta por los autores. Por umbralización se detectan los puntos de máxima curvatura de la mano y se toma como índice

Fig. 8 Problema de tener una sola marca: ocultación por sombras al efectuar movimientos con la mano.

Fig. 9. Solución al problema de ocultar la marca. Sistema multimarca

Fig. 10. a-c) Detección de las coordenadas del dedo contra fondos no homogéneos y cálculo del punto más aproximado en un objeto virtual

Page 8: Ideación Arquitectónica asistida mediante Realidad …jafruiz/ideacion asistida realidad aumentada.pdf · maqueta conceptual inicial, sino muchas de ellas; tantas como ideas nuevas

aquel cuya distancia al centroide de ésta sea mayor. A partir de sus coordenadas, se identifica en el plano de imagen el punto relevante del modelo virtual más cercano y bien se ofrece información espacial sobre él, bien se permite al usuario introducirse en la maqueta. Para facilitar el uso de este sistema, se ha desarrollado sobre OpenGL y es compatible con todos los modelos 3DS. Como líneas futuras, se está trabajando en mejorar la interactividad del sistema para permitir que el arquitecto pueda modificarla con las manos. Para ello se está trabajando en calcular la posición de la mano en el sistema de coordenadas del mundo virtual haciendo uso de nuevo de las marcas. Además, se están estudiando nuevos gestos para permitir actuar sobre el modelo, por ejemplo, desplazando sus aristas o vértices. Agradecimientos Este trabajo ha sido parcialmente financiado por el Ministerio de Ciencia y Tecnología (MCYT) y fondos FEDER proyecto TIC2001-1758. Referencias [1] R. Azuma, Y. Baillot, R. Behringer, S. Feiner, S. Julier y B. MacIntyre, “Recent Advances in Augmented Reality”, IEEE Computer Graphics and Applications, 21(6), 2001, pp. 34-47. [2] A. Webster, S. Feiner, B. MacIntyre, W. Massie y T. Krueger, “Augmented Reality in Architectural Construction, Inspection, and Renovation”, Actas ASCE Third Congress on Computing in Civil Engineering, Anaheim, CA, 1996, pp. 913-919. [3] D. Koller, G. Klinker, E. Rose, D. Breen, R. Whitaker and M. Tuceryan, “Virtual Reality Software and Technology”, Actas de ACM symposium on Virtual reality software and technology, Lausanne, 1997, pp. 87-94. [4] R. Azuma y G. Bishop, “A Frequency-Domain Analysis of Head-Motion Prediction”, Actas de SIGGRAPH '95, Los Angeles, Computer Graphics, Annual Conference Series, 1995, pp. 401-408. [5] "The Digital Divide:a socio-economic approach", Innovative Actions Network for the Information Society (IANIS) Newsletter 17, 2004, pp. 20.

[6] M.S. Sanders and E.J McCormick, Human factors in engineering and design, McGraw-Hill, New York, 1983. [7] J. A. Fernández Ruiz, “Ideación Asistida por Ordenador”, Dibujar lo que no vemos: X Congreso de Expresión Gráfica Arquitectónic, Ed. Universidad de Granada, Granada. 6, 7 y 8 de Mayo de 2004.. pp. 413-422. [8] J. Bermúdez, K. Kevin, “Media Interaction and Design Process: Establishing a Knowledge Base”, Digital design Studios, do computers make a difference?, Seebohm & Van Wyk., Quebec city, 1998, pp 625 [9] P. Wellner, W. Mackay y R. Gold, ”Computer augmented environments: Back to the real world”, Comm. of the ACM, 1993, 37(7), pp. 24-26. [10] R. L. Holloway, “Registration Error Analysis for Augmented Reality”, Presence: Teleoperators and Virtual Environments, 6(4) , 1997, pp. 413–432. [11] H. Kato, M. Billinghurst, I. Poupyrev, ARToolKit, version 2.33, 2000 [12] J. Abdullah y K. Martinez, “Camera self-calibration for the ARToolkit” Actas IEEE Int. Augmented Reality Toolkit Workshop, Darmstadt Germany. [13] H. Kato y M. Billinghurst, “Marker Tracking and HMD Calibration for a Video-based Augmented Reality Conferencing System”, Actas Int. Workshop on Augmented Reality, S. Francisco, 1999, pp 85-94. [14] M. van Velsen y R. Fercoq,” 3DStudio File Format (.3ds) Autodesk Ltd. Document Revision 0.93”, Based on documentation by Jim Pitts, 1997 [15] R. Kjeldsen y J. Kender, “Visual Hand Recognition for Window System Control”, Actas Int. Conf. on Automatic Face and Gesture Recognition, 1995 pp. 184-188. [16] J. Segen, y S. Kumar, "GestureVR: Vision-Based 3D Hand Interface for Spatial Interaction", Actas ACM Multimedia 98, 1998. [17] Hardenberg, C. y Bérard, F. “Bare-Hand Human-Computer Interaction” Actas ACM Workshop on Perceptive User Interfaces, Orlando, Florida, 2001, USA. [18] Y. Cui y J. J. Weng, “Hand segmentation using learning based prediction and verification for hand sign recognition”, Actas Int. Conf. on Automatic Face and Gesture Recognition, 1996, pp. 88-93. [19] A. J. Heap and F. Samaria, “Real-Time Hand Tracking and Gesture Recognition using Smart Snakes”, Technical Report 95.1, Olivetti Research Limited, 1995. [20] O. Monga, “An Optimal Region Growing Algorithm for Image Segmentation", PRAI, 1(4) , 1987, pp. 351-375. [21] C. Urdiales, C. Trazegnies, A. Bandera and F. Sandoval, "Corner detection based on an adaptively filtered curvature function", Electronic Letters, 39(5), 2003, pp. 426-428.

Fig. 11. Posición del dedo y del vértice más cercano al dedo