CN110019912A - 基于形状的图形搜索 - Google Patents
基于形状的图形搜索 Download PDFInfo
- Publication number
- CN110019912A CN110019912A CN201810353197.5A CN201810353197A CN110019912A CN 110019912 A CN110019912 A CN 110019912A CN 201810353197 A CN201810353197 A CN 201810353197A CN 110019912 A CN110019912 A CN 110019912A
- Authority
- CN
- China
- Prior art keywords
- drawing object
- sampled point
- shape description
- description symbols
- profile
- 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 claims abstract description 51
- 238000004458 analytical method Methods 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 80
- 238000005070 sampling Methods 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 4
- 235000013399 edible fruits Nutrition 0.000 claims description 2
- 238000000605 extraction Methods 0.000 claims 1
- 230000002776 aggregation Effects 0.000 description 8
- 238000004220 aggregation Methods 0.000 description 8
- 230000000712 assembly Effects 0.000 description 8
- 238000000429 assembly Methods 0.000 description 8
- 238000007796 conventional method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 241000251468 Actinopterygii Species 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 241000283973 Oryctolagus cuniculus Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000035479 physiological effects, processes and functions Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
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/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/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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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/54—Browsing; Visualisation therefor
-
- 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
- G06F16/5838—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
-
- 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
- G06F16/5854—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/457—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
-
- 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/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- 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/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
-
- 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/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/752—Contour matching
Abstract
描述了基于形状的图形搜索的方法。分析图形对象集合中的每个图形对象。分析包括从形成图形对象的图形数据确定图形对象的轮廓。对图形对象的轮廓进行采样,以得到捕获图形对象的轮廓的采样点。确定图形对象的形状描述符,其捕获采样点的局部和全局几何图形特性。基于用户标识的图形对象的形状描述符与该图形对象集合中的至少一个图形对象的形状描述符之间的比较来确定搜索查询的搜索结果。可以在与搜索查询相关联的用户设备上呈现搜索结果中的至少一个。
Description
背景技术
基于示例的图像搜索技术允许用户提供示例图像并接收包括视觉上相似的图像的搜索结果。在一些传统方法中,大量光栅图像被使用神经网络根据特定图像是描绘特定类型的对象还是显示特定特征而被标记。搜索结果可以基于图像标记与示例图像标记的相似程度来确定。这种方法可以适用于查找包含相似主题的图像。然而,用户可能对包含与示例图像相似形状的搜索结果感兴趣。
传统的基于形状的图像搜索通过利用阴影和像素颜色针对照片和其他详细图形而被优化。然而,许多向量图形和一些光栅图形(例如勾画)缺少细节,这可能导致搜索结果不准确。例如,这些图形可能缺乏内部细节,并且通过使用传统方法不能很好地捕获的整体印迹而被强烈地表征。定向梯度直方图是用于捕获图像中的形状的传统方法的示例,该方法更适合于详细图像。图像的所有像素被分成单元网格,并且从其像素为每个单元创建梯度方向的直方图。这些梯度方向可能不足以为较不详细的图形产生准确的基于形状的搜索结果。
发明内容
本公开的方面提供对计算机的用于标识和比较图形对象的形状的能力的改进,以产生更准确的图形搜索结果。具体而言,本公开提供了图形对象的形状描述符,其形成对象的总体印迹的详细表示,从而允许更准确的基于形状的图形搜索。
在各种实现中,图形对象的形状描述符被确定并被存储在数据存储库中。用户可以为搜索查询提供示例图形对象(例如,通过绘制向量勾画),并且可以将示例对象的形状描述符与存储的形状描述符进行比较,以确定用于搜索结果的相似形状的图形对象。图形对象的形状描述符可以通过确定图形对象的轮廓(例如,连接的贝塞尔曲线集合)来确定。轮廓被采样以生成捕获轮廓的采样点。对于每个采样点,可以确定采样点的局部和全局几何图形特性。如本文所使用的,图形对象的采样点的局部和全局几何图形特性是指表示采样点相对于图形对象的其他采样点之间的几何图形关系(例如,通过参考其他采样点到采样点的位置几何图形)的一个或多个值。每个采样点的局部和全局几何图形特性可以存储在相应的特征向量中。采样点的特征向量可以组合成一个或多个聚合特征向量,该一个或多个聚合特征向量形成形状描述符。
在一些情况下,根据图形对象是描绘特定类型的对象还是示出特定特征(例如,使用机器学习和/或手动标记),可以使用任意合适的方法来标记图形对象。在确定搜索结果时,可以通过分析其形状描述符来确定具有与示例对象相似形状的图形对象。基于共享与确定的图形对象相似或相同的标记,其他图形对象可以被包括在搜索结果中。使用这种方法,不需要为这些其他图形对象中的至少一些确定和/或分析形状描述符,从而减少了生成搜索结果的处理要求。
附图说明
以下参考附图详细描述本发明,在附图中:
图1是示出了根据本公开的实施例的操作环境的示例的框图;
图2示出了根据本公开的实施例的图形搜索系统的框图;
图3示出了根据本公开的实施例的图形用户界面的框图;
图4A示出了根据本公开的实施例的图形对象的轮廓的表示;
图4B示出了根据本公开的实施例的图形对象的轮廓的点采样;
图5是示出了根据本公开的实施例的确定图形对象的形状描述符的方法的流程图;
图6是示出了根据本公开的实施例的用于基于形状描述符来搜索图像的另一方法的流程图;以及
图7是适用于实现本公开的实施例的示例性计算环境的框图。
具体实施方式
本文中具体描述本发明的主题以满足法定要求。然而,描述本身并不旨在限制本专利的范围。而是,发明人已经想到,所要求保护的主题还可以结合其他当前或未来的技术以其他方式来体现,以包括与本文档中描述的步骤相似的不同步骤或步骤的组合。此外,尽管本文可以使用术语“步骤”和/或“框”来暗示所采用的方法的不同元素,除非和除了当明确描述了个体步骤的顺序时,这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任意特定顺序。
传统的基于形状的图像搜索通过利用像素的阴影和颜色,针对照片和其他详细图形被优化。例如,照片可捕获真实世界对象的所有可见区域的重要细节,这些细节可用于形状识别。许多向量图形和一些光栅图形缺乏相似的信息,这可能会导致不准确的搜索结果。例如,当用户勾画(例如,手绘)对象时,其可能由使用传统方法不能很好地捕获的整体印迹来强烈地表征,导致较低质量的搜索结果。为了说明上述内容,勾画的对象可能不包括太多颜色、阴影和/或其他细节,使得传统方法可能不足以捕获该对象以进行搜索。然而,可能期望允许用户快速勾画示例对象并取回相似但更详细的搜索结果。
定向梯度直方图是用于捕获图像中的形状的传统方法的示例。图像的所有像素被分成单元网格,并且从其像素为每个单元创建梯度方向的直方图。当图形缺乏足够的细节时,这些梯度方向可能无法足够好地捕获到许多向量图形和某些光栅图形的整体形状,以产生准确的搜索结果。
本公开的各方面对计算机的能力提供改进以标识和比较图形对象的形状,以产生更准确的图形搜索结果。具体而言,本公开提供了图形对象的形状描述符,其形成对象的总体印迹的详细表示,允许更准确的基于形状的图形搜索。本文描述的方法可以利用图形对象的轮廓的向量艺术表示(例如,连接的贝塞尔曲线和/或其他向量基元)来计算图形对象的形状描述符。形状描述符可用于搜索相似的向量图形,这些向量图形将被存储在向量文件或其他数据对象中。
在各种实现中,图形对象的形状描述符被确定并存储在数据库(或其他合适的数据存储库)中。用户可以诸如通过在用户设备上绘制向量勾画来为搜索查询提供示例图形对象。用户可以发起对用户设备上的相似图形对象的搜索,其中示例对象的形状描述符可以可选地被生成或以其他方式被确定。示例对象的形状描述符可以与存储的形状描述符进行比较,以确定搜索结果相似形状的图形对象。
图形对象的形状描述符可以通过确定图形对象的轮廓来确定。轮廓可以是由诸如连接的贝塞尔曲线的向量基元集合形成的向量对象。轮廓可以被采样以生成采样点,其使用诸如自适应点采样的采样技术来捕获轮廓,其中轮廓的段的多个采样点基于段的长度。采样点的局部和全局几何图形特性可以被确定并且可以被存储在相应的特征向量中。形状描述符包括采样点的特征向量,其可以被组合成一个或多个聚合特征向量。
采样点的特征向量可以使用各种可能的方法来确定。这些包括在空间和/或频谱域中捕获采样点的局部和全局几何图形特性。在一个示例性的空间方法中,为捕获其他采样点的相对位置的每个采样点创建空间直方图。例如,几何图形对象(例如,圆形)可以以采样点为中心。几何图形对象可以被划分为相等的扇区,扇区可以进一步分为多个分区(bin)。采样点的特征向量可以包括每个分区的值,该值是落入该分区内的其他采样点的数目的计数。捕获局部和全局几何图形特性的其他合适方法包括确定采样点的热核签名、骨架化等。
然后,可以将图形对象(例如,示例对象)的形状描述符与其他图形对象的相似确定的形状描述符进行比较以生成搜索结果。如稍后进一步详细描述的,在一些情况下,其他图形对象被标记以促进搜索结果的确定。根据图形对象是描绘特定类型的对象还是示出特定特性(例如,使用机器学习和/或手动标记),可以使用任意合适的方法来标记图形对象。在确定搜索结果时,可以通过将其形状描述符与示例对象的形状描述符进行比较来确定与示例对象具有相似形状的图形对象。基于共享与确定的图形对象相似或相同的标记,附加图形对象可以被包括在搜索结果中。
在一些情况下,针对这些其他图形对象中的至少一些不需要确定和/或分析形状描述符,由此减少用于生成搜索结果的处理要求。例如,标记可以使用为每个标记和对象或图像对分配置信度评分的传统方法来被确定。可以基于标记的置信度评分(例如,每个标记的前十个评分项)为每个标记选择项目的子集(例如,一个或多个图形对象或图像)。然后可以针对这个项目子集确定形状描述符,并且基于具有与该项目相同或相似的标记,可以将其他项目包括在具有来自该子集的项目的搜索结果中。
现在转到图1,提供了示出其中可以采用本公开的一些实现的操作环境的示例的框图。应当理解,本文描述的这个和其他布置仅作为示例被阐述。除了所示的那些布置和元件之外或者替代所示的那些布置和元件,可以使用其他布置和元件(例如,机器、接口、功能、顺序和功能分组等),并且为了清楚起见,可以将一些元件完全省略。此外,本文描述的元件中的许多元件是功能实体,其可以被实现为离散或分布式组件或与其他组件相结合,并且以任意合适的组合和位置来实现。本文描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,一些功能可以由执行在存储器中存储的指令的处理器执行。
在未图示的其他组件中,操作环境100包括多个用户设备,诸如用户设备102A和102B到102N、网络104和服务器108。应当理解,图1中示出的操作环境100是一个合适的操作环境的示例。例如,图1中所示的每个组件可以经由任意类型的计算设备来实现,诸如结合图7所描述的计算设备700中的一个或多个。这些组件可以经由网络104彼此通信,网络104可以是有线的、无线的或有线的和无线的两者。网络104可以包括网络中的多个网络或一个网络,但是以简单的形式示出,以免混淆本公开的各方面。作为示例,网络104可以包括一个或多个广域网(WAN)、一个或多个局域网(LAN)、诸如因特网的一个或多个公共网络和/或一个或多个专用网络。在网络104包括无线电信网络的情况下,诸如基站、通信塔或甚至接入点(以及其他组件)的组件可以提供无线连接。网络环境在办公室、企业范围的计算机网络、内联网和互联网中都很常见。因此,网络104未被详细描述。
应当理解,在本公开的范围内,可以在操作环境100内采用任意数目的用户设备、服务器和其他公开的组件。每个可以包括在分布式环境中协作的单个设备或多个设备。
用户设备102A至102N包括能够由用户操作的任意类型的计算设备。例如,在一些实现中,用户设备102A至102N是本文关于图7描述的计算设备的类型。作为示例而非限制,用户设备可以体现为个人计算机(PC)、膝上型计算机、移动设备、智能手机、平板计算机、智能手表、可穿戴计算机、个人数字助理(PDA)、MP3播放器、全球定位系统(GPS)或设备、视频播放器、手持通信设备、游戏设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、遥控器、器具、消费电子设备、工作站、这些描绘的设备的任意组合、或任意其他合适的设备。
用户设备可以包括一个或多个处理器,以及一个或多个计算机可读介质。计算机可读介质可以包括可由一个或多个处理器执行的计算机可读指令。这些指令可以由诸如图1中所示的应用110的一个或多个应用来实施。为了简单起见,应用110被称为单个应用,但是实践中其功能可以通过一个或多个应用来实施。如上所述,其他用户设备可以包括与应用110相似的一个或多个应用。
应用通常可以是在执行本公开的各方面时能够促进用户设备和服务器108之间的信息交换的任意应用。在一些实现中,应用包括web应用,其可以在web浏览器中运行,并且可以至少部分地托管在操作环境100的服务器侧。另外地或替代地,应用可以包括专用应用,诸如媒体编辑软件,其示例包括等。在一些情况下,由应用110表示的一个或多个应用被集成到操作系统中(例如作为服务)。因此本文考虑“应用”被宽泛地解释。
服务器108还包括一个或多个处理器,以及一个或多个计算机可读介质。计算机可读介质包括可由一个或多个处理器执行的计算机可读指令。这些指令可以可选地实现图形搜索系统106的一个或多个组件,下面将进一步详细描述。然而,组件通常可以在服务器108、用户设备102A和/或应用110的任意组合上实现。另外,未图示的其他组件也可以包括在分布式环境内。
因此,应当理解,图形搜索系统106可以经由布置在分布式环境中的多个设备来提供,所述多个设备共同提供本文描述的功能,或者可以在单个设备上被实施。在一些情况下,图形搜索系统106可以至少部分地集成到诸如用户设备102A的用户设备中。此外,图形搜索系统106可以至少部分地实现为云计算服务。
对于基于云的实现,服务器108上的指令可以实现图形搜索系统106的一个或多个组件,并且应用110可以被用户用来与在服务器108上实现的功能对接。如上所述,在一些情况下,应用110包括web浏览器。在其他情况下,服务器108可能不是必需的。例如,图形搜索系统106的组件可以完全在诸如用户设备102A的用户设备上实现。因此,图形搜索系统106可以至少部分地由对应于应用110的指令来实施。
图形搜索系统106可以确定包括图形对象(诸如包括图形对象的图像和/或个体图形对象的图形数据对象)的一个或多个图形项目的排序评分(例如排序评分244)。图形搜索系统106可以基于确定图形对象的形状描述符与对应于搜索查询的示例图形对象的形状描述符多么相似来确定这些排序评分。根据排序评分,图形搜索系统106可以确定将哪些图形对象包括在对搜索查询的搜索结果中。在一些实施例中,从用户设备(例如,使用应用110的用户设备102A),用户可以诸如通过在用户设备上勾画或以其他方式标识示例图形对象并且可选地选择搜索按钮来发起搜索。搜索结果由服务器108确定,并返回给用户设备用于显示。用户然后可以可选地选择一个或多个搜索结果以将对应的图形对象导入应用110(例如,用于编辑或其他图形组成)。
图2示出了根据本公开的实施例的图形搜索系统的框图。可对应于图1的图形搜索系统106的图形搜索系统206包括接口管理器212、轮廓确定器216、轮廓采样器218、形状描述符确定器220、呈现管理器222、搜索引擎224、数据对象处理器228和存储装置230。
存储装置230可以包括计算机可读介质并且被配置为存储本文描述的实施例中使用的计算机指令(例如,软件程序指令、例程或服务)、数据和/或模型。在一些实现中,存储装置230存储经由图形搜索系统206的各种组件接收和/或由图形搜索系统206的各种组件生成的信息或数据,并且根据需要向各种组件提供对该信息或数据的访问。在实现中,存储装置230包括数据存储库(或计算机数据存储装置)。尽管被描绘为单个组件,但是存储装置230可以被实施为一个或多个数据存储库(例如,数据库)并且可以至少部分在云中。诸如数据对象的一些信息可以存储在用户设备(例如,用户设备102A)上,并且其他信息可以被存储在外部(例如,在服务器108上)。因此,应当理解,存储装置230中的信息可以以任意合适的方式跨用于存储的一个或多个数据存储库分布(其可以被外部托管)。
在其他潜在信息中,存储装置230例如包括搜索结果232、数据对象234、图形对象238、形状描述符240、标记242和排序评分244。在本示例中,每个数据对象234包括数字图像,但可以包括任意数目的图像。作为示例,每个数据对象234可以是图像文件格式(例如,位图和/或向量文件格式)或视频文件格式。例如,每个数据对象234可以是向量图像格式,诸如可缩放向量图形(SVG)、Adobe Illustrator(AI)、封装PostScript(EPS)等。
在一些实施例中,图形搜索系统206包括数据对象处理器228以从数据对象234的图形数据中提取图形对象238。如本文所使用的数据对象是指用于一个或多个图形对象的存储结构。图形对象是指共同表示图像(例如几何图形、着色等)的预定集合图形数据(例如,向量图形数据和/或光栅图形数据)。
作为概述,接口管理器212被配置为在图形搜索系统206与诸如用户设备、用户和/或其它系统的其他实体之间提供接口。接口管理器212可以接收指示示例图形对象的数据,以供搜索引擎224用于搜索查询以搜索与示例对象相似的图形对象。接口管理器212可以诸如响应于针对基于图像的搜索的示例图像的用户选择,从一个或多个用户设备接收这个数据。响应于搜索查询,搜索引擎224可以搜索具有与示例图形对象相似的形状描述符的图形对象238以包括在搜索结果232中。呈现管理器222被配置为基于搜索结果232引起在一个或多个用户设备上的信息的呈现。
形状描述符确定器220被配置为在任意合适的时间确定图形对象238和示例图形对象的形状描述符240。形状描述符确定器220可以使用轮廓确定器216来确定图形对象238和示例图形对象中的每一个的轮廓。形状描述符确定器220可以进一步使用轮廓采样器218来确定定义轮廓的点采样。根据每个图形对象的点采样,形状描述符确定器220可以确定图形对象的形状描述符。
如上所述,接口管理器212被配置为在图形搜索系统206和诸如用户设备、用户和/或其它系统的其他实体之间提供接口。接口管理器212可以接收指示示例图形对象的数据,以供搜索引擎224用于搜索查询以搜索与示例对象相似的图形对象。例如,可以基于对诸如用户设备102A(例如,经由应用110)的用户设备的用户输入来生成数据。例如,用户输入可以对应于用于搜索与示例对象相似的图形对象(例如,搜索按钮)的选项的用户选择。在一些实施例中,用户向接口管理器212标识用于搜索的示例图形对象。这可以包括提供导致示例图形对象的勾画或绘图的用户输入。例如,用户可以通过自由手绘和/或使用对象基元来构建图形对象。作为另一个示例,用户可以选择包含图形对象的数据对象来标识图形对象。例如,用户可以从文件浏览器或为示例对象提供多个选项的其他界面中选择数据对象。
根据本公开的实现,关于图3A和图3B描述了上述的一个这样的示例,其图示了图形界面的示例。接口管理器212可以处理关于图3A和3B描述的用户、用户设备和/或服务器之间的各种界面的任意组合。图3A示出图形界面的屏幕300A,并且图3B示出图形界面的屏幕300B。如图所示,图形界面包括画板350,画板350被配置为显示图形对象。还包括用户可以用来组成图形对象的工具栏中的多个工具352。例如,屏幕300A表示由用户输入定义的屏幕300B的图形对象354的中间版本354A。例如,使用徒手向量绘图工具352A,用户已经提供了定义图形对象354的中间版本354A的用户输入。这可以通过用户输入操纵光标356来定义形状而完成。作为示例,用户输入可以来自手指、鼠标或手写笔或其他输入对象和/或设备。图形对象354可以包括向量数据并且可以由多个贝塞尔曲线形成。例如,贝塞尔曲线和/或其他向量基元可以互连以定义图形对象。
完成图形对象354后,用户可以提供选项358的用户选择,其指令图形搜索系统206使用所识别的图形对象354来搜索相似的图形对象。在本示例中,选项358是搜索按钮,但是可以采用其他图形界面元素(例如,菜单)。在一些情况下,搜索可在图形对象354完成时自动地被发起(例如,通过接口管理器212自动检测图形对象354的完成)。
选项358的选择引起对应的搜索查询从用户设备到搜索引擎224的传输,搜索引擎224可位于服务器(例如,服务器108)上。搜索查询可以将图形对象354标识为示例对象。例如,搜索查询可以包括定义图形对象354的图形数据。附加地或备选地,搜索查询可以包括图形对象354的形状描述符。例如,形状描述符确定器220、轮廓确定器216和/或轮廓采样器218可至少部分地在用户设备上实现以确定操作环境100的客户端侧上的示例图形对象的形状描述符。作为另一示例,形状描述符可被确定为服务器端。在其他实施例中,搜索查询可以包括图形对象的标识符,诸如在图形对象是用户为了搜索而选择的预定义对象的情况下(例如图形对象238中的一个)。
如上所述,响应于搜索查询,搜索引擎224可以搜索具有与示例图形对象相似的形状描述符的图形对象238以包括在搜索结果232中。呈现管理器222被配置为基于搜索结果232引起在一个或多个用户设备上的信息的呈现。这可以通过呈现管理器222发送引起呈现的数据来完成。例如,在呈现管理器222位于诸如用户设备102A的用户设备上(例如作为应用110的一部分)的情况下,呈现管理器222可以将数据与设备上的服务进行通信以引起呈现。在呈现管理器222至少部分位于诸如服务器108的服务器上的情况下,数据可以通过网络104传输。数据的示例可以包括例如以下项中的至少一项的任意组合:图形对象、包含图形对象的数据对象、排序评分、预览图像、呈现图形对象的顺序、呈现对象的API调用、以及呈现预览图像的操作系统调用。
作为示例,数据的传输可以导致图3B中所示的预览图像的显示。此外,不是针对特定图像效果显示多个图像,在一些情况下,可以通过呈现来指示最高等级的图形对象和/或数据对象。示例图形对象的图形对象的排序顺序可以通过呈现来指示(例如,该图像的最相似的可以被排序在前面,并且最不适合的被排序在最后,如排序评分所指示的)。
在图3B中,例如,呈现管理器222已经引起在图形用户界面的搜索结果区域362中搜索结果360的呈现。作为示例,搜索结果360包括图形对象,其被呈现为其对应数据对象的预览图像360A、360B和360C。例如,预览图像360B对应于图形对象238中的多个图形对象,但是可以基于图形对象364与图形对象354的相似性而被包括在搜索结果360中。在其他实现中,预览图像可以仅表示图形对象364,而不是数据对象中的每个图形对象。
在各种实施例中,在搜索结果中表示的一个或多个图形对象可以是用户可选的,以将对应的图形对象导入到应用110中(例如,用于编辑或其他图形组成)。例如,接口管理器212接收用户输入,该用户输入与搜索结果区域362中表示的图形对象中的一个或多个的用户选择相对应。该用户输入可被提供给预览图像360A,例如以选择对应的图形对象例如用于导入到画板350或新的画板。在一些实现中,用户可以经由用户输入将预览图像从搜索结果区域362拖放到画板350中以引起图形对象被导入。可选地,这可以自动地引起用被导入的图形对象替换图形对象354。用户可以在一些实施例中使用工具352来编辑导入的图形对象。
数据对象处理器228可以用于标识数据对象内的图形对象,使得可以为那些图形对象标识搜索描述符,并且可以搜索那些图形对象。例如,数据对象处理器228可以标识单个向量艺术文件内的多个离散图形对象(例如,大、树和兔子),并且处理这些图形对象以使它们个体地可搜索。
如上所述,在一些实施例中,图形搜索系统206包括数据对象处理器228,其从数据对象234的图形数据中提取图形对象238。例如,数据对象234中的每一个包括图形数据,诸如图形数据236。在一些实施例中,数据对象处理器228可以标识来自单个数据对象(例如,文件)的多个图形对象,并且分别提取并存储这些图形对象作为图形对象238。图形对象238中的每一个可以包括从数据对象中提取并作为新的数据对象存储的相应图形数据和/或数据对象中的图形数据的对应部分的指针或其他标识符。使用这种方法,与将数据对象视为单个图形对象相反,图形搜索系统206可以个体地搜索在相同数据对象内表示的、与示例对象相似的图形对象。例如,假定图形数据236包括具有鸟、狐狸、太阳和鱼的自然场景。使用本文描述的方法,鱼可以个体地与图形对象354匹配并且作为个体图形对象和/或原始数据对象被包括在搜索结果360中。
数据对象处理器228可以使用各种方法来标识数据对象中的图形对象用于提取。在一些实现中,可基于数据对象中的图形对象的描述来在数据对象数据中标识每个图形对象。例如,诸如SVG文件的向量文件允许图形元素组(例如向量元素)的定义。数据对象处理器228可以将每一组图形元素标识为相应的图形对象。需要注意,组可以有多个子组,该子组也描述创建完整图形对象的较低级别的对象。例如,组可以是具有包括组和/或向量元素的节点的树的一部分。数据对象处理器228可以分析数据对象中的组以确定哪些组对应于要提取的图形对象和/或可以基于其层级作为图形对象来选择组(例如,选择每个顶层组)。
应当注意,在一些实现中,诸如在数据对象234对应于位图图像(例如,联合图像专家组(JPEG)文件)的情况下,图形数据236中的至少一些可包括栅格数据。在这些情况下,数据对象处理器228可以使用各种对象识别算法中的任意一种,来将位图图像的子部分标识为图形对象(例如,使用用于对象识别的计算机视觉算法)。因此,应当理解,在一些实施例中,除了向量图形数据之外的或代替向量图形数据,图形对象238中的一个或多个可以由光栅图形数据形成或包括光栅图形数据。然而,在图3A和3B的示例中,每个图形对象使用向量图形数据来表示。
如上所述,形状描述符确定器220被配置为确定图形对象238和示例图形对象的形状描述符240。例如,这可以在图形对象238从数据对象234中被提取时(例如同时)和/或在图形对象238被从数据对象234中提取之后发生。
形状描述符确定器220可以使用轮廓确定器216来确定图形对象238中的每一个的轮廓。可以使用各种方法来标识轮廓。一种方法使用Canny边缘检测,其计算图形对象的梯度向量的大小和角度。该轮廓可以包括图形对象的印迹的连续表示而没有内部细节。作为示例,轮廓可以由可以互连的多个贝塞尔曲线形成。在各种实现中,轮廓是使用向量元素表示的向量轮廓。例如,在图形对象是光栅对象的情况下,由轮廓确定器216生成的轮廓可以是向量轮廓。相似地,在图形对象是向量对象的情况下,由轮廓确定器216生成的轮廓可以是向量轮廓。
图4A示出了根据本公开的实施例的图形对象的轮廓的表示。具体地,图形对象404的轮廓406可以由轮廓确定器216生成。图形对象404是由向量元素形成的向量对象。轮廓确定器216可以通过分析向量元素和/或定义图形对象404的其他图形数据来生成轮廓406。轮廓406由多条互连的曲线形成。
形状描述符确定器220可以进一步使用轮廓采样器218来确定定义轮廓的点采样。图4B示出了根据本公开的实施例的图形对象的轮廓的点采样。例如,给定使用轮廓确定器216确定的轮廓,形状描述符确定器220可以分析该轮廓以确定点采样408A、408B和408N。作为另一个示例,轮廓采样器218可以在轮廓被生成时确定点采样。轮廓采样器218可以使用点采样算法来确定点采样,该点采样算法将图形对象的轮廓捕获为多个点。在各种实现中,轮廓采样器218基于轮廓的曲率来确定点采样。例如,在对轮廓进行采样时,采样点的点密度可以基于轮廓的曲率。如图4B所示,与具有较低曲率的轮廓的段相比,轮廓采样器218可以为具有较高曲率的轮廓的段提供更低的点密度。另外地或替代地,轮廓采样器218可以基于该段的长度来确定特定段的点的数目。例如,与较短的轮廓的段相比,轮廓采样器218可以为较长的轮廓的段采样更多的点。如图所示,段410A包括十一个点采样,而段410B较短并且因此包括较少的点采样(例如四个点采样)。一种用于确定采样点的合适算法是自适应点采样。
根据每个图形对象的点采样,形状描述符确定器220可以确定图形对象的形状描述符。形状描述符确定器220可以确定每个采样点的局部和全局几何图形特性,其可以被存储为该特定采样点的相应特征向量。形状描述符基于图形对象的采样点的特征向量,其可以通过将特征向量组合成构成形状描述符的一个或多个聚合特征向量来确定。
形状描述符确定器220可以使用各种可能的方法确定采样点的特征向量。这些包括捕获空间和/或频谱域中采样点的局部和全局几何图形特性。如上所述,图形对象的采样点的局部和全局几何图形特性是指表示采样点相对于图形对象的其他采样点之间的几何图形关系(例如通过参考其他采样点到采样点的位置几何图形)的一个或多个值。例如,采样点的一个或多个值可以基于采样点相对于图形对象中的其他采样点(例如,每个其他采样点)的位置。一个或多个值可以各自基于采样点和另一采样点之间的角度、这些采样点的接近度和/或这些采样点之间的距离(例如,直接距离或沿着图形对象的轮廓)。
在示例空间方法中,针对捕获其他采样点的相对位置的每个采样点创建空间直方图。例如,几何图形对象(例如,圆形)可以以采样点为中心。几何图形对象可以划分为相等的扇区,扇区可以进一步分为多个分区。采样点的特征向量可以包括每个分区的值,该值是落入该分区内的其他采样点的数目的计数。
图4B图示了这种方法的一个示例。如所示出的,几何图形对象412以采样点408A为中心。几何图形对象412和/或轮廓406的采样点可以被缩放或调整大小,使得无论几何图形对象412以哪个采样点为中心,所有采样点都将落入几何图形对象412内。几何图形对象412包括相等的扇区,诸如扇区414,并且扇区由多个分区形成。例如,扇区414由分区414A、414B、414C和414D形成。在一些实施例中,几何图形对象412包括十二个扇区,每个包含五个分区,总共六十个分区。在所示的示例中,有八个扇区,每个扇区包含四个分区,以更清晰地描述几何图形对象。几何图形对象412以采样点408A为中心,并且采样点408A的特征向量可以包括每个分区的值,在该示例中,该值是落入该分区内的其他采样点的数目的计数。例如,采样点408D与对于总计数为三的三个其他采样点一起位于分区422中。因此,分区422在针对采样点408A的特征向量中可以具有四的值。如图所示,二十六个分区不包含采样点,使得特征向量可以包括二十个大小零,一个大小零针对不包含采样点的每个分区。特征向量可以被归一化,使得每个值的从0到1变化。
形状描述符确定器220可以相似地确定每个其他采样点的特征向量。形状描述符确定器220可以组合那些特征向量以形成图形对象的形状描述符。在一些实施例中,形状描述符包括至少两个聚合特征向量。形状描述符确定器220可以计算一个聚合特征向量,其包含采样点特征向量中的每个值的标准差。形状描述符确定器220可以计算另一聚合特征向量,该另一聚合特征向量包含采样点特征向量中每个值的均值。这只是一个示例,任意数目的特征向量都可以用作形状描述符(或另一形式的聚集度量)。通过组合采样点的特征向量,形状描述符240可以消耗较低的存储空间,并且可以降低搜索引擎224用于比较形状描述符所需的处理能力。
因此,对于每个图形对象,形状描述符确定器220可以在一些实施例中确定形成该图形对象的形状描述符的两个特征向量。搜索引擎224可以搜索具有与示例图形对象相似的形状描述符的图形对象,用于包括在搜索结果中。具体地,形状描述符可以被搜索引擎224用作评估图形对象之间的相似性的至少一个因素。搜索引擎224可以基于图形对象的形状描述符之间的比较,来确定给定图形对象与示例对象之间的相似性。例如,形状描述符越相似,图形对象的整体形状越相似,从而增加了将图形对象包括为搜索结果的可能性。在各种实施例中,搜索引擎224通过确定特征向量之间的余弦相似性来确定形状描述符之间的相似性,这可能导致每个图形对象的相似性评分。可以使用相似性评分来对图形对象进行排序,并且可以基于相似性评分来选择图形对象(和/或它们的对应数据对象),以包括在搜索结果中。
在一些实现中,搜索引擎224可以使用分配给那些图形对象的标记来在搜索结果中包括至少一些图形对象。例如,根据图形对象是描绘特定类型的对象还是示出特定特征(例如,使用机器学习和/或手动标记),可以使用任意合适的方法来标记图形对象238中的至少一些。如上所述,在确定搜索结果时,搜索引擎224可以通过分析其形状描述符来确定图形对象具有与示例对象相似的形状。图形对象238中的其他图形对象238可以基于共享与所确定的图形对象相似或相同的标记来被包括在搜索结果中。例如,如果图形对象用鸟标记,则用鸟标记的一个或多个其他图形对象可以被包括在搜索结果中。
使用这种方法,在一些情况下,形状描述符确定器220不需要确定至少一些图形对象238的形状描述符和/或搜索引擎224不需要分析至少一些图形对象238的形状描述符。这可以减少用于生成搜索结果的处理和存储要求。例如,可以使用传统方法来确定标记,该传统方法为每个图形对象的每个标记和对象或图像对分配置信度评分。可以基于标记的置信度评分(例如,每个标记的前十个评分项),为每个标记选择项目的子集(例如,一个或多个图形对象或图像)。然后,形状描述符可以被确定仅针对这个项目的子集,并且其他项目可以被包括在搜索结果中,搜索结果具有来自基于具有与项目相同或相似的标记的子集的项目。因此,例如,可以确定与特定标记高度相关的一个或多个图形对象的形状描述符,而不必为标记有该标记的每个图形对象确定形状描述符。然而,当那些不具有形状描述符的图形对象具有与基于形状描述符的搜索结果中包括的图形对象的标记相似的标记时,那些不具有形状描述符的图形对象仍然可以被包括在搜索结果中。
现在参考图5,提供了示出用于确定图形对象的形状描述符的方法500的实施例的流程图。方法500和本文描述的其他方法的每个框包括可以使用硬件、固件和/或软件的任意组合来执行的计算处理。例如,各种功能可以由执行在存储器中存储的指令的处理器执行。该方法还可以被实施为在计算机存储介质上存储的计算机可用指令。这些方法可以由独立应用、服务或托管服务(独立或与其他托管服务组合)或另一产品的插件提供,等等。
在框510处,方法500包括确定图形对象的轮廓。例如,轮廓确定器216可以从形成图形对象的图形数据236来确定图形对象238的图形对象的轮廓。
在框520处,方法500包括对图形对象的轮廓进行采样以得到采样点。例如,轮廓采样器218可以对图形对象的轮廓进行采样以得到导致采样点,该采样点捕获图形对象的轮廓。
在框530处,方法500包括确定图形对象的形状描述符,形状描述符捕获采样点的局部和全局几何图形特性。例如,形状描述符确定器220可以确定图形对象的形状描述符,其中形状描述符捕获每个采样点的局部和全局几何图形特性。
参照图6,提供了示出用于基于形状描述符来搜索图像的方法600的实施例的流程图。
在框610处,方法600包括确定图形对象的形状描述符。例如,形状描述符确定器220可以确定图形对象238的形状描述符240。每个形状描述符可以使用例如图5的方法500来确定。
在框620处,方法600包括接收对应于用户标识的图形对象的搜索查询。例如,接口管理器212可以接收对应于用户标识的图形对象的搜索查询。图形对象可以是由用户设备102A的用户使用应用110来标识图形对象354。
在框630处,方法600包括基于将形状描述符与标识的对象的形状描述符进行比较来生成搜索结果。例如,搜索引擎224可以基于用户标识的图形对象的形状描述符与图形对象238的至少一个图形对象的形状描述符之间的比较来生成搜索查询的搜索结果232。在一些实施例中,形状描述符确定器220至少部分在用户设备102A(例如,应用110的一部分)上,其计算图形对象354的形状描述符并在搜索查询中将该形状描述符发送到包括搜索引擎224的服务器108。
在框640处,方法600包括基于搜索结果来引起至少一个图形对象的呈现。例如,呈现管理器222可以引起搜索结果之一在用户设备102A上的呈现。这可以包括使用接口管理器212将搜索结果中的至少一些发送到用户设备102A用于在设备上显示或以其他方式发送引起显示的数据。例如,搜索结果360可以被显示在用户设备102A上。
参考图7,计算设备700包括直接或间接耦合以下设备的总线710:存储器712、一个或多个处理器714、一个或多个呈现组件716、输入/输出(I/O)端口718、输入/输出组件720和示意性电源722。总线710表示可以是一个或多个总线的事物(诸如地址总线、数据总线或其组合)。尽管为了清楚起见,用线示出了图7中的各个框,但实际上,描绘各种部件并不那么清楚,并且比喻上,线将更准确地是灰色和模糊的。例如,可以将诸如显示设备的呈现组件看作是I/O组件。另外,处理器有存储器。发明人认识到,这是本领域的本质,并且重申,图7的图仅仅是可以结合本发明的一个或多个实施例使用的示例性计算设备的说明。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等的类别之间没有进行区分,因为所有这些都在图7的范围内被想到并且参照“计算设备”。
计算设备700通常包括各种计算机可读介质。计算机可读介质可以是可由计算设备700访问的任意可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任意方法或技术实现的易失性和非易失性、可移除和不可移除介质两者,用于诸如计算机可读指令、数据结构、程序模块或其他数据等信息的存储装置。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备或可用于存储所需信息并可由计算设备700访问的任意其他介质。计算机存储介质不包含信号本身。通信介质通常以诸如载波或其他传输机制的调制数据信号来实施计算机可读指令、数据结构、程序模块或其他数据,并且包括任意信息传递介质。术语“已调制数据信号”是指具有以对信号中的信息进行编码的方式设置或改变其特征的一个或多个特性的信号。作为示例而非限制,通信介质包括:有线介质,诸如有线网络或直接有线连接;以及无线介质,诸如声学、RF、红外线和其他无线介质。上述任意组合也应包含在计算机可读介质的范围内。
存储器712包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的或其组合。示例性的硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备700包括从诸如存储器712或I/O组件720的各种实体读取数据的一个或多个处理器。呈现组件716向用户或其他设备呈现数据指示。示例性的呈现组件包括显示设备、扬声器、打印组件、振动组件等
I/O端口718允许计算设备700逻辑地耦合到包括I/O组件720的其他设备,其中一些可以内置在其中。示意性组件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等。I/O组件720可以提供处理空中手势、语音或由用户生成的其他生理输入的自然用户界面(NUI)。在一些情况下,可以将输入发送到适当的网络元件以用于进一步处理。NUI可实现以下各项的任意组合:语音识别、触摸和触控笔识别、面部识别、生物识别、屏幕上和屏幕附近的手势识别、空中手势、头和眼睛跟踪、以及与计算设备700上的显示器相关联的触摸识别。计算设备700可以配备有深度相机,诸如立体相机系统、红外相机系统、RGB相机系统以及它们的组合,用于手势检测和识别。另外,计算设备700可以配备有能够实现运动的检测的加速度计或陀螺仪。加速度计或陀螺仪的输出可被提供给计算设备700的显示器以绘制沉浸式增强现实或虚拟现实。
已经关于特定实施例描述了本发明,这些特定实施例在所有方面均旨在是示意性的而不是限制性的。在不脱离本发明范围的情况下,替代实施例对于本发明所属领域的普通技术人员而言将变得显而易见。
在不脱离所附的权利要求的范围的情况下,所描绘的各种组件以及未示出的组件的许多不同的布置是可能的。已经描述了本发明的实施例,目的是示意性的而不是限制性的。替代实施例在阅读本公开之后并因为阅读本公开而对于本公开的读者变得显而易见。在不脱离所附的权利要求的范围的情况下,可以完成实现上述的备选方式。某些特征和子组合具有实用性,并且可以在不参考其他特征和子组合的情况下被采用,并且被想到在权利要求的范围内。
Claims (21)
1.一种用于搜索图形的计算机实现的方法,所述方法包括:
分析图形对象集合中的每个图形对象,所述分析包括:
对所述图形对象的轮廓进行采样,以得到捕获所述图形对象的所述轮廓的采样点;以及
确定所述图形对象的形状描述符,所述形状描述符捕获所述采样点中的每一个采样点的局部和全局几何图形特性;
接收对应于用户标识的图形对象的搜索查询;以及
基于所述用户标识的图形对象的形状描述符与所述图形对象集合中的至少一个图形对象的所述形状描述符之间的比较,来生成所述搜索查询的搜索结果。
2.根据权利要求1所述的方法,其中所述图形对象的所述轮廓包括向量图形。
3.根据权利要求1所述的方法,还包括:
加载包括向量图形数据的数据对象,所述向量图形数据包括所述图形对象集合中的每个图形对象的图形数据;
标识所加载的所述数据对象的所述向量图形数据中的所述图形对象集合,每个图形对象对应于所述向量图形数据中的相应向量图形;以及
基于标识所述图形对象集合,执行所述图形对象集合中的每个图形对象的所述分析。
4.根据权利要求1所述的方法,还包括:
从向量图形文件中提取所述图形对象集合,其中每个图形对象是向量图形;以及
将每个提取的图形对象和所述图形对象的所述形状描述符存储在数据库中,其中生成所述搜索结果包括针对所述数据库处理所述搜索查询。
5.根据权利要求1所述的方法,其中,所述搜索结果的所述生成包括:
标识分配给给定图形对象的标记,其中所述比较在所述用户标识的图形对象的所述形状描述符和所述给定图形对象的所述形状描述符之间;
基于所述比较,标识分配给所述标记的多个图形对象;以及
将所标识的所述多个图形对象添加到所述搜索查询的搜索结果集合中。
6.根据权利要求1所述的方法,其中在所述轮廓的所述采样中,所述轮廓的段的采样点的数目是基于所述段的长度的。
7.根据权利要求1所述的方法,其中给定图形对象的所述轮廓由多个贝塞尔曲线形成。
8.根据权利要求1所述的方法,其中所述确定所述图形对象的所述形状描述符包括:
针对所述采样点的每个采样点,确定表示所述采样点的所述局部和全局几何图形特性的特征向量;
将来自每个采样点的所述特征向量的对应值组合成组合特征向量,其中所述形状描述符包括所述组合特征向量。
9.根据权利要求1所述的方法,包括:
使用空间直方图来确定所述采样点的采样点的所述局部和全局几何图形特性,其中所述空间直方图的分区表示相应的空间区域,并且所述分区的值是基于在所述相应的空间区域内的所述采样点的相邻采样点的数目的;以及
从所述空间直方图来确定所述空间描述符。
10.根据权利要求1所述的方法,还包括引起在用户设备上的、与所述搜索查询相关联的所述搜索结果的呈现,所述呈现包括向所述用户设备发送所述搜索结果的指示符。
11.至少一种非暂时性计算机可读介质,具有在其上实施的可执行指令,所述可执行指令在由至少一个处理器执行时使得所述至少一个处理器执行用于搜索图形的方法,所述方法包括:
对所述图形对象的轮廓进行采样,以得到捕获所述图形对象的所述轮廓的所述采样点;
确定所述图形对象的形状描述符,所述形状描述符捕获所述采样点中的每一个采样点的局部和全局几何图形特性;
向搜索引擎发送包括所述形状描述符的搜索查询;
从所述搜索引擎接收响应于所述搜索查询的搜索结果,所述搜索结果基于所述形状描述符来标识至少一个图形对象;以及
在与所述搜索查询相关联的用户设备上呈现所述至少一个图形对象。
12.根据权利要求11所述的计算机可读介质,其中所述呈现所述至少一个图形对象包括:呈现包括所述搜索结果的图形对象的多个预览图像。
13.根据权利要求11所述的计算机可读介质,其中所述呈现所述至少一个图形对象包括:将所述至少一个图形对象导入到图形编辑应用的画板中。
14.根据权利要求11所述的计算机可读介质,还包括:
将用户输入流转换成包括所述图形对象的数字勾画,所述数字勾画被显示在图形编辑应用中;
接收与所述数字勾画一块显示的搜索按钮的用户选择;以及
基于所述用户选择的所述接收,在所述图形编辑应用中执行对所述至少一个图形对象的所述呈现。
15.根据权利要求11所述的计算机可读介质,其中所述图形对象的所述轮廓包括向量图形。
16.根据权利要求11所述的计算机可读介质,其中在所述轮廓的所述采样中,所述轮廓的段的采样点的数目是基于所述段的长度的。
17.根据权利要求11所述的计算机可读介质,其中所述确定所述图形对象的所述形状描述符包括:
针对所述采样点的每个采样点,确定表示所述采样点的所述局部和全局几何图形特性的特征向量;
将来自每个采样点的所述特征向量的对应值组合成组合特征向量,其中所述形状描述符包括所述组合特征向量。
18.一种用于搜索图形的计算机实现的系统,所述系统包括:
轮廓采样器,用于对图形对象的轮廓进行采样,以得到捕获所述图形对象的所述轮廓的采样点;
形状描述符确定器,用于确定所述图形对象的形状描述符,每个形状描述符捕获对应图形对象的所述采样点的局部和全局几何图形特性;
搜索引擎,用于基于对应于所述搜索查询的图形对象的所述形状描述符和所述图形对象中的至少一个图形对象的所述形状描述符之间的比较,来生成搜索查询的搜索结果。
19.根据权利要求18所述的计算机实现的系统,还包括接口管理器,用于:
从用户设备接收所述搜索查询;以及
将所述搜索结果提供给所述用户设备,用于所述搜索结果中的至少一些搜索结果的呈现。
20.根据权利要求18所述的计算机实现的系统,还包括服务器的接口管理器,用于:
在所述服务器处,从用户设备接收至少第一一个或多个网络通信中的所述搜索查询;以及
在至少第二一个或多个网络通信中,向所述用户设备提供所述搜索结果,用于所述搜索结果中的至少一些搜索结果的呈现。
21.根据权利要求18所述的计算机实现的系统,其中,所述确定所述形状描述符包括:
针对图形对象的所述采样点中的每个采样点,确定表示所述采样点的所述局部和全局几何图形特性的特征向量;
将来自所述图形对象的每个采样点的所述特征向量的对应值组合成组合特征向量,其中所述图形对象的所述形状描述符包括所述组合特征向量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/851,412 US10902053B2 (en) | 2017-12-21 | 2017-12-21 | Shape-based graphics search |
US15/851,412 | 2017-12-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110019912A true CN110019912A (zh) | 2019-07-16 |
Family
ID=62494880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810353197.5A Pending CN110019912A (zh) | 2017-12-21 | 2018-04-19 | 基于形状的图形搜索 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10902053B2 (zh) |
CN (1) | CN110019912A (zh) |
AU (1) | AU2018202767B2 (zh) |
DE (1) | DE102018003475A1 (zh) |
GB (1) | GB2569833B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10776656B2 (en) * | 2017-12-22 | 2020-09-15 | Laurent Francois MARTIN | Methods and systems for applying content aware stickers onto a layout |
US10957108B2 (en) * | 2019-04-15 | 2021-03-23 | Shutterstock, Inc. | Augmented reality image retrieval systems and methods |
US11151106B1 (en) * | 2019-05-20 | 2021-10-19 | Pinterest, Inc. | Balanced distribution of items in LSH mapping |
US11442914B1 (en) | 2019-05-20 | 2022-09-13 | Pinterest, Inc. | Efficient LSH computation |
US20220058230A1 (en) * | 2020-08-19 | 2022-02-24 | Marwan Hassan | 3d search engine |
US20220172123A1 (en) * | 2020-11-30 | 2022-06-02 | Capital One Services, Llc | Systems and methods for performing a search based on freeform illustration |
US11461578B2 (en) * | 2021-02-04 | 2022-10-04 | Verizon Patent And Licensing Inc. | Methods and systems for generating composite image descriptors |
CN115934980B (zh) * | 2022-12-02 | 2023-09-08 | 珠海芯聚科技有限公司 | 一种版图图形搜索处理方法及装置、设备、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902807A (zh) * | 2011-10-18 | 2013-01-30 | 微软公司 | 使用多个视觉输入模态的视觉搜索 |
CN105518668A (zh) * | 2013-09-04 | 2016-04-20 | 沙祖拉公司 | 基于内容的图像检索 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4542412A (en) * | 1982-02-04 | 1985-09-17 | Shaken Co., Ltd. | Method for compressing character or pictorial image data |
US8429174B2 (en) * | 2003-01-25 | 2013-04-23 | Purdue Research Foundation | Methods, systems, and data structures for performing searches on three dimensional objects |
US20050147312A1 (en) * | 2004-01-06 | 2005-07-07 | Chen Aubrey K. | Method and apparatus for creating vector representation |
CN101159064B (zh) * | 2007-11-29 | 2010-09-01 | 腾讯科技(深圳)有限公司 | 画像生成系统以及按照图像生成画像的方法 |
US9449026B2 (en) | 2010-08-31 | 2016-09-20 | Microsoft Technology Licensing, Llc | Sketch-based image search |
CN103870516B (zh) | 2012-12-18 | 2019-10-25 | 北京三星通信技术研究有限公司 | 检索图像的方法、实时绘画提示方法及其装置 |
CN105493078B (zh) * | 2013-06-14 | 2019-07-23 | 微软技术许可有限责任公司 | 彩色草图图像搜索 |
US20170024384A1 (en) * | 2014-09-02 | 2017-01-26 | Netra Systems Inc. | System and method for analyzing and searching imagery |
US10789525B2 (en) * | 2015-10-02 | 2020-09-29 | Adobe Inc. | Modifying at least one attribute of an image with at least one attribute extracted from another image |
US11144587B2 (en) * | 2016-03-08 | 2021-10-12 | Shutterstock, Inc. | User drawing based image search |
WO2017168125A1 (en) * | 2016-03-31 | 2017-10-05 | Queen Mary University Of London | Sketch based search methods |
-
2017
- 2017-12-21 US US15/851,412 patent/US10902053B2/en active Active
-
2018
- 2018-04-19 CN CN201810353197.5A patent/CN110019912A/zh active Pending
- 2018-04-20 AU AU2018202767A patent/AU2018202767B2/en active Active
- 2018-04-26 DE DE102018003475.6A patent/DE102018003475A1/de active Pending
- 2018-04-26 GB GB1806810.6A patent/GB2569833B/en active Active
-
2020
- 2020-12-16 US US17/124,123 patent/US11704357B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902807A (zh) * | 2011-10-18 | 2013-01-30 | 微软公司 | 使用多个视觉输入模态的视觉搜索 |
CN105518668A (zh) * | 2013-09-04 | 2016-04-20 | 沙祖拉公司 | 基于内容的图像检索 |
Also Published As
Publication number | Publication date |
---|---|
US20210141826A1 (en) | 2021-05-13 |
US11704357B2 (en) | 2023-07-18 |
AU2018202767B2 (en) | 2021-09-30 |
US10902053B2 (en) | 2021-01-26 |
GB2569833B (en) | 2021-04-28 |
US20190197133A1 (en) | 2019-06-27 |
DE102018003475A1 (de) | 2019-06-27 |
GB201806810D0 (en) | 2018-06-13 |
GB2569833A (en) | 2019-07-03 |
AU2018202767A1 (en) | 2019-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019912A (zh) | 基于形状的图形搜索 | |
US20210216830A1 (en) | Content tagging | |
US11093748B2 (en) | Visual feedback of process state | |
CN105493078B (zh) | 彩色草图图像搜索 | |
US9519660B2 (en) | Information processing apparatus, clustering method, and recording medium storing clustering program | |
CN110210276A (zh) | 一种移动轨迹获取方法及其设备、存储介质、终端 | |
CN108920580A (zh) | 图像匹配方法、装置、存储介质及终端 | |
CN110136198B (zh) | 图像处理方法及其装置、设备和存储介质 | |
US20210312523A1 (en) | Analyzing facial features for augmented reality experiences of physical products in a messaging system | |
US11521334B2 (en) | Augmented reality experiences of color palettes in a messaging system | |
JP2012226744A (ja) | 画質評価 | |
US11915305B2 (en) | Identification of physical products for augmented reality experiences in a messaging system | |
US20210312678A1 (en) | Generating augmented reality experiences with physical products using profile information | |
JP6787831B2 (ja) | 検索結果による学習が可能な対象検出装置、検出モデル生成装置、プログラム及び方法 | |
CN107315984B (zh) | 一种行人检索的方法及装置 | |
Alhazmi et al. | Effects of annotation quality on model performance | |
Fare et al. | Ancient roman coin retrieval: A systematic examination of the effects of coin grade | |
Zhu et al. | Gala: Toward geometry-and-lighting-aware object search for compositing | |
US20220414393A1 (en) | Methods and Systems for Generating Composite Image Descriptors | |
KR102616028B1 (ko) | 비주얼 로컬라이제이션을 효율적으로 수행하기 위한 방법 및 장치 | |
US20240161179A1 (en) | Identification of physical products for augmented reality experiences in a messaging system | |
Antunes | OMECO: Generating personalized business card designs from images | |
Setitra et al. | Fast binary shape categorization | |
Bhatt et al. | A Novel Saliency Measure Using Entropy and Rule of Thirds | |
Je et al. | DeepLip: block-based lip pixel detection by deep neural networks |
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 |