论文名称: Vinci: A Real-time Embodied Smart Assistant based on Egocentric Vision-Language Model
研究方向: 第一视角视觉、视觉语言模型、流式视频理解、长期记忆、具身智能、视频生成、跨视角检索
关键词: Egocentric Vision、EgoVideo-VL、Memory Module、Action Prediction、Video Retrieval
1. 前言
随着视觉语言模型不断发展,AI 已经能够识别图片、理解视频并回答自然语言问题。
但是,当我们希望 AI 真正进入现实世界,成为一个持续陪伴用户的智能助手时,仅仅具备“看图说话”的能力还远远不够。
现实中的智能助手需要持续观察环境,理解用户正在做什么,记住过去发生过什么,并根据当前状态给出下一步建议。例如:
- 用户现在正在切什么食材?
- 刚才什么时候加入了糖?
- 到目前为止完成了哪些步骤?
- 接下来应该做什么?
- 这个操作应该如何完成?
- 能否直接展示一段动作示范?
传统视觉语言模型大多基于静态图片、离线视频或第三人称数据训练,难以同时处理实时视频流、历史记忆和操作指导。
上海人工智能实验室提出的 Vinci,尝试构建一套面向智能手机、可穿戴摄像头和未来 AR 眼镜的实时具身智能助手。
Vinci 运行在一种 “Always-on”持续在线模式 下,可以不断接收用户第一视角的视频和音频,并完成:
- 当前场景理解;
- 历史事件定位;
- 长视频内容总结;
- 后续任务规划;
- 动作视频生成;
- 教学视频检索。
Vinci 的核心价值可以概括为:
将“看见当前—理解历史—规划下一步—提供可视化指导”连接成一条完整的现实任务辅助链路。
2. 为什么需要第一视角智能助手
2.1 什么是第一视角视觉
第一视角视觉,也称为自我中心视觉,即从行为执行者本人的视角记录环境。
它通常由以下设备采集:
- 智能眼镜;
- 头戴式摄像头;
- 运动相机;
- 固定在身体上的智能手机;
- 机器人或移动智能体上的摄像头。
与第三人称视频相比,第一视角视频更接近用户真实看到的内容,因此能够更加直接地反映:
- 用户正在执行的动作;
- 手和物体之间的交互;
- 用户面前的场景;
- 用户正在关注的目标;
- 一个任务从开始到结束的完整过程。
第一视角视觉中的经典研究任务主要包括:
- 动作理解: 判断用户正在做什么;
- 姿态估计: 分析身体或手部的位置与运动;
- 手—物体交互: 判断用户拿取、触碰或操作了什么;
- 场景理解: 识别用户所在环境及其变化。
随着研究从短视频分类逐渐转向连续视频流,时间记忆、行为预测和过程规划也开始成为关键问题。
2.2 通用视觉语言模型的不足
LLaVA、Qwen-VL 和 InternVL 等视觉语言模型,在图像描述、视觉问答和文字识别方面已经取得了较强表现。
但是,这些模型通常主要在第三人称图片和视频数据上训练。当输入切换到第一视角视频后,模型需要面对新的问题:
- 摄像头会随着用户头部持续移动;
- 用户的手和物体经常互相遮挡;
- 一个完整动作可能分布在多个时间点;
- 当前问题可能依赖几分钟前发生的事件;
- 用户有时不仅需要文字回答,还需要直观的操作示范。
已有的 EgoVLP、EgoVLPv2、LaViLa 和 InternVideo-Ego4D 等工作,已经开始针对第一视角视频与语言进行预训练和模态对齐。
但是,这些研究大多仍然针对某一个特定任务,或者依赖完整视频进行离线分析,并未专门为持续交互和实时应用进行优化。
2.3 离线视频理解无法满足实时交互
传统视频理解通常使用两种输入形式:
- 预先截取好的短视频;
- 已经录制完成的完整视频。
这种方式适合事后分析,却不适合持续运行的现实助手。
真正的实时系统需要满足以下逻辑:
视频持续进入
↓
系统只能使用当前和过去的信息
↓
用户可以在任意时刻提出问题
↓
系统实时返回回答或操作指导
系统不能提前看到未来画面,也不能在每次用户提问时重新处理全部历史视频。
Flash-VStream、VideoStreaming、VideoLLM-Online、MMDuet 和 InternLM-XComposer2.5-OmniLive 等工作已经开始研究流媒体视频理解、记忆机制和多模态实时交互。
但在真实操作任务中,单纯输出文字仍然不够直观。例如用户询问“如何切番茄”时,一段动作演示通常比一大段文字更加容易理解。
Vinci 因此进一步加入了视频生成模块和视频检索模块,将文字指导扩展为视觉指导。
3. Vinci 要解决的核心问题
Vinci 不是一个单独的视频问答模型,而是一套由多个模块组成的实时具身辅助系统。
它主要解决三个问题。
3.1 如何持续理解现实中的第一视角视频
系统需要不断接收摄像头画面,并理解:
- 用户当前所在的位置;
- 用户正在执行的动作;
- 用户手中的物体;
- 周围环境和物体状态;
- 当前任务进行到了哪一步。
3.2 如何记住过去发生的事情
用户的问题可能与几分钟之前的动作有关。
例如:
我什么时候加入了糖?
系统必须将当前的自然语言问题,与历史视频中的某个具体时间点对应起来。
3.3 如何将抽象建议转化为可执行指导
当用户询问“如何切番茄”或“下一步怎么做”时,仅输出文字不一定足够。
Vinci 可以提供三种形式的帮助:
- 根据当前状态生成自然语言建议;
- 生成一段第一视角动作演示;
- 从教学视频数据库中检索相关教程。
因此,Vinci 将实时理解、历史记忆、任务规划和视觉指导整合进了同一个系统。
4. Vinci 的五大核心能力
论文通过一段连续的视频时间轴展示了 Vinci 的五项核心能力。
4.1 当前场景理解
Vinci 可以回答与当前画面有关的问题,例如:
- 我现在在哪里?
- 我正在做什么?
- 桌子上有哪些食材?
- 我手里拿着几个鸡蛋?
4.2 时间定位
Vinci 可以把用户对历史事件的询问,与视频中的具体时间对应起来。
例如:
用户:我什么时候洗了甜椒?
Vinci:你在 136 秒时洗了甜椒。
4.3 视频摘要
Vinci 可以将一段较长的操作过程整理成多个步骤,让用户不必重新观看完整视频。
4.4 未来规划
Vinci 可以综合历史动作和当前画面,判断接下来应该完成哪些步骤。
4.5 动作预测与视觉演示
Vinci 可以根据当前画面和用户指令,生成一段短视频,直观展示下一步动作。
5. Vinci 的整体系统架构
Vinci 由四个主要部分构成:
| 组成部分 | 主要作用 |
|---|---|
| Camera | 采集实时第一视角视频与音频 |
| Backend | 接收视频流、检测唤醒词、调用模型并管理通信 |
| Models | 负责视频理解、历史记忆、视频生成和视频检索 |
| Frontend | 显示实时视频和模型结果,并通过 TTS 播放语音回答 |
整体工作流程如下:
智能手机、GoPro或可穿戴摄像头
↓
RTMP音视频推流
↓
Backend
┌───────┼────────┐
↓ ↓ ↓
ASR 唤醒词检测 视频帧处理
└───────┼────────┘
↓
EgoVideo-VL
┌───────┼────────┐
↓ ↓ ↓
Memory Generation Retrieval
└───────┼────────┘
↓
文字回答或短视频
↓
Web前端显示 + TTS播报
其中:
- 摄像头负责输入;
- 后端是整个系统的通信与调度中心;
- 模型服务负责理解和推理;
- JavaScript 前端负责视频显示、在线聊天、音频播放和生成视频展示。
6. 输入处理模块:把音视频整理成模型输入
输入处理模块本身不负责理解视频,它的任务是将原始音视频整理成 EgoVideo-VL 可以直接使用的结构化输入。
6.1 RTMP 实时推流
Vinci 支持能够使用 RTMP 协议发送音视频流的设备,例如:
- 安装推流软件的智能手机;
- GoPro 或 DJI 等可穿戴摄像头;
- 使用 FFmpeg 配置的普通摄像头。
设备持续将第一视角视频和音频发送到后端。
6.2 自动语音识别
论文实现中使用百度 ASR API 将用户语音转录为文字。
不过,系统框架并不依赖固定的 ASR 服务,也可以替换为其他语音识别模型。
6.3 音视频时间同步
用户的提问往往与当时看到的画面直接相关。
例如:
我手里拿着什么?
如果语音转录文本与视频帧没有正确对齐,模型可能分析到错误时间点的画面。
因此,输入模块需要保持视频帧和语音文本之间的时间同步。音视频对齐是后续场景理解和问答准确性的前提。
7. EgoVideo-VL:Vinci 的核心模型
EgoVideo-VL 是 Vinci 的核心视觉语言模型,主要包含:
- EgoVideo 第一视角视频编码器;
- InternLM-7B 大语言模型。
7.1 EgoVideo:第一视角“眼睛”
EgoVideo 是面向第一视角视频训练的视频基础模型。
它负责把视频转换成视觉 Token,使系统能够提取:
- 场景信息;
- 动作信息;
- 物体信息;
- 手—物体交互信息;
- 时间变化信息。
7.2 InternLM-7B:语言理解与生成“大脑”
论文使用 InternLM-7B 作为语言模型。
它负责融合:
- EgoVideo 输出的视觉 Token;
- 用户的自然语言问题;
- Memory 模块提供的历史上下文;
- 当前任务提示。
随后,语言模型可以:
- 生成自然语言回答;
- 总结历史活动;
- 制定后续步骤;
- 判断是否需要调用视频生成或检索模块。
EgoVideo-VL 的基本处理流程如下:
第一视角视频
↓
EgoVideo Encoder
↓
视觉Token
↓
视觉Token + 用户问题 + 历史记忆
↓
InternLM-7B
↓
文字回答 / 任务规划 / 模块调用
通过这种结构,模型不再局限于固定分类任务,而是能够围绕第一视角视频进行自由形式问答、历史推理和任务规划。
8. EgoVideo-VL 的训练数据
EgoVideo-VL 的训练数据来自三个数据集:
| 数据来源 | 主要作用 |
|---|---|
| Ego4D | 提供大规模第一视角视频和旁白描述 |
| EgoExoLearn | 提供流程学习相关的视频—文本数据 |
| Ego4D-Goalstep | 提供步骤和子步骤标注,用于规划与历史推理 |
8.1 Ego4D 与 EgoExoLearn
作者从 Ego4D 和 EgoExoLearn 中提取视频及其旁白,最终构建了约 400 万组视频—文本对。
这些数据用于训练模型建立:
第一视角视频 ↔ 自然语言描述
之间的对应关系。
模型需要学会:
- 当前发生了什么动作;
- 用户正在操作什么物体;
- 如何描述第一视角视频;
- 如何把视觉 Token 与语言 Token 对齐。
8.2 Ego4D-Goalstep
Ego4D-Goalstep 包含任务步骤和子步骤标注。
作者利用这些标注构建了面向流程理解的问答数据,使模型能够学习:
- 已经完成了哪些步骤;
- 某个动作发生在什么时候;
- 当前任务进行到了哪一步;
- 接下来还需要做什么;
- 如何根据历史动作进行规划。
因此,Goalstep 数据主要用于增强模型的历史推理和任务规划能力。
9. 两阶段微调策略
Vinci 使用两阶段微调策略。
9.1 第一阶段:视觉—语言对齐
第一阶段主要使用 Ego4D 和 EgoExoLearn 数据。
训练目标是让模型在第一视角环境中建立视觉与语言之间的映射,解决:
当前画面中发生了什么?
这一阶段主要提升:
- 场景识别;
- 动作理解;
- 物体识别;
- 第一视角视频描述。
9.2 第二阶段:规划与历史推理增强
第二阶段加入 Ego4D-Goalstep 数据。
模型进一步学习:
- 时间定位;
- 历史事件推理;
- 操作步骤总结;
- 下一步规划;
- 多步骤任务分析。
训练过程中,InternLM-7B 保持冻结,训练重点放在视觉—语言连接和第一视角任务适配上。
第一阶段:看懂并描述
↓
第二阶段:理解过程并规划
10. Memory 模块:把连续视频变成可查询的历史
第一视角视频具有连续性。如果系统只分析当前画面,就无法回答依赖历史的问题。
Vinci 的 Memory 模块采用以下处理流程:
连续视频流
↓
周期性截取短视频
↓
生成动作文字描述
↓
保存“描述 + 时间戳”
↓
用户提出历史问题
↓
检索相关历史记录
↓
将历史上下文提供给 EgoVideo-VL
例如,系统可能保存以下记录:
00:35 用户正在切胡萝卜
00:48 用户将牛奶倒入碗中
00:58 用户加入糖
01:02 用户开始搅拌
当用户在 74 秒时询问:
我什么时候加的糖?
系统可以检索到 58 秒的记录,并返回对应答案。
Memory 模块支持:
- 时间定位;
- 历史事件问答;
- 长视频摘要;
- 用户活动总结;
- 多步骤任务规划;
- 自然语言与视频时间轴对齐。
需要注意的是,Vinci 并不是在每次提问时重新处理全部原始视频,而是把视频转换为带时间戳的文字描述。
这种方式降低了长视频推理成本,但历史记忆的准确性会受到前期视频描述质量的影响。
11. Generation 模块:生成第一视角动作演示
当用户需要详细操作指导时,仅使用文字可能不够直观。
例如:
- 如何打开水龙头?
- 如何切胡萝卜?
- 如何打开冰箱?
- 如何搅拌锅中的食物?
Vinci 可以调用视频生成模块,根据当前画面和用户指令生成一段动作演示。
11.1 基础模型
生成模块基于 SEINE。
SEINE 是开源视频生成系统 Vchitect 中的图像到视频生成模型。作者进一步使用第一视角数据对 SEINE 进行微调,使其适合生成第一视角动作视频。
11.2 输入与输出
生成模块的输入包括:
- 当前最新视频帧;
- 用户的自然语言指令。
输出是一段约 2 秒钟的动作视频。
最新视频帧 + 用户指令
↓
SEINE生成模块
↓
约2秒第一视角演示
11.3 训练数据筛选
为了保证生成视频质量,作者采用两个主要筛选标准。
第一,视频需要具有较平滑的整体运动。作者通过最大光流阈值过滤运动过于剧烈的样本。
第二,文本中的动作动词需要具有合理的出现频率。这样可以避免训练数据中罕见动作过多,导致模型训练不稳定或出现模式退化。
12. Retrieval 模块:检索真实教学视频
生成视频可以提供与当前场景相关的定制化演示,但生成结果可能受到模型能力限制。
因此,Vinci 同时提供了一条更加稳定的路径:从已有教学视频数据库中检索真实操作示范。
检索模块使用:
- EgoInstructor;
- HowTo100M 教学视频数据库;
- FAISS 相似度检索。
当用户输入:
如何切番茄?
系统执行以下步骤:
用户文字查询
↓
提取查询文本特征
↓
与视频库特征计算余弦相似度
↓
使用FAISS进行快速检索
↓
返回相似度最高的Top-3视频
论文中设置 K=3,即返回三个最相关的视频。
EgoInstructor 使用第一视角和第三人称伪配对数据进行训练,因此能够将用户当前的第一视角任务需求,与 HowTo100M 中的第三人称教学视频对应起来。
13. Generation 与 Retrieval 的区别
| 对比维度 | Generation | Retrieval |
|---|---|---|
| 视频来源 | 模型实时生成 | 从已有数据库检索 |
| 输入内容 | 最新视频帧与用户指令 | 用户文字查询 |
| 输出结果 | 约 2 秒的定制动作演示 | Top-3 教学视频 |
| 主要优势 | 更贴近用户当前场景 | 内容真实、步骤更完整 |
| 主要局限 | 可能出现生成错误或失真 | 检索结果不一定完全匹配当前环境 |
这两个模块不是互相替代,而是共同提供不同形式的视觉操作指导。
14. Vinci 如何选择不同的输出路线
Vinci 并不是所有问题都使用同一条处理路径。
14.1 当前场景问答
当前视频 + 用户问题
↓
EgoVideo
↓
LLM
↓
文字或语音回答
适合的问题包括:
- 我现在在哪里?
- 我正在做什么?
- 桌子上有什么?
- 我手里有几个鸡蛋?
14.2 历史信息查询
历史视频描述
↓
Memory模块检索
↓
相关描述与时间戳
↓
LLM
↓
时间定位、摘要或规划
适合的问题包括:
- 我什么时候加的糖?
- 我刚才完成了哪些步骤?
- 到目前为止我做了什么?
- 根据之前的步骤,下一步应该做什么?
14.3 操作指导
用户操作需求
↓
系统判断指导方式
┌───┴────┐
↓ ↓
Generation Retrieval
↓ ↓
生成演示 教学视频
适合的问题包括:
- 如何切番茄?
- 如何打开水龙头?
- 如何煎鸡蛋?
- 如何清洁地毯?
可以将各模块职责概括为:
EgoVideo 负责“看”,LLM 负责“理解与表达”,Memory、Generation 和 Retrieval 是根据问题类型调用的功能模块。
15. 真实设备部署
作者不仅搭建了模型 Demo,还进行了真实设备部署。
实验中,作者将 OnePlus 智能手机固定在用户头部,用于模拟第一视角可穿戴设备。
系统运行过程包括:
- 智能手机采集实时画面;
- 音视频通过 RTMP 推送到后端;
- 后端完成语音转录和模型调用;
- 模型生成回答;
- Web 前端显示结果;
- TTS 将回答转换为语音播放。
当用户询问:
我拿着什么?
系统回答:
在 23.0 秒,你拿着一瓶饮料。
这一实验说明 Vinci 已经实现了移动设备采集、实时推流、模型理解、Web 显示和语音反馈的完整闭环,而不仅仅停留在离线模型实验阶段。
16. 实验结果与能力展示
论文的实验以 定性案例分析 为主,而不是使用统一测试集报告准确率。
作者通过 Gradio Demo 上传长视频,验证 Vinci 在连续视频中的多种能力。
16.1 当前场景理解
在厨房视频中:
- 35.2 秒时,Vinci 识别出用户正在切胡萝卜;
- 94.7 秒时,Vinci 判断用户手中只有一个鸡蛋。
在未经额外微调的具身导航视频中,Vinci 还能够:
- 识别智能体正在走廊中移动;
- 统计场景中的人数。
此外,系统能够识别拍摄地点并读取盒子上的中文字符,说明模型具备一定的场景理解、动作识别、计数和 OCR 能力。
16.2 时间定位
用户在 74 秒时询问:
我什么时候加的糖?
Vinci 从 Memory 模块中检索出对应动作发生在 58 秒。
即使用户提问顺序与事件发生顺序不一致,或者问题与历史事件间隔较长,系统仍然可以定位相关操作。
16.3 视频摘要
用户在 62.9 秒时要求系统总结之前的操作。
Vinci 将较长的烹饪过程整理为多个步骤,包括:
- 分离鸡蛋;
- 加入牛奶和水;
- 加入面粉;
- 加入糖并搅拌;
- 将混合物搅拌至顺滑。
16.4 未来规划
当系统观察到混合物已经倒入模具后,可以推断下一步是等待混合物凝固和冷却。
在沙拉制作案例中,Vinci 还能够综合历史动作和当前状态,生成剩余操作步骤。
当前视频状态
+
Memory中的历史步骤
↓
EgoVideo-VL综合判断
↓
下一步或多步骤计划
16.5 跨视角视频检索
对于“如何切番茄”“如何煎鸡蛋”“如何清洁地毯”等问题,Vinci 能够从 HowTo100M 中返回相关第三人称教学视频。
16.6 动作预测与视频生成
Generation 模块可以根据最新视频帧和用户提示,输出约两秒的预测动作视频。
论文展示的任务包括:
- 打开水龙头;
- 切胡萝卜;
- 打开冰箱;
- 搅拌食物。
这些短视频尝试将抽象语言指令转换为更加直观的动作示范。
17. Vinci 的主要创新点
17.1 从单一任务模型升级为统一系统
Vinci 将以下能力整合到一个系统中:
- 实时视频理解;
- 自然语言交互;
- 历史记忆;
- 时间定位;
- 未来规划;
- 视频生成;
- 视频检索。
17.2 构建面向第一视角交互的 EgoVideo-VL
EgoVideo-VL 将第一视角基础模型 EgoVideo 与 InternLM-7B 连接,使模型可以围绕连续第一视角视频进行自由形式语言交互。
17.3 采用两阶段训练策略
第一阶段解决视觉与语言对齐,第二阶段使用流程问答数据增强历史推理和任务规划能力。
17.4 引入结构化长期记忆
Memory 模块将短视频转换为带时间戳的文字记录,使系统能够回答过去发生了什么、某个动作何时发生、已经完成哪些步骤以及接下来应该做什么。
17.5 同时提供生成式和检索式视觉指导
Vinci 不只是告诉用户“怎么做”,还可以:
- 生成与当前场景相关的第一视角动作演示;
- 检索更加完整、真实的第三人称教程。
17.6 提供完整可部署系统
作者开放了模型参数、推理代码、Web 前端、后端服务和设备部署代码。
因此,Vinci 不只是一个模型概念,也是一套可以进一步开发和扩展的系统框架。
18. Vinci 的不足与局限
18.1 实验以定性展示为主
论文主要通过案例证明系统能够完成不同任务,没有提供统一测试集上的准确率、召回率、平均响应时间、视频生成质量指标和长时间运行稳定性。
因此,目前可以确认的是:
Vinci 已经实现了完整功能链路,并在展示案例中表现出多种能力。
但还不能仅凭这些案例判断系统在开放现实环境中的整体可靠性。
18.2 历史记忆错误可能累积
Memory 模块保存的是模型生成的文字描述,而不是直接保存完整视频语义。
如果早期某个视频片段被错误描述,后续的时间定位、视频摘要和任务规划也可能受到影响。
视频理解错误
↓
历史描述保存错误
↓
记忆检索返回错误
↓
摘要或规划继续出错
18.3 视频生成时间较短
Generation 模块主要输出约两秒的动作演示,更适合展示单个局部动作。
对于设备维修、复杂烹饪或医学训练等任务,两秒视频可能无法完整呈现全部过程。
18.4 第一视角和第三人称能力不完全一致
生成模块针对第一视角数据进行了专门微调,因此在第一视角场景中表现更好。当任务切换到第三人称视频时,生成质量可能下降。
18.5 Always-on 模式带来现实部署问题
持续采集视频和音频可能涉及:
- 设备功耗;
- 网络带宽;
- 实时推理延迟;
- 用户隐私;
- 旁观者隐私;
- 历史数据的存储安全。
论文重点展示了系统架构和功能,但并未对这些问题进行充分量化分析。
19. 潜在应用场景
19.1 AR 与 VR 智能助手
Vinci 可以集成到 AR 眼镜、VR 头显和其他可穿戴设备中,适合工业培训、医学操作学习、设备维护、应急响应模拟和远程技术支持。
19.2 具身智能与机器人
Vinci 可以为机器人或自主智能体提供当前场景理解、历史状态记录、任务流程分析、下一步行为建议和视觉动作参考。
19.3 智能家居
系统可以持续理解家庭活动和环境变化,为用户提供具有上下文的提醒和流程辅助。
19.4 教育与操作型学习
相比只输出文字,Vinci 可以同时结合实时观察、历史步骤分析、自然语言解释和视频操作演示。
这种方式适合实验操作、手工制作、烹饪教学、技能训练和职业培训。
19.5 医疗与生活辅助
Vinci 可以用于识别老年人的日常活动、提供任务和用药提醒、辅助餐食准备,并通过视觉演示帮助用户完成个人护理操作。
20. 总结
Vinci 的意义并不只是提出了一个新的视觉语言模型,而是展示了一种面向现实世界的具身智能助手形态。
它将以下能力组合在一起:
实时音视频输入
↓
第一视角场景理解
↓
历史事件记忆
↓
时间定位与视频摘要
↓
未来任务规划
↓
视频生成或教程检索
↓
文字、语音和视觉指导
其中:
- EgoVideo 让系统具备第一视角感知能力;
- InternLM 负责语言理解、回答和规划;
- Memory 模块把连续视频转化为可查询历史;
- Generation 模块生成第一视角动作演示;
- Retrieval 模块从教学视频库中检索真实教程。
从技术路线来看,Vinci 正在推动智能助手从传统的“回答问题”逐渐转向:
持续观察环境、记住历史过程、理解当前状态,并辅助用户完成行动。
论文目前仍以系统原型和定性实验为主,距离高可靠、长时间运行的实际产品还有一定距离。
但它已经给出了一套较为完整的第一视角具身智能框架,为未来的 AR/VR 助手、可穿戴 AI、智能家居和自主机器人提供了具有参考价值的技术路径。