TriggerEdge / Waifu2xBarracuda

Waifu2x Unity Barracuda implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Waifu2xBarracuda

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 ONNX model and the pre/post-processing compute shader.
  • 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(model, compute))
{
    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:

About

Waifu2x Unity Barracuda implementation

License:MIT License


Languages

Language:C# 100.0%