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!
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!