基于Kinect网络的大规模场景群体用户跟踪系统与方法

文档序号:1606571阅读:330来源:国知局
基于Kinect网络的大规模场景群体用户跟踪系统与方法
【专利摘要】本发明公开了一种基于Kinect网络的大规模场景群体用户跟踪系统与方法,该系统具有简单、方便、易操作等优点。对于大规模场景的群体互动游戏,根据每个Kinect可视范围的有效区域,将大规模场景划分为若干小区域,通过Kinect捕获的用户深度图像信息,对不同区域的用户进行实时跟踪,并对不同Kinect捕获的多用户数据进行关联,完成对用户的实时跟踪和身份确认。方便、易操作、成本较低等优点。Kinect网络的布置不需要精准的测量,每个Kinect只负责捕获各自有效区域的用户即可。每个Kinect可视区域之间不需要重叠,即最大限度节省用户捕获设备的使用数量。
【专利说明】基于Kinect网络的大规模场景群体用户跟踪系统与方法

【技术领域】
[0001] 本发明涉及一种基于Kinect网络的大规模场景群体用户跟踪系统与方法。

【背景技术】
[0002] 随着社会现代化水平的提高,人们对于娱乐文化生活的要求也越来越高,以三维、 沉浸感的逼真输出为标志的虚拟现实技术也逐渐被应用到这些领域,基于群体的虚拟现实 游戏逐渐受到青睐。2011年10月由Microsoft Game Studios推出的《Kinect运动大会 2》,包含了六种全新、支持多人和单人模式的运动,包括网球、高尔夫、美式足球、棒球、滑雪 及飞镖。当前比较流行的7D动感影院赢得了追求新鲜感、刺激感的年轻观众的青睐,先进 的7D互动技术让好奇的观众感受到了科技带来的影视震撼,多人甚至数十人在屏幕前边 看边玩,这种具有互动竞争功能的多人对战/协作娱乐令人沉醉其中,乐在其中。
[0003] 但是,目前的群体互动虚拟游戏支持的人数较少,对于大规模场景中的群体互动 是无效的。基于单摄像机跟踪方法的监控范围有限,而且容易受遮挡等干扰导致跟踪失败。 基于多摄像机的跟踪方法不仅可以扩展监控区域,适合大规模场景的跟踪,而且可以提供 多个不同的视角以利于解决遮挡问题。因此,本发明利用多摄像机跟踪设计了支持大规模 场景的群体用户跟踪方法,利用Kinect作为用户捕获设备,在场景中布置Kinect网络,借 助Kinect之间的协同工作,将场景划分为若干个小区域,对不同区域的用户分别进行实时 跟踪,然后对不同Kinect捕获的用户数据进行关联,完成对大规模场景中群体用户的实时 跟踪和身份确认,为群体互动虚拟游戏提供数据来源。


【发明内容】

