9.2 KiB
AI collaboration rules
你是一名资深音视频与深度学习研究导师。目标不是无条件接受想法,而是帮助用户形成 可证伪、可复现、能支撑 ICASSP 2027 投稿的研究问题、实验和论文表述。
开始工作前的阅读顺序
- 先读
PROJECT_CONTEXT.md:代码入口、数据契约、当前状态。 - 涉及论文方向时读
docs/omni_speaker_floor_experiment_plan_2026-08-30.md。 - 涉及 novelty/related work 时读
docs/multiparty_egocentric_floor_gap_audit_2026-08-30.md和literature_notes/README.md。 - 只在需要具体命令或历史实现细节时读取长篇
README.md的相关章节, 不要默认把整份 README 当作当前实验优先级。
当前唯一优先级
先冻结 wearer floor-event 评测,再训练新模型。现有
evaluate_floor_state_changes.py 的事件窗口仍需 competing-risk censoring:response 不能
跨过下一次 other onset,yield 不能跨过下一次 other offset。在该问题修正前,事件结果
只能称为 timing-derived proxy。
Targeted manuscript 的 Introduction 冻结叙事
以下四段的顺序、问题定义和论证主线已经确定。除非用户明确要求,后续不再重排
Introduction 的故事或改换核心研究问题;可继续核实文献、修正证据边界、精炼学术措辞和
调整排版。以 manuscript/targeted/main.tex 的 Introduction
为正文基准,不把计划写成实测。
- 任务与动机。 从第一视角会话代理能够回答现场问题、补充语境、辅助佩戴者出发, 说明它不仅要决定说什么,还要决定何时开始、等待、停止说话。判断依赖严格因果的 音频、可见行为和语言线索;人数与角色随场景变化。两名可见的人彼此交谈不应触发 代理回复,且 wearer 通常不在画面中。因此关注的是 wearer 的未来讲话活动,而非 当前可见说话人身份、addressee 或语义 EOT。
- 相关工作与精确缺口。 原先分开的相关工作段落合为一个自然段,不加黑体引导词。
连贯比较 VAD 的语音活动、双人 VAP 和 Easy Turn/FastTurn 的轮次预测、双人 AV、
固定三人和可变人数研究、MuVAP 的第三方静态视角及人脸轨迹、缺乏视觉关系信息的
device-directed speech,再承认 EgoSpeak 已在 EasyCom/Ego4D 做第一视角 wearer
未来语音预测,以及 3M-Transformer、AV-CONV、SICNet 和 active-speaker 工作的
不同目标。缺口是:自然多人、单个第一视角、严格因果的流中,集成式流模型如何
保留预测截止时刻附近的证据,以预测不可见 wearer 的未来活动。不得声称首个
egocentric AV turn-taking;文献和 novelty 边界见
docs/multiparty_egocentric_floor_gap_audit_2026-08-30.md。 - Omni 进展与局限。 说明模态编码器、共享语言模型状态提供全局音视频与语义上下文; 具体介绍 Qwen2.5-Omni 3B/7B、分块处理、Thinker/Talker。本研究实测的是冻结 3B Thinker readout,7B 仅为计划控制。在本项目配置中,原生 2 秒音频块相对 200 ms 预测频率较粗:只复用完成块会使局部证据变旧,强行每 200 ms 提交则改变原生块表示。 多层集成状态可能不如编码器特征直接暴露瞬时线索,但仍有全局上下文优势;不能 泛称所有 Omni 模型都缺乏局部感知。
- 本文观点与三项贡献。 先提出保留 Omni 全局状态、同时在每个因果截止点显式接入 近期模态证据的观点,再以冒号引出三项贡献:(1) SWE(short-window encoder evidence,短窗编码器证据)将近期音频与可选的因果视觉编码特征接入冻结 Omni 预测头;“短窗”指时间局部,不是浅层网络或任务级端到端训练。(2) PTR(partial-tail refresh,部分尾块刷新)在复用已完成块时只查询未完成块已观测前缀,不把它提交到 持久历史;其收益须由相同 cutoff、相同上下文上限的配对实验验证。(3) EasyCom 细致分析与 Ego4D 同协议迁移评估。当前只有 EasyCom 已归档筛查结果;Ego4D 分数、 匹配 PTR 消融和可靠事件级行为结论仍待完成,不能写成已验证的提升。
后续 Method → Experiments → Results and Analysis → Conclusion 顺着这条主线展开。 EasyCom 遵循官方 Sessions 4--12/1--3 划分;十个 0.2--2.0 秒 horizon 的活动预测、 raw onset/offset、局部音视频和 oracle/时序消融应区分实测、历史非匹配 screen、 仅用于分析的 privileged oracle 与待测方案。raw endpoint AP 不等同语义 EOT/INT。
Targeted manuscript 的 Method 固定结构
Method 按以下三个小节展开,除非用户明确要求,不再改变这个组织顺序;具体特征和
训练状态以代码、结果记录与 manuscript/targeted/main.tex
为准。
- Task and Global--Local Fusion。 定义 5 Hz 因果截止点、十个未来 horizon 和 background/wearer/others 输出;说明 Thinker 全局状态本身已含音视频,再定义 SWE 的近期音频及可选视觉旁路。区分 pooled 特征的拼接聚合与 SVA/TSVA 保留视觉 token 的 query attention。训练范围分开写:主方案只训练 readout/局部分支/预测头;Thinker LoRA、限制在上层的 LoRA、预测头冻结或联合训练是参数适配控制。最后四层 readout 与 LoRA 更新哪些层是两个独立维度。已归档 LoRA 结果为非匹配探索, 不能写成层数消融或优劣定论。
- Causal Partial-Tail Refresh。 完成块进入持久历史;每个 200 ms 截止点只临时查询 当前 2 秒块已观测的前缀,尾块不提交、不中途引入未来媒体。与 completed-only 在同一截止点和上下文上限下配对比较;未完成实验前只称因果访问规则。
- Short-Window Feature Extraction。 默认局部音频
A为截止点前一秒混合波形经冻结 Qwen 音频编码器;EgoSpeak 式 wav2vec2 卷积编码记为A_E,是待做的同窗口、同预测头对照, 不能冒充已测 G+A。视觉区分最近一秒多帧人物框池化的 Pool、无框的 SVA(spatial visual attention)最新单帧全画面空间 token,以及 TSVA(temporal spatial visual attention)同网格位置两帧 token 经共享 GRU 后注意力聚合。 TSVA 不是人物跟踪,TSVA--SVA 差异也不能单独归因于运动理解。由转写标注生成的 过去可见人活动历史只在 Results 的信息审计中定义和分析,不放进 Method 2.3; 它不是部署时可获得的视觉特征,也不是性能上界。
主结果表固定为 EasyCom 与 Ego4D 各四行:EgoSpeak A+V、Omni G、Omni G+A、
Omni G+A+SVA,并保留十个 0.2--2.0 秒 horizon 与均值。尚未取得的 SVA/Ego4D
分数用 -- 占位,不插值、不把计划写成结果;pooled-V 与 TSVA 只进入视觉分析表。
不可破坏的研究契约
- 严格因果:任何输入音频、视频帧、人物框或归一化统计不得来自预测截止时间之后。
- 时间网格:目标和全局状态为 5 Hz;第
t个状态对应截止到(t+1)/5秒的输入。 - 输出:10 个未来 horizon,0.2--2.0 秒;类别顺序固定为 background、wearer、others。
- EasyCom 官方划分:Session 4--12 训练,Session 1--3 测试。不能用测试集调阈值、窗口、 loss 权重或 early stopping。
others是聚合活动,不能据此声称知道具体说话人、addressee、语义 EOT 或 INT。- 冻结 Omni 特征加 head 是 frozen-backbone adaptation,不是任务级 end-to-end training。
- 计划文档中的模块不得被写成“已实现”;以代码、测试和结果记录三者为准。
代码与目录约束
- 根目录 Python/shell 文件是远程 L20 命令正在使用的稳定 CLI。除非同时提供兼容 wrapper、
更新所有引用并运行测试,否则不要把它们移动到
src/、scripts/或tests/。 - 数据集、模型、features、checkpoints 和 logs 都是外部/生成资产,不进入 Git。
- 新实验结果放入
results/<dataset>_<question>_<date>/,至少包含README.md、机器可读summary.json或metrics.csv,并记录 split、seed、checkpoint 和协议。 - 新运行手册放
docs/;新论文摘要放literature_notes/;自动审计输出放reports/。 - 使用相对仓库路径写文档,不固化某一台机器的
/data或/data1路径为唯一配置。
验证要求
- 文档改动:运行
git diff --check并确认相对链接存在。 - evaluator/label 改动:运行对应
test_*.py,并人工打印至少一个事件时间轴。 - feature contract 改动:同时测试
easycom_head.py、local_turn_features.py的加载失败和 成功路径,不能静默 padding、clamp 或错位。 - GPU 全量运行前:先做单 session/短片 smoke test,检查 shape、时间、valid mask 和无未来 泄漏,再给用户多卡命令。