1.本发明属于图像处理领域,尤其涉及一种基于目标检测和姿态检测框架的行为识别方法及系统。
背景技术:2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.外肢体机器人是一种新型可穿戴式机器人,可以在特定工作场景下,与操作者进行协作,从而完成一些高难度操作,辅助操作者完成施工。在这种场景下,若外肢体设备能够准确、快速地识别操作者行为意图,可以使得人机交互变得更加容易,提高工作效率。
4.目前常用的行为识别方法是,利用姿态检测框架,如openpose、tf
‑
pose等,对图片中人体进行骨骼关键点提取,逐一获得关键点位置坐标信息;将获取的关键点位置信息作为神经网络输入、将该行为种类作为分类标签一同放入神经网络进行训练;将训练好的行为分类器搭配外置摄像头,便可以达到实时行为识别的效果。发明人发现,虽然这种方法可以较为准确的实现行为分类,但其需要先对图片进行人物检测再对人物逐一提取骨骼关键点,行为识别的实时性并不能达到人机协作的要求。
技术实现要素:5.为了解决上述背景技术中存在的技术问题,本发明提供一种基于目标检测和姿态检测框架的行为识别方法及系统,其仅使用目标检测算法对行为追踪上的局限性,通过引入姿态检测框架与神经网络分类器,可以在保证行为分类准确性的同时,提高行为分类的速度。
6.为了实现上述目的,本发明采用如下技术方案:
7.本发明的第一个方面提供一种基于目标检测和姿态检测框架的行为识别方法,其包括:
8.获取目标人物图像;
9.利用目标检测框架对目标人物图像进行行人检测,并对检测到的目标进行图像分割,得到目标图片;
10.利用姿态检测框架从目标图片中提取人体关键骨骼点特征;
11.对人体关键骨骼点特征进行行为分类,得到目标人物的具体行为类别。
12.本发明的第二个方面提供一种基于目标检测和姿态检测框架的行为识别系统,其包括:
13.图像获取模块,其用于获取目标人物图像;
14.目标检测及分割模块,其用于利用目标检测框架对目标人物图像进行行人检测,并对检测到的目标进行图像分割,得到目标图片;
15.关键骨骼点特征提取模块,其用于利用姿态检测框架从目标图片中提取人体关键
骨骼点特征;
16.行为分类模块,其用于对人体关键骨骼点特征进行行为分类,得到目标人物的具体行为类别。
17.本发明的第三个方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于目标检测和姿态检测框架的行为识别方法中的步骤。
18.本发明的第四个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于目标检测和姿态检测框架的行为识别方法中的步骤。
19.与现有技术相比,本发明的有益效果是:
20.本发明利用目标检测框架对目标人物图像进行行人检测,并对检测到的目标进行图像分割,得到目标图片,利用姿态检测框架从目标图片中提取人体关键骨骼点特征,对人体关键骨骼点特征进行行为分类,得到目标人物的具体行为类别,通过目标检测框架可以快速、准确的检测到图像中所有行人,可以扩大检测范围并提高检测速度;对目标检测框架获得关键点坐标进行特征提取后,可以简化神经网络分类器模型结构,提高分类精确度,使训练更为简单。
21.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
22.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
23.图1是本发明实施例的基于目标检测和姿态检测框架的行为识别方法流程图;
24.图2(a)是本发明实施例的目标人物原图;
25.图2(b)是本发明实施例的目标人物padding后图片;
26.图3是本发明实施例的标检测所获得参数示意;
27.图4是本发明实施例的人体骨骼关键点示意图;
28.图5是本发明实施例的神经网络分类器模型图。
具体实施方式
29.下面结合附图与实施例对本发明作进一步说明。
30.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
31.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
32.实施例一
33.如图1所示,本实施例提供了一种基于目标检测和姿态检测框架的行为识别方法,其具体包括如下步骤:
34.步骤1:获取目标人物图像,如图2(a)所示。
35.其中,针对单人行为数据采集如下:
36.一名实验人员在实验场地以慢动作形式分别做出站立、下蹲、弯腰、挥手、跌倒、踢腿6种行为动作,同组一名成员为该同学录制视频,在录制时应保持:视频拍摄标准为720p、30fps;拍摄时应镜头应能装下实验人员全身;应拍摄实验人员不同角度下的行为特征。
37.针对多人行为数据采集如下:
38.每组2
‑
3名实验人员以慢动作形式做出上述6种动作其中一种,同组一名成员为实验人员录制视频,在录制时应保持:视频拍摄标准为720p、30fps;拍摄时应镜头应能装下实验人员全身;应拍摄实验人员不同角度下的行为特征。
39.步骤2:利用目标检测框架对目标人物图像进行行人检测,并对检测到的目标进行图像分割,得到目标图片。
40.在具体实施中,利用目标检测框架对目标人物图像进行行人检测之前,还包括对目标人物图像进行处理,其具体过程为:
41.利用opencv对视频进行处理,每隔10帧对图片进行保存——通过选取适当频率间隔性保存,可以降低重复性样本,起到增强数据作用;
42.使用标签制作软件(如labelimg、labelme软件)对所得到的图片进行标签制作,得到每种图片对应的行为标签;
43.将图片宽、高调整为416
×
416格式,以满足目标检测框架需求;在调整图片宽高过程中,为防止图片失真,需对图片进行padding处理,如图2(b)所示。
44.具体地,目标检测框架的训练过程为:
45.将预训练图片放入目标检测框架进行行人检测,得到行人目标的中心坐标(x,y)与矩形框h、w参数,如图3所示;
46.根据上述所得到的参数,将图片中的行人所对应的矩形框逐一从原图像中分割并保留下来。
47.步骤3:利用姿态检测框架从目标图片中提取人体关键骨骼点特征。
48.在具体实施中,利用姿态检测框架从目标图片中提取人体关键骨骼点特征的过程为:
49.步骤3.1:利用姿态检测框架对目标图片进行人体关键点检测,具体检测包括:鼻子、左眼、左耳、右眼、右耳等18个关节点,具体如图4所示;
50.步骤3.2:对检测到的关节点进行有效关键点对判断并连接;
51.具体关节相关性判断公式为:
[0052][0053]
其中,l
c
是2d向量场(vector fields),表示了两个关键点之间关联度;u是插值自变量,公式中将其0、1值作为积分起始条件。
[0054]
式中,p(u)是对两个关节点之间的位置进行插值,插值公式为:
[0055][0056]
步骤3.3:提取有效关节点位置信息对并保存其行为信息标签。
[0057]
步骤4:对人体关键骨骼点特征进行行为分类,得到目标人物的具体行为类别。
[0058]
具体地,对人体关键骨骼点特征进行行为分类的过程中,还包括:对人体关键骨骼点特征所对应的关节点位置信息进行特征提取。
[0059]
其中,对人体关键骨骼点特征所对应的关节点位置信息进行特征提取的过程包括:
[0060]
所有关节位置都转换为相对于头部关节的坐标;
[0061]
将所有关节点位置转换为八个关节角,这八个关节角分别为:左/右肩、左/右肘、左/右胯以及左/右膝盖;
[0062]
具体转换公式为:
[0063][0064]
式中,dp1,dp2为关节点向量,表达式为:
[0065]
dp1=(x1‑
x2,y1‑
y2)
[0066]
dp2=(x3‑
x2,y1‑
y2)
[0067]
p1(x1,y1),p2(x2,y2),p3(x3,y3)为关节点坐标。
[0068]
对数据进行归一化处理,将数据范围区间归一化为[0,1],具体公式为:
[0069][0070]
式中,x
i
为变量当前值,minx为变量最小值,maxx为变量最大值,x
inorm
为当前变量进行归一化后值。
[0071]
在本实施例中,利用神经网络分类器对人体关键骨骼点特征进行行为分类。
[0072]
其中,所述神经网络分类的输出层激活函数采用softmax函数,其余层激活函数均采用relu函数。所述神经网络分类的输出层神经元数目等于行为种类的数量。
[0073]
例如,如图5所示的神经网络分类器,输入层特征维度为28,第一层隐藏层神经元数目为128,第二层隐藏层神经元数目为64,第三层隐藏层神经元数目为16,输出层神经元数目为6(代表6种行为)。
[0074]
实施例二
[0075]
本实施例提供了一种基于目标检测和姿态检测框架的行为识别系统,其具体包括如下模块:
[0076]
图像获取模块,其用于获取目标人物图像;
[0077]
目标检测及分割模块,其用于利用目标检测框架对目标人物图像进行行人检测,并对检测到的目标进行图像分割,得到目标图片;
[0078]
关键骨骼点特征提取模块,其用于利用姿态检测框架从目标图片中提取人体关键骨骼点特征;
[0079]
行为分类模块,其用于对人体关键骨骼点特征进行行为分类,得到目标人物的具体行为类别。
[0080]
此处需要说明的是,本实施例的基于目标检测和姿态检测框架的行为识别系统中的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
[0081]
实施例三
[0082]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于目标检测和姿态检测框架的行为识别方法中的步骤。
[0083]
实施例四
[0084]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于目标检测和姿态检测框架的行为识别方法中的步骤。
[0085]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0086]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0087]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0088]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0089]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read
‑
only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
[0090]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。