Skip to content

fix(HOVER): 走路改用 PHC 重算、循环只放一个步态周期,修读音与译法 - #648

Merged
ImChong merged 19 commits into
mainfrom
claude/eager-brahmagupta-ynvvsn
Oct 19, 2026
Merged

ImChong merged 19 commits into
mainfrom
claude/eager-brahmagupta-ynvvsn

Conversation

@ImChong

@ImChong ImChong commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

接在 #645 之后(那个 PR 已合并)。下面是几轮看片反馈和一次全篇检查的改动。

走路数据:PHC 版(没有跳变)

  • 为什么换:human2humanoid 的 grad_fit_h1.py 每一帧单独优化,也没用上拟合出的缩放。30 fps 下有 73 次相邻帧关节角变化超过 0.3 rad,脚一帧一跳。
  • 原流程也试过:照 HOVER 的 retarget_h1.sh 原样重跑(补丁只删断点,--motions-file 只列 07_01),输出逐字节相同;截短片段再重定向也一样会跳。看片后用户要求换回没有跳变的版本。
  • 现在的版本:PHC 的 fit_smpl_shape.py + fit_smpl_motion.py,代码未改。它用 16 对点,带缩放、正则和时间平滑。旁白、步骤卡和要点都写明这些是 PHC 版的做法。
  • 循环:只放第 17–32 帧这一个步态周期,地面刻度连续。
  • 第 5 幕的标注:两踝 0.18 → 0.31 m,两髋 0.14 → 0.16 m(SMPL 的髋对的是 H1 的髋偏航)。

全篇检查(2026-10-19)

  • 画面清晰度:逐段量了每张图和每段片段的显示尺寸,没有被放大发糊的。原先太小的论文图放大了:
    • 第 2 幕图 2 铺满整个卡片,框出三块(原先只有 372 宽)
    • 第 8 幕图 2 的例子、第 11 幕图 3 的雷达图也放大了
  • 更清楚的演示:
    • 第 14、15 幕的切模式片段下面加了两段式时间轴和播放头(同一个 switchTimeline),标签写成「现在:……模式」
    • 第 10 幕 DAgger 图上的「同一个状态 / $\hat a_t$ / $a_t$ / 更新学生」跟着各自的箭头出现,不再悬空
  • 对照 v2 LaTeX 与官方代码核对:表 I–V、图 3、图 4 的数字全对。改的是说法:
    • 第 6 幕「教师是上限」改掉:表 III 里 HOVER 在 ExBody / HumanPlus 模式下的上身关节误差 0.148 / 0.145,比教师的 0.153 还低
    • 第 16 幕:论文没有局限一节,结论里只说以后要做模式自动切换,其余标成我们的理解和观察;专才的加速度在 4 种模式里 3 种更好,根部速度 2 种
    • 笔记:MHC 是 Masked Humanoid Controller;99.3% 是存活率;控制延迟是 0–3 个策略步(0–60 ms,评测时固定 2 步)
  • 读音:
    • 「过拟合」改成「对……过拟合」
    • 单用的「挑」都写成「挑选」
    • 「数值不一样」
    • 「表 4 只报」里「4 只」被念成量词,改写,测试会拦住数字后紧跟「只」
    • 「无缝切换模式」「自动切换模式」被切成「切 | 换模式」,改写
    • 「还得」改成「还要」
  • 表述:expressive 一律译「表达性」,不是「表情」。
  • 排版:要点框里公式后的「。」不再单独掉一行。

全篇检查后的第 2、15、10、11 幕

第 5 幕右栏标注与第 14 幕的换掩码时间轴

验证

  • pytest:310 passed;ruff check scripts/ tests/:通过
  • check_layout.mjs hover story near、hover(整体):no overlap;要点框和字幕没有单独掉一行的标点
  • 改过的旁白都用 WordBoundary 查过断词
  • 配音 13 分 56 秒,四段并行渲染 25,072 帧,音视频时长 835.73 / 835.72 s,全片解码通过;网页版 17.6 MB

🤖 Generated with Claude Code

https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72

claude added 11 commits October 19, 2026 00:20
- human2humanoid 的 grad_fit_h1.py 逐帧独立、没用拟合出的缩放:30 fps 下 73 次相邻帧
  关节角跳变超过 0.3 rad,膝盖顶到反关节限位、髋偏航在 ±0.43 间来回翻,第 1、2 幕
  H1 的脚一帧一跳;改用同一作者在 PHC 里的 fit_smpl_shape / fit_smpl_motion(缩放、
  L2 正则、每步高斯时间平滑、根部一起优化),相邻帧最大 0.19 rad
