一种图像处理方法、装置、设备及存储介质与流程

文档序号:24725279发布日期:2021-04-16 15:53阅读:106来源:国知局
一种图像处理方法、装置、设备及存储介质与流程

1.本申请涉及计算机技术领域,尤其涉及一种图像处理方法、装置、设备及存储介质。


背景技术:

2.随着互联网技术的飞速发展,多媒体数据量急速增长,尤其是图像数据作为最主要的信息承载方式,如何在这些海量的图像中准确的查询出相似图像,已经成为研究的热点。
3.在查询相似图像的过程中,需要计算两张图像的相似度,这往往依赖于表征图像的图像特征的好坏,但传统的特征提取方法,如尺度不变特征变换(scale

invariant feature transform,sift)特征、颜色直方图特征、方向梯度直方图(histogram of oriented gradient,hog)特征等图像特征,只能获取图像细节特征的差异,而深度学习方法虽能获取图像的抽象特征(如形状轮廓的概括特征)或者具体特征(如颜色纹路的细节特征),但提取到的图像特征较为单一,且表示图像特征的参数过多容易导致计算速度缓慢。


技术实现要素:

4.本发明实施例提供了一种图像处理方法、装置、设备及存储介质,可以同时提取图像的高维抽象特征和低维细节特征,并提升图像相似度计算的效率和准确度。
5.一方面,本发明实施例提供了一种图像处理方法,所述方法包括:
6.获取待处理图像,所述待处理图像包括第一图像和第二图像;
7.利用特征提取模型对所述第一图像和所述第二图像进行处理,以得到所述第一图像的多个特征编码和所述第二图像的多个特征编码,其中,所述特征提取模型是在对预训练得到的初始模型新增多个隐藏层之后,通过对新增隐藏层后的初始模型进行训练得到的;
8.基于所述第一图像的多个特征编码和所述第二图像的多个特征编码,确定所述第一图像和所述第二图像之间的相似度。
9.另一方面,本发明实施例提供了一种图像处理装置,所述装置包括:
10.获取模块,用于获取待处理图像,所述待处理图像包括第一图像和第二图像;
11.处理模块,用于利用特征提取模型对所述第一图像和所述第二图像进行处理,以得到所述第一图像的多个特征编码和所述第二图像的多个特征编码,其中,所述特征提取模型是在对预训练得到的初始模型新增多个隐藏层之后,通过对新增隐藏层后的初始模型进行训练得到的;
12.所述处理模块,还用于基于所述第一图像的多个特征编码和所述第二图像的多个特征编码,确定所述第一图像和所述第二图像之间的相似度。
13.相应地,本发明实施例提供了一种计算机设备,该设备包括处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行
程序代码,所述处理器用于调用所述可执行程序代码,执行上述任一可能实现方式所述的图像处理方法。
14.相应地,本发明实施例提供了一种计算机可读存储介质,存储有计算机程序,所述处理器执行上述任一可能实现方式所述的图像处理方法所涉及的程序。
15.相应地,本发明实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一可能实现方式所述的图像处理方法。
16.本发明实施例中,通过特征提取模型对第一图像和第二图像进行处理,可以得到第一图像的多个特征编码和第二图像的多个特征编码,从而根据第一图像的多个特征编码和第二图像的多个特征编码计算相似度,其中,每张特征编码是通过新增隐藏层输出的图像特征得到的,可以同时提取图像的高维抽象特征和低维细节特征,同时针对直接比较图像特征导致计算速度缓慢的问题,本发明通过对获取到的图像特征进行编码,可以减少图像特征的参数,从而提升图像相似度计算的效率和准确度。
附图说明
17.为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本申请实施例提供的一种图像处理系统的架构示意图;
19.图2为本申请实施例提供的一种图像处理方法的流程示意图;
20.图3为本申请实施例提供的一种模型训练的示意图;
21.图4为本申请实施例提供的一种图像特征提取的示意图;
22.图5为本申请实施例提供的一种获取图像相似度的示意图;
23.图6是本发明实施例提供的一种图像处理装置的结构示意图;
24.图7是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
25.下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
26.需要说明的是,本申请实施例中所涉及到的“第一”、“第二”等描述仅用于描述目的,而不能理解为指示或者暗示其相对重要性或者隐含指明所指示的技术特征的数量。因此,限定有“第一”、“第二”的技术特征可以明示或者隐含的包括至少一个该特征。
27.本申请实施例中的图像处理方法,可以应用于一些常见的图像检索任务或图像排重任务中,下面列举部分应用场景。
28.例如,终端设备可以将需要比较相似度的图像发送给服务器,服务器在接收到终端设备发送的图像后,可以将图像输入本申请提出的特征提取模型中,提取图像的多个图
像特征,并对多个图像特征进行哈希编码以获取图像的特征编码,利用图像的特征编码与图像库中保存的图像的特征编码计算相似度,从而可以根据相似度执行图像排重或图像检索任务,如当终端发送的图像与图像库中的图像的相似度大于等于预设值时,可以判定图像在图像库中,为图像库中的重复图像或相似图像,如终端发送的图像类型是“柯基犬”,则从图像库中查询所有包含“柯基犬”的图像。
29.请参阅图1,图1是本申请实施例提供的一种图像处理系统的架构示意图,该图像处理系统包括终端设备101和服务器102。终端设备101与服务器102之间通过网络连接,比如,通过无线网络连接等。终端设备101也称为终端(terminal)、用户设备(user equipment,ue)、接入终端、用户单元、移动设备、用户终端、无线通信设备、用户代理或用户装置。终端设备可以是智能电视、具有无线通信功能的手持设备(例如智能手机、平板电脑)、计算设备(例如个人电脑(personal computer,pc)、车载设备、可穿戴设备或者其他智能装置等,但并不局限于此。
30.服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
31.可以理解的是,本实施例的图像处理方法可以是在终端设备上执行的,也可以是在服务器上执行的,还可以是由终端设备和服务器共同执行的。
32.在一个实施例中,以服务器102执行图像处理方法为例。服务器102通过网络获取第一图像和第二图像,通过特征提取模型对第一图像和第二图像进行处理,可以得到第一图像的多个特征编码和第二图像的多个特征编码,从而根据第一图像的多个特征编码和第二图像的多个特征编码计算相似度,其中,每张特征编码是通过新增隐藏层输出的图像特征得到的。因此该方法获取到的图像特征既能覆盖高维抽象特征,又能兼顾低维细节特征,同时针对直接比较图像特征导致计算速度缓慢的问题,本申请通过对获取到的图像特征进行编码,可以减少图像特征的参数,从而提升图像相似度计算的效率和准确度。
33.可以理解的是,本申请实施例描述的系统的架构示意图是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
34.在一个实施例中,如图2所示,是本申请实施例基于图1的图像处理系统提供的一种图像处理方法。以应用于图1中提及的服务器102为例。以下结合图2对本申请实施例的所述方法进行说明。
35.s201、获取待处理图像,所述待处理图像包括第一图像和第二图像。
36.在一个实施例中,服务器可以通过有线连接方式或者无线连接方式从通信连接的各种电子设备获取待处理图像。待处理图像可以包括第一图像和第二图像,还可以包括第三图像、第四图像等,本申请对此不作限定。待处理图像可以是通过图像采集装置所获取的图像数据,或预先存储在电子设备本地、与电子设备关联的其他存储设备或云端中的图像数据,还可以是对视频数据进行抽帧处理后得到的图片帧。待处理图像可以是rgb图像或
hashing,itq)、谱哈希方法(spectral hashing,sh)、基于图的哈希方法(hashing with graphs)等,本申请对此不作限定。
46.在一个实施例中,所述利用特征提取模型对所述第一图像和所述第二图像进行处理,以得到所述第一图像的多个特征编码和所述第二图像的多个特征编码之前,所述方法还包括:利用第一训练样本集以及所述第一训练样本集包括的每个训练样本的类别标签,对原始模型进行预训练得到初始模型;在所述初始模型中的神经网络的多个指定位置处嵌入多个隐藏层,所述多个隐藏层之间互不相邻;利用第二训练样本集以及所述第二训练样本集包括的每个训练样本的类别标签,对嵌入隐藏层的初始模型进行训练,得到特征提取模型。
47.在一个实施例中,在进行第一图像和第二图像的相似度计算之前,需要建立特征提取模型。首先利用第一训练样本集以及第一训练样本集包括的每个训练样本的类别标签,对原始模型进行预训练得到初始模型。
48.具体地,第一训练样本集为包括类别标签的图像样本集,如imagenet数据集,coco数据集等,本申请对此不作限定。原始模型中的神经网络可以是vgg、alexnet或resnet

