一种基于视觉的人体检测方法及装置与流程

文档序号:16395087发布日期:2018-12-25 19:43阅读:553来源:国知局
一种基于视觉的人体检测方法及装置与流程

本发明涉及人体检测领域,特别涉及一种基于视觉的人体检测方法及装置。

背景技术

可穿戴设备虽然能够实现人体的检测,但是实验过程复杂,对实验者束缚较大,这在实用性等方面有一定的限制。

基于视觉的人体检测技术,能够远程进行,不需对实验者进行束缚,增加了特定场景的实用性。

kinect的强大功能在于对中远距离,尺寸较大的物体的检测,对近距离,小物体的检测精度较低,如手掌;leapmotion则恰恰相反,它可以精确的检测出近处的小尺寸目标。为了检测人体手臂和手掌的运动,将kinect与leapmotion相结合,由kinect完成手臂到手腕动作的检测,由leapmotion完成手掌动作的检测。



技术实现要素:

本发明的发明目的是针对现有人体检测识别的方法的不足,提供一种基于视觉的人体检测的方法和装置。

为实现上述发明的目的,本发明采用的技术方案为:

提供一种基于视觉的人体检测方法,包括以下步骤:

(1)所述步骤中用kinect获取手臂运动信息,通过leapmotion获取人手掌的运动信息,与此同时,利用电子罗盘测量人体小臂的旋转角。

(2)所述步骤中的卡尔曼滤波操作,将通过传感器获取的关节点信息组成向量并初始化;状态更新;测量更新;之后状态更新、测量更新重复迭代。

(3)通过旋转和平移,建立坐标系之间的对应关系(变换矩阵),将点、线对象在传感器坐标系和人体坐标系变换;

一种基于视觉的人体检测装置,用上述方法进行操作,其组成kinect传感器(1)、leapmotion传感器(2)、电子罗盘(3)、和固定装置(4)

所述kinect传感器(1),其安装位置只需保持在被测人的前方即可,主要是对人体关节点三维位置的获取;所述leapmotion传感器(2)和电子罗盘(3),安装在所述的固定装置上,leapmotion传感器(2)用于对人手掌信息的检测;电子罗盘(3)用于人体小臂的旋转检测。以上传感器均是通过usb线传输信息到电脑中。

所述固定装置(4),是为了解决leapmotion传感器检测距离较近而设计的一种固定装置。其特征在于:设备leapmotion和电子罗盘的固定平板(4-1);可调节的连杆支架(4-2);固定手腕的卡扣(4-3)

本发明中的视觉检测装置与现有的穿戴式人体检测装置相比,具有体积小,成本低,检测过程简单等优点,能够更加方便的实现人体检测。

附图说明

图1系统的结构示意图;

图2人体检测方法的流程;

图3本发明所提取的15个人体关节点以及以kinect为基准建立的世界坐标系cw;

图4本发明所建立的人体基准坐标系;

图5leapmotion和三维罗盘固定装置的总体结构;

图6leapmotion和三维罗盘的固定位置平面;

图7固定装置的连杆部分;

图8固定装置的卡扣部分;

图9leapmotion人体检测系统与人体坐标系变换关系示意图;

图10人体手臂的关节角度的示意图

图11固定装置的连杆坐标变换。

图12三维罗盘

具体实施方式

本发明优先实施例结合附图详述如下:

1.所述步骤包括:

本实施例用kinect传感器和openni等开源开发库实现了人体动作数据的获取。首先,通过openni打开kinect设备并开启彩色数据流和深度数据流,然后利用中间件nite对数据流进行处理、分析追踪人体骨架并获取所需的人体关节信息。通过对人体骨架进行追踪和关节点识别,能够获取人体15个关节点,利用这15个关节点即可构建一个简化的人体骨架模型。根据本发明需要,选择了如图1所示的人体关节点,分别为躯干pt、右肩prs、左肩pls、左肘ple、左腕plh等。

采用卡尔曼滤波的方法。首先,对重要的关节点三维信息进行卡尔曼滤波预处理,以改善由传感器的精度和骨架追踪算法所引起关节点坐标值的波动问题;这些关节点包括躯干pt(xt,yt,zt)、右肩prs(xr,yr,zr)、左肩pls(xl,yl,zl)、左肘ple(xe,ye,ze)、左腕plh(xh,yh,zh)。

