关注【或问AI】公众号,回复关键词【heygem】获取源码和模型
HeyGem是硅基智能开源的一款数字人AI产品,官方号称是Heygen的开源平替,但其实并没有完全开源,因为官只开源了前端的代码,后端核心的东西都放在docker里面了。官方给的Windows上部署方案是WSL+Docker+前端APP。对于不熟悉前端js的小伙伴来说,扩展功能很不方便。有大神就把docker中的环境给分离出来并且开源了,主要就是一些二进制文件和模型,这样我们就可以基于Python进行扩展开发了,其开源地址为:https://github.com/Holasyb918/HeyGem-Linux-Python-Hack
HeyGem-Linux-Python-Hack作者也给了这个版本的优点:
- 无需 Docker:简化部署流程,在windows其实也没简化多少。
- Python 驱动: 使用 Python 语言开发,易于理解和扩展。
- 开发者友好: 易于使用和扩展。
- 完全离线。
无论任何方式部署,目前HeyGem都有以下两点局限性(除非能拿到源码):
- WSL是必须的,因为二进制是基于Linux编译的,没有源码只能在Linux下运行
- 必须是Python3.8版本,这也决定了不支持50系显卡,因为cuda12.8的Pytorch目前并没有支持Python3.8版本的,而50系显卡要求cuda版本至少为12.8。
电脑配置要求
- 系统要求: windows 10 或者11
- 显卡要求: 英伟达独立显卡。俗称N卡,至少8G显存,要安装好显卡驱动
- 内存要求:8G及以上
- 硬盘要求:需要至少30G左右的存储空间
- 环境要求:已安装英伟达显卡驱动,支持的cuda版本不低于11.8
- 软件要求:安装wsl,并在wsl中安装ubuntu和配置conda环境,参考教程:https://oq4on4nkkhg.feishu.cn/wiki/JOT1wpWDEiPLNkkeiZpcvDv2nVh
源码部署教程
下载源码和模型
这里提供在线和离线两种下载方式,在线的话就是通过git下载源码,通过wget下载模型。离线的话就通过我提供的网盘链接去下载,网盘中包含源码和模型
- 在线下载(需要魔法)
打开powershell终端(不要进入到wsl终端里面),需要安装git,然后输入如下命令下载源码:
git clone https://github.com/Holasyb918/HeyGem-Linux-Python-Hack.git
输入以下命令进入项目文件夹,并下载模型
cd HeyGem-Linux-Python-Hack
mkdir -p face_attr_detect
wget https://github.com/Holasyb918/HeyGem-Linux-Python-Hack/releases/download/ckpts_and_onnx/face_attr_epoch_12_220318.onnx -O face_attr_detect/face_attr_epoch_12_220318.onnx
mkdir -p face_detect_utils/resources
wget https://github.com/Holasyb918/HeyGem-Linux-Python-Hack/releases/download/ckpts_and_onnx/pfpld_robust_sim_bs1_8003.onnx -O face_detect_utils/resources/pfpld_robust_sim_bs1_8003.onnx
wget https://github.com/Holasyb918/HeyGem-Linux-Python-Hack/releases/download/ckpts_and_onnx/scrfd_500m_bnkps_shape640x640.onnx -O face_detect_utils/resources/scrfd_500m_bnkps_shape640x640.onnx
wget https://github.com/Holasyb918/HeyGem-Linux-Python-Hack/releases/download/ckpts_and_onnx/model_float32.onnx -O face_detect_utils/resources/model_float32.onnx
mkdir -p landmark2face_wy/checkpoints/anylang
wget https://github.com/Holasyb918/HeyGem-Linux-Python-Hack/releases/download/ckpts_and_onnx/dinet_v1_20240131.pth -O landmark2face_wy/checkpoints/anylang/dinet_v1_20240131.pth
mkdir -p pretrain_models/face_lib/face_parsing
wget https://github.com/Holasyb918/HeyGem-Linux-Python-Hack/releases/download/ckpts_and_onnx/79999_iter.onnx -O pretrain_models/face_lib/face_parsing/79999_iter.onnx
mkdir -p pretrain_models/face_lib/face_restore/gfpgan
wget https://github.com/Holasyb918/HeyGem-Linux-Python-Hack/releases/download/ckpts_and_onnx/GFPGANv1.4.onnx -O pretrain_models/face_lib/face_restore/gfpgan/GFPGANv1.4.onnx
mkdir -p xseg
wget https://github.com/Holasyb918/HeyGem-Linux-Python-Hack/releases/download/ckpts_and_onnx/xseg_211104_4790000.onnx -O xseg/xseg_211104_4790000.onnx
mkdir -p wenet/examples/aishell/aidata/exp/conformer
wget https://github.com/Holasyb918/HeyGem-Linux-Python-Hack/releases/download/ckpts_and_onnx/wenetmodel.pt -O wenet/examples/aishell/aidata/exp/conformer/wenetmodel.pt
- 离线下载
公众号里回复【heygem】关键词,获取源码和模型的网盘链接,直接下载即可
创建虚拟环境并安装依赖
- 创建虚拟环境
powershell终端输入wsl 进入ubuntu交互终端,首先创建基于python3.8的conda环境
conda create -n heygem python=3.8 -y # 创建环境
conda activate heygem # 进入环境
python -V #查看是否为3.8版本
- 安装python依赖
先安装cuda、onnxruntime-gpu和pytorch相关依赖
cd /mnt/e/github/HeyGem-Linux-Python-Hack/ #进入项目目录
conda install cudatoolkit=11.8 cudnn=8.9.2 #安装cuda 11.8版本
pip install onnxruntime-gpu==1.16.0
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
输入以下命令,先验证下cuda环境是否正常,没有报错信息说明没问题
python check_env/check_onnx_cuda.py
然后安装其他依赖,先打开requirements_0.txt文件把torch、torchvision、torchaudio、onnxruntime-gpu这几个已经安装的注释掉(最前面加#即可注释),然后输入以下命令安装
pip install -r requirements_0.txt
- 安装系统软件依赖
安装ffmpeg等软件依赖,输入以下命令安装
sudo apt update
sudo apt install ffmpeg -y
运行软件
输入以下命令运行,如果运行的时候还报缺什么,通过apt安装即可
python app.py
运行成功后,终端应该如下
使用教程
进入webui
打开浏览器输入地址:http://localhost:7860/,进入如下webui界面:
生成结果
上传音频和视频,点击提交即可,最终生成的结果会保存到result文件夹中
效果展示
输入视频:
sonic_result
输出结果:
heygem_result
从效果上来说感觉比LatentSync效果好,重点是视频清晰度并没有变低
关注【或问AI】公众号,回复关键词【heygem】获取源码和模型