画像をAIで高画質化する(waifu2x をブラウザの中で)

小さい画像を引き伸ばすとぼやけます。AI による超解像度処理は何が違うのか、どこまでできて、何ができないのかを説明します。

引き伸ばすとぼやける理由

小さい画像をそのまま拡大すると、輪郭がぼやけたり、階段状のギザギザが出たりします。 足りない画素を、近くの画素から平均して埋めているだけだからです。 元になかった細かさは、そこから生まれません。

AI による超解像度処理は、やり方が違います。 大量の画像で学習した仕組みが、「この模様のときは、拡大するとこうなるはずだ」を推し量って描き足します。 輪郭は輪郭として、模様は模様として引き伸ばされます。

waifu2x をブラウザの中で動かす

手箱イメージは waifu2x(nunif)の学習済みデータを使っています。 アニメ絵の拡大で知られていますが、写真向けのデータも用意されています。 手箱では絵の種類として「写真」と「イラスト」を選べます。

倍率は 2倍・4倍のほか、仕上がりの大きさを直接指定することもできます (AI で2倍か4倍にしたあと、高品質な縮小で目標の大きさに合わせます)。 圧縮の跡が目立つ画像には、ノイズ除去を弱・中・強・最強から選べます。

画像は送信されません。 計算はお使いの端末の GPU で行います。 通信が起きるのは、初回に拡大用のデータ(約18MB)を取得するときだけです。 2回目以降は待ち時間がありません。

速さ

実測で、1000×1000 の画像を4倍(4000×4000)にするのに約4.5秒でした (GPU を積んだ一般的なパソコン)。 ブラウザの中で動いていますが、待たされる処理ではありません。

画像を細かいタイルに分けて順に処理し、境目が見えないように重ねて合わせています。 タイルの大きさは画像に合わせて選んでいます。

使える環境

AI による超解像度処理には WebGPU に対応した環境が必要です。 Chrome または Edge の新しいバージョンでお使いください。 Linux や一部のスマートフォンでは使えないことがあります。

使えない環境では、その理由を表示したうえで通常の拡大に切り替えられます。 黙って別の方法に切り替えることはしません。 通常の拡大も Lanczos という高品質な方法で行っており、 ブラウザ標準の拡大より輪郭が鋭く出ます。

できないこと

手箱イメージで高画質化する(無料・アップロード不要)