CN111723222A - 图像搜索和训练系统 - Google Patents
图像搜索和训练系统 Download PDFInfo
- Publication number
- CN111723222A CN111723222A CN201911050628.1A CN201911050628A CN111723222A CN 111723222 A CN111723222 A CN 111723222A CN 201911050628 A CN201911050628 A CN 201911050628A CN 111723222 A CN111723222 A CN 111723222A
- Authority
- CN
- China
- Prior art keywords
- image
- negative
- query
- images
- positive
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/53—Querying
-
- 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/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- 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/55—Clustering; Classification
-
- 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/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本文公开了系统、方法和计算机程序产品实施例,其用于提供图像搜索训练系统。实施例通过确定在其上训练图像搜索系统的查询图像以及在视觉上类似于查询图像的积极图像来进行操作。从视觉上不类似于查询图像的多个消极图像中选择一组消极图像,其中所选择的该组消极图像包括第一消极图像和第二消极图像两者。计算第一消极图像和积极图像之间的第一相似度度量,以及第二消极图像和积极图像之间的第二相似度度量。基于第一相似度度量小于第二相似度度量,选择第一消极图像。向图像搜索系统提供查询图像、第二积极图像和第二消极图像以进行训练。
Description
背景技术
通常,图像搜索系统响应于用户查询返回图像。图像搜索系统成功与否的关键在于,系统区分可能具有重叠和/或相似视觉特性的不同图像的能力。为了进行这些区分,可能需要对图像搜索系统进行适当的训练。但是,大多数此类图像搜索系统训练通常会消耗大量的计算周期,需要大量的操作时间,并且可能仍然无法有效地区分包含相似特征的图像。
附图说明
附图被并入本文并且形成说明书的一部分。
图1是示出根据一些实施例的用于提供图像搜索训练系统(ISTS)的示例功能的框图。
图2A示出了根据一些实施例的粗粒度图像和细粒度图像的示例。
图2B示出了根据一些实施例的用于提供图像搜索训练系统的示例。
图3是示出了根据一些实施例的用于提供图像搜索训练系统的系统的示例操作的流程图。
图4是可以用于实现各种实施例的示例计算机系统。
在附图中,类似的附图标记通常指示相同或相似的元件。此外,通常,最左边的参考数字的(多个)数字标识该附图标记首次出现的附图。
具体实施方式
本文提供了系统、设备、装置、方法和/或计算机程序产品实施例,和/或其组合和其子组合,用于提供图像搜索和训练系统训练。
图1是示出根据一些实施例的用于提供图像搜索训练系统(ISTS)102的示例功能的框图100。图像搜索系统(ISS)104可以用于对查询106执行图像搜索。
图像搜索可以包括基于文本的搜索,其中用户输入文本搜索字符串(例如“苹果”),或基于图像的搜索,其中用户提供基于图像的搜索,例如苹果的图片。然后,ISS 104可以返回与查询106相关或相似的结果107(例如一个或多个苹果的图像)。
尽管图像搜索系统104可以高水平地确定两种不同类型的对象之间的差异,例如区分苹果和汽车,但是随着图像变得越来越多、相似或细粒度,搜索系统具有更大的困难,例如区分不同类型的苹果,或区分苹果和李子。当图像在视觉上类似时,这些系统的预测能力通常会降低,并且系统性能和结果107的准确性会降低。
为了在执行日益细粒度化的查询106或图像时保持搜索准确性,需要对图像搜索系统104进行更好的训练。训练ISS 104可以包括向ISS 104提供一组图像,其中具有关于哪些图像相似和/或不相似的指示。
然而,更好的训练通常需要更多的训练图像,这进而又需要更多的计算周期、存储器和计算时间,而这要从训练系统的其它功能取得,并且会延迟实际使用ISS 104执行查询搜索106并产生结果107的生产能力。此外,即使在训练搜索系统上投入了更多的计算资源和时间,也无法保证细粒度搜索的结果107的准确性将得到改善。为了改善结果107的准确性,可能需要改进训练这些搜索系统(例如ISS 104)的实际过程。
ISTS 102通过以下方式改善了训练ISS 104的过程:通过需要较少的计算资源(例如,计算周期、存储器、时间等)来进行训练,且可以改善由ISTS 102训练过的ISS 104产生的结果107的质量,特别是在图像上进行细粒度搜索时。
粗粒度或高级查询106可以是一般或分类的图像搜索。示例的粗粒度搜索可以包括对“苹果”、“花”或“汽车”的搜索。为了为诸如“汽车”的高级查询106提供结果107,ISS104可以简单地区分汽车图像与非汽车图像(其可以包括树木、船、花、水果、人脸等的图像)。
中等粒度搜索或查询106可以包括更多的细节,并且可以使图像搜索系统104在可能属于同一类别的对象之间进行区分。例如,中等粒度搜索可以使ISS 104区分“紧凑型汽车”的图像和“轿车”的图像。进行这样的搜索通常可能需要搜索系统进行更大的处理,并且相对于粗粒度搜索结果产生不太准确或可靠的结果107。例如,由于现在可能需要搜索系统来区分具有重叠特性的不同类型的汽车,重叠特性例如车轮、门、风挡等。
细粒度搜索或查询106可以包括相对于中等粒度搜索或查询106更多的细节,并且可以使ISS 106区分具有重叠特性或可视特征的非常相似的图像。示例细粒度搜索可以使ISS 104需要区分定型(setting)或克拉数稍有不同的两个钻石戒指,或区分1996丰田凯美瑞(Toyota Camry)和1997丰田凯美瑞。尽管图像可能看上去几乎相同,但是仍然存在视觉差异,未充分训练的图像搜索系统无法检测到这些差异。ISTS 102可以用比其它可能需要的更少的训练时间和资源来改善图像搜索系统104进行这种区分的能力。
一些搜索系统可能依赖元数据(例如广泛的标签),这些元数据提供有关图像的细节以便进行图像搜索。但是,这些搜索系统可能会在元数据或标签上进行文本搜索以识别适当的图像或结果,而不是评估图像本身。然而,应用或验证这些元数据或标签的准确性通常是手动的、资源密集的且耗时的过程。这些搜索系统通常会受到此类标签的准确性和细节的限制,因此并不是真正的图像搜索系统-而是在返回图像结果时简单地对元数据采用基于文本的搜索。
ISTS 102可以训练ISS 104对图像进行细粒度的区分,而不需要识别图像的(多个)对象的元数据或标签。在实施例中,如果被搜索的数据库的图像上存在元数据,则由ISTS训练的ISS 104可以依赖标签和其它元数据来进行搜索或验证,但是不要求用于训练ISS 104的图像包括识别图像的对象的元数据。在没有图像元数据的情况下,ISTS 102仍可以训练ISS 104执行查询106,并产生细粒度的有差异的结果107。
ISTS 102可以从图像的数据库或存储库接收选择或者选择查询图像108。查询图像108可以是图像的或对象的训练图像,ISS 104被训练以识别、分类、搜索该图像或对象,或将其与其它图像区分。例如,ISTS 102可以训练ISS 104以识别特定的苹果,在这种情况下,查询图像108可以是特定的苹果的图像。在实施例中,查询图像108可以包括大致被标记为水果和/或苹果的元数据或分类(类别)110。在一实施例中,类别110可以包括关于颜色、类型、成熟度,苹果生长的农场的更多信息,或其它信息。
基于查询图像108,ISTS 102可以从积极图像存储库114中接收积极图像112的选择或选择积极图像112。积极图像112可以是与查询图像108相关、视觉上相似或包含相同分类110的图像。例如,积极图像112可以包括相同苹果或不同苹果的不同图像。
在实施例中,ISTS 102可以从积极图像存储库114中选择积极图像112。积极图像存储库114可以包括在查询图像108中描绘或由查询图像108分类的相同或相似对象的不同图像的选择。积极图像存储库114的图像可以包括与查询图像108相同的类别110。
ISTS 102也可以选择消极图像116。消极图像116可以包括与查询图像108不同的任何图像(例如,包括相对于查询图像108的分类110不同的分类118)。消极图像116可以从消极图像存储库120中选择。
在实施例中,查询图像108、积极图像112和消极图像116可以组装或组合成三元组122。为了训练目的,ISTS 102可以为ISS 104提供一个或多个三元组122。从三元组122,ISS104可以具有根、芯或基础查询图像108,且可以标识查询图像108和积极图像112之间的相似度,以及查询图像108和消极图像116之间的差异。相对于苹果查询图像108,示例积极图像112可以包括其它苹果,而ISTS 102选择的消极图像116的示例可以包括其它水果(例如李子或菠萝)、苹果树、形状类似于苹果的其它对象,例如棒球,或与苹果颜色相同的其它对象,例如红宝石。
类别110、118可以包括元数据,其标识特定图像108、112、116的对象或主要对象的元数据。然而,在另一实施例中,类别110、118可以是二元旗标,其指示与查询图像108的相似度或差异,或者可以指示图像112、116是否来自积极图像存储库114或NIR 120。
例如,查询图像108可以不包括类别110,或可以包括“1”的二元类别。然后,例如,积极图像112的类别110可以是设定为“1”的二元旗标,指示其是与查询图像108相同的类别或相似的图像,或可以包括与查询图像108的类别110相同的值。消极图像116的类别118然后可以设定为与查询图像108的类别110不同的值,或可以是设定为“0”的二元旗标以指示它是伪的(false),或与查询图像108不相同或相似。
在实施例中,ISTS 102可以训练ISS 104的神经网络和机器学习技术。例如,基于三元组122,ISS 104可以学习积极图像112的哪些视觉特性与查询图像108相似和/或不同,以及消极图像116的哪些视觉特性与查询图像108不同和/或相似。
提供为ISS 104的每个三元组122可以导致另一轮学习或精炼,这可能需要更多的计算资源,但是其也可以改善ISS 104将查询图像108或类似的图像标识为结果107的预测能力。由此,目标是将ISS 104训练到最大的预测能力,并且在用不同的三元组122进行训练时消耗的计算周期最少。
在实施例中,诸如ISS 104的神经网络可以学习或训练以最小化图像相似度损失函数(例如,提高其预测能力)。例如,三元组122可以设置为具有图像108、112和116的对象之间的相对相似度。查询图像108可以是基础对象,积极图像112可以是类似的对象,将其归类、分组或分类为查询图像108的搜索的有效结果107。且消极图像116可以是不同或不相似的对象(相对于积极图像112),将其归类、分组或分类为从查询图像108的搜索的结果107排除。
在实施例中,ISS 104的目的可以是学习函数F,使得对于对象122的任何新的三元组(q,q+,q-),F(q,q+)>F(q,q-)。结果应该是:函数返回的q+的值比函数返回的q-的值更相似。差距越大,ISS 104的预测能力就可以越大。在实施例中,函数F的输出可以是0到1之间的值,其中接近0的值可以指示不相似的图像,而接近1的值指示图像相似度。
在实施例中,可以在铰链损失(hinge loss)上训练ISS 104,铰链损失可以是用于训练分类器的函数,尤其是用于最大边距(maximum-margin)分类。响应于接收到三元组122(q,q+,q-),ISS 104可以输出对应的特征向量126(f,f+,f-)。三元组122(q,q+,q-)的铰链损失函数可以是L(f,f+,f-)=max{0,m+D(f,f+)-D(f,f-)}。D可以是确定三元组122的指示的图像之间的欧几里得距离或余弦相似度的距离函数,而m可以是用于施加边距的超参数。
一旦ISS 104的预测能力达到特定的预测阈值,就可以停止训练,并且可以将ISS104投入生产以处理查询106并产生结果107。然后可以释放用于训练ISS 104的资源,并将其用于其它应用程序或任务,包括训练另一个图像搜索系统,或在不同的查询图像108或类别110上训练ISS 104。
在实施例中,ISTS 102可以从消极图像存储库(NIR)120中策略性地选择消极图像116,以加速对ISS 104的训练,这可以在训练ISS 104中消耗更少的资源并产生更好的结果107。由此,ISTS 102可以通过更高效地组装三元组122来使用更少的计算资源并缩短训练时间。这还可以增加处理查询106时ISS 104的生产时间和吞吐量,并且尤其在细粒度查询或结果方面改善结果107的质量。
NIR 120可以包含成百、上千或数百万个不同类型的图像,其中每个图像可以在先前已经被确定为与查询图像108不相似(例如,具有不同的类别118)。在实施例中,NIR 120可以包括跨不同对象类型类别或分类的图像,或者可以被预先分组为与查询图像108不类似。例如,查询图像108可以是苹果的图像。在跨类别的示例中,NIR 120可以包含建筑物、船、水果(除苹果以外,或包括与查询图像108的苹果不同的苹果)、人物、徽标等的图像。在实施例中,查询图像108可以包括成熟的红苹果,并且NIR 120可以包括青苹果、烂红苹果、苹果种子或野苹果(crab apple)。
在实施例中,ISTS 102可以计算来自NIR 120的图像或图像类别与查询图像108或积极图像112之间的相似度度量124。ISTS 102可以通过将NIR 102的图像的视觉特性或属性与积极图像112的视觉特性或属性进行比较来计算相似度度量124。示例视觉特性可以包括颜色、大小、阴影、线条、轮廓、尺寸、形状等。相似度度量124可以指示两个对象或图像的相似程度。
基于相似度度量分类图像,并且然后选择图像中的一个作为消极图像116,而不是在图像上计算相似度度量——这是消耗大量计算资源的过程,尤其是随着NIR 120的图像的数量的增加--ISTS 102策略性地选择NIR 120的子集图像以计算相似度度量124–无论NIR 120中的图像的大小或数量如何。然后,基于相似度度量124,ISTS 102可以从NIR 120中选择最相似的图像作为三元组122的消极图像116。
这种策略性方法减少了从NIR 120中选择消极图像116所需的计算周期,因为ISTS102并未在NIR 120的所有图像上计算相似度度量,这可能会消耗大量的计算周期、存储器、时间、带宽和其它资源。然后,ISTS 102也不基于所计算的相似度度量对图像进行分类,这会以其它方式消耗更多的计算资源。
在实施例中,ISTS 102可以随机选择NIR 120的图像的子集。例如,NIR 120可以包含数百万个图像,而ISTS 102可以基于随机选择或多样性策略(其中不同分类或类别的图像可以至少选择一次)来随机选择5张图像(分别表示为I1、I2、I3、I4和I5)。然后,ISTS 102可以在所选择的五个图像中的每个图像上计算相似度度量124。在其它实施例中,可以从NIR 120数据库中选择不同数量的图像(除了5张以外)。然后,ISTS 102可以选择具有最高相似度度量124的图像(I1-I5)作为消极图像116。
选择具有最高相似度度量124的图像可以使ISTS 102更快地训练ISS 104,因为它使用了最相似的图像(作为消极图像116),这迫使ISS 104的机器学习技术可以更快地进行学习。例如,ISTS 102可能会使用李子的图像(其在视觉上与苹果更相似,并且可能包含较高的相似度度量124),而不是使用可能被其它系统从水果中随机选择为消极图像的香蕉的图像。
如上所述,ISS 104可能需要训练的多次迭代(例如,使用三元组122的不同组),以满足用于标识查询图像108的预测阈值。由此,ISTS 102可以重复该过程,直到满足阈值为止。
在实施例中,各个选择的图像I1-I5可以各自包括分类(c1、c2、c3、c4、c5)。分类可以指示NIR 120内的图像的对象类型或类别,例如,如果I2是李子的图像,则C2可以指示李子。并且如果李子I2的图像比其它图像I1、I3、I4和I5更相似,则在实施例中,李子的其它图像(由C2确定)也可以用作消极图像116以继续训练ISS 104。
在另一个实施例中,在选择第二消极图像116以产生第二三元组122时,最高评分的图像类别C2可以被保持,并且可以从NIR 120中选择四个新类别的图像以进行第二次或后续的迭代。ISTS 102可以在来自C2的新选择的图像的所选图像和四个新类别的图像(相对于积极图像112,其可以相同或不同)上计算相似度度量124。然后,可以再次将具有最高相似度度量124的图像用作消极图像116。这可以有助于进一步加快训练过程。
在实施例中,一旦预测能力或相似度损失随着附加的迭代而停止改善,或者已经满足训练迭代的次数,则可以结束训练并且可以将ISS 104投入生产以接收查询106并生成结果107。然后,例如基于生产期间的用户反馈,ISS 104可以继续改善其预测能力。
图2A示出了根据一些实施例的粗粒度图像205和细粒度图像210的示例。可以看出,粗粒度图像可以包括不同类型的对象(例如,毛绒动物/泰迪熊、沙发、杯子和钻石戒指)。细粒度图像210可以包括相同分类或类型的对象的图像(例如,不同类型的钻石戒指)。
在实施例中,如果查询图像108是翡翠戒指,并且NIR 120包括所选择的图示的粗粒度图像205,则ISTS 102可以选择钻石戒指作为消极图像116,针对该消极图像116来训练ISS 104。
图2B示出了根据一些实施例的用于提供图像搜索训练系统的示例。在所示的示例中,示出了要包含在三元组122中的来自NIR 120的两个可能图像之间的选择。例如,可以从NIR 120的候选消极图像的库中选择水晶雪人和钱包的图像。
对于每个候选者,可以在q和q-之间或者q+和q-之间计算距离度量D。在所示的示例中,所选的水晶天鹅q+与雪人之间的距离D计算为0.3,而水晶天鹅q+与钱包之间的距离计算为0.9。
在另一实施例中,可以在查询图像108和候选消极图像D(q,q-)之间以及积极图像112和候选消极图像D(q,q+)之间计算距离度量D。然后,例如,基于各种距离度量,其中一个候选消极图像可被选择为消极图像116。在各种实施例中,可以基于计算距离度量的(加权或非加权)平均值来选择消极图像116,以获得不同候选者的平均距离。然后可以将各种平均值进行比较以选择消极图像116。
或者,例如,可以选择具有最短距离(至q或q+)的候选消极图像。如果多个图像具有相同的距离,则其它距离可以用作决胜局(tie breaker)。在实施例中,距离D(q)可以优于D(q+)作为主要距离,且D(q+)可以是决胜局距离,反之亦然。在其它实施例中,D(q)和D(q+)的其它组合可以用于从两个或更多个候选消极图像中选择消极图像116。
由此,ISTS 102可以选择具有较小计算距离的雪人作为三元组122的消极图像116。然后可以将该三元组122提供给ISS 104。在实施例中,可以在随后的三元组122中提供钱包。并且一旦将来自NIR 120的最初选择的消极图像的全部或子集用于训练,就可以从NIR 120中选择一组新的图像(例如,如图1所示的I1-I5可以从NIR 120中选择)。选择具有较小或最小距离D的对象或图像可以更快地训练ISS 104的神经网络,使其能够区分相似或更细粒度的对象或图像。
图3是示出了根据一些实施例的用于提供图像搜索训练系统的系统的示例操作的流程图300。方法300可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上执行的指令)或其组合。应当理解,可能不需要所有步骤来执行本文提供的公开内容。此外,如本领域普通技术人员将理解的,一些步骤可以同时执行,或者以与图3所示顺序不同的顺序执行。方法300将参考图1进行描述。然而,方法300不限于示例实施例。
在310中,确定查询图像,在该查询图像上训练图像搜索系统。例如,用户可以从要在其上训练ISS 104的图像的目录中选择查询108。在示例中,ISS 104可以是专门的图像搜索系统,其被训练以区分不同类型的汽车、机动车辆、面部、珠宝、或者任何其它产品或产品目录。
在320中,确定视觉上类似于查询图像的积极图像。例如,ISTS 102可以选择或接收来自积极图像存储库114的图像的选择。积极图像存储库114可以包括(通过用户或其它系统)已经被确定为视觉上类似于查询图像108的一个或多个图像的目录或索引。在实施例中,可以根据视觉相似度对积极图像存储库114的图像进行排名,并且可以首先选择视觉上最相似的图像。在另一实施例中,ISTS 102可以从积极图像存储库114中随机选择图像以用于三元组122中。
在330中,从视觉上不类似于查询图像的多个消极图像中选择一组消极图像,其中所选择的该组消极图像包括第一消极图像和第二消极图像。例如,ISTS 102可以从NIR 120选择一组图像(I1-I5)。在实施例中,可以随机地执行第一组图像的选择。NIR 120的图像可以先前已被分组、分类或归类为与查询图像108不同。
在340中,计算第一消极图像和积极图像之间的第一相似度度量,以及第二消极图像和积极图像之间的第二相似度度量。例如,ISTS 102可以计算所选的图像I1-I5中的每一个与所选的积极图像112之间的相似度度量。在其它实施例中,可以选择来自NIR 120的不同数量的图像,可以为其计算相似度度量124。
在350中,基于第一相似度度量小于第二相似度度量,选择第一消极图像。例如,ISTS 102可以对图像I1-I5进行排序,并选择具有最高相似度度量124的图像。在实施例中,相似度度量124可以是如图2B所示的距离度量。例如,水晶天鹅和雪人之间的距离可以为0.3,而水晶天鹅和钱包之间的距离可以为0.9。由此,可以选择具有较小距离(即,更大的相似度度量124)的对象或图像作为三元组的消极图像116。
在360中,向图像搜索系统提供查询图像、积极图像和第一消极图像以进行训练,其中图像搜索系统配置为将积极图像处理为类似于查询图像且将第一消极图像处理为不类似于查询图像。例如,ISTS 102可以将查询图像108、积极图像112和消极图像116组装成三元组122。
ISS 104可以是神经网络,其配置为应用机器学习以开发规则来标识或区分三元组122形式的不同图像。在实施例中,在训练期间,ISS 104可以输出特征向量126。
根据特征向量126,ISTS 102可以计算f和f+之间以及f和f-之间的距离。距离的范围为0-1之间。在实施例中,接近0的值可以对应于最相似的特征(或最小的视觉差异),而接近1的值可以对应于最不相似的特征(或最大的视觉差异)。在实施例中,基于这些距离,ISTS 102可以确定是否选择或生成用于训练ISS 104的新的三元组122。
例如,如果f和f+之间的距离为0.5,其可能是太大的距离,则可以为ISS 104提供另一个三元组122。如果在几次迭代之后,f与f+之间的距离以及f与f-之间的距离保持相同或在一范围内,则ISTS 102可以确定训练完成并且ISS 104可以进入生产模式。
在生产模式期间,ISS 104可以使用训练来接收和处理细粒度图像查询106并产生结果107。例如,ISS 104可以访问图像数据库,其包括可通过其它网络或互联网获得的图像,并且可以返回与基于图像的查询106相对应的图像的结果集合107。
例如,可以使用一个或多个公知的计算机系统,例如图4所示的计算机系统400,来实现各种实施例。例如,可以使用一个或多个计算机系统400来实现本文所讨论的任何实施例及其组合和子组合。
计算机系统400可以包括一个或多个处理器(也称为中央处理单元,或CPU),例如处理器404。处理器404可以连接到通信基础设施或总线406。
计算机系统400还可包括客户输入/输出装置403,例如监视器、键盘、指点装置等,其可通过客户输入/输出接口402与通信基础设施406通信。
处理器404中的一个或多个可以是图形处理单元(GPU)。在实施例中,GPU可以是处理器,其是被设计为处理数学上密集的应用的专用电子电路。GPU可具有并行结构,其可高效地并行处理大数据块,例如对于计算机图形应用程序、图像、视频等常见的数学密集型数据。
计算机系统400还可以包括主存储器或初级存储器408,例如随机存取存储器(RAM)。主存储器408可包括一级或多级高速缓存。主存储器408可以在其中存储控制逻辑(即,计算机软件)和/或数据。
计算机系统400还可包括一个或多个次级存储装置或存储器410。次级存储器410可以包括例如硬盘驱动器412和/或可拆卸存储装置或驱动器414。可拆卸存储驱动器414可以是软盘驱动器、磁带驱动器、光盘驱动器、光存储装置、磁带备份装置和/或任何其它存储装置/驱动器。
可拆卸存储驱动器414可以与可拆卸存储单元418交互。可拆卸存储单元418可以包括其上存储有计算机软件(控制逻辑)和/或数据的计算机可用或可读存储装置。可拆卸存储单元418可以是软盘、磁带、光盘、DVD、光存储盘和/或任何其它计算机数据存储装置。可拆卸存储驱动器414可以从可拆卸存储单元418读取和/或向其写入。
次级存储器410可以包括用于允许计算机程序和/或其它指令和/或数据被计算机系统400访问的其它装置、设备、组件,仪器或其它方式。这样的装置、设备、组件、仪器或其它方式可以包括例如可拆卸存储单元422和接口420。可拆卸存储单元422和接口420的示例可以包括:程序盒带和盒带接口(例如在视频游戏装置中使用的接口)、可拆卸存储芯片(例如EPROM或PROM)和相关的插槽、存储棒和USB端口、存储卡和相关的存储卡插槽、和/或任何其它可拆卸存储单元和相关的接口。
计算机系统400还可以包括通信或网络接口424。通信接口424可以使计算机系统400能够与外部装置、外部网络、外部实体等的任何组合进行通信和交互。(分别和共同由附图标记428指示)。例如,通信接口424可以允许计算机系统400通过通信路径426与外部或远程装置428通信,该通信路径可以是有线和/或无线的(或其组合),并且可以包括LAN、WAN、互联网等的任何组合。可以经由通信路径426将控制逻辑和/或数据发送到计算机系统400和从计算机系统400发送。
计算机系统400也可以是以下中的任何一个:个人数字助理(PDA)、台式工作站、便携式计算机或笔记本计算机、上网本、平板计算机、智能电话、智能手表或其它可穿戴设备、家用电器、物联网的一部分,和/或嵌入式系统,仅举几个非限制性示例,或其任意组合。
计算机系统400可以是客户端或服务器,可以通过任何交付方式访问或托管任何应用程序和/或数据,包括但不限于远程或分布式云计算解决方案;本地或当地(on-premises)软件(基于云的“当地”解决方案);“即服务”模型(例如,内容即服务(CaaS),数字内容即服务(DCaaS),软件即服务(SaaS),托管软件即服务(MSaaS),平台即服务(PaaS),桌面即服务(DaaS),框架即服务(FaaS),后端即服务(BaaS),移动后端即服务(MBaaS),基础设施即服务(IaaS),等等);和/或混合模型,包括上述示例或其它服务或交付方式的任意组合。
计算机系统400中的任何适用的数据结构、文件格式和模式可以源自以下标准,包括但不限于:JavaScript对象符号(JSON),可扩展标记语言(XML),另一种标记语言(YAML),可扩展超文本标记语言的标准中(XHTML),无线标记语言(WML),MessagePack,XML用户界面语言(XUL)或任何其它功能相似的表示形式,单独或组合使用。替代地,可以专有地或与已知或开放的标准结合使用专有数据结构、格式或模式。
在一些实施例中,包括存储在其上的控制逻辑(软件)的有形、非暂时性计算机可用或可读介质的有形、非暂时性设备或制品在本文中也可以称为计算机程序产品或程序存储装置。这包括但不限于计算机系统400、主存储器408、次级存储器410、可拆卸存储单元418和422,以及体现上述任意组合的有形制品。当由一个或多个数据处理装置(例如计算机系统400)执行时,这样的控制逻辑可以使这样的数据处理装置按本文所述进行操作。
基于本公开中包含的教导,对于相关领域的技术人员而言显而易见的是,如何使用除图4中所示之外的数据处理装置、计算机系统和/或计算机架构来制造和使用本公开的实施例。特别地,除了本文描述的实施方式之外,实施例还可以与软件、硬件和/或操作系统实施方式一起操作。
应当理解,“具体实施方式”部分而不是其它任何部分旨在用于解释权利要求。其它部分可以阐述发明人所设想的一个或多个但不是全部示例性实施例,因此,无意以任何方式限制本公开或所附的权利要求。
尽管本公开描述了示例性领域和应用的示例性实施例,但是应当理解,本公开不限于此。其它实施例及其修改是可能的,并且在本公开的范围和精神内。例如,并且在不限制本段落的一般性的情况下,实施例不限于本文描述的附图和/或所示的软件、硬件、固件和/或实体。此外,实施例(无论是否在本文明确描述)对于本文所描述的示例以外的领域和应用都具有显著的实用性。
本文已经借助于示出特定功能及其关系的实施方式的功能构建块描述了实施例。为了描述的方便,本文已经任意定义了这些功能构建块的边界。只要适当地执行了指定的功能和关系(或其等同物),可以定义替代边界。另外,替代实施例可以使用与本文所述顺序不同的顺序执行功能块、步骤、操作、方法等。
本文中对“一个实施例”、“实施例”、“示例实施例”或类似短语的引用表示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例都不一定包括特定的特征、结构或特性。此外,这些短语不一定指相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,无论是否在本文明确提及或描述,将这种特征、结构或特性结合到其它实施例中都将在相关领域技术人员的知识范围内。另外,可以使用表述“耦接”和“连接”及其派生词来描述一些实施例。这些术语不一定是彼此的同义词。例如,可以使用术语“连接”和/或“耦接”来描述一些实施例,以表示两个或更多个元件彼此直接物理或电接触。但是,术语“耦接”也可以表示两个或多个元素彼此不直接接触,但仍然彼此协作或交互。
本公开的广度和范围不应由任何上述示例性实施例限制,而应仅根据所附权利要求及其等同物来限定。
Claims (20)
1.一种计算机实现的方法,包括:
确定查询图像,在所述查询图像上训练图像搜索系统;
确定视觉上类似于所述查询图像的积极图像;
从视觉上不类似于所述查询图像的多个消极图像中选择一组消极图像,所选择的该组消极图像包括第一消极图像和第二消极图像两者;
计算所述第一消极图像和所述积极图像之间的第一相似度度量,以及所述第二消极图像和所述积极图像之间的第二相似度度量;
基于所述第一相似度度量小于所述第二相似度度量,选择所述第一消极图像;以及
向所述图像搜索系统提供所述查询图像、所述积极图像和所述第一消极图像以用于训练,其中所述图像搜索系统配置为将所述积极图像处理为类似于所述查询图像且将所述第一消极图像处理为不类似于所述查询图像。
2.如权利要求1所述的方法,其中所述图像搜索系统是配置为实现机器学习的神经网络。
3.如权利要求1所述的方法,其中选择该组消极图像包括在确定所述第一相似度度量之前从所述多个消极图像中随机选择该组消极图像。
4.如权利要求1所述的方法,还包括:
确定从所述图像搜索系统输出的特征向量;以及
基于所述特征向量,确定所述第一消极图像和所述查询图像之间的第一距离,以及所述积极图像和所述查询图像之间的第二距离。
5.如权利要求4所述的方法,还包括:
基于所述第一距离和所述第二距离计算损失度量;以及
基于所述损失度量,确定是否从所述多个消极图像中选择第二组消极图像。
6.如权利要求5所述的方法,还包括:
确定第二积极图像;以及
向所述图像搜索系统提供所述查询图像、所述第二积极图像和所述第二消极图像以用于训练。
7.如权利要求1所述的方法,其中所述计算排除所述多个消极图像中的没有计算相似度度量的一个或多个消极图像。
8.如权利要求1所述的方法,还包括:
确定所述积极图像的分类对应于所述查询图像的分类;以及
确定该组消极图像的分类不对应于所述查询图像的分类。
9.如权利要求1所述的方法,其中该组消极图像相对于所述积极图像和所述查询图像之间的视觉相似度在视觉上不类似于所述查询图像。
10.一种系统,包括:
存储器;以及
至少一个处理器,耦接到所述存储器且配置为:
确定查询图像,在所述查询图像上训练图像搜索系统;
确定视觉上类似于所述查询图像的积极图像;
从视觉上不类似于所述查询图像的多个消极图像中选择一组消极图像,所选择的该组消极图像包括第一消极图像和第二消极图像两者;
计算所述第一消极图像和所述积极图像之间的第一相似度度量,以及所述第二消极图像和所述积极图像之间的第二相似度度量;
基于所述第一相似度度量小于所述第二相似度度量,选择所述第一消极图像;以及
向所述图像搜索系统提供所述查询图像、所述积极图像和所述第一消极图像以用于训练,其中所述图像搜索系统配置为将所述积极图像处理为类似于所述查询图像且将所述第一消极图像处理为不类似于所述查询图像。
11.如权利要求10所述的系统,其中所述图像搜索系统是配置为实现机器学习的神经网络。
12.如权利要求10所述的系统,其中选择该组消极图像的所述至少一个处理器配置为在确定所述第一相似度度量之前从所述多个消极图像中随机选择该组消极图像。
13.如权利要求10所述的系统,其中所述至少一个处理器还配置为:
确定从所述图像搜索系统输出的特征向量;以及
基于所述特征向量,确定所述第一消极图像和所述查询图像之间的第一距离,以及所述积极图像和所述查询图像之间的第二距离。
14.如权利要求13所述的系统,其中所述至少一个处理器还配置为:
基于所述第一距离和所述第二距离计算损失度量;以及
基于所述损失度量,确定是否从所述多个消极图像中选择第二组消极图像。
15.如权利要求14所述的系统,其中所述至少一个处理器还配置为:
确定第二积极图像;以及
向所述图像搜索系统提供所述查询图像、所述第二积极图像和所述第二消极图像以用于训练。
16.如权利要求10所述的系统,其中进行计算的所述至少一个处理器配置为排除所述多个消极图像中的没有计算相似度度量的一个或多个消极图像。
17.如权利要求10所述的系统,其中所述至少一个处理器还配置为:
确定所述积极图像的分类对应于所述查询图像的分类;以及
确定该组消极图像的分类不对应于所述查询图像的分类。
18.如权利要求13所述的系统,其中该组消极图像相对于所述积极图像和所述查询图像之间的视觉相似度在视觉上不类似于所述查询图像。
19.一种非暂时性计算机可读装置,具有存储在其上的指令,当由至少一个计算装置执行所述指令时使得所述至少一个计算装置执行以下操作,包括:
确定查询图像,在所述查询图像上训练图像搜索系统;
确定视觉上类似于所述查询图像的积极图像;
从视觉上不类似于所述查询图像的多个消极图像中选择一组消极图像,所选择的该组消极图像包括第一消极图像和第二消极图像两者;
计算所述第一消极图像和所述积极图像之间的第一相似度度量,以及所述第二消极图像和所述积极图像之间的第二相似度度量;
基于所述第一相似度度量小于所述第二相似度度量,选择所述第一消极图像;以及
向所述图像搜索系统提供所述查询图像、所述积极图像和所述第一消极图像以用于训练,其中所述图像搜索系统配置为将所述积极图像处理为类似于所述查询图像且将所述第一消极图像处理为不类似于所述查询图像。
20.如权利要求19所述的装置,其中所述图像搜索系统是配置为实现机器学习的神经网络。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/357,720 | 2019-03-19 | ||
US16/357,720 US10885385B2 (en) | 2019-03-19 | 2019-03-19 | Image search and training system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111723222A true CN111723222A (zh) | 2020-09-29 |
Family
ID=68382151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911050628.1A Pending CN111723222A (zh) | 2019-03-19 | 2019-10-31 | 图像搜索和训练系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10885385B2 (zh) |
EP (1) | EP3712818A1 (zh) |
CN (1) | CN111723222A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11386144B2 (en) * | 2019-09-09 | 2022-07-12 | Adobe Inc. | Identifying digital attributes from multiple attribute groups within target digital images utilizing a deep cognitive attribution neural network |
US11100145B2 (en) * | 2019-09-11 | 2021-08-24 | International Business Machines Corporation | Dialog-based image retrieval with contextual information |
CN113297411B (zh) * | 2021-07-26 | 2021-11-09 | 深圳市信润富联数字科技有限公司 | 轮形图谱相似性的度量方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326874A (zh) * | 2016-08-30 | 2017-01-11 | 天津中科智能识别产业技术研究院有限公司 | 一种人眼图像中的虹膜识别方法及其装置 |
CN106537379A (zh) * | 2014-06-20 | 2017-03-22 | 谷歌公司 | 细粒度图像相似性 |
CN108009528A (zh) * | 2017-12-26 | 2018-05-08 | 广州广电运通金融电子股份有限公司 | 基于Triplet Loss的人脸认证方法、装置、计算机设备和存储介质 |
CN108596010A (zh) * | 2017-12-31 | 2018-09-28 | 厦门大学 | 行人重识别系统的实现方法 |
CN108710904A (zh) * | 2018-05-10 | 2018-10-26 | 上海交通大学 | 基于递归神经网络的图像匹配方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8131786B1 (en) * | 2009-11-23 | 2012-03-06 | Google Inc. | Training scoring models optimized for highly-ranked results |
EP3796235B1 (en) * | 2014-12-17 | 2024-09-04 | Google LLC | Generating numeric embeddings of images |
US10043109B1 (en) | 2017-01-23 | 2018-08-07 | A9.Com, Inc. | Attribute similarity-based search |
US10592732B1 (en) * | 2017-12-14 | 2020-03-17 | Perceive Corporation | Probabilistic loss function for training network with triplets |
US10628708B2 (en) * | 2018-05-18 | 2020-04-21 | Adobe Inc. | Utilizing a deep neural network-based model to identify visually similar digital images based on user-selected visual attributes |
US10878297B2 (en) * | 2018-08-29 | 2020-12-29 | International Business Machines Corporation | System and method for a visual recognition and/or detection of a potentially unbounded set of categories with limited examples per category and restricted query scope |
US11138469B2 (en) * | 2019-01-15 | 2021-10-05 | Naver Corporation | Training and using a convolutional neural network for person re-identification |
-
2019
- 2019-03-19 US US16/357,720 patent/US10885385B2/en active Active
- 2019-10-25 EP EP19205340.3A patent/EP3712818A1/en not_active Ceased
- 2019-10-31 CN CN201911050628.1A patent/CN111723222A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106537379A (zh) * | 2014-06-20 | 2017-03-22 | 谷歌公司 | 细粒度图像相似性 |
CN106326874A (zh) * | 2016-08-30 | 2017-01-11 | 天津中科智能识别产业技术研究院有限公司 | 一种人眼图像中的虹膜识别方法及其装置 |
CN108009528A (zh) * | 2017-12-26 | 2018-05-08 | 广州广电运通金融电子股份有限公司 | 基于Triplet Loss的人脸认证方法、装置、计算机设备和存储介质 |
CN108596010A (zh) * | 2017-12-31 | 2018-09-28 | 厦门大学 | 行人重识别系统的实现方法 |
CN108710904A (zh) * | 2018-05-10 | 2018-10-26 | 上海交通大学 | 基于递归神经网络的图像匹配方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US10885385B2 (en) | 2021-01-05 |
US20200302229A1 (en) | 2020-09-24 |
EP3712818A1 (en) | 2020-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10878550B2 (en) | Utilizing deep learning to rate attributes of digital images | |
US20230368505A1 (en) | Model training method, image retrieval method, and apparatus | |
CN109165249B (zh) | 数据处理模型构建方法、装置、服务器和用户端 | |
TWI677852B (zh) | 一種圖像特徵獲取方法及裝置、電子設備、電腦可讀存儲介質 | |
CN108073902B (zh) | 基于深度学习的视频总结方法、装置及终端设备 | |
US20220318275A1 (en) | Search method, electronic device and storage medium | |
CN110046634B (zh) | 聚类结果的解释方法和装置 | |
CN111723222A (zh) | 图像搜索和训练系统 | |
US11995550B2 (en) | Systems and methods for generating datasets for model retraining | |
CN112231592B (zh) | 基于图的网络社团发现方法、装置、设备以及存储介质 | |
CN107545038B (zh) | 一种文本分类方法与设备 | |
CN110598869B (zh) | 基于序列模型的分类方法、装置、电子设备 | |
CN108959474A (zh) | 实体关系提取方法 | |
US20220147758A1 (en) | Computer-readable recording medium storing inference program and method of inferring | |
CN112395487A (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
CN111325237A (zh) | 一种基于注意力交互机制的图像识别方法 | |
CN114547307A (zh) | 文本向量模型训练方法、文本匹配方法、装置及设备 | |
CN113934851A (zh) | 用于文本分类的数据增强方法、装置及电子设备 | |
Biswas et al. | ECKM: An improved K-means clustering based on computational geometry | |
TW202022641A (zh) | 嵌入結果的解釋方法和裝置 | |
CN114841471B (zh) | 知识点预测方法、装置、电子设备和存储介质 | |
CN114898184A (zh) | 模型训练方法、数据处理方法、装置及电子设备 | |
CN116150428B (zh) | 视频标签获取方法、装置、电子设备及存储介质 | |
CN114861997B (zh) | 一种生产工艺指标分析方法、系统、设备和介质 | |
CN113515867A (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 |