D.Sýkora, O. Jamriška, O. Texler, J. Fišer, M. Lukáč, J. Lu, and E. Shechtman
[WebPage
], [Paper
], [Slides
], [BiBTeX
], [Unity3D Asset
]
StyleBlit is an efficient example-based style transfer algorithm that can deliver high-quality stylized renderings in real-time on a single-core CPU. Our technique is especially suitable for style transfer applications that use local guidance - descriptive guiding channels containing large spatial variations. Local guidance encourages transfer of content from the source exemplar to the target image in a semantically meaningful way. Typical local guidance includes, e.g., normal values, texture coordinates or a displacement field. Contrary to previous style transfer techniques, our approach does not involve any computationally expensive optimization.
Like the demo above? ... try it by yourself!
This implementation is written in C++ using OpenGL3.2. Build scripts for web-app, MacOS desktop app, and Windows desktop app are provided.
- We use Emscripten SDK to build the web app - to setup the Emscripten SDK, follow the instructions here: https://emscripten.org/docs/getting_started/downloads.html
- Once Emscripten SDK is configured (i.e., em++ command is found on your PATH and works), run
build-emscripten.bat
- Run
styleblit.html
in your browser - Possible issue: Google Chrome for security reasons might refuse to run html with emscripten code without http (file:///C:/.../styleblit.html), use different web browser or run it using HTTP server. For example
python -m http.server 8000
(http://localhost:8000/styleblit.html)
- Make sure you have Visual Studio installed (cl.exe compiler)
- Run
build-windows.bat
- Run
styleblit.exe
- Make sure you have clang compiler
- Run
build-macos.sh
- Run
styleblitapp
If you find StyBlit usefull for your research or work, please use the following BibTeX entry.
@Article{Sykora19-EG,
author = "Daniel S\'{y}kora and Ond\v{r}ej Jamri\v{s}ka and Ond\v{r}ej Texler
and Jakub Fi\v{s}er and Michal Luk\'{a}\v{c} and Jingwan Lu and Eli Shechtman",
title = "{StyleBlit}: Fast Example-Based Stylization with Local Guidance",
journal = "Computer Graphics Forum",
volume = 38,
number = 2,
pages = "83--91",
year = 2019,
}