waifu2x-converter-cppで画像を拡大してみる

コンピュータ

オリジナル
logo

waifu2xで4倍に拡大(オプション:-t 1 -f png –noise-level 3 –scale-ratio 4 -m noise-scale)

GIMP2.10で4倍に拡大(補完方法:NoHalo)

プロセッサ 変換時間(秒)
Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz 509.304
AMD Ryzen 5 2400G with Radeon Vega Graphics 75.327
GeForce GTX 1070 Ti(NVIDIA-GPU) 7.657

waifu2xで拡大処理すると自動で結構きれいに拡大されます。特にエッジの部分がしっかりと出ているのが特徴的です。
GIMPなどの一般的な拡大処理は今日日のPCであれば、処理時間を感じさせることはないですが、waifu2xの場合かなり処理時間を要します。
その処理時間は、CPUやGPUによって異なります。今回は3パターンのCPU(GPU)を試してみましたが、計測方法が悪いのかかなり極端な結果になりました。
実用的にはGTX1070Tiが圧倒的といった感じです。持て余していたGTX1070Tiが有効活用できそうです。

多量の画像を一括処理するためにバッチスクリプトを用意すると便利です。

PowerShell(Windows10)

$ErrorActionPreference = "STOP"


$waifu2x_path = "C:\Users\karet\Tools\waifu2x-converter\waifu2x-converter-cpp.exe"
$src_dir = "D:\target\png"
$dst_dir = "D:\target\x2"

cd "C:\Users\karet\Tools\waifu2x-converter"

ls $src_dir -Filter "*.png" | % {
    $src_file = $_.FullName
    $dst_file = Join-Path $dst_dir $_.Name

    $rate = 2

    $arglist = @( "-f", "png", "-c", "9", "-t", "1", "--scale-ratio","${rate}","--noise-level","3","-m","noise-scale","-o",$dst_file,"-i",$src_file)

    $proc = Start-Process -FilePath $waifu2x_path -ArgumentList $arglist -NoNewWindow -Wait -PassThru
    Write-Host $proc.StandardErr
    Write-Host $proc.StandardOutput
    Write-Host $dst_file

}

$rateに拡大する倍率をセット
bash(Ubuntu)

#!/bin/bash

infiles="/var/share/work/o/*.png"
outdir="/var/share/work/b4/"

for filepath in $infiles; do
    filename="${filepath##*/}"
    basename="${filename%%.*}"
    outpath="${outdir}${basename}.png"
    echo $outpath
    waifu2x-converter-cpp -t 1 -f png --noise-level 3 --scale-ratio 4 -m noise-scale -i $filepath -o $outpath 
done

コメント