本发明涉及ota(onlinetravelagency,在线旅行社)平台的信息处理技术领域,特别涉及一种图片识别模型的训练方法、识别方法、系统、设备和介质。
背景技术:
随着通信技术和智能终端设备的发展,人们在出行旅游过程中,都会随手拍摄许多照片,并将这些照片上传至平台进行分享。平台的图库,每天都会新增大量由用户、商家或景点官方上传的图片,图库中更是累计了海量的图片。由于这些海量杂乱无章的图片无法通过人工进行审核和标注,所以,难以利用。目前,对明确场景图片进行分类和识别的研究有很多,分类的方法也比较成熟,但在开放场景中识别出包含特定内容图片的方法却鲜有人研究。其中,开放场景的图片是指不具有明确场景的干扰的图片,例如,明确场景是自然地貌场景,开放场景的图片为除自然地貌场景外的图片,还包含大量与自然地貌场景外无关的图片,如植物、建筑、动物、人物、图画、卡通图片、海报等图片。
技术实现要素:
本发明要解决的技术问题是为了克服现有技术中无法对开放场景图片进行自动识别的缺陷,提供一种图片识别模型的训练方法、识别方法、系统、设备和介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供一种图片识别模型的训练方法,所述训练方法包括:
获取多个图片,根据预设的分类标签对所述图片进行标注得到标签图片,以构造初始训练数据集;其中,所述图片包括具有明确场景的目标图片和不具有明确场景的干扰图片;所述预设的分类标签包括若干个分别与所述目标图片中的场景相对应的场景标签和一个与所述干扰图片相对应的非场景标签;
采用卷积神经网络作为基础网络,并在所述卷积神经网络层中增加分支卷积层,以构建图片识别模型的网络结构;所述分支卷积层用于将所述基础网络中的多级特征图进行融合;
将多个所述标签图片输入至所述图片识别模型的网络结构中进行训练以生成所述图片识别模型。
较佳地,所述采用卷积神经网络作为基础网络,并在所述卷积神经网络层中增加分支卷积层,以构建图片识别模型的网络结构的步骤包括:
采用wideresnet50(一种卷积神经网络)作为基础网络,wideresnet50包括第一输出层、第二输出层、第三输出层、第四输出层、第五输出层、全连接层;
分别在所述第二输出层的输出端、所述第三输出层的输出端、所述第四输出层的输出端增加第一分支卷积层、第二分支卷积层、第三分支卷积层,以构建所述图片识别模型的网络结构;
所述第一分支卷积层用于接收第二输出层输出的特征图并将所述第二输出层输出的特征图的尺寸和通道数进行变换,以得到第一分支卷积层输出的特征图;
所述第二分支卷积层用于接收第一融合特征图并将所述第一融合特征图的尺寸和通道数进行变换以得到第二分支卷积层输出的特征图,其中,所述第一融合特征图通过将所述第一分支卷积层输出的特征图与所述第三输出层输出的特征图相融合之后得到;
所述第三分支卷积层用于接收第二融合特征图并将所述第二融合特征图的尺寸和通道数进行变换以得到第三分支卷积层输出的特征图,其中,所述第二融合特征图通过将所述第二分支卷积层输出的特征图与所述第四输出层输出的特征图相融合之后得到;
所述全连接层用于接收第三融合特征图,其中,所述第三融合特征图通过将所述第三分支卷积层输出的特征图与所述第五输出层输出的特征图相融合之后得到;
其中,所述第一分支卷积层输出的特征图与所述第三输出层输出的特征图的尺寸和通道数相同;所述第二分支卷积层输出的特征图与所述第四输出层输出的特征图的尺寸和通道数相同;所述第三分支卷积层输出的特征图与所述第五输出层输出的特征图的尺寸和通道数相同。
较佳地,所述将多个所述标签图片数据输入至所述图片识别模型的网络结构中进行训练以生成所述图片识别模型的步骤还包括:
利用加权的交叉熵损失作为主损失函数、ringloss作为辅助损失函数,以获得所述图片识别模型的网络结构的损失值;
基于所述图片识别模型的网络结构的损失值,采用动量的随机梯度下降算法对所述图片识别模型的网络结构的参数进行优化,以得到模型的优化参数;
采用迁移学习的方法,对学习率进行设置,并对模型的优化参数进行调整,以使得图片识别模型的准确率达到预设阈值。
本发明还提供一种图片识别方法,所述图片识别方法包括:
获取待识别的图片;
将所述待识别的图片输入至图片识别模型中进行识别,以得到所述标签图片的概率值;
所述图片识别模型使用如前述的图片识别模型的训练方法生成。
本发明还提供一种图片识别模型的训练系统,所述训练系统包括:
第一获取模块,用于获取多个图片,根据预设的分类标签对所述图片进行标注得到标签图片,以构造初始训练数据集;其中,所述图片包括具有明确场景的目标图片和不具有明确场景的干扰图片;所述预设的分类标签包括若干个分别与所述目标图片中的场景相对应的场景标签和一个与所述干扰图片相对应的非场景标签;
构建模块,用于采用卷积神经网络作为基础网络,并在所述卷积神经网络层中增加分支卷积层,以构建图片识别模型的网络结构;所述分支卷积层用于将所述基础网络中的多级特征图进行融合;
生成模块,用于将多个所述标签图片输入至所述图片识别模型的网络结构中进行训练以生成所述图片识别模型。
较佳地,所述构建模块用于采用wideresnet50作为基础网络,wideresnet50包括第一输出层、第二输出层、第三输出层、第四输出层、第五输出层、全连接层;
分别在所述第二输出层的输出端、所述第三输出层的输出端、所述第四输出层的输出端增加第一分支卷积层、第二分支卷积层、第三分支卷积层,以构建所述图片识别模型的网络结构;
所述第一分支卷积层用于接收第二输出层输出的特征图并将所述第二输出层输出的特征图的尺寸和通道数进行变换,以得到第一分支卷积层输出的特征图;
所述第二分支卷积层用于接收第一融合特征图并将所述第一融合特征图的尺寸和通道数进行变换以得到第二分支卷积层输出的特征图,其中,所述第一融合特征图通过将所述第一分支卷积层输出的特征图与所述第三输出层输出的特征图相融合之后得到;
所述第三分支卷积层用于接收第二融合特征图并将所述第二融合特征图的尺寸和通道数进行变换以得到第三分支卷积层输出的特征图,其中,所述第二融合特征图通过将所述第二分支卷积层输出的特征图与所述第四输出层输出的特征图相融合之后得到;
所述全连接层用于接收第三融合特征图,其中,所述第三融合特征图通过将所述第三分支卷积层输出的特征图与所述第五输出层输出的特征图相融合之后得到;
其中,所述第一分支卷积层输出的特征图与所述第三输出层输出的特征图的尺寸和通道数相同;所述第二分支卷积层输出的特征图与所述第四输出层输出的特征图的尺寸和通道数相同;所述第三分支卷积层输出的特征图与所述第五输出层输出的特征图的尺寸和通道数相同。
较佳地,所述生成模块包括:
损失值获取单元,用于利用加权的交叉熵损失作为主损失函数、ringloss作为辅助损失函数,以获得所述图片识别模型的网络结构的损失值;
优化参数获取单元,用于基于所述图片识别模型的网络结构的损失值,采用动量的随机梯度下降算法对所述图片识别模型的网络结构的参数进行优化,以得到模型的优化参数;
调整单元,用于采用迁移学习的方法,对学习率进行设置,并对模型的优化参数进行调整,以使得图片识别模型的准确率达到预设阈值。
本发明还提供一种图片识别系统,所述图片识别系统包括:
图片获取模块,用于获取待识别的图片;
输入模块,用于将所述待识别的图片输入至图片识别模型中进行识别,以得到所述标签图片的概率值;
所述图片识别模型使用如前述的识别模型的训练系统生成。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述的图片识别模型的训练方法或如前述的图片识别方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的图片识别模型的训练方法或如前述的图片识别方法的步骤。
本发明的积极进步效果在于:
本发明公开了一种图片识别模型的训练方法、识别方法、系统、设备和介质,通过采用卷积神经网络作为基础网络,并在基础网络的层级中增加分支卷积层,构建图片识别模型的网络结构,并对图片识别模型的网络结构进行训练生成图片识别模型,利用图片识别模型对图片进行识别,该图片识别模型通过增加分支卷积层能够实现将基础分类网络中的图片进行多级特征融合,从而实现了对开放场景图片进行自动识别,进而提升了识别的效率。
附图说明
图1为本发明实施例1的图片识别模型的训练方法的流程图;
图2为本发明实施例1的步骤s102的流程图;
图3为本发明实施例1的图片识别模型网络结构的流程图;
图4为本发明实施例1的步骤s103的流程图;
图5为本发明实施例2的图片识别方法的流程图;
图6为本发明实施例3的图片识别模型的训练系统的模块示意图;
图7为本发明实施例3的生成模块3的模块示意图;
图8为本发明实施例4的图片识别系统的模块示意图;
图9为本发明实施例5的电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例公开了图片识别模型的训练方法,包括以下步骤:
步骤s101、获取多个图片,根据预设的分类标签对所述图片进行标注得到标签图片,以构造初始训练数据集;其中,所述图片包括具有明确场景的目标图片和不具有明确场景的干扰图片;所述预设的分类标签包括若干个分别与所述目标图片中的场景相对应的场景标签和一个与所述干扰图片相对应的非场景标签;例如,当明确场景为自然地貌场景时,场景标签可以为草原湿地、沙漠戈壁、丹霞地貌、喀斯特地貌等4大类,非场景标签为“其他”。具体地,可以采用多种方式分别收集自然地貌场景数据及“其他”图片数据,其中,包括利用爬虫技术收集的数据、平台过去积累的相关数据、人工补充标注的数据。
步骤s102、采用卷积神经网络作为基础网络,并在所述卷积神经网络层中增加分支卷积层,以构建图片识别模型的网络结构;所述分支卷积层用于将所述基础网络中的多级特征图进行融合;本实施例中,可以采用开源的pytorch(一种机器学习库)深度学习框架,对网络结构进行定义。
本实施例中,分支卷积层可以对特征图片的尺寸和通道进行变换,从而将基础网络中的多级特征图进行融合。
步骤s103、将多个所述标签图片输入至所述图片识别模型的网络结构中进行训练以生成所述图片识别模型。
本实施例中,可以将图片识别模型部署成服务接口。
如图2所示,本实施例中,步骤s102包括:
步骤s1021、采用wideresnet50作为基础网络,wideresnet50包括第一输出层、第二输出层、第三输出层、第四输出层、第五输出层、全连接层;
步骤s1022、分别在所述第二输出层的输出端、所述第三输出层的输出端、所述第四输出层的输出端分别增加第一分支卷积层、第二分支卷积层、第三分支卷积层,以构建所述图片识别模型的网络结构;
如图3所示,本实施例中,将图片(image)输入至第一输出层(conv1),经第一输出层的处理输出第一输出特征图;将第一输出特征图输入至第二输出层(conv2_x),第二输出层对第一输出特征图进行处理并输出第二输出特征图;将第二输出特征图分别输入至第一分支卷积层(3×3conv)及第三输出层(conv3_x)中,第一分支卷积层对第二输出特征图的尺寸和通道数进行变换输出第一分支特征图,第三输出层对第二输出特征图进行处理输出第三输出特征图,其中,第一分支特征图和第三输出特征图的尺寸和通道数相同,将第一分支特征图和第三输出特征图进行融合得到第一融合特征图;将第一融合特征图和第三输出特征图分别输入至第二分支卷积层(3×3conv)和第四输出层(conv4_x)中,第二分支卷积层对第一融合特征图进行尺寸和通道数进行变换输出第二分支特征图,第四输出层对第三输出特征图进行处理得到第四输出特征图,其中,第二分支特征图和第四输出特征图的尺寸和通道数相同,将第二分支特征图和第四输出特征图进行融合得到第二融合特征图;将第二融合特征图和第四输出特征图分别输入至第三分支卷积层(3×3conv)和第五输出层(conv5_x)中,第三分支卷积层对第二融合特征图进行尺寸和通道数进行变换输出第三分支特征图,第五输出层对第四输出特征图进行处理得到第五输出特征图,其中,第三分支特征图和第五输出特征图的尺寸和通道数相同,将第三分支特征图和第五输出特征图进行融合得到第三融合特征图;将第三融合特征图经过均值池化(averagepool)操作后输入至全连接层(fc)中,将全连接层经过softmax操作处理得到图片对应标签图片的概率值。
具体地,输入第一输出层的图片尺寸可以限制为224×224,全连接层输出节点数设置为n 1,即n个场景标签和1个“其他”。将第一输出层、第二输出层、第三输出层、第四输出层、第五输出层、全连接层分别记为conv1、conv2_x、conv3_x、conv4_x和conv5_x层;第二输出层、第三输出层、第四输出层及第五输出层输出的特征值记为f2_out、f3_out、f4_out、f5_out,利用3×3卷积作为各分支卷积,对特征图的尺寸和通道数进行调整,便于对不同层级的特征进行融合,基于融合后的特征图fout进行分类,具体公式如下:
fout=f5_out f3×3(f4_out f3×3(f3_out f3×3(f2_out)))
result=soft_max(fc(avg_pool(fout)))
其中f3×3表示3×3卷积,soft_max表示softmax操作,fc表示全连接层,avg-pool表示均值池化。
如图4所示,步骤s103包括:
步骤s1031、利用加权的交叉熵损失作为主损失函数、ringloss(一种损失函数)作为辅助损失函数,以获得所述图片识别模型的网络结构的损失值;
本实施例中,模型输出为y={y1,y2,...,yn 1},权重为w={w1,w2,...,wn 1},取值基于训练集中各类样本数的比例,则n个场景标签及“其他”之间的交叉熵损失表示为lossce:
其中,label表示图片的真实类别标签序号,取值范围为[1,n 1]的整数;wlabel∈w,为图片真实类别标签对应的权重;ylabel∈y,为图片真实类别标签对应的模型输出值。
目标模长为r,以第一轮迭代后的特征向量模长的均值初始化r,ringloss表示为lossrl:
最终的损失losstotal为两种损失函数的加权和:
losstotal=lossce λlossrl
其中,λ为权重因子,取值为0.01。
步骤s1032、基于所述图片识别模型的网络结构的损失值,采用动量的随机梯度下降算法对所述图片识别模型的网络结构的参数进行优化,以得到模型的优化参数;
本实施例中,损失的反向传播采用基于动量的随机梯度下降的方法,动量因子为momentum=0.9。
步骤s1033、采用迁移学习的方法,对学习率进行设置,并对模型的优化参数进行调整,以使得图片识别模型的准确率达到预设阈值。
本实施例中,基于在公开场景分类数据集place365(一种数据集)上训练的开源模型进行迁移学习,加载除基础网络中的全连接层及特征融合分支以外的预训练权重。训练增加的分支卷积层及基础网络的全连接层中的权重参数,其中,初始学习率设为0.01;微调网络conv2_x、conv3_x、conv4_x和conv5_x中的预训练权重参数,conv2_x和conv3_x的初始学习率设为0.001,conv4_x和conv5_x的初始学习率设为0.002;冻结其他层中的参数,不进行更新。训练过程中,每迭代5轮,将参数学习率的值减小一半。
本实施例中,利用攻略图库中数据进行测试,抽验识别结果来评估模型的准确率及召回率。针对错分的case(情况)补充相应的正负样本到训练集,剔除不利于模型训练的不典型样本,并更新交叉熵的权重w,对模型进行重新训练。重复多轮数据迭代,直到模型的准确率满足生产需求才停止训练。
本实施例公开了图片识别模型的训练方法,通过采用卷积神经网络作为基础网络,并在基础网络的层级中增加分支卷积层,构建图片识别模型的网络结构,并对图片识别模型的网络结构进行训练生成图片识别模型,该图片识别模型通过增加分支卷积层能够实现将基础分类网络中的图片进行多级特征融合,从而实现了对开放场景图片进行自动识别,进而提升了识别的效率。另在模型训练时利用加权的交叉熵损失作为主损失函数、ringloss作为辅助损失函数,以获得所述图片识别模型的网络结构的损失值,并采用动量的随机梯度下降算法对所述图片识别模型的网络结构的参数进行优化及采用采用迁移学习的方法,对学习率进行设置,从而增加了模型的准确率。
实施例2
如图5所示,本实施例公开了一种图片识别方法,包括以下步骤:
步骤s201、获取待识别的图片;
步骤s202、将所述待识别的图片输入至图片识别模型中进行识别,以得到所述标签图片的概率值;
本实施例中,图片识别模型使用如前述的图片识别模型的训练方法生成。
实施例3
如图6所示,本实施例公开了一种图片识别模型的训练系统,所述训练系统包括:
第一获取模块1,用于获取多个图片,根据预设的分类标签对所述图片进行标注得到标签图片,以构造初始训练数据集;其中,所述图片包括具有明确场景的目标图片和不具有明确场景的干扰图片;所述预设的分类标签包括若干个分别与所述目标图片中的场景相对应的场景标签和一个与所述干扰图片相对应的非场景标签;例如,当明确场景为自然地貌场景时,场景标签可以为草原湿地、沙漠戈壁、丹霞地貌、喀斯特地貌等4大类,非场景标签为“其他”。具体地,可以采用多种方式分别收集自然地貌场景数据及“其他”图片数据,其中,包括利用爬虫技术收集的数据、平台过去积累的相关数据、人工补充标注的数据。
构建模块2,用于采用卷积神经网络作为基础网络,并在所述卷积神经网络层中增加分支卷积层,以构建图片识别模型的网络结构;所述分支卷积层用于将所述基础网络中的多级特征图进行融合;本实施例中,可以采用开源的pytorch深度学习框架,对网络结构进行定义。
本实施例中,分支卷积层可以对特征图片的尺寸和通道进行变换,从而将基础网络中的多级特征图进行融合。
生成模块3,用于将多个所述标签图片输入至所述图片识别模型的网络结构中进行训练以生成所述图片识别模型。
本实施例中,可以将图片识别模型部署成服务接口。
本实施例中,构建模块2用于采用wideresnet50作为基础网络,wideresnet50包括第一输出层、第二输出层、第三输出层、第四输出层、第五输出层、全连接层;
分别在所述第二输出层的输出端、所述第三输出层的输出端、所述第四输出层的输出端分别增加第一分支卷积层、第二分支卷积层、第三分支卷积层,以构建所述图片识别模型的网络结构;
如图3所示,将图片(image)输入至第一输出层(conv1),经第一输出层的处理输出第一输出特征图;将第一输出特征图输入至第二输出层(conv2_x),第二输出层对第一输出特征图进行处理并输出第二输出特征图;将第二输出特征图分别输入至第一分支卷积层(3×3conv)及第三输出层(conv3_x)中,第一分支卷积层对第二输出特征图的尺寸和通道数进行变换输出第一分支特征图,第三输出层对第二输出特征图进行处理输出第三输出特征图,其中,第一分支特征图和第三输出特征图的尺寸和通道数相同,将第一分支特征图和第三输出特征图进行融合得到第一融合特征图;将第一融合特征图和第三输出特征图分别输入至第二分支卷积层(3×3conv)和第四输出层(conv4_x)中,第二分支卷积层对第一融合特征图进行尺寸和通道数进行变换输出第二分支特征图,第四输出层对第三输出特征图进行处理得到第四输出特征图,其中,第二分支特征图和第四输出特征图的尺寸和通道数相同,将第二分支特征图和第四输出特征图进行融合得到第二融合特征图;将第二融合特征图和第四输出特征图分别输入至第三分支卷积层(3×3conv)和第五输出层(conv5_x)中,第三分支卷积层对第二融合特征图进行尺寸和通道数进行变换输出第三分支特征图,第五输出层对第四输出特征图进行处理得到第五输出特征图,其中,第三分支特征图和第五输出特征图的尺寸和通道数相同,将第三分支特征图和第五输出特征图进行融合得到第三融合特征图;将第三融合特征图经过均值池化(averagepool)操作后输入至全连接层(fc)中,将全连接层经过softmax操作处理得到图片对应标签图片的概率值。
具体地,输入第一输出层的图片尺寸可以限制为224×224,全连接层输出节点数设置为n 1,即n个场景标签和1个“其他”。将第一输出层、第二输出层、第三输出层、第四输出层、第五输出层、全连接层分别记为conv1、conv2_x、conv3_x、conv4_x和conv5_x层;第二输出层、第三输出层、第四输出层及第五输出层输出的特征值记为f2_out、f3_out、f4_out、f5_out,利用3×3卷积作为各分支卷积,对特征图的尺寸和通道数进行调整,便于对不同层级的特征进行融合,基于融合后的特征图fout进行分类,具体公式如下:
fout=f5_out f3×3(f4_out f3×3(f3_out f3×3(f2_out)))
result=soft_max(fc(avg_pool(fout)))
其中f3×3表示3×3卷积,soft_max表示softmax操作,fc表示全连接层,avg-pool表示均值池化。
如图7所示,生成模块3包括:
损失值获取单元31,用于利用加权的交叉熵损失作为主损失函数、ringloss作为辅助损失函数,以获得所述图片识别模型的网络结构的损失值;
本实施例中,模型输出为y={y1,y2,...,yn 1},权重为w={w1,w2,...,wn 1},取值基于训练集中各类样本数的比例,则n个场景标签及“其他”之间的交叉熵损失表示为lossce:
其中,label表示图片的真实类别标签序号,取值范围为[1,n 1]的整数;wlabel∈w,为图片真实类别标签对应的权重;ylabel∈y,为图片真实类别标签对应的模型输出值。
目标模长为r,以第一轮迭代后的特征向量模长的均值初始化r,ringloss表示为lossrl:
最终的损失losstotal为两种损失函数的加权和:
losstotal=lossce λlossrl
其中,λ为权重因子,取值为0.01。
优化参数获取单元32,用于基于所述图片识别模型的网络结构的损失值,采用动量的随机梯度下降算法对所述图片识别模型的网络结构的参数进行优化,以得到模型的优化参数;
本实施例中,损失的反向传播采用基于动量的随机梯度下降的方法,动量因子为momentum=0.9。
调整单元33,用于采用迁移学习的方法,对学习率进行设置,并对模型的优化参数进行调整,以使得图片识别模型的准确率达到预设阈值。
本实施例中,基于在公开场景分类数据集place365上训练的开源模型进行迁移学习,加载除基础网络中的全连接层及特征融合分支以外的预训练权重。训练增加的分支卷积层及基础网络的全连接层中的权重参数,其中,初始学习率设为0.01;微调网络conv2_x、conv3_x、conv4_x和conv5_x中的预训练权重参数,conv2_x和conv3_x的初始学习率设为0.001,conv4_x和conv5_x的初始学习率设为0.002;冻结其他层中的参数,不进行更新。训练过程中,每迭代5轮,将参数学习率的值减小一半。
本实施例中,利用攻略图库中数据进行测试,抽验识别结果来评估模型的准确率及召回率。针对错分的case补充相应的正负样本到训练集,剔除不利于模型训练的不典型样本,并更新交叉熵的权重w,对模型进行重新训练。重复多轮数据迭代,直到模型的准确率满足生产需求才停止训练。
本实施例公开了图片识别模型的训练系统,通过采用卷积神经网络作为基础网络,并在基础网络的层级中增加分支卷积层,构建图片识别模型的网络结构,并对图片识别模型的网络结构进行训练生成图片识别模型,该图片识别模型通过增加分支卷积层能够实现将基础分类网络中的图片进行多级特征融合,从而实现了对开放场景图片进行自动识别,进而提升了识别的效率。另在模型训练时利用加权的交叉熵损失作为主损失函数、ringloss作为辅助损失函数,以获得所述图片识别模型的网络结构的损失值,并采用动量的随机梯度下降算法对所述图片识别模型的网络结构的参数进行优化及采用采用迁移学习的方法,对学习率进行设置,从而增加了模型的准确率。
实施例4
如图8所示,本实施例公开了一种图片识别系统,该图片识别系统包括:图片获取模块4,用于获取待识别的图片;
输入模块5,用于将所述待识别的图片输入至图片识别模型中进行识别,以得到所述标签图片的概率值;
所述图片识别模型使用前述的图片识别模型的训练系统生成。
实施例5
图9为本发明实施例5提供的一种电子设备的结构示意图。所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1提供的图片识别模型的训练方法或实施例2提供的图片识别方法。图9显示的电子设备40仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备40可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备40的组件可以包括但不限于:上述至少一个处理器41、上述至少一个存储器42、连接不同系统组件(包括存储器42和处理器41)的总线43。
总线43包括数据总线、地址总线和控制总线。
存储器42可以包括易失性存储器,例如随机存取存储器(ram)421和/或高速缓存存储器422,还可以进一步包括只读存储器(rom)423。
存储器42还可以包括具有一组(至少一个)程序模块424的程序/实用工具425,这样的程序模块424包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器41通过运行存储在存储器42中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1所提供的图片识别模型的训练方法或实施例2提供的图片识别方法。
电子设备40也可以与一个或多个外部设备44(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口45进行。并且,模型生成的设备40还可以通过网络适配器46与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器46通过总线43与模型生成的设备40的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备40使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例6
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1所提供的图片识别模型的训练方法或实施例2提供的图片识别方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1所提供的图片识别模型的训练方法或实施例2提供的图片识别方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
1.一种图片识别模型的训练方法,其特征在于,所述训练方法包括:
获取多个图片,根据预设的分类标签对所述图片进行标注得到标签图片,以构造初始训练数据集;其中,所述图片包括具有明确场景的目标图片和不具有明确场景的干扰图片;所述预设的分类标签包括若干个分别与所述目标图片中的场景相对应的场景标签和一个与所述干扰图片相对应的非场景标签;
采用卷积神经网络作为基础网络,并在所述卷积神经网络层中增加分支卷积层,以构建图片识别模型的网络结构;所述分支卷积层用于将所述基础网络中的多级特征图进行融合;
将多个所述标签图片输入至所述图片识别模型的网络结构中进行训练以生成所述图片识别模型。
2.如权利要求1所述的图片识别模型的训练方法,其特征在于,所述采用卷积神经网络作为基础网络,并在所述卷积神经网络层中增加分支卷积层,以构建图片识别模型的网络结构的步骤包括:
采用wideresnet50作为基础网络,wideresnet50包括第一输出层、第二输出层、第三输出层、第四输出层、第五输出层、全连接层;
分别在所述第二输出层的输出端、所述第三输出层的输出端、所述第四输出层的输出端增加第一分支卷积层、第二分支卷积层、第三分支卷积层,以构建所述图片识别模型的网络结构;
所述第一分支卷积层用于接收第二输出层输出的特征图并将所述第二输出层输出的特征图的尺寸和通道数进行变换,以得到第一分支卷积层输出的特征图;
所述第二分支卷积层用于接收第一融合特征图并将所述第一融合特征图的尺寸和通道数进行变换以得到第二分支卷积层输出的特征图,其中,所述第一融合特征图通过将所述第一分支卷积层输出的特征图与所述第三输出层输出的特征图相融合之后得到;
所述第三分支卷积层用于接收第二融合特征图并将所述第二融合特征图的尺寸和通道数进行变换以得到第三分支卷积层输出的特征图,其中,所述第二融合特征图通过将所述第二分支卷积层输出的特征图与所述第四输出层输出的特征图相融合之后得到;
所述全连接层用于接收第三融合特征图,其中,所述第三融合特征图通过将所述第三分支卷积层输出的特征图与所述第五输出层输出的特征图相融合之后得到;
其中,所述第一分支卷积层输出的特征图与所述第三输出层输出的特征图的尺寸和通道数相同;所述第二分支卷积层输出的特征图与所述第四输出层输出的特征图的尺寸和通道数相同;所述第三分支卷积层输出的特征图与所述第五输出层输出的特征图的尺寸和通道数相同。
3.如权利要求1所述的图片识别模型的训练方法,其特征在于,所述将多个所述标签图片数据输入至所述图片识别模型的网络结构中进行训练以生成所述图片识别模型的步骤还包括:
利用加权的交叉熵损失作为主损失函数、ringloss作为辅助损失函数,以获得所述图片识别模型的网络结构的损失值;
基于所述图片识别模型的网络结构的损失值,采用动量的随机梯度下降算法对所述图片识别模型的网络结构的参数进行优化,以得到模型的优化参数;
采用迁移学习的方法,对学习率进行设置,并对模型的优化参数进行调整,以使得图片识别模型的准确率达到预设阈值。
4.一种图片识别方法,其特征在于,所述图片识别方法包括:
获取待识别的图片;
将所述待识别的图片输入至图片识别模型中进行识别,以得到所述标签图片的概率值;
所述图片识别模型使用如权利要求1至3任一项所述的图片识别模型的训练方法生成。
5.一种图片识别模型的训练系统,其特征在于,所述训练系统包括:
第一获取模块,用于获取多个图片,根据预设的分类标签对所述图片进行标注得到标签图片,以构造初始训练数据集;其中,所述图片包括具有明确场景的目标图片和不具有明确场景的干扰图片;所述预设的分类标签包括若干个分别与所述目标图片中的场景相对应的场景标签和一个与所述干扰图片相对应的非场景标签;
构建模块,用于采用卷积神经网络作为基础网络,并在所述卷积神经网络层中增加分支卷积层,以构建图片识别模型的网络结构;所述分支卷积层用于将所述基础网络中的多级特征图进行融合;
生成模块,用于将多个所述标签图片输入至所述图片识别模型的网络结构中进行训练以生成所述图片识别模型。
6.如权利要求5所述的图片识别模型的训练系统,其特征在于,所述构建模块用于采用wideresnet50作为基础网络,wideresnet50包括第一输出层、第二输出层、第三输出层、第四输出层、第五输出层、全连接层;
分别在所述第二输出层的输出端、所述第三输出层的输出端、所述第四输出层的输出端增加第一分支卷积层、第二分支卷积层、第三分支卷积层,以构建所述图片识别模型的网络结构;
所述第一分支卷积层用于接收第二输出层输出的特征图并将所述第二输出层输出的特征图的尺寸和通道数进行变换,以得到第一分支卷积层输出的特征图;
所述第二分支卷积层用于接收第一融合特征图并将所述第一融合特征图的尺寸和通道数进行变换以得到第二分支卷积层输出的特征图,其中,所述第一融合特征图通过将所述第一分支卷积层输出的特征图与所述第三输出层输出的特征图相融合之后得到;
所述第三分支卷积层用于接收第二融合特征图并将所述第二融合特征图的尺寸和通道数进行变换以得到第三分支卷积层输出的特征图,其中,所述第二融合特征图通过将所述第二分支卷积层输出的特征图与所述第四输出层输出的特征图相融合之后得到;
所述全连接层用于接收第三融合特征图,其中,所述第三融合特征图通过将所述第三分支卷积层输出的特征图与所述第五输出层输出的特征图相融合之后得到;
其中,所述第一分支卷积层输出的特征图与所述第三输出层输出的特征图的尺寸和通道数相同;所述第二分支卷积层输出的特征图与所述第四输出层输出的特征图的尺寸和通道数相同;所述第三分支卷积层输出的特征图与所述第五输出层输出的特征图的尺寸和通道数相同。
7.如权利要求5所述的图片识别模型的训练系统,其特征在于,所述生成模块包括:
损失值获取单元,用于利用加权的交叉熵损失作为主损失函数、ringloss作为辅助损失函数,以获得所述图片识别模型的网络结构的损失值;
优化参数获取单元,用于基于所述图片识别模型的网络结构的损失值,采用动量的随机梯度下降算法对所述图片识别模型的网络结构的参数进行优化,以得到模型的优化参数;
调整单元,用于采用迁移学习的方法,对学习率进行设置,并对模型的优化参数进行调整,以使得图片识别模型的准确率达到预设阈值。
8.一种图片识别系统,其特征在于,所述图片识别系统包括:
图片获取模块,用于获取待识别的图片;
输入模块,用于将所述待识别的图片输入至图片识别模型中进行识别,以得到所述标签图片的概率值;
所述图片识别模型使用如权利要求5至7任一项所述的识别模型的训练系统生成。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的图片识别模型的训练方法或如权利要求4所述的图片识别方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的图片识别模型的训练方法或如权利要求4所述的图片识别方法的步骤。
技术总结