-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
any suggestion on how to get rid of the checkered effect #190
Comments
Very cool! Care to share what the inputs look like too? This distill paper talks about one of the causes of the checkerboard artifacts. You can fix that issue by switching from "deconvolution" to nearest-neighbor upsampling followed by regular convolution. I think @ssnl may have implemented this at some point. We've also noticed that sometimes the checkboard artifacts go away if you simply train long enough. Maybe try training a bit longer. Another cause of repetitive artifacts can be that the discriminator's receptive field is too small. For some discussion on this, please see Section 4.4 and Figure 6 of the pix2pix paper. The issue is that if the discriminator looks at too myopic a region, it won't notice that textures are repeating. I think this is probably not the case in your results, but it's something to keep in mind. |
thank you Phillip, great to have the path forward - checking the links! |
@AllAwake Cool results! Here is the implementation of resize-conv I used. It remove the checkerboard artifacts during early training. You may find it useful.
It should replace the |
Hi @ssnl and @phillipi |
I haven't tried the distill tricks by myself. For discriminators, they mentioned that you can replace stride 2 conv with a regular 3x3 conv. |
Does Regular 3x3 conv mean that we just need to change stride =1 in this case ? |
Yeah, I guess you also need to add a |
Hi @ssnl |
@jacky841102 You could try nearest neighbor. I think that it didn’t make much difference in the dataset I tried. |
I wonder why pix2pixHD is using Same with StyleGAN |
Also according to this http://warmspringwinds.github.io/tensorflow/tf-slim/2016/11/22/upsampling-and-image-segmentation-with-tensorflow-and-tf-slim/ |
This method works pretty well, but it would also cause unstable training, therefore I applied an exponential learning rate decay and small initial learning rate to ensure that it works well enough. I am currently doing another training and see what will happen then |
@ssnl Thanks for the solution. Did anyone successfully implement it in Generators that monotonically upsample the input? In this example, for example, if you add a padding, the output will be exactly twice the size of the input;
|
I like how it totally gets rid of the checkerboard artefacts, but it comes at a cost of actually learning useful features. I'm trying to balance these effects. |
i'm training CycleGAN on my food photos and my sketches - the results are fascinating esp colors and shapes - if only i knew how to get rid of that checkered effect...
The text was updated successfully, but these errors were encountered: