CN109117879B - 图像分类方法、装置及系统 - Google Patents
图像分类方法、装置及系统 Download PDFInfo
- Publication number
- CN109117879B CN109117879B CN201810881947.6A CN201810881947A CN109117879B CN 109117879 B CN109117879 B CN 109117879B CN 201810881947 A CN201810881947 A CN 201810881947A CN 109117879 B CN109117879 B CN 109117879B
- Authority
- CN
- China
- Prior art keywords
- network
- classification
- image
- training
- loss function
- 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
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000012549 training Methods 0.000 claims abstract description 213
- 230000006870 function Effects 0.000 claims description 128
- 238000000605 extraction Methods 0.000 claims description 98
- 239000013598 vector Substances 0.000 claims description 28
- 230000004913 activation Effects 0.000 claims description 18
- 238000011176 pooling Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 20
- 239000000284 extract Substances 0.000 description 9
- 238000013145 classification model Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 241000282326 Felis catus Species 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000010419 fine particle Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种图像分类方法、装置及系统,涉及图像处理技术领域,该方法包括:获取待处理的目标图像;将目标图像输入至预先训练得到的分类主网络;其中,分类主网络用于提取目标图像的关键特征,并基于关键特征进行细粒度分类;关键特征与目标图像中待分类的目标物有关,且关键特征与目标图像中的场景无关;通过分类主网络得到目标图像的分类结果。本发明能够适应用多个场景,并对不同场景下的图像进行准确分类,具有一定的普遍适用性。
Description
技术领域
本发明涉及图像处理技术领域,尤其是涉及一种图像分类方法、装置及系统。
背景技术
细粒度图像分类(Fine-grained image classification)是计算机视觉中一项非常重要的研究课题。细粒度图像分类的主要目的是区分同一物体大类下的物体子类,例如识别鸟的不同种类或车的不同车型等。通常情况下,类内差异远小于类间差异,因而用于识别类内差异的细粒度图像分类的难度远高于用于识别类间差异的传统图像分类,诸如,区分不同品种的猫的难度高于区分猫与狗的难度。
传统的细粒度图像分类方法大多仅基于单一场景,训练好的分类模型只有在测试数据集与训练数据集分布一致才能够得到较为准确的分类结果,诸如,训练好的分类模型只能识别出位于同一场景下的某目标车辆,一旦该目标车辆位于其它场景,则分类模型难以准确识别。由于不同场景下的数据集差异较大(也即,不同域集的分布距离较大),致使传统的细粒度图像分类方法难以对不同场景下的数据集进行准确分类,普适性较差。
发明内容
有鉴于此,本发明的目的在于提供一种图像分类方法、装置及系统,能够适应用多个场景,并对不同场景下的图像进行准确分类,具有一定的普遍适用性。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种图像分类方法,包括:获取待处理的目标图像;将所述目标图像输入至预先训练得到的分类主网络;其中,所述分类主网络用于提取所述目标图像的关键特征,并基于所述关键特征进行细粒度分类;所述关键特征与所述目标图像中待分类的目标物有关,且所述关键特征与所述目标图像中的场景无关;通过所述分类主网络得到所述目标图像的分类结果。
进一步,本发明实施例提供了第一方面的第一种可能的实施方式,所述分类主网络包括特征提取网络和分类网络;所述特征提取网络的输入为所述目标图像,所述特征提取网络的输出为所述目标图像的关键特征;所述分类网络的输入为所述目标图像的关键特征,所述分类网络的输出为所述目标图像的分类结果。
进一步,本发明实施例提供了第一方面的第二种可能的实施方式,所述特征提取网络包括全局特征提取子网络和局部特征提取子网络;所述分类网络包括第一分类子网络和第二分类子网络;其中,所述全局特征提取子网络的输入为所述目标图像,所述全局特征提取子网络的输出为所述目标图像的全局特征;所述第一分类子网络的输入为所述全局特征,所述第一分类子网络的输出为所述目标图像的第一分类结果;所述局部特征提取子网络的输入为基于所述全局特征确定的所述目标图像中的感兴趣区域;所述局部特征提取子网络的输出为所述感兴趣区域的局部特征;所述第二分类子网络的输入为所述局部特征,所述第二分类子网络的输出为所述目标图像的第二分类结果;根据所述第一分类结果和所述第二分类结果,得到所述目标图像的最终分类结果。
进一步,本发明实施例提供了第一方面的第三种可能的实施方式,所述方法还包括:设立判别网络;其中,所述判别网络的输入为所述分类主网络在对训练图像进行细粒度分类过程中提取出的图像特征;所述判别网络包括多个判别子网络,每个所述判别子网络对应一个数据域,每个所述判别子网络用于判别所述分类主网络提取出的图像特征是否与各自对应的所述数据域相匹配,得到判别结果;对所述判别网络和所述分类主网络进行联合训练,直至所述判别网络和所述分类主网络的总损失函数收敛至预设值时停止训练;其中,当训练停止时,各所述判别子网络均判别所述图像特征与各自对应的所述数据域不匹配。
进一步,本发明实施例提供了第一方面的第四种可能的实施方式,所述分类主网络包括特征提取网络和分类网络;所述对所述判别网络和所述分类主网络进行联合训练的步骤包括:获取多组训练数据集;不同组的所述训练数据集表征的场景不同;每组所述训练数据集中都包括多张训练图像;将多组所述训练数据集输入至所述特征提取网络,通过所述特征提取网络提取各所述训练数据集中的各训练图像的图像特征;将各所述训练图像的图像特征输入至所述分类网络,计算得到分类损失函数值;将各所述训练图像的图像特征输入至所述判别网络,计算得到域损失函数值;根据所述分类损失函数值和所述域损失函数值,确定总损失函数值;基于所述总损失函数值,通过反向传播算法对所述判别网络和所述分类主网络进行联合训练。
进一步,本发明实施例提供了第一方面的第五种可能的实施方式,所述对所述判别网络和所述分类主网络进行联合训练的步骤,还包括:获取所述分类网络中的预设网络层输出的向量;根据获取的所述向量,计算得到对比损失函数值;所述根据所述分类损失函数值和所述域损失函数值,确定总损失函数值的步骤,包括:根据所述分类损失函数值、所述对比损失函数值和所述域损失函数值,确定总损失函数值。
进一步,本发明实施例提供了第一方面的第六种可能的实施方式,所述根据所述分类损失函数值、所述对比损失函数值和所述域损失函数值,确定总损失函数值的步骤,包括:按照以下公式,计算总损失函数值L:
L=Lcls+λ(Ldomain+Lcontrastiveloss)
其中,Lcls为所述分类损失函数值,Ldomain为所述域损失函数值,Lcontrastiveloss为所述对比损失函数值,λ为预设的权衡参数。
进一步,本发明实施例提供了第一方面的第七种可能的实施方式,按照以下公式计算所述分类损失函数值Lcls:
其中,y为训练图像的分类标签;ak为所述分类网络的分类结果。
进一步,本发明实施例提供了第一方面的第八种可能的实施方式,按照以下公式计算所述域损失函数值Ldomain:
其中,rep是所述训练图像的全局特征,Di表征第i个判别子网络。
进一步,本发明实施例提供了第一方面的第九种可能的实施方式,按照以下公式计算所述对比损失函数值Lcontrastiveloss:
Lconstrastiveloss=cd(r1,r2)2
其中,r1和r2分别为所述分类网络中的预设网络层输出的任意两个向量;d(r1,r2)是r1和r2之间的余弦距离;当r1和r2具有相同的分类标签时,c=1;当r1和r2具有不同的分类标签时,c=0。
进一步,本发明实施例提供了第一方面的第十种可能的实施方式,所述特征提取网络包括全局特征提取子网络和局部特征提取子网络;所述分类网络包括第一分类子网络和第二分类子网络;所述将多组所述训练数据集输入至所述特征提取网络,通过所述特征提取网络提取各所述训练数据集中的各训练图像的图像特征的步骤,包括:将多组所述训练数据集输入至所述全局特征提取子网络,通过所述全局特征提取子网络提取各所述训练数据集中的各训练图像的全局特征;基于各所述训练图像的全局特征确定各所述训练图像中的感兴趣区域,将各所述训练图像的感兴趣区域输入至所述局部特征提取子网络,通过所述局部特征提取子网络提取各所述训练图像的局部特征;所述将各所述训练图像的图像特征输入至所述分类网络的步骤,包括:将各所述训练图像的全局特征输入至所述第一分类网络,以及将各所述训练图像的局部特征输入至所述第二分类网络;所述将各所述训练图像的图像特征输入至所述判别网络的步骤,包括:将各所述训练图像的全局特征输入至所述判别网络。
进一步,本发明实施例提供了第一方面的第十一种可能的实施方式,所述判别子网络包括依次连接的第一卷积层、第一激活函数层、最大池化层、第二卷积层、第二激活函数层、Reshape层、第一全连接层和第二全连接层。
进一步,本发明实施例提供了第一方面的第十二种可能的实施方式,获取的所有所述训练数据集均携带有分类标签;或者,获取的所有所述训练数据集中至少有一组训练数据集未携带有分类标签。
第二方面,本发明实施例还提供一种图像分类装置,包括:图像获取模块,用于获取待处理的目标图像;网络分类模块,用于将所述目标图像输入至预先训练得到的分类主网络;其中,所述分类主网络用于提取所述目标图像的关键特征,并基于所述关键特征进行细粒度分类;所述关键特征与所述目标图像中待分类的目标物有关,且所述关键特征与所述目标图像中的场景无关;结果获得模块,用于通过所述分类主网络得到所述目标图像的分类结果。
第三方面,本发明实施例提供了一种图像分类系统,所述系统包括:图像采集装置、处理器和存储装置;所述图像采集装置,用于采集目标图像;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如第一方面任一项所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面任一项所述的方法的步骤。
本发明实施例提供了一种图像分类方法、装置及系统,能够通过分类主网络提取目标图像的关键特征,并基于该关键特征进行细粒度分类,得到目标图像的分类结果。其中,关键特征与目标图像中待分类的目标物有关,而与所述目标图像中的场景无关,因此,分类主网络在对目标图像中的目标物进行细粒度分类时不会受到场景干扰,从而得到较为准确的分类结果,这种方式适用于对多个场景下的图像进行准确分类,具有一定的普遍适用性。
本发明实施例的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明实施例的上述技术即可得知。
为使本发明实施例的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例所提供的一种电子设备的结构示意图;
图2示出了本发明实施例所提供的一种图像分类方法流程图;
图3示出了本发明实施例所提供的一种分类主网络的结构示意图;
图4示出了本发明实施例所提供的一种分类主网络的结构示意图;
图5示出了本发明实施例所提供的一种判别子网络的结构示意图;
图6示出了本发明实施例所提供的一种训练模型的结构示意图;
图7示出了本发明实施例所提供的一种训练模型的结构示意图;
图8示出了本发明实施例所提供的一种不同域的特征分布示意图;
图9示出了本发明实施例所提供的一种训练模型的结构示意图;
图10示出了本发明实施例所提供的一种训练模型的结构示意图;
图11示出了本发明实施例所提供的一种人脸识别装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到不同场景下的数据集差异较大,目前的细粒度图像分类方法大多仅能基于单一场景,难以对不同场景下的数据集进行准确分类,普适性较差,为改善此问题,本发明实施例提供的一种图像分类方法、装置及系统,该技术可应用于图像分类技术,以下对本发明实施例进行详细介绍。
实施例一:
首先,参照图1来描述用于实现本发明实施例的图像分类方法、装置及系统的示例电子设备100。
如图1所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108以及图像采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以采用数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述图像采集装置110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置104中以供其它组件使用。
示例性地,用于实现根据本发明实施例的图像分类方法、装置及系统的示例电子设备可以被实现为诸如智能手机、平板电脑、计算机等智能终端。
实施例二:
参见图2所示的一种图像分类方法流程图,该方法可由前述实施例提供的电子设备执行,该方法具体包括如下步骤:
步骤S202,获取待处理的目标图像。该目标图像为包含有待分类的目标物,诸如,该目标图像中包含有待识别具体品种的鸟或猫等动物,或者该目标图像中包含有待识别具体车型的车辆等。
步骤S204,将目标图像输入至预先训练得到的分类主网络;其中,分类主网络用于提取目标图像的关键特征,并基于关键特征进行细粒度分类;关键特征与目标图像中待分类的目标物有关,且关键特征与目标图像中的场景无关。
可以理解的是,通常目标图像中包含有待分类的目标物,还包括与目标物无关的其它信息(可统称为场景信息);诸如,如果目标物为车,则目标图像中车所在的马路、周围的建筑物、天空等与车辆无关的信息均属于场景信息。传统的分类模型在提取图像特征进行细粒度分类时,图像特征既包含目标物特征又包括场景特征,基于原场景的数据集(源数据集,又可称为源域)训练得到的分类模型在实际应用中,只能对处于原场景的目标物进行分类,一旦目标物所在的场景不同,也即,基于实际场景的数据集(目标数据集,又可称为目标域)与源数据集不同时,由于提取的场景特征出现差异,因而传统的分类模型无法得到较为准确的分类结果。相比之下,本实施例提供的分类主网络能够仅提取与目标图像中待分类的目标物有关,且与目标图像中的场景无关的关键特征,能够免受场景特征的干扰,因而可以适用于多种场合。
步骤S206,通过分类主网络得到目标图像的分类结果。该结果也即细粒度分类结果。
本发明实施例提供的上述图像分类方法,能够通过分类主网络提取目标图像的关键特征,并基于该关键特征进行细粒度分类,得到目标图像的分类结果。其中,关键特征与目标图像中待分类的目标物有关,而与所述目标图像中的场景无关,因此,分类主网络在对目标图像中的目标物进行细粒度分类时不会受到场景干扰,从而得到较为准确的分类结果,这种方式适用于对多个场景下的图像进行准确分类,具有一定的普遍适用性。
在一种实施方式中,参见图3所示的一种分类主网络的结构示意图,示意出分类主网络包括特征提取网络和分类网络;其中:
特征提取网络的输入为目标图像,特征提取网络的输出为目标图像的关键特征;
分类网络的输入为目标图像的关键特征,分类网络的输出为目标图像的分类结果。
在另一种实施方式中,参见图4所示的一种分类主网络的结构示意图,在图3的基础上,进一步示意出特征提取网络包括全局特征提取子网络和局部特征提取子网络;分类网络包括第一分类子网络和第二分类子网络;分类主网络的具体介绍如下:
全局特征提取子网络的输入为目标图像,全局特征提取子网络的输出为目标图像的全局特征。
第一分类子网络的输入为全局特征,第一分类子网络的输出为目标图像的第一分类结果。
局部特征提取子网络的输入为基于全局特征确定的目标图像中的感兴趣区域;局部特征提取子网络的输出为感兴趣区域的局部特征;感兴趣区域通常为与目标图像中的目标物有关的区域。在根据全局特征确定目标图像中的感兴趣区域时,可以首先基于全局特征确定全局特征提取子网络对目标图像的特征响应情况,将特征响应程度最高的区域确定为感兴趣区域,然后可以对目标图像进行裁剪,得到感兴趣区域的图像,之后将感兴趣区域的图像输入至局部特征提取子网络,得到局部特征提取子网络输出的局部特征。在实际应用中,图4中的全局特征提取子网络和局部特征提取子网络之间还可以设置有感兴趣区域确定模块(图4中未示意出),该模块可以根据全局特征提取出目标图像的感兴趣区域。
为便于理解,给出一种确定感兴趣区域的示例性说明:以全局特征为256×6×6为例,在获取到256×6×6的全局特征后,将其第一维度加和,变成一个1x6x6的二维矩阵(可视为图像),选择1x6x6的二维矩阵上的值最大的区域(首先对1x6x6的二维矩阵求均值,然后选择大于均值的区域,即为值最大的区域)。在具体实施时,可以认为是1x6x6的矩阵中的每一小块都代表了图像上的一个区域,即每个1x1的部分都代表了原图上(224/6)x(224/6)的这部分区域,从而实现图像划分。诸如,选择1x6x6矩阵上的最左上角的一个1x1的部分,那么在图像中对应的就是左上角(224/6)x(224/6)的这部分区域。
第二分类子网络的输入为局部特征,第二分类子网络的输出为目标图像的第二分类结果。
根据第一分类结果和第二分类结果,得到目标图像的最终分类结果。
在上述实施方式中,本实施例提供的分类主网络能够充分考虑图像的全局特征和局部特征,进而提升分类准确率。
实际使用的分类主网络的参数都是经过训练得到的,本实施例在训练分类主网络的过程中引入了判别网络,来判别分类主网络提取的图像特征存在于哪个数据集(也即,哪个域)。当分类主网络和判别网络均优化到收敛时,判断网络无法判别图像特征所在的域,此时可以认为分类主网络提取的图像特征可以忽略不同域之间的分布差异,而仅与图像中的目标物有关,此时的图像特征即为关键特征。具体实现步骤如下:
(1)设立判别网络;其中,判别网络的输入为分类主网络在对训练图像进行细粒度分类过程中提取出的图像特征;判别网络包括多个判别子网络,每个判别子网络对应一个数据域,每个判别子网络用于判别分类主网络提取出的图像特征是否与各自对应的数据域相匹配,得到判别结果。
一种实施方式中,参见图5所示的一种判别子网络的结构示意图,判别子网络可以包括依次连接的第一卷积层、第一激活函数层、最大池化层、第二卷积层、第二激活函数层、特征形状变换层、第一全连接层和第二全连接层。当一组训练数据集输入至一个判别子网络后,可以得到一个1x1的判别结果。诸如该训练数据集表征场景A,如果判别子网络对应的场景也为A,则输出的结果是0,如果判别子网络对应的场景并非是A,则输出的结果是1。一种实施方式中,采用0表征判别子网络判别出训练数据集属于场景A,采用1表征判别子网络判别出训练数据集不属于场景A。当然以上仅为示例,在实际应用中还可采用其它字符表征判断结果,在此不再赘述。
在具体实施时,第一卷积层的参数可以设定为卷积核kernel=1,填充padding=1;第一激活函数可以为ReLU激活函数,最大池化层的参数可以设定为卷积核kernel=3,步长stride=2;第二卷积层的参数可以设定为卷积核kernel=3,填充padding=1,第二激活函数也可以为ReLU激活函数。假设输入至判别子网络的图像参数为256×6×6,则最终可以得到一个1x1的判别结果。具体而言,一组256x6x6的特征图先后经过第一卷积层、ReLU激活函数后和最大池化层后,可以得到最大池化层输出的一个512x3x3的向量,512x3x3的向量再经过第二卷积层和ReLU激活函数后,可以得到ReLU激活函数输出的一个1024x2x2的向量,通过特征形状变换层(也即,Reshape层)将1024x2x2的结果直接变形(reshape)成4096x1的向量后,经过两层全连接层后,由于最后一层全连接层可以将任意数值映射到1,因此可以得到最终1x1的一个结果。将M组训练数据集输入至判别网络(包含有至少M个判别子网络,每个判别子网络对应一个域,每个判别子网络对应一个1x1的结果)中进行判断,判别网络最终会对应输出M*1的判别结果,通过诸如[0,1]区间表征各组训练数据集属于判别子网络对应的域的概率;也即,结果中的每个元素都代表了特征图属于判别子网络对应域的可能性大小。
(2)对判别网络和分类主网络进行联合训练,直至判别网络和分类主网络的总损失函数收敛至预设值时停止训练;其中,当训练停止时,各判别子网络均判别图像特征与各自对应的数据域不匹配。
一种实施方式中,参见图6所示的一种训练模型的结构示意图,图6在图3的基础上进一步示意出判别网络,判别网络和分类主网络共同构成训练模型;其中,分类主网络包括特征提取网络和分类网络;对判别网络和分类主网络进行联合训练的步骤包括:
获取多组训练数据集;其中,不同组的训练数据集表征的场景不同;每组训练数据集中都包括多张训练图像;将多组训练数据集输入至特征提取网络,通过特征提取网络提取各训练数据集中的各训练图像的图像特征;将各训练图像的图像特征输入至分类网络,计算得到分类损失函数值;将各训练图像的图像特征输入至判别网络,计算得到域损失函数值;根据分类损失函数值和域损失函数值,确定总损失函数值;基于总损失函数值,通过反向传播算法对判别网络和分类主网络进行联合训练。
进一步,参见图7所示的一种训练模型的结构示意图,图7在图6的基础上,进一步示意出特征提取网络包括全局特征提取子网络和局部特征提取子网络;分类网络包括第一分类子网络和第二分类子网络。在对图7所示的训练模型进行训练的步骤中,首先将多组训练数据集输入至全局特征提取子网络,通过全局特征提取子网络提取各训练数据集中的各训练图像的全局特征;基于各训练图像的全局特征确定各训练图像中的感兴趣区域,将各训练图像的感兴趣区域输入至局部特征提取子网络,通过局部特征提取子网络提取各训练图像的局部特征;将各训练图像的全局特征输入至第一分类网络,以及将各训练图像的局部特征输入至第二分类网络,综合得到分类损失函数;将各训练图像的全局特征输入至判别网络,综合得到域损失函数。此外,为了便于理解,在图7中还示意出全局特征提取子网络与局部特征提取子网络之间间隔有感兴趣区域确定模块,通过感兴趣区域确定模块基于各训练图像的全局特征确定各训练图像中的感兴趣区域,并将各训练图像的感兴趣区域输入至局部特征提取子网络。
在引入判别网络以使不同域之间的分布尽可能重叠时,本实施例进一步考虑到不同域之间的相同类的距离,诸如处于不同数据集下的相同品种的猫(也即,相同类)的距离应当是相近的。以最简单的二分类为例,参见图8所示的一种两个不同域的特征分布示意图,域A特征和域B特征包括的物体类别相同,均包括目标物1和目标物2;其中,目标物1的特征在
图8中以圈表示,目标物的特征在图8中以三角表示。由于域A和域B的场景不同,因此域A特征和域B特征距离较远,难以重合。在训练过程中,为了忽略不同域之间的场景,本实施例会拉近域A特征与域B特征,形成两个域分布较近的域AB特征,若拉近域A特征与域B特征,可能如图7中的域AB所示,虽然域A和域B已被拉近,具有一定的重叠性,但是不同域的同一类别之间的分布差异仍旧较大,诸如,域1中的目标物1的特征与域2中的目标物1的特征仍具有一定的分布差异,重叠程度不高。
因此本实施例提供的训练方法中,在类层面进一步解决上述问题。也即,在对判别网络和分类主网络进行联合训练时,还包括:获取分类网络中的预设网络层输出的向量;根据获取的向量,计算得到对比损失函数值;进而根据分类损失函数值、对比损失函数值和域损失函数值,确定总损失函数值。在计算对比损失函数值时,本实施例将不同域之间的相同类的特征送入分类网络,根据分类网络的预设网络层(具体可以为倒数第二层)输出的向量来计算两个属于同一类的向量之间的余弦距离,并对其进行最小化,从而使不同域之间的同一类别的特征差异最小,重叠度最大。因此图7中还进一步示意出第一分类子网络和第二分类子网络共同计算得到的对比损失函数值。
在一种实施方式中,可以按照以下公式,计算总损失函数值L:
L=Lcls+λ(Ldomain+Lcontrastiveloss)
其中,Lcls为分类损失函数值,Ldomain为域损失函数值,Lcontrastiveloss为对比损失函数值,λ为预设的权衡参数。在具体实施时,可以令λ=0.1。
在一种实施方式中,可以按照以下公式计算分类损失函数值Lcls:
其中,y为训练图像的分类标签;ak为分类网络的分类结果。
如采用图7所示的训练模型,则ak=aak+apk;其中,aak={aa1,aa2,…aaN},且apk={ap1,ap2,…apN}。其中,aak={aa1,aa2,…aaN}是一个(Nx1)的向量,是全局信息的分类结果,aak表征训练图像属于第k个类的可能性大小,取值在[0,1];同理,apk表征训练图像中的感兴趣区域属于第k个类的可能性大小,取值在[0,1]。ak通过aak和apk之和来表征待分类图像属于第k类的概率。
在一种实施方式中,可以按照以下公式计算域损失函数值Ldomain:
其中,rep是训练图像的全局特征,Di表征第i个判别子网络。
在一种实施方式中,可以按照以下公式计算对比损失函数值Lcontrastiveloss:
Lconstrastiveloss=cd(r1,r2)2
其中,r1和r2分别为分类网络中的预设网络层输出的任意两个向量;具体的,可以为第一分类网络的倒数第二层和第二分类网络中的倒数第二层输出的任意两个向量。d(r1,r2)是r1和r2之间的余弦距离;当r1和r2具有相同的分类标签时,c=1;当r1和r2具有不同的分类标签时,c=0。
在一种实施方式中,获取的所有训练数据集均携带有分类标签;在另一种实施方式中,获取的所有训练数据集中至少有一组训练数据集未携带有分类标签,携带有分类标签的训练数据集可以称之为源域,未携带有分类标签的训练数据集可以称之为目标域。当然,目标域也可以理解为未带有标签的源域。可以理解的是,获取的所有训练数据集中包含有预设第一数量的源域,也可以包含有预设第二数量的目标域;其中,预设第一数量大于零;预设第二数量大于或等于零。在具体计算时,目标域数据由于不携带有分类标签,因此可不参与分类损失计算,仅由带有分类标签的源域数据参与分类损失计算。源域数据和目标域数据通常具有一定的共性,当然也具有一定的差异性,通过训练数据集既包含源域数据又包含目标域数据的方式,能够使目标域数据(即,未带有分类标签的训练数据集)参与至训练过程中,以便待训练的模型在源域数据(即,带有分类标签的训练数据集)的基础上,还能够从未带有分类标签的训练数据集中获取潜在信息(诸如,不同数据集之间的共性特征和差异特征等)。通过这种采用源域数据和目标域数据综合训练模型的方式,使模型的可应用范围更广。
综上所述,采用本实施例提供的图像分类方法,分类主网络在对目标图像中的目标物进行细粒度分类时不会受到场景干扰,从而得到较为准确的分类结果,这种方式适用于对多个场景下的图像进行准确分类,具有一定的普遍适用性。
实施例三:
本实施例提出了一种基于实施例二提出的图像分类方法的具体应用示例:
首先,在具体应用时,本实施例可以采用了CaffeNet作为分类主网络,也即本实施例的分类主网络的网络结构可以参见CaffeNet。CaffeNet在对待分类图像进行特征提取时,能够利用不同的特征对其进行分类。CaffeNet的结构与AlexNet相似(因此本实施例采用AlexNet作为分类主网络也可)。AlexNet的网络结构中可使用ReLU作为CNN的激活函数,成功解决了Sigmoid在网络较深时的梯度弥散问题。而且,AlexNet同时使用了重叠的最大池化。相比于传统的CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均池化的模糊化效果。此外,AlexNet中提出让步长比池化核的尺寸小,这样可以使池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。在此基础上AlexNet还提出了LRN层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。
其次,在图3的基础上,本实施例提出了如图9所示的一种训练模型的结构示意图,图9的目的清楚的示意出训练集包括源数据集和目标数据集时的训练原理,其中,源数据集和目标数据集分别输入的训练模型实质为一个模型,两个特征提取器的结构相同,且共享参数,两个分类器的结构相同,且共享参数。图9分开示意的目的在于强调采用不同来源的训练数据集对训练模型进行综合训练。
图9中的特征提取器也即前述实施例中的特征提取网络,具体可以是分类主网络的卷积层。如果对其输入224×224×3的图像,则可以输出256×6×6的图像特征。
图9中的分类器也即前述实施例中的分类网络,具体可以是分类主网络的全连接层。如果对其输入256×6×6的图像特征,则可以输出N×1的向量,其中,N是需要判别的种类个数。
图9中的域判别器也即前述实施例中的判别网络,具体包括多个判别器,每个判别器用于判别图像特征是否属于各自对应的域。诸如,图9示意出采用源数据集和目标数据集共两组数据集(也即,两个域)进行训练,则域判别器输出2×1的向量。
本实施例认为,当所有的判别器都认为特征不属于各自所要判别的域时,特征提取器达到最优解,因为此时的特征提取器可以将待分类图像中与域无关的信息单独提取出来。其中,与域无关的信息也即待分类图像中所包含的目标物,提取出的与域无关的信息也即前述实施例中的关键特征。
为了能够同时关注到图像的全局信息和局部信息,可以采用循环方式实现。在具体实施时,可以将整张图像送入至分类主网络后,分类主网络对图像中的不同部分具有不同的响应程度,从中提取响应程度最高的区域(也即,前述感兴趣区域)再次送入到分类主网络进行特征提取,将完整图像的全局特征和区域图像的局部特征加和在一起后进行分类,有助于显著提升分类结果的准确度。
具体的,可以参见图10所示的一种训练模型的结构示意图,图10的目的在于展示训练模型的完整结构。以下详细阐明该训练模型的训练过程:
将源数据集1、源数据集2……源数据集M和目标数据集均输入至全局特征提取器(也即前述实施例中的全局特征提取子网络),全局特征提取器输出全局特征,该全局特征的参数为256×6×6;然后将全局特征输入至第一分类器,第一分类器输出N×1的向量,其中,N是需要判别的种类个数。基于全局特征确定感兴趣区域,将感兴趣区域输入至局部特征提取器(也即前述实施例中的局部特征提取子网络),局部特征提取器输出局部特征,该局部特征的参数为256×6×6;然后将局部特征输入至第二分类器,第二分类器输出N×1的向量,其中,N是需要判别的种类个数。在实际应用中,第一分类器和第二分类器的网络结构可以相同,但网络参数可能不同。将全局特征输入至域判别器(也即前述实施例中的判别网络),域判别器中包含有多个对应不同域的判别器。域判别器输出(M+1)×1的向量结果。
图10中进一步示意出,根据第一分类器和第二分类器的分类结果可以计算得到分类损失,分类损失函数可以表征为:
y为训练图像的分类标签;ak为分类器的分类结果,具体为第一分类器和第二分类器的总分类结果。其中,ak=aak+apk;其中,aak={aa1,aa2,…aaN},且apk={ap1,ap2,…apN}。其中,aak={aa1,aa2,…aaN}是一个(Nx1)的向量,是全局信息的分类结果,aak表征训练图像属于第k个类的可能性大小,取值在[0,1];同理,apk表征训练图像中的感兴趣区域属于第k个类的可能性大小,取值在[0,1]。
图10中为了保证特征提取器所提取出来的特征可以丢弃域信息(也即,场景信息),提取出与域(场景)无关的关键特征,因此添加了一组判别器(统称域判别器),每个判别器判别其对应的域。根据域判别器的判别结果,可以得到域损失,域损失函数可以表征为:
其中,rep是训练图像的全局特征,Di表征第i个判别器。
为了使得不同域之间相同类的特征分布一致,以进一步提升细粒度分类的准确度,本实施例将分类器的倒数第二层所输出的结果r进行距离最小化。一种实施方式中,采用余弦距离来衡量距离。如图10所示,则是选取第一分类器的倒数第二层输出的结果与第二分类器的倒数第二层输出的结果共同进行对比损失,对比损失函数可以表征为:
Lconstrastiveloss=cd(r1,r2)2
其中,d(r1,r2)是r1和r2之间的余弦距离;r1和r2可以为第一分类器的倒数第二层和第二分类器的倒数第二层输出的任意两个4096×1的向量;当r1和r2具有相同的分类标签时,c=1;当r1和r2具有不同的分类标签时,c=0。
因此可以得到训练模型的总损失函数,总损失函数可以表征为:
L=Lcls+λ(Ldomain+Lcontrastiveloss)
其中,λ为预设的权衡参数。在具体实施时,可以令λ=0.1。
综上所述,本实施例之所以能够对多场景的细粒度图像进行准确分类,主要可以归因于训练过程中采用域层面和类层面两种方式来缩小不同域之间的差距,从而使分类主网络能够忽略场景(域信息),不受图像中场景的干扰,提取仅与目标物有关的关键特征。
具体的,对于域层面,本实施例引入判别网络(包含有多个对应不同域的判别子网络),通过判别网络判别分类主网络所提取的特征存在于哪个域。当训练模型优化到收敛时,判别网络无法判别特征所在的域,此时,可以认为分类主网络提取的图像特征已经可以忽略域之间的分布差异,而提取出与域无关,仅与目标物有关的关键特征。
对于类层面,将不同域之间相同类的特征输入至分类网络,根据分类网络的指定网络层(诸如,倒数第二层)的输出来计算不同域之间相同类的特征的余弦距离并对其进行最小化,从而拉近不同域之间相同类的距离。
而且,本实施例可以采用多组训练数据集(处于不同域的图像集)对训练模型进行训练,多组训练数据集中的数据来源可以不同,训练数据集可以包括带有标签的数据集和不带有标签的数据集(也即,没有携带类别信息),以此能够扩大分类主网络的应用范围。
综上所述,采用本实施例提供的上述训练方式,能够得到细粒度分类结果较为准确的分类主网络。以车辆作为目标物进行验证,本实施例提供的图像分类方法相比于其它图像分类方法,识别精度ACC已明显优于其它方法,具体可以参见表1所示的不同方法的识别精度列表。
表1
表1中的Method(方法)栏中列出多种分类识别方法,其使用的数据集为G.Timnit等人在Fine-Grained Car Detection for Visual Census Estimation(应用于视觉估计的人口普查中的细粒度车监测方法)中提出的数据集,在WEB域(网络域)上训练,在GSV域(GSV,google street view,谷歌街景)上测试所得到的结果。方法1是利用原始网络CaffeNet(AlexNet)实现,方法2中的DC(域分类方法)是E.Tzeng等人在Simultaneous deeptransfer across domains and tasks(同时在域和任务中进行的深度变换方法)中提出的方法;方法3是G.Timnit等人在Fine-grained recognition in the wild:A multi-taskdomain adaptation approach(现实场景中的细粒度识别:一个多任务的域自适应方法)中提出的方法,方法4和方法5为基于本实施例提出的图像分类方法。其中,基于本实施例提供的图像分类方法为方法4(涉及域层面和类层面)和方法5(结合域层面、类层面和局部信息)的识别精度ACC最高,进一步验证了本实施例提供的图像分类方法能够较好地提升细粒度分类准确度。
实施例四:
对于实施例二中所提供的图像分类方法,本发明实施例提供了一种图像分类装置,参见图11所示的一种人脸识别装置的结构框图,包括如下模块:
图像获取模块1102,用于获取待处理的目标图像;
网络分类模块1104,用于将目标图像输入至预先训练得到的分类主网络;其中,分类主网络用于提取目标图像的关键特征,并基于关键特征进行细粒度分类;关键特征与目标图像中待分类的目标物有关,且关键特征与目标图像中的场景无关;
结果获得模块1106,用于通过分类主网络得到目标图像的分类结果。
本发明实施例提供的上述图像分类装置,能够通过分类主网络提取目标图像的关键特征,并基于该关键特征进行细粒度分类,得到目标图像的分类结果。其中,关键特征与目标图像中待分类的目标物有关,而与所述目标图像中的场景无关,因此,分类主网络在对目标图像中的目标物进行细粒度分类时不会受到场景干扰,从而得到较为准确的分类结果,这种方式适用于对多个场景下的图像进行准确分类,具有一定的普遍适用性。
在一种实施方式中,分类主网络包括特征提取网络和分类网络;
特征提取网络的输入为目标图像,特征提取网络的输出为目标图像的关键特征;
分类网络的输入为目标图像的关键特征,分类网络的输出为目标图像的分类结果。
进一步,特征提取网络包括全局特征提取子网络和局部特征提取子网络;分类网络包括第一分类子网络和第二分类子网络;
其中,全局特征提取子网络的输入为目标图像,全局特征提取子网络的输出为目标图像的全局特征;
第一分类子网络的输入为全局特征,第一分类子网络的输出为目标图像的第一分类结果;
局部特征提取子网络的输入为基于全局特征确定的目标图像中的感兴趣区域;局部特征提取子网络的输出为感兴趣区域的局部特征;第二分类子网络的输入为局部特征,第二分类子网络的输出为目标图像的第二分类结果;
根据第一分类结果和第二分类结果,得到目标图像的最终分类结果。
在一种实施方式中,上述装置还包括:
判别网络设立模块,用于设立判别网络;其中,判别网络的输入为分类主网络在对训练图像进行细粒度分类过程中提取出的图像特征;判别网络包括多个判别子网络,每个判别子网络对应一个数据域,每个判别子网络用于判别分类主网络提取出的图像特征是否与各自对应的数据域相匹配,得到判别结果;
训练模块,用于对判别网络和分类主网络进行联合训练,直至判别网络和分类主网络的总损失函数收敛至预设值时停止训练;其中,当训练停止时,各判别子网络均判别图像特征与各自对应的数据域不匹配。
在一种实施方式中,分类主网络包括特征提取网络和分类网络;训练模块用于:
获取多组训练数据集;不同组的训练数据集表征的场景不同;每组训练数据集中都包括多张训练图像;
将多组训练数据集输入至特征提取网络,通过特征提取网络提取各训练数据集中的各训练图像的图像特征;
将各训练图像的图像特征输入至分类网络,计算得到分类损失函数值;
将各训练图像的图像特征输入至判别网络,计算得到域损失函数值;
根据分类损失函数值和域损失函数值,确定总损失函数值;
基于总损失函数值,通过反向传播算法对判别网络和分类主网络进行联合训练。
在一种实施方式中,上述训练模块还用于:
获取分类网络中的预设网络层输出的向量;
根据获取的向量,计算得到对比损失函数值;
根据分类损失函数值和域损失函数值,确定总损失函数值的步骤,包括:
根据分类损失函数值、对比损失函数值和域损失函数值,确定总损失函数值。
在一种实施方式中,上述训练模块在根据分类损失函数值、对比损失函数值和域损失函数值,确定总损失函数值时,用于按照以下公式,计算总损失函数值L:
L=Lcls+λ(Ldomain+Lcontrastiveloss)
其中,Lcls为分类损失函数值,Ldomain为域损失函数值,Lcontrastiveloss为对比损失函数值,λ为预设的权衡参数。
在一种实施方式中,按照以下公式计算分类损失函数值Lcls:
其中,y为训练图像的分类标签;ak为分类网络的分类结果。
在一种实施方式中,按照以下公式计算域损失函数值Ldomain:
其中,rep是训练图像的全局特征,Di表征第i个判别子网络。
在一种实施方式中,按照以下公式计算对比损失函数值Lcontrastiveloss:
Lconstrastiveloss=cd(r1,r2)2
其中,r1和r2分别为分类网络中的预设网络层输出的任意两个向量;d(r1,r2)是r1和r2之间的余弦距离;当r1和r2具有相同的分类标签时,c=1;当r1和r2具有不同的分类标签时,c=0。
在一种实施方式中,特征提取网络包括全局特征提取子网络和局部特征提取子网络;分类网络包括第一分类子网络和第二分类子网络;训练模块在将多组训练数据集输入至特征提取网络,通过特征提取网络提取各训练数据集中的各训练图像的图像特征时,进一步用于:将多组训练数据集输入至全局特征提取子网络,通过全局特征提取子网络提取各训练数据集中的各训练图像的全局特征;
基于各训练图像的全局特征确定各训练图像中的感兴趣区域,将各训练图像的感兴趣区域输入至局部特征提取子网络,通过局部特征提取子网络提取各训练图像的局部特征时,还用于:
训练模块在将各训练图像的图像特征输入至分类网络时,进一步用于:将各训练图像的全局特征输入至第一分类网络,以及将各训练图像的局部特征输入至第二分类网络;
训练模块在将各训练图像的图像特征输入至判别网络时,进一步用于:将各训练图像的全局特征输入至判别网络,计算得到域损失函数值。
在一种实施方式中,判别子网络包括依次连接的第一卷积层、第一激活函数层、最大池化层、第二卷积层、第二激活函数层、Reshape层、第一全连接层和第二全连接层。
在一种实施方式中,获取的所有训练数据集均携带有分类标签;
在一种实施方式中,获取的所有训练数据集中至少有一组训练数据集未携带有分类标签。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例五:
本发明实施例提供了一种图像分类系统,该系统包括:图像采集装置、处理器和存储装置;其中,图像采集装置,用于采集目标图像;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如前述方法实施例所提供的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
进一步,本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述前述方法实施例所提供的方法的步骤。
本发明实施例所提供的一种图像分类方法、装置及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种图像分类方法,其特征在于,包括:
获取待处理的目标图像;
将所述目标图像输入至预先训练得到的分类主网络;其中,所述分类主网络用于提取所述目标图像的关键特征,并基于所述关键特征进行细粒度分类;所述关键特征与所述目标图像中待分类的目标物有关,且所述关键特征与所述目标图像中的场景无关;
通过所述分类主网络得到所述目标图像的分类结果;
所述方法还包括:
设立判别网络;其中,所述判别网络的输入为所述分类主网络在对训练图像进行细粒度分类过程中提取出的图像特征;所述判别网络包括多个判别子网络,每个所述判别子网络对应一个数据域,每个所述判别子网络用于判别所述分类主网络提取出的图像特征是否与各自对应的所述数据域相匹配,得到判别结果;所述判别子网络包括依次连接的第一卷积层、第一激活函数层、最大池化层、第二卷积层、第二激活函数层、特征形状变换层、第一全连接层和第二全连接层;
对所述判别网络和所述分类主网络进行联合训练,直至所述判别网络和所述分类主网络的总损失函数收敛至预设值时停止训练;其中,当训练停止时,各所述判别子网络均判别所述图像特征与各自对应的所述数据域不匹配。
2.根据权利要求1所述的方法,其特征在于,所述分类主网络包括特征提取网络和分类网络;
所述特征提取网络的输入为所述目标图像,所述特征提取网络的输出为所述目标图像的关键特征;
所述分类网络的输入为所述目标图像的关键特征,所述分类网络的输出为所述目标图像的分类结果。
3.根据权利要求2所述的方法,其特征在于,所述特征提取网络包括全局特征提取子网络和局部特征提取子网络;所述分类网络包括第一分类子网络和第二分类子网络;
其中,所述全局特征提取子网络的输入为所述目标图像,所述全局特征提取子网络的输出为所述目标图像的全局特征;
所述第一分类子网络的输入为所述全局特征,所述第一分类子网络的输出为所述目标图像的第一分类结果;
所述局部特征提取子网络的输入为基于所述全局特征确定的所述目标图像中的感兴趣区域;所述局部特征提取子网络的输出为所述感兴趣区域的局部特征;所述第二分类子网络的输入为所述局部特征,所述第二分类子网络的输出为所述目标图像的第二分类结果;
根据所述第一分类结果和所述第二分类结果,得到所述目标图像的最终分类结果。
4.根据权利要求1所述的方法,其特征在于,所述分类主网络包括特征提取网络和分类网络;
所述对所述判别网络和所述分类主网络进行联合训练的步骤包括:
获取多组训练数据集;不同组的所述训练数据集表征的场景不同;每组所述训练数据集中都包括多张训练图像;
将多组所述训练数据集输入至所述特征提取网络,通过所述特征提取网络提取各所述训练数据集中的各训练图像的图像特征;
将各所述训练图像的图像特征输入至所述分类网络,计算得到分类损失函数值;
将各所述训练图像的图像特征输入至所述判别网络,计算得到域损失函数值;
根据所述分类损失函数值和所述域损失函数值,确定总损失函数值;
基于所述总损失函数值,通过反向传播算法对所述判别网络和所述分类主网络进行联合训练。
5.根据权利要求4所述的方法,其特征在于,所述对所述判别网络和所述分类主网络进行联合训练的步骤,还包括:
获取所述分类网络中的预设网络层输出的向量;
根据获取的所述向量,计算得到对比损失函数值;其中,在计算对比损失函数值时,将不同域之间的相同类的特征送入所述分类网络,根据所述分类网络的预设网络层输出的向量进行计算;
所述根据所述分类损失函数值和所述域损失函数值,确定总损失函数值的步骤,包括:
根据所述分类损失函数值、所述对比损失函数值和所述域损失函数值,确定总损失函数值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述分类损失函数值、所述对比损失函数值和所述域损失函数值,确定总损失函数值的步骤,包括:
按照以下公式,计算总损失函数值L:
L=Lcls+λ(Ldomain+Lcontrastiveloss)
其中,Lcls为所述分类损失函数值,Ldomain为所述域损失函数值,Lcontrastiveloss为所述对比损失函数值,λ为预设的权衡参数。
9.根据权利要求6所述的方法,其特征在于,按照以下公式计算所述对比损失函数值Lcontrastiveloss:
Lconstrastiveloss=cd(r1,r2)2
其中,r1和r2分别为所述分类网络中的预设网络层输出的任意两个向量;d(r1,r2)是r1和r2之间的余弦距离;当r1和r2具有相同的分类标签时,c=1;当r1和r2具有不同的分类标签时,c=0。
10.根据权利要求5至9任一项所述的方法,其特征在于,所述特征提取网络包括全局特征提取子网络和局部特征提取子网络;所述分类网络包括第一分类子网络和第二分类子网络;
所述将多组所述训练数据集输入至所述特征提取网络,通过所述特征提取网络提取各所述训练数据集中的各训练图像的图像特征的步骤,包括:
将多组所述训练数据集输入至所述全局特征提取子网络,通过所述全局特征提取子网络提取各所述训练数据集中的各训练图像的全局特征;
基于各所述训练图像的全局特征确定各所述训练图像中的感兴趣区域,将各所述训练图像的感兴趣区域输入至所述局部特征提取子网络,通过所述局部特征提取子网络提取各所述训练图像的局部特征;
所述将各所述训练图像的图像特征输入至所述分类网络的步骤,包括:
将各所述训练图像的全局特征输入至所述第一分类子 网络,以及将各所述训练图像的局部特征输入至所述第二分类子 网络;
所述将各所述训练图像的图像特征输入至所述判别网络的步骤,包括:
将各所述训练图像的全局特征输入至所述判别网络。
11.根据权利要求4所述的方法,其特征在于,获取的所有所述训练数据集均携带有分类标签;
或者,
获取的所有所述训练数据集中至少有一组训练数据集未携带有分类标签。
12.一种图像分类装置,其特征在于,包括:
图像获取模块,用于获取待处理的目标图像;
网络分类模块,用于将所述目标图像输入至预先训练得到的分类主网络;其中,所述分类主网络用于提取所述目标图像的关键特征,并基于所述关键特征进行细粒度分类;所述关键特征与所述目标图像中待分类的目标物有关,且所述关键特征与所述目标图像中的场景无关;
结果获得模块,用于通过所述分类主网络得到所述目标图像的分类结果;
所述装置还包括:
判别网络设立模块,用于设立判别网络;其中,判别网络的输入为分类主网络在对训练图像进行细粒度分类过程中提取出的图像特征;判别网络包括多个判别子网络,每个判别子网络对应一个数据域,每个判别子网络用于判别分类主网络提取出的图像特征是否与各自对应的数据域相匹配,得到判别结果;所述判别子网络包括依次连接的第一卷积层、第一激活函数层、最大池化层、第二卷积层、第二激活函数层、特征形状变换层、第一全连接层和第二全连接层;
训练模块,用于对判别网络和分类主网络进行联合训练,直至判别网络和分类主网络的总损失函数收敛至预设值时停止训练;其中,当训练停止时,各判别子网络均判别图像特征与各自对应的数据域不匹配。
13.一种图像分类系统,其特征在于,所述系统包括:图像采集装置、处理器和存储装置;
所述图像采集装置,用于采集目标图像;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至11任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至11任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810881947.6A CN109117879B (zh) | 2018-08-03 | 2018-08-03 | 图像分类方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810881947.6A CN109117879B (zh) | 2018-08-03 | 2018-08-03 | 图像分类方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109117879A CN109117879A (zh) | 2019-01-01 |
CN109117879B true CN109117879B (zh) | 2021-06-22 |
Family
ID=64852853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810881947.6A Active CN109117879B (zh) | 2018-08-03 | 2018-08-03 | 图像分类方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109117879B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096964B (zh) * | 2019-04-08 | 2021-05-04 | 厦门美图之家科技有限公司 | 一种生成图像识别模型的方法 |
CN110321920B (zh) | 2019-05-08 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 图像分类方法、装置、计算机可读存储介质和计算机设备 |
CN110210544B (zh) * | 2019-05-24 | 2021-11-23 | 上海联影智能医疗科技有限公司 | 图像分类方法、计算机设备和存储介质 |
CN110334763B (zh) * | 2019-07-04 | 2021-07-23 | 北京字节跳动网络技术有限公司 | 模型数据文件生成、图像识别方法、装置、设备及介质 |
CN111126384A (zh) * | 2019-12-12 | 2020-05-08 | 创新奇智(青岛)科技有限公司 | 基于特征融合的商品分类系统及分类方法 |
CN111340195B (zh) * | 2020-03-09 | 2023-08-22 | 创新奇智(上海)科技有限公司 | 网络模型的训练方法及装置、图像处理方法及存储介质 |
CN111914712B (zh) * | 2020-07-24 | 2024-02-13 | 合肥工业大学 | 一种铁路地面轨道场景目标检测方法及系统 |
CN112164125B (zh) * | 2020-09-15 | 2022-07-26 | 华南理工大学 | 一种监督可控的人脸多属性分离生成的方法 |
CN112329725B (zh) * | 2020-11-27 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 一种道路场景的要素识别方法、装置、设备以及存储介质 |
CN112634201B (zh) * | 2020-12-02 | 2023-12-05 | 歌尔股份有限公司 | 目标检测方法、装置和电子设备 |
CN112699830B (zh) * | 2021-01-07 | 2024-08-23 | 京东方科技集团股份有限公司 | 图像处理方法、装置及计算机可读存储介质 |
CN113255531B (zh) * | 2021-05-31 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 活体检测模型的处理方法、装置、计算机设备和存储介质 |
CN113657523A (zh) * | 2021-08-23 | 2021-11-16 | 科大讯飞股份有限公司 | 一种图像目标分类方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107862340A (zh) * | 2017-11-16 | 2018-03-30 | 深圳市华尊科技股份有限公司 | 一种车型识别方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10380745B2 (en) * | 2016-09-01 | 2019-08-13 | Massachusetts Institute Of Technology | Methods and devices for measuring object motion using camera images |
CN107239802B (zh) * | 2017-06-28 | 2021-06-01 | 广东工业大学 | 一种图像分类方法及装置 |
-
2018
- 2018-08-03 CN CN201810881947.6A patent/CN109117879B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107862340A (zh) * | 2017-11-16 | 2018-03-30 | 深圳市华尊科技股份有限公司 | 一种车型识别方法及装置 |
Non-Patent Citations (1)
Title |
---|
Domain-Adversarial Training of Neural Networks;Yaroslav Ganin等;《The Journal of Machine Learning Research》;20160131;第17卷(第1期);第1-35页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109117879A (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117879B (zh) | 图像分类方法、装置及系统 | |
US11308334B2 (en) | Method and apparatus for integration of detected object identifiers and semantic scene graph networks for captured visual scene behavior estimation | |
Lee et al. | Cfa: Coupled-hypersphere-based feature adaptation for target-oriented anomaly localization | |
Wen et al. | A rapid learning algorithm for vehicle classification | |
Wang et al. | Vehicle type recognition in surveillance images from labeled web-nature data using deep transfer learning | |
US10275719B2 (en) | Hyper-parameter selection for deep convolutional networks | |
Wen et al. | Efficient feature selection and classification for vehicle detection | |
US9906704B2 (en) | Managing crowd sourced photography in a wireless network | |
Ashok Kumar et al. | Enhanced facial emotion recognition by optimal descriptor selection with neural network | |
JP2016062610A (ja) | 特徴モデル生成方法及び特徴モデル生成装置 | |
EP3938806A1 (en) | Radar data collection and labeling for machine-learning | |
Luo et al. | SFA: small faces attention face detector | |
Karaoglu et al. | Detect2rank: Combining object detectors using learning to rank | |
CN108537223B (zh) | 一种车牌检测方法、系统及设备和存储介质 | |
Abbott et al. | Deep object classification in low resolution lwir imagery via transfer learning | |
CN111444816A (zh) | 一种基于Faster RCNN的多尺度密集行人检测方法 | |
Wang et al. | Detection and tracking based tubelet generation for video object detection | |
CN114399731B (zh) | 一种单粗点监督下的目标定位方法 | |
Hassan et al. | An empirical analysis of deep learning architectures for vehicle make and model recognition | |
US11507780B2 (en) | Image analysis device, image analysis method, and image analysis program | |
Moate et al. | Vehicle detection in infrared imagery using neural networks with synthetic training data | |
Mallet et al. | Deepfake detection analyzing hybrid dataset utilizing cnn and svm | |
Liu et al. | Remote sensing image vehicle detection based on pre-training and random-initialized fusion network | |
Wu et al. | Semi-supervised human detection via region proposal networks aided by verification | |
CN112329798A (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 |