买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于特征融合的深度学习场景识别方法_国网山东省电力公司枣庄供电公司;山东亿云信息技术有限公司_201910459987.6 

申请/专利权人:国网山东省电力公司枣庄供电公司;山东亿云信息技术有限公司

申请日:2019-05-30

公开(公告)日:2023-01-24

公开(公告)号:CN110222755B

主分类号:G06V10/774

分类号:G06V10/774;G06V10/771;G06V10/82;G06N3/04

优先权:

专利状态码:有效-授权

法律状态:2023.01.24#授权;2019.10.08#实质审查的生效;2019.09.10#公开

摘要:本发明涉及一种基于特征融合的深度学习场景识别方法,本发明利用深度卷积神经网络,首先选择VGG16模型第4个卷积模块的最后一个卷积操作输出的特征图F,然后对选择的特征图F依次进行1次卷积和2次线性变换操作,最终将特征图F转换成512维的列向量,然后将512维的列向量与VGG16第一个全连接层输出的4096维特征向量进行级联融合,将融合后的4608维的特征向量x输入到下一个全连接层中,最终获得模型对场景图像的预测结果。该方法不仅在公开的场景图像数据集Scene‑15上取得较好的分类效果同时在我们构建的电力场景图像数据集上也取得较高的分类准确率。

主权项:1.基于特征融合的深度学习场景识别方法,其特征在于:包括以下步骤:S01)、图像数据预处理,首先将输入的RGB图像缩放成宽256,高256,然后,根据公式1进行归一化处理,最后,将归一化处理后的数据x输入到VGG16模型中,公式1为: ,式中,batch为批次数,即一次输入模型的图片数量;S02)、选择特征图,选择VGG16模型第4个卷积模块的最后一个卷积操作输出的特征图F,然后对选择的特征图F依次进行1次卷积和2次线性变换操作,最终将特征图F转换成512维的列向量,其中卷积操作的计算公式为: ,式中,F为输入的特征图,K为卷积核大小,d为空洞率,S为输出的特征图,i,j为特征图F的元素坐标,m,n为卷积核K的元素坐标,线性变换操作的计算公式为: ,式中,y为输出特征向量,x为输入特征向量,w为权重,b为偏置值,f为激活函数,激活函数选择线性整流函数ReLU,其公式为:;S03)、特征融合,将步骤S02产生的512维特征向量记为x1,VGG16第一个全连接层输出的4096维特征向量记为x2,将x1与x2进行级联融合,公式为:x=[x1,x2],最后将融合后的4608维的特征向量x输入到下一个全连接层中,最终获得模型对场景图像的预测结果。

全文数据:基于特征融合的深度学习场景识别方法技术领域本发明涉及一种场景图像识别方法,具体的说,是一种基于特征融合的深度学习场景识别方法。背景技术场景识别是计算机视觉极其重要的一个研究课题,其目的是让计算机像人类视觉一样,理解场景语义信息。然而,由于场景语义信息丰富,通常包含背景、时间、行为、情感以及物体空间位置等多层语义信息,并且同类场景之间普遍存在着较大的差异性,使得场景识别研究充满挑战。近年来,随着深度学习的进一步发展,尤其是深度卷积神经网络在图像分类上的成功应用,越来越多的学者研究使用深度学习模型,解决场景识别问题。从结果上看,基于深度学习的场景分类方法,分类准确率远高于传统算法或传统算法的改进方法。然而大部分的工作是将图像识别任务的深度学习用于场景识别,没有考虑到场景的结构、空间布局等宏观信息,识别精度有待进一步提高。发明内容本发明要解决的技术问题是提供一种基于特征融合的深度学习场景识别方法,在深度卷积神经网络VGG16模型基础上,融合场景图像的微观特征和宏观特征,以提高场景图像的识别准确率。为了解决所述技术问题,本发明采用的技术方案是:一种基于特征融合的深度学习场景识别方法,包括以下步骤:S01)、图像数据预处理,首先将输入的RGB图像缩放成宽256,高256,然后,根据公式1进行归一化处理,最后,将归一化处理后的数据x输入到VGG16模型中,公式1为:,式中,batch为批次数,即一次输入模型的图片数量;S02)、选择特征图,选择VGG16模型第4个卷积模块的最后一个卷积操作输出的特征图F,然后对选择的特征图F依次进行1次卷积和2次线性变换操作,最终将特征图F转换成512维的列向量,其中卷积操作的计算公式为:,式中,F为输入的特征图,K为卷积核大小,d为空洞率,S为输出的特征图,i,j为特征图F的元素坐标,m,n为卷积核K的元素坐标,线性变换操作的计算公式为:,式中,y为输出特征向量,x为输入特征向量,w为权重,b为偏置值,f为激活函数,激活函数选择线性整流函数ReLU,其公式为:;S03)、特征融合,将步骤S02产生的512维特征向量记为x1,VGG16第一个全连接层输出的4096维特征向量记为x2,将x1与x2进行级联融合,公式为:x=[x1,x2],最后将融合后的4608维的特征向量x输入到下一个全连接层中,最终获得模型对场景图像的预测结果。进一步的,VGG16模型训练阶段将batch设置为32,测试阶段将batch设置为1。进一步的,在模型训练阶段对图片数据集进行扩增,扩增方式包括随机水平翻转、垂直翻转、增加高斯噪声以及随机设置图像亮度。进一步的,步骤S02中,设置K=1,d=2。进一步的,为了加速模型收敛速度,在对特征图F进行卷积操作之前,加入BatchNormalization层对数据进行归一化处理,在完成卷积操作之后,加入Dropout层,以50%的概率随机丢掉一部分神经元,防止模型过拟合。进一步的,为了加速模型收敛速度和防止过拟合,在进行特征融合之前,对x1进行BatchNormalization操作,对x1进行归一化处理,然后进行Dropout操作,以50%的概率随机丢掉一部分数据。进一步的,模型训练时,采用提前结束训练和动态调整学习率的训练策略,选择PyTorch-1.0.1学习框架,模型训练参数设置为:BatchSize=32,MaxEpoch=300,Momentum=0.9,WeightDecay=0.0005,LearningRate=0.01,模型训练的具体步骤为:S11)、初始化训练参数,设置迭代次数n=0,世代数epoch=0,平均训练误差avg_loss=INF,提前结束训练指数m=0;S12)、判断epoch是否小于MaxEpoch,是,执行下一步,否则保存模型退出;S13)、从训练样本中随机选择BatchSize个样本输入模型,n=n+1,保存当前训练误差;S14)、判断n是否等于N,N等于训练样本大小除以批次,是,epoch=epoch+1,执行下一步骤,否则执行步骤S12;S15)、根据公式调整学习率,式中,n为迭代次数,epoch为世代数,N等于训练样本大小除以批次,判断平均训练误差是否小于avg_loss,是,则更新avg_loss为当前平均训练误差,设置m=0,否则m=m+1;S16)、判断m是否小于10,是,则结束训练,保存模型,否则执行步骤S02。本发明的有益效果:本发明利用深度卷积神经网络,提取了场景图像的宏观特征和微观特征进行级联融合,提高场景图像的识别准确率。该方法不仅在公开的场景图像数据集Scene-15上取得较好的分类效果同时在我们构建的电力场景图像数据集上也取得较高的分类准确率。附图说明图1为原VGG16模型的结构示意图,为便于描述,将其记为Model-A;图2为基于VGG16修改后的模型结构示意图,为便于描述,将其记为Model-B;图3为Model-A在Scene-15验证集上的ROC曲线示意图;图4为Model-B在Scene-15验证集上的ROC曲线示意图;图5为Electric-5部分图像示意图;图6为Model-A在Electric-5验证集上的ROC曲线示意图;图7为Model-B在Electric-5验证集上的ROC曲线示意图。具体实施方式下面结合附图和具体实施例对本发明作进一步的说明。实施例1本实施例公开一种基于特征融合的深度学习场景识别方法,本方法在深度卷积神经网络VGG16模型基础上,融合场景图像的微观特征和宏观特征,提高了场景识别的准确率,具体包括以下步骤:S01)、图像数据预处理,首先将输入的RGB图像缩放成宽256,高256,然后,根据公式1进行归一化处理,最后,将归一化处理后的数据x输入到VGG16模型中,公式1为:,式中,batch为批次数,即一次输入模型的图片数量,模型训练阶段将batch设置为32,测试阶段将batch设置为1。同时,为了获得更多的训练样本,在模型训练阶段,我们采取随机水平翻转、垂直翻转、增加高斯噪声以及随机设置图像亮度的方式,对图片数据集进行扩增。S02)、选择特征图,通过对VGG16各卷积模块输出的特征图进行可视化及对比分析,选择VGG16模型的第10个卷积层(即第4个卷积模块的最后一个卷积操作)输出的特征图F,然后对选择的特征图F依次进行1次卷积和2次线性变换操作,最终将特征图F转换成512维的列向量。为了获得更大的感受野,选择空洞卷积方式,其计算公式为:,式中,F为输入的特征图,K为卷积核大小,d为空洞率,本实施例中,设置K=1,d=2,S为输出的特征图,i、j为特征图F的元素坐标,m、n为卷积核K的元素坐标;线性变换操作的计算公式为:,式中,y为输出特征向量,x为输入特征向量,第一次线性变换的输入特征向量为与空洞卷积输出的特征图,第二次线性变换的输入特征向量为第一次线性变换的输出特征向量,w为权重,b为偏置值,f为激活函数。为了加速模型收敛,本实施例中,激活函数选择线性整流函数ReLU,其公式为:;S03)、特征融合,将步骤S02产生的512维特征向量记为x1(x1代表场景图像的宏观特征)VGG16第一个全连接层输出的4096维特征向量记为x2(x2代表场景图像的微观特征),将x1与x2进行级联融合,公式为:x=[x1,x2],最后将融合后的4608维的特征向量x输入到下一个全连接层中,最终获得模型对场景图像的预测结果。本实施例中,为了加速模型收敛速度,在对特征图F进行卷积操作之前,加入BatchNormalization层对数据进行归一化处理,在完成卷积操作之后,加入Dropout层,以50%的概率随机丢掉一部分神经元,防止模型过拟合。为了加速模型收敛速度和防止过拟合,在进行特征融合之前,对x1进行BatchNormalization操作,对x1进行归一化处理,然后进行Dropout操作,以50%的概率随机丢掉一部分数据。本实施例选择常用的公开数据集Scene-15,该数据集标记了15类场景图片,每一类有200至400张图片,共有4485张图片,其中训练样本3139张,验证样本1346张。本实施例的实验硬件环境为:ubuntu16.04操作系统,32核IntelRXeonRSilver4110,3块GeForceGTXTITNAX。选择PyTorch-1.0.1学习框架,模型训练参数设置如表1所示。同时,为防止模型泛化,我们采取提前结束训练和动态调整学习率的训练策略。表1模型训练参数设置参数值BatchSize(批次)32MaxEpoch(最大世代数)300Momentum(动量)0.9WeightDecay(权重衰减)0.0005LearningRate(学习率)0.01模型训练的具体步骤为:S11)、初始化训练参数,设置迭代次数n=0,世代数epoch=0,平均训练误差avg_loss=INF,提前结束训练指数m=0;S12)、判断epoch是否小于MaxEpoch,是,执行下一步,否则保存模型退出;S13)、从训练样本中随机选择BatchSize个样本输入模型,n=n+1,保存当前训练误差;S14)、判断n是否等于N,N等于训练样本大小除以批次,是,epoch=epoch+1,执行下一步骤,否则执行步骤S12;S15)、根据公式调整学习率,式中,n为迭代次数,epoch为世代数,N等于训练样本大小除以批次,判断平均训练误差是否小于avg_loss,是,则更新avg_loss为当前平均训练误差,设置m=0,否则m=m+1;S16)、判断m是否小于10,是,则结束训练,保存模型,否则执行步骤S02。图3和4分别为VGG16和本实施例模型(为便于后文描述,将VGG16记做Model-A,修改后的模型记作Model-B)在Scene-15验证集上的ROC曲线。对比图3和图4中的结果,可知Model-A和Model-B对Scene-15每一类场景的识别精确率均在97%以上。但总体上,Model-B的平均识别精确率要略高于Model-A。进一步,对比观察图3和图4的ROC曲线可见,图4的ROC曲线相比图3更靠近坐标(0,1)点,即更向左上角凸,表明Model-B的分类性能更好。表2Model-AB在Scene-15上的top-N准确率及MicroF1值top-1top-3MicroF1Model-A89.60%99.45%92.71%Model-B92.05%99.55%93.50%对比表2的陈列结果,可知Model-B的top-1和top-3分类准确率分别高于Model-A,2.45和0.1个百分点。同时,Model-B的MicroF1值高于Model-A的0.79个百分点。MicroF1的评估指标表明Model-B对Scene-15验证集的平均分类正确性高于Model-A。综合不同评估指标的对比结果,表明针对Scene-15数据集Model-B比Model-A的分类性能更好,即证明本实施例所述场景识别方法准确率更高。实施例2本实施例中,收集制作了电力行业相关的场景数据集,记为:Electric-5,粗略标记了5大类场景图像,分别为:球类比赛、各类活动、领导调研、友好交流和会议。各类场景图像的数量分别为:126、894、1007、168和2178,共计4499张图像,将其分为3200张训练样本和1299张验证样本。相较以自然场景为主的Scene-15数据集,Electric-5的分类粒度较粗,场景图像的类内差异更大,类间差异更小。比如,各类活动中的文体活动与工作场景差异较大,而属于不同类的会议场景图像与友好交流场景图像差异较小。图5为Electric-5中部分场景图像示例。本实施例的实验环境及模型参数设置与实例1相同,学习率调整公式也与实例1相同。不同之处在于,本实施例使用实施例1训练好的模型在Electric-5数据集上进行微调,即只对模型最后一层的参数进行学习调整,其他层参数不进行调整。模型训练步骤如下:S21)、初始化训练参数,设置迭代次数n=0,世代数epoch=0,平均训练误差avg_loss=INF,提前结束训练m=0;S22)、加载预训练好的模型,设置最后一层的输出个数为5且层参数可优化,其它层参数不可优化;S23)、判断epoch是否小于MaxEpoch。是,执行下一步,否则保存模型退出;S24)、从训练样本中随机选择BatchSize个样本输入模型,n=n+1,保存当前训练误差;S25)、判断n是否等于N,是,epoch=epoch+1,执行下一步骤,否则执行步骤3;S26)、根据公式调整学习率,判断平均训练误差是否小于avg_loss,是更新avg_loss为当前平均训练误差,设置m=0,否则m=m+1;S27)、判断m是否小于10。是,结束训练,保存模型,否则执行步骤3。图6和7为Model-A、Model-B在Electric-5验证集上的ROC曲线。由图中曲线易知,两个模型在该数据集上的识别效果明显不如在Sceen-15上的效果。主要原因在于Electric-5比Sceen-15的场景图像类间差异更大、类内差异更小,标签语义信息更为宏观和抽象,模型学习更困难。对比图6和图7,总体来看,Model-A和Model-B在Electric-5验证集上的分类准确率相差甚微。但对某些类的分类准确率差别较大,如Model-A对class1和class2的分类准确率分别为77%和84%,而Model-B的分别为81%和90%,分别高于Model-A,3和6个百分点。因此,相较而言,Model-B的分类准确率略优于Model-A。同时,两个模型对样本量最少的第1类(球类比赛)的分类精度率最高,可能是因为球类比赛场景的特征相比其他场景更为明显;对第2类(各类活动)的分类精度最低,主要是由于各类活动的场景差异较大,模型很难进行有效学习和区分。表3Model-AB在Electric-5上的top-n准确率及MicroF1值top-1top-3MicroF1Model-A73.67%97.61%75.7%Model-B80.45%97.69%81.3%由表3陈列的结果,易见Model-B的top-1和top-3分类准确率分别高于Model-A,6.78和0.08个百分点。而且,Model-B的MicroF1值高于Model-A的5.6个百分点。总之,Model-B的评价指标均优于Model-A。因此,Model-B的分类效果优于Model-A。同时,实验结果也表明了,基于特征融合的深度学习场景识别方法是有效的,对提升场景识别准确率是有帮助的。以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。