[0004] 本发明为了解决上述问题,提出了一种基于Kinect网络的大规模场景群体用户 跟踪系统与方法,本系统通过对大规模场景的群体互动游戏,根据每个Kinect可视范围的 有效区域,将大规模场景划分为若干小区域,通过Kinect捕获的用户深度图像信息,对不 同区域的用户进行实时跟踪,并对不同Kinect捕获的多用户数据进行关联,完成对用户的 实时跟踪和身份确认。
[0005] 为了实现上述目的,本发明采用如下技术方案:
[0006] 一种基于Kinect网络的大规模场景的群体用户跟踪系统,包括Kinect网络布置 模块、Kinect校正模块、Kinect通讯模块和群体用户跟踪模块,其中:
[0007] 所述Kinect网络布置模块,用于将大规模场景覆盖,将场景划分为若干个区域, 划分方法是:调整同一高度下的各Kinect的水平方向的位置,使得各个Kinect在地面的矩 形捕捉区域拼接为一个无缝的大区域;获取任意区域的用户信息,为群体用户跟踪模块提 供输入数据,每个区域由1个Kinect负责,获取该区域的用户深度信息;
[0008] 所述Kinect校正模块,用于将每个Kinect自身的坐标映射到世界坐标中,对每个 Kinect捕获到的用户信息进行坐标转换,完成各个Kinect坐标的校正;
[0009] 所述Kinect通讯模块,用于将各个Kinect (即客户端)计算得到的用户信息进行 融合,集中传送到服务器端,服务器端进行数据关联、用户跟踪;
[0010] 所述群体用户跟踪模块,包括两部分:基于Kinect客户端的用户跟踪子模块和 基于Kinect服务器端的用户跟踪子模块,用于对任意区域的用户进行实时跟踪,并对不同 Kinect捕获的多用户数据进行关联,完成对用户的实时跟踪和身份确认。
[0011] 基于上述系统的跟踪方法,包括以下步骤:
[0012] (1)开启Kinect网络布置模块:根据每个Kinect深度图像可视范围的有效区域, 将大规模场景划分为若干个小区域,进行空间Kinect布置,得到每个区域的深度图像信 息;
[0013] (2)开启Kinect校正模块:将每个Kinect自身的坐标映射到世界坐标中,对每个 Kinect计算得到的用户位置信息进行坐标转换,转换为大规模场景中的位置坐标;
[0014] (3)开启Kinect通讯模块:将上述每个Kinect得到的用户位置信息,通过socket 通讯方式传送到服务器;
[0015] (4)开启群体用户跟踪模块:首先通过Kinect客户端的用户跟踪子模块得到每个 区域内用户的位置信息,然后通过Kinect通讯模块将数据传送到服务器,服务器进行数据 关联,完成对任意区域的用户进行实时跟踪。
[0016] 所述步骤(2)中Kinect校正方法,具体包括以下步骤:
[0017] (2-1)标记Kinect有效的可视区域,以Kinect获得的深度图像和彩色图像为参考 标准,分别用不同高度的目标物体在Kinect所能的覆盖区域移动,在地面上标定出Kinect 的最大可视区域;
[0018] (2-2)在场景中Kinect的可视区域内选取多组不同位置的样本点,使样本点均匀 的分布在可视区域,并测量出每个样本点在规定的世界坐标系中的实际位置;同时,计算在 Kinect深度图像坐标系中相应位置的样本点坐标;
[0019] (2-3)利用最小二乘法计算得到各个Kinect对于世界坐标系的变换矩阵。
[0020] 所述步骤(4)中Kinect客户端的用户跟踪方法,具体包括以下步骤:
[0021] (4-1)获取每个Kinect当前帧的深度图像;
[0022] (4-2)根据预设深度阈值提取每个Kinect的前景图像,对图像进行二值化处理, 将场景中规定深度阈值的部分设置为前景色,其余部分设置为背景色;
[0023] (4-3)对图像进行形态学处理,将二值化后的图像进行膨胀处理。
[0024] (4-4)采用区域连通算法对多目标进行分割,并计算各个目标的位置信息。
[0025] 所述步骤(4-4)中,具体包括以下步骤:
[0026] (4-4-1)对图像像素进行遍历,找到图像中的前景点并使用链表将这些前景点链 接起来;
[0027] (4-4-2)对前景点进行BFS广度优先搜索遍历,判断连通块的各个属性,并将连通 块划分为用户对象;
[0028] (4-4-3)根据(4-4-2)中保存的连通块内点的个数属性信息,对对象的有效性进 行判断:如果个数小于预先设定的阈值,则判断该对象为无效对象,将该对象予以销毁并将 对象个数减一;如果个数大于等于预先设定的阈值,则判断该对象为有效对象;
[0029] (4-4-4)将所获结果(对象个数、对象中心点坐标)保存起来,以便传给服务器端 进行集中处理。
[0030] 所述步骤(4-4-2)中,连通块的属性包括中心点坐标、特征值和连通块内点的个 数。
[0031] 所述步骤(4)中Kinect服务器端的用户跟踪方法,具体包括以下步骤:
[0032] (4-a)初始化阶段:对各个Kinect客户端接收到的初始目标进行身份认 证,即对不同的用户给予不同的编号信息,并将用户的身份和位置信息保存在RO = (XOi, y〇i,IdOi I i = 1,…,M},其中(XOi, y〇i)表示用户i的初始位置信息,IdOi表示用户的 初始编号信息,M表示服务器端接收到的用户数目;
[0033] (4-b)实时跟踪阶段,对后续从Kinect客户端接收到用户位置信息进行身份确 认;将每一时刻接收到的数据保存在R= (X^yi, IdiIi = 1,…,N},其中N表示服务端当前 接收到的用户数目;Xi,yi)表示用户i的位置信息,1屯表示用户的编号信息;令pre_R = {pre_Xi, pre_yi, PreJdi I i = 1,…,pre_N}初始值为R0,将R与pre_R中的用户进行最近 距离匹配,得到当前帧用户的身份信息,并使pre_R = R,记录跟踪时刻上一时刻的用户信 息,为实时跟踪匹配提供参考信息。
[0034] 本发明的有益效果为:
[0035] (1)方便、易操作、成本较低;Kinect网络的布置不需要精准的测量,每个Kinect 只负责捕获各自有效区域的用户即可;每个Kinect可视区域之间不需要重叠,即最大限度 节省用户捕获设备的使用数量;
[0036] (2)对于空间中用户的运动限制较少,不需要每个用户完全处于某个Kinect的有 效区域中,用户身体的一部分处于Kinect区域中即可;
[0037] (3)具有大规模场景动态实时跟踪的能力;对于大规模场景的群体互动,不受参 与人数的限制,空间中每个区域用户人数可以是动态变化的;对用户在不同Kinect区域之 间状态的转换可以实现实时跟踪和身份确认。

【专利附图】

【附图说明】
[0038] 图1为Kinect网络布置的示意图;
[0039] 图2为Kinect客户端的用户跟踪方法流程示意图;
[0040] 图3为Kinect客户端用户跟踪方法数据结构示意图;
[0041] 图4为Kinect服务器端的用户跟踪方法示意图;
[0042] 图5为本发明应用与群体射击类游戏的实例示意图。

【具体实施方式】:
[0043] 下面结合附图与实施例对本发明作进一步说明。
[0044] 如图1所示,根据Kinect在Z轴方向上有效捕捉距离,将Kinect布置在合理的高 度(推荐值为3. 7m,这时能基本能容纳身高从Im到2m的用户);依据各个Kinect在地面 标定的矩形捉区域的相对位置,在同一高度的水平方向上Kinect的位置,使得各个Kinect 的矩形捕捉区域纵向对齐和横向对齐,拼接成一个大的无缝矩形场景区域。
[0045] 如图2所示,Kinect客户端的用户跟踪方法流程主要分为两部分:分别为前期准 备阶段和后期跟踪处理阶段。其中前期准备阶段主要是将从Kinect传感器中获取到的深 度数据进行二值化、膨胀操作,为后期的跟踪处理做准备;后期处理则是在前期准备的基 础上,对数据进行连通块判断,用以判断对象的个数、中心点位置等信息。具体包括如下步 骤:
[0046] (1)获取当前帧的深度图像。
[0047] (2)根据预设深度阈值提取前景图像,对图像进行二值化处理。将每个像素的深度 信息与预设深度数据进行判断,满足深度阈值的像素设置为前景点,其余像素点设置为背 景点。
[0048] (3)对图像进行形态学处理,将二值化后的图像进行膨胀处理,消除图像内较小的 洞孔,得到比较光滑、连通性较好的图像。
[0049] (4)采用区域连通算法对多目标进行分割,并计算各个目标的位置信息。对每个前 景点进行BFS广度优先搜索遍历,计算当前帧对象的个数、对象的中心点坐标、对象的特征 值等信息。
[0050] (5)将对象的属性信息保存起来,以便传给服务器端进行集中处理;
[0051] (6)判断当前程序是否结束运行,如果不是,则跳转到步骤(1)重新获取下一帧的 数据信息,否则,程序结束。
[0052] 所述步骤(4)的关于广度优先搜索的遍历算法,具体如图3所示。
[0053] 如图3所示,获取到了二值图像以后,首先对图像进行遍历,将获取到的前景点使 用链表进行链接;其次对链表进行遍历,倒序输出图像内的连通块(对象)的个数及位置信 息;然后将对象内的点的个数与预设阈值进行校对,当点数大于等于预设阈值时,保存对象 信息;否则,该对象为无效对象,销毁该对象并将对象个数减一;最后,将该帧的对象信息 保存起来用以传送给服务器端进行集中处理。具体包括如下步骤:
[0054] (1)遍历二值化数组,并将前景点保存在链表中;
[0055] (2)取出链表内head指向元素,并将head指针指向下一个元素;
[0056] (3)判断当前所取元素是否为空,如果是,则跳转到步骤(7);
[0057] (4)判断该元素是否被二次遍历过,如果是,则跳转到步骤⑵;
[0058] (5)标记该元素为二次遍历,并将所处连通块内点数加一;
[0059] (6)判断其八邻域内点是否被二次遍历过,如果是,则跳转到步骤(2),否则,跳转 到步骤(5);
[0060] (7)统计该帧内的连通块(对象)数;
[0061] (8)图像中的各个对象内的点数是否满足预设点数阈值,如果是,则保存各个对象 的属性信息,否则,消除该对象,对象个数减一;
[0062] (9)根据该Kinect在场景中的位置对该帧对象位置信息进行转换,并将转换后的 位置坐标传到服务器中。
[0063] 如图4所示,Kinect服务器端的用户跟踪方法主要分为两个步骤:
[0064] (1)初始化阶段。对各个Kinect客户端接收到的初始目标进行身份认证,即对不 同的用户给予不同的编号信息,并将用户的身份和位置信息保存在RO = ix〇i,y〇i,IdOi I i =1,…,!^}。其中,(xOi, yOi)表示用户i的位置信息,Idi表示用户的编号信息,M表示服 务器端接收到的用户数目。同时,定义上一时刻用户信息存放数组pre_R = {pre_xi, pre_ yi, pre_Idi I i = I, ...,pre_N},且 pre_R = RO0
[0065] (2)实时跟踪阶段,对后续从Kinect客户端接收到用户位置信息进行身份确认。 具体包括以下步骤:
[0066] (2-1)将每一时刻接收到的数据保存在R= {Xi,yi,IdiIi = 1,…,N},其中(Xi,yi) 表示用户i的位置信息,N表示服务端当前接收到的用户数目,Id i= -1.
[0067] (2-2)将当前时刻接收到的用户位置信息R与上一时刻用户信息pre_R中的用户 身份进行最近距离匹配,得到当前帧多用户的身份信息,并更新相应的1屯。

