姿态识别、手势识别(附代码)

简介: 姿态识别、手势识别(附代码)

姿态识别技术是一种基于计算机视觉的人体姿态分析方法,可以通过分析人体的姿态,提取出人体的关键点和骨架信息,并对人体的姿态进行建模和识别。随着深度学习技术的发展,近年来姿态识别技术得到了广泛的应用和研究,其中Pose是一种基于深度学习的姿态识别工具包。本篇博客将介绍Pose的原理和方法,并探讨其在姿态识别领域的应用。

目前识别手势,举左手 右手 双手 叉腰等姿态

7c86b45afbe84db9b3ac3db2a4ccf524.png


一、 Pose的原理


Pose是开发的一种基于深度学习的姿态识别工具包,它可以通过摄像头或静态图像中的人体图像,快速准确地推断出人体的关键点和骨架信息。Pose的原理是通过卷积神经网络(CNN)来对人体的关键点进行预测。具体来说,e Pose使用的是一种称为卷积神经网络回归(Convolutional Neural Network Regression,简称CNN Regression)的方法,它可以将输入的图像映射到一个连续的空间,从而可以对图像中的每个像素位置进行预测。

#全部代码 1309399183 <------------qq
# ------------------------------------------------
#   计算姿态
# ------------------------------------------------
def get_pos(keypoints):
    str_pose = ""
    # 计算左臂与水平方向的夹角
    keypoints = np.array(keypoints)
    v1 = keypoints[12] - keypoints[11]
    v2 = keypoints[13] - keypoints[11]
    angle_left_arm = get_angle(v1, v2)
    if angle_left_arm<0 and angle_right_arm<0:
        str_pose = "举左手"
    elif angle_left_arm>0 and angle_right_arm>0:
        str_pose = "举右手"
    elif angle_left_arm<0 and angle_right_arm>0:
        str_pose = "举双手"
        if abs(angle_left_elow)<120 and abs(angle_right_elow)<120:
            str_pose = "三角形"
    elif angle_left_arm>0 and angle_right_arm<0:
        str_pose = "正常"
        if abs(angle_left_elow)<120 and abs(angle_right_elow)<120:
            str_pose = "AKIMBO"
    return str_pose


Pose的卷积神经网络由两个主要部分组成:特征提取器和回归器。特征提取器用于从输入图像中提取特征,回归器用于对每个关键点的坐标进行回归预测。特征提取器通常使用预训练的深度卷积神经网络模型,如MobileNet或ResNet,来提取输入图像的特征表示。回归器通常由多层卷积神经网络和全连接层组成,用于对特征进行处理,并对每个关键点的坐标进行回归预测。

9b32026a285548b08d4b5aeac574328e.png


二、姿态识别Pose的方法


MediaPipe Pose提供了多种不同的方法来进行姿态识别,包括实时视频姿态估计、静态图像姿态估计和持续视频姿态估计。以下是MediaPipe Pose的几种常见的姿态识别方法:


1. 实时视频姿态估计


实时视频姿态估计是ose最常用的姿态识别方法之一,它可以对实时视频流中的人体姿态进行准确的预测。在实时视频姿态估计中, Pose将输入视频流分成一系列的帧,在每一帧中对人体姿态进行分析和预测。在分析过程中, Pose使用卷积神经网络对每个关键点的坐标进行回归预测,并通过骨架连接来生成姿态估计结果。实时视频姿态估计可以应用于多种应用场景,如运动分析、姿势纠正和虚拟现实等。


2. 静态图像姿态估计


静态图像姿态估计是 Pose用于分析静态图像中人体姿态的一种方法。在静态图像姿态估计中,Pose将输入图像中的每个像素点作为输入,并将其映射到一个连续的空间中。然后,它使用卷积神经网络对每个关键点的坐标进行回归预测,并通过骨架连接来生成姿态估计结果。静态图像姿态估计可以应用于多种应用场景,如人体动作捕捉、人像编辑和人体分析等。

def get_angle(v1, v2):
    angle = np.dot(v1, v2) / (np.sqrt(np.sum(v1 * v1)) * np.sqrt(np.sum(v2 * v2)))
    angle = np.arccos(angle) / 3.14 * 180
    cross = v2[0] * v1[1] - v2[1] * v1[0]
    if cross < 0:
        angle = - angle
    return angle


3. 持续视频姿态估计


持续视频姿态估计是一种用于分析长时间视频流中人体姿态的方法。在持续视频姿态估计中,Pose使用滑动窗口技术对视频流进行分析,以提高姿态识别的准确性和稳定性。在分析过程中,它使用卷积神经网络对每个关键点的坐标进行回归预测,并通过骨架连接来生成姿态估计结果。持续视频姿态估计可以应用于多种应用场景,如安防监控、智能交通和社交媒体等。

大概有反弹.png


三、Pose的应用


Pose是一种功能强大的姿态识别工具包,可以应用于多种应用领域。以下是Pose的一些常见应用:


1. 运动分析和姿势纠正


