openpose使用中的记录

openpose使用中的记录

官方文档

链接: https://github.com/CMU-Perceptual-Computing-Lab/openpose

:: Windows - Portable Demo
bin\OpenPoseDemo.exe --video examples\media\video.avi

You can also add any of the available flags in any order. E.g., the following example runs on a video (–video {PATH}), enables face (–face) and hands (–hand), and saves the output keypoints on JSON files on disk (–write_json {PATH}).

:: Windows - Portable Demo
bin\OpenPoseDemo.exe --video examples\media\video.avi --face --hand --write_json output_json_folder/

运行时会出现如下问题

F0529 10:40:10.181783 27448 syncedmem.cpp:71] Check failed: error == cudaSuccess (2 vs. 0) out of memory
*** Check failure stack trace: ***
解决办法:

OpenPoseDemo.exe --video video.avi --net_resolution 320x176

这个net_resolution具体参数值可以根据自己的需要修改,分辨率越小,画面每秒传输帧数(fps)越大,并且必须是16的倍数。

想要保存处理后的视频

1. 保存视频的图像的输出结果

首先是保存视频的图像的输出结果,以运行结果中的帧数来抽取图片, --write_images,即为存储运行结果图像的路径设置,其格式为 write_images_format ,默认为png格式。下面的命令默认将添加了骨骼的图像保存到 media_out文件夹下:

:: Windows - Portable Demo
bin\OpenPoseDemo.exe --video examples\media\video.avi --write_images examples\media_out\

保存关节点信息(json文件), --write_json,即为人体骨骼姿态的关节点数据文件,文件格式为write_keypoint_format,默认为 json格式。下面的命令默认将添加了骨骼的图像保存到 media_out文件夹下:

:: Windows - Portable Demo
bin\OpenPoseDemo.exe --video examples\media\video.avi --write_json examples\media_out\

不进行保存时视频处理在9.8fps左右:
不进行write可以达到9.8fps
write_image命令下只有2fps左右:
加入write命令在2.3fps
这种保存方法是抽帧保存,保存的结果是处理过的图片,保存图片的文件夹:
保存图片的文件夹

2. 可以直接添加参数保存视频
--write_video path.avi: 将处理后的图片保存为 Video.

更多参数可以参考文章:
Github 项目 - OpenPose 参数说明: https://www.aiuai.cn/aifarm713.html

使用该参数命令下,对运行帧率影响不大,仍能保持在10fps左右。
使用write_video命令下运行截图
处理前后文件大小对比:
处理前后文件大小对比

3. 修改官方的代码来实现视频的处理

参考文章:
openpose如何处理视频: https://blog.csdn.net/weixin_39518984/article/details/117879062?spm=1001.2014.3001.5501
要注意自己的版本问题,openpose源码路径发生了改变,需要参考自己的 01_body_from_image.py 文件进行改动。

今天试验了一下参考文章中的代码,我的gpu太菜了,设定了–net_resolution之后还是带不动这个程序。
我自己通过简单修改openpose-master\python\openpose_python.py代码进行视频保存,简单来说只需要在代码中添加如下参数即可:

    # Custom Params (refer to include/openpose/flags.hpp for more parameters)更多参数可以参考flag.hpp文章
    params = dict()
    params["model_folder"] = "../models/"
    params["net_resolution"] = "320x160"  #根据gpu性能和需求自己设定
    params["write_video"] = "output.avi"  #输出avi的路径
    params["video"] = "video.avi"  #需要处理的avi的路径

参考文献
[1] 运行OpenposeDemo.exe保存图像或视频运行结果和关节点信息(json文件)
链接: https://blog.csdn.net/qq_43487391/article/details/103176337
[2] openpose demo运行报错Check failed: error == cudaSuccess (2 vs. 0) out of memory
链接: https://blog.csdn.net/AshleyXM/article/details/115863739
[3] openpose如何处理视频
链接: https://blog.csdn.net/weixin_39518984/article/details/117879062?spm=1001.2014.3001.5501
[4] Github 项目 - OpenPose 参数说明
链接:https://www.aiuai.cn/aifarm713.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值