论文复现--VideoTo3dPoseAndBvh(视频转BVH和3D关键点开源项目)

news/2024/7/10 22:30:03 标签: 开源, python, 人工智能, YOLO

分类:动作捕捉
github地址:https://github.com/HW140701/VideoTo3dPoseAndBvh
所需环境:
Windows10,CUDA11.6,conda 4.13.0;

目录

  • 环境搭建
  • conda list
  • 配置内容
  • 演示
  • 生成文件说明

环境搭建

# 创建环境
conda create -n VideoTo3dPoseAndBvh python=3.8
conda activate VideoTo3dPoseAndBvh

# 代码项
git clone https://github.com/HW140701/VideoTo3dPoseAndBvh
cd VideoTo3dPoseAndBvh-master

# 安装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

# 安装torchsample
pip install -e git+https://github.com/ncullen93/torchsample.git#egg=torchsample
pip install visdom -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install nibabel  -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install h5py   -i https://pypi.tuna.tsinghua.edu.cn/simple

# 安装其余项
pip install tqdm   -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pandas  -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple



conda list

# packages in environment at D:\Anaconda3\envs\VideoTo3dPoseAndBvh:
#
# 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
colorama                  0.4.6                    pypi_0    pypi
contourpy                 1.1.0                    pypi_0    pypi
cycler                    0.11.0                   pypi_0    pypi
fonttools                 4.42.1                   pypi_0    pypi
h5py                      3.9.0                    pypi_0    pypi
idna                      3.4                      pypi_0    pypi
imageio                   2.31.3                   pypi_0    pypi
importlib-resources       6.0.1                    pypi_0    pypi
jsonpatch                 1.33                     pypi_0    pypi
jsonpointer               2.4                      pypi_0    pypi
kiwisolver                1.4.5                    pypi_0    pypi
libffi                    3.4.4                hd77b12b_0
matplotlib                3.7.2                    pypi_0    pypi
networkx                  3.1                      pypi_0    pypi
nibabel                   5.1.0                    pypi_0    pypi
numpy                     1.24.4                   pypi_0    pypi
opencv-python             4.8.0.76                 pypi_0    pypi
openssl                   3.0.10               h2bbff1b_2
packaging                 23.1                     pypi_0    pypi
pandas                    2.0.3                    pypi_0    pypi
pillow                    10.0.0                   pypi_0    pypi
pip                       23.2.1           py38haa95532_0
pyparsing                 3.0.9                    pypi_0    pypi
python                    3.8.17               h1aa4202_0
python-dateutil           2.8.2                    pypi_0    pypi
pytz                      2023.3.post1             pypi_0    pypi
requests                  2.31.0                   pypi_0    pypi
scipy                     1.10.1                   pypi_0    pypi
setuptools                68.0.0           py38haa95532_0
six                       1.16.0                   pypi_0    pypi
sqlite                    3.41.2               h2bbff1b_0
torch                     1.13.1+cu116             pypi_0    pypi
torchaudio                0.13.1+cu116             pypi_0    pypi
torchsample               0.1.3                     dev_0    <develop>
torchvision               0.14.1+cu116             pypi_0    pypi
tornado                   6.3.3                    pypi_0    pypi
tqdm                      4.66.1                   pypi_0    pypi
typing-extensions         4.7.1                    pypi_0    pypi
tzdata                    2023.3                   pypi_0    pypi
urllib3                   2.0.4                    pypi_0    pypi
vc                        14.2                 h21ff451_1
visdom                    0.2.4                    pypi_0    pypi
vs2015_runtime            14.27.29016          h5e58377_2
websocket-client          1.6.2                    pypi_0    pypi
wheel                     0.38.4           py38haa95532_0
zipp                      3.16.2                   pypi_0    pypi

配置内容

1.手动创建outputs\outputvideo文件夹
2.VideoTo3dPoseAndBvh-master\joints_detectors\Alphapose\fn.py 第9行注释掉
在这里插入图片描述
3.VideoTo3dPoseAndBvh-master\joints_detectors\Alphapose\gene_npz.py 第100 104 107 按以下修改分隔符
在这里插入图片描述
4.VideoTo3dPoseAndBvh-master\videopose.py 第332行 按以下修改分隔符及视频名称在这里插入图片描述
5.下载原始依赖文件
在这里插入图片描述

演示

原始VideoTo3dPoseAndBvh-master\outputs\inputvideo下的视频 (已替换原始cxk视频 个人不喜欢跟风玩烂梗)

