CN110598727B - 基于迁移学习的模型构建方法、图像识别方法及其装置 - Google Patents
基于迁移学习的模型构建方法、图像识别方法及其装置 Download PDFInfo
- Publication number
- CN110598727B CN110598727B CN201910656794.XA CN201910656794A CN110598727B CN 110598727 B CN110598727 B CN 110598727B CN 201910656794 A CN201910656794 A CN 201910656794A CN 110598727 B CN110598727 B CN 110598727B
- Authority
- CN
- China
- Prior art keywords
- learning model
- layer
- training set
- net
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
基于迁移学习的模型构建方法、图像识别方法及其装置,该基于迁移学习的模型构建方法包括:利用第一训练集,通过深度神经网络训练得到第一学习模型;利用第二训练集对第一学习模型的各个网络层逐一进行参数微调,直至第一学习模型的损失函数的结果不再下降或者历遍所有的网络层,构建得到第二学习模型;组合第一训练集和第二训练集,通过第二学习模型训练得到第三学习模型;该第三学习模型用于对具有第一类特征和/或第二类特征的物体的图像进行特征信息提取。由于在构建模型时,不仅利用了第一训练集,还利用了第二训练集,如此使得构建的第二学习模型可以具备两个训练集的特征学习能力,而且能够达到较好的收敛效果。
Description
技术领域
本发明涉及图像处理技术领域,具体涉及基于迁移学习的模型构建方法、图像识别方法及装置。
背景技术
近年来,深度学习越来越受到人们的关注,并已成功应用于众多领域中。深度学习算法可以从海量数据中学习高级特征,这使得深度学习具备超越传统机器学习的优势。
然而,数据依赖是深度学习中最严峻的问题之一。与传统的机器学习方法相比,深度学习极其依赖大规模训练数据,因为它需要大量数据去理解潜在的数据模式。由于大量的训练数据集的制作一般都有一定的局限性,而对于特定训练集的训练网络在相同任务下更换数据集后往往表现会有差异,比如针对人脸图像的数据集,亚洲人脸数据集和欧洲人脸数据集之间会存在差异,欧洲人脸数据集和非洲人脸数据集也会存在差异;因此,在单个数据集上训练得到的学习模型的普适性往往会受到制约。
当前,一种解决该问题的有效方法是迁移学习,但是在实际的神经网络训练过程中,往往由于不同数据集之间存在的过大差异,会引起一些很强波动的情况,并且使得学习模型难以收敛,致使利用同一学习模型只能对一些特征差异较小的物体进行识别,而不能对那些具有较大差异特征的物体进行识别,由此限制了学习模型的应用范围,最终导致物体识别的体验效果差。
发明内容
本发明主要解决的技术问题是如何提高现有图像识别模型的迁移学习能力,以增强物体识别的体验效果。
根据第一方面,一种实施例中提供一种基于迁移学习的模型构建方法,其特征在于,包括:
利用第一训练集,通过深度神经网络训练得到第一学习模型;所述第一训练集包括具有第一类特征的物体的多幅图像;
利用第二训练集,对所述第一学习模型的各个网络层逐一进行参数微调,直至所述第一学习模型的损失函数的结果不再下降或者历遍所有的网络层,构建得到第二学习模型;所述第二训练集包括具有第二类特征的物体的多幅图像;
组合所述第一训练集和所述第二训练集,通过所述第二学习模型训练得到第三学习模型;所述第三学习模型用于对具有第一类特征和/或第二类特征的物体的图像进行特征信息提取。
所述利用第二训练集,对所述第一学习模型的各个网络层逐一进行参数微调,直至所述第一学习模型的损失函数的结果不再下降或者历遍所有的网络层,构建得到第二学习模型,包括:选取所述第一学习模型中各个网络层的前k*m层,将所述第二训练集输入至所述前k*m层,微调所述前k*m层的参数,并且计算所述前k*m层对应的损失函数的结果,以进行一次迭代计算;其中m为大于1的正整数,k为迭代序号且k=1,2,3…;根据k的取值变化对所述前k*m层进行多次迭代计算,直至所述前k*m层对应的损失函数的结果不再下降或者历遍所有的网络层;利用最后一次迭代计算得到的所述第一学习模型的参数,构建得到第二学习模型。
在每次迭代计算时,计算所述前k*m层对应的损失函数的结果为:
计算迁移学习的损失量
lossexc=||NET(A)′layer(k*m)-NET(A)layer(k*m)||2
其中,NET表示初始的深度神经网络的模型,A表示所述第一数据集,B表示所述第二数据集,NET(A)表示所述第一学习模型,NET(A)layer(km)表示B输入至NET(A)时在第k*m层的输出量;NET(A)′表示对NET(A)的前k*m层的参数进行微调之后的网络模型,NET(A)′layer(km)表示B输入至NET(A)′时在第k*m层的输出量;
计算网络模型NET(A)′的损失量
或,
其中,前一个Losscls为交叉熵的损失函数,后一个Losscls为欧氏距离的损失函数;y表示B输入至NET(A)′时在最后一个网络层的输出量,表示y的数据标签;
计算NET(A)的前k*m层对应的损失函数的结果
Loss=α×Losscls+(1-α)×Lossexc
其中,α表示权重系数,且α∈[0,1]。
所述根据k的取值变化对所述前k*m层进行多次迭代计算,直至所述前k*m层对应的损失函数的结果不再下降或者历遍所有的网络层,包括:
在k分别取值k=1,2,3…时,分别计算得到所述前k*m层对应的Loss的值;
在loss的值连续等于同一值或者接近于0时,确定所述前k*m层对应的损失函数的结果不再下降;
在所述前k*m层等于或大于所述第一学习模型中网络层的总数目时,确定历遍所有的网络层。
所述组合所述第一训练集和所述第二训练集,通过所述第二学习模型训练得到第三学习模型,包括:选取所述第二学习模型中各个网络层的前h*n层,将所述第一训练集和所述第二训练集组合输入至所述前h*n层,微调所述前h*n层的参数,并且计算所述前h*n层对应的损失函数的结果,以进行一次迭代计算;其中n为大于1的正整数,h为迭代序号且h=1,2,3…;根据h的取值变化对所述前h*n层进行多次迭代计算,直至所述前h*n层对应的损失函数的结果不再下降或者历遍所有的网络层;利用最后一次迭代计算中得到的所述第二学习模型的参数,构建得到第三学习模型。
在每次迭代计算时,计算所述前h*n层对应的损失函数的结果为:
用NET(B)表示所述第二学习模型,用NET(B)′表示对NET(B)的前h*n层的参数进行微调之后的网络模型,则计算NET(B)的前h*n层对应的损失函数的结果
或,
其中,前一个Losscls′为交叉熵的损失函数,后一个Losscls′为欧氏距离的损失函数;y′表示B输入至NET(B)′时在最后一个网络层的输出量,表示y′的数据标签。
根据第二方面,一种实施例中提供一种图像识别方法,包括以下步骤:
获取待检测物体的图像,所述待检测物体为具有第一类特征和/或第二类特征的物体;
根据预先构建的第三学习模型提取所述待检测物体的图像中的特征信息;所述第三学习模型是由上述第一方面所述的模型构建方法而得到;
根据提取的特征信息对所述待检测物体进行识别。
根据第三方面,一种实施例中提供一种图像识别装置,包括:
图像获取单元,用于获取待检测物体的图像,所述待检测物体为具有第一类特征和/或第二类特征的物体;
特征提取单元,用于根据预先构建的第三学习模型提取所述待检测物体的图像中的特征信息;所述第三学习模型是上述第一方面所述的模型构建方法而得到;
物体识别单元,用于根据提取的特征信息对所述待检测物体进行识别。
所述的图像识别装置还包括与所述特征提取单元连接的模型构建单元,所述模型构建单元包括:
第一训练模块,用于利用第一训练集,通过深度神经网络训练得到第一学习模型;所述第一训练集包括具有第一类特征的物体的多幅图像;
第二训练模块,用于利用第二训练集,对所述第一学习模型的各个网络层逐一进行参数微调,直至所述第一学习模型的损失函数的结果不再下降或者历遍所有的网络层,构建得到第二学习模型;所述第二训练集包括具有第二类特征的物体的多幅图像;
第三训练模块,用于组合所述第一训练集和所述第二训练集,通过所述第二学习模型训练得到第三学习模型。
根据第四方面,一种实施例中提供一种计算机可读存储介质,包括程序,所述程序能够被处理器执行以实现上述第一方面或第二方面中所述的方法。
本申请的有益效果是:
依据上述实施例的基于迁移学习的模型构建方法、图像识别方法及其装置,该基于迁移学习的模型构建方法包括:利用第一训练集,通过深度神经网络训练得到第一学习模型;利用第二训练集,对第一学习模型的各个网络层逐一进行参数微调,直至第一学习模型的损失函数的结果不再下降或者历遍所有的网络层,构建得到第二学习模型;组合第一训练集和第二训练集,通过第二学习模型训练得到第三学习模型;该第三学习模型用于对具有第一类特征和/或第二类特征的物体的图像进行特征信息提取。该图像识别方法包括:获取待检测物体的图像,该待检测物体为具有第一类特征和/或第二类特征的物体;根据预先构建的第三学习模型提取待检测物体的图像中的特征信息;该第三学习模型是由基于迁移学习的模型构建方法而得到;根据提取的特征信息对待检测物体进行识别。第一方面,由于在构建模型时,不仅利用了第一训练集,还利用了第二训练集,如此使得构建的第二学习模型可以具备两个训练集的特征学习能力;第二方面,由于在构建第二学习模型时对第一学习模型的各个网络层逐一进行参数微调,使得第一学习模型在第二训练集的作用下逐渐地进行收敛,而且通过第一学习模型的损失函数的计算结果还可以保证收敛过程的有效性;第三方面,在获得第二学习模型之后,还利用第一训练集和第二训练集共同对第二学习模型进行训练,有利于进一步地优化第二学习模型,从而得到训练效果更好的第三学习模型;第四方面,本技术方案可以借助深度学习网络对第一学习模型、第二训练集进行有效的迁移学习,能够在多个不同数据集的训练中增加模型普适性的同时,解决模型训练过程中波动大、难以收敛的情形;第五方面,由于请求保护的图像识别方法采用预先构建的第三学习模型来提取待检测物体的图像中的特征信息,使得在利用第三学习模型时,不仅能够提取待检测物体上的第一类特征,还可以提取待检测物体上的第二类特征,如此增强了图像识别的能力,使用一个学习模型即可对不同类特征的物体进行图像识别。第六方面,在模型迭代训练过程中,当需要新训练集对老模型进行优化时,可以参考本技术方案模型构建方法中第二学习模型或第三学习模型具体构建过程,对老模型进行优化,使得新模型不仅适合于新数据集,同时能保持老数据集的特性。
附图说明
图1为本申请中基于迁移学习的模型构建方法的流程图;
图2为构建第二学习模型的流程图;
图3为计算第一学习模型的前k*m层对应的损失函数的原理示意图;
图4为构建第三学习模型的流程图;
图5为本申请中图像识别方法的流程图;
图6为本申请中图像识别装置的结构示意图;
图7为模型构建单元的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
实施例一、
请参考图1,本申请提供一种基于迁移学习的模型构建方法,包括步骤S100-S300,下面分别说明。
步骤S100,利用第一训练集,通过深度神经网络训练得到第一学习模型。
需要说明的是,这里的深度神经网络可以是长短期记忆网络(Long/short termmemory,简称LSTM)、循环神经网络(Recurrent neural networks,简称RNN)、生成对抗网络(Generative adversarial networks,简称GAN)、卷积神经网络(Convolutional neuralnetworks,简称DCNN)或深度卷积逆向图网络(Deep convolutional inverse graphicsnetworks,简称DCIGN),这里不做限定。
需要说明的是,这里的第一训练集包括具有第一类特征的物体的多幅图像,例如,第一训练集包括亚洲人的多幅人脸图像,其中亚洲人对应的第一类特征可以包括黄肤色、黑色眼睛、黑色头发、菱形脸部轮廓等方面的特征信息。再例如,第一训练集包括轿车的多幅外形图像,其中轿车对应的第一类特征可以包括长车头、短车尾、四轮、倾斜前挡风板、低底盘等方面的特征信息。
本领域的技术人员可以理解,第一训练集还可以包括花草、树木、动物、建筑、绘画等物体的多幅图像,这里为陈述简易起见,不再一一地进行类举。
步骤S200,利用第二训练集,对第一学习模型的各个网络层逐一进行参数微调,直至该第一学习模型的损失函数的结果不再下降或者历遍所有的网络层,构建得到第二学习模型。
需要说明的是,这里的第二训练集包括具有第二类特征的物体的多幅图像。例如当第一训练集是亚洲人的多幅人脸图像时,那么第二训练集可以是欧洲人的多幅人脸图像,其中欧洲人对应的第二类特征可以包括白肤色、蓝色眼睛、金色头发、方形脸部轮廓等方面的特征信息。
在一具体实施例中,见图2,步骤S200可以包括步骤S210-S270,分别说明如下。
步骤S210,选取第一学习模型中各个网络层的前k*m层,其中m为大于1的正整数,k为迭代序号且k=1,2,3…。
可以理解,根据深度神经网络得到的第一学习模型往往具有较多的顺序排布的网络层,例如对于共计100层的第一学习模型,那么在第一次迭代时可以选取它的前10层,在第二次迭代时可以选取它的前20层,以此类推,直到第十次迭代时就可以选取它的前100层(即为所有的网络层)。
步骤S220,将第二训练集输入至前k*m层,微调前k*m层的参数,并且计算前k*m层对应的损失函数的结果,以进行一次迭代计算。
在本具体实施例中,见图3,在每次迭代计算时,计算前k*m层对应的损失函数的结果为:
(1)计算迁移学习的损失量
Lossexc=||NET(A)′layer(k*m)-NET(A)layer(k*m)||2
其中,NET表示初始的深度神经网络的模型,A表示第一数据集,B表示第二数据集,NET(A)表示第一学习模型,NET(A)layer(k*m)表示B输入至NET(A)时在第k*m层的输出量;此外,NET(A)′表示对NET(A)的前k*m层的参数进行微调之后的网络模型,NET(A)′layer(km)表示B输入至NET(A)′时在第k*m层的输出量。
(2)计算网络模型NET(A)′的损失量
或,
其中,前一个Losscls为交叉熵的损失函数(通常用于分类任务的情况),后一个Losscls为欧氏距离的损失函数(通常用于回归任务的情况);此外,y表示B输入至NET(A)′时在最后一个网络层的输出量,表示y的数据标签。
(3)计算NET(A)的前k*m层对应的损失函数的结果
Loss=α×Losscls+(1-α)×Lossexc
其中,α表示权重系数,且α∈[0,1]。权重系数α可以根据用户的实际需要而进行调整,优选地,本技术方案中设置权重系数α为0.9,以此来协调两个损失量的占比大小。
步骤S230,判断是否历遍所有网络层,若是则进入步骤S250,反之则进入步骤S240。
步骤S240,判断前k*m层对应的损失函数的结果是否不再下降,若是则进入步骤S250,反之则进入步骤S270。
步骤S250,迭代计算结束。
步骤S260,利用最后一次迭代计算得到的第一学习模型的参数,构建得到第二学习模型。
可以理解,在每一次迭代计算之后,第一学习模型NET(A)的前k*m层的参数都进行了微调,从而使得第一学习模型形成为一个更新参数的学习模型,那么就可以把最后一次形成的更新参数的学习模型作为第二学习模型NET(B)。
步骤S270,在第一学习模型的前k*m层对应的损失函数Loss的结果继续下降且没有历遍所有的网络层时,就需要继续进行迭代计算,使得迭代序号k加1。那么,本领域的技术人员可以理解,根据k的取值变化(1、2、3、…)对前k*m层进行多次迭代计算之后,可以直至前k*m层对应的损失函数的结果不再下降或者历遍所有的网络层时,完成迭代计算,从而进入步骤S250。
此外,在本具体实施例中,通过步骤S210-S240和步骤S270的配合作用可以根据k的取值变化对第一学习模型的前k*m层进行多次迭代计算,直至前k*m层对应的损失函数的结果不再下降或者历遍所有的网络层,具体可以理解为:
(1)在k分别取值k=1,2,3…时,分别计算得到前k*m层对应的Loss的值。
(2)在loss的值连续等于同一值(如0.3)或者接近于0时(如小于0.1的所有值),确定前k*m层对应的损失函数Loss的结果不再下降。
(3)在前k*m层等于或大于第一学习模型中网络层的总数目时,确定历遍所有的网络层。
步骤S300,组合第一训练集和所述第二训练集,通过第二学习模型训练得到第三学习模型。在本申请中,第三学习模型用于对具有第一类特征和/或第二类特征的物体的图像进行特征信息提取,以便于对相应的物体进行后续的识别工作。
在一具体实施例中,见图4,该步骤S300可以包括步骤S310-S370,分别说明如下。
步骤S310,选取第二学习模型中各个网络层的前h*n层,其中n为大于1的正整数,h为迭代序号且h=1,2,3…。
可以理解,根据深度神经网络进行迁移学习或深度学习而得到的第二学习模型也往往具有较多的顺序排布的网络层,而且网络层的总层数与第一学习模型的总层数一致。例如,第二学习模型和第一学习模型均有100层的网络成结构,那么对第二学习模型进行迭代计算时,在第一次迭代时可以选取它的前10层,在第二次迭代时可以选取它的前20层,以此类推,直到第十次迭代时就可以选取它的前100层(即为所有的网络层)。
本具体实施例中的n可以与步骤S210中的m相同,也可以不相同,这里不做限制。
步骤S320,将第一训练集和第二训练集组合输入至第二学习模型的前h*n层,微调前h*n层的参数,并且计算前h*n层对应的损失函数的结果,以进行一次迭代计算。
在本具体实施例中,在每次迭代计算时,计算前h*n层对应的损失函数的结果为:
用NET(B)表示第二学习模型,用NET(B)′表示对NET(B)的前h*n层的参数进行微调之后的网络模型,则计算NET(B)的前h*n层对应的损失函数的结果
或,
其中,前一个Losscls′为交叉熵的损失函数(通常用于分类任务的情况),后一个Losscls′为欧氏距离的损失函数(通常用于回归任务的情况);此外,y′表示B输入至NET(B)′时在最后一个网络层的输出量,表示y′的数据标签。
步骤S330,判断是否历遍所有的网络层,若是则进入步骤S350,反之则进入步骤S340。
步骤S340,判断前h*n层对应的损失函数的结果是否不再下降,若是则进入步骤S350,反之则进入步骤S370。
步骤S350,迭代计算结束。
步骤S360,利用最后一次迭代计算中得到的第二学习模型的参数,构建得到第三学习模型。
可以理解,在每一次迭代计算之后,第二学习模型NET(B)的前h*n层的参数都进行了微调,从而使得第二学习模型形成为一个更新参数的学习模型,那么就可以把最后一次形成的更新参数的学习模型作为第三学习模型NET(A,B)。
步骤S370,在第二学习模型的前h*n层对应的损失函数Loss′的结果继续下降且没有历遍所有的网络层时,就需要继续迭代计算,迭代序号h加1。本领域的技术人员可以理解,根据h的取值变化(1,2,3…)对前h*n层进行多次迭代计算之后,直至前h*n层对应的损失函数的结果不再下降或者历遍所有的网络层时,完成迭代计算,从而进入步骤S260。
此外,在本具体实施例中,通过步骤S310-S340和步骤S370的配合作用可以根据h的取值变化对第二学习模型NET(B)前h*n层进行多次迭代计算,直至前h*n层对应的损失函数的结果不再下降或者历遍所有的网络层,具体可以理解为:
(1)在h分别取值k=1,2,3…时,分别计算得到前h*n层对应的Loss′的值;
(2)在Loss′的值连续等于同一值或者接近于0时,确定前h*n层对应的损失函数的结果不再下降。
(3)在前h*n层等于或大于第二学习模型中网络层的总数目时,确定历遍所有的网络层。
本领域的技术人员可以理解,通过上述的步骤S100-S300来进行模型构建时,可以达到以下效果:(1)不仅利用了第一训练集,还利用了第二训练集,如此使得构建的第二学习模型可以具备两个训练集的特征学习能力;(2)通过步骤S200在构建第二学习模型时对第一学习模型的各个网络层逐一进行参数微调,使得第一学习模型在第二训练集的作用下逐渐地进行收敛,而且通过第一学习模型的损失函数的计算结果还可以保证收敛过程的有效性;(3)通过步骤S300在获得第二学习模型之后,还利用第一训练集和第二训练集共同对第二学习模型进行训练,有利于进一步地优化第二学习模型,从而得到训练效果更好的第三学习模型;(4)该模型构建方法可以借助深度学习网络对第一学习模型、第二训练集进行有效的迁移学习,能够在多个不同数据集的训练中增加模型普适性的同时,解决模型训练过程中波动大、难以收敛的情形;(5)在模型迭代训练过程中,当需要新训练集对老模型进行优化时,如用第二训练集对第一学习模型进行优化或者用第一训练集、第二训练集对第二学习模型进行优化,那么就可以参考本技术方案模型构建方法中第二学习模型或第三学习模型具体构建过程,由此使得新模型不仅适合于新数据集,同时能保持老数据集的特性。
实施例二、
请参考图5,在实施例一中公开的模型构建方法的基础上,本申请还公开一种图像识别方法,其包括步骤S410-S430,下面分别说明。
步骤S410,获取待检测物体的图像,该待检测物体为具有第一类特征和/或第二类特征的物体。
例如,如果待检测物体是亚洲人,那么亚洲人对应的第一类特征可以包括黄肤色、黑色眼睛、黑色头发、菱形脸部轮廓等方面的特征信息。如果待检测物体是欧洲人,那么,欧洲人对应的第二类特征可以包括白肤色、蓝色眼睛、金色头发、方形脸部轮廓等方面的特征信息。如果待检测物体是欧亚的混血人种,那么,他(她)的人脸可能包括了第一类特征和第二特征中的若干个特征信息。
步骤S420,根据预先构建的第三学习模型提取待检测物体的图像中的特征信息。
需要说明的是,这里的第三学习模型是实施例一中公开的模型构建方法而得到,这里不再进行赘述。
需要说明的是,根据已经建立好的学习模型对图像进行特征信息(如特征向量)的技术手段已经广泛应用于当前的图像处理工作中,技术人员可以不付出创造性劳动即可进行这一项工作,所以这里不再对其进行详细说明。
步骤S430,根据步骤S420中提取的特征信息对待检测物体进行识别。
例如,待检测物体是一个中国人,那么根据已经建立的第三学习模型可以很好地提取得到该中国人的一些面部特征信息,从而通过大数据运算在数据库中匹配该些面部特征信息,当匹配结果超过标准阈值时,就可以认为该中国人的人脸与数据库中相匹配的人脸高度类似,断定这两个人脸对应于同一个人,由此达到人脸识别的效果。由于这样的数据查询以及匹配过程属于现有技术,所以这里不再进行详细说明。
本领域的技术人员可以理解,通过步骤S410-S430中公开的图像识别方法时,由于采用预先构建的第三学习模型来提取待检测物体的图像中的特征信息,使得在利用第三学习模型时,不仅能够提取待检测物体上的第一类特征,还可以提取待检测物体上的第二类特征,如此增强了图像识别的能力,使用一个学习模型即可对不同类特征的物体进行图像识别。此外,这种图像识别方法不仅提高了图像识别模型的迁移学习能力,还能够增强物体识别的体验效果。
实施例三、
请参考图6,在实施例二中公开的图像识别方法的基础上,相应的,本申请还公开一种图像识别装置1,其主要包括图像获取单元11、特征提取单元12和物体识别单元13,下面分别说明。
图像获取单元11用于获取待检测物体的图像,该待检测物体为具有第一类特征和/或第二类特征的物体。具体地,图像获取单元11可以借助摄像头、相机等摄像设备,甚至是媒体视频来获取待检测物体的图像。关于图像获取单元11的具体功能可以参考实施例二中的步骤S410,这里不再进行赘述。
特征提取单元12用于根据预先构建的第三学习模型NET(A,B)提取待检测物体的图像中的特征信息。该第三学习模型是实施例一中公开的模型构建方法而得到。关于特征提取单元12的具体功能可以参考实施例二中的步骤S420,这里不再进行赘述。
物体识别单元13与特征提取单元12连接,用于根据提取的特征信息对待检测物体进行识别。关于物体识别单元13的具体功能可以参考实施例二中的步骤S430,这里不再进行赘述。
进一步地,见图6,本实施例的图像识别装置1还包括与特征提取单元连接的模型构建单元14。在一具体实施例中,见图7,该模型构建单元14包括第一训练模块141、第二训练模块142和第三训练模块143,分别说明如下。
第一训练模块141用于利用第一训练集,通过深度神经网络训练得到第一学习模型;其中,第一训练集包括具有第一类特征的物体的多幅图像。
第二训练模块142与第一训练模块141连接,用于利用第二训练集对第一学习模型的各个网络层逐一进行参数微调,直至第一学习模型的损失函数的结果不再下降或者历遍所有的网络层,从而构建得到第二学习模型;其中,第二训练集包括具有第二类特征的物体的多幅图像;
第三训练模块143与第二训练模块142连接,用于组合第一训练集和第二训练集,通过第二学习模型训练得到第三学习模型。
关于第一训练模块141、第二训练模块142、第三训练模块143的具体功能可以分别参考实施例一中的步骤S100、步骤S200、步骤S300,这里不再进行赘述。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的***进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
Claims (8)
1.基于迁移学习的图像识别模型构建方法,其特征在于,包括:
利用第一训练集,通过深度神经网络训练得到第一学习模型;所述第一训练集包括具有第一类特征的物体的多幅图像;
利用第二训练集,对所述第一学习模型的各个网络层逐一进行参数微调,直至所述第一学习模型的损失函数的结果不再下降或者历遍所有的网络层,构建得到第二学习模型;所述第二训练集包括具有第二类特征的物体的多幅图像;
其中,选取所述第一学习模型中各个网络层的前k*m层,将所述第二训练集输入至所述前k*m层,微调所述前k*m层的参数,并且计算所述前k*m层对应的损失函数的结果,以进行一次迭代计算;其中m为大于1的正整数,k为迭代序号且k=1,2,3…;
在每次迭代计算时,通过如下公式计算前k*m层对应的损失函数的结果:
计算迁移学习的损失量:
Lossexc=||NET(A)′layer(k*m)-NET(A)layer(k*m)||2
NET表示初始的深度神经网络的模型,A表示所述第一训练集,B表示所述第二训练集,NET(A)表示所述第一学习模型,NET(A)layer(km)表示B输入至NET(A)时在第k*m层的输出量;NET(A)′表示对NET(A)的前k*m层的参数进行微调之后的网络模型,NET(A)′layer(km)表示B输入至NET(A)′时在第k*m层的输出量;
计算网络模型NET(A)′的损失量:
或,
其中,前一个Losscls为交叉熵的损失函数,后一个Losscls为欧氏距离的损失函数;y表示B输入至NET(A)′时在最后一个网络层的输出量,表示y的数据标签;
计算NET(A)的前k*m层对应的损失函数的结果:
Loss=α×Losscls+(1-α)×Lossexc
其中,α表示权重系数,且α∈[0,1];
根据k的取值变化对所述前k*m层进行多次迭代计算,直至所述前k*m层对应的损失函数的结果不再下降或者历遍所有的网络层;
利用最后一次迭代计算得到的所述第一学习模型的参数,构建得到第二学习模型;
组合所述第一训练集和所述第二训练集,通过所述第二学习模型训练得到第三学习模型;所述第三学习模型用于对具有第一类特征和/或第二类特征的物体的图像进行特征信息提取,根据提取的特征信息对待检测物体进行识别。
2.如权利要求1所述的模型构建方法,其特征在于,所述根据k的取值变化对所述前k*m层进行多次迭代计算,直至所述前k*m层对应的损失函数的结果不再下降或者历遍所有的网络层,包括:
在k分别取值k=1,2,3…时,分别计算得到所述前k*m层对应的Loss的值;
在loss的值连续等于同一值或者接近于0时,确定所述前k*m层对应的损失函数的结果不再下降;
在所述前k*m层等于或大于所述第一学习模型中网络层的总数目时,确定历遍所有的网络层。
3.如权利要求1-2中任一项所述的模型构建方法,其特征在于,所述组合所述第一训练集和所述第二训练集,通过所述第二学习模型训练得到第三学习模型,包括:
选取所述第二学习模型中各个网络层的前h*n层,将所述第一训练集和所述第二训练集组合输入至所述前h*n层,微调所述前h*n层的参数,并且计算所述前h*n层对应的损失函数的结果,以进行一次迭代计算;其中n为大于1的正整数,h为迭代序号且h=1,2,3…;
根据h的取值变化对所述前h*n层进行多次迭代计算,直至所述前h*n层对应的损失函数的结果不再下降或者历遍所有的网络层;
利用最后一次迭代计算中得到的所述第二学习模型的参数,构建得到第三学习模型。
4.如权利要求3所述的模型构建方法,其特征在于,在每次迭代计算时,计算所述前h*n层对应的损失函数的结果为:
用NET(B)表示所述第二学习模型,用NET(B)′表示对NET(B)的前h*n层的参数进行微调之后的网络模型,则计算NET(B)的前h*n层对应的损失函数的结果
或,
其中,前一个Losscls′为交叉熵的损失函数,后一个Losscls′为欧氏距离的损失函数;y′表示B输入至NET(B)′时在最后一个网络层的输出量,表示y′的数据标签。
5.图像识别方法,其特征在于,包括以下步骤:
获取待检测物体的图像,所述待检测物体为具有第一类特征和/或第二类特征的物体;
根据预先构建的第三学习模型提取所述待检测物体的图像中的特征信息;所述第三学习模型是由权利要求1-4中任一项所述的模型构建方法而得到;
根据提取的特征信息对所述待检测物体进行识别。
6.图像识别装置,其特征在于,包括:
图像获取单元,用于获取待检测物体的图像,所述待检测物体为具有第一类特征和/或第二类特征的物体;
特征提取单元,用于根据预先构建的第三学习模型提取所述待检测物体的图像中的特征信息;所述第三学习模型是由权利要求1-4中任一项所述的模型构建方法而得到;
物体识别单元,用于根据提取的特征信息对所述待检测物体进行识别。
7.如权利要求6所述的图像识别装置,其特征在于,还包括与所述特征提取单元连接的模型构建单元,所述模型构建单元包括:
第一训练模块,用于利用第一训练集,通过深度神经网络训练得到第一学习模型;所述第一训练集包括具有第一类特征的物体的多幅图像;
第二训练模块,用于利用第二训练集,对所述第一学习模型的各个网络层逐一进行参数微调,直至所述第一学习模型的损失函数的结果不再下降或者历遍所有的网络层,构建得到第二学习模型;所述第二训练集包括具有第二类特征的物体的多幅图像;
第三训练模块,用于组合所述第一训练集和所述第二训练集,通过所述第二学习模型训练得到第三学习模型。
8.一种计算机可读存储介质,其特征在于,包括程序,所述程序能够被处理器执行以实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910656794.XA CN110598727B (zh) | 2019-07-19 | 2019-07-19 | 基于迁移学习的模型构建方法、图像识别方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910656794.XA CN110598727B (zh) | 2019-07-19 | 2019-07-19 | 基于迁移学习的模型构建方法、图像识别方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110598727A CN110598727A (zh) | 2019-12-20 |
CN110598727B true CN110598727B (zh) | 2023-07-28 |
Family
ID=68853012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910656794.XA Active CN110598727B (zh) | 2019-07-19 | 2019-07-19 | 基于迁移学习的模型构建方法、图像识别方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110598727B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111310647A (zh) * | 2020-02-12 | 2020-06-19 | 北京云住养科技有限公司 | 自动识别跌倒模型的生成方法和装置 |
CN111462079B (zh) * | 2020-03-31 | 2021-01-08 | 上海全景医学影像诊断中心有限公司 | 一种自动化可迁移人工智能医学影像识别***及识别方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709418B (zh) * | 2016-11-18 | 2019-06-21 | 北京智慧眼科技股份有限公司 | 基于现场照和证件照的人脸识别方法及识别装置 |
US11195093B2 (en) * | 2017-05-18 | 2021-12-07 | Samsung Electronics Co., Ltd | Apparatus and method for student-teacher transfer learning network using knowledge bridge |
CN108830813B (zh) * | 2018-06-12 | 2021-11-09 | 福建帝视信息科技有限公司 | 一种基于知识蒸馏的图像超分辨率增强方法 |
CN109858466A (zh) * | 2019-03-01 | 2019-06-07 | 北京视甄智能科技有限公司 | 一种基于卷积神经网络的人脸关键点检测方法及装置 |
-
2019
- 2019-07-19 CN CN201910656794.XA patent/CN110598727B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110598727A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021139309A1 (zh) | 人脸识别模型的训练方法、装置、设备及存储介质 | |
JP6891351B2 (ja) | 多特徴検索と変形に基づく人体髪型の生成方法 | |
CN108470320B (zh) | 一种基于cnn的图像风格化方法及*** | |
WO2019100724A1 (zh) | 训练多标签分类模型的方法和装置 | |
CN109783666B (zh) | 一种基于迭代精细化的图像场景图谱生成方法 | |
KR101183391B1 (ko) | 메트릭 임베딩에 의한 이미지 비교 | |
CN104680119B (zh) | 图像身份识别方法和相关装置及身份识别*** | |
CN108765278A (zh) | 一种图像处理方法、移动终端及计算机可读存储介质 | |
CN110362715B (zh) | 一种基于图卷积网络的未剪辑视频动作时序定位方法 | |
Cai et al. | New graph structured sparsity model for multi-label image annotations | |
CN109173263A (zh) | 一种图像数据处理方法和装置 | |
CN109815826A (zh) | 人脸属性模型的生成方法及装置 | |
CN104268593A (zh) | 一种小样本情况下多稀疏表示的人脸识别方法 | |
CN111612024B (zh) | 特征提取方法、装置、电子设备及计算机可读存储介质 | |
CN108764242A (zh) | 基于深层卷积神经网络的离线手写汉字体识别方法 | |
CN110598727B (zh) | 基于迁移学习的模型构建方法、图像识别方法及其装置 | |
CN107944398A (zh) | 基于深度特征联合表示图像集人脸识别方法、装置和介质 | |
JP2015036939A (ja) | 特徴抽出プログラム及び情報処理装置 | |
CN112528077A (zh) | 基于视频嵌入的视频人脸检索方法及*** | |
WO2021059527A1 (ja) | 学習装置、学習方法、及び、記録媒体 | |
CN115410265B (zh) | 模型训练方法、人脸识别方法、电子设备及存储介质 | |
CN111160161A (zh) | 一种基于噪声剔除的自步学习人脸年龄估计方法 | |
CN112926596B (zh) | 基于循环神经网络的实时超像素分割方法及*** | |
CN110084110A (zh) | 一种近红外人脸图像识别方法、装置、电子设备及存储介质 | |
CN116311464B (zh) | 模型训练方法、人脸识别方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |