[Python][独学]誰でも簡単、低画質画像を高画質にするコード(モデル)


画像を見るならやっぱり高画質の方がいいですよね、なんだか価値が高いように感じられる。
というわけで、この記事では画像生成モデルを使用して、低画質画像を高画質へ変換させます。

具体的には以下のレポジトリ(Real-ESRGAN)を使って、画像を高画質にしていきます。
画像を高解像・高画質にすることを超解像と読んだりします。
この記事では超解像を誰でも手軽に試せるようにCPUで動くようにします。

GitHub - xinntao/Real-ESRGAN: Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration.
Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration. - xinntao/Real-ESRGAN

スポンサーリンク

コードをローカル環境へ

まずはレポジトリをcloneします。

git clone https://github.com/xinntao/Real-ESRGAN.git

gitコマンドを使ったことがないよという方はgit公式サイトを参考に、
ご自身の環境に合わせてsetupしてみてください

cloneが終わったら、cloneした先へ移動します。

cd Real-ESRGAN

環境構築

それでは環境を整えていきましょう!
コードを動かすために必要なライブラリはrequirements.txtにまとめられているので
下記を実行して、ライブラリをインストール

pip install -r requirements.txt

学習済みモデルをこちらのダウンロードリンクもしくは下記を実行でダウンロード。
リンクからダウンロードした場合はrealesrgan/weights もしくは experiments/pretrained_modelsにダウンロードした学習済みモデルを保存してください。

wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P experiments/pretrained_models

微修正

私が実行した時にはそのままではエラーが出てしまうので、ほんの少しだけコードを省きます。
realesrganディレクトリにある__init__.pyを開いてください。中身は以下のようになっています。

# flake8: noqa
from .archs import *
from .data import *
from .models import *
from .utils import *
from .version import *

しかし、末尾のimport文でエラーを吐くのでコメントアウト(command + /)しちゃいましょう!
こんな感じ⬇︎

# flake8: noqa
from .archs import *
from .data import *
from .models import *
from .utils import *
# from .version import *




実行

どこからか高画質化したい画像を引っ張ってきて、inputsディレクトリにsample.jpegという名前で保存します。
(もちろん、保存ファイル名は好きなもので問題ありません、その場合以下コマンドのsample.jpegの名前を変更して実行してください)
あとは以下のコマンドを実行して少し待てば出来上がりです!

python inference_realesrgan.py -n RealESRGAN_x4plus -i inputs/sample.jpeg --fp32

おまけ

今回のsampleとして使用したsample画像はこちらのサイトからお借りいたしました。
もし超解像がうまくいってる気がしない時は一度私の使用した画像と同じもので試して正常に動いているのかを確認してみることをお勧めします!

コメント

タイトルとURLをコピーしました