基于渐进滤波融合的人体姿态估计方法
摘要文本
本发明公开了一种基于渐进滤波融合的人体姿态估计方法,先通过两台Azure Kinect DK相机进行数据采集,并确定初始数据,然后进行数据滤波融合处理,利用马氏距离对两台Azure Kinect DK相机的初始数据进行分类处理,筛选并弃用受视觉遮挡影响较大的Azure Kinect DK相机的量测信息,对于确定的受视觉遮挡影响较小的一台Azure Kinect DK相机的量测信息,通过另外一台Azure Kinect DK相机的量测信息进行引导该台Azure Kinect DK相机的量测信息进行渐进滤波融合,从而达到隐式补偿的效果,最后进行全局融合从而进一步提高了人体姿态估计的精度;优点是兼具低成本和高精度,且不需要测试者佩戴关节点标记,不会给测试者造成不便。
申请人信息
- 申请人:温州大学
- 申请人地址:325000 浙江省温州市瓯海区东方南路38号温州市国家大学科技园孵化器
- 发明人: 温州大学
专利详细信息
| 项目 | 内容 |
|---|---|
| 专利名称 | 基于渐进滤波融合的人体姿态估计方法 |
| 专利类型 | 发明申请 |
| 申请号 | CN202311572460.7 |
| 申请日 | 2023/11/23 |
| 公告号 | CN117689713A |
| 公开日 | 2024/3/12 |
| IPC主分类号 | G06T7/70 |
| 权利人 | 温州大学 |
| 发明人 | 汪鹏君; 吴江宇; 杨旭升; 张文安; 崔诗怡; 李晗 |
| 地址 | 浙江省温州市瓯海区温州高教园区(瓯海区茶山镇) |
专利主权项内容
1.一种基于渐进滤波融合的人体姿态估计方法,其特征在于包括以下步骤:步骤1、进行初始数据采集,具体过程为:S1.1、将两台Azure Kinect DK相机摆放于测试台上,其中,两台Azure Kinect DK相机处于同一水平面上,视野重合率达到80%以上,且两台Azure Kinect DK相机视野范围均能完全覆盖到处于测试台中央的测试者;S1.2、让测试者双手端着方格边长为10mm、图案阵列为8*6的棋盘格标定板笔直站立在测试台中央处,使两台Azure Kinect DK相机中都能清晰看见8*6棋盘格标定板正面的棋盘格图案;S1.3、先同时启动两台Azure Kinect DK相机拍摄一帧彩色图像数据后关闭两台AzureKinect DK相机,然后从两台Azure Kinect DK相机处分别获取其拍摄的一帧彩色图像数据,此时得到两帧彩色图像数据;S1.4、将两帧彩色图像数据输入到OpenCV软件工具包中,OpenCV软件工具包对两帧彩色图像数据进行处理,得到两台Azure Kinect DK相机之间的变换矩阵,将该变换矩阵记为W;S1.5、将棋盘格标定板从测试者处取走,测试者进入准备状态;S1.6、测试者开始执行测试动作,与此同时,同时启动两台Azure Kinect DK相机开始录制视频,直至测试者完成所有测试动作,此时两台Azure Kinect DK相机视频录制完成,关闭两台Azure Kinect DK相机;其中,每台Azure Kinect DK相机录制的视频中每帧数据均包括了图像数据以及与该图像数据对应的人体骨架数据,人体骨架数据为在该台AzureKinect DK相机坐标系下的32个人体骨骼关节点的三维位置向量,32个人体骨骼关节点分别为骨盆、脊柱骨、脊柱胸部、脖子、左锁骨、左肩、左肘、左手腕、左手、左手尖、左手拇指、右锁骨、右肩、右肘、右手腕、右手、右手尖、右手拇指、左髋、左膝、左脚踝、左脚、右髋部、右膝、右脚踝、右脚、头、鼻子、左眼、左耳、右眼和右耳;按照1-32依次分别对骨盆、脊柱骨、脊柱胸部、脖子、左锁骨、左肩、左肘、左手腕、左手、左手尖、左手拇指、右锁骨、右肩、右肘、右手腕、右手、右手尖、右手拇指、左髋、左膝、左脚踝、左脚、右髋部、右膝、右脚踝、右脚、头、鼻子、左眼、左耳、右眼和右耳进行编号,将编号为l的人体骨骼关节点称为l关节点,l=1, 2, ...., 32;将两台Azure Kinect DK相机录制的视频中数据的总帧数记为Y,即每台Azure KinectDK相机分别得到Y帧数据;S1.7、将两台Azure Kinect DK相机中任意一台作为主相机,另一台作为从相机;将从相机得到的第a帧数据的l关节点的三维位置向量左乘变换矩阵W,得到l关节点在主相机坐标系下的映射向量,将其称为l关节点的映射向量,记为将主相机得到的第a帧数据的l关节点的三维位置向量记为/>步骤2、设定第a帧数据的l关节点的全局三维位置向量估计值为设定/>的协方差矩阵为/>对第1帧数据的l关节点的全局三维位置向量估计值/>进行初始化,令对/>的协方差矩阵/>进行初始化,令/>等于3*3的单位矩阵,将该3*3的单位矩阵记为I;设定/>的量测噪声协方差为/>令/>等于3*I;设定/>的量测噪声协方差为/>令/>等于3*I;设定第a帧数据的任意人体骨骼关节点量测矩阵为H,令H=I,其中*为乘运算符号;aa步骤3、进行数据滤波融合处理,具体过程为:S3.1、设定帧数变量为k,对k进行初始化,令k=2;S3.2、对主相机得到的第k帧数据的l关节点的三维位置向量和l关节点的映射向量进行处理,得到第k帧数据的l关节点的全局三维位置向量估计值/>具体过程为:S3.2.1、设定第k帧数据的状态转移矩阵为F,令F等于I;设定第k帧数据的过程噪声协方差矩阵为Q,令Q等于0.2*I;设定第k帧数据的l关节点的全局三维位置向量预测值为设定/>的协方差矩阵为/>kkkkS3.2.2、采用公式(1)和(2)分别计算得到与/>式(2)中,角标T表示矩阵的转置符号;S3.2.3、设定与/>的马氏距离的平方为/>采用式(3)计算得到/>式(3)中,S3.2.4、设定与/>的马氏距离的平方为/>设定/>和的马氏距离的平方为/>分别采用式(4)和(5)分别计算得到和/>式(4)中,式(5)中,/>S3.2.5、设置l关节点的置信阈值为χ,χ的取值大于等于10且小于等于20;llS3.2.6、先将和/>分别与χ进行比较,然后根据比较结果分别进行处理,具体为:l当比较结果满足或/>且/>时,处理过程为:A1、采用式(6)、(7)和(8)分别计算出从相机的第k帧数据的l关节点的局部三维位置向量估计值与/>的协方差矩阵/>A2、采用式(9)、(10)和(11)分别计算出主相机的第k帧数据的l关节点的局部三维位置向量估计值与/>的协方差矩阵/>A3、进入步骤S3.2.7;当比较结果满足且/>且/>时,具体处理过程为:B1、采用式(6)、(7)和(8)分别计算出从相机采集的第k帧数据的l关节点的局部三维位置向量估计值与/>的协方差矩阵/>B2、判断是否成立,如果成立,则令主相机的第k帧数据的l关节点的局部三维位置向量估计值/>的协方差矩阵/>然后进入步骤S3.2.7;如果不成立,对主相机采集的第k帧数据的l关节点的三维位置向量/>继续进行渐进滤波,具体渐进滤波过程为:B2.1、设定渐进滤波的迭代变量为t,设定最大迭代步数M=10,设定渐进滤波中状态变量和/>B2.2、对t进行初始化,令t=1,对和/>进行初始化,令/>B2.3、进行第t次迭代滤波,具体过程为:B2.3.1、采用式(12)至(16)计算得到第t代中间状态变量第t代中间状态协方差矩阵/>和第t代中间判断变量/>上式中,B2.3.2、判断是否成立,如果成立,则令/>然后进入步骤S3.2.7;如果不成立,则进一步判断t的当前值是否等于M,如果不等于,则采用t的当前值加1的和更新t的取值,然后返回步骤B2.3进行下一次迭代滤波,如果等于,则令然后进入步骤S3.2.7;当比较结果满足且/>且/>时,具体处理过程为:C1、采用式(9)、(10)和(11)分别计算出主相机采集的第k帧数据的l关节点的局部三维位置向量估计值与/>的协方差矩阵/>C2、判断是否成立,如果成立,则令从相机的第k帧数据的l关节点的局部三维位置向量估计值/>的协方差矩阵/>然后进入步骤S3.2.7;否则,对从相机的第k帧数据的l关节点的映射向量/>继续进行渐进滤波,具体渐进滤波过程为:C2.1、设定渐进滤波中的迭代变量为n,最大迭代步数N=10,设定渐进滤波中状态变量和/>C2.2、对n进行初始化,令n=1;对和/>进行初始化,令/>C2.3、进行第n次迭代滤波,具体过程为:C2.3.1、采用式(17)至(21),计算得到从相机中渐进滤波中的第n代中间状态变量第n代中间状态协方差矩阵/>和第n代中间判断变量/>上式中,C2.3.2、判断是否成立,如果成立,则令/>然后进入步骤S3.2.7;如果不成立,则进一步判断n的当前值是否等于N,如果不等于,则先采用n的当前值加1的和更新n的取值,然后返回步骤C2.3进行下一次迭代滤波,如果等于,则令然后进入步骤S3.2.7;当比较结果满足且/>且/>时,直接令然后进入步骤S3.2.7;S3.2.7、采用式(22)和式(23)分别计算得到第k帧数据的l关节点的全局三维位置向量估计值与/>的协方差矩阵/>S3.3、判断k的当前值是否等于Y,如果不等于,则采用k的当前值加1的和更新k的取值,然后返回步骤S3.2进行下一帧数据的处理,如果等于,则人体姿态评估结束,即为得到的人体姿态数据。 来自马-克-数-据-官网