Ubuntu22.04DesktopでSCUNetをインストールした記録

AI・機械学習 コンピュータ
AI・機械学習

SCUNetをインストールしたのでその作業ログを残しておきます。

SCUNetは画像のノイズを除去してくれる効果があり、Stable Diffusion Web UIのアップスケーラーとしても採用されています。
今回インストールするリポジトリでは既存の画像ファイルに対してノイズ除去を施すことが出来ます。

私の場合、グレースケールでスキャンした画像ファイルからノイズを除去するために導入してみました。
本来黒色であるべき文字の一部に小さな白色のノイズが乗ることがあり、SCUNetで処理することでそのノイズを除去することが出来ました。何がノイズと認識するかは人それぞれだと思うのですが、そのあたりをうまい具合に除去しているあたり素晴らしいと思います。

pythonの仮想環境を作成

cd ~/git 
python3 -m venv scunetvenv

環境名をscunetvenvにしました。

仮想環境の開始

source ~/git/scunetvenv/bin/activate

仮想環境の終了要確認

deactivate

必要なパッケージをインストール

python -m pip install --upgrade pip
python -m pip install -U --ignore-installed pip
python -m pip install -U torch torchvision torchaudio numpy --index-url https://download.pytorch.org/whl/cu115
python -m pip install -U ipython
python -m pip install -U matplotlib
python -m pip install -U opencv-python
python -m pip install -U tqdm
python -m pip install -U thop
python -m pip install -U einops
python -m pip install -U timm
cd ~/git
git clone --recursive https://github.com/cszn/scunet
cd scunet

モデルのダウンロード

python main_download_pretrained_models.py --models "SCUNet" --model_dir "model_zoo"

サンプルデータで実行

python main_test_scunet_real_application.py --model_name scunet_color_real_psnr --testset_name real3

結果はresults/real3_scunet_color_real_psnrに出力されていました。

python main_test_scunet_gray_gaussian.py --model_name scunet_gray_25 --noise_level_img 25 --testset_name set12

結果はresults\set12_scunet_gray_25に出力されていました。

python main_test_scunet_color_gaussian.py --model_name scunet_color_25 --noise_level_img 25 --testset_name bsd68

結果はresults\bsd68_scunet_color_25に出力されていました。

実行用sh

#!/bin/bash
cd ~
venvFile=`pwd`'/git/scunet/venv/bin/activate'
dataRoot='/mnt/f'
inputDir=$dataRoot'/input'
outputDir=$dataRoot'/output'
logfile=$dataRoot'/logs/scunet.log'

cd $outputDir
if [ `ls -U1 | wc -l` -ne 0 ]; then
    rm *
fi;
cd $inputDir
if [ `ls -U1 | wc -l` -eq 0 ]; then
    echo 'Not File';
    exit 1
fi;
cd ~/git/scunet
source $venvFile
echo '*** scunet Start ***' >> $logfile
date >> $logfile
rm testsets/set12/*
rm results/set12_scunet_gray_25/*
python ~/py/split_image.py $inputDir testsets/set12
python main_test_scunet_gray_gaussian.py --model_name scunet_gray_25 --noise_level_img 25 --testset_name set12
python ~/py/join_image.py results/set12_scunet_gray_25 $outputDir
date >> $logfile
echo '*** scunet End ***' >> $logfile
deactivate
cd ~

venvの位置が異なる。要修正

コメント