一种人体手部与人体手势识别的方法及装置与流程

文档序号:22117307发布日期:2020-09-04 15:44阅读:183来源:国知局
一种人体手部与人体手势识别的方法及装置与流程

本发明涉及雷达检测技术领域,尤其涉及一种人体手部与人体手势识别的方法及装置。



背景技术:

毫米波雷达,是指工作频段在毫米波频段的雷达。由于毫米波的波长介于厘米波和光波之间,因此毫米波兼有微波制导和光电制导的优点。与红外、激光、电视等光学导引头相比,毫米波导引头穿透雾、烟、灰尘的能力强,具有全天候全天时的特点。毫米波雷达是测量被测物体相对距离、相对速度、方位的高精度传感器,早期被应用于军事领域,随着雷达技术的发展与进步,毫米波雷达传感器开始应用于汽车电子、无人机、智能交通等多个领域。

在人体检测与手势识别方面的应用,目前的毫米波雷达一般是专门用于人体检测,或者是专门用于手势检测,这是因为毫米波雷达的检测优势在于对运动目标的检测,不论是人体目标或者是手部目标都是因为其与毫米波雷达的相对运动才可以被准确地识别检测到。但是,在人体与其手部同时存在运动时,由于两者的距离相对较近,因而两者的运动会产生相互干扰,使得无法有效分辨出运动中的人体或手部,也就无法识别出手部做出的手势。因此,在需要同时检测人体及其手势的应用场景中,现有的毫米波雷达还无法满足检测需求。



技术实现要素:

鉴于上述问题,本发明提出了一种人体手部与人体手势识别的方法及装置,主要目的在于利用毫米波雷达同时并准确地识别出人体及其手部的手势动作。

为达到上述目的,本发明主要提供如下技术方案:

第一方面,本发明提供一种人体手部识别的方法,包括:

利用毫米波雷达在预设时间段内采集的多帧检测信息识别人体目标;

根据当前帧的检测信息,以所述人体目标为中心确定在预设范围内是否存在新检测目标;

若存在,则将具有径向速度的新检测目标确定为所述人体目标的手部;

若不存在,则确定当前帧中不存在所述人体目标的手部。

优选的,利用毫米波雷达在预设时间段内采集的多帧检测信息识别人体目标,包括:

基于所述多帧检测信息中的检测目标生成参考物体图,利用所述参考物体图识别所述毫米波雷达检测到的目标为静止物体或非静止物体;

根据所述参考物体图识别的非静止物体生成人体地图,利用所述人体地图从所述多帧检测信息中的非静止物体中确定人体目标。

优选的,所述毫米波雷达检测出的检测目标的参数包括以下参数的至少一者:空间坐标、径向速度、信噪比与噪声、存在热度、最近运动热度以及连续检测次数;其中,

存在热度,用于表示检测目标在多帧检测信息中被检测到的频次,频次越高则存在热度越大;

最近运动热度,用于表示检测目标被检测到运动的最后一帧与当前帧之间的时间间隔,时间间隔越小则最近运动热度的值越大;

连续检测次数,用于表示检测目标被连续检测到或连续未检测到的次数,其中,正值表示被连续检测到,负值表示连续未检测到。

优选的,基于所述多帧检测信息中的检测目标生成参考物体图,包括:

对所述多帧检测信息按照检测顺序逐一提取每一帧中的检测目标;

根据检测目标的空间位置对一帧检测信息中的检测目标逐一与参考物体图中的已有目标计算空间距离;

若存在空间距离小于阈值,则确定所述检测目标与空间距离最小的已有目标为同一测得目标;

若所述空间距离不小于所述阈值,则在所述参考物体图中为所述检测目标创建测得目标。

优选的,在确定所述检测目标与已有目标为同一测得目标时,所述方法还包括:

更新已有目标的参数值,其中,空间坐标更新为检测目标与已有目标空间坐标的平均值;径向速度、信噪比与噪声更新为检测目标对应的参数值;存在热度在预设范围内基于帧数对应的梯度值升高;最近运动热度在具有径向速度时更新为最近运动热度的最大值;连续检测次数在预设范围内基于上一帧的检测状态更新;

其中,若连续检测次数达到最大值,则将存在热度设为最大值,最近运动热度设为0;若存在热度高于预设值且最近运动热度0,则标记所述已有目标为静止物体。

优选的,在所述参考物体图中为所述检测目标创建测得目标时,所述方法还包括:

确定所创建测得目标的参数值,其中,空间坐标、径向速度、信噪比与噪声的值为检测目标对应的参数值;存在热度为1;最近运动热度在具有径向速度时设置为最大值,否则为0;连续检测次数设置为1。

优选的,在所述参考物体图中为所述检测目标创建测得目标之后,所述方法还包括:

根据多帧检测信息在参考物体图中所创建的测得目标的空间位置判断所述检测目标是否为人体手部。

优选的,在遍历过所述一帧检测信息中的检测目标之后,所述方法还包括:

判断该帧对应的时间点是否为所述毫米波雷达的初始化结束时间点;

若是,则将参考物体图中存在热度高于预设值,且最近运动热度为0的测得目标的存在热度设置为最大值,并标记所述测得目标为静止物体;

若否,则更新各测得目标的参数并整理所述参考物体图。

优选的,更新各测得目标的参数并整理所述参考物体图,包括:

将每个测得目标的存在热度在预设范围内递减,所述预设范围为0至预设值;

若所述测得目标为参考物体图中的已有目标,则在连续检测次数为正值时,将其设置为-1;在连续检测次数为负值时,将数值减1;在连续检测次数达到预设最小值时,标记所述测得目标为非静止物体;将存在热度为0的测得目标从参考物体图中删除。

优选的,根据所述参考物体图识别的非静止物体生成人体地图,包括:

获取所述多帧检测信息中一帧检测信息的检测目标;

若所述检测目标在所述参考物体图中未被标记为静止物体,则将所述检测目标确定为人体目标;

判断所述人体目标与人体地图中的已有目标的平面投影距离是否小于阈值;

若小于,将所述人体目标与已有目标合并为新人体目标,并更新人体地图中所述新人体目标的参数;

若不小于,在所述人体地图中创建所述人体目标对应的新人体目标,并根据所述人体目标的参数确定所述新人体目标的参数。

优选的,所述方法还包括:

将从所述一帧检测信息中确定的人体目标与所述一帧检测信息之前的多帧检测信息所确定的人体目标进行对比;

若人体目标在人体地图中的平面投影距离小于阈值,则将多帧检测信息所确定的人体目标进行合并,并更新合并后人体目标在人体地图中的参数。

优选的,所述方法还包括:

利用所述人体目标的空间坐标以及人体地图确定所述人体目标的身高。

优选的,在将所述检测目标确定为人体目标时,所述方法还包括:

判断所述检测目标在人体地图中指定的范围内是否存在其他检测目标;

若存在,则将所述检测目标与其他检测目标共同确定为人体目标。

优选的,在确定具有径向速度的新检测目标为多个时,所述方法还包括:

根据所述新检测目标与毫米波雷达的距离确定所述人体目标的手部对应的新检测目标。

第二方面,本发明提供一种人体手势识别的方法,所述方法包括:

利用毫米波雷达检测到的人体目标以及对应的手部目标确定在多个连续帧中所述手部目标的空间位置与径向速度;

根据所述空间位置与径向速度确定所述手部目标的运动轨迹;

在所述运动轨迹达到预设长度时,将所述运动轨迹进行空间直线拟合;

根据拟合得到的空间直线的方向矢量以及径向速度确定所述人体目标的人体手势。

优选的,根据所述空间位置与径向速度确定所述手部目标的运动轨迹,包括:

在所述手部目标在所述多个连续帧中未被连续检测到时,判断未检测到所述手部目标的连续帧数是否大于预设帧数;

若大于,则停止确定所述手部目标的运动轨迹。

优选的,所述方法还包括:

设置运动轨迹的预设长度,所述预设长度为不同空间位置的手部目标的数量;

根据所述预设长度获取多个连续帧中手部目标的空间位置与径向速度。

优选的,所述方法还包括:

若所述运动轨迹无法拟合为空间直线,则将所述运动轨迹投影至预设平面中,在所述预设平面内进行直线拟合。

优选的,所述方法还包括:

在根据所述方向矢量以及径向速度无法确定所述人体目标的人体手势时,更新构成所述运动轨迹所对应的多个连续帧。

优选的,所述方法还包括:

在确定所述人体目标的一个人体手势后,在预设时间段内暂停对所述人体目标对应的人体手势进行识别。

第三方面,本发明提供一种人体手部识别的装置,所述装置包括:

识别单元,用于利用毫米波雷达在预设时间段内采集的多帧检测信息识别人体目标;

判断单元,用于根据当前帧的检测信息,以所述识别单元确定的人体目标为中心确定在预设范围内是否存在新检测目标;

确定单元,用于若所述判断单元确定存在新检测目标,则将具有径向速度的新检测目标确定为所述人体目标的手部;

所述确定单元还用,若所述判断单元确定不存在新检测目标,则确定当前帧中不存在所述人体目标的手部。

第四方面,本发明提供一种人体手势识别的装置,所述装置包括:

第一确定单元,用于利用毫米波雷达检测到的人体目标以及对应的手部目标确定在多个连续帧中所述手部目标的空间位置与径向速度;

第二确定单元,用于根据所述第一确定单元确定的空间位置与径向速度确定所述手部目标的运动轨迹;

拟合单元,用于在所述第二确定单元确定的运动轨迹达到预设长度时,将所述运动轨迹进行空间直线拟合;

手势识别单元,用于根据所述拟合单元拟合得到的空间直线的方向矢量以及径向速度确定所述人体目标的人体手势。

另一方面,本发明还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述第一方面的人体手部识别的方法,或者是执行上述第二方面的人体手势识别的方法。

另一方面,本发明还提供一种存储介质,所述存储介质用于存储计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行上述第一方面的人体手部识别的方法,或者是执行上述第二方面的人体手势识别的方法。

借由上述技术方案,本发明提供的一种人体手部与人体手势识别的方法及装置,是利用毫米波雷达所采集的多帧检测信息来识别检测范围内的人体目标,并通过对当前帧的检测信息的分析,结合所识别到的人体目标来确定当前帧中是否存在该人体目标的手部,以此实现对人体与其手部的同步识别,再基于所识别到的手部目标在多个连续帧中的参数,通过空间运动轨迹的拟合来识别该手部目标做的具体手势,从而实现对手势的快速识别。相对于现有基于毫米波雷达的应用技术,本发明实施例所提出的方案实现对人体目标与其手部目标的同步识别,对手势识别更具针对性,更适合应用于需要同时检测人体及其手势的应用场景。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提出的一种人体手部识别的方法的流程图;

图2示出了本发明实施例提出的生成参考物体图的流程图;

图3示出了本发明实施例提出的生成人体地图的流程图;

图4示出了本发明实施例提出的一种人体手势识别的方法的流程图;

图5示出了本发明实施例提出的另一种人体手势识别的方法的流程图;

图6示出了本发明实施例提出的一种人体手部识别的装置的结构示意图;

图7示出了本发明实施例提出的另一种人体手部识别的装置的结构示意图;

图8示出了本发明实施例提出的一种人体手势识别的装置的结构示意图;

图9示出了本发明实施例提出的另一种人体手势识别的装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种人体手部识别的方法,该方法是对人体及其手部的同步识别检测,其具体执行步骤如图1所示,包括:

101、利用毫米波雷达在预设时间段内采集的多帧检测信息识别人体目标。

该步骤是基于毫米波雷达的多帧检测信息进行分析,通过对比不同帧中的测得目标来确定人体目标。具体的,在本步骤中,需要对每个测得目标设置多个参数,其中,包括常规参数与自定义参数,常规参数如空间坐标、径向速度、信噪比与噪声等,而自定义参数主要用于描述一个测得目标在多个连续帧中的运动状态,以此来辅助判断测试目标是静止物体还是非静止物体,并进一步确定是否为人体目标。需要说明的是,这里的非静止物体包括在检测范围内运动的物体以及从检测范围内移出的物体。

102、根据当前帧的检测信息,以人体目标为中心确定在预设范围内是否存在新检测目标。

本步骤中以当前帧的检测信息作为分析的内容,是因为在多帧的检测信息中,同一个人体目标的位置有可能发生变动,导致以该人体目标为中心所确定的预设范围不准确,从而无法有效确定出新检测目标。

需要说明的是,毫米波雷达检测到的测得目标是具有空间坐标的目标,当人的手位于人体与毫米波雷达之间时,虽然手可能会遮挡部分人体,但通过空间坐标的位置分析还是可以将人体目标与手部目标进行区分的。本步骤中的新检测目标是在当前帧中出现在人体目标附近的可被毫米波雷达检测到的目标。

当存在新检测目标时,则该新检测目标可以被确定为该人体目标的候选手部,此时执行步骤103;反之,当不存在新检测目标时,则执行步骤104。

需要说明的是,本步骤中的当前帧为步骤101中多帧检测信息中的一帧。

103、将具有径向速度的新检测目标确定为人体目标的手部。

本实施例中,识别人体目标的手部的目的是为了进一步识别手势,由此可知,如果该新检测目标不具有径向速度,则可确定其不是手部,或者确定其为手但并没有做出待识别的手势,本实施例对此种新检测目标不做识别。

104、确定当前帧中不存在人体目标的手部。

基于上述的实现方式可以看出,在本发明实施例所采用的基于毫米波雷达的人体手部识别的方法,是对在预设时间段内由毫米波雷达采集的多帧检测信息进行分析,通过自义定的参数辅助确定测得目标中是否存在人体目标,并针对当前帧的检测信息分析疑似为手部的新检测目标,当确定存在新检测目标时,根据该新检测目标是否运动来识别器是否为该人体目标的手部。如此,通过上述步骤可以通过毫米波雷达的检测有效识别出在检测范围内的人体及其手部,以便于后续针对手部的做作进行手势识别。

进一步的,当确定具有径向速度的新检测目标为多个时,还可以根据新检测目标与毫米波雷达的距离确定哪个新检测目标为人体目标的手部。具体的,在毫米波雷达的测量范围内,距离毫米波雷达最近的一个新检测目标为人体目标的手部。

进一步的,根据上述图1所示的实施例中的步骤101,在识别人体目标时,本发明的一个优选实施例是通过多帧检测信息维护的参考物体图与人体地图来识别检测范围内的人体目标。具体的:

首先,基于多帧检测信息中的检测目标生成参考物体图,并利用该参考物体图识别毫米波雷达检测到的目标为静止物体或非静止物体。

之后,根据参考物体图识别的非静止物体生成人体地图,并利用该人体地图从多帧检测信息中的非静止物体中确定人体目标。

其中,在参考物体图与人体地图中的测得目标所具有的属性参数包括常规参数,如空间坐标、径向速度、信噪比与噪声,以及自定义参数:存在热度、最近运动热度以及连续检测次数。具体的,存在热度,用于表示检测目标在多帧检测信息中被检测到的频次,频次越高则存在热度越大;最近运动热度,用于表示检测目标被检测到运动的最后一帧与当前帧之间的时间间隔,时间间隔越小则最近运动热度的值越大;连续检测次数,用于表示检测目标被连续检测到或连续未检测到的次数,其中,正值表示被连续检测到,负值表示连续未检测到。

以下,将分别对参考物体图与人体地图的生成与维护过程进行详细说明:

首先,图2示出了本发明实施例中生成参考物体图的过程,其具体步骤包括:

步骤201、对多帧检测信息按照检测顺序逐一提取每一帧中的检测目标。

本步骤是根据采集的帧数逐帧地提取检测目标的数据,包括该检测目标的具体参数,其中,通过获取检测目标的空间坐标以及径向速度的值可以判断该检测目标是否需要进行后续步骤的分析,也就是说判断这些检测目标的合理性,确定该检测目标为真实存在的物体。其判断的依据可以是根据检测目标与毫米波雷达之间的距离是否在预设检测范围内,该预设检测范围是根据实际应用需求而设置的。

步骤202、根据检测目标的空间位置对一帧检测信息中的检测目标逐一与参考物体图中的已有目标计算空间距离。

对于每一帧检测信息,本步骤将其中的每个检测目标逐一与参考物体图进行比对,计算其与已有目标计算空间距离,从而确定该检测目标是否为参考物体图中的已有目标。

需要说明的是,参考物体图在本实施例中是基于检测目标生成,其在处理第一帧检测信息之前,该参考物体图中不存在任何目标,根据第一帧检测信息得到的检测目标,将其添加到参考物体图中,在处理第二帧检测信息时,第一帧检测信息的检测目标就成为了已有目标,与第二帧检测信息中的检测目标进行距离比对,以此类推,随着处理帧数的增多而不断向参考物体图中增加新的检测目标。

步骤203、若存在空间距离小于阈值,则确定检测目标与已有目标为同一测得目标。

其中,毫米波雷达检测到的检测目标在参考物体图中可以表示为一个点,而该点的大小可以基于雷达的分辨率确定,也可以根据该分辨率人为设置。如此,对于一个人体目标,其在参考物体图中的表示将成为多个检测目标的集合。

本步骤中的阈值可以是雷达的分辨率,也可以是人工设置的值,其主要目的就是在确定两个检测目标之间的距离足够接近时,就将这两个检测目标视为同一个测得目标,即为同一物体的检测目标。

在确定该检测目标与参考物体图中的已有目标为同一测得目标时,本步骤将进一步地更新参考物体图中该已有目标的参数,以及标记该已有目标所对应物体的属性,即静止物体或非静止物体。

更新参数的具体方式包括:

空间坐标更新为检测目标与已有目标空间坐标的平均值(即更新物体在图中的坐标位置);径向速度、信噪比与噪声更新为检测目标对应的参数值;存在热度在预设范围内基于帧数对应的梯度值升高(比如,预设范围0-100,梯度值为1,那么当确定检测目标与已有目标为同一目标时,该存在热度的值加1,直至增加到最大值时不再增加);最近运动热度在具有径向速度时更新为最近运动热度的最大值(最近运动热度也是一个范围值,当检测目标在多帧检测信息中存在且运动时,该最近运动热度的值就越大,而当检测目标停止运动时,则该最近运动热度的值就降低);连续检测次数在预设范围内基于上一帧的检测状态更新,由于连续检测次数可以表示两种状态(连续检测到与连续未检测到),因此,其更新是根据上一帧的值(已有目标的值)确定的,当上一帧的值为正(连续检测到)时,该值加1,当上一帧的值为负(连续未检测到)时,将该值设置为1,该连续检测次数也是一个范围值,一般为1-最大值(多帧检测信息的帧数)。

此外,根据上述的更新结果,当连续检测次数为最大值时,可以将该检测目标的存在热度设为最大值,最近运动热度设为0;当存在热度高于预设值且最近运动热度0(该预设值可以人为自定义设置),标记该已有目标为静止物体。即说明该目标所对应的物体可以被一直检测到,且未出现运动,此时可以标记该已有目标为静止物体。

进一步的,若本步骤中可以确定出检测目标同时与多个已有目标的空间距离都小于阈值时,可以是将其与最近的已有目标进行合并,同时更新参数值,还可以将多个已有目标与该检测目标全部合并为一个目标,再更新该目标的参数。

步骤204、若空间距离不小于阈值,则在参考物体图中为所述检测目标创建测得目标。

本步骤是检测目标与所有已有目标的空间距离都不小于阈值时,说明该检测目标是该帧中新出现的目标,此时,将在参考物体图中为该检测目创建一个测得目标。

同时,还将确定该测得目标的参数值,其具体包括:空间坐标、径向速度、信噪比与噪声的值为检测目标对应的参数值;存在热度设置为1;最近运动热度在具有径向速度时设置为最大值,否则为0;连续检测次数设置为1。

在参考物体图中为检测目标创建测得目标之后,由于该检测目标的出现,需要进一步的判断其是否为人体手部,因为手在做出移动手势时,每帧检测到手都可能在新的位置,不出现在参考物体图中,所以检测目标如果在参考物体图中没有对应的已有目标,就有可能是移动中的手。具体判断可以根据多帧检测信息在参考物体图中所创建的测得目标的空间位置判断该检测目标是否为人体手部。即该测得目标的空间位置是否在以人体目标为中心的预设范围内,人体目标的确定将在后面实施例中详细说明。

步骤205、在在遍历过一帧检测信息中的检测目标后,判断该帧对应的时间点是否为毫米波雷达的初始化结束时间点。

初始化过程是毫米波雷达启动从第一个检测帧出现时开始,到达预设时间时结束,处理所采集的多帧检测信息,生成参考物体图的过程。即该初始化过程是由人为设置时间长度的毫米波雷达处理检测信息的过程。初始化过程的目的是为了雷达喀什工作后能够快速判断检测范围内的哪些检测目标是静止物体,因为一个检测目标要确定其为静止物体一般需要对其进行较长时间的检测,本步骤中的初始化过程就是将该检测时间强制性的缩小,如果可运动的物体在该初始化过程中未运动,那么也将该物体标记为静止物体,直至在后续的检测过程中,该物体运动了才会将其标记为非静止物体。

根据本步骤的判断,如果该帧为初始化结束点,则执行步骤206,反之,执行步骤207。

步骤206、更新参考物体图中测得目标的参数。

具体的,将参考物体图中存在热度高于预设值,且最近运动热度为0的测得目标的存在热度设置为最大值,并标记该测得目标为静止物体。

步骤207、整理参考物体图中的测得目标。

在非初始化结束点时,同样需要更新各测得目标的参数并整理参考物体图。也就是维护该参考物体图。

具体的,将参考物体图中的每个测得目标的存在热度在预设范围内递减,所述预设范围为0至预设值,该递减过程也是根据预设梯度递减,直至减少至0,也就是在每处理完一帧数据后就对测得目标的存在热度更新一次。

此外,若测得目标为参考物体图中的已有目标(也就是在该帧中没有与该已有目标相合并的检测目标时),则在连续检测次数为正值时,将其设置为-1;在连续检测次数为负值时,将数值减1。并且,在连续检测次数达到预设最小值时(即连续多帧都未被检测到),标记该测得目标为非静止物体,同时,将存在热度为0的测得目标从参考物体图中删除,即删除曾经出现过或偶尔出现的物体。

通过以上图2所示的步骤,即通过多帧检测信息生成并维护的参考物体图,可以分析出:如果一个物体完全不动,而且稳定地被检测到(信噪比不足的目标,有时即便确实存在,也会时常不被雷达检测到),存在热度很快就能达到其最大值,对此,该物体将被认定是静止物体;而如果一个物体完全不动,但因为信噪比不足或雷达偶尔的漏检,间断地被检测到,在足够长时间后,存在热度也会达到其最大值,也会被认定是静止物体;而对于可能会运动但基本静止的物体,在运动过后,经过足够长时间或连续被检测到一段时间,重新被标记为静止物体;如果一个静止物体离开了检测范围,很快参考物体图中就不将其标记为静止物体,再经过足够长时间,由于存在热度归0,参考物体图将去除此物体的记录;如果一个静止物体被其他非静止物体暂时遮挡,很快参考物体图中就不将其标记为静止物体,但在经过足够长时间之前(即被删除之前)不再被遮挡,又会被重新标记为静止物体。由此,人体只要在存在热度最大值对应的时间段内有微小的运动,就不会被识别为静止物体,而被标记为非静止物体。

根据上述图2对参考物体图的说明,本发明实施例将进一步说明人体地图的生成与维护过程,具体如图3所示,包括:

步骤301、获取多帧检测信息中一帧检测信息的检测目标。

首先,人体地图与参考物体图类似,都是基于多帧检测信息生成并持续维护得到的,即在第一帧处理之前,人体地图中并不存在人体目标,而是随着每一帧检测信息的处理不断更新。

人体地图与参考物体图的区别在于参考物体图为三维空间坐标系下的图,而人体地图是一个二维地图,一般为应用场景的中地面,也可以根据需求设置人体地图的所属平面。在人体地图中所记录人体目标的参数包括:平面坐标、高度(人体身高)、最近运动热度、累积目标数。其中,累积目标数是指雷达所检测到的目标点。

本步骤中,是针对一帧检测信息中的检测目标进行处理,这是因为如果累计过去多帧检测信息的数据,当人体运动时,在多个帧中记录了不同位置的人体目标,在生成人体地图时都会被当作疑似的人体目标,导致识别不准确。

步骤302、若检测目标在参考物体图中未被标记为静止物体,则将该检测目标确定为人体目标。

本步骤是将参考物体图中未被标记为静止物体,或被标记为非静止物体的检测目标,确定为人体目标。

进一步的,当该帧的检测目标在参考物体图中为新创建的测得目标,并且未被识别为手部时,确定该检测目标为人体目标。

进一步的,在确定人体目标时,还可以判断检测目标在人体地图中指定的范围内是否存在其他检测目标,该指定的范围一般为人体在该人体地图中的投影所占的范围,若存在,则将该检测目标与其他检测目标共同确定为人体目标。以此减少对人体目标的逐一分析,提高处理效率。一般地,在确定人体目标时,检测目标落在人体投影所对应的指定范围内的数量有多个,当在指定的范围内只有一个检测目标时,则不能将其确定为人体目标,或者是当在指定的范围内的检测目标低于某一数量值时,则不能将其确定为人体目标。

步骤303、判断人体目标与人体地图中的已有目标的平面投影距离是否小于阈值。

其中,人体地图中的已有目标是指在该帧之前所处理的多帧检测信息而累积得到的目标。

本步骤就是将该帧中的人体目标投影到人体地图所在的平面中,并判断其与已有目标之间在该平面中的距离,若小于阈值,则执行步骤304,反之执行步骤305。该阈值一般是根据一个人在人体地图平面投影所占面积而设置的,比如0.5m,当小于阈值时,就认为该人体目标与已有目标是同一个人体的不同部位。

步骤304、将人体目标与已有目标合并为新人体目标,并更新人体地图中该新人体目标的参数。

本步骤是在当前帧中的人体目标与人体地图中的已有目标之间的距离足够近时,即小于阈值时,将两者合为一个目标,即新人体目标。

更新该新人体目标的参数,包括:平面坐标更新为加权平均值(即已有目标的平面坐标按累计目标数加权,该人体目标的平面坐标按1加权);累积目标数加1;高度更新为人体地图中已有目标当前值和该人体目标高度的较大者;最近运动热度更新为人体地图中该人体目标当前值和已有目标的最近运动热度的较大者。

步骤305、在人体地图中创建人体目标对应的新人体目标,并根据该人体目标的参数确定该新人体目标的参数。

本步骤是在当前帧中的人体目标与人体地图中的已有目标之间的距离不足够近时,即不小于阈值时,在人体地图中创建一个新人体目标,并为该新人体目标设置参数值。具体的,平面坐标、高度、最近运动热度均为人体目标的参数,累积目标数设置为1。

步骤306、将从一帧检测信息中确定的人体目标与该一帧检测信息之前的多帧检测信息所确定的人体目标进行对比,更新人体地图中的人体目标。

上述步骤301-305是针对一帧检测信息中的检测目标来更新维护人体地图,当遍历完一帧检测信息中的所有检测目标后,再以帧为单位遍历之前多帧检测信息中所确定的人体目标,如果人体目标在人体地图中的平面投影距离小于阈值,该阈值为自定义距离,即判断不同帧中确定的人体目标是否足够接近,将多帧检测信息(包括当前帧与之前的多帧检测信息)中所确定的足够接近人体目标进行合并,并更新合并后人体目标在人体地图中的参数。更新参数的方式与步骤304中的方式相同,此处不再赘述。

通过以上图3所示的步骤,即基于参考物体图所识别的非静止物体以及多帧检测信息生成并维护的人体地图,可以确定出具体的人体目标,一般人体目标的最近运动热度不为0。并且基于各个人体目标的高度参数结合对应的空间坐标,还可以确定出毫米波雷达检测到的人体身高,并根据身高可以进一步地区分所检测的人是大人或小孩。

基于上述利用毫米波雷达识别人体及其手部的实施例,本发明实施例还提供了一种人体手势识别的方法,该方法是在上述同时识别出人体以及对应的手部后,快速对手部的动作进行识别以确定人体手势的方法,具体如图4所示,包括:

步骤401、利用毫米波雷达检测到的人体目标以及对应的手部目标确定在多个连续帧中该手部目标的空间位置与径向速度。

由于本步骤中的手部目标具有对应的人体目标,如此,在识别到多个人体目标以及多个手部目标时,就可以更准确地判断出哪个人做了什么手势,从而反馈更准确的手势响应结果。

本步骤是以帧为单元,获取多个连续帧中手部目标的空间位置与径向速度。

步骤402、根据空间位置与径向速度确定手部目标的运动轨迹。

根据手部目标的空间位置可以确定多个空间点,而根据各个空间位置所对应的径向速度可以确定手部目标的运动方向,将这些空间点以运动方向为参考进行连接,得到该手部目标的运动轨迹。

步骤403、在运动轨迹达到预设长度时,将运动轨迹进行空间直线拟合。

运动轨迹是基于多个帧的检测信息确定的,该运动轨迹的长度与帧数正相关,而要判断手部目标的手势,并不需要获取完整的运动轨迹,可以通过一段运动轨迹进行判断,因此,该预设长度是指通过指定数量的连续帧检测信息所确定的手部目标的运动轨迹。

将运动轨迹进行空间直线拟合的方法众多,本发明实施例优选最小二乘法对运动轨迹机型空间直线拟合。

步骤404、根据拟合得到的空间直线的方向矢量以及径向速度确定人体目标的人体手势。

本实施例中所识别的人体手势包括但不限定是人体面向毫米波雷达所做的左右、上下、前后滑动手势。其中,左右、上下滑动手势可以通过空间直线的方向矢量进行识别,而前后滑动手势可以通过手部目标的径向速度进行识别。而将间直线的方向矢量以及径向速度相结合则可以识别更多的滑动手势。

基于上述图4所示步骤可知,本发明实施例是基于对人体以及手部同时识别的得到人体目标以及手部目标的前提下,实现的对手部目标运动轨迹的追踪,从而快速识别出该人体所要做的具体手势。

进一步的,在图4所示实施例的基础上,本发明实施例将针对上述各步骤的具体实现进行详细说明,具体如图5所示,包括:

步骤501、设置运动轨迹的预设长度。

该预设长度为不同空间位置的手部目标的数量,该数量在多个连续帧中都具有手部目标,并且,每个手部目标的空间位置都不同时,其与帧数相同,但是在实际应用中,多个连续帧中存在某一帧因为干扰或其他问题没有检测该手部目标的情况,或者是因手部目标运动较慢导致多个连续帧中的手部目标的空间位置相同,此时,就需要采集更多帧中的手部目标的空间位置与径向速度来构成运动轨迹,使其符合预设长度。

此外,该预设长度的设置还与所要识别手势的难度相关,即简单的手势可以通过较短长度的运动轨迹识别,而复杂的手势就需要较长的运动轨迹来识别。

步骤502、根据预设长度获取多个连续帧中手部目标的空间位置与径向速度。

本步骤是基于预设长度确定多个连续帧的帧数,进而从多个连续帧中获取手部目标的空间位置与径向速度。

步骤503、根据空间位置与径向速度确定手部目标的运动轨迹。

本步骤中,当手部目标在多个连续帧中未被连续检测到时,判断未检测到手部目标的连续帧数是否大于预设帧数。也就是说,本实施例中允许在多个连续帧出现个别帧中未检测到手部目标的情况,但是,对于未检测到手部目标的连续帧数需要作出限定,因为,当连续帧数大于预设帧数时,可以认为是手部目标已经结束该手势,或者是中断了该手势,此时应停止确定该手部目标的运动轨迹。

步骤504、在运动轨迹达到预设长度时,将运动轨迹进行空间直线拟合。

在进行空间直线拟合后,一般会存在两种结果,一种是运动轨迹与空间直线拟合的线性相关度高,即可以拟合为一条空间直线,此时就可以根据所拟合的空间直线进一步判断具体的人体手势。而另一种则是运动轨迹与空间直线拟合的线性相关度不高,即无法拟合为一条空间直线,此时,本发明实施例可以将运动轨迹投影至预设平面中,在该预设平面内进行直线拟合,其中,该预设平面是根据实际需求预先设置的,比如毫米波雷达的收发天线所在的平面。

若在预设平面中也无法拟合为直线,则不对该运动轨迹进行人体手势识别。

步骤505、根据拟合得到的直线的方向矢量以及径向速度确定人体目标的人体手势。

其中,当根据方向矢量以及径向速度无法确定人体目标的人体手势时,还可以更新构成该运动轨迹所对应的多个连续帧,也就是对构成运动轨迹的数据点进行更新,比如去除起始一帧对应的数据点,在确保运动轨迹长度满足预设长度的前提下,通过缩短运动轨迹来确定具体的人体手势。如此,可以去除手部在做出手势动作之前的额外非手势动作。

步骤506、在确定人体目标的一个人体手势后,在预设时间段内暂停对该人体目标识别人体手势。

本步骤是为了避免人体在做出一次手势后,手移动向一下个点准备做第二个手势的过程中被识别为新的手势。

进一步的,作为对上述图1-3所示方法实施例的实现,本发明实施例提供了一种人体手部识别的装置,该装置可以利用毫米波雷达同时、准确地识别出被测范围内的人体及其手部目标。该装置的实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。具体如图6所示,该装置包括:

识别单元61,用于利用毫米波雷达在预设时间段内采集的多帧检测信息识别人体目标;

判断单元62,用于根据当前帧的检测信息,以所述识别单元61确定的人体目标为中心确定在预设范围内是否存在新检测目标;

确定单元63,用于若所述判断单元62确定存在新检测目标,则将具有径向速度的新检测目标确定为所述人体目标的手部;

所述确定单元63还用,若所述判断单元62确定不存在新检测目标,则确定当前帧中不存在所述人体目标的手部。

进一步的,如图7所示,所述识别单元61包括:

第一识别模块611,用于基于所述多帧检测信息中的检测目标生成参考物体图,利用所述参考物体图识别所述毫米波雷达检测到的目标为静止物体或非静止物体;

第二识别模块612,用于根据所述第一识别模块得到的参考物体图识别的非静止物体生成人体地图,利用所述人体地图从所述多帧检测信息中的非静止物体中确定人体目标。

进一步的,所述毫米波雷达检测出的检测目标的参数包括以下参数的至少一者:空间坐标、径向速度、信噪比与噪声、存在热度、最近运动热度以及连续检测次数;其中,

存在热度,用于表示检测目标在多帧检测信息中被检测到的频次,频次越高则存在热度越大;

最近运动热度,用于表示检测目标被检测到运动的最后一帧与当前帧之间的时间间隔,时间间隔越小则最近运动热度的值越大;

连续检测次数,用于表示检测目标被连续检测到或连续未检测到的次数,其中,正值表示被连续检测到,负值表示连续未检测到。

进一步的,如图7所示,所述第一识别模块611包括:

提取子模块6111,用于对所述多帧检测信息按照检测顺序逐一提取每一帧中的检测目标;

计算子模块6112,用于根据所述提取子模块6111得到的检测目标的空间位置对一帧检测信息中的检测目标逐一与参考物体图中的已有目标计算空间距离;

合并子模块6113,用于若存在所述计算子模块6112得到的空间距离小于阈值,则确定所述检测目标与空间距离最小的已有目标为同一测得目标;

创建子模块6114,用于若所述计算子模块6112得到的空间距离不小于所述阈值,则在所述参考物体图中为所述检测目标创建测得目标。

进一步的,所述合并子模块6113还用于,在确定所述检测目标与已有目标为同一测得目标时,更新已有目标的参数值,其中,空间坐标更新为检测目标与已有目标空间坐标的平均值;径向速度、信噪比与噪声更新为检测目标对应的参数值;存在热度在预设范围内基于帧数对应的梯度值升高;最近运动热度在具有径向速度时更新为最近运动热度的最大值;连续检测次数在预设范围内基于上一帧的检测状态更新;其中,若连续检测次数达到最大值,则将存在热度设为最大值,最近运动热度设为0;若存在热度高于预设值且最近运动热度0,则标记所述已有目标为静止物体。

进一步的,所述创建子模块6114还用于,在所述参考物体图中为所述检测目标创建测得目标时,确定所创建测得目标的参数值,其中,空间坐标、径向速度、信噪比与噪声的值为检测目标对应的参数值;存在热度为1;最近运动热度在具有径向速度时设置为最大值,否则为0;连续检测次数设置为1。

进一步的,所述第一识别模块611还包括:

识别子模块6115,用于在所述创建子模块6114在参考物体图中为所述检测目标创建测得目标之后,根据多帧检测信息在参考物体图中所创建的测得目标的空间位置判断所述检测目标是否为人体手部。

进一步的,如图7所示,所述第一识别模块611还包括:

判断子模块6116,用于在遍历过所述一帧检测信息中的检测目标之后,判断该帧对应的时间点是否为所述毫米波雷达的初始化结束时间点;

更新子模块6117,用于在判断子模块6116确定为初始化结束时间点时,将参考物体图中存在热度高于预设值,且最近运动热度为0的测得目标的存在热度设置为最大值,并标记所述测得目标为静止物体;反之,则更新各测得目标的参数并整理所述参考物体图。

进一步的,所述更新子模块6117还用于,将每个测得目标的存在热度在预设范围内递减,所述预设范围为0至预设值;若所述测得目标为参考物体图中的已有目标,则在连续检测次数为正值时,将其设置为-1;在连续检测次数为负值时,将数值减1;在连续检测次数达到预设最小值时,标记所述测得目标为非静止物体;将存在热度为0的测得目标从参考物体图中删除。

进一步的,如图7所示,所述第二识别模块612包括:

获取子模块6121,用于获取所述多帧检测信息中一帧检测信息的检测目标;

确定子模块6122,用于若所述获取子模块6121得到的检测目标在所述参考物体图中未被标记为静止物体,则将所述检测目标确定为人体目标;

判断子模块6123,用于判断所述确定子模块6122确定的人体目标与人体地图中的已有目标的平面投影距离是否小于阈值;

合并子模块6124,用于若判断子模块6123确定小于阈值,将所述人体目标与已有目标合并为新人体目标,并更新人体地图中所述新人体目标的参数;

创建子模块6125,用于若判断子模块6123确定不小于阈值,在所述人体地图中创建所述人体目标对应的新人体目标,并根据所述人体目标的参数确定所述新人体目标的参数。

进一步的,如图7所示,所述第二识别模块612还包括:

对比子模块6126,用于将从所述一帧检测信息中确定的人体目标与所述一帧检测信息之前的多帧检测信息所确定的人体目标进行对比;

所述合并子模块6124还用于,若所述对比子模块6126确定人体目标在人体地图中的平面投影距离小于阈值,则将多帧检测信息所确定的人体目标进行合并,并更新合并后人体目标在人体地图中的参数。

进一步的,所述确定子模块6122还用于,利用所述人体目标的空间坐标以及人体地图确定所述人体目标的身高。

进一步的,所述确定子模块6122还用于,判断所述检测目标在人体地图中指定的范围内是否存在其他检测目标;若存在,则将所述检测目标与其他检测目标共同确定为人体目标。

进一步的,所述确定单元63还用于,在确定具有径向速度的新检测目标为多个时,根据所述新检测目标与毫米波雷达的距离确定所述人体目标的手部对应的新检测目标。

进一步的,作为对上述图4-5所示方法实施例的实现,本发明实施例提供了一种人体手势识别的装置,该装置可以基于毫米波雷达同时识别出的人体及其手部快速识别出人体所做出的手势动作。该装置的实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。具体如图8所示,该装置包括:

第一确定单元71,用于利用毫米波雷达检测到的人体目标以及对应的手部目标确定在多个连续帧中所述手部目标的空间位置与径向速度;

第二确定单元72,用于根据所述第一确定单元71确定的空间位置与径向速度确定所述手部目标的运动轨迹;

拟合单元73,用于在所述第二确定单元72确定的运动轨迹达到预设长度时,将所述运动轨迹进行空间直线拟合;

手势识别单元74,用于根据所述拟合单元73拟合得到的空间直线的方向矢量以及径向速度确定所述人体目标的人体手势。

进一步的,如图9所示,所述第二确定单元72包括:

判断模块721,用于在所述手部目标在所述多个连续帧中未被连续检测到时,判断未检测到所述手部目标的连续帧数是否大于预设帧数;

确定模块722,用于在所述判断模块722确定大于预设帧数时,停止确定所述手部目标的运动轨迹。

进一步的,如图9所示,所述装置还包括:

设置单元75,用于设置运动轨迹的预设长度,所述预设长度为不同空间位置的手部目标的数量;

所述第一确定单元71还用于,根据所述设置单元75设置的预设长度获取多个连续帧中手部目标的空间位置与径向速度。

进一步的,所述拟合单元73还用于,若所述运动轨迹无法拟合为空间直线,则将所述运动轨迹投影至预设平面中,在所述预设平面内进行直线拟合。

进一步的,如图9所示,所述装置还包括:

更新单元76,用于在所述手势识别单元74根据所述方向矢量以及径向速度无法确定所述人体目标的人体手势时,更新构成所述运动轨迹所对应的多个连续帧。

进一步的,所述手势识别单元74还用于,在确定所述人体目标的一个人体手势后,在预设时间段内暂停对所述人体目标对应的人体手势进行识别。

进一步的,本发明实施例还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述图1-3中所述的人体手部识别的方法,或者是执行上述图4-5中所述的人体手势识别的方法。

进一步的,本发明实施例还提供一种存储介质,所述存储介质用于存储计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行上述图1-3中所述的人体手部识别的方法,或者是执行上述图4-5中所述的人体手势识别的方法。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存

(flashram),存储器包括至少一个存储芯片。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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