一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种利用分类层权重进行检索特征主成分分析的方法与流程

2022-02-20 14:38:53 来源:中国专利 TAG:


1.本发明涉及图像检索领域,尤其涉及一种利用分类层权重信息进行检索特征的主成分分析的方法。


背景技术:

2.图像检索任务长期以来一直是计算机视觉领域的重要研究课题,其目的是能够在存储量巨大的图像数据库中快速寻找出满足条件图像。图像检索的应用领域十分广泛,如:行人重识别,车辆重识别,交叉视角地理定位等。本发明定位于一种比较泛化性的方法,可在大多数的单域检索任务中适用。
3.单域的图像检索任务一般只针对一个图像检索数据域。检索的特征提取模型大多通过深度学习的方法进行优化。其具体过程为,首先将一个数据域划分为训练集和测试集,训练集和测试集中的数据没有交叉;然后用训练集训练网络,通过loss函数和反向梯度传播的方法优化模型参数,从而使得网络在测试时仍能够取得理想的检索精度。
4.instance loss是一种分类loss,常被用于图像检索网络的优化。利用instance loss训练优化网络时,需在特征提取网络后面加入一个分类层,通过此分类层,将来自不同视角(平台)的具有相同id的实例特征映射到同一特征空间当中。通过此种方式,拉近了具有相同id的实例特征,从而使得网络提取的特征获得了区分性,即具有相同id的实例特征接近,具有不同id的实例特征疏远。在测试时,去掉分类层,通过特征提取网络抽取图像特征,计算两个特征之间的欧几里得距离,便可通过对计算结果进行由小到大排序来检索到与输入图像最相近的输出图像。
5.图像检索一般追求快速与准确。深度学习的引入,增强了检索结果的准确性,但由于网络最终输出的图像检索特征维度过大,导致检索速度变慢,且维度过大,使图像检索特征存在特征的冗余,从而使图像检索特征的可区分性降低。基于以上分析,为了能让图像检索特征在不丢失检索精度的同时,检索速度提升。设计一种能够用于图像检索特征去除特征冗余,降低特征维度,但保证特征区分性的方法,尤为重要。
6.本发明拟采用主成分分析(pca)的方法对图像检索特征的维度进行降维去冗余化处理。在用pca对一个域中的特征进行降维时,主要需要求得此域中的主成分矩阵。但如果利用测试的数据矩阵计算主成分矩阵,一来,过大的计算量导致检索时间增加;二来,由于测试时,输入的一张或多张检索图像,并不知道其是否属于同一id。如果图像属于同一id,导致域的主成分矩阵估计不够准确,影响特征的降维效果。故一个合理的解决方案是采用训练集中的数据矩阵去估算域的主成分矩阵。训练集可以认为是在一个数据域中的抽样且训练集具有图像的id。此外,训练集和测试集同属于一个数据域,具有相同的数据分布,通过计算训练集数据的主成分矩阵,便可大致得到测试集的主成分矩阵。
7.利用训练集估算数据域的主成分矩阵时,理论上使用所有数据效果最好。但由于训练集数据量较大,且同一id包含多张图像,存在样本数据重复的情况。故如何挑选训练集中具有代表性的样本数据,是本发明解决的关键问题。


技术实现要素:

8.针对现有技术中存在的不足,本发明提出一种利用分类层权重进行检索特征主成分分析的方法。为了挑选出训练集中具有代表性的样本数据进行数据域的主成分矩阵估算。一种简单直接的方法为首先用训练集训练模型;而后将所有图像数据输入网络提取特征;最后,将具有相同id的特征进行求和、求平均处理,得到能代表此id的样本特征构成数据矩阵。但此方法计算量大,处理时间长。本发明考虑到,在模型训练完毕后,分类层的权重便可认为是各个id的一个代表数据样本,故直接利用模型训练完后的权重构成数据矩阵进行数据域的主成分矩阵估算,从而实现检索特征的主成分分析。
9.一种利用分类层权重进行检索特征主成分分析的方法,包括以下步骤:
10.步骤1:构建特征分类网络。
11.特征分类网络由三部分组成:第一部分为resnet-50网络,用于图像特征的提取;第二部分为图像分类模块,包括bn层,dropout层和分类层;第三部分为损失计算模块,利用instance loss计算损失,从而利用反向梯度传播算法优化网络。
12.步骤2:根据任务准备特定的数据集,获得的数据集称为数据域。在数据域中,图像分为q个id,每个id作为一个类别,一个id中包含多张图像。将数据域划分为训练集和测试集,训练集包含n个id,测试集包括g个id,q=n g。利用训练集训练网络,直到网络参数拟合,即特征提取网络能够提取到具有区分性的特征。
13.步骤3:抽取训练好的网络的分类层的权重矩阵g,g∈rm×n。利用标准主成分分析的方法处理权重矩阵g,接着利用奇异值分解的方法求得主成分矩阵
14.步骤4:将测试集图像输入步骤2中训练好的网络提取特征,并用步骤3得到的主成分矩阵处理测试图像的特征,从而在降低特征维度的同时,减少了特征的冗余性。
15.步骤5:利用降维后的图像特征进行图像检索。
16.进一步的,步骤2具体方法如下:
17.训练集中共包含有n个id,即训练集中的所有图像可被分为n个类别。输入图像通过resnet-50后,输出的图像特征为m维。分类器的权重矩阵维m*n,m维的图像特征通过分类器后,输出一个n维向量,n维向量中,最大值对应的维度即认为是该图像的类别。
18.进一步的,步骤3具体方法如下:
19.按照主成分分析的标准步骤,对矩阵g的每一行进行零均值化处理,假设g=[g1;g2;

;gm]
t
,每一个gi∈rn是矩阵g的第i行。首先计算第i行元素的均值,而后将第i行的每个值减去此均值。处理结束后零均值化处理后的矩阵g的转置称为x,x∈rn×m。
[0020]
对矩阵x进行奇异值分解,x=usv
t
,其中u∈rn×n,v∈rm×m,s∈rn×m是一个对角矩阵,主对角线上的元素为矩阵x的奇异值,并且依次递减。
[0021]
按照的原则选取矩阵s的前k列,则sk∈rn×k,uk∈rn×k,称为主成分矩阵。k远远小于m。
[0022]
进一步的,步骤4具体方法如下:
[0023]
当测试时,利用resnet-50提取图像特征f∈rm,将f与主成分矩阵相乘,得到降维
且去冗余后的图像特征fk∈rk。利用fk作为最后的图像特征,用于图像的检索。
[0024]
本发明有益效果如下:
[0025]
本发现对传统利用分类网络做检索任务的方法进行改进。不同于分类任务,在检索任务中,训练集的id与测试集的id基本无交叉,即训练集与测试集不具备相同的类别。传统检索方法利用分类网络可以将同类数据进行拉近的特性。由于测试集中类别与训练集不同,在测试时,仅提取了网络中分类模块前的图像特征,而后计算图像特征之间的欧几里得距离来检索到正确图像,并未用到分类模块中的分类层权重矩阵。
[0026]
本发明认为,测试集数据可认为是训练集数据的子类,即数据集id个数q等于训练集id个数n。此时,测试时认为是更精细的分类,故仍不能直接将测试图像特征输入到网络分类层(分类层只能实现粗分类),但却能够将分类层权重看作是整个数据域中q(或者n)个类别的模板特征,即可在数据域空间中构建一个q(或者n)维的坐标系。而后利用主成分分析的方法,即可在降低特征维度的同时,将测试图像特征转换到此坐标系中。转换后,测试集中不属于同一大类的图像特征将分离的更远,属于相同子类的图像距离更近。对于属于相同大类,但不属于相同子类的图像,由于检索结果仍按照求欧几里得距离获得,相同子类距离会更近,故影响不大。
[0027]
本发明利用分类层权重矩阵,在降低特征维度的同时,提高了检索的精确度。
附图说明
[0028]
图1为本发明实施例特征分类网络模型结构图;
[0029]
图2为本发明实施例方法流程图。
具体实施方式
[0030]
下面根据附图详细说明本发明,本发明的目的和效果将变得更加明显。
[0031]
本发明利用训练网络(图1所示)中分类层(cls)的权重值做为数据域的抽样样本,并通过对权重值进行主成分分析,近似得到数据域的主成分矩阵,降低了检索特征的维度和特征之间的冗余信息,提高图像检索的速度和准确性。其整体流程图如图2所示,具体步骤如下:
[0032]
假设训练集中共包含有n个id,即训练集中的所有图像可被分为n个类别。输入图像通过resnet-50后,输出的图像特征为m维,m一般较大,例如1024,2048。分类器的权重矩阵维m*n,m维的图像特征通过分类器后,输出一个n维向量,n维向量中,最大值对应的维度即认为是该图像的类别,例如n维向量中,第7维的值最大,那便认为该图像属于第7类。
[0033]
如图2所示,一种利用分类层权重进行检索特征主成分分析的方法,步骤如下:
[0034]
步骤1:构建一个如图1所示的特征分类网络。
[0035]
特征分类网络由三部分组成,如图1所示:第一部分为resnet-50网络,用于图像特征的提取;第二部分为图像分类模块,包括bn层,dropout层和分类层;第三部分为损失计算模块,利用instance loss计算损失,从而利用反向梯度传播算法优化网络。
[0036]
步骤2:根据任务准备特定的数据集,如进行行人重识别任务,可以利用已有的数据集,也可以自己收集行人数据作为数据集。获得的数据集称为数据域。在数据域中,图像
分为q个id,每个id作为一个类别,一个id中包含多张图像。将数据域划分为训练集和测试集,训练集包含n个id,测试集包括g个id,q=n g。
[0037]
利用具有n个id的训练集训练图1所示的特征分类网络,并用交叉熵损失作为优化目标,用随机梯度下降算法作为优化器优化网络,直至网络达到拟合。
[0038]
步骤3:提取网络分类模块分类层的权重矩阵g,g∈rm×n。按照主成分分析的标准步骤,对矩阵g的每一行进行零均值化处理,具体表示为,假设g=[g1;g2;

;gm]
t
,每一个gi∈rn是矩阵g的第i
[0039]
行。零均值化处理为,首先计算第i行元素的均值,而后将第i行的每个值减去此均值。处理结束后将零均值化处理后的矩阵g的转置称为x,x∈rn×m。对矩阵x进行奇异值分解,x=usv
t
,其中u∈rn×n,v∈rm×m,s∈rn×m是一个对角矩阵,主对角线上的元素为矩阵x的奇异值,并且依次递减。按照角线上的元素为矩阵x的奇异值,并且依次递减。按照的原则选取矩阵s的前k列,则sk∈rn×k,uk∈rn×k,称为主成分矩阵。一般k远远小于m。
[0040]
步骤4:当测试时,利用resnet-50提取图像特征f∈rm,将f与主成分矩阵相乘,得到降维且去冗余后的图像特征fk∈rk。
[0041]
步骤5:利用fk作为最后的图像特征,用于图像的检索。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献