1. 製品
  2.   画像
  3.   Python
  4.   Neural Enhance
 
  

画像用のオープンソース Python API

ディープラーニングを使用した画像の超解像

ニューラルエンハンスとは?

Neural Enhance は、画像を強調するためのオープンソースの Python API です。 API はディープ ラーニングを使用して画像を強化します。この API を使用すると、ニューラル ネットワークをトレーニングし、画像を 2 倍または 4 倍にズームすることができます。低解像度の画像に似たデータセットを使用して、画像内のニューロンの数を増やすことで画像を強化できます。

CPU と GPU レンダリング HQ の両方を使用して画像を強化できます。 GPU で 1080p 出力を生成するには、画像ごとに約 5 秒または 2 秒かかり、CPU レンダリング HQ は 1080 出力で約 20 ~ 60 秒かかります。

Previous Next

ニューラルエンハンスの開始

Neural Enhance をインストールする推奨される方法は、Docker を使用することです。次のコマンドを使用して Neural Enhance をインストールしてください。

Docker 経由で Neural Enhance をインストールする

docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help

無料の Python API を介して画像を強化する

Neural-Enhance API を使用すると、プログラムで画像を強化できます。 API は、API で利用可能な事前トレーニング済みモデルで使用できるコマンドのリストを提供します。 API を使用すると、超解像度スクリプトを実行して JPEG アーティファクトを修復し、倍率をズームし、1 回の実行で複数の高品質の画像を処理し、出力画像を表示できます。この1行のコードを使用して、画像を簡単に強化できます

Python で画像を強化する

  1. コマンドプロンプトを開く
  2. Enhanced.py ディレクトリに移動します
  3. 次のコマンドを実行し、強化するファイル タイプ、修復、ズーム オプション、および画像パスを渡します。

Python で画像を強化する

# Run the super-resolution script to repair JPEG artefacts, zoom factor 1:1.
python3 enhance.py --type=photo --model=repair --zoom=1 broken.jpg
# Process multiple good quality images with a single run, zoom factor 2:1.
python3 enhance.py --type=photo --zoom=2 file1.jpg file2.jpg
# Display output images that were given `_ne?x.png` suffix.
open *_ne?x.png
  

Python による超解像度画像のトレーニング

独自の方法で画像をトレーニングするオープンソースの画像ライブラリ Neural Enhance。 API にはデフォルトの事前トレーニング済みモデルが付属しており、画像データセットに基づくパラメーターを使用して独自のプロセスをトレーニングできます。紙からの知覚的損失を使用してモデルをトレーニングしたり、敵対的なセットアップを使用してモデルをトレーニングしたりできます。

プリトトレーニングモデルとトレーニング Super-Resolution を Python API 経由で使用

# Pre-train the model using perceptual loss from paper [1] below.
python3.4 enhance.py --train "data/*.jpg" --model custom --scales=2 --epochs=50 \
    --perceptual-layer=conv2_2 --smoothness-weight=1e7 --adversary-weight=0.0 \
    --generator-blocks=4 --generator-filters=64
# Train the model using an adversarial setup based on [4] below.
python3.4 enhance.py --train "data/*.jpg" --model custom --scales=2 --epochs=250 \
         --perceptual-layer=conv5_2 --smoothness-weight=2e4 --adversary-weight=1e3 \
         --generator-start=5 --discriminator-start=0 --adversarial-start=5 \
         --discriminator-size=64
# The newly trained model is output into this file...
ls ne?x-custom-*.pkl.bz2
 日本