视觉遮挡下的人体姿态鲁棒估计①
2021-02-11贾晓凌张文安杨旭升
贾晓凌 张文安 杨旭升
(浙江工业大学信息工程学院 浙江省嵌入式系统联合重点实验室 杭州310023)
0 引言
近年来,在人机协作、体育竞技、体感娱乐以及医疗康复等领域,人体姿态估计扮演着越来越重要的角色[1-3]。特别地,随着3D 视觉和人工智能等技术的发展,3D 人体姿态估计的研究引起了国内外学者的广泛关注[4-5]。
在视觉人体姿态估计领域,较为成熟的方法主要有两种,一是利用多相机系统捕捉可穿戴式的反光标记点以实现3D 人体姿态信息的捕捉,如Opti-Track、Vicon 等人体姿态捕捉系统。该方法利用标记点避免了复杂的人体关节点的识别,具有较高的人体姿态估计的精度,但其对人工标记点的依赖,使得该方法的使用范围受限[6-7]。二是利用深度传感器信息实现3D 人体姿态估计。常用的深度传感器有Microsoft 的Kinect 系列、ASUS 的Xtion 系列等传感器。凭借这类传感器获取深度图像的优势,结合随机森林等方法便捷地实现人体关节点的识别,继而获得3D 人体姿态的估计[8-9]。
文献[10]提出采用随机森林方法(random forest method,RFM)来实现在单个深度图像中的人体姿态估计,并由此衍生出一系列在深度图像中人体姿态估计方法的研究,如近几年提出的Hough forests[11]、Random ferns[12]、Random tree walks[13]等系列方法。尽管这类方法已将深度图像领域中的人体姿态估计做到了很高的水准,但难以克服视觉遮挡带来的估计精度下降的问题。为了处理视觉遮挡问题,文献[14]提出了一种基于单深度图像的视点不变模型,能够做到在自遮挡情况下选择性地预测部分人体姿态。文献[15]提出了一个语义遮挡模型,并结合回归森林方法可做到人体被物体部分遮挡时的姿态估计。此外,还可利用多深度传感器建立人体姿态的感知系统来应对由于视角问题造成的遮挡[16-17]。然而,深度视觉存在红外线(infrared radiation,IR)相互干扰、数据不连续等问题[18],这使得多深度传感器系统不仅需要考虑高计算复杂度,还需充分考虑传感器间干扰问题。另一方面,卡尔曼滤波方法是一种有效的去噪方法[19],其不仅在目标跟踪领域[20-21]应用广泛,在人体姿态估计领域也发挥重要的作用。例如,文献[22]利用线性卡尔曼滤波器提高了人体姿态估计的准确性,文献[23]在卡尔曼滤波的框架下融合来自多Kinect 传感器的人体骨骼位置信息以处理视觉自遮挡问题。然而,实际上采集到的人体姿态信息中包含的噪声并非满足高斯特性,即所采集到的人体姿态信息中往往会存在多种不确定的噪声,这些噪声的特性往往难以精确描述。
本文针对深度图像中3D 人体姿态估计的视觉遮挡问题,提出了一种带有鲁棒卡尔曼滤波(robust Kalman filter,RKF)的人体姿态估计方法。本文主要贡献如下:在深度图像中,通过随机森林方法得到的人体姿态信息中夹杂着遮挡造成的复杂噪声,所提出的鲁棒卡尔曼滤波利用假设检验的方法对包含的噪声进行识别和分类处理,提高了人体姿态估计的精度和鲁棒性。
1 问题与建模
1.1 问题描述
考虑一类基于3D 视觉传感器的人体姿态估计系统。其中,3D 视觉传感器为RGB-D 相机,可采集人体目标的深度信息。通常可将人体目标视为由头、躯干、臂、手、腿、足等部件相互连接构成的多刚体系统,人体各关节点如图1 所示。这样,人体姿态估计问题可看作为人体各关节点位置估计问题,并利用随机森林方法从深度图像中识别出人体各部件,进而计算出人体各关节点在相机坐标系下的3D位置。这种深度信息结合随机森林方法得到的人体姿态估计虽然能够克服光照的影响,但仍难以避免由视觉遮挡引起的误识别问题。特别地,这使得所采集到的人体姿态信息中包含的噪声并非满足高斯特性,即所采集到的人体姿态信息中往往会存在多种不确定性噪声。
图1 人体各关节点示意图
以人机协作中的应用分析为例,人与机器人处于同一工作空间并同时进行工作,因此精准鲁棒的人体姿态估计是保障人身安全及机器人正常工作的重要前提。然而,仅依赖随机森林方法往往难以避免视觉遮挡引起的误识别问题。如图2 所示,自遮挡或手持物遮挡的存在,都将导致人体重要关节点的误识别。特别地,如图2(c)所示,人体关节点的误识别可造成人体姿态量测上的野值问题。如图3所示,从采集到的人体腕关节点数据中不难发现,视觉遮挡可造成腕关节运动轨迹的锯齿状,即人体姿态的量测噪声统计特性发生了变化。为克服视觉遮挡等引起人体关节点的误识别,本文设计了带有鲁棒卡尔曼滤波的人体姿态估计方法来提高人体姿态估计的精度和鲁棒性。
图2 视觉人体关节点识别图
图3 存在视觉遮挡情形下的腕关节点运动轨迹
1.2 系统建模
考虑到视觉遮挡将导致人体姿态量测信息中存在多种不确定的噪声,对人体姿态的量测模型建模如下:
人体各关节点的运动学模型描述如式(2)所示:
其中,
2 鲁棒卡尔曼滤波器设计
考虑到视觉自遮挡或遮挡造成的人体部件误识别问题,设计了一种鲁棒卡尔曼滤波器用以提高人体姿态估计系统对视觉遮挡的鲁棒性,该方法采用假设检验的方式引入自适应因子,可有效提高系统的估计精度和鲁棒性。
根据系统量测模型,当αk=0 且βk≠0 时,则量测模型描述为
根据系统模型式(2)和式(5),人体各关节点的卡尔曼滤波可描述为
则有:
将式(26)和式(27)整合代入式(25)中,可得到:
即:
则有:
证毕。
基于鲁棒卡尔曼滤波的人体姿态估计算法描述及其流程图分别如算法1 和图4 所示。
图4 基于RKF 的人体姿态估计算法流程图
算法1基于鲁棒卡尔曼滤波的人体姿态估计算法。
(3) 读取3D 视觉传感器下的深度图像,并基于随机森林方法计算得到
(6) if
(7) 跳到式(13)继续执行;
(11) else 计算式(16)和式(17);
(12) end if;
3 实验分析
在本节中,将分别从人体姿态估计的仿真和实验两方面来验证所提方法的有效性。
3.1 仿真实验
在仿真中,以人体右臂腕关节点为例进行分析,其在相机坐标系下做匀速运动。设定采样周期为Δt=1 s,过程噪声协方差为Qk=diag{0.04 cm2,0.025(cm/s)2,0.04 cm2,0.03(cm/s)2,0.04 cm2,0.028(cm/s)2},不确定性噪声设为零均值且协方差为diag{2.25 cm2,2.52 cm2,2.35 cm2} 的高斯白噪声,其出现概率为Pr(α=1)=0.1;野值设为幅值大小为30 cm 的噪声,即a=30 cm,其出现概率为Pr(β=1)=0.05。获取人体的右臂腕关节点初始化状态及其协方差,x0|0=[50.00 cm,5.00 cm/s,0.00 cm,25.00 cm/s,150 cm,20.00 cm/s]
为了更好地体现所提方法的有效性,定义估计误差衡量标准为均方根误差(root mean square error,RMSE):
其中,h=1,2,…,n为仿真实验的序号,n为蒙特卡罗仿真次数,为k时刻的状态估计值,为k时刻的状态真实值。
分别在量测(Meas)、卡尔曼滤波器(KF)、鲁棒卡尔曼滤波器(RKF)下做200 次蒙特卡罗仿真,仿真的对比结果如图4~图6 所示。从中可看出,相比于Meas 和KF,基于RKF 方法下得到的RMSE 更小,表明该方法具有更好的估计精度。进一步,表1 中给出了3 种方法下的RMSE 均值对比,其中ex、ey、ez分别为在X、Y和Z轴上的位置估计RMSE 均值。
表1 仿真中各方法下的位置估计误差均值
图5 X 轴方向上不同方法下的RMSE 对比
图6 Y 轴方向上不同方法下的RMSE 对比
3.2 人体姿态估计实验
如图7 所示,人体姿态估计实验平台由一台微软公司的Kinect V2 视觉传感器、一台工控机和一位人体姿态估计对象组成。Kinect V2 视觉传感器包括彩色摄像头和深度摄像头,采集到的彩色图像分辨率为1920×1080,深度图像分辨率为512 ×424,拍摄速度为30 fps。在工控机上,编写了一个基于Visual Studio 2013 集成Qt 5.7 的开发环境,利用随机森林方法得到在深度相机空间下人体骨骼关节点的空间位置信息。同时,将深度相机空间下的人体骨骼关节点投影到彩色图像中,并利用计算机视觉库OpenCV 对人体骨架进行绘制以及彩色图像显示。
图7 Z 轴方向上不同方法下的RMSE 对比
实验场景设置如下:实验环境位于室内,人体位于Kinect V2 正前方1.5 m 左右的位置进行运动,用Kinect V2 来完成对人体关节点的捕捉。这里需要补充说明的是,人体关节点对应的实际人体位置并不明确,即人体关节点的物理意义是不明确的。故以高精度定位系统OptiTrack(精度0.5 mm)来获取人体关节点的真实轨迹,如图8 所示。该定位系统由8 个Prime 13 相机组成,能够实时捕捉运动目标的位姿,以追踪到的光学标记点的位置视为真值,即视为真实人体关节点位置进行对比。
图8 人体姿态估计系统
在本实验中,在随机森林方法识别并获取到人体关节点位置信息的基础上分别采用KF 和RKF,捕捉对象为人体右臂,其包括肩关节、肘关节和腕关节。以人体右臂腕关节点分析为例,图9~图11 分别为其在运动过程中的X、Y和Z坐标信息在不同方法处理下的累积误差分析图。进一步,表2 所示为腕关节点以及肘关节点的具体误差均值,从中可看出,RKF 方法下得到的误差更低。由此说明RKF 方法能有效提高人体姿态估计的精度和鲁棒性。另外,从3 组关节点误差均值的整体对比中,可看出腕关节点的误差相对更大,肩关节点的误差相对更小,表明机动性更强的关节点存在的误差也更大。
图9 OptiTrack 定位系统
图10 X 轴方向上不同方法的累积误差对比
图11 Y 轴方向上不同方法的累积误差对比
图12 X 轴方向上不同方法的累积误差对比
表2 实验中各方法下的累积误差均值
4 结论
为了处理人体姿态估计中的视觉遮挡问题,提出了一种带有鲁棒卡尔曼滤波的人体姿态估计方法。首先,采用随机森林方法从深度图像中识别出并得出人体各关节点在相机坐标系下的3D 位置;其次,考虑到视觉自遮挡或遮挡造成的人体部件误识别,设计了一种鲁棒的卡尔曼滤波器用以提高人体姿态估计对视觉遮挡的鲁棒性。最后,仿真结果和实验结果表明,所提方法能够有效提高人体姿态估计的精度和鲁棒性。
本文在室内环境下进行自遮挡情形实验,从结果可看出所提方法的有效性,然而复杂环境下对遮挡的应对要求更高,在后续的研究中将测试复杂环境下(如障碍物遮挡)该方法的鲁棒性。此外将在所获得人体姿态数据的基础上进行一些人机协作实验,以验证在实际应用中所提方法的有效性与实时性。