Sistema de generación de paisajes de laberintos con realismo visual mejorado [traducción del artículo de Jinmo Kim]

Hola Habr!


En esta publicación, hablaré sobre un artículo de Jinmo Kim: "Sistema de creación de terrenos de laberinto en realidad virtual inmersiva para un nuevo realismo visual". Fue publicado el 04/04/2019. El texto completo del artículo se puede encontrar aquí .


Breve descripción del sistema.


El artículo propone el sistema del autor para crear paisajes de laberintos, con el cual el usuario puede generar automáticamente varios patrones complejos en un sistema simple e intuitivo. Usando la información del laberinto calculada en el programa, se genera un paisaje de laberinto tridimensional de manera rápida y eficiente.


El sistema de generación de paisajes de laberinto propuesto consta de tres funciones principales:


  • la función de generación automática de una cuadrícula de laberinto de varios tamaños y patrones, implementada usando el algoritmo clásico de generación de laberinto;
  • función de generación de laberinto circular;
  • La función de convertir un laberinto de un boceto manual en un objeto 3D utilizando un algoritmo de procesamiento de imágenes.

Utilizando el sistema propuesto, que consta de estas tres funciones, es posible crear efectivamente varios laberintos, desde homogéneos a irregulares. Este desarrollo le permitirá generar paisajes laberínticos de varios conceptos directamente a partir de los cálculos realizados a través del mismo sistema. Además, este trabajo analiza la mejora en el efecto de la presencia y la inmersión en la realidad virtual, es decir. Realismo visual. Además, en este trabajo, se realizó un análisis de la idoneidad del sistema de autoría propuesto mediante una encuesta.


¿Por qué realidad virtual?


Para obtener algún tipo de experiencia realista, debe interactuar con los sentidos humanos. La realidad virtual le permite a una persona obtener tal experiencia a través de la interacción con sentimientos visuales, auditivos y táctiles. En la realidad virtual, el efecto de presencia es importante, debido a que el usuario puede obtener una experiencia realista basada en los sentimientos sobre dónde está, con quién y qué acciones realiza.


Para aumentar el efecto de la presencia en la realidad virtual, es importante cómo interactúa el usuario con el entorno virtual, pero no menos importante es la variedad de escenas virtuales que se proporcionan para satisfacer visualmente al usuario.


En estudios de sistemas de realidad virtual orientados al hardware (sistemas táctiles, plataformas de movimiento, etc.), para una visualización realista de las acciones y movimientos del usuario en la realidad virtual, solo se usaron escenas experimentales, donde el espacio en ellas era limitado, y la estructura de las escenas era simple. La mayoría de los casos. Dado que la tecnología de realidad virtual se utiliza en varios campos, como las artes visuales y el diseño arquitectónico, así como en los juegos, se necesitan estudios especiales para crear un espacio virtual complejo de acuerdo con la realidad virtual. Con este fin, en este trabajo, se realizaron estudios de métodos para crear automáticamente escenas virtuales, como espacios urbanos y paisajes virtuales, que tienen estructuras complejas y diversas características.


Inmersión en realidad virtual


La realidad virtual inmersiva (o realidad virtual inmersiva) es una realidad que nace en la mente humana en el proceso de su interacción con sistemas técnicos complejos, como los sistemas de realidad virtual. Tiene su propio cronotopo único, la lógica, existe solo relevante, mientras que el usuario está "presente" en esta realidad, tiene interactividad, como la capacidad de responder a las acciones del usuario.


Los estudios de inmersiones en realidad virtual se llevaron a cabo utilizando varios enfoques:


  • Una pantalla que transmite información visual tridimensional para proporcionar una experiencia realista al usuario en un entorno virtual basado en cinco sentidos.
  • Procesamiento de sonido para una mejor percepción espacial con sonido envolvente.
  • un método de interacción con un entorno virtual, así como un sistema táctil y una plataforma de movimiento que dirige las respuestas físicas de regreso al cuerpo humano (brazos, piernas, etc.).

Para lograr el efecto de presencia en la realidad virtual, debe haber una satisfacción visual del usuario. Por esta razón, existe un creciente interés en la investigación multimodal, que examina las sensaciones visuales y auditivas o las sensaciones visuales y táctiles, así como los estudios de sistemas pseudo-táctiles que combinan la experiencia visual y los sistemas táctiles.


Mejorando el realismo visual


Es necesario un método para generar una escena virtual, que puede proporcionar un efecto de presencia mejorado, junto con nuevas experiencias visuales para el usuario en un entorno virtual, para una variedad de aplicaciones de realidad virtual. En el futuro, las escenas de realidad virtual se liberarán de espacios pequeños y limitados como los espacios interiores y crearán vastos paisajes abiertos como ciudades y mundos virtuales para brindar a los usuarios más opciones.


