具体实施方式
下面结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而非全部实施例。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如背景技术所述,发明人研究发现,在进行图像分类时,现有的多标签图像分类方法,分类的判定是一种过拟合的表现,例如训练集中,羊类总是出现在自然环境中,猫类在自然环境和室内场景中都有出现的话,当需要进行分类的图像,其内的表现是客厅中有一只羊时,则图像分类模型有较大概率依据室内场景的信息,判定该图片的类别为猫类。因此,现有的多标签图像分类方法,使用无关或弱相关的信息会增加分类判断出错的几率,使用无关或弱相关的信息会增加分类判断出错的几率。
本申请实施例提出一种图像分类方法、装置、电子设备及存储介质,在进行图像分类时,能够降低判断出错的几率。
请参阅图1,图1是本申请一实施例图像分类方法的流程示意图,图像分类方法包括:
S101、获取单标签图像集,单标签图像集内的图像具有单标签分类;
S102、将单标签图像集内的图像进行组合,得到多标签图像集,多标签图像集内的图像具有多标签分类;
S103、利用多标签图像集训练图像分类模型;
S104、获取待分类图像;
S105、将待分类图像输入图像分类模型,得到对待分类图像的各个背景和/或各个目标的分类结果。
通过利用单标签图像组合成的多标签图像,能够使得多标签图像中,各个标签之间具有独立性,从而在利用多标签图像训练图像分类模型时,对多标签图像集中的各个标签本身进行学习,而不会学习跟每个标签本身的无关或弱相关的信息,因此利用图像分类模型进行图像分类时,也是对待分类图像的各个背景和/或各个目标的分别分类,因此能够减少分类判断出错的几率。
其中,在步骤S101中,单标签图像集内的图像,具有单标签分类,单标签图像集包括不同的场景图像和不同的目标图像,对于场景图像,单标签分类是对图像中的背景记录标签,对于目标图像,单标签分类是对图像中的目标记录标签。
因此,在步骤S102中,将单标签图像集内的图像进行组合后,得到的多标签图像内,各个目标相互独立,组合的方式包括融合或拼接;预设的组合规则为目标与背景的随机组合,背景与背景的随机组合。
从而在步骤S103中,利用多标签图像训练图像分类模型,能够使得图像分类模型,对各个独立的目标进行学习,而不会学习跟每个标签本身的无关或弱相关的信息,例如,多标签图像中是由山峰、天空这两个单标签图像组合成的,此时山峰和天空的标签相互独立,图像分类模型此时就仅会对山峰、天空本身进行学习,而不会使用天空对山峰进行学习。
因此在步骤S105中,图像分类模型对待分类图像进行分类时,对待分类图像内各个目标分别分类,也就不会利用某目标之外的信息对该目标来分类,从而降低了图像分类模型对无关信息的学习拟合,提高了图像分类模型的泛化能力,降低判断出错的几率。
在步骤S103中,图像分类模型可以是注意力机制模型,也可以为ACN(AgentCooperate Network,经纪人合作网络)模型。
在一个实施例中,步骤S102,将单标签图像集内的图像按预设的组合规则进行组合,得到多标签图像集,包括:
S1021、在单标签图像集的每一个单标签图像内,提取元素图像,元素图像为场景元素图像或目标元素图像;
S1022、将元素图像进行缩小或放大,以使元素图像的尺寸为预设值;
S1023、将不同的元素图像进按预设的组合规则行组合,得到多张具有至少两个元素图像的多标签图像;
S1024、利用所有的多标签图像,生成多标签图像集。
在本实施例中,步骤S1021,将单标签图像内的元素图像提取出来,使得元素图像只有想要的目标的特征或想要的背景的特征,能够使得在步骤S1023进行组合的过程中,组合出的多标签图像内各个目标之间更加独立,例如,将猫类图像中的元素图像-猫,提取出来,将山峰图像中的元素图像-山峰,提取出来,在组合成多标签图像后,不会受到猫后的场景图像影响,也不会受到山峰后的场景图像影响,从而使得各个目标之间更加独立,因此利用图像分类模型进行图像分类时,能够进一步减少分类判断出错的几率。
在本实施例中,提取单标签图像内的元素图像可以使用抠图的方式,将元素图像从单标签图像内提取出来。也可以利用分割模型、检测模型等对单标签图像进行提取。
在本实施例中,场景图像可以但不限于包括如下图像:天空图像、大海图像、河流图像、湖泊图像、客厅图像、卧室图像等,目标图像可以但不限于包括如下图像:飞机图像、猫图像、狗图像、山峰图像、树木图像等。
而由于训练图像分类模型的图像大小是固定的,若元素图像太大或太小,都会影响图像分类模型的训练,因此使用步骤S1022对元素进行缩小或放大。
在本实施例中,步骤S1022,对元素进行缩小或放大,具体步骤包括:获取元素图像的尺寸,判断元素图像的尺寸是否大于或小于预设值,若大于,则缩小元素图像的尺寸值至预设值,若小于,则放大元素图像的尺寸至预设值。
在一个实施例中,步骤S1023,将不同的元素图像按照预设的组合规则进行组合,得到具有至少两个元素图像的多标签图像,包括:
S10231、将任意一个场景元素图像设定为固定图像,并将固定图像放大至大于预设值;
S10232、按照预设的组合规则,将任意一个目标元素图像融合到固定图像内,得到具有至少两个元素图像的多标签图像。
在本实施例中,融合方式可以采用的是贴图的方法,将一个元素图像固定,将其他的元素图像贴到这个固定的图像内,生成多标签图像。
请参阅图2,图像A具有a标签,图像B、C分别具有b、c标签,A为固定图像,将图像B及图像C贴入图像A内,生成了一个多标签图像,该多标签图像就具有了a、b、c三个标签。
例如,图像A具有草原标签,图像B、C分别具有羊、狗标签,图像A为固定图像,将图像B及图像C贴入图像A内,生成了一个多标签图像,该多标签图像就具有了草原、羊、狗三个标签。
在本实施例中,可以采用Mixup(混类增强)的增强方式,将目标元素图像,向场景元素图像上融合,比如天空上贴张狗,大海上贴猫,Mixup在贴的过程,或者说融合的过程,会有一些权重增加,从而产生出光滑的标签,并不仅仅是0,1这样的硬性标签。
在一个实施例中,步骤S1023,将不同的元素图像按照预设的组合规则进行组合,得到具有至少两个元素图像的多标签图像,包括:
S10233、按照预设的组合规则,将任意两个以上场景元素图像组合为宫格状,得到具有至少两个场景元素图像的多标签图像。
在本实施例中,采用的是拼接的方法,将元素图像组合为宫格状,例如组合成四宫格、九宫格,也可以组合成其他的n*m的形状,例如1*3的图像,2*3的图像,3*4的图像等,其中n为一行内依次排列的元素图像数量,m为一列内依次排列的元素图数量。
请参阅图3,图像D、图像E、图像F、图像G分别具有d、e、f、g标签,将图像D、图像E、图像F、图像G进行四宫格的组合,得到的多标签图像就具有了d、e、f、g四个标签。
例如,图像D、图像E、图像F、图像G分别具有大海、天空、草原、湖泊标签,将图像D、图像E、图像F、图像G进行四宫格的组合,得到的多标签图像就具有了大海、天空、草原、湖泊的四个标签。
在本实施例中,可以采用Mosaic(同类增强)的增强方式,将不同的场景元素图像组合为宫格状。
在一个实施例中,在步骤S102,将不同的元素图像进行组合前,图像分类方法还包括:利用色彩随机抖动或角度旋转或预定区域的随机剪裁的方式,对元素图像进行图像增强。
色彩随机抖动,是在色彩的抖动的基础上,随机进行色彩的抖动,色彩的抖动,抖动的结果是,像素排列产生了变化,一些明显成块状的区域中混入了其他颜色的像素,从而使得图像具有更好的视觉效果,即因此对元素图像进行色彩随机抖动,能够对元素图像进行图像增强。
角度旋转,是指对元素图像进行预订角度的旋转,由于提取的元素图像,进行组合后,角度可能与现实中不一样,例如提取出来的山峰,与其他元素图像进行组合时,组合出的多标签图像内,山峰整体可能是倾斜的,因此就会对图像分类模型的训练造成影响,使得训练出的图像训练模型,识别倾斜的类似山峰的物体时,将该物体识别为山峰,导致识别错误。因此对元素图像进行预订角度的旋转后,将山峰与其他元素图像进行组合时,组合出的多标签图像内,山峰整体不是倾斜的,因此也就不会对图像分类模型的训练造成影响,从而提升图像分类模型进行图像分类的准确度。
预订区域的随机剪裁,可以是元素图像的边角区域,由于边角区域可能存在一些无关的信息,例如,元素图像是湖泊时,由于拍摄角度的问题,元素图像的左上角和右上角就可能是天空,因此裁剪掉一些区域的天空,则能够进一步减少与湖泊无关的信息,从而提升图像分类模型进行图像分类的准确度。
在一个实施例中,在步骤S10234,在将任意两个以上场景元素图像组合为宫格状,得到具有至少两个元素图像的多标签图像后,步骤S1023,将不同的元素图像进行组合,得到具有至少两个元素图像的多标签图像,还包括:将宫格状的多标签图像的边缘进行平滑处理。
宫格状的多标签图像,在进行组合时,每个元素图像都会有边缘线存在,请继续参阅图3,这些边缘线在元素图像的两两组合处,例如图像D与图像E之间的线条,这些边缘线可能会被图像分类模型学习,因此进行平滑处理,能够弱化边缘线在多标签图像内的存在,请参阅图4,进行平滑处理后,理想状态下去除了边缘线,能够完全防止图像分类模型对边缘线的学习,本实施例通过进行平滑处理,能够弱化边缘线的存在,使得图像分类模型能够降低对边缘线进行学习的几率,从而提升图像分类模型的判断的准确率。
在一个实施例中,在步骤S10232、按照预设的组合规则,将任意一个目标元素图像融合到固定图像内,得到具有至少两个元素图像的多标签图像后,步骤S1023、将不同的元素图像按照预设的组合规则进行组合,得到具有至少两个元素图像的多标签图像还包括:
计算目标元素图像在固定图像内的面积占比;若面积占比大于占比阈值,则计算得到具有至少两个元素的多标签图像内,固定图像面积减去目标元素图像面积后的剩余面积权重,占比阈值大于0.5;对剩余面积权重进行扩大,扩大方法包括:利用剩余面积除以固定图像面积,得到商值,利用1减去商值,得到差值,将差值与预设系数的乘积作为权重,所述预设系数大于0小于或等于1。在一些实施例中,预设系数的值可以根据训练结果来调整,如果场景图像识别成功率较低,则提高预设系数的值,如果目标图像识别成功率低,则降低预设系数的值。
由于目标元素图像融合到场景元素图像里后,会对场景元素图像形成遮挡,当场景元素图像的面积被遮挡的过大时,会导致图像分类模型不能对场景元素图像进行学习,从而造成场景元素图像的标签丢失,因此,需要对场景元素图像的面积进行处理,从而使得场景元素图像不会遮挡过多。
在本实施例中,利用目标元素图像在固定图像内的面积占比,来衡量场景元素图像的面积是否被遮挡的过大,当面积占比大于0.5时,则表示固定图像被遮挡了一半以上,此时可能会导致图像分类模型不能对场景元素图像进行学习,从而造成场景元素图像的标签丢失。
此时对固定图像剩余面积的权重进行扩大,从而降低目标元素图像在固定图像内的面积占比,使得占比面积小于0.5,在固定图像被遮挡了一半以下时,不会使得分类模型对场景元素图像的学习造成影响。
当面积占比大于0.5时,固定图像被遮挡了一半以上,因此此时剩余面就与固定图像面积的商值,小于0.5,而使用1减去商值,则会得到一个大于0.5的值,使用这个大于0.5的值作为剩余面积的权重,会扩大剩余面积,从而使得固定图像被遮挡一半以下。
在一个实施例中,S10231、将任意一个场景元素图像设定为固定图像,并将固定图像放大至大于预设值,在本实施例中,将固定图像放大至预设值的二倍,在其他实施例中,也可以将固定图像放大至预设值的三倍、四倍等。
通过将固定图像放大,能够减少目标元素图像遮挡固定图像的面积,从而降低场景元素图像的面积被遮挡的过大时,导致图像分类模型不能对场景元素图像进行学习,造成场景元素图像的标签丢失的几率。
在一个实施例中,在步骤S10233后,步骤S1023,将不同的元素图像按照预设的组合规则进行组合,得到具有至少两个元素图像的多标签图像,还包括:
获取宫格状的多标签元素图像的长、宽,将所有宫格状的多标签元素图像的长、宽分别修改为第一尺寸值及第二尺寸值。
在本实施例中,第一尺寸值及第二尺寸值可以相同,也可以不同,例如,第一尺寸值可以为3单位值,第二尺寸值可以为3单位值,或者第一尺寸值可以为3单位值,第二尺寸值可以为2单位值,单位值可以为预定长度,也可以为预定像素值等,例如,单位值作为预定长度时,1单位值可以为1厘米,也可以为2厘米等;单位值作为预定像素值时,1单位值可以为500px,也可以为1000px等。
将宫格状多标签图像的长与宽统一,能够使得多标签图像具有相同的尺寸,从而便于图像分类模型进行分类。
在一个实施例中,在步骤S10233后,步骤S1023,将不同的元素图像按照预设的组合规则进行组合,得到具有至少两个元素图像的多标签图像,还包括:
获取场景元素图像的颜色;将场景元素图像根据颜色进行颜色分类;将场景元素图像的颜色分类与标签相关联,得到第一关联标签,利用所有的场景元素的第一关联标签生成第一关联标签集;
步骤S105后,图像分类方法还包括:判断待分类图像内是否有场景图像,若有则,识别待分类图像内场景图像的颜色,将待识别分类图像内的场景图像的分类结果与颜色相关联,得到第二关联标签;判断第二关联标签是否在第一关联标签集内,若在,则判断分类结果正确,若不在,则判断分类结果错误,并重新为待分类图像进行分类,若一张待分类图像的分类结果错误预定次数后,则发出分类失败的提示信息,并终止对待分类图像的分类。
由于场景图像都有颜色,例如,天空有蓝色、白色、灰色、黄色、红色,若图像分类模型对待分类图像的分类结果是天空,绿色,很显然这种情况是不存在的,而由于颜色识别较为简单,因此可以通过颜色识别对分类结果的正确性做出一定程度判断,从而提升图像分类的准确性。
在一个实施例中,S1021、在单标签图像集的每一个单标签图像内,提取元素图像,包括:获取单标签图像,并将单标签图像输入预先训练的元素提取网络,得到元素图像。
元素提取网络包括:预分割单元,以及提取单元,预分割单元用于将单标签图像转化为三分图;提取单元用于提取三分图内的元素图像。
其中,提取单元包括:底层网络层、高层网络层、位置注意力子单元、通道注意力子单元,两个1×1的卷积核,一个3×3的卷积核,底层网络层为VGG16(visual geometrygroup 16)的卷积神经网络的第2和第3个卷积层依次构成,用于提取第一特征图像,高层网络层为VGG16的第4-6个卷积层依次构成,用于提取第二特征图像,位置注意力子单元用于对第一特征图像进行位置注意力表达,通道注意力子单元用于对第二特征图像进行通道注意力表达。
底层网络能够提取更多的细节信息,从而获取更大的感受野,有利于提高像素分类的准确性,通过加入注意力机制,能够使得底层网络对前景图像的提取,更加准确,第一特征图像即为前景图像。
高层网络能够提取更多的具有判别性的高级语义信息,从而能够增强提取出的图像特征的全局信息,通过加入通道注意力机制,能够使得在不同的通道内,对各个图像特征是否提取进行判断,从而提升判断的准确性。
提取单元提取三分图内的元素图像的步骤包括:将单标签图像利用底层网络对三分图的处理进行位置注意力特征提取,得到第一特征图像,并利用高层网络对三分图进行通道注意力提取,得到第二特征图像;将第一特征图像及第二特征图像分别在1×1的卷积核内进行卷积,随后融合,得到融合特征图像;将融合特征图像在3×3的卷积核内进行卷积,得到元素图像。
其中,预分割单元可以为Mask Scoring R-CNN网络。
第一特征图像与第二特征图像融合,能够使用第二特征图像中的判断结果,判断第一特征图像中的细节信息是否应该存在,不存在,则在第一特征图像中消除该特征,从而提升前景图像提取的准确度。
在一个实施例中,本申请还提供一种图像分类装置,请参阅图5,图像分类装置包括:图像集获取模块1、组合模块2、模型训练模块3及分类模块4;图像集获取模块1用于获取单标签图像集,单标签图像集内的图像具有单标签分类,单标签图像集包括不同的场景图像和不同的目标图像,对于场景图像,单标签分类是对图像中的背景记录标签,对于目标图像,单标签分类是对图像中的目标记录标签;组合模块2用于将单标签图像集内的图像按预设的组合规则进行组合,得到多标签图像集,多标签图像集内的图像具有多标签分类;组合的方式包括融合或拼接;预设的组合规则为目标与背景的随机组合,背景与背景的随机组合;模型训练模块3用于利用多标签图像集训练图像分类模型,图像分类模型同时对多标签图像集中的各个背景和/或各个目标进行分类;分类模块4用于将待分类图像输入图像分类模型,得到对待分类图像的各个背景和/或各个目标的分类结果。
在本实施例中,通过利用单标签图像组合成的多标签图像,能够使得多标签图像中,各个标签之间具有独立性,从而在利用多标签图像训练图像分类模型时,对多标签图像集中的各个标签本身进行学习,而不会学习跟每个标签本身的无关或弱相关的信息,因此利用图像分类模型进行图像分类时,也是对待分类图像的各个背景和/或各个目标的分别分类,因此能够减少分类判断出错的几率。
上述图像分类装置中各个模块的划分仅用于举例说明,在其他实施例中,可将图像分类装置按照需要划分为不同的模块,以完成上述图像分类装置的全部或部分功能。
关于图像分类装置的具体限定可以参见上文中对于图像分类方法的限定,在此不再赘述。上述图像分类装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请实施例中提供的图像分类装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请还提出了一种电子设备,包括存储器及处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行上述任意实施例中的图像分类方法的步骤。
电子设备可以以各种形式来实施。例如,本申请中描述的电子设备可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行图像分类方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行图像分类方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。