具有可靠泛化性的图像相似度匹配方法和装置与流程

文档序号:30086903发布日期:2022-05-18 06:06阅读:99来源:国知局
具有可靠泛化性的图像相似度匹配方法和装置与流程

1.本技术一般涉及图像匹配,尤其涉及具有可靠泛化性的图像相似度匹配方案。


背景技术:

2.在如今复杂的网络环境下,大量非法活动网站出现在大众视野。部分群众自制力较弱,容易踏入网络非法活动的陷阱之中,造成了大量的资金流失,对社会风气也产生不良影响。
3.该类风险有两个特点:一、涉及资金大,大量的资金在短时间内投入网络非法活动,一旦防控不好,可能就难以追回,非法活动网站直接或间接将网络支付平台作为交易的方式,也给网络支付平台带来了巨大的麻烦。二、非法活动网站及资金流动方式的不断变化,给巡检带来了一定难度,需要不断收集最新的非法活动网站信息,才能有效对其进行打击、监督和控制,非法活动产业也在不断提高警惕并用新技术手段反巡检,从而对巡检算法技术的要求越来越高。
4.由例如网络支付平台或第三方进行网络安全巡检可包括通过自动或半自动方式对使用了该网络支付平台作为交易手段的网站进行巡检以发现是否存在涉及非法活动。然而,非法活动网站通常会在注册和登录时设置验证码环节。近年来常用的验证码包括例如字符和图形验证码图像匹配环节,该环节要求用户按次序手动点击图中与字符一一对应的图形验证码图像(亦称为点字点物验证码)并依次判断用户是否是真人以及是否可允许该用户进一步访问该网站其他内容。这给巡检带来了难度并且使得巡检效率降低。
5.为此,本领域需要能够破解非法活动网站的验证码环节,以辅助巡检,并显著提升风险监测能力的技术。


技术实现要素:

6.本公开的一方面涉及一种图像相似度匹配的方法,包括获取页面的截图,所述页面上包括对象序列和图片,所述对象序列包括多个对象,并且所述图片中至少包括与所述对象序列中的每个对象相对应的多个图标;在所述页面的截图上进行目标检测,以获得所述多个对象和所述多个图标;基于特征提取来确定所述多个对象和所述多个图标的特征向量;以及基于对所述特征向量之间的距离度量的比较,确定每个对象与图标的配对关系。
7.根据一些示例性实施例,所述图片还包括以下一者或多者或任何组合:不与所述对象序列中的任何对象相对应的图标;图标的颜色、变色、旋转、翻转、和/或变形;以及所述图片的背景。
8.根据一些示例性实施例,基于特征提取来确定特征向量包括由基于神经网络的模型以对象或图标的图像为输入进行嵌入得到特征向量。
9.根据一些示例性实施例,对所述特征向量之间的距离度量的比较包括以下至少一者:将所述距离度量与阈值进行比较;或者确定与所述多个对象中的每一个对象具有最小距离度量的图形。
10.根据一些示例性实施例,所述基于神经网络的模型至少包括特征提取网络。
11.根据一些示例性实施例,所述特征提取网络包括第一特征提取网络和第二特征提取网络,并且所述基于神经网络的模型进一步包括与所述第一特征提取网络关联的第一分类模块、以及与所述第二特征提取网络关联的第二分类模块,并且所述方法进一步包括使用训练数据集作为输入以确定以下损失中的一者或多者:样本失衡损失、第一特征提取网络与第二特征提取网络之间的回归损失、以及所述第一分类模块和所述第二分类模块之间的分类损失;以及基于所确定的损失之和来优化所述特征提取网络。
12.根据一些示例性实施例,所述样本失衡损失包括以下一者或多者或其组合:由所述第一特征提取网络和所述第二特征提取网络分别对所述输入进行嵌入得到的特征向量的circle loss之和;以及由所述第一分类模块和所述第二分类模块分别对所述第一特征提取网络和所述第二特征提取网络得到的特征向量进行分类得到的类别向量的focal loss之和。
13.根据一些示例性实施例,所述回归损失包括mse损失,并且所述分类损失包括kl损失。
14.根据一些示例性实施例,所述第一特征提取网络和所述第二特征提取网络包括单个带随机失活的主干网络。
15.根据一些示例性实施例,所述特征提取网络进一步包括关联于所述第一特征提取网络的第一预处理模块、和关联于所述第二特征提取网络的第二预处理模块,所述第一预处理模块和所述第二预处理模块分别用于在特征提取之前对所述输入进行不同的对抗训练。
16.本公开的其他方面还包括实现相应方法的功能的装置、设备和计算机可读存储介质等。
附图说明
17.图1示出了根据本公开的一方面的示例网站会员注册页面的示图。
18.图2示出了根据本公开的一方面的示例网站会员注册页面的示图。
19.图3示出了根据本公开的一方面的图像相似度匹配方案的示意图。
20.图4示出了根据本公开的一方面的图像相似度匹配方案的示意图。
21.图5示出了根据本公开的一方面的图像相似度匹配装置的框图。
22.图6示出了根据本公开一方面的训练匹配网络的方案的数据流图。
23.图7示出了根据本公开一方面的基于度量学习来训练匹配网络的装置的框图。
24.图8示出了根据本公开一方面的图像相似度匹配装置的框图。
25.图9示出了根据本公开的一方面的对示例网站会员注册页面的图像相似度匹配的示图。
26.图10示出了根据本公开的一方面的对示例网站会员注册页面的图像相似度匹配的示图。
27.图11示出了根据本公开的一方面的一种图像相似度匹配的方法的框图。
28.图12示出了根据本公开的一方面的一种图像相似度匹配的设备的框图。
具体实施方式
29.图1示出了根据本公开的一方面的示例网站会员注册页面100的示图。如图1中所示,在允许用户注册之前,网站要求用户在图片中所示的多个图形验证码图像中依次点击与给出的文本字符序列对应的数个图形验证码图像。
30.例如,在图1的示例中,网站要求用户依次在示出多个文字图形的图片中的“晃”、“昌”、“关”字。仅当用户能正确完成该点击任务时,网站才允许用户注册(或登录)并进一步访问网站上的其他内容。
31.一般而言,图片中的图形验证码图像可包括文字、图形、图标、或其他与所给出的文本字符序列具有对应性的图形验证码图像。另外,图片中的图形验证码图像还可包括干扰项,例如图1中的“篇”、“涌”。
32.图形验证码图像还可包括颜色、变色、旋转、翻转、变形等以增加识别难度。例如,图1的示例网站会员注册页面100中的图形验证码图像为文字,且其包括不同颜色、旋转和变形,从而增加了机器识别的难度。
33.图2示出了根据本公开的一方面的示例网站会员注册页面200的示图。如图2中所示,在允许用户注册之前,网站要求用户在图片中所示的多个图标图形验证码图像中依次点击与给出的图标序列对应的数个图标图形验证码图像。
34.例如,在图2的示例中,网站要求用户依次在示出多个图标图形的图片中的三个特定图标。仅当用户能正确完成该点击任务时,网站才允许用户注册(或登录)并进一步访问网站上的其他内容。
35.另外,图片中的图形验证码图像还可包括干扰项,如图2中所示。图形验证码图像还可包括颜色、变色、旋转、翻转、变形等以增加识别难度。例如,图2的示例网站会员注册页面200中的图形验证码图像为图标,且其可以包括不同颜色、旋转和变形。
36.尽管以上图1和图2分别以文字序列与文字图形验证码图像匹配、以及图标图形序列与图标图形验证码图像匹配为例描述了点字点物验证码的示例,但是本领域普通技术人员可知本公开并不被限定于此。例如,本公开还可包括以文本描述序列(例如,文字:太阳)与图标图形验证码图像(例如,太阳图标)匹配、相同对象不同图案之间(例如,第一种太阳图案、与之不同的第二种太阳图案)的匹配等各种验证码。
37.由此,经典分类网络进行验证码图像分类匹配会遇到各种难题。例如,每增加一个新种类,就要重新定义网络模型,并从头训练。另外,对于非文字的验证码(例如以上图2中所示的),经典分类网络无法准确给定其标签,进而无法对其进行分类,导致图像无法进行准确匹配。
38.本公开的图像相似度匹配方案在验证码破解阶段基于metric learning(度量学习)进行模型搭建。该类模型可以用于字符、不规则图形以及其他各种验证码图像匹配,从而可以自动破解非法活动网站验证码环节,辅助巡检,显著提升风险监测能力。
39.图3示出了根据本公开的一方面的图像相似度匹配方案300的示意图。如图3中所示,在巡检中,当遇到注册/登录页面要求诸如点字点物验证码等图形验证码时,可首先进行目标检测302。
40.目标检测功能302可以包括例如在页面上检测要求用户点击的文字、图标等序列,例如图3中所示的“晃”、“昌”、“关”文字序列。目标检测功能302还可以包括提取包含与这些
文字或图标对应的图形验证码的图像。该图像可包括或不包括背景,并且可包括或不包括其他干扰项。
41.目标检测功能302所检测到的文字、图标等序列以及包含了与这些文字或图标对应的图形验证码的图像被提供给预处理功能304进行预处理。
42.预处理功能304可包括对于文字序列去除无关字符、标点等。预处理功能304还可包括从所提取的包含与这些文字或图标对应的图形验证码的图像中剪切出各个图标。尽管图中示出了将图标剪切为仅包括少量背景图像,但是本公开并不被限定于此,而是也可包括简单地将整个图像划分开以使得每个部分包括单个图标等方案。
43.根据一些示例性实施例,预处理功能304还可以进一步包括其他图像处理和增强。例如,预处理器功能304可包括在从图像中剪切图标之前、同时和/或之后进行旋转、畸变校正、对比度增加、去噪等各种处理中的一者或多者或其任何组合。
44.从文字序列中提取的文字和从图像中剪切出的图标随后被提供给匹配功能306进行匹配。这将在下文中进一步具体描述。
45.匹配功能306旨在从文字或图标序列中提取的文字或图标和从图像中剪切出的图标中找到相似的对象。本公开的匹配功能306通过下文更具体描述的图像相似度匹配方案来实现。
46.当匹配功能306完成匹配之后,巡检便可根据与文字序列对应的顺序来实现对图像中对应图标的点击,从而进一步完成注册和/或登录以进一步巡检网站的其他内容。
47.图4示出了根据本公开的一方面的图像相似度匹配方案400的示意图。如图4中所示,在巡检中,当遇到注册/登录页面要求诸如点字点物验证码等图形验证码时,可首先进行目标检测302。
48.目标检测功能302可以包括例如在页面上检测要求用户点击的文字、图标等序列,例如图4中所示的代表安全防护、鸟、电话机的图标序列。目标检测功能402还可以包括提取包含与这些文字或图标对应的图形验证码的图像。该图像可包括或不包括背景,并且可包括或不包括其他干扰项。
49.目标检测功能302所检测到的文字、图标等序列以及包含了与这些文字或图标对应的图形验证码的图像被提供给预处理功能304进行预处理。
50.预处理功能304可包括对于图标序列去除无关图像内容、噪声等。预处理功能304还可包括从所提取的包含与这些文字或图标对应的图形验证码的图像中剪切出各个图标。尽管图中示出了将图标剪切为仅包括少量背景图像,但是本公开并不被限定于此,而是也可包括简单地将整个图像划分开以使得每个部分包括单个图标等方案。
51.根据一些示例性实施例,预处理功能304还可以进一步包括其他图像处理和增强。例如,预处理器功能304可包括在从图像中剪切图标之前、同时和/或之后进行旋转、畸变校正、对比度增加、去噪等各种处理中的一者或多者或其任何组合。
52.从图标序列中提取的图标和从图像中剪切出的图标随后被提供给匹配功能306进行匹配。这将在下文中进一步具体描述。
53.匹配功能306旨在从文字或图标序列中提取的文字或图标和从图像中剪切出的图标中找到相似的对象。本公开的匹配功能306通过下文更具体描述的图像相似度匹配方案来实现。
54.当匹配功能306完成匹配之后,巡检便可根据与图标序列对应的顺序来实现对图像中对应图标的点击,从而进一步完成注册和/或登录以进一步巡检网站的其他内容。
55.图5示出了根据本公开的一方面的图像相似度匹配装置500的框图。图像相似度匹配装置500可包括但不限于目标检测模块502、预处理模块504、匹配模块506和训练模块508等。本领域普通技术人员可知,尽管将图像相似度匹配装置500描述为包括上述模块,但是本公开并不被限定于此。例如,目标检测和/或预处理可由其他外部功能单元执行,并且此类外部功能单元可将经目标检测和预处理的数据传送给图像相似度匹配装置500进行匹配。另外,图像相似度匹配装置500也可包括更多、更少或其他模块,这些均在本公开的范围之内。
56.根据一些示例性实施例,目标检测模块502可以用于如以上结合图3和图4描述地在网页上进行目标检测。例如,在巡检中,当遇到注册/登录页面要求诸如点字点物验证码等图形验证码时,可由目标检测模块502例如获取页面的截图并在该截图中进行目标检测。
57.目标检测模块502可以在页面上检测要求用户点击的对象(例如,文字、图标等)序列,例如包括但不限于例如图3中所示的“晃”、“昌”、“关”文字序列、和/或图4中所示的代表安全防护、鸟、电话机的图标序列等等。目标检测模块502还可以提取包含与这些文字或图标对应的图形验证码的图像。该图像可包括或不包括背景,并且可包括或不包括其他干扰项。
58.目标检测模块502所检测到的文字、图标等序列以及包含了与这些文字或图标对应的图形验证码的图像被提供给预处理模块504进行预处理。
59.预处理模块504可对于文字序列去除无关字符、标点等、和/或对于图标序列去除无关图像内容、噪声等。预处理模块504还可包括从所提取的包含与这些文字或图标对应的图形验证码的图像中剪切出各个图标。根据各种不同实施例,图标可被剪切为仅包括少量背景图像,也可包括整个图像被划分开的部分以使得每个部分包括单个图标等方案,本公开在此方面不受限定。
60.根据一些示例性实施例,预处理模块504还可以进一步包括其他图像处理和增强。例如,预处理模块504可包括在从图像中剪切图标之前、同时和/或之后进行旋转、畸变校正、对比度增加、去噪等各种处理中的一者或多者或其任何组合。
61.从文字/图标序列中提取的文字/图标和从图像中剪切出的图标随后被提供给匹配模块506进行匹配。这将在下文中进一步具体描述。
62.匹配模块506旨在从序列中提取的文字/图标和从图像中剪切出的图标中找到相似的对象。本公开的匹配模块506的实现在下文更具体地描述。
63.当匹配模块506完成匹配之后,图像相似度匹配装置500便可提供此匹配关系的关联数据以便于外部功能单元根据与序列对应的顺序来实现对图像中对应图标的点击,从而进一步完成注册和/或登录以进一步巡检网站的其他内容。尽管此处描述了由图像相似度匹配装置500将匹配关系的关联数据提供给外部功能单元以便其根据与序列对应的顺序来实现对图像中对应图标的点击,但是本领域普通技术人员可知,该功能单元也可被实现在图像相似度匹配装置500内(未示出)。
64.在本公开的上下文中,匹配模块506可采用神经网络,并由训练模块508基于训练数据集来训练。训练数据集可包括图像数据以及与之关联的标签,并且匹配模块506可以由
训练模块508基于例如有监督和/或半监督学习来训练。根据示例性实施例,匹配模块506可被实现为包括但不限于特征提取、分类以及训练等功能,如下文所描述的。
65.图6示出了根据本公开一方面的训练匹配网络的方案的数据流图600。图6的方案可由例如以上结合图5的图像相似度匹配装置500的训练模块508对匹配模块506实现,其中匹配模块506可包括或实现特征提取模块602a和602b,或由特征提取模块602a和602b构成。另一方面,训练模块508可包括或实现分类模块604a和604b以及各个损失计算模块606a、606b、608a、608b、610、以及612等中的一者或多者或其任何组合,或由上述损失计算模块中的一者或多者或其任何组合构成。
66.如图6中所示,可将经目标检测和预处理的图片(例如,如以上结合图3和图4所描述)作为输入x提供给两路特征提取模块602a和602b。
67.根据示例性实施例,特征提取模块602a和602b可采用主干(backbone)网络来实现。
68.特征提取模块602a将输入x嵌入(embedding)为特征向量y1。特征提取模块602b将输入x嵌入为特征向量y2。
69.特征向量y1和特征向量y2分别被输入到第一路分支中的第一类样本失衡损失计算模块606a和第二路分支中的第一类样本失衡损失计算模块606b。第一路分支中的第一类样本失衡损失计算模块606a基于从输入x提取的特征向量y1和x的标签计算第一类损失。第二路分支中的第一类样本失衡损失计算模块606b基于从输入x提取的特征向量y2及x的标签计算第一类损失。这两个第一类损失被相加以得到loss1。
70.另一方面,特征向量y1被输入到第一路分支中的分类模块604a中以得到对应的类别向量class1。同样,特征向量y2被输入到第二路分支中的分类模块604b中以得到对应的类别向量class2。类别向量class1和class2分别被输入到第一路分支中的第二类样本失衡损失计算模块608a和第二路分支中的第二类样本失衡损失计算模块608b。第一路分支中的第二类样本失衡损失计算模块608a基于第一路分支对输入x分类的类别向量class1和输入x的标签计算第二类损失。第二路分支中的第二类样本失衡损失计算模块608b基于第二路分支对输入x分类的类别向量class2和输入x的标签计算第二类损失。这两个第二类损失被相加以得到loss2。
71.此外,第一路分支中的特征向量y1和第二路分支中的特征向量y2被输入到回归损失计算模块610中以获得loss3。
72.另外,第一路分支对输入x分类的类别向量class1和第二路分支对输入x分类的类别向量class2被输入到分类损失计算模块612中以获得loss4。
73.尽管以上描述了基于对输入x进行两路分支的特征提取和分类后确定第一类样本失衡损失loss1、第二类样本失衡损失loss2、回归损失loss3和分类损失loss4,但是本领域普通技术人员可知,本公开还可涵盖更多或更少的或其他类型的损失的各种组合。例如,一些示例性实施例可以使用上述loss1到loss4中的至少一些损失的组合。又如,其他示例性实施例中可以进一步增设其他损失或替换loss1到loss4中的一者或多者。上述这些均在本技术的范围之内。
74.最终的总损失可由所有损失求和得到。例如,在图6的示例中,总损失loss可等于loss1+loss2+loss3+loss4。根据其他示例性实施例,总损失loss可等于各个损失的加权
和。例如,总损失loss可等于w1
×
loss1+w2
×
loss2+w3
×
loss3+w4
×
loss4,其中w1到w4为权重。
75.当确定总损失loss之后,便可基于例如常规的梯度下降等方式来优化特征提取模块602a和602b以及分类模块604a和604b的权重。
76.根据一些示例性实施例,特征提取模块602a和602b可包括同一个含随机失活(dropout)的主干网络,并且分类模块604a和604b包括同一个分类模块。随机失活是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃,从而可以防止过拟合。由于含随机失活,所以使同一组数据两次经过此主干网络时,就可以得到两个不同的输出。由此,在这些示例性实施例中,特征提取模块602a和602b可表示同一组数据两次经过同一个含随机失活(dropout)的主干网络。
77.根据其他一些示例性实施例,特征提取模块602a和602b可包括不同的主干网络,并且分类模块604a和604b可包括分别对应于特征提取模块602a和602b的分类模块。在此类示例性实施例中,可采用诸如bagging等技术来得到最终的分类结果。bagging是通过结合数个模型并对所有模型分类结果进行表决/投票得到最终分类结果,从而降低泛化误差的技术。类似地,根据其他示例性实施例,可以采用其他基于模型平均策略的技术来减少泛化误差。
78.图7示出了根据本公开一方面的基于度量学习来训练匹配网络的装置700的框图。图7的装置700可例如实现和/或包括以上结合图5的图像相似度匹配装置500的训练模块508并接入匹配模块506的至少一部分(例如,包括特征提取模块704a和704b)。
79.根据示例性实施例,图7的基于度量学习来训练匹配网络的装置700可包括分类模块706a和706b、样本失衡损失计算模块708、回归损失计算模块710、分类损失计算模块712、总损失确定模块714、以及模型优化模块716。根据示例性实施例,图7的基于度量学习来训练匹配网络的装置700可接入匹配网络的至少一部分(例如,特征提取模块704a和704b)。
80.根据示例性实施例,图7的基于度量学习来训练匹配网络的装置700可任选地还可包括接在特征提取模块704a和704b之前的输入预处理模块702a和702b。
81.根据示例性实施例,可任选的输入预处理模块702a和702b可以接收输入。根据一些示例性实施例,输入例如可以是经目标检测和预处理的图片(例如,如以上结合图3和图4所描述)。可任选的输入预处理模块702a和702b可对经目标检测和预处理的图片(例如,其可包括从原始图片中检测并提取出的文字或图标连同部分背景)进行对抗攻击。
82.根据示例性实施例,对抗攻击可使用例如快速梯度符号法(fgsm)算法等来实现。对抗攻击的目的之一是向样本中混合一些微小的扰动(虽小但易造成误分类的改变)以生成对抗样本,从而增强网络对对抗样本的鲁棒性。
83.输入预处理模块702a和702b可对经目标检测和预处理的图片进行例如两种不同的对抗攻击。例如,不同的对抗攻击可包括使用不同的梯度算子,例如包括但不限于:fgm、fgsm、fgmm、高斯噪声、以及恒等变化等。又如,不同的对抗攻击可包括使用不同的学习率,例如包括但不限于:0.0001,0.001,0.01,0.1,1等。
84.通过使用不同梯度算子和不同学习率或其他不同超参数的组合等,输入预处理模块702a和702b可对经目标检测和预处理的图片进行不同的对抗攻击。
85.分别经输入预处理模块702a和702b预处理的输入被分别提供至特征提取模块
704a和704b以进行特征提取。特征提取可包括例如嵌入(embedding)。特征提取模块704a和704b可以采用例如含随机失活(dropout)的主干网络来实现。另外,分别经输入预处理模块702a和702b预处理的输入还被提供至回归损失计算模块710。
86.特征提取模块704a和704b分别将输入嵌入(embedding)为相应的特征向量。所嵌入的特征向量分别被提供给分类模块706a和706b。
87.分类模块706a和706b对基于输入进行嵌入得到的特征向量进行分类,并将结果所得的类别向量分别提供至样本失衡损失计算模块708和分类损失计算模块712。
88.样本失衡损失计算模块708、回归损失计算模块710和分类损失计算模块712分别计算相应的损失。
89.具体而言,样本失衡损失计算模块708可计算因样本失衡导致的损失。在本公开的应用场景中,图形验证码难以打标,标签供训练的类别数量远小于文字样本,因此属于困难样本。
90.根据示例性实施例,样本失衡损失计算模块708可计算例如特征提取模块704a和704b基于输入分别进行嵌入得到的特征向量各自的样本失衡损失并将其相加,以得到例如以上结合图6描述的loss1。
91.根据至少一些示例性实施例,特征向量各自的样本失衡损失可使用circle loss来计算。
92.根据示例性实施例,样本失衡损失计算模块708还可计算例如分类模块706a和706b进行分类所得的类别向量各自的样本失衡损失并将其相加,以得到例如以上结合图6描述的loss2。
93.根据至少一些示例性实施例,类别向量各自的样本失衡损失可使用focal loss来计算。
94.根据示例性实施例,回归损失计算模块710可计算特征提取模块704a和704b基于输入分别进行嵌入得到的特征向量之间的回归损失,以得到例如以上结合图6描述的loss3。
95.根据至少一些示例性实施例,特征向量之间的回归损失可使用mse loss来计算。
96.根据示例性实施例,分类损失计算模块712可计算分类模块706a和706b进行分类所得的类别向量之间的分类损失,以得到例如以上结合图6描述的loss4。
97.根据至少一些示例性实施例,类别向量之间的分类损失可使用kl loss来计算。
98.总损失确定模块714可基于特征向量各自的样本失衡损失之和(例如,loss1)、类别向量各自的样本失衡损失之和(例如,loss2)、特征向量之间的回归损失(例如,loss3)、以及类别向量之间的分类损失(例如,loss4)中的一者或多者来得到总损失。
99.例如,根据至少一些示例性实施例,总损失loss可等于loss1+loss2+loss3+loss4。根据其他示例性实施例,总损失loss可等于各个损失的加权和。根据一些其他实施例,例如,总损失loss可等于w1
×
loss1+w2
×
loss2+w3
×
loss3+w4
×
loss4,其中w1到w4为权重。
100.总损失确定模块714可将所确定的总损失提供给模型优化模块716。模型优化模块716可使用总损失来优化匹配网络。例如,模型优化模块716可基于例如常规的梯度下降等方式通过反向传播来训练特征提取模块704a、704b和分类模块706a、706b。
101.根据一些示例性实施例,特征提取模块704a、704b可包括同一个含随机失活(dropout)的主干网络,并且分类模块706a、706b包括同一个分类模块。由于含随机失活,所以使同一组数据两次经过此主干网络时,就可以得到两个不同的输出。由此,在这些示例性实施例中,特征提取模块704a、704b可表示同一组数据两次经过同一个含随机失活(dropout)的主干网络。
102.根据其他一些示例性实施例,特征提取模块704a、704b可包括不同的主干网络,并且分类模块706a、706b可包括分别对应于特征提取模块704a、704b的分类模块。在此类示例性实施例中,可采用诸如bagging等技术来得到最终的分类结果。类似地,根据其他示例性实施例,可以采用其他基于模型平均策略的技术来减少泛化误差。
103.当模型优化模块716完成对特征提取模块704a、704b和分类模块706a、706b的优化(例如,梯度下降的迭代收敛时)完成。经优化的特征提取模块704a、704b和分类模块706a、706b便能被用于图像相似度匹配。
104.例如,在特征提取模块704a、704b包括同一个含随机失活(dropout)的主干网络的情况下,即可使用该经优化的主干网络来进行图像相似度匹配。
105.又如,在特征提取模块704a、704b包括不同的主干网络的情况下,可使用经优化的特征提取模块704a、704b以及采用诸如bagging等基于模型平均策略的技术的表决/投票模块(未示出)来进行图像相似度匹配。
106.图8示出了根据本公开一方面的图像相似度匹配装置800的框图。图8的装置800可例如实现和/或包括以上结合图5的图像相似度匹配装置500的匹配模块506。
107.图8的装置800可包括特征提取模块802、距离度量比较模块806以及相似度判断模块808。
108.根据示例性实施例,特征提取模块802可为如经以上结合图6描述地训练的特征提取模块,例如经以上基于度量学习来训练匹配网络的装置700训练后的特征提取模块704a、704b。
109.应注意,如以上结合图6和图7所描述的,在两路特征提取模块(例如,602a、602b,或704a、704b)包括同一个含随机失活(dropout)的主干网络的情况下,则特征提取模块802即可包括该主干网络。在两路特征提取模块(例如,602a、602b,或704a、704b)包括不同的主干网络的情况下,则特征提取模块802可包括相应的两个(或更多个)主干网络以及附加地包括采用诸如bagging等基于模型平均策略的技术的表决模块804(可任选)。表决模块804可以用于对两个(或更多个)主干网络的输出进行模型平均。
110.根据示例性实施例,特征提取模块802可输出对多个输入x进行嵌入(embedding)并得到特征向量y。随后直接(例如,在包括仅一个含随机失活的主干网络的情况下)或经表决模块804(例如,在包括不止一个主干网络的情况下对其结果进行模型平均)将结果所得的对应的特征向量y提供给距离度量比较模块806。
111.距离度量比较模块806对这多个输入x的特征向量y进行距离度量比较,以确定特征向量之间的距离度量。根据示例性实施例,特征向量的距离度量可包括特征向量的余弦距离。
112.相似度判断模块808可基于距离度量比较模块806所确定的距离度量来找到匹配的输入对。例如,寻找匹配的输入对可基于对应特征向量之间的距离度量小于阈值。又如,
loss之和。
138.根据至少一些示例性实施例,所述回归损失包括mse损失,并且所述分类损失包括kl损失。
139.根据至少一些示例性实施例,所述第一特征提取网络和所述第二特征提取网络包括单个带随机失活的主干网络。
140.根据至少一些示例性实施例,所述特征提取网络进一步包括关联于所述第一特征提取网络的第一预处理模块、和关联于所述第二特征提取网络的第二预处理模块,所述第一预处理模块和所述第二预处理模块分别用于在特征提取之前对所述输入进行不同的对抗训练。
141.图像相似度匹配的设备1200进一步包括用于基于对所述特征向量之间的距离度量的比较,确定每个对象与图标的配对关系的装置1208。
142.根据至少一些示例性实施例,用于对所述特征向量之间的距离度量进行比较的装置可包括用于以下至少一者的装置:将所述距离度量与阈值进行比较;或者确定与所述多个对象中的每一个对象具有最小距离度量的图形。
143.以上所述的仅为本发明的示例性具体实施例。但本发明的保护范围并不局限于此。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
144.结合本公开所描述的各种解说性逻辑块、模块、以及电路可用设计成执行本文描述的功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑器件(pld)、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,dsp与微处理器的组合、多个微处理器、与dsp核心协同的一个或多个微处理器、或任何其他此类配置。
145.结合本公开描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(ram)、只读存储器(rom)、闪存、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom,等等。软件模块可以包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。
146.本文中所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。
147.处理器可执行存储在机器可读介质上的软件。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、dsp处理器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可包括ram(随机存取存储
器)、闪存、rom(只读存储器)、prom(可编程只读存储器)、eprom(可擦式可编程只读存储器)、eeprom(电可擦式可编程只读存储器)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可以包括包装材料。
148.在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理系统外部。作为示例,机器可读介质可包括传输线、由数据调制的载波、和/或与无线节点分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。
149.处理系统可以被配置成通用处理系统,该通用处理系统具有一个或多个提供处理器功能性的微处理器、以及提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路系统链接在一起。替换地,处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口(在接入终端情形中)、支持电路系统、和至少一部分机器可读介质的asic(专用集成电路)来实现,或者用一个或多个fpga(现场可编程门阵列)、pld(可编程逻辑器件)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何更好地实现关于处理系统所描述的功能性。
150.机器可读介质可以包括数个软件模块。这些软件模块包括当由装置(诸如处理器)执行时使处理系统执行各种功能的指令。这些软件模块可以包括传送模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到ram中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。可随后将一个或多个高速缓存行加载到通用寄存器文件中以供处理器执行。在以下述及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。
151.如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或无线技术(诸如红外(ir)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、dsl或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(cd)、激光碟、光碟、数字多用碟(dvd)、软盘、和碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可以包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可以包括瞬态计算机可读介质(例如,信号)。上述的组合应当也被包括在计算机可读介质的范围内。
152.因此,某些方面可以包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可以包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。在某些方面,计算机程序产品可包括包装材料。
153.将理解,权利要求并不被限于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上做出各种改动、更换和变形而不会脱离权利要求的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1