1.本发明涉及图像识别领域,尤其涉及一种图像检索方法和系统。
背景技术:2.随着各种社交网络的兴起,网络中图片,视频数据每天都以惊人的速度增长,逐渐形成强大的图像检索数据库。针对这些具有丰富信息的海量图片,如何准确快速的从巨大的图像数据库中检索出用户需要的图片,成为信息检索领域有挑战性的一个研究方向。
3.背景是风控领域有些图片无法归属到某个具体分类,比如某张画本身没问题,但是这张画是由一个涉政的人物画的,所以也需要拦截。因此需要用到图像检索的方法,比如将这张有问题的画加入检索库,线上每一张图片都会与这张画做一个距离匹配,达到阈值的表示线上的这张图片与该画相似,需要进行拦截。
4.现有的方法通常提取一个全局特征,比如上面说到的画,这张画里面有个标志违规了需要拦截,只用全局特征会召回很多画,但是有可能只有一张是需要拦截的,其余的画只是某些部分相似,并没有违规标志。
技术实现要素:5.本发明所要解决的技术问题是针对现有技术的不足,提供一种图像检索方法和系统。
6.本发明解决上述技术问题的技术方案如下:
7.一种图像检索方法,包括:
8.s1,通过预设图像处理方法获得待检索图像的全局特征;
9.s2,根据所述全局特征检索出包含所述全局特征的全局图像集;
10.s3,通过预设方法对所述全局图像集进行筛选,获得满足筛选条件的备选图像集;
11.s4,通过orb算法提取所述备选图像集中图像的所有关键点特征;
12.s5,根据每一个所述关键点特征的特征向量计算关键点特征之间的距离;
13.s6,当所述关键点特征之间的距离满足第一预设条件时,则将包含所述关键点特征的图像作为目标图像。
14.本发明的有益效果是:本方案通过图像的全局特征进行粗筛,根据图像的关键点特征查找到最相似的目标图像,相比较现有方案,本技术能够从具有丰富信息的海量图片数据库中,准确快速的从巨大的图像数据库中检索出用户需要的图片,提高了图片检索的准确率。
15.进一步地,所述s1具体包括:
16.经过卷积神经网络的卷积层提取待检索图像的特征图;
17.再通过池化层获得所述特征图的全局特征。
18.采用上述进一步方案的有益效果是:本方案通过提取全局特征能快速检索到包含全局特征的所有图片。
19.进一步地,所述s2具体包括:
20.将所述全局特征的全局特征向量输入检索库中;
21.根据所述全局特征向量对线上数据进行检索,获得多个包含所述全局特征向量的图像,将包含所述全局特征向量的图像合并成所述全局图像集。
22.采用上述进一步方案的有益效果是:本方案通过全局特征对海量图片信息进行粗筛,因为通过关键点特征信息直接对海量图片信息进行特征提取和匹配比较比较耗时,通过全局特征进行粗筛,可以有效提升检索效率。
23.进一步地,所述s3具体包括:
24.根据所述全局特征的全局特征向量计算所述待检索图像与所述全局图像集中图像的向量距离;
25.将所述向量距离满足第二预设条件的图像合并成所述备选图像集。
26.采用上述进一步方案的有益效果是:本方案通过提取图像的关键点特征,该关键点特征具有尺度不变性、旋转不变性的特性、这些点能够表示整张图片最有代表性的点,不会受旋转平移以及各种增强的影响,通过这些关键点特征能够精准匹配到目标图像,大大提高识别精度。
27.进一步地,还包括:根据所述目标图像的关键点特征数量和待检索图像的关键点特征数量计算图像的匹配比例。
28.本发明解决上述技术问题的另一种技术方案如下:
29.一种图像检索系统,包括:全局特征提取模块、检索模块、筛选模块、关键点特征提取模块、相似度计算模块和目标图像获取模块;
30.所述全局特征提取模块用于通过预设图像处理方法获得待检索图像的全局特征;
31.所述检索模块用于根据所述全局特征检索出包含所述全局特征的全局图像集;
32.所述筛选模块用于通过预设方法对所述图像集进行筛选,获得满足筛选条件的备选图像集;
33.所述关键点特征提取模块用于通过orb算法提取所述备选图像集中图像的所有关键点特征;
34.所述相似度计算模块用于根据每一个所述关键点特征的特征向量计算关键点特征之间的距离;
35.所述目标图像获取模块用于当所述关键点特征之间的距离满足第一预设条件时,则将包含所述关键点特征的图像作为目标图像。
36.本发明的有益效果是:本方案通过图像的全局特征进行粗筛,根据图像的关键点特征查找到最相似的目标图像,相比较现有方案,本技术能够从具有丰富信息的海量图片数据库中,准确快速的从巨大的图像数据库中检索出用户需要的图片,提高了图片检索的准确率。
37.进一步地,所述全局特征提取模块具体用于经过卷积神经网络的卷积层提取待检索图像的特征图;通过池化层获得所述特征图的全局特征。
38.采用上述进一步方案的有益效果是:本方案通过提取全局特征能快速检索到包含全局特征的所有图片。
39.进一步地,所述检索模块具体用于将所述全局特征的全局特征向量输入检索库
中;
40.根据所述全局特征向量对线上数据进行检索,获得多个包含所述全局特征向量的图像,将包含所述全局特征向量的图像合并成所述全局图像集。
41.采用上述进一步方案的有益效果是:本方案通过全局特征对海量图片信息进行粗筛,因为通过关键点特征信息直接对海量图片信息进行特征提取和匹配比较比较耗时,通过全局特征进行粗筛,可以有效提升检索效率。
42.进一步地,所述筛选模块具体用于根据所述全局特征的全局特征向量计算所述待检索图像与所述全局图像集中图像的向量距离;
43.将所述向量距离满足第二预设条件的图像合并成所述备选图像集。
44.采用上述进一步方案的有益效果是:本方案通过提取图像的关键点特征,这些点能够表示整张图片最有代表性的点,不会受旋转平移以及各种增强的影响,通过这些关键点特征能够精准匹配到目标图像,大大提高识别精度。
45.进一步地,还包括:匹配比例计算模块,用于根据所述目标图像的关键点特征数量和待检索图像的关键点特征数量计算图像的匹配比例。
46.本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
47.图1为本发明的实施例提供的一种图像检索方法的流程示意图;
48.图2为本发明的实施例提供的一种图像检索系统的结构框图;
49.图3为本发明的其他实施例提供的一种图像检索方法的全局特征提取的流程示意图;
50.图4为本发明的其他实施例提供的一种图像检索方法的图像粗筛选的流程示意图。
具体实施方式
51.以下结合附图对本发明的原理和特征进行描述,所举实施例只用于解释本发明,并非用于限定本发明的范围。
52.如图1所示,为本发明实施例提供的一种图像检索方法,包括:
53.s1,通过预设图像处理方法获得待检索图像的全局特征;
54.在某一实施例中,其中预设图像处理方法可以通过传统的cnn网络对待检索图像进行处理,使用mobilenetv2获取最后一个卷积层的特征图,将该特征图经过gem池化层得到全局特征;在另一实施例中,全局特征是指通过卷积神经网络,将图片经过卷积层进行特征提取,最后通过池化层,得到一个1*1792的一维向量。
55.s2,根据全局特征检索出包含全局特征的全局图像集;其中,全局图像集包括多个图像,多个图像中均包括全局特征;需要说明的是,全局特征可以表达图像的大致内容,例如,一张图片的主体是建筑物,那么和它相似的也是主体为建筑物的图片。而主体的特征也就是全局特征。
56.s3,通过预设方法对全局图像集进行筛选,获得满足筛选条件的备选图像集;
57.在某一实施例中,该预设方法可以包括:通过卷积神经网络,将图片经过卷积层进行特征提取,最后通过池化层,得到一个1*1792的一维向量,该一维向量即全局特征向量,将待检索图像的全局特征向量与图像数据库中图像的全局特征向量进行l2 norm归一化,再进行欧式距离的计算,获得向量间的l2距离,该距离表示两个向量(即全局特征)之间的相似度。根据l2距离匹配到topk个相似图像,全局特征只能表达图像的大致内容,比如一张图片的主体是建筑物,那么和它相似的也是主体为建筑物的图片。因此除了召回真正需要的图片,也会召回很多相似的图片,因此需要将距离最近的前k个图片都保存起来。
58.s4,通过orb算法提取备选图像集中图像的所有关键点特征;其中,orb(oriented fast and rotated brief)是oriented fast+rotated brief的缩写。
59.在某一实施例中,oriented fast可以包括:在待检索图像中确定海选角点:
60.选择某个像素p,其像素值为ip。以p为圆心,半径为3,确立一个圆,圆上有16个像素,分别为p1,p2,p3,
…
p16;
61.确定一个阈值:t,例如ip的20%;
62.让圆上的像素值分别与p的像素值做差,如果存在连续n个点满足ix
‑
ip>t或ix
‑
ip<
‑
t,其中ix代表此圆上16个像素中的一个点,那么就把该点作为一个候选点。根据经验,一般令n=12,n通常取12,即为fast
‑
12。其它常用的n取值为9和11,他们分别被称为fast
‑
9,fast
‑
11。
63.非极大值抑制:
64.经过前面的海选后,还是会有很多个特征点。他们有个缺点:很可能大部分检测出来的点彼此之间相邻,我们要去除一部分这样的点。为了解决这一问题,可以采用非最大值抑制的算法:假设p,q两个点相邻,分别计算两个点与其周围的16个像素点之间的差分和为v。去除v值较小的点,即把非最大的角点抑制掉。
65.在某一实施例中,rotated brief可以包括:
66.对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度直方图描述特征点的传统方法,采用二级制、位异或运算,大大的加快了特征描述符建立的速度,同时也极大的降低了特征匹配的时间。
67.通过fast用来解决寻找特征点的速度问题,通过brief用来解决描述子的空间占用冗余问题。
68.s5,根据每一个关键点特征的特征向量计算关键点特征之间的距离;在某一实施例中,计算关键点特征之间的距离可以包括:根据关键点特征的关键点特征向量计算向量距离。
69.s6,当关键点特征之间的距离满足第一预设条件时,则将包含关键点特征的图像作为目标图像。需要说明的是,在某一实施例中,第一预设条件可以通过构造一批白样本和黑样本,然后对黑样本进行各种增强。最后将黑样本加入检索库。然后过一遍白样本和黑样本的增强图,根据召回率和准确率,选取一个最合适的阈值,当关键点特征之间的距离大于该阈值则表示满足第一预设条件。
70.在某一实施例中,例如某张画里面有个标志违规了,需要进行拦截,放入检索库之后,对线上所有数据进行检索。具体步骤为,通过cnn提取到的全局特征为一个一维向量,将线上数据都过一遍cnn,得到无数个一维向量。对比库里图片的向量和每个线上图片的向量
之间的距离,得到最近的k个向量。将这k个向量对应的图片提取局部特征,与库里的图片进行局部特征的匹配,得到最相似的一张图片。
71.本方案通过图像的全局特征进行粗筛,根据图像的关键点特征查找到最相似的目标图像,相比较现有方案,本技术能够从具有丰富信息的海量图片数据库中,准确快速的从巨大的图像数据库中检索出用户需要的图片,提高了图片检索的准确率。
72.优选地,在上述任意实施例中,如图3所示,s1具体包括:
73.s10,经过卷积神经网络的卷积层提取待检索图像的特征图;
74.s11,再通过池化层获得特征图的全局特征。
75.本方案通过提取全局特征能快速检索到包含全局特征的所有图片。
76.优选地,在上述任意实施例中,s2具体包括:
77.将全局特征的全局特征向量输入检索库中;
78.根据全局特征向量对线上数据进行检索,获得多个包含全局特征向量的图像,将包含全局特征向量的图像合并成全局图像集。
79.本方案通过全局特征对海量图片信息进行粗筛,因为通过关键点特征信息直接对海量图片信息进行特征提取和匹配比较比较耗时,通过全局特征进行粗筛,可以有效提升检索效率。
80.优选地,在上述任意实施例中,如图4所示,s3具体包括:
81.s31,根据全局特征的全局特征向量计算待检索图像与全局图像集中图像的向量距离;
82.s32,将向量距离满足第二预设条件的图像合并成备选图像集。
83.在某一实施例中,通过卷积神经网络,将图片经过卷积层进行特征提取,最后通过池化层,得到一个1*1792的一维向量,该一维向量即全局特征向量,将待检索图像的全局特征向量与图像数据库中图像的全局特征向量进行l2 norm归一化,再进行欧式距离的计算,获得向量间的l2距离,该距离表示两个向量(即全局特征)之间的相似度。根据l2距离匹配到topk个相似图像,全局特征只能表达图像的大致内容,比如一张图片的主体是建筑物,那么和它相似的也是主体为建筑物的图片。因此除了召回真正需要的图片,也会召回很多相似的图片,因此需要将距离最近的前k个图片都保存起来。其中,第二预设条件可以根据实际应用过程中选取的向量距离,向量距离可以根据,选择距离最近的前k个图片,将k个图像合成备选图像集。
84.本方案通过提取图像的关键点特征,这些点能够表示整张图片最有代表性的点,不会受旋转平移以及各种增强的影响,通过这些关键点特征能够精准匹配到目标图像,大大提高识别精度。
85.优选地,在上述任意实施例中,还包括:根据目标图像的关键点特征数量和待检索图像的关键点特征数量计算图像的匹配比例。在某一实施例中,例如a图片有num_a个关键点,b图片有num_b个关键点,a和b图片相互匹配的点有num个,那么匹配比例为num/min(num_a,num_b)。
86.在某一实施例中,如图2所示,一种图像检索系统,包括:全局特征提取模块1001、检索模块1002、筛选模块1003、关键点特征提取模块1004、相似度计算模块1005和目标图像获取模块1006;
87.全局特征提取模块1001用于通过预设图像处理方法获得待检索图像的全局特征;
88.检索模块1002用于根据全局特征检索出包含全局特征的全局图像集;
89.筛选模块1003用于通过预设方法对图像集进行筛选,获得满足筛选条件的备选图像集;
90.关键点特征提取模块1004用于通过orb算法提取备选图像集中图像的所有关键点特征;
91.相似度计算模块1005用于根据每一个关键点特征的特征向量计算关键点特征之间的距离;
92.目标图像获取模块1006用于当关键点特征之间的距离满足第一预设条件时,则将包含关键点特征的图像作为目标图像。
93.本方案通过图像的全局特征进行粗筛,根据图像的关键点特征查找到最相似的目标图像,相比较现有方案,本技术能够从具有丰富信息的海量图片数据库中,准确快速的从巨大的图像数据库中检索出用户需要的图片,提高了图片检索的准确率。
94.优选地,在上述任意实施例中,全局特征提取模块1001具体用于经过卷积神经网络的卷积层提取待检索图像的特征图;通过池化层获得特征图的全局特征。
95.本方案通过提取全局特征能快速检索到包含全局特征的所有图片。
96.优选地,在上述任意实施例中,检索模块1002具体用于将全局特征的全局特征向量输入检索库中;
97.根据全局特征向量对线上数据进行检索,获得多个包含全局特征向量的图像,将包含全局特征向量的图像合并成全局图像集。
98.本方案通过全局特征对海量图片信息进行粗筛,因为通过关键点特征信息直接对海量图片信息进行特征提取和匹配比较比较耗时,通过全局特征进行粗筛,可以有效提升检索效率。
99.优选地,在上述任意实施例中,筛选模块1003具体用于根据全局特征的全局特征向量计算待检索图像与全局图像集中图像的向量距离;
100.将向量距离满足第二预设条件的图像合并成备选图像集。
101.本方案通过提取图像的关键点特征,这些点能够表示整张图片最有代表性的点,不会受旋转平移以及各种增强的影响,通过这些关键点特征能够精准匹配到目标图像,大大提高识别精度。
102.优选地,在上述任意实施例中,还包括:匹配比例计算模块,用于根据目标图像的关键点特征数量和待检索图像的关键点特征数量计算图像的匹配比例。
103.可以理解,在一些实施例中,可以包含如上述各实施例中的部分或全部可选实施方式。
104.需要说明的是,上述各实施例是与在先方法实施例对应的产品实施例,对于产品实施例中各可选实施方式的说明可以参考上述各方法实施例中的对应说明,在此不再赘述。
105.读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示
意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
106.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
107.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
108.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
109.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read
‑
onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
110.以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。