ほーりーさんの日記

続・自家製アプコン

ずいぶん前に、Waifu2X を使った自家製アプコンの話を書いたんですが、そのアップデートです。

あの記事書いたのが2016年なんで、もう6年も前。そりゃぁ世の中で技術革新は進んでますよね。

Cupscaleというツールと、Real-ESRGANというツールです

 なお、Real-ESRGANは、このページで説明されているツールを使うと楽に使えます。

さて、では早速結果を見てみましょう。

画像は、左上がオリジナル、左下が Waifu2X でアップスキャンしたもの、右が Real-ESRGAN でアップスキャンしたものです。

 懐かしい新世紀エヴァンゲリオンのオープニングです。

え?懐かしくない?ついこの前、映画館でみた??ふっ、君はそれをLDで見たことあるかい?え?LDってなんですか?
いやまぁ、そう言われるわな・・・・

これは、1995年にテレビ放送された最初のエヴァンゲリオン、そのLDをキャプチャしたものです。LDが何かは・・・ググってくれ。CDに対するアナログレコード、DVDに対するLDみたいな位置づけですね。CDとかDVDがそろそろ通じなくなりつつある時代ではありますが。

というわけで、Real-ESRGAN を使えばいいんじゃないかな。を結論に終わってもいいんですが、それだけだとアレなので、もう少し比較してみましょう。

 Cupscaleの比較

Cupscaleには3個のモデルが搭載されています。そのモデルの結果を比較します。

左上が BSRGAN、右上が RealESRGAN-4xplus、下が RealSR_DF4K

RealSR は論外として、BSRGAN と RealESRGAN はいい勝負をしてるように見えますが、相対的に RealESRGAN のほうが綺麗に見えます。

CupscaleとReal-ESRGANの比較

二つツールがあるので、そっちも比較しましょう。Cupscale の realesrgan-4xplus と Real-ESRGAN です。これって同じモデルってことで・・・いいんですよね?

左が Cupscale の realesrgan-4xplus、右が Real-ESRGAN です。

Real-ESRGAN のほうが綺麗に見えます。同じモデルだけど、学習のさせ方とか実装がなにか違うんでしょうか。

GPU処理とCPU処理の比較

Cupscale は CPU モードを持ってるので、GPU を使わない、CPU 処理も比較してみましょう。
左がGPU処理、右がCPU処理です。これはさすがに同じに見えます。
ツールは Cupscale の BSRGAN です。というか、CPU モードで走るのはこのモデルのみです。

なんでこんな比較をしてるかというと、私としてはCPU処理を使いたいのです。だって仮想環境だとGPUができないから。いや、できないわけではないんですが、仮想環境でGPU使おうと思ったら、くっそ高い専用GPUカードとくっそ高い専用ドライバー使うか、PCIパススルー使うから vMotion を諦めないといけなくなるので、やりたくないんですよね。なので、CPU モードで使いたいんですが、BSRGAN しか使えないので、これで妥協するか、GPU 使える物理マシンで Real-ESRGAN をやるかですね。

結論

画質で Real-ESRGAN の勝利です。

動画にした結果も置いておきましょう。2016年にやった、AIR の DVD に入ってる ED から一部を取り出したものです。元動画は2016年の記事を参照してください。
あと、このリンク、ブラウザでは再生できないかもしれません。その場合はダウンロードして再生してください。少なくともVLCでは再生できるはずです。

最後にもひとつ、アプコン処理にかかる時間の問題が。

Cupscale、Real-ESRGAN どちらもめっちゃ時間がかかります。Waifu2X も相当時間かかりましたが、それよりはるかにかかります。

サンプル用に置いた AIR の動画、動画としては23秒程度の長さなんですが、これを1本処理するのに、Waifu2X で3、4時間くらいかかるのに対して、Cupscale、Real-ESRGAN は 1 日以上かかります。25分のアニメを1本処理するのに、単純計算で2か月以上かかることに。Waifu2X で2週間弱かかってたものが、けた違いに時間がかかることになります。