人体骨骼检测相关综述及总结

本文综述了人体骨骼检测技术,从人体检测的定义、应用场景、面临的问题,到常用数据集、OpenPose库的介绍,以及传统算法和现代深度学习方法的对比。重点探讨了自上而下和自下而上两种关键点检测算法,指出自上而下的方法在效果上更优,但自下而上方法仍有其研究价值。
摘要由CSDN通过智能技术生成

一、简介

       实现人体检测,通常采用人体姿态估计(Human Posture Estimation),即将图片中已检测到的人体关键点正确联系起来,从而实现人体姿态的估计,实现人体的检测。人体关键点通常对应人体上有一定自由度的关节,比如颈、肩、肘、腕、腰、膝、踝等。

       通过对人体关键点在三维空间相对位置的计算,可以估计人体当前的姿态。同时如果增加时间序列,在一段时间内观测人体关键点的位置变化,可以更加准确的进行姿态的检测以及估计目标未来时刻的姿态,做到更加抽象的人体行为分析,比如判断一个人是否在进行打羽毛球。

       人体姿态估计技术在体育健身、动作采集、3D试衣、舆情监测等领域具有广阔的应用前景,具体应用主要集中在智能视频监控,病人监护系统,人机交互,虚拟现实,人体动画,智能家居,智能安防,运动员辅助训练等等。

二、应用场景

1、人类行为识别:人类行为识别是指在给定的图片或者图片序列中识别出人体的动作意图。人类行为识别是计算机视觉领域一个极其重要的研究方向。其被广泛的应用于监控,娱乐,人机交互,图像和视频搜索等领域。

2、人机交互:人机交互是指设计一种计算机和用户进行信息传递的接口程序。人机交互处于计算机科学,行为科学,设计,媒体研究的交叉点。一个常见的例子是:研究人员可以通过给计算机安装摄像头的方式使其可以获取人类用户的图像信息,再通过对图像信息的识别使得计算机理解用户的意图,从而达到交互的目的。

3、服装解析:服装解析是指在一张图像中解析出人体上不同的服装。解析服装的视觉算法具有各种各样的潜在应用价值,更好的理解图像,人物服饰识别,或基于内容的图像检索等。但是,由于人体姿态的复杂性,解析服饰的任务并不容易。

三、人体检测面临的问题

1、某张图片中的人的数量未知,可能由一个人到几百个人不等的情况都会出现

2、图片中人与人之间的相互接触会极大影响识别效率,比如遮挡、接触、掩盖等现象的产生会导致在2D图片维度上去联合各个肢体,确定一个人的关键点变得异常困难。

3、图片中的人数的增加会直接导致计算的复杂度提高,计算量也随之增大,计算量与人数成正相关,这就导致实时的人体检测变得困难。

4、视角不同和人体姿态的复杂而引起的关键点尺度差异性问题,由于视角和人体姿态的不同,造成了人体关键点

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenPose是一个基于深度学习的开源库,用于实时多人2D姿态估计。它可以检测人体的关键点,例如鼻子、眼睛、耳朵、肩膀、手肘、手腕、髋部、膝盖和脚踝等。以下是使用OpenPose进行人体骨骼检测的步骤: 1. 安装OpenPose库和依赖项。 2. 准备输入图像或视频。 3. 使用OpenPose库中的函数加载输入图像或视频。 4. 调用OpenPose库中的函数进行人体骨骼检测。 5. 处理检测结果并将其可视化。 以下是一个使用OpenPose进行人体骨骼检测的Python示例代码: ```python import cv2 import os import sys import numpy as np # 加载OpenPose库 dir_path = os.path.dirname(os.path.realpath(__file__)) try: # Windows Import if sys.platform == "win32": # Change these variables to point to the correct folder (Release/x64 etc.) sys.path.append(dir_path + '/../../python/openpose/Release'); os.environ['PATH'] = os.environ['PATH'] + ';' + dir_path + '/../../x64/Release;' + dir_path + '/../../bin;' import pyopenpose as op else: # Change these variables to point to the correct folder (Release/x64 etc.) sys.path.append('../../python'); from openpose import pyopenpose as op except ImportError as e: print('Error: OpenPose library could not be found. Did you enable `BUILD_PYTHON` in CMake and have this Python script in the right folder?') raise e # 设置OpenPose参数 params = dict() params["model_folder"] = "../../models/" params["model_pose"] = "BODY_25" params["net_resolution"] = "-1x368" params["number_people_max"] = 1 # 加载图像 image_path = "test.jpg" image = cv2.imread(image_path) # 运行OpenPose opWrapper = op.WrapperPython() opWrapper.configure(params) opWrapper.start() datum = op.Datum() datum.cvInputData = image opWrapper.emplaceAndPop([datum]) # 处理检测结果 keypoints = datum.poseKeypoints for i in range(keypoints.shape[0]): for j in range(keypoints.shape[1]): cv2.circle(image, (int(keypoints[i][j][0]), int(keypoints[i][j][1])), 3, (0, 0, 255), -1) # 可视化结果 cv2.imshow("OpenPose result", image) cv2.waitKey(0) cv2.destroyAllWindows() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值