基于多源异构数据流的人体行为检测方法
技术领域
本发明涉及人体行为的技术领域,特别是涉及基于多源异构数据流的人体行为检测方法。
背景技术
近年来,随着我国经济的高速发展,国民生活水平也不断提高,同时公众对于个人生活水平的期望也从早期解决温饱问题逐渐过渡到追求健康的生活方式上来。纵观世界各国,对个人健康生活方式的研究都是从人体行为识别开始。人体行为识别不仅对个人生活方式有较大帮助,其在虚拟现实、移动游戏、医疗保健、人机交互和图像识别等诸多领域也有着广泛的应用。随着科学技术的发展,研究人体行为识别的方法也发生了较大变化:数据类型从单一(视觉)走向多元化(视觉、加速度、陀螺仪、心率等多元数据);采集数据设备从笨重单一(跟拍或者固定活动范围)走向便携式可穿戴的多元化(智能手环、智能手表、智能手机、智能腰带、智能眼镜等);研究算法也从传统的机器学习算法(k最近邻、支持向量机、随机森林等)走向适合挖掘特征信息的深度学习算法(长短期记忆网络-卷积神经网络、深度玻尔兹曼机等)。无论是传感器数量上增加、数据类型由单一到多元化还是研究方法的改变,目的都是使得人体行为的识别精度有所提高、类别有所增加,以期更加准确地、全面地识别人体行为。
人体行为识别从本质上可以被认为是一个分类问题,即每个类别对应一个活动。现有的人体行为识别技术中,主要以提高行为识别精度和识别更多不易识别的行为为任务,但无法对流数据进行精准的时间定位,即不能在识别出行为的同时记录下行为所发生的时间段。如果能够做到识别出行为的同时也能识别出行为所发生的时间段,那么将做到准确的记录个人的实时行为,后者对个人健康评估、推荐等有较大帮助。此外,不同地区、不同种族、不同性别、不同年龄、不同健康程度的人行为差异很大,这些巨大差异对人体行为识别领域的研究人员而言是不小的挑战,目前仍没有一个泛化能力很强的人体行为识别算法,此后这必将是一个研究热点。
目前检索到的关于多源数据事件检测的相关专利有两个:其一,《一种基于神经网络的人体行为识别方法及系统》的方法是对视频信息和加速度信息两部分分别处理。在处理视频信息部分:首先对穿戴式图像传感器采集的图形信息进行灰度化处理,再对图像数据进行直方图均衡化,并使用LSTM-RNN(Long Short Term Memory-Recurrent NeuralNetwork)神经网络算法对处理后的图像信息进行场景识别。在处理加速度信息部分:首先获取运动传感器模块的加速度信息,然后取时间粒度内的加速度信息,得到动作特征向量,最后使用LSTM-RNN神经网络算法对动作特征向量进行处理,得到行为识别结果。对视频信息和加速度信息分别处理后,再使用场景标记的运动序列在行为数据库中进行匹配,得到具体的行为信息。其二,《基于多模态深度玻尔兹曼机的人体行为识别方法及系统》的研究方法流程:首先建立视觉数据和可穿戴设备传感器数据相结合的多模态数据模型;然后利用深度神经网络进行异构迁移学习,实现对缺失数据的重构;再利用softmax回归模型分类器进行分类;最后根据用户个体特性对公共样本数据产生的深度网络模型进行自适应调整。
《基于多模态深度玻尔兹曼机的人体行为识别方法及系统》是与本技术最相近的现有技术,图1为其系统示意图,可解释为五个步骤:1)获取视觉和可穿戴传感器数据:以视觉传感器采集频率的最大值作为视觉和可穿戴传感器共同的采集频率;采用视觉传感器采集的数据作为视频输入特征;可穿戴传感器选择手腕和腰部的姿态数据作为输入特征。2)建立视觉和可穿戴传感器数据多模态融合模型:为视觉和可穿戴传感器每个采集窗口时间内的数据添加开始帧、结束帧和帧编号,根据帧编号提取数据作为深度神经网络输入;该方案采用一种动态可变采集窗口长度的方法,动态分割出每个动作周期作为滑动窗口的时间长度;把一个采集时间窗口内所有像素点的颜色和深度信息构建成一个视觉特征向量作为输入;把一个采集时间窗口内的腕部和腰部6轴姿态传感器数据共同构成可穿戴传感器特征向量作为输入;深度学习模型直接对原始数据进行采集并通过训练得到特征。3)利用深度神经网络进行异构迁移学习,实现对缺失数据的重构:分别对视觉深度数据和可穿戴传感器数据构建深度玻尔兹曼机,模型深度为两层,以高斯单元作为可见层和隐藏层神经元;构建多模态深度玻尔兹曼机,使用一个共同的隐藏层融合视觉深度玻尔兹曼机和可穿戴传感器深度玻尔兹曼机。4)利用softmax回归模型分类器进行分类:利用多模态公开数据集(Berkeley多模态人体动作数据集),以及获得的实际数据集共同构成训练集;在深度学习模型的最后一层添加softmax分类器,通过训练分类器得到最终的分类模型;使用步骤3)中的融合深度玻尔兹曼机得到的共同特征作为输入,利用训练好的softmax分类器进行分类。5)根据用户个体特性对公共样本数据产生的深度网络模型进行自适应调整:在视觉特征输入层和可穿戴传感器特征输入层之前各加入一个隐藏层;把个体用户利用公共数据网络模型进行行为识别得到的可信度高的数据作为有标注的样本数据;利用有标注的样本数据并结合Mini-batch增量学习方法对公共数据集训练的模型进行自适应调整。
现有技术在多源数据事件流检测方面使用视觉和可穿戴传感器采集的多模态数据作为数据输入,这些数据的采集不应受到外界因素的限制。目前技术[1]使用机器人视角对用户进行视频的采集,此类视频的获取受机器人的影响较大,比如:机器人不一定跟得上用户的运动速度、机器人不易得到用户的合适视野等等,此外使用跟踪机器人也大大增加了成本。另外技术[2]使用第一人称视觉视频数据进行场景识别、使用由传感器数据识别出来的动作,再使用场景标记的运动序列在行为数据库中进行匹配,得到具体的行为信息,这里并不能得到一个行为事件的起止时间,这样就无法记录发生过的历史事件。
[1]来源于:毕盛.基于多模态深度玻尔兹曼机的人体行为识别方法及系统:公布号:CN,107886061[A].2018-04-06
[2]来源于:李争彦.一种基于神经网络的人体行为识别方法及系统:公布号:CN,108764059[A].2018-11-0
发明内容
本发明的目的是针对多源异构数据流,通过多种传感器数据进行特征提取和数据融合完成人体行为识别过程,并使用视频数据流对时间进行精准定位,将两者结果结合共同确认行为所发生的时间和持续时间。
本发明的基于多源异构数据流的人体行为检测方法,包括以下步骤:
步骤S1,使用特征提取器提取视频及传感数据的特征;
步骤S2,使用Boundary-matchingnetwork(BMN)作为生成候选时段网络,该网络作用于所有多源数据;
步骤S3,分类模块采用传感数据和视频特征进行事件识别。
本发明的基于多源异构数据流的人体行为检测方法,所述步骤S1具体步骤如下:实验数据集S,由第一人称视频及对应的传感数据组成;首先,将训练集合S中的视频按照固定时段划分为q个数据片段,每个片段至少包含一个事件;对传感数据以相同操作进行处理,获得对应传感数据段;使用特征提取器对每个数据片段提取特征,并按时间顺序拼接为特征矩阵;同理,将原始传感数据(加速度,心率)相应地切分成相同数量的片段并依次输入特征提取器,最终得到一个与视频特征相同维度的特征矩阵。
本发明的基于多源异构数据流的人体行为检测方法,所述步骤S2具体步骤如下:将得到的视频特征与传感特征进行融合,构成多源样本特征;该特征与视频中事件的真实起止时刻(ground truth)相结合对BMN网络进行训练;该网络输出两个列表,分别包含100个开始(结束)时刻及对应的概率行向量P
B(P
E);将两向量相乘得到100*100的时段评估矩阵
其中P(i,j)代表事件在第i个时刻开始,第j个时刻结束的概率。
本发明的基于多源异构数据流的人体行为检测方法,所述步骤S3具体步骤如下:根据候选时段模块生成的起止时刻及其概率分布选择相应的数据时段进行分类;以固定时间窗口在数据段上滑动获得n个子段,分类器对各子段进行预测,按照投票机制判定整段类别,先将原始传感数据输入传感数据特征提取器得到传感数据特征;然后将视频特征经过卷积神经网络(CNN)得到视频片段的深层次特征,最后融合两种特征作为分类器的输入。
本发明的基于多源异构数据流的人体行为检测方法,所述步骤S1中采用C3D神经网络作为视频特征提取器,得到视觉特征:
其中,l
f=l
v/σ,l
v是视频的长度,σ是每次输入特征提取器的视频帧数,t
n是一个视频中第n(1≤n≤l
f)个子视频段,
其中,C是特征维度
是第n个子视频段的特征,此外,除了选用的特征提取器不同外,传感数据以同样方式处理。
本发明的基于多源异构数据流的人体行为检测方法,所述步骤S2中,BMN网络作为候选时段生成网络,具体包括:
其中,tn是一个采样点,且tn∈[ts-0.25(te-ts),te+0.25(te-ts)],dec表示只保留小数部分的函数,floor表示只保留整数部分的函数,wi,j代表事件在第i(0≤i≤100)个时刻开始在第j(0≤j≤100)个时刻结束的置信度。
与现有技术相比本发明的有益效果为:在Stanford-ECM[6]数据集上开展了实验,其实验结果如表1所示,根据结果可知,使用多源数据进行事件流检测效果明显优于只用视频数据,测试时本方案使用的评价标准为:
mAP越高,模型在所有类别的平均分类性能越好。
[6]Nakamura K,Yeung S,Alahi A,et al.Jointly learning energyexpenditures and activities using egocentric multimodal signals[C]//Proceedings of the IEEE Conference on Computer Vision and PatternRecognition.2017:1868-1877.
附图说明
图1是本发明的第一流程图;
图2是本发明的第二流程图;
图3是本发明的第三流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1至图3所示,本发明的基于多源异构数据流的人体行为检测方法,包括以下步骤:
步骤S1,使用特征提取器提取视频及传感数据的特征;
步骤S2,使用Boundary-matching network(BMN)[1]作为生成候选时段网络,该网络作用于所有多源数据;
步骤S3,分类模块采用传感数据和视频特征进行事件识别。
本发明的基于多源异构数据流的人体行为检测方法,所述步骤S1具体步骤如下:实验数据集S,由第一人称视频及对应的传感数据组成;首先,将训练集合S中的视频按照固定时段划分为q个数据片段,每个片段至少包含一个事件;对传感数据以相同操作进行处理,获得对应传感数据段;使用特征提取器对每个数据片段提取特征,并按时间顺序拼接为特征矩阵;同理,将原始传感数据(加速度,心率)相应地切分成相同数量的片段并依次输入特征提取器,最终得到一个与视频特征相同维度的特征矩阵。
本发明的基于多源异构数据流的人体行为检测方法,所述步骤S2具体步骤如下:将得到的视频特征与传感特征进行融合,构成多源样本特征;该特征与视频中事件的真实起止时刻(ground truth)相结合对BMN网络进行训练;该网络输出两个列表,分别包含100个开始(结束)时刻及对应的概率行向量P
B(P
E);将两向量相乘得到100*100的时段评估矩阵
其中P(i,j)代表事件在第i个时刻开始,第j个时刻结束的概率。
本发明的基于多源异构数据流的人体行为检测方法,所述步骤S3具体步骤如下:本方案主要基于[2,3]的方法进行改进并且得到了更好的效果,根据候选时段模块生成的起止时刻及其概率分布选择相应的数据时段进行分类;以固定时间窗口在数据段上滑动获得n个子段,分类器对各子段进行预测,按照投票机制判定整段类别,先将原始传感数据输入传感数据特征提取器得到传感数据特征;然后将视频特征经过卷积神经网络(CNN)得到视频片段的深层次特征,最后融合两种特征作为分类器的输入。
本发明的基于多源异构数据流的人体行为检测方法,所述步骤S1中采用C3D[4]神经网络作为视频特征提取器,得到视觉特征:
其中,l
f=l
v/σ,l
v是视频的长度,σ是每次输入特征提取器的视频帧数,t
n是一个视频中第n(1≤n≤l
f)个子视频段,
其中,C是特征维度
是第n个子视频段的特征,此外,除了选用的特征提取器不同外,传感数据以同样方式处理。
本发明的基于多源异构数据流的人体行为检测方法,所述步骤S2中,BMN网络作为候选时段生成网络,具体包括:
其中,tn是一个采样点,且tn∈[ts-0.25(te-ts),te+0.25(te-ts)],dec表示只保留小数部分的函数,floor表示只保留整数部分的函数,wi,j代表事件在第i(0≤i≤100)个时刻开始在第j(0≤j≤100)个时刻结束的置信度。
[1]Lin T,Liu X,Li X,et al.Bmn:Boundary-matching network for temporalaction proposal generation[C]//Proceedings of the IEEE InternationalConference on Computer Vision.2019:3889-3898.
[2]Yuqing Chen and Yang Xue,“A Deep Learning Approach to HumanActivity Recognition Based on Single Accelerometer,”in IEEE InternationalConference on Systems,Man,and Cybernetics,2015,pp.1488–1492.
[3]Sojeong Ha and Seungjin Choi,“Convolutional neural networks forhuman activity recognition using multiple accelerometer and gyroscopesensors,”in International Joint Conference on Neural Networks,2016,pp.381–388.
[4]Tran D,Bourdev L,Fergus R,et al.Learning spatiotemporal featureswith 3d convolutional networks[C]//Proceedings of the IEEE internationalconference on computer vision.2015:4489-4497.
实施例:
本发明假设两种模态数据分别是视频和传感数据,这两种模态数据源自可穿戴设备(摄像头、加速度传感器、心率传感器),将同一时间段的数据形式化为:V={fi|i=1,2...n},S={si|i=1,2...n},其中fi表示视频中的第i帧,V表示视频,si表示第i条传感数据,S表示整段传感数据。此外,featureV=ext1(V),featureS=ext2(S),视频和传感数据分别经过特征提取器得到特征并将其融合,将融合后的特征输入生成候选时段模块得到候选时段,根据生成的候选时段选择对应的传感数据和视频特征输入分类模块得到事件类别。最后,根据候选时段和事件类别确定事件的发生时段及其类别。
本发明提出了一种基于多源异构数据流的人体行为检测方法,所述方法包括三个步骤:步骤S1,构造特征提取器;步骤S2,生成候选时段;步骤S3,检测候选时段内发生的事件类别。具体来说,包括以下步骤:
步骤S1,采用C3D网络视频特征提取器,可以得到视觉特征:
其中,l
f=l
v/σ,l
v是视频的长度,σ是每次输入特征提取器的视频帧数,t
n是一个视频中第n(1≤n≤l
f)个子视频段,
其中C是特征维度
是第n个子视频段的特征。此外,除了选用的特征提取器不同外,传感数据以同样方式处理;
步骤S2中BMN网络作为候选时段生成网络,具体包括:
其中,tn是一个非整型的采样点,且tn∈[ts-0.25(te-ts),te+0.25(te-ts)],dec表示只保留小数部分的函数,floor表示只保留整数部分的函数。wi,j代表事件在第i(0≤i≤100)个时刻开始在第j(0≤i≤100)个时刻结束的置信度;
步骤S3,分类模块的输入为传感数据和视频特征。根据候选时段模块生成的起止时刻及其概率分布选择相应的数据时段进行分类。具体地,以固定时间窗口在数据段上滑动获得n个子段,分类器对各子段进行预测,按照投票机制判定整段类别,先将原始传感数据输入传感器特征提取网络得到传感数据特征;然后将视频特征经过CNN网络得到视频片段的深层次特征,最后融合两种特征作为分类器的输入。
与现有技术相比本发明的有益效果为:在Stanford-ECM数据集上开展了实验,其实验结果如表1所示,
表1是在Stanford-ECM数据集上开展实验的实验结果
根据结果可知,使用多源数据进行事件流检测效果明显优于只用视频数据,测试时本方案使用的评价标准为:
mAP越高,模型在所有类别的平均分类性能越好。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。