一、初始环境配置
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(使用前将#替换为@)