CN114529741A - 一种图片去重方法、装置及电子设备 - Google Patents
一种图片去重方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114529741A CN114529741A CN202210152196.0A CN202210152196A CN114529741A CN 114529741 A CN114529741 A CN 114529741A CN 202210152196 A CN202210152196 A CN 202210152196A CN 114529741 A CN114529741 A CN 114529741A
- Authority
- CN
- China
- Prior art keywords
- picture
- vector
- pictures
- stored
- historical
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
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)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种图片去重方法、装置及电子设备,其中,该方法包括:获取多个历史图片,确定历史图片的特征向量;计算历史图片的特征向量之间的相似度,并对相似度大于预设阈值的图片进行去重,得到不存在重复图片的待存储图片;以存储待存储图片的方式对向量数据库进行更新,得到不包含重复图片的向量数据库。通过本发明实施例提供的图片去重方法、装置及电子设备,对历史图片的特征向量计算相似度,并对重复图片去重,生成不存在重复历史图片的向量数据库,在判别任意历史图片是否相似时,其计算结果的精准度和召回率较高;其次,去重后大大减少了需要存储到向量数据库中的数据量,也使得所生成的向量数据库具有检索效率高,体量精简的优点。
Description
技术领域
本发明涉及图像处理技术领域,具体而言,涉及一种图片去重方法、装置、电子设备及计算机可读存储介质。
背景技术
设计师在制作图片素材时,通常会参考历史图片素材,例如,可以利用以图搜图的功能,快速检索到曾经制作过的类似的图片素材,以便该设计师对此进行分析和处理。但是,若检索库中存在大量重复素材(如除分辨率以外完全相同的图片、仅文字不同的图片、图形元素有微小差异的图片等),首先会占用大量计算和存储资源;其次,直接在海量的检索库中进行素材检索,检索性能会很慢。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种图片去重方法、装置、电子设备及计算机可读存储介质。
第一方面,本发明实施例提供了一种图片去重方法,包括:获取多个历史图片,确定所述历史图片的特征向量;计算所述历史图片的特征向量之间的相似度,并对所述相似度大于预设阈值的图片进行去重,得到不存在重复图片的待存储图片;以存储所述待存储图片的方式对向量数据库进行更新,得到不包含重复图片的向量数据库,所述向量数据库用于存储至少部分所述待存储图片的特征向量。
可选地,所述确定所述历史图片的特征向量,包括:从所述历史图片中提取特征向量,并对所述历史图片的特征向量进行序列化处理,将序列化后的所述历史图片的特征向量存入图片数据表,所述图片数据表能够离线保存序列化后的所述历史图片的特征向量;在需要计算所述历史图片的特征向量之间的相似度的情况下,从所述图片数据表中提取序列化后的所述历史图片的特征向量,并进行反序列化处理,还原得到所述历史图片的特征向量。
可选地,所述计算所述历史图片的特征向量之间的相似度,并对所述相似度大于预设阈值的图片进行去重,得到不存在重复图片的待存储图片,包括:对每个所述历史图片的特征向量计算两两之间的余弦相似度,所述余弦相似度能够表示所述历史图片的特征向量之间的相似度;从所述两两之间的余弦相似度大于所述预设阈值的历史图片中,保留一张作为所述待存储图片,并删除与所述待存储图片的余弦相似度大于所述预设阈值的其他历史图片。
可选地,所述对每个所述历史图片的特征向量计算两两之间的余弦相似度,包括:对每个所述历史图片的特征向量进行归一化处理,得到每个所述历史图片的单位向量;生成由每个所述历史图片的单位向量组成的向量矩阵E,以及所述向量矩阵E的转置矩阵ET,且Vk为第k个所述历史图片的单位向量;确定所述向量矩阵E与所述转置矩阵ET之间的余弦相似度矩阵,且所述余弦相似度矩阵为M,M=E*ET,其中,在所述余弦相似度矩阵中位于第i行第j列的元素,表示第i个所述历史图片的单位向量与第j个所述历史图片的单位向量之间的余弦相似度。
可选地,所述向量数据库中所存储的每个所述待存储图片的特征向量分别对应一个唯一编号;所述以存储所述待存储图片的方式对向量数据库进行更新,得到不包含重复图片的向量数据库,包括:在所述向量数据库中检索是否存在与所述待存储图片的特征向量相匹配的特征向量,若存在,将所述向量数据库中、与所述待存储图片的特征向量相匹配的特征向量对应的唯一编号,作为所述待存储图片的唯一编号,并将具有所述唯一编号的待存储图片存入图片数据表,所述图片数据表能够存储具有唯一编号的待存储图片;若不存在,为所述待存储图片的特征向量分配一个新唯一编号,将具有所述新唯一编号的待存储图片存入所述图片数据表,并将具有所述新唯一编号的待存储图片的特征向量存入所述向量数据库。
可选地,该方法还包括:获取待检索图片,提取所述待检索图片的特征向量;在所述向量数据库中检索是否存在与所述待检索图片的特征向量相匹配的特征向量,若存在,使用与所述待检索图片的特征向量相匹配的特征向量对应的唯一编号,从所述图片数据表中调取具有所述唯一编号的图片。
可选地,该方法还包括:若所述向量数据库中不存在与所述待检索图片的特征向量相匹配的特征向量,从所述向量数据库反馈的与所述待检索图片的特征向量不匹配的特征向量中,选取最接近匹配的特征向量所对应的唯一编号,从所述图片数据表中调取具有所述唯一编号的图片。
第二方面,本发明实施例提供了一种图片去重装置,其特征在于,包括:获取模块、去重模块和更新模块。
获取模块用于获取多个历史图片,确定所述历史图片的特征向量;
去重模块用于计算所述历史图片的特征向量之间的相似度,并对所述相似度大于预设阈值的图片进行去重,得到不存在重复图片的待存储图片;
更新模块用于以存储所述待存储图片的方式对向量数据库进行更新,得到不包含重复图片的向量数据库,所述向量数据库用于存储至少部分所述待存储图片的特征向量。
第三方面,本发明实施例提供了一种电子设备,包括:总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现如上所述的图片去重方法中的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,包括:可读存储介质上存储的计算机程序;所述计算机程序被处理器执行时实现如上所述的图片去重方法中的步骤。
本发明实施例提供的图片去重方法、装置、电子设备及计算机可读存储介质,采用对历史图片的特征向量计算相似度的方法,筛选出相似度大于预设阈值的历史图片的特征向量,将这些特征向量对应的历史图片作为重复图片,并对这类重复图片进行去重,最终得到不重复的一类图片,即待存储图片,并以将该类待存储图片存储至向量数据库的方式对该向量数据库进行更新,最终实现该向量数据库中不存在重复或相似的历史图片的特征向量。该方法在判别任意两个历史图片是否相似时,其计算结果的精准度和召回率较高;其次,去重后大大减少了需要存储到向量数据库中的数据量,也使得所生成的向量数据库具有检索效率高,体量精简的优点。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1示出了本发明实施例所提供的一种图片去重方法的流程图;
图2示出了本发明实施例“对每个历史图片的特征向量计算两两之间的余弦相似度”时所使用的余弦相似度公式;
图3示出了本发明实施例所提供的图片去重方法中,图片去重的具体方法流程图;
图4示出了本发明实施例所提供的一种图片去重装置的结构示意图;
图5示出了本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
图1示出了本发明实施例所提供的一种图片去重方法的流程图。如图1所示,该方法包括以下步骤101-103。
步骤101:获取多个历史图片,确定历史图片的特征向量。
其中,历史图片可以表示此前已处理过的图片素材,在这类历史图片中通常会包含有重复图片,如除分辨率以外完全相同的图片、仅文字不同的图片、图形元素有微小差异的图片等。本发明实施例中,可以获取多个历史图片,并针对每个历史图片提取该历史图片的特征向量,该特征向量能够表示其所对应的历史图片所具有的特征。
例如,可以使用CNN(Convolutional Neural Networks,卷积神经网络)预训练模型,训练得到能够从历史图片中提取特征向量的预设模型,该预设模型可以是RestNet34(残差网络)架构,也可以是InceptionV3(由Google提出的一种卷积神经网络结构)。本发明实施例选择InceptionV3作为预设模型,基于该预设模型从历史图片中提取特征向量,该特征向量的向量维度是多维的,例如2048维,该多维度的特征向量能够更充分地表达历史图片的细节特征。
步骤102:计算历史图片的特征向量之间的相似度,并对相似度大于预设阈值的图片进行去重,得到不存在重复图片的待存储图片。
其中,可以对任意两个历史图片的特征向量计算二者之间的相似度,该相似度能够表示所选取的两个历史图片的特征向量之间的相似程度,其可以通过计算任意两个历史图片的特征向量的内积或者欧式距离等方式得到。本发明实施例中,可以通过设定预设阈值,并以该预设阈值为界限,判断两个历史图片的特征向量之间是否相似,当所选取的两个历史图片的特征向量之间的相似度大于预设阈值时,可以确定这两个历史图片的特征向量相似,即可认为这两个历史图片互为对方的重复图片,进而可以对相似的两个历史图片的特征向量做去重处理。其中,去重的方式可以是从相似度大于预设阈值的历史图片的特征向量中,选取一个特征向量作为待存储图片的特征向量,即选取出待存储图片,并删除与该待存储图片相似的其他历史图片,即实现针对互为重复图片的历史图片,从中选取一个作为待存储图片,进而使所选出的每一个待存储图片均不与其他待存储图片重复。而当所选取的两个历史图片的特征向量之间的相似度不大于预设阈值时,可以确定这两个历史图片的特征向量不相似,即可认为这两个历史图片之间也不相似,进而可以将互相之间并不相似的历史图片均作为待存储图片。
例如,在获取到10000张历史图片的特征向量之后,可以使这10000张历史图片的特征向量中的每一个特征向量,分别与其他特征向量进行相似度的计算,其中,可以设定预设阈值为0.98,在通过计算得出某两个历史图片的特征向量的相似度大于0.98的情况下,确定该两个历史图片的特征向量相似,该两个历史图片重复,即可对该两个历史图片进行去重处理,如随机选取其中一个历史图片作为待存储图片,同时删除与之重复的历史图片,得到没有重复图片的待存储图片;或者,在通过计算得出某两个历史图片的特征向量的相似度不大于0.98的情况下,可以确定该两个历史图片的特征向量不相似,该两个历史图片不重复,若该两个历史图片的特征向量与其他历史图片的特征向量都不相似,即可直接将这两个历史图片作为待存储图片,从而得到没有重复图片的待存储图片。
步骤103:以存储待存储图片的方式对向量数据库进行更新,得到不包含重复图片的向量数据库,向量数据库用于存储至少部分待存储图片的特征向量。
其中,向量数据库是一种能够存储部分或全部待存储图片的特征向量的数据库,其可以是Milvus(一款开源的、针对海量特征向量的相似性搜索引擎),且Milvus基于异构众核计算框架设计,成本更低,性能更好。本发明实施例中,可以为该向量数据库建立量化索引,如IVF_SQ8索引,该IVF_SQ8索引是Milvus的一种量化索引,当磁盘或内存、显存资源有限时,它通过对向量进行标量量化,能把原始向量中每个FLOAT(4字节)转为UINT8(1字节),从而可以把磁盘及内存、显存资源的消耗量减少为原来的1/4至1/3。其中,在第一次更新向量数据库(如初始化向量数据库)时,该向量数据库可以存储全部待存储图片的特征向量;而在后续更新该向量数据库(如补充丰富该向量数据库)时,该向量数据库可以根据实际情况有选择地存储部分待存储图片的特征向量,或者全部的待存储图片的特征向量,具体可以是基于该待存储图片的特征向量与该向量数据库内存储的特征向量是否相似,以保证该向量数据库中存储的所有特征向量对应的图片是不重复的。本发明实施例中,可以通过将该待存储图片进行储存的方式,例如,在第一次更新向量数据库时,以直接保存该待存储图片的特征向量的方式,对向量数据库进行更新;或者,在后续更新该向量数据库(如补充丰富该向量数据库)时,通过采用上述步骤102所描述的方法,计算待存储图片的特征向量与此时该向量数据库中所存储的特征向量之间的相似度,针对待存储图片的特征向量与此时该向量数据库中所存储的特征向量之间的相似度小于预设值的情况,将该待存储图片的特征向量储存进该向量数据库,即实现更新向量数据库的过程,其中,该预设值可以与上述步骤102中的预设阈值相同。由于所存储于向量数据库中的待存储图片的特征向量互不相似,因此最终所得到的该向量数据库中所包含的待存储图片都是不重复的。
本发明实施例采用对历史图片的特征向量计算相似度的方法,筛选出相似度大于预设阈值的历史图片的特征向量,将这些特征向量对应的历史图片作为重复图片,并对这类重复图片进行去重,最终得到不重复的一类图片,即待存储图片,并以将该类待存储图片存储至向量数据库的方式对该向量数据库进行更新,最终实现该向量数据库中不存在重复或相似的历史图片的特征向量。该方法在判别任意两个历史图片是否相似时,其计算结果的精准度和召回率较高;其次,去重后大大减少了需要存储到向量数据库中的数据量,也使得所生成的向量数据库具有检索效率高,体量精简的优点。
可选地,确定历史图片的特征向量可以包括以下步骤A1-A2。
步骤A1:从历史图片中提取特征向量,并对历史图片的特征向量进行序列化处理,将序列化后的历史图片的特征向量存入图片数据表,图片数据表能够离线保存序列化后的历史图片的特征向量。
本发明实施例中,可以在磁盘中预先建立一个图片数据表,并使用该图片数据表来记录、存储每一个用于更新向量数据库的历史图片的特征向量。但是,由于获取到的历史图片可以是海量的,而针对每个历史图片所提取出的特征向量的维度又可以是2048维,因此,为了便于将海量历史图片的特征向量在图片数据表中进行离线存储,可以先从历史图片中提取出特征向量,并对其进行序列化处理,其中,序列化是将对象的状态信息转换为可以存储或传输的形式的过程,通过序列化的过程,可以得到序列化后的历史图片的特征向量,即转化为以字符串的形式表示的历史图片的特征向量,并将序列化后的历史图片的特征向量存入该图片数据表中。
例如,在获取到上亿数量级别的历史图片的特征向量的情况下,可以对这些历史图片的特征向量进行序列化,如将大量2048维的、类似[0.123,0.456,1.233,…]形式的特征向量进行序列化,转化成字符串的形式存储至预设的图片数据表中,如以gANjbnkuY29yZS5tdWx0aWFycmF5Cl9yZWNvbnN0cnVjd的形式进行存储。
步骤A2:在需要计算历史图片的特征向量之间的相似度的情况下,从图片数据表中提取序列化后的历史图片的特征向量,并进行反序列化处理,还原得到历史图片的特征向量。
其中,在需要计算历史图片的特征向量之间的相似度的情况下,可以从该图片数据表中提取此前以字符串形式所保存的、序列化后的历史图片的特征向量,对这些序列化后的历史图片的特征向量进行反序列化处理,其中,反序列化就是把以字符串形式保存的序列恢复为原始对象的过程,即通过反序列化的操作,重新还原得到未进行序列化处理的历史图片的特征向量。
例如,在需要计算历史图片的特征向量之间的相似度的情况下,可以从图片数据表中提取以字符串形式存储于其中的序列化后的历史图片的特征向量,如gANjbnkuY29yZS5tdWx0aWFycmF5Cl9yZWNvbnN0cnVjd形式的内容,并执行反序列化的处理过程,还原得到如2048维的、类似[0.123,0.456,1.233,…]形式的历史图片的特征向量。
本发明实施例通过将大体量的特征向量进行序列化,可以转化为更便于存储和传输的字符串(如字节流),而将序列化后的历史图片的特征向量存储在图片数据表,则可以实现提前对所有历史图片进行处理,并离线存储所需数据,在需要调用时可以灵活调取,无需实时使用卷积神经网络提取特征向量,能够提升计算效率,节省每次调用数据时的时间开销,且能优化所存储于图片数据表中的数据量。
可选地,计算历史图片的特征向量之间的相似度,并对相似度大于预设阈值的图片进行去重,得到不存在重复图片的待存储图片,可以包括以下步骤B1-B2。
步骤B1:对每个历史图片的特征向量计算两两之间的余弦相似度,余弦相似度能够表示历史图片的特征向量之间的相似度。
本发明实施例中,可以针对每个历史图片的特征向量,从中任意选取两个计算二者之间的余弦相似度,以该余弦相似度作为这两个历史图片的特征向量之间的相似度,并可以用相同的计算方式,遍历全部历史图片的特征向量,计算出每个历史图片的特征向量与其他历史图片的特征向量之间余弦相似度,确定每个历史图片的特征向量与其他历史图片的特征向量之间的相似度。
步骤B2:从两两之间的余弦相似度大于预设阈值的历史图片中,保留一张作为待存储图片,并删除与待存储图片的余弦相似度大于预设阈值的其他历史图片。
其中,在计算得到每个历史图片的特征向量与其他历史图片的特征向量之间的余弦相似度之后,可以从中选取大于预设阈值的余弦相似度,进而对求得该余弦相似度所使用的两个历史图片的特征向量,执行保留其中一个特征向量作为待存储图片的特征向量的操作,即保留其中一张历史图片作为待存储图片;同时,可以删除与该待存储图片的余弦相似度大于预设阈值的其他历史图片。
本发明实施例在计算每个历史图片的特征向量之间的相似度时,以二者之间的余弦相似度表示二者之间的相似程度,且计算余弦相似的方法相比于传统pHash/dHash算法要更为直接,准确度也更高。
可选地,对每个历史图片的特征向量计算两两之间的余弦相似度可以包括以下步骤C1-C3。
步骤C1:对每个历史图片的特征向量进行归一化处理,得到每个历史图片的单位向量。
其中,通过对向量进行归一化处理,如按比例将原向量缩短到单位长度且方向不变,可以得到模等于1的单位向量。本发明实施例中,在需要对每个历史图片的特征向量计算两两之间的余弦相似度的情况下,首先可以将每个历史图片的特征向量作归一化处理,得到每个历史图片的单位向量。
本发明实施例中,可以将归一化后的每个历史图片的单位向量转换生成向量矩阵E,再把该向量矩阵E的行换成相应的列,得到的新矩阵可以称为该向量矩阵E的转置矩阵ET,其中,该向量矩阵Vk表示在该向量矩阵A中,第k个历史图片的单位向量;则该向量矩阵E的转置矩阵ET=[V1 T V2 T…Vk T]。
步骤C3:确定向量矩阵E与转置矩阵ET之间的余弦相似度矩阵,且余弦相似度矩阵为M,M=E*ET,其中,在余弦相似度矩阵中位于第i行第j列的元素,表示第i个历史图片的单位向量与第j个历史图片的单位向量之间的余弦相似度。
其中,可以通过公式M=E*ET计算该向量矩阵E与转置矩阵ET之间的余弦相似度矩阵M。具体地,计算该向量矩阵E中的任意一个单位向量A与该转置矩阵ET中的任意一个单位向量B之间的余弦相似度所采用的公式可以参见图2所示,其中,similarity(A,B)表示向量矩阵E中的单位向量A与转置矩阵ET中单位向量B之间的余弦相似度。由于本发明实施例针对单位向量进行计算,故模为1,所以similarity(A,B)=A·B;而基于E*ET所得到的余弦相似度矩阵M中,该余弦相似度M中的元素能够表示相应的单位向量A与单位向量B的内积,即A·B,因此,该余弦相似度M中的元素能够表示历史图片A与历史图片B之间的相似度。在得到该向量矩阵E与转置矩阵ET之间的余弦相似度矩阵M之后,该余弦相似度矩阵M中位于第i行第j列的元素,即表示第i个历史图片的单位向量与第j个历史图片的单位向量之间的余弦相似度,即第i个历史图片与第j个历史图片之间的相似度。
本发明实施例可以在计算历史图片的特征向量之间的余弦相似度之前,现对历史图片的特征向量进行归一化处理,得到历史图片的单位向量,并通过生成由单位向量构成的向量矩阵和对应的转置矩阵,能够以矩阵的形式一次性计算多个历史图片的特征向量之间的余弦相似度,简单直接且高效。
可选地,向量数据库中所存储的每个待存储图片的特征向量分别对应一个唯一编号;以存储待存储图片的方式对向量数据库进行更新,得到不包含重复图片的向量数据库可以包括以下步骤D1-D2。
步骤D1:在向量数据库中检索是否存在与待存储图片的特征向量相匹配的特征向量,若存在,将向量数据库中、与待存储图片的特征向量相匹配的特征向量对应的唯一编号,作为待存储图片的唯一编号,并将具有唯一编号的待存储图片存入图片数据表,图片数据表能够存储具有唯一编号的待存储图片。
本发明实施例中,在往向量数据库存储待存储图片的特征向量时,可以为所要存储的待存储图片的特征向量匹配一个唯一编号,并用该唯一编号代表其所对应的待存储图片的特征向量,并且,向量数据库中所保存的每一个特征向量均会对应一个唯一编号。其中,可以使用待存储图片的特征向量,在该向量数据库中进行检索,查找该向量数据库中是否存在与所使用的待存储图片的特征向量相匹配的特征向量,本发明实施例中所指的“相匹配”与上述步骤102与步骤103中所描述的“相似”同义,即,令待存储图片的特征向量与此时向量数据库中已存储的特征向量计算相似度(可以直接计算待存储图片与此时向量数据库中已存储的特征向量之间的相似度,或者,计算相似度的方法也可以参考上述步骤C1-C3中的描述,此处不做赘述),若所得相似度大于预设阈值,则可以确定该待存储图片的特征向量在该向量数据库中存在与之相匹配的特征向量。此时,可以将向量数据库中与该待存储图片的特征向量相匹配的特征向量,如在该向量数据库中与该待存储图片的特征向量相似度大于预设阈值且为最大值的特征向量所具有的唯一编号,作为该待存储图片的特征向量的唯一编号。由于在该向量数据库中已存在与该待存储图片的特征向量相匹配的特征向量,为了使更新后的向量数据库依然能保持所存储的特征向量中不存在重复的特征向量,本发明实施例无需将将该待存储图片的特征向量存入该向量数据库中,而是只需将具有该唯一编号的待存储图片存入图片数据表即可。其中,该图片数据表可以是上述步骤A1中所描述的图片数据表,即该图片数据表是能够分别存储序列化后的历史图片的特征向量、以及具有唯一编号的待存储图片的数据表;并且在该图片数据表中,针对具有唯一编号的待存储图片可以只存储该待存储图片对应的图片链接,如http://media.meetsocial.cn/ image%XXXX.jpeg,存储图片链接的方式既能准确表示待存储图片,也能减小存储数据的大小,降低该图片数据表在磁盘中所占据的空间。或者,该图片数据表也可以是与上述步骤A1中描述的图片数据表不同,本实施例所使用的图片数据表可以只是用来存储具有唯一编号的待存储图片的数据表,本实施例对此不做限定。
例如,在得到待存储图片的特征向量之后,可以计算该待存储图片的特征向量与此时向量数据库中所有存储的特征向量之间的余弦相似度,若存在余弦相似度大于0.98的情况,则只需将该向量数据库中与该待存储图片的特征向量之间余弦相似度大于0.98且为最大值的特征向量所具有的唯一编号(如编号48),作为该待存储图片的特征向量的唯一编号,并将能够代表该存储图片的图片链接与该唯一编号(如编号48)一并存入图片数据表中。
步骤D2:若不存在,为待存储图片的特征向量分配一个新唯一编号,将具有新唯一编号的待存储图片存入图片数据表,并将具有新唯一编号的待存储图片的特征向量存入向量数据库。
其中,在该向量数据库中检索是否存在与待存储图片的特征向量相匹配的特征向量时,若该向量数据库中并不存在与该待存储图片的特征向量之间的相似度大于预设阈值的特征向量,则可以确定在该向量数据库中不存在与该待存储图片的特征向量相匹配的特征向量。此时,可以为该待存储图片的特征向量匹配一个新的唯一的编号,即为之分配新唯一编号,将具有该新唯一编号的该待存储图片的特征向量存入该向量数据库中,补充并更新该向量数据库中的内容;此外,还可以基于上述步骤D1所描述的内容,将具有该新唯一编号的该待存储图片存入图片数据表中,此处不再赘述。
例如,通过计算该待存储图片的特征向量与此时向量数据库中所有存储的特征向量之间的余弦相似度,若不存在余弦相似度大于0.98的情况,即计算所得余弦相似度均小于0.98时,可以先为该待存储图片的特征向量分配一个新唯一编号,比如,目前该向量数据库中共存有99个特征向量,此时可以按序将编号100作为新唯一编号分配给该待存储图片的特征向量;并且,将具有编号100的待存储图片的特征向量存入该向量数据库,使该向量数据库由包含99个特征向量更新为包含100个特征向量的向量数据库。此外,还需将编号100的待存储图片存入图片数据表中,具体过程与上述步骤D1中所举示例相同,此处不再赘述。
本发明实施例为能够存入向量数据库中的每一个特征向量均分配一个唯一编号,通过判断向量数据库中是否存在与待存储图片的特征向量相匹配的特征向量,可以避免将重复的特征向量存入库中,始终保持该向量数据库中不存在重复内容,得到最精简且能实现高效检索的向量数据库;此外,将具有唯一编号的待存储图片全部以图片链接的形式存入图片数据表中,可以保证这些具有有效数据(如广告投放数据)的待存储图片能够集中备案存储,方便调阅及使用。
可选地,该方法还包括以下步骤E1-E2。
步骤E1:获取待检索图片,提取待检索图片的特征向量。
本发明实施例中,在需要对任意一张图片进行检索时,可以将该图片作为待检索图片,并可以使用上述步骤101中描述的方法,从该待检索图片中提取特征向量,即得到该待检索图片的特征向量。
步骤E2:在向量数据库中检索是否存在与待检索图片的特征向量相匹配的特征向量,若存在,使用与待检索图片的特征向量相匹配的特征向量对应的唯一编号,从图片数据表中调取具有唯一编号的图片。
其中,可以使用该待检索图片的特征向量,在向量数据库中检索是否存在与该待检索图片的特征向量相匹配的特征向量,若该向量数据库中存在与该待检索图片的特征向量相匹配的特征向量,如二者之间相似度大于预设阈值时,可以将所有大于预设阈值的余弦相似度中的最大值对应的向量数据库中的特征向量所具有的唯一编号,作为该待检索图片的唯一编号,利用该唯一编号从图片数据表中调取该唯一编号所对应的图片。
例如,获取待检索图片,并提取待检索图片的特征向量,将待检索图片的特征向量与向量数据库中每一个特征向量均计算余弦相似度,在存在某余弦相似度大于预设阈值的情况时,使用与该待存储图片的特征向量之间的余弦相似度大于预设阈值且为最大值的特征向量所对应的唯一编号,在图片数据表中调用该唯一编号对应的图片,如,调取在该图片数据表中所存储的具有该唯一编号的所有图片的图片链接。
本发明实施例能够针对任意图片(如网络上随机下载的某张图片),利用不包含重复图片的特征向量的向量数据库,实现快速且准确识别到是否存在相似图片;并且,由于用户(如设计师)通常需要根据待检索图片以获得此前所投放过的所有相似图片的各项广告投放数据(如消耗、展示、点击、转化等),因此基于该业务需求,该方法以唯一编号作为依据,能够从图片数据表中快速且准确地提取出全部具有相同唯一编号的图片,有效避免漏选图片的情况出现。
可选地,该方法还包括以下步骤E3。
步骤E3:若向量数据库中不存在与待检索图片的特征向量相匹配的特征向量,从向量数据库反馈的与待检索图片的特征向量不匹配的特征向量中,选取最接近匹配的特征向量所对应的唯一编号,从图片数据表中调取具有唯一编号的图片。
其中,若该向量数据库中不存在与该待检索图片的特征向量相匹配的特征向量,如不存在任意二者之间相似度大于预设阈值的情况时,可以根据该向量数据库所反馈的检索结果,如,检索结果可以是相似度以降序排列的候选列表,从中选取与该待检索图片的特征向量之间相似度最大的该向量数据库中的特征向量所对应的唯一编号,利用该唯一编号在图片数据表中调取该唯一编号所对应的所有图片。
本发明实施例在未从向量数据库中查找到最符合相似条件的特征向量时,也可以向需要检索图片的用户反馈不匹配的特征向量,以便引导用户从中自行选取最接近相似的特征向量,最终从图片数据表中调用所选择的特征向量的唯一编号对应的所有图片。
下面通过一个实施例详细介绍该图片去重方法流程。参见图3所示,该方法包括以下步骤301-312。
步骤301:获取大量历史图片,使用预设模型从每个历史图片中提取对应的特征向量,得到这些历史图片的特征向量。
步骤302:对这些历史图片的特征向量进行序列化,将序列化后的历史图片的特征向量存入图片数据表中。
步骤303:在需要更新向量数据库时,即需要计算历史图片的特征向量之间的相似度的情况下,从该图片数据表中提取序列化后的历史图片的特征向量,并对该序列化后的历史图片的特征向量进行反序列化处理,使其还原为历史图片的特征向量。
步骤304:计算历史图片的特征向量之间的余弦相似度。
步骤305:对于余弦相似度大于预设阈值的历史图片的特征向量,从中选取一个作为待存储图片的特征向量,并删除与之相似的其他历史图片的特征向量。
步骤306:将待存储图片的特征向量输入向量数据库中检索,识别该向量数据库中是否存在与该待存储图片的特征向量相似的特征向量,若存在,执行步骤307;否则执行步骤308。
其中,该向量数据库用于存储具有一个唯一编号的待存储图片的特征向量;并且,选取该向量数据库中,与该待存储图片的特征向量之间相似度大于预设阈值且为最大值的特征向量,作为与该待存储图片的特征向量相似的特征向量。
步骤307:将该向量数据库中,与该待存储图片的特征向量相似的特征向量所对应的唯一编号,作为该待存储图片的唯一编号,并将具有该唯一编号的待存储图片存入图片数据表中。
步骤308:为该待存储图片的特征向量分配一个新唯一编号,将具有新唯一编号的待存储图片的特征向量存储至该向量数据库以实现更新,并将其存入图片数据表。
步骤309:获取待检索图片,提取待检索图片的特征向量。
步骤310:在该向量数据库中检索是否存在与该待检索图片的特征向量相匹配的特征向量,若存在,执行步骤311;否则执行步骤312。
其中,可以将该向量数据库中,与该待检索图片的特征向量之间相似度大于预设阈值且为最大值的特征向量,作为与该待检索图片的特征向量相似的特征向量。
步骤311:使用该向量数据库中,与该待检索图片的特征向量相匹配的特征向量所对应的唯一编号,从图片数据表中调取具有该唯一编号的图片。
步骤312:从该向量数据库反馈的与待检索图片的特征向量不匹配的特征向量中,选取最接近匹配的特征向量所对应的唯一编号,从图片数据表中调取具有该唯一编号的图片。
上文详细描述了本发明实施例提供的图片去重方法,该方法也可以通过相应的装置实现,下面详细描述本发明实施例提供的图片去重装置。
本发明实施例提供了一种图片去重装置,参见图4所示,该装置包括:获取模块41、去重模块42和更新模块43。
获取模块41用于获取多个历史图片,确定所述历史图片的特征向量。
去重模块42用于计算所述历史图片的特征向量之间的相似度,并对所述相似度大于预设阈值的图片进行去重,得到不存在重复图片的待存储图片。
更新模块43用于以存储所述待存储图片的方式对向量数据库进行更新,得到不包含重复图片的向量数据库,所述向量数据库用于存储至少部分所述待存储图片的特征向量。
可选地,获取模块41,包括:序列化单元和反序列化单元。
序列化单元用于从所述历史图片中提取特征向量,并对所述历史图片的特征向量进行序列化处理,将序列化后的所述历史图片的特征向量存入图片数据表,所述图片数据表能够离线保存序列化后的所述历史图片的特征向量;
反序列化单元用于在需要计算所述历史图片的特征向量之间的相似度的情况下,从所述图片数据表中提取序列化后的所述历史图片的特征向量,并进行反序列化处理,还原得到所述历史图片的特征向量。
可选地,去重模块42,包括:计算单元和选取单元。
计算单元用于对每个所述历史图片的特征向量计算两两之间的余弦相似度,所述余弦相似度能够表示所述历史图片的特征向量之间的相似度。
选取单元用于从所述两两之间的余弦相似度大于预设阈值的历史图片中,保留一张作为所述待存储图片,并删除与所述待存储图片的余弦相似度大于预设阈值的其他历史图片。
可选地,计算单元包括:归一化子单元、矩阵子单元和相乘子单元。
归一化子单元用于对每个所述历史图片的特征向量进行归一化处理,得到每个所述历史图片的单位向量。
相乘子单元用于确定所述向量矩阵A与所述转置矩阵AT之间的余弦相似度矩阵,且所述余弦相似度矩阵为M,M=A*AT,其中,在所述余弦相似度矩阵中位于第i行第j列的元素,表示第i个所述历史图片的单位向量与第j个所述历史图片的单位向量之间的余弦相似度。
可选地,向量数据库中所存储的每个所述待存储图片的特征向量分别对应一个唯一编号;更新模块43包括:检索单元和分配单元。
检索单元用于在所述向量数据库中检索是否存在与所述待存储图片的特征向量相匹配的特征向量,若存在,将所述向量数据库中、与所述待存储图片的特征向量相匹配的特征向量对应的唯一编号,作为所述待存储图片的唯一编号,并将具有所述唯一编号的待存储图片存入图片数据表,所述图片数据表能够存储具有唯一编号的待存储图片。
分配单元用于若不存在,为所述待存储图片的特征向量分配一个新唯一编号,将具有所述新唯一编号的待存储图片存入所述图片数据表,并将具有所述新唯一编号的待存储图片的特征向量存入所述向量数据库。
可选地,该装置还包括:提取模块和第一调取模块。
提取模块用于获取待检索图片,提取所述待检索图片的特征向量。
第一调取模块用于在所述向量数据库中检索是否存在与所述待检索图片的特征向量相匹配的特征向量,若存在,使用与所述待检索图片的特征向量相匹配的特征向量对应的唯一编号,从所述图片数据表中调取具有所述唯一编号的图片。
可选地,该装置还包括:第二调取模块。
第二调取模块用于若所述向量数据库中不存在与所述待检索图片的特征向量相匹配的特征向量,从所述向量数据库反馈的与所述待检索图片的特征向量不匹配的特征向量中,选取最接近匹配的特征向量所对应的唯一编号,从所述图片数据表中调取具有所述唯一编号的图片。
本发明实施例所提供的装置,采用对历史图片的特征向量计算相似度的装置,筛选出相似度大于预设阈值的历史图片的特征向量,将这些特征向量对应的历史图片作为重复图片,并对这类重复图片进行去重,最终得到不重复的一类图片,即待存储图片,并以将该类待存储图片存储至向量数据库的方式对该向量数据库进行更新,最终实现该向量数据库中不存在重复或相似的历史图片的特征向量。该装置在判别任意两个历史图片是否相似时,其计算结果的精准度和召回率较高;其次,去重后大大减少了需要存储到向量数据库中的数据量,也使得所生成的向量数据库具有检索效率高,体量精简的优点。
此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述图片去重方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体的,参见图5所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述图片去重方法实施例的各个过程。
收发器1130,用于在处理器1120的控制下接收和发送数据。
本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、***总线、加速图形端口(Accelerate Graphical Port,AGP)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(Industry Standard Architecture,ISA)总线、微通道体系结构(Micro Channel Architecture,MCA)总线、扩展ISA(Enhanced ISA,EISA)总线、视频电子标准协会(Video Electronics Standards Association,VESA)、***部件互连(Peripheral Component Interconnect,PCI)总线。
处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、可编程逻辑阵列(Programmable Logic Array,PLA)、微控制单元(Microcontroller Unit,MCU)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存(FlashMemory)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
总线1110还可以将,例如***设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机***的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网(Internet)、公共交换电话网(PSTN)、普通老式电话业务网(POTS)、蜂窝电话网、无线网络、无线保真(Wi-Fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(GSM)***、码分多址(CDMA)***、全球微波互联接入(WiMAX)***、通用分组无线业务(GPRS)***、宽带码分多址(WCDMA)***、长期演进(LTE)***、LTE频分双工(FDD)***、LTE时分双工(TDD)***、先进长期演进(LTE-A)***、通用移动通信(UMTS)***、增强移动宽带(Enhance Mobile Broadband,eMBB)***、海量机器类通信(massive Machine Type of Communication,mMTC)***、超可靠低时延通信(UltraReliable Low Latency Communications,uRLLC)***等。
应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存(Flash Memory)。
易失性存储器包括:随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如:静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
在本发明实施例中,存储器1150存储了操作***1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
具体而言,操作***1151包含各种***程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(Media Player)、浏览器(Browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机***可执行指令。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述图片去重方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
在本申请所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的***、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存(Flash Memory)、光纤、光盘只读存储器(CD-ROM)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行***、装置、器件使用或与其结合使用。
上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(Radio Frequency,RF)或者以上任意合适的组合。
可以以汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:Java、Smalltalk、C++,还包括常规的过程式程序设计语言,例如:C语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(LAN)或广域网(WAN),可以连接到用户计算机,也可以连接到外部计算机。
本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。
应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种图片去重方法,其特征在于,包括:
获取多个历史图片,确定所述历史图片的特征向量;
计算所述历史图片的特征向量之间的相似度,并对所述相似度大于预设阈值的图片进行去重,得到不存在重复图片的待存储图片;
以存储所述待存储图片的方式对向量数据库进行更新,得到不包含重复图片的向量数据库,所述向量数据库用于存储至少部分所述待存储图片的特征向量。
2.根据权利要求1所述的方法,其特征在于,所述确定所述历史图片的特征向量,包括:
从所述历史图片中提取特征向量,并对所述历史图片的特征向量进行序列化处理,将序列化后的所述历史图片的特征向量存入图片数据表,所述图片数据表能够离线保存序列化后的所述历史图片的特征向量;
在需要计算所述历史图片的特征向量之间的相似度的情况下,从所述图片数据表中提取序列化后的所述历史图片的特征向量,并进行反序列化处理,还原得到所述历史图片的特征向量。
3.根据权利要求1所述的方法,其特征在于,所述计算所述历史图片的特征向量之间的相似度,并对所述相似度大于预设阈值的图片进行去重,得到不存在重复图片的待存储图片,包括:
对每个所述历史图片的特征向量计算两两之间的余弦相似度,所述余弦相似度能够表示所述历史图片的特征向量之间的相似度;
从所述两两之间的余弦相似度大于所述预设阈值的历史图片中,保留一张作为所述待存储图片,并删除与所述待存储图片的余弦相似度大于所述预设阈值的其他历史图片。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述向量数据库中所存储的每个所述待存储图片的特征向量分别对应一个唯一编号;所述以存储所述待存储图片的方式对向量数据库进行更新,得到不包含重复图片的向量数据库,包括:
在所述向量数据库中检索是否存在与所述待存储图片的特征向量相匹配的特征向量,若存在,将所述向量数据库中、与所述待存储图片的特征向量相匹配的特征向量对应的唯一编号,作为所述待存储图片的唯一编号,并将具有所述唯一编号的待存储图片存入图片数据表,所述图片数据表能够存储具有唯一编号的待存储图片;
若不存在,为所述待存储图片的特征向量分配一个新唯一编号,将具有所述新唯一编号的待存储图片存入所述图片数据表,并将具有所述新唯一编号的待存储图片的特征向量存入所述向量数据库。
6.根据权利要求5所述的方法,其特征在于,还包括:
获取待检索图片,提取所述待检索图片的特征向量;
在所述向量数据库中检索是否存在与所述待检索图片的特征向量相匹配的特征向量,若存在,使用与所述待检索图片的特征向量相匹配的特征向量对应的唯一编号,从所述图片数据表中调取具有所述唯一编号的图片。
7.根据权利要求6所述的方法,其特征在于,还包括:
若所述向量数据库中不存在与所述待检索图片的特征向量相匹配的特征向量,从所述向量数据库反馈的与所述待检索图片的特征向量不匹配的特征向量中,选取最接近匹配的特征向量所对应的唯一编号,从所述图片数据表中调取具有所述唯一编号的图片。
8.一种图片去重装置,其特征在于,包括:获取模块、去重模块和更新模块;
所述获取模块用于获取多个历史图片,确定所述历史图片的特征向量;
所述去重模块用于计算所述历史图片的特征向量之间的相似度,并对所述相似度大于预设阈值的图片进行去重,得到不存在重复图片的待存储图片;
所述更新模块用于以存储所述待存储图片的方式对向量数据库进行更新,得到不包含重复图片的向量数据库,所述向量数据库用于存储至少部分所述待存储图片的特征向量。
9.一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的图片去重方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的图片去重方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210152196.0A CN114529741A (zh) | 2022-02-18 | 2022-02-18 | 一种图片去重方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210152196.0A CN114529741A (zh) | 2022-02-18 | 2022-02-18 | 一种图片去重方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114529741A true CN114529741A (zh) | 2022-05-24 |
Family
ID=81622565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210152196.0A Pending CN114529741A (zh) | 2022-02-18 | 2022-02-18 | 一种图片去重方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114529741A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604463A (zh) * | 2022-09-07 | 2023-01-13 | 天津市国瑞数码安全***股份有限公司(Cn) | 一种自适应感知采样的视频压缩方法和*** |
CN115618371A (zh) * | 2022-07-11 | 2023-01-17 | 上海期货信息技术有限公司 | 一种非文本数据的脱敏方法、装置及存储介质 |
CN116595065A (zh) * | 2023-05-09 | 2023-08-15 | 上海任意门科技有限公司 | 内容重复识别方法、装置、***和存储介质 |
-
2022
- 2022-02-18 CN CN202210152196.0A patent/CN114529741A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115618371A (zh) * | 2022-07-11 | 2023-01-17 | 上海期货信息技术有限公司 | 一种非文本数据的脱敏方法、装置及存储介质 |
CN115618371B (zh) * | 2022-07-11 | 2023-08-04 | 上海期货信息技术有限公司 | 一种非文本数据的脱敏方法、装置及存储介质 |
CN115604463A (zh) * | 2022-09-07 | 2023-01-13 | 天津市国瑞数码安全***股份有限公司(Cn) | 一种自适应感知采样的视频压缩方法和*** |
CN116595065A (zh) * | 2023-05-09 | 2023-08-15 | 上海任意门科技有限公司 | 内容重复识别方法、装置、***和存储介质 |
CN116595065B (zh) * | 2023-05-09 | 2024-04-02 | 上海任意门科技有限公司 | 内容重复识别方法、装置、***和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11030522B2 (en) | Reducing the size of a neural network through reduction of the weight matrices | |
CN114529741A (zh) | 一种图片去重方法、装置及电子设备 | |
EP3113043B1 (en) | Method, device and host for updating metadata stored in columns in distributed file system | |
US20170161641A1 (en) | Streamlined analytic model training and scoring system | |
US20100088342A1 (en) | Incremental feature indexing for scalable location recognition | |
CN110532347B (zh) | 一种日志数据处理方法、装置、设备和存储介质 | |
US11514003B2 (en) | Data compression based on key-value store | |
US11803693B2 (en) | Text compression with predicted continuations | |
US10903851B2 (en) | Page filtering via compression dictionary filtering | |
CN108027816B (zh) | 数据管理***、数据管理方法及记录介质 | |
US20180041224A1 (en) | Data value suffix bit level compression | |
EP3872703A2 (en) | Method and device for classifying face image, electronic device and storage medium | |
JP7504192B2 (ja) | 画像を検索するための方法及び装置 | |
CN113869420A (zh) | 基于对比学习的文本推荐方法及相关设备 | |
CN110198473B (zh) | 视频处理方法、装置、电子设备及计算机可读存储介质 | |
CN114528944A (zh) | 一种医疗文本编码方法、装置、设备及可读存储介质 | |
CN104133883B (zh) | 电话号码归属地数据压缩方法 | |
CN111026736B (zh) | 数据血缘管理方法及装置、数据血缘解析方法及装置 | |
CN110489380A (zh) | 一种数据处理方法、装置及设备 | |
KR102375511B1 (ko) | 복수의 문서 저장소들과 연동하여 클라이언트 단말로부터 수신된 문서 파일의 저장 처리를 수행하는 문서 저장 관리 서버 및 그 동작 방법 | |
CN113407702B (zh) | 员工合作关系强度量化方法、***、计算机和存储介质 | |
CN110941730B (zh) | 基于人脸特征数据偏移的检索方法与装置 | |
CN111049836A (zh) | 数据处理方法、电子设备及计算机可读存储介质 | |
WO2023070424A1 (zh) | 一种数据库数据的压缩方法及存储设备 | |
CN112464011A (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 |