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

图像检索模型的训练方法、装置、设备及存储介质与流程

2021-11-26 23:01:00 来源:中国专利 TAG:


1.本技术涉及图像检索技术领域,特别涉及一种图像检索模型的训练方法、装置、设备及存储介质。


背景技术:

2.随着深度学习技术的不断发展,基于深度学习的图像检索模型已被广泛应用于娱乐、安防和信息安全等诸多场景中。为了在大规模图像库中进行快速有效地检索,图像检索模型往往会引入哈希函数,通过哈希函数将图像转换为二进制哈希码,利用二进制哈希码在汉明距离计算上的高效性和存储空间上的优势,来实现大规模图像检索。
3.然而,相关技术在训练图像检索模型时的计算量过于庞大,开发人员往往会从整个训练集中选用部分样本进行训练,使得图像检索模型不能充分学习到所有样本的信息,导致训练得到的图像检索模型在图像检索时准确率较低。


技术实现要素:

4.本技术实施例提供了一种图像检索模型的训练方法、装置、设备及存储介质,能够在提高训练效率的同时,提高图像检索模型的准确率。该技术方案如下:
5.一方面,提供了一种图像检索模型的训练方法,该方法包括:
6.基于图像检索模型对多个样本图像进行处理,得到该多个样本图像的哈希码;
7.基于该多个样本图像所属的多个图像类别,获取该多个图像类别的类中心;
8.基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息、各个该类中心之间的第二信息,计算损失值,该第一信息和该第二信息分别用于指示对应的样本图像的哈希码在汉明空间内的信息;
9.基于该损失值,对该图像检索模型和各个该类中心进行训练。
10.另一方面,提供了一种图像检索模型的训练装置,该装置包括:
11.处理模块,用于基于图像检索模型对多个样本图像进行处理,得到该多个样本图像的哈希码;
12.类中心获取模块,用于基于该多个样本图像所属的多个图像类别,获取该多个图像类别的类中心;
13.计算模块,用于基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息、各个该类中心之间的第二信息,计算损失值,该第一信息和该第二信息分别用于指示对应的样本图像的哈希码在汉明空间内的信息;
14.训练模块,用于基于该损失值,对该图像检索模型和各个该类中心进行训练。
15.在一种可选地实现方式中,该装置还包括:
16.回归矩阵获取模块,用于基于标签矩阵和该多个样本图像的哈希码,获取回归矩阵,该标签矩阵用于指示该多个样本图像所属的图像类别;
17.该计算模块用于:
18.基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息、各个该类中心之间的第二信息以及该回归矩阵,计算该损失值。
19.在一种可选地实现方式中,该计算模块用于:
20.保持该回归矩阵、图像检索模型的网络参数以及各个类中心不变,对多个样本图像的哈希码进行更新,得到更新后的该多个样本图像的哈希码;
21.保持该回归矩阵以及更新后的该多个样本图像的哈希码不变,基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息、各个该类中心之间的第二信息以及该回归矩阵,计算该损失值;
22.该训练模块用于基于该损失值,对该图像检索模型的网络参数和各个该类中心进行更新,得到更新后的图像检索模型和各个该类中心。
23.另一方面,提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器用于存储至少一条计算机程序,该至少一段计算机程序由该处理器加载并执行以实现本技术实施例中的图像检索模型的训练方法中所执行的操作。
24.另一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如本技术实施例中图像检索模型的训练方法中所执行的操作。
25.另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述各种可选实现方式中提供的图像检索模型的训练方法。
26.本技术实施例提供了一种图像检索模型的训练方法,在经过图像检索模型得到多个样本图像哈希码后,获取多个样本图像所属的多个图像类别对应的类中心,从而基于各个样本图像到其对应类中心的距离以及各个类中心之间的距离,来对图像检索模型和各个类中心进行训练。这种训练图像检索模型的方式,能够减少模型训练的计算量,从而提高模型的训练效率,而且,训练后的图像检索模型能够生成更具有判别性的哈希码,从而在提高训练效率的同时,能够有效提高图像检索模型的准确率。
附图说明
27.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1是根据本技术实施例提供的图像检索模型的训练方法的实施环境示意图;
29.图2是根据本技术实施例提供的一种图像检索模型的结构示意图;
30.图3是根据本技术实施例提供的一种图像检索模型的训练方法的流程图;
31.图4是根据本技术实施例提供的另一种图像检索模型的训练方法的流程图;
32.图5是根据本技术实施例提供的另一种图像检索模型的训练方法的流程图;
33.图6是根据本技术实施例提供的一种图像检索模型的训练架构示意图;
34.图7是本技术实施例提供的一种各个方案的实验结果示意图;
35.图8是本技术实施例提供的另一种各个方案的实验结果示意图;
36.图9是本技术实施例提供的另一种各个方案的实验结果示意图;
37.图10是根据本技术实施例提供的一种图像检索模型的训练装置的结构示意图;
38.图11是根据本技术实施例提供的一种服务器的结构示意图。
具体实施方式
39.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
40.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
41.本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。
42.这些术语只是用于将一个元素与另一个元素区别开。例如,在不脱离各种示例的范围的情况下,第一图像能够被称为第二图像,并且类似地,第二图像也能够被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
43.其中,至少一个是指一个或一个以上,例如,至少一个图像可以是一个图像、两个图像、三个图像等任意大于等于一的整数个图像。而多个是指两个或者两个以上,例如,多个图像可以是两个图像、三个图像等任意大于等于二的整数个图像。
44.下面对本技术实施例提供的图像检索模型的训练方案涉及到的技术进行介绍。
45.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
46.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
47.计算机视觉技术(computer vision,cv)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。
48.计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(optical character recognition,ocr)、视频处理、视频语义理解、视频内容/行为
识别、三维物体重建、三维技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
49.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
50.下面对本技术实施例提供的图像检索模型的训练方案涉及到的关键术语或缩略语进行介绍。
51.哈希算法,是一种利用哈希函数,将高维空间中的数据映射到紧凑且长度固定的二进制哈希码的方法。其中,哈希码具有轻量级存储、高效异或运算的优点,并且能够良好的保留原始数据在高维空间中的信息。
52.汉明距离,表示两个相同长度的字符串对应位置的不同字符的个数,也即是,将一个字符串变换成另外一个字符串所需要替换的字符个数。
53.汉明空间,是一种由二进制字符串通过汉明距离构成的度量空间。
54.下面介绍一下本技术实施例提供的图像检索模型的训练方法的实施环境。
55.图1是根据本技术实施例提供的图像检索模型的训练方法的实施环境示意图。该实施环境包括:终端101和服务器102。
56.终端101和服务器102能够通过有线网络或无线网络进行直接或间接地连接,本技术在此不作限制。可选地,终端101是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端101能够向服务器102提供图像检索模型的训练方法所需的信息,如训练参数、样本图像和标签矩阵等。
57.服务器102能够是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器102用于执行本技术实施例提供的图像检索模型的训练方法,基于终端101提供的信息进行图像检索模型的训练。
58.可选地,在训练图像检索模型的过程中,服务器102承担主要计算工作,终端101承担次要计算工作;或者,服务器102承担次要计算工作,终端101承担主要计算工作;或者,服务器102或终端101分别能够单独承担计算工作。
59.可选地,终端101泛指多个终端中的一个,本实施例仅以终端101来举例说明。本领域技术人员能够知晓,上述终端101的数量能够更多。比如上述终端101为几十个或几百个,或者更多数量,此时上述图像检索模型的训练方法的实施环境还包括其他终端。本技术实施例对终端的数量和设备类型不加以限定。
60.可选地,上述的有线网络或无线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(local area network,lan)、城域网(metropolitan area network,man)、广域网(wide area network,wan)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超级文本标记
语言(hyper text markup language,html)、可扩展标记语言(extensible markup language,xml)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如安全套接字层(secure socket layer,ssl)、传输层安全(transport layer security,tls)、虚拟专用网络(virtual private network,vpn)、网际协议安全(internet protocol security,ipsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
61.为了更清楚地对本技术提供的图像检索模型的训练方法进行说明,下面对本技术实施例提供的图像检索模型的结构进行举例说明。
62.图2是根据本技术实施例提供的一种图像检索模型的结构示意图。示意性地,如图2所示,该图像检索模型为基于卷积神经网络(convolutional neural network,cnn)构建的模型,该图像检索模型200包括:输入层201、cnn层202、第一全连接层203以及第二全连接层204。
63.其中,输入层201用于向图像检索模型中输入图像。cnn层202用于对图像进行特征提取,得到高维图像特征,例如,该高维图像特征的维度为2176维。第一全连接层203用于对cnn层202输出的高维图像特征进行特征学习,得到学习后的图像特征,例如,该学习后的图像特征的维度为1024维。第二全连接层204用于根据哈希函数,将学习后的图像特征映射到二值范围,输出长度为l的哈希码,l为正整数。整个过程也可以称之为深度哈希学习。
64.当然,上述图像检索模型的结构仅仅是为了示例性描述而示出的,在一些实施例中,图像检索模型也可以是具有其他结构的模型。例如,该图像检索模型为基于深度神经网络(deep neural network,dnn)或者递归神经网络(recurrent neural network,rnn)等构建的模型,本技术实施例对于图像检索模型的结构不作限定。
65.下面通过以下几个实施例,来对本技术提供的图像检索模型的训练方法进行说明。
66.图3是根据本技术实施例提供的一种图像检索模型的训练方法的流程图,如图3所示,在本技术实施例中以应用于服务器为例进行说明。该方法包括以下步骤:
67.301、服务器基于图像检索模型对多个样本图像进行处理,得到多个样本图像的哈希码。
68.在本技术实施例中,其中,样本图像为标注有标签信息的图像,该标签信息用于标识样本图像的特征。例如,该样本图像为人脸图像,则该标签信息包括但不限于人脸的身份特征、肤色特诊以及五官特征等。又例如,该样本图像为动物图像,则该标签信息包括但不限于动物的种类特征、毛发特征以及躯干特征等。再例如,该样本图像为车辆图像,则该标签信息包括但不限于车辆的种类特征、品牌特征以及颜色特征等。本技术实施例对于样本图像的具体类型不作限定。
69.302、服务器基于多个样本图像所属的多个图像类别,获取多个图像类别的类中心。
70.在本技术实施例中,多个图像类别的类别个数为正整数,一个图像类别包括至少一个样本图像,每个图像类别的类中心对应的图像为该图像类别中最具有代表性的图像。
71.303、服务器基于多个样本图像与多个样本图像对应的类中心之间的第一信息、各个类中心之间的第二信息,计算损失值,该第一信息和该第二信息分别用于指示对应的样
本图像的哈希码在汉明空间内的距离。
72.在本技术实施例中,第一信息用于指示一个样本图像的哈希码与其对应的类中心的哈希码在汉明空间内的距离。第二信息用于指示任意两个类中心的哈希码在汉明空间内的距离。
73.304、服务器基于该损失值,对图像检索模型和各个类中心进行训练。
74.本技术实施例提供了一种图像检索模型的训练方法,在经过图像检索模型得到多个样本图像的哈希码后,获取多个样本图像所属的多个图像类别对应的类中心,从而基于各个样本图像到其对应类中心的距离以及各个类中心之间的距离,来对图像检索模型和各个类中心进行训练。这种训练方式能够减少模型训练的计算量,从而提高模型的训练效率,而且,训练后的图像检索模型能够生成更具有判别性的哈希码,从而在提高训练效率的同时,能够有效提高图像检索模型的准确率。
75.根据上述图3所示的实施例,对本技术提供的图像检索模型的训练方法进行了简要说明。下面基于几种具体的实施方式来对本技术提供的图像检索模型的训练方法进行详细说明。
76.需要说明的是,在下述实施方式中,均以下述表达式为例进行说明:
77.图像检索模型表示为f(
·
)。
78.训练数据集x表示为其中,n为样本个数,n为正整数,i为正整数。
79.预测编码h表示为
80.哈希码b表示为其中,l为哈希码长度。
81.标签矩阵y表示为y的定义如下:若x
i
属于类别j,则y
ji
=1,否则y
ji
=0,其中,c为训练数据集的类别个数,j为正整数。
82.类中心m表示为其中,表示为第j个类别的类中心,表现形式为哈希码。
83.当然,上述表达式仅仅是为了示例性描述而示出的,在一些实施例中,上述各个表达式还能够为其他形式,本技术实施例对此不作限定。
84.需要说明的是,在图像检索模型的训练过程中,涉及到两类参数,一类是待训练参数,在下述实施例中称为网络参数,一类是超参数,是指在机器学习中,开始学习过程之前设置的参数。可选地,图像检索模型的超参数包括但不限于:训练周期、批采样大小、哈希码长度以及初始学习率等。本技术实施例对此不作限定。
85.另外,在图像检索模型的训练过程中,服务器对训练数据集进行分批训练,通过多次迭代训练的方式来更新图像检索模型的网络参数,直至满足目标训练条件。可选地,目标训练条件是指图像检索模型的损失值小于或等于损失值阈值,或者,目标训练条件是指迭代次数达到次数阈值。本技术实施例对此不作限定。
86.示意性地,服务器按照批采样大小m(m为正整数)来确定参与每次迭代训练的样本图像的数量,并根据训练数据集中样本图像的数量来确定迭代次数(也可以理解为训练批次)。以任意一次迭代训练为例,服务器将m个样本图像输入到图像检索模型中,得到模型对
应的损失值,并基于该损失值对图像检索模型的网络参数进行更新,然后服务器基于更新后的图像检索模型进行下一次迭代训练,直到满足目标训练条件,得到训练后的图像检索模型。
87.下面结合图4对本技术提供的图像检索模型的训练方法的一种具体实施方式进行说明。图4是根据本技术实施例提供的另一种图像检索模型的训练方法的流程图,如图4所示,该图像检索模型的训练方法应用于服务器,下面以服务器执行第一次迭代训练为例进行说明。该方法包括以下步骤:
88.401、服务器调用图像检索模型对多个样本图像进行处理,得到多个样本图像的预测编码。
89.在本技术实施例中,服务器对图像检索模型进行初始化,将图像检索模型的网络参数配置为初始化参数,然后服务器基于图像检索模型的超参数,将多个样本图像输入到该图像检索模型中,该图像检索模型对该多个样本图像进行处理,输出该多个样本图像的预测编码。
90.可选地,服务器执行glorot均匀分布初始化,将图像检索模型的网络参数配置为初始化参数。可选地,终端提供初始化参数的设置功能,开发人员能够通过终端对初始化参数进行设置,终端响应于开发人员对初始化参数的提交操作,将初始化参数发送至服务器,由服务器根据接收到的初始化参数,对图像检索模型进行初始化。本技术实施例对于图像检索模型的初始化方法不作限定。
91.可选地,服务器关联有图像数据库,该图像数据库用于存储图像检索模型的训练数据集。可选地,该图像数据库基于区块链来存储训练数据集。示意性地,服务器能够从图像数据库中提取训练数据集,并从训练数据集中选取多个样本图像,将多个样本图像输入到图像检索模型中。例如,服务器从图像数据库中提取训练数据集批采样大小为m,则服务器从训练数据集x中随机选取m个样本图像,将这m个样本图像输入到图像检索模型中,得到m个样本图像对应的预测编码。
92.402、服务器对多个样本图像的预测编码进行二值化处理,得到多个样本图像的哈希码。
93.在本技术实施例中,服务器对多个样本图像的预测编码进行二值化处理,将多个样本图像的预测编码分别转化为哈希码。其中,二值化处理是指调用二值化函数,将多个样本图像的预测编码映射到二值空间。示意性地,该二值化函数为符号函数sgn(
·
),例如,多个样本图像的预测编码多个样本图像的哈希码其中,b
i
=sgn(h
i
)。
94.403、服务器基于多个样本图像所属的多个图像类别,获取多个图像类别的类中心。
95.在本技术实施例中,服务器基于标签矩阵,对训练数据集中的样本图像进行分类,以得到训练数据集对应的初始类中心,然后服务器基于该标签矩阵,确定多个样本图像所属的图像类别,并基于多个样本图像所属的多个图像类别,从初始类中心中获取多个图像类别的类中心。其中,该标签矩阵能够指示训练数据集中任一个样本图像所属的图像类别。
96.可选地,服务器基于该标签矩阵,对训练数据集中的样本图像进行分类后,对每个
图像类别中的样本图像进行标准正态分布,基于标准正态分布结果来确定每个图像类别对应的初始类中心。本技术实施例对于初始类中心的确定方式不作限定。
97.另外,在本技术实施例中,服务器在执行步骤403时确定初始类中心。在一些实施例中,服务器在执行上述步骤401和步骤402的同时确定初始类中心。在另一些实施例中,服务器在执行上述步骤401之前确定初始类中心。本技术实施例对此不作限定。
98.需要说明的是,在本技术实施例中,服务器是按照步骤401至步骤403的顺序执行的。在一些实施例中,服务器执行步骤401后,先执行步骤403,再执行步骤402。在另一些实施例中,服务器执行步骤401后,同步执行步骤402和步骤403。本技术实施例对于步骤401至步骤403的执行顺序不作限定。
99.404、服务器基于多个样本图像的哈希码和多个样本图像对应的类中心的哈希码,得到多个样本图像与多个样本图像对应的类中心之间的第一信息。
100.在本技术实施例中,一个样本图像对应一个类中心,服务器基于该样本图像的哈希码和对应的类中心的哈希码,得到这两个哈希码之间的第一信息。可选地,服务器调用图像检索模型对多个样本图像对应的类中心进行处理,得到多个类中心的预测编码,对多个类中心的预测编码进行二值化处理,得到多个类中心的哈希码。
101.需要说明的是,本技术实施例提供了两种表现形式,来体现任意两个哈希码在汉明空间内的距离。其中,第一种表现形式为l2范数||
·
||,基于任意两个哈希码得到的l2范数越小,则这两个哈希码在汉明空间内的距离越小。第二种表现形式为汉明距离,基于任意两个哈希码得到的汉明距离越小,则这两个哈希码在汉明空间内的距离越小。
102.可选地,多个样本图像与多个样本图像对应的类中心之间的第一信息的表现形式为l2范数。例如,一个样本图像的哈希码表示为b
i
,该样本图像对应的类中心的哈希码表示为μ
j
,则该样本图像与该类中心之间的第一信息表示为||b
i

μ
j
||2。应理解,该||b
i

μ
j
||2的值越小,该样本图像与该类中心在汉明空间内的距离越小。
103.405、服务器基于各个类中心的哈希码,得到各个类中心之间的第二信息。
104.在本技术实施例中,服务器经过上述步骤403获取到多个样本图像对应的类中心,基于任意两个类中心的哈希码,得到这两个哈希码之间的第二信息。
105.可选地,各个类中心之间的第二信息的表现形式为汉明距离。例如,给定任意两个哈希码b
i
和b
j
,他们之间的汉明距离表示为则,对于任意两个类中心的哈希码μ
p
和μ
q
,它们之间的汉明距离表示为应理解,该dist
h

p
,μ
q
)的值越小,这两个类中心在汉明空间内的距离越小。
106.406、服务器基于各个类中心之间的第二信息,得到各个类中心之间的条件概率,该条件概率用于指示各个类中心之间的不相似程度。
107.在本技术实施例中,各个类中心之间的条件概率还能够用于指示各个类中心之间的汉明距离,也即是,各个类中心之间的条件概率越大,这两个类中心越不相似,相应地,这两个类中心之间的汉明距离也越大。
108.可选地,服务器基于各个类中心之间的第二信息和类间指示矩阵,得到各个类中心之间的条件概率,该类间指示矩阵用于确保两个相同的类中心之间的条件概率为0。
109.下面对类间指示矩阵进行说明:类间指示矩阵a为对称矩阵,其对角线元素为0,其他元素均为1,其中,a的定义如下:若p≠q,则a
pq
=1,否则a
pq
=0,p和q用于表示任意两个类中心。应理解,多个样本图像对应的类中心中可能存在重合的类中心,通过引入类间指示矩阵a,能够确保两个相同的类中心之间的条件概率为0,使得服务器仅对两个不同的类中心之间的条件概率进行计算,从而有效减少模型训练的计算量。
110.可选地,对于任意两个类中心μ
p
和μ
q
,这两个类中心之间的汉明距离表示为则这两个类中心之间的条件概率p(a
pq
|m)请参考下述公式(1):
[0111][0112]
式中,σ(x)=1/(1 e

x
)为sigmoid(s型)函数,其中,越小,p(a
pq
|m)的值越大,μ
p
和μ
q
之间越不相似,μ
p
和μ
q
之间的汉明距离越大。
[0113]
需要说明的是,在本技术实施例中,服务器是按照步骤404至步骤406的顺序执行的。在一些实施例中,服务器先执行上述步骤406,再执行步骤405和步骤404。在另一些实施例中,服务器同步执行上述步骤404至步骤406。本技术实施例对于步骤404至步骤406的执行顺序不作限定。
[0114]
407、服务器基于多个样本图像与多个样本图像对应的类中心之间的第一信息、各个类中心之间的条件概率、多个样本图像的预测编码和哈希码之间的量化误差,计算损失值。
[0115]
在本技术实施例中,量化误差用于指示预测编码与哈希码之间的误差,基于多个样本图像的预测编码和哈希码之间的差值计算得到。服务器能够通过最小化该量化误差的值来减小图像检索模型的误差,以提高图像检索模型的准确率。服务器根据目标损失函数,基于多个样本图像与多个样本图像对应的类中心之间的第一信息、各个类中心之间的条件概率以及多个样本图像的预测编码和哈希码之间的量化误差,计算损失值。其中,该目标损失函数的优化目标为,最小化多个样本图像与对应的类中心之间在汉明空间内的距离、最大化各个类中心之间在汉明空间内的距离以及最小化样本图像的预测编码和哈希码之间的量化误差。
[0116]
可选地,目标损失函数l请参考下述公式(2):
[0117][0118]
式中,θ为图像检索模型的网络参数;m为类中心;l1为第一损失函数,l1的优化目标为最小化多个样本图像与多个样本图像对应的类中心之间在汉明空间内的距离;l2为第二损失函数,l2的优化目标为最大化各个类中心之间在汉明空间内的距离;γ为平衡系数,用于权衡l1和l2;表示预测编码和哈希码之间的量化误差;v为量化损失系数,用于控制量化误差的权重。可选地,γ和v均为超参数,例如,将γ设置为0.1;将v设置为0.01。本技术实施例对此不作限定。
[0119]
需要说明的是,在一些实施例中,上述目标损失函数l中不包括预测编码和哈希码
之间的量化误差,也即是服务器基于多个样本图像与多个样本图像对应的类中心之间的第一信息以及各个类中心之间的条件概率,得到损失值。本技术实施例对此不作限定。
[0120]
下面参考公式(3),对l1进行说明:
[0121][0122]
式中,σ2为类内方差,用于控制同一类别的样本图像之间的类内误差。可选地,σ2为超参数,例如,将σ2设置为4,本技术实施例对此不作限定。从公式(3)能够得出,对于任意一个样本图像,该样本图像与对应的类中心在汉明空间内的距离越小,则||h
i

