logo

Dot CSV

Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀 Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀

Transcribed podcasts: 213
Time transcribed: 5d 22h 50m 3s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

Es en época de vacaciones cuando a muchos no gusta viajar y explorar los diferentes
rincones del planeta conociendo los distintos monumentos turísticos que hay alrededor del
globo.
Hay quienes prefieren conocer su historia o descubrir sus secretos, y bueno, hay quien
también prefiere pues sacarse miles y miles de fotos.
Algo que por lo que sea este año está siendo un poquito más complicado, pero que no ocunda
el pánico, porque donde tú ves un problema, el Machine Learning ve una nueva oportunidad
para brillar.
Y es que hoy vamos a comentar un paper que ya adelanto es muy interesante, un proyecto
que toma imágenes de turistas como tú o como yo para analizarlas y a partir de ellas
reconstruir toda la escena tridimensionalmente con todo lujo de detalles.
Suena interesante, me alegro, porque comienza el viaje.
Si eres seguidor habitual del canal, cosa que te recomiendo si te gusta estar informado
de las últimas noticias de la Inteligencia Artificial, pues esta noticia debería sonarte
de algo.
Y es que fue hace un par de meses cuando hablamos por primera vez de Nerf, un interesantísimo
paper que lo que planteaba era una novedosa técnica para poder generar reconstrucciones
tridimensionales fotorrealistas usando solo como input un conjunto de imágenes de la
escena que queríamos representar.
Sí, lo que está viendo aquí es una escena renderizada tridimensionalmente donde te puedes
mover libremente con la cámara para observarla desde diferentes perspectivas, toda ella aprendida
y almacenada dentro de una red neuronal.
A grandes racos lo que aquel paper planteaba era utilizar una conocida técnica de renderización
llamada renderizado volumétrico, dejando en este caso que sea una red neuronal la que
aprenda a saber cómo colorear cada pixel tridimensional, teniendo que decidir en cada caso cuál sería
su densidad, algo así como su transparencia y su color.
El trabajo de la red neuronal sería el de aprender a generar imágenes correctas para
las diferentes perspectivas de nuestro set de entrenamiento y de funcionar bien pues
ya nada nos impediría posteriormente el poder generar incluso perspectivas nuevas.
Implícitamente lo que ha pasado es que la red neuronal ha aprendido la representación
de nuestra escena, incluyendo iluminación, brillos y reflejos.
¿Se podría decir que la escena ha sido Nerfeada?
En cualquier caso, si quieres saber más detalles de cómo funciona Nerfe, te invito a ver el
video original, este de aquí, pero hoy no me quiero centrar tanto en las bondades de
este sistema, sino más bien en cuáles son sus limitaciones.
Y es que sí, Nerfe es una técnica muy muy potente, pero hay limitaciones que debemos
superar.
Cuando en aquel video planteé que Nerfe podría ser una técnica interesante en el futuro
de los gráficos por ordenador en tiempo real, algunos de ustedes apuntasteis con bastante
cierto que una de las limitaciones que veíais era la falta de control en las condiciones
de luz.
Es decir, si la escena capturada es la de un coche aparcado en un día soleado a las
2 y 23 de la tarde, tu escena Nerfeada capturará todas las sombras, iluminaciones, brillos,
destellos, pero claro, de dichas condiciones de luz, un día soleado a las 2 y 23 de la
tarde.
Bueno, y claro, si estamos capturando un objeto pequeño en un entorno de iluminación controlado,
pues no nos tenemos que preocupar de que se produzca algún cambio de luz, pero ¿y si
es una escena bastante grande en el exterior?
A lo mejor, desde el momento en el que tomas la foto número 1 y luego la foto número
2, una nube se pone delante del sol y te cambia la iluminación por completo.
O bueno, el viento a lo mejor te mueve algún elemento de tu escena, o directamente la gente
que hace un minuto estaba en la foto, pues ahora ya no está.
La pregunta es, ¿podrá Nerfe reconstruir bien una escena donde los elementos entre
imagen e imagen son tan cambiantes?
La respuesta es que sí, pero no tan bien.
Y es que Nerfe, tal cual lo conocimos en el paper original, funciona decentemente, pero
claro, en condiciones donde la escena se presenta principalmente estática, es decir, donde
en las diferentes imágenes de entrenamiento la escena permanece prácticamente inmutable,
una suposición bastante errónea de lo que realmente es nuestro mundo.
Porque el mundo es caótico, es dinámico, es salvaje.
Y salvaje también es la palabra que acompaña el título del paper del que estamos hablando
hoy.
Nerf en lo salvaje, o en inglés, Nerf in the wild.
Un paper que lo que busca es mejorar lo que hacía Nerf en dos aspectos muy importantes.
La primera serían las variaciones fotométricas, lo que ya veníamos comentando.
Un conjunto de imágenes tomadas en el mismo sitio mostrando la misma perspectiva de una
escena puede presentar apariencias muy diferentes ante cambios en las condiciones atmosféricas,
de iluminación, visibilidad, y bueno, no solo eso, también para unas mismas condiciones
de iluminación, el simple hecho de tener a usuarios con diferentes tipos de cámaras,
con tiempo de exposición distintos, configuraciones de balance de blancos, sensores, filtros,
ya es otro condicionante para que los resultados varíen notablemente.
Y esto es un problema.
Pero no es el único.
El segundo problema con el que nos enfrentamos son los objetos transitorios.
Y es que incluso si consigues imitar de manera consistente la apariencia de todas las imágenes
capturadas, lo más probable es que donde ayer había un coche aparcado hoy ya no lo
esté, o ese andamio que habían montado hace un mes hoy lo hayan retirado, o directamente
esa escena que visualizabas tú como la toma perfecta ahora diez segundos más tarde se
haya llenado de japoneses que no se van a retirar hasta que les recoja el minibús.
El mundo es caótico.
Nerfing the Wild se presenta como una solución a estos dos problemas, una evolución que
es potentísima porque de repente ya si queremos capturar una escena, no tenemos que estar
preocupándonos nosotros de tener que sacar todas las imágenes, sino que directamente
podríamos acudir a una fuente como sería internet y recopilar imágenes que hayan tomado
diferentes usuarios en distintos días y con diferentes tipos de cámaras y utilizar
este sistema pues para poder analizarlas, siendo el único requisito pues que sea algún
tipo de escenario donde la gente haya tomado muchas imágenes en diferentes perspectivas
de la misma cosa.
Se te ocurre algo como esto?
Efectivamente aquí donde entran los monumentos turísticos.
Y es que si, esta necesidad desmedida de cada turista que acuda a un monumento, de querer
capturar lo que ya otras miles de personas han capturado previamente, pues mira, al final
tiene un valor.
Con estas imágenes Nerfing the Wild podrá entrenarse para reconstruir tridimensionalmente
y con todo lujo de detalles, monumentos tan conocidos como la fontana de Trevi en Roma,
la puerta de Brandenburgo en Berlín o el Sococó en París.
La pregunta ahora es, ¿cómo demonios lo hace?
Pues si recuerdas, en el caso original de Nerf lo que encontrábamos era una simple
red neuronal multicapa, que para las coordenadas de un voxel, X, Y, Z y un vector de orientación
era capaz de ir prediciendo el color y la densidad de cada punto en el volumen tridimensional.
Algo así como dejar que la red neuronal aprendiera a hacer pixel art pero en este caso en tres
dimensiones y con cubos que pueden ser transparentes.
La idea es que cuando todos estos cubos se agregan en cada una de las perspectivas con
las que lo estamos entrenando, pues las imágenes generadas se tienen que parecer a nuestras
imágenes de entrenamiento.
En aquel video di una versión simplificada del funcionamiento del sistema, pero ahora
os puedo contar que nuestra red neuronal en realidad se descompone de dos fases.
En una primera fase es solo la información de las coordenadas de posición las que son
utilizadas para predecir la densidad del voxel, su transparencia.
Y luego, sobre la estructura resultante, es en una segunda fase donde usando esta información
combinada con la orientación desde la que observamos la escena, con la que podemos predecir
el color de cada voxel.
Con esta lógica, ahora el sistema evoluciona de la siguiente manera.
Si ahora cada imagen de entrenamiento puede mostrar elementos que son transitorios y que
por tanto van a ser únicos para dicha imagen, Nerfing the Wild lo que hará será dividir
esta fase de aquí en dos partes, dejando que sea este módulo el encargado de aprender
a modelar las zonas estáticas, es decir, las que realmente nos interesan, los monumentos,
y este otro módulo de aquí, las partes transitorias.
Ahora fíjate, los píxeles de una región de la imagen donde hayan muchos elementos
transitorios, por ejemplo el pavimento donde camina la gente, será una zona con alta variabilidad.
Es decir, esos píxeles cambiarán bastante de color en las diferentes imágenes con las
que contamos, habrá mucha varianza y esto también se entiende como mucha incertidumbre.
Y es por eso que en este trabajo también se intenta modelar esta incertidumbre para
identificar dichas regiones de elementos transitorios, ¿para qué?
Pues para poder decirle a la red que a la hora de evaluar qué también lo ha hecho,
no tengan cuenta si se ha equivocado en la generación de estas regiones de aquí, ya
que se tratan de elementos transitorios, ¿lo ves?
Es a través de la incertidumbre con lo que conseguimos que la red se centre en aquellos
elementos estáticos.
Para codificar toda esta información, en este punto se suministra como input un vector
de embeddings que será el que aprenda a codificar la información transitoria de cada imagen.
Y algo similar se hace para resolver también la diferencia de iluminación y estilo.
En este caso cada imagen del dataset de entrenamiento también tendrá asociado un vector de embeddings
que codificará su apariencia.
Y con esto Nerf in the Wild será entrenado, y tras hacerlo la red neuronal ya será capaz
de generar nuevas perspectivas dejándonos mover libremente por todo el espacio y mostrándonos
todos los detalles de la escena capturada, quedando fuera como podemos ver todos aquellos
elementos transitorios que originalmente Nerf no podía filtrar.
Además de esto, más espectacular aún es que tras quedar codificado en el vector de
embeddings la apariencia de las distintas imágenes, ahora tenemos pleno control de la
estética de la escena al modificar los valores de este vector de aquí.
Cambiando sus valores podremos observar el mismo monumento en diferentes horas del día,
condiciones lumínicas o estilos fotográficos.
Algo que a mi personalmente me ha vuelto loco.
Nerf y todo el campo de la renderización neural siguen evolucionando para poco a poco
ir eliminando la carga de tener que modelar todos estos escenarios manualmente, dejándonos
soñar con un futuro donde la inteligencia artificial nos permite almacenar todos los
detalles de una escena fotorrealista en los parámetros de una única red neuronal.
Ah por cierto, si te estás preguntando cuánto espacio en memoria puede ocupar una escena
nerfeada almacenada en una red neuronal, te digo que ese es un dato técnico que te va
a sorprender y que podrás encontrar en el video original de Nerf.
Si esto ya lo has visto pues también te recomiendo ver este video de aquí sobre embeddings que
también lo hemos mencionado en el video de hoy.
Y nada más, ya sabéis lo de siempre, podéis apoyar por Patreon, podéis suscribiros, darle
a la campanita para que lleguen notificaciones y nos vemos con más inteligencia artificial
en el próximo video.