Open-o3 Video:开源视频推理框架,整合时空证据实现可验证视频理解

原创 发布日期:
5

一、Open-o3 Video是什么?

Open-o3 Video是一款专注于可验证视频理解的开源项目,通过整合关键时间戳、目标边界框等时空证据,解决了传统视频推理“结论无依据、过程不可验证”的痛点。项目构建了专用的STGR系列数据集,采用“冷启动初始化+强化学习优化”的两阶段训练策略,在V-STAR、VideoMME等多个权威基准测试中刷新SOTA成绩。其核心价值在于让视频推理结果锚定具体视觉内容,支持置信度验证,可广泛应用于智能监控、视频内容分析、自动驾驶等领域,为开发者提供开箱即用的视频理解工具链。

在视频理解领域,传统模型往往只能输出推理结论(如“视频中有人摔倒”),但无法说明“结论基于视频的哪一帧、哪一区域”,导致推理过程不可追溯、结果可靠性存疑。例如,在智能监控场景中,若系统报警“发生斗殴”,但无法定位具体时间和画面区域,工作人员难以快速核实;在自动驾驶中,若模型判断“前方有行人”,却不明确行人出现的时间和位置,可能引发安全风险。

Open-o3 Video正是为解决这一问题而生的开源视频推理框架。它的核心目标是:让视频推理从“黑箱输出”转变为“可验证的过程”——模型在生成结论时,会同步标注关键证据:包括事件发生的时间戳(如“00:03:21-00:03:25”)、目标对象的边界框(如视频帧中“行人”的位置坐标),使结论直接锚定视频中的具体视觉信息。

该项目基于Qwen3-VL-8B等基础模型开发,开源了完整的训练代码、数据集和预训练模型,支持开发者快速复现实验或二次开发。截至2025年11月,其在V-STAR(时空接地视频推理基准)中以mAM 35.5%、mLGM 49.0%的成绩刷新SOTA,并在VideoMME、WorldSense等10余个视频理解基准中表现领先,是当前可验证视频推理领域的标杆项目。

Open-o3 Video:开源视频推理框架,整合时空证据实现可验证视频理解

二、功能特色

Open-o3 Video的核心竞争力体现在“时空证据整合”“专用数据支撑”“高效训练策略”和“可靠性能表现”四大方面,具体如下:

1. 时空证据深度整合,推理过程可追溯

传统视频推理模型的输出是“结论”,而Open-o3 Video的输出是“结论+证据”。例如,对于问题“视频中车辆何时变道?”,模型不仅会回答“10-15秒”,还会标注变道过程中车辆的边界框(每帧中车辆的位置坐标),并说明“基于12秒帧中车辆偏离原车道的视觉特征”。

这种设计的优势在于:

  • 可验证性:用户可通过证据直接核对结论是否准确(如检查10-15秒视频是否真的有车辆变道);

  • 鲁棒性:当证据与结论冲突时(如标注的时间戳内无对应事件),可自动降低结论置信度;

  • 可解释性:帮助开发者理解模型决策逻辑,便于后续优化(如发现模型频繁误判“变道”是因误识别“车道线”)。

2. 专用STGR数据集,填补时空标注空白

为让模型学会“关联结论与时空证据”,项目团队构建了两套专用数据集,解决了现有数据集“要么只有文本标注、要么只有时空框、缺乏两者联动”的问题(见表1)。

数据集名称 规模 标注内容 用途
STGR-CoT-30k 3万条 视频片段+问题+答案+关键时间戳+目标边界框+推理链(如“因为第5帧中A在B左侧,所以判断A先移动”) 有监督微调(SFT)
STGR-RL-36k 3.6万条 视频片段+问题+多组“答案+证据”对(含优劣标注,如“证据时间戳偏差1秒的答案优于偏差3秒的”) 强化学习(RL)优化

这两套数据集覆盖了日常活动(如“做饭”“搬运”)、交通场景(如“超车”“闯红灯”)、人机交互(如“使用电脑”“操作机械”)等12类场景,为模型提供了丰富的时空推理样本。

