Free FPS: Cómo la IA ayuda a mejorar los gráficos de los juegos





En los últimos años, la inteligencia artificial se ha vuelto cada vez más popular. Solo pregunta y Siri te dirá el resultado del partido de fútbol que te perdiste anoche. Las recomendaciones de Spotify le dirán qué agregar a su biblioteca de música, y Amazon intentará predecir qué producto comprará a continuación cuando incluso usted no lo sepa todavía.



Tampoco pasó por la industria del juego. Si bien el entorno de juego está comparando los gráficos lanzados en la PC Death Stranding con y sin tecnología DLSS, el otro día se supo que los procesadores NVIDIA Ampere ya usarán DLSS 3.0. Sin embargo, funcionará con cualquier juego con TAA (Temporal Anti-Aliasing) y controlador Game Ready. Esto significa que los desarrolladores necesitarán ajustar la tecnología para sus juegos; sin embargo, este proceso será mucho más fácil de lo que es ahora.



En este artículo, veremos cómo NVIDIA usa el aprendizaje automático para mejorar nuestra experiencia de juego.



¿Qué es DLSS?



La calidad de los gráficos en los juegos modernos solo está aumentando y, con ello, la complejidad computacional de las operaciones realizadas está creciendo. Esto se lo debemos al trazado de rayos, que simula la iluminación real en tiempo real, dejando así los reflejos precocinados como una reliquia del pasado. La complejidad computacional del trazado de rayos se debe al hecho de que la resolución de los juegos modernos supera los buenos y viejos 1080p. De ahí la necesidad de acelerar los cálculos durante el renderizado.



Deep Learning Super Sampling (DLSS) es una tecnología de NVIDIA que utiliza el aprendizaje automático profundo para mejorar la velocidad de fotogramas en juegos con uso intensivo de gráficos. Con DLSS, los jugadores pueden usar configuraciones y resoluciones más altas sin preocuparse por la estabilidad de fps.



En particular, DLSS cumple la función de superresolución. Con él, una imagen con una resolución de, digamos, 1080p se puede escalar a 4K con una pérdida mínima de calidad. Esto elimina la necesidad de jugar en 4K (y por lo tanto probablemente derrite tu PC). La resolución seguirá siendo 1080p, lo que permite velocidades de cuadro más altas, pero con el escalado DLSS apenas notará una diferencia con 4K.



imagen

Arquitectura DLSS 2.0



Básicamente, DLSS es una red neuronal entrenada en supercomputadoras NVIDIA. La salida de esta red neuronal se compara con una imagen de referencia con una resolución de 16K, y el error entre ellas se devuelve a la red a través de un bucle de retroalimentación. Para evitar problemas de velocidad, DLSS usa Tensor Cores, que son la columna vertebral de los procesadores RTX 2000 (y el futuro RTX 3000). Esto puede acelerar significativamente las operaciones de los tensores y mejorar la eficiencia del entrenamiento de IA y las tareas relacionadas con la informática de alto rendimiento.



imagen



Evolución de DLSS: de 1.0 a 2.0



DLSS 1.0 se entrenó para cada juego por separado y, por lo tanto, tomó mucho tiempo estudiarlo. Tampoco admitía el muestreo 4x, por ejemplo, de 1080p a 4K, y tenía otras imperfecciones en la calidad de imagen que no valían la pena la mejora de la velocidad de fotogramas.



DLSS 2.0 es un algoritmo más general, desprovisto de restricciones de entrenamiento y muestreo, además de tener una latencia de salida más baja debido al uso de núcleos tensores: es del orden de 1,5 ms a 4K en el RTX 2080ti y, en algunos casos, proporciona un resultado incluso mejor que el original. imagen. Las imágenes DLSS son 1080p finales









En DLSS 1.0, puede maximizar de 720p a 1080p, mientras que DLSS 2.0 puede escalar a 1080p incluso a 540p. Como puede ver en el ejemplo, la imagen a 540p parece completamente descolorida. Al mismo tiempo, el resultado con DLSS 2.0 resultó ser mejor que con DLSS 1.0, e incluso ligeramente mejor que la imagen original. Es decir, DLSS 2.0 maneja el relleno de píxeles de manera más eficiente que DLSS 1.0, aunque este último necesita reescalar una diferencia menor en la resolución.



La capacidad de DLSS 2.0 para escalar imágenes a 540p, combinada con la baja latencia del método en sí, proporciona un aumento significativo del rendimiento con respecto a su predecesor.



imagen

Tiempo de renderizado con y sin DLSS 2.0 (en ms)





Obtenga más información sobre cómo funciona DLSS



Al renderizar la geometría de la escena en los juegos (por ejemplo, en un triángulo), la cantidad de píxeles utilizados (o la frecuencia de muestreo - máscara de subpíxeles) determina cómo se verá la imagen.



imagen



Cuando usamos una cuadrícula de muestreo de 4x4 para renderizar el triángulo, podemos ver que el resultado deja mucho que desear.



imagen



Al ampliar la cuadrícula de muestreo 4 veces, hasta 8x8, la imagen se parece más al triángulo deseado. Esta es la esencia de DLSS: convertir una imagen de baja resolución en una más alta.



imagen

La esencia de DLSS



Como resultado, por el mismo costo de renderizado que una imagen de baja calidad, obtiene una imagen de mayor resolución.



