Giter Site home page Giter Site logo

jamriska / ebsynth Goto Github PK

View Code? Open in Web Editor NEW
1.5K 46.0 193.0 12.03 MB

Fast Example-based Image Synthesis and Style Transfer

Home Page: https://ebsynth.com

Shell 0.10% Batchfile 0.62% C 61.94% C++ 26.93% Cuda 10.41%
image-synthesis style-transfer image-analogy texture-synthesis

ebsynth's Introduction

Ebsynth: A Fast Example-based Image Synthesizer

ebsynth is a versatile tool for by-example synthesis of images. It can be used for a variety of image synthesis tasks, including guided texture synthesis, artistic style transfer, content-aware inpainting and super-resolution.

The focus of ebsynth is on preserving the fidelity of the source material. Unlike other recent approaches, ebsynth doesn't rely on neural networks. Instead, it uses a state-of-the-art implementation of non-parametric texture synthesis algorithms. Thanks to its patch-based nature, ebsynth produces crisp results, which preserve all the fine detail present in the original image.

Basic usage

ebsynth -style <style.png> -guide <source.png> <target.png> -output <output.png>

Options

-style <style.png>
-guide <source.png> <target.png>
-weight <value>
-uniformity <value>
-patchsize <value>
-pyramidlevels <number>
-searchvoteiters <number>
-patchmatchiters <number>
-extrapass3x3
-backend [cpu|cuda]

Download

Pre-built Windows binary can be downloaded from here: http://jamriska.cz/ebsynth/ebsynth-win64.zip.

Examples

Texture-by-numbers

The first example shows how to perform a basic guided texture synthesis with ebsynth. This use-case was first proposed in the original Image Analogies paper [1], where they called it 'texture-by-numbers'. We start with a photograph of a natural scene together with its segmentation (e.g., rock is painted green, sky with blue):

ebsynth -style source_photo.png -guide source_segment.png target_segment.png -output output.png

Next, we paint a target segmentation by hand, and we ask ebsynth to produce a new 'photograph' that would match it. In the language of style transfer: we want to transfer the style of the source photograph onto the target segmentation in a way that would respect the individual segments. The segmentation acts as a guide for the synthesis.

StyLit: Illumination-Guided Stylization of 3D Renderings

This example shows how to achieve a non-photorealistic rendering with ebsynth. It is based on the work of Fišer et al. [7]. The goal is to render a 3D model like an artist would do. Specifically, we want to capture the way how an artist conveys the different illumination effects, like highlights, contact shadows, and indirect bounces. To that end, we set up a simple reference scene with an illuminated ball, and let the artist draw it in her/his style. We use an off-the-shelf path tracer to produce the separate render passes, e.g., full global illumination, just the direct diffuse component, just the indirect bounce, etc. Next, we render the same set of passes for the target 3D model and use them as guides for ebsynth.

ebsynth -style source_style.png
        -guide source_fullgi.png target_fullgi.png -weight 0.66
        -guide source_dirdif.png target_dirdif.png -weight 0.66
        -guide source_indirb.png target_indirb.png -weight 0.66
        -output output.png

Compared to texture-by-numbers, the main difference here is we now have multiple guiding channels. Note the guides always come in pairs: source guide first, target guide second. For better results, we might want to boost the contribution of guides relative to the style. In the example above, the style has a default weight of 1.0, while the guide channels have weight of 0.66 each. In sum, the total guide weight is 2.0, resulting in 2:1 guide-to-style ratio.

FaceStyle: Example-based Stylization of Face Portraits

This example demonstrates how one can use ebsynth to transfer the style of a portrait painting onto another person's photograph. It is based on the work of Fišer et al. [8]. The goal is to reproduce the fine nuances of the source painting, while preserving the identity of the target person. I.e., we want the person to still be recognizable after the synthesis.

Unlike with StyLit, in this setting we don't have the reference 3D geometry to use as a guide. However, we can exploit the fact that both the source painting and the target photo contain a human face, which has a well-defined structure. We will use this structure to infer the necessary guiding information.

ebsynth -style source_painting.png
        -guide source_Gapp.png target_Gapp.png -weight 2.0
        -guide source_Gseg.png target_Gseg.png -weight 1.5 
        -guide source_Gpos.png target_Gpos.png -weight 1.5 
        -output output.png

Specifically, we detect the facial landmarks in both the target and source images, and use them to produce a soft segmentation guide Gseg, and a positional guide Gpos, which is essentially a dense warp field that maps every target pixel to its corresponding position in source. To preserve the person's identity, we use the appearance guide Gapp, which is a grayscale version of the target photo that was equalized to match the luminance of the source painting.


License

The code is released into the public domain. You can do anything you want with it.