101网络等,本申请对此不作限定。以原始模型为vgg

16为例,如表1所示,记录了vgg

16网络的模型结构。
49.表1 vgg

16网络的模型结构
50.[0051][0052]
如上表1所示,vgg

16网络并没有在网络的不同阶段使用不同的卷积和池化层,只使用大小为3
×
3的卷积层和大小为2
×
2的最大池化层。卷积层的步长是1,池化层的步长是2。依次使用两个3
×
3卷积层,其接收场实质为5
×
5。同样,三个3
×
3卷积层的接收场为7
×
7。使用一组3
×
3卷积层而不是单个5
×
5或7
×
7层的好处是使用了更多的非线性激活函数,从而增加了vgg网络的判别力,同时减少参数。卷积层和池化层的数量在每个阶段(64>128>256>512)之后加倍,这种层排列的均匀性增加了网络的简易性。
[0053]
在一个实施例中,请参见图3,在第一步训练时,利用第一训练样本集(如imagenet数据集)对原始模型中的vgg

16网络和输出层进行预训练,以得到初始模型,输出层主要输出为imagenet数据集中图像的预测类别。在第二步训练之前,在初始模型的神经网络的多个指定位置处嵌入多个隐藏层,其中,多个隐藏层之间互不相邻,即包括两两互不相邻,接着利用第二训练样本集以及第二训练样本集包括的每个训练样本的类别标签对初始模型进行训练,得到特征提取模型。其中,第二训练样本集为与任务相关的图像数据集,如在进行相似度计算时,针对的是动物类图片,则第二训练样本集主要为包括各类动物的图像数据集;针对的是图像检索任务时,第二训练样本集主要为图像检索任务包含的图像检索库,将图像检索库中的图片用于初始模型的训练。其中,输出层执行的是分类任务,输出层可以采用用于多分类的softmax函数作为激活函数。
[0054]
在一个实施例中,需要对第一训练样本集和第二训练样本集中的图像进行尺度归一化处理,将图像缩放为固定大小,如大小为224
×
224等,本申请对此不作限定。
[0055]
在一个实施例中,利用第一步训练后得到的初始模型,在初始模型的神经网络中从最后一层全连接层开始,相隔m(m为正整数)层嵌入一个新的隐藏层,共计插入n(n为正整数)个隐藏层,本申请不对m和n的个数进行限定,可根据初始模型中的神经网络的层数进行设计。其中,每个隐藏层的神经元个数与图像特征中的特征值、以及对图像特征进行哈希编码得到的特征编码的数目相同,本申请以每个隐藏层的神经元个数为128个为例进行说明。
[0056]
在一个实施例中,可以对第二训练样本集中的图像进行图像增强处理,如加高斯噪声、椒盐噪声、裁剪、旋转、加水印、色调变换、上下翻转、左右翻转、加黑框中的一种或多种,使得特征提取模型具备对抗攻击图像的能力,如图像进行变换大小、方向、裁剪、以及添加水印等。
[0057]
在本申请实施例中,由于神经网络具有强大的理解与抽象能力,通过在神经网络中嵌入多个隐藏层,使得提取出的图像特征可以兼顾高维抽象特征和低维细节特征。
[0058]
在一个实施例中,所述对所述第一图像的多个图像特征分别进行哈希编码,得到所述第一图像的多个特征编码,包括:针对所述第一图像的多个图像特征中的任一图像特征,对所述任一图像特征进行压缩处理得到对应的多个特征值;根据所述多个特征值确定所述任一图像特征的图像特征均值;获取所述多个特征值中的每个特征值和所述图像特征均值之间的差值;根据所述差值确定二进制数列,并将所述二进制数列作为所述任一图像特征的特征编码。
[0059]
在一个实施例中,如图4所示,将第一图像作为输入图像输入特征提取模型,并对第一图像的多个图像特征分别进行哈希编码,得到第一图像的多个图像特征中每个图像特征的特征编码,哈希编码是将图像特征映射为二进制编码,可以将图像特征映射为64为、128位、256位等,本申请对此不作限定。哈希编码可以采用位置敏感哈希方法(locality sensitive hashing,lsh)、迭代量化哈希方法(iteration quantization hashing,itq)、谱哈希方法(spectral hashing,sh)、基于图的哈希方法(hashing with graphs)等,本申请对此不作限定。
[0060]
在一个实施例中,在针对第一图像的多个图像特征中的任一图像特征进行哈希编码时,首先需要对获取到的图像特征进行压缩处理,以去掉冗余信息,便于减少数据量。本申请不对压缩处理的具体实施方法进行限定,在一个可行的实施例中,可以利用dct离散余弦变换对图像特征进行压缩处理,得到图像特征对应的多个特征值,特征值的数目等于隐藏层的神经元个数,则当神经元个数为128时,每个图像特征对应的有128个特征值。
[0061]
在一个实施例中,根据多个特征值确定任一图像特征的图像特征均值,获取多个特征值中的每个特征值和图像特征均值之间的差值,从而根据差值确定二进制数列,并将二进制数列作为任一图像特征的特征编码。
[0062]
具体地,任一图像特征均值为avg
n
,则avg
n
=任一图像特征n对应的多个特征值之和/多个特征值的数目(例如128),其中,n代表为新增的第n个隐藏层。根据任一图像特征对应的多个特征值中每个特征值和每个图像特征的图像特征均值之间的差值确定二进制数列,并将二进制数列作为任一图像特征的特征编码。如任一图像特征的多个特征值为[x1,x2,

,xi

,xn],则第i个特征值和任一图像特征的图像特征均值之间的差值为x
i

