Skip to content

Repository files navigation

CodeFlow

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_PASSWORDCODEFLOW_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

打开 http://127.0.0.1:5173

首次使用需导入数据集,--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 中移除。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages