haoyuc / LWay

[CVPR 2024] Low-Res Leads the Way: Improving Generalization for Super-Resolution by Self-Supervised Learning
https://arxiv.org/abs/2403.02601
23 stars 0 forks source link

可以尽快公开你的代码和训练的模型权重吗? #1

Open mengxzh15 opened 5 months ago

mengxzh15 commented 5 months ago

如题

haoyuc commented 5 months ago

很抱歉,由于这是在公司里做的工作,其代码和模型的公开流程非常繁琐,且不一定能通过,因此公开代码和训练的模型权重的可能性比较渺茫。但是我们这个工作非常好复现,LR 重建网络的代码已经给出,剩余的其实就是改一下损失函数即可,可以在任意一个 low level 的代码框架中训练,非常容易复现。

具体来说,

第一步:预训练 LR 重建网络

输入:高清图片 + 对应的退化图片(可以是合成的也可以是 real 的) 输出: 重建的退化图片 Loss:输入退化图片 和 重建的退化图片计算 L1 Loss + LPIPS Loss

第二步:测试图片的时候进行 finetune

输入:(裁切成多张小的 patch)测试图片的 SR 网络的超分结果 + 要测试的图片 输出:重建的测试图片 Loss:输入测试图片 和 重建的退化图片计算 L1 Loss + LPIPS Loss(需要乘以一个高频区域权重,只计算高频区域的 loss) 训练参数:已有的 SR 网络 训练时间:100 - 700 个 iteration(根据实际效果而定)

mengxzh15 commented 3 months ago

请问,这是在推理是迭代吗?那么推理时的时间 会不会比较久呢?能达到实时吗?譬如一张256×256的真实低分辨图,重建2倍的时间是多少呀?

haoyuc commented 3 months ago

是的,是在推理时先在测试图像上进行finetune,具体finetune的时间取决于使用的 SR 网络自身的模型大小,一般需要 200-600 个 iteration,大致需要的时间从十几秒到几分钟不等,加大学习率能够加快这个时间

rainsoulsrx commented 2 months ago

很抱歉,由于这是在公司里做的工作,其代码和模型的公开流程非常繁琐,且不一定能通过,因此公开代码和训练的模型权重的可能性比较渺茫。但是我们这个工作非常好复现,LR 重建网络的代码已经给出,剩余的其实就是改一下损失函数即可,可以在任意一个 low level 的代码框架中训练,非常容易复现。

具体来说,

第一步:预训练 LR 重建网络

输入:高清图片 + 对应的退化图片(可以是合成的也可以是 real 的) 输出: 重建的退化图片 Loss:输入退化图片 和 重建的退化图片计算 L1 Loss + LPIPS Loss

第二步:测试图片的时候进行 finetune

输入:(裁切成多张小的 patch)测试图片的 SR 网络的超分结果 + 要测试的图片 输出:重建的测试图片 Loss:输入测试图片 和 重建的退化图片计算 L1 Loss + LPIPS Loss(需要乘以一个高频区域权重,只计算高频区域的 loss) 训练参数:已有的 SR 网络 训练时间:100 - 700 个 iteration(根据实际效果而定)

请问第一步训练的时候用到了多少数据量呢