Hace 5 años | Por fluffy a xataka.com
Publicado hace 5 años por fluffy a xataka.com

Los estudios Square Enix, creadores de 'Final Fantasy', han lanzado al mercado varias versiones remasterizadas de los videojuegos de esta popular saga, con el fin de mejorar su visualización en las pantallas modernas, de una mayor resolución que las de la época. Esta labor de remasterización suele reducirse al reescalado de las texturas de los escenarios prerrenderizados por los que se mueven los personajes en 3D, y no siempre ha recibido una buena valoración por parte de los fans.

Comentarios

f

#6 Bueno, tienes razón y a la vez no. Te explico. Tienes razón porque han utilizado ESRGAN, si hubiesen utilizado SRGAN no tendrías razón.
SRGAN es una red neuronal con un input y un output en la que no existe tal cosa como huecos entre los pixeles, sino que de X transforma hacia Y, pero no lo hace interpolando sino creando una Y nueva con lo cual los píxeles de Y no necesariamente tiene que tener el color que tenía en X, es decir, no crea "información que falta", sino que crea toda la información. Aquí tienes el paper: https://arxiv.org/pdf/1609.04802.pdf Verás que se usa la palabra interpolación solamente porque comparan con los resultados de una interpolación bicúbica.
ESRGAN utiliza la topología de SRGAN con algunos cambios, e introduce interpolación para eliminar el ruido que tienen las GAN. Pero no hace interpolación en la imagen sino en la red. Lo cuentan en el paper. Primero te explican que evaluaron interpolación de la red e interpolación de imagen:
"In order to balance the visual quality and RMSE/PSNR, we further propose the network interpolation strategy, which could
continuously adjust the reconstruction style and smoothness. Another alternative is image interpolation, which directly interpolates images pixel by pixel. We employ this strategy to participate in region 1 and region 2. The network interpolation and image interpolation strategies and their differences are discussed in Sec 3.4"


La interpolación de la red, de lo que trata, es de crear un nuevo modelo que surge de la interpolación de los parámetros de las redes PSNR y la GAN, es decir, que no hay "tocar los píxeles" sino tocar los parámetros de definición de las redes para crear un nuevo modelo.
Y te explican por qué se quedan con la interpolación de red:
"By employing network interpolation, unpleasing artifacts are reduced while the textures are maintained.
By contrast, image interpolation fails to remove these artifacts effectively. Interestingly, it is observed that the network interpolation strategy provides a smooth control of balancing perceptual quality and fidelity in Fig. 10"


Así que sí, usan interpolación tal y como dices, pero no es la que tú crees.

cc #4 #8

Ovlak

#17 No, yo no digo que la técnica use interpolación (vamos a llamarla interpolación "tradicional"), lo que digo es que la técnica es interpolación. El problema es que la gente sólo está entendiendo por interpolación el uso de las técnicas más primitivas que se basaban en los pixeles más próximos aplicando funciones matemáticas más o menos sofisticadas cuando en realidad existen desde hace mucho tiempo técnicas más complejas que utilizan la imagen completa ya sea de forma determinista o de forma indeterminista (como es el caso de una red neuronal entrenada a tal efecto).
Y todo esto lo digo porque yo aprendí de redes neuronales como hace 10 años realizando tareas de segmentación, interpolación y ocr. Evidentemente no con estos resultados. Pero vamos, no es de ayer.

f

#18 Ya... pero es que lo que hacen las GAN no es interpolación, va más allá. Con una GAN similar, entrenando con imágenes de Miyazaki o comics, consigues lo que te pongo en la imagen. No es que cambien la resolución y rellenen huecos, es que reinventan la imagen

Ovlak

#19 Mil disculpas, efectivamente eso no es interpolación lol. Pero lo del artículo sí lo es.

f

#20 Es que lo del artículo lo ha hecho una GAN, lo que pasa es que en lugar de estar entrenada para cambiar el estilo, está entrenada para que la salida sea más grande que la entrada, pero internamente están haciendo lo mismo.

Suigetsu

#22 El tío sigue erre que erre, cuando es obvio que con interpolación el se refería al método de toda la vida y ha metido la pata hasta el fondo.

t

#27 A ver, es que es todo interpolación, eso no lo duda nadie.

El tema es que una interpolación puede ser simplemente calcular la media de los píxeles de alrededor, o puede meter una peazo de red neuronal que adivina los píxeles que faltan. Y las dos cosas no tienen el mismo mérito.

Suigetsu

#1 Ni puta idea, menudo cuñao.
Es una red neuronal que lo que hace es dibujar y crear los pixeles que faltan al aumentar la resolución.
No usa interpolación.

O

#1 Ni te has molestado en leer el artículo. No usa interpolación sino ESRGAN.

Aquí tienes una muestra de la diferencia entre utilizar interpolación mediante el vecino más próximo y ESRGAN:

Ovlak

