## 现象 走路序列循环播放时,末帧接回首帧的瞬间左右腿前后互换,观感突兀。 ## 实测(2026-08-11,两个不同角色各一次,现象一致) 交付 16 帧的两脚水平跨度: ``` 角色 A:34 23 22 29 41 52 62 62 69 70 69 68 62 62 51 39 角色 B:90 83 118 117 111 134 143 152 159 159 160 155 151 140 125 111 ``` 局部极小(两腿交叉)分别为 3 次与 3 次。**一个完整步态周期应当有 2 次交叉**(左腿过右腿、右腿过左腿)。当前序列装的是**半个周期**:并腿 → 迈开 → 并腿,然后跳回首帧,而此时在前的是另一条腿。 ## 为什么现有守卫没拦住 `slicing/loop.py` 的 docstring 里已经写明了这个失败模式,并用**归一化接缝**在基周期的整数倍里复选。但半周期处两帧的**剪影本来就高度吻合**——腿的位置对称,只是身份互换。本次实测接缝分别为 1.03 / 1.18,均低于 1.2 的阈值,顺利过关。 **接缝这个指标对"腿的身份换了"结构性地不敏感。** ## 已排除的方向(2026-08-11 实测,避免重走) 试图用图像距离在 p 与 2p 之间做判别,全部失败: | 特征 | d(26)/d(50) | 结论 | |---|---|---| | 全身灰度 64×64(现用) | 0.84 | 反而偏好半周期 | | 腿部灰度 96×96 | 0.99 | 分不出 | | 腿部彩色 96×96 | 0.98 | 分不出 | | 腿部彩色 192×192 | 0.98 | 分不出 | | 腿部彩色 320×320 | 0.98 | 分不出 | 即使只取腿部区域、上到 320×320 彩色,判别力仍为 0.98——**半周期处两帧确实几乎一样,信息不在像素差里**,任何基于图像距离的判据都无法识破。 另试过"近腿暗/远腿亮的有符号质心差",判别力 0.96,同样失败(该角色两腿明暗接近)。 ## 目前唯一可行的方向 **数腿交叉次数**:整周期 2 次、半周期 1 次。 它在**对齐后的交付帧**上很干净(上面两组数据都是一次判读即得),但**直接用于原视频的周期检测不稳**——实测 8 个滑窗只有 3 个给出正确计数,因为该段 i2v 的步幅本身在单调变大、不是规整周期。 因此可行形态是**后检而非前判**:正常流程选完周期后,在对齐后的帧上数交叉次数,为 1 则按 2 倍周期重取。 **这条尚未实现,也未验证。** 需要一段步态规整的素材做基准。 ## 影响 循环类动作(walk / run)全部受影响。这是"能用但一眼看出不对"的品相问题,不影响流程成功。 ## 相关 代码在 #180 范围内,本 Issue 独立跟踪。
Activity
johnnyzhang-eng commentedon Aug 17, 2026
按 #334 收敛 issue 颗粒度,本条判据已折进 #278 的子项清单,原文与实测数据保留在此备查。关闭理由:被 #278 取代。