一种步态识别方法及装置与流程

文档序号:18303088发布日期:2019-07-31 10:27阅读:303来源:国知局
一种步态识别方法及装置与流程

本发明实施例涉及步态识别技术领域,尤其涉及一种步态识别方法及装置。



背景技术:

步态识别是一种新兴的生物特征识别技术,旨在通过人们走路的姿态进行身份识别,与其他的生物特征识别技术相比,步态识别具有非接触、远距离和不容易伪装的优点,在智能视频监控领域,比图像识别更具优势。

现有的步态识别方法较多,例如:

方法一为基于步态辅助设备进行步态识别,即使用步态辅助设备对人体的步态信息进行采集,步态辅助设备包括外骨骼组件、传感器组件和数据处理器。通过数据处理器接收传感器组件测量获得的外骨骼组件的运动数据,并利用预设的步态识别算法确定步态参数,该步态参数用于表征步态辅助设备的使用者的行动姿态和行为特征。

方法二为基于平均差分图像进行步态识别,适用于固定背景下,单人依次走过摄像机的情形下的步态识别,步骤如下:图像分帧;得到背景图像;提取人体轮廓;对每一帧人体轮廓二值化图像进行边缘剪裁后,计算每帧轮廓的质心,并进行质心对齐,得到质心对齐轮廓;行走周期的计算;针对每个行走周期内的质心对齐轮廓,计算相邻两帧之间的差分图像;将多个行走周期内的差分图像叠加以后取平均值,得到平均差分图像;平均图像的特征提取,利用主成分分析方法计算每个平均图像的特征值并按绝对值由大到小排序,取绝对值最大的部分特征值组成特征向量;通过近邻算法来进行步态的识别。

现有技术中采用硬件设备来获取人的运动数据,或通过提取人的轮廓来得到人的行走特征,都存在不同的缺点。采用硬件设备来获取人的运动数据,对硬件要求较高,不便于实际应用,采用人的轮廓的方法对人的外形要求较高,比如同一个人,夏天和冬天的轮廓差别较大,甚至发型的改变也能引起轮廓的改变,准确性和鲁棒性太差。



技术实现要素:

针对现有技术中存在的技术问题,本发明实施例提供一种步态识别方法及装置。

第一方面,本发明实施例提供一种步态识别方法,包括:

获取待识别视频中任一行人对应的人体关键点特征向量序列;

将所述人体关键点特征向量序列输入至目标神经网络,根据所述目标神经网络的输出结果,识别所述人体关键点特征向量序列对应的行人身份;

其中,所述目标神经网络是根据带有行人身份标签的人体关键点特征向量序列进行训练后得到的。

第二方面,本发明实施例提供一种步态识别装置,包括:

特征向量序列获取模块,用于获取待识别视频中任一行人对应的人体关键点特征向量序列;

行人身份识别模块,用于将所述人体关键点特征向量序列输入至目标神经网络,根据所述目标神经网络的输出结果,识别所述人体关键点特征向量序列对应的行人身份;

其中,所述目标神经网络是根据带有行人身份标签的人体关键点特征向量序列进行训练后得到的。

第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。

本发明实施例提供的一种步态识别方法及装置,通过获取待识别视频中任一行人对应的人体关键点特征向量序列,并将该序列输入至目标神经网络,根据目标神经网络的输出结果,识别该序列对应的行人身份。通过充分利用人体关键点特征,自学习人体的步态特征,大大提高了步态识别的鲁棒性和准确性,并且,对硬件的要求较低,便于实际应用。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种步态识别方法流程图;

图2为本发明实施例提供的一种步态识别装置的结构示意图;

图3为本发明实施例提供的一种电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的一种步态识别方法流程图,如图1所示,该方法包括:

步骤101,获取待识别视频中任一行人对应的人体关键点特征向量序列。

具体地,在实际应用中,需在墙壁等支撑物上预先设置摄像头,利用摄像头拍摄其自身覆盖范围内的包含若干个行人的视频,在本发明实施例中,需要对拍摄得到的视频中所包含的若干个行人进行身份识别,因此,将该视频称为待识别视频。

待识别视频中包含了若干个行人,即一个或多个行人,若需要对该视频中的一个行人进行身份识别,则首先需要获取该行人对应的人体关键点特征向量序列,若需要对该视频中的多个行人进行身份识别,则首先需要获取这多个行人中的每一行人对应的人体关键点特征向量序列。

其中,人体关键点特征向量序列用于表征人体骨骼关键点的特征,其包含若干个人体关键点特征向量,且这若干个人体关键点特征向量按照时间顺序依次排列组成人体关键点特征向量序列。

其中,人体骨骼关键点指的是人体的固定部位的位置,包括眼睛、鼻子、肩、腰等,人体骨骼关键点对于描述人体姿态,预测人体行为至关重要,因此,人体骨骼关键点是诸多计算机视觉任务的基础,例如动作分类、异常行为检测、自动驾驶等。

需要说明的是,由于摄像头硬件损毁或环境因素影响,其拍摄到的视频可能存在随机噪声的影响从而使得该视频不适合用于对行人身份进行识别,因此,为了保障识别的有效性和准确性,在获取该视频中行人对应的人体关键点特征向量序列之前,还可对该视频进行一系列处理,例如,对于在雨雾天拍摄到的视频,通过视频透雾增透技术,将由于雨水、雾气或灰尘等导致朦胧不清的视频变得更加清晰,从而使得处理之后的视频更加适用于对行人身份进行识别。

步骤102,将所述人体关键点特征向量序列输入至目标神经网络,根据所述目标神经网络的输出结果,识别所述人体关键点特征向量序列对应的行人身份;其中,所述目标神经网络是根据带有行人身份标签的人体关键点特征向量序列进行训练后得到的。

具体地,当获取到一个行人对应的人体关键点特征向量序列后,将该人体关键点特征向量序列输入至目标神经网络,从而根据目标神经网络的输出结果,识别该人体关键点特征向量序列对应的行人身份,也即,识别该行人的身份。可以理解的是,目标神经网络是通过训练之后所得到的,其能够有效且准确地根据行人对应的人体关键点特征向量序列,识别行人的身份。

需要说明的是,目标神经网络为循环神经网络(recurrentneuralnetwork,简称rnn),特别地,优选为长短期记忆网络(longshorttermmemorynetworks,简称lstm)。lstm是一种特殊的rnn,能够学习到输入对象之间的长期依赖关系。由于人体关键点特征向量序列是一个时间序列,本发明实施例中的lstm可以实现该序列的长期记忆和短期记忆,从而能够充分考虑该序列中各个特征向量在时间维度上(多个特征向量的上下文特征)和空间维度上(多个特征向量的全局特征和单个特征向量的个体特征)的特征。

将人体关键点特征向量序列输入至lstm中,lstm输出该序列对应的各身份预测概率,将最大的预测概率对应身份作为该序列对应的行人身份。例如,输出结果为:该序列对应的行人为a的概率5%,该序列对应的行人为b的概率18%,该序列对应的行人为c的概率72%,该序列对应的行人为d的概率5%,那么,判定该行人为c。

本发明实施例提供的方法,通过获取待识别视频中任一行人对应的人体关键点特征向量序列,并将该序列输入至目标神经网络,根据目标神经网络的输出结果,识别该序列对应的行人身份。通过充分利用人体关键点特征,自学习人体的步态特征,大大提高了步态识别的鲁棒性和准确性,并且,对硬件的要求较低,便于实际应用。

在上述各实施例的基础上,本发明实施例对上述实施例中获取人体关键点特征向量序列的过程进行进一步说明,即,所述获取待识别视频中任一行人对应的人体关键点特征向量序列,包括:

获取待识别视频,所述待识别视频中包括若干个行人。

需要说明的是,在上述实施例中已详细说明该视频的获取过程,在此不再赘述。在本发明实施例中,将该视频的时长优选为20~30s,但可以理解的是,该视频的时长可根据实际应用场景进行调整,本发明实施例对此不作具体限定。

对所述待识别视频进行采样,得到多帧图像并组成采样图像序列。

具体地,为了获取行人对应的人体关键点特征向量序列,首先需要对该视频进行采样,在本发明实施例中,每秒提取10帧图像,那么,对于时长为20s的视频,一共提取200帧图像,将这200帧图像按照采样顺序依次排列组成采样图像序列。需要说明的是,本发明实施例对采样频率可根据实际应用场景进行调整,本发明实施例对此不作具体限定。

将所述采样图像序列输入至人体关键点检测模型,得到所述待识别视频中任一行人对应的人体关键点特征向量序列。

具体地,人体关键点检测模型众多,在本发明实施例中,将该模型优选为openpose模型,将采样图像序列输入至该模型中,该模型可输出该视频中任一行人对应的人体关键点特征向量序列。

以下通过举例对该模型的功能进行进一步说明:

该模型包括特征向量输出单元和特征向量序列输出单元,将由200帧图像组成的采样图像序列输入至特征向量输出单元中,该单元可针对每一帧图像输出对应的若干个人体关键点特征向量,需要说明的是,若该帧图像中只有一个行人,则输出一个人体关键点特征向量,若该帧图像中只有三个行人,则输出三个人体关键点特征向量,可以理解的是,这三个行人和这三个人体关键点特征向量一一对应。

将200帧图像所对应的多个人体关键点特征向量输入至特征向量序列输出单元,该单元可对接收到的多个人体关键点特征向量进行汇总分析,得到该视频中任一行人对应的多个人体关键点特征向量并按照时间顺序依次排列为该行人对应的人体关键点特征向量序列,并输出。

在上述各实施例的基础上,本发明实施例对将人体关键点特征向量序列输入至目标神经网络之前所做的操作进行说明,即,所述将所述人体关键点特征向量序列输入至目标神经网络,之前还包括:

获取多个样本视频和每一样本视频中每一行人对应的行人身份标签,并获取每一样本视频中每一行人对应的人体关键点特征向量序列。

具体地,在将人体关键点特征向量序列输入至目标神经网络之前,还需对原始神经网络进行训练,以得到目标神经网络。

需要说明的是,原始神经网络也为rnn,特别地,优选为lstm。

为了对原始神经网络进行训练,首先需要获取多个样本视频、每一样本视频中每一行人对应的行人身份标签、以及每一样本视频中每一行人对应的人体关键点特征向量序列。

需要说明的是,样本视频与上述实施例中待识别视频的获取方式可以相同,即通过设置于墙壁等支撑物上的摄像头拍摄获取,样本视频中也包括若干个行人,且样本视频的时长也可为20~30s。

对于每一样本视频,该样本视频中每一行人的身份是已知的,且已通过行人身份标签进行标注。其中,行人身份标签包括身份a、身份b、身份c和身份d。需要说明的是,行人身份标签的个数以及命名等可根据实际应用场景进行调整,本发明实施例对此不作具体限定。

通过将样本视频输入至人体关键点检测模型,可输出该样本视频中每一行人对应的人体关键点特征向量序列。需要说明的是,人体关键点检测模型的具体实现过程可以参见上述方法实施例,此处不再赘述。

将每一行人对应的人体关键点特征向量序列和行人身份标签的组合作为一个训练样本,得到多个训练样本并组成训练集。

具体地,将每一行人对应的人体关键点特征向量序列和行人身份标签的组合作为一个训练样本,即将每一带有行人身份标签的人体关键点特征向量序列作为一个训练样本,由此即可获得多个训练样本。为了便于描述,将这多个训练样本称为训练集。

通过所述训练集对原始神经网络进行训练,得到所述目标神经网络。

具体地,将训练集中的多个训练样本依次输入至原始神经网络,即将每一训练样本中的人体关键点特征向量序列和行人身份标签同时输入至原始神经网络,根据原始神经网络的每一次输出结果对原始神经网络中的模型参数进行调整,最终得到目标神经网络。

在上述各实施例的基础上,本发明实施例对目标神经网络的获取方式进行进一步说明,即,所述通过所述训练集对原始神经网络进行训练,得到所述目标神经网络,包括:

将所述训练集中的任一训练样本输入至所述原始神经网络,根据所述原始神经网络的输出结果和所述训练样本中的行人身份标签计算所述原始神经网络的损失值;若所述损失值小于第一预设阈值,则将所述原始神经网络作为所述目标神经网络。

