- How to Adjust X and Y Axis Scale in Arduino Serial Plotter (No Extra Software Needed)Posted 2 months ago
- Elettronici Entusiasti: Inspiring Makers at Maker Faire Rome 2024Posted 2 months ago
- makeITcircular 2024 content launched – Part of Maker Faire Rome 2024Posted 5 months ago
- Application For Maker Faire Rome 2024: Deadline June 20thPosted 6 months ago
- Building a 3D Digital Clock with ArduinoPosted 11 months ago
- Creating a controller for Minecraft with realistic body movements using ArduinoPosted 12 months ago
- Snowflake with ArduinoPosted 12 months ago
- Holographic Christmas TreePosted 12 months ago
- Segstick: Build Your Own Self-Balancing Vehicle in Just 2 Days with ArduinoPosted 1 year ago
- ZSWatch: An Open-Source Smartwatch Project Based on the Zephyr Operating SystemPosted 1 year ago
Prisma photo? No thanks, I’d use the open source deep learning from Torch on GitHub
Prisma filter is a real “a must do trend” in smartphone photography, nowadays. It transforms your photos into artworks using the styles of famous artists: Van Gogh, Picasso, Levitan, as well as world famous ornaments and patterns. A unique combination of neural networks and artificial intelligence helps you turn memorable moments into timeless art.
How do they make it? Pre-processed gallery? Simple photo effects? Wizardry? Nope, it is a process called “deep learning algorithm”, and it is done through the use of convolutional neural networks.
The good news is that we have open source version of that algorithm!
This is a torch implementation of the paper A Neural Algorithm of Artistic Style by Leon A. Gatys, Alexander S. Ecker, and Matthias Bethge.
The paper presents an algorithm for combining the content of one image with the style of another image using convolutional neural networks. Here’s an example that maps the artistic style of The Starry Night onto a night-time photograph of the Stanford campus:
Setup:
Dependencies:
Optional dependencies:
- For CUDA backend:
- CUDA 6.5+
- cunn
- For cuDNN backend:
- For OpenCL backend:
After installing dependencies, you’ll need to run the following script to download the VGG model:
<code>sh models/download_models.sh </code>
This will download the original VGG-19 model. Leon Gatys has graciously provided the modified version of the VGG-19 model that was used in their paper; this will also be downloaded. By default the original VGG-19 model is used.
If you have a smaller memory GPU then using NIN Imagenet model will be better and gives slightly worse yet comparable results. You can get the details on the model from BVLC Caffe ModelZoo and can download the files from NIN-Imagenet Download Link
You can find detailed installation instructions for Ubuntu in the installation guide.
Usage
Basic usage:
<code>th neural_style.lua -style_image <image.jpg> -content_image <image.jpg> </code>
OpenCL usage with NIN Model (This requires you download the NIN Imagenet model files as described above):
<code>th neural_style.lua -style_image examples/inputs/picasso_selfport1907.jpg -content_image examples/inputs/brad_pitt.jpg -output_image profile.png -model_file models/nin_imagenet_conv.caffemodel -proto_file models/train_val.prototxt -gpu 0 -backend clnn -num_iterations 1000 -seed 123 -content_layers relu0,relu3,relu7,relu12 -style_layers relu0,relu3,relu7,relu12 -content_weight 10 -style_weight 1000 -image_size 512 -optimizer adam </code>
To use multiple style images, pass a comma-separated list like this:
-style_image starry_night.jpg,the_scream.jpg
.
Note that paths to images should not contain the ~
character to represent your home directory; you should instead use a relative path or a full absolute path.
more info here: GitHub – jcjohnson/neural-style: Torch implementation of neural style algorithm
Pingback: 人工知能で画像にフィルターをかける備忘録