¿Recuerdas las increíbles escenas 3D de las películas de ciencia ficción? ¡Universos inmensos, castillos fantásticos, ciudades futuristas... Ahora tú también puedes crear escenas así con facilidad! El equipo de Jiajun Wu de la Universidad de Stanford ha presentado recientemente la tecnología de "lenguaje de escenas", que te permite generar modelos 3D realistas con solo describir la escena con una frase. ¡Una verdadera bendición para diseñadores y desarrolladores de juegos!
¿Qué es exactamente el lenguaje de escenas?
Imagina que quieres describir las misteriosas estatuas Moái de Ahu Akivi en la Isla de Pascua. Dirías: "Hay una fila de siete estatuas Moái mirando en la misma dirección". Pero si la otra persona no sabe qué son las estatuas Moái, tendrías que explicar: "Las estatuas Moái son figuras de piedra sin piernas, pero cada una tiene un aspecto ligeramente diferente".
Este ejemplo nos muestra que para describir una escena completa, se necesitan al menos tres tipos de información:
Información estructural: por ejemplo, "una fila de siete estatuas", que se puede describir con un programa similar a un lenguaje de programación;
Semántica categórica: por ejemplo, "estatua Moái", que se puede resumir con palabras;
Detalles de instancia: por ejemplo, la forma, el color y la textura específicos de cada estatua, difíciles de describir con palabras, pero que se pueden capturar mediante el reconocimiento de imágenes.
¡El lenguaje de escenas fusiona perfectamente estos tres tipos de información! Contiene tres elementos clave:
Programa: utiliza una sintaxis similar a la de un lenguaje de programación para definir la jerarquía y la disposición espacial de los objetos en la escena, como la disposición de las estatuas Moái;
Texto: utiliza lenguaje natural para describir la semántica categórica de cada objeto, como "estatua Moái";
Vectores incrustados: utiliza vectores generados por redes neuronales para capturar las características visuales de cada objeto, como el aspecto único de cada estatua Moái.
Lo más sorprendente es que el lenguaje de escenas se puede generar automáticamente mediante modelos de lenguaje preentrenados. Solo necesitas introducir una descripción textual o una imagen, y el modelo deducirá automáticamente el programa, el texto y los vectores incrustados, para luego generar escenas 3D de alta calidad con diferentes renderizadores.
¿Cuáles son las ventajas del lenguaje de escenas?
En comparación con las representaciones tradicionales de gráficos de escenas, el lenguaje de escenas puede generar escenas más complejas y realistas, y permite un control y una edición precisos de la estructura de la escena. Por ejemplo, puedes modificar las propiedades de un objeto en la escena con una sola instrucción, agregar nuevos objetos o incluso cambiar el estilo de toda la escena.
¿Qué aplicaciones tiene el lenguaje de escenas?
El lenguaje de escenas tiene un amplio potencial de aplicación en el campo de la generación y edición de escenas 3D, como por ejemplo:
Generación de escenas 3D a partir de texto: introducir una descripción textual para generar automáticamente la escena 3D correspondiente, como "un castillo en la cima de una montaña rodeado de un bosque denso";
Generación de escenas 3D a partir de imágenes: introducir una fotografía para reconstruir la escena 3D de la fotografía, como generar un modelo 3D de una sala de estar a partir de una foto de una sala de estar;
Generación de escenas 4D: permite generar escenas 4D que incluyen información temporal, como simular la rotación de un aerogenerador;
Edición de escenas: modificando el programa, el texto o los vectores incrustados del lenguaje de escenas, se puede editar la escena con precisión, como cambiar el color, la posición o el tamaño de un objeto.
¿Cuál es el futuro del lenguaje de escenas?
El lenguaje de escenas se encuentra todavía en una fase de desarrollo temprana, y tiene mucho margen de mejora en el futuro, como por ejemplo:
Capacidad de generación más potente: capaz de generar escenas más complejas y realistas, incluyendo más detalles y elementos interactivos más ricos;
Métodos de edición más convenientes: utilizar un lenguaje más natural e intuitivo para editar escenas, como control por voz o gestos;
Campos de aplicación más amplios: aplicable a la realidad virtual, la realidad aumentada, el desarrollo de juegos, la producción cinematográfica y muchos otros campos.
Página del proyecto: https://ai.stanford.edu/~yzzhang/projects/scene-language/
Dirección del artículo: https://arxiv.org/abs/2410.16770