Offre de stage (CLOSED)

Super-sampling for fast rendering of video games

Abstract. The goal of this intership is to study and implement super-sampling methods for high resolution rendering of video games.

Supervision. The intern will be supervised by aresearch engineer from Ubisoft La Forge located in Bordeaux.

Subject

Nowadays, video games require both high image quality and high frame rate. Today’s standards are ultra high-definition 4K (4096×2160) with a frame rate of 60 FPS. Going from HD resolution (1920×1080) at 30 FPS to 4K at 60 FPS requires at least 8 times more ressources. In another hand, the Moore’s law is not true anymore and many users don’t have latest hardware. In this context, solutions based on super-resolution have been proposed to display at lower cost ultra HD images generated from lower resolution images:

  1. The FSR technology from AMR which is a super-sampling method using signal processing tools ;
  2. The DLSS technology from Nvidia which is a super-sampling method using deep learning.

Both methods increase performances up to 200%. However, visual results can be hard to evaluate and can be very different depending on the game.

On the other hand, super-sampling is a hot topic from the scientific literature, although these approaches are not always suited for real-time or memory constraints that arise from the video game rendering.

This internship aim at exploring the literature in order to bring inovation for enhancing game rendering with super-sampling.

Pytorch implementation of HDMI denoising method

I just released a pytorch implementation of the HDMI denoising method that can be used on GPU: github.com/ahoudard/HDMI

This version allows to run the EM algorithm and the denoising in about half a minute!

python run_HDMI_denoising.py alley.png --stdv 0.1 --n_iter 40 --verbose --gpu
selected device: cuda
run EM algorithm...
denoise patches...
total runtime: 34s
PSNR: 29.8940dB

WGenPaTex code

With the publication in the SSVM 2021 proceeding of our paper Wasserstein Generative Models for Patch-based Texture Synthesis we just released the corresponding Python code available on github !

github.com/ahoudard/wgenpatex

Example on my local laptop (core i5 CPU) :

python run_optim_synthesis.py radishes.png --save
cpu
iteration 0 - elapsed 2s - loss = 3.3926462531089783
iteration 50 - elapsed 131s - loss = 0.5145381316542625
iteration 100 - elapsed 260s - loss = 0.23772023245692253
iteration 150 - elapsed 390s - loss = 0.20723320543766022
iteration 200 - elapsed 522s - loss = 0.20013415440917015
iteration 250 - elapsed 652s - loss = 0.19069230556488037
iteration 300 - elapsed 781s - loss = 0.18442947790026665
iteration 350 - elapsed 912s - loss = 0.18047476187348366
iteration 400 - elapsed 1042s - loss = 0.17874254286289215
iteration 450 - elapsed 1162s - loss = 0.17782559990882874
DONE - total time is 1292s

On the Existence of Optimal Transport Gradient for Learning Generative Models

New preprint available! [HAL] [PDF][ArXiv]

Abstract : The use of optimal transport cost for learning generative models has become popular with Wasserstein Generative Adversarial Networks (WGAN). Training of WGAN relies on a theoretical background: the calculation of the gradient of the optimal transport cost with respect to the generative model parameters. We first demonstrate that such gradient may not be defined, which can result in numerical instabilities during gradient-based optimization. We address this issue by stating a valid differentiation theorem in the case of entropic regularized transport and specify conditions under which existence is ensured. By exploiting the discrete nature of empirical data, we formulate the gradient in a semi-discrete setting and propose an algorithm for the optimization of the generative model parameters. Finally, we illustrate numerically the advantage of the proposed framework.

Learning local regularization for variational image restoration

New preprint available! [HAL] [PDF][ArXiv]

Joint work with Jean Prost, Andrés Almansa and Nicolas Papadakis

Abstract: In this work, we propose a framework to learn a local regularization model for solving general image restoration problems. This regularizer is defined with a fully convolutional neural network that sees the image through a receptive field corresponding to small image patches. The regularizer is then learned as a critic between unpaired distributions of clean and degraded patches using a Wasserstein generative adversarial networks based energy. This yields a regularization function that can be incorporated in any image restoration problem. The efficiency of the framework is finally shown on denoising and deblurring applications.

Semi-discrete OT loss for image generation

Some new application of our recent work Wasserstein Generative Models for Patch-based Texture Synthesis [arXiv] [HAL] that proposed a loss with semi-dual formulation of OT.

  •  Style transfert using semi-dual formulation for minimizing the OT distance between VGG-19 features:

       

   

   

  

  • Textures barycenters using our texture generation algorithm (Alg.1 from this work).

The key idea is to generate a new texture such that its patch distributions at various scales are Wasserstein barycenters of the patch distribution of the two inputs:


input 1                       W-barycenter                    input 2


input 1                       W-barycenter                    input 2