在人体关节运动的滤波处理过程中,除了卡尔曼滤波器初值设定之外,还需要对关节点(包括pt、prs、pls、ple、plh等)的初始向量x0进行初始化;之后在关节运动跟踪过程中,将上一时刻的关节点的最优估计带入状态更新方程得到xk的最优预测估计然后由人体骨架跟踪算法求出的关节点作为观测值zk,将其带入测量更新方程,即通过校正预测估计最终得到xk的最优估计并将作为下一时刻状态估计的输入,重复“预估—校正”过程。在这一过程中:

状态更新方程:

pk-=apk-1at+q(2)

测量更新方程:

在采样序列不断变化过程中,卡尔曼滤波对关节点运动进行预测跟踪,以达到平滑、去噪的作用。

为了便于人体关节点数据的采集和处理,定义了以kinect传感器为参考基准的人体传感器cw。如图1所示,cw的原点ow位于两个摄像头的中间点上,zw轴由kinect传感器指向正前方,yw轴垂直向上,根据右手定则,xw正向指向左侧。由于人体的位置及站姿不断变化,因此将人体基准坐标系cb固定在人体上,有利于提高精度,提高整个系统的稳定性。人体基准坐标系如图2所示,根据计算可得到两个坐标系之间的转换关系。

leapmotion捕捉定位手掌动作信息的主要原理是光的反射。leapmotion利用红外光线(由红外滤光器将自然光过滤产生)在设备上方形成光网,用户的手掌处于光网中,当用户移动手掌或者做出手势时,就扰动光网,产生红外线反射,手掌的移动方向及手势信息就会被返回到设备中。

考虑到人体检测系统的完整性和准确性,必须将kinect的坐标系和leapmotion的坐标系统一起来,本发明通过各个关节坐标系的变换,最后计算出了转换矩阵t,将leapmotion的坐标系和kinect坐标系联系了起来。在转换过程中,由于人体手臂的小臂能绕着自身转动的特性,故加入了倾角补偿式的三维电子罗盘,如图12所示,该罗盘能测出小臂的旋转角度,进而提供坐标系转换矩阵所需要的角度,这样能提高精度。转换矩阵的计算会在下文详细叙述。

leapmotion的有效检测距离是25~600mm,角度是150°。设计安装装置主要有以下两个问题需要解决:

(1)设备的安装位置。要保证不影响手掌的运动;

(2)设备检测范围。要求在手掌运动的过程中始终可以被检测。

因为leapmotion的检测距离较小,最大距离才60cm,一条手臂的长度就已经超出了设备的检测范围,所以设备不能固定在身体上;kinect的检测视角是水平57°,垂直43°,在检测过程中,人可以在这有效范围内随意移动以达到对机械手臂的控制,所以leapmotion不能固定在周围环境中。

根据检测要求,现将leapmotion固定在手腕上,并通过一定的机械设计方法来完成尺寸设计,使其符合检测要求。结合手臂护具的固定方式及旱冰鞋锁扣方式,采用如图5所示方案。

该装置(4)主要分为三部分:

(1)leapmotion设备本身的固定装置(4-1)。在连杆的末端装有比leapmotion尺寸略大的平板,平板四周设有钩状卡锁,设备通过卡锁被固定在平板上。平板本身可以绕后面的支架进行水平方向和垂直方向的360°的旋转。具体如图6所示;

(2)连杆支架(4-2)。连杆支架主要作用是让leapmtion可以在空间移动以适合不同手掌长度,使其检测范围完全覆盖检测目标。主要有5个连杆组成:连杆1,长度很短,主要作用是使设备运动更加灵活;连杆2,长度与连杆5相同,构成泛菱形机构的短边;连杆3,长度与底座相同,构成泛菱形机构的长边;连杆4,可以缩回连杆5中;连杆5,泛菱形机构的另一个短边。通过对人体手大小等因素的分析,分别求出了各连杆的长度。其中连杆1的长度为5cm,连杆2和5的长度为6cm,连杆3和底座的长度为12cm,连杆4的长度为4cm。具体计算不在赘述。连杆具体如图7所示;

