limbee / NTIRE2017

Torch implementation of "Enhanced Deep Residual Networks for Single Image Super-Resolution"
652 stars 146 forks source link

Number of training patches #21

Closed saeed-anwar closed 5 years ago

saeed-anwar commented 6 years ago

Hi,

Please can you confirm how many patches are generated from 800 DIV2K train images .

I mean the stride you use for extracting patches.

One more thing, in one of your presentation, you are saying that the size is 96x96 while in paper you are using 48x48. Please can you confirm which is the correct size you use.

limbee commented 6 years ago

Hi. We did not extract the patches before training. Since the process of extracting patches is done in an arbitrary location, you might think that stride is 1. You can refer to our code here

    if self.split == 'train' then
        local ix = torch.random(1, wInput - inputPatch + 1)
        local iy = torch.random(1, hInput - inputPatch + 1)
        local tx = scale * (ix - 1) + 1
        local ty = scale * (iy - 1) + 1
        input = input[{{}, {iy, iy + inputPatch - 1}, {ix, ix + inputPatch - 1}}]
        target = target[{{}, {ty, ty + targetPatch - 1}, {tx, tx + targetPatch - 1}}]
    end

The patch size is 48x48 relative to LR. Therefore, on the HR side, the patch size is 96x96 for scale = 2, 144x144 for scale = 3, and 192x192 for scale = 4.

saeed-anwar commented 6 years ago

Thanks for your kind reply.

So your input is not bicubic upsampled image than it is LR image and then you use deconvolution to upsample it. (Sorry, for such questions as i have zero experience with torch :))

limbee commented 6 years ago

Right. Our algorithm uses LR image as an input rather than interpolated one for efficiency and uses deconvolution to upsample. You may check this part of our code.

As shown in this article (Shi et al.), in our experiments, deconvolution and convolution + shuffle combination showed exactly the same results.

zhiyang-fu commented 6 years ago

@LimBee So the advantage of convolution + shuffle is only fast computation?

limbee commented 6 years ago

I think so. It was fast while requiring more GPU memory.