All Projects → westgarthb → style-transfer-video-processor

westgarthb / style-transfer-video-processor

Licence: GPL-2.0 license
This code extends the neural style transfer image processing technique to video by generating smooth transitions between several reference style images

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to style-transfer-video-processor

Zi2zi
Learning Chinese Character style with conditional GAN
Stars: ✭ 1,988 (+1659.29%)
Mutual labels:  style-transfer
Tensorflow Fast Style Transfer
A simple, concise tensorflow implementation of fast style transfer
Stars: ✭ 224 (+98.23%)
Mutual labels:  style-transfer
transformer-drg-style-transfer
This repository have scripts and Jupyter-notebooks to perform all the different steps involved in Transforming Delete, Retrieve, Generate Approach for Controlled Text Style Transfer
Stars: ✭ 97 (-14.16%)
Mutual labels:  style-transfer
Dst
Deformable Style Transfer (ECCV 2020)
Stars: ✭ 167 (+47.79%)
Mutual labels:  style-transfer
Style transfer
CNN image style transfer 🎨.
Stars: ✭ 210 (+85.84%)
Mutual labels:  style-transfer
ArtsyNetworks
Deep Learning + Arts
Stars: ✭ 24 (-78.76%)
Mutual labels:  style-transfer
Msg Net
Multi-style Generative Network for Real-time Transfer
Stars: ✭ 152 (+34.51%)
Mutual labels:  style-transfer
Domain-Aware-Style-Transfer
Official Implementation of Domain-Aware Universal Style Transfer
Stars: ✭ 84 (-25.66%)
Mutual labels:  style-transfer
Warpgan
(CVPR 2019 Oral) Style Transfer with Geometric Deformation
Stars: ✭ 215 (+90.27%)
Mutual labels:  style-transfer
MeuralPaint
TensorFlow implementation of CNN fast neural style transfer ⚡️ 🎨 🌌
Stars: ✭ 19 (-83.19%)
Mutual labels:  style-transfer
Faststyle
Tensorflow implementation of fast neural style transfer.
Stars: ✭ 170 (+50.44%)
Mutual labels:  style-transfer
Cyclegan Music Style Transfer
Symbolic Music Genre Transfer with CycleGAN
Stars: ✭ 201 (+77.88%)
Mutual labels:  style-transfer
mlmodelzoo
Build your iOS 11+ apps with the ready-to-use Core ML models below
Stars: ✭ 17 (-84.96%)
Mutual labels:  style-transfer
Cartoonify
Deploy and scale serverless machine learning app - in 4 steps.
Stars: ✭ 157 (+38.94%)
Mutual labels:  style-transfer
awesome-text-style-transfer
A list of resources about Text Style Transfer
Stars: ✭ 43 (-61.95%)
Mutual labels:  style-transfer
Ai Art
PyTorch (and PyTorch Lightning) implementation of Neural Style Transfer, Pix2Pix, CycleGAN, and Deep Dream!
Stars: ✭ 153 (+35.4%)
Mutual labels:  style-transfer
MIDI-VAE
No description or website provided.
Stars: ✭ 56 (-50.44%)
Mutual labels:  style-transfer
Face-Sketch
Face Sketch Synthesis with Style Transfer using Pyramid Column Feature, WACV2018
Stars: ✭ 52 (-53.98%)
Mutual labels:  style-transfer
Joint-Bilateral-Learning
An unofficial implementation of Joint Bilateral Learning for Real-time Universal photorealistic Style Transfer
Stars: ✭ 52 (-53.98%)
Mutual labels:  style-transfer
Neural-Tile
A better tiling script for Neural-Style
Stars: ✭ 35 (-69.03%)
Mutual labels:  style-transfer

Neural Style Transfer Transition Video Processing

By Brycen Westgarth and Tristan Jogminas

Description

This code extends the neural style transfer image processing technique to video by generating smooth transitions between a sequence of reference style images across video frames. The generated output video is a highly altered, artistic representation of the input video consisting of constantly changing abstract patterns and colors that emulate the original content of the video. The user's choice of style reference images, style sequence order, and style sequence length allow for infinite user experimentation and the creation of an endless range of artistically interesting videos.

System Requirements

This algorithm is computationally intensive so I highly recommend optimizing its performance by installing drivers for Tensorflow GPU support if you have access to a CUDA compatible GPU. Alternatively, you can take advantage of the free GPU resources available through Google Colab Notebooks. Even with GPU acceleration, the program may take several minutes to render a video.

Colab Notebook Version

Configuration

All configuration of the video properties and input/output file locations can be set by the user in config.py

Configurable Variable in config.py Description
ROOT_PATH Path to input/output directory
FRAME_HEIGHT Sets height dimension in pixels to resize the output video to. Video width will be calculated automatically to preserve aspect ratio. Low values will speed up processing time but reduce output video quality
INPUT_FPS Defines the rate at which frames are captured from the input video
INPUT_VIDEO_NAME Filename of input video
STYLE_SEQUENCE List that contains the indices corresponding to the image files in the 'style_ref' folder. Defines the reference style image transition sequence. Can be arbitrary length, the rate at which the video transitions between styles will be adjusted to fit the video
OUTPUT_FPS Defines the frame rate of the output video
OUTPUT_VIDEO_NAME Filename of output video to be created
GHOST_FRAME_TRANSPARENCY Proportional feedback constant for frame generation. Should be a value between 0 and 1. Affects the amount change that can occur between frames and the smoothness of the transitions.
CLEAR_INPUT_FRAME_CACHE If True the program clears the captured input frames each run. If False, you can run multiple style sequences without having to recapture video frames
PRESERVE_COLORS If True the output video will preserve the colors of the input video. If False the program will perform standard style transfer

The user must find and place their own style reference images in the style_ref directory. Style reference images can be arbitrary size. For best results, try to use style reference images with similar dimensions and aspect ratios. Three example style reference images are given.

Minor video time effects can be created by setting INPUT_FPS and OUTPUT_FPS to different relative values

  • INPUT_FPS > OUTPUT_FPS creates a slowed time effect
  • INPUT_FPS = OUTPUT_FPS creates no time effect
  • INPUT_FPS < OUTPUT_FPS creates a timelapse effect

Usage

$ python3 -m venv env
$ source env/bin/activate
$ pip3 install -r requirements.txt
$ python3 style_frames.py

Examples

Input Video

file

Example 1

Reference Style Image Transition Sequence

file

Output Video

file

Output Video with Preserved Colors

file

Example 2

Reference Style Image Transition Sequence

file

Output Video

file

Example Video made using this program
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].