Pose可以用于运动分析和姿势纠正,例如在健身应用程序中监测用户的姿势,并提供实时反馈以帮助他们改进姿势。它还可以应用于体育训练中,以监测运动员的姿势并提供反馈,以帮助他们改进技能。


2. 人体动作捕捉


Pose可以用于人体动作捕捉,例如在电影制作、游戏开发和虚拟现实中实现逼真的人体动作效果。它也可以应用于医疗领域,例如帮助康复患者进行运动训练。


3. 人像编辑和人体分析


Pose可以用于人像编辑和人体分析,例如在照片编辑应用程序中自动识别人体关键点并对照片进行优化。它也可以应用于人体分析中,例如通过分析人体姿态和动作来识别异常或危险行为。


综上所述, Pose是一种功能强大的姿态识别工具包,可以应用于多种应用领域。它的原理是通过卷积神经网络回归方法对人体关键点进行预测,方法包括实时视频姿态估计、静态图像姿态估计和持续视频姿态估计。随着深度学习技术的不断发展,Pose在姿态识别领域的应用前景将会越来越广泛。


相关文章
|
人工智能 计算机视觉
【人工智能】人脸识别检测戴口罩实战之初识OpenCV简单操作之图像处理,实现脸部打码【第二课】
初识OpenCV简单操作之图像处理,获取人脸特征,给图像简单的打码,绘制图形、运算、几何变换、平滑处理、边缘检测
488 1
【人工智能】人脸识别检测戴口罩实战之初识OpenCV简单操作之图像处理,实现脸部打码【第二课】
|
23天前
|
机器学习/深度学习 算法 计算机视觉
基于opencv与mediapipe的民族舞舞蹈动作识别
基于opencv与mediapipe的民族舞舞蹈动作识别
38 0
|
6月前
|
机器学习/深度学习 数据采集 算法
【传知代码】无监督动画中关节动画的运动表示-论文复现
本文探讨了数据驱动的无监督动画技术,尤其是针对关节动画的运动表示。研究提出三个主要贡献:1) 使用区域表示增强一阶运动稳定性;2) 明确建模背景运动以稳定点识别;3) 在无监督空间中解耦形状和姿态防止形状转移。通过这些改进,无监督运动转移的精度提升,特别是对关节对象的动画。作者还创建了一个新的TED演讲者数据集,证明了方法的有效性,其性能优于现有技术。文章总结了监督和无监督图像动画方法,并介绍了关节动画的基本原理,包括骨架、关节表示和姿势表示。核心逻辑涉及一阶运动模型、PCA-based运动估计和背景运动估计,以及图像生成过程。
【传知代码】无监督动画中关节动画的运动表示-论文复现
|
6月前
|
机器学习/深度学习 自然语言处理 计算机视觉
CVPR 2024:生成不了光线极强的图片?微信视觉团队有效解决扩散模型奇点问题
【4月更文挑战第14天】中山大学和微信团队的研究者提出 SingDiffusion,一种解决扩散模型在处理极端亮度图像时的平均亮度问题的新方法。SingDiffusion 可无缝集成到预训练模型中,无需额外训练,通过处理 t=1 时间步长的采样问题,改善了图像生成的亮度偏差。在 COCO 数据集上的实验显示,相较于现有模型,SingDiffusion 在 FID 和 CLIP 分数上表现更优。
77 7
CVPR 2024:生成不了光线极强的图片?微信视觉团队有效解决扩散模型奇点问题
|
5月前
|
算法 计算机视觉
图像处理之仿油画效果
图像处理之仿油画效果
23 0
|
传感器 Web App开发 机器学习/深度学习
计算机视觉教程0-3:为何拍照会有死亡视角?详解相机矩阵与畸变
计算机视觉教程0-3:为何拍照会有死亡视角?详解相机矩阵与畸变
685 0
计算机视觉教程0-3:为何拍照会有死亡视角?详解相机矩阵与畸变
|
机器学习/深度学习 机器人 vr&ar
照片转视频,像航拍一样丝滑,NeRF原班人马打造Zip-NeRF(1)
照片转视频,像航拍一样丝滑,NeRF原班人马打造Zip-NeRF
348 0
照片转视频,像航拍一样丝滑,NeRF原班人马打造Zip-NeRF(1)
|
机器学习/深度学习 算法 测试技术
人体姿态识别(毕业设计+代码)
人体姿态识别(毕业设计+代码)
人体姿态识别(毕业设计+代码)
|
编解码 算法 数据可视化
照片转视频,像航拍一样丝滑,NeRF原班人马打造Zip-NeRF(2)
照片转视频,像航拍一样丝滑,NeRF原班人马打造Zip-NeRF
286 0
|
机器学习/深度学习 人工智能 算法
硬刚 ArcFace | ECCV 2022 人脸识别新方法 BoundaryFace:一种基于噪声标签自校正框架(附源码实现)
硬刚 ArcFace | ECCV 2022 人脸识别新方法 BoundaryFace:一种基于噪声标签自校正框架(附源码实现)
540 0