CN113821667A - 基于人工智能的图像处理方法、装置及电子设备 - Google Patents

基于人工智能的图像处理方法、装置及电子设备 Download PDF

Info

Publication number
CN113821667A
CN113821667A CN202110651716.8A CN202110651716A CN113821667A CN 113821667 A CN113821667 A CN 113821667A CN 202110651716 A CN202110651716 A CN 202110651716A CN 113821667 A CN113821667 A CN 113821667A
Authority
CN
China
Prior art keywords
image
index
vector
processing
quantization
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.)
Granted
Application number
CN202110651716.8A
Other languages
English (en)
Other versions
CN113821667B (zh
Inventor
郭卉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110651716.8A priority Critical patent/CN113821667B/zh
Publication of CN113821667A publication Critical patent/CN113821667A/zh
Application granted granted Critical
Publication of CN113821667B publication Critical patent/CN113821667B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供了一种基于人工智能的图像处理方法、装置、电子设备及计算机可读存储介质;方法包括:获取查询图像的初始特征向量;对所述查询图像的初始特征向量进行特征映射处理,得到所述查询图像的索引特征向量;对所述查询图像的初始特征向量进行量化编码处理,得到对应所述查询图像的索引量化向量;对所述查询图像的索引量化向量进行应用二值编码处理,得到所述查询图像的索引量化向量的第一应用编码;根据所述查询图像的索引特征向量以及所述查询图像的第一应用编码对多个候选图像进行相似查询处理,得到与所述查询图像相似的候选图像。通过本申请,能够通过量化维度的第一应用编码提高相似查询的查询效率以及准确度。

Description

基于人工智能的图像处理方法、装置及电子设备
技术领域
本申请涉及人工智能技术,尤其涉及一种基于人工智能的图像处理方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。计算机视觉技术(Computer Vision,CV)是人工智能的重要分支,主要研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。
相似图像查询是计算机视觉技术的一个重要应用,在相关技术提供的方案中,通常是通过相似度度量学习的方式来训练模型,根据训练后的模型预测图像的图像特征,并根据图像特征来进行相似图像查询。然而,相关技术中需要对图像特征进行聚类,并对大量的聚类中心进行遍历,难以高效并准确地查询到相似图像。
发明内容
本申请实施例提供一种基于人工智能的图像处理方法、装置、电子设备及计算机可读存储介质,能够通过量化维度的第一应用编码提高相似查询的查询效率以及准确度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种基于人工智能的图像处理方法,包括:
获取查询图像的初始特征向量;
对所述查询图像的初始特征向量进行特征映射处理,得到所述查询图像的索引特征向量;
对所述查询图像的初始特征向量进行量化编码处理,得到对应所述查询图像的索引量化向量;
对所述查询图像的索引量化向量进行应用二值编码处理,得到所述查询图像的索引量化向量的第一应用编码;
根据所述查询图像的索引特征向量以及所述查询图像的第一应用编码对多个候选图像进行相似查询处理,得到与所述查询图像相似的候选图像。
本申请实施例提供一种基于人工智能的图像处理装置,包括:。
初始模块,用于获取查询图像的初始特征向量;
特征模块,用于对所述查询图像的初始特征向量进行特征映射处理,得到所述查询图像的索引特征向量;
量化模块,用于对所述查询图像的初始特征向量进行量化编码处理,得到对应所述查询图像的索引量化向量;
编码模块,用于对所述查询图像的索引量化向量进行应用二值编码处理,得到所述查询图像的索引量化向量的第一应用编码;
查询模块,用于根据所述查询图像的索引特征向量以及所述查询图像的第一应用编码对多个候选图像进行相似查询处理,得到与所述查询图像相似的候选图像。
在上述方案中,所述查询图像的索引特征向量以及所述查询图像的索引量化向量是通过调用图像处理模型获取的,在获取所述查询图像的初始特征向量之前,所述装置还包括:训练模块,用于:通过所述图像处理模型对三元组图像样本进行特征提取处理,得到所述三元组图像样本的索引特征向量以及所述三元组图像样本的索引量化向量;根据所述三元组图像样本的索引特征向量进行损失计算处理,得到所述三元组图像样本的特征向量距离损失值;根据所述三元组图像样本的索引量化向量进行损失计算处理,得到所述三元组图像样本的量化向量距离损失值和量化向量损失值;对所述三元组图像样本的特征向量距离损失值、量化向量距离损失值及量化向量损失值中至少两个进行融合处理,并将融合处理结果作为对应所述图像处理模型的第一损失值;根据对应所述图像处理模型的第一损失值训练所述图像处理模型。
在上述方案中,所述三元组图像样本包括参考图像样本、积极图像样本以及消极图像样本,所述积极图像样本与所述参考图像样本之间的相似度大于第一相似度阈值,所述消极图像样本与所述参考图像样本之间的相似度小于第二相似度阈值,所述第一相似度阈值大于所述第二相似度阈值;所述图像处理模型包括共享特征提取网络、索引特征处理网络、索引量化处理网络;所述训练模块,还用于:通过所述共享特征提取网络分别对所述参考图像样本、所述积极图像样本以及所述消极图像样本进行共享特征提取处理,得到所述参考图像样本、所述积极图像样本以及所述消极图像样本各自对应的初始特征向量;通过所述索引量化处理网络分别对所述参考图像样本、所述积极图像样本以及所述消极图像样本的初始特征向量进行量化处理,得到所述参考图像样本、所述积极图像样本以及所述消极图像样本各自对应的索引量化向量;通过所述索引特征处理网络分别对所述参考图像样本、所述积极图像样本以及所述消极图像样本的初始特征向量进行特征映射处理,得到所述参考图像样本、所述积极图像样本以及所述消极图像样本各自对应的索引特征向量。
在上述方案中,所述训练模块,还用于:确定所述参考图像样本的索引特征向量与所述积极图像样本的索引特征向量之间的第一索引特征向量距离,并确定所述参考图像样本与所述消极图像样本之间的第二索引特征向量距离;确定所述第一索引特征向量距离与第一度量损失阈值的第一求和处理结果,并确定所述第一求和处理结果与所述第二索引特征向量距离之间的第一差值;当所述第一差值大于零时,将所述第一差值作为所述特征向量距离损失值;当所述第一差值不大于零时,将零作为所述特征向量距离损失值。
在上述方案中,所述训练模块,还用于:确定所述参考图像样本的索引量化向量与所述积极图像样本的索引量化向量之间的第一索引量化向量距离,并确定所述参考图像样本与所述消极图像样本之间的第二索引量化向量距离;确定所述第一索引量化向量距离与第二度量损失阈值的第二求和处理结果,并确定所述第二求和处理结果与所述第二索引量化向量距离之间的第二差值;当所述第二差值大于零时,将所述第二差值作为所述量化向量距离损失值;当所述第二差值不大于零时,将零作为所述量化向量距离损失值;
在上述方案中,所述训练模块,还用于:对所述参考图像样本、所述积极图像样本以及所述消极图像样本各自对应的索引量化向量进行训练二值编码处理,得到每个所述索引量化向量中的每个数值对应的训练编码;确定每个所述索引量化向量中的每个数值与对应的训练编码的差值的绝对值;对与每个所述数值对应的绝对值进行求和处理,得到所述三元组图像样本的量化向量损失值。
在上述方案中,所述训练模块,还用于:当所述第一损失值是根据所述特征向量距离损失值、所述量化向量距离损失值以及所述量化向量损失值得到时,执行以下任意一种:根据所述第一损失值更新所述共享特征提取网络的参数、所述索引量化处理网络的参数以及所述索引特征处理网络的参数;根据所述第一损失值更新所述索引量化处理网络的参数以及所述索引特征处理网络的参数;当所述第一损失值是根据所述量化向量距离损失值以及所述量化向量损失值得到时,根据所述第一损失值更新所述索引量化处理网络的参数。
在上述方案中,所述查询图像的索引特征向量以及所述查询图像的索引量化向量是通过调用图像处理模型获取的,所述图像处理模型包括共享特征提取网络、索引量化处理网络、索引特征处理网络,在获取所述查询图像的初始特征向量之前,所述训练模块,还用于:更新所述共享特征提取网络的参数以及所述索引特征处理网络的参数,直到对应所述图像处理模型的第二损失值的变化小于变化阈值;更新所述共享特征提取网络的参数、所述索引量化处理网络的参数以及所述索引特征处理网络的参数,直到对应所述图像处理模型的第三损失值的变化小于所述变化阈值。
在上述方案中,所述训练模块,还用于:通过所述图像处理模型对三元组图像样本进行特征提取处理,得到所述三元组图像样本的索引特征向量;根据所述三元组图像样本的索引特征向量进行损失计算处理,得到所述三元组图像样本的特征向量距离损失值,并将所述特征向量距离损失值确定为对应所述图像处理模型的第二损失值;根据对应所述图像处理模型的第二损失值更新所述共享特征提取网络的参数以及所述索引特征处理网络的参数。
在上述方案中,所述特征映射处理是通过索引特征处理网络实现的,所述索引特征处理网络包括第一池化层、第一范数正则化层以及第一全连接层,所述特征模块,还用于:通过所述第一池化层对所述查询图像的初始特征向量进行第一池化处理,得到所述初始特征向量的第一池化处理结果;通过所述第一范数正则化层对所述第一池化处理结果进行第一正则化处理,得到所述初始特征向量的第一正则化处理结果;通过所述第一全连接层对所述第一正则化处理结果进行第一全连接处理,得到所述查询图像的索引特征向量。
在上述方案中,所述量化编码处理是通过索引量化处理网络实现的,所述索引量化处理网络包括第二池化层、第二范数正则化层以及第二全连接层,所述量化模块,还用于:通过所述第二池化层对所述查询图像的初始特征向量进行第二池化处理,得到所述初始特征向量的第二池化处理结果;通过所述第二范数正则化层对所述第二池化处理结果进行第二正则化处理,得到所述初始特征向量的第二正则化处理结果;通过所述第二全连接层对所述第二正则化处理结果进行第二全连接处理,得到所述查询图像的索引量化向量。
在上述方案中,所述查询模块,还用于:根据所述多个候选图像的第二应用编码,确定所述第二应用编码与所述候选图像之间的映射关系,其中,每个所述第二应用编码与至少一个所述候选图像对应;根据所述第一应用编码,从多个所述第二应用编码中确定出召回应用编码,并将所述召回应用编码对应的候选图像作为查询结果;确定所述召回应用编码对应的候选图像的索引特征向量与所述查询图像的索引特征向量之间的特征距离,将所述特征距离超过特征距离阈值的候选图像作为查询结果。
在上述方案中,所述查询模块,还用于:在确定所述第二应用编码与所述候选图像之间的映射关系之前,获取所述多个候选图像的初始特征向量;对所述多个候选图像的初始特征向量进行量化编码处理,得到对应所述多个候选图像的索引量化向量;对所述多个候选图像的索引量化向量进行应用二值编码处理,得到所述多个候选图像的索引量化向量的第二应用编码;在确定所述召回应用编码对应的候选图像的索引特征向量与所述查询图像的索引特征向量之间的特征距离之前,所述方法还包括:对所述多个候选图像的初始特征向量进行特征映射处理,得到所述查询图像的索引特征向量。
在上述方案中,所述查询模块,还用于:执行以下任意一种:获取每个所述第二应用编码与所述第一应用编码的编码距离,将所述编码距离小于编码距离阈值的第二应用编码作为所述召回应用编码;对所述第一应用编码进行基于所述编码距离阈值的变换处理,得到变换应用编码,将多个所述第二应用编码中与所述变换应用编码相同的第二应用编码作为所述召回应用编码。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的基于人工智能的图像处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的基于人工智能的图像处理方法。
本申请实施例具有以下有益效果:
通过初始特征向量分别获得索引特征向量以及索引量化向量,使得索引量化向量与索引特征向量具有相同的表征效果,从而具有相似索引特征向量的两个图像也具有相似索引量化向量,并且在得到索引特征向量的同时直接产生索引量化向量,既降低了量化误差也提高了量化学习效率,进而基于索引特征向量以及对应索引量化向量的第一应用编码进行检索时,可以直接以第一应用编码为基础,以索引特征向量为辅助进行查询,有效提升了查询效率以及准确度。
附图说明
图1是本申请实施例提供的基于人工智能的图像处理系统的结构示意图;
图2是本申请实施例提供的基于区块链网络的图像处理系统的结构示意图;
图3是本申请实施例提供的电子设备的结构示意图;
图4A是本申请实施例提供的基于人工智能的图像处理方法的训练阶段的流程示意图;
图4B是本申请实施例提供的基于人工智能的图像处理方法的流程示意图;
图4C是本申请实施例提供的基于人工智能的图像处理方法的步骤205的流程示意图;
图5是本申请实施例提供的基于人工智能的图像处理方法的模型示意图;
图6是本申请实施例提供的基于人工智能的图像处理方法的逻辑示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)度量学习(Metric Learning):指给定一些相似的图像以及一些不相似的图像,通过学习相似度(距离)度量,使得原本相似的图像之间的相似度增大(或距离减小),同时原本不相似的图像之间的相似度减小(或距离增大)。
2)图像识别:类别级别的识别,不考虑对象的特定实例,图像识别仅考虑对象的类别(如人、狗、猫、鸟等)进行识别并给出对象所属类别,一个典型的例子是大型通用物体识别开源数据集中的识别任务,识别出某个物体是1000个类别中的哪一个。
3)二值量化:对于D维特征向量进行向量归一化,向量归一化后取值范围通常是-1至1之间的浮点数,将经过向量归一化的特征向量压缩到指定位数,例如48位,或者位数不变,将特征向量的取值变换为0或1的二进制码,上述过程为向量二值量化。
4)Imagenet预训练模型:基于大型通用物体识别开源数据集imagenet训练得到的深度学习网络模型即为imagenet预训练模型。
5)相似度embedding:用于区分两张图像是否相同(例如,经过裁剪、特效等图像处理手段可相互转化的两张图像)的索引特征向量(下文简称相似度embedding),当两张图像相同时则两张图像的相似度embedding距离非常近,当两张图像不同则两张图像的相似度embedding距离非常远。
相关技术中大规模图像去重检索是对图像进行聚类处理,得到多个聚类中心,以聚类中心为索引建立图像查询机制,当图像库的候选图像数目较多时,聚类中心的数目也随之增多,需要将查询图像与每个聚类中心进行距离计算,并基于距离进行去重检索,耗时较多并且对计算机资源要求极高。
相关技术中针对上述过程中存在的计算量大的问题采取向量二值化的技术,即对查询图像的图像特征量化为有限比特位的二值向量,在检索时以二值向量作为索引,得到索引关联的候选图像,
相关技术中进行的二值量化过程可以结合聚类进行,首先将D维的图像特征分成M个子空间,D为大于1的整数,M为正整数,D大于M,每个子空间的特征维度是D/M,在将图像特征分为M个子空间后,对每个子空间分别进行量化,x是查询图像的图像特征,y是候选图像的图像特征,y*是候选图像的图像特征的量化结果,x*是查询图像的图像特征的量化结果,通过y*与x*之间的距离作为x与y之间的距离,M个维度下的所有候选图像分别与查询图像的图像特征在各维度下计算距离,从而得到M个距离,并通过求和处理得到查询图像的图像特征与所有召回候选图像的距离,对距离排序后召回排序在前的多个候选图像。上述过程存在以下问题:1)量化处理以图像特征为基础直接进行子空间的分割以及每个空间的切分,相似的图像对由于特征相似度不足,对图像特征直接进行符号量化则被切分到不同量化编码的情况,2)不支持带标签的学习,即对错误样本不能有针对性地进行量化,故实际应用中基于量化结果的召回效果总比基于图像特征的召回率低20%以上。基于上述情形相关技术中暂未发现在大规模的图像特征下有效学习量化向量的方法。
本申请实施例提供一种基于人工智能的图像处理方法、装置、电子设备和计算机可读存储介质,能够提高量化维度的第一应用编码的学习效率和准确度,以提高相似查询的查询效率以及准确度。
本申请实施例提供的图像处理方法可以由各种电子设备实施,例如可以由终端或服务器单独实施,也可以由终端和服务器协同实施。
参见图1,图1是本申请实施例提供的基于人工智能的图像处理系统的结构示意图,终端400通过网络300连接服务器200,服务器200连接数据库500,其中,网络300可以是广域网或者局域网,又或者是二者的组合。
在一些实施例中,以电子设备是终端为例,本申请实施例提供的基于人工智能的图像处理方法可以由终端实现。例如,终端400获取多个候选图像的索引量化向量以及第二应用编码,终端400在接收到相似图像查询的请求时,终端400获取该请求对应的查询图像的索引特征向量以及第一应用编码,根据查询图像的索引特征向量以及查询图像的第一应用编码对多个候选图像进行相似查询处理,得到与查询图像相似的候选图像。作为示例,在图1中示出了“相似图像查询”的选项,当接收到针对该选项的触发操作时,确定接收到相似图像查询的请求。然后,终端400根据查询图像的索引特征向量以及第一应用编码进行相似查询处理,得到与查询图像相似的候选图像。作为示例,在图1中示例性地示出了查询图像及与查询图像相似的候选图像,两个图像中均包括飞机。
值得说明的是,终端400可以通过三元组图像样本用于训练图像处理模型,并根据训练后的图像处理模型来获取候选图像的索引特征向量以及第二应用编码、查询图像的索引特征向量以及第一应用编码,其中,训练后的图像处理模型可以存储于终端400本地并在需要时调用。另外,对于三元组图像样本、候选图像及查询图像中的每一种图像,可以是终端400预先存储在本地的,可以是终端400实时拍摄的,也可以是终端400从外界(如服务器200、数据库500或区块链等)获取的。
在一些实施例中,以电子设备是服务器为例,本申请实施例提供的基于人工智能的图像处理方法也可以由服务器实现。例如,服务器200对候选图像进行一系列处理得到索引特征向量以及第二应用编码,并将索引特征向量以及第二应用编码存储至本地,如存储至数据库500中。在服务器200接收到相似图像查询的请求时,对该请求对应的查询图像进行一系列处理,结合查询图像的索引特征向量以及第一应用编码得到召回的相似候选图像。
同理,服务器200也可以通过三元组图像样本来训练图像处理模型,并根据训练后的图像处理模型来获取候选图像的索引特征向量以及第二应用编码、查询图像的索引特征向量以及第一应用编码,其中,训练后的图像处理模型可以存储于服务器200本地,如存储于服务器200的分布式文件系统中。服务器200也可以将训练后的图像处理模型发送至终端400,以使终端400具有处理查询图像和候选图像的能力。另外,对于三元组图像样本、候选图像及查询图像中的每一种图像,可以是服务器200预先存储在本地的,也可以是服务器200从外界获取的。
在一些实施例中,本申请实施例提供的基于人工智能的图像处理方法也可以由终端及服务器协同实现。例如,服务器200对候选图像进行一系列处理得到候选图像的索引特征向量以及第二应用编码,并将候选图像的索引特征向量以及第二应用编码存储至本地。终端400在接收到相似图像查询的请求时,将该请求对应的查询图像发送至服务器200。服务器200对接收到的查询图像进行一系列处理,结合查询图像的索引特征向量以及第一应用编码得到召回的相似候选图像,并将相似候选图像发送至终端400,以使终端400根据接收到的相似候选图像响应相似图像查询的请求。
在一些实施例中,终端400或服务器200可以通过运行计算机程序来实现本申请实施例提供的基于人工智能的图像处理方法,计算机程序可以为如图1示出的客户端410。例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,其中,云服务可以是基于人工智能的图像处理服务,供终端400进行调用。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能电视、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,数据库500和服务器200可以独立设置。在一些实施例中,数据库500和服务器200也可以集成在一起,即数据库500可以视为存在于服务器200内部,与服务器200一体化,服务器200可以提供数据库500的数据管理功能。
在一些实施例中,参见图2,图2是本申请实施例提供的基于区块链网络的图像处理系统的结构示意图,下面说明本申请实施例基于区块链网络的示例性应用。参见图2,包括区块链网络600(示例性示出了区块链网络600包括的节点610-1、节点610-2)、服务器200、以及终端400,下面分别进行说明。
服务器200(映射为节点610-2)以及终端400(映射为节点610-1)均可以加入区块链网络600而成为其中的节点,图2中示例性地示出了将终端400映射为区块链网络600的节点610-1,每个节点(例如节点610-1、节点610-2)都具有共识功能和记账(即维护状态数据库库,例如键值数据库)的功能。
每个节点(例如节点610-1)的状态数据库中记录有终端400的候选图像的索引特征向量以及第二应用编码,以使终端400可以查询状态数据库中记录的候选图像的索引特征向量以及第二应用编码。
在一些实施例中,响应于接收到查询图像,多个服务器200(每个服务器映射为区块链网络中的一个节点)确定出与查询图像相似的候选图像,针对某个候选图像,共识通过的节点数目超过节点数目阈值时,确定共识通过,服务器200(映射为节点610-2)将共识通过的候选图像发送至终端400(映射为节点610-1),并呈现在终端400的人机交互界面,并将查询图像以及对应的候选图像进行上链存储。由于查询图像对应的候选图像是经过多个服务器进行共识后得到的,因此可以有效提升查询图像对应的候选图像的可靠性,又因为区块链网络的不易篡改的特性,因此上链存储的查询图像以及对应的候选图像不会被恶意篡改。
接下来,说明本申请实施例提供的用于实施基于人工智能的图像处理方法的电子设备的结构,如前,本申请实施例提供的电子设备可以是图1中的服务器200或终端400。参见图3,图3是本申请实施例提供的电子设备的结构示意图,以该电子设备为服务器200为例进行说明。图3所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他电子设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,UniversalSerial Bus)等。
在一些实施例中,本申请实施例提供的基于人工智能的图像处理装置可以采用软件方式实现,图3示出了存储在存储器250中的基于人工智能的图像处理装置255,其可以是程序和插件等形式的软件,包括以下软件模块:初始模块2551、特征模块2552、量化模块2553、编码模块2554、查询模块2555以及训练模块2556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
参见图5,图5是本申请实施例提供的基于人工智能的图像处理方法的模型示意图,图像处理模型包括共享特征提取网络、索引特征处理网络以及索引量化处理网络,共享特征提取网络的结构可以参考表1,索引特征处理网络的结构可以参考表2,索引量化处理网络的结构可以参考表3,在训练阶段中,输入为三元组图像样本,首先通过共享特征提取网络(例如,卷积神经网络)提取三元组图像样本中每个图像的初始特征向量,通过索引特征处理网络对每个图像的初始特征向量进行处理得到索引特征向量,通过索引量化处理网络对每个图像的初始特征向量进行处理得到索引量化向量,通过初始特征向量分别获得索引特征向量以及索引量化向量,使得索引量化向量与索引特征向量具有相同的表征效果,从而具有相似索引特征向量的两个图像也具有相似索引量化向量,具有相似索引特征向量的两个图像不会因索引量化向量不同而被切分,并且在得到索引特征向量的同时直接产生索引量化向量,而不需要产生索引特征向量后再继续学习量化,既避免了二次学习在应用中引入更多流程,也避免导致双重误差,即特征误差以及量化误差,基于索引特征向量得到特征向量距离损失值Ltriplet1,基于索引量化向量得到量化向量距离损失值Ltriplet2以及量化向量损失值Lcoding,基于特征向量距离损失值Ltriplet1、量化向量距离损失值Ltriplet2以及量化向量损失值Lcoding得到总损失,从而基于总损失更新图像处理模型的参数。
Figure BDA0003111739360000141
Figure BDA0003111739360000151
表1共享特征提取网络的结构表
其中,“7×7,64,stride 2”中的“7×7”表示卷积核尺寸,“64”表示输出通道数,“stride 2”表示步长为2;此外,“max pool”表示最大池化层,“×3blocks”表示存在3个相同的结构,其余参数以此类推。
层名(Layer Name) 输出尺寸(Output Size) 层类型
Pool_cr1 1x2048 最大池化层
L2norm 1x2048 归一化层
Embedding1 1x128 全连接层
表2索引特征处理网络的结构表
其中,128表示索引特征处理网络所输出的索引特征向量的维度。
层名(Layer Name) 输出尺寸(Output Size) 层类型
Pool_cr2 1x2048 最大池化层
L2norm 1x2048 归一化层
Coding 1x128 全连接层
表3索引量化处理网络的结构表
其中,128表示索引量化处理网络输出的索引量化向量的维度,值得说明的是,上述的网络架构仅为示例,并不构成对本申请实施例的限定。
下面,以由图1中的服务器200执行本申请实施例提供的图像处理方法为例进行说明,图像处理系统包括训练阶段以及应用阶段。首先对本申请实施例提供的基于人工智能的图像处理方法中模型的训练进行说明。
参见图4A,图4A是本申请实施例提供的基于人工智能的图像处理方法的训练阶段的流程示意图,查询图像的索引特征向量以及查询图像的索引量化向量是通过调用图像处理模型获取的,在通过调用图像处理模型获取查询图像的初始特征向量之前,将执行图4A示出的步骤101-105。
在步骤101中,通过图像处理模型对三元组图像样本进行特征提取处理,得到三元组图像样本的索引特征向量以及三元组图像样本的索引量化向量。
在一些实施例中,三元组图像样本包括参考图像样本、积极图像样本以及消极图像样本,积极图像样本与参考图像样本之间的相似度大于第一相似度阈值,消极图像样本与参考图像样本之间的相似度小于第二相似度阈值,第一相似度阈值大于第二相似度阈值;图像处理模型包括共享特征提取网络、索引特征处理网络、索引量化处理网络;步骤101中通过图像处理模型对三元组图像样本进行特征提取处理,得到三元组图像样本的索引特征向量以及三元组图像样本的索引量化向量,可以通过以下技术方案实现:通过共享特征提取网络分别对参考图像样本、积极图像样本以及消极图像样本进行共享特征提取处理,得到参考图像样本、积极图像样本以及消极图像样本各自对应的初始特征向量;通过索引量化处理网络分别对参考图像样本、积极图像样本以及消极图像样本的初始特征向量进行量化处理,得到参考图像样本、积极图像样本以及消极图像样本各自对应的索引量化向量;通过索引特征处理网络对索引量化处理网络分别对参考图像样本、积极图像样本以及消极图像样本的初始特征向量进行特征映射处理,得到参考图像样本、积极图像样本以及消极图像样本各自对应的索引特征向量。
作为示例,三元组图像样本包括参考图像样本、积极图像样本以及消极图像样本,参考图像样本与积极图像样本属于相似图像,因此参考图像样本与积极图像样本之间的相似度大于第一相似度阈值,参考图像样本与消极图像样本属于不相似图像,因此参考图像样本与消极图像样本之间的相似度小于第二相似度阈值,其中,第一相似度阈值大于第二相似度阈值,还可以基于相似图像对获取三元组图像样本,例如,存在20个图像对,针对其中任意一个图像对x,将图像对x中任意一个图像a与剩余19个图像对中每个图像对的任意一个图像计算相似度,从而计算得到19个相似度,基于相似度对这19个图像对进行降序排序,选取排序处于中间位置的图像对的任意一个图像作为消极图像样本,将图像对x中任意一个图像作为参考图像样本,将图像对x中另一个图像作为积极图像样本,排序中间位置的图像可以通过第三相似度阈值进行筛选,参考图像样本与消极图像样本之间的相似度小于第二相似度阈值,但是大于第三相似度阈值,第三相似度阈值小于第二相似度阈值,从而所得到的消极图像样本属于中等难度的样本,能够训练出表征能力更为精确的图像处理模型。
作为示例,通过表1示出的共享特征提取网络分别对参考图像样本、积极图像样本以及消极图像样本进行共享特征提取处理,得到参考图像样本的初始特征向量、积极图像样本的初始特征向量以及消极图像样本的初始特征向量,通过表2示出的索引量化处理网络分别对参考图像样本的初始特征向量、积极图像样本的初始特征向量以及消极图像样本的初始特征向量进行量化处理,得到参考图像样本的索引量化向量、积极图像样本的索引量化向量以及消极图像样本的索引量化向量,通过表3示出的索引特征处理网络分别对参考图像样本的初始特征向量、积极图像样本的初始特征向量以及消极图像样本的初始特征向量进行特征映射处理,得到参考图像样本的索引特征向量、积极图像样本的索引特征向量以及消极图像样本的索引特征向量。
在步骤102中,根据三元组图像样本的索引特征向量进行损失计算处理,得到三元组图像样本的特征向量距离损失值。
在一些实施例中,步骤102中根据三元组图像样本的索引特征向量进行损失计算处理,得到三元组图像样本的特征向量距离损失值,可以通过以下技术方案实现:确定参考图像样本的索引特征向量与积极图像样本的索引特征向量之间的第一索引特征向量距离,并确定参考图像样本与消极图像样本之间的第二索引特征向量距离;确定第一索引特征向量距离与第一度量损失阈值的第一求和处理结果,并确定第一求和处理结果与第二索引特征向量距离之间的第一差值;当第一差值大于零时,将第一差值作为特征向量距离损失值;当第一差值不大于零时,将零作为特征向量距离损失值。
作为示例,针对三元组图像样本(a,p,n),a为参考图像样本,p为积极图像样本,n为消极图像样本,基于参考图像样本的索引特征向量、积极图像样本的索引特征向量以及消极图像样本的索引特征向量计算特征向量距离损失值Ltriplet1,Ltriplet1的计算过程参见公式(1):
Ltriplet1=max(||Xa-Xp||-||Xa-Xn||+α,0) (1);
其中,||Xa-Xp||表示参考图像样本的索引特征向量与积极图像样本的索引特征向量之间的第一索引特征向量距离(L2距离),||Xa-Xn||表示参考图像样本与消极图像样本之间的第二索引特征向量距离(L2距离),α为第一度量损失阈值,可以为0.6,Ltriplet1的目的是使得第二索引特征向量距离比第一索引特征向量距离大0.6,甚至是超过0.6。
在一些实施例中,步骤102中根据三元组图像样本的索引量化向量进行损失计算处理,得到三元组图像样本的量化向量距离损失值,可以通过以下技术方案实现:确定参考图像样本的索引量化向量与积极图像样本的索引量化向量之间的第一索引量化向量距离,并确定参考图像样本与消极图像样本之间的第二索引量化向量距离;确定第一索引量化向量距离与第二度量损失阈值的第二求和处理结果,并确定第二求和处理结果与第二索引量化向量距离之间的第二差值;当第二差值大于零时,将第二差值作为量化向量距离损失值;当第二差值不大于零时,将零作为量化向量距离损失值。
作为示例,针对三元组图像样本(a,p,n),a为参考图像样本,p为积极图像样本,n为消极图像样本,基于参考图像样本的索引量化向量、积极图像样本的索引量化向量以及消极图像样本的索引量化向量计算量化向量距离损失值Ltriplet2,Ltriplet2的计算过程参见公式(2):
Ltriplet2=max(||Ya-Yp||-||Ya-Yn||+β,0) (2);
其中,β可以略小于0.6,由于对应量化的损失常比对应索引特征向量的损失大,为了保证索引特征向量能得到较好的学习,需要使对应量化的损失,量化向量距离损失值即小于特征向量距离损失,否则索引特征向量容易学习不充分。
在步骤103中,根据三元组图像样本的索引量化向量进行损失计算处理,得到三元组图像样本的量化向量距离损失值和量化向量损失值。
在一些实施例中,步骤103中根据三元组图像样本的索引量化向量进行损失计算处理,得到三元组图像样本的量化向量损失值,可以通过以下技术方案实现:对参考图像样本、积极图像样本以及消极图像样本各自对应的索引量化向量进行训练二值编码处理,得到每个索引量化向量中的每个数值对应的训练编码;确定每个索引量化向量中的每个数值与对应的训练编码的差值的绝对值;对与每个数值对应的绝对值进行求和处理,得到三元组图像样本的量化向量损失值,或者对与每个数值对应的绝对值的平方进行求和处理,得到三元组图像样本的量化向量损失值。
作为示例,对索引量化处理网络输出的向量计算量化向量损失值Lcoding,索引量化处理网络输出范围是(-1,1),由此可进行符号量化,即将小于零的输出映射为0,将不小于零的输出映射为1,则量化向量损失值Lcoding的目的是使得索引量化处理网络的输出靠近-1或1,若输出处于临界值0附近,则容易导致相似的索引特征向量被量化到不同编码中,由此,可以采用符号函数产生索引量化处理网络的训练编码,例如,通过sign函数对索引量化处理网络输出的向量u的每位ui计算训练编码bi,最终u的训练编码为b,然后采用回归损失原理使索引量化处理网络输出向量u与训练编码b的L2距离趋向于更小,从而索引量化向量每位的值靠近-1或者靠近1,以保证相似的图像不会编码至不同的量化空间,参见公式(3)和公司(4):
Figure BDA0003111739360000191
Figure BDA0003111739360000192
其中,bi是第i位的训练编码,b为训练编码,u是索引量化处理网络输出的向量(索引量化向量),ui是向量u的每位的值,sign是符号函数,Lcoding是量化向量损失值,Lcoding是基于L2回归距离计算得到的,L2回归距离还可以替换为其他回归距离,例如L1回归距离。
在步骤104中,对三元组图像样本的特征向量距离损失值、量化向量距离损失值及量化向量损失值中至少两个进行融合处理,并将融合处理结果作为对应图像处理模型的第一损失值。
作为示例,在图像处理模型的正向传播过程中,把图像处理模型的所有参数都设为需要学习的状态,训练时对输入的三元组图像样本的每张图像进行计算得到索引特征向量以及索引量化向量,基于三元组图像样本的索引特征向量计算特征向量距离损失值Ltriplet1,基于三元组图像样本的索引量化向量计算量化向量距离损失值Ltriplet2,基于三元组图像样本的索引量化向量计算量化向量损失值Lcoding,对三个损失值进行求和处理得到总损失Ltotal,参见公式(1):
Ltotal=w1Ltriplet1+w2Ltriplet2+w3Lcoding (1);
其中,w1是特征向量距离损失值Ltriplet1的权重,w2是量化向量距离损失值Ltriplet2的权重,w3是量化向量损失值Lcoding的权重,不同损失值的权重可以调整。
在步骤105中,根据对应图像处理模型的第一损失值训练图像处理模型。
在一些实施例中,步骤105中根据对应图像处理模型的第一损失值训练图像处理模型,可以通过以下技术方案实现:当第一损失值是根据特征向量距离损失值、量化向量距离损失值以及量化向量损失值得到时,执行以下任意一种:根据第一损失值更新共享特征提取网络的参数、索引量化处理网络的参数以及索引特征处理网络的参数;根据第一损失值更新索引量化处理网络的参数以及索引特征处理网络的参数;当第一损失值是根据量化向量距离损失值以及量化向量损失值得到时,根据第一损失值更新索引量化处理网络的参数。
作为示例,基于总损失值更新图像处理模型的参数时,可以更新图像处理模型全部参数或者更新图像处理模型部分参数,在进行学习时可以采取一阶段学习策略,例如,同时学习策略,即同时学习索引量化处理网络以及索引特征处理网络,即根据第一损失值更新共享特征提取网络的参数、索引量化处理网络的参数以及索引特征处理网络的参数,或者根据第一损失值更新索引量化处理网络的参数以及索引特征处理网络的参数,即固定共享特征提取网络的参数。在采取一阶段学习策略时,还可以仅学习索引量化处理网络,而不需要更新索引特征处理网络,例如,当在A业务下训练好索引特征处理网络后,B业务需要使用图像处理模型,而B业务仅有少量数据可供训练,因此没有足够多的数据训练索引特征处理网络,此时,可用A业务的数据以及B业务的数据训练B业务的索引量化处理网络即可,此时只需要固定共享特征提取网络的参数和索引特征处理网络的参数,更新索引量化处理网络的参数,此时只需要计算量化向量距离损失值Ltriplet2以及量化向量损失值Lcoding,部分参数的更新可以有效节约训练资源的消耗,提高模型的训练效率。
在一些实施例中,查询图像的索引特征向量以及查询图像的索引量化向量是通过调用图像处理模型获取的,图像处理模型包括共享特征提取网络、索引量化处理网络、索引特征处理网络,在通过调用图像处理模型获取查询图像的初始特征向量之前,更新共享特征提取网络的参数以及索引特征处理网络的参数,直到对应图像处理模型的第二损失值的变化小于变化阈值;更新共享特征提取网络的参数、索引量化处理网络的参数以及索引特征处理网络的参数,直到对应图像处理模型的第三损失值的变化小于变化阈值。
作为示例,在进行学习时还可以进行二阶段学习,例如,当在A业务下训练好索引特征处理网络后,B业务需要使用图像处理模型,B业务也具有足够多的数据训练索引特征处理网络,可在整体模型学习任务下进行二阶段学习:在第一阶段中,更新共享特征提取网络的参数以及索引特征处理网络的参数,直到对应图像处理模型的第二损失值的变化小于变化阈值,学习率采用0.005,每10轮下降到原来的0.1倍,当某轮后第二损失值不再下降,或者下降幅度小于上一轮的第二损失值的0.01,这里的第二损失值的0.01倍即为变化阈值,则停止该阶段学习,在第二阶段中更新共享特征提取网络的参数、索引量化处理网络的参数以及索引特征处理网络的参数,直到对应图像处理模型的第三损失值的变化小于变化阈值,针对共享特征提取网络的参数采取的学习率为0.0005,索引量化处理网络的参数以及索引特征处理网络的参数采用学习率为0.005,使得原先在第一阶段已经相对收敛的共享特征提取网络的参数在本阶段只是微调,不做大幅变化,学习率每10轮下降到原来的0.1倍。
在一些实施例中,上述更新共享特征提取网络的参数以及索引特征处理网络的参数,可以通过以下技术方案实现:通过图像处理模型对三元组图像样本进行特征提取处理,得到三元组图像样本的索引特征向量;根据三元组图像样本的索引特征向量进行损失计算处理,得到三元组图像样本的特征向量距离损失值,并将特征向量距离损失值确定为对应图像处理模型的第二损失值;根据对应图像处理模型的第二损失值更新共享特征提取网络的参数以及索引特征处理网络的参数。
作为示例,更新共享特征提取网络的参数和索引特征处理网络的参数,只计算特征向量距离损失值Ltriplet1,通过图像处理模型对参考图像样本、积极图像样本以及消极图像样本进行特征提取处理,得到参考图像样本的索引特征向量、积极图像样本的索引特征向量以及消极图像样本的索引特征向量,根据参考图像样本的索引特征向量、积极图像样本的索引特征向量以及消极图像样本的索引特征向量进行损失计算处理,得到特征向量距离损失值,计算特征向量距离损失值的方式可以参考公式(2)。
下面,仍然以由图1中的服务器200执行本申请实施例提供的图像处理方法为例进行说明。
参见图4B,图4B是本申请实施例提供的基于人工智能的图像处理方法的流程示意图,将结合图4B示出的步骤201-205进行说明。
在步骤201中,获取查询图像的初始特征向量。
作为示例,在本申请实施例中,图像处理模型可以主要包括三部分:共享特征提取网络、索引特征处理网络以及索引量化处理网络,其中,索引特征处理网络以及索引量化处理网络共享该共享特征提取网络。通过图像处理模型的共享特征提取网络获取查询图像的初始特征向量。
在步骤202中,对查询图像的初始特征向量进行特征映射处理,得到查询图像的索引特征向量。
在一些实施例中,特征映射处理是通过索引特征处理网络实现的,索引特征处理网络包括第一池化层、第一范数正则化层以及第一全连接层,步骤202中对查询图像的初始特征向量进行特征映射处理,得到查询图像的索引特征向量,可以通过以下技术方案实现:通过第一池化层对查询图像的初始特征向量进行第一池化处理,得到初始特征向量的第一池化处理结果;通过第一范数正则化层对第一池化处理结果进行第一正则化处理,得到初始特征向量的第一正则化处理结果;通过第一全连接层对第一正则化处理结果进行第一全连接处理,得到查询图像的索引特征向量。
作为示例,参见表2,通过表2中的第一池化层对查询图像的初始特征向量进行第一池化处理,得到初始特征向量的第一池化处理结果,第一池化处理可以为最大池化处理,第一池化处理结果的尺寸为1x2048,通过表2中的第一范数正则化层对第一池化处理结果进行第一正则化处理,得到初始特征向量的第一正则化处理结果,第一范数正则化层的类型为归一化层,第一正则化处理结果的尺寸为1x2048,通过表2中的第一全连接层对第一正则化处理结果进行第一全连接处理,得到查询图像的索引特征向量,索引特征向量的尺寸为1x128,128是索引特征向量的维度,当索引特征网络属于分类网络时,128可以为类别数目。
在步骤203中,对查询图像的初始特征向量进行量化编码处理,得到对应查询图像的索引量化向量。
在一些实施例中,量化编码处理是通过索引量化处理网络实现的,索引量化处理网络包括第二池化层、第二范数正则化层以及第二全连接层,步骤203中对查询图像的初始特征向量进行量化编码处理,得到对应查询图像的索引量化向量,可以通过以下技术方案实现:通过第二池化层对查询图像的初始特征向量进行第二池化处理,得到初始特征向量的第二池化处理结果;通过第二范数正则化层对第二池化处理结果进行第二正则化处理,得到初始特征向量的第二正则化处理结果;通过第二全连接层对第二正则化处理结果进行第二全连接处理,得到查询图像的索引量化向量。
作为示例,参见表3,通过表3中的第二池化层对查询图像的初始特征向量进行第二池化处理,得到初始特征向量的第二池化处理结果,第二池化处理可以为最大池化处理,第二池化处理结果的尺寸为1x2048,通过表3中的第二范数正则化层对第二池化处理结果进行第二正则化处理,得到初始特征向量的第二正则化处理结果,第二范数正则化层的类型为归一化层,第二正则化处理结果的尺寸为1x2048,通过表3中的第二全连接层对第二正则化处理结果进行第二全连接处理,得到查询图像的索引量化向量,索引量化向量的尺寸为1x128,对于存在压缩需要的情形,索引量化向量的尺寸为1x64等等,即索引量化向量的维度可以小于128。
在步骤204中,对查询图像的索引量化向量进行应用二值编码处理,得到查询图像的索引量化向量的第一应用编码。
作为示例,应用二值编码处理是将索引量化向量中小于零的数值量化为0,不小于零的数值量化为1,例如,对索引量化向量(0.25,0.22,-0.12,-0.89,0.8)进行应用二值编码处理得到第一应用编码(1,1,0,0,1)。
在步骤205中,根据查询图像的索引特征向量以及查询图像的第一应用编码对多个候选图像进行相似查询处理,得到与查询图像相似的候选图像。
在一些实施例中,参见图4C,图4C是本申请实施例提供的基于人工智能的图像处理方法的步骤205的流程示意图,步骤205中根据查询图像的索引特征向量以及查询图像的第一应用编码,对多个候选图像进行相似查询处理,得到与查询图像相似的候选图像,可以通过步骤2051-2053实现。
在步骤2051中,根据多个候选图像的第二应用编码,确定第二应用编码与候选图像之间的映射关系,其中,每个第二应用编码与至少一个候选图像对应。
作为示例,存在10个候选图像,每个候选图像均具有第二应用编码,有些候选图像会具有相同的第二应用编码,因此每个各不相同的第二应用编码对应有至少一个候选图像,从而形成了一对多的映射关系。
在步骤2052中,根据第一应用编码,从多个第二应用编码中确定出召回应用编码,并将召回应用编码对应的候选图像作为查询结果。
在一些实施例中,步骤2052中根据第一应用编码,从多个第二应用编码中确定出召回应用编码,可以通过以下技术方案实现:执行以下任意一种:获取每个第二应用编码与第一应用编码的编码距离,将编码距离小于编码距离阈值的第二应用编码作为召回应用编码;对第一应用编码进行基于编码距离阈值的变换处理,得到变换应用编码,将多个第二应用编码中与变换应用编码相同的第二应用编码作为召回应用编码。
作为示例,可以获取每个第二应用编码与第一应用编码的编码距离,将编码距离小于编码距离阈值的第二应用编码作为召回应用编码,例如,存在各不相同的四个第二应用编码0001,1001,1101以及1011,第一应用编码为0001,编码距离采用汉明距离,0001与0001的编码距离为0,0001与1001的编码距离为1,0001与1101的编码距离为2,0001与1011的编码距离为2,编码距离阈值为2时,小于编码距离阈值的第二应用编码为0001和1001,因此将0001和1001作为召回应用编码。
作为示例,可以对第一应用编码进行基于编码距离阈值的变换处理,得到变换应用编码,将多个第二应用编码中与变换应用编码相同的第二应用编码作为召回应用编码,例如,存在各不相同的四个第二应用编码0001,1001,1101以及1011,第一应用编码为0001,编码距离采用汉明距离,对第一应用编码进行基于编码距离阈值的变换处理,得到变换应用编码,即通过编码距离阈值约束了变换范围,编码距离阈值为2时,编码距离可以为0或者1,从而编码距离为0时,变换应用编码为0001,编码距离为1时,变换应用编码为1001,0101,0011以及0000,因此基于编码距离阈值的变换处理,得到变换应用编码0001,1001,0101,0011以及0000,将四个第二应用编码0001,1001,1101以及1011中与变换应用编码相同的第二应用编码0001和1001作为召回应用编码。
在步骤2053中,确定召回应用编码对应的候选图像的索引特征向量与查询图像的索引特征向量之间的特征距离,将特征距离超过特征距离阈值的候选图像作为查询结果。
作为示例,召回应用编码对应有至少一个候选图像,例如,召回应用编码0001对应有候选图像A,召回应用编码1001对应有候选图像B和C,确定候选图像A、候选图像B和候选图像C的索引特征向量与查询图像的索引特征向量之间的特征距离,将特征距离超过特征距离阈值的候选图像作为查询结果,或者直接将召回应用编码对应的候选图像作为查询结果,同时显示查询结果时按照特征距离的降序进行显示。本申请实施例直接通过步骤201、203以及204获得索引量化向量的第一应用编码作为相似查询的依据,而不需要如相关技术中将查询图像与百万量级的聚类中心进行距离计算以获得相似查询的依据,从而节省时间,并且图像处理模型的训练阶段对内存要求相对低,可支持小样本量多批次迭代训练。
在一些实施例中,在步骤2051中确定第二应用编码与候选图像之间的映射关系之前,获取多个候选图像的初始特征向量;对多个候选图像的初始特征向量进行量化编码处理,得到对应多个候选图像的索引量化向量;对多个候选图像的索引量化向量进行应用二值编码处理,得到多个候选图像的索引量化向量的第二应用编码;在步骤2053中确定召回应用编码对应的候选图像的索引特征向量与查询图像的索引特征向量之间的特征距离之前,对多个候选图像的初始特征向量进行特征映射处理,得到多个候选图像的索引特征向量。
作为示例,首先对候选图像进行索引,将N个候选图像i分别输入图像处理模型得到索引特征向量以及索引量化向量的编码结果,N为正整数,索引量化处理网络输出索引量化向量后采用sign函数(应用二值编码处理)得到的0、1编码结果(即第二应用编码),纪录候选图像与索引特征向量的映射表T[i:e],i为候选图像,e为候选图像的索引特征向量,对N个第二应用编码进行去重处理,产生了K个各不相同的0,1编码结果,包括c1,c2,…,ck,每个编码结果关联到候选图像,K为正整数,得到映射表invertT,例如[c1:[i1,i2];c2:[i3,i5,i7],…,ck:[i4,iN-1,iN]]。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
在一些实施例中,本申请实施例提供的基于人工智能的图像处理方法应用于视频推荐应用场景,在视频推荐应用场景中倾向于向用户推荐类似的视频,例如用户与视频A产生了互动行为,则以视频A的封面帧作为查询图像进行相似图像查询,将与查询图像相似的候选图像作为查询结果,并将查询结果对应的视频返回至终端推荐给用户,上述过程中的相似图像查询是基于查询图像的索引特征向量以及索引量化向量实现的,其中,索引特征向量以及索引量化向量可以通过图像处理模型获取。
在一些实施例中,为了训练图像处理模型需要准备三元组图像样本,三元组图像样本可以基于图像对得到,图像对已经被标注出是否为相同图像,在进行相似度embedding训练时是基于相似的图像对进行训练的,由于希望学习得到的索引量化向量能够表征图像对之间的相似度,因此可以使用相同的图像对训练索引量化向量,本申请实施例提供的图像处理模型是基于三元组图像样本训练得到的,以相似的图像对作为输入,在每个批次的多个图像对中进行挖掘得到三元组图像样本,例如,针对图像对x,从剩余的多个图像对的每个图像对中随机选择一张图像,并计算所选择的图像与图像对x中任意图像的距离,按距离从小到大进行排序,去除所选择的图像中前5%的图像,由于这部分图像极有可能是与图像对x相似的图像,因此去除排在最前面的5%的图像,由于图像对只能保证图像对中的两个图像相似,但无法保证两个不同的图像对之间绝对不相似的关系,因此每个批次有可能抽样到图像对x和图像对y相互相似,选取剩余的前10个图像作为负样本,将负样本分别与图像对x组成三元组图像样本,图像对x中任意一个图像为正样本,另一个图像为参考样本,故每个图像对x可以产生10个三元组图像样本,基于整个批次可以得到10*(批次中图像对数目)个三元组图像样本。
在一些实施例中,参见图5,图像处理模型包括共享特征提取网络(可以为CNN网络)、索引特征处理网络(基于度量学习的相似度embedding分支)、索引量化处理网络(量化分支),共享特征提取网络的结构可以参考表1,索引特征处理网络的结构可以参考表2,索引量化处理网络的结构可以参考表3,索引量化处理网络采取多层非线性网络结构,在应用阶段需要对索引量化处理网络的输出进行激活,在训练阶段不需要对索引量化处理网络的输出进行激活,共享特征提取网络可以采用resnet101网络,除了resnet101外还可以使用不同的网络结构、不同的预训练模型权重作为共享特征提取网络,索引特征处理网络和索引量化处理网络可以采用其他模型结构,表3可以用多层非线性神经网络层堆叠而成,如采用两个网络堆叠后接一个全连接层作为索引量化处理网络的输出,网络包括全连接层和tanh激活层,堆叠后的网络结构为全连接层+tanh激活层+全连接层+tanh激活层+全连接层,采用tanh激活层而不是常规的relu激活函数,是因为tanh激活层可以使输出变换到-1至1的范围内,符合后续符号函数编码的实际需要,而relu只能产生0至1的输出,不能满足符号函数判别的需求,tanh激活函数还可以换成sigmoid激活函数,也可以被激活到-1至1的范围内,索引量化向量的维度可以小于索引特征向量的维度,通过上述网络结构可以在得到索引特征向量的同时直接产生索引量化向量,通过符号函数将索引量化向量转化为编码(这个过程是不需要学习,只是通过符号函数映射),而不需要产生索引特征向量后再继续基于索引特征向量学习编码,避免了二次学习(引入额外的基于索引特征向量学习编码的步骤)在应用中引入更多流程,通过基于共享特征提取网络的多任务学习在图像处理模型中同时输出索引特征向量和索引量化向量的编码,可以使得编码具备相似性度量的效果避免了因编码造成相似图像被切分。
在一些实施例中,学习时首先进行参数初始化,表1中Conv1-Conv5采用在ImageNet数据集上预训练得到的ResNet101的参数,除了基于imagenet训练得到的分类模型外,还可以考虑基于其他大规模数据集训练得到的分类模型,如openimage,新添加的网络结构(例如索引量化处理网络和索引特征处理网络)采用方差为0.01,均值为0的高斯分布进行初始化,学习参数有两种设置方式,对于不需要更新共享特征提取网络的情形,只需要设置表2和表3的学习参数;对于需要更新共享特征提取网络的情形,需要设置表1、表2和表3的学习参数,共享特征提取网络和索引特征处理网络采用的学习率为0.005,每经过10轮迭代后学习率变为原来的0.1倍,学习过程中对全量数据进行多轮迭代,每轮迭代处理一次全量样本,每轮迭代中的具体操作如下:将全量的三元组图像样本分成多个批次,对于每个批次的三元组图像样本进行正向传播以及反向更新。
在一些实施例中,在图像处理模型的正向传播过程中,把模型的所有参数都设为需要学习状态,训练时对输入的三元组图像样本的每张图像进行计算得到索引特征向量以及索引量化向量,基于三元组图像样本的索引特征向量计算特征向量距离损失值Ltriplet1,基于三元组图像样本的索引量化向量计算量化向量距离损失值Ltriplet2,基于三元组图像样本的索引量化向量计算量化向量损失值Lcoding,对三个损失值进行求和处理得到总损失Ltotal,参见公式(5):
Ltotal=w1Ltriplet1+w2Ltriplet2+w3Lcoding (5);
其中,w1是特征向量距离损失值Ltriplet1的权重,w2是量化向量距离损失值Ltriplet2的权重,w3是量化向量损失值Lcoding的权重,不同损失值的权重可以调整。
在一些实施例中,针对三元组图像样本(a,p,n),a为参考图像样本,p为积极图像样本,n为消极图像样本,基于参考图像样本、积极图像样本以及消极图像样本各自对应的索引特征向量计算特征向量距离损失值Ltriplet1,Ltriplet1的计算过程参见公式(6):
Ltriplet1=max(||Xa-Xp||-||Xa-Xn||+α,0) (6);
其中,||Xa-Xp||表示参考图像样本的索引特征向量与积极图像样本的索引特征向量之间的第一索引特征向量距离(L2距离),||Xa-Xn||表示参考图像样本与消极图像样本之间的第二索引特征向量距离(L2距离),α为0.6,Ltriplet1的目的是使得第二索引特征向量距离比第一索引特征向量距离大0.6。
在一些实施例中,针对三元组图像样本(a,p,n),a为参考图像样本,p为积极图像样本,n为消极图像样本,基于参考图像样本、积极图像样本以及消极图像样本各自对应的索引量化向量计算量化向量距离损失值Ltriplet2,Ltriplet2的计算过程参见公式(7):
Ltriplet2=max(||Ya-Yp||-||Ya-Yn||+β,0) (7);
其中,β可以略小于0.6,由于对应量化的损失常比对应相似度embedding的损失大,为了保证相似度embedding能得到较好的学习,需要使对应量化的损失小于对应相似度embedding的损失,否则相似度embedding容易学习不充分。
在一些实施例中,对索引量化处理网络输出的向量计算量化向量损失值Lcoding,索引量化处理网络输出范围是(-1,1),由此可进行符号量化,即将小于零的输出映射为0,将不小于零的输出映射为1,则量化向量损失值Lcoding的目的是使得索引量化处理网络的输出靠近-1或1,若输出处于临界值附近,则容易导致相似的索引特征向量被量化到不同编码中,由此,可以采用符号函数产生索引量化处理网络的训练编码,例如,通过sign函数对索引量化处理网络输出的向量u的每位ui计算训练编码bi,最终u的训练编码为b,然后采用回归损失使索引量化处理网络输出向量u与训练编码b的L2距离变小,参见公式(8)和公司(9):
Figure BDA0003111739360000301
Figure BDA0003111739360000302
其中,bi是第i位的训练编码,b为训练编码,u是索引量化处理网络输出的向量,ui是向量u的每位的值,sign是符号函数,Lcoding是量化向量损失值,Lcoding是基于L2回归距离计算得到的,L2回归距离还可以替换为其他回归距离,例如L1回归距离。
在一些实施例中,基于总损失值更新图像处理模型的参数,采用SGD随机梯度下降法更新图像处理模型的参数,对总损失值进行梯度后向计算得到图像处理模型全部参数的更新值,并更新图像处理模型。在进行学习时可以采取一阶段学习,例如,同时学习策略,即同时学习索引量化处理网络以及索引特征处理网络,还可以仅学习索引量化处理网络,而不需要更新索引特征处理网络,例如,当在A业务下训练好索引特征处理网络后,B业务需要使用图像处理模型,而B业务仅有少量数据可供训练,因此没有足够多的数据训练索引特征处理网络,此时,可用A业务的数据以及B业务的数据训练B业务的索引量化处理网络即可,此时只需要固定表1和表2的参数,更新表3的编码层的参数,此时只需要计算量化向量距离损失值Ltriplet2以及量化向量损失值Lcoding。在进行学习时还可以进行二阶段学习,需要更新索引特征处理网络时可以采取二阶段学习,例如,B业务具有足够多的数据训练索引特征处理网络,可在整体模型学习任务下进行二阶段学习:在第一阶段中,首先更新表1和表2的参数,即只计算特征向量距离损失值Ltriplet1,学习率采用0.005,每10轮下降到原来的0.1倍,当某轮后损失值不再下降,或者下降幅度小于上一轮损失值的0.01,则停止该阶段学习,在第二阶段中,更新表1、表2和表3的参数,其中,针对表1的参数采取的学习率为0.0005,表2和表3采用学习率为0.005,使得原先在第一阶段已经相对收敛的表1的参数在本阶段只是微调,不做大幅变化,学习率每10轮下降到原来的0.1倍,本阶段需要计算公式(1)中总损失Ltotal。由于量化向量距离损失值Ltriplet2的性能与特征向量距离损失值Ltriplet1接近,并且实际应用中可以接受编码带来误差而不能接受索引特征向量具有过大的误差,因此w2需要设置小于1,例如,若量化向量距离损失值Ltriplet2与特征向量距离损失值Ltriplet1采用相同的阈值0.6,w2可以取0.5。由于基于回归的量化向量损失值收敛比较快,故w3的权重较小,例如0.5或0.3,使得优先保证量化向量距离损失值Ltriplet2与特征向量距离损失值Ltriplet1的学习。
在一些实施例中,在训练完成图像处理模型之后可以应用于检索场景,先获取图像的索引量化向量的编码作为索引,每次检索采用索引召回对应索引的候选图像,区别于其他量化技术,本申请实施例提供的图像处理模型同时学习查询图像的索引特征向量和量化向量,通过基于量化向量距离损失值Ltriplet2的度量学习使得量化具备保距离效果,同时通过基于量化向量损失值Lcoding的学习实现量化效果。
在一些实施例中,参见图6,图6是本申请实施例提供的基于人工智能的图像处理方法的逻辑示意图,在检索时对候选图像进行索引,将N个候选图像i分别输入图像处理模型进行特征提取处理得到索引特征向量embedding e,例如,(41,98,…,61)以及索引量化向量的编码结果coding c,例如,编码1-编码k,索引量化处理网络输出索引量化向量后采用sign函数得到的0、1编码结果coding c,纪录候选图像与索引特征向量的映射表T[i:e],对N个编码结果去重处理,产生了K个唯一编码,组合集合Cset,包括c1,c2,…,ck,每个编码结果关联到图像,得到映射表invertT,例如[c1:[i1,i2];c2:[i3,i5,i7],…,ck:[i4,iN-1,iN]]。
在一些实施例中,首先获取编码结果,将查询图像输入图像处理模型进行特征提取处理得到索引特征向量qe(12,23,…,15),将查询图像输入图像处理模型进行查询图像量化处理得到索引量化向量的编码结果qc,接着通过编码比对确定编码1-编码k中与编码结果qc最近编码,寻找映射表invertT中与qc的汉明距离小于2(即只有0个或1个编码位不同)的所有编码Qcset,汉明距离指两个编码向量中差异位的数量,如0110和1000的汉明距离为3,然后确定召回的候选图像,根据映射表invertT,召回QCset中的编码所包含的候选图像,得到量化索引召回,由于索引量化向量实际与相似度度量学习得到的,可以保证召回的候选图像与查询图像相似,再进行排序处理:根据正排表T得到召回的候选图像的索引特征向量,召回满足要求的编码中的候选图像,将召回的候选图像的索引特征向量分别与索引特征向量qe计算L2距离以进行特征比对,根据距离从小到大排序得到召回候选图像的排序,从而保证召回结果排序合理性,在找到最近编码的过程中,直接通过遍历索引量化向量的编码结果qc的所有位(128位)的变化得到需要搜索的编码范围,而不需要对映射表invertT中所有的编码进行遍历,有效节省遍历时间,非量化的检索方式需要遍历所有的编码并进行基于距离的降序排序找到排序靠前的多个编码进行召回。
针对索引特征向量的量化问题,本申请实施例提供一种保距离的量化学习模型,即上述图像处理模型,基于大规模图像对,将量化任务变成连续的量化标签预测任务,即不再对索引特征向量进行二值量化,而是直接对图像进行量化标签预测,除了量化预测外,同时设计保持相似图像对距离的度量学习损失,实现特征二进制化的深度学习,由于量化中含有特征非线性映射过程,故经过量化后的特征通过特征重投影有效提升相似图像对召回效果,基于索引特征向量直接进行量化容易使得两张相似图像被量化切分到不同的量化空间且常规无监督量化学习难以对此进行优化,本申请实施例提供的图像处理模型可以在学习索引量化向量的同时保证索引量化向量的编码结果中将相似图像对聚在相同量化空间,使得量化误差变小。本申请实施例设计了基于深度学习的索引量化处理网络(特征量化分支)以及训练方法,通过度量学习实现量化分支的可学习性与保距离的效果,索引量化处理网络(特征量化分支)可嵌入到由共享特征提取网络以及索引特征处理网络组成的模型中,从而实现端到端的模型学习。
通过本申请实施例提供的图像处理模型可以提升量化索引检索的召回效果,使得两个图像的索引量化向量的编码能够有效表征两个图像之间的相似度,从而使召回的相同编码索引下图像相似度更高,还可以提升量化编码的学习效率和效果,通过从共享特征提取网络产生索引特征向量与索引量化向量的编码,避免引入额外的量化编码步骤,并且编码效果可以得到根本的提升,即直接从相似地图像对学习量化编码,因此只引入了量化误差,而不会基于索引特征向量学习量化编码,也不会引入特征误差,并且不引入标注成本,编码学习的三元组图像样本采用相似度embedding学习的三元组图像样本,因此仅需要提供相似度embedding学习的三元组图像样本,不需要进行额外的编码标注。
下面继续说明本申请实施例提供的基于人工智能的图像处理装置255的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器250的基于人工智能的图像处理装置255中的软件模块可以包括:初始模块2551,用于获取查询图像的初始特征向量;特征模块2552,用于对查询图像的初始特征向量进行特征映射处理,得到查询图像的索引特征向量;量化模块2553,用于对查询图像的初始特征向量进行量化编码处理,得到对应查询图像的索引量化向量;编码模块2554,用于对查询图像的索引量化向量进行应用二值编码处理,得到查询图像的索引量化向量的第一应用编码;查询模块2555,用于根据查询图像的索引特征向量以及查询图像的第一应用编码对多个候选图像进行相似查询处理,得到与查询图像相似的候选图像。
在一些实施例中,查询图像的索引特征向量以及查询图像的索引量化向量是通过调用图像处理模型获取的,在获取查询图像的初始特征向量之前,基于人工智能的图像处理装置255还包括:训练模块2556,用于:通过图像处理模型对三元组图像样本进行特征提取处理,得到三元组图像样本的索引特征向量以及三元组图像样本的索引量化向量;根据三元组图像样本的索引特征向量进行损失计算处理,得到三元组图像样本的特征向量距离损失值;根据三元组图像样本的索引量化向量进行损失计算处理,得到三元组图像样本的量化向量距离损失值和量化向量损失值;对三元组图像样本的特征向量距离损失值、量化向量距离损失值及量化向量损失值中至少两个进行融合处理,并将融合处理结果作为对应图像处理模型的第一损失值;根据对应图像处理模型的第一损失值训练图像处理模型。
在一些实施例中,三元组图像样本包括参考图像样本、积极图像样本以及消极图像样本,积极图像样本与参考图像样本之间的相似度大于第一相似度阈值,消极图像样本与参考图像样本之间的相似度小于第二相似度阈值,第一相似度阈值大于第二相似度阈值;图像处理模型包括共享特征提取网络、索引特征处理网络、索引量化处理网络;训练模块2556,还用于:通过共享特征提取网络分别对参考图像样本、积极图像样本以及消极图像样本进行共享特征提取处理,得到参考图像样本、积极图像样本以及消极图像样本各自对应的初始特征向量;通过索引量化处理网络分别对参考图像样本、积极图像样本以及消极图像样本的初始特征向量进行量化处理,得到参考图像样本、积极图像样本以及消极图像样本各自对应的索引量化向量;通过索引特征处理网络分别对参考图像样本、积极图像样本以及消极图像样本的初始特征向量进行特征映射处理,得到参考图像样本、积极图像样本以及消极图像样本各自对应的索引特征向量。
在一些实施例中,训练模块2556,还用于:确定参考图像样本的索引特征向量与积极图像样本的索引特征向量之间的第一索引特征向量距离,并确定参考图像样本与消极图像样本之间的第二索引特征向量距离;确定第一索引特征向量距离与第一度量损失阈值的第一求和处理结果,并确定第一求和处理结果与第二索引特征向量距离之间的第一差值;当第一差值大于零时,将第一差值作为特征向量距离损失值;当第一差值不大于零时,将零作为特征向量距离损失值。
在一些实施例中,训练模块2556,还用于:确定参考图像样本的索引量化向量与积极图像样本的索引量化向量之间的第一索引量化向量距离,并确定参考图像样本与消极图像样本之间的第二索引量化向量距离;确定第一索引量化向量距离与第二度量损失阈值的第二求和处理结果,并确定第二求和处理结果与第二索引量化向量距离之间的第二差值;当第二差值大于零时,将第二差值作为量化向量距离损失值;当第二差值不大于零时,将零作为量化向量距离损失值;
在一些实施例中,训练模块2556,还用于:对参考图像样本、积极图像样本以及消极图像样本各自对应的索引量化向量进行训练二值编码处理,得到每个索引量化向量中的每个数值对应的训练编码;确定每个索引量化向量中的每个数值与对应的训练编码的差值的绝对值;对与每个数值对应的绝对值进行求和处理,得到三元组图像样本的量化向量损失值。
在一些实施例中,训练模块2556,还用于:当第一损失值是根据特征向量距离损失值、量化向量距离损失值以及量化向量损失值得到时,执行以下任意一种:根据第一损失值更新共享特征提取网络的参数、索引量化处理网络的参数以及索引特征处理网络的参数;根据第一损失值更新索引量化处理网络的参数以及索引特征处理网络的参数;当第一损失值是根据量化向量距离损失值以及量化向量损失值得到时,根据第一损失值更新索引量化处理网络的参数。
在一些实施例中,查询图像的索引特征向量以及查询图像的索引量化向量是通过调用图像处理模型获取的,图像处理模型包括共享特征提取网络、索引量化处理网络、索引特征处理网络,在获取查询图像的初始特征向量之前,训练模块2556,还用于:更新共享特征提取网络的参数以及索引特征处理网络的参数,直到对应图像处理模型的第二损失值的变化小于变化阈值;更新共享特征提取网络的参数、索引量化处理网络的参数以及索引特征处理网络的参数,直到对应图像处理模型的第三损失值的变化小于变化阈值。
在一些实施例中,训练模块2556,还用于:通过图像处理模型对三元组图像样本进行特征提取处理,得到三元组图像样本的索引特征向量;根据三元组图像样本的索引特征向量进行损失计算处理,得到三元组图像样本的特征向量距离损失值,并将特征向量距离损失值确定为对应图像处理模型的第二损失值;根据对应图像处理模型的第二损失值更新共享特征提取网络的参数以及索引特征处理网络的参数。
在一些实施例中,特征映射处理是通过索引特征处理网络实现的,索引特征处理网络包括第一池化层、第一范数正则化层以及第一全连接层,特征模块2552,还用于:通过第一池化层对查询图像的初始特征向量进行第一池化处理,得到初始特征向量的第一池化处理结果;通过第一范数正则化层对第一池化处理结果进行第一正则化处理,得到初始特征向量的第一正则化处理结果;通过第一全连接层对第一正则化处理结果进行第一全连接处理,得到查询图像的索引特征向量。
在一些实施例中,量化编码处理是通过索引量化处理网络实现的,索引量化处理网络包括第二池化层、第二范数正则化层以及第二全连接层,量化模块2553,还用于:通过第二池化层对查询图像的初始特征向量进行第二池化处理,得到初始特征向量的第二池化处理结果;通过第二范数正则化层对第二池化处理结果进行第二正则化处理,得到初始特征向量的第二正则化处理结果;通过第二全连接层对第二正则化处理结果进行第二全连接处理,得到查询图像的索引量化向量。
在一些实施例中,查询模块2555,还用于:根据多个候选图像的第二应用编码,确定第二应用编码与候选图像之间的映射关系,其中,每个第二应用编码与至少一个候选图像对应;根据第一应用编码,从多个第二应用编码中确定出召回应用编码,并将召回应用编码对应的候选图像作为查询结果;确定召回应用编码对应的候选图像的索引特征向量与查询图像的索引特征向量之间的特征距离,将特征距离超过特征距离阈值的候选图像作为查询结果。
在一些实施例中,查询模块2555,还用于:在确定第二应用编码与候选图像之间的映射关系之前,获取多个候选图像的初始特征向量;对多个候选图像的初始特征向量进行量化编码处理,得到对应多个候选图像的索引量化向量;对多个候选图像的索引量化向量进行应用二值编码处理,得到多个候选图像的索引量化向量的第二应用编码;在确定召回应用编码对应的候选图像的索引特征向量与查询图像的索引特征向量之间的特征距离之前,对多个候选图像的初始特征向量进行特征映射处理,得到查询图像的索引特征向量。
在一些实施例中,查询模块2555,还用于:执行以下任意一种:获取每个第二应用编码与第一应用编码的编码距离,将编码距离小于编码距离阈值的第二应用编码作为召回应用编码;对第一应用编码进行基于编码距离阈值的变换处理,得到变换应用编码,将多个第二应用编码中与变换应用编码相同的第二应用编码作为召回应用编码。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本申请实施例上述的基于人工智能的图像处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,被处理器执行本申请实施例提供的基于人工智能的图像处理方法,例如,如图4A-4C示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
综上所述,通过本申请实施例,获取初始特征向量,并基于获取的初始特征向量分别获得索引特征向量以及索引量化向量,使得索引量化向量与索引特征向量具有相同的表征效果,从而具有相似索引特征向量的两个图像也具有相似索引量化向量,具有相似索引特征向量的两个图像不会因索引量化向量不同而被切分,并且在得到索引特征向量的同时直接产生索引量化向量,而不需要产生索引特征向量后再继续学习量化,既避免了二次学习在应用中引入更多流程,也避免导致双重误差,即特征误差以及量化误差,进而基于索引特征向量以及对应索引量化向量的第一应用编码进行检索时,不再需要将索引特征向量与百万量级的特征聚类中心进行距离计算,可以直接以第一应用编码为基础,以索引特征向量为辅助进行查询,有效提升了查询效率以及准确度。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (15)

1.一种基于人工智能的图像处理方法,其特征在于,包括:
获取查询图像的初始特征向量;
对所述查询图像的初始特征向量进行特征映射处理,得到所述查询图像的索引特征向量;
对所述查询图像的初始特征向量进行量化编码处理,得到对应所述查询图像的索引量化向量;
对所述查询图像的索引量化向量进行应用二值编码处理,得到所述查询图像的索引量化向量的第一应用编码;
根据所述查询图像的索引特征向量以及所述查询图像的第一应用编码对多个候选图像进行相似查询处理,得到与所述查询图像相似的候选图像。
2.根据权利要求1所述的方法,所述查询图像的索引特征向量以及所述查询图像的索引量化向量是通过调用图像处理模型获取的,在获取查询图像的初始特征向量之前,所述方法还包括:
通过所述图像处理模型对三元组图像样本进行特征提取处理,得到所述三元组图像样本的索引特征向量以及所述三元组图像样本的索引量化向量;
根据所述三元组图像样本的索引特征向量进行损失计算处理,得到所述三元组图像样本的特征向量距离损失值;
根据所述三元组图像样本的索引量化向量进行损失计算处理,得到所述三元组图像样本的量化向量距离损失值和量化向量损失值;
对所述三元组图像样本的特征向量距离损失值、量化向量距离损失值及量化向量损失值中至少两个进行融合处理,并将融合处理结果作为对应所述图像处理模型的第一损失值;
根据对应所述图像处理模型的第一损失值训练所述图像处理模型。
3.根据权利要求2所述的方法,其特征在于,所述三元组图像样本包括参考图像样本、积极图像样本以及消极图像样本,所述积极图像样本与所述参考图像样本之间的相似度大于第一相似度阈值,所述消极图像样本与所述参考图像样本之间的相似度小于第二相似度阈值,所述第一相似度阈值大于所述第二相似度阈值;所述图像处理模型包括共享特征提取网络、索引特征处理网络、索引量化处理网络;
所述通过所述图像处理模型对三元组图像样本进行特征提取处理,得到所述三元组图像样本的索引特征向量以及所述三元组图像样本的索引量化向量,包括:
通过所述共享特征提取网络分别对所述参考图像样本、所述积极图像样本以及所述消极图像样本进行共享特征提取处理,得到所述参考图像样本、所述积极图像样本以及所述消极图像样本各自对应的初始特征向量;
通过所述索引量化处理网络分别对所述参考图像样本、所述积极图像样本以及所述消极图像样本的初始特征向量进行量化处理,得到所述参考图像样本、所述积极图像样本以及所述消极图像样本各自对应的索引量化向量;
通过所述索引特征处理网络分别对所述参考图像样本、所述积极图像样本以及所述消极图像样本的初始特征向量进行特征映射处理,得到所述参考图像样本、所述积极图像样本以及所述消极图像样本各自对应的索引特征向量。
4.根据权利要求3所述的方法,其特征在于,所述根据所述三元组图像样本的索引特征向量进行损失计算处理,得到所述三元组图像样本的特征向量距离损失值,包括:
确定所述参考图像样本的索引特征向量与所述积极图像样本的索引特征向量之间的第一索引特征向量距离,并确定所述参考图像样本的索引特征向量与所述消极图像样本的索引特征向量之间的第二索引特征向量距离;
确定所述第一索引特征向量距离与第一度量损失阈值的第一求和处理结果,并确定所述第一求和处理结果与所述第二索引特征向量距离之间的第一差值;
当所述第一差值大于零时,将所述第一差值作为所述特征向量距离损失值;
当所述第一差值不大于零时,将零作为所述特征向量距离损失值。
5.根据权利要求3所述的方法,其特征在于,所述根据所述三元组图像样本的索引量化向量进行损失计算处理,得到所述三元组图像样本的量化向量距离损失值,包括:
确定所述参考图像样本的索引量化向量与所述积极图像样本的索引量化向量之间的第一索引量化向量距离,并确定所述参考图像样本的索引量化向量与所述消极图像样本的索引量化向量之间的第二索引量化向量距离;
确定所述第一索引量化向量距离与第二度量损失阈值的第二求和处理结果,并确定所述第二求和处理结果与所述第二索引量化向量距离之间的第二差值;
当所述第二差值大于零时,将所述第二差值作为所述量化向量距离损失值;
当所述第二差值不大于零时,将零作为所述量化向量距离损失值。
6.根据权利要求3所述的方法,其特征在于,所述根据所述三元组图像样本的索引量化向量进行损失计算处理,得到所述三元组图像样本的量化向量损失值,包括:
对所述参考图像样本、所述积极图像样本以及所述消极图像样本各自对应的索引量化向量进行训练二值编码处理,得到每个所述索引量化向量中的每个数值对应的训练编码;
确定每个所述索引量化向量中的每个数值与对应的训练编码的差值的绝对值;
对与每个所述数值对应的绝对值进行求和处理,得到所述三元组图像样本的量化向量损失值。
7.根据权利要求3所述的方法,其特征在于,所述根据对应所述图像处理模型的第一损失值训练所述图像处理模型,包括:
当所述第一损失值是根据所述特征向量距离损失值、所述量化向量距离损失值以及所述量化向量损失值得到时,执行以下任意一种:
根据所述第一损失值更新所述共享特征提取网络的参数、所述索引量化处理网络的参数以及所述索引特征处理网络的参数;
根据所述第一损失值更新所述索引量化处理网络的参数以及所述索引特征处理网络的参数;
当所述第一损失值是根据所述量化向量距离损失值以及所述量化向量损失值得到时,根据所述第一损失值更新所述索引量化处理网络的参数。
8.根据权利要求1所述的方法,其特征在于,所述查询图像的索引特征向量以及所述查询图像的索引量化向量是通过调用图像处理模型获取的,所述图像处理模型包括共享特征提取网络、索引量化处理网络、索引特征处理网络,在获取查询图像的初始特征向量之前,所述方法还包括:
更新所述共享特征提取网络的参数以及所述索引特征处理网络的参数,直到对应所述图像处理模型的第二损失值的变化小于变化阈值;
更新所述共享特征提取网络的参数、所述索引量化处理网络的参数以及所述索引特征处理网络的参数,直到对应所述图像处理模型的第三损失值的变化小于所述变化阈值。
9.根据权利要求8所述的方法,其特征在于,所述更新所述共享特征提取网络的参数以及所述索引特征处理网络的参数,包括:
通过所述图像处理模型对三元组图像样本进行特征提取处理,得到所述三元组图像样本的索引特征向量;
根据所述三元组图像样本的索引特征向量进行损失计算处理,得到所述三元组图像样本的特征向量距离损失值,并将所述特征向量距离损失值确定为对应所述图像处理模型的第二损失值;
根据对应所述图像处理模型的第二损失值更新所述共享特征提取网络的参数以及所述索引特征处理网络的参数。
10.根据权利要求1所述的方法,其特征在于,所述根据所述查询图像的索引特征向量以及所述查询图像的第一应用编码对多个候选图像进行相似查询处理,得到与所述查询图像相似的候选图像,包括:
根据所述多个候选图像的第二应用编码,确定所述第二应用编码与所述候选图像之间的映射关系,其中,每个所述第二应用编码与至少一个所述候选图像对应;
根据所述第一应用编码,从多个所述第二应用编码中确定出召回应用编码,并将所述召回应用编码对应的候选图像作为查询结果;
确定所述召回应用编码对应的候选图像的索引特征向量与所述查询图像的索引特征向量之间的特征距离,将所述特征距离超过特征距离阈值的候选图像作为查询结果。
11.根据权利要求10所述的方法,其特征在于,在确定所述第二应用编码与所述候选图像之间的映射关系之前,所述方法还包括:
获取所述多个候选图像的初始特征向量;
对所述多个候选图像的初始特征向量进行量化编码处理,得到对应所述多个候选图像的索引量化向量;
对所述多个候选图像的索引量化向量进行应用二值编码处理,得到所述多个候选图像的索引量化向量的第二应用编码;
在确定所述召回应用编码对应的候选图像的索引特征向量与所述查询图像的索引特征向量之间的特征距离之前,所述方法还包括:
对所述多个候选图像的初始特征向量进行特征映射处理,得到所述多个候选图像的索引特征向量。
12.根据权利要求10所述的方法,其特征在于,所述根据所述第一应用编码,从多个所述第二应用编码中确定出召回应用编码,包括:
执行以下任意一种:
获取每个所述第二应用编码与所述第一应用编码的编码距离,将所述编码距离小于编码距离阈值的第二应用编码作为所述召回应用编码;
对所述第一应用编码进行基于所述编码距离阈值的变换处理,得到变换应用编码,将多个所述第二应用编码中与所述变换应用编码相同的第二应用编码作为所述召回应用编码。
13.一种基于人工智能的图像处理装置,其特征在于,包括:
初始模块,用于获取查询图像的初始特征向量;
特征模块,用于对所述查询图像的初始特征向量进行特征映射处理,得到所述查询图像的索引特征向量;
量化模块,用于对所述查询图像的初始特征向量进行量化编码处理,得到对应所述查询图像的索引量化向量;
编码模块,用于对所述查询图像的索引量化向量进行应用二值编码处理,得到所述查询图像的索引量化向量的第一应用编码;
查询模块,用于根据所述查询图像的索引特征向量以及所述查询图像的第一应用编码对多个候选图像进行相似查询处理,得到与所述查询图像相似的候选图像。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的基于人工智能的图像处理方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至12任一项所述的基于人工智能的图像处理方法。
CN202110651716.8A 2021-06-11 2021-06-11 基于人工智能的图像处理方法、装置及电子设备 Active CN113821667B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110651716.8A CN113821667B (zh) 2021-06-11 2021-06-11 基于人工智能的图像处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110651716.8A CN113821667B (zh) 2021-06-11 2021-06-11 基于人工智能的图像处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113821667A true CN113821667A (zh) 2021-12-21
CN113821667B CN113821667B (zh) 2024-07-02