#8 Perdona pero no: la interpolación es el fin, no el medio. Puedes interpolar (calcular píxeles desconocidos a partir de otros conocidos) con algoritmos deterministas (el más simple es el que mencionas, vecino más próximo, pero hay muchísimos más: interpolación linear, bilinear, bicubica, etc.) o con heurísticas y machine learning como puede ser la red neuronal del artículo.

N

#9 El problema no es lo que has dicho en #1, sino como lo has dicho. Das a entender que es la interpolación lineal de toda la vida, cuando no es así.

Así que sí, te ha quedado un comentario muy cuñado, como dice #2

Ovlak

#10 Los cuñaos seréis los que inferís de mi comentario que hablo de una técnica de interpolación que no se usa desde hace años. De cuñao es el prejuicio, yo no tengo la culpa.

N

#12 Perdona, no hay ningún prejucio en tu texto. En todo caso un jucio.
Has querido decir lo que has dado a entender. No hay ningún doble sentido.

Ovlak

#23 Claro que no hay un prejuicio en mi texto, el prejuicio lo has hecho tú en #10: Das a entender que es la interpolación lineal de toda la vida
Eso lo has querido entender tú, no es lo que he dicho yo.

N

#24 No, eso es un juicio, no un prejuicio.

O

#9 Confundes. El fin no es la interpolación. El fin es redimensionar.

Pero eso no es lo importante. Lo importante es que no te has leído el artículo porque tenías mucha prisa para comentar. Si lo hubieras leido antes verías que el logro no es el simple redimensionamiento de las imágenes del Final Fantasy VII. Eso lo hace cualquiera como tú mismo has dicho. Hasta yo lo hago con el Paint.

El logro es el salto de calidad tan tremendo que han conseguido gracias al uso de una red neuronal.

Es como que alguien te señale un eclipse lunar y digas "señalar lo puede hacer cualquiera".

Ovlak

#11 Yo sigo sin ver el gran logro porque esto es como decir que eres el primero en viajar en coche eléctrico a China. Sí, puedes ser el primero en utilizar un medio novedoso en una tarea bastante ardua. Pero ni has inventado el coche eléctrico (red neuronal) ni eres el primero que viaja a China (remasteriza el FFVII).
E insisto, el upscaling es interpolación. Y si no te crees a un cuñao como yo, creete a los cuñaos del IEEE que utilizan los mismos términos que yo:
http://www.ics.ele.tue.nl/~dehaan/pdf/106_ISCE_Hu.pdf
Image Interpolation Using Classification-based Neural Networks

Ovlak

#11 Y añado: debes descubrir que existen más opiniones que la tuya. Que no saque las mismas conclusiones que tú o no me sienta tan asombrado como tú no implica a narices que no me haya leído el artículo. No somos algoritmos deterministas, somos más como redes neuronales

Jairo_Zerberros

#9 Las interpolaciones se basan en regresiones.
Las redes neuronales, no. Son 2 tecnologías totalmente distintas.

Yo me imagino que esta red neuronal va calculando las probabilidades de que una zona de la imagen corresponda a un borde, o a una textura, etc, etc... y luego aplique las funciones matemáticas que sean para reconstruir la zona. No tiene que aplicar forzosamente una regresión lineal.

La interpolación por el contrario se aplica por igual en todas las zonas de la imagen.

Otra diferencia es que la red neuronal utiliza un montón de parámetros adquiridos de una etapa de aprendizaje, mientras que la interpolación sólo utiliza información de la propia imagen.

Definitivamente no es lo mismo.

Ovlak

#14 De eso nada, algunas técnicas de interpolación deterministas se basan en regresiones. La del artículo es otra técnica de interpolación, pero basada en machine learning. Cansa un poco insistir en lo mismo en 10 comentarios. Estamos hablando de imagen digital no de matemáticas, y en imagen digital hace muchos años que el término interpolación hace referencia al acto de inferir pixeles desconocidos a partir de píxeles ya conocidos para reescalar la imagen, uses la técnica que uses.
Puedes hacer una simple búsqueda para ver que la interpolación por red neuronal es algo que existe, no me lo invento yo: https://duckduckgo.com/?q=neural+network+image+interpolation&t=fpas&ia=web

Jairo_Zerberros

#16 te doy la razón

D

qué ganas tengo de que pase esta fiebre de las redes neuronales, Villarejo, Franco, el grafeno, SpaceX y las renovables. Lo malo es que esto solo ocurrirá cuando sea sustituida por otra nueva fiebre agotadora.

f

#3 Según Gartner, prepárate que se acercan las noticias de computadores cuánticos.

hAx0r

#2 Truñaco de "cuadrupiclado" y técnica más antigua que el cagar agachao. Pero a los que se flipan en cuanto alguien habla de IA, aunque las redes neuronales no sirvan más para que cuatro n00bs como #0 se bajen un plugin ya preparado y se crean Robocop usando 4 técnicas más viejas que satanás y tan vistosas como inútiles, pues les vale para menear y creerse que en breves tendrán un robot como el que tiene un perro.

cc #3

El_Cucaracho

Vaya monstruosidad puede salir de ahí

NoEresTuSoyYo

No se de donde se sacan ese cuadruplicado de resolución, vaya truño.