avg
n
,当x
i

avg
n
大于预设数值,如x
i

avg
n
>0,则在二进制数列中将第i个元数记为1;或当x
i

avg
n
≤0,则在二进制数列中将第i个元数记为0。通过任一图像特征的多个特征值[x1,x2,

,xi

,xn]中的每个特征值与图像特征均值之间的差值确定二进制数列,从而得到任一图像的特征编码,例如:特征编码为[01010110

]。
[0063]
在一个实施例中,所述对所述第二图像的多个图像特征分别进行哈希编码,得到所述第二图像的多个特征编码,包括:针对所述第二图像的多个图像特征中的任一图像特征,对所述任一图像特征进行压缩处理得到对应的多个特征值;根据所述多个特征值确定所述任一图像特征的图像特征均值;获取所述多个特征值中的每个特征值和所述图像特征均值之间的差值;根据所述差值确定二进制数列,并将所述二进制数列作为所述任一图像特征的特征编码。
[0064]
在一个实施例中,如图4所示,将第二图像作为输入图像输入特征提取模型,并对
第二图像的多个图像特征分别进行哈希编码,得到第二图像的多个图像特征中每个图像特征的特征编码,在进行哈希编码时,首先需要对获取到的图像特征进行压缩处理,以去掉冗余信息,便于减少数据量。本申请不对压缩处理的具体实施方法进行限定,在一个可行的实施例中,可以利用dct离散余弦变换对图像特征进行压缩处理,得到图像特征对应的多个特征值,特征值的数目等于隐藏层的神经元个数,则当神经元个数为128时,每个图像特征对应的有128个特征值。进一步地,根据多个特征值确定任一图像特征的图像特征均值,获取多个特征值中的每个特征值和图像特征均值之间的差值,从而根据差值确定二进制数列,并将二进制数列作为任一图像特征的特征编码。
[0065]
在一个实施例中,所述根据所述差值确定二进制数列,包括:判断所述每个特征值和所述图像特征均值之间的差值是否大于预设数值;若是,则将二进制数列中所述每个特征值对应的元素设置为1;若否,则将所述二进制数列中所述每个特征值对应的元素设置为0。
[0066]
在一个实施例中,根据任一图像特征对应的多个特征值中每个特征值和任一图像特征的图像特征均值之间的差值确定二进制数列时,需要判断每个特征值和图像特征均值之间的差值是否大于预设数值,若是,则将二进制数列中每个特征值对应的元素设置为1;若否,则将二进制数列中每个特征值对应的元素设置为0。
[0067]
例如,任一图像特征的多个特征值为[x1,x2,

,xi

,xn],则第i个特征值和任一图像特征的图像特征均值之间的差值为x
i

avg
n
,当x
i

avg
n
大于预设数值,如x
i

avg
n
>0,则在二进制数列中将第i个元素记为1;或当x
i

avg
n
≤0,则在二进制数列中将第i个元数记为0。
[0068]
在一个实施例中,所述基于所述第一图像的多个特征编码和所述第二图像的多个特征编码,确定所述第一图像和所述第二图像之间的相似度,包括:获取所述第一图像的多个特征编码中各个特征编码与所述第二图像的多个特征编码中对应的特征编码之间的距离;根据所述各个特征编码与对应的特征编码之间的距离,确定所述第一图像和所述第二图像之间的相似度。
[0069]
在一个实施例中,服务器获取第一图像的多个特征编码中各个特征编码与第二图像的多个特征编码中对应的特征编码之间的距离时,可以针对第一图像的多个特征编码中的任一特征编码,确定任一特征编码在特征提取模型新增的多个隐藏层中对应的目标隐藏层,从而获取第二图像的多个特征编码中目标隐藏层对应的特征编码,并计算任一特征编码与目标隐藏层对应的特征编码之间的距离。本申请实施例以计算汉明距离为例,汉明距离计算公式为:离计算公式为:其中,i=0,1,...,n

1,x[i]为特征编码x的第i个元素,y[i]为特征编码y的第i个元素,表示异或,x,y分别为任一特征编码和目标隐藏层对应的特征编码。
[0070]
在一个实施例中,如图5所示,根据各个特征编码与对应的特征编码之间的距离,确定第一图像和第二图像之间的相似度时,可以针对每个特征编码与目标隐藏层对应的特征编码之间的距离进行标准化处理,如0均值标准化,则汉明距离d(x,y)标准化处理后为z=(d(x,y)

μ)/σ,μ、σ分别为的均值和方差,当有n个新增隐藏层时,第一图像和第二图像之间的相似度sim为avg(z
n
),其中,avg为求平均值函数,当相似度sim越大,则第
一图像与第二图像的相似度越高,反之,当相似度sim越小,则第一图像与第二图像的相似度越低。
[0071]
在本申请实施例中,通过对图像特征进行哈希编码,使得可以根据特征编码计算相似度,能够有效的减小数据规模,从而提升图像相似度计算的效率和准确度。
[0072]
在一个实施例中,所述获取所述第一图像的多个特征编码中各个特征编码与所述第二图像的多个特征编码中对应的特征编码之间的距离,包括:针对所述第一图像的多个特征编码中的任一特征编码,确定所述任一特征编码在所述特征提取模型新增的所述多个隐藏层中对应的目标隐藏层;获取所述第二图像的多个特征编码中所述目标隐藏层对应的特征编码;计算所述任一特征编码与所述目标隐藏层对应的特征编码之间的距离。
[0073]
在一个实施例中,针对第一图像的多个特征编码中的任一特征编码,确定任一特征编码在特征提取模型新增所述目标隐藏层对应的特征编码,计算任一特征编码与目标隐藏层对应的特征编码之间的距离。本申请实施例以计算汉明距离为例,汉明距离计算公式为:其中,i=0,1,...,n

1,x[i]为特征编码x的第i个元素,y[i]为特征编码y的第i个元素,表示异或,x,y分别为任一特征编码和目标隐藏层对应的特征编码。
[0074]
如图6所示,图6是本申请实施例提供的一种图像处理装置的结构示意图,所述装置包括:
[0075]
获取模块601,用于获取待处理图像,所述待处理图像包括第一图像和第二图像;
[0076]
处理模块602,用于利用特征提取模型对所述第一图像和所述第二图像进行处理,以得到所述第一图像的多个特征编码和所述第二图像的多个特征编码,其中,所述特征提取模型是在对预训练得到的初始模型新增多个隐藏层之后,通过对新增隐藏层后的初始模型进行训练得到的;
[0077]
所述处理模块602,还用于基于所述第一图像的多个特征编码和所述第二图像的多个特征编码,确定所述第一图像和所述第二图像之间的相似度。
[0078]
在一个实施例中,所述处理模块602,具体用于:
[0079]
利用特征提取模型对所述第一图像和所述第二图像进行处理,获取所述特征提取模型中新增的所述多个隐藏层输出的所述第一图像的多个图像特征和所述第二图像的多个图像特征;
[0080]
对所述第一图像的多个图像特征分别进行哈希编码,得到所述第一图像的多个特征编码;
[0081]
对所述第二图像的多个图像特征分别进行哈希编码,得到所述第二图像的多个特征编码。
[0082]
在一个实施例中,所述处理模块602,具体用于:
[0083]
利用第一训练样本集以及所述第一训练样本集包括的每个训练样本的类别标签,对原始模型进行预训练得到初始模型;
[0084]
在所述初始模型中的神经网络的多个指定位置处嵌入多个隐藏层,所述多个隐藏层之间互不相邻;
[0085]
利用第二训练样本集以及所述第二训练样本集包括的每个训练样本的类别标签,对嵌入隐藏层的初始模型进行训练,得到特征提取模型。
[0086]
在一个实施例中,所述处理模块602,具体用于:
[0087]
针对所述第一图像的多个图像特征中的任一图像特征,对所述任一图像特征进行压缩处理得到对应的多个特征值;
[0088]
根据所述多个特征值确定所述任一图像特征的图像特征均值;
[0089]
获取所述多个特征值中的每个特征值和所述图像特征均值之间的差值;
[0090]
根据所述差值确定二进制数列,并将所述二进制数列作为所述任一图像特征的特征编码。
[0091]
在一个实施例中,所述处理模块602,具体用于:
[0092]
判断所述每个特征值和所述图像特征均值之间的差值是否大于预设数值;
[0093]
若是,则将二进制数列中所述每个特征值对应的元素设置为1;
[0094]
若否,则将所述二进制数列中所述每个特征值对应的元素设置为0。
[0095]
在一个实施例中,所述处理模块602,具体用于:
[0096]
获取所述第一图像的多个特征编码中各个特征编码与所述第二图像的多个特征编码中对应的特征编码之间的距离;
[0097]
根据所述各个特征编码与对应的特征编码之间的距离,确定所述第一图像和所述第二图像之间的相似度。
[0098]
在一个实施例中,所述处理模块602,具体用于:
[0099]
针对所述第一图像的多个特征编码中的任一特征编码,确定所述任一特征编码在所述特征提取模型新增的所述多个隐藏层中对应的目标隐藏层;
[0100]
获取所述第二图像的多个特征编码中所述目标隐藏层对应的特征编码;
[0101]
计算所述任一特征编码与所述目标隐藏层对应的特征编码之间的距离。
[0102]
通过本申请实施例,通过特征提取模型对第一图像和第二图像进行处理,可以得到第一图像的多个特征编码和第二图像的多个特征编码,从而根据第一图像的多个特征编码和第二图像的多个特征编码计算相似度,其中,每张特征编码是通过隐藏层输出的图像特征得到的,因此该方法获取到的图像特征既能覆盖高维抽象特征,又能兼顾低维细节特征,同时针对直接比较图像特征导致计算速度缓慢的问题,本申请通过对获取到的图像特征进行编码,可以减少图像特征的参数,从而提升图像相似度计算的效率和准确度。
[0103]
如图7所示,图7是本申请实施例提供的一种计算机设备的结构示意图,该设备内部结构如图7所示,包括:一个或多个处理器701、存储器702、通信接口703。上述处理器701、存储器702和通信接口703可通过总线704或其他方式连接,本申请实施例以通过总线704连接为例。
[0104]
其中,处理器701(或称cpu(central processing unit,中央处理器))是计算机设备的计算核心以及控制核心,其可以解析计算机设备内的各类指令以及处理计算机设备的各类数据,例如:cpu可以用于解析用户向计算机设备所发送的开关机指令,并控制计算机设备进行开关机操作;再如:cpu可以在计算机设备内部结构之间传输各类交互数据,等等。通信接口703可选的可以包括标准的有线接口、无线接口(如wi

fi、移动通信接口等),受处理器701的控制用于收发数据。存储器702(memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器702既可以包括计算机设备的内置存储器,当然也可以包括计算机设备所支持的扩展存储器。存储器702提供存储空间,该存储空间存储了
计算机设备的操作系统,可包括但不限于:windows系统、linux系统等等,本申请对此并不作限定。
[0105]
在一个实施例中,所述处理器701,具体用于:
[0106]
获取待处理图像,所述待处理图像包括第一图像和第二图像;
[0107]
利用特征提取模型对所述第一图像和所述第二图像进行处理,以得到所述第一图像的多个特征编码和所述第二图像的多个特征编码,其中,所述特征提取模型是在对预训练得到的初始模型新增多个隐藏层之后,通过对新增隐藏层后的初始模型进行训练得到的;
[0108]
基于所述第一图像的多个特征编码和所述第二图像的多个特征编码,确定所述第一图像和所述第二图像之间的相似度。
[0109]
在一个实施例中,所述处理器701,具体用于:
[0110]
利用特征提取模型对所述第一图像和所述第二图像进行处理,获取所述特征提取模型中新增的所述多个隐藏层输出的所述第一图像的多个图像特征和所述第二图像的多个图像特征;
[0111]
对所述第一图像的多个图像特征分别进行哈希编码,得到所述第一图像的多个特征编码;
[0112]
对所述第二图像的多个图像特征分别进行哈希编码,得到所述第二图像的多个特征编码。
[0113]
在一个实施例中,所述处理器701,具体用于:
[0114]
利用第一训练样本集以及所述第一训练样本集包括的每个训练样本的类别标签,对原始模型进行预训练得到初始模型;
[0115]
在所述初始模型中的神经网络的多个指定位置处嵌入多个隐藏层,所述多个隐藏层之间互不相邻;
[0116]
利用第二训练样本集以及所述第二训练样本集包括的每个训练样本的类别标签,对嵌入隐藏层的初始模型进行训练,得到特征提取模型。
[0117]
在一个实施例中,所述处理器701,具体用于:
[0118]
针对所述第一图像的多个图像特征中的任一图像特征,对所述任一图像特征进行压缩处理得到对应的多个特征值;
[0119]
根据所述多个特征值确定所述任一图像特征的图像特征均值;
[0120]
获取所述多个特征值中的每个特征值和所述图像特征均值之间的差值;
[0121]
根据所述差值确定二进制数列,并将所述二进制数列作为所述任一图像特征的特征编码。
[0122]
在一个实施例中,所述处理器701,具体用于:
[0123]
判断所述每个特征值和所述图像特征均值之间的差值是否大于预设数值;
[0124]
若是,则将二进制数列中所述每个特征值对应的元素设置为1;
[0125]
若否,则将所述二进制数列中所述每个特征值对应的元素设置为0。
[0126]
在一个实施例中,所述处理器701,具体用于:
[0127]
获取所述第一图像的多个特征编码中各个特征编码与所述第二图像的多个特征编码中对应的特征编码之间的距离;
[0128]
根据所述各个特征编码与对应的特征编码之间的距离,确定所述第一图像和所述第二图像之间的相似度。
[0129]
在一个实施例中,所述处理器701,具体用于:
[0130]
针对所述第一图像的多个特征编码中的任一特征编码,确定所述任一特征编码在所述特征提取模型新增的所述多个隐藏层中对应的目标隐藏层;
[0131]
获取所述第二图像的多个特征编码中所述目标隐藏层对应的特征编码;
[0132]
计算所述任一特征编码与所述目标隐藏层对应的特征编码之间的距离。
[0133]
通过本申请实施例,通过特征提取模型对第一图像和第二图像进行处理,可以得到第一图像的多个特征编码和第二图像的多个特征编码,从而根据第一图像的多个特征编码和第二图像的多个特征编码计算相似度,其中,每张特征编码是通过隐藏层输到的图像特征得到的,因此该方法获取到的图像特征既能覆盖高维抽象特征,又能兼顾低维细节特征,同时针对直接比较图像特征导致计算速度缓慢的问题,本申请通过对获取到的图像特征进行编码,可以减少图像特征的参数,从而提升图像相似度计算的效率和准确度。
[0134]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述图像处理方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0135]
本申请一个或多个实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法的实施例中所执行的步骤。
[0136]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1