项目介绍:Dolphin 视频交互平台
Dolphin 是一个基于大型语言模型的视频通用交互平台,由来自北京航空航天大学和南洋理工大学的团队开发。该项目的核心目标是创建一个智能聊天机器人,能够理解、处理以及生成视频。Dolphin 项目仍在建设中,开发团队将不断进行更新,并欢迎社区的贡献和代码合并请求。
功能演示
Dolphin 提供了一系列视频处理和生成功能的演示,包括视频理解(对视频的问答)、视频处理(如视频剪辑、添加字幕、提取音频及添加音频等)以及视频生成(将文本转化为视频,结合姿态、深度信息生成视频,以及视频风格转换等)。
更新日志
- 2023年5月6日:代码发布及在线演示
- 视频理解:提供视频的问答交互功能。
- 视频处理:基本功能包括视频剪辑、添加字幕、提取音频,还支持视频转姿态、深度和边缘检测。
- 视频生成:实现文本转换为视频,以及基于姿态/深度信息和文本生成视频的功能,还有视频风格转换。
快速开始
要开始使用 Dolphin 项目,用户需要先准备开发环境,强烈建议使用 Conda 管理环境,并使用 Python 3.8。以下是一些基本的配置步骤:
-
创建并激活 Conda 环境:
conda create -n dolphin python=3.8 conda activate dolphin
-
克隆代码库并安装依赖:
git clone https://github.com/BUAA-PrismGroup/dolphin.git cd dolphin pip install -r requirements.txt
-
启动 Dolphin 项目,可以通过
--load
参数指定模型使用的设备。可用的模型基础配置可在configs/backends.yaml
内找到。
GPU 内存使用
Dolphin 支持多种视频基础模型,不同模型的 GPU 内存使用量各不相同。比如:VideoCaptioning 需要大约 13393 MB 的 GPU 内存,而 ImageCaptioning 使用约 8429 MB 的内存。
项目扩展
该项目的框架高度可扩展,支持添加更多视频基础模型和大型语言模型。要添加新的视频基础模型,用户可以在 modules
目录下添加新的推理代码,创建新的 Python 包。可以参考 ModelscopeT2V
模型的实现方式。
对于大型语言模型方面的扩展,可以参考 video_chatgpt.py
的实现,并在项目根目录中创建新的文件以支持其他语言模型。
未来计划
项目团队目前正在开发以下功能:
- 带视频下游处理能力的聊天机器人(视频理解、处理和生成)
- 具备上下文学习能力的预训练视频模型
- 新兴视频任务的基准测试
- 包括 Gradio、Web、API 和 Docker 的服务支持
致谢
项目感谢以下开源项目的支持:
- Hugging Face
- LangChain
- mPLUG
- BLIP-2
- MoviePy
- Text2Video-Zero
- damo/text-to-video-synthesis
- bark
对于使用过程中遇到的任何问题,请提交 GitHub issue。欢迎联系团队成员 Zehuan Huang (huanngzh@gmail.com) 或 kaleido lab (kaleido.ailab@gmail.com) 进行交流,同时欢迎在 Twitter 上关注 @kaleido_lab。