Para crear escenas de laberintos virtuales que puedan proporcionar nuevas experiencias y mejorar el efecto de la presencia del usuario en la realidad virtual, en este trabajo se propone un sistema de autoría optimizado. Se basa en la investigación tradicional y puede generar escenas de laberintos virtuales más diversas en una estructura simple, intuitiva y fácil de usar.


Sistema de paisaje laberinto


El sistema propuesto crea un paisaje virtual del laberinto, con el efecto de mejorar el realismo visual para los usuarios en realidad virtual, utilizando diversos efectos visuales. Incluye tres funciones básicas que generan automáticamente varios patrones de laberinto y los convierten en la información necesaria para crear una superficie tridimensional del laberinto.


Generar un patrón de laberinto rectilíneo


La primera función del sistema de creación de paisajes de laberintos es generar automáticamente patrones de laberintos utilizando el clásico algoritmo de generación de laberintos. Un factor importante es la necesidad de crear el laberinto final. Debe haber diferentes rutas o una ruta absoluta para que el usuario no quede atrapado dentro del laberinto. Esto ayuda a evitar que los usuarios experimenten la enfermedad de realidad virtual, que es un grave problema de realidad virtual. Esta función se basa en el algoritmo de Lee et al., Que crea un patrón de laberinto utilizando el algoritmo Prim.


El algoritmo para la generación final del laberinto de Lee, etc., es un método que comienza con los procesos: (1) establecer la posición inicial y (2) establecer aleatoriamente la celda de la carretera desde las celdas circundantes. Luego (3) el algoritmo examina cuatro celdas alrededor de la dirección (determinando la estructura de las capas de celdas después de agregar estas cuatro celdas circundantes a la colección como celdas de pared). Luego, el algoritmo repite los procesos (4, 5) para encontrar una de las celdas registradas del muro y luego crea un camino.


Las siguientes figuras muestran el proceso de construcción de una plantilla de laberinto rectilíneo. El usuario establece el tamaño de la plantilla de laberinto, y cuando hace clic en el botón "Laberinto", la plantilla de laberinto se calcula y genera automáticamente.


imagen

Si el usuario desea editar la plantilla del laberinto creado automáticamente, se selecciona el modo "Editar". El usuario edita con el mouse en el campo de presentación de la plantilla del laberinto haciendo clic en la celda, después de lo cual se convierte automáticamente de pared a carretera o de carretera a pared. Después de que se genera la plantilla de laberinto, el usuario tiene la oportunidad de ver el laberinto resultante en formato 3D.


Ver el laberinto en 3D
imagen

El método de crear un laberinto circular.


La segunda función del sistema del autor propuesto para crear un paisaje de laberinto es el método de generar un laberinto circular. Este método crea automáticamente laberintos circulares de varios tamaños y patrones y es una buena adición a la función de generar patrones de laberinto en forma de una cuadrícula rectangular. Por lo tanto, este método extiende la experiencia visual de los usuarios en la realidad virtual. El proceso de creación e instalación de muros y celdas de carreteras es básicamente idéntico. Pero para un laberinto circular, las características de entrada son el radio del laberinto y el número de entradas en el laberinto.


En primer lugar, cuando el usuario ingresa el radio deseado del laberinto, el algoritmo calcula automáticamente las paredes de las paredes del laberinto circular para dibujar un círculo desde un punto central. Luego, la pared del laberinto circular se duplica muchas veces con un cierto intervalo (ns) desde el círculo exterior. Según el número de entradas ingresadas por el usuario, los pasajes se crean girando las celdas de la pared tantas veces como las entradas provengan del círculo más externo.


Las celdas que se convertirán en el punto de partida para ingresar al círculo exterior se seleccionan aleatoriamente tantas veces como debería ser el número de entradas al laberinto. Luego, en la celda seleccionada, se selecciona una celda de pared para la cual la longitud coincide con el intervalo (ns) entre las paredes circulares, y gira lo suficiente como para tocar la pared circular interna.
Finalmente, cuando una celda de pared se produce en la posición en la que se gira y toca la pared circular interna, se repite el algoritmo anterior.


1: nr ←   . 2: ne ←    . 3: procedure     (nr, ne) 4: ns ←       . 5: while nr > ns do 6:         . 7: nr = nr - ns. 8: end while 9: nc ←    . 10: Arre[ne] ←  ,  ne      . 11: for i = nc, 0 do:     . 12: for j = 0, ne do 13:     ns    (Arre[j]). 14:   . 15:  Arre[j],  ,      . 16: end for 17: end for 18: end procedure 

El texto original del algoritmo.
 nr ← radius of the circular maze. ne ← number of maze entrances. procedure CIRCULAR MAZE GENERATION PROCESS(nr, ne) ns ← interval between maze for user road. while nr > ns do define wall cell by using Bresenham's circle drawing algorithm. nr = nr - ns. end while nc ← number of drawing circles. Arre[ne] ← as many entrance cells as ne are selected from wall cell of the outermost circle. for i = nc, 0 do: generate passages in every circle. for j = 0, ne do select cells with length of ns in entrance cell (Arre[j]). rotate selected cells. renew Arre[j] by finding a cell that meets the inner circle after rotation. end for end for end procedure 

