基于DragonBoard 410c+3D摄像头的人体姿势评估分析
最近自己想用410c来做一个运动相关的DIY,用410c开发板搭载摄像头来实现对自己的姿态的跟踪,用到健身运动中,完成对自己所作的动作的定位和标准评判,实时提醒自己所作健身动作的标准程度,前期进行了一些调研和预研究,这里将和大家一起分享一下自己在初期的预研过程对人体姿态估计算法的理解。
图1 不同运动姿态示意图
人体姿态估计算法近年来随着体感游戏、VR等热度的不断提升,这类用于估算人体姿态的计算机算法得到了这些领域的专家和相关机构的热捧,也成为了当前视频处理和动态感知领域研究的一个重点。在前期的研究和分析过程中,主要从已有的运动姿态跟踪算法和410c开发板支持的fastcv库及平台性能来进行综合考虑,最终确定人体姿态估计算法,为后续进一步利用摄像头来实现人体姿态估计和运动姿态识别。
一、与人体姿态估计相关设备及算法分析
目前在人体姿态估计应用方面,大家最为熟悉的可能就是微软的kinect体感摄像头和Xbox体感游戏套件这两款产品,其中xbox体感游戏机主要是利用微软开发的kinect摄像头实现的各种体感运动姿态识别,来实现各种游戏的交互,实现体感游戏运动,Kinect上集成了各种处理算法和骨骼算法,可以实现对人体运动过程总的骨骼识别,如下图2,是应用kinect来实现对人体骨骼捕捉的应用,目前很多体感设备厂家都开始选用这款摄像头来进行相关的体感游戏和设备的开发。
图2 kinect 人体骨骼识别
还有一款设备是英特尔退出的realsense 3D摄像头,这款摄像头是英特尔专门推出的一款应用于体感设备、人脸识别、无人机甚至VR的视觉处理设备,依托这套设备也可以快速的对人体的运动骨骼进行跟踪和识别,在realsense中通过双摄像头可以快速的实现对拍摄的三维信息进行处理,包括色彩、深度和距离的计算等。如下图是使用realsense 3D摄像头实现的一个目标跟踪示意图。
图3 realsense 3D摄像头人体识别跟踪
在人体姿态估计算法方面,主要涉及到了目标识别、提取、匹配、机器学习、模式识别等一系列算法技术,通过应用这些基础的算法进行融合,以实现对不同人体姿态的。其中人体的姿态参数的估计是人体运动识别的核心处理过程,在处理过程中,由于人体本身就是一个复杂多变的形体,并且在人体运动过程总,人体的各个部分之间通过关节相连,运动可以是多个维度的。目前常用的人体姿态估计方法主要有以下几个方面:
1)基于多幅图像数据的人体姿态估计
这类方法是目前用的比较多的方法,主要是利用摄像头采集到的多幅图像数据来自动初始化人体的对象模型,然后根据多幅图像中的近似人体形状信息来实现对人体姿态的跟踪和估计,部分还可以基于多幅图像信息对运动过程中的人体形状的变化过程来进行建模,使用基于模型的方法来提高人体姿态估计和识别的精度,常用的基础处理方法有侧影线索引、梯度下降法、空间姿态随机搜索匹配法等。
2)基于单目图像的姿态估计
这类方法主要是利用单个摄像头采集图像,然后根据图像数据对人体姿态进行估计,在估计过程中通常会将人体的姿态初始化成一个外观模型,采用图像子块分析或者混合颜色模型来实现外观模型的初始化,然后利用监督学习、RVM和检测算子等来完成对人体运动姿态的检测和识别。
3)基于多目图像的姿态估计
这类方法是目前最为流行的一种方法,特别是随着kinect和realsense等推出,采用夺目图像进行姿态估计得到了快速的发展,利用双目来模拟人眼观察世界,可以有效的解决单目处理过程中的对遮挡处理和空间三维处理的局限性。
4)基于HMM的姿态估计
这种方法是一种类似于神经网络的方法,来对固定间隔的上下文进行平滑,其常用的方法有Viterbi算法、Baum-Welch算法等,是人体姿态估计中常用的一种方法,在处理过程中可以将HMM中的隐状态定位为需要估计的人体姿态,将视频中的图像作为观察对象,然后通过它来推理三维人体姿态参数,实现对人体的姿态的估计。
二、Dragonboard 410c平台分析及开发库的选择
前面几篇博客介绍的相关工作都是基于Dragoboard 410c开发板的,对Dragonboard 410c开发板的具体软件和硬件性能可以参考以下博客内容:
http://www.elecfans.com/pld/PLDkaifaban/481147.html
图4 Dragoboard 410c开发板
这里我们用这个平台来做人体运动姿态估计,这里首先要考虑到,需要接入摄像头,这里开发板提供了两个USB接口,通过这两个接口可以方便的接入USB摄像头,但是这两个USB都是2.0的接口,理论上速度没问题,但是实
DragonBoard 410c Kinect 相关文章: