CN118277604A - 一种基于超维矢量计算的图像检索方法 - Google Patents
一种基于超维矢量计算的图像检索方法 Download PDFInfo
- Publication number
- CN118277604A CN118277604A CN202410446466.8A CN202410446466A CN118277604A CN 118277604 A CN118277604 A CN 118277604A CN 202410446466 A CN202410446466 A CN 202410446466A CN 118277604 A CN118277604 A CN 118277604A
- Authority
- CN
- China
- Prior art keywords
- super
- dimensional vector
- image
- training
- dimensional
- 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.)
- Pending
Links
- 239000013598 vector Substances 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004364 calculation method Methods 0.000 title claims abstract description 22
- 238000012549 training Methods 0.000 claims abstract description 52
- 238000012360 testing method Methods 0.000 claims abstract description 16
- 238000000605 extraction Methods 0.000 claims abstract description 14
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于超维矢量计算的图像检索方法,包括:对采集的图像数据集进行预处理;将预处理后的数据集划分成训练集和测试集;基于训练集,采用小样本学习的方式对ResNet18网络进行训练,得到m+1个特征提取网络;采用训练完成的ResNet18网络对测试集中的每张图片进行特征提取,生成测试集图片的超维矢量,得到超维矢量库;采用训练完成的ResNet18网络对输入的查询图像进行特征提取,生成查询图像对应的超维矢量;将查询图像对应的超维矢量与超维矢量库中的所有向量进行匹配,输出匹配度最高的向量。本发明实现了低资源消耗、高鲁棒性的图像检索,能够有效完成物联网领域的图像匹配任务,满足了硬件资源受限场景下高鲁棒性的图片检索需求。
Description
技术领域
本发明涉及超维计算技术领域,具体涉及一种基于超维矢量计算的图像检索方法。
背景技术
图像检索是物联网领域核心技术之一,在智能安防、数字决策等任务中发挥着关键作用,具有重要的经济效益和战略意义。现有研究普遍采用基于深度学习的图像检索方案,通过深层神经网络实现高精度的图像检索。然而这些方案均以低维度向量、高精度数据为基础,其中高精度数据不仅会占用大量硬件资源,还对硬件的存储、计算过程的精度提出了较高要求,因此原有方案在高温、潮湿等恶劣应用场景中鲁棒性较差,难以满足物联网领域边缘设备的硬件部署需求。因此,亟需提出一种新型的图像检索框架,以实现该功能的轻量化嵌入和高鲁棒性运行。
超维矢量计算是一种利用随机高维向量空间的属性来进行计算的框架,其采用的是全息编码技术,将低维空间内的向量映射编码到高维空间,再通过对高维数据的处理,完成目标任务。不同于神经网络的浮点数运算,在超维矢量计算中,可以对超维矢量进行二值化处理,将算术运算转化为逻辑运算,从而降低硬件开销。因而,相较于传统的基于深度学习的方案具有低资源消耗、便于硬件实现的优势。同时,与经典计算相比,超维矢量计算采用超高速缓存作为其数据类型,其维数较大,通常为数万,这些超宽字引入了针对噪声的冗余,使得运算具有固有的鲁棒性。因此,基于超维矢量计算进行图像检索是一种行之有效的方案。但目前尚未出现将超维矢量计算应用在图像检索上的有效方法。
发明内容
本发明的目的是为了提供一种基于超维矢量计算的图像检索方法,针对现有技术中所述现有图像检索方案存在的问题,采用超维编码实现特征向量的超维映射,先通过构建超维位置编码矩阵,完成特征向量的编码,再通过超维矢量间的内积排序,完成输入图片和库图片的相似度匹配。
为实现上述技术目的,本发明采取的技术方案为:
一种基于超维矢量计算的图像检索方法,所述图像检索方法包括以下步骤:
对采集的图像数据集进行预处理,数据集包含不同类别的图像以及每个图像的所有特征的二值化标注,选出类间方差排名前m的特征和排名最后的特征;将预处理后的数据集划分成训练集和测试集;
基于训练集,采用小样本学习的方式对ResNet18网络进行训练,得到m+1个特征提取网络;
采用训练完成的ResNet18网络对测试集中的每张图片进行特征提取,生成测试集图片的超维矢量,得到超维矢量库;
采用训练完成的ResNet18网络对输入的查询图像进行特征提取,生成查询图像对应的超维矢量;
将查询图像对应的超维矢量与超维矢量库中的所有向量进行匹配,输出匹配度最高的向量。
进一步地,选出类间方差排名前m的特征和排名最后的特征的过程包括以下步骤:
令数据集中包含有k个类别的图像,以及每个图像的t个特征的二值化标注;
针对每一个类别,求得每个特征的平均值,得到k×t的均值矩阵;
针对每个特征,求类间方差,得到t×1的方差矩阵,方差矩阵当中的每个元素代表特征的类间方差,即类间差异度;
对方差矩阵中的元素进行排序,选出类间方差排名前m的特征和排名最后的特征。
进一步地,针对步骤1中选出的m+1个特征对ResNet18网络进行训练,网络的输入定为a×b×3的三通道图像矩阵,其中a为图像每行的像素个数,b为图像每列的像素个数,网络的输出为1×n的特征向量用来表示其中的一个特征,通过训练得到m+1个特征提取网络;
采用小样本学习的方式对ResNet18网络进行训练的过程包括以下步骤:
取训练集中k类对象的r张图片作为对比基准;
在训练过程中从训练集中选取一个样本作为锚点xa,根据锚点再选择一个正样本x+和一个负样本x-,将选取的三个样本输入神经网络f,并计算正样本和锚点之间的距离d+和负样本与锚点之间的距离d-,其中是二范数的平方,设置训练损失函数如下:
Loss(xa,x+,x-)=max{0,d++α-d-}
其中α为大于0的超参数;
在输入每张训练图片后与选取的基准作对比并反向传播,使得同类别图像输出的特征向量内积尽可能大,不同类别图像输出的特征向量内积尽可能小。
进一步地,采用训练完成的ResNet18网络对输入的图像进行特征提取,生成图像对应的超维矢量的过程包括以下步骤:
使用已训练好的ResNet18网络对输入图片进行特征提取,并将提取的特征向量进行二值化;生成超维位置编码矩阵;
针对数据集中方差排名前m的特征,将对应的n维特征向量顺次拼接成1×mn的展开矢量,生成mn个相互独立且正交的h1维地址超维矢量代表每个像素的位置;将展开矢量的各像素值与对应地址超维矢量相乘,然后相加,形成1×h1的超维矢量,将超维矢量标准化,得到超维矢量H1;
针对数据集中方差排名最后的特征,生成n个相互独立且正交的h2维地址超维矢量代表每个像素的位置,将该特征对应的向量与n×h2的位置编码相乘,得到超维矢量H2;
将超维矢量H1和超维矢量H2直接相连,得到表征输入图片的超维矢量H。
进一步地,将特征向量进行二值化的过程包括以下步骤:
对每一个特征向量中的每一个元素进行二值化处理,大于等于0的值赋为1,小于0的值赋为1。
进一步地,将查询图像对应的超维矢量与超维矢量库中的所有向量进行匹配的过程包括以下步骤:
将查询图片的超维矢量与建立的超维矢量库中所有向量做内积运算,对内积结果进行排序;
选择内积结果最大的库向量对应的图片作为输出结果,输出匹配度最高的图像。
与现有技术相比,本发明的有益效果如下:
本发明的基于超维矢量计算的图像检索方法,通过融合基于深度学习的特征提取方法和超维编码技术,以及小样本学习策略,实现了低资源消耗、高鲁棒性的图像检索,从而,能够有效完成物联网领域的图像匹配任务,满足了硬件资源受限场景下高鲁棒性的图片检索需求。
附图说明
图1为本发明实施例的基于超维矢量计算的图像检索方法流程图;
图2为本发明实施例提供的超维矢量编码示意图;
图3为本发明实施例提供的超维矢量库建立和测试检索的示意图。
具体实施方式
以下结合附图对本发明的实施例作进一步详细描述。
一种基于超维矢量计算的图像检索方法,所述图像检索方法包括以下步骤:
对采集的图像数据集进行预处理,数据集包含不同类别的图像以及每个图像的所有特征的二值化标注,选出类间方差排名前m的特征和排名最后的特征;将预处理后的数据集划分成训练集和测试集;
基于训练集,采用小样本学习的方式对ResNet18网络进行训练,得到m+1个特征提取网络;
采用训练完成的ResNet18网络对测试集中的每张图片进行特征提取,生成测试集图片的超维矢量,得到超维矢量库;
采用训练完成的ResNet18网络对输入的查询图像进行特征提取,生成查询图像对应的超维矢量;
将查询图像对应的超维矢量与超维矢量库中的所有向量进行匹配,输出匹配度最高的向量。
如本申请背景技术所述,现有图像检索技术具有硬件存储和计算资源消耗大、运算鲁棒性较差等问题,难以满足物联网领域边缘设备的灵活部署应用需求。
因此,为了解决上述问题,本发明实施例部分提供了一种基于超维矢量计算的图像检索方法,图1展示了该方法的实施全流程,下面将进行系统阐释,实施例中的数字并未唯一选择,只是为了举例说明。
(1)数据集采集和预处理
步骤S11,获取特征网络训练和验证所需的数据集,以开源数据集CelebA为例,训练集中包含分属10177个人的202599图片,以及每张图片40个特征的二值化标注(图片包含该特征则为1,否则为-1),针对每一个类别,求得每个特征得平均值,最后得到10177×40的均值矩阵。
步骤S12,针对每个特征,求类间方差,得到40×1的方差矩阵,矩阵当中的每个元素代表该特征的类间方差,即类间差异度。
步骤S13,对方差矩阵进行排序,选出排名前10的特征和排名最后的特征,供后续处理。
(2)特征提取网络训练
步骤S21,在训练集上,对ResNet18网络进行训练,以开源数据集CelebA为例,针对步骤(1)中选出的11个特征进行训练,由于训练集中包含分属不同类别的图片,以及每张图片40个特征的二值化标注,因此,网络的输入定为64×64×3的三通道图像矩阵,输出为1×128的特征向量用来对应其中的一个特征,通过训练可以得到11个特征提取网络。
步骤S22,为了提高类间的区分度,训练过程采用小样本学习的方式进行,在训练过程中从训练集中选取一个样本作为锚点xa,然后根据锚点,选择一个正样本x+和一个负样本x-,然后将三个样本输入神经网络f,并计算正样本和锚点之间的距离d+和负样本与锚点之间的距离d-,其中其中是二范数的平方,从而设置训练损失函数如下:
Loss(xa,x+,x-)=max{0,d++α-d-}
其中α为大于0的超参数;在输入每张训练图片后与选取的基准作对比并反向传播,使得同类别图像输出的特征向量内积尽可能大,不同类别图像输出的特征向量内积尽可能小。
(3)输入图像的超维矢量生成
步骤S31,超维矢量的生成过程如图2所示,首先在图像检索的过程中,使用已训练好的残差神经网络对输入图片进行特征提取,为了进一步减少资源消耗,将特征向量进行二值化,大于等于0的特征赋值为1,小于0的特征赋值为-1。
步骤S32,为了实现特征向量的超维映射,生成超维位置编码矩阵。
步骤S33,以开源数据集CelebA为例,针对(1)中排名前十的特征,将特征向量顺次拼接成1×1280的展开向量,首先生成1280个相互独立且正交的10000维地址超维矢量代表每个像素的位置。将展开向量的各像素值与对应地址超维矢量相乘,然后相加,形成1×10000的超维矢量,将该向量标准化,得到表征该图片的超维矢量H1。
步骤S34,针对(1)中排名最后的特征,将该特征对应的向量乘(3b)中得到的128×10000的位置编码,得到1×10000的超维矢量H2。
步骤S35,将H1和H2两个超维矢量直接相连,得到表征该图片的20000维超维矢量H。
(4)超维矢量检索库生成
超维矢量检索库生成库的流程如图3所示,将测试集中所有图片通过步骤(3)所示的编码器生成超维矢量,形成测试集图片的超维矢量库,作为后续检索的匹配源。
(5)查询图片的超维矢量生成
测试流程也在图3中给出,对于输入的查询图片,通过步骤(3)所示的编码器生成其对应的超维矢量。
(6)超维矢量的内积排序
将查询图片的超维矢量与步骤(4)中建立的超维矢量库中所有向量做内积运算,对内积结果进行排序。选择内积结果最大的库向量对应的图片作为输出结果,即输出匹配度最高的图像,从而完成整个匹配流程。
本发明提供的基于超维矢量计算的图像检索方法。通过融合深度学习和超维编码技术,以及小样本学习策略,实现了低资源消耗、高鲁棒性的图像检索,能够有效完成物联网领域的图像匹配任务,满足了硬件资源受限场景下高鲁棒性的图片检索需求。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器运行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上运行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上运行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (6)
1.一种基于超维矢量计算的图像检索方法,其特征在于,所述图像检索方法包括以下步骤:
对采集的图像数据集进行预处理,数据集包含不同类别的图像以及每个图像的所有特征的二值化标注,选出类间方差排名前m的特征和排名最后的特征;将预处理后的数据集划分成训练集和测试集;
基于训练集,采用小样本学习的方式对ResNet18网络进行训练,得到m+1个特征提取网络;
采用训练完成的ResNet18网络对测试集中的每张图片进行特征提取,生成测试集图片的超维矢量,得到超维矢量库;
采用训练完成的ResNet18网络对输入的查询图像进行特征提取,生成查询图像对应的超维矢量;
将查询图像对应的超维矢量与超维矢量库中的所有向量进行匹配,输出匹配度最高的向量。
2.根据权利要求1所述的基于超维矢量计算的图像检索方法,其特征在于,选出类间方差排名前m的特征和排名最后的特征的过程包括以下步骤:
令数据集中包含有k个类别的图像,以及每个图像的t个特征的二值化标注;
针对每一个类别,求得每个特征的平均值,得到k×t的均值矩阵;
针对每个特征,求类间方差,得到t×1的方差矩阵,方差矩阵当中的每个元素代表特征的类间方差,即类间差异度;
对方差矩阵中的元素进行排序,选出类间方差排名前m的特征和排名最后的特征。
3.根据权利要求1所述的基于超维矢量计算的图像检索方法,其特征在于,针对步骤1中选出的m+1个特征对ResNet18网络进行训练,网络的输入定为a×b×3的三通道图像矩阵,其中a为图像每行的像素个数,b为图像每列的像素个数,网络的输出为1×n的特征向量用来表示其中的一个特征,通过训练得到m+1个特征提取网络;
采用小样本学习的方式对ResNet18网络进行训练的过程包括以下步骤:
取训练集中k类对象的r张图片作为对比基准;
在训练过程中从训练集中选取一个样本作为锚点xa,根据锚点再选择一个正样本x+和一个负样本x-,将选取的三个样本输入神经网络f,并计算正样本和锚点之间的距离d+和负样本与锚点之间的距离d-,其中 是二范数的平方,设置训练损失函数如下:
Loss(xa,x+,x-)=max{0,d++α-d-}
其中α为大于0的超参数;
在输入每张训练图片后与选取的基准作对比并反向传播,使得同类别图像输出的特征向量内积尽可能大,不同类别图像输出的特征向量内积尽可能小。
4.根据权利要求1所述的基于超维矢量计算的图像检索方法,其特征在于,采用训练完成的ResNet18网络对输入的图像进行特征提取,生成图像对应的超维矢量的过程包括以下步骤:
使用已训练好的ResNet18网络对输入图片进行特征提取,并将提取的特征向量进行二值化;生成超维位置编码矩阵;
针对数据集中方差排名前m的特征,将对应的n维特征向量顺次拼接成1×mn的展开矢量,生成mn个相互独立且正交的h1维地址超维矢量代表每个像素的位置;将展开矢量的各像素值与对应地址超维矢量相乘,然后相加,形成1×h1的超维矢量,将超维矢量标准化,得到超维矢量H1;
针对数据集中方差排名最后的特征,生成n个相互独立且正交的h2维地址超维矢量代表每个像素的位置,将该特征对应的向量与n×h2的位置编码相乘,得到超维矢量H2;
将超维矢量H1和超维矢量H2直接相连,得到表征输入图片的超维矢量H。
5.根据权利要求4所述的基于超维矢量计算的图像检索方法,其特征在于,将特征向量进行二值化的过程包括以下步骤:
对每一个特征向量中的每一个元素进行二值化处理,大于等于0的值赋为1,小于0的值赋为-1。
6.根据权利要求1所述的基于超维矢量计算的图像检索方法,其特征在于,将查询图像对应的超维矢量与超维矢量库中的所有向量进行匹配的过程包括以下步骤:
将查询图片的超维矢量与建立的超维矢量库中所有向量做内积运算,对内积结果进行排序;
选择内积结果最大的库向量对应的图片作为输出结果,输出匹配度最高的图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410446466.8A CN118277604A (zh) | 2024-04-12 | 2024-04-12 | 一种基于超维矢量计算的图像检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410446466.8A CN118277604A (zh) | 2024-04-12 | 2024-04-12 | 一种基于超维矢量计算的图像检索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118277604A true CN118277604A (zh) | 2024-07-02 |
Family
ID=91646091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410446466.8A Pending CN118277604A (zh) | 2024-04-12 | 2024-04-12 | 一种基于超维矢量计算的图像检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118277604A (zh) |
-
2024
- 2024-04-12 CN CN202410446466.8A patent/CN118277604A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111898696B (zh) | 伪标签及标签预测模型的生成方法、装置、介质及设备 | |
CN113139628B (zh) | 样本图像的识别方法、装置、设备及可读存储介质 | |
CN113298197B (zh) | 数据聚类方法、装置、设备及可读存储介质 | |
CN116049397B (zh) | 基于多模态融合的敏感信息发现并自动分类分级方法 | |
CN113239869B (zh) | 基于关键帧序列和行为信息的两阶段行为识别方法及系统 | |
CN117033609A (zh) | 文本视觉问答方法、装置、计算机设备和存储介质 | |
Akhyar et al. | A beneficial dual transformation approach for deep learning networks used in steel surface defect detection | |
CN111259176B (zh) | 融合有监督信息的基于矩阵分解的跨模态哈希检索方法 | |
CN113704276A (zh) | 地图更新方法、装置、电子设备及计算机可读存储介质 | |
CN111400524A (zh) | 一种基于ai的可变尺度地质图文本矢量化方法及系统 | |
CN118277604A (zh) | 一种基于超维矢量计算的图像检索方法 | |
CN115272768A (zh) | 内容识别方法、装置、设备、存储介质及计算机程序产品 | |
CN113706450A (zh) | 图像配准方法、装置、设备及可读存储介质 | |
CN112348060A (zh) | 分类向量生成方法、装置、计算机设备和存储介质 | |
CN112686277A (zh) | 模型训练的方法和装置 | |
CN111680722B (zh) | 内容识别方法、装置、设备及可读存储介质 | |
CN113792703B (zh) | 一种基于Co-Attention深度模块化网络的图像问答方法及装置 | |
CN117830601B (zh) | 一种基于弱监督的三维视觉定位方法、装置、设备及介质 | |
CN114708467B (zh) | 基于知识蒸馏的不良场景识别方法及系统及设备 | |
CN117237984B (zh) | 基于标签一致性的mt腿部识别方法、系统、介质和设备 | |
CN116311275B (zh) | 一种基于seq2seq语言模型的文字识别方法及系统 | |
CN117611600B (zh) | 一种图像分割方法、系统、存储介质及设备 | |
CN116645516B (zh) | 一种基于多感知特征融合的多类目标计数方法和系统 | |
Ghorai et al. | An Image Dataset of Bishnupur Terracotta Temples for Digital Heritage Research | |
CN117710301A (zh) | 图像处理方法、装置、设备、存储介质及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |