feat: add causal frame set attention fusion
This commit is contained in:
@@ -174,6 +174,27 @@ warmup_factor=0.3、dropout=0.2、LSTR-MCE、不加 transition objective。
|
||||
Loader 会检查 sample、时间、label_indices、维度、valid mask 和 encoder/pooling 配置。
|
||||
训练与评测必须用同一种 AP 协议作比较;不要混用 full-timeline 与 causal-valid 的表格。
|
||||
|
||||
## 4. F1 Frame-set Attention
|
||||
|
||||
已有完整局部 sidecar 的 persons 字段保存了逐帧、逐人的原生 2048D 特征,因此 F1
|
||||
不需要重新提取图片或音频。新增训练参数为:
|
||||
|
||||
--local-feature-root "$LOCAL_ROOT" \
|
||||
--local-modalities av \
|
||||
--local-fusion frame-set-attention \
|
||||
--local-projection-dim 256 \
|
||||
--person-attention-dim 256 \
|
||||
--person-attention-heads 4
|
||||
|
||||
F1 用融合后的 G 和直接局部音频 A 构造一个 query,读取当前最新半开因果帧中的可变人物
|
||||
集合。人物集合只在 batch 内动态 padding;NULL person 处理没有有效框的时刻。A 仍直接
|
||||
进入最终 head。第一版不使用 bbox、track ID、跨帧 GRU 或双向 AV attention。
|
||||
|
||||
训练输出会打印 source frame 数、person observation 数、max_people 和 attention 配置。
|
||||
推理只需继续提供 local feature root;融合方式和 attention 参数从 checkpoint 恢复。
|
||||
正式比较需要重新训练同 split、seed 和优化设置的 pooled AV 对照,不能直接把不同开发
|
||||
协议的旧 checkpoint 当作唯一基线。
|
||||
|
||||
## Ego4D 接口
|
||||
|
||||
完整命令见 [Ego4D 四组局部增强实验](ego4d_local_baselines.md):新增 manifest 批量提取、
|
||||
|
||||
@@ -21,14 +21,17 @@
|
||||
融合实验从 F1 Frame-set Attention 开始。后续模块只有在前一级通过预先定义的 gate 后
|
||||
才实施。
|
||||
|
||||
这是一份实验设计,不代表 F1--F6 或 D1 已经实现或验证。
|
||||
实现状态(2026-09-02):F1 的 loader、head、train/infer 路径和回归测试已经加入代码,
|
||||
但尚未在远程 PyTorch/L20 环境完成 runtime smoke,不能写成已验证结果。F2--F6 和 D1
|
||||
仍然只是计划。
|
||||
|
||||
## 2. 不可改变的实验条件
|
||||
|
||||
所有阶段共同遵守:
|
||||
|
||||
- 目标与全局 state 均为 5 Hz;第 t 行只能使用截止到 (t+1)/5 秒的媒体。
|
||||
- 视频人物特征若为 2 FPS,在 5 Hz 预测点选择时间不晚于 cutoff 的最新人物集合。
|
||||
- 视频人物特征若为 2 FPS,在 5 Hz 预测点选择严格早于 cutoff 的最新人物集合,与已有
|
||||
half-open local audio/visual 契约一致。
|
||||
- 不允许用未来帧插值;同一 2 FPS 人物集合可以供多个 5 Hz query 读取,但不能伪装成
|
||||
新观测去重复更新时序状态。
|
||||
- EasyCom Session 4--12 为官方训练集,Session 1--3 为最终测试集。模型和阈值选择使用
|
||||
@@ -128,11 +131,11 @@ F1 暂不加入 bbox、track GRU、人物自注意力或 audio-to-person 反向
|
||||
|
||||
对每个 5 Hz cutoff c_t:
|
||||
|
||||
1. 找到 frame_time 小于或等于 c_t 的最新 local frame;
|
||||
1. 找到 frame_time 严格小于 c_t 的最新 local frame;
|
||||
2. 读取该帧 frame_offsets 范围内全部逐人 feature;
|
||||
3. 如果尚无帧,使用仅含 NULL person 的集合;
|
||||
4. 不允许 nearest-neighbor 选到 c_t 之后的帧;
|
||||
5. 记录 chosen_frame_time,测试所有 chosen_frame_time 小于或等于 cutoff。
|
||||
5. 记录 chosen_frame_time,测试所有 chosen_frame_time 严格小于 cutoff。
|
||||
|
||||
### 5.5 F1 必跑对照
|
||||
|
||||
|
||||
Reference in New Issue
Block a user