本技术涉及计算机视觉,特别是涉及一种图像分类的方法、训练图像分类模型的方法及装置。
背景技术:
1、图像分类是根据图像的语义信息对不同类别的图像进行区分,是计算机视觉中重要的基础问题。图像分类在很多领域都有着广泛的应用,例如:交通领域的交通场景识别、电商领域的商品图像自动分类,医学领域的图像识别等等。
2、在一些特殊领域中对于图像分类的准确率和召回率具有较高的要求。虽然目前已经存在利用深度学习模型来对图像进行分类的相关技术,但分类结果的准确率仍有待提高。
技术实现思路
1、有鉴于此,本技术提供了一种图像分类的方法、训练图像分类模型的方法及装置,以便于提高图像分类结果的准确率。
2、本技术提供了如下方案:
3、第一方面,提供了一种图像分类方法,所述方法包括:
4、获取待分类的图像;
5、对所述待分类的图像进行特征提取,得到所述图像的特征表示;
6、利用所述图像的特征表示对预先训练得到的多个聚类中心的初始表示进行交叉注意力处理,得到多个聚类中心表示;
7、利用所述图像的特征表示和所述多个聚类中心表示进行解码处理,得到类别分配矩阵;
8、利用所述多个聚类中心表示和所述类别分配矩阵进行分类,得到所述待分类的图像是否属于目标类别的分类结果。
9、根据本技术实施例中一可实现的方式,所述方法还包括:
10、利用所述类别分配矩阵对所述待分类的图像进行分割,得到预设类别的图像区域,所述预设类别包括所述目标类别。
11、根据本技术实施例中一可实现的方式,对所述待分类的图像进行特征提取,得到所述图像的特征表示包括:
12、对所述待分类的图像进行特征提取,得到多种分辨率下的各元素token的特征表示,将最高分辨率下的各token的特征表示作为所述图像的特征表示。
13、根据本技术实施例中一可实现的方式,利用所述图像的特征表示对预先训练得到的多个聚类中心的初始表示进行交叉注意力处理包括:
14、利用多个聚类中心的初始表示得到查询矩阵,将查询矩阵输入多层串连的转换transformer网络,各层transformer网络按照分辨率从低到高的顺序与各分辨率一一对应,各层transformer网络利用对应分辨率下的各token的特征表示得到键矩阵和值矩阵,对输入本层transformer网络的查询矩阵进行交叉注意力处理,得到本层transformer网络输出的查询矩阵;
15、利用最后一层transformer网络输出的查询矩阵得到所述多个聚类中心表示。
16、根据本技术实施例中一可实现的方式,利用所述多个聚类中心表示和所述类别分配矩阵进行分类包括:
17、对所述多个聚类中心表示进行求平均处理,得到聚类平均表示;
18、对所述类别分配矩阵进行池化处理,得到聚类池化特征;
19、将所述聚类平均表示和所述聚类池化表示进行整合,利用整合得到的特征表示进行分类,得到所述待分类的图像是否属于目标类别的分类结果。
20、第二方面,提供了一种训练图像分类模型的方法,所述方法包括:
21、获取包括多个训练样本的训练数据,所述训练样本包括图像样本以及所述图像样本是否属于目标类别的标签;
22、利用所述训练数据训练图像分类模型,所述图像分类模型包括:特征提取网络、第一解码网络、第二解码网络和分类网络;所述特征提取网络对所述图像样本进行特征提取,得到所述图像样本的特征表示;所述第一解码网络利用所述图像样本的特征表示对多个聚类中心的初始表示进行交叉注意力处理,得到多个聚类中心表示;所述第二解码网络利用所述图像样本的特征表示和所述多个聚类中心表示进行解码处理,得到类别分配矩阵;所述分类网络利用所述多个聚类中心表示和所述类别分配矩阵进行分类,得到所述图像样本是否属于目标类别的分类结果;所述训练的目标包括:最小化所述分类结果与对应标签之间的差异。
23、根据本技术实施例中一可实现的方式,所述训练样本还包括对所述图像样本标注的预设类别的区域掩码;所述图像分类模型还包括分割网络;
24、所述分割网络利用所述类别分配矩阵对所述图像样本进行分割,得到预设类别的图像区域,所述预设类别包括所述目标类别;
25、所述训练的目标还包括:最小化所述预设类别的图像区域与对应区域掩码之间的差异。
26、根据本技术实施例中一可实现的方式,所述特征提取网络对所述图像样本进行特征提取,得到所述图像样本的特征表示包括:对所述图像样本进行特征提取,依次得到多种分辨率下的各元素token的特征表示,将最高分辨率下的各token的特征表示作为所述图像样本的特征表示;
27、所述第一解码网络包括多层串连的transformer网络,所述多个聚类中心的初始表示作为查询矩阵输入第一层transformer网络,各层transformer网络按照分辨率从低到高的顺序与各分辨率一一对应,各层transformer网络利用对应分辨率下的各token的特征表示得到键矩阵和值矩阵,对输入本层transformer网络的查询矩阵进行交叉注意力处理,得到本层transformer网络输出的查询矩阵;利用最后一层transformer网络输出的查询矩阵得到所述多个聚类中心表示。
28、根据本技术实施例中一可实现的方式,所述分类网络利用所述多个聚类中心表示和所述类别分配矩阵进行分类包括:
29、所述分类网络对所述多个聚类中心表示进行求平均处理,得到聚类平均表示;
30、对所述类别分配矩阵进行池化处理,得到聚类池化表示;
31、将所述聚类平均表示和所述聚类池化表示进行整合,利用整合得到的特征表示进行分类,得到所述图像样本是否属于目标类别的分类结果。
32、第三方面,提供了一种图像分类方法,由云端服务器执行,所述方法包括:
33、获取来自用户终端的待分类的图像;
34、对所述待分类的图像进行特征提取,得到所述图像的特征表示;
35、利用所述图像的特征表示对预先训练得到的多个聚类中心的初始表示进行交叉注意力处理,得到多个聚类中心表示;
36、利用所述图像的特征表示和所述多个聚类中心表示进行解码处理,得到类别分配矩阵;
37、利用所述多个聚类中心表示和所述类别分配矩阵进行分类,得到所述待分类的图像是否属于目标类别的分类结果;
38、将所述分类结果返回给所述用户终端。
39、第四方面,提供了一种图像分类装置,所述装置包括:
40、图像获取单元,被配置为获取待分类的图像;
41、特征提取单元,被配置为对所述待分类的图像进行特征提取,得到所述图像的特征表示;
42、第一解码单元,被配置为利用所述图像的特征表示对预先训练得到的多个聚类中心的初始表示进行交叉注意力处理,得到多个聚类中心表示;
43、第二解码单元,被配置为利用所述图像的特征表示和所述多个聚类中心表示进行解码处理,得到类别分配矩阵;
44、图像分类单元,被配置为利用所述多个聚类中心表示和所述类别分配矩阵进行分类,得到所述待分类的图像是否属于目标类别的分类结果。
45、第五方面,提供了一种训练图像分类模型的装置,所述装置包括:
46、样本获取单元,被配置为获取包括多个训练样本的训练数据,所述训练样本包括图像样本以及所述图像样本是否属于目标类别的标签;
47、模型训练单元,被配置为利用所述训练数据训练图像分类模型,所述图像分类模型包括:特征提取网络、第一解码网络、第二解码网络和分类网络;所述特征提取网络对所述图像样本进行特征提取,得到所述图像样本的特征表示;所述第一解码网络利用所述图像样本的特征表示对多个聚类中心的初始表示进行交叉注意力处理,得到多个聚类中心表示;所述第二解码网络利用所述图像样本的特征表示和所述多个聚类中心表示进行解码处理,得到类别分配矩阵;所述分类网络利用所述多个聚类中心表示和所述类别分配矩阵进行分类,得到所述图像样本是否属于目标类别的分类结果;所述训练的目标包括:最小化所述分类结果与对应标签之间的差异。
48、根据第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面至第三方面中任一项所述的方法的步骤。
49、根据第七方面,提供了一种电子设备,包括:
50、一个或多个处理器;以及
51、与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述第一方面至第三方面中任一项所述的方法的步骤。
52、根据本技术提供的具体实施例,本技术公开了以下技术效果:
53、1)本技术通过预先训练得到的多个聚类中心所包含的高水平的语义,与图像的特征表示共同进行解码处理,得到类别分配矩阵,使得类别分配矩阵能够体现与聚类中心关联的图像特征,即将图像特征匹配到相应的聚类中心,进而使得依据聚类中心表示和类别分配矩阵得到的图像分类结果具有更高的准确率和召回率。
54、2)本技术能够进一步利用类别分配矩阵对待分类的图像进行分割,得到预设类别的图像区域,从而为图像分类提供可解释性的参考。
55、3)本技术中通过提取多分辨率的特征,并利用多分辨率的特征多个聚类中心的初始表示进行交叉注意力处理,使得在得到多个聚类中心表示的过程中能够从多尺度感知图像纹理,并将多个聚类中心的特征表示与图像的特征表示进行重新分配,使得分类过程和分割过程既对局部语义敏感,又具有全局意识,更进一步提高图像分类和图像分割的准确率和召回率。
56、4)在训练图像分类模型的过程中,能够利用分割网络对图像样本进行分割得到的预设类别的图像区域与针对图像样本标注的预设类别的区域掩码之间的差异,对图像分类模型进行辅助训练,从而进一步提高图像分类模型的效果和性能。
57、当然,实施本技术的任一产品并不一定需要同时达到以上所述的所有优点。