ubuntu20.04配置FrankMocap实现3D人体姿态估计

2023-05-16

一、初始环境配置

1.ubuntu20.04配置显卡驱动

以我的这篇文章为例子,显卡RTX2060及以下的都可以使用我的方法快速完成配置,RTX2060以上的我尚未进行尝试,请自行斟酌尝试。

联想拯救者R7000P2020版ubuntu20.04快速配置显卡驱动(RTX2060)_Leonard2021的博客-CSDN博客

2.在ubuntu20.04上安装anaconda3

这里我不详细说,在网上有众多教程,可以很轻松的完成安装。这里我给出anaconda3的常用API:

ubuntu20.04环境下anaconda3的常用API_Leonard2021的博客-CSDN博客

a.在终端输入:

conda create -n env_FrankMocap python=3.7

建立一个使用python3.7且名为 env_FrankMocap 的虚拟环境

b.继续输入:

source activate env_FrankMocap

进入虚拟环境进行python包的安装

二、FrankMocap的安装与环境配置

FrankMocap 是港中文联合 Facebook AI 研究院提出的3D 人体姿态和形状估计算法

可以估计人体的全身的姿态以及手部的姿态。

项目地址:GitHub - facebookresearch/frankmocap: A Strong and Easy-to-use Single View 3D Hand+Body Pose Estimator

论文地址:

https://arxiv.org/pdf/2008.08324.pdf

1.在GitHub上下载好  FrankMocap  的框架放到用户文件夹下

2.在 FrankMocap  的框架下打开终端,输入

source activate env_FrankMocap

进入虚拟环境。

3.配置 pytorch

Start Locally | PyTorch

进入网站根据自己的显卡选择相应的版本,使用命令行配置, 例如:

pip3 install torch==1.8.2+cu111 torchvision==0.9.2+cu111 torchaudio==0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html

故我只需要输入上的命令行即可完成pytorch配置;

这个环节务必按照自己的显卡来选择,否则可能导致pytorch无法正常使用!!!

4.FrankMocap所需python包的快速配置

pip install -r docs/requirements.txt

5.安装detectron2模块

方法一:

python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'

方法二:

git clone https://github.com/facebookresearch/detectron2.git
python -m pip install -e detectron2

6.安装pytorch3d模块

a.安装pytorch3d

pip install pytorch3d

b.安装其他第三方库+预训练模型和样例数据

sh scripts/install-frankmocap.sh

c.配置SMPL/SMPL-X模型

SMPL:SMPL

SMPL-X:SMPL-X

两个网站都需要进简单注册后方可进下载。

 ~进入 SMPL  ,下载  SMPL_python_v.1.0.0

解压获得中性模型Neutral model:       basicModel_neutral_lbs_10_207_0_v1.0.0.pkl,

将文件放到:./extra_data/smpl/basicModel_neutral_lbs_10_207.0.v1.0.0.pkl  的位置

~进入  SMPL-X  ,下载 SMPL-X v1.1

解压得      SMPLX_NEUTRAL.pkl  

文件放到:./extra_data/smpl/SMPLX_NEUTRAL.pkl  的位置

d.hand_module的补充配置

这里的下载需要到谷歌网盘,有能力小伙伴可以通过以下两个网址下载获得两个文件,并放到

./extra_data/hand_module/hand_detector/  的hand_detector文件夹中

 https://drive.google.com/uc?id=1H2tWsZkS7tDF8q1-jdjx6V9XrK25EDbE
https://drive.google.com/uc?id=1OqgexNM52uxsPG3i8GuodDOJAGFsYkPg

无法下载的朋友,可以下载我上传的资源:

faster_rcnn_1_8_132028.pth-深度学习文档类资源-CSDN下载

model_0529999.pth-深度学习文档类资源-CSDN下载

e.安装2D位姿检测模块并下载与训练模型和样例数据

安装2D keypoint detector:

sh scripts/install_pose2d.sh

下载预训练模型和其他数据:

sh scripts/download_data_body_module.sh
sh scripts/download_sample_data.sh

三、简单的运行和测试框架是否安装成功

完成框架配置后的大概分布:

./extra_data/
├── hand_module
│   └── mean_mano_params.pkl
│   └── SMPLX_HAND_INFO.pkl
|   └── pretrained_weights
|   |   └── pose_shape_best.pth
│   └── hand_detector
│       └── faster_rcnn_1_8_132028.pth  
│       └── model_0529999.pth
├── body_module
|   └──body_pose_estimator
|       └── checkpoint_iter_370000.pth     
└── smpl
    └── basicModel_neutral_lbs_10_207_0_v1.0.0.pkl
    └── SMPLX_NEUTRAL.pkl
    
./detectors/
├── body_pose_estimator
├── hand_object_detector
└── hand_only_detector

若没有缺少对应的文件,则基本安装完成。

简单测试使用框架:

首先,打开sample文件夹,打开每个Mp4文件的  属性  ,设置为  可执行 !!!

1.只做身体姿态识别捕捉:

python -m demo.demo_bodymocap --input_path ./sample_data/han_short.mp4 --out_dir ./mocap_output

2.只做手部姿态识别捕捉:

python -m demo.demo_handmocap --input_path ./sample_data/han_hand_short.mp4 --out_dir ./mocap_output

3.全身的姿态识别捕捉:

python -m demo.demo_frankmocap --input_path ./sample_data/han_short.mp4 --out_dir ./mocap_output

 

 

你也可以自己拍摄一段视频(最好是全身的),将视频放到   samle_data   文件夹下,例如:我的视频为:  myself.mp4  ,  打开  myself.mp4  的属性设置为   可执行 

将上述的命令行后面的:

--input_path ./sample_data/han_short.mp4 --out_dir ./mocap_output

改成:

--input_path ./sample_data/myself.mp4 --out_dir ./mocap_output

其他的不变,比如:全身检测的为

python -m demo.demo_frankmocap --input_path ./sample_data/myself.mp4 --out_dir ./mocap_output

即可实现身体姿态、手部姿态和全身姿态的识别捕捉。

由于网上的素材稀少,我只能搬出马保国老师的经典作品来尝试了。

希望马老师人没事,祝愿马保国老师身体健康。

 

输出的捕捉结果放到   out_dir ./mocap_output   文件夹中,可以自己查看。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

到此,FrankMocap的配置和简单测试使用实现3D人体姿态估计已经完成。

如果本文对你有帮助,欢迎一键三连!!!

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu20.04配置FrankMocap实现3D人体姿态估计 的相关文章

随机推荐