AI个人学习
和实操指南
豆包Marscode1

VideoMind:视频按时间戳定位内容与问答的开源项目

综合介绍

VideoMind 是一个开源的多模态AI工具,专注于长视频的推理、问答和摘要生成。它由香港理工大学的刘晔(Ye Liu)和新加坡国立大学Show Lab的团队共同开发。工具模仿人类理解视频的方式,把任务拆成规划、定位、验证和回答等步骤,逐步解决问题。核心技术是Chain-of-LoRA,通过一个基础模型切换不同角色,既高效又节省资源。VideoMind 在2024年3月21日正式发布代码、模型和数据集,技术报告也于2025年3月17日更新。用户可通过GitHub或Hugging Face获取资源。

该项目并不是提取音频转文本理解内容,而是纯图形化且按照时间戳准确理解视频内容,可用于视频自动精剪、教学场景,十分实用!

VideoMind:视频按时间戳定位内容与问答的开源项目-1

体验地址:https://huggingface.co/spaces/yeliudev/VideoMind-2B

 

功能列表

  • 长视频时间定位:找到视频中与问题相关的时间段。
  • 视频问答功能:根据用户提问,从视频中提取准确答案。
  • 视频摘要生成:提炼视频关键内容,生成简洁概述。
  • 多模态代理框架:包括规划者、定位者、验证者和回答者,协作处理任务。
  • Chain-of-LoRA技术:用单一模型实现多功能,减少资源消耗。
  • 支持多种硬件:可在NVIDIA GPU或Ascend NPU上运行。
  • 高效训练支持:集成DeepSpeed、LoRA、FlashAttention2等技术。
  • 在线演示:通过Gradio界面快速体验功能。

 

使用帮助

VideoMind 是一个开源项目,用户需要下载代码并配置环境才能使用。以下是详细的操作指南,涵盖安装和功能使用。

安装流程

  1. 克隆代码仓库
    在终端运行以下命令,下载VideoMind源码:
git clone https://github.com/yeliudev/VideoMind.git

进入项目目录:

cd VideoMind
  1. 设置Python环境
    使用conda创建虚拟环境(建议Python 3.12):
conda create -n videomind python=3.12 -y
conda activate videomind
  1. 安装依赖库
    执行以下命令安装所需依赖:
pip install -r requirements.txt

若需高效训练,可安装DeepSpeed:

pip install deepspeed
  1. 下载模型和数据集
  • 访问https://huggingface.co/collections/yeliudev/videomind-67dd41f42c57f0e7433afb36,下载预训练模型(如VideoMind-2B),解压到models文件夹。
  • 数据集可在https://huggingface.co/datasets/yeliudev/VideoMind-Dataset下载,包括27个视频数据集和VideoMind-SFT(481K训练数据),放置在data目录。
  1. 测试安装
    运行测试脚本,确认环境无误:
python test.py

主要功能操作

1. 长视频时间定位

  • 准备视频:将视频文件放入data/videos目录,支持MP4、AVI等格式。
  • 运行命令
python run_grounding.py --video_path data/videos/sample.mp4 --query "找到讨论AI的部分"
  • 结果输出:返回时间范围,如“00:05:12 - 00:07:34”。

2. 视频问答

  • 输入问题:新建query.txt,写入问题,例如“视频里谁是主角?”。
  • 执行命令
python run_qa.py --video_path data/videos/sample.mp4 --query_file query.txt
  • 获取答案:终端显示结果,如“主角是李明”。

3. 视频摘要生成

  • 运行命令
python run_summary.py --video_path data/videos/sample.mp4
  • 查看摘要:结果保存为summary.txt,如“视频介绍了一场科技讲座”。

特色功能操作

Chain-of-LoRA技术

  • VideoMind 使用单一模型,通过LoRA适配器切换角色。配置文件在config/lora.yaml,可调整rank参数提升效果:
lora:
rank: 16

在线演示

  • 无需本地安装,可访问https://huggingface.co/spaces/yeliudev/VideoMind-2B,上传视频并输入问题,直接体验功能。详情见docs/DEMO.md

训练模型

  • 准备数据:使用VideoMind-SFT或其他27个数据集,放在data目录。
  • 启动训练:运行:
python train.py --dataset data/VideoMind-SFT --model models/VideoMind-2B
  • 监控训练:支持Tensorboard或Wandb查看进度,具体配置见docs/TRAIN.md

注意事项

  • 视频文件过大时,建议分段处理,避免内存溢出。
  • Ascend NPU用户需安装昇腾驱动,运行时加参数--device ascend
  • 更多调试信息见docs/EVAL.md,包括基准测试指南。

通过以上步骤,用户可以快速安装并使用VideoMind,处理长视频任务。


 

应用场景

  1. 视频内容分析
    用户可以用VideoMind分析YouTube长视频,定位关键片段或生成摘要,节省观看时间。
  2. 教育与研究
    学生或研究者处理讲座视频时,可提问“讲了哪些算法?”并获取答案,整理笔记更高效。
  3. 内容审核
    平台管理员用它验证视频内容是否符合要求,比如检查是否有违规片段。

 

QA

  1. VideoMind能处理多长的视频?
    取决于硬件,16GB内存可处理1小时视频,32GB支持更长内容。
  2. 在线演示和本地部署有什么区别?
    在线版无需安装,但功能受限;本地版支持自定义训练和大规模处理。
  3. 数据集如何使用?
    27个数据集用于训练和评估,VideoMind-SFT适合优化模型,具体见https://huggingface.co/datasets/yeliudev/VideoMind-Dataset。
未经允许不得转载:首席AI分享圈 » VideoMind:视频按时间戳定位内容与问答的开源项目
zh_CN简体中文