CN115457638A - 模型训练方法、数据检索方法、装置、设备及存储介质 - Google Patents
模型训练方法、数据检索方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115457638A CN115457638A CN202211198978.4A CN202211198978A CN115457638A CN 115457638 A CN115457638 A CN 115457638A CN 202211198978 A CN202211198978 A CN 202211198978A CN 115457638 A CN115457638 A CN 115457638A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- image
- binary hash
- hash code
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种模型训练方法、数据检索方法、装置、设备及存储介质,涉及人工智能技术领域,模型训练方法用于训练数据编码模型,数据编码模型包括第一子模型和第二子模型,模型训练方法包括:获取训练图像及训练图像对应的近似二进制哈希码矩阵;基于训练图像和近似二进制哈希码矩阵,对第一子模型进行迭代训练,得到训练完成的第一子模型以及第一子模型输出的目标合成图像;将训练图像、近似二进制哈希码矩阵和目标合成图像输入第二子模型进行编码处理,根据确定的柯西分布交叉熵损失和柯西分布量化损失调整第二子模型的参数,得到训练完成的数据编码模型。本申请能够得到精度更高的数据编码模型,以用于更加准确地进行数据检索。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种模型训练方法、数据检索方法、装置、设备及存储介质。
背景技术
随着深度学习的快速发展,人脸识别技术的应用日益广泛。在通过人脸识别技术进行人脸识别时,需要用摄像机或摄像头采集含有人脸的图像,基于图像中的人脸,在人脸数据库中进行数据检索,以确定图像中的人脸是否存在于人脸数据库中。
目前,通常利用训练好的数据编码模型来获得输入的人脸图像对应的目标二进制哈希码,将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,来确定输入的人脸图像是否存在于人脸数据库中。其中,数据编码模型是基于结合生成对抗网络的哈希算法获得的,在训练数据编码模型时,利用余弦交叉熵损失保存真实图像和合成图像的哈希码相似性信息,并使用余弦量化损失控制量化误差,得到训练好的数据编码模型。但获得的数据编码模型的精度不高。
发明内容
本申请提供一种模型训练方法、数据检索方法、装置、设备及存储介质,以解决目前获得的数据编码模型的精度不高的问题。
第一方面,本申请提供一种模型训练方法,用于训练数据编码模型,数据编码模型包括第一子模型和第二子模型,该模型训练方法包括:
获取训练图像,训练图像包含人脸;
基于训练图像,获取训练图像对应的近似二进制哈希码矩阵,近似二进制哈希码矩阵包含训练图像的近似二进制哈希码;
基于训练图像和近似二进制哈希码矩阵,对第一子模型进行迭代训练,得到训练完成的第一子模型,以及训练完成的第一子模型输出的目标合成图像;
将训练图像、近似二进制哈希码矩阵和目标合成图像输入第二子模型进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失,柯西分布交叉熵损失用于判断当前图像和训练图像的近似二进制哈希码的相似性,柯西分布量化损失用于控制将第二子模型输出的目标二进制哈希码做连续松弛引起的量化误差;
根据柯西分布交叉熵损失和柯西分布量化损失调整第二子模型的参数,得到训练完成的数据编码模型。
可选的,第一子模型包括编码鉴别网络、生成网络和训练鉴别网络,基于训练图像和近似二进制哈希码矩阵,对第一子模型进行迭代训练,得到训练完成的第一子模型,以及训练完成的第一子模型输出的目标合成图像,包括:将近似二进制哈希码矩阵和随机噪声向量输入编码鉴别网络,基于近似二进制哈希码矩阵和随机噪声向量的相似度,确定第一损失;根据第一损失调整随机噪声向量,得到调整后的随机噪声向量;将近似二进制哈希码矩阵和调整后的随机噪声向量输入生成网络,生成初始合成图像;将训练图像和初始合成图像输入训练鉴别网络,基于训练鉴别网络的当前处理图像是否为训练图像,确定第二损失;以及基于训练鉴别网络的当前处理图像与训练图像的相似度,确定第三损失;根据第二损失和第三损失调整第一子模型的参数,得到训练完成的第一子模型,以及训练完成的第一子模型的生成网络输出的目标合成图像。
可选的,将训练图像、近似二进制哈希码矩阵和目标合成图像输入第二子模型进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失,包括:将训练图像和目标合成图像输入第二子模型的卷积层进行卷积处理,得到训练图像和目标合成图像中每个图像对应的第一特征矩阵;将第一特征矩阵输入第二子模型的池化层进行池化处理,得到第二特征矩阵;将第二特征矩阵和近似二进制哈希码矩阵输入第二子模型的全连接层进行全连接处理,得到训练图像和目标合成图像中每个图像对应的目标二进制哈希码,并确定柯西分布交叉熵损失和柯西分布量化损失。
可选的,基于训练图像,获取训练图像对应的近似二进制哈希码矩阵,包括:获取训练图像对应的成对相似性矩阵;对成对相似性矩阵进行降维处理,得到低维成对相似性矩阵;根据成对相似性矩阵和低维成对相似性矩阵,获取近似二进制哈希码矩阵。
第二方面,本申请提供一种数据检索方法,包括:
获取待检索人脸图像;
将待检索人脸图像输入数据编码模型的第二子模型进行编码处理,得到第二子模型输出的目标二进制哈希码,数据编码模型为采用如本申请第一方面所述的模型训练方法训练得到的;
将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,确定检索结果,检索结果用于指示待检索人脸图像是否存在于人脸数据库中。
可选的,将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,确定检索结果,包括:将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,得到目标二进制哈希码和人脸数据库中的二进制哈希码的差异概率值;若差异概率值小于阈值,则确定检索结果为待检索人脸图像存在于人脸数据库中;若差异概率大于或等于阈值,则确定检索结果为待检索人脸图像未存在于人脸数据库中。
第三方面,本申请提供一种模型训练装置,用于训练数据编码模型,数据编码模型包括第一子模型和第二子模型,该模型训练装置包括:
第一获取模块,用于获取训练图像,训练图像包含人脸;
第二获取模块,用于基于训练图像,获取训练图像对应的近似二进制哈希码矩阵,近似二进制哈希码矩阵包含训练图像的近似二进制哈希码;
第一训练模块,用于基于训练图像和近似二进制哈希码矩阵,对第一子模型进行迭代训练,得到训练完成的第一子模型,以及训练完成的第一子模型输出的目标合成图像;
处理模块,用于将训练图像、近似二进制哈希码矩阵和目标合成图像输入第二子模型进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失,柯西分布交叉熵损失用于判断当前图像和训练图像的近似二进制哈希码的相似性,柯西分布量化损失用于控制将第二子模型输出的目标二进制哈希码做连续松弛引起的量化误差;
第二训练模块,用于根据柯西分布交叉熵损失和柯西分布量化损失调整第二子模型的参数,得到训练完成的数据编码模型。
可选的,第一子模型包括编码鉴别网络、生成网络和训练鉴别网络,第一训练模块具体用于:将近似二进制哈希码矩阵和随机噪声向量输入编码鉴别网络,基于近似二进制哈希码矩阵和随机噪声向量的相似度,确定第一损失;根据第一损失调整随机噪声向量,得到调整后的随机噪声向量;将近似二进制哈希码矩阵和调整后的随机噪声向量输入生成网络,生成初始合成图像;将训练图像和初始合成图像输入训练鉴别网络,基于训练鉴别网络的当前处理图像是否为训练图像,确定第二损失;以及基于训练鉴别网络的当前处理图像与训练图像的相似度,确定第三损失;根据第二损失和第三损失调整第一子模型的参数,得到训练完成的第一子模型,以及训练完成的第一子模型的生成网络输出的目标合成图像。
可选的,处理模块具体用于:将训练图像和目标合成图像输入第二子模型的卷积层进行卷积处理,得到训练图像和目标合成图像中每个图像对应的第一特征矩阵;将第一特征矩阵输入第二子模型的池化层进行池化处理,得到第二特征矩阵;将第二特征矩阵和近似二进制哈希码矩阵输入第二子模型的全连接层进行全连接处理,得到训练图像和目标合成图像中每个图像对应的目标二进制哈希码,并确定柯西分布交叉熵损失和柯西分布量化损失。
可选的,第二获取模块具体用于:获取训练图像对应的成对相似性矩阵;对成对相似性矩阵进行降维处理,得到低维成对相似性矩阵;根据成对相似性矩阵和低维成对相似性矩阵,获取近似二进制哈希码矩阵。
第四方面,本申请提供一种数据检索装置,包括:
获取模块,用于获取待检索人脸图像;
处理模块,用于将待检索人脸图像输入数据编码模型的第二子模型进行编码处理,得到第二子模型输出的目标二进制哈希码,数据编码模型为采用如本申请第一方面所述的模型训练方法训练得到的;
确定模块,用于将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,确定检索结果,检索结果用于指示待检索人脸图像是否存在于人脸数据库中。
可选的,确定模块具体用于:将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,得到目标二进制哈希码和人脸数据库中的二进制哈希码的差异概率值;若差异概率值小于阈值,则确定检索结果为待检索人脸图像存在于人脸数据库中;若差异概率大于或等于阈值,则确定检索结果为待检索人脸图像未存在于人脸数据库中。
第五方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现如本申请第一方面所述的模型训练方法。
第六方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现如本申请第二方面所述的数据检索方法。
第七方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,计算机程序指令被处理器执行时,实现如本申请第一方面所述的模型训练方法。
第八方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,计算机程序指令被处理器执行时,实现如本申请第二方面所述的数据检索方法。
第九方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如本申请第一方面所述的模型训练方法。
第十方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如本申请第二方面所述的数据检索方法。
本申请提供的模型训练方法、数据检索方法、装置、设备及存储介质,模型训练方法用于训练数据编码模型,数据编码模型包括第一子模型和第二子模型;通过获取训练图像,基于训练图像,获取训练图像对应的近似二进制哈希码矩阵,近似二进制哈希码矩阵包含训练图像的近似二进制哈希码;基于训练图像和训练图像对应的近似二进制哈希码矩阵,对第一子模型进行迭代训练,得到训练完成的第一子模型,以及训练完成的第一子模型输出的目标合成图像;将训练图像、近似二进制哈希码矩阵和目标合成图像输入第二子模型进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失;根据柯西分布交叉熵损失和柯西分布量化损失调整第二子模型的参数,得到训练完成的数据编码模型。由于本申请中,在训练第二子模型时,使用了柯西分布交叉熵损失和柯西分布量化损失来调整第二子模型的参数,而不使用余弦交叉熵损失和余弦量化损失,能够有效优化汉明空间检索精度和性能,学习生成紧凑的二进制哈希码。因此,能够得到精度更高的数据编码模型,进而能够用于更加准确地进行数据检索。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的应用场景示意图;
图2为本申请一实施例提供的模型训练方法的流程图;
图3为本申请一实施例提供的余弦损失和柯西分布交叉熵损失在相似数据点二进制哈希码间汉明距离的概率值的示意图;
图4为本申请另一实施例提供的模型训练方法的流程图;
图5为本申请一实施例提供的数据编码模型的架构示意图;
图6为本申请一实施例提供的数据检索方法的流程图;
图7为本申请一实施例提供的模型训练装置的结构示意图;
图8为本申请一实施例提供的数据检索装置的结构示意图;
图9为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的技术方案中,所涉及的金融数据或用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
首先,对本申请涉及的部分技术术语进行解释说明:
数据检索:以深度学习和机器视觉为核心,提取图像内容特征,建立图像搜索引擎;用户比如通过摄像头识别人脸,用以图搜图的方式可快速在人脸数据库中检索到高相似度的图像数据。
深度对抗哈希:目前应用比较广泛的大规模数据检索方法,在现有的深度哈希学习方法中引入生成对抗网络(Generative Adversarial Nets,GANs)架构,通过对抗博弈机制实现高质量数据检索。
汉明空间检索:在统计学和编码理论中,汉明空间是长度为N的所有2N个二进制串的集合;通过将数据点从原始空间映射到汉明空间来表示原始数据,可以极大地降低存储成本。汉明空间检索是指通过哈希表查找而不是线性扫描的方式直接将汉明半径r内的数据点返回给每次查询的检索方案,且当汉明半径r≤2时,每次检索只需要O(1)的时间即可找到所有r个数据点。
随着深度学习的快速发展,人脸识别技术的应用日益广泛,比如将人脸识别技术用于掌银应用的注册登录、智能视频监控和人脸考勤打卡等。在使用人脸识别技术时,积累的人脸图像数据通常会呈现出两个的特征:(1)数据量变得巨大且增长趋势迅速;(2)常常伴随着高维特征。海量数据和高维特征问题的叠加,使得当前人脸图像数据的检索算法效率低下。
目前,通常利用训练好的数据编码模型来获得输入的人脸图像对应的目标二进制哈希码,将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,来确定输入的人脸图像是否存在于人脸数据库中。其中,数据编码模型是基于结合生成对抗网络的哈希算法获得的,在训练数据编码模型时,利用余弦交叉熵损失保存真实图像和合成图像的哈希码相似性信息,并使用余弦量化损失控制量化误差,得到训练好的数据编码模型。
但是,余弦损失采用Sigmoid函数作为概率映射关系,但是Sigmoid函数存在一个关键的错误指定问题,即:当哈希码间的汉明距离r的取值在时,Sigmoid函数映射的概率值仍然很高,仅当汉明距离接近时,概率值才开始明显减小,其中,K表示汉明距离的最大长度。这意味着余弦损失对于区间内的汉明距离还没有足够的判别力,从而会大大影响获得的数据编码模型的精度,导致获得的数据编码模型的精度不高。
另外,数据编码模型会使用基于成对相似信息的条件生成对抗网络(PairConditional-Wasserstein Generative Adversarial Network,PC-WGAN)框架,该网络通过以成对相似性信息为条件实现图像合成。虽然其相较于原始生成对抗网络能够生成视觉上以假乱真的图像样本,但是仍然伴随着优化的不稳定性,会导致在训练数据编码模型时存在数据编码模型崩溃的问题。
基于上述问题,本申请提供一种模型训练方法、数据检索方法、装置、设备及存储介质,通过模型训练方法训练数据编码模型,数据编码模型包括第一子模型和第二子模型;数据编码模型的第一子模型包含有编码鉴别网络,能够使得第一子模型包含的生成网络输出的合成图像更好地表示真实图像的数据分布;在训练数据编码模型的第二子模型时,使用基于长尾柯西分布的交叉熵损失和基于长尾柯西分布的量化损失来调整第二子模型的参数,而不使用余弦交叉熵损失和余弦量化损失,能够有效优化汉明空间检索精度和性能,学习生成紧凑的二进制哈希码。因此,能够得到精度更高的数据编码模型,进而能够用于更加准确地进行数据检索。
以下,首先对本申请提供的方案的应用场景进行示例说明。
图1为本申请一实施例提供的应用场景示意图。如图1所示,本应用场景中,考勤设备101获取用户的人脸图像,将人脸图像发送给服务器102,服务器102根据人脸图像在人脸数据库中进行检索,得到检索结果,并将检索结果发送给考勤设备101。若检索结果为人脸图像存在于人脸数据库中,则考勤设备101输出考勤结果为考勤成功的提示信息给用户;若检索结果为人脸图像未存在于人脸数据库中,则考勤设备101输出考勤结果为考勤失败的提示信息给用户。
需要说明的是,图1仅是本申请实施例提供的一种应用场景的示意图,本申请实施例不对图1中包括的设备进行限定,也不对图1中设备之间的位置关系进行限定。例如,在图1所示的应用场景中,还可以包括数据存储设备,该数据存储设备相对服务器102可以是外部存储器,也可以是集成在服务器102中的内部存储器。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请一实施例提供的模型训练方法的流程图,用于训练数据编码模型,数据编码模型包括第一子模型和第二子模型。本申请实施例的方法可以应用于电子设备中,该电子设备可以是服务器或服务器集群等。如图2所示,本申请实施例的方法包括:
S201、获取训练图像。
其中,训练图像包含人脸。
本申请实施例中,训练图像比如为真实人脸图像。
S202、基于训练图像,获取训练图像对应的近似二进制哈希码矩阵,近似二进制哈希码矩阵包含训练图像的近似二进制哈希码。
该步骤中,在获得了训练图像后,可以基于训练图像,获取训练图像对应的近似二进制哈希码矩阵,即获得了每个训练图像的近似二进制哈希码。
进一步地,可选的,基于训练图像,获取训练图像对应的近似二进制哈希码矩阵,可以包括:获取训练图像对应的成对相似性矩阵;对成对相似性矩阵进行降维处理,得到低维成对相似性矩阵;根据成对相似性矩阵和低维成对相似性矩阵,获取近似二进制哈希码矩阵。
示例性地,可以采用相似信息编码的方式学习训练图像对应的近似二进制哈希码矩阵(比如用H表示)。具体地,假设获取了n张训练图像I={I1,I2,...,In},对这n张训练图像进行两两组合,可以获取这n张训练图像对应的成对相似性矩阵,其中,比如用Sij表示各训练图像的成对相似性向量值:
其中,Ii表示第i个训练图像,Ij表示第j个训练图像。
在获得了成对相似性矩阵后,以相似信息编码的方式将每张训练图像的相似信息Si嵌入到低维向量Hi,即对成对相似性矩阵进行降维处理,得到低维成对相似性矩阵(比如用HiHj T表示),其中,Hj T表示Hi的转置向量;然后通过最小化Sij和HiHj T间的误差来学习训练图像的近似二进制哈希码矩阵H。获得的近似二进制哈希码矩阵H为n×q维的矩阵,其中,q小于n,可以用Hk表示训练图像Ik的q位近似二进制哈希码。
可以通过最小化重建误差来学习训练图像的近似二进制哈希码矩阵H。具体地,通过如下公式一来获得H中每个训练图像的近似二进制哈希码的学习损失:
其中,LH表示近似二进制哈希码的学习损失;q表示H的列数。
S203、基于训练图像和训练图像对应的近似二进制哈希码矩阵,对第一子模型进行迭代训练,得到训练完成的第一子模型,以及训练完成的第一子模型输出的目标合成图像。
该步骤中,在获得了训练图像和训练图像对应的近似二进制哈希码矩阵后,可以将训练图像和训练图像对应的近似二进制哈希码矩阵输入第一子模型进行迭代训练,得到训练完成的第一子模型,以及训练完成的第一子模型输出的目标合成图像。其中,第一子模型采用深度对抗博弈的方式来生成目标合成图像。对于如何得到训练完成的第一子模型,可参考后续实施例,此处不再赘述。
S204、将训练图像、近似二进制哈希码矩阵和目标合成图像输入第二子模型进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失。
其中,柯西分布交叉熵损失用于判断当前图像和训练图像的近似二进制哈希码的相似性,柯西分布量化损失用于控制将第二子模型输出的目标二进制哈希码做连续松弛引起的量化误差。
该步骤中,在获得了目标合成图像后,可以将训练图像、近似二进制哈希码矩阵和目标合成图像输入第二子模型进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失。其中,第二子模型使用贝叶斯学习框架,通过从训练图像和目标合成图像中保持相似度的学习和控制量化误差最小化来进行深度哈希处理。
示例性地,图3为本申请一实施例提供的余弦损失和柯西分布交叉熵损失在相似数据点二进制哈希码间汉明距离的概率值的示意图,如图3所示,余弦损失采用Sigmoid函数作为概率映射关系,对应不同的α,图3中示出了不同的余弦损失对应的曲线。当二进制哈希码间的汉明距离r的取值在时(其中,K的取值为60),Sigmoid函数映射的概率值仍然很高,仅当汉明距离接近时,概率值才开始明显减小,这意味着余弦损失对于区间内的汉明距离还没有足够的判别力。而柯西分布交叉熵损失对于区间内的汉明距离,概率下降的非常快,从而使得相似信息被拉至较小的汉明半径内,即对于较小的汉明距离有足够的判别力(对应曲线301)。因此,本申请的第二子模型中使用了柯西分布交叉熵损失以及柯西分布量化损失来进行深度哈希处理。
该步骤中,示例性地,柯西分布交叉熵损失为基于长尾柯西分布的交叉熵损失,比如用表示,用于判断第二子模型处理的当前图像和训练图像的近似二进制哈希码的相似性,来保证图像对在汉明空间内的相似性学习;柯西分布量化损失为基于长尾柯西分布的量化损失,比如用表示,用于控制将第二子模型输出的目标二进制哈希码做连续松弛引起的量化误差,来学习几乎无损的二进制哈希码。其中,由于近似二进制哈希码矩阵是二进制的(哈希码的取值只有0和1两种结果),即含有二进制约束,而含有二进制约束的离散优化比较具有挑战性,为了简化优化,将连续松弛应用于二进制约束,用于控制由连续松弛引起的量化误差。
具体地,通过如下公式二来得到柯西分布交叉熵损失:
其中,hi表示第二子模型处理的当前图像的二进制哈希码,hj表示近似二进制哈希码矩阵中的近似二进制哈希码;Sij表示根据训练图像和目标合成图像获得的成对相似性矩阵S中第i行和第j列的两个图像的相似性向量值,比如若相似,则Sij为1,若不相似,则Sij为0;ωij表示每个训练对(hi,hj,Sij)的权重;d(hi,hj)表示目标二进制哈希码hi与hj之间的汉明距离;γ表示柯西分布的比例参数。
通过如下公式三来得到柯西分布量化损失:
其中,d(|hi|,1)为目标二进制哈希码hi与1之间的汉明距离。
基于上述公式二和公式三,可以通过如下公式四来得到第二子模型的总损失(比如用LF表示):
对于第二子模型如何进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失,可参考后续实施例,此处不再赘述。
S205、根据柯西分布交叉熵损失和柯西分布量化损失调整第二子模型的参数,得到训练完成的数据编码模型。
该步骤中,在获得了柯西分布交叉熵损失和柯西分布量化损失后,可以根据柯西分布交叉熵损失和柯西分布量化损失,调整第二子模型的参数,使得柯西分布交叉熵损失和柯西分布量化损失的总损失最小化,并趋于稳定,得到训练完成的数据编码模型。
本申请实施例提供的模型训练方法,用于训练数据编码模型,数据编码模型包括第一子模型和第二子模型;通过获取训练图像,基于训练图像,获取训练图像对应的近似二进制哈希码矩阵,近似二进制哈希码矩阵包含训练图像的近似二进制哈希码;基于训练图像和训练图像对应的近似二进制哈希码矩阵,对第一子模型进行迭代训练,得到训练完成的第一子模型,以及训练完成的第一子模型输出的目标合成图像;将训练图像、近似二进制哈希码矩阵和目标合成图像输入第二子模型进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失;根据柯西分布交叉熵损失和柯西分布量化损失调整第二子模型的参数,得到训练完成的数据编码模型。由于本申请实施例中,在训练第二子模型时,使用了柯西分布交叉熵损失和柯西分布量化损失来调整第二子模型的参数,而不使用余弦交叉熵损失和余弦量化损失,能够有效优化汉明空间检索精度和性能,学习生成紧凑的二进制哈希码。因此,能够得到精度更高的数据编码模型,进而能够用于更加准确地进行数据检索。
图4为本申请另一实施例提供的模型训练方法的流程图。在上述实施例的基础上,本申请实施例对模型训练方法进行进一步说明。如图4所示,本申请实施例的方法可以包括:
S401、获取训练图像。
其中,训练图像包含人脸。
该步骤的具体描述可以参见图2所示实施例中S201的相关描述,此处不再赘述。
S402、基于训练图像,获取训练图像对应的近似二进制哈希码矩阵,近似二进制哈希码矩阵包含训练图像的近似二进制哈希码。
该步骤的具体描述可以参见图2所示实施例中S202的相关描述,此处不再赘述。
本申请实施例中,第一子模型包括编码鉴别网络、生成网络和训练鉴别网络,图2中S203步骤可以进一步包括如下的S403至S407五个步骤:
S403、将近似二进制哈希码矩阵和随机噪声向量输入编码鉴别网络,基于近似二进制哈希码矩阵和随机噪声向量的相似度,确定第一损失。
该步骤中,对于编码鉴别网络,第一损失为判别近似二进制哈希码矩阵H和随机噪声向量(比如用Zr表示)之间的分布一致性的训练损失。编码鉴别网络以二进制哈希码矩阵H和随机噪声向量Zr的拼接作为输入,编码鉴别网络的输出为[0,1]区间内的概率值,表示近似二进制哈希码矩阵和随机噪声向量之间的分布一致性。通过采用编码鉴别网络,可以使得随机噪声向量能够学习近似二进制哈希码矩阵的合成似然性,鼓励生成的合成图像更好地表示真实数据分布。
S404、根据第一损失调整随机噪声向量,得到调整后的随机噪声向量。
该步骤中,在获得了第一损失后,可以根据第一损失调整随机噪声向量,得到调整后的随机噪声向量,以使得调整后的随机噪声向量与近似二进制哈希码矩阵之间的分布具有一致性。
S405、将近似二进制哈希码矩阵和调整后的随机噪声向量输入生成网络,生成初始合成图像。
该步骤中,生成网络以二进制哈希码矩阵H和随机噪声向量Zr的拼接作为输入,生成初始合成图像。对于生成网路如何生成初始合成图像,可参考目前的生成对抗网络的相关技术。
S406、将训练图像和初始合成图像输入训练鉴别网络,基于训练鉴别网络的当前处理图像是否为训练图像,确定第二损失;以及基于训练鉴别网络的当前处理图像与训练图像的相似度,确定第三损失。
该步骤中,对于训练鉴别网络,一方面,使用沃瑟斯坦生成对抗网络-梯度惩罚(Wasserstein Generative Adversarial Network-Gradient Penalty,WGAN-GP)损失函数表示判别输入图像真假性的训练损失,即基于训练鉴别网络的当前处理图像是否为训练图像(可以理解为真实人脸图像),确定第二损失,其中,梯度惩罚项用于满足WGAN-GP的李普希兹(1-lipschitz)条件;另一方面,通过计算训练鉴别网络的输出和成对相似性矩阵之间的二进制交叉熵的总和,以表示判别输入的成对图像相似性的训练损失,即基于训练鉴别网络当前处理图像与训练图像(即真实人脸图像)的相似度,确定第三损失。具体地,训练鉴别网络以训练图像和初始合成图像的混合数据集作为输入,输出为[0,1]区间内的概率值,表示输入图像的真假性。
S407、根据第二损失和第三损失调整第一子模型的参数,得到训练完成的第一子模型,以及训练完成的第一子模型的生成网络输出的目标合成图像。
该步骤中,在获得了第二损失和第三损失后,可以根据第二损失和第三损失调整第一子模型的参数,得到训练完成的第一子模型,以及训练完成的第一子模型的生成网络输出的目标合成图像,即对第一子模型采用深度对抗博弈的方式生成目标合成图像。
本申请实施例中,图2中S204步骤可以进一步包括如下的S408至S410三个步骤:
S408、将训练图像和目标合成图像输入第二子模型的卷积层进行卷积处理,得到训练图像和目标合成图像中每个图像对应的第一特征矩阵。
S409、将第一特征矩阵输入第二子模型的池化层进行池化处理,得到第二特征矩阵。
S410、将第二特征矩阵和近似二进制哈希码矩阵输入第二子模型的全连接层进行全连接处理,得到训练图像和目标合成图像中每个图像对应的目标二进制哈希码,并确定柯西分布交叉熵损失和柯西分布量化损失。
示例性地,第二子模型使用贝叶斯学习框架,通过从训练图像和目标合成图像中保持相似度的学习和控制量化误差最小化来进行深度哈希处理。第二子模型的主要架构,比如可以包括5个卷积层和3个全连接层,并通过将最后的全连接层替换为具有q个神经元的哈希层,从而将3个全连接层中的第二个全连接层的特征表示转换为q维编码向量(比如用Zi表示)。由于Zi为连续码,不适当的梯度导致难以优化,故采用双曲正切(Tanh)函数将Zi压缩在[-1,1]区间内,然后使用阶跃(sgn)函数获得目标二进制哈希码,从而减小了Zi与目标二进制哈希码之间的差距。
对于S408至S410步骤,首先对第二子模型的参数进行初始化,然后将训练图像和目标合成图像输入第二子模型,经过卷积层、池化层、全连接层的向前传播处理,得到训练图像和目标合成图像中每个图像对应的目标二进制哈希码,并确定柯西分布交叉熵损失和柯西分布量化损失。
S411、根据柯西分布交叉熵损失和柯西分布量化损失调整第二子模型的参数,得到训练完成的数据编码模型。
该步骤的具体描述可以参见图2所示实施例中S205的相关描述,此处不再赘述。
本申请实施例提供的模型训练方法,通过获取训练图像,基于训练图像,获取训练图像对应的近似二进制哈希码矩阵,近似二进制哈希码矩阵包含训练图像的近似二进制哈希码;将近似二进制哈希码矩阵和随机噪声向量输入编码鉴别网络,基于近似二进制哈希码矩阵和随机噪声向量的相似度,确定第一损失;根据第一损失调整随机噪声向量,得到调整后的随机噪声向量;将近似二进制哈希码矩阵和调整后的随机噪声向量输入生成网络,生成初始合成图像;将训练图像和初始合成图像输入训练鉴别网络,基于训练鉴别网络的当前处理图像是否为训练图像,确定第二损失;以及基于训练鉴别网络当前处理图像与训练图像的相似度,确定第三损失;根据第二损失和第三损失调整第一子模型的参数,得到训练完成的第一子模型,以及训练完成的第一子模型的生成网络输出的目标合成图像;将训练图像和目标合成图像输入第二子模型的卷积层进行卷积处理,得到训练图像和目标合成图像中每个图像对应的第一特征矩阵;将第一特征矩阵输入第二子模型的池化层进行池化处理,得到第二特征矩阵;将第二特征矩阵和近似二进制哈希码矩阵输入第二子模型的全连接层进行全连接处理,得到训练图像和目标合成图像中每个图像对应的目标二进制哈希码,并确定柯西分布交叉熵损失和柯西分布量化损失。由于本申请实施例中,第一子模型中使用了编码鉴别网络来对随机噪声向量进行调整,使得随机噪声向量能够学习近似二进制哈希码矩阵的合成似然性,进而使得生成的合成图像更好地表示真实数据分布,以用于第二子模型的训练。在训练第二子模型时,使用了柯西分布交叉熵损失和柯西分布量化损失来调整第二子模型的参数,而不使用余弦交叉熵损失和余弦量化损失,能够有效优化汉明空间检索精度和性能,学习生成紧凑的二进制哈希码。因此,能够得到精度更高的数据编码模型,进而能够用于更加准确地进行数据检索。
在上述实施例的基础上,图5为本申请一实施例提供的数据编码模型的架构示意图,如图5所示,数据编码模型包括相似信息编码模块501、第一子模型502和第二子模型503,第一子模型502包括编码鉴别网络5021、生成网络5022和训练鉴别网络5023。其中:
相似信息编码模块501,用于基于训练图像(即真实人脸图像),获取训练图像对应的近似二进制哈希码矩阵。
编码鉴别网络5021,用于基于输入的近似二进制哈希码矩阵和随机噪声向量的相似度,确定第一损失;根据第一损失调整随机噪声向量,得到调整后的随机噪声向量。其中,如图5所示,编码鉴别网络5021由3个全连接层(即50211、50212、50213)组成,且在全连接层50211和全连接层50212后分别有放置归一化层50214和归一化层50215,以及带泄露修正线性单元(Leaky Rectified Linear Unit,Leaky ReLU)层50216和Leaky ReLU层50217。
生成网络5022,用于根据输入的近似二进制哈希码矩阵和调整后的随机噪声向量,生成初始合成图像,以及在得到训练完成的第一子模型502后,生成目标合成图像。
训练鉴别网络5023,用于根据输入的训练图像和初始合成图像,基于训练鉴别网络5023的当前处理图像是否为训练图像,确定第二损失;以及基于训练鉴别网络5023的当前处理图像与训练图像的相似度,确定第三损失;根据第二损失和第三损失调整第一子模型502的参数,得到训练完成的第一子模型502。
第二子模型503,用于根据输入的训练图像、近似二进制哈希码矩阵(图5中未示出)和目标合成图像进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失;根据柯西分布交叉熵损失和柯西分布量化损失调整第二子模型503的参数,得到训练完成的数据编码模型。其中,如图5所示,第二子模型503包括5个卷积层(分别用conv1至conv5表示)和3个全连接层(分别用fc6、fc7和fch表示),每个卷积层后均有放置池化层(图5中未示出),并通过将最后的全连接层fch替换为具有q个神经元的哈希层,从而将3个全连接层中的第二个全连接层的特征表示转换为q维编码向量Zi。采用双曲正切(Tanh)函数将Zi压缩在[-1,1]区间内,然后使用阶跃(sgn)函数获得目标二进制哈希码。
可以理解,本申请实施例提供的模型训练方法,通过最小化相似信息编码模块、编码鉴别网络、生成网络、训练鉴别网络和第二子模型的各损失,采用博弈机制进行优化训练。通过博弈优化,使用成对信息合成近乎真实的图像,并通过从训练图像(即真实人脸图像)和合成图像中保持相似度的学习和量化误差最小化来生成几乎无损的二进制哈希码。需要说明的是,本申请实施例可以通过使用真实数据和合成数据进行深度学习哈希来减轻在监督信息不足的情况下学习的困难,这会产生更高质量的二进制哈希码以提高搜索性能。
综上,本申请实施例提供的模型训练方法,至少包括以下优点:
(1)相较于现有技术,本申请实施例通过使用编码鉴别网络,能够鼓励生成的图像样本更好地表示潜在的数据分布,即将随机可能性转换为合成似然性,将未知后验分布替换为隐含分布;
(2)相较于现有技术,本申请实施例通过使用柯西分布交叉熵损失以及柯西分布量化损失,能够优化数据编码模型在汉明空间中的相似性学习过程,间接提升汉明空间检索性能;
(3)相较于现有技术,本申请实施例能够优化相似信息编码和二进制哈希码量化过程,间接提升汉明空间检索性能。
图6为本申请一实施例提供的数据检索方法的流程图。本申请实施例的方法可以应用于电子设备中,该电子设备可以是服务器或服务器集群等。如图6所示,本申请实施例的方法包括:
S601、获取待检索人脸图像。
本申请实施例中,待检索人脸图像可以是用户向执行本方法实施例的电子设备输入的,或者,是其它设备向执行本方法实施例的电子设备发送的。
S602、将待检索人脸图像输入数据编码模型的第二子模型进行编码处理,得到第二子模型输出的目标二进制哈希码。
其中,数据编码模型为采用上述任一方法实施例中模型训练方法训练得到的。
该步骤中,数据编码模型为采用上述任一方法实施例中模型训练方法训练得到的模型,可以将待检索人脸图像输入数据编码模型的第二子模型进行编码处理,得到第二子模型输出的目标二进制哈希码。
S603、将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,确定检索结果。
其中,检索结果用于指示待检索人脸图像是否存在于人脸数据库中。
示例性地,人脸数据库中的二进制哈希码比如可以通过正交变换等图像预处理方法来获得,本申请对此不进行限定。在获得了待检索人脸图像对应的目标二进制哈希码后,可以将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,确定检索结果。
进一步地,可选的,将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,确定检索结果,可以包括:将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,得到目标二进制哈希码和人脸数据库中的二进制哈希码的差异概率值;若差异概率值小于阈值,则确定检索结果为待检索人脸图像存在于人脸数据库中;若差异概率大于或等于阈值,则确定检索结果为待检索人脸图像未存在于人脸数据库中。
本申请不对阈值的取值进行限定。通过将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,可以得到目标二进制哈希码和人脸数据库中的二进制哈希码的差异概率值;将差异概率值与阈值将比较,即可确定待检索人脸图像是否存在于人脸数据库中。
本申请实施例提供的数据检索方法,通过获取待检索人脸图像,将待检索人脸图像输入数据编码模型的第二子模型进行编码处理,得到第二子模型输出的目标二进制哈希码;将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,确定检索结果,检索结果用于指示待检索人脸图像是否存在于人脸数据库中。由于本申请实施例使用了具有较高精度的数据编码模型,来得到更加准确的待检索人脸图像对应的目标二进制哈希码,进而能够更加准确获得检索结果。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图7为本申请一实施例提供的模型训练装置的结构示意图,用于训练数据编码模型,数据编码模型包括第一子模型和第二子模型。如图7所示,本申请实施例的模型训练装置700包括:第一获取模块701、第二获取模块702、第一训练模块703、处理模块704和第二训练模块705。其中:
第一获取模块701,用于获取训练图像,训练图像包含人脸。
第二获取模块702,用于基于训练图像,获取训练图像对应的近似二进制哈希码矩阵,近似二进制哈希码矩阵包含训练图像的近似二进制哈希码。
第一训练模块703,用于基于训练图像和近似二进制哈希码矩阵,对第一子模型进行迭代训练,得到训练完成的第一子模型,以及训练完成的第一子模型输出的目标合成图像。
处理模块704,用于将训练图像、近似二进制哈希码矩阵和目标合成图像输入第二子模型进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失,柯西分布交叉熵损失用于判断当前图像和训练图像的近似二进制哈希码的相似性,柯西分布量化损失用于控制将第二子模型输出的目标二进制哈希码做连续松弛引起的量化误差。
第二训练模块705,用于根据柯西分布交叉熵损失和柯西分布量化损失调整第二子模型的参数,得到训练完成的数据编码模型。
在一些实施例中,第一子模型包括编码鉴别网络、生成网络和训练鉴别网络,第一训练模块703可以具体用于:将近似二进制哈希码矩阵和随机噪声向量输入编码鉴别网络,基于近似二进制哈希码矩阵和随机噪声向量的相似度,确定第一损失;根据第一损失调整随机噪声向量,得到调整后的随机噪声向量;将近似二进制哈希码矩阵和调整后的随机噪声向量输入生成网络,生成初始合成图像;将训练图像和初始合成图像输入训练鉴别网络,基于训练鉴别网络的当前处理图像是否为训练图像,确定第二损失;以及基于训练鉴别网络的当前处理图像与训练图像的相似度,确定第三损失;根据第二损失和第三损失调整第一子模型的参数,得到训练完成的第一子模型,以及训练完成的第一子模型的生成网络输出的目标合成图像。
可选的,处理模块704可以具体用于:将训练图像和目标合成图像输入第二子模型的卷积层进行卷积处理,得到训练图像和目标合成图像中每个图像对应的第一特征矩阵;将第一特征矩阵输入第二子模型的池化层进行池化处理,得到第二特征矩阵;将第二特征矩阵和近似二进制哈希码矩阵输入第二子模型的全连接层进行全连接处理,得到训练图像和目标合成图像中每个图像对应的目标二进制哈希码,并确定柯西分布交叉熵损失和柯西分布量化损失。
可选的,第二获取模块702可以具体用于:获取训练图像对应的成对相似性矩阵;对成对相似性矩阵进行降维处理,得到低维成对相似性矩阵;根据成对相似性矩阵和低维成对相似性矩阵,获取近似二进制哈希码矩阵。
本申请实施例的装置,可以用于执行上述任一方法实施例中模型训练方法的方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请一实施例提供的数据检索装置的结构示意图,如图8所示,本申请实施例的数据检索装置800包括:获取模块801、处理模块802和确定模块803。其中:
获取模块801,用于获取待检索人脸图像。
处理模块802,用于将待检索人脸图像输入数据编码模型的第二子模型进行编码处理,得到第二子模型输出的目标二进制哈希码,数据编码模型为采用上述任一方法实施例中模型训练方法训练得到的。
确定模块803,用于将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,确定检索结果,检索结果用于指示待检索人脸图像是否存在于人脸数据库中。
在一些实施例中,确定模块803可以具体用于:将目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,得到目标二进制哈希码和人脸数据库中的二进制哈希码的差异概率值;若差异概率值小于阈值,则确定检索结果为待检索人脸图像存在于人脸数据库中;若差异概率大于或等于阈值,则确定检索结果为待检索人脸图像未存在于人脸数据库中。
本申请实施例的装置,可以用于执行上述任一方法实施例中数据检索方法的方案,其实现原理和技术效果类似,此处不再赘述。
图9为本申请一实施例提供的电子设备的结构示意图。示例性地,电子设备可以被提供为一服务器或计算机。参照图9,电子设备900包括处理组件901,其进一步包括一个或多个处理器,以及由存储器902所代表的存储器资源,用于存储可由处理组件901的执行的指令,例如应用程序。存储器902中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件901被配置为执行指令,以执行上述任一方法实施例。
电子设备900还可以包括一个电源组件903被配置为执行电子设备900的电源管理,一个有线或无线网络接口904被配置为将电子设备900连接到网络,和一个输入输出(I/O)接口905。电子设备900可以操作基于存储在存储器902的操作***,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上模型训练方法的方案以及数据检索方法的方案。
本申请还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上的模型训练方法的方案以及数据检索方法的方案。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random AccessMemory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable ReadOnly Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read OnlyMemory,EPROM),可编程只读存储器(Programmable Read Only Memory,PROM),只读存储器(Read Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于模型训练装置中或者数据检索装置中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种模型训练方法,其特征在于,用于训练数据编码模型,所述数据编码模型包括第一子模型和第二子模型,所述模型训练方法包括:
获取训练图像,所述训练图像包含人脸;
基于所述训练图像,获取所述训练图像对应的近似二进制哈希码矩阵,所述近似二进制哈希码矩阵包含所述训练图像的近似二进制哈希码;
基于所述训练图像和所述近似二进制哈希码矩阵,对第一子模型进行迭代训练,得到训练完成的第一子模型,以及所述训练完成的第一子模型输出的目标合成图像;
将所述训练图像、所述近似二进制哈希码矩阵和所述目标合成图像输入所述第二子模型进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失,所述柯西分布交叉熵损失用于判断当前图像和所述训练图像的近似二进制哈希码的相似性,所述柯西分布量化损失用于控制将第二子模型输出的目标二进制哈希码做连续松弛引起的量化误差;
根据所述柯西分布交叉熵损失和所述柯西分布量化损失调整第二子模型的参数,得到训练完成的数据编码模型。
2.根据权利要求1所述的模型训练方法,其特征在于,所述第一子模型包括编码鉴别网络、生成网络和训练鉴别网络,所述基于所述训练图像和所述近似二进制哈希码矩阵,对第一子模型进行迭代训练,得到训练完成的第一子模型,以及所述训练完成的第一子模型输出的目标合成图像,包括:
将所述近似二进制哈希码矩阵和随机噪声向量输入所述编码鉴别网络,基于所述近似二进制哈希码矩阵和所述随机噪声向量的相似度,确定第一损失;
根据所述第一损失调整所述随机噪声向量,得到调整后的随机噪声向量;
将所述近似二进制哈希码矩阵和所述调整后的随机噪声向量输入所述生成网络,生成初始合成图像;
将所述训练图像和所述初始合成图像输入所述训练鉴别网络,基于所述训练鉴别网络的当前处理图像是否为所述训练图像,确定第二损失;以及基于所述训练鉴别网络的当前处理图像与所述训练图像的相似度,确定第三损失;
根据所述第二损失和所述第三损失调整第一子模型的参数,得到训练完成的第一子模型,以及所述训练完成的第一子模型的生成网络输出的目标合成图像。
3.根据权利要求1所述的模型训练方法,其特征在于,所述将所述训练图像、所述近似二进制哈希码矩阵和所述目标合成图像输入所述第二子模型进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失,包括:
将所述训练图像和所述目标合成图像输入所述第二子模型的卷积层进行卷积处理,得到所述训练图像和所述目标合成图像中每个图像对应的第一特征矩阵;
将所述第一特征矩阵输入所述第二子模型的池化层进行池化处理,得到第二特征矩阵;
将所述第二特征矩阵和所述近似二进制哈希码矩阵输入所述第二子模型的全连接层进行全连接处理,得到所述训练图像和所述目标合成图像中每个图像对应的目标二进制哈希码,并确定所述柯西分布交叉熵损失和所述柯西分布量化损失。
4.根据权利要求1至3中任一项所述的模型训练方法,其特征在于,所述基于所述训练图像,获取所述训练图像对应的近似二进制哈希码矩阵,包括:
获取所述训练图像对应的成对相似性矩阵;
对所述成对相似性矩阵进行降维处理,得到低维成对相似性矩阵;
根据所述成对相似性矩阵和所述低维成对相似性矩阵,获取所述近似二进制哈希码矩阵。
5.一种数据检索方法,其特征在于,包括:
获取待检索人脸图像;
将所述待检索人脸图像输入数据编码模型的第二子模型进行编码处理,得到所述第二子模型输出的目标二进制哈希码,所述数据编码模型为采用如权利要求1至4中任一项所述的模型训练方法训练得到的;
将所述目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,确定检索结果,所述检索结果用于指示所述待检索人脸图像是否存在于所述人脸数据库中。
6.根据权利要求5所述的数据检索方法,其特征在于,所述将所述目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,确定检索结果,包括:
将所述目标二进制哈希码和所述人脸数据库中的二进制哈希码进行比对,得到所述目标二进制哈希码和所述人脸数据库中的二进制哈希码的差异概率值;
若所述差异概率值小于阈值,则确定所述检索结果为所述待检索人脸图像存在于所述人脸数据库中;
若所述差异概率大于或等于阈值,则确定所述检索结果为所述待检索人脸图像未存在于所述人脸数据库中。
7.一种模型训练装置,其特征在于,用于训练数据编码模型,所述数据编码模型包括第一子模型和第二子模型,所述模型训练装置包括:
第一获取模块,用于获取训练图像,所述训练图像包含人脸;
第二获取模块,用于基于所述训练图像,获取所述训练图像对应的近似二进制哈希码矩阵,所述近似二进制哈希码矩阵包含所述训练图像的近似二进制哈希码;
第一训练模块,用于基于所述训练图像和所述近似二进制哈希码矩阵,对第一子模型进行迭代训练,得到训练完成的第一子模型,以及所述训练完成的第一子模型输出的目标合成图像;
处理模块,用于将所述训练图像、所述近似二进制哈希码矩阵和所述目标合成图像输入所述第二子模型进行编码处理,确定柯西分布交叉熵损失和柯西分布量化损失,所述柯西分布交叉熵损失用于判断当前图像和所述训练图像的近似二进制哈希码的相似性,所述柯西分布量化损失用于控制将第二子模型输出的目标二进制哈希码做连续松弛引起的量化误差;
第二训练模块,用于根据所述柯西分布交叉熵损失和所述柯西分布量化损失调整第二子模型的参数,得到训练完成的数据编码模型。
8.一种数据检索装置,其特征在于,包括:
获取模块,用于获取待检索人脸图像;
处理模块,用于将所述待检索人脸图像输入数据编码模型的第二子模型进行编码处理,得到所述第二子模型输出的目标二进制哈希码,所述数据编码模型为采用如权利要求1至4中任一项所述的模型训练方法训练得到的;
确定模块,用于将所述目标二进制哈希码和人脸数据库中的二进制哈希码进行比对,确定检索结果,所述检索结果用于指示所述待检索人脸图像是否存在于所述人脸数据库中。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211198978.4A CN115457638A (zh) | 2022-09-29 | 2022-09-29 | 模型训练方法、数据检索方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211198978.4A CN115457638A (zh) | 2022-09-29 | 2022-09-29 | 模型训练方法、数据检索方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115457638A true CN115457638A (zh) | 2022-12-09 |
Family
ID=84306825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211198978.4A Pending CN115457638A (zh) | 2022-09-29 | 2022-09-29 | 模型训练方法、数据检索方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115457638A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117391150A (zh) * | 2023-12-07 | 2024-01-12 | 之江实验室 | 一种基于分层池化图哈希的图数据检索模型训练方法 |
-
2022
- 2022-09-29 CN CN202211198978.4A patent/CN115457638A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117391150A (zh) * | 2023-12-07 | 2024-01-12 | 之江实验室 | 一种基于分层池化图哈希的图数据检索模型训练方法 |
CN117391150B (zh) * | 2023-12-07 | 2024-03-12 | 之江实验室 | 一种基于分层池化图哈希的图数据检索模型训练方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021164625A1 (en) | Method of training an image classification model | |
US11983850B2 (en) | Image processing method and apparatus, device, and storage medium | |
Van Der Maaten | Barnes-hut-sne | |
CN109783682B (zh) | 一种基于点对相似度的深度非松弛哈希图像检索方法 | |
US11144823B1 (en) | Method and system for hierarchical weight-sparse convolution processing | |
Xie et al. | m-SNE: Multiview stochastic neighbor embedding | |
CN106383891B (zh) | 一种基于深度哈希的医学图像分布式检索方法 | |
CN110659665B (zh) | 一种异维特征的模型构建方法及图像识别方法、装置 | |
CN111782826A (zh) | 知识图谱的信息处理方法、装置、设备及存储介质 | |
Lyu et al. | Online matrix factorization for markovian data and applications to network dictionary learning | |
Wei et al. | Compact MQDF classifiers using sparse coding for handwritten Chinese character recognition | |
CN118038533B (zh) | 一种人脸识别方法、终端及介质 | |
CN114332500A (zh) | 图像处理模型训练方法、装置、计算机设备和存储介质 | |
CN117152554A (zh) | 基于ViT模型的病理切片数据识别方法及*** | |
CN117333409A (zh) | 基于图像的大数据分析方法 | |
CN116977763A (zh) | 模型训练方法、装置、计算机可读存储介质及计算机设备 | |
CN115457638A (zh) | 模型训练方法、数据检索方法、装置、设备及存储介质 | |
CN116310462B (zh) | 一种基于秩约束自表示的图像聚类方法及装置 | |
Yan et al. | A parameter-free framework for general supervised subspace learning | |
CN111667495A (zh) | 一种图像场景解析方法和装置 | |
CN116797850A (zh) | 基于知识蒸馏和一致性正则化的类增量图像分类方法 | |
CN114882288B (zh) | 基于分层图增强堆叠自编码器的多视图图像分类方法 | |
CN116384471A (zh) | 模型剪枝方法、装置、计算机设备、存储介质和程序产品 | |
CN113743593B (zh) | 神经网络量化方法、***、存储介质及终端 | |
CN116095183A (zh) | 一种数据压缩方法以及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |