無料で使える画像アップスケーラーとして、Real-ESRGANはいまなお定番です。BSD-3-Clauseライセンスで公開されてから5年、GitHubリポジトリは36,500スターを集めています。ncnn-vulkan版ならAMD、Intel、NVIDIAのGPUを問わず動かせるのも強みです。ただし、静止画やアニメには有力でも、長尺の実写動画には最適解ではありません。
2026年の結論:Real-ESRGANが得意なこと、苦手なこと
Real-ESRGANの魅力は、とにかく導入範囲が広いことです。スタック全体を無料かつオフラインで使え、AMD、Intel、NVIDIAをほぼ同列に扱えます。一方で動画では各フレームを個別に処理するため、ちらつきが出やすくなります。また、強い損傷の復元も得意ではありません。ICCVW 2021の論文が示すように、純粋な合成劣化データで学習したGANであり、細部を新たに生成するというより、既存のディテールをシャープにする設計です。
Redditのr/upscalingでは、利用者の評価がこの一言に集約されています。
「めちゃくちゃ遅いけど、見た目は悪くない。」 - u/ChemistryAdorable956, r/upscaling
重みファイルの選び方:x4plus、x2plus、anime_6Bほか
どのアプリで動かすか以上に、どのモデルを選ぶかが結果を左右します。公開済みの6種類の重みファイルは、すべて公式プロジェクトのReleasesページで入手できます。
| 重みファイル | ネイティブ倍率 | 向いている用途 | 入手元 |
|---|---|---|---|
RealESRGAN_x4plus.pth | 4x | 写真、一般的な画像 | Release v0.1.0 |
RealESRGAN_x2plus.pth | 2x | 2倍で十分な写真 | Releasesページ |
RealESRGAN_x4plus_anime_6B.pth | 4x | アニメ、イラスト、線画 | Release v0.2.2.4 |
RealESRNet_x4plus.pth | 4x | 一般画像、質感を控えめに保ちたい場合 | Releasesページ |
realesr-general-x4v3 | 4x | 圧縮ノイズやノイズの多い素材 | Releasesページ |
realesr-animevideov3 | 4x | アニメ動画のフレーム | ncnn zipに同梱 |
ここで注意したいのがファイル形式です。ポータブルなncnn版は.pthを使いません。modelsフォルダには変換済みの.param/.binモデルが入っているため、.pthをダウンロードする必要があるのはPython版を使う場合だけです。さらにREADMEによれば、公式オンラインデモで選べるのはanime 6Bモデルのみです。写真の品質をオンラインデモだけで判断しないようにしましょう。
方法1:CUDAもPythonも不要なncnn-vulkan版
最短で始めるなら、Real-ESRGAN-ncnn-vulkanのReleasesページからポータブル実行ファイルを入手するのが手軽です。最新リリースのv0.2.0(2022年4月24日)には、Windows向け2.2 MB、Ubuntu向け3.7 MB、macOS向け8.5 MBの3つのzipが用意されています。展開後、フォルダ内でターミナルを開き、次を実行します。
./realesrgan-ncnn-vulkan -i input.png -o output.png -n realesrgan-x4plus -s 4
CUDA、PyTorch、Pythonはいずれも不要です。公式READMEでは、Vulkan経由でIntel、AMD、NVIDIAのGPUに対応すると説明されています。-iには画像ファイルだけでなくディレクトリも指定でき、フォルダ内のJPG、PNG、WebPをまとめて処理できます。
| フラグ | 役割 |
|---|---|
-i / -o | 入力・出力ファイル、またはディレクトリ |
-n | モデル名:realesrgan-x4plus、realesrnet-x4plus、realesrgan-x4plus-anime、realesr-animevideov3 |
-s | 倍率:2、3、4(初期値は4) |
-t | タイルサイズ。32以上、または自動設定の0。VRAM不足なら小さくする |
-g / -j | 複数GPU環境のGPU ID、ロード:処理:保存のスレッド数 |
-x | 速度を犠牲にして品質を上げるTTAモード |
-f | 出力形式:png(初期値)、jpg、webp |
READMEには、既知の制約も2点記載されています。ncnn版にはoutscale相当の機能がなく、タイル分割と合成によってブロックごとの不整合が起こるため、PyTorch版と結果がわずかに異なることがあります。また、4xネイティブのx4plus重みに対して-s 2を使うのも避けたいところです。指定自体は通りますが、出力が崩れるという報告があります。
「realesrgan-ncnn-vulkan、スケールを4以外にすると出力が壊れる。これは何なんだ?」 - @hogehoge61, X
2倍出力が目的なら、フラグと格闘するよりも、GUIまたはPython版でx2plus重みを使うほうが確実です。
方法2:機能をフルに使うならPython+PyTorch
プロジェクトの機能を余すことなく使えるのはPython版です。inference_realesrgan.pyはリポジトリ本体に含まれています。公式READMEにある導入手順は、Python 3.7以上、PyTorch 1.7以上を前提に以下のとおりです。
git clone https://github.com/xinntao/Real-ESRGAN.git
cd Real-ESRGAN
pip install -r requirements.txt
python setup.py develop
python inference_realesrgan.py -n RealESRGAN_x4plus -i inputs -o results --face_enhance
python inference_realesrgan.py -n RealESRGAN_x2plus -i inputs -o results
追加フラグでできることは次のとおりです。
--face_enhanceは検出した顔にGFPGANを実行します。2つ目のコマンドは、写真をネイティブ2倍で拡大するための指定です。--outscaleでは3.5倍のような任意の出力倍率を設定できます。ただしREADMEが明記しているとおり、これは4倍出力をLANCZOS4でリサイズする処理であり、ネイティブ倍率ではありません。- READMEによれば、アルファチャンネル、グレースケール、16ビット画像に対応するのはこのPython経路だけです。
- 推論は初期設定でfp16を使用します。フル精度で実行する場合は
--fp32を指定します。
方法3:GUIで使うならUpscaylとReal-ESRGAN GUI
ターミナルを使わず、フォルダをドラッグして処理したいなら、主流の選択肢はUpscaylです。Real-ESRGANとVulkanをベースにした、Windows、macOS、Linux向けの無料AGPLライセンスのデスクトップアプリです。フォルダ単位のバッチキュー、強く圧縮されたJPEG向けの2回目の処理「Double Upscayl」、インストール後のオフライン動作、PNG/JPG/WebPで最大16倍の出力を備えます。公式サイトは、Vulkan対応の専用GPUを推奨しています。
もう少し軽量な選択肢としては、TransparentLCのrealesrgan-guiがあります。クロスプラットフォームのTkinterフロントエンドで、Real-CUGANも操作でき、新しいupscayl-ncnnバイナリを見つけるとそちらを優先して利用します。洗練されたバッチ処理を重視するならUpscayl、スクリプト化、ffmpegパイプライン、厳密なモデル指定が必要ならCLI版を選びましょう。
アニメか写真かでモデルを選ぶ
アニメ、漫画のコマ、線画にはanime_6Bが適しています。公式READMEによれば、これはファイルサイズを大幅に抑えたアニメ画像向けモデルで、プロジェクトではwaifu2xとの比較も公開されています。写真にはx4plusを、2倍で足りるならx2plusを選びます。古いスキャン画像、強いJPEG圧縮画像、スクリーンショットなど、圧縮ノイズやノイズが目立つ素材にはrealesr-general-x4v3が候補です。このモデルに用意された-dnのノイズ除去強度は、READMEでも説明されているように、クリーンアップと、この系統で起こりがちな過度な平滑化のバランスを取るためにあります。
r/upscalingで繰り返し指摘される境界線もあります。アニメ向け重みを実写人物に使うと、顔が不安定になったり破綻したりしやすいという報告です。そのスレッドの最初の返信も、u/Green-Cucumber8507による「どのモデルバリアント?」でした。顔がはっきり写るポートレートなら、Python版で--face_enhanceを使い、アップスケールで失われがちな顔の情報をGFPGANで補う価値があります。
よくあるトラブルと対処法
「Vulkan device not found」または即時クラッシュ
次の順番で確認してください。
- まずGPUドライバを更新します。
- GPUがVulkan対応として認識されているか確認します。UpscaylのWindowsトラブルシューティングガイドに確認手順があります。
- GPUを2基搭載したノートPCやデスクトップでは、OSのグラフィック設定からアプリに専用GPUを割り当てます。
何も表示されず終了する:modelsフォルダを確認
エラーを出さずにsegfaultしたり、実行直後に終了したりする場合は、まず-mを確認します。変換済みモデルファイルが入ったフォルダを指定する必要があります。実行ファイルとmodelsフォルダは、配布時の構成どおり同じ場所に置いてください。
動画でメモリ不足:8 GB環境のワークフロー
長尺動画ではVRAMが最初に尽きます。Xで@bi_9527zxが8 GBのGPU向けに共有した実用的な手順は、ほかのモデルをすべてアンロードし、ffmpegでクリップをPNGフレームへ分割、各フレームを4倍で拡大してから、ffmpegのスケーリングとパディングで再結合するというものです。動作はしますが、コスト面の現実も変わりません。
「各フレームを個別に処理するため、ちらつきが残ることはあります。」 - u/Dagnarus15, r/upscaling
速度の限界は明確
処理速度の目安として、Xの@zinya2dxは、SD品質の動画を4Kへアップスケールするのに、およそ20秒分の映像でGPUをフル稼働させても1時間かかったと報告しています。静止画はもっと扱いやすく、NPU搭載の860MクラスGPUでは1枚あたり約2秒だったという計測例もあります。報告者はXの@Tomoari_hsmtです。
2026年のReal-ESRGAN、Topaz、SeedVR2比較
現在のReal-ESRGANは、サブスクリプション型の商用スイートや、シャープ化ではなく再生成を行うオープンな拡散モデル系アップスケーラーと競合しています。
| Real-ESRGAN | Topaz Gigapixel | ByteDance SeedVR2 | |
|---|---|---|---|
| ライセンスと価格 | BSD-3、無料 | Personalは年額$149、Proは年額$499(公式価格) | Apache-2.0、無料 |
| ハードウェア | ncnn経由で任意のVulkan対応GPU | 手元のGPUで動くデスクトップアプリ | 大容量VRAMを備えたNVIDIA GPU(3B/7Bバリアント) |
| アプローチ | GANで既存ディテールをシャープ化 | モデル単位の制御を備えた商用GAN/CNNスイート | ワンステップ拡散でディテールを再生成 |
| 報告されたスループット | 720p入力の4倍・fp16で1.7 fps(RTX 5090) | Proteus:1080pで15 fps、4Kで7.3 fps | 4Kクラスの拡散モデル:0.2~2 fps |
| 注意点 | 動画のちらつき、強い劣化で質感が平坦になりやすい | サブスクリプション価格 | 720pのAI生成動画では過剰シャープ化が文書化されている |
スループットの数値はすべて、2026年6月にRTX 5090で実施された、継続更新中のオープンベンチマークに基づきます。ただしワークロードは異なります。Real-ESRGANは720p入力の4倍・fp16、Topaz Proteusは1080pおよび4Kで測定されているため、数値はおおまかな桁感として見るべきです。評価の序列については、同ベンチマークの推奨が参考になります。安価なバッチ処理とプレビューならReal-ESRGAN、映画品質の4KならSeedVR2-7Bです。
ByteDanceがApache-2.0で公開し、ICLR 2026で発表したSeedVR2は、拡散モデル方式でディテールを再生成します。これは裏返せば、ベンチマークの方法論メモにあるように、合成素材には拡散型が合いやすい一方で、新しい顔を作ってしまったり、フレーム間で内容が変化したりする可能性があるということです。エッジ表現では、より新しいオープンツールがすでに先行しています。Real-ESRGANとFlashVSRを比較したXユーザーは、こう端的に評しています。
「RealESRGANは最終的に少なくなる。」 - @dawidope, X
難しい素材で細部が飛ぶことを理由に、長年の利用者が離れるケースもあります。Xの@realrebelaiは「細部が飛ぶことがあるのに気付いた」と書き、救済策としてTopazへ移行しています。
APIを使えば、ハードウェアの問題はすべて回避できます。Replicateのホスト型nightmareai/real-esrganは、出力画像1,000枚あたり$2、つまり1枚あたり$0.002です。GFPGANの顔補正切り替え付きで最大10倍まで対応し、入力は1440p未満を推奨しています。このページの実行カウンターによれば約9,700万回実行されており、掲載されている予測例は約2.5秒で完了しています。ローカルへのインストール自体が障壁なら、AIReiterのホスト型アップスケーラーならブラウザから同じ用途に使えます。
よくある質問:ライセンス、GPU、動画、.pthファイル
Real-ESRGANは商用利用でも無料ですか?
はい。プロジェクトは、オープンソースの中でも非常に寛容なBSD 3-Clauseライセンスで公開されています。変換済みのncnnバイナリと公開済み重みはリポジトリとともに提供されますが、商用製品として出荷する前には各リポジトリのLICENSEファイルを確認してください。
Real-ESRGANにNVIDIA GPUは必要ですか?
不要です。ncnn-vulkan版とUpscaylは、Vulkanを通じてIntel、AMD、NVIDIAで動作します。CUDAが関係するのはPython/PyTorch版で、この経路ではNVIDIA GPUが高速な選択肢になります。
Real-ESRGANで動画をアップスケールできますか?
フレーム単位であれば可能です。realesr-animevideov3はアニメ動画向けです。また、オープンベンチマークではプレビュー用途としてReal-ESRGANとvs_temporalfix VapourSynthフィルターを組み合わせています。ただし各フレームを独立して拡大するため、時間方向のちらつきを完全にはなくせません。
.pthファイルをncnn-vulkanに読み込めますか?
直接は読み込めません。ncnnには変換済みの.param/.binファイルが必要です。変換手段はありますが、強い制約があります。
「ただし、古いアーキテクチャの4xモデルでしか動かない。」 - u/nmkd, r/GameUpscale
最速の実行バックエンドはどれですか?
モデルが同じでも、バックエンドが同じとは限りません。長期利用者の一人は、Vulkan以外では同じ処理が大幅に遅くなったと報告しています。r/softwareのu/SouthernVisit3076は「Vulkanを使うときより、自分の環境ではかなり遅い」と書いています。モデルを責める前に、まず自分のGPUでベンチマークを取るべきです。
今夜使うなら、どの方法を選ぶべきか
Real-ESRGANは手元にある画素をシャープにし、拡散モデル系ツールは画素を置き換えます。素材に求めるのが証拠性なのか、見栄えなのかで選びましょう。
| 状況 | おすすめ |
|---|---|
| 写真を処理したいがターミナルは使いたくない | Real-ESRGANモデルを選んだUpscayl |
| アニメまたは線画 | anime_6B / realesrgan-x4plus-animeを使うUpscaylまたはncnn |
| 写真を2倍にしたい | RealESRGAN_x2plusを使うPython版 |
| 古いスキャン、圧縮の強い画像、ノイズの多い画像 | -dnを高めに調整したrealesr-general-x4v3 |
| 顔が重要なポートレート | --face_enhance付きのPython版 |
| アニメ動画クリップ | realesr-animevideov3を指定したncnn |
| 実写映像または4K動画 | Real-ESRGANではなくSeedVR2またはTopaz |
| 数百枚の画像を処理したいがGPU時間がない | API:Replicateを1枚$0.002で利用 |