3. 两阶段训练策略,兼顾基础能力与长时序稳定性

模型训练分为“冷启动初始化”和“强化学习优化”两个阶段,既保证基础推理能力,又提升长视频处理的稳定性:

  • 第一阶段:冷启动初始化(SFT)
    在STGR-CoT-30k数据集上微调,让模型学会“根据问题从视频中提取关键时空证据,并生成关联结论”。例如,通过标注“问题:‘何时开门?’→证据:第8秒帧中门把手被转动(边界框坐标x1,y1,x2,y2)→答案:8秒左右”,让模型掌握“问题-证据-结论”的映射逻辑。

  • 第二阶段:强化学习优化(GSPO)
    采用Group Sequence Policy Optimization(GSPO)算法,在STGR-RL-36k上优化。核心是通过“奖励机制”鼓励模型生成更精准的证据:

    • 若证据时间戳与真实事件的偏差≤1秒,奖励+1.5;偏差1-3秒,奖励+0.5;偏差>3秒,奖励-1;

    • 若边界框覆盖目标区域的比例≥90%,奖励+1;50%-90%,奖励+0.3;<50%,奖励-0.5;

    • 同时引入“时间门控”机制:对长视频(>60秒)中时间戳分布均匀的证据额外奖励,避免模型只关注视频开头/结尾。

4. 多基准测试领先,性能与可靠性双优

Open-o3 Video在10余个视频理解基准中表现突出,尤其在“时空接地推理”任务上优势明显(见表2)。以V-STAR基准为例,其核心指标mAM(平均匹配精度)和mLGM(平均定位分数)均显著超过现有模型。

基准测试 评估任务 Open-o3 Video成绩 此前SOTA成绩 提升幅度
V-STAR 时空接地视频推理 mAM 35.5%/mLGM 49.0% mAM 30.2%/mLGM 42.8% +5.3%/+6.2%
VideoMME 视频多模态理解 总分 78.3 72.5 +5.8
WorldSense 真实世界视频常识推理 准确率 81.2% 76.5% +4.7%
TVGBench 电视节目场景理解 F1分数 0.89 0.83 +0.06

此外,项目还通过“证据-结论一致性验证”实验证明了可靠性:在随机抽取的1000个测试样本中,当模型标注的证据与真实事件匹配时,结论准确率达92.3%;而当证据不匹配时,结论准确率仅31.7%,说明模型的高置信度结论可通过证据验证筛选。

三、技术细节

1. 模型架构:基于视觉语言模型的时空特征融合

Open-o3 Video以Qwen3-VL-8B为基础模型(支持图文跨模态理解),新增“时空特征编码器”和“证据生成解码器”模块,整体架构如图1(参考项目assets目录架构图):

  • 视频输入处理:将视频按25帧/秒采样为帧序列,通过ViT(视觉Transformer)提取每帧的图像特征,同时记录帧对应的时间戳(如第i帧对应t=i/25秒);

  • 时空特征编码:对帧特征序列使用“时间注意力机制”——让相邻帧特征相互关联(如第5帧与第6帧的特征融合,捕捉运动趋势),并输出“时空特征矩阵”(含帧内容和时间信息);

  • 问题理解与特征匹配:将用户问题(如“何时有人进入房间?”)通过文本编码器转为向量,与时空特征矩阵匹配,定位可能包含答案的帧区间(如第10-20帧);

  • 证据生成解码器:从匹配的帧区间中提取具体帧,生成边界框坐标(如“第15帧中(x=120,y=80,x=200,y=150)为人体”)和时间戳(“15/25=0.6秒”),再结合问题生成最终结论。

