论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO)

这篇具有很好参考价值的文章主要介绍了论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分类:动作捕捉
github地址:https://github.com/Daniil-Osokin/lightweight-human-pose-estimation-3d-demo.pytorch
所需环境:
Windows10,conda 4.13.0;

conda环境配置

conda create -n lwmhpe3d python=3.8
conda activate lwmhpe3d
D:
cd D:\WLm_Project\MotionCatch\lwmhpe3d

安装Pytorch全家桶

pip install "torch-1.13.1+cu116-cp38-cp38-win_amd64.whl"# 离线安装 需要预先下载
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
cd lwmhpe3d
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

安装TensorRT(可选)

python -m pip install nvidia-pyindex
# nvidia官网下载TensorRT-8.6.1.6.Windows10.x86_64.cuda-11.8.zip:https://developer.nvidia.com/nvidia-tensorrt-8x-download
# 下载完成后 移动并解压缩
cd D:\WLm_Project\MotionCatch\lwmhpe3d\TensorRT-8.6.1.6.Windows10.x86_64.cuda-11.8\TensorRT-8.6.1.6\python
# 因为是python3.8环境 要安装这个
pip install tensorrt-8.6.1-cp38-none-win_amd64.whl

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
安装成功
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

将这tensorRT的三个文件夹复制到CUDA下( 记得复制之前CUDA的原始三个文件夹做好副本 注意路径)
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

安装torch2trt(可选)

cd D:\WLm_Project\MotionCatch\lwmhpe3d
git clone https://github.com/NVIDIA-AI-IOT/torch2trt
cd torch2trt
pip3 install packaging -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -e .

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

模型转换为TensorRT兼容格式(可选)

# 转换human-pose-estimation-3d.pth为human-pose-estimation-3d-trt.pth
python scripts/convert_to_trt.py --checkpoint-path human-pose-estimation-3d.pth

很奇怪 我的convert_to_trt.py没法找到上级目录中models与modules的文件
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

简单粗暴的解决办法是: 把lwmhpe3d\lwmhpe3d\models和lwmhpe3d\lwmhpe3d\modules的所有文件都复制到lwmhpe3d\lwmhpe3d\scripts下

并修改convert_to_trt.py ; with_mobilenet.py脚本 使python脚本变为同级文件夹寻址:

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

运行指令

# 构建pose_extractor模块:
cd D:\WLm_Project\MotionCatch\lwmhpe3d\lwmhpe3d
# python setup.py build_ext
# 将构建文件夹添加到PYTHONPATH:
# export PYTHONPATH=pose_extractor/build/:$PYTHONPATH

# 安装完依赖项后可以直接运行 无需编译
# 使用GPU
python demo.py --model human-pose-estimation-3d.pth --video 0 --device GPU

# 使用tensorRT(可选)
python demo.py --model human-pose-estimation-3d-trt.pth --use-tensorrt --video 0

使用tensorRT运行指令报错:

