HopLee6 / RRIN-PyTorch

PyTorch Implementation of "Video Frame Interpolation via Residue Refinement"
69 stars 13 forks source link

UCF101 指标问题 #9

Closed zdyshine closed 3 years ago

zdyshine commented 3 years ago

谢谢您分享的工作,但是我用您提供的代码和模型,在自己的测试代码上做指标对比,UCF101数据集计算的指标如下:Avg PSNR: 32.66783090833283 SSIM: 0.9665849067277201。与您论文的指标PSNR:34.93, SSIM:0.9496不一致。有些疑惑,希望能得到解答。

HopLee6 commented 3 years ago

请问是否使用这里提供的插值结果进行测试的?

zdyshine commented 3 years ago

感谢您的回复! 没有进行插值,由于图片是256x256大小,我直接读的图片进行的测试,部分代码如下: img0 = (path + d + '/frame_00.png') img1 = (path + d + '/frame_02.png') gt = (path + d + '/frame_01_gt.png') img0 = (torch.tensor(cv2.imread(img0).transpose(2, 0, 1) / 255.)).to(device).float().unsqueeze(0) img1 = (torch.tensor(cv2.imread(img1).transpose(2, 0, 1) / 255.)).to(device).float().unsqueeze(0) gt = (torch.tensor(cv2.imread(gt).transpose(2, 0, 1) / 255.)).to(device).float().unsqueeze(0)

inference

pred = model(img0, img1)[0] pred = torch.clamp(pred, 0, 1)

HopLee6 commented 3 years ago

最好按照demo.py中使用PIL读取图片,因为cv2和PIL读取图片后RGB三个通道顺序相反。

zdyshine commented 3 years ago

您好,我是用了您demo.py中的数据读取,计算的指标是Avg PSNR: 32.66793729079955 SSIM: 0.9665779040761283。代码如下: img0 = Image.open(img0) img1 = Image.open(img1) gt = Image.open(gt)

img0 = transform(img0).unsqueeze(0).cuda() img1 = transform(img1).unsqueeze(0).cuda() gt = transform(gt).unsqueeze(0).cuda() if img1.size(1)==1: img0 = img0.expand(-1, 3,-1,-1) img1 = img1.expand(-1, 3,-1,-1)

pred = model(img0, img1)[0] pred = torch.clamp(pred, 0, 1) 代码我check了,找不到问题所在,您方便提供一下您使用的这一部分的代码吗?

HopLee6 commented 3 years ago

另外可能是PSNR和SSIM计算方式不同,具体可以参考原文评价指标的计算

zdyshine commented 3 years ago

感谢回复,是直接调用的skimage吧 from skimage.metrics import peak_signal_noise_ratio as psnr from skimage.metrics import structural_similarity as ssim 我是这样调用的。 如果引用您的论文做指标对比,可以用我自己计算出来的指标吧?

HopLee6 commented 3 years ago

可以使用自己计算的指标,但所有对比方法计算方法需保持一致。

SuhongWang commented 2 years ago

谢谢您分享的工作,但是我用您提供的代码和模型,在自己的测试代码上做指标对比,UCF101数据集计算的指标如下:Avg PSNR: 32.66783090833283 SSIM: 0.9665849067277201。与您论文的指标PSNR:34.93, SSIM:0.9496不一致。有些疑惑,希望能得到解答。

@HopLee6 作者您好!我也遇到了同样的情况,不知道可否提供计算数据集上结果的脚本?

HopLee6 commented 2 years ago
import cv2
from skimage.metrics import peak_signal_noise_ratio, structural_similarity    

img1 = cv2.imread(result_path)
img2 = cv2.imread(gt_path)
psnr = peak_signal_noise_ratio(img2, img1)
ssim = structural_similarity(
      img1,
      img2,
      multichannel=True,
      gaussian_weights=True,
      sigma=1.5,
      use_sample_covariance=False,
  )