在这里插入图片描述

只需执行推理程序即可

python videopose.py

在这里插入图片描述

参数修改请修改videopose.py脚本

生成文件说明

  • VideoTo3dPoseAndBvh-master\outputs\inputvide\outputvideo\alpha_pose_kunkun_cut_one_second\3dpoint的txt文件 ——每帧的3D关节点坐标

  • 在这里插入图片描述

  • VideoTo3dPoseAndBvh-master\outputs\inputvide\outputvideo\alpha_pose_kunkun_cut_one_second\bvh的bvh文件——mocap文件可与其他程序共用

  • 在这里插入图片描述

  • 比如用MB和unity处理bvh驱动动画角色 但是效果并不好

  • 在这里插入图片描述

  • VideoTo3dPoseAndBvh-master\outputs\outputvideo\alpha_pose_kunkun_cut_one_second\vis的jpg文件——每一帧的姿态估计结果 可用im2gif.py(自己写的)脚本生成为gif

  • 在这里插入图片描述

  • VideoTo3dPoseAndBvh-master\outputs的test_3d_output.npy文件——所有的3D关节点坐标

  • 在这里插入图片描述

其余功能尚未发现 虽然捕捉效果不好 深度估计的不好并且抖动严重 但是方法值得借鉴


http://www.niftyadmin.cn/n/5003940.html

相关文章

达梦数据库和mysql数据库获取两个坐标之间的距离

91、达梦数据库和mysql数据库获取两个坐标之间的距离 参考&#xff1a;参考 mysql 数据库&#xff1a; select st_distance_sphere(POINT(经度1,纬度1), POINT(经度2,纬度2))达梦数据库没有内置函数&#xff0c;需要自己手动创建函数 CREATE OR REPLACE FUNCTION "模式…

Logstash同步MySQL数据到ElasticSearch

当MySQL数据到一定的数量级&#xff0c;而且索引不能实现时&#xff0c;查询就会变得非常缓慢&#xff0c;所以使用ElasticSearch来查询数据。本篇博客介绍使用Logstash同步MySQL数据到ElasticSearch&#xff0c;再进行查询。 测试环境 Windows系统MySQL 5.7Logstash 7.0.1El…

在Qt创建的UI中放一个显示点云的窗口(PCL+QT5)

1、首先在Qt Designer创建UI后&#xff0c;拖一个Widget窗口出来 2、在对象查看器中右击该Widget&#xff0c;选择提升窗口部件&#xff0c;如下操作&#xff1a; 3、把UI转出来放在VS项目中&#xff0c;其中你的UI代码头文件会自带QVTKOpenGLNativeWidget.h&#xff0c;当然你…

安全基础 --- 原型链污染

原型链 大部分面向对象的编程语言&#xff0c;都是通过“类”&#xff08;class&#xff09;实现对象的继承。传统上&#xff0c;JavaScript 语言的继承不通过 class&#xff0c;而是通过“原型对象”&#xff08;prototype&#xff09;实现 1、prototype 属性的作用 JavaScri…

机器学习报错合集(持续更新)

文章目录 1 列表转numpy&#xff0c;尺寸不均匀问题 1 列表转numpy&#xff0c;尺寸不均匀问题 ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (4,) inhomogeneous pa…

机器学习:基于梯度下降算法的线性拟合实现和原理解析

机器学习&#xff1a;基于梯度下降算法的线性拟合实现和原理解析 线性拟合梯度下降算法步骤算法实现数据可视化&#xff08;动态展示&#xff09;应用示例 当我们需要寻找数据中的趋势、模式或关系时&#xff0c;线性拟合和梯度下降是两个强大的工具。这两个概念在统计学、机器…

基于量子密钥分发和区块链技术的新一代加密通信系统

量子通信与区块链构建下一代加密通信基础设施 量子技术和区块链技术是国家信息安全和国家数字化转型的重要组成部分&#xff0c;在国家战略中具有重要地位。“十四五”规划纲要将“加快数字发展建设数字中国”作为独立篇章&#xff0c;指出要进一步明确发展云计算、大数据、物联…

Flutter yuv 转 rgb

1、引用yuv_converter库 yuv_converter: ^0.0.1 2、导入头文件&#xff1a; import package:yuv_converter/yuv_converter.dart;3、yuv转rgb YuvConverter.yuv420NV21ToRgba8888(yuvRawData, 512, 512) 根据yuv格式选择不同的api。 举个例子&#xff1a; void initState() …