检测运动物体的方法和系统的制作方法

文档序号:6508459阅读:194来源:国知局
检测运动物体的方法和系统的制作方法
【专利摘要】公开了一种检测运动物体的方法和系统。该方法包括:获得通过连续拍摄运动物体而得到的具有深度信息的至少两个深度图像帧,包括当前深度图像帧和至少一个历史深度图像帧,其中,所述至少两个深度图像帧的每个被划分为多个块;计算当前深度图像帧的每个块中的落入不同深度区间的像素的个数与各个历史深度图像帧的对应块中的落入不同深度区间的像素的个数的差异情况;根据所述差异情况,检测当前深度图像帧中的运动块,以构成所检测的运动物体。
【专利说明】检测运动物体的方法和系统

【技术领域】
[0001] 本公开涉及一种检测运动物体的方法和系统,且更具体地,涉及一种基于立体视 觉的深度信息来检测人手的技术。

【背景技术】
[0002] 运动物体的检测是平面图像处理和立体视觉处理的一个研究方向。通过检测到不 同的运动物体,可以基于这种不同的运动物体的检测来进行一系列的后续控制和操作。具 体地,例如,目前,基于立体视觉的手势控制广泛应用于各种智能设备、例如电视、游戏机等 等,而手势控制的基础是人手检测。在人机交互过程中,人手通常处于不断运动的状态,有 时也会发生手停留在某处一段时间的情况,比如交互系统利用手的停留时间来触发一个事 件。因此,需要准确地进行诸如人手的运动物体的检测,从而实现后续的准确的操作和交 互。
[0003] 在发明人为李春林和王进的2009年5月20日公开的题为"面向电视控制的动态 手势识别信号处理方法"的中国专利申请CN101437124A中,介绍了一种面向电视控制的动 态手势识别信号处理方法。该方法利用电视机内置的摄像头采集电视前的用户动作图像, 通过对采集到的图像进行分析得到运动物体,从运动物体中提取手目标的信息并生成轨 迹,继而判断轨迹所对应的指令产生电视控制命令。更具体地,该方法利用连续多帧的灰度 图像的平均值构建背景图像,通过计算当前帧与背景图像之间的差别获得多个物体并分析 它们的轨迹以确定它们所属的身体部分。如果某区域的轨迹符合预定义的特征,则该区域 被判定为手所在的区域。上述预定义的特征的构建是基于手的运动强于头部运动并且手与 头之间的距离在一定范围内的假设。
[0004] 在Lee等人的2013年2月12日授权公告的题为"Motion Detection UsingDepth Images "的美国专利US8374423B2中,介绍了 一种基于深度图像检测运动的方法,该方法将 连续多帧的深度图像的平均值作为一幅参考图像,并将当前的深度深度图像帧与该参考图 像逐像素做差得到运动图像,然后判断运动图像中的像素所属的物体。该方法用运动物体 的位置信息控制应用程序。
[0005] 在 Perski 等人在 2011 年 4 月 21 日公开的题为"Computer Vision GestureBased Control of a Device"的PCT申请W02011045789中,介绍了一种手势控制方法。该方法将 两帧2D或3D图像做差后获得一幅差值图像,并在该图像上进行边缘检测得到轮廓,将检测 到的轮廓与手部轮廓模型进行比较。该方法要求用户的手正对摄像机并处于手掌打开、手 指伸展的状态。
[0006] 常规的运动估计方法并不能得到准确的诸如人手的运动物体的结果。此外,人体 其他部分(如胳膊)发生运动时也可能使得诸如人手的运动物体的计算不够准确。因此,需 要进一步地准确地检测诸如人手的运动物体的技术。


【发明内容】

