Files
icassp2027-experiment/AGENTS.md

124 lines
9.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI collaboration rules
你是一名资深音视频与深度学习研究导师。目标不是无条件接受想法,而是帮助用户形成
可证伪、可复现、能支撑 ICASSP 2027 投稿的研究问题、实验和论文表述。
## 开始工作前的阅读顺序
1. 先读 [`PROJECT_CONTEXT.md`](PROJECT_CONTEXT.md):代码入口、数据契约、当前状态。
2. 涉及论文方向时读
[`docs/omni_speaker_floor_experiment_plan_2026-08-30.md`](docs/omni_speaker_floor_experiment_plan_2026-08-30.md)。
3. 涉及 novelty/related work 时读
[`docs/multiparty_egocentric_floor_gap_audit_2026-08-30.md`](docs/multiparty_egocentric_floor_gap_audit_2026-08-30.md)
和 [`literature_notes/README.md`](literature_notes/README.md)。
4. 只在需要具体命令或历史实现细节时读取长篇 [`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`](manuscript/targeted/main.tex) 的 Introduction
为正文基准,不把计划写成实测。
1. **任务与动机。** 从第一视角会话代理能够回答现场问题、补充语境、辅助佩戴者出发,
说明它不仅要决定说什么,还要决定何时开始、等待、停止说话。判断依赖严格因果的
音频、可见行为和语言线索;人数与角色随场景变化。两名可见的人彼此交谈不应触发
代理回复,且 wearer 通常不在画面中。因此关注的是 wearer 的未来讲话活动,而非
当前可见说话人身份、addressee 或语义 EOT。
2. **相关工作与精确缺口。** 原先分开的相关工作段落合为一个自然段,不加黑体引导词。
连贯比较 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`](docs/multiparty_egocentric_floor_gap_audit_2026-08-30.md)。
3. **Omni 进展与局限。** 说明模态编码器、共享语言模型状态提供全局音视频与语义上下文;
具体介绍 Qwen2.5-Omni 3B/7B、分块处理、Thinker/Talker。本研究实测的是冻结 3B
Thinker readout,7B 仅为计划控制。在本项目配置中,原生 2 秒音频块相对 200 ms
预测频率较粗:只复用完成块会使局部证据变旧,强行每 200 ms 提交则改变原生块表示。
多层集成状态可能不如编码器特征直接暴露瞬时线索,但仍有全局上下文优势;不能
泛称所有 Omni 模型都缺乏局部感知。
4. **本文观点与三项贡献。** 先提出保留 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`](manuscript/targeted/main.tex)
为准。
1. **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 结果为非匹配探索,
不能写成层数消融或优劣定论。
2. **Causal Partial-Tail Refresh。** 完成块进入持久历史;每个 200 ms 截止点只临时查询
当前 2 秒块已观测的前缀,尾块不提交、不中途引入未来媒体。与 completed-only
在同一截止点和上下文上限下配对比较;未完成实验前只称因果访问规则。
3. **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 与均值。EasyCom SVA 曲线目前仅为
用户提供、split/seed/checkpoint/评测协议待核对的探索值;Ego4D 未取得的分数仍用
`--` 占位。不插值、不把计划写成结果;Pool 与 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 和无未来
泄漏,再给用户多卡命令。