alex04072000 / SingleHDR

[CVPR 2020] Single-Image HDR Reconstruction by Learning to Reverse the Camera Pipeline
546 stars 91 forks source link

Question about HDR-VDP Q-score , PSNR, SSIM of HDR-Real test set #23

Open SooonChang opened 3 years ago

SooonChang commented 3 years ago

Thank you for your great paper. I am writing to ask a question.

I have tried to get HDR-VDP-2 scores, PSNR, SSIM with given HDR-Real test set. And I also refered to your code which you mentioned in a closed issue as below. https://github.com/alex04072000/SingleHDR/issues/4#issuecomment-616433900

I could get same result with your paper at HDR-Eye dataset. But with HDR-Real test set, I got a result as below.

HDR-VDP Q-score : 50.134 PSNR : 22.35 SSIM : 0.737

I think it is quite lower than the values in your paper. Especially SSIM and HDR-VDP score. I used the original matlab code of HDR-VDP 2.2.2 and HDR-VDP 2.2.1 as well. But the result was same. And when I tried to get PSNR, SSIM, I used Photomatix balanced tonemapping method and matlab psnr, ssim method.

Did I miss something? Could you let me know how to get the same result as paper please? Thank you.

SooonChang commented 3 years ago

Just in case, I leave my code.

%HDR-VDP

R = hdrread(gt_path);
T = hdrread(test_path);

R = pre_hdr_p3(R);
T = pre_hdr_p3(T);

res = hdrvdp(T,R, 'rgb-bt.709',30);
Q_score = res.Q;

function hdr = pre_hdr_p3(hdr)
    eps = 1e-8;
    s = size(hdr(:), 1);
    k = int64(s*1e-3);
    a = mink(hdr(:), k);
    a = a(end);
    b = maxk(hdr(:), k);
    b = b(end);
    c = 1.0;
    d = 999.0;
    hdr = (hdr - a).*(d - c)./(b - a + eps) + c;
    hdr(hdr < 0) = 0;
end
% PSNR, SSIM
R = imread(gt_path); % ground_truth image tonemapped by Photomatix
T = imread(test_path); % test image tonemapped by Photomatix

PSNR = psnr(T,R)
SSIM = ssim(T,R)
Climmy commented 1 year ago

Have you solved the problem yet? I just faced the same problem QAQ