CN113946702A - 图像特征的存储方法、装置、存储介质及电子设备 - Google Patents
图像特征的存储方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113946702A CN113946702A CN202111193203.3A CN202111193203A CN113946702A CN 113946702 A CN113946702 A CN 113946702A CN 202111193203 A CN202111193203 A CN 202111193203A CN 113946702 A CN113946702 A CN 113946702A
- Authority
- CN
- China
- Prior art keywords
- image
- image feature
- target
- retrieval
- target image
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005192 partition Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 description 19
- 230000000694 effects Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 241000157593 Milvus Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开提供了一种图像特征的存储方法、装置、存储介质及电子设备,涉及图像处理技术领域,尤其涉及智能搜索技术领域。具体实现方案为:接收第一图像;依据上述第一图像,从图像特征数据库中获取至少一个第二图像,其中,上述图像特征数据库基于样本图像集合的图像特征进行汇总而得到;基于至少一个上述第二图像的样本图像特征确定上述第一图像的目标图像特征,其中,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值;上述目标图像特征存储至图像检索系统中的预定存储位置,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及图像智能搜索技术领域。
背景技术
目前,现有技术中一些开源的检索引擎,例如facebook、milvus,等等,在进行图片特征向量相似度检索时,只支持对每个图片的一个相似向量特征进行检索,并不是一个完整的分布式系统,即无法同时基于图片的多个相似向量特征进行检索;存在缺乏分布式系统的数据存储方案造成的图片特征数据存储的一致性低且可靠性差的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本公开提供了一种用于图像特征的存储方法、装置、存储介质及电子设备。
根据本公开的一方面,提供了一种图像特征的存储方法,包括:接收第一图像;依据上述第一图像,从图像特征数据库中获取至少一个第二图像,其中,上述图像特征数据库基于样本图像集合的图像特征进行汇总而得到;基于至少一个上述第二图像的样本图像特征确定上述第一图像的目标图像特征,其中,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值;上述目标图像特征存储至图像检索系统中的预定存储位置,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列。
根据本公开的另一方面,提供了一种图像特征检索方法,包括:接收图像特征检索请求,其中,上述图像特征检索请求中携带有第一图像的图像标识;基于上述图像标识从图像检索系统中的预定存储位置获取上述第一图像的目标图像特征,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列;上述目标图像特征是在存储时,基于至少一个第二图像的样本图像特征预先确定的,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值。
根据本公开的另一方面,提供了一种图像特征的存储装置,其中,包括:接收模块,用于接收第一图像;获取模块,用于依据上述第一图像,从图像特征数据库中获取至少一个第二图像,其中,上述图像特征数据库基于样本图像集合的图像特征进行汇总而得到;确定模块,用于基于至少一个上述第二图像的样本图像特征确定上述第一图像的目标图像特征,其中,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值;存储模块,用于将上述目标图像特征存储至图像检索系统中的预定存储位置,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列。
根据本公开的另一方面,提供了一种图像特征检索装置,包括:接收单元,用于接收图像特征检索请求,其中,上述图像特征检索请求中携带有第一图像的图像标识;获取单元,用于基于上述图像标识从图像检索系统中的预定存储位置获取上述第一图像的目标图像特征,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列;上述目标图像特征是在存储时,基于至少一个第二图像的样本图像特征预先确定的,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,上述存储器存储有可被上述至少一个处理器执行的指令,上述指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行任一项上述的图像特征存储方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行任一项上述的图像特征存储方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现任一项上述的图像特征存储方法。
根据本公开的另一方面,提供了一种图像特征存储产品,包括如上述的电子设备。
在本公开实施例中,通过接收第一图像;依据上述第一图像,从图像特征数据库中获取至少一个第二图像,其中,上述图像特征数据库基于样本图像集合的图像特征进行汇总而得到;基于至少一个上述第二图像的样本图像特征确定上述第一图像的目标图像特征,其中,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值;上述目标图像特征存储至图像检索系统中的预定存储位置,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列,达到了基于图像特征数据库提取图像的多个目标图像特征的目的,从而实现了提高图片特征数据存储的一致性与可靠性的技术效果,进而解决了由于缺乏分布式系统的数据存储方案造成的图片特征数据存储的一致性低且可靠性差的技术问题。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
图1是根据本公开第一实施例的图像特征的存储方法的步骤流程示意图;
图2是根据本公开第一实施例的一种可选的图像特征的存储方法的步骤流程示意图;
图3是根据本公开第一实施例的一种可选的图像特征数据分发方法的步骤流程示意图;
图4是根据本公开第一实施例的另一种可选的图像特征的存储方法的步骤流程示意图;
图5是根据本公开第二实施例的图像特征检索方法的步骤流程示意图;
图6是根据本公开第三实施例的图像特征的存储装置的结构示意图;
图7是根据本公开第四实施例的图像特征的检索装置的结构示意图;
图8是根据本公开第五实施例的实施例的一种可选的电子设备的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,为方便理解本公开实施例,下面将对本公开中所涉及的部分术语或名词进行解释说明:
哈希函数:把任意长度的输入(又称为预映射)通过散列算法变换成固定长度的输出,输出结果即为散列值。这种转换是一种压缩映射,散列值的空间远小于输入空间,不同的输入可能会散列成相同的输出。即将一种任意长度的消息压缩到某一固定长度的消息摘要的函数。
哈希算法:是一种摘要算法,即根据原有的内容产生一个简短的摘要结果。一致性哈希算法能够在哈希输出空间发生变化时,引起最小的波动。
kafka:一种高吞吐量的分布式发布订阅消息系统,可处理消费者在网站中的所有动作流数据,可通过集群来提供实时消息。
实施例1
根据本公开实施例,提供了一种图像特征的存储方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本公开第一实施例的图像特征的存储方法的步骤流程示意图,如图1所示,该方法包括如下步骤:
步骤S102,接收第一图像;
步骤S104,依据上述第一图像,从图像特征数据库中获取至少一个第二图像;
步骤S106,基于至少一个上述第二图像的样本图像特征确定上述第一图像的目标图像特征,其中,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值;
步骤S108,将上述目标图像特征存储至图像检索系统中的预定存储位置,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列。
可选的,上述第一图像为待检索的图像,上述图像特征数据库中的第二图像为与上述第一图像之间的图像特征相似度大于相似度阈值的图像。
可选的,在接收第一图像之后,从图像特征数据库中获取至少一个与第二图像与上述第一图像的图像特征相似度大于相似度阈值的第二图像,基于多个上述第二图像确定上述第一图像的目标图像特征,并将上述目标图像特征存储至图像检索系统中的预定存储位置。
可选的,上述图像特征数据库基于样本图像集合的图像特征进行汇总而得到,上述图像特征数据库中的图像特征数据是通过对海量图像进行特征提取服务提取得到的。
可选的,上述预定存储位置可以但不限于包括:检索引擎,存储模块,消息队列。
在本公开实施例中,通过接收第一图像;依据上述第一图像,从图像特征数据库中获取至少一个第二图像,其中,上述图像特征数据库基于样本图像集合的图像特征进行汇总而得到;基于至少一个上述第二图像的样本图像特征确定上述第一图像的目标图像特征,其中,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值;上述目标图像特征存储至图像检索系统中的预定存储位置,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列,达到了基于图像特征数据库提取图像的多个目标图像特征的目的,从而实现了提高图片特征数据存储的一致性与可靠性的技术效果,进而解决了由于缺乏分布式系统的数据存储方案造成的图片特征数据存储的一致性低且可靠性差的技术问题。
本公开实施例至少可以实现如下技术效果:保证检索系统中图片特征数据存储的一致性与可靠性;对用户进行管理;支持检索引擎的实时增删改查功能,并支持多垂类图片检索需求;可用于风控系统,对图片进行实时拦截,并对监管部门下发的违规图片进行及时的全库回溯查找。
在一种可选的实施例中,上述检索引擎为上述图像检索系统中的一个子服务,上述目标图像特征存储在上述检索引擎的内存或磁盘中,上述存储模块为在上述检索引擎的额外存储位置,用于对上述目标图像特征进行数据基准处理;上述消息队列用来处理针对上述目标图像特征的数据处理请求。
需要说明的是,本公开第一实施例的图像特征存储方法中包含分布式检索引擎,因此图像特征数据需要存储一份在检索引擎的内存或磁盘中;另外,由于上述检索引擎为检索系统中的一个子服务,主要是用来进行图像检索工作,会存在检索引擎新增、故障退出等情况,因此需要额外的存储模块来存储上述图像特征数据。此外,还需要一个消息队列用来处理上述图像特征数据的写请求,其中,上述写请求可以但不限于为图像特征数据的新增、删除、修改,等等。因此,图像特征数据的存储在三个位置:检索引擎,存储模块,消息队列,以实现保证检索系统中图片特征数据存储的可靠性,支持检索引擎的实时增删改查功能等技术效果。
可选的,上述检索引擎可以但不限于为多个检索引擎(即检索引擎集群),上述消息队列可以但不限于通过卡夫卡kafka集群实现,上述存储模块可以但不限于通过redis、tikv、table等数据库实现。
作为一种可选的实施例,图2是根据本公开第一实施例的一种可选的图像特征的存储方法的步骤流程示意图,如图2所示,上述目标图像特征数据为多个,上述将上述目标图像特征存储至图像检索系统中的上述检索引擎,包括:
步骤S202,采用哈希函数分别将多个上述目标图像特征和上述检索引擎映射至哈希环上;
步骤S204,在上述哈希环上确定每个上述目标图像特征的目标引擎节点;
步骤S206,将每个上述目标图像特征分别分发至上述目标引擎节点上。
可选的,哈希函数对应的哈希可以但不限于为一致性哈希算法。
可选的,上述目标引擎节点为上述哈希环上距离最接近的引擎节点,即每个上述目标图像特征在上述哈希环上顺时针查找到的最近的检索引擎对应的引擎节点。
需要说明的是,上述目标图像特征需要存放在检索引擎中,由于内存或磁盘存储容量的限制,一个检索引擎无法存放下所有的目标图像特征,因此需要对上述目标图像特征进行分片处理,即将不同的上述目标图像特征分散在不同的检索引擎上。
在本公开实施例中,通过采用哈希函数分别将多个上述目标图像特征和上述检索引擎映射至哈希环上,在上述哈希环上确定每个上述目标图像特征的目标引擎节点,将每个上述目标图像特征分别分发至上述目标引擎节点上的方式,达到了对上述目标图像特征进行分片处理的目的,实现了节省内存或磁盘存储容量的技术效果。
在一种可选的实施例中,采用哈希函数将多个上述目标图像特征映射至哈希环上,包括:
步骤S302,获取每个上述目标图像特征的签名;
步骤S304,采用上述哈希函数根据上述签名将上述目标图像特征映射至上述哈希环上。
可选的,上述签名为预定字符长度的数组,例如64位长度的数组。
需要说说明的是,获取每个上述目标图像特征的签名,采用上述哈希函数根据上述签名将上述目标图像特征映射至上述哈希环上的方式,以达到保证检索系统中图片特征数据存储的一致性的技术效果。
在一种可选的实施例中,采用哈希函数将上述检索引擎映射至哈希环上,包括:采用上述哈希函数将上述检索引擎映射成上述哈希环上的多个虚拟节点。
需要说明的是,每个检索引擎可以映射成哈希环上的多个虚拟节点,并且每两个虚拟节点之间的数据存储在同一个检索引擎上,可以按照范围分为不同的数据区,为后续将目标图像特征分发并存储至同一目标引擎节点做准备。
在一种可选的实施例中,将每个上述目标图像特征分别分发至上述目标引擎节点上,包括:
步骤S402,依据上述哈希环上的多个虚拟节点的范围将上述哈希环分为不同的数据区;
步骤S404,将属于同一数据分区的上述目标图像特征分发至同一上述目标引擎节点,并存储在上述目标引擎节点。
可选的,每个上述数据区对应一个目标引擎节点。
需要说明的是,每个检索引擎可以映射成哈希环上的多个虚拟节点,并且每两个虚拟节点之间的数据存储在同一个检索引擎上,因此可以依据虚拟节点的范围将上述哈希环分为不同的数据区,并将属于同一数据分区的上述目标图像特征分发并存储至同一目标引擎节点,以达到保证检索系统中图片特征数据存储的一致性的技术效果。
作为一种可选的实施例,图3是根据本公开第一实施例的一种可选的图像特征数据分发方法的步骤流程示意图,如图3所示,上述目标图像特征的签名为64位长度的数组,上述签名经过哈希函数计算哈希值,并基于哈希值将上述签名进行分区处理,基于分区处理结果将上述签名映射到哈希环上,即图中圆形节点。每个检索引擎包含多个数据区,通过计算哈希值将同一检索引擎映射成环上若干个虚拟节点,即图中正方形节点,每两个正方形虚拟节点之间的数据存储在同一个检索引擎上,虚拟节点的范围将上述哈希环分为不同的数据区,将属于同一数据分区的上述目标图像特征分发并存储至同一目标引擎节点,即完成上述目标图像特征到检索引擎的映射关系,即目标图像特征的签名——哈希标识——数据区标识,其中,每个数据区标识对应一段哈希范围(两个正方形虚拟节点之间的范围)。
在一种可选的实施例中,上述将上述目标图像特征存储至图像检索系统中的上述消息队列,包括:
步骤S502,获取目标图像特征所属的用户;
步骤S504,根据上述目标图像特征所属的用户,将上述目标图像特征存储至不同类型的上述消息队列中。
可选的,不同用户的目标图像特征发送至不同主题的消息队列中,其中,同一主题的消息队列包含多个分区。
需要说明的是,对于在同一用户的目标图像特征在检索引擎中分散到了不同的数据区的情况下,每个数据区有唯一的数据区标识,并基于上述唯一的数据区标识将同一用户的目标图像特征对应到消息队列不同的分区中,在如图3示出的图像特征数据分发流程示意图中的主题内包含至少两个分区。因此,检索引擎监听消息队列中对应的主题和分区,即可获取本数据区应该存储的目标图像特征。在上述消息队列中可以实现目标特征数据写操作的请求,进而实现对检索引擎进行实时增删改查的技术效果。
可选的,上述目标图像特征在消息队列中的存储格式为安全策略{magic}_图像签名{key}_图像写操作类型{op},其中,上述安全策略为四个字节的字符串,上述图像写操作类型可以但不限于包括插入操作、修改操作以及删除操作,等等。
在一种可选的实施例中,上述存储模块中的存储内容为安全策略字符串、用户标识、目标图像特征,上述用户标识用于标识上述目标图像特征的所属用户。
可选的,上述存储模块可以但不限于使用redis、tikv、table等数据库实现。
可选的,上述目标图像特征在上述存储模块中的存储格式可以但不限于为安全策略{magic}_用户标识{app_id}_哈希标识{hash_id}_图像签名{key},其中,上述安全策略为四个字节的字符串,上述哈希标识为上述目标图像特征的所属用户通过哈希函数计算得到的哈希值。
需要说明的是,由于本公开实施例一的图像特征数据分发方法中的检索引擎为检索系统中的一个子服务,主要是用来进行图片检索工作,会存在新增、故障退出等情况。因此需要额外一个存储模块来存储特征,作为数据基准,通过设置上述存储模块,可以实现提高图片特征数据存储可靠性的技术效果。
在一种可选的实施例中,上述方法还包括如下方法步骤:
步骤S602,当上述图像检索系统加入新的检索引擎时,将上述新的检索引擎对应至上述哈希环或者上述哈希环上的一个或多个引擎节点上;
步骤S604,将上述哈希环或者上述引擎节点上的上述目标图像特征,以及上述引擎节点的相邻引擎节点上的目标图像特征迁移至上述新的检索引擎上。
需要说明的是,由于新的检索引擎的加入可以对应至哈希环上的某一个或几个引擎节点,可以将相邻的节点上的目标图像特征迁移至新的检索引擎上,因此新引擎节点的加入并不会引起大量的数据迁移工作,实现了提高新搜索引擎添加效率,并降低数据迁移量的技术效果。
作为一种可选的实施例,图4是根据本公开第一实施例的另一种可选的图像特征的存储方法的步骤流程示意图,如图4所示,上述方法包括:
步骤S702,获取上述检索引擎所需求的上述目标图像特征的标识信息;
步骤S704,根据上述标识信息从上述存储模块获取上述目标图像特征的全量数据;
步骤S706,根据上述标识信息监听上述消息队列,获取上述目标图像特征的增量数据。
可选的,上述标识信息可以但不限于包括:用户标识和哈希标识。
在本公开实施例中,通过获取上述检索引擎所需求的上述目标图像特征的标识信息,根据上述标识信息从上述存储模块获取上述目标图像特征的全量数据,根据上述标识信息监听上述消息队列,获取上述目标图像特征的增量数据的方式,达到了快速并准确获取目标图像特征的全量数据以及增量数据的目的。
需要说明的是,本实施例的可选或优选实施方式可以参见上述图像特征的存储方法实施例中的相关描述,此处不再赘述。本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
实施例2
根据本公开实施例,提供了一种图像特征检索方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图5是根据本公开第二实施例的图像特征检索方法的步骤流程示意图,如图5所示,该方法包括如下步骤:
步骤S112,接收图像特征检索请求,其中,上述图像特征检索请求中携带有第一图像的图像标识;
步骤S114,基于上述图像标识从图像检索系统中的预定存储位置获取上述第一图像的目标图像特征,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列;上述目标图像特征是在存储时,基于至少一个第二图像的样本图像特征预先确定的,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值。
可选的,上述第一图像为待检索的图像,上述图像特征数据库中的第二图像为与上述第一图像之间的图像特征相似度大于相似度阈值的图像。
可选的,在接收第一图像之后,从图像特征数据库中获取至少一个与第二图像与上述第一图像的图像特征相似度大于相似度阈值的第二图像,基于多个上述第二图像确定上述第一图像的目标图像特征,并将上述目标图像特征存储至图像检索系统中的预定存储位置。
可选的,上述预定存储位置可以但不限于包括:检索引擎,存储模块,消息队列。
可选的,上述检索引擎可以但不限于为多个检索引擎(即检索引擎集群),上述消息队列可以但不限于通过卡夫卡kafka集群实现,上述存储模块可以但不限于通过redis、tikv、table等数据库实现。
在本公开实施例中,通过接收图像特征检索请求,其中,上述图像特征检索请求中携带有第一图像的图像标识;基于上述图像标识从图像检索系统中的预定存储位置获取上述第一图像的目标图像特征,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列;上述目标图像特征是在存储时,基于至少一个第二图像的样本图像特征预先确定的,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值,达到了基于图像特征数据库提取图像的多个目标图像特征的目的,从而实现了提高图片特征数据存储的一致性与可靠性的技术效果,进而解决了由于缺乏分布式系统的数据存储方案造成的图片特征数据存储的一致性低且可靠性差的技术问题。
实施例3
根据本公开实施例,还提供了一种用于实施上述图像特征的存储方法的装置实施例,图6是根据本公开第三实施例的图像特征的存储装置的结构示意图,如图6所示,上述图像特征的存储装置,包括:接收模块20、获取模块22、确定模块24、存储模块26,其中:
上述接收模块20,用于接收第一图像;上述获取模块22,用于依据上述第一图像,从图像特征数据库中获取至少一个第二图像,其中,上述图像特征数据库基于样本图像集合的图像特征进行汇总而得到;上述确定模块24,用于基于至少一个上述第二图像的样本图像特征确定上述第一图像的目标图像特征,其中,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值;上述存储模块26,用于将上述目标图像特征存储至图像检索系统中的预定存储位置,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列。
在本公开实施例中,通过接收模块20,用于接收第一图像;获取模块22,用于依据上述第一图像,从图像特征数据库中获取至少一个第二图像,其中,上述图像特征数据库基于样本图像集合的图像特征进行汇总而得到;确定模块24,用于基于至少一个上述第二图像的样本图像特征确定上述第一图像的目标图像特征,其中,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值;存储模块26,用于将上述目标图像特征存储至图像检索系统中的预定存储位置,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列,达到了基于图像特征数据库提取图像的多个目标图像特征的目的,从而实现了提高图片特征数据存储的一致性与可靠性的技术效果,进而解决了由于缺乏分布式系统的数据存储方案造成的图片特征数据存储的一致性低且可靠性差的技术问题。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述接收模块20、获取模块22、确定模块24、存储模块26对应于实施例1中的步骤S102至步骤S108,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
实施例4
根据本公开实施例,还提供了一种用于实施上述图像特征检索方法的装置实施例,图7是根据本公开第四实施例的图像特征的检索装置的结构示意图,如图7所示,上述图像特征的检索装置,包括:接收单元30、获取单元32,其中:
上述接收单元30,用于接收图像特征检索请求,其中,上述图像特征检索请求中携带有第一图像的图像标识;上述获取单元32,用于基于上述图像标识从图像检索系统中的预定存储位置获取上述第一图像的目标图像特征,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列;上述目标图像特征是在存储时,基于至少一个第二图像的样本图像特征预先确定的,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值。
在本公开实施例中,通过接收单元30,用于接收图像特征检索请求,其中,上述图像特征检索请求中携带有第一图像的图像标识;获取单元32,用于基于上述图像标识从图像检索系统中的预定存储位置获取上述第一图像的目标图像特征,其中,上述预定存储位置包括:检索引擎,存储模块,消息队列;上述目标图像特征是在存储时,基于至少一个第二图像的样本图像特征预先确定的,上述第二图像与上述第一图像之间的图像特征相似度大于相似度阈值,达到了基于图像特征数据库提取图像的多个目标图像特征的目的,从而实现了提高图片特征数据存储的一致性与可靠性的技术效果,进而解决了由于缺乏分布式系统的数据存储方案造成的图片特征数据存储的一致性低且可靠性差的技术问题。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述接收单元30、获取单元32对应于实施例1中的步骤S112至步骤S114,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
实施例5
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如方法接收第一图像。例如,在一些实施例中,方法接收第一图像可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的方法接收第一图像的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法接收第一图像。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (17)
1.一种图像特征的存储方法,其中,包括:
接收第一图像;
依据所述第一图像,从图像特征数据库中获取至少一个第二图像,其中,所述图像特征数据库基于样本图像集合的图像特征进行汇总而得到;
基于至少一个所述第二图像的样本图像特征确定所述第一图像的目标图像特征,其中,所述第二图像与所述第一图像之间的图像特征相似度大于相似度阈值;
将所述目标图像特征存储至图像检索系统中的预定存储位置,其中,所述预定存储位置包括:检索引擎,存储模块,消息队列。
2.根据权利要求1所述的方法,其中,所述检索引擎为所述图像检索系统中的一个子服务,所述目标图像特征存储在所述检索引擎的内存或磁盘中,所述存储模块为在所述检索引擎的额外存储位置,用于对所述目标图像特征进行数据基准处理;所述消息队列用来处理针对所述目标图像特征的数据处理请求。
3.根据权利要求1所述的方法,其中,所述目标图像特征数据为多个,所述将所述目标图像特征存储至图像检索系统中的所述检索引擎,包括:
采用哈希函数分别将多个所述目标图像特征和所述检索引擎映射至哈希环上;
在所述哈希环上确定每个所述目标图像特征的目标引擎节点,其中,所述目标引擎节点为所述哈希环上距离最接近的引擎节点;
将每个所述目标图像特征分别分发至所述目标引擎节点上。
4.根据权利要求3所述的方法,其中,采用哈希函数将多个所述目标图像特征映射至哈希环上,包括:
获取每个所述目标图像特征的签名,其中,所述签名为预定字符长度的数组;
采用所述哈希函数根据所述签名将所述目标图像特征映射至所述哈希环上。
5.根据权利要求3所述的方法,其中,采用哈希函数将所述检索引擎映射至哈希环上,包括:
采用所述哈希函数将所述检索引擎映射成所述哈希环上的多个虚拟节点。
6.根据权利要求3所述的方法,其中,将每个所述目标图像特征分别分发至所述目标引擎节点上,包括:
依据所述哈希环上的多个虚拟节点的范围将所述哈希环分为不同的数据区,其中,每个所述数据区对应一个目标引擎节点;
将属于同一数据分区的所述目标图像特征分发至同一所述目标引擎节点,并存储在所述目标引擎节点。
7.根据权利要求1所述的方法,其中,所述将所述目标图像特征存储至图像检索系统中的所述消息队列,包括:
获取目标图像特征所属的用户;
根据所述目标图像特征所属的用户,将所述目标图像特征存储至不同类型的所述消息队列中。
8.根据权利要求1所述的方法,其中,所述存储模块中的存储内容为安全策略字符串、用户标识、目标图像特征,所述用户标识用于标识所述目标图像特征的所属用户。
9.根据权利要求3所述的方法,其中,所述方法包括:
当所述图像检索系统加入新的检索引擎时,将所述新的检索引擎对应至所述哈希环或者所述哈希环上的一个或多个引擎节点上;
将所述哈希环或者所述引擎节点上的所述目标图像特征,以及所述引擎节点的相邻引擎节点上的目标图像特征迁移至所述新的检索引擎上。
10.根据权利要求1所述的方法,其中,所述方法包括:
获取所述检索引擎所需求的所述目标图像特征的标识信息,其中,所述标识信息包括:用户标识和哈希标识;
根据所述标识信息从所述存储模块获取所述目标图像特征的全量数据;
根据所述标识信息监听所述消息队列,获取所述目标图像特征的增量数据。
11.一种图像特征检索方法,其中,包括:
接收图像特征检索请求,其中,所述图像特征检索请求中携带有第一图像的图像标识;
基于所述图像标识从图像检索系统中的预定存储位置获取所述第一图像的目标图像特征,其中,所述预定存储位置包括:检索引擎,存储模块,消息队列;所述目标图像特征是在存储时,基于至少一个第二图像的样本图像特征预先确定的,所述第二图像与所述第一图像之间的图像特征相似度大于相似度阈值。
12.一种图像特征的存储装置,其中,包括:
接收模块,用于接收第一图像;
获取模块,用于依据所述第一图像,从图像特征数据库中获取至少一个第二图像,其中,所述图像特征数据库基于样本图像集合的图像特征进行汇总而得到;
确定模块,用于基于至少一个所述第二图像的样本图像特征确定所述第一图像的目标图像特征,其中,所述第二图像与所述第一图像之间的图像特征相似度大于相似度阈值;
存储模块,用于将所述目标图像特征存储至图像检索系统中的预定存储位置,其中,所述预定存储位置包括:检索引擎,存储模块,消息队列。
13.一种图像特征检索装置,其中,包括:
接收单元,用于接收图像特征检索请求,其中,所述图像特征检索请求中携带有第一图像的图像标识;
获取单元,用于基于所述图像标识从图像检索系统中的预定存储位置获取所述第一图像的目标图像特征,其中,所述预定存储位置包括:检索引擎,存储模块,消息队列;所述目标图像特征是在存储时,基于至少一个第二图像的样本图像特征预先确定的,所述第二图像与所述第一图像之间的图像特征相似度大于相似度阈值。
14.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的图像特征存储方法,或者权利要求11所述的图像特征检索方法。
15.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-10中任一项所述的图像特征存储方法,或者权利要求11所述的图像特征检索方法。
16.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-10中任一项所述的图像特征存储方法,或者权利要求11所述的图像特征检索方法。
17.一种图像特征存储产品,包括如权利要求14所述的电子设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111193203.3A CN113946702A (zh) | 2021-10-13 | 2021-10-13 | 图像特征的存储方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111193203.3A CN113946702A (zh) | 2021-10-13 | 2021-10-13 | 图像特征的存储方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946702A true CN113946702A (zh) | 2022-01-18 |
Family
ID=79330336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111193203.3A Pending CN113946702A (zh) | 2021-10-13 | 2021-10-13 | 图像特征的存储方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946702A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180300358A1 (en) * | 2015-09-16 | 2018-10-18 | Hangzhou Hikvision Digital Technology Co., Ltd. | Image Retrieval Method and System |
CN110222775A (zh) * | 2019-06-10 | 2019-09-10 | 北京字节跳动网络技术有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN111522989A (zh) * | 2020-07-06 | 2020-08-11 | 南京梦饷网络科技有限公司 | 用于图像检索的方法、计算设备和计算机存储介质 |
CN113360689A (zh) * | 2021-06-28 | 2021-09-07 | 北京百度网讯科技有限公司 | 图像检索系统、方法、相关装置及计算机程序产品 |
-
2021
- 2021-10-13 CN CN202111193203.3A patent/CN113946702A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180300358A1 (en) * | 2015-09-16 | 2018-10-18 | Hangzhou Hikvision Digital Technology Co., Ltd. | Image Retrieval Method and System |
CN110222775A (zh) * | 2019-06-10 | 2019-09-10 | 北京字节跳动网络技术有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN111522989A (zh) * | 2020-07-06 | 2020-08-11 | 南京梦饷网络科技有限公司 | 用于图像检索的方法、计算设备和计算机存储介质 |
CN113360689A (zh) * | 2021-06-28 | 2021-09-07 | 北京百度网讯科技有限公司 | 图像检索系统、方法、相关装置及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240146771A1 (en) | Inclusion of time-series geospatial markers in analyses employing a cyber-decision platform | |
CN113806300B (zh) | 数据存储方法、系统、装置、设备及存储介质 | |
CN113014608B (zh) | 一种流量分发控制方法、装置、电子设备及存储介质 | |
CN113760982A (zh) | 一种数据处理方法和装置 | |
CN112528067A (zh) | 图数据库的存储方法、读取方法、装置及设备 | |
CN114461407A (zh) | 数据处理方法、装置、分发服务器、系统及存储介质 | |
CN114697391A (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN113904943A (zh) | 账号检测方法、装置、电子设备和存储介质 | |
CN114897666B (zh) | 图数据存储、访问、处理方法、训练方法、设备及介质 | |
CN117082046A (zh) | 数据上传方法、装置、设备及存储介质 | |
CN113360689B (zh) | 图像检索系统、方法、相关装置及计算机程序产品 | |
CN113641670B (zh) | 数据存储及数据检索方法、装置、电子设备及存储介质 | |
CN113590447B (zh) | 埋点处理方法和装置 | |
CN112887426B (zh) | 信息流的推送方法、装置、电子设备以及存储介质 | |
CN112507100B (zh) | 一种问答系统的更新处理方法和装置 | |
CN112714163B (zh) | 数据传输方法、装置、电子设备和介质 | |
CN113946702A (zh) | 图像特征的存储方法、装置、存储介质及电子设备 | |
CN110134547B (zh) | 一种基于中间件的重复数据删除方法和相关装置 | |
CN111782834A (zh) | 图像检索的方法、装置、设备及计算机可读存储介质 | |
CN113778645A (zh) | 基于边缘计算的任务调度方法、装置、设备及存储介质 | |
CN113691403A (zh) | 拓扑节点配置方法、相关装置及计算机程序产品 | |
CN113723090A (zh) | 位置数据获取方法、装置、电子设备和存储介质 | |
CN113190551A (zh) | 特征检索系统的构建方法、特征检索方法、装置及设备 | |
CN114416414B (zh) | 一种故障信息定位方法、装置、设备及存储介质 | |
CN117056133B (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 |