毕设题目为人体姿态估计,之前主要关注在目标检测上,这方面不太熟悉,于是想做一个系列专栏,从0到1学习姿态估计。

姿态识别opencv 姿态识别应用场景_人工智能


姿态估计本质是关键点检测。

人体姿态的估计常常首先预测出人体各个关键点的位置坐标,然后根据先验知识确定关键点之间的空间位置关系,从而得到预测的人体骨架。

2D姿态估计

2D姿态估计就是为每个关键点预测一个二维坐标;

姿态识别opencv 姿态识别应用场景_计算机视觉_02

姿态识别opencv 姿态识别应用场景_姿态识别opencv_03


不光是人,所有动物或其他任何物体,只要有关键点的都使用姿态估计

姿态识别opencv 姿态识别应用场景_计算机视觉_04

https://github.com/DeepLabCut/DeepLabcut 这个库就是一个动物姿态估计的开源框架,通过少量的标注,即可训练自己的模型。

姿态识别opencv 姿态识别应用场景_计算机视觉_05


姿态识别opencv 姿态识别应用场景_人工智能_06


关键点检测的应用非常之多,如下是检测人的耳朵,将自己耳朵上的穴位准确的定位出来,然后根据提示贴上耳贴。

姿态识别opencv 姿态识别应用场景_深度学习_07


下面是子豪兄大佬开发的运动检测

姿态识别opencv 姿态识别应用场景_计算机视觉_08


通过人体关键点检测可以进行音量控制,隔空点击等有趣的操作。

姿态识别opencv 姿态识别应用场景_3D_09


下面是识别人脸,比如检测到人脸关键点后,在相关位置画上一个迷宫,再添加一个物理引擎,即可控制走迷宫。

姿态识别opencv 姿态识别应用场景_姿态识别opencv_10


这个是自己摆个姿势,从模型库中挑选一个有累死姿势的图像

姿态识别opencv 姿态识别应用场景_深度学习_11

3D姿态检测

3D姿态检测比2D的增加了一维深度信息,每个关键点预测一个三维坐标。

姿态识别opencv 姿态识别应用场景_深度学习_12


姿态识别opencv 姿态识别应用场景_深度学习_13


视频行为理解也属于3D的,只是空间上一个坐标给了时间。

姿态识别opencv 姿态识别应用场景_深度学习_14


姿态识别opencv 姿态识别应用场景_3D_15


综上所述,姿态检测的场景非常多。

https://www.v7labs.com/blog/human-pose-estimation-guide 这篇文章写的很好很基础,之后我会将其翻译成中文
已翻译:oh my 毕设-人体姿态估计综述

https://www.analyticsvidhya.com/blog/2022/01/a-comprehensive-guide-on-human-pose-estimation/ 这个博客与上面的差不多

姿态识别opencv 姿态识别应用场景_3D_16


多目标姿态检测主要有两种方式,一种是自顶向下的(Top Down):即先检测目标框,再检测目标框内的关键点;另一种是定下而上的(Bottle Up):即先检测关键点,再根绝关键点分离出目标。

姿态识别opencv 姿态识别应用场景_计算机视觉_17


再关键点检测时,主要用基于热力图和回归两种方式

姿态识别opencv 姿态识别应用场景_3D_18


再没有用深度学习时,专家们一般是根据人体的姿态位置特征建一个弹簧模型,当然这种模型鲁棒性非常差,一般换一个角度深知换一个光照强度就不work了。

姿态识别opencv 姿态识别应用场景_计算机视觉_19

姿态识别opencv 姿态识别应用场景_深度学习_20


目前主要是用高分辨率卷积神经网络

姿态识别opencv 姿态识别应用场景_深度学习_21


姿态估计加上sort算法可以进行多目标跟踪

姿态识别opencv 姿态识别应用场景_深度学习_22


也可以将多个姿态检测组合在一块生成一种模型

姿态识别opencv 姿态识别应用场景_人工智能_23


这个是通过2D图像,进行姿态估计,然后预测\映射到三维空间

姿态识别opencv 姿态识别应用场景_姿态识别opencv_24

姿态识别opencv 姿态识别应用场景_姿态识别opencv_25