3D姿态估计--win10使用VIBE识别人体的三维关键点坐标

一、前言  

        前段时间我利用Hrnet与其改进版Simdr工程做了一个二维姿态估计的小demo,效果还可以,基本达到了自己想要的效果。为了去逼近更加真实的姿态,最近阅读了一些3D姿态估计领域的论文,觉得还是挺有意思,就想跑个demo,在此记录一下在win10系统的配置过程。本文主要根据Muhammed Kocabas大佬的公开代码实现。

仓库地址:GitHub - mkocabas/VIBE: Official implementation of CVPR2020 paper "VIBE: Video Inference for Human Body Pose and Shape Estimation"

论文: https://arxiv.org/abs/1912.05656

二、部署

        接下来的部署工作,主要针对的是不能科学上网的童鞋,能科学上网的可以直接参考https://github.com/carlosedubarreto/vibe_win_install中的视频教程。

1、克隆工程

git clone https://github.com/mkocabas/VIBE.git
git clone https://github.com/carlosedubarreto/vibe_win_install.git

         在vibe_win_install文件夹中,如图所示将选中的几个文件,添加到VIBE文件夹下。

2、配置环境

1)ffmpeg配置

        点击链接https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip下载,或者评论区网盘链接获取。

        解压后,将ffmpeg文件夹中的bin文件夹路径加入系统变量path中。

 2)创建环境

conda create -n venv_vibe python=3.7
conda activate venv_vibe

#这行有GPU的安装,只跑cpu就不要执行,我就没执行(。。。)
conda install cudatoolkit=10.1 cudnn=7.6.0

conda install -c anaconda git

3)安装环境 

        ①对于科学上网的童鞋,“安装环境”这一步你直接在cmd窗口执行VIBE文件夹下install_conda.bat,就全部安装好了。直接跳到下一步“数据准备”。

install_conda.bat

        ②对于普通玩家,我们需要修改一下install_conda.bat文件内容与requirements_alter.txt文件内容。

        复制以下内容覆盖install_conda.bat文件内容(bat文件可以用pycharm或者notepad++打开)。

pip install mkl intel-openmp 
pip install torch==1.4.0 torchvision==0.5.0 -f https://download.pytorch.org/whl/torch_stable.html
pip install numpy==1.17.5
pip install git+https://github.91chi.fun/https://github.com/giacaglia/pytube.git --upgrade
pip install -r requirements_alter.txt

        复制以下内容,覆盖requirements_alter.txt文件内容 。

tqdm==4.28.1
yacs==0.1.6
h5py==2.10.0
numpy==1.17.5
scipy==1.4.1
numba==0.47.0
smplx==0.1.26
gdown==3.6.4
PyYAML==5.3.1
joblib==0.14.1
pillow==7.1.0
trimesh==3.5.25
pyrender==0.1.36
progress==1.5
filterpy==1.4.5
matplotlib==3.1.3
tensorflow==1.15.4
torchvision==0.5.0
scikit-image==0.16.2
scikit-video==1.1.11
opencv-python==4.1.2.30
llvmlite==0.32.1

git+https://github.91chi.fun/https://github.com/mattloper/chumpy.git
git+https://github.91chi.fun/https://github.com/mkocabas/yolov3-pytorch.git
git+https://github.91chi.fun/https://github.com/mkocabas/multi-person-tracker.git

修改完后,执行 

install_conda.bat

         到这里就配置好了虚拟环境,安装结果大致如下图。

 3、数据准备

1)科学上网的童鞋

prepare_data.bat

2)普通玩家

         ①在VIBE文件夹下创建data文件夹

         ②下载数据文件,数据文件名:vibe_data.zip,解压到data文件夹下

下载网址:https://drive.google.com/uc?id=1untXhYOLQtpNEy4GTY_0fL_H-k6cTf_r

网盘地址:见评论区 

        ③复制VIBE\data\vibe_data\sample_video.mp4 到 VIBE\。

        ④目标检测配置文件

                C:\Users\(用户名)\.torch\models, C:\Users\(用户名)\.torch\config

        然后将VIBE\data\vibe_data\yolov3.weights文件复制到刚刚创建的models文件夹下,将VIBE\yolov3.cfg文件复制到刚刚创建的config文件夹下。

        到此,所有准备环节结束。

三、测试

1、GPU选手   

        打开cmd命令行窗口,cd到VIBE路径下。参数含义自行查看demo_after.py。

conda activate vibe

python demo_alter.py --vid_file K01P03A01R02.mp4 --output_folder output/ --sideview

2、CPU选手

        我尝试过在远程服务器上部署,但是会出现pyrender无法离屏渲染的问题。所以无奈用自己的CPU跑跑。

        ①VIBE/lib/models/vibe.py ,有三处需要改动(代码第130,148,155行),都是关于加载权重。改动如图。

 

        ②VIBE/demo_alter.py,有两处需要改动(代码第109,114行),改动如图

         接下来就执行GPU选手的步骤即可。 

四、结果展示

        

五、总结

        VIBE算法整体部署较为容易,没有特别奇怪的坑,如果你有GPU以及能科学上网,安装跑通会很容易,内容可能有错误,欢迎指正。

        非常感谢大佬们的工作,这篇论文是2020年发表在CVPR会议上,整体效果还行,但是对于手部或者腿部的关键点检测,还是有很多细节值得推敲。 Muhammed Kocabas大佬2021年在ICCV又发表了一篇文章,应该是VIBE的改进版,代码开源了,效果图主要就是在与VIBE进行比较,具体配置过程,下篇文章在记录,翻过一座山又是一座山,下座山峰见。

 六、参考内容

1、GitHub - carlosedubarreto/vibe_win_install

2、 GitHub - mkocabas/VIBE: Official implementation of CVPR2020 paper "VIBE: Video Inference for Human Body Pose and Shape Estimation"

猜你喜欢

转载自blog.csdn.net/qq_40691868/article/details/124718486