❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 技术核心:VideoRAG 通过检索增强生成技术,从长视频中提取与用户查询相关的辅助文本,帮助模型更好地理解和生成响应。
- 功能亮点:支持多模态信息提取,包括光学字符识别、自动语音识别和对象检测,具有轻量级和高效性。
- 应用场景:广泛应用于视频问答系统、视频内容分析、教育培训、娱乐媒体创作及企业内部知识管理。
正文(附运行示例)
VideoRAG 是什么
VideoRAG 是一种用于长视频理解的检索增强生成(Retrieval-Augmented Generation)技术。它通过提取视频中的视觉对齐辅助文本,帮助大型视频语言模型(LVLMs)更好地理解和处理长视频内容。
具体来说,VideoRAG 使用开源工具从视频数据中提取音频、文字和对象检测等信息,将这些信息作为辅助文本与视频帧和用户查询一起输入到现有的 LVLM 中。这种方法计算开销低,易于实现,能与任何 LVLM 兼容。在多个长视频理解基准测试中,VideoRAG 展现出了显著的性能提升。
VideoRAG 的主要功能
- 检索增强生成:通过检索增强生成(RAG)技术,VideoRAG 能从长视频中提取与用户查询相关的辅助文本,帮助模型更好地理解和生成响应。
- 多模态信息提取:基于开源工具(如 EasyOCR、Whisper 和 APE),VideoRAG 从视频中提取多种类型的辅助文本,包括光学字符识别(OCR)、自动语音识别(ASR)和对象检测(DET)信息。
- 轻量级与高效性:VideoRAG 采用单次检索的方式,具有轻量级和低计算开销的特点,易于与现有的大型视频语言模型(LVLMs)集成。
VideoRAG 的技术原理
- 辅助文本提取:基于开源工具从视频中提取多种类型的辅助文本信息,包括光学字符识别(OCR)、自动语音识别(ASR)和对象检测(DET)等。分别处理视频的文本、音频和视觉内容,生成与视频帧对齐的文本描述。
- 检索模块:将提取的辅助文本信息存储在向量数据库中,通过检索技术从数据库中找到与用户查询最相关的文本片段。是通过将用户查询和视频内容的特征向量与数据库中的文本向量进行匹配来实现的。
- 生成模块:将检索到的辅助文本与视频帧和用户查询一起输入到现有的大型视频语言模型(LVLM)中。模型基于这些信息生成对用户查询的响应,辅助文本提供了额外的上下文信息,帮助模型更好地理解和生成与视频内容相关的回答。
- 跨模态对齐:通过辅助文本的引入,VideoRAG 促进了视频帧与用户查询之间的跨模态对齐,使模型能够更准确地关注与查询相关的关键帧。
如何运行 VideoRAG
1. 克隆并构建 LLaVA-NeXT 环境
git clone https://github.com/LLaVA-VL/LLaVA-NeXT
cd LLaVA-NeXT
conda create -n llava python=3.10 -y
conda activate llava
pip install --upgrade pip
pip install -e ".[train]"
2. 安装必要的依赖包
pip install spacy faiss-cpu easyocr ffmpeg-python
pip install torch==2.1.2 torchaudio numpy
python -m spacy download en_core_web_sm
3. 克隆并构建 APE 环境
git clone https://github.com/shenyunhang/APE
cd APE
pip3 install -r requirements.txt
python3 -m pip install -e .
4. 运行 APE 服务
python demo/ape_service.py
5. 运行 VideoRAG 管道
python vidrag_pipeline.py
资源
- 项目官网:https://video-rag.github.io
- GitHub 仓库:https://github.com/Leon1207/Video-RAG-master
- arXiv 技术论文:https://arxiv.org/pdf/2411.13093
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