Skip to content

[Bug]: 首帧放大用插值,把 sprite 硬边糊成渐变后才喂给 i2v #542

Description

@johnnyzhang-eng

问题

_fit_first_frame 放大用 LANCZOS,把 sprite 的硬边糊成渐变,而这张图是 i2v 的输入。

同一函数、同一张双色硬边图,测成品里那条边的过渡带宽度:64×64 源(11.2× 放大)NEAREST 4px、LANCZOS 20px;128×128 源 4px 对 10px;256×256 源 4px 对 5px。倍率越大越严重,而小 sprite 正是 #509 点名的场景。

交付侧 _fit_to 的 docstring 已经写明这条规则(「序列帧是像素画,必须 NEAREST,插值会把硬边糊成灰边」),首帧这一侧与它不一致。

这条是 #511 引入的:当时按重抠图 IoU 配对实测选了 LANCZOS(+0.0043),但 IoU 量的是剪影恢复、不量清晰度,指标选错了。

范围

  • 放大用 NEAREST,缩小仍用 LANCZOS
  • 不改 JPEG 质量(那是色数爆炸的主因,但属另一件事)
  • 不改出口像素化开关

验收

小 sprite 放大后硬边过渡带 ≤8px;换回 LANCZOS 时用例失败。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions