GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

lengstrom

fast-style-transfer – TensorFlow CNNを使って素早くスタイルを転送! ⚡ 🖥 🎨 🖼

投稿日:

TensorFlow CNNを使って素早くスタイルを転送! 🖥 🎨 🖼

TensorFlowでの高速スタイル転送

有名な絵画のスタイルを数秒で追加! あなたもビデオをスタイルすることができます!

2015年のTitan Xでは、Francis PicabiaによるUdnieのようなMIT Stata Center(1024×680)をスタイルするのに100msかかる。

私たちの実装は、Gatysの芸術スタイルの神経アルゴリズム、 リアルタイムスタイル転送と超解像度のためのジョンソンの知覚損失 、Ulyanovのインスタンス正規化の組み合わせに基づいています。

ライセンス

Copyright(c)2016 Logan Engstrom。 商用で(または学術研究以外の目的で)私に連絡してください(私の大学のドメインドット・エドで電子メール:engstrom)。 適切な帰属が与えられ、この著作権表示が保持されている限り、研究目的では無料です。

ビデオのスタイル設定

ここでは、ビデオのすべてのフレームを変換し、結果を結合しました。 YouTubeの完全なデモに行くにはクリックしてください! ここのスタイルは上記のようなウドニーです。

これらのビデオをここで生成する方法を参照してください!

画像のスタイル

シカゴの写真に様々な絵のスタイルを加えました。 サムネイルをクリックすると、適用されているスタイルイメージがすべて表示されます。



実装の詳細

私たちの実装では、TensorFlowを使用して高速スタイルの転送ネットワークをトレーニングしています。 バッチ正規化がUlyanovのインスタンス正規化に置き換えられ、出力tanhレイヤーのスケーリング/オフセットがわずかに異なる点を除いて、Johnsonで説明したのとほぼ同じ変換ネットワークを使用します。 VGG16の代わりにVGG19を使用し、通常Johnsonの実装よりも「浅い」レイヤーを使用するrelu1_1記載されたものに近い損失関数を使用します( relu1_1ではなくrelu1_1を使用します)。 経験的に、これは変形のスケールスタイルの特徴を大きくします。

ドキュメンテーション

トレーニングスタイル転送ネットワーク

style.pyを使用して、新しいスタイル転送ネットワークを訓練してください。 使用可能なすべてのパラメータを表示するにはpython style.pyを実行します。 トレーニングはMaxwell Titan Xで4-6時間かかります。 詳細なドキュメントはこちら これを実行する前に、 setup.shを実行する必要がありsetup.sh 使用例:

python style.py --style path/to/style/img.jpg \
  --checkpoint-dir checkpoint/path \
  --test path/to/test/img.jpg \
  --test-dir path/to/test/dir \
  --content-weight 1.5e1 \
  --checkpoint-iterations 1000 \
  --batch-size 20

スタイル転送ネットワークの評価

evaluate.pyを使用evaluate.pyてスタイル転送ネットワークを評価します。 すべての可能なパラメータを表示するにはpython evaluate.pyを実行します。 Maxwell Titan Xでは、フレームごとに100 ms(バッチサイズが1の場合)の評価が必要です。 詳細なドキュメントはこちら CPU上でフレームあたり数秒かかる。 評価のためのモデルはここにあります 使用例:

python evaluate.py --checkpoint path/to/style/model.ckpt \
  --in-path dir/of/test/imgs/ \
  --out-path dir/for/results/

ビデオのスタイル設定

transform_video.pyを使用してスタイルを動画に転送します。 可能なすべてのパラメータを表示するには、 python transform_video.pyを実行します。 ffmpegが必要です。 より詳細なドキュメントはこちら 使用例:

python transform_video.py --in-path path/to/input/vid.mp4 \
  --checkpoint path/to/style/model.ckpt \
  --out-path out/video.mp4 \
  --device /gpu:0 \
  --batch-size 4

要件

上記を実行するには、次のものが必要です。

  • TensorFlow 0.11.0
  • Python 2.7.9、ピロー3.4.2、scipy 0.18.1、numpy 1.11.2
  • あなたが訓練したい場合(そして4ヶ月間待たずに):
    • まともなGPU
    • GPU(cudaなど)上でTFを実行するために必要なすべてのNVIDIAソフトウェア
  • ffmpeg 3.1.3ビデオを整形する場合

引用

  @misc{engstrom2016faststyletransfer,
    author = {Logan Engstrom},
    title = {Fast Style Transfer},
    year = {2016},
    howpublished = {\url{https://github.com/lengstrom/fast-style-transfer/}},
    note = {commit xxxxxxx}
  }

帰属/ありがとう

  • このプロジェクトは、 Anish Athalyeによって与えられたアドバイス(およびGPUアクセス)なしには起こり得ませんでした
    • このプロジェクトはまた、AnishのNeural Styleからいくつかのコードを借りた
  • いくつかのreadme / docs書式は、Justin JohnsonのFast Neural Style
  • READMEの冒頭のStata Centerのイメージは、 Juan Pauloが撮影したものです

関連作業







-lengstrom
-, , ,

執筆者: