OpenMMLab の MMEditing 1.0.0rc を使ってサクッと超解像

公開日:2022年12月6日
最終更新日:2023年9月8日


MMEditingはMMagicに吸収されました。
新しくMMagicを使った超解像の記事を書いたのでよかったらそちらを見て下さい。
touch-sp.hatenablog.com



これ以降がオリジナル記事ですが内容が古くなっています。

はじめに

MMEditing 1.0.0rc を使って超解像を行いました。

環境構築

1

Windows 11
CUDA 11.6.2
Python 3.9.13
pip install torch==1.12.1 torchvision==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
pip install mmcv==2.0.0rc3 -f https://download.openmmlab.com/mmcv/dist/cu116/torch1.12.0/index.html
pip install mmedit==1.0.0rc3
pip install openmim==0.3.3
pip install mmengine==0.3.2

2

Windows 11
CUDA 11.6.2
Python 3.10.9
pip install torch==1.13.1 torchvision==0.14.1 --extra-index-url https://download.pytorch.org/whl/cu116
pip install mmcv==2.0.0rc3 -f https://download.openmmlab.com/mmcv/dist/cu116/torch1.13.0/index.html
pip install mmedit==1.0.0rc5
pip install openmim==0.3.4
pip install mmengine==0.4.0
pip install clip==0.2.0

Pythonスクリプト

import os
import torch
from torchvision.datasets.utils import download_url
from mmedit.apis import init_model, restoration_inference
from mmedit.utils import tensor2img
from mim.commands.download import download

device = 'cuda' if torch.cuda.is_available() else 'cpu' 

img_url ='https://github.com/open-mmlab/mmediting/raw/master/tests/data/lq/baboon_x4.png'
img_fname = img_url.split('/')[-1]
download_url(img_url, root = '.', filename = img_fname)

os.makedirs('models', exist_ok=True)

checkpoint_name = 'esrgan_x4c64b23g32_1xb16-400k_div2k'
config_fname = checkpoint_name + '.py'

checkpoint = download(package="mmedit", configs=[checkpoint_name], dest_root="models")[0]

model = init_model(os.path.join('models', config_fname), os.path.join('models', checkpoint), device = device)

output = restoration_inference(model, img_fname)
output = tensor2img(output)

import mmcv
mmcv.imwrite(output, 'result.png')
mmcv.imshow(output, 'result')

version 0.xとの変更点

tensor2imgのインポート

version 0.x

from mmedit.core import tensor2img

version 1.0.0rc

from mmedit.utils import tensor2img

関連記事

touch-sp.hatenablog.com