yzxing87 / Invertible-ISP

[CVPR2021] Invertible Image Signal Processing
MIT License
338 stars 38 forks source link

Calculate Metrics #13

Open madfff opened 2 years ago

madfff commented 2 years ago

我英语不太好,请允许我用中文提问。

  1. 在发布的test_raw.py 和 cal_metrics.py中,RAW图像没有经过反转 白平衡(white balance) 和 去马赛克(demosaicing)直接计算了PSNR指标,这样算出来的指标可能存在问题(不反转白平衡,RAW图像的像素值范围可能会超出[0, 1])。请问论文中的数值是如何计算的?

  2. 我对RGB图像指标的计算也存在疑惑。在https://github.com/yzxing87/Invertible-ISP/blob/344dd333dd2a075f6a9e4ffc445dc387ca3014c4/data/data_preprocess.py#L54 中真值RGB被JPEG压缩了一次,而在https://github.com/yzxing87/Invertible-ISP/blob/344dd333dd2a075f6a9e4ffc445dc387ca3014c4/test_rgb.py#L97 中真值RGB被压缩了第二次,这意味着代码实际计算的是 被JPEG压缩一次的模型输出RGB图像 和 被JPEG压缩两次的真值RGB图像 之间的差距。

在我理解中,InvISP的目的是

为什么需要在https://github.com/yzxing87/Invertible-ISP/blob/344dd333dd2a075f6a9e4ffc445dc387ca3014c4/data/data_preprocess.py#L54 压缩真值RGB?按我的理解,模型生成的RGB图像应该拟合未被压缩的真值RGB,通过DiffJPEG来模拟JPEG压缩,再可逆回去拟合RAW图像。然后测试时,使用真实的JPEG流程压缩真值RGB和模型生成的RGB,计算压缩后的指标。

是我哪里理解错误?期待您的回答。

yzxing87 commented 2 years ago
  1. 论文中的数值是使用repo提供的代码计算的,没有反转白平衡,您也可以使用反转白平衡后的结果进行计算,请注意这不会对实验结论产生影响。另外,我们在代码中将raw clip到0-1的范围,因此不会出现数值超过范围的情况。
  2. data_preprocess.py中进行jpeg压缩是为了得到target rgb数据以进行训练。使用未经压缩的target RGB无法在训练时合理的模拟到真实的JPEG压缩。