μ
j
||2越小,相应地,l1的损失值越小。也即是,服务器能够通过最小化l1的损失值,实现最小化多个样本图像与多个样本图像对应的类中心之间在汉明空间内的距离。
[0123]
下面参考公式(4),对l2进行说明:
[0124][0125]
式中,p和q表示任意两个类中心,φ
pq
是基于上述公式(1)中的φ
pq
变形得到的,φ
pq
=0.5lcos(μ
p
,μ
q
)。基于上述公式(1)和公式(4)能够得出,对于任意两个类中心,这两个类中心之间在汉明空间内的距离越大,φ
pq
越小,相应地,l2的损失值越小。也即是,服务器能够通过最小化l2的损失值,实现最大化各个类中心之间在汉明空间内的距离。
[0126]
下面结合上述公式(1)、下述公式(5)至公式(7),对公式(4)的理论推导过程进行说明。
[0127]
第一,参考公式(5):
[0128][0129]
式中,p(m|a)表示给定类间指示矩阵时,任意两个类中心不相似程度的概率,也即与各个类中心之间的第二信息相关,p(m)表示类中心的概率。结合上述公式(1)能够得出,通过最大化上述公式(5)中等式右侧的后验估计,即能最大化各个类中心之间在汉明空间内的距离。应理解,此处也即是通过最大化上述公式(1)来最大化各个类中心之间在汉明空间内的距离。
[0130]
第二,结合上述公式(1),考虑到类中心m在实际优化时为连续变量,则在离散约束下的连续估计参考下述公式(6):
[0131]
[0132]
基于上述公式(6),将上述公式(1)中的替换为得到下述公式(7):
[0133][0134]
第三,最大化p(a
pq
|m)即可化简为上述公式(4)。
[0135]
需要说明的是,经过上述步骤407,服务器根据一种基于类中心双重约束的目标损失函数,计算得到损失值,既对同一类别的样本图像到其对应类中心的距离进行了约束,又对不同类别的类中心之间的距离进行了约束,避免了哈希码长度过长导致的哈希码重叠现象产生;进一步地,引入多个样本图像的预测编码与哈希码之间的量化误差,将图像检索模型的离散的输出结果松弛到连续空间,解决了图像检索模型的离散优化问题,进而提高了图像检索模型生成的哈希码的判别性。
[0136]
408、服务器基于该损失值,对该图像检索模型的网络参数和各个类中心进行更新,得到更新后的图像检索模型和各个类中心。
[0137]
在本技术实施例中,服务器基于该损失值和目标损失函数,调用反向传播算法,对图像检索模型的网络参数和各个类中心进行更新,得到更新后的图像检索模型和各个类中心。
[0138]
可选地,以上述公式(2)所示的目标损失函数为例,服务器分别求出目标损失函数l对h
i
和μ
j
的导数,也即是下述公式(8),然后基于损失值,对图像检索模型的网络参数θ和各个类中心m进行更新,公式(8)如下所示:
[0139][0140]
需要说明的是,服务器经过上述步骤401至步骤408,得到了更新后的图像检索模型和更新后的类中心。然后服务器基于更新后的图像检索模型和更新后的类中心,执行下一次迭代训练,具体训练过程与上述步骤401至步骤408类似,不同之处在于,在上述步骤401和步骤403中,服务器是基于初始化后的图像检索模型和初始化类中心来分别执行相关步骤的,而在下一次迭代训练过程中,服务器基于更新后的图像检索模型和更新后的类中心来分别执行相关步骤。通过这种多次迭代训练的方式,对图像检索模型的网络参数和类中心进行迭代更新,直至满足目标训练条件,得到训练后的图像检索模型。
[0141]
另外,值得注意的是,在本技术实施例中,除了图像检索模型的网络参数以外,类中心也被视作可学习的参数,这种在训练过程中根据图像检索模型的损失值来对类中心进行更新的方式能够及时优化训练数据集对应的类中心,以减小图像检索模型的误差,进而有效提高图像检索模型的训练效率。
[0142]
而且,服务器在得到训练后的图像检索模型后,能够将待检索图像输入到该图像检索模型中,对图像检索模型的输出结果进行二值化处理后,即得到该待检索图像的哈希码。示意性地,该图像检索模型表示为f(
·
)=f(θ;x
i
),对于输入到该图像检索模型的任意一个图像,能够通过下述公式(9)得到该图像的哈希码。
[0143]
b
i
=sgn(f(θ;x
i
))
ꢀꢀꢀ
(9)
[0144]
基于该公式(9)可知,尽管本技术提供的图像检索模型的训练方法在训练过程中用到了训练数据集对应的类中心,但是训练后的图像检索模型在生成哈希码时并不依赖于训练数据集对应的类中心。因此,在本技术实施例中,训练后的图像检索模型能够根据任意图像生成相应的哈希码。
[0145]
本技术实施例提供了一种图像检索模型的训练方法,在经过图像检索模型得到多个样本图像的哈希码后,获取多个样本图像所属的多个图像类别对应的类中心,从而基于各个样本图像到其对应类中心的距离以及各个类中心之间的距离,来对图像检索模型和各个类中心进行训练。这种训练方式能够减少模型训练的计算量,从而提高模型的训练效率,而且,训练后的图像检索模型能够生成更具有判别性的哈希码,从而在提高训练效率的同时,能够有效提高图像检索模型的准确率。
[0146]
在上述图4所示的实施例中,图像检索模型的优化目标为最小化多个样本图像与对应的类中心之间在汉明空间内的距离、最大化各个类中心之间在汉明空间内的距离以及最小化样本图像的预测编码和哈希码之间的量化误差。下面结合图5对本技术提供的图像检索模型的训练方法的另一种具体实施方式进行说明。图5是根据本技术实施例提供的另一种图像检索模型的训练方法的流程图,如图5所示,该图像检索模型的训练方法应用于服务器,在本技术实施例中增加了与回归矩阵相关的优化目标,来对图像检索模型进行训练,下面以服务器执行第一次迭代训练为例进行说明。该方法包括以下步骤:
[0147]
501、服务器调用图像检索模型对多个样本图像进行处理,得到多个样本图像的预测编码。
[0148]
502、服务器对多个样本图像的预测编码进行二值化处理,得到多个样本图像的哈希码。
[0149]
503、服务器基于多个样本图像所属的多个图像类别,获取多个图像类别的类中心。
[0150]
在本技术实施例中,上述步骤501至步骤503的实施方式以及执行顺序的可选方式均与上述步骤401至步骤403相同,故在此不再赘述。
[0151]
504、服务器基于标签矩阵和多个样本图像的哈希码,获取回归矩阵。
[0152]
在本技术实施例中,回归矩阵用于提供标签矩阵与多个样本图像的哈希码之间的连接关系。示意性地,该回归矩阵表示为
[0153]
可选地,服务器基于下述公式(10)计算得到回归矩阵w。w=(yy
t
)
‑1yb
t
ꢀꢀꢀ
(10)
[0154]
式中,y为标签矩阵;b为多个样本图像的哈希码。
[0155]
下面基于下述公式(11)至公式(14),对上述公式(10)的理论推导过程进行说明。
[0156]
本技术实施例由于引入了回归矩阵,在上述公式(2)的基础上增加了第三损失函数,示意性地。图像检索模型的目标损失函数l如下述公式(11)所示:
[0157][0158]
式中,l3为第三损失函数,也即是,相比于上述图4所示实施例中的目标损失函数,在本技术实施例中的目标损失函数增加了提高图像检索模型生成的哈希码的判别性这一
优化目标。其中,l3请参考下述公式(12):
[0159][0160]
式中,w
t
y
i
用于表示b
i
对应的图像类别的类别编码,根据上述公式(12)可知,通过最小化l3的损失值,能够使得同一图像类别中,样本图像的哈希码之间的相似度最大,也即是,尽可能使同一图像类别的样本图像的哈希码相同(通俗来讲,就是鼓励图像检索模型基于同一图像类别中的样本图像,输出同一个二进制编码),换言之,l3的优化目标是减少同一图像类别中样本图像的哈希码之间的变化,以增加同一图像类别中样本图像的哈希码之间的紧凑性,从而提高图像检索模型生成的哈希码的判别性,使得服务器能够基于生成的哈希码确定图像正确的所属类别。
[0161]
另外,根据上述公式(11)可知,在本技术实施例中,目标损失函数l包括四个变量,分别为图像检索模型的网络参数θ、类中心m、多个样本图像的哈希码b以及回归矩阵w。本技术基于交替最小化算法,来对这四个变量进行迭代更新,在交替最小化过程中,对一个变量进行更新时,保持其他变量不变。
[0162]
其中,服务器基于交替最小化算法,先保持图像检索模型的网络参数θ、类中心m以及多个样本图像的哈希码b不变,对回归矩阵w进行更新。基于此,对上述公式(11)所示的目标损失函数进行化简,得到下述公式(13):
[0163][0164]
鉴于公式(13)为标准的线性回归问题,在去除公式(13)中的无关项之后,得到下述公式(14):
[0165][0166]
通过计算公式(14)在回归矩阵w为0时的梯度,能够得到回归矩阵w的闭合解,也即是上述公式(10)。
[0167]
需要说明的是,步骤504中,服务器获取回归矩阵的实施方式即为服务器基于交替最小化算法,对目标损失函数中的四个变量进行迭代更新的第一步,也即是保持图像检索模型的网络参数θ、类中心m以及多个样本图像的哈希码b不变,对回归矩阵w进行更新,也可以理解为确定了目标损失函数中的第一个变量。
[0168]
505、服务器基于多个样本图像的预测编码、该标签矩阵以及该回归矩阵,对多个样本图像的哈希码进行更新,得到更新后的多个样本图像的哈希码。
[0169]
在本技术实施例中,服务器基于多个样本图像的预测编码、标签矩阵以及根据上述步骤504确定好的回归矩阵,对多个样本图像的哈希码进行更新,以得到更新后的多个样本图像的哈希码。
[0170]
可选地,服务器基于下述公式(15)对多个样本图像的哈希码进行更新:
[0171]
b=sgn(w
t
y vh)
‑1yb
t
ꢀꢀꢀ
(15)
[0172]
下面基于下述公式(16)和公式(17),对上述公式(15)的理论推导过程进行说明。
[0173]
根据上述步骤504和上述步骤504中公式(10)的理论推导过程可知,服务器基于交替最小化算法,先保持图像检索模型的网络参数θ、类中心m以及多个样本图像的哈希码b
不变,对回归矩阵w进行了更新。接下来,服务器保持图像检索模型的网络参数θ、类中心m以及回归矩阵w不变,对多个样本图像的哈希码b进行更新。基于此,对上述公式(11)所示的目标损失函数进行化简,得到下述公式(16):
[0174][0175]
鉴于tr(b
t
b)为一个常数,上述公式(16)等价于下述公式(17):
[0176][0177]
基于该公式(17)也即能够得到上述公式(15)。
[0178]
需要说明的是,步骤505中,服务器得到更新后的多个样本图像的哈希码的实施方式即为服务器基于交替最小化算法,对目标损失函数中的四个变量进行迭代更新的第二步,也即是保持图像检索模型的网络参数θ、类中心m以及对回归矩阵w不变,对多个样本图像的哈希码b进行更新,也可以理解为确定了目标损失函数中的第二个变量。
[0179]
506、服务器基于更新后的多个样本图像的哈希码,确定多个样本图像与多个样本图像对应的类中心之间的第一信息。
[0180]
在本技术实施例中,本步骤506的实施方式与上述步骤404类似,不同之处在于,在步骤404中,服务器用到的是多个样本图像的哈希码,而本步骤506中,服务器用到的是更新后的多个样本图像的哈希码,故本技术在此不再赘述。
[0181]
507、服务器基于各个类中心的哈希码,得到各个类中心之间的第二信息。
[0182]
508、服务器基于各个类中心之间的第二信息,得到各个类中心之间的条件概率,该条件概率用于指示各个类中心之间的不相似程度。
[0183]
需要说明的是,在上述步骤507和步骤508与上述步骤405和步骤406相同,另外,上述步骤506至步骤508的执行顺序的可选实现方式与上述步骤404至步骤406相同,故本技术在此不再赘述。
[0184]
509、服务器基于更新后的多个样本图像的哈希码、标签矩阵以及回归矩阵,得到该多个样本图像与该多个样本图像对应的图像类别之间的第三信息。
[0185]
在本技术实施例中,该第三信息用于指示任一样本图像的哈希码与对应的图像类别的类别编码之间的误差。可选地,该第三信息的表现形式参考上述公式(12),也即是,对于任一样本图像,该样本图像与对应的图像类别之间的第三信息表示为应理解,该的值越小,该样本图像的哈希码与对应的图像类别的类别编码之间的误差越小,该样本图像的哈希码的判别性越高。
[0186]
需要说明的是,在一些实施例中,服务器先执行步骤509,再执行上述步骤506至步骤508;在另一些实施例中,服务器同步执行上述步骤506至步骤509,本技术实施例对此不作限定。
[0187]
510、服务器基于多个样本图像与多个样本图像对应的类中心之间的第一信息、各个类中心之间的条件概率、多个样本图像与该多个样本图像对应的图像类别之间的第三信息、多个样本图像的预测编码和哈希码之间的量化误差,计算损失值。
[0188]
在本技术实施例中,服务器根据目标损失函数,基于多个样本图像与多个样本图像对应的类中心之间的第一信息、各个类中心之间的条件概率、多个样本图像与该多个样本图像对应的图像类别之间的第三信息、多个样本图像的预测编码和哈希码之间的量化误差,计算得到损失值。示意性地,目标损失函数参考上述公式(11)。
[0189]
需要说明的是,在一些实施例中,上述目标损失函数l中不包括预测编码和哈希码之间的量化误差,也即是服务器基于多个样本图像与多个样本图像对应的类中心之间的第一信息、各个类中心之间的条件概率以及多个样本图像与该多个样本图像对应的图像类别之间的第三信息,计算损失值。本技术实施例对此不作限定。
[0190]
511、服务器基于该损失值,对该图像检索模型的网络参数和各个类中心进行更新,得到更新后的图像检索模型和各个类中心。
[0191]
在本技术实施例中,本步骤511的实施方式与上述步骤408相同,也即是,服务器基于损失值和目标损失函数,调用反向传播算法,对图像检索模型的网络参数和各个类中心进行更新,得到更新后的图像检索模型和各个类中心。本技术在此不再赘述。
[0192]
需要说明的第一点是,步骤511中,服务器基于该损失值,对各个类中心和该图像检索模型的网络参数进行更新的实施方式,即为服务器基于交替最小化算法,对目标损失函数中的四个变量进行更新的第三步,也即是给定回归矩阵w和更新后的多个样本图像的哈希码b,对图像检索模型的网络参数θ和类中心m进行更新,也可以理解为确定目标损失函数中的剩余两个变量。
[0193]
需要说明的第二点是,服务器经过上述步骤501至步骤511,得到了更新后的图像检索模型和更新后的类中心。然后服务器基于更新后的图像检索模型和更新后的类中心,执行下一次迭代训练,通过这种多次迭代训练的方式,对图像检索模型的网络参数和类中心进行迭代更新,直至满足目标训练条件,得到训练后的图像检索模型。
[0194]
可选地,下面以服务器基于交替最小化算法,对目标损失函数中的四个变量进行更新的方式为例,对上述步骤504至步骤511进行示意性说明,包括但不限于如下步骤一至步骤四:
[0195]
步骤一、服务器基于标签矩阵和多个样本图像的哈希码,获取回归矩阵。
[0196]
在步骤一中,服务器保持图像检索模型的网络参数、各个类中心以及多个样本图像的哈希码不变,计算回归矩阵,也即是对回归矩阵进行更新。具体获取回归矩阵的方式参考上述步骤504,本技术在此不再赘述。
[0197]
步骤二、服务器保持该回归矩阵、该图像检索模型的网络参数以及各个该类中心不变,对该多个样本图像的哈希码进行更新,得到更新后的该多个样本图像的哈希码。
[0198]
在步骤二中,服务器对多个样本图像的哈希码进行更新的方式参考上述步骤505,本技术在此不再赘述。
[0199]
步骤三、服务器保持该回归矩阵以及更新后的该多个样本图像的哈希码不变,基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息、各个该类中心之间的第二信息以及该回归矩阵,计算该损失值。
[0200]
在步骤三中,服务器保持该回归矩阵以及更新后的该多个样本图像的哈希码不变,得到多个样本图像与该多个样本图像对应的图像类别之间的第三信息,然后服务器基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息、各个该类中心之间的
第二信息、多个样本图像与该多个样本图像对应的图像类别之间的第三信息,计算该损失值。具体得到第一信息、第二信息以及第三信息的方式参考上述步骤506至步骤509,计算损失值的方式参考上述步骤510,本技术在此不再赘述。
[0201]
步骤四、服务器基于该损失值,对该图像检索模型的网络参数和各个该类中心进行更新,得到更新后的图像检索模型和各个该类中心。
[0202]
在步骤四中,服务器对该图像检索模型的网络参数和各个该类中心进行更新的方式参考上述步骤511,本技术在此不再赘述。
[0203]
下面参见表1,表1是对图像检索模型的训练过程的总结,也即是对上述步骤501至步骤511的总结。
[0204]
示意性地,在对图像检索模型进行训练时,服务器获取到的输入信息包括:训练数据集x、标签矩阵y、图像检索模型f(
·
)、哈希码长度l以及批采样大小m。参数包括类内方差σ2,平衡系数y以及量化损失系数v。服务器的输出信息包括:学习到的图像检索模型的网络参数θ和训练数据集对应的类中心m。
[0205]
如表1所示,服务器在开始训练前,执行初始化流程,产生图像检索模型的网络参数θ和类中心m。接着,服务器基于训练周期和迭代次数重复执行表1所示的训练流程直至收敛。需要说明的是,表1所示的训练流程已经在上述步骤501至步骤511中进行了详细说明,故在此不再赘述。
[0206]
表1
[0207][0208]
下面参考图6,以上述步骤501至步骤511提供的图像检索模型的训练方法为例,对本技术实施例提供的图像检索模型的训练架构进行说明。图6是本技术实施例提供的一种图像检索模型的训练架构示意图。如图6所示,该图像检索模型的训练架构包括以下三个部分:
[0209]
第一部分,特征学习部分。服务器通过将样本图像输入到图像检索模型中,经过第二全连接层(也可以理解为全连接哈希层),得到输出结果h,并将该输出结果h传递给第二部分和第三部分。其中,该图像检索模型的网络结构请参考图2。
[0210]
第二部分,基于类中心m的双重约束损失部分。其中,该双重约束损失表示既对同一类别的样本图像到其对应类中心的距离进行约束,又对不同类别的类中心之间的距离进行约束。也即是,在最小化同一类别的样本图像到其对应类中心的距离的同时,最大化不同类别的类中心之间的距离。服务器根据第一部分的输出结果h以及该第二部分的双重约束
损失,对类中心m进行更新,并将更新后的m传递给第一部分。
[0211]
第三部分,回归部分。该回归部分通过引入回归矩阵w,基于训练数据集的标签矩阵y和第一部分的输出结果h,生成更具有判别性的哈希码b,并将哈希码b传递给第一部分。
[0212]
下面继续以上述步骤501至步骤511提供的图像检索模型的训练方法为例,基于本技术实施例与相关方案的实验结果,对本技术实施例带来的有益效果进行说明。需要说明的是,为了便于描述,将本技术实施例提供的图像检索模型的训练方法命名为“基于类中心的双重约束深度哈希(deep center

based dual

constrained hashing,dcdh)”。
[0213]
在对本技术实施例与相关方案的实验结果进行说明之前,先对本技术的实验方案进行介绍,主要包括以下四点:
[0214]
第一点、标准数据集。
[0215]
其中,标准数据集包括youtube faces、facescrub以及vggface2。
[0216]
youtube faces,含有1595个人物的3435个视频,每个视频的帧数介于48到6070之间。本技术对于每个身份选取40张图片作为训练,5张图片作为测试。其中,每个样本图像的尺寸为32
×
32,单位为像素。
[0217]
facescrub,含有530个人物的106863张人脸图片。同样的,本技术对于每个身份随机选取5张图片作为测试,其他图片都作为样本图像以得到训练数据集。其中,每个样本图像的尺寸为32
×
32,单位为像素。
[0218]
vggface2,含有9131个人物的3310000张人脸图片,并划分了其中8631个人物为训练数据集。本技术从作为训练数据集的公众人物中,每个身份随机选取50张图片作为测试,剩余图片作为样本图像以得到训练数据集。其中,本技术基于vggface2设置了两种实验方式,因此将每个样本图像的尺寸分别调整为32
×
32和160
×
160,单位为像素。
[0219]
第二点、相关方案。
[0220]
其中,需要与本技术进行对比的方案包括如下三类:
[0221]
第一类,基于二元组/三元组相似度的方案,包括深度二元组监督哈希(deep pairwise supervised hashing,dpsh)、深度三元组监督哈希(deep supervised hashing with triplet labels,dtsh)、深度监督离散哈希(deep supervised discrete hashing,dsdh以及深度类间哈希(deep class

wise hashing,dcwh)。
[0222]
第二类,基于softmax分类损失的深度哈希人脸检索方案,包括判别性深度哈希(discriminative deep hashing,ddh)、深度判别量化哈希(discriminative deep quantization hashing,ddqh)以及具有注意力的判别性深度哈希(discriminative deep attention

aware hashing,ddah)。
[0223]
第三类,有监督哈希学习结合预训练深度cnn的特征提取方案,包括有监督的离散哈希(supervised discrete hashing,sdh)结合cnn的方案(表示为sdh cnn),快速有监督离散哈希(fast supervised discrete hashing,fsdh)结合cnn的方案(表示为fsdh cnn)。
[0224]
需要说明的是,上述第二类中各个方案使用的是这些方案各自的网络主干,为了更公平的比较它们与本技术的性能差异,对于第二类方案中的ddqh,将该方案与本技术使用相同网络主干的方法单独命名为ddqh*。同时,上述第一类和第三类方案统一使用本技术的网络主干进行训练。
[0225]
第三点,评价标准。
[0226]
其中,在对本技术与相关方案的实验结果进行对比时,通过以下五种评价标准来进行评价:均值平均精度(mean average precision,map);前k个返回样本的精度(top

k),其中,k≥1;不同哈希码长度下的精度(precision);精度

召回率曲线(precision

recall curve);不同哈希码长度下的召回率(recall)。
[0227]
第四点,实验参数。
[0228]
其中,本技术在训练过程中,调用adam算法来对图像检索模型进行优化,同时,将图像检索模型的网络参数θ和类中心m的初始学习率设置为5e

3,训练总周期设置为600代,批采样大小设置为256,并通过交叉验证设置图像检索模型的类内方差σ2=4;平衡系数y=0.1;量化损失系数v=0.01。需要说明的是,此处的实验参数仅为示意性地,仅仅是为了将本技术与相关方案进行对比,并不构成对上述本技术实施例中各项参数的限制,在实际应用中,开发人员能够根据需求自行设置实验参数,本技术对此不作限定。
[0229]
下面先基于youtube faces和facescrub这两个数据集,对本技术与相关方案的实验结果进行说明。
[0230]
首先,请参考表2,表2是基于youtube faces和facescrub这两个数据集得到的不同哈希码长度下的map对比实验结果。如表2所示,实验结果表明,与相关方案相比,采用本技术提供的dcdh,在youtube faces和facescrub这两个数据集上,得到的所有哈希码长度下的map都优于其他相关方案。
[0231]
其中,在youtube faces数据集上,本技术提供的dcdh将12位哈希码长度下的map提升到了91.61%,领先第二名将近四个百分点;在其余三种哈希码长度下,dcdh的map仍优于其他相关方案。在facescrub数据集上,本技术提供的dcdh在所有哈希码长度下的map都明显优于其他相关方案最少五个百分点。
[0232]
需要说明的是,在12位哈希码长度下,本技术提供的dcdh比第二名sdh cnn高出二十个百分点。相比之下,dpsh和dtsh基于这两个数据集得到的map较低,主要是由于这两种方案在训练过程中并不能学习到所有的样本信息,而本技术提供的dcdh是基于类中心和量化误差来训练图像检索模型的,不仅能够学习到所有的样本信息,还能够减少模型训练的计算量,提高模型的训练效率,而且,训练后的图像检索模型能够生成更具有判别性的哈希码,从而有效提高了map。
[0233]
表2
[0234][0235]
接着,请参考表3,表3是基于youtube faces和facescrub这两个数据集得到的不
同哈希码长度下前5个返回样本的精度(top

5)的对比实验结果。如表3所示,实验结果表明,与相关方案相比,采用本技术提供的dcdh,在youtube faces和facescrub这两个数据集上,得到的top

5的返回精度都优于其他相关方案,与上述表2中的分析结果类似。
[0236]
表3
[0237][0238]
然后,请参考图7和图8,对本技术与相关方案在youtube faces和facescrub这两个数据集上得到的不同哈希码长度下的精度(precision)、精度

召回率曲线(precision

recall curve)以及不同哈希码长度下的召回率(recall)结果进行说明。
[0239]
图7是本技术实施例提供的一种各个方案的实验结果示意图,用于表示本技术与相关方案在youtube faces数据集上的实验结果。图7中(a)图表示不同哈希码长度所对应的两个汉明距离以内的返回精度曲线;图7中(b)图表示48位哈希码长度下的精度0召回率曲线;图7中(c)图表示不同哈希码长度下的召回率曲线。
[0240]
图8是本技术实施例提供的另一种各个方案的实验结果示意图,用于表示本技术与相关方案在facescrub数据集上的实验结果。图8中(a)图表示不同哈希码长度所对应的两个汉明距离以内的返回精度曲线;图8中(b)图表示48位哈希码长度下的精度

召回率曲线;图8中(c)图表示不同哈希码长度下的召回率曲线。
[0241]
从图7和图8中能够得出,本技术提供的dcdh在上述三种评价标准下的性能优于其他相关方案。一方面,本技术提供的dcdh中的目标损失函数考虑了样本图像与类中心之间的距离,这样既有利于捕捉训练数据集的全局语义相似度,也有利于减小离群样本对训练的影响;另一方面,本技术的提供的dcdh中的目标损失函数还考虑了类中心之间的距离,这样可以有效增大不同类中心两两之间的距离,避免了哈希码长度增大时导致的哈希码重叠现象产生,使得基于本技术提供的dcdh生成的哈希码为更有判别性的紧凑的哈希码。
[0242]
下面基于vggface2数据集,对本技术与相关方案的实验结果进行说明。
[0243]
首先,不同于youtube faces和facescrub数据集,在基于vggface2数据集进行实验时,本技术提供了两种实验方式。第一种实验方式与之前在youtubefaces和facescrub上的实验方式相同,也即是采用本技术的网络主干进行训练和测试,将这种实验方式简称为原有网络,此时样本图像的尺寸为32
×
32。第二种实验方式则是将一个已经在vggface2数据集进行过预训练的模型部署为初始化网络,然后对该初始化网络进行微调后,得到预训练网络,在该预训练网络的基础上进行实验,将这种实验方式简称为预训练网络,此时样本图像的尺寸为160
×
160。示意性地,该初始化网络的网络结构为inception

resnet,将该初始化网络中原本用于分类的全连接层替换为本技术实施例图2所示的第二全连接层(也可以理解为全连接哈希层),即得到预训练网络,在该预训练网络的基础上进行实验。
[0244]
接着,请参考表4,表4是基于vggface2数据集得到的两种实验方式下的实验结果。
如表4所示,实验结果表明,与相关方案相比,采用本技术提供的dcdh在原有网络和预训练网络这两种实验方式下的性能均优于其他相关方案。
[0245]
表4
[0246][0247]
然后,请参考图9,图9是本技术实施例提供的另一种各个方案的实验结果示意图,用于表示本技术与相关方案在vggface2数据集上的实验结果。图9中(a)图表示在48位哈希码长度下,表4所示的五种方案的精度

召回率曲线;图9中(b)图表示在48位哈希码长度下,表4所示的五种方案返回前不同个数样本的精度曲线。从图9能够得出,本技术提供的dcdh的性能明显优于其他相关方案。
[0248]
综上,本技术实施例的图像检索模型的训练方法,在经过图像检索模型得到多个样本图像的哈希码后,获取多个样本图像所属的多个图像类别对应的类中心,从而基于各个样本图像到其对应类中心的距离以及各个类中心之间的距离,来对图像检索模和型各个类中心进行训练。这种训练方式能够减少模型训练的计算量,从而提高模型的训练效率,而且,训练后的图像检索模型能够生成更具有判别性的哈希码,从而在提高训练效率的同时,能够有效提高图像检索模型的准确率。
[0249]
示意性地,根据本技术提供的图像检索模型的训练方法得到的图像检索模型,能够应用的场景包括但不限于以下几种:
[0250]
场景一、社交娱乐场景
[0251]
基于该图像检索模型开发运行在终端上的应用程序,该应用程序提供查询功能。例如,用户能够在终端上执行查询操作来上传待查询的明星照片,终端响应于用户的查询操作,调用该图像检索模型,由该图像检索模型输出待查询的明星照片的哈希码,终端基于该哈希码,在图像数据库中进行检索,得到对应明星的其他照片后显示于终端屏幕上,实现“明星查询”功能。又例如,用户能够在终端上执行查询操作来上传用户的本人照片,终端响应于用户的查询操作,调用该图像检索模型,由该图像检索模型输出该本人照片的哈希码,终端基于该哈希码,在图像数据库中进行检索,得到与该本人照片相似度最高的明星照片进行显示,实现“最神似明星脸”功能。
[0252]
场景二、信息安全场景
[0253]
基于该图像检索模型开发运用于门卫,边检,银行等特殊场所下的人脸检索系统。通过将监控摄像头拍摄图片输入人脸检索系统,由该人脸检索系统调用图像检索模型,并基于图像检索模型输出的拍摄图片对应的哈希码,在公安部门的犯罪嫌疑人资料库中进行
检索,排除不疑似人选,锁定最为疑似的犯罪嫌疑人。该人脸检索系统能够辅助人工的肉眼排查,快速从监控图像或视频中发现蛛丝马迹,提高人脸检索的效率和准确率。
[0254]
图10是根据本技术实施例提供的一种图像检索模型的训练装置的结构示意图。该装置用于执行上述图像检索模型的训练方法执行时的步骤,参见图10,该装置包括:处理模块1001、类中心获取模块1002、计算模块1003以及训练模块1004。
[0255]
处理模块1001,用于基于图像检索模型对多个样本图像进行处理,得到该多个样本图像的哈希码;
[0256]
类中心获取模块1002,用于基于该多个样本图像所属的多个图像类别,获取该多个图像类别的类中心;
[0257]
计算模块1003,用于基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息、各个该类中心之间的第二信息,计算损失值,该第一信息和该第二信息分别用于指示对应的样本图像的哈希码在汉明空间内的距离;
[0258]
训练模块1004,用于基于该损失值,对该图像检索模型和各个该类中心进行训练。
[0259]
在一种可选地实现方式中,该计算模块1003包括:
[0260]
第一获取单元,用于基于该多个样本图像的哈希码和该多个样本图像对应的类中心的哈希码,得到该多个样本图像与该多个样本图像对应的类中心之间的第一信息;
[0261]
第二获取单元,用于基于各个该类中心的哈希码,得到各个该类中心之间的第二信息;
[0262]
第三获取单元,用于基于各个该类中心之间的第二信息,得到各个该类中心之间的条件概率,该条件概率用于指示各个该类中心之间的不相似程度;
[0263]
计算单元,用于基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息和各个该类中心之间的条件概率,计算该损失值。
[0264]
在一种可选地实现方式中,该第三获取单元用于:
[0265]
基于各个该类中心之间的第二信息和类间指示矩阵,得到各个该类中心之间的条件概率,该类间指示矩阵用于确保两个相同的该类中心之间的该条件概率为0。
[0266]
在一种可选地实现方式中,该处理模块1001用于:
[0267]
调用该图像检索模型对该多个样本图像进行处理,得到该多个样本图像的预测编码;
[0268]
对该多个样本图像的预测编码进行二值化处理,得到该多个样本图像的哈希码;
[0269]
该计算模块1003用于:
[0270]
基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息、各个该类中心之间的第二信息、该多个样本图像的预测编码和哈希码之间的量化误差,计算该损失值,该量化误差基于该多个样本图像的预测编码和哈希码之间的差值计算得到。
[0271]
在一种可选地实现方式中,该装置还包括:
[0272]
回归矩阵获取模块,用于基于该标签矩阵和该多个样本图像的哈希码,获取回归矩阵;
[0273]
该计算模块1003用于:
[0274]
基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息、各个该类中心之间的第二信息以及该回归矩阵,计算该损失值。
[0275]
在一种可选地实现方式中,该计算模块1003用于:
[0276]
基于该多个样本图像的哈希码、该标签矩阵以及该回归矩阵,得到该多个样本图像与该多个样本图像对应的图像类别之间的第三信息,该第三信息用于指示任一样本图像的哈希码与对应的图像类别的类别编码之间的误差;
[0277]
基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息、各个该类中心之间的第二信息、该多个样本图像与该多个样本图像对应的图像类别之间的第三信息,计算该损失值。
[0278]
在一种可选地实现方式中,该计算模块1003用于:
[0279]
保持该回归矩阵、图像检索模型的网络参数以及各个类中心不变,对多个样本图像的哈希码进行更新,得到更新后的该多个样本图像的哈希码;
[0280]
保持该回归矩阵以及更新后的该多个样本图像的哈希码不变,基于该多个样本图像与该多个样本图像对应的类中心之间的第一信息、各个该类中心之间的第二信息以及该回归矩阵,计算该损失值;
[0281]
该训练模块用于基于该损失值,对该图像检索模型的网络参数和各个该类中心进行更新,得到更新后的图像检索模型和各个该类中心。
[0282]
本技术实施例的图像检索模型的训练装置,在经过图像检索模型得到多个样本图像的哈希码后,获取多个样本图像所属的多个图像类别对应的类中心,从而基于各个样本图像到其对应类中心的距离以及各个类中心之间的距离,来对图像检索模型和各个类中心进行训练。这种训练装置能够减少模型训练的计算量,从而提高模型的训练效率,而且,训练后的图像检索模型能够生成更具有判别性的哈希码,从而在提高训练效率的同时,能够有效提高图像检索模型的准确率。
[0283]
需要说明的是,上述实施例提供的图像检索模型的训练装置在训练图像检索模型时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像检索模型的训练装置与图像检索模型的训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0284]
本技术实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器用于存储至少一条计算机程序,该至少一段计算机程序由该处理器加载并执行以实现本技术实施例中的图像检索模型的训练方法中所执行的操作。
[0285]
在一些实施例中,本技术实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过有线网络或无线网络互连的多个计算机设备上执行,分布在多个地点且通过有线网络或无线网络互连的多个计算机设备可以组成区块链系统。
[0286]
以计算机设备为服务器为例,图11是根据本技术实施例提供的一种服务器的结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,能够包括一个或一个以上处理器(central processing units,cpu)1101和一个或一个以上的存储器1102,其中,该存储器1102中存储有至少一条计算机程序,该至少一条计算机程序由处理器1101加载并执行以实现上述各个方法实施例提供的图像检索模型的训练方法。当然,该服务器还能够具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还
能够包括其他用于实现设备功能的部件,在此不做赘述。
[0287]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质应用于计算机设备,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述实施例的图像检索模型的训练方法中计算机设备所执行的操作。
[0288]
本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述各种可选实现方式中提供的图像检索模型的训练方法。
[0289]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0290]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献