2. 训练细节:从SFT到RL的参数优化

  • SFT阶段
    输入:视频片段+问题;输出:答案+证据(时间戳+边界框)。
    损失函数:结合文本生成损失(答案与标注的差异)和时空损失(时间戳偏差、边界框交并比IOU),其中时空损失权重占40%(确保模型重视证据准确性)。
    训练配置:使用8张A100显卡,batch size=32,学习率=2e-5,训练10个epoch。

  • RL阶段
    基于SFT后的模型,采用GSPO算法优化。每次迭代中,模型对同一样本生成3组“答案+证据”,根据奖励机制打分,保留高分样本的参数更新方向。
    训练配置:batch size=16,学习率=1e-6,训练5个epoch,重点优化“长视频(>30秒)的证据连贯性”。

3. 推理优化:高效时空检索与置信度校准

为提升推理速度(尤其长视频),项目采用“时空索引+置信度过滤”策略:

  • 对输入视频先进行粗采样(每5秒1帧),快速定位可能包含事件的时间区间(如通过帧特征初步判断“10-20秒可能有人活动”),再在该区间内细采样(每0.5秒1帧),减少计算量;

  • 推理后自动计算“证据置信度”(综合时间戳偏差、边界框IOU、结论与证据的语义一致性),对低置信度结果(<0.6)标注“需人工核实”,避免误判。

Open-o3 Video:开源视频推理框架,整合时空证据实现可验证视频理解

四、应用场景

Open-o3 Video的“可验证视频推理”能力使其在多个领域具有实用价值:

1. 智能监控与安防

在商场、园区等场景中,系统可自动检测异常事件(如“有人奔跑”“物品遗落”),并同步标注事件发生的时间戳和画面区域。安保人员无需回看完整视频,直接根据证据定位关键画面,提升响应效率。例如:

  • 当模型报警“1号门区域14:05-14:07有可疑人员徘徊”,附带该时段的人员边界框,安保可快速调取对应监控核实。

2. 视频内容分析与标注

在媒体、广告行业,可自动为视频生成结构化标签。例如:

  • 广告商分析产品视频时,模型可输出“00:15-00:20(产品特写,边界框x1,y1,x2,y2)→观众注意力最高”,帮助优化广告剪辑;

  • 短视频平台自动标注“00:03出现宠物(猫)”“00:08出现文字字幕”,提升内容检索精度。

3. 教育与培训视频处理

在在线课程中,模型可自动定位知识点对应的视频片段。例如:

  • 学生提问“如何操作显微镜?”,系统返回“课程第12分钟-15分钟(对应帧中显微镜操作步骤,边界框标注旋钮位置)”,辅助精准学习;

  • 企业培训视频中,自动标注“安全操作规范”出现的时间和画面区域,方便员工快速复习。

4. 自动驾驶与交通分析

在自动驾驶系统中,模型可实时输出“前方50米处,3秒后有行人横穿马路(边界框标注行人位置)”,为决策提供可验证的依据;在交通管理中,自动识别“闯红灯”事件并标注时间戳和车辆位置,辅助违章取证。

五、使用方法

1. 环境配置

硬件要求

  • 训练:建议8张A100(80GB)显卡(SFT阶段)或16张A100(RL阶段);

  • 推理:最低要求1张RTX 3090(24GB),长视频推理建议RTX 4090或A100。

软件安装

# 克隆仓库
git clone https://github.com/marinero4972/Open-o3-Video
cd Open-o3-Video

# 创建虚拟环境
conda create -n open-o3-video python=3.11
conda activate open-o3-video

# 安装依赖(含PyTorch、Transformers、OpenCV等)
bash setup.sh

setup.sh会自动安装以下核心依赖:

  • PyTorch 2.1.0(支持CUDA 11.8);

  • Hugging Face Transformers 4.36.0;

  • OpenCV 4.8.0(视频处理);

  • Datasets 2.14.0(数据集加载)。

2. 数据准备

下载数据集

STGR-CoT-30k和STGR-RL-36k已开源至Hugging Face,可通过以下命令下载:

# 安装huggingface-cli
pip install huggingface-cli
huggingface-cli download marinero4972/Open-o3-Video --include "data/*" --local-dir ./data

数据结构

下载后的数据需按以下结构存放(src/r1-v/configs/data_root.py中需配置对应路径):

data/
├── stgr_cot_30k/
│  ├── videos/ # 视频文件(mp4格式)
│  ├── annotations.json # 标注文件(含问题、答案、时间戳、边界框)
├── stgr_rl_36k/
│  ├── videos/
│  ├── annotations.json # 含多组“答案+证据”及优劣标注

3. 模型训练

冷启动初始化(SFT)

# 单节点训练(8卡)
bash ./src/scripts/run_sft_video.sh

# 脚本参数说明(可在run_sft_video.sh中修改):
# --model_name_or_path:基础模型路径(默认Qwen3-VL-8B)
# --data_path:STGR-CoT-30k标注文件路径
# --output_dir:训练结果保存路径(默认./outputs/sft_model)
# --num_train_epochs:训练轮次(默认10)

强化学习优化(RL)

# 基于SFT模型继续训练
bash ./src/scripts/run_grpo_video.sh

# 核心参数:
# --sft_model_path:SFT模型路径(需与output_dir一致)
# --rl_data_path:STGR-RL-36k标注文件路径
# --output_dir:RL模型保存路径(默认./outputs/rl_model)

4. 评估与推理

基准测试评估

# 评估所有支持的基准(V-STAR、VideoMME等)
cd eval && bash ./scripts/eval_all.sh

# 单独评估V-STAR
cd eval && python ./eval_vstar.py --model_path ../outputs/rl_model

评估结果会生成JSON文件,包含各指标分数及错误案例分析(如“时间戳偏差超过3秒的样本占比”)。

示例推理

# 进入评估目录
cd eval

# 运行示例脚本(输入视频和问题,输出答案+证据)
python ./inference_example.py \
 --video_path ../assets/example_video.mp4 \
 --question "视频中何时出现红色汽车?" \
 --model_path ../outputs/rl_model

输出示例:

答案:视频中12.3-15.6秒出现红色汽车。
证据:
- 时间戳:12.3秒(对应第308帧),边界框:(x1=320, y1=200, x2=450, y2=280)
- 时间戳:14.5秒(对应第363帧),边界框:(x1=350, y1=210, x2=480, y2=290)
置信度:0.87(高)

Open-o3 Video:开源视频推理框架,整合时空证据实现可验证视频理解

六、常见问题解答(FAQ)

  1. Q:运行setup.sh时提示“CUDA版本不兼容”?
    A:确保CUDA版本为11.8或12.1(PyTorch 2.1.0支持的版本),可通过nvcc --version查看,若版本不符,需重新安装对应CUDA。

  2. Q:数据集下载速度慢怎么办?
    A:可使用Hugging Face的镜像站点,或在huggingface-cli download后添加--proxy http://代理地址(需配置可用代理)。

  3. Q:训练时显存不足(OOM)?
    A:在训练脚本中减少per_device_train_batch_size(如从4改为2),或启用梯度累积(--gradient_accumulation_steps 2)。

  4. Q:推理结果的时间戳与实际视频不符?
    A:检查视频帧率是否为25帧/秒(项目默认),若视频帧率不同,需在inference_example.py中修改fps参数(如fps=30)。

  5. Q:如何自定义数据集训练?
    A:需按STGR-CoT-30k的格式准备标注文件(含video_pathquestionanswertimestampsbboxes字段),并在训练脚本中指定--data_path为自定义文件路径。

七、相关官方链接

八、总结

Open-o3 Video通过整合时空证据与两阶段训练策略,解决了传统视频推理“不可验证”的核心痛点,其构建的STGR数据集为时空接地推理提供了关键支撑,在多项基准测试中的领先性能验证了技术路线的有效性。作为开源项目,它不仅为研究者提供了可复现的视频理解框架,也为开发者提供了开箱即用的工具,推动可解释、高可靠的视频推理技术在安防、媒体、教育等领域的落地应用。

打赏
THE END
作者头像
dotaai
正在和我的聊天机器人谈恋爱,它很会捧场。