sherbret / DCT2net

Official implementation of the paper "DCT2net: an interpretable shallow CNN for image denoising"
GNU Affero General Public License v3.0
14 stars 3 forks source link

Why if I random initia DCT matrix, then it can't learn 'denoise' at all? #1

Open XavierZhH opened 2 months ago

sherbret commented 2 months ago

Hello and thank you for your interest in our paper!

As discussed in the last paragraph of subsection III.A of the article, random initialization of the P matrix is possible and does learn to denoise as well (see Fig 4f). However, to reach convergence faster, initializing this matrix with the weights dictated by the DCT is more efficient (Fig 4b).

Sébastien Herbreteau

XavierZhH commented 2 months ago

Hello and thank you for your interest in our paper!

As discussed in the last paragraph of subsection III.A of the article, random initialization of the P matrix is possible and does learn to denoise as well (see Fig 4f). However, to reach convergence faster, initializing this matrix with the weights dictated by the DCT is more efficient (Fig 4b).

Sébastien Herbreteau

Thanks for your reply! I tried to initial lize DCT Matrix and it seems not show any denoising effect, I wil check the codes :). BTW I tried to overfit the network, say I used only 1 image to train and use this same image to test, it still doesn't show 'perfect' results with only DCT2Net, have you tried to improve DCT2Net results after the paper work :) ?

sherbret commented 2 months ago
XavierZhH commented 2 months ago
  • The initialization with DCT is provided in the file dct_denoiser.py in the init method. You can copy paste its content in the init method of the file model_testing.py and comment this line in the demo file to check it out.
  • Since DCT2Net is a shallow network with very few learnable parameters (less than 30,000), I am not surprised that 'perfect' overfit does not work. But to me, this is not a bad news. Why did you want to make it overfit?

I wanted to see if the "best" that a pure DCT2Net network could theoretically achieve would meet the image quality requirements :)