[0007] 根据本发明的一个方面,提供一种检测运动物体的方法,包括:获得通过连续拍摄 运动物体而得到的具有深度信息的至少两个深度图像帧,包括当前深度图像帧和至少一个 历史深度图像帧,其中,所述至少两个深度图像帧的每个被划分为多个块;计算当前深度图 像帧的每个块中的落入不同深度区间的像素的个数与各个历史深度图像帧的对应块中的 落入不同深度区间的像素的个数的差异情况;根据所述差异情况,检测当前深度图像帧中 的运动块,以构成所检测的运动物体。
[0008] 根据本发明的另一个方面,提供一种检测运动物体的系统,包括:获得装置,被配 置为获得通过连续拍摄运动物体而得到的具有深度信息的至少两个深度图像帧,包括当前 深度图像帧和至少一个历史深度图像帧,其中,所述至少两个深度图像帧的每个被划分为 多个块;计算装置,被配置为计算当前深度图像帧的每个块中的落入不同深度区间的像素 的个数与各个历史深度图像帧的对应块中的落入不同深度区间的像素的个数的差异情况; 检测装置,被配置为根据所述差异情况,检测当前深度图像帧中的运动块,以构成所检测的 运动物体。

【专利附图】

【附图说明】
[0009] 图1是示出应用本发明的各个实施例的应用场景的示例图。
[0010] 图2是示出根据本发明的一个实施例的检测运动物体的方法的一个示例的流程 图。
[0011] 图3A是示出根据本发明的另一个实施例的检测运动物体的方法的另一个示例的 流程图。图3B是示出在图3A的检测运动物体的方法中的计算当前运动图的步骤S302的 一个具体的示例流程图。图3C示意性地示出例如某个块的空间直方图的示例,而图3D示 意性地示出对应的某个块的时间直方图的示例。
[0012] 图4A是示出人手的运动规律的示意图。图4B是示出根据本发明的另一个实施例 的利用图4A所示意示出的人手的运动规律来检测诸如人手的运动物体的方法的另一个示 例的流程图。
[0013] 图5A是示出在图4的检测诸如人手的运动物体的方法中的投影先前运动图以与 当前运动图重合的步骤S403的示例具体流程图。图5B是示意性地示出先前运动图中的运 动块构成的第一运动区域和当前运动图的运动块构成的第二运动区域的示意图。图5C是 示出在检测诸如人手的运动物体的方法中的第一运动区域和第二运动区域以及如何移动 先前运动图以与当前运动图重合的示例示意图。图是示出检测诸如人手的运动物体的 方法中的选取最像人手的运动区域的示例方法的示意图。图5E是示出在利用主成分分析 (PCA)算法分析的区域的示意图。图5F是示出在利用主成分分析(PCA)算法来计算得到的 区域的主方向的示意图。
[0014] 图6是示出根据本发明的另一实施例的检测运动物体的系统的方框图。