Family

ID=78923844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110651716.8A Active CN113821667B (zh) 2021-06-11 2021-06-11 基于人工智能的图像处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113821667B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114494818A (zh) * 2022-01-26 2022-05-13 北京百度网讯科技有限公司 图像处理方法、模型训练方法、相关装置及电子设备
CN114494817A (zh) * 2022-01-26 2022-05-13 北京百度网讯科技有限公司 图像处理方法、模型训练方法、相关装置及电子设备
CN117076713A (zh) * 2023-10-18 2023-11-17 中国科学技术大学 一种视频指纹提取和检索方法
WO2024065692A1 (zh) * 2022-09-30 2024-04-04 华为技术有限公司 一种向量检索方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920727A (zh) * 2018-08-03 2018-11-30 厦门大学 视觉检索中的紧凑视觉描述子深度神经网络生成模型
CN110363049A (zh) * 2018-04-10 2019-10-22 阿里巴巴集团控股有限公司 图形元素检测识别和类别确定的方法及装置
US20200104721A1 (en) * 2018-09-27 2020-04-02 Scopemedia Inc. Neural network image search
CN111611413A (zh) * 2020-05-26 2020-09-01 北京邮电大学 基于度量学习的深度哈希方法
CN111832596A (zh) * 2019-04-23 2020-10-27 北京新唐思创教育科技有限公司 数据处理方法、电子设备及计算机可读介质
CN112016599A (zh) * 2020-08-13 2020-12-01 驭势科技(南京)有限公司 用于图像检索的神经网络训练方法、装置及电子设备
CN112101300A (zh) * 2020-11-02 2020-12-18 北京妙医佳健康科技集团有限公司 药材识别方法、装置及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110363049A (zh) * 2018-04-10 2019-10-22 阿里巴巴集团控股有限公司 图形元素检测识别和类别确定的方法及装置
CN108920727A (zh) * 2018-08-03 2018-11-30 厦门大学 视觉检索中的紧凑视觉描述子深度神经网络生成模型
US20200104721A1 (en) * 2018-09-27 2020-04-02 Scopemedia Inc. Neural network image search
CN111832596A (zh) * 2019-04-23 2020-10-27 北京新唐思创教育科技有限公司 数据处理方法、电子设备及计算机可读介质
CN111611413A (zh) * 2020-05-26 2020-09-01 北京邮电大学 基于度量学习的深度哈希方法
CN112016599A (zh) * 2020-08-13 2020-12-01 驭势科技(南京)有限公司 用于图像检索的神经网络训练方法、装置及电子设备
CN112101300A (zh) * 2020-11-02 2020-12-18 北京妙医佳健康科技集团有限公司 药材识别方法、装置及电子设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114494818A (zh) * 2022-01-26 2022-05-13 北京百度网讯科技有限公司 图像处理方法、模型训练方法、相关装置及电子设备
CN114494817A (zh) * 2022-01-26 2022-05-13 北京百度网讯科技有限公司 图像处理方法、模型训练方法、相关装置及电子设备
CN114494818B (zh) * 2022-01-26 2023-07-25 北京百度网讯科技有限公司 图像处理方法、模型训练方法、相关装置及电子设备
WO2024065692A1 (zh) * 2022-09-30 2024-04-04 华为技术有限公司 一种向量检索方法及装置
CN117076713A (zh) * 2023-10-18 2023-11-17 中国科学技术大学 一种视频指纹提取和检索方法
CN117076713B (zh) * 2023-10-18 2024-02-23 中国科学技术大学 一种视频指纹提取和检索方法