[09/06/2023-09:32:05] [TRT] [E] 3: [executionContext.cpp::nvinfer1::rt::ExecutionContext::validateInputBindings::2083] Error Code 3: API Usage Error (Parameter check failed at: executionContext.cpp::nvinfer1::rt::ExecutionContext::validateInputBindings::2083, condition: profileMinDims.d[i] <= dimensions.d[i]. Supplied binding dimension [1,3,256,336] for bindings[0] exceed min ~ max range at index 3, maximum dimension in profile is 448, minimum dimension in profile is 448, but supplied dimension is 336.

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

这个问题 作者在github上有说明

TensorRT does not support dynamic network input size reshape. Make sure you have set proper network input height, width with --height and --width options during conversion (if not, there will be no detections). Default values work for a usual video with 16:9 aspect ratio (1280x720, 1920x1080). You can check the network input size with print(scaled_img.shape) in the demo.py
TensorRT 不支持动态网络输入大小重塑。确保您在转换过程中设置了正确的网络输入高度、宽度和–height选项–width(如果没有,将不会进行检测)。默认值适用于宽高比为 16:9 的普通视频(1280x720、1920x1080)。print(scaled_img.shape)您可以在 demo.py 中检查网络输入大小

可以在demo.py中加入打印语句
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
运行GPU推理时果然显示
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

所以需要手动更改这个值 在convert_to_trt.py的位置如下:将448改成336即可

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
再次运行使用TensorRT推理指令即可成功!

运行结果

esc退出

GPU运行
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
TensorRT加速

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

TensorRT的FPS提升了一倍 接近60帧 然而GPU只有30帧 虽然视觉上差不了太多

conda list

# packages in environment at D:\Anaconda3\envs\lwmhpe3d:
#
# Name                    Version                   Build  Channel
ca-certificates           2023.05.30           haa95532_0
certifi                   2023.7.22                pypi_0    pypi
charset-normalizer        3.2.0                    pypi_0    pypi
idna                      3.4                      pypi_0    pypi
libffi                    3.4.4                hd77b12b_0
numpy                     1.24.4                   pypi_0    pypi
nvidia-pyindex            1.0.9                    pypi_0    pypi
onnx                      1.14.1                   pypi_0    pypi
opencv-python             4.8.0.76                 pypi_0    pypi
openssl                   3.0.10               h2bbff1b_2
packaging                 23.1                     pypi_0    pypi
pillow                    10.0.0                   pypi_0    pypi
pip                       23.2.1           py38haa95532_0
protobuf                  4.24.2                   pypi_0    pypi
python                    3.8.17               h1aa4202_0
requests                  2.31.0                   pypi_0    pypi
setuptools                68.0.0           py38haa95532_0
sqlite                    3.41.2               h2bbff1b_0
tensorrt                  8.6.1                    pypi_0    pypi
torch                     1.13.1+cu116             pypi_0    pypi
torch2trt                 0.4.0                     dev_0    <develop>
torchaudio                0.13.1+cu116             pypi_0    pypi
torchvision               0.14.1+cu116             pypi_0    pypi
typing-extensions         4.7.1                    pypi_0    pypi
urllib3                   2.0.4                    pypi_0    pypi
vc                        14.2                 h21ff451_1
vs2015_runtime            14.27.29016          h5e58377_2
wheel                     0.38.4           py38haa95532_0

以下是执行setup失败后的尝试 实际上不需要编译setup也可执行demo 只是实时性不好(但是我需要的是算法 读者不用看以下部分 这是我自己的记录)

官网要求:

Python 3.5(或更高版本 )–>环境是3.8
CMake 3.10(或更高版本 )–>环境是3.27
C++ 编译器(g++ 或 MSVC ) -->环境是C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
OpenCV 4.0(或更高版本)–>环境是4.8.0

Opencv4.8.0配置环境变量

需要提前编译好并配置环境变量

https://github.com/opencv/opencv

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉
无法解决的问题:
论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

Cmake3.27配置环境变量

直接下载压缩包 将bin下的exe存在的路径按下图添加到path环境变量

https://cmake.org

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

cmake --version# 需要先配置环境变量

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO),论文复现,python,pytorch,人工智能,计算机视觉

参考链接

1.windows下cmake的安装与环境变量配置教程
2.Windows下Visual Studio 编译OpenCV详细教程(win10+vs2017+opencv4.5.2)(OpenCV最新版)(特别适合无法科学上网的童鞋们)
3.OpenCV 文件下载文章来源地址https://www.toymoban.com/news/detail-695820.html