具体地,在获得训练集之后,对于训练集中的任意一个训练样本,将该训练样本中的人体关键点特征向量序列和行人身份标签同时输入至原始神经网络,输出该训练样本对应的预测概率,其中预测概率指的是该训练样本针对不同行人身份标签对应的预测概率。在此基础上,利用预设损失函数根据训练样本对应的预测概率和训练样本中的行人身份标签计算损失值。

其中,行人身份标签可以表示为one-hot向量,预设损失函数可以为交叉熵损失函数。在其他实施例中,行人身份标签的表示方式和预设损失函数可以根据实际需求进行设置,此处不做具体限定。

在计算获得损失值之后,本次训练过程结束,再利用误差反向传播算法更新原始神经网络中的模型参数,之后再进行下一次训练。在训练的过程中,若针对某个训练样本计算获得的损失值小于第一预设阈值,则原始神经网络训练完成,将此时的原始神经网络作为目标神经网络。

在上述各实施例的基础上,本发明实施例对目标神经网络的另一种获取方式进行进一步说明,即,所述通过所述训练集对原始神经网络进行训练,得到所述目标神经网络,包括:

将所述训练集中的任一训练样本输入至所述原始神经网络,根据所述原始神经网络的输出结果和所述训练样本中的行人身份标签计算所述原始神经网络的损失值;若所述损失值小于第一预设阈值,则将所述原始神经网络作为候选神经网络;多次调整所述原始神经网络的结构,每调整一次则重复执行训练过程以得到对应的候选神经网络,并从得到的多个候选神经网络中选择一个作为所述目标神经网络。

具体地,在本发明实施例中,原始神经网络中包括3个lstm层,隐藏单元的个数设为64,步长设为30。通过上述实施例中的训练过程对该原始神经网络进行训练,将训练完成的原始神经网络作为一个候选神经网络。

然后,对神经网络的结构进行一次调整,例如,增加2~3个lstm层、调整隐藏单元的个数或步长,调整完毕后,通过上述训练过程对调整完毕的原始神经网络进行训练,将训练完成的原始神经网络作为一个候选神经网络。

多次执行上述调整及训练过程,得到多个候选神经网络,在这多个候选神经网络选择一个作为目标神经网络。

此处对调整的终止条件进行说明:当本次调整后的原始神经网络的损失值大于上次整后的原始神经网络的损失值时,终止调整。

在上述各实施例的基础上,本发明实施例对上述实施例中的从多个候选神经网络选择一个作为目标神经网络的过程进行进一步说明,即,所述从得到的多个候选神经网络中选择一个作为所述目标神经网络,包括:

从所述多个候选神经网络中,选择损失值小于第二预设阈值的若干个候选神经网络;基于验证集对所述若干个候选神经网络中的每一候选神经网络进行验证,得到每一候选神经网络的准确率,并将准确率最高的候选神经网络作为所述目标神经网络。

具体地,为了缩小选择范围,首先,将这多个候选神经网络中每一候选神经网络的损失值与第二预设阈值进行对比,将损失值小于第二预设阈值的候选神经网络选择出来。

然后,对于选择出来的每一候选神经网络,通过验证集验证该候选神经网络的准确率,需要说明的是,验证集包括多个验证样本,每一验证样本为人体关键点特征向量序列和行人身份标签的组合。将每一验证样本输入至候选神经网络中以得到预测的行人身份标签,基于预测的行人身份标签和验证样本中的行人身份标签,计算该候选神经网络的准确率。

根据上述过程获得多个候选神经网络的准确率,将准确率最高的候选神经网络作为目标神经网络。

在上述各实施例的基础上,所述目标神经网络为长短期记忆网络。

图2为本发明实施例提供的一种步态识别装置的结构示意图,如图2所示,该装置包括:

特征向量序列获取模块201,用于获取待识别视频中任一行人对应的人体关键点特征向量序列。