【权利要求】
1. 一种基于Kinect网络的大规模场景群体用户跟踪系统,其特征是:包括Kinect网 络布置模块、Kinect校正模块、Kinect通讯模块和群体用户跟踪模块,其中: 所述Kinect网络布置模块,用于将大规模场景覆盖,将场景划分为若干个区域,划分 方法是:调整同一高度下的各Kinect的水平方向的位置,使得各个Kinect在地面的矩形捕 捉区域拼接为一个无缝的大区域;获取任意区域的用户信息,为群体用户跟踪模块提供输 入数据,每个区域由1个Kinect负责,获取该区域的用户深度信息; 所述Kinect校正模块,用于将每个Kinect自身的坐标映射到世界坐标中,对每个 Kinect捕获到的用户信息进行坐标转换,完成各个Kinect坐标的校正; 所述Kinect通讯模块,用于将各个Kinect,计算得到的用户信息进行融合,集中传送 到服务器端,服务器端进行数据关联、用户跟踪; 所述群体用户跟踪模块,包括两部分:基于Kinect客户端的用户跟踪子模块和基 于Kinect服务器端的用户跟踪子模块,用于对任意区域的用户进行实时跟踪,并对不同 Kinect捕获的多用户数据进行关联,完成对用户的实时跟踪和身份确认。
2. 如权利要求1所述的系统的跟踪方法,其特征是:包括以下步骤: (1) 开启Kinect网络布置模块:根据每个Kinect深度图像可视范围的有效区域,将大 规模场景划分为若干个小区域,进行空间Kinect布置,得到每个区域的深度图像信息; (2) 开启Kinect校正模块:将每个Kinect自身的坐标映射到世界坐标中,对每个 Kinect计算得到的用户位置信息进行坐标转换,转换为大规模场景中的位置坐标; (3) 开启Kinect通讯模块:将上述每个Kinect得到的用户位置信息,通过socket通 讯方式传送到服务器; (4) 开启群体用户跟踪模块:首先通过Kinect客户端的用户跟踪子模块得到每个区 域内用户的位置信息,然后通过Kinect通讯模块将数据传送到服务器,服务器进行数据关 联,完成对任意区域的用户进行实时跟踪。
3. 如权利要求2所述的跟踪方法,其特征是:所述步骤(2)中Kinect校正方法,具体 包括以下步骤: (2-1)标记Kinect有效的可视区域,以Kinect获得的深度图像和彩色图像为参考标 准,分别用不同高度的目标物体在Kinect所能的覆盖区域移动,在地面上标定出Kinect的 最大可视区域; (2-2)在场景中Kinect的可视区域内选取多组不同位置的样本点,使样本点均匀的 分布在可视区域,并测量出每个样本点在规定的世界坐标系中的实际位置;同时,计算在 Kinect深度图像坐标系中相应位置的样本点坐标; (2-3)利用最小二乘法计算得到各个Kinect对于世界坐标系的变换矩阵。
4. 如权利要求2所述的跟踪方法,其特征是:所述步骤(4)中Kinect客户端的用户跟 踪方法,具体包括以下步骤: (4-1)获取每个Kinect的当前帧的深度图像; (4-2)根据预设深度阈值提取前景图像,对图像进行二值化处理,将场景中规定深度阈 值的部分设置为前景色,其余部分设置为背景色; (4-3)对图像进行形态学处理,将二值化后的图像进行膨胀处理; (4-4)采用区域连通算法对多目标进行分割,并计算各个目标的位置信息。
5. 如权利要求4所述的跟踪方法,其特征是:所述步骤(4-4)中,具体包括以下步骤: (4-4-1)对图像像素进行遍历,找到图像中的前景点并使用链表将这些前景点链接起 来; (4-4-2)对前景点进行BFS广度优先搜索遍历,判断连通块的各个属性,并将连通块划 分为用户对象; (4-4-3)根据(4-4-2)中保存的连通块内点的个数属性信息,对对象的有效性进行判 断:如果个数小于预先设定的阈值,则判断该对象为无效对象,将该对象予以销毁并将对象 个数减一;如果个数大于等于预先设定的阈值,则判断该对象为有效对象; (4-4-4)将所获结果保存起来,以便传给服务器端进行集中处理。
6. 如权利要求5所述的跟踪方法,其特征是:所述步骤(4-4-2)中,连通块的属性包括 中心点坐标、特征值和连通块内点的个数。
7. 如权利要求5所述的跟踪方法,其特征是:所述步骤(4-4-4)中的所获结果包括对 象个数、对象中心点坐标。
8. 如权利要求2所述的跟踪方法,其特征是:所述步骤(4)中Kinect服务器端的用户 跟踪方法,具体包括以下步骤: (4_a)初始化阶段:对各个Kinect客户端接收到的初始目标进行身份认证,即对不同 的用户给予不同的编号信息,并将用户的身份和位置信息保存在R〇 = IxOi,y〇i,IdOi | i = 1,…,M},其中(X〇i,yOj表示用户i的初始位置信息,IdOi表示用户的初始编号信息,M表 示服务器端接收到的用户数目; (4-b)实时跟踪阶段,对后续从Kinect客户端接收到用户位置信息进行身份确认;将 每一时刻接收到的数据保存在R = {Xi, yp 1屯| i = 1,…,N},其中N表示服务端当前接收 到的用户数目;Xi,yi)表示用户i的位置信息,1屯表示用户的编号信息;令pre_R= {pre_ Xi, pre_yi, prejdi | i = 1,…,pre_N}初始值为R0,将R与pre_R中的用户进行最近距离匹 配,得到当前帧用户的身份信息,并使pre_R = R,记录跟踪时刻上一时刻的用户信息,为实 时跟踪匹配提供参考信息。
【文档编号】A63F13/213GK104474710SQ201410747738
【公开日】2015年4月1日 申请日期:2014年12月9日 优先权日:2014年12月9日
【发明者】杨承磊, 盖伟, 崔婷婷, 穆冠琦, 林于杰, 杨义军, 孟祥旭, 冯硕, 尹晓雅, 关东东 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1