Maclory / SPSR

Pytorch implementation of Structure-Preserving Super Resolution with Gradient Guidance (CVPR 2020 & TPAMI 2021)
448 stars 83 forks source link

Why are the input and output of the gradient branch three channels instead of single? #25

Closed Feihong-cc closed 3 years ago

Feihong-cc commented 3 years ago

Hi, Why are the input and output of the gradient branch three channels instead of single?

Maclory commented 3 years ago

It's just for simplicity. In my opinion, two implementations are similar intrinsically.

Feihong-cc commented 3 years ago

Can I communicate with you in Chinese?(哈哈,我能和你用中文交流吗?)我有些疑问,SPSR的梯度分支本质上应该是求图像的梯度,按照数字图像处理的方法,应该是将彩色图转为灰度图,再求其的梯度图才是正常的流程。你在SPSR代码里面,是将RGB三个通道分别拆开,分别求其梯度图,这样每个通道的梯度图不一定一样,最后再concat到一起,会不会导致图像的边缘信息(高频信息)更凌乱or模糊?请问你有测试过单通道和三通道分别求的梯度图,有什么差别吗?

Maclory commented 3 years ago

concat的话能保留更多的信息,一般不会导致信息变差。两种实现我们也都试过,差别很小。

Feihong-cc commented 3 years ago

(⊙o⊙)~太棒了,我又可以省去做验证的时间了!十分感谢你~

Maclory commented 3 years ago

哈哈哈,不客气

Feihong-cc commented 3 years ago

hi!你好鸭,我有个小问题想请教你,你的SR分支和梯度分支的loss是相加起来,loss=sr_loss+grad_loss,这样同时求反向传播和分别backward应该是存在差别的,你有试过分开backward吗?

Feihong-cc commented 3 years ago

如果我需要将两个loss分开backward的话,需要两个optimizer吗?

Maclory commented 3 years ago

我觉得怎么实现都可以,合理就行

Feihong-cc commented 3 years ago

好的,十分感谢你~