VIBE是一个的3D人体姿态预测开源项目,需要基于该项目作一些开发,首先需要能够搭建和是的环境成功复现它。
不过,这个项目的复现的,真的不是一星半点的艰难。
之前一直用的Windows,最开始想在windows上复现它,经过一周的折腾,我放弃了。
接着尝试了Docker,由于GPU的问题放弃了。
接着尝试了WSL,虽然基本解决了GPU加速问题,但其中的某些方法还是只能使用CPU,导致速度异常慢,在最后的渲染阶段也是不能正常渲染的,最终也放弃了。
一不做二不休,把自己的电脑整个重装系统,变成一台Ubuntu电脑。
所以,如果你也想验证该项目,那么就不要在Windows上纠缠了,也不要去考虑虚拟机什么的,直接换系统吧。
官方是在2080Ti显卡上测试,宣称可达到30FPS,所以这个玩意是真的吃性能的,1060会报显存不够的错误的。
本人做测试时,电脑信息如下
git clone https://github.com/mkocabas/VIBE.git
官方提供了两种安装方式,pip和conda,因为其安装过程是需要创建虚拟环境的,个人习惯使用conda,
所以使用conda的安装:
cd VIBE
# pip
# source scripts/install_pip.sh
# conda
source scripts/install_conda.sh
打住!还是打开该文件,对照着内容一步一步手动来吧
首先创建 名为 vibe-env python=3.7的虚拟环境,接着激活该环境
接着手动使用pip安装numpy==1.17.5 torch==1.4.0 torchvision==0.5.0,(为了避免后面其他坑,这里就按照指定版本安装)
如果torch和torchvision提示找不到对应的版本,可以去pip官方源下载对应的whl文件后手动安装
“pip install git+https:……pytube.git --upgrade”是安装一个下载youtobe视频的开源项目,这个可以跳过。
其次如果需要安装,查看pytube项目主页,可以直接使用“pip install pytube”来安装。
最后就是根据“requirement.txt”来安装依赖项。
pip install -r requirements.txt
(本人在上面这一步折腾了很久,,,有很多坑的,但是由于其中一些项目的更新,已经VIBE项目作者在19天前也对该文件做了更新,目前亲测可以一次成功)
如果不成功,按照文件内所列依赖项逐个手动安装,并逐一解决问题即可。
模型与示例视频准备:
source scripts/prepare_data.sh
当然参考该文件内容,要下在vibe_data.zip文件,我上传到了csdn,可以手动下载:https://download.csdn.net/download/Raink_LH/12692105
其他步骤参可照上图中的注释进行操作即可。
最后运行demo.py文件
编译器运行需要配置一定的参数,参照官方示例:
# Run on a local video
python demo.py --vid_file sample_video.mp4 --output_folder output/ --display
我下载了B站上的舞蹈视频来作测试
该Demo中对3D-pose的预测分三个步骤:
对与第一个阶段,GPU基本在70%左右,CPU在60%左右,第二阶段CPU和GPU都在很低和100%直接波动,应该是逐帧检测时,每一帧都比较消耗资源的。第三阶段渲染时,GPU使用一般,但CPU持续在95%以上。
我使用的视频是720P的,人物检测才40FPS,3D-pose检测在25FPS
运行输出如下
输出的结果视频,截取了一点,下过如下
总体来说,效果可以,人物在侧向、多人物重叠时效果不佳。
vibe模型是基于pytorch的,输出的数据包含多个类别。3D-pose结果使用了smplx
结果展示使用的是pyrender,
上文中展示的是使用了输出结果中的三角人物网格数据(verts)。
更为简单直观的可以使用关节点数据(kp_3d),是归一化后的三位坐标,每个人物包含49个关节坐标。