Also Published As

Publication number Publication date
CN113821667B (zh) 2024-07-02

Similar Documents

Publication Publication Date Title
CN113821667B (zh) 基于人工智能的图像处理方法、装置及电子设备
CN110728317A (zh) 决策树模型的训练方法、系统、存储介质及预测方法
WO2023134084A1 (zh) 多标签识别方法、装置、电子设备及存储介质
CN110119745B (zh) 深度学习模型的压缩方法、装置、计算机设备及存储介质
CN112307762B (zh) 搜索结果的排序方法及装置、存储介质、电子装置
CN110309847B (zh) 一种模型压缩方法及装置
WO2020159890A1 (en) Method for few-shot unsupervised image-to-image translation
CN113918753B (zh) 基于人工智能的图像检索方法及相关设备
US20220343169A1 (en) Cluster compression for compressing weights in neural networks
CN110659667A (zh) 图片分类模型训练方法、系统和计算机设备
CN114358188A (zh) 特征提取模型处理、样本检索方法、装置和计算机设备
CN110175170B (zh) 数据优化处理方法、装置、计算机设备及存储介质
CN113821657A (zh) 基于人工智能的图像处理模型训练方法及图像处理方法
CN113869420B (zh) 基于对比学习的文本推荐方法及相关设备
CN114329029B (zh) 对象检索方法、装置、设备及计算机存储介质
CN113254687A (zh) 图像检索、图像量化模型训练方法、装置和存储介质
CN113609337A (zh) 图神经网络的预训练方法、训练方法、装置、设备及介质
CN110689323A (zh) 图片审核方法、装置、计算机设备和存储介质
CN113343020B (zh) 基于人工智能的图像处理方法、装置及电子设备
US20200167655A1 (en) Method and apparatus for re-configuring neural network
EP3166022A1 (en) Method and apparatus for image search using sparsifying analysis operators
CN117671271A (zh) 模型训练方法、图像分割方法、装置、设备和介质
CN111709473A (zh) 对象特征的聚类方法及装置
CN115238645A (zh) 资产数据识别方法、装置、电子设备和计算机存储介质
CN116090538A (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
GR01 Patent grant