However, you should be aware that the code implements the PatchMatch algorithm, which is patented by Adobe (U.S. Patent 8,861,869). Other techniques might be patented as well. It is your responsibility to make sure you're not infringing any patent holders' rights by using this code.

Citation

If you find this code useful for your research, please cite:

@misc{Jamriska2018,
  author = {Jamriska, Ondrej},
  title = {Ebsynth: Fast Example-based Image Synthesis and Style Transfer},
  year = {2018},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/jamriska/ebsynth}},
}

References

  1. Image Analogies
    Aaron Hertzmann, Chuck Jacobs, Nuria Oliver, Brian Curless, David H. Salesin
    In SIGGRAPH 2001 Conference Proceedings, 327–340.
  2. Texture optimization for example-based synthesis
    Vivek Kwatra, Irfan A. Essa, Aaron F. Bobick, Nipun Kwatra
    ACM Transactions on Graphics 24, 3 (2005), 795–802.
  3. Space-Time Completion of Video
    Yonatan Wexler, Eli Shechtman, Michal Irani
    IEEE Transactions on Pattern Analysis and Machine Intelligence 29, 3 (2007), 463–476.
  4. PatchMatch: A randomized correspondence algorithm for structural image editing
    Connelly Barnes, Eli Shechtman, Adam Finkelstein, Dan B. Goldman
    ACM Transactions on Graphics 28, 3 (2009), 24.
  5. Self Tuning Texture Optimization
    Alexandre Kaspar, Boris Neubert, Dani Lischinski, Mark Pauly, Johannes Kopf
    Computer Graphics Forum 34, 2 (2015), 349–360.
  6. LazyFluids: Appearance Transfer for Fluid Animations
    Ondřej Jamriška, Jakub Fišer, Paul Asente, Jingwan Lu, Eli Shechtman, Daniel Sýkora
    ACM Transactions on Graphics 34, 4 (2015), 92.
  7. StyLit: Illumination-Guided Example-Based Stylization of 3D Renderings
    Jakub Fišer, Ondřej Jamriška, Michal Lukáč, Eli Shechtman, Paul Asente, Jingwan Lu, Daniel Sýkora
    ACM Transactions on Graphics 35, 4 (2016), 92.
  8. Example-Based Synthesis of Stylized Facial Animations
    Jakub Fišer, Ondřej Jamriška, David Simons, Eli Shechtman, Jingwan Lu, Paul Asente, Michal Lukáč, Daniel Sýkora
    ACM Transactions on Graphics 36, 4 (2017), 155.

ebsynth's People

Contributors

jamriska avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ebsynth's Issues

Max number of keyframes allowed

Hello,
We are currently testing your tool on a production environment and were wondering about how many keyframes are set to max (or if there's a way of recompiling allowing more of them) as currently we are unable to use more than 2 concurrent keyframes at the same time.

Thanks.

Windows. ebs file edition for automatic filling ?

Hello!
Thanks for you awesome window implementation !
I was wondering is there was any way I could edit a .ebs file project to automatically fill first/last/keyframe/output via-python ? The manual process is quite tedious when dealing with long sequences and multiple keyframes.

Cheers !

error: the cuda backend is not available!

I installed ebsynth and the cuda toolkit. Right now it gives me the error above when I try to set the backend to CUDA. Anyone have any luck getting around this? I had to change the nvcc compiler options to compute_52 instead of compute_30 as others have pointed out but compilation worked and gave no errors.
Is there a version of CUDA that I should be using? Should I even bother or is the performance increase not worth it?

Ubuntu 21.04
GTX 970
Installed version of cuda is: cuda_11.2.r11.2

generator of Gpos

I don't have generate the distortion of squares deformation (Gpos)
It exists some software that do it?

AUR package doesn't comply

When i try to install ebsynth from aur package, it doesn't install. I am a linux and espacially arch linux newbie and i dont really know what to do. Can someone explain how to install it to linux step by step?

simple example OK, but my photo fail

OK, this is my first (edgy) try beyond the examples and I know doing support is not PhD cup of tea :)
I just want to understand what is wrong with my settings. Thank you.

I took a 360 picture that includes me and someone else taking the picture.
360-2

I'd like to clone some parts onto others so I made guides:
a source:
source360

and a target:
target360

Yellow gradient is the same (like gradient on the rock example), then the other colors are for cloning guides.

Of course, everything matches and pics are same res.

I added lines onto the green mask to help follow the lines, like positioning guides within segmentation guides.

Result is wrong everywhere, even yellow gradient:
result

Pictures are the same size.
I also tried without curved guides and without the masks in the bakground (cars).
I even tried with same source and target:
target360