(3)在手腕的固定部分(4-3)。手腕固定主要通过腕带和锁扣完成,类似旱冰鞋的固定方式。腕带的背面开有凹槽,锁扣的设计类似衣服夹子,夹紧端设有尖钩,凹槽与锁扣的尖钩切合完成锁紧动作。穿戴时,只需将腕带推进锁扣即可。拆卸时,按下锁扣的放松端,尖钩即向上抬起,离开腕带凹槽,腕带被放松,装置即可拆卸下来。腕带与锁扣连接在装置主体上,装置主体上方开有容纳槽,可以将连杆支架和设备容纳在其中,具体如图8所示。

手的动作包括手指的移动,旋转,弯曲等,在leapmotion的检测范围内,设备通过对比当前帧(frame)的属性和较早帧(frame)的属性的差异,计算得出手的动作信息。leapmotion能识别的手势主要有四种,包括简单的画圆、手指沿着直线运动、类似敲击键盘的动作、类似触屏的动作。

kinect传感器具有设备简单易用、价格低廉,其采用的彩色摄像头和红色摄像头存在分辨率低、检测精度低、对外界环境变化敏感等缺点。本发明采用卡尔曼滤波的方法,首先,对重要的关节点的三维信息进行卡尔曼滤波预处理,以改善传感器精度和追踪关节点坐标值的微小波动问题。

kinect传感坐标系、leapmotion传感坐标系与人体坐标系的变换矩阵

首先,考虑到三维电子罗盘测量的是leapmotion绕小臂的旋转角度,将三维电子罗盘固定在图6所示的位置,采用两面胶的形式将leapmotion固定在三维电子罗盘上。为了保证准确性,固定装置、三维电子罗盘、leapmotion传感器三者的边缘应该尽可能保持平行状。另外,考虑到坐标系转换矩阵计算的简洁性,将卡扣的初始端固定在手肘的位置(见图9)。

本发明建立连杆坐标系。根据连杆之间的连接关系和尺寸,通过旋转矩阵和平移矩阵,可以得出中leapmotion传感坐标系和人体坐标系之间的转换矩阵。

(1)大臂部分转换矩阵为t1,如下所示:

其中,θ1、θ2、θ3为肩部三个自由度转动角度(见图10),均可通过kinect测出的关节点之间的向量关系获得其具体值;l1为肩关节pb(ob,xb.yb.zb)到肘关节pe(oe,xe.ye.ze)的距离。

(2)通过转换矩阵t2可将坐标系转换到小臂坐标系,公式如下:

其中,θ4是180°减去大臂与小臂的夹角;θ5为对于当前坐标系z轴的转角,即小臂绕自身旋转的角度,其值由三维罗盘确定;l2是由肘部关节点pe到leapmotion在手臂安装位置pa(oa,xa.ya.za)的距离,其具体尺寸由leapmotion安装位置决定。

(3)由于连杆支架是活动可调节的,如图11所示,因此leapmotion相对于安装点pa的位置有平移lx、lz,参数值可以由安装时的杆长和连杆间的角度关系计算而得;leapmotion安装平面可以发生旋转,角度为θ6。因此,leapmotion的变换矩阵为:

从人体坐标系转换到leapmotion坐标系转换矩阵为:

t=t1*t2*t3

在人体坐标系中的向量和点rp,在leapmotion坐标系中可表示为lp,转换关系为:

同理,将leapmotion坐标系下的向量或点转化到人体坐标系,可以通过求逆的方法计算,结果为:

rp=t-1·lp

通过上述转换关系,可以实现leapmotion坐标系和人体坐标系的变换。

世界坐标系(kinect坐标系)和人体坐标系之间转换关系

相对于传感器坐标系,人体坐标系中的原点为肩关节点,因此

ob=[plsxplsyplsz]t

x轴和y单位向量可表示为:

z轴单位向量由右手坐标系确立,即:

因此世界坐标系(kinect坐标系)和人体坐标系的转换矩阵可表示为:

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1