livetalking/README.md

122 lines
3.4 KiB
Markdown
Raw Normal View History

2023-12-19 09:41:52 +08:00
# 虚拟人说话头生成(照片虚拟人实时驱动)
![](/img/example.gif)
# Get Started
## Installation
Tested on Ubuntu 22.04, Pytorch 1.12 and CUDA 11.6or Pytorch 1.12 and CUDA 11.3
```python
git clone https://github.com/waityousea/xuniren.git
cd xuniren
```
### Install dependency
```python
# for ubuntu, portaudio is needed for pyaudio to work.
sudo apt install portaudio19-dev
pip install -r requirements.txt
or
## environment.yml中的pytorch使用的1.12和cuda 11.3
conda env create -f environment.yml
## install pytorch3d
#ubuntu/mac
pip install "git+https://github.com/facebookresearch/pytorch3d.git"
```
**windows安装pytorch3d**
- gcc & g++ ≥ 4.9
在windows中需要安装gcc编译器可以根据需求自行安装例如采用MinGW
以下安装步骤来自于[pytorch3d](https://github.com/facebookresearch/pytorch3d/blob/main/INSTALL.md)官方, 可以根据需求进行选择。
```python
conda create -n pytorch3d python=3.9
conda activate pytorch3d
conda install pytorch=1.13.0 torchvision pytorch-cuda=11.6 -c pytorch -c nvidia
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
```
对于 CUB 构建时间依赖项,仅当您的 CUDA 早于 11.7 时才需要,如果您使用的是 conda则可以继续
```
conda install -c bottler nvidiacub
```
```
# Demos and examples
conda install jupyter
pip install scikit-image matplotlib imageio plotly opencv-python
# Tests/Linting
pip install black usort flake8 flake8-bugbear flake8-comprehensions
```
任何必要的补丁后你可以去“x64 Native Tools Command Prompt for VS 2019”编译安装
```
git clone https://github.com/facebookresearch/pytorch3d.git
cd pytorch3d
python setup.py install
```
### Build extension
By default, we use [`load`](https://pytorch.org/docs/stable/cpp_extension.html#torch.utils.cpp_extension.load) to build the extension at runtime. However, this may be inconvenient sometimes. Therefore, we also provide the `setup.py` to build each extension:
```
# install all extension modules
# notice: 该模块必须安装。
# 在windows下建议采用vs2019的x64 Native Tools Command Prompt for VS 2019命令窗口安装
bash scripts/install_ext.sh
```
### **start(独立运行)**
环境配置完成后,启动虚拟人生成器:
```python
python app.py
```
### **start对接fay在ubuntu 20下完成测试**
环境配置完成后启动fay对接脚本
```python
python fay_connect.py
```
![](img/weplay.png)
扫码支助开源开发工作凭支付单号入qq交流群
接口的输入与输出信息 [Websoket.md](https://github.com/waityousea/xuniren/blob/main/WebSocket.md)
虚拟人生成的核心文件
```python
## 注意,核心文件需要单独训练
.
├── data
│ ├── kf.json
│ ├── pretrained
│ └── └── ngp_kg.pth
```
### Inference Speed
在台式机RTX A4000或笔记本RTX 3080ti的显卡显存16G上进行视频推理时1s可以推理35~43帧假如1s视频25帧则1s可推理约1.5s视频。
# Acknowledgement
- The data pre-processing part is adapted from [AD-NeRF](https://github.com/YudongGuo/AD-NeRF).
- The NeRF framework is based on [torch-ngp](https://github.com/ashawkey/torch-ngp).
- The algorithm core come from [RAD-NeRF](https://github.com/ashawkey/RAD-NeRF).
- Usage example [Fay](https://github.com/TheRamU/Fay).
学术交流可发邮件到邮箱waityousea@126.com