权利要求:1.基于特征融合的深度学习场景识别方法,其特征在于:包括以下步骤:S01)、图像数据预处理,首先将输入的RGB图像缩放成宽256,高256,然后,根据公式1进行归一化处理,最后,将归一化处理后的数据x输入到VGG16模型中,公式1为:,式中,batch为批次数,即一次输入模型的图片数量;S02)、选择特征图,选择VGG16模型第4个卷积模块的最后一个卷积操作输出的特征图F,然后对选择的特征图F依次进行1次卷积和2次线性变换操作,最终将特征图F转换成512维的列向量,其中卷积操作的计算公式为:,式中,F为输入的特征图,K为卷积核大小,d为空洞率,S为输出的特征图,i,j为特征图F的元素坐标,m,n为卷积核K的元素坐标,线性变换操作的计算公式为:,式中,y为输出特征向量,x为输入特征向量,w为权重,b为偏置值,f为激活函数,激活函数选择线性整流函数ReLU,其公式为:;S03)、特征融合,将步骤S02产生的512维特征向量记为x1,VGG16第一个全连接层输出的4096维特征向量记为x2,将x1与x2进行级联融合,公式为:x=[x1,x2],最后将融合后的4608维的特征向量x输入到下一个全连接层中,最终获得模型对场景图像的预测结果。2.根据权利要求1所述的基于特征融合的深度学习场景识别方法,其特征在于:VGG16模型训练阶段将batch设置为32,测试阶段将batch设置为1。3.根据权利要求1所述的基于特征融合的深度学习场景识别方法,其特征在于:在模型训练阶段对图片数据集进行扩增,扩增方式包括随机水平翻转、垂直翻转、增加高斯噪声以及随机设置图像亮度。4.根据权利要求1所述的基于特征融合的深度学习场景识别方法,其特征在于:步骤S02中,设置K=1,d=2。5.根据权利要求1所述的基于特征融合的深度学习场景识别方法,其特征在于:为了加速模型收敛速度,在对特征图F进行卷积操作之前,加入BatchNormalization层对数据进行归一化处理,在完成卷积操作之后,加入Dropout层,以50%的概率随机丢掉一部分神经元,防止模型过拟合。6.根据权利要求1所述的基于特征融合的深度学习场景识别方法,其特征在于:为了加速模型收敛速度和防止过拟合,在进行特征融合之前,对x1进行BatchNormalization操作,对x1进行归一化处理,然后进行Dropout操作,以50%的概率随机丢掉一部分数据。7.根据权利要求1所述的基于特征融合的深度学习场景识别方法,其特征在于:模型训练时,采用提前结束训练和动态调整学习率的训练策略,选择PyTorch-1.0.1学习框架,模型训练参数设置为:BatchSize=32,MaxEpoch=300,Momentum=0.9,WeightDecay=0.0005,LearningRate=0.01,模型训练的具体步骤为:S11)、初始化训练参数,设置迭代次数n=0,世代数epoch=0,平均训练误差avg_loss=INF,提前结束训练指数m=0;S12)、判断epoch是否小于MaxEpoch,是,执行下一步,否则保存模型退出;S13)、从训练样本中随机选择BatchSize个样本输入模型,n=n+1,保存当前训练误差;S14)、判断n是否等于N,N等于训练样本大小除以批次,是,epoch=epoch+1,执行下一步骤,否则执行步骤S12;S15)、根据公式调整学习率,式中,n为迭代次数,epoch为世代数,N等于训练样本大小除以批次,判断平均训练误差是否小于avg_loss,是,则更新avg_loss为当前平均训练误差,设置m=0,否则m=m+1;S16)、判断m是否小于10,是,则结束训练,保存模型,否则执行步骤S02。

百度查询: 国网山东省电力公司枣庄供电公司;山东亿云信息技术有限公司 基于特征融合的深度学习场景识别方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。