Waifu2xBarracuda

August 12, 2021 · View on GitHub

Waifu2xBarracuda is a Waifu2x implementation with the Unity Barracuda neural network inference library.

Comparisons

  • Left: Bilinear filter only
  • Right: 200% upscaling with Waifu2x + Bilinear filter

screenshot

screenshot

screenshot

screenshot

How To Use

  • Create a Waifu2x.Waifu2xScaler object with specifying a Waifu2x resource set object.
  • Call CreateScaledTexture with a source texture. It returns a RenderTexture object with 200% size.
  • Dispose the Waifu2x.Waifu2xScaler object when it's no longer needed.
using (var scaler = new Waifu2xScaler(resourceSet))
{
    texture_foo_x2 = scaler.CreateScaledTexture(texture_foo);
    texture_bar_x2 = scaler.CreateScaledTexture(texture_bar);
    ...
}

At the moment, this package only contains the upconv_7 anime style models. There are four models for different noise filter levels. Usually, the strongest one (noise3) gives good results, but you should decrease the strength if the image contains detailed texture elements.

Acknowledgements

ONNX files

The ONNX files contained in the Assets/Waifu2x/ONNX are converted by tcyrus. Please check the waifu2x-onnx repository for further details.

Test assets

This repository contains the following image materials: