122 lines
3.4 KiB
Markdown
122 lines
3.4 KiB
Markdown
# 虚拟人说话头生成(照片虚拟人实时驱动)
|
||
![](/img/example.gif)
|
||
# Get Started
|
||
|
||
## Installation
|
||
|
||
Tested on Ubuntu 22.04, Pytorch 1.12 and CUDA 11.6,or 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
|