はじめに
Theraは、チューリッヒ工科大学とチューリッヒ大学のチームによって開発されたオープンソースの画像超解像ツールである。低解像度の画像を2倍、3.14倍、あるいは非整数の倍数など、任意の倍率に拡大することができ、ギザギザやぼやけを生じさせない。Theraの中核には、Neural Heat Fieldsの使用と、実際の撮像プロセスを模倣した組み込みの物理観測モデルがあり、自然な画像のディテールを実現している。このツールはGitHubで自由に利用でき、誰でもコードをダウンロードしたり、事前に訓練されたモデルを使用することができる。
デモアドレス:https://huggingface.co/spaces/prs-eth/thera
機能一覧
- 任意の倍率をサポート:倍率を自由に設定でき、整数に限定されない。
- ギザギザのない効果:Neural Thermal Fieldテクノロジーにより、増幅時のギザギザや歪みを排除。
- 内蔵の物理観測モデル:実際の撮像プロセスをシミュレートし、画像の自然さを高めます。
- オープンソースのサポート:ユーザーはコードを変更したり、自分のニーズに合わせることができます。
- 訓練済みモデルを提供:EDSRとRDNの両方のバックボーンネットワークの複数のバリエーションを含む。
- クロスプラットフォーム動作:Python 3.10をベースに、LinuxシステムとNVIDIA GPUをサポート。
- ローカルデモのサポート:画像をアップロードし、Gradioのインターフェイスを介してリアルタイムで処理します。
ヘルプの使用
Theraの使い方は、インストールと操作の2つに分かれます。以下は、すぐに使い始められるようにするための詳しい手順です。
設置プロセス
TheraにはLinux、Python 3.10、NVIDIA GPUが必要です。インストール手順は以下の通り:
- 環境づくり
CondaでPython 3.10の環境を作成し、アクティベートする:
conda create -n thera python=3.10
conda activate thera
- ダウンロードコード
GitHubからTheraプロジェクトをクローンする:
git clone https://github.com/prs-eth/thera.git
cd thera
- 依存関係のインストール
必要なライブラリをpipでインストールする:
pip install --upgrade pip
pip install -r requirements.txt
- 訓練済みモデルのダウンロード
Theraは、以下のような様々な訓練済みモデルを提供している。thera-rdn-pro.pkl
Hugging FaceまたはGoogle Driveからダウンロードできます。Hugging FaceまたはGoogle Driveからダウンロードできます。リンクは以下です:
インストールが完了すれば、Theraを実行する準備が整います。問題がある場合は python run_eval.py -h
ヘルプを見る
ワークフロー
セラの主な機能は画像を拡大することです。以下はその具体的な手順である:
- 入力画像の準備
拡大したい画像を次のようなフォルダに入れます。data/test_images
PNG、JPEG、その他のフォーマットをサポートしています。 - 超解像を実行する
ターミナルでコマンドを入力して画像を処理する:
./super_resolve.py input.png output.png --scale 3.14 --checkpoint thera-rdn-pro.pkl
input.png
は入力画像である。output.png
は出力画像である。--scale
倍率を設定する(例:3.14)。--checkpoint
事前に訓練されたモデルのパスを指定する。
- バッチファイル
複数の画像を処理したい場合はrun_eval.py
::
python run_eval.py --checkpoint thera-rdn-pro.pkl --data-dir data --eval-sets test_images
出力は outputs
フォルダー
注目の機能操作
Theraのハイライトは、任意のスケールとノンエイリアス効果です。以下はその詳細な説明である:
- 任意の縮尺でズームイン
など、任意の倍率を設定できる。--scale 2.5
もしかしたら--scale 3.14
これは、固定倍率しか選択できない従来のツールよりも柔軟である。これは、固定された倍率しか選択できない従来のツールよりも柔軟である。例えば、3.14倍に拡大する場合、コマンドは次のようになる:
./super_resolve.py input.png output.png --scale 3.14 --checkpoint thera-rdn-pro.pkl
- ギザギザ効果なし
Theraは、ニューラル・サーマルフィールド・テクノロジーで画像のエッジを処理する。追加の設定は不要で、ズームインすると自動的に細部が保持され、ジャギーが回避される。例えば、テキスト画像を拡大しても、エッジはシャープなままです。 - 物理観測モデル
この機能はモデルに組み込まれており、実際の撮影プロセスをシミュレートします。パラメータを調整する必要はなく、Theraが自動的に最適化し、よりリアルな画像を出力します。
ローカル・デモ版
Theraをより直感的に体験するには、Gradioのデモを実行してください:
- デモコードの複製
git clone https://huggingface.co/spaces/prs-eth/thera thera-demo
cd thera-demo
- 依存関係のインストール
pip install -r requirements.txt
- スタートアップ・デモ
python app.py
ブラウザを開き、次のサイトにアクセスする。 http://localhost:7860
.ウェブページに画像をアップロードし、倍率を調整してリアルタイムで効果を見ることができる。
デバッグの推奨事項
これらのXLAパラメータは、パフォーマンス上の問題が発生した場合に使用できる:
- ビデオメモリの事前割り当てをオフにする:
XLA_PYTHON_CLIENT_PREALLOCATE=false
- JITデバッグをオフにする:
JAX_DISABLE_JIT=1
以上の手順で、Theraを使ってどんな画像も処理できます。使い方は簡単で、素晴らしい結果が得られます。
アプリケーションシナリオ
- リモートセンシング画像処理
Theraは人工衛星やドローンで撮影された画像を拡大することができる。研究者はこれを使用して地形の詳細を分析し、例えば森林被覆の変化を監視することができる。 - 医用画像補正
TheraはX線画像やMRI画像の解像度を向上させる。医師はこれを使用して、より微細な病変を確認し、診断効率を向上させることができる。 - デジタルアート修復
芸術家はTheraを使って、解像度の低い作品や古い写真を拡大することができる。例えば、ぼやけたスケッチを拡大すると、より詳細な情報が得られる。
品質保証
- セラはWindowsをサポートしていますか?
Windowsユーザーは仮想マシンで実行できる。 - 倍率に制限はありますか?
上限は決まっていない。ただし、倍率が高すぎる場合(例えば10倍以上)、元画像の情報量が不足するため、効果が低下することがあります。 - トレーニングコードはいつ発表されますか?
正式には、トレーニング・コードは近日中に公開される予定だ。最新情報はGitHubページをフォローしてください。