【具体实施方式】
[0015] 现在将详细参照本发明的具体实施例,在附图中例示了本发明的例子。尽管将结 合具体实施例描述本发明,但将理解,不是想要将本发明限于所述的实施例。相反,想要覆 盖由所附权利要求限定的在本发明的精神和范围内包括的变更、修改和等价物。应注意,这 里描述的方法步骤都可以由任何功能块或功能布置来实现,且任何功能块或功能布置可被 实现为物理实体或逻辑实体、或者两者的组合。
[0016] 为了使本领域技术人员更好地理解本发明,下面结合附图和【具体实施方式】对本发 明作进一步详细说明。
[0017] 图1是示出应用本发明的各个实施例的应用场景的示例图。场景100包括深度摄 像机101,用于拍摄例如包含人的场景来获得具有深度信息的深度图;计算机102,用于处 理所拍摄的深度图来进行诸如检测运动物体、识别人机交互指令、进行人机交互反馈等等 的后续处理。上述深度摄像机101可以是任意一种能够提供场景深度信息的摄像机,比如 PrimeSensor、Kinect等。在图1所示的应用场景中,用户可以使用运动的人手的手势来控 制计算机102中的人机交互程序或应用。本发明的各个实施例可以检测到该应用场景中的 诸如人手的运动物体的位置和运动,而检测到的诸如人手的运动物体的运动又可以作为人 机交互程序或应用的输入命令,以得到人机交互程序或应用的输出结果(例如,控制是否确 认、控制玩游戏的操作等等,就像Kinect和Wii -样)。集成了本发明的各个实施例的应用 程序可以用于初始化基于轨迹控制的系统。更具体地说,安装了集成了本发明的各个实施 例的应用程序的计算机102可以分析深度摄像机101拍摄到的例如每帧深度图像和彩色图 像,然后输出诸如用户的人手的运动物体的位置信息和运动状态。当然,图1所示的应用场 景仅为本发明的各个实施例的一个应用示例,而非限制本发明,在实际应用中可能会出现 不同于图1所示的应用场景的其他应用场景。
[0018] 图2是示出根据本发明的一个实施例的检测运动物体的方法200的一个示例的流 程图。
[0019] 图2所示的检测运动物体的方法200包括:S201,获得通过连续拍摄运动物体而得 到的具有深度信息的至少两个深度图像帧,包括当前深度图像帧和至少一个历史深度图像 帧,其中,所述至少两个深度图像帧的每个被划分为多个块;S202,计算当前深度图像帧的 每个块中的落入不同深度区间的像素的个数与各个历史深度图像帧的对应块中的落入不 同深度区间的像素的个数的差异情况;S203,根据所述差异情况,检测当前深度图像帧中的 运动块,以构成所检测的运动物体。
[0020] 在一个实施例中,所述至少两个深度图像帧的每个被划分为多个块的大小可以是 IOX 10个像素。当然,该IOX 10个像素仅是示例,在其他实施例中,可以设置块为其他大小 的块,也可以不一定是正方形的块,可以是长方形、圆形、椭圆形等其他各种形状的块。
[0021] 此处,"深度区间"是指将该块中所涉及的各个深度从小到大排列、并划分为多个 (等分或不等分)区间而形成的多个深度区间。"落入不同深度区间的像素的个数"指的是根 据深度图像,具有在该深度区间内的深度的像素有几个。例如,在深度图像中的一个块中, 其各个深度区间可能包括0-0. l、〇. 1-0. 2、0. 2-0. 3……、0. 8-0. 9(单位是米或其他,或者将 深度区间归一化,因此深度区间的标度与具体单位无关,仅表示比例)一共9个深度区间。 例如,落入深度区间〇-〇. 1的像素有2个,假设其中一个像素的深度是0. 02, 一个像素的深 度是0. 08,而落入深度区间0. 1-0. 2的像素也有2个,假设其中一个像素的深度是0. 15, 一 个像素的深度是〇. 16,等等,落入深度区间0. 8-0. 9的像素有4个,假设其中一个像素的深 度是0. 85, 一个像素的深度是0. 83, 一个像素的深度是0. 84, 一个像素的深度是0. 89(如稍 后的图3C和3D所示)。诸如此类,当然这些具体的深度区间和像素的个数仅是为了示例,而 非限制。该区间的划分可以是如该例子中一样等分的,也可以是不等分的,对此不做限制。 如此,可以得到当前深度图像帧的每个块中的落入不同深度区间的像素的个数。而对于各 个历史深度图像帧的对应块中的落入不同深度区间的像素的个数,在此,假设历史深度图 像帧为N个(N是正整数),即,在当前深度图像帧之前的N个深度图像帧。同样,可以得到N 个历史深度图像帧的每个中的对应的每个块的落入不同深度区间的像素的个数。当然,在 检测当前深度图像帧中的运动块时,需要至少一个历史深度图像帧,因此,一般在第二帧时 开始进行这种运动物体的检测。
[0022] 通常,如果物体在运动的话,则在每个块中的落入不同深度区间的像素的个数在 相邻的两帧或更多帧(在当前深度图像帧和N个历史深度图像帧)之间通常也会发生变化, 因为物体在运动的话,其微小的部位的深度一般会发生变化,因此,落入相同深度区间内的 像素的个数一般会发生变化。因此,可以通过观察当前深度图像帧的每个块中的落入不同 深度区间的像素的个数与各个历史深度图像帧的对应块中的落入不同深度区间的像素的 个数的差异情况,来检测当前深度图像帧中的各个运动块,以构成所检测的运动物体。
[0023] 如此,通过观察当前深度图像帧的每个块中的落入不同深度区间的像素的个数与 各个历史深度图像帧的对应块中的落入不同深度区间的像素的个数的差异情况,可以检测 到各个小的运动块,将这些运动块合成几个运动区域,可以推测出运动物体所在的位置。
[0024] -般来说,只要当前深度图像帧的每个块中的落入不同深度区间的像素的个数与 各个历史深度图像帧的对应块中的落入不同深度区间的像素的个数存在差异、或者看上去 该差异比较大,都可以认为该块是运动的,但是也可以采用量化这种差异并阈值化的方式 来规避测量或计算误差并统一检测和判断标准。因此,在一个实施例中,根据所述差异情 况,检测当前深度图像帧中的运动块,以构成所检测的运动物体的S203步骤可以包括:步 骤S2031 (图中未示出),量化所述每个块的所述差异情况的大小来计算当前深度图像帧中 的该块的运动程度;步骤S2032(图中未示出),如果一个块的运动程度大于或等于第一预定 阈值,则检测该块作为运动块。
[0025] 进一步地,在例如游戏机的人机交互过程中,发现人手的运动相对于身体其他部 分(例如相对于手臂)的运动更为显著,因此,可以考虑这种人手的运动的特殊性,来从所检 测到的运动区域中估计出诸如人手的运动物体可能所在的区域。
[0026] 如此,在一个实施例中,在检测时,如果当前深度图像帧中一个块的运动程度大于 或等于第二预定阈值,可以确认该块属于人手的一部分。在此,该用来确认人手的第二预定 阈值可以大于上述用来检测运动块的第一预定阈值。
[0027] 上述第二预定阈值可以是通过经验来确定为固定值,也可以根据各个运动块的运 动程度的大小来确定为动态值,例如按各个运动块的运动程度从大到小排列的前40%的运 动程度作为第二预定阈值(因为人手的运动程度相对于身体的其他部分来说是比较大的), 在该情况下,具有运动程度从大到小排列的前40%的运动程度的各个运动块所构成的区域 可以被确认作为人手,在这种情况下,该第二预定阈值也是随着各个运动块的运动程度的 分布而变化的。
[0028] 在一个实施例中,可以通过下述公式来量化当前深度图像帧的每个块中的落入不 同深度区间的像素的个数与各个历史深度图像帧的对应块中的落入不同深度区间的像素 的个数的差异情况,来得到每个块的运动程度:

【权利要求】
1. 一种检测运动物体的方法,包括: 获得通过连续拍摄运动物体而得到的具有深度信息的至少两个深度图像峽,包括当前 深度图像峽和至少一个历史深度图像峽,其中,所述至少两个深度图像峽的每个被划分为 多个块; 计算当前深度图像峽的每个块中的落入不同深度区间的像素的个数与各个历史深度 图像峽的对应块中的落入不同深度区间的像素的个数的差异情况; 根据所述差异情况,检测当前深度图像峽中的运动块,W构成所检测的运动物体。
2. 根据权利要求1的方法,其中,根据所述差异情况,检测当前深度图像峽中的运动 块,W构成所检测的运动物体的步骤包括: 量化所述每个块的所述差异情况的大小来计算当前深度图像峽中的该块的运动程 度; 如果一个块的运动程度大于或等于第一预定阔值,则检测该块作为运动块。
3. 根据权利要求2的方法,其中,如果当前深度图像峽中一个块的运动程度大于或等 于第二预定阔值,则确认该块属于人手的一部分。
4. 根据权利要求2的方法,还包括: 根据所检测的当前深度图像峽中的各个运动块的位置和运动程度、W及先前检测的先 前深度图像峽中的各个运动块的位置和运动程度中的至少一个,来确定当前深度图像峽中 哪些部分属于人手。
5. 根据权利要求4的方法,其中,所述根据所检测的当前深度图像峽中的各个运动块 的位置和运动程度、W及先前检测的先前深度图像峽中的各个运动块的位置和运动程度中 的至少一个,来确定当前深度图像峽中哪些部分属于人手的步骤包括: 根据先前检测的先前深度图像峽中的各个运动块构成的第一运动区域的位置,将所述 第一运动区域映射到当前深度图像峽中,W与当前深度图像峽中的各个运动块构成的第二 运动区域全部或部分重合; 将投影后的第一运动区域的各个像素点的运动程度与所述第二运动区域中的各个像 素点的运动程度叠加,W得到基于先前运动的累加运动程度图; 根据基于先前运动的累加运动程度图,将满足预定条件的区域确定为人手。
6. 根据权利要求5的方法,其中,根据先前检测的先前深度图像峽中的各个运动块构 成的第一运动区域的位置,将所述第一运动区域映射到当前深度图像峽中,W与当前深度 图像峽中的各个运动块构成的第二运动区域全部或部分重合的步骤包括: 根据先前检测的先前深度图像峽中的各个运动块的位置,计算所述第一运动区域的第 一主方向、第一中轴线、第一重也; 根据当前深度图像峽中的各个运动块的位置,计算所述第二运动区域的第二主方向、 第二中轴线、第二重也; 移动所述第一运动区域,使得所述第一重也与所述第二重也全部或部分重合,所述第 一中轴线与所述第二中轴线全部或部分重合,所述第一主方向与所述第二主方向全部或部 分重合。
7. 根据权利要求6的方法,其中,所述第一运动区域和所述第二运动区域是满足如下 条件之一的区域: 各个运动块构成的运动区域的形状最狭长; 各个运动块构成的运动区域与手臂的形状的相似程度最大; 各个运动块构成的运动区域经过外接楠圆或矩形之后,长轴与短轴之比或长宽比与手 臂的相似程度最大。
8. 根据权利要求5的方法,其中,根据基于先前运动的累加运动程度图,将满足预定条 件的区域确定为人手包括如下中的一种或多种: 将运动程度大于第H预定阔值的区域确定为人手的区域,其中,根据所述基于先前运 动的累加运动程度图中的叠加后的运动程度从大到小排列,取第预定数量个的运动程度值 作为第H预定阔值; 利用先前检测的人手的区域相对于第一运动区域的位置来估算当前检测的人手的区 域相对于第二运动区域的位置,并根据该当前检测的人手的区域相对于第二运动区域的位 置来确定人手的区域; 根据人手的颜色、灰度和深度中的至少一种的信息来找到与所述信息的相似程度大于 预定值的区域。
9. 根据权利要求2-8中任一的方法,其中,通过如下公式,来计算所述块的运动程度:
其中,Cj.表示第j个块的运动程度,j=l,2……,M,M表示划分的块的个数,N表示历史 深度图像峽的个数,K表示深度区间的个数,i=l,2……,K,Sj,表示当前深度图像峽中的第 j个块中的落入第i个深度区间的像素的个数,Tw表示通过将每个历史深度图像峽中的第 j个块中的落入第i个深度区间的像素的个数求总和而得到的值。
10. -种检测运动物体的系统,包括: 获得装置,被配置为获得通过连续拍摄运动物体而得到的具有深度信息的至少两个深 度图像峽,包括当前深度图像峽和至少一个历史深度图像峽,其中,所述至少两个深度图像 峽的每个被划分为多个块; 计算装置,被配置为计算当前深度图像峽的每个块中的落入不同深度区间的像素的个 数与各个历史深度图像峽的对应块中的落入不同深度区间的像素的个数的差异情况; 检测装置,被配置为根据所述差异情况,检测当前深度图像峽中的运动块,W构成所检 测的运动物体。
【文档编号】G06K9/00GK104424649SQ201310365452
【公开日】2015年3月18日 申请日期:2013年8月21日 优先权日:2013年8月21日
【发明者】赵颖, 刘丽艳, 梁玲燕 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1