ai-webui-图像、音频、视频处理工具

1. 简介

ai-webui是一个基于浏览器操作的界面,旨在提供一个通用的AI创作平台。 drawingdrawing

本项目提供了图像分割、目标追踪、图像修复、语音识别、语音合成等基本功能,以及集成得到的聊天问答、视频翻译、视频去水印等有利于大幅提高短视频创作效率的高级功能。

⚡2. 安装

要安装并使用AI-WebUI,请按照以下步骤操作:

2.1 克隆此项目到本地计算机

1
git clone https://github.com/jasonaidm/ai_webui.git

2.2 进入项目目录

1
cd ai_webui

2.3 创建虚拟环境

1
2
conda create -n aiwebui python=3.11
conda activate aiwebui

2.4 安装所需的依赖项

1
2
apt install ffmpeg -y 
pip install -r requirements.txt

🚀3. 快速开始

使用AI-WebUI非常简单。只需要按照界面上的指示进行操作即可。你可以通过上传视频、音频、图片或输入文本等方式输入创作要素,并与模型的输出进行交互。

1
python webui.py -c ./configs/webui_configs.yml

启动后,在浏览器中打开 http://localhost:9090/?__theme=dark 查看项目界面。

3.1 单一功能示例

考虑到部分用户个人电脑的GPU性能问题,我们提供单功能示例,用户可以单独运行一个AI功能,而不需要启动整个项目。

  1. 图像分割
  • 全景分割
  • 基于points坐标信息的提示词分割
  • 基于文本提示词的分割
1
python webui.py -c ./configs/segmentation_demo.yml

segmentation示例

  1. 语音识别
  • 中英文等多语言识别
1
python webui.py -c ./configs/asr_demo.yml

asr示例

  1. 语音合成
  • 中英文等多语言合成
1
python webui.py -c ./configs/tts_demo.yml

tts示例

3.2 组合功能示例

通过多个AI模型组合得到更为复杂的功能,对显卡资源要求较高。

  1. 聊天问答
  • 文本流式对话功能
  • 语音对话功能
1
python webui.py -c ./configs/chatbot_demo.yml

chatbot示例

  1. 视频修复
  • 去水印
  • 去马赛克
  • 目标追踪
  • 消除视频里的特定物体
1
python webui.py -c ./configs/video_inpainter_demo.yml

video_inpainter示例

  1. 视频转换
  • 音视频分离
  • 画面裁剪
  • 画面加噪
  • 抽帧取帧
  • 音频识别
  • 字幕翻译
  • 语音合成
  • bgm添加
  • 视频一键生成(外网视频无脑搬运)
1
python webui.py -c ./configs/video_convertor_demo.yml

video_convertor示例

3.3 全功能上线

通过下列命令,打开所有AI功能:

1
python webui.py -c ./configs/webui_configs.yml

由于模型加载耗时较长,建议在启动后的第一次推理时加载模型。 可通过configs/base.yml配置文件的”init_model_when_start_server”来控制每一个AI模型的加载策略。

🔥4. 模型文件

4.1 模型文件下载

模型 模型文件大小 小模型清单 下载链接
chatglm2-6b-int4 3.7G 百度网盘
chatglm2-6b 12G 清华大学云盘
sam_vit_b 358M 百度网盘
sam_vit_h 2.4G 百度网盘
FastSAM-s 23M 百度网盘
FastSAM-x 138M 百度网盘
ProPainter 150M 百度网盘
raft-things 20M 百度网盘
recurrent_flow_completion 19M 百度网盘
cutie 134M 百度网盘
whisper-samll 461M 百度网盘
whisper-large-v3 2.9G 百度网盘
  • 百度网盘提取码为:zogk

4.2 模型权重文件的目录结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
model_weights/
├── chatglm
│ └── chatglm2-6b-int4
│ ├── config.json
│ ├── configuration_chatglm.py
│ ├── modeling_chatglm.py
│ ├── pytorch_model.bin
│ ├── quantization.py
│ ├── tokenization_chatglm.py
│ ├── tokenizer.model
│ └── tokenizer_config.json
├── fastsam
│ ├── FastSAM-s.pt
│ └── FastSAM-x.pt
├── propainter
│ ├── ProPainter.pth
│ ├── cutie-base-mega.pth
│ ├── raft-things.pth
│ └── recurrent_flow_completion.pth
├── sam
│ ├── sam_vit_b.pth
│ └── sam_vit_h.pth
└── whisper
├── large-v3.pt
└── small.pt

如果GPU显存小于8G,可能要小模型才能跑得起来;但小模型的效果不太理想,有条件的尽量跑大模型。