AIで画像を2倍・4倍に拡大 — お使いの端末上で
このAI画像アップスケーラーは、小さい画像、ぼやけた画像、低解像度の画像を<strong>Real-ESRGAN</strong>で拡大します。Real-ESRGANは、通常のリサイズでつぶれてしまうエッジ、質感、細部を再構築するよう学習したニューラルネットワークです。処理はすべてブラウザ内で行われ、利用できる場合はWebGPUでグラフィックカード上、それ以外はWebAssemblyでCPU上で実行されます。画像がアップロードされることはありません。ダウンロードされるのはAIモデル本体だけで、それも初回の一度きり、その後は端末にキャッシュされます。
画像をアップスケールする方法
- 1画像をページにドロップするか、選択するか、Ctrl/⌘ + Vで貼り付けます。PNG・JPEG・WebP・AVIFに対応しています。
- 2モデルを選びます:高速(4.6 MBのダウンロード。ほとんどの画像やスクリーンショットに適しています)または高画質(64 MB。写真で最も細部を再現します)。
- 32×か4×を選んでアップスケールを押します。初回はモデルがダウンロードされます。進行状況はタイルごとに残り時間とともに表示されます。
- 4画像上のスライダーをドラッグして前後を比較し、拡大表示で細部を確認します。
- 5PNG・JPEG・WebPを選んでダウンロードを押します。または画像リサイズツールなど、別のツールに結果を直接送ることもできます。
AIアップスケールが通常のリサイズより鮮明に見える理由
バイリニア、バイキュービック、Lanczosなどの通常のリサイズは、既存のピクセルをより大きなグリッドに広げることしかできません。細部を新たに生み出さないため、4倍に拡大すると柔らかくブロック状になり、エッジはぼやけ、文字はにじみ、JPEGのノイズも画像と一緒に大きくなります。
超解像ネットワークの仕組みは異なります。Real-ESRGANは、鮮明な画像と、意図的に劣化させたコピー(ぼかし、縮小、ノイズ付加、JPEG圧縮)の数百万組で学習し、劣化した画像から鮮明な画像を復元する対応関係を身につけました。入力された画像に対して、くっきりしたエッジ、髪、葉、布地、文字など、もっともらしい高周波の細部を予測します。そのため、副次的に圧縮ブロックや軽いノイズも取り除かれます。
追加される細部は予測であり、復元ではありません。もともと読めなかったナンバープレートや、数ピクセル幅しかない顔を浮かび上がらせることはできず、非常に小さい画像や強く圧縮された画像では絵画のような仕上がりになることもあります。結果を使う前に、スライダーで比較し、100%に拡大して確認してください。
高速と高画質:どちらのモデルを選ぶか
- 高速 — Real-ESRGAN general v3
- <code>realesr-general-x4v3</code>。パラメータ数約120万のコンパクトなSRVGGNetで、ダウンロードは4.6 MBです。高画質モデルよりおよそ10倍速く、イラスト、スクリーンショット、ゲームアート、商品写真、ほとんどの写真をうまく処理します。まずはこちらから。
- 高画質 — Real-ESRGAN x4plus
- <code>RealESRGAN_x4plus</code>。パラメータ数1,670万のオリジナルのRRDBNetで、ダウンロードは64 MBです。肌、葉、建築物など、実写の質感をより多く再現しますが、時間がかかります。CPUでは大きな写真に数分かかることもあります。WebGPU対応のグラフィックカードがあれば実用的です。
- 2×と4×
- どちらのモデルも4倍のネットワークです。2×の場合は4倍モデルを実行してから、結果の2 × 2ブロックごとに平均をとります。直接2倍に拡大するより明らかに鮮明で、完全な4倍画像を作らないためメモリ使用量も抑えられます。
ブラウザ内での動作の仕組み
モデルはバックグラウンドのワーカーでONNX Runtime Webにより実行されるため、ページの操作は止まりません。ブラウザがWebGPUに対応していれば(ほとんどのパソコンの最新のChrome・Edge・Safari)、ネットワークはグラフィックカードで動作します。対応していない場合はCPU上のWebAssemblyに切り替わります。速度は落ちますが、どこでも動作します。どちらを使用中かはパネルに表示されます。
大きな画像は、128〜256ピクセルの重なり合うタイルに分割されます。各タイルは周囲16ピクセルの文脈を含めて拡大され、中央部分だけが使われるため、つなぎ目が見えず、必要なメモリも少なく済みます。プログレスバー、残り時間の推定、キャンセルボタンもこの仕組みによって実現しています。
モデルファイルは初回使用時にHugging Faceからダウンロードされ、ブラウザのキャッシュストレージに保存されます。そのため、次回以降はほぼすぐに開始でき、オフラインでも動作します。画像そのものは、お使いの端末上でのみ読み込まれ処理されます。
透過、出力形式、サイズの上限
- 透過PNGは透過を保持します。ネットワークが色を拡大し、アルファチャンネルはバイキュービック補間で別途拡大してから合成し直します。
- PNGはロスレスで透過を保持するため、さらに編集する場合に最適です。JPEGとWebPはずっと小さくなります。JPEGでは透過部分が白で塗りつぶされます。
- ブラウザのメモリ不足を防ぐため、結果はパソコンで約3,600万ピクセル、スマートフォンとタブレットで約1,600万ピクセルが上限です。これを超える場合は、先に入力画像を縮小し、その旨をお知らせします。
- その後、正確なサイズが必要ですか?結果を画像リサイズツールに送るか、画像コンバーターで変換するか、背景リムーバーで被写体を切り抜けます。
クレジットとライセンス
アップスケールには、Xintao Wang、Liangbin Xie、Chao Dong、Ying ShanによるReal-ESRGAN(“Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data”, ICCV Workshops 2021)を使用しています。BSD-3-Clauseライセンスで公開されています。ONNX変換版は、Hugging Face上のBSD-3-Clauseライセンスのjonathanst29/tinier-upscale-modelsのエクスポートで、固定リビジョンに固定しています。推論にはMITライセンスのMicrosoft製ONNX Runtime Webを使用しています。
よくある質問
- このAI画像アップスケーラーは本当に無料でプライベートですか?
- はい。アカウント不要、透かしなし、画像の枚数制限もありません。アップスケールはお使いのパソコンやスマートフォン上で実行され、画像がサーバーにアップロードされることはありません。ダウンロードされるのはAIモデルだけで、それも一度きりです。
- アップスケールにはどのくらい時間がかかりますか?
- WebGPUを使えば、高速モデルで一般的な1000ピクセルの画像を数秒でアップスケールできます。CPUでは1分以上かかることもあり、高画質モデルはさらにおよそ10倍遅くなります。プログレスバーには経過時間が表示され、最初のタイルの後には残り時間の目安も表示されます。
- 初回のアップスケールに時間がかかるのはなぜですか?
- 初回はAIモデル(高速は4.6 MB、高画質は64 MB)をダウンロードし、グラフィックカードまたはCPU向けに準備するためです。その後モデルはブラウザにキャッシュされるので、次回以降はダウンロードが不要です。
- AIアップスケールでぼやけた写真を修復できますか?
- 低解像度や軽くぼやけた写真をかなり鮮明に見せることができ、JPEGのノイズや粗さも除去します。ただし、もともと写っていない細部は復元できません。極小の顔、判読できない文字、強い手ぶれは不明瞭なままで、ネットワークがそこに質感を作り出してしまうこともあります。
- アップスケールできる最大の画像サイズは?
- 結果はパソコンで約3,600万ピクセル(例:6000 × 6000ピクセル)、スマートフォンとタブレットで約1,600万ピクセルが上限です。それ以上を指定すると、結果が収まるよう先に入力画像が縮小され、その旨が表示されます。
- 透過背景は保持されますか?
- はい。PNGまたはWebPで保存すれば透過が保持されます。アルファチャンネルは、AIでアップスケールした色と合わせて、バイキュービック補間で拡大されます。JPEGは透過に対応していないため、その部分は白になります。
- ブラウザでWebGPUが使えないと表示されます。それでも動作しますか?
- はい。CPU上のWebAssemblyに切り替わります。最新のどのブラウザでも動作しますが、速度は遅くなります。最速で使うには、グラフィックカードを搭載したパソコンで最新のChrome、Edge、Safariをお使いください。
- どのモデルを使っていますか?結果を商用利用できますか?
- 公式のReal-ESRGANの重み(general v3とx4plus)を使用しており、制限の緩いBSD-3-Clauseライセンスで公開されています。作成した画像は自由にお使いいただけます。ライセンスが対象とするのはモデルであり、あなたの画像ではありません。