CodeFlow 是 Schema 驱动的多人研究标注与审校平台。
当前项目:ARC-SportsACR —— 足球短视频抽象意义理解 Benchmark。完整视频是唯一真值来源,本轮不提供 AI 预标注,标注者独立判断片段的抽象意义语义域。
数据集为 ARC-SportsACR-Benchmark-v0.3-2026-08-08,固定 500 个视频任务。
- 无 AI 预标注。标注者看完整视频后独立判断,不存在需要核验的 AI 候选。
- 必须完整观看视频。系统记录最大播放位置,未播放至接近结尾时选择器保持禁用,也无法提交。
- 抽象意义分类使用三大支柱八语义域
A1 A2 A3 B1 B2 B3 C1 C2,导出字段为primary_domain;不设 A0/AX 出口。 - 标注对象是剪辑后的短视频。即使画面不是源于真实拍摄(动画、游戏、AI 生成或二创),同样需要标注语义类别。
- 语义类别为单选。存在明显多层语义时写入可选备注
note,不叠加第二个标签,以保证单标签一致性可用 Cohen's Kappa 评估。 - 字幕、BGM 与画外音解说记入
packaging,取值为yes/no/unsure三态。「不确定」是合法观察结果(文字一帧闪过、音频过低或与 BGM 混杂),与「无」分开存储。形式字段独立于语义类别,只用于输入消融与捷径分析。 - 研究者预设类别(
abstract_meaning_type)盲存于服务端,对标注者不可见,仅在提交后用于一致性比对。人工判断与预设不一致时自动进入复核队列,理由形如domain_disagreement:seed=A3,human=B3。不一致本身不代表标注错误。 - 同一视频可分配给多人,任务数不会乘以标注员人数。
- 提交后锁定,可撤回;每次提交保留人员与时间,历史版本进入审计记录。
- 多人结果不一致时必须仲裁,之后才能冻结为 Benchmark Gold。
- 管理台按语义类别统计已提交标注的分布,用于监控八类样本平衡与补采方向。
三大支柱八语义域对齐 IJCV 2026 综述 Looking Beyond the Obvious: A Survey on Abstract Concept Recognition for Video Understanding 的体育专门化重构:
| 支柱 | 语义域 |
|---|---|
| I 体育感知、意图与竞技情境 | A1 战术-意图 / A2 竞技-情境 / A3 运动-审美 |
| II 情感、社会信号与规范意义 | B1 情感 / B2 社会-关系 / B3 规范-伦理 |
| III 叙事、身份与修辞 | C1 叙事-身份 / C2 修辞-非字面 |
字段定义、判定规则与易混淆诊断以 SportsACR 平台标注手册(PDF 版,Version v0.1 / 2026-08-08)为准;平台已内置手册第 5、7、8 节的判定要点。
完整方案位于 D:\ASb\04_FPM160人工标注Benchmark_v1.0。
- 所有用户登录后从统一的「我的标注」入口工作。
- 管理员可以创建标注账号并按视频分配任务;管理员本人被分配后也使用同一入口。
- 普通标注员只能看到分配给自己的项目和视频。
- Bootstrap 账号密码通过
CODEFLOW_BOOTSTRAP_ADMIN_PASSWORD与CODEFLOW_BOOTSTRAP_ANNOTATOR_PASSWORD设置。未设置时会回落到代码内的开发默认值,任何对外可访问的部署都必须显式设置。
媒体包约 2.8GB,不在本仓库内,需单独传输:
scripts/sync_media_to_server.sh <本地包目录> <user@host> [远端目录]任务与视频的绑定只依赖相对路径(samples/000001/video.mp4),媒体根目录由 CODEFLOW_MEDIA_ROOT 指定,因此同一份数据库可在任意机器上使用,无需改写数据库记录。
传输后务必校验:
CODEFLOW_MEDIA_ROOT=/srv/codeflow/media python -m scripts.verify_media_binding该脚本使用与视频 API 完全相同的路径解析逻辑(含目录越界检查),并会检出零字节文件——rsync 中断的典型症状,此时文件存在但无法播放。
.venv\Scripts\python -m uvicorn backend.main:app --host 127.0.0.1 --port 8000
cd frontend
npm run dev首次使用需导入数据集,--package 指向包含 samples/ 与 manifest.jsonl 的那一层:
.venv\Scripts\python -m scripts.import_arc_semantic_benchmark --package <数据包目录>导入后在「项目管理」勾选视频、选择人员并分配,标注者即可在「我的标注」看到任务。未分配时该页面为空。
见 DEPLOY.md。Docker Compose 一键部署,含媒体挂载、环境变量与运维说明。
.venv\Scripts\python -m pytest -q
cd frontend
npm run lint
npm test -- --run
npm run build浏览器端到端流程(需前后端已启动):
node scripts/e2e_semantic_domain.mjs覆盖登录、派活、观看门禁用、语义域下拉分组、提交锁定与管理台分布统计,并校验 AI 候选栏等旧流程组件确实已从 DOM 中移除。