公开/公告号CN113033339A
专利类型发明专利
公开/公告日2021-06-25
原文格式PDF
申请/专利权人 山西三友和智慧信息技术股份有限公司;
申请/专利号CN202110255564.X
申请日2021-03-09
分类号G06K9/00(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);
代理机构44724 深圳科润知识产权代理事务所(普通合伙);
代理人李小妮
地址 030000 山西省太原市高新区科技街15号A118室
入库时间 2023-06-19 11:35:49
技术领域
本发明属于应用图像行为识别技术领域,具体涉及一种基于改进ResNet与Bi-LSTM的行为识别方法。
背景技术
目前传统行为识别方法依赖人工特征工程,对于复杂条件下的数据如遮挡、背景杂乱、阴影光照差异等环境因素都会给图像特征提取带来困难,且二维图像数据处理方法无法很好的对3D数据进行有效的联合识别,导致识别效果较差。
存在问题或缺陷的原因:目前现有方式依赖人工对特征进行选取,智能化程度低,且方法的泛化性能及鲁棒性较弱,无法对3D数据进行有效分析,识别效果较差。
发明内容
针对上述方法传统行为识别方法智能化程度低、方法的泛化性能及鲁棒性较弱等问题,本发明提供了一种更好的对数据特征进行提取,对人体行为进行更好识别的方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于改进ResNet与Bi-LSTM的行为识别方法,包括下列步骤:
S100、标签处理:对UTKinectAction3D数据集的标签:走路、坐下、站起、捡起、抬起、扔、推、拉、挥手和拍手十类数据进行One-Hot格式转换;
S200、数据预处理:对数据集分为训练集、验证集与训练集三部分;
S300、模型构建:将网络分为5个ResNet1模块、Bi-LSTM网络、ResNet2模块、全连接网络四个部分;
S400、网络训练:对搭建好的网络使用训练集进行训练,完成参数模型的训练;
S500、网络验证:证验证网络损失值不再下降;
S600、模型评价:使用训练好的网络对测试集数据进行识别,计算准确率与召回率对网络识别效果进行评价。
所述标签处理中,将其下标index分别为0-9,对数据标签进行转换。
所述数据预处理中,将人体20个关节、持续120帧的三通道数据以7:1:2的比例划分为数据训练集、验证集与测试集。
所述模型构建中,采用卷积层-Average池化层-BatchNormalization层-激活层-卷积层-Max池化层-BatchNormalization层-激活层顺序组合方式组合5个包含两个卷积层、两个池化层、两个BatchNormalization层与两个激活层构成的ResNet模块构成ResNet1层。
所述模型构建中,采用一个前向LSTM与一个反向LSTM进行组合构建的双向LSTM网络构成Bi-LSTM层,每个LSTM Cell设置包含遗忘门、输入门与输出门3个门控单元,前向LSTM对特征进行顺向处理,反向LSTM对特征进行逆向处理,再使用ADD方式对两个方向的LSTM提取到的特征进行结合。
所述模型构建中,采用卷积层-BatchNormalization层-激活层-卷积层-Max池化层-BatchNormalization层-激活层-顺序组合方式组合3个ResNet模块构成ResNet2层。
所述模型构建中,全连接层为3层全连接,加入系数为0.5的DropOut防止过拟合发生,对全连接计算得到的结果使用Sigmoid进行输出,
所述网络训练中,采用Adam作为优化器,初始学习率为0.01,每100个epoch学习率衰减50%,batch size大小为64,使用softmax_cross_entropy作为损失函数,设定训练800个epoch,连续20个epoch模型损失值无下降则停止训练,保存模型。
所述网络验证中,使用验证集数据对训练的到的数据模型进行200个epoch的二次训练,若模型损失无下降,保存模型;若模型损失降低,将学习率设置为原来的0.5倍,使用训练集数据继续对模型进行训练,直到模型损失稳定。
本发明与现有技术相比,具有的有益效果是:
本发明使用改进的ResNet模块与Bi-LSTM网络进行融合构建行为识别模型,使用不同结构的ResNet模块对数据特征进行提取,并利用Bi-LSTM网络对连续帧数据特征进行了时域分析,更好的对数据特征进行了提取,可以对人体行为进行更好的识别。。
附图说明
图1本发明的系统模块ResNet1框图;
图2本发明的系统模块ResNet2框图;
图3本发明的网络结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于改进ResNet与Bi-LSTM的行为识别方法,如图1、2、3所示,包括下列步骤:
S100、标签处理:对UTKinectAction3D数据集的标签:走路、坐下、站起、捡起、抬起、扔、推、拉、挥手和拍手十类数据进行One-Hot格式转换;
S200、数据预处理:对数据集分为训练集、验证集与训练集三部分;
S300、模型构建:将网络分为5个ResNet1模块、Bi-LSTM网络、ResNet2模块、全连接网络四个部分;
S400、网络训练:对搭建好的网络使用训练集进行训练,完成参数模型的训练;
S500、网络验证:证验证网络损失值不再下降;
S600、模型评价:使用训练好的网络对测试集数据进行识别,计算准确率与召回率对网络识别效果进行评价。
进一步,步骤标签处理中,将其下标index分别为0-9。即走路标签为[1,0,0,0,0,0,0,0,0,0],以此类推,对数据标签进行转换。
进一步,步骤数据预处理中,将人体20个关节、持续120帧的三通道数据以7:1:2的比例划分为数据训练集、验证集与测试集。其中训练集用于网络参数训练,验证集用于验证网络训练完全,测试集用于模型评价。
进一步,步骤模型构建中,采用卷积层-Average池化层-BatchNormalization层-激活层-卷积层-Max池化层-BatchNormalization层-激活层顺序组合方式组合5个包含两个卷积层、两个池化层、两个BatchNormalization层与两个激活层构成的ResNet模块构成ResNet1层。卷积层的卷积核大小为3x3,步长为1,采用valid卷积方式进行卷积。Valid卷积即卷积核以全覆盖方式对featuremap进行卷积,不进行padding。收个池化层采用AveragePooling方式,即对池化核范围内的特征值求平均作为池化后特征,第二个池化层采用MaxPooling方式,即取池化感受野范围内最大的值作为特征。池化核大小为2x2,步长为1。BatchNormalization层把逐渐向非线性函数映射后向取值区间极限饱和区靠拢的输入分布强制拉回到均值为0方差为1的比较标准的正态分布,使得非线性变换函数的输入值落入对输入比较敏感的区域,以此避免梯度消失问题。激活层将ReLU激活函数改进为Swish激活函数,Swish的计算方式为f(x)=x*sigmoid(x),相较于ReLU该激活函数无上界有下界、平滑、非单调,将其应用于各网络,在ImageNet上的训练效果总体优于ReLU。每个Res模块的输入与输出之前使用一个残差连接以解决网络退化问题。5个ResNet模块的filter数量分别为16、32、32、64、64。
进一步,步骤模型构建中,采用一个前向LSTM与一个反向LSTM进行组合构建的双向LSTM网络构成Bi-LSTM层。LSTM相较于RNN网络,可以很好的解决网络梯度爆炸问题。每个LSTM Cell设置包含遗忘门、输入门与输出门3个门控单元,遗忘门用于决定对前一LSTMCell传递的信息的学习,输入门用于对本Cell进行学习,即决定在本Cell中需储存的信息,输出门用于决定传递到下一Cell的信息。前向LSTM对特征进行顺向处理,反向LSTM对特征进行逆向处理,两个方向的LSTM单元对数据特征进行处理完毕后,再使用ADD方式对两个方向的LSTM提取到的特征进行结合。本网络中每个LSTM Cell的隐藏节点数量为64。
进一步,步骤模型构建中,采用卷积层-BatchNormalization层-激活层-卷积层-Max池化层-BatchNormalization层-激活层-顺序组合方式组合3个ResNet模块构成ResNet2层。卷积核大小为3x3,步长为2,激活函数采用Swish,相较于ResNet1层,本部分每个ResNet模块只对featuremap进行一次最大池化,池化核大小为3x3,步长为1。3个ResNet模块的filter数量分别为64、128、256。
进一步,步骤模型构建中,全连接层为3层全连接,加入系数为0.5的DropOut防止过拟合发生,对全连接计算得到的结果使用Sigmoid进行输出,
进一步,步骤网络训练中,采用Adam作为优化器,初始学习率为0.01,每100个epoch学习率衰减50%,batchsize大小为64,使用softmax_cross_entropy作为损失函数,设定训练800个epoch,连续20个epoch模型损失值无下降则停止训练,保存模型。
进一步,步骤网络验证中,使用验证集数据对训练的到的数据模型进行200个epoch的二次训练,若模型损失无下降,保存模型;若模型损失降低,将学习率设置为原来的0.5倍,使用训练集数据继续对模型进行训练,直到模型损失稳定。
进一步,步骤模型评价中,使用训练完成的模型对测试集数据进行测试,根据模型识别结果与数据标签,对模型识别效果进行评估,评估方式为对每一个类别的数据进行准确率与召回率的计算。准确率:Acc=(TP+TN)/(TP+TN+FN+FP),召回率:R=TP/(TP+FN),其中TP为正类判定为正类数量;FP为负类判定为正类数量;FN为正类判定为负类数量;TN为负类判定为负类数量。
上面仅对本发明的较佳实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化,各种变化均应包含在本发明的保护范围之内。
机译: 基于HMM-SVM两层改进模型的复杂道路环境下车辆行为识别方法
机译: 一种用于预测对生命体的兴趣行为的库的制造方法,以及一种基于动作参数的变化或类似斑马鱼的用于评估对生命体的兴趣的行为的方法
机译: 一种用于预测对生命体的兴趣行为的库的制造方法,以及一种基于动作参数的变化或类似斑马鱼的用于评估对生命体的兴趣的行为的方法