- 40 帧整段循环首尾差 0.7 m 以上,改成只放第 17–32 帧这一个步态周期,地面刻度每圈接上
- 第 5 幕改画 PHC 的 16 对点(另嵌头与两个脚尖),文字与三句旁白换成新数字
  (−37.2、105.5 → 55.9 mm、52 mm),具体实例与测试跟着改,整片重渲

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72
第 2 幕「专才容易过拟合」被 TTS 拆成「容易过、拟合」,改成「对……过拟合」;
笔记与 RELEASE_PLAN 记下 SMPL 的髋对 H1 的 hip_yaw_link、两踝 0.18 → 0.31 m。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72
SMPL 的髋对的是 H1 的髋偏航(0.175 m),拟合后两踝 0.18 → 0.31 m、两髋 0.14 → 0.16 m;
不配音的两行标注,只重渲第 5 幕,测试核对分镜与笔记的数字。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72
照 HOVER 的 retarget_h1.sh(human2humanoid 两个脚本 + HOVER 的补丁,--motions-file 只列
CMU 07_01)重算,和之前的官方输出逐字节相同;撤掉 PHC 版。循环改成第 15–30 帧一个步态周期,
第 5 幕标注换成原方法的两踝 / 两髋距离,旁白与笔记写明逐帧独立带来的膝盖反向限位与跳变。
AGENTS.md 加一条:复现实验贴合原作。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72
单字「挑」被 TTS 念成 tiǎo(「手挑的」里「手」跟着变调),5 处一律写「挑选」;测试拦下单用的「挑」。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72
- 「表情动作」是 expressive 的误译,机器人没有表情:旁白、分镜、笔记一律改成「表达性动作」(和 ExBody 笔记一致),片尾 ExBody2 预告同改
- 第 14 幕片段下面加两段式时间轴与播放头:同一个策略、中途不重启,4.2 s 处只换掩码(项目页字幕 Root Vel (0m/s) → Root Pitch Angle −0.5 ~ 0.5),旁白讲清两段
- 第 13 幕「所以数不一样」改成「所以数值不一样」

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72
@ImChong ImChong changed the title fix(HOVER): H1 走路改用 PHC 的重定向脚本重算,循环只放一个步态周期 fix(HOVER): 走路照 HOVER 原流程重算、循环只放一个步态周期,修读音与译法 Oct 19, 2026
按看片反馈撤掉「退回原流程」那一版:H1 走路、第 5 幕的数字与标注、旁白第 2、3、5 句、测试恢复成 PHC
版;循环仍只放一个步态周期(第 17–32 帧)。之后改的「挑选」「数值」「表达性」、第 14 幕时间轴都保留。
笔记补一句:照 HOVER 的 retarget_h1.sh 原样重跑,输出和 human2humanoid 逐字节相同,截短片段也一样会跳。
AGENTS.md 的规则改成:先用原方法;原方法的瑕疵干扰看片时,可以换成同一作者的改进版并写明。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72
@ImChong ImChong changed the title fix(HOVER): 走路照 HOVER 原流程重算、循环只放一个步态周期,修读音与译法 fix(HOVER): 走路改用 PHC 重算、循环只放一个步态周期,修读音与译法 Oct 19, 2026
- 第 2 幕论文图 2 铺满整个卡片并框出三块(原先 372 宽看不清);第 8 幕图 2 例子、第 11 幕图 3 雷达图放大
- 第 15 幕两段切模式片段也加上换掩码时间轴与播放头(和第 14 幕同一个 switchTimeline)
- 第 10 幕 DAgger 图上的「同一个状态 / â_t / a_t / 更新学生」跟着各自的箭头出现,不再悬空
- 第 3 幕要点框公式后的「。」不再单独掉一行;第 13 幕「数值不一样」
- 旁白「表 4 只报」里「4 只」被念成量词,改成「表 4 里,误差只算在跟的那几个点」,测试拦下数字后紧跟「只」

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72
- 第 6 幕:表 III 里 HOVER 在 ExBody / HumanPlus 模式的上身关节误差(0.148 / 0.145)比教师的 0.153 还低,「教师是上限」改成「不是上限」
- 第 5 幕:16 对点、整体缩放、时间平滑、根部一起解都是我们用的 PHC 版的做法,旁白、步骤卡与要点写明
- 第 16 幕:论文没有局限一节,结论只说以后要做模式自动切换;「由人指定」等标成我们的理解与观察;专才加速度 3/4 种模式、根部速度 2/4 种
- 旁白:「前 4.2 秒」;「无缝切换模式」「自动切换模式」被切成「切 | 换模式」,改写;「还得」改「还要」
- 笔记:MHC 是 Masked Humanoid Controller;99.3% 是存活率;控制延迟是 0–3 个策略步(0–60 ms,评测固定 2 步);走路出现在第 1–5、8–10、16 幕

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019pPyuxJzRAdhPiccp25h72
@ImChong
ImChong merged commit 59fa78b into main Oct 19, 2026
1 check passed
@ImChong
ImChong deleted the claude/eager-brahmagupta-ynvvsn branch October 19, 2026 12:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants