目标对象匹配方法、系统、设备及机器可读介质
技术领域
本发明涉及识别技术,特别是涉及一种目标对象匹配方法、系统、设备及机器可读介质。
背景技术
传统的二维目标对象匹配方法比较依赖硬件的处理能力,需要额外的传感器设备先获取目标对象的姿态(Pose)信息,然后再与参考目标进行姿态比较。即使是无需额外设备的方法,也需要先进行逐个目标对象检测和目标对象姿态关键点定位,例如DeformablePart Model(DPM,可变形的组件模型,是一种用于目标探测的算法)等,这些方法都比较耗时,实时性不足。当前常采用的方法是基于深度学习的骨架关键点检测,但这些深度方法里大部分都是从上到下(Top-down:对一张图片的人体关键点检测,先用行人检测器定位到人体,然后用关键点检测器对每个人体进行关键点检测)。例如目标对象为人体时,常用方法是先检测到人体,然后再对人体进行骨架点定位,两步合起来耗时往往较大。而在一些场景下,可能同时存在多个目标对象,因此需要更高效匹配方法对目标对象的姿态进行实时检测与匹配。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种目标对象匹配方法、系统、设备及机器可读介质,用于解决现有技术中存在的问题。
为实现上述目的及其他相关目的,本发明提供一种目标对象匹配方法,包括有:
获取一个或多个目标对象处于不同姿态时的一个或多个匹配区域;
将所述一个或多个匹配区域仿射变换至参考对象中相对应的参考区域;
确定目标对象与参考对象的匹配度。
可选地,所述参考对象与所述目标对象相对应,所述目标对象包括以下至少之一:目标人体、目标动物体。
可选地,获取一个或多个连续帧图像,根据连续帧图像确定一个或多个目标人体处于不同姿态时的一个或多个匹配区域。
可选地,所述匹配区域包括以下至少之一:目标人体骨架点、目标人体骨架点组合、目标人体部位。
可选地,所述目标人体骨架点包括以下至少之一:人头中心点、左臀点、右臀点、左肩点、右肩点。
可选地,所述目标人体骨架点组合包括以下至少之一:人头中心点、左臀点、右臀点构成的人体骨架点组合;人头中心点、左肩点、右肩点构成的人体骨架点组合;左肩点、左臀点、右臀点构成的人体骨架点组合;右肩点、左臀点、右臀点构成的人体骨架点组合。
可选地,所述目标人体部位包括以下至少之一:人体头部、人体肩部、人体手臂、人体臀部、人体腿部。
可选地,若匹配区域为目标人体骨架点,则所述参考区域包括参考人体骨架点;所述参考人体骨架点包括以下至少之一:与人头中心点相对应的人头中心参考点、与左臀点相对应的左臀参考点、与右臀点相对应的右臀参考点、与左肩点相对应的左肩参考点、与右肩点相对应的右肩参考点。
可选地,若匹配区域为目标人体骨架点组合,则所述参考区域包括参考人体骨架点组合;所述参考人体骨架点组合包括以下至少之一:人头中心参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合;人头中心参考点、左肩参考点、右肩参考点构成的参考人体骨架点组合;左肩参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合;右肩参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合。
可选地,所述仿射变换包括以下至少之一:旋转、平移、剪切。
可选地,确定目标对象与参考对象的匹配度,具体包括:
获取目标人体骨架点序列和参考人体骨架点序列,确定目标人体骨架点序列与参考人体骨架点序列的骨架点重合序列、骨架点重合比;
按照所述骨架点重合序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列;
根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点重合比,确定目标人体与参考人体的匹配度。
可选地,确定目标对象与参考对象的匹配度,具体包括:
获取目标人体骨架点组合序列和参考人体骨架点组合序列,确定目标人体骨架点组合序列与参考人体骨架点组合序列的骨架点组合重合序列、骨架点组合重合比;
按照所述骨架点组合重合序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列;
根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点组合重合比,确定目标人体与参考人体的匹配度。
本发明还提供一种目标对象匹配系统,所述系统包括有:
获取模块,用于获取一个或多个目标对象处于不同姿态时的一个或多个匹配区域;
仿射变换模块,用于将所述一个或多个匹配区域仿射变换至参考对象中相对应的参考区域;
匹配模块,用于确定目标对象与参考对象的匹配度。
可选地,所述参考对象与所述目标对象相对应,所述目标对象包括以下至少之一:目标人体、目标动物体。
可选地,所述获取模块包括有图像获取单元和匹配区域单元;
所述图像获取单元用于获取一个或多个连续帧图像;
所述匹配区域单元根据连续帧图像确定一个或多个目标人体处于不同姿态时的一个或多个匹配区域。
可选地,所述匹配区域包括以下至少之一:目标人体骨架点、目标人体骨架点组合、目标人体部位。
可选地,所述目标人体骨架点包括以下至少之一:人头中心点、左臀点、右臀点、左肩点、右肩点。
可选地,所述目标人体骨架点组合包括以下至少之一:人头中心点、左臀点、右臀点构成的人体骨架点组合;人头中心点、左肩点、右肩点构成的人体骨架点组合;左肩点、左臀点、右臀点构成的人体骨架点组合;右肩点、左臀点、右臀点构成的人体骨架点组合。
可选地,所述目标人体部位包括以下至少之一:人体头部、人体肩部、人体手臂、人体臀部、人体腿部。
可选地,若匹配区域为目标人体骨架点,则所述参考区域包括参考人体骨架点;所述参考人体骨架点包括以下至少之一:与人头中心点相对应的人头中心参考点、与左臀点相对应的左臀参考点、与右臀点相对应的右臀参考点、与左肩点相对应的左肩参考点、与右肩点相对应的右肩参考点。
可选地,若匹配区域为目标人体骨架点组合,则所述参考区域包括参考人体骨架点组合;所述参考人体骨架点组合包括以下至少之一:人头中心参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合;人头中心参考点、左肩参考点、右肩参考点构成的参考人体骨架点组合;左肩参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合;右肩参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合。
可选地,所述仿射变换包括以下至少之一:旋转、平移、剪切。
可选地,所述匹配模块包括第一处理单元、第一计算单元和第一匹配单元;
第一处理单元用于获取目标人体骨架点序列和参考人体骨架点序列,确定目标人体骨架点序列与参考人体骨架点序列的骨架点重合序列、骨架点重合比;
第一计算单元用于按照所述骨架点重合序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列;
第一匹配单元用于根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点重合比,确定目标人体与参考人体的匹配度。
可选地,所述匹配模块包括第二处理单元、第二计算单元和第二匹配单元;
所述第二处理单元用于获取目标人体骨架点组合序列和参考人体骨架点组合序列,确定目标人体骨架点组合序列与参考人体骨架点组合序列的骨架点组合重合序列、骨架点组合重合比;
所述第二计算单元用于按照所述骨架点组合重合序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列;
所述第二匹配单元用于根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点组合重合比,确定目标人体与参考人体的匹配度。
本发明还提供一种目标对象匹配设备,包括有:
获取一个或多个目标对象处于不同姿态时的一个或多个匹配区域;
将所述一个或多个匹配区域仿射变换至参考对象中相对应的参考区域;
确定目标对象与参考对象的匹配度。
本发明还提供一种设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述设备执行如上述中一个或多个所述的方法。
本发明还提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如上述中一个或多个所述的方法。
如上所述,本发明提供的一种目标对象匹配方法、系统、设备及机器可读介质,具有以下有益效果:本发明通过获取一个或多个目标对象处于不同姿态时的一个或多个匹配区域;将所述一个或多个匹配区域仿射变换至参考对象中相对应的参考区域;确定目标对象与参考对象的匹配度。本发明基于自下而上的深姿态方法,能够直接检测整个连续帧图像中所有人体的关键点,再将连续帧图像中目标人体的姿态中的关键点仿射变换至另一个人体上,根据仿射变换后的结果计算目标人体与参考人体的匹配度;本发明不仅耗时短,而且在同时存在多个目标人体的条件下也能够计算目标人体与参考人体的匹配度。
附图说明
图1为一实施例提供的目标对象匹配方法流程示意图。
图2为一实施例提供的目标人体骨架点示意图。
图3为一实施例提供的参考人体骨架点示意图。
图4为一实施例提供的目标对象匹配系统连接示意图。
图5为一实施例提供的获取模块硬件结构示意图。
图6为一实施例提供的匹配模块硬件结构示意图。
图7为另一实施例提供的匹配模块硬件结构示意图。
图8为一实施例提供的终端设备的硬件结构示意图。
图9为另一实施例提供的终端设备的硬件结构示意图。
元件标号说明
M10 获取模块
M20 仿射变换模块
M30 匹配模块
D10 图像获取单元
D20 匹配区域单元
D30 第一处理单元
D40 第一计算单元
D50 第一匹配单元
D60 第二处理单元
D70 第二计算单元
D80 第二匹配单元
1100 输入设备
1101 第一处理器
1102 输出设备
1103 第一存储器
1104 通信总线
1200 处理组件
1201 第二处理器
1202 第二存储器
1203 通信组件
1204 电源组件
1205 多媒体组件
1206 语音组件
1207 输入/输出接口
1208 传感器组件
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
仿射变换:是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。
Deep Pose:深度学习的姿态检测。
关键点:最佳的点或者比较有代表性的点。
骨架关键点:人体骨架点中最佳的骨架点或者比较有代表性的骨架点。
请参阅图1至图3,本发明提供一种目标对象匹配方法,包括有:
S100,获取一个或多个目标对象处于不同姿态时的一个或多个匹配区域。本申请实施例中,目标对象例如可以包括以下至少之一:目标人体、目标动物体。若目标对象为人体,则目标人体处于不同姿态包括以下至少之一:目标人体为工人,工人作业时的姿态;目标人体为舞蹈老师,舞蹈老师进行舞蹈教学时的姿态;目标人体为学生,学生做课间操时的姿态;目标人体为中年妇女,中年妇女跳广场舞时的姿态等。
在一示例性实施例中,例如可以通过常规计算机和普通摄像头来获取一个或多个连续帧图像,根据连续帧图像确定一个或多个目标人体处于不同姿态时的一个或多个匹配区域。与现有技术相比,本申请不需要设置专用的人体检测传感器设备,大幅降低了成本。其中,连续帧图像包括视频、连续拍摄的照片等。
在一些示例性实施例中,匹配区域包括以下至少之一:目标人体骨架点、目标人体骨架点组合、目标人体部位。
其中,目标人体骨架点包括以下至少之一:人头中心点、左臀点、右臀点、左肩点、右肩点。目标人体骨架点组合包括以下至少之一:人头中心点、左臀点、右臀点构成的人体骨架点组合;人头中心点、左肩点、右肩点构成的人体骨架点组合;左肩点、左臀点、右臀点构成的人体骨架点组合;右肩点、左臀点、右臀点构成的人体骨架点组合。目标人体部位包括以下至少之一:人体头部、人体肩部、人体手臂、人体臀部、人体腿部。
例如本申请以人体姿态为目标对象,连续帧图像为视频,在确定目标对象的匹配区域时,通过常规计算机和普通摄像头获取一个或多个视频。从视频画面中获取了一个或多个人体,根据获取的人体,以人体骨架点为匹配区域,基于Bottom-up(自下而上)的DeepPose方法,对视频画面中的人体进行骨架关键点定位,能够直接检测整个视频画面中所有人体的骨架关键点。选取其中的一个或多个人体作为目标人体或待匹配人体,则相当于能够直接检测整个视频画面中所有目标人体或所有待匹配人体的骨架关键点。本申请实施例基于自下而上的Deep Pose方法,与现有技术中Top-down(自上而下)方法相比,本申请实施例可以直接对人体进行整体检测,不需要按照现有技术中的方法先对人体从人头开始检测,再依次往下进行检测。而且,本申请实施例高效准确,耗时几乎不受画面中的人数影响,多人视频场景下帧率可以达到20FPS(Frames Per Second,每秒传输帧数)以上;与现有技术在多人视频场景下帧率只有2FPS相比,本申请在耗时和多人场景检测下明显优于现有技术。多人视频场景例如可以包括工人作业、舞蹈教学、体感游戏、学生课间操、广场舞等。
S200,将所述一个或多个匹配区域仿射变换至参考对象中相对应的参考区域。本申请实施例中,参考对象与目标对象相对应,具体地,若目标对象为人体,则参考对象也为人体;若目标对象为动物体,则参考对象也为动物体。
在一些示例性实施例中,参考区域包括以下至少之一:参考人体骨架点、参考人体骨架点组合、参考人体部位。
其中,若匹配区域为目标人体骨架点,则所述参考区域包括参考人体骨架点;所述参考人体骨架点包括以下至少之一:与人头中心点相对应的人头中心参考点、与左臀点相对应的左臀参考点、与右臀点相对应的右臀参考点、与左肩点相对应的左肩参考点、与右肩点相对应的右肩参考点。
若匹配区域为目标人体骨架点组合,则所述参考区域包括参考人体骨架点组合;所述参考人体骨架点组合包括以下至少之一:人头中心参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合;人头中心参考点、左肩参考点、右肩参考点构成的参考人体骨架点组合;左肩参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合;右肩参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合。
若匹配区域为目标人体部位,则参考区域包括参考人体部位,所述参考人体部位包括以下至少之一:参考人体头部、参考人体肩部、参考人体手臂、参考人体臀部、参考人体腿部。
例如本申请实施例中,若目标对象为人体,在视频画面中选取两个人体在某一状态下的姿态,选择其中一个人体为目标人体或待匹配人体,另一个人体为参考人体或标准人体,将目标人体的骨架点通过仿射变换到另一个参考人体上,使人体骨架点统一到近似相同的尺度和角度。其中,仿射变换操作包括以下至少之一:旋转、平移、剪切。因为由三个人体骨架关键点就可以确定仿射变换关系,并且每个人体最多有18个人体骨架关键点,在仅由三个人体骨架点确定仿射变换关系的条件下,就存在816种选择。因此,由18个人体骨架关键点构成的序列相当于人体骨架点序列;在18个人体骨架关键点任意选择三个以上人体骨架关键点,将所选择的人体骨架关键点作为一个人体骨架关键点组合,由人体骨架关键点组合所构成的序列相当于人体骨架点组合序列。本申请可以选取最佳的三个人体骨架关键点作为仿射变换参考点,或者选择由三个以上人体骨架关键点的组合作为仿射变换参考点。例如本申请实施例中选择共同可见关键点序列中比较有代表性的三点组合作为候选点组合:即选择(人头中心点,左臀点,右臀点)、(人头中心点,左肩点,右肩点)、(左肩点,左臀点,右臀点)、(右肩点,左臀点,右臀点)等依次进行仿射变换。若根据候选点组合计算的匹配度最高,则该候选点组合为最佳点组合或关键点组合。
S300,确定目标对象与参考对象的匹配度。
在一示例性实施例中,以人体骨架点为匹配区域,确定目标对象与参考对象的匹配度,具体包括有:
获取目标人体骨架点序列和参考人体骨架点序列,确定目标人体骨架点序列与参考人体骨架点序列的骨架点重合序列、骨架点重合比。具体地,获取由目标人体的18个人体骨架关键点构成的目标人体骨架点序列,和由参考人体的18个人体骨架关键点构成的参考人体骨架点序列;再确定目标人体骨架点序列与参考人体骨架点序列的骨架点重合序列、骨架点重合比。
按照所述骨架点重合序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列;
根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点重合比,确定目标人体与参考人体的匹配度。
在一示例性实施例中,以人体骨架点组合为匹配区域,确定目标对象与参考对象的匹配度,具体包括有:
获取目标人体骨架点组合序列和参考人体骨架点组合序列,确定目标人体骨架点组合序列与参考人体骨架点组合序列的骨架点组合重合序列、骨架点组合重合比。具体地,在目标人体的18个人体骨架关键点中任意选择三个以上人体骨架关键点作为一个目标人体骨架点组合,从而构成目标人体骨架点组合序列。再在参考人体中选择对应的人体骨架关键点,形成与目标人体骨架点组合对应的参考人体骨架点组合,同时构成参考人体骨架点序列;再确定目标人体骨架点组合序列与参考人体骨架点组合序列的骨架点组合重合序列、骨架点组合重合比。
按照所述骨架点组合重合序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列;
根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点组合重合比,确定目标人体与参考人体的匹配度。
在本申请实施例中,如图2和图3所示,以人体骨架点为匹配区域,确定目标人体与参考人体的匹配度,包括有:
分别获取目标人体骨架点序列、参考人体骨架点序列,即分别获取目标人体和参考人体的人体骨架关键点序列,将目标人体的人体骨架关键点仿射变换至参考人体中,然后确定人体骨架关键点重合序列和人体骨架关键点重合比r。若目标人体的人体骨架关键点仿射变换到参考人体后,两者存在共同可见的人体骨架关键点,则统计目标人体和参考人体中所有共同可见的人体骨架关键点,其结果记为人体骨架关键点重合序列。根据统计的所有共同可见的人体骨架关键点的数量,除以目标人体和参考人体的所有可见骨架关键点的数量,其结果记为人体骨架关键点重合比r。
分别计算目标人体骨架和参考人体骨架的共同可见骨架点的肢角,用余弦值表示,范围为(-1.0,1.0)。即按照人体骨架关键点重合序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列。根据共同可见骨架关键点序列计算目标人体骨架点的余弦值序列:a0,a1,…,ai;根据共同可见骨架关键点序列计算目标人体骨架点的余弦值序列:b0,b1,...,bi。
根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点重合比r计算相似度S,如下:
根据相似度S确定目标人体与参考人体的匹配度。其中,匹配度与相似度的数值相互对应,即目标人体与参考人体的相似度S=95%,则目标人体与参考人体的匹配度为95%。
本申请通过获取一个或多个目标对象处于不同姿态时的一个或多个匹配区域;将所述一个或多个匹配区域仿射变换至参考对象中相对应的参考区域;确定目标对象与参考对象的匹配度。本申请基于自下而上的Deep Pose方法,能够直接检测整个视频中所有人体的人体骨架点,选取其中的一个或多个人体作为目标人体,相当于直接检测整个视频中所有目标人体的人体骨架点。选出人体骨架点中的人体骨架关键点,将目标人体的骨架关键点仿射变换至参考人体上,找出仿射变换后目标人体与参考人体共同可见的骨架关键点序列。根据共同可见的骨架关键点序列计算目标人体和参考人体的肢角,即按照共同可见的骨架关键点序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列。最后根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点重合比计算相似度,根据相似度对应确定目标人体与参考人体的匹配度。本发明不仅高效准确,而且耗时几乎不受画面中的人数影响,在多人视频场景下的帧率可以达到20FPS(Frames Per Second,每秒传输帧数)以上。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
如参阅图4,本申请还提供一种目标对象匹配系统,所述系统包括有:
获取模块M10,用于获取一个或多个目标对象处于不同姿态时的一个或多个匹配区域。本申请实施例中,目标对象例如可以包括以下至少之一:目标人体、目标动物体。若目标对象为人体,则目标人体处于不同姿态包括以下至少之一:目标人体为工人,工人作业时的姿态;目标人体为舞蹈老师,舞蹈老师进行舞蹈教学时的姿态;目标人体为学生,学生做课间操时的姿态;目标人体为中年妇女,中年妇女跳广场舞时的姿态等。
在一示例性实施例中,如图5所示,所述获取模块M10包括有图像获取单元D10和匹配区域单元D20;
所述图像获取单元D10用于获取一个或多个连续帧图像;例如图像获取单元D10由常规计算机和普通摄像头构成。图像获取单元D10通过常规计算机和普通摄像头来获取一个或多个连续帧图像。
所述匹配区域单元D20与图像获取单元D10连接,用于根据连续帧图像确定一个或多个目标人体处于不同姿态时的一个或多个匹配区域。与现有技术相比,本申请不需要设置专用的人体检测传感器设备,大幅降低了成本。其中,连续帧图像包括视频、连续拍摄的照片等。
在一些示例性实施例中,匹配区域包括以下至少之一:目标人体骨架点、目标人体骨架点组合、目标人体部位。
其中,目标人体骨架点包括以下至少之一:人头中心点、左臀点、右臀点、左肩点、右肩点。目标人体骨架点组合包括以下至少之一:人头中心点、左臀点、右臀点构成的人体骨架点组合;人头中心点、左肩点、右肩点构成的人体骨架点组合;左肩点、左臀点、右臀点构成的人体骨架点组合;右肩点、左臀点、右臀点构成的人体骨架点组合。目标人体部位包括以下至少之一:人体头部、人体肩部、人体手臂、人体臀部、人体腿部。
例如本申请以人体姿态为目标对象,连续帧图像为视频,在确定目标对象的匹配区域时,通过常规计算机和普通摄像头获取一个或多个视频。从视频画面中获取了一个或多个人体,根据获取的人体,以人体骨架点为匹配区域,基于Bottom-up(自下而上)的DeepPose方法,对视频画面中的人体进行骨架关键点定位,能够直接检测整个视频画面中所有人体的骨架关键点。选取其中的一个或多个人体作为目标人体或待匹配人体,则相当于能够直接检测整个视频画面中所有目标人体或所有待匹配人体的骨架关键点。本申请实施例基于自下而上的Deep Pose方法,与现有技术中Top-down(自上而下)方法相比,本申请实施例可以直接对人体进行整体检测,不需要按照现有技术中的方法先对人体从人头开始检测,再依次往下进行检测。而且,本申请实施例高效准确,耗时几乎不受画面中的人数影响,多人视频场景下帧率可以达到20FPS(Frames Per Second,每秒传输帧数)以上;与现有技术在多人视频场景下帧率只有2FPS相比,本申请在耗时和多人场景检测下明显优于现有技术。多人视频场景例如可以包括工人作业、舞蹈教学、体感游戏、学生课间操、广场舞等。
仿射变换模块M20,用于将所述一个或多个匹配区域仿射变换至参考对象中相对应的参考区域。本申请实施例中,参考对象与目标对象相对应,若目标对象为人体,则参考对象也为人体;若目标对象为动物体,则参考对象也为动物体。
在一些示例性实施例中,参考区域包括以下至少之一:参考人体骨架点、参考人体骨架点组合、参考人体部位。
其中,若匹配区域为目标人体骨架点,则所述参考区域包括参考人体骨架点;所述参考人体骨架点包括以下至少之一:与人头中心点相对应的人头中心参考点、与左臀点相对应的左臀参考点、与右臀点相对应的右臀参考点、与左肩点相对应的左肩参考点、与右肩点相对应的右肩参考点。
若匹配区域为目标人体骨架点组合,则所述参考区域包括参考人体骨架点组合;所述参考人体骨架点组合包括以下至少之一:人头中心参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合;人头中心参考点、左肩参考点、右肩参考点构成的参考人体骨架点组合;左肩参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合;右肩参考点、左臀参考点、右臀参考点构成的参考人体骨架点组合。
若匹配区域为目标人体部位,则参考区域包括参考人体部位,所述参考人体部位包括以下至少之一:参考人体头部、参考人体肩部、参考人体手臂、参考人体臀部、参考人体腿部。
例如本申请实施例中,若目标对象为人体,在视频画面中选取两个人体在某一状态下的姿态,选择其中一个人体为目标人体或待匹配人体,另一个人体为参考人体或标准人体,将目标人体的骨架点通过仿射变换到另一个参考人体上,使人体骨架点统一到近似相同的尺度和角度。其中,仿射变换操作包括以下至少之一:旋转、平移、剪切。因为由三个人体骨架关键点就可以确定仿射变换关系,并且每个人体最多有18个人体骨架关键点,在仅由三个人体骨架点确定仿射变换关系的条件下,就存在816种选择。因此,由18个人体骨架关键点构成的序列相当于人体骨架点序列;在18个人体骨架关键点任意选择三个以上人体骨架关键点,将所选择的人体骨架关键点作为一个人体骨架关键点组合,由人体骨架关键点组合所构成的序列相当于人体骨架点组合序列。本申请可以选取最佳的三个人体骨架关键点作为仿射变换参考点,或者选择由三个以上人体骨架关键点的组合作为仿射变换参考点。例如本申请实施例中选择共同可见关键点序列中比较有代表性的三点组合作为候选点组合:即选择(人头中心点,左臀点,右臀点)、(人头中心点,左肩点,右肩点)、(左肩点,左臀点,右臀点)、(右肩点,左臀点,右臀点)等依次进行仿射变换。若根据候选点组合计算的匹配度最高,则该候选点组合为最佳点组合或关键点组合。
匹配模块M30,用于确定目标对象与参考对象的匹配度。
在一示例性实施例中,如图6所示,所述匹配模块M30包括第一处理单元D30、第一计算单元D40和第一匹配单元D50;
第一处理单元D30用于获取目标人体骨架点序列和参考人体骨架点序列,确定目标人体骨架点序列与参考人体骨架点序列的骨架点重合序列、骨架点重合比。具体地,获取由目标人体的18个人体骨架关键点构成的目标人体骨架点序列,和由参考人体的18个人体骨架关键点构成的参考人体骨架点序列;再确定目标人体骨架点序列与参考人体骨架点序列的骨架点重合序列、骨架点重合比。
第一计算单元D40与第一处理单元D30连接,用于按照所述骨架点重合序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列;
第一匹配单元D50与第一计算单元D40连接,用于根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点重合比,确定目标人体与参考人体的匹配度。
在一示例性实施例中,如图7所示,所述匹配模块M30包括第二处理单元D60、第二计算单元D70和第二匹配单元D80;
所述第二处理单元D60用于获取目标人体骨架点组合序列和参考人体骨架点组合序列,确定目标人体骨架点组合序列与参考人体骨架点组合序列的骨架点组合重合序列和骨架点组合重合比。具体地,在目标人体的18个人体骨架关键点中任意选择三个以上人体骨架关键点作为一个目标人体骨架点组合,从而构成目标人体骨架点组合序列。再在参考人体中选择对应的人体骨架关键点,形成与目标人体骨架点组合对应的参考人体骨架点组合,同时构成参考人体骨架点序列;再确定目标人体骨架点组合序列与参考人体骨架点组合序列的骨架点组合重合序列、骨架点组合重合比。
所述第二计算单元D70与第二处理单元D60连接,用于按照所述骨架点组合重合序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列;
所述第二匹配单元D80与第二计算单元D70连接,用于根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点组合重合比确定目标人体与参考人体的匹配度。
在本申请实施例中,如图2和图3所示,以人体骨架点为匹配区域,确定目标人体与参考人体的匹配度包括有:
分别获取目标人体骨架点序列、参考人体骨架点序列,即分别获取目标人体和参考人体的人体骨架关键点序列,将目标人体的人体骨架关键点仿射变换至参考人体中,然后确定人体骨架关键点重合序列和人体骨架关键点重合比r。若目标人体的人体骨架关键点仿射变换到参考人体后,两者存在共同可见的人体骨架关键点,则统计目标人体和参考人体中所有共同可见的人体骨架关键点,其结果记为人体骨架关键点重合序列。根据统计的所有共同可见的人体骨架关键点的数量,除以目标人体和参考人体的所有可见骨架关键点的数量,其结果记为人体骨架关键点重合比r。
分别计算目标人体骨架和参考人体骨架的共同可见骨架点的肢角,用余弦值表示,范围为(-1.0,1.0)。即按照人体骨架关键点重合序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列。根据共同可见骨架关键点序列计算目标人体骨架点的余弦值序列:a0,a1,...,ai;根据共同可见骨架关键点序列计算目标人体骨架点的余弦值序列:b0,b1,…,bi。
根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点重合比r计算相似度S,如下:
根据相似度S确定目标人体与参考人体的匹配度。其中,匹配度与相似度的数值相互对应,即目标人体与参考人体的相似度S=95%,则目标人体与参考人体的匹配度为95%。
本申请通过获取一个或多个目标对象处于不同姿态时的一个或多个匹配区域;将所述一个或多个匹配区域仿射变换至参考对象中相对应的参考区域;确定目标对象与参考对象的匹配度。本申请基于自下而上的Deep Pose方法,能够直接检测整个视频中所有人体的人体骨架点,选取其中的一个或多个人体作为目标人体,相当于直接检测整个视频中所有目标人体的人体骨架点。选出人体骨架点中的人体骨架关键点,将目标人体的骨架关键点仿射变换至参考人体上,找出仿射变换后目标人体与参考人体共同可见的骨架关键点序列。根据共同可见的骨架关键点序列计算目标人体和参考人体的肢角,即按照共同可见的骨架关键点序列计算目标人体骨架点、参考人体骨架点的各自的肢体三角形内角的余弦值序列。最后根据目标人体骨架点的肢体三角形内角的余弦值序列、参考人体骨架点的肢体三角形内角的余弦值序列、以及骨架点重合比计算相似度,根据相似度对应确定目标人体与参考人体的匹配度。本发明不仅高效准确,而且耗时几乎不受画面中的人数影响,在多人视频场景下的帧率可以达到20FPS(Frames Per Second,每秒传输帧数)以上。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
本申请实施例还提供了一种目标对象匹配设备,包括有:
获取一个或多个目标对象处于不同姿态时的一个或多个匹配区域;
将所述一个或多个匹配区域仿射变换至参考对象中相对应的参考区域;
确定目标对象与参考对象的匹配度。
在本实施例中,该目标对象匹配设备执行上述系统或方法,具体功能和技术效果参照上述实施例即可,此处不再赘述。
本申请实施例还提供了一种设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行图1所述的方法。在实际应用中,该设备可以作为终端设备,也可以作为服务器,终端设备的例子可以包括:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准语音层面3,Moving Picture Experts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准语音层面4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等,本申请实施例对于具体的设备不加以限制。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例的图1中所述方法中所包含步骤的指令(instructions)。
图8为本申请一实施例提供的终端设备的硬件结构示意图。如图所示,该终端设备可以包括:输入设备1100、第一处理器1101、输出设备1102、第一存储器1103和至少一个通信总线1104。通信总线1104用于实现元件之间的通信连接。第一存储器1103可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,第一存储器1103中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
可选的,上述第一处理器1101例如可以为中央处理器(Central ProcessingUnit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该第一处理器1101通过有线或无线连接耦合到上述输入设备1100和输出设备1102。
可选的,上述输入设备1100可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;输出设备1102可以包括显示器、音响等输出设备。
在本实施例中,该终端设备的处理器包括用于执行各设备中语音识别装置各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。
图9为本申请的一个实施例提供的终端设备的硬件结构示意图。图9是对图8在实现过程中的一个具体的实施例。如图9所示,本实施例的终端设备可以包括第二处理器1201以及第二存储器1202。
第二处理器1201执行第二存储器1202所存放的计算机程序代码,实现上述实施例中图1所述方法。
第二存储器1202被配置为存储各种类型的数据以支持在终端设备的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。第二存储器1202可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
可选地,第二处理器1201设置在处理组件1200中。该终端设备还可以包括:通信组件1203,电源组件1204,多媒体组件1205,语音组件1206,输入/输出接口1207和/或传感器组件1208。终端设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。
处理组件1200通常控制终端设备的整体操作。处理组件1200可以包括一个或多个第二处理器1201来执行指令,以完成上述目标对象匹配方法中的全部或部分步骤。此外,处理组件1200可以包括一个或多个模块,便于处理组件1200和其他组件之间的交互。例如,处理组件1200可以包括多媒体模块,以方便多媒体组件1205和处理组件1200之间的交互。
电源组件1204为终端设备的各种组件提供电力。电源组件1204可以包括电源管理系统,一个或多个电源,及其他与为终端设备生成、管理和分配电力相关联的组件。
多媒体组件1205包括在终端设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
语音组件1206被配置为输出和/或输入语音信号。例如,语音组件1206包括一个麦克风(MIC),当终端设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部语音信号。所接收的语音信号可以被进一步存储在第二存储器1202或经由通信组件1203发送。在一些实施例中,语音组件1206还包括一个扬声器,用于输出语音信号。
输入/输出接口1207为处理组件1200和外围接口模块之间提供接口,上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。
传感器组件1208包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。例如,传感器组件1208可以检测到终端设备的打开/关闭状态,组件的相对定位,用户与终端设备接触的存在或不存在。传感器组件1208可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与终端设备间的距离。在一些实施例中,该传感器组件1208还可以包括摄像头等。
通信组件1203被配置为便于终端设备和其他设备之间有线或无线方式的通信。终端设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个实施例中,该终端设备中可以包括SIM卡插槽,该SIM卡插槽用于插入SIM卡,使得终端设备可以登录GPRS网络,通过互联网与服务器建立通信。
由上可知,在图9实施例中所涉及的通信组件1203、语音组件1206以及输入/输出接口1207、传感器组件1208均可以作为图8实施例中的输入设备的实现方式。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。