具体地,在实际应用中,需在墙壁等支撑物上预先设置摄像头,利用摄像头拍摄其自身覆盖范围内的包含若干个行人的视频,在本发明实施例中,需要对拍摄得到的视频中所包含的若干个行人进行身份识别,因此,将该视频称为待识别视频。待识别视频中包含了若干个行人,即一个或多个行人,若需要对该视频中的一个行人进行身份识别,则首先需要获取该行人对应的人体关键点特征向量序列,若需要对该视频中的多个行人进行身份识别,则首先需要获取这多个行人中的每一行人对应的人体关键点特征向量序列。其中,人体关键点特征向量序列用于表征人体骨骼关键点的特征,其包含若干个人体关键点特征向量,且这若干个人体关键点特征向量按照时间顺序依次排列组成人体关键点特征向量序列。其中,人体骨骼关键点指的是人体的固定部位的位置,包括眼睛、鼻子、肩、腰等,人体骨骼关键点对于描述人体姿态,预测人体行为至关重要,因此,人体骨骼关键点是诸多计算机视觉任务的基础,例如动作分类、异常行为检测、自动驾驶等。需要说明的是,由于摄像头硬件损毁或环境因素影响,其拍摄到的视频可能存在随机噪声的影响从而使得该视频不适合用于对行人身份进行识别,因此,为了保障识别的有效性和准确性,在获取该视频中行人对应的人体关键点特征向量序列之前,还可对该视频进行一系列处理,例如,对于在雨雾天拍摄到的视频,通过视频透雾增透技术,将由于雨水、雾气或灰尘等导致朦胧不清的视频变得更加清晰,从而使得处理之后的视频更加适用于对行人身份进行识别。

行人身份识别模块202,用于将所述人体关键点特征向量序列输入至目标神经网络,根据所述目标神经网络的输出结果,识别所述人体关键点特征向量序列对应的行人身份;其中,所述目标神经网络是根据带有行人身份标签的人体关键点特征向量序列进行训练后得到的。

具体地,当获取到一个行人对应的人体关键点特征向量序列后,将该人体关键点特征向量序列输入至目标神经网络,从而根据目标神经网络的输出结果,识别该人体关键点特征向量序列对应的行人身份,也即,识别该行人的身份。可以理解的是,目标神经网络是通过训练之后所得到的,其能够有效且准确地根据行人对应的人体关键点特征向量序列,识别行人的身份。需要说明的是,目标神经网络为循环神经网络(recurrentneuralnetwork,简称rnn),特别地,优选为长短期记忆网络(longshorttermmemorynetworks,简称lstm)。lstm是一种特殊的rnn,能够学习到输入对象之间的长期依赖关系。由于人体关键点特征向量序列是一个时间序列,本发明实施例中的lstm可以实现该序列的长期记忆和短期记忆,从而能够充分考虑该序列中各个特征向量在时间维度上(多个特征向量的上下文特征)和空间维度上(多个特征向量的全局特征和单个特征向量的个体特征)的特征。将人体关键点特征向量序列输入至lstm中,lstm输出该序列对应的各身份预测概率,将最大的预测概率对应身份作为该序列对应的行人身份。例如,输出结果为:该序列对应的行人为a的概率5%,该序列对应的行人为b的概率18%,该序列对应的行人为c的概率72%,该序列对应的行人为d的概率5%,那么,判定该行人为c。

本发明实施例提供的装置,具体执行上述各方法实施例流程,具体请详见上述各方法实施例的内容,此处不再赘述。本发明实施例提供的装置,通过获取待识别视频中任一行人对应的人体关键点特征向量序列,并将该序列输入至目标神经网络,根据目标神经网络的输出结果,识别该序列对应的行人身份。通过充分利用人体关键点特征,自学习人体的步态特征,大大提高了步态识别的鲁棒性和准确性,并且,对硬件的要求较低,便于实际应用。

图3为本发明实施例提供的一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)301、通信接口(communicationsinterface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301可以调用存储在存储器303上并可在处理器301上运行的计算机程序,以执行上述各实施例提供的方法,例如包括:获取待识别视频中任一行人对应的人体关键点特征向量序列;将所述人体关键点特征向量序列输入至目标神经网络,根据所述目标神经网络的输出结果,识别所述人体关键点特征向量序列对应的行人身份;其中,所述目标神经网络是根据带有行人身份标签的人体关键点特征向量序列进行训练后得到的。

此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:获取待识别视频中任一行人对应的人体关键点特征向量序列;将所述人体关键点特征向量序列输入至目标神经网络,根据所述目标神经网络的输出结果,识别所述人体关键点特征向量序列对应的行人身份;其中,所述目标神经网络是根据带有行人身份标签的人体关键点特征向量序列进行训练后得到的。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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