El algoritmo anterior de este proceso se basa en los parámetros de entrada del radio del laberinto circular y el número de entradas ingresadas por el usuario. Además, la siguiente figura muestra el proceso de creación de un laberinto circular.


El proceso de crear un laberinto circular.

imagen


Laberinto basado en croquis


La última función del sistema de creación de laberintos en este trabajo es la generación del laberinto basado en el boceto. Los patrones de laberintos rectilíneos y circulares son laberintos homogéneos. Sin embargo, en la mayoría de los casos, el parque de laberintos que podemos encontrar en la vida cotidiana tiene una forma irregular. Por lo tanto, en este trabajo, se propone una función que puede crear fácilmente una superficie natural de un laberinto, así como una plantilla de laberinto en forma electrónica, a partir de una imagen de boceto dibujada a mano de un usuario. Esta característica le permite utilizar las secciones de laberinto en diversas aplicaciones, como sistemas de búsqueda de rutas o parques virtuales.


La función de generación de laberinto propuesta permite al usuario utilizar un patrón de laberinto dibujado con un software de gráficos como Photoshop, o un boceto escaneado dibujado a mano en un trozo de papel. La imagen se carga en un sistema en el que se aplica el algoritmo de procesamiento de imágenes, por lo que la imagen se convierte en un mapa de textura de laberinto. Este proceso se lleva a cabo en tres etapas.


  • El primer paso es el proceso de obtener una imagen de croquis en el sistema. Para realizar cálculos de procesos posteriores, una imagen en miniatura se convierte en una imagen de un solo canal en escala de grises.
  • El segundo paso es el proceso de romper muros y carreteras mediante binarización. Aquí, el valor umbral es un elemento importante para determinar muros y carreteras. El sistema tiene la capacidad de editar el valor del umbral de entrada a través de la interfaz.
  • La tercera etapa es el proceso de llenar los agujeros que surgen durante el proceso de binarización.

A través de estos pasos, se crea un laberinto natural. El sistema también proporciona un elemento de menú que permite al usuario controlar el número de iteraciones de la operación de llenado.
La siguiente figura muestra el proceso de generar un mapa de textura de laberinto en un modo paso a paso a partir de un boceto del laberinto dibujado por el usuario.


Generación de laberintos a partir del boceto del usuario
imagen

Resultados experimentales y análisis


El sistema propuesto para crear un paisaje de laberinto se implementó utilizando Microsoft Visual Studio 2013, OpenCV 2.4.11 y DirectX SDK 9.0c. Además, se utilizó el motor Unity 2017.3.1f1 (64 bits) para crear un paisaje de laberinto, finalizado mediante trabajo gráfico, basado en un mapa de textura de laberinto generado automáticamente utilizando el sistema de creación de laberintos del autor. Para probar este panorama y ver el resultado en realidad virtual, el sistema se integró utilizando el dispositivo Oculus Rift CV1 HMD y el Oculus SDK (ovr_unity_utilities 1.22.0) con el motor Unity3D. Finalmente, la PC utilizada para el experimento y la implementación tenía especificaciones Intel Core i7-6700, 16 GB de RAM (memoria de acceso aleatorio) y un procesador de gráficos Geforce 1080.


La siguiente figura muestra tres paisajes de laberintos virtuales. Estos son los resultados de la generación de alivio a partir de los patrones de laberinto calculados utilizando las funciones consideradas de este sistema de desarrollo. Además, puede ver que se crean varios entornos de laberinto virtual al agregar factores gráficos de acuerdo con el concepto.


imagen

Además, se realizó una encuesta piloto centrada en participantes comunes. En primer lugar, con respecto al rendimiento del sistema, utilizando pruebas comparativas con la función de crear paisajes de motores de juegos comerciales, se confirmó que el sistema propuesto permite a los usuarios (desarrolladores) editar fácil e intuitivamente las secciones deseadas del laberinto. Esto redujo el tiempo requerido y condujo a un alto grado de satisfacción del usuario con el sistema.


A través de una encuesta sobre la sensación de presencia, se confirmó que los paisajes de laberintos en realidad virtual pueden ofrecer a los usuarios una nueva experiencia visual. Mediante el análisis estadístico, también se confirmó que todas las parcelas obtenidas con las tres funciones propuestas eran satisfactorias sin diferencias significativas entre ellas. En el futuro, el sistema se perfeccionará para proporcionar un entorno de laberinto virtual a gran escala, como un parque de laberintos o un parque temático, donde varios usuarios pueden experimentar el espacio del laberinto juntos en la realidad virtual.

Source: https://habr.com/ru/post/455744/


All Articles