到了这里,关于论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • End-to-end 3D Human Pose Estimation with Transformer

    基于Transformer的端到端三维人体姿态估计 基于Transformer的架构已经成为自然语言处理中的常见选择,并且现在正在计算机视觉任务中实现SOTA性能,例如图像分类,对象检测。然而,卷积方法在3D人体姿态估计的许多方法中仍然保持SOTA性能。受视觉变换器最近发展的启发,我们

    2024年02月08日
    浏览(47)
  • 2019CVPR Semantic Graph Convolutional Networks for 3D Human Pose Regression

    基于语义图卷积网络的三维人体姿态回归 源码 https://github.com/garyzhao/SemGCN 在本文中,我们研究了学习图卷积网络(GCN)回归的问题。GCN的当前体系结构受限于卷积滤波器和共享的变换矩阵为的小感受野。为了解决这些限制,我们提出了语义图卷积网络(SemGCN),这是一种新

    2024年02月10日
    浏览(27)
  • Self-supervised 3D Human Pose Estimation from a Single Image

    基于单幅图像的自监督三维人体姿态估计   主页: https://josesosajs.github.io/ imagepose/ 源码:未开源 我们提出了一种新的自我监督的方法预测三维人体姿势从一个单一的图像。预测网络是从描绘处于典型姿势的人的未标记图像的数据集和一组未配对的2D姿势训练的。通过最小化

    2024年02月10日
    浏览(34)
  • 基于人体姿势估计的舞蹈检测(AI Dance based on Human Pose Estimation)

    人体姿势骨架以图形格式表示人的方向。本质上,它是一组坐标,可以连接起来描述人的姿势。骨架中的每个坐标都被称为一个部分(或一个关节,或一个关键点)。两个部分之间的有效连接称为一对(或分支)。下面是一个人体姿势骨架样本。 因此,在本文中,我们将研究如何

    2024年02月11日
    浏览(26)
  • LGFormer:LOCAL TO GLOBAL TRANSFORMER FOR VIDEO BASED 3D HUMAN POSE ESTIMATION

    基于视频的三维人体姿态估计的局部到全局Transformer 作者:马海峰 *,陆克 * †,薛健 *,牛泽海 *,高鹏程† *            中国科学院大学工程学院,北京100049             鹏程实验室,深圳518055 来源:2022 IEEE International Conference on Multimedia and Expo (IEEE ICME) 基于Transformer的

    2024年02月09日
    浏览(30)
  • YOLO-pose复现流程

    以下为用yolov5训练人体姿态估计复现流程 下载得到的原coco-kpts数据集格式如下 是由Annotations和Images和labels三个子文件夹组成。 ①然后将Images文件夹名称改为images,两者区别为首字母一个大写,一个小写,需要改为小写。 ②将改为images的文件夹剪切进labels文件夹下,现在的

    2024年02月01日
    浏览(25)
  • SynergyNet(头部姿态估计 Head Pose Estimation)复现 demo测试

    SynergyNet(github):https://github.com/choyingw/SynergyNet b站:https://www.bilibili.com/video/BV1Ph4y1k7LK/ 我用的AutoDL平台搭建 选择镜像 PyTorch 1.9.0 Python 3.8(ubuntu18.04) Cuda 11.1 安装其它包: 备注:如果无法下载,就到github中下载压缩包,然后上传解压安装 或者使用码云下载: 需要下载如下文件

    2024年02月14日
    浏览(32)
  • 论文阅读:GamutMLP A Lightweight MLP for Color Loss Recovery

    这篇文章是关于色彩恢复的一项工作,发表在 CVPR2023,其中之一的作者是 Michael S. Brown,这个老师是加拿大 York 大学的,也是 ISP 领域的大牛,现在好像也在三星研究院担任兼职,这个老师做了很多这种类似的工作,通过一些轻量模型,将一些数据转换过程中的变换关系进行拟

    2024年02月19日
    浏览(25)
  • 【论文阅读】Learing to summarize from human feedback

    更多关于大模型的文章可见:ShiyuNee/Awesome-Large-Language-Models: Papers about large language models (github.com) 该仓库持续更新 通过训练模型来向着人类偏好优化可以显著提高摘要质量。 High-level methodology 从一个在摘要数据集上使用SFT微调好的初始模型开始,然后经过以下三个步骤: 从已

    2024年02月09日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包