I tried with JPG and PNG, same kind of result, almost the same result in fact, for instance: no tree in all cases, while it was not masked.

What is wrong?
Or is it a specific PNG settings, resolution?
Thanks

Code to generate diffusion curves

Could you provide the code to generate diffusion curves and render it onto an image.

As far as I've looked, the authors of the original paper haven't released their source code.

consider adding Mask option?

Hi Ondrej,

Great project. I see the executable version of Ebsynth has this mask option, with which you can use external generated mask for inpainting style transfer. Do you consider adding that feature to the repo?

Thanks,
Tony

about "Special treatment of open mouth and eyes"

I read your paper about your special treatment for eyes, I am confusing about the real operation of sentence “To improve that, a mask with increased weight of Gapp (d) is used to guide the transfer of lighter texture areas of the style exemplar to the teeth” .In my opinion , Is that mean :
1)add another independent guide channel, which is the mask of eye and mouth.
2) Use the mask(of eye and mouth) to matte the Gapp to produce a new guide channel with only eye and mouth in it, and the relevant weight is set higher than Gapp guide.
3) directly use the 0/255 mask of eye and mouth as a new guide.
which one is correct? or all wrong? I‘ll appreciate any replys, Thanks!!!!

Compiling with modern Linux / CUDA: -arch option

On running the Linux build script for cpu+cuda I got an error to the effect that "compute_30" wasn't recognised. Seemingly this has to do with specifying a minimum architecture which is now obsolete and should be met by any modern GPU / CUDA version. I just deleted the option in the compile script and it built and ran fine. Note that the compile options are also set to terse, so there will be no output during the compile, which takes a couple of minutes; please be patient (or set it to verbose).

Where can I find some helpful documentation for linux usage?

Hello @jamriska , first of all, thanks and congratulations for this incredible work!
I was truly amazed when I saw a video showing the EbSynth software running this algorithm and I'm attempting to get used to the Linux interface of the program.
I've successfully built it in my LinuxMint, based on Ubuntu 18.04.2, but now I'm having trouble to understand what each parameter does and how to use them. I couldn't find any information about them neither on the README (and the other project files) or on the ebsynth website.
Am I missing something?
Thank you!

Question about Omega.

I appreciate you for sharing your work to public and your dedication.
Thanks to you, i could learn more about example-based image synthesize.

During the code study, i found calculation of the Omega in the patch matching.
Which was the concept that i could not find from patch match algorithm (PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing).
Can i know the concept of Omega. And if reference of that concept is exist, can i know the reference(paper)?

I look forward to your reply and thank you again.

How to use it for color transfer?

I am trying to use ebsynth for color transfer.

example:
python_2019-09-05_19-59-30
image2 is style.
guide is only one: grayscale image2 -> grayscale image1
result is image3
it looks like image3 lost colors.

@jamriska any advice?

Verbose output during run

Seemingly for complex guides or large images the application can take some minutes to complete. It would be helpful to have a verbose option to see that it is still working, and has not crashed; and also to estimate how long it might take to complete, so that I can decide how elaborate a snack to prepare whilst I am waiting!

code for ebsynth gui process with the cli

wondering if there a script publically available or if we can get a script shared that is similar to the eb synth gui but utilizes the cli and has the same output

Colab notebook??

yk, for all the potato PC owners out there.... Cuz my MX250 isn't doing it......................
We can actually collaborate, I'm kind of a coder... At least I'll do my best.....

Compiling ebsynth_win64 for cuda?

I've tried changing the compute_30 field, which lets it compile, but the gpu output returns a black image, whereas the cpu output returns the output as expected.

Anyone have any ideas?

Wiki for community support

I notice you get questions about the operation of the program in the issues now. Is it an idea to open a wiki, to allow for community Q&A? I have been using your tool today for an animation and I think I can help answer some of the questions from the community.

Also you could add tips for specific use cases.
This is amazing work and I think you should sell this to adobe or something.
I cannot (yet) really figure out what you did, thought it was Neural Net, I was wrong, thought you used forward prediction algorithms from mpeg to distort textures incrementally, but it turns out I was wrong AGAIN.
Well done, anyway...

cudadevrt.lib error while compiling

Hello, I have both tried compute_89 and sm_89 for my enviroment but got this error everytime: "cudadevrt.lib" not found. Anyone had this or fixed this issue? I have RTX 4090 and CUDA 11.8 installed correctly. Visual Studio 2022.

Please reupload pre-compiled version

I tried with visual studio 2022 2019 and 2017

@jamriska

all fails

Microsoft Windows [Version 10.0.19045.3324]
(c) Microsoft Corporation. All rights reserved.

G:\Rerender_A_Video auto install\Rerender_A_Video\venv\Scripts>activate

