この Web サイトを使用して、いくつかのneural style転送方法で画像をスタイル設定できます。
このプロジェクトは主にKeras 2.1.3で実装されています(一部Tensorflow)
デモビデオ
高速neural style
ニューラル スタイル " style="max-width: 100%;">
スタイルの交換
マスクスタイル
高速neural style
高速neural style実装は、misgod による fast-neural-style-keras に基づいています。これにいくつかの変更を加えました。このメソッドは、Johnson らによる Perceptual Losses for Real-Time Style Transfer and Super-Resolution に基づいています。
現在のバージョンでは、Conv2D レイヤーの一部を画像変換ネットの深さ方向に分離可能な畳み込みに置き換えます。トレーニング手順の詳細は近々追加される予定です。
スタイルの交換
スタイル スワップ レイヤーは eridgd による WCT-TF から参照されており、元の論文は Chen らによる Fast Patch-based Style Transfer of Arbitrary Style です。
マスクスタイル
Matterport によって実装された Mask R-CNN を使用します。Mask R-CNN の元の論文は He et al による Mask R-CNN です。
Python >= 3.5 (アナコンダ)
CUDA >=8.0 (GPU サポートの場合、新しいバージョンを使用するには、tensorflow-GPU バージョンとの互換性を確認する必要があります)
Cudnn >=6.0 (GPU サポートの場合)
フラスコ0.12.2
ケラス 2.1.3
テンソルフローGPU 1.4
サイピー1.0.0
scikit イメージ
ピココツール
画像
ピル
サイトン
Mask R-CNN の要件も満たす必要があります。
抽出された事前トレーニング済みモデルをダウンロードし、モデルをmodels/fast_style_transfer/pretrained
に解凍してから、 models/file_path.py
の MODELS_PATH を変更し、コンソールを使用してルート プロジェクト フォルダーに移動し、次のように入力します。
python app.py
ブラウザを開いてlocalhost:5000に移動します
最初に COCO データセットをダウンロードする必要があります。2014 年のトレーニング セット (83K 画像) を使用します。
高速neural styleオリジナル
models/src/nets.py
のloss_net
関数に、事前トレーニングされた vgg16 モデルへのパス文字列を入力する必要があります。 ImageDataGenerator を使用して画像をロードしているため、トレーニング画像はcocotrain/0/xxx.jpg
のようなフォルダーに配置する必要があることに注意してください。画像の異なるクラスが異なるフォルダーに保存されていることが前提となっています。
スタイル画像を用意してstatic/img/styles/
に置きます。
以下のコマンドを入力してモデルをトレーニングします。これは、トレーニング画像がプロジェクトのルート フォルダーに保存されており、mosaic という名前のスタイルをトレーニングしたい場合を示す例です。
python train_fast_model.py -p ./cocotrain -s mosaic
content と style の重みを調整することもできます。 -h と入力すると、すべての引数が表示されます。
python train_fast_model.py -h
高速neural style蒸留
オリジナルのFast neural style事前トレーニング済みモデルが必要です。ここにオリジナルの事前トレーニング済みモデルのリンクがあります。
generate_image.py
を実行します。また、 -p
使用して COCO データセットのパスを指定する必要があります。
python generate_image.py -p ./cocotrain
train_distillated_model.py
を実行します。COCO データセットへのパスとスタイル名が必要です。以下に例を示します。 python train_distillated_model.py -p ./cocotrain -s mosaic
スタイルスワップモデル
COCO データセットだけでなく、多数のスタイル イメージも必要です。紙と同じように、Painter by Numbers を使用します。トレーニング画像とスタイル画像は、 cocotrain/0/xxx.jpg
やstyleimages/0/xxx.jpg
などのフォルダーに配置する必要があることに注意してください。
train_style_swap_model.py
を実行します。COCO データセットへのパスとスタイル イメージが必要です。以下に例を示します。 python train_style_swap_model.py -p ./cocotrain -s ./styleimages