imagen

Propósito de DLSS



Esto en realidad resuelve el problema de superresolución que no es nuevo.



Echemos un vistazo rápido a cómo han evolucionado las técnicas de mejora de la resolución asistidas por IA.



Súper resolución de imagen única



Esta técnica permite obtener imágenes de alta resolución a partir de una inferior mediante técnicas de interpolación como filtros bilineales, bicúbicos y de Lanczos. También puede implementarlo con la ayuda de redes neuronales profundas, pero luego surge el problema de la distorsión de los nuevos píxeles obtenidos a partir de los datos de entrenamiento. Esto hace que la imagen parezca creíble, pero no demasiado similar al original. El método produce una imagen demasiado suave, no detallada y es inestable en el tiempo, lo que conduce a inconsistencias y parpadeo de los fotogramas.



imagen

Una única imagen de super-resolución



de Let comparan algunos de los resultados de estas técnicas de super-resolución de una sola imagen con qué DLS 2.0 ofertas. Resolución de destino: 1080p









Obviamente, DLSS 2.0 es mejor que la interpolación bicúbica y ESRGAN , una arquitectura de red neuronal que utiliza una red adversaria generativa para lograr una superresolución . Como resultado, los helechos en el caso de DLSS 2.0 se ven aún más detallados que en la imagen original.



Superresolución de fotogramas múltiples



Este método utiliza varias imágenes de baja resolución para producir una imagen de alta resolución. Ayuda a recuperar los detalles mejor que el enfoque anterior. Fue diseñado principalmente para video y fotografía en ráfaga y, por lo tanto, no utiliza información específica de renderizado. Un ejemplo de su uso es la alineación de cuadros mediante flujo óptico en lugar de vectores de movimiento geométrico. En este caso, los cálculos son más baratos y los resultados son más precisos. Este enfoque parece más prometedor que el anterior y nos lleva a la siguiente técnica.



Supermuestreo espacial-temporal



Este método utiliza varios fotogramas para supermuestrar imágenes.







Tenemos el cuadro actual. Digamos que el anterior lo parece. Al usar una frecuencia de muestreo más baja, podemos aumentar el número total de muestras necesarias para reconstruir la imagen.



imagen

Histograma de supermuestreo espacial-temporal



El problema es que en los juegos todo está en constante movimiento. Por lo tanto, para corregir el historial de tramas, este método de supermuestreo se ve obligado a realizar una búsqueda heurística, por ejemplo, según el principio de sujeción de vecinos. Estas heurísticas contribuyen al desenfoque, la inestabilidad temporal, el efecto muaré, el retraso y el efecto fantasma. Efectos adversos de la sujeción de vecinos Parpadeo y muaré temporales en imágenes con sujeción de vecinos















DLSS 2.0: Deep Learning-based multi-frame reconstruction



La red neuronal DLSS aprende de decenas de miles de imágenes de entrenamiento diseñadas para realizar una mejor reconstrucción que la que puede ofrecer la heurística, eliminando así sus efectos. Esto conduce a un resultado mucho mejor al utilizar datos de varios fotogramas.



imagen



Al implementar DLSS en el motor, en primer lugar, es necesario renderizar la escena en baja resolución: toda su geometría, iluminación dinámica, efectos en el espacio de pantalla y trazado de rayos. Después de eso, DLSS se puede aplicar en la etapa en que generalmente ocurre el anti-aliasing; después de todo, la tecnología realiza exactamente la misma función, solo que con supermuestreo. Luego tiene lugar el posprocesamiento de la imagen, incluido el desenfoque de movimiento, la floración, la aberración cromática, el mapeo de tonos y otros efectos.







DLSS no es solo un algoritmo de procesamiento de imágenes. Por lo general, funciona junto con el renderizado, por lo que su proceso también debe revisarse. Sin embargo, en el caso de DLSS 2.0, estos cambios no son tan difíciles de implementar como antes.



Pruebas de rendimiento



imagen



El último título Remedy Control admite tanto el trazado de rayos como DLSS. Como puede ver en el gráfico anterior, el RTX 2060 recibió un aumento de rendimiento de 8 fps a aproximadamente 36,8 fps a través de DLSS, lo que aumentó significativamente la capacidad de reproducción del proyecto. Este resultado fue incluso mejor que el RTX 2080ti sin DLSS, lo que demuestra aún más cuán efectiva es esta tecnología.



Digital Foundry comparó la calidad de imagen usando DLSS 1.9 y 2.0 en este video.





Izquierda: control con DLSS 1.9, derecha: con DLSS 2.0. Imágenes capturadas en un RTX 2060 a 1080p y luego escaladas a 4K



En la comparación anterior, podemos ver cómo DLSS 2.0 presenta mechones de cabello distorsionados en el caso de DLSS 1.9.



Conclusión



DLSS solo está disponible para RTX 2000 y GPU basadas en Turing (y las próximas GPU RTX 3000 basadas en Ampere) y actualmente solo es compatible con un puñado de juegos. DLSS 2.0 es compatible con incluso menos títulos, pero el nivel de detalle puede superar incluso la imagen original, mientras que la velocidad de fotogramas sigue siendo alta. Este es un logro realmente genial para NVIDIA, y la tecnología definitivamente tiene un futuro prometedor.



All Articles