一种目标识别方法和设备转让专利

申请号 : CN201110317260.8

文献号 : CN102509074B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李相涛

申请人 : TCL集团股份有限公司

摘要 :

本发明适用于电子领域,提供了目标识别方法和设备,所述方法包括:根据深度帧序列相邻前、后两幅深度图的深度值的变化判断后一幅深度图中ROI内是否存在启动动作;根据预设的肢体目标模型对彩色帧相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域;保存判定为肢体目标区域的特征集合参数;在深度帧中对前一个彩色帧判定为肢体目标区域的区域进行跟踪,并使用预设的肢体目标模型以及保存的上一个肢体目标区域的特征集合参数对与该深度帧对应的彩色帧中相同的区域进行检测,以获取肢体目标区域;获取每一个肢体目标区域的坐标值,依据获取的坐标值识别目标动作。本发明实施例由于使用深度图像序列和彩色图像序列一起检测肢体目标区域,因此有效提高了检测的准确性。

权利要求 :

1.一种目标识别方法,其特征在于,所述方法包括下述步骤:同步获取深度帧序列和彩色帧序列,所述深度帧序列为深度摄像机采集的多幅深度图;

根据深度帧序列中相邻前、后两幅深度图的深度值的变化判断后一幅深度帧中预设的感兴趣区域ROI内是否存在启动动作;

在深度帧的ROI存在启动动作时,根据预设的肢体目标模型对同步的彩色帧中与ROI相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域;

保存判定为肢体目标区域的特征集合参数,并把检测到的肢体目标区域作为跟踪目标;

在后续的深度帧中对所述跟踪目标进行跟踪,并使用预设的肢体目标模型以及保存的上一个肢体目标区域的特征集合参数对与所述后续的深度帧同步的彩色帧中相同的区域进行校正,并将符合肢体目标模型和上一个肢体目标区域的特征集合参数的区域判定为肢体目标区域;

获取每一个肢体目标区域中的所有坐标值,依据获取的坐标值判断目标的运动方向,并依据目标的运动方向识别目标动作;

所述根据深度帧序列中相邻前、后两幅深度图的深度值的变化判断后一幅深度图中预设的感兴趣区域ROI内是否存在启动动作的步骤包括:分别获取前、后两个深度帧中预设的感兴趣区域ROI内的深度值组,并计算所述前、后两个深度帧的深度值组的差;

判断获取的深度值组的差是否满足预设的启动条件,在满足预设的启动条件时,判定所述ROI存在启动动作,否则,不存在启动动作。

2.如权利要求1所述的方法,其特征在于,

所述肢体目标模型包括肤色模型和特征模型,所述肢体目标区域的特征集合参数包括目标肤色范围值,目标形状参数;

所述在深度帧的ROI存在启动动作时,根据预设的肢体目标模型对同步的彩色帧中与ROI相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域的步骤具体为:根据所述肤色模型检测同步的彩色帧中相同的区域是否符合肤色模型;

根据所述特征模型检测符合所述肤色模型的区域是否符合特征模型;

将符合特征模型的区域判定为肢体目标区域。

3.如权利要求1所述的方法,其特征在于,

根据

以及

获取肢体目标区域校正后的坐标值,其中xi、yi、zi分别为第i个校正后的肢体目标区域的坐标值,vc(x,y)表示彩色图像中的点(x,y)对应的像素值,vd(x,y)表示深度图像中的点(x,y)对应的像素值,DOBJi表示第i个肢体目标区域。

4.如权利要求1所述的方法,其特征在于,所述获取每一个肢体目标区域的坐标值,依据获取的坐标值判断目标的运动方向,并依据目标的运动方向识别目标动作的步骤包括:获取每一个肢体目标区域中的所有坐标值,从获取的坐标值中获取最大的深度值和最小的深度值,并计算所述最大的深度值和最小的深度值的差;

判断所述最大的深度值和最小的深度值的差是否大于预设的差值阈值;

若最大的深度值和最小的深度值的差大于所述预设的差值阈值,则判定目标动作的方向是前后方向,否则判定目标动作的方向是平面方向。

5.如权利要求4所述的方法,其特征在于,

在判定目标动作的方向是平面方向时,以获取的所有坐标的横坐标x值和纵坐标y值拟合一条直线;

判断所述直线与x轴正半轴的夹角是否在两个预设的夹角阈值之间,若在所述两个预设的夹角阈值之间,则判定目标动作的方向是上下方向,否则,判定目标动作的方向是左右方向。

6.一种目标动作识别设备,其特征在于,包括:

图像获取单元,用于同步获取深度帧序列和彩色帧序列,所述深度帧序列为深度摄像机采集的多幅深度图;

运动区域判断单元,用于根据深度帧序列中相邻前、后两幅深度图的深度值的变化判断后一幅深度图中预设的感兴趣区域ROI内是否存在启动动作;

肢体目标区域判断单元,用于在深度帧的ROI存在启动动作时,根据预设的肢体目标模型对同步的彩色帧中与ROI相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域;

参数存储单元,用于保存判定为肢体目标区域的特征集合参数,并把检测到的肢体目标区域作为跟踪目标;

肢体目标区域校正单元,用于在后续的深度帧中对所述跟踪目标进行跟踪,并使用预设的肢体目标模型以及保存的上一个肢体目标区域的特征集合参数对与所述后续的深度帧同步的彩色帧中相同的区域进行校正,并将符合肢体目标模型和上一个肢体目标区域的特征集合参数的区域判定为肢体目标区域;

目标动作识别单元,用于获取每一个肢体目标区域中的所有坐标值,依据获取的坐标值判断目标的运动方向,并依据目标的运动方向识别目标动作;

所述运动区域判断单元先分别获取前、后两个深度帧中预设的感兴趣区域ROI内的深度值组,并计算所述前、后两个深度帧的深度值组的差,再判断获取的深度值组的差是否满足预设的启动条件,在满足预设的启动条件时,判定所述ROI存在启动动作,否则,不存在启动动作。

7.如权利要求6所述的设备,其特征在于,

所述肢体目标模型包括肤色模型和特征模型,所述肢体目标区域的特征集合参数包括目标肤色范围值,目标形状参数;

所述肢体目标区域判断单元包括:

区域肤色检测模块,用于根据肤色模型检测同步的彩色帧中相同的区域是否符合肤色模型;

区域特征检测模块,用于根据特征模型检测符合肤色模型的区域是否符合特征模型;

肢体目标区域判定模块,用于将符合特征模型的区域判定为肢体目标区域。

8.如权利要求6所述的设备,其特征在于,所述目标动作识别单元包括:深度差确定模块,用于获取每一个肢体目标区域中的所有坐标值,从获取的坐标值中获取最大的深度值和最小的深度值,并计算所述最大的深度值和最小的深度值的差;

深度差判断模块,用于判断所述最大的深度值和最小的深度值的差是否大于预设的差值阈值;

方向判断模块,用于在最大的深度值和最小的深度值的差大于所述预设的差值阈值时,判定目标动作的方向是前后方向,否则判定目标动作的方向是平面方向。

9.如权利要求8所述的设备,其特征在于,所述方向判断模块在判定目标动作的方向是平面方向时,以获取的所有坐标的横坐标x值和纵坐标y值拟合一条直线,判断所述直线与x轴正半轴的夹角是否在两个预设的夹角阈值之间,若在所述两个预设的夹角阈值之间,则判定目标动作的方向是上下方向,否则,判定目标动作的方向是左右方向。

说明书 :

一种目标识别方法和设备

技术领域

[0001] 本发明属于人机交互技术领域,尤其涉及一种目标识别方法和设备。

背景技术

[0002] 在现有的人机交互设备(例如智能电视)中,用户可以和智能电视进行简单的人机交互。在人机交互设备中,往往涉及目标动作识别技术,人机交互设备通过识别目标动作(例如手势)来响应用户的控制。
[0003] 现有的目标识别方法往往是通过二维图像的处理来识别人的肢体动作,但由于二维图像难以全面、准确地反映实际的事物,因此该方法难以准确区分目标以及识别人的肢体动作,误识别概率较大。

发明内容

[0004] 本发明实施例提供了一种目标识别方法,旨在解决现有的目标识别方法在识别目标动作时,误识别概率较大的问题。
[0005] 本发明实施例是这样实现的,一种目标识别方法,所述方法包括下述步骤:
[0006] 同步获取深度帧序列和彩色帧序列,所述深度帧序列为深度摄像机采集的多幅深度图;
[0007] 根据深度帧序列中相邻前、后两幅深度图的深度值的变化判断后一幅深度帧中预设的感兴趣区域ROI内是否存在启动动作;
[0008] 在深度帧的ROI存在启动动作时,根据预设的肢体目标模型对同步的彩色帧中与ROI相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域;
[0009] 保存判定为肢体目标区域的特征集合参数,并把检测到的肢体目标区域作为跟踪的目标;
[0010] 在后续的深度帧中对所述跟踪目标进行跟踪,并使用预设的肢体目标模型以及保存的上一个肢体目标区域的特征集合参数对与所述后续的深度帧同步的彩色帧中相同的区域进行校正,并将符合肢体目标模型和上一个肢体目标区域的特征集合参数的区域判定为肢体目标区域;
[0011] 获取每一个肢体目标区域中的所有坐标值,依据获取的坐标值判断目标的运动方向,并依据目标的运动方向识别目标动作;
[0012] 所述根据深度帧序列中相邻前、后两幅深度图的深度值的变化判断后一幅深度图中预设的感兴趣区域ROI内是否存在启动动作的步骤包括:
[0013] 分别获取前、后两个深度帧中预设的感兴趣区域ROI内的深度值组,并计算所述前、后两个深度帧的深度值组的差;
[0014] 判断获取的深度值组的差是否满足预设的启动条件,在满足预设的启动条件时,判定所述ROI存在启动动作,否则,不存在启动动作。
[0015] 本发明实施例的另一目的在于提供一种目标动作识别设备,所述设备包括:
[0016] 图像获取单元,用于同步获取深度帧序列和彩色帧序列,所述深度帧序列为深度摄像机采集的多幅深度图;
[0017] 运动区域判断单元,用于根据深度帧序列中相邻前、后两幅深度图的深度值的变化判断后一幅深度图中预设的感兴趣区域ROI内是否存在启动动作;
[0018] 肢体目标区域判断单元,用于在深度帧的ROI存在启动动作时,根据预设的肢体目标模型对同步的彩色帧中与ROI相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域;
[0019] 参数存储单元,用于保存判定为肢体目标区域的特征集合参数,并把检测到的肢体目标区域作为跟踪目标;
[0020] 肢体目标区域校正单元,用于在后续的深度帧中对所述跟踪目标进行跟踪,并使用预设的肢体目标模型以及保存的上一个肢体目标区域的特征集合参数对与所述后续的深度帧同步的彩色帧中相同的区域进行校正,并将符合肢体目标模型和上一个肢体目标区域的特征集合参数的区域判定为肢体目标区域;
[0021] 目标动作识别单元,用于获取每一个肢体目标区域中的所有坐标值,依据获取的坐标值判断目标的运动方向,并依据目标的运动方向识别目标动作;
[0022] 所述运动区域判断单元先分别获取前、后两个深度帧中预设的感兴趣区域ROI内的深度值组,并计算所述前、后两个深度帧的深度值组的差,再判断获取的深度值组的差是否满足预设的启动条件,在满足预设的启动条件时,判定所述ROI存在启动动作,否则,不存在启动动作。
[0023] 本发明实施例中,首先获取一个深度图像序列和一个彩色图像序列,再使用深度图像序列检测是否存在运动状态的区域以及跟踪经过彩色图像序列过滤后的肢体目标区域,使用彩色图像序列对存在运动状态的区域进行过滤,确认肢体目标区域。和现有技术相比,本发明实施例结合使用深度图像序列和彩色图像序列一起检测肢体目标区域,因此有效提高了检测的准确性,降低了误识别概率。

附图说明

[0024] 图1是本发明第一实施例提供的目标识别方法流程图;
[0025] 图2是本发明第二实施例提供的目标识别方法流程图;
[0026] 图3是本发明第三实施例提供的目标识别方法流程图;
[0027] 图4是本发明第四实施例提供的目标识别方法流程图;
[0028] 图5是本发明第五实施例提供的目标动作识别设备的结构图;
[0029] 图6是本发明第六实施例提供的目标动作识别设备的结构图;
[0030] 图7是本发明第七实施例提供的目标动作识别设备的结构图;
[0031] 图8是本发明第八实施例提供的目标动作识别设备的结构图。

具体实施方式

[0032] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0033] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0034] 实施例一:
[0035] 图1示出了本发明第一实施例提供的目标识别方法的流程图,在本实施例提供的目标识别方法包括:
[0036] 步骤S11,同步获取深度帧序列和彩色帧序列,该深度帧序列为深度摄像机采集的多幅深度图。
[0037] 在本实施例中,使用深度摄像机每秒采集大于10帧的深度图,通常每秒钟采集25帧深度图,每幅深度图都按照顺序递增编号,这些具有递增编号的多幅深度图组成深度帧序列。
[0038] 在本实施例中,使用普通摄像机或者深度摄像机采集彩色图,采集彩色图的频率与采集深度图的频率相同,且与采集的深度图为同一场景,每一幅彩色图同样按照顺序递增编号,具有递增编号的多幅彩色图组成彩色帧序列。
[0039] 步骤S12,根据深度帧序列中相邻前、后两幅深度图的深度值的变化判断后一幅深度帧中预设的感兴趣区域(Region of Interest,ROI)内是否存在启动动作,如果否,执行步骤S13,如果是,执行步骤S14。
[0040] 在本实施例根据深度值确定运动状态,通过获取的相邻前、后两幅深度图中感兴趣区域的深度值变化,判断深度值变化是否满足预设的条件,若满足,则判断后一幅深度帧中ROI内存在启动动作,执行步骤S14。若判断ROI内不存在启动动作,执行步骤S13。
[0041] 在本实施例中,ROI可以根据识别的目标所在的位置来灵活确定,例如识别的目标为人的头部,则该区域可以为头部所在的合理区域。若识别的目标为脚部,则该区域可以为脚部所在的合理区域。区域的形状可以为方形或圆形。
[0042] 另外,启动动作可以包括不同的肢体目标(包括但不限于人手目标、人的脚部目标和人的头部目标等)的动作,例如人的头部动作、脚部动作、手部动作中的一种或几种等,即检测到人的头部的预设动作、脚部预设动作、手部的预设动作后均可以启动进一步的识别过程(步骤S14)。
[0043] 步骤S13,继续监测。
[0044] 在本实施例中,若判断前一个深度帧不存在启动动作,则继续监测下一帧。
[0045] 步骤S14,根据预设的肢体目标模型对同步的彩色帧中与ROI相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域。
[0046] 在本实施例中,不同的识别目标对应不同的肢体目标模型,例如识别目标为人的头部,则该肢体目标模型可以为头部模型,对应的肢体目标区域为头部区域。若识别的目标为脚部,则该肢体目标模型可以为脚部模型,对应的肢体目标区域为脚部区域。若该识别的目标为手部,则该肢体目标模型可以为人手模型,对应的肢体目标区域为人手区域。
[0047] 在本实施例中,当存在启动动作的ROI包括非肢体目标区域时,如包含与人体肤色不同的非肢体目标区域时,在彩色帧中的同一个区域可以先检测出非肢体目标区域,缩小检测范围,减少计算量。当包含的非肢体目标区域为包含色彩与人体肤色不同的区域时,可通过肤色模型检测出与人体肤色不同的色彩,并丢弃该色彩所在的区域,缩小检测范围。在本实施例中,由于深度图像序列只需根据深度值就能确定运动状态的区域,过滤非运动状态的区域,使得彩色图像序列在确认肢体目标区域时避免了整幅图像的计算,优化了算法,使计算更简单。
[0048] 步骤S15,保存判定为肢体目标区域的特征集合参数,并把检测到的肢体目标区域作为跟踪目标。
[0049] 在本实施例中,当获取肢体目标区域后,保存该肢体目标区域的特征集合参数。
[0050] 步骤S16,在后续的深度帧中对该跟踪目标进行跟踪,并使用预设的肢体目标模型以及保存的上一个肢体目标区域的特征集合参数对与该后续的深度帧同步的彩色帧中相同的区域进行校正,并将符合肢体目标模型和上一个肢体目标区域的特征集合参数的区域判定为肢体目标区域。
[0051] 本实施例中,在获取一个肢体目标区域后,继续在后续的深度帧序列中跟踪获取的肢体目标区域,并不断在彩色帧序列的相应区域校正,提高肢体目标区域判定的准确度。如果跟踪肢体目标区域失败,则返回步骤S12,重新确定跟踪目标。例如,在跟踪人手目标失败后,返回S12,重新确定人的头部或脚部作为跟踪目标来识别。
[0052] 步骤S17,获取每一个肢体目标区域中的所有坐标值,依据获取的坐标值判断目标的运动方向,并依据目标的运动方向识别目标动作。
[0053] 本实施例中,每次目标运动后记录下这次运动所形成的一组坐标值,获取每一个肢体目标区域中的所有坐标值,根据获取的多个坐标值判断目标的运动方向,再根据判定的结果识别目标动作,以便执行相应的操作。
[0054] 在本发明第一实施例中,首先获取一个深度图像序列和一个彩色图像序列,再使用深度图像序列检测是否存在运动状态的区域以及跟踪经过彩色图像序列过滤后的肢体目标区域,使用彩色图像序列对存在运动状态的区域进行过滤,确认肢体目标区域。由于使用深度图像序列和彩色图像序列一起检测肢体目标区域,因此有效提高了检测的准确性,降低了误识别概率。
[0055] 实施例二:
[0056] 图2示出了本发明二实施例提供的目标识别方法的流程,在本实施例中,主要对实施例一的步骤S12进行更详细的描述,本实施例二提供的目标识别方法主要包括:
[0057] 步骤S21,同步获取深度帧序列和彩色帧序列,该深度帧序列为深度摄像机采集的多幅深度图。
[0058] 在本实施例中,步骤S21的执行过程和上述实施例一中的步骤S11的执行过程相同,在此不再重复描述。
[0059] 步骤S22,分别获取前、后两个深度帧中预设的感兴趣区域ROI内的深度值组,并计算所述前、后两个深度帧的深度值组的差。
[0060] 在本实施例中,获取前幅深度图中预设的感兴趣区域ROI内的深度值组和后幅深度图中预设的感兴趣区域ROI内的深度值组,并计算上述前、后两个深度帧的深度值组的差。在ROI内存在多个深度值,该多个深度值组成了一个深度值组,通过获取前幅深度图中ROI内的深度值组和后幅深度图中ROI内的深度值组,能够计算上述两个深度值组的差值。
[0061] 步骤S23,判断获取的深度值组的差是否满足预设的启动条件,如果否,执行步骤S24,如果是,执行步骤S25。
[0062] 当深度值组的差值满足预设启动条件时,判定后一幅深度图中ROI内存在启动动作,否则,判定后一幅深度图中ROI内不存在启动动作。
[0063] 在本实施例中,预设的启动条件为一个集合,计算前一个深度帧的所有深度值和当前深度帧的所有深度值的差值,并判断计算的差值是否包含存在该预设启用条件的集合内的差值。
[0064] 比如,检测一个ROI是否有启动动作,是通过比较相邻前、后两个深度帧的所有深度值来判断的。假设前一个深度帧的一个深度值为DEPTHpre(x,y,z),深度值组为DEPTHpre[x,y,z],当前深度帧的一个深度值为DEPTHnow(x,y,z),深度值组为DEPTHnow[x,y,z],深度帧的一个变化值为DEPTHC(x,y,z),变化值组为DEPTHC[x,y,z],预设启动条件的集合为SARTUP(D),则:
[0065] DEPTHC[x,y,z]=DEPTHnow[x,y,z]-DEPTHpre[x,y,z]
[0066] 当DEPTHC[x,y,z]至少存在一个DEPTHC(x,y,z)∈SARTUP(D)时,表示该ROI内存在启动动作。
[0067] 步骤S24,继续监测。
[0068] 步骤S25,根据预设的肢体目标模型对同步的彩色帧中与ROI相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域。
[0069] 步骤S26,保存判定为肢体目标区域的特征集合参数,并把检测到的肢体目标区域作为跟踪目标。
[0070] 在后续的深度帧序列和彩色帧序列中执行下述步骤S27:
[0071] 步骤S27,在后续的深度帧中对该跟踪目标进行跟踪,并使用预设的肢体目标模型以及保存的上一个肢体目标区域的特征集合参数对与该后续的深度帧同步的彩色帧中相同的区域进行校正,并将符合肢体目标模型和上一个肢体目标区域的特征集合参数的区域判定为肢体目标区域。
[0072] 步骤S28,获取每一个肢体目标区域中的所有坐标值,依据获取的坐标值判断目标的运动方向,并依据目标的运动方向识别目标动作。
[0073] 在本实施例中,步骤S24-S28的执行过程和上述实施例一中的步骤S13-S17的执行过程相同,在此不再重复描述。
[0074] 在本发明第二实施例中,通过获取前、后两个深度帧中ROI内的深度值组来获取该前、后两个深度帧的深度值组的差,并将获取的深度值组的差与预设的启动条件比较,可以判断ROI内是否存在启动动作。由于相同区域内的深度值的差能够反映该区域内的运动状态,因此本实施例能够获取较准确的检测结果。
[0075] 实施例三:
[0076] 图3示出了本发明第三实施例提供的目标识别方法流程,在本实施例中选择的肢体目标为人手,本实施例主要对实施例一的步骤S15、实施例二的步骤S26以及实施例一的步骤S16、实施例二的步骤S27进行更详细的描述:
[0077] 步骤S31,同步获取深度帧序列和彩色帧序列,该深度帧序列为深度摄像机采集的多幅深度图。
[0078] 步骤S32,根据深度帧序列中相邻前、后两幅深度图的深度值的变化判断后一幅深度图中预设的感兴趣区域内是否存在启动动作,如果否,执行步骤S33,如果是,执行步骤S34。
[0079] 步骤S33,继续监测。
[0080] 在本实施例中,步骤S31~S33的执行过程和上述实施例一中的步骤S11~S13的执行过程相同,在此不再重复描述。
[0081] 在本实施例中,根据预设的肢体目标模型对同步的彩色帧中与ROI相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域的过程(实施例一中的步骤S14和二中的步骤S25)具体包括S34-36。
[0082] 步骤S34,根据肤色模型检测同步的彩色帧中相同的区域是否符合肤色模型。
[0083] 本实施例中,肢体目标模型包括肤色模型和特征模型。其中,肤色模型是将彩色空间中的肤色与其他颜色区别开来的一种数学关系模型,它用一种代数或查表形式来表达哪些像素的色彩属于肤色,或是表征出某一像素的色彩与肤色的相似度。本实施例将彩色帧先转换到chromatic颜色空间,利用在chromatic空间建立的肤色模型把肤色从图像中分割出来,然后判断是否满足预设的肤色模型,若满足,则执行S35,若不满足则继续监测。
[0084] 其中,chromatic颜色空间对亮度变化有较强的适应性,彩色帧(RGB图像)投影到chromatic颜色空间的公式为:
[0085]
[0086] 对肤色在chromatic空间做直方图计算,根据其分布近似于高斯分布的特征建立2
二维高斯肤色模型N(m,∑ ),其中平均值m=(μr,μg),μr,μg分别为r分量和g分量的平均值,协方差 δrr为两个r分量的协方差,δrg为r分量和g分量
的协方差,δgg为两个g分量的协方差。当然,彩色帧(RGB图像)投影到chromatic颜色空间的公式也可以根据实际情况的变更而进行相应的变更,此处不再赘述。
[0087] 步骤S35,根据特征模型检测符合肤色模型的区域是否符合特征模型。
[0088] 其中,特征模型主要包括能够反映形状的参数,比如:
[0089] (a)矩形拟合因子 其中,A0表示物体的面积,AR表示物体的最小外接矩形(MER)的面积,R反映了一个物体对其MER的充满程度。对于矩形物体R取得最大值1,对于圆形物体R取值为 矩形拟合因子的值限定在0与1之间。
[0090] (b)长宽比A=W/L,其中A等于外接矩形MER的宽与长的比值,这个参数可以把较纤细的物体与方形或圆形物体区分开。
[0091] (c)矩不变量,矩是一种线性特性,它对于图像的旋转、比例缩放、平移具有不变性。当然,特征模型的参数也可以根据实际情况采用其他的参数而不限于上述列举的参数。
[0092] 在本实施例中,判断符合肤色模型的区域是否满足上述参数的范围,若满足,则执行步骤S36,若不满足则继续监测。
[0093] 步骤S36,将符合特征模型的区域判定为肢体目标区域。
[0094] 步骤S37,保存判定为肢体目标区域的特征集合参数,并把检测到的肢体目标区域作为跟踪目标。
[0095] 在本实施例中,肢体目标区域的特征集合参数包括目标肤色范围值,目标形状参数、手指的长宽比等,比如目标形状将目标形状描述为矩形等。
[0096] 在后续的深度帧序列和彩色帧序列中执行下述步骤S38:
[0097] 步骤S38,在后续的深度帧中对该跟踪目标进行跟踪,并使用预设的肢体目标模型以及保存的上一个肢体目标区域的特征集合参数对与该后续的深度帧同步的彩色帧中相同的区域进行校正,并将符合肢体目标模型和上一个肢体目标区域的特征集合参数的区域判定为肢体目标区域。
[0098] 具体的,假设在第一个深度帧中获得的运动区域为DOBJ0',在与第一个深度帧同步的第一个彩色帧中对该DOBJ0'进行校正后获得的第一个肢体目标区域标记为DOBJ0,保存该DOBJ0的相应参数,该DOBJ0的相应参数可以为目标肤色范围值,目标形状参数等。在第二个深度帧中跟踪该DOBJ0,并在与该第二个深度帧同步的第二个彩色帧中对与该DOBJ0相对应的区域进行校正,假设经过彩色帧校正后的区域为DOBJ1,若DOBJ1的相应参数与第一次保存的DOBJ0的相应参数差别不大(符合肢体目标模型和DOBJ0的相应参数),则判定经过彩色帧校正后的区域DOBJ1为肢体目标区域,并保存DOBJ1的相应参数。在第三个深度帧中继续对DOBJ1进行跟踪,并在与第三个深度帧同步的第三个彩色帧中与DOBJ1对应的区域进行校正,并将校正后的区域的相应参数与保存DOBJ1的相应参数进行比较,以获取肢体目标区域。循环执行上述步骤,直到校正了深度帧序列获取的所有区域为止。
[0099] 步骤S39,获取每一个肢体目标区域中的所有坐标值,依据获取的坐标值判断目标的运动方向,并依据目标的运动方向识别目标动作。
[0100] 在本实施例中,根据每一次彩色帧以及保存的肢体目标区域的特征集合参数校正后获取的肢体目标区域获得一个坐标,比如使用下述公式计算获得的多个肢体目标区域的坐标值:
[0101]
[0102] 其中,xi、yi、zi分别为第i个校正后的肢体目标区域的坐标值,xi与yi分别是彩色图像中肢体目标区域的一阶矩,zi为深度图中肢体目标区域的平均深度值,vc(x,y)表示彩色图像中的点(x,y)对应的像素值,vd(x,y)表示深度图像中的点(x,y)对应的像素值,DOBJi表示第i个肢体目标区域。
[0103] 在本发明第三实施例中,肢体目标模型包括肤色模型和特征模型,当根据深度帧获得的启动区域后,再使用肤色模型对彩色帧的同一个启动区域进行检测,判断该区域是否满足肤色模型的要求,在该区域满足肤色模型后,再使用特征模型判断该区域是否满足特征模型的要求,可以进一步过滤已获得的肢体目标区域,以使获得的目标更准确。
[0104] 实施例四:
[0105] 图4示出了本发明第四实施例提供的目标识别方法流程,在本实施例中选择的肢体目标为人手,本实施例主要对实施例一的步骤S17、实施例二的步骤S28以及实施例三的步骤S39进行更详细的描述:
[0106] 步骤S401,同步获取深度帧序列和彩色帧序列,该深度帧序列为深度摄像机采集的多幅深度图。
[0107] 步骤S402,根据深度帧序列中相邻前、后两幅深度图的深度值的变化判断后一幅深度图中预设的感兴趣区域内是否存在启动动作,如果否,执行步骤S403,如果是,执行步骤S404。
[0108] 步骤S403,继续监测。
[0109] 步骤S404,根据预设的肢体目标模型对同步的彩色帧中与ROI相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域。
[0110] 步骤S405,保存判定为肢体目标区域的特征集合参数,并把检测到的肢体目标区域作为跟踪目标。
[0111] 在后续的深度帧序列和彩色帧序列中执行下述步骤S406:
[0112] 步骤S406,在后续的深度帧中对该跟踪目标进行跟踪,并使用预设的肢体目标模型以及保存的上一个肢体目标区域的特征集合参数对与该后续的深度帧同步的彩色帧中相同的区域进行校正,并将符合肢体目标模型和上一个肢体目标区域的特征集合参数的区域判定为肢体目标区域。
[0113] 在本实施例中,步骤S401~S406的执行过程和上述实施例一中的步骤S11~S16的执行过程相同,在此不再重复描述。
[0114] 在本实施例中,依据获取的坐标值判断目标的运动方向,并依据目标的运动方向识别目标动作的步骤(对应上述实施例中的步骤S17、S28及S39)主要包括以下步骤:
[0115] 步骤S407,获取每一个肢体目标区域中的所有坐标值,从获取的坐标值中获取最大的深度值和最小的深度值,并计算最大的深度值和最小的深度值的差。
[0116] 步骤S408,判断最大的深度值和最小的深度值的差是否大于预设的差值阈值,若大于,执行步骤S409,否则执行步骤S410。
[0117] 步骤S409,判定目标动作的方向是前后方向。
[0118] 步骤S410,判定目标动作的方向是平面方向。
[0119] 在实施例中,每次目标运动后记录下这次运动所形成的一组坐标值,假设该组坐标值为(x1 y1 z1)~(xi yi zi)。首先预设一个差值阈值,并获取该组坐标值中最大的深度值和最小的深度值,计算该最大的深度值和最小的深度值的差,判断该最大的深度值和最小的深度值的差是否大于预设的差值阈值,若大于该差值阈值,则判定这次目标动作的运动方向是前后方向的,否则判定这次目标动作的运动方向是平面方向,平面方向的目标动作可以为向上或者向下或者向左或者向右。
[0120] 进一步地,判断在目标动作的运动方向是前后方向时,根据整组坐标的深度值z值的变化趋势判定目标动作是向前摇动还是向后摇动。比如将z值从0变为负值时判定为向前摇动,将z值从0变为正值时判定为向后摇动等。
[0121] 在本实施例中,若判断目标动作的运动方向是平面方向运动时,则以整组坐标的横坐标x值和纵坐标y值使用多点拟合方法拟合一条直线,如果该直线与x轴正半轴的夹角在预设的两个夹角阈值范围内,则判定该目标动作是上下方向运动的,否则判定该目标动作是左右方向运动的。其中预设的两个夹角阈值范围可设置为45°~135°之间。
[0122] 进一步地,在判断目标动作是上下方向运动时,根据整组坐标的y值的变化趋势区分这次目标动作是向上摇动还是向下摇动,即y值变小,则判断向上摇动,y值变大则向下摇动。
[0123] 进一步地,在目标动作是左右方向运动时,根据整组坐标的x值的变化趋势区分这次目标动作是向左摇动还是向右摇动,即x值变小,则判断向左摇动,x值变大则向右摇动。
[0124] 在本发明第四实施例中,通过比较最大的深度值和最小的深度值的差与预算的差值阈值来判断目标动作的方向是前后方向还是平面方向。在目标动作的方向是前后方向时,根据整组坐标的深度值变化方向判断目标动作的方向是向前摇动还是向后摇动;在目标动作的方向是前后方向时,使用多点拟合方法判断目标动作的方向是上下运动方向还是左右运动方向。由于在识别目标的动作时,使用多点拟合方法,因此增强了抗干扰能力,同时有效减少了上下动作方向和左右动作方向的误识别概率。
[0125] 实施例五:
[0126] 图5示出了本发明第五实施例提供的目标动作识别设备的结构图,为了便于说明,图5仅示出了与本发明实施例相关的部分。
[0127] 该目标动作识别设备可以用于各种信息处理终端,例如移动电话、口袋计算机(Pocket Personal Computer,PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)等,可以是运行于这些终端内的硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些终端中或者运行于这些终端的应用系统中,
[0128] 本发明实施例五提供的设备包括:
[0129] 图像获取单元51,用于同步获取深度帧序列和彩色帧序列,该深度帧序列为深度摄像机采集的多幅深度图。
[0130] 在本实施例中,可以采用同一个深度摄像机采集深度帧序列和彩色帧序列,当然,也可以使用普通摄像机采集彩色帧序列。
[0131] 运动区域判断单元52,用于根据深度帧序列中相邻前、后两幅深度图的深度值的变化判断后一幅深度图中预设的感兴趣区域ROI内是否存在启动动作。
[0132] 肢体目标区域判断单元53,用于在深度帧的ROI存在启动动作时,根据预设的肢体目标模型对同步的彩色帧中与ROI相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域。
[0133] 参数存储单元54,用于保存判定为肢体目标区域的特征集合参数,并把检测到的肢体目标区域作为跟踪目标。
[0134] 肢体目标区域校正单元55,用于在后续的深度帧中对该跟踪目标进行跟踪,并使用预设的肢体目标模型以及保存的上一个肢体目标区域的特征集合参数对与该后续的深度帧同步的彩色帧中相同的区域进行校正,并将符合肢体目标模型和上一个肢体目标区域的特征集合参数的区域判定为肢体目标区域。
[0135] 在本实施例中,通过肢体目标区域校正单元55反复校正判定为目标的区域,使最后得到的肢体目标区域更为准确。
[0136] 目标动作识别单元56,用于获取每一个肢体目标区域中的所有坐标值,依据获取的坐标值判断目标的运动方向,并依据目标的运动方向识别目标动作。
[0137] 在本实施例中,将校正后的多个肢体目标区域抽象为坐标值后,目标动作识别单元56获取肢体目标区域校正单元55校正后的多个肢体目标区域的坐标值,并根据获取的坐标值识别目标动作。
[0138] 在本发明第五实施例中,运动区域判断单元52根据图像获取单元51获取的深度帧序列检测存在运动状态的区域,肢体目标区域判断单元53再根据图像获取单元51获取的彩色帧序列检测存在运动状态的区域是否为肢体目标区域,并确定初始的肢体目标区域,通过肢体目标区域校正单元55获取后续的深度帧序列和彩色帧序列的肢体目标区域,并通过目标动作识别单元56获取每次肢体目标区域校正后的坐标值,再根据该坐标值识别目标动作。由于同时使用深度帧序列和彩色帧序列确认肢体目标区域,因此有效提高了检测的准确性,并且经过反复校正肢体目标区域后,减少了参与运算的图像数据,优化了算法,提高了运算速度,以及降低了误识别目标动作的运动方向的概率。
[0139] 实施例六:
[0140] 图6示出了本发明第六实施例提供的目标动作识别设备的结构:
[0141] 图像获取单元61,用于同步获取深度帧序列和彩色帧序列,该深度帧序列为深度摄像机采集的多幅深度图。
[0142] 运动区域判断单元62,用于根据深度帧序列中相邻前、后两幅深度图的深度值的变化判断后一幅深度图中预设的感兴趣区域ROI内是否存在启动动作。
[0143] 在本实施例中,运动区域判断单元62包括:深度差确定模块621和运动状态判断模块622。
[0144] 该深度差确定模块621用于分别获取前、后两个深度帧中预设的感兴趣区域ROI内的深度值组,并计算该前、后两个深度帧的深度值组的差。
[0145] 在本实施例中,当前、后两个深度帧的深度值存在差异时,存在差异的区域可能是运动状态的区域。
[0146] 该运动状态判断模块622用于判断获取的深度值组的差是否满足预设的启动条件,在满足预设的启动条件时,判定该ROI存在启动动作,否则,不存在启动动作。
[0147] 在本实施例中,肢体目标区域判断单元63、参数存储单元64、肢体目标区域校正单元65以及目标动作识别单元66与实施例五的肢体目标区域判断单元53、参数存储单元54、肢体目标区域校正单元55以及目标动作识别单元56相同,此处不再赘述。
[0148] 实施例七:
[0149] 图7示出了本发明第六实施例提供的目标动作识别设备的结构:
[0150] 其中本实施例的图像获取单元71、运动区域判断单元72与实施例六的图像获取单元61、运动区域判断单元62相同,此处不再赘述。
[0151] 肢体目标区域判断单元73,用于在深度帧的ROI存在启动动作时,根据预设的肢体目标模型对同步的彩色帧中与ROI相同的区域进行检测,并将符合肢体目标模型的区域判定为肢体目标区域。
[0152] 在本实施例中,预设的肢体目标模型包括肤色模型和特征模型。根据肤色模型可以检测该区域的像素值对应的肤色是否为目标特有的肤色,根据特征模型可以检测符合目标特有肤色的区域的形状、大小是否满足目标具有的特征。
[0153] 可选的,该肢体目标区域判断单元73包括区域肤色检测模块731、区域特征检测模块732以及肢体目标区域判定模块733。
[0154] 该区域肤色检测模块731用于根据肤色模型检测同步的彩色帧中相同的区域是否符合肤色模型。
[0155] 该区域特征检测模块732用于根据特征模型检测符合肤色模型的区域是否符合特征模型。
[0156] 该肢体目标区域判定模块733用于将符合特征模型的区域判定为肢体目标区域。
[0157] 参数存储单元74,用于保存判定为肢体目标区域的特征集合参数,并把检测到的肢体目标区域作为跟踪目标。
[0158] 在本实施例中,肢体目标区域的特征集合参数包括目标肤色范围值,目标形状参数。
[0159] 在本实施例中,肢体目标区域校正单元75、目标动作识别单元76与实施例六中的肢体目标区域校正单元65、目标动作识别单元66相同,此处不再赘述。
[0160] 本发明第七实施例中,结合区域肤色检测模块731、区域特征检测模块732以及肢体目标区域判定模块733识别肢体目标区域,提高了肢体目标区域识别的准确性。
[0161] 实施例八:
[0162] 图8示出了本发明第八实施例提供的目标动作识别设备的结构:
[0163] 在本实施例中,图像获取单元81、运动区域判断单元82、肢体目标区域判断单元83、参数存储单元84、肢体目标区域校正单元85与实施例七的图像获取单元71、运动区域判断单元72、肢体目标区域判断单元73、参数存储单元74、肢体目标区域校正单元75相同,此处不再赘述。
[0164] 目标动作识别单元86,用于获取每一个肢体目标区域中的所有坐标值,依据获取的坐标值判断目标的运动方向,并依据目标的运动方向识别目标动作。
[0165] 可选的,目标动作识别单元86包括深度差确定模块861、深度差判断模块862和方向判断模块863。
[0166] 深度差确定模块861,用于获取每一个肢体目标区域中的所有坐标值,从获取的坐标值中获取最大的深度值和最小的深度值,并计算所述最大的深度值和最小的深度值的差。
[0167] 深度差判断模块862,用于判断所述最大的深度值和最小的深度值的差是否大于所述预设的差值阈值。
[0168] 方向判断模块863,用于在最大的深度值和最小的深度值的差大于所述预设的差值阈值时,判定目标动作的方向是前后方向,否则判定目标动作的方向是平面方向。
[0169] 可选的,方向判断模块863包括前后方向判断子模块91、平面方向判断子模块92。
[0170] 前后方向判断模块91,用于在最大的深度值和最小的深度值的差大于所述预设的差值阈值时,判定目标动作的方向是前后方向。
[0171] 在本实施例中,在目标动作的运动方向是前后方向运动时,根据整组坐标的深度值z值的变化趋势判定目标动作是向前摇动还是向后摇动。比如将z值从0变为负值时判定为向前摇动,将z值从0变为正值时判定为向后摇动等。
[0172] 平面方向判断子模块92,用于在最大的深度值和最小的深度值的不大于所述预设的差值阈值时,判定目标动作的方向是平面方向,并以获取的所有坐标的横坐标x值和纵坐标y值拟合一条直线,进一步判断所述直线与x轴正半轴的夹角是否在所述两个预设的夹角阈值之间,若在所述两个预设的夹角阈值之间,则判定目标动作的方向是上下方向,否则,判定目标动作的方向是左右方向。
[0173] 在本发明第八实施例中,通过预设的差值阈值和夹角阈值判定目标的运动方向是前后运动方向还是左右运动方向还是上下运动方向,由于使用多点拟合来识别目标的动作,因此有效增强了抗干扰能力以及减少误识别目标动作的运动方向的概率。
[0174] 本发明实施例中,首先获取一个深度图像序列和一个彩色图像序列,再使用深度图像序列检测是否存在运动状态的区域以及跟踪经过彩色图像序列过滤后的肢体目标区域,使用彩色图像序列以及保存的上一个肢体目标区域的特征集合参数对存在运动状态的区域进行过滤,确认肢体目标区域。由于使用深度图像序列和彩色图像序列一起检测肢体目标区域,因此有效提高了检测的准确性,同时由于深度图像序列只需根据深度值就能确定运动状态的区域,过滤非运动状态的区域,使彩色图像序列在确认肢体目标区域时避免了整幅图像的计算,优化了算法,使计算更简单。本发明实施例在确定肢体目标区域后,根据该肢体目标区域的多个坐标值确定每一帧图像中的目标坐标,并根据该目标坐标识别目标的动作,由于在识别目标的动作时,使用多点拟合方法,因此增强了抗干扰能力,同时有效减少了对目标动作的运动方向的误识别概率。
[0175] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。