Skip to content

How do you align output and GT for reference metrics when sizes differ? #109

Description

@alsgh4442

Thanks for the great work and for releasing the code.

I have a question about the evaluation protocol for the full-reference metrics, specifically how output/GT resolution mismatch is handled.

The inference pipeline requires the network input to be a multiple of 128 in each spatial dimension. As far as I can tell,
examples/WanVSR/infer_flashvsr_v1.1_tiny.py
tW = (sW // multiple) * multiple # multiple = 128
tH = (sH // multiple) * multiple
upscale_then_center_crop(...)

Because of this floor-crop, the SR output is not the same size as the original ground truth. For example, on REDS (GT 1280×720):

LR input: 320×180
×4 upscale: 1280×720
floor to multiple of 128: 1280×640 (width 1280 is already 10×128, but height 720 → 640)
So the output loses 80 px in height relative to the GT.

Question
The paper reports PSNR/SSIM/LPIPS on YouHQ40, REDS, and SPMCS, but I couldn't find how the output and GT are spatially aligned before computing these pixel-aligned metrics. When the output size (e.g. 1280×640) differs from the GT size (e.g. 1280×720):

How do you align them for the reference metrics — do you center-crop the GT to the output size, pad the output back, or something else?
Are the reported PSNR/SSIM/LPIPS computed on the cropped region only, or on the full GT frame?
If baselines produce full-resolution outputs while FlashVSR is evaluated on a cropped region, how is a fair comparison ensured?
Could you share the exact evaluation alignment step (ideally the script) so the numbers can be reproduced and compared fairly? Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions