此数据流使用 Qwen2.5-VL 创建视觉语言交互管道:
相机 -> Qwen2.5-VL -> Rerun (显示)
该管道从相机捕获视频,使用视觉语言模型处理图像以理解和描述所见内容,并在 Rerun 查看器中显示结果。它还可以集成语音功能,实现完整的多模态体验。
opencv-video-capture :从相机捕获视频
dora-qwen2-5-vl :视觉语言模型 (Qwen2.5-VL) 用于图像理解
dora-qwenvl :原始 QwenVL 模型(备选)
dora-rerun :可视化相机画面和 VLM 响应
dora-microphone :捕获语音输入的音频(可选)
dora-vad :语音活动检测(可选)
dora-distil-whisper :语音转文字,用于语音提问(可选)
dora-kokoro-tts :文字转语音,用于语音回复(可选)
dora-pyaudio :TTS 音频输出(可选)
Python 3.11+
dora-rs
相机(网络摄像头)
uv(Python 包管理器)
推荐使用 GPU(CUDA/MPS 可加速推理)
# 安装 dora CLI
cargo install dora-cli
# 或安装 Python 包(必须与 CLI 版本匹配)
pip install dora-rs
cd examples/vlm
# 创建虚拟环境
uv venv --seed -p 3.11
# 构建数据流
dora build qwen2-5-vl-vision-only-dev.yml --uv
# 运行数据流
dora run qwen2-5-vl-vision-only-dev.yml --uv
cd examples/vlm
# 创建虚拟环境
uv venv --seed -p 3.11
# 构建数据流
dora build qwenvl.yml --uv
# 运行数据流
dora run qwenvl.yml --uv
uv venv -p 3.11 --seed
dora build https://raw.githubusercontent.com/dora-rs/dora/main/examples/vlm/qwenvl.yml --uv
dora run https://raw.githubusercontent.com/dora-rs/dora/main/examples/vlm/qwenvl.yml --uv
# 连接到 Rerun 查看器
rerun --connect rerun+http://127.0.0.1:9876/proxy
变量 描述 默认值
CAPTURE_PATH相机设备索引或视频路径 0
IMAGE_WIDTH捕获宽度 640
IMAGE_HEIGHT捕获高度 480
变量 描述 默认值
DEFAULT_QUESTION关于图像的提问 Describe the image in three words.
IMAGE_RESIZE_RATIO输入图像的缩放比例 1.0
USE_MODELSCOPE_HUB使用 ModelScope 代替 HuggingFace false
变量 描述 默认值
TARGET_LANGUAGE语音识别语言 english
qwen2-5-vl-vision-only-dev.yml:相机 + Qwen2.5-VL + Rerun(简单视觉模式)
qwenvl.yml:使用 QwenVL + OuteTTS 的完整管道,支持语音输入/输出
qwen2-5-vl-speech-to-speech-dev.yml:使用 Qwen2.5-VL + Kokoro TTS 的完整管道
qwenvl-dev.yml:使用本地节点路径的开发版本
+--------+ +-------------+ +--------+
| 相机 | --> | Qwen2.5-VL | --> | Rerun |
+--------+ | (VLM) | | (显示) |
+-------------+ +--------+
+------------+ +---------+ +---------+
| 麦克风 | --> | VAD | --> | Whisper |
+------------+ +---------+ | (STT) |
+---------+
|
v
+--------+ +-------------+ +---------+ +--------+
| 相机 | --> | Qwen2.5-VL | <-- | 问题 | | Rerun |
+--------+ | (VLM) | +---------+ | (显示) |
+-------------+ +--------+
| ^
v |
+---------+ +---------+ |
| Kokoro | --> | PyAudio |-------------+
| (TTS) | | (扬声器)|
+---------+ +---------+
实时视觉理解 :描述场景、识别物体、读取文字
语音交互 :使用语音询问相机所见内容
语音回复 :通过文字转语音听取 VLM 的回答
可定制提示 :配置默认问题用于自动分析
多模型支持 :可选择 Qwen2.5-VL 或原始 QwenVL
无障碍辅助 :为视障用户描述周围环境
质量检测 :带语音反馈的自动化视觉检测
互动演示 :语音控制的图像分析
机器人 :自主系统的视觉理解
教育 :视觉内容的交互式学习
检查系统相机权限
验证 CAPTURE_PATH 中的相机设备索引是否正确
先在其他应用中测试相机
首次运行需要下载可能数 GB 的 VLM 模型
确保网络连接稳定
模型在首次下载后会被缓存
在中国可使用 USE_MODELSCOPE_HUB=true 加速下载
Qwen2.5-VL 需要较大的 GPU 内存
减小 IMAGE_RESIZE_RATIO 以降低内存使用
如有可用,使用较小的模型变体
检查系统麦克风权限
验证是否选择了正确的音频输入设备
先在其他应用中测试麦克风