结合YOLOV3的人体姿势识别算法

结合yolov3对人进行目标检测,而后对人进行姿势识别,获得人体骨骼关节点。初步实验效果发现,鲁棒性不强易受遮挡影响,但识别的准确率十分可观

运行步骤

1.目标检测
2.判断重心点
3.识别人体骨骼关键点
代码链接:
https://github.com/Algabeno/Human-pose-estimation-on-Yolov3

参考代码

这是原博主的代码:
https://github.com/mks0601/3DMPPE_POSENET_RELEASE
https://github.com/mks0601/3DMPPE_ROOTNET_RELEASE

所需环境

torch == 1.2.0

pip install -r requirement.txt

运行代码

run predict.py

模型文件存放:

模型:
链接:https://pan.baidu.com/s/1O0pt0fZbjuGKRqXXoDZ2dg
提取码:eo7b
复制这段内容后打开百度网盘手机App,操作更方便哦

	将person.pth放在~/model_data
	将snapshot_18.pth放在~/ROOTNET/demo
	将snapshot_24.pth放在~/POSENET/demo

修改绝对路径:

修改~/ROOTNET/demo/demo.py

	# 改为你自己的文件存储路径
	sys.path.insert(0, osp.join(r'Your file storage path ', 'main'))
	sys.path.insert(0, osp.join(r'Your file storage path', 'data'))
	sys.path.insert(0, osp.join(r'Your file storage path', 'common'))
	sys.path.insert(0, osp.join(r'Your file storage path', 'nets'))
	sys.path.insert(0, osp.join(r'Your file storage path', 'utils1'))

修改~/POSENET/demo/demo1.py

# 改为你自己的文件存储路径
sys.path.insert(0, osp.join(r'Your file storage path', 'main1'))
sys.path.insert(0, osp.join(r'Your file storage path', 'data1'))
sys.path.insert(0, osp.join(r'Your file storage path', 'common'))
sys.path.insert(0, osp.join(r'Your file storage path', 'utils'))

使用视频进行预测

在predict文件里,在如下部分修改:

cam = cv2.VideoCapture('path/vedio.mp4')

修改参数

使要显示的图片为白底图片或者原图

 for n in range(person_num):
        vis_kps = np.zeros((3, joint_num))
        vis_kps[0, :] = output_pose_2d_list[n][:, 0]
        vis_kps[1, :] = output_pose_2d_list[n][:, 1]
        vis_kps[2, :] = 1
        vis_img = vis_keypoints(vis_img, vis_kps, skeleton)  # 修改要显示的图片为原图
      # vis_img = vis_keypoints(white, vis_kps, skeleton)  # 修改要显示的图片为白底图片,

选择保存视频的目录

    vout_1.open('./output.mp4', fourcc, fps, sz, True)

效果图

在这里插入图片描述

  • 9
    点赞
  • 112
    收藏
    觉得还不错? 一键收藏
  • 44
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值