トップページ -> データベース関連技術 -> 画像復元(image restoration),超解像(super resolution) -> 超解像,画像の修復(alexjc/neural-enhance,Python 3.7,Theano,Lasangne, scipy 1.1.0, pillow を使用)(Ubuntu 上)
[サイトマップへ], [サイト内検索へ]

超解像,画像の修復(alexjc/neural-enhance,Python 3.7,Theano,Lasangne, scipy 1.1.0, pillow を使用)(Ubuntu 上)

URL: https://github.com/alexjc/neural-enhance

手順の要点: Ubuntu を利用.Python 3.7, Theano, Lasagne, scipy 1.1.0, pillow, Python の仮想環境(Ubuntu では ~/theanopy37)

ソフトウエア等の利用条件は,利用者で確認すること.

謝辞:ソフトウエアの作者に感謝します


前準備

Python 3.7 のインストール

Ubuntu での pyenv を用いた Python 3.7 のインストールについては,このページの下で説明している.

Git のインストール

(NVIDIA GPU を使うとき)NVIDIA グラフィックスボード・ドライバ,NVIDIA CUDA ツールキットのインストール

GPU とは,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある. CUDA とは,NVIDIA社が提供している GPU 用のプラットフォームである. NVIDIA 社のグラフィックスボードが持つ GPU の機能を使うとき,CUDA を利用することができる.

NVIDIA グラフィックスボード・ドライバ,NVIDIA CUDA ツールキットのインストールの要点:

詳しくは,次のように別ページで説明している.インストール手順が分からなくなったり,不具合があったときは,次に書いている別ページの説明を確認すること.

(NVIDIA GPU を使うとき)NVIDIA cuDNN のインストール

NVIDIA cuDNN のインストールの要点:

詳細説明


隔離された Python 仮想環境の新規作成

Ubuntu では,運用を簡単にする(バージョン指定のもの間違ってアップデートしないなど)のために,venv を用いて,隔離された Python 仮想環境を作ることにする.

  1. 今から作成する隔離された Python 仮想環境の名前と、Pythonのバージョンを決めておく

    前もって Python バージョン 3.7 をインストールしておくこと

  2. Python 3.7 の準備

    Ubuntu の場合

    次の手順により,システム Python とは別に,pyenv を用いて Pytnon 3.7 をインストールし,そこに venv をインストールする.

    1. pyenv のインストールと設定

      図などの入った詳しい説明は別ページ

      sudo apt -yV install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
      cd /tmp
      curl https://pyenv.run | bash
      echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.bashrc
      echo 'if [ -d "${PYENV_ROOT}" ]; then' >> ~/.bashrc
      echo '    export PATH=${PYENV_ROOT}/bin:$PATH' >> ~/.bashrc
      echo '    eval "$(pyenv init -)"' >> ~/.bashrc
      echo '    eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
      echo 'fi' >> ~/.bashrc
      exec $SHELL -l
      
    2. 次のコマンドにより,pyenv を用いて Python 3.7.7 をインストール
      env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.7.8
      

      [image]
  3. Ubuntu では端末を開く.
  4. venv を用いて,Python 3.7 が動く隔離された Python 仮想環境を作る.

    Ubuntu の場合

    下の例では,隔離された Python 仮想環境のためのディレクトリを ~/theanopy37に作成している.

    pyenv shell 3.7.8
    python -m venv ~/theanopy37
    

    [image]

このページで説明のために使用する画像

画像ファイル fruits.jpg, home.jpg のダウンロード

画像ファイル fruits.jpg, home.jpg のダウンロード手順は,別ページで説明している.

https://github.com/opencv/opencv/tree/master/samples/data で公開されている fruits.jpg, home.jpg を使用する(謝辞:画像の作者に感謝します)


画像の拡張(alexjc/neural-enhance,Python 3.7,Theano,Lasangne, scipy 1.1.0, pillow を使用)(Ubuntu 上)

  1. Ubuntu では端末を開く.
  2. venv の隔離された Python 仮想環境を有効化する

    Ubuntu の場合

    source ~/theanopy37/bin/activate
    

    [image]
  3. alexjc/neural-enhance のダウンロード

    Ubuntu での手順を下に示す.

    cd ~/theanopy37
    rm -rf neural-enhance
    

    [image]

    git clone https://github.com/alexjc/neural-enhance
    cd neural-enhance
    

    [image]
  4. 前提ソフトウエアのインストール
    sudo apt -yV install libblas-dev libopenblas-dev libatlas-base-dev
    sudo apt -yV install gcc g++ gfortran build-essential git wget libopenblas-dev python3-dev python3-pip python3-nose python3-numpy python3-scipy
    
  5. Theano,Lasagne のインストール
    python -m pip install -U https://github.com/Theano/Theano/archive/master.zip
    python -m pip install -U https://github.com/Lasagne/Lasagne/archive/master.zip
    
  6. 前提パッケージのインストール

    python -m pip install scipy==1.1.0 pillow
    python -m pip install -r requirements.txt
    

    [image]

    [image]
  7. .so ファイルの確認

    ls -al ~/.pyenv/version/3.7.7/lib
    

    [image]
  8. ne1x-photo-repair-0.3.pkl.bz2 ne2x-photo-default-0.3.pkl.bz2 の入手

    画面の指示により, https://github.com/alexjc/neural-enhance/releases を開く

    [image]

    ファイルは,~/theanopy37/neural-enhanceに置く.

    [image]
  9. Python プログラムを動かす.

    次は,ズームレベル2に設定して実行

    fruits.jpg」のところは,画像ファイル名を指定すること

    python enhance.py --type=photo --zoom=2 fruits.jpg
    

    [image]

    元画像は次の通り

    [image]

    出来た画像は次の通り

    [image]

    次は,画像修復.

    fruits.jpg」のところは,画像ファイル名を指定すること

    python enhance.py --type=photo --model=repair --zoom=1 fruits.jpg
    

    [image]

    元画像は次の通り

    [image]

    出来た画像は次の通り

    [image]

本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]