(venv) G:\Rerender_A_Video auto install\Rerender_A_Video\venv\Scripts>cd..

(venv) G:\Rerender_A_Video auto install\Rerender_A_Video\venv>cd..

(venv) G:\Rerender_A_Video auto install\Rerender_A_Video>python install2.py
Build Ebsynth Windows 64 bit. If you want to build for 32 bit, please modify install.py.
.\build-win64-cpu+cuda.bat
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat"
ebsynth.cpp
ebsynth_cpu.cpp
ebsynth_cuda.cu
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\vcruntime.h(184): error: invalid redeclaration of type name "size_t"

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\vcruntime_new.h(66): error: first parameter of allocation function must be of type "size_t"

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\vcruntime_new.h(71): error: first parameter of allocation function must be of type "size_t"

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\vcruntime_new.h(77): error: first parameter of allocation function must be of type "size_t"

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\vcruntime_new.h(82): error: first parameter of allocation function must be of type "size_t"

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\vcruntime_new.h(184): error: first parameter of allocation function must be of type "size_t"

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\vcruntime_new.h(199): error: first parameter of allocation function must be of type "size_t"

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\vcruntime_new_debug.h(23): error: first parameter of allocation function must be of type "size_t"

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\vcruntime_new_debug.h(31): error: first parameter of allocation function must be of type "size_t"

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(168): error: class template "std::_Is_function" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(212): error: class template "std::_Is_memfunptr" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(1849): error: class template "std::result_of" has already been defined

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\type_traits(1849): error: class template "std::result_of" has already been defined

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\crt/common_functions.h(117): error: first parameter of allocation function must be of type "size_t"

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\crt/common_functions.h(118): error: first parameter of allocation function must be of type "size_t"

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\crt/common_functions.h(240): error: first parameter of allocation function must be of type "size_t"

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\crt/common_functions.h(241): error: first parameter of allocation function must be of type "size_t"

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_20_intrinsics.hpp(108): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(104): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(105): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(109): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(110): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(111): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(112): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(113): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(114): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(115): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(116): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(117): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(118): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(119): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(120): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(122): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(123): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(124): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(125): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(126): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(127): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(128): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(129): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(130): error: asm operand type size(8) does not match type/size implied by constraint 'r'

c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_32_intrinsics.hpp(131): error: asm operand type size(8) does not match type/size implied by constraint 'r'

Error limit reached.
100 errors detected in the compilation of "C:/Users/King/AppData/Local/Temp/tmpxft_00004498_00000000-18_ebsynth_cuda.cpp1.ii".
Compilation terminated.
FAILED
Failed to install Ebsynth.

(venv) G:\Rerender_A_Video auto install\Rerender_A_Video>

StyLit Knee Point

Hi,

Figure 6 of the StyLit paper shows a knee point finding step on the sorted errors of a reverse NNF. It looks like this implementation only ever uses regular NNFs (i.e. target-sized 2D arrays of indices in the source). Am I misunderstanding the implementation here? It seems like this implementation uses algorithm 1 from the StyLit paper, but never does the step in the paragraph that starts with "To complete the algorithm." I would appreciate any insights, thanks!

Can't compile cuda version for linux

Getting a lot of src/ebsynth_cuda_texarray2.h:76:55: error: invalid conversion from ‘const int*’ to ‘int’ [-fpermissive] errors when trying to compile with the build-linux-cpu+cuda.sh script.
I'm missing any requeriment?

Pre-rendered motion vectors?

Hi, not an issue but a question - if using this on CG content generated from a renderer, where the renderer can generate pixel-perfect 2d motion vectors, is it possible to use these pre-rendered motion vectors as inputs to EbSynth?

cheers

How to get the finished pngs

Hi!

I've just started with EbSynth, but I can't get the finishe pngs. I followed the tutorial that comes with the download, I've followedkrisfire's tutorial (one of the firsts that allways shows up for me), I've followed Joel HAver's that says I have to sort my original video pngs into folders according to the keyframes I have, I've also done it all with the example that came with the download, and still, whenever I hit the "Synth" button, I'll get the new folder, but with nothing in it. I really don't know what to do, I'm still hoping it's a silly thing I forgot, but it's been almost 10 hours now and I'm quite desperate....

Problems when compiling for ubuntu 18.04

I run the build-linux-cpu_only.sh script, and the terminal just remains blank. I've tried using the windows version, but my windows PC is so slow. Please help fix this. I really need to start testing with ebsynth asap.

SVG import and export

Svg files would produce better result for synthesizing lineart and colour images. It should be added as an import / export format

Image sequence

What parameters do I need to use in the CLI to use this with an image sequence? The precompiled tool on ebsynth.com is great but I'd like to use the CLI version with cuda

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.