Closed splinter21 closed 2 years ago
还有2个问题 这个能否是SISR的特殊情况? 比如,一,5张LR都是自身 二,中间LR对应HR,其余4张为完全无关的LR
1、2、那么以后设计网络可以直接按这个来了,不错的贡献。 3、如果是5帧,那么fusion前就是5倍的计算量,所以在fusion后增加深度。 4、那就直接按github中代码的self-ensemble方式来。 5、嗯,我也一直在思考,多帧超分,相比SISR,真正能带来提升的点到底是在哪里。当然,为了比赛训练很大的模型是可以理解的。 6、这个是指SISR早期的做法,先bicubic放大到HR尺度再学习。一个是计算量太大,第二个,拉大了再拉回来,不会和以前一样了,损失了信息,引入了噪声。 放到这里,第一个问题没有,因为后面都是在LR尺度学习的。主要是第二个问题,如果把bilinear改成nearest这种可逆的缩放算法,会不会更好?或者,用预训练的简易SISR网络,也肯定比直接bilinear拉伸和HR得到残差来训练,指标更强一点。 7、嗯,期待训练细节。看其他issue,一个较头疼的问题是DCNv2的训练不稳定,要特殊处理。 8、(1)乘2这种simple的做法,感觉网络自身也能学习到,实际上没什么用。当然motivation上和光流一致,也没有多少额外计算量,不是大问题。 9、提出这个问题主要是考虑到,实际应用中,不会像研究里这么帮你每个序列都切好了。有的场景帧多,有的场景帧少,而且跨场景那几帧怎么弄。如果缺帧用自身代替可行的话那就没问题了。如果相邻帧是别的场景的无关帧,那么进一步,预先判断同一视频不同场景切开来的步骤也不用了。
index_generation
函数。 这部分对于那几帧边缘帧其实影响是很大的。(但是由于最后是100帧平均了, 因此对最后的影响不大。)PS: 之后提issue最好用英文。这样,在这里的讨论,其他更多的人也能够看懂~
There is a function with 4 padding mode in the test code. Thus a short sequence can filled to the nFrames.
@xinntao Have you tried introducing the unligned loss in TDAN?
We will include TDAN codes later in this repo. Actually, we have found the alignment loss in TDAN will degrade the performance.
Hi, a network structure problem: In the code, the 'spatial attention' part receives the input 'aligned_fea', but in the paper, I found 'Spatial attention masks are then computed from the fused features'. It seems that 'spatial attention' part should receive the fused feature 'fea'. I got confused. Which should be right? Thank you.
aligned_fea = aligned_fea.view(B, -1, H, W) * cor_prob
#### fusion
fea = self.lrelu(self.fea_fusion(aligned_fea))
#### spatial attention
att = self.lrelu(self.sAtt_1(aligned_fea))
att_max = self.maxpool(att)
att_avg = self.avgpool(att)
@geyanteng Thanks for reporting this inconsistent part. I think it does not matter (it is not the key point). You can use the code version.
很棒的工作!看完模型代码和论文,有几个问题。 1、Relu层的选择,是否有什么经验?比如,大多数SR网络用Relu,DBPN/RBPN用PRelu,ESRGAN和EDVR用LRelu,是基于什么考究?或者说是否以后的实验我什么都别管,直接用LRelu就是最优的? 2、Resblock_noBN中,对Conv1Conv2使用kaiming初始化带来的提升我记得在ESRGAN的补充材料里也出现过,是否也是以后直接用就行,无计算成本的性能提升? 3、如果要拓展参数量,一个是channel的变化,这个很简单,因为所有块都对齐了nf的; 如果是拓展block数量呢?EDVR的输入参数,前后RB是可变的,但是PCD和AttentionFusion module,block是固定写死的,是否意味着,如果靠拓展深度加大网络参数量和计算量从而提升指标,A、这2个模块的深度不用管,加大深度不划算?B、如果这2个模块也要加大深度,应该加大哪些层的深度?C、第三个选择,只加大backRB的深度,frontRB和2个module的深度不用管? Table4对照实验中的配置,和比赛最终结果的配置,是否只有channel和fusion后RB的深度变化了? 4、相比SISR中常用的self-ensemble,8倍的计算量,EDVR的测试脚本中只有4倍,少了90度旋转的过程,这个是基于什么考究?是否因为提升几乎很小,所以就不用再通过2x计算量来提升指标了? 5、Table5中4个track均以碾压的优势取得第一,这个非常值得肯定。第二名的方法在论文《Adapting Image Super-Resolution State-of-the-arts and Learning Multi-model Ensemble for Video Super-Resolution》中(arxiv上可以搜到),idea非常simple,是典型的刷榜流做法,第一个idea,把SISR(RCAN、RDN)中的输入改为相邻帧输入,直接改第一个Conv的输入channel,就已经提升了1dB,超过DUF,第二个idea就是3模型结果ensemble,结果进一步提升0.12(作用很小了,可能还不如self-ensemble带来的提升,不划算,这个先不提)。这里想看下DUF、标配RDN、RCAN和EDVR比赛配置的GFLOPS对比 6、预先进行拉伸在SISR中一直被视为不太好的做法,EDVR中用了bilinear拉伸LR_center和HR做残差,这个有实验过去掉这步吗?收敛速度上我觉得做拉伸做残差更快,但是精度不一定。(这个的目的是不是和EDSR-Pytorch中”add_mean”和”sub_mean”差不多的?) 7、训练细节上,本文使用的是Charbonnier Loss,这个最早我记得是在LapSRN中出现,之后普遍用L1Loss。这个是有什么考究吗?训练浅层网络作为深层网络的初始化,这个求具体细节,是哪些层的权重初始化了,深浅改变的是什么层的深度? 8、有关PCD对齐模块 (1)108、117行forward中,offset_conv2里concat乘2是什么作用?(后面TSA层好像也有乘2的) (2)为什么不排除中间帧(t=t+i)只做4个?不可以直接采用l1_fea的输入吗?
谢谢!