CN103283247A - 用于编索引、相似度搜索和分类的矢量变换 - Google Patents

用于编索引、相似度搜索和分类的矢量变换 Download PDF

Info

Publication number
CN103283247A
CN103283247A CN2011800610863A CN201180061086A CN103283247A CN 103283247 A CN103283247 A CN 103283247A CN 2011800610863 A CN2011800610863 A CN 2011800610863A CN 201180061086 A CN201180061086 A CN 201180061086A CN 103283247 A CN103283247 A CN 103283247A
Authority
CN
China
Prior art keywords
vector
arrangement
characteristic vector
binary system
sparse binary
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.)
Granted
Application number
CN2011800610863A
Other languages
English (en)
Other versions
CN103283247B (zh
Inventor
J·耶格尼克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN103283247A publication Critical patent/CN103283247A/zh
Application granted granted Critical
Publication of CN103283247B publication Critical patent/CN103283247B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/513Sparse representations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

将特征矢量编码成稀疏二进制矢量。例如从存储装置或者特征矢量生成器获取特征矢量。特征矢量表示媒体对象或者其它数据对象。生成一个或者多个排列,生成的排列的维数等同于特征矢量的维数。可以随机或者用公式生成排列。用一个或者多个排列来排列特征矢量,从而创建一个或者多个排列的特征矢量。根据选择的窗口大小截断排列的特征矢量。标识出表示排列的特征矢量的最大值的索引,并且使用一位热码编码来编码,从而产生一个或者多个稀疏二进制矢量。可以将稀疏二进制矢量连接成单个稀疏二进制矢量并且将其存储。可以在媒体对象的相似度搜索、编索引或者分类中使用稀疏二进制矢量。

Description

用于编索引、相似度搜索和分类的矢量变换
有关申请的交叉引用
本申请要求对于2010年11月11日提交的第61/412,711号临时申请的优先权,其通过引用并入于此。
技术领域
本公开内容总体涉及数据编索引、相似度搜索和分类领域,并且更具体地涉及操纵高维矢量空间数据。
背景技术
矢量常用来表示各种现象的特征空间。例如矢量用来表示图像、视频、音频剪辑和其它媒体的特征。应当注意,矢量空间操作的效用不限于数字媒体、而是还可以应用于其它数据、应用于物理对象或者应用于能够特征表示的任何其它实体。在媒体空间中,特征包括色分布(例如使用4x4个像素色调和饱和度直方图)、跨越色通道的色密度的均值和方差、在像素矩形以内和以外的色强度差、边缘、均值边缘强度、纹理、视频运动、音频音量、音频声谱特征、单词或者脸部存在于图像中或者任何其它适当的媒体性质。
矢量空间表示在数字媒体中的分类、编索引和相似度确定中特别有用;确定在数字媒体特征矢量之间的距离对这些操作是基本的。数字媒体的人工分类和编索引需要人类操作者并且针对大型媒体汇集而言造成昂贵和扩张到令人望而却步的操作。另外,在大型媒体库内的相似度搜索需要分析库中的所有条目,并且即使自动化的库分析也需要处理资源密集能力。遗憾的是,数字媒体的高维特征矢量也易有噪声,从而减少矢量距离确定对这样的矢量的有效性、并且减少用于检测对少量矢量特征的改变所产生的矢量距离差的能力。
许多数据分类任务依赖于矢量空间表示来表示感兴趣的特定数据。一种常见的数据分类操作涉及到确定在两个数据对象之间的相似度。使用数据对象的矢量空间表示允许基于在表示数据对象的两个矢量(诸如坐标矢量)之间的距离(诸如欧几里得距离)确定相似度。单个矢量分量的值的改变对在矢量之间的距离具有与矢量的维度数目成反比的影响。因此,矢量中的维度数目越大,单个矢量分量的改变对在矢量之间的距离具有的影响就越小。
在使用中,矢量空间操作中的矢量元素易受到无论自然地或者发生的噪声的影响。随着矢量空间中的维数增加,影响矢量个别元素的噪声的混合越来越多地影响在两个矢量之间的距离确定。距离确定中的混合噪声的量值(magnitude)可能由于对在高维矢量空间的单个矢量维度的改变而超过距离确定的改变量值。这在其中希望度量矢量中的少量元素的改变所引起的在矢量之间的距离改变的实例中成问题。
发明内容
对表示媒体对象或者其它数据对象的特征矢量进行编码。可以从存储模块获取或者可以由特征矢量生成器生成特征矢量。媒体对象或者其它数据对象可以例如是图像、视频、音频剪辑、数据库、电子表格或者文档。一个或者多个排列被生成,每个排列包括与特征矢量相同维数的序数矢量。随机生成一个或者多个排列从而产生每个排列的序数的随机排序。通过根据一个或者多个排列的序数对特征矢量的条目重新排序用排列来排列特征矢量,从而创建一个或者多个排列的特征矢量。
例如随机选择窗口大小。窗口大小可以从2到特征矢量的维数变化。可以选择窗口大小,从而朝着排列的特征矢量的开头来偏置编码的特征矢量。根据选择的窗口大小截断排列的特征矢量,从而维持数目与选择的窗口大小等同的开始矢量值,并且丢弃其余矢量值。标识每个截断的排列的特征矢量的最大值的索引并且例如使用一位热码编码来编码。可以将编码的索引连接成可以被存储用于后续获取的单个稀疏二进制矢量。
可以针对媒体库中的每个媒体对象产生一个或者多个稀疏二进制矢量(每个稀疏二进制数量与媒体对象的一个或者多个特定特征相关联)。可以在媒体库中与媒体对象结合存储稀疏二进制矢量。可以通过计算在与目标媒体对象相关联的稀疏二进制矢量和与每个存储的媒体对象相关联的一个或者多个稀疏二进制矢量之间的点积来对存储的稀疏二进制矢量和与目标媒体对象相关联的稀疏二进制矢量执行在目标媒体对象与媒体库之间的相似度搜索。可以选择与最大点积相关联的媒体对象作为关于与稀疏二进制相关联的一个或者多个特征而与目标媒体对象最相似的存储的媒体对象。
在一个实施例中,可以在多项式空间上对特征矢量编码。生成排列集合,集合中的排列数目等于多项空间的次。然后用排列集合来排列特征矢量,并且根据选择的窗口大小来截断所得的排列的特征矢量。创建与截断的排列矢量相同维数的乘积矢量,并且乘积矢量在每个索引处的值是每个截断的排列的矢量在特定索引处的值的乘积。然后标识乘积矢量的最大值的索引并且例如使用一位热码编码来编码以产生在多项式空间上表示特征矢量的稀疏二进制矢量。
数据处理系统可以将表示存储的媒体对象的特征矢量编码成稀疏二进制矢量,并且可以与存储的媒体对象结合存储稀疏二进制矢量。数据处理系统可以使用存储的稀疏二进制矢量以对媒体对象执行相似度搜索。稀疏二进制矢量也可以用来对媒体对象分类或者标记媒体对象、对媒体对象编索引以及处理与媒体对象有关的特征信息。
附图说明
图1是根据一个实施例的媒体托管服务的框图。
图2图示根据一个实施例的图1的矢量变换模块的各种部件。
图3图示根据一个实施例的图1的矢量变换模块对特征矢量的变换的一个简单示例实施例。
图4是根据一个实施例的用于将特征矢量编码成稀疏矢量的过程的流程图。
图5是根据一个实施例的用于将多项式空间编码成特征矢量的过程的流程图。
图6是根据一个实施例的用于针对可搜索媒体执行在用于目标媒体的稀疏二进制特征与用于可搜索媒体的稀疏二进制特征矢量之间的相似度搜索的过程的流程图。
附图仅出于示例的目的而描绘实施例。本领域技术人员将容易从下文描述中认识到可以运用这里所示结构和方法的备选实施例而未脱离这里描述的本发明的原理。
具体实施方式
图1是根据一个实施例的媒体托管服务的框图,在媒体托管服务中执行对表示媒体对象的矢量数据的数据处理操作。媒体托管服务100表示系统、比如YOUTUBETM系统,该系统存储并且向客户端、比如客户端135提供视频和其它媒体(比如图像、音频等)。媒体托管服务100经由网络140与多个内容提供者130和客户端135通信以支持在实体之间共享媒体内容。可以在内容提供者130和客户端135通过网络140可访问的云计算网络中实施媒体托管服务100。注意为了清楚,图1仅描绘内容提供者130和客户端135的一个实例,但是在实践中将有大量内容提供者和客户端。应当注意,尽管这里的描述出于简化的目的而主要仅涉及媒体对象,但是这里讨论的矢量变换同样适用于非媒体数据对象(比如文档、电子表格、数据汇集等)。
媒体托管服务100还包括前端接口102、媒体服务模块104。媒体搜索模块106、上传服务器108、特征模块110、矢量变换模块112、比较模块114、媒体存储模块116和矢量存储模块118。未示出其它常规特征、比如防火墙、负载平衡器、认证服务器、应用服务器、故障保护服务器、站点管理工具等以便更清楚地图示媒体托管服务100的特征。尽管适当服务100的示例是在www.youtube.com找到的YOUTUBE网站,但是其它媒体托管站点可以适于根据这里公开的教导来操作。可以实施媒体托管服务100的所示部件为单个或者多个软件或者硬件部件。一般而言,在一个实施例中描述为由一个部件执行的功能也可以在其它实施例中由其它部件执行或者由部件组合执行。另外,在一个实施例中描述为由媒体托管服务100的部件执行的功能如果适合则也可以在其它实施例中由一个或者多个客户端135执行。
客户端135是如下计算设备,这些计算设备执行客户端软件、例如web浏览器或者内置客户端应用以经由网络140连接到媒体托管服务100的前端接口102,并且显示媒体或者与媒体交互。客户端135可以例如是个人计算机、个人数字助理、蜂窝、移动或者智能电话、平板电脑或者膝上型计算机。网络140通常是因特网、但是可以是任何如下网络,该网络包括但不限于LAN、MAN、WAN、移动有线或者无线网络、专有网络或者虚拟专有网络。在一些实施例中,网络是云计算网络。
一般而言,内容提供者130向媒体托管服务100提供媒体内容,并且客户端135与该内容交互。在实践中,内容提供者也可以是客户端135。此外,内容提供者130可以是操作媒体托管服务100的相同实体。内容提供者130操作客户端以执行各种内容提供者功能。内容提供者功能可以例如包括向媒体托管服务100上传媒体文件、编辑媒体托管服务100存储的媒体文件、对媒体托管服务100存储的媒体编索引、请求分类和/或标记媒体托管服务100存储的媒体以及对媒体托管服务100存储的媒体执行相似度搜索。
客户端135也可以用来配置与媒体内容有关的查看器偏好。在一些实施例中,客户端135包括嵌入式媒体播放器、如例如来自Adobe系统公司的FLASH播放器或者适合于在媒体托管服务100中使用的媒体文件格式的任何其它播放器。客户端135可以适于请求媒体托管服务对存储的媒体执行相似度搜索、对存储的媒体编索引或者标记、对媒体取指纹、对媒体分类或者任何其它数据处理功能。
媒体托管服务100的上传服务器108从内容提供者130接收媒体内容。在媒体存储模块116中存储接收的内容。响应于来自客户端135的请求,媒体服务模块104向客户端135提供来自媒体存储模块116的媒体数据。客户端135也可以使用媒体搜索模块106、比如通过录入包含感兴趣的关键词的文本查询来搜寻媒体存储模块116中存储的感兴趣的媒体。前端接口102提供在客户端135与媒体托管服务100的各种部件之间的接口。
特征模块110被配置用于推导用于媒体对象或者其它数据对象i的统称为特征矢量Fi的特征集。将关于媒体对象描述以下实施例;然而该讨论也更一般地适用于其它数据对象。
将用于所有媒体对象的所有特征矢量Fi的集合表示为F。从媒体对象的一个或者多个性质或者特性(“特征”)推导每个特征矢量Fi。可以从媒体对象的视频、音频、文本、图像、元数据或者其它内容推导特征。例如特征矢量Fi可以包括如下特征,这些特征描述视频或者图像的运动、颜色、纹理、梯度、边缘、兴趣点、拐角或者其它可视特性。其它特征包括SIFT、SURF、GLOH、LESH和HoG以及空间比例和仿射表示。特征也可以包括音频特征、比如声谱特征和Mel频率倒谱系数等。文本特征可以包括如从媒体内容以及从元数据(例如媒体的描述或者摘要、标签、关键词等)推导的单词表示包以及TF/IDF值等。特征也可以包括表示用户与媒体数据的交互的数据、比如查看计数、下载、共同关注(co-watch)等。特征也可以包括类别和标签信息。特征模块110可以基于于2010年9月13日提交的第12/881,078号共同未决美国申请和于2010年11月19日提交的第12/950,955号共同未决美国申请中描述的特征来产生特征矢量Fi,每个上述美国申请的内容通过引用结合于此。特征模块110在矢量存储模块118中存储生成的特征矢量F。媒体存储模块116和矢量存储模块118可以是使用任何类型的数据获取机制、例如数据库、文件系统等的任何非瞬态计算机可读数据存储装置。
特征矢量F的条目(分量)是数值并且通常是实数值,并且每个特征矢量条目与序数或者索引关联。例如针对特征矢量[3,17,9,1],“3”被称为第一条目并且被认为是在索引“0”处,“17”被称为第二条目并且被认为是在索引“1”处,以此类推。每个特征矢量条目表示与用于媒体对象的特征矢量Fi表示的媒体对象的一个或者多个特定特征相关联的度量或者值。例如,如果上述特征矢量表示图像中的各种像素的亮度,则条目“3”、“17”、“9”和“1”中的每个条目可以表示对应像素的照度级。维数(或者基数)是特征矢量中的分量数目;在这一示例中,维数是4。在实践中,特征矢量F根据与特征矢量F相关联的媒体对象类型而具有上至500个维度的高维数。诸如视频之类的复杂媒体对象可以由具有一万或者甚至两万个维度的矢量表示。这些矢量的高维数使这里公开的方法提供的特征矢量的高效处理特别有益。
特征模块110可以针对媒体对象存储模块116中存储的媒体对象、针对内容提供者130上传的或者客户端135请求的媒体对象或者针对任何其它媒体对象而产生特征矢量Fi。特征模块110可以在从内容提供者130接收媒体对象时产生用于媒体对象的一个或者多个特征矢量,或者可以在例如矢量变换模块112查询时产生用于媒体对象的一个或者多个特征矢量。可以与媒体存储模块16中存储的媒体对象结合存储针对媒体对象生成的并且在矢量存储模块118中存储的特征矢量F以用于后续获取。
矢量变换模块112从矢量存储模块118获取媒体对象特征矢量F并且将获取的矢量F变换成稀疏二进制特征矢量S。图2图示根据一个实施例的矢量变换模块112的各种部件。矢量变换模块112包括排列模块200、窗口模块202、最大值索引模块204和编码器206。在其它实施例中,矢量变换112的模块执行与这里描述的功能不同的功能。
在从矢量存储模块118获取特征矢量之后,排列模块200用一个或者多个排列θj排列获取的特征矢量Fi。排列模块200可以生成一个或者多个排列θj或者可以例如从矢量存储模块118获取排列θj。排列θj是如下序数序列,该序数序列描述排列模块200对特征矢量Fi的分量的重新排序,该重新排序产生排列的特征矢量Pi,j的集合。排列θj的第i个条目是如下序数z,该序数表示特征矢量Fi中的如下值的索引,该值将移向排列的特征矢量Pi,j中的第i个索引。因此,用排列θj排列特征矢量Fi涉及到对Fi的条目重新排序,从而Pi,j(x)=Fij(x))。
图3图示根据一个实施例的矢量变换模块200对特征矢量的变换的一个简单示例实施例。在图3的示例中,针对目标媒体对象Ti从特征模块110获取特征矢量Fi。特征矢量Fi是矢量[3,9,17,4,11,6],该矢量表示目标媒体对象Ti的某一特征。
在图3的示例中,随机生成五个排列θ0至θ4的集合如下:
θ0=[4,1,0,5,3,2]
θ1=[5,3,4,1,0,2]
θ2=[4,2,5,3,1,0]
θ3=[0,3,2,5,4,1]
θ4=[1,0,3,5,2,4]
每个排列θj的维数与特征矢量Fi的维数相同。用每个排列θj排列特征矢量Fi产生5个排列矢量Pi,0至Pi,4。例如排列矢量Pi,0包括6个条目:
Pi,0(0)=Fi0(0))=Fi(4)=11
Pi,0(1)=Fi0(1))=Fi(1)=9
Pi,0(2)=Fi0(2))=Fi(0)=3
Pi,0(3)=Fi0(3))=Fi(5)=6
Pi,0(4)=Fi0(4))=Fi(3)=4
Pi,0(5)=Fi0(5))=Fi(2)=17
可以随机(例如随机选择而未从整数集合{0,N}替换,其中N是特征矢量的维数)或者用公式生成排列θj。可以例如在矢量存储模块118中存储生成的排列以用于后续使用。除了生成一个或者多个排列θj之外,排列模块200可以从矢量存储模块118获取先前生成的排列以便排列获取的特征矢量Fi。存储生成的排列允许在许多如下情境中使用排列,这些情境需要向表示媒体对象T2的特征矢量F2应用向表示媒体对象T1的特征矢量F1应用的相同排列。例如排列θj的相同集合用来排列表示目标媒体对象Ti和多个可搜索媒体对象Mz的特征矢量Fi和Fz以便标识多个可搜索媒体对象Mz中的与目标媒体对象Ti最相似的可搜索媒体对象Mz之一。在这一示例中,向特征矢量Fz应用并且在矢量存储模块118中存储排列θj的集合以用于后续获取和应用于特征矢量Fi
窗口模块202生成量值K,2≤K≤N,其中N是特征矢量Fi的维数。K被称作排列的矢量Pi,j的“窗口大小”。窗口模块202将排列的矢量Pi,j截断成维数K、从而通过保持Pi,j的前K个条目并且丢弃其余条目来产生截断的排列的矢量Pi,j,k。可以随机或者通过其它手段确定量值K。
针对其中比较用于多个媒体对象的征矢量Fi的实施例,相同量值K被用来截断每个媒体对象的排列的矢量Pi,j。备选地,尽管本文描述的其余部分假设K针对排列的矢量Pi,j的集合而言是恒定的,但K可以随着排列的矢量Pi,j而变化。窗口模块202可以存储与矢量存储模块118中的m个特征矢量的集合相对应的量值Km的集合以用于后续获取和截断与用于这些特征矢量的媒体对象相关联的排列的矢量。应当注意,在其中K等于特征矢量Fi的维数的实例中,并不截断排列的矢量Pi,j;在这样的实例中,Pi,j=Pi,j,k
在图3的示例中,窗口模块202确定量值K为4。窗口模块202然后将排列的矢量Pi,j截断成窗口大小4从而产生截断的排列的矢量Pi,j,k
Pi,0,4=[11,9,3,6]
Pi,1,4=[6,4,11,9]
Pi,2,4=[11,17,6,4]
Pi,3,4=[3,4,17,6]
Pi,4,4=[9,3,4,6]
最大值索引模块204针对每个截断的排列的矢量Pi,j,k标识如下截断的排列的矢量条目的索引,该矢量条目表示截断的排列的矢量Pi,j,k的最大值。在一个实施例中,最大值索引模块204通过比较截断的排列的矢量Pi,j,k在索引0处的值与Pi,j,k在索引1处的值、并且选择表示两个值中的更大值的索引来标识Pi,j,k的最大值的索引。最大值索引模块204接着比较选择的索引表示的值与Pi,j,k在索引2处的值并且选择表示两个值中的较大值的索引。针对Pi,j,k的每个条目重复这一过程从而产生选择的索引,该索引表示Pi,j,k的最大值。应当注意,在其中矢量Pi,j,k的最大值在Pi,j,k中出现两次的实例中,最大值索引模块204标识首先在Pi,j,k中出现的最大值的索引。
在图3的示例中,最大值索引模块204选择如下索引,该索引表示每个截断的排列的矢量的最大值。针对矢量Pi,0,4,最大值索引模块204标识最大值“11”位于索引0处。类似地,针对矢量Pi,1,4、Pi,2,4、Pi,3,4和Pi,4,4,最大值索引模块204标识最大值“11”、“17”、“17”和“9”分别位于索引2、1、2、0处(在这里描述的矢量中的最左边条目出现于索引0处)。
编码器206获取标识的如下索引,这些索引表示每个截断的排列的矢量Pi,j,k的最大值,并且对截断的排列的矢量Pi,j,k的标识的索引编码从而产生编码的矢量Ei,j,k。编码器206使用一位热码(one-hot)二进制编码方案对标识的索引编码从而产生与截断的排列的矢量Pi,j,k相同维数的编码的矢量Ei,j,k,而矢量Ei,j,k除了在标识的索引处的、设置成1的条目之外的每个条目设置成0。虽然本描述的其余部分限于一位热码编码的实例,但是在其它实施例中,编码器206对矢量Pi,j,k在标识的索引处的值(而不是仅对标识的索引)编码,或者利用除了这里描述的一位热码二进制编码方案之外的编码方案。例如编码器206可以使用最大值熵编码对标识的索引编码。尽管应当注意的是最大值熵编码并非矢量空间表示,但有益地的是,使用最大值熵编码对标识的索引编码仅需log2(y)比特以表示编码的索引,其中y是编码的矢量Ei,j,k的维数(与用于一位热码编码的y位比较)。
如果存在多于一个截断的排列的矢量Pi,j,k,则编码器206将编码的矢量Ei,j,k连接成存储于矢量存储模块118中用于后续获取的二进制矢量Si,k。通过使对窗口大小K的选择限于大于或者等于2的自然数,确保截断的排列的矢量Pi,j,k的维数大于或者等于2。对每个矢量Pi,j,k内的一个索引的选择造成对整个矢量Pi,j,k内的全部条目的50%或者更少的选择。因此,用一位热码二进制编码方案对选择的索引编码并且连接编码的索引造成Si,k的条目的少于50%设置成1从而确保Si,k是稀疏二进制矢量。除了这里描述的使用稀疏矢量S表示媒体对象特征的益处之外,还应当注意,对稀疏二进制矢量S执行矢量操作通常需要比对与稀疏二进制矢量S相关联的原有矢量执行相同操作更少的计算和存储资源。
在图3的示例中,编码器206将来自Pi,0,4的选择的索引0编码为Ei,0,4=[1,0,0,0]。类似地,将来自Pi,1,4、Pi,2,4、Pi,3,4和Pi,4,4的选择的索引2、1、2和0分别编码为Ei,1,4=[0,0,1,0]、Ei,2,4=[0,1,0,0]、i,3,4=[0,0,1,0]和Ei,4,4=[1,0,0,0]。编码器206然后将这些编码的矢量Ei,j,4连接在一起以形成稀疏二进制矢量Si,4=[1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0]。
矢量变换模块112执行的编码可以被扩展成特征空间的多项式展开。针对p次多项式空间,生成排列θp的集合,并且用排列θp的集合排列特征矢量Fi从而产生排列的矢量Pi,p的集合。选择量值K并且截断排列的矢量产生截断的排列的矢量Pi,p,k。确定跨所有矢量Pi,p,k的每个维度的乘积,从而产生乘积矢量P’i,k,使得针对所有0≤x≤K-1而言P’i,k(x)=Pi,1,k(x)*Pi,2,k(x)*...*Pi,p,1,k(x)*Pi,p,k(x)。然后确定P’i,k的最大值条目并且将其编码成稀疏二进制矢量。与图3的示例实施例相似,可以针对排列θp,j的多个集合执行这一编码从而产生多个稀疏二进制矢量Sp,这些稀疏二进制矢量可以连接在一起以形成更长稀疏二进制矢量S。以这一方式对特征空间的多项式展开编码产生与首先计算展开的多项式特征空间、并继而后续对展开的特征空间编码等效的结果、但却可以被高效得多地执行,因为编码出现于更小特征空间上。
通过将特征矢量F编码成稀疏二进制矢量S并且通过选择K=n,矢量变换模块112执行最小哈希算法,该算法需要对二进制矢量的随机排列中的第一个1值的索引编码。针对特征空间的多项式展开的实例,可以在对数时间内在二进制超立方体的组合空间内计算最小哈希。因此针对p次多项式空间,与用于首先展开多项式特征空间、然后计算最小哈希的时间O(np)相比可以在O(p)时间内计算最小哈希。
这里描述的稀疏二进制矢量S基于特征矢量F的相对秩排序从而允许稀疏二进制矢量S对如下噪声有适应力,该噪声未影响F的元素的隐式排序。如上文讨论的那样,在确定高维矢量中的欧几里得距离时,噪声与矢量的维数成比例混合从而由于混合的噪声在量值上降低少量矢量条目的改变而造成对距离确定的少量改变。通过利用相对秩排序,这里的稀疏二进制矢量S很大程度上对这样的噪声混合免疫,因为每个维度的确切值对于元素的排行变成次级重要,从而使与单个维度相关联的噪声的影响限于该维度和最近邻近排行维度的值。噪声在它大到足以影响特征矢量F的排序时只变得与这里描述的矢量操作相关。因此,噪声的不变性的程度等效于特征矢量F的值的方差(variance)。
这里的稀疏二进制矢量S也耐受如下变化,这些变化未影响特征模块110、矢量变换模块112或者任何其它部件对特征矢量F的元素的隐式排序。例如矢量F可以乘以标量值而未变更矢量F的元素的排序并且因此未影响产生的稀疏二进制矢量S。类似地,可以向矢量F的所有元素添加恒定值而未影响矢量F的并且因此未影响矢量S的元素的排序。类似地,只要矢量F的元素的排序不受影响,可以个别调整或者改变矢量F内的值。例如针对矢量Fi=[2,9,4,13],值“4”可以在区间[3,8]之间波动而不影响Fi的元素和相关联矢量Si的值的排序的排行。
窗口模块202对K的选择确定编码器206编码的信息量。上文讨论的一位热码编码将截断的排列的矢量Pi,j,k的最大值的索引编码为编码的矢量Ei,j,k中的1,并且将Pi,j,k的其余索引编码为Ei,j,k中的0。编码的矢量Ei,j,k包括关于Pi,j,k中的K-1个不等式的信息。例如如果Ei,j,k=[0,1,0,0],则可以确定Pi,j,k(0)<Pi,j,k(1)、Pi,j,k(2)≤Pi,j,k(1)并且Pi,j,k(3)≤Pi,j,k(1)。这由以下不等式概括:针对所有0≤x≤K-1:x≠y,Pi,j,k(x)≤Pi,j,k(y)|Ei,j,k(y)=1。因此,编码器206编码的不等式数目依赖于窗口模块202对K的选择。
针对K=2的实施例,编码器206将不等式逐对编码为位。在这一实施例中计算在矢量变换模块112变换成稀疏二进制矢量的两个特征矢量Fi之间的汉明相似度或者点积产生如下结果,该结果表示在两个稀疏二进制矢量之间的逐对顺序协定数目。
针对K=n的实施例,其中n是特征矢量Fi的维数,每个截断的排列的矢量Pi,j,k的最大值条目是特征矢量Fi的全局最大值。由于每个排列对如下K-1个不等式编码,这些不等式涉及该排列的前K个元素内的最大值条目,所以选择K=n在编码期间将全重点放在排列的开头。类似地,如上文讨论的那样,选择K=2并不将任何偏置放在排列的开头,因为所有的对都被编码。因此,随着K逼近n,对截断的排列编码造成朝着排列的开头的逐渐陡峭偏置。
返回图1,应当注意,矢量变换模块112可以在被请求时实时产生用于媒体对象的稀疏二进制特征矢量S或者可以预先产生稀疏二进制特征矢量S。例如矢量变换模块112可以针对媒体存储模块116中存储的每个媒体对象产生一个或者多个稀疏二进制特征矢量S。可以与存储的媒体对象结合在矢量存储模块118中存储预先产生的稀疏二进制特征矢量S。类似地,可以在矢量存储模块118中存储用来产生矢量S的其它参数、比如排列θj、量值K、特征模块110用来产生用于媒体对象的特征矢量F的特征、编码器206使用的编码类型或者与创建稀疏二进制特征矢量S有关的任何其它参数。通过预先确定用于媒体存储模块116中存储的媒体对象的稀疏二进制特征矢量S,媒体托管服务100(例如经由比较模块114)可以对存储的媒体执行与媒体特征有关的多种功能而无需实时产生用于存储的媒体的稀疏二进制特征矢量S。
比较模块114比较表示两个或者更多媒体对象的稀疏二进制特征矢量S以执行在两个或者更多媒体对象之间的多种比较函数。一个示例比较函数包括在目标媒体对象Ti与多个可搜索媒体对象Mz之间的相似度搜索。矢量变换模块112获取用于目标媒体对象Ti的特征矢量Fi并且产生用于对象Ti的稀疏二进制特征矢量Si。比较模块114然后扫描表示多个媒体对象Mz的多个稀疏二进制特征矢量Si并且标识与矢量Si最相似的稀疏二进制特征矢量Sz。为了在稀疏二进制特征矢量之间进行相似度确定,相同参数必须用来创建稀疏二进制特征矢量Si和稀疏二进制特征矢量Sz二者。
为了标识与稀疏二进制特征矢量Si最相似的稀疏二进制特征矢量Sz,比较模块114执行在Si与每个Sz之间的矢量点积。比较模块114被配置用于标识与Si产生最大点积的稀疏二进制特征矢量Sz并且选择与标识的矢量Sz关联的媒体对象Mz作为与目标媒体对象Ti最相似的媒体对象。应当注意,出于这里描述的相似度搜索的目的,基于与每个媒体对象相关联的稀疏二进制矢量的相似度被确定为与目标媒体对象Ti最相似的选择的媒体对象Mz仅被确定为关于用来产生稀疏二进制矢量的一个或者多个特征与目标媒体对象Ti最相似。
可以通过将与媒体对象相关联Mz的稀疏媒体矢量Sz组合成表来执行相似度搜索从而有益地允许比较模块114同时高效地查询表以及对稀疏媒体矢量Sz的整个集合执行点积。通过连接用于媒体对象Mz的稀疏二进制矢量Sz的多个集合可以使搜索与目标媒体对象Ti相似的媒体对象Mz更准确或者可以增强该搜索。可以通过将与矢量Sz的多个集合中的每个集合关联的用于目标媒体对象Ti的稀疏二进制矢量Si连接在一起并且执行在表示媒体对象Mz和目标媒体对象Ti的连接的稀疏二进制矢量之间的点积来查询这些连接的媒体对象矢量。多个稀疏二进制矢量集合中的每个集合表示不同特征,并因此对表示多个特征的连接的稀疏二进制矢量执行相似度搜索将增强相似度搜索的准确度,因为比较模块114将标识关于多个特征而不是仅单个特征与Ti最相似的媒体对象Mz
如这里描述的相似度搜索可以在多种情境中由比较模块114执行。可以对图像库执行相似度搜索以标识将作为用于视频编码的参考图像而使用的图像。例如可以与于2011年4月8日提交的美国专利申请13/083,423中描述的图像获取系统结合地执行相似度搜索,该美国专利申请的内容通过引用结合于此。也可以在标识数据集中的重复媒体和数据这样的情境中对媒体和其它数据执行相似度搜索从而允许丢弃重复数据、减少数据集的占用空间(footprint)。
比较模块114也可以执行其它比较功能。例如比较模块114使用矢量变换模块112产生的稀疏二进制矢量Sz对媒体存储模块116中存储的媒体对象Mz编索引。可以在媒体存储模块116中与媒体对象Mz结合存储索引。给定足够高的维数,存储的索引可以用来唯一标识媒体对象Mz。比较模块114可以在针对目标媒体对象Ti在媒体对象Mz之中执行最近邻近搜索时使用存储的索引。类似地,可以存储和使用稀疏二进制矢量Sz以对媒体对象Mz取指纹。
比较模块114可以使用矢量变换模块112产生的稀疏二进制矢量Sz以对媒体对象Mz标记或者分类。比较模块114可以将稀疏二进制矢量Sz与特定媒体主题内容或者类别进行关联。因而,比较模块114可以基于媒体对象Mz的稀疏二进制矢量Sz以及与稀疏二进制矢量Sz相关联的类别和主题内容对媒体对象Mz分类或者标记。使用稀疏二进制矢量Sz对媒体对象分类和标记有益地允许对大规模媒体对象库高效地分类和标记,并且允许向当前与目标媒体对象交互的媒体托管服务100的用户显示按类别和标签与目标媒体对象有关的媒体对象。
图4是根据一个实施例的用于将特征矢量编码成稀疏矢量的过程的流程图。特征矢量被获取400。获取的特征矢量包括表示媒体对象(比如图像、视频或者音频剪辑)或者其它数据对象(比如数据汇集、数据条目、电子表格或者文档)的特征信息。特征信息可以包括如下信息,该信息表示视频序列的运动刚度、使用HSV色空间中的色调和饱和度来计算的色直方图、音频声谱特征、数据方差和媒体或者其它数据的任何其它属性。
例如随机或者用公式生成410排列集合。每个排列包括与获取的矢量相同维数的矢量,并且每个排列矢量条目包括表示矢量索引的序数。排列集合可以包括一个排列或者许多(例如数以百计)的排列。用每个排列来排列420特征矢量从而产生排列的矢量集合。将排列的矢量集合截断430成选择的窗口大小确定的量值。可以随机确定或者可以选择该选择的窗口大小以使编码朝着排列的矢量的开头偏置。截断排列的矢量涉及到(按顺序)保持数目与选择的窗口大小相等的第一排列的矢量条目并且丢弃其余排列的矢量条目。
标识440每个截断的排列的矢量的最大值的索引。可以通过执行在截断的排列的矢量条目对之间的矢量条目比较以标识两个条目中的更大条目、比较两个条目中的更大条目与下一截断的排列的矢量条目、并且针对其余条目重复该过程来标识每个截断的排列的矢量的最大值。例如使用一位热码二进制编码方案或者任何其它适当编码方案将每个截断的排列的矢量的最大值的标识的索引编码450成稀疏二进制子矢量。将稀疏二进制子矢量连接460成表示获取的特征矢量的稀疏二进制矢量。可以与特征矢量结合存储稀疏二进制矢量以用于后续获取和处理。
图5是根据一个实施例的用于将特征矢量的p次多项式空间编码成稀疏矢量的过程的流程图。特征矢量被获取500,并且生成510排列集合p。用每个生成的排列来排列520特征矢量从而产生p个排列的矢量。将p个排列的矢量截断530成选择的窗口大小。
针对截断的矢量的每个索引,将每个截断的矢量在索引处的值一起相乘540以形成乘积矢量条目。乘积矢量条目共同形成乘积矢量而每个乘积矢量条目位于与截断的矢量的相乘的值相关联的乘积矢量索引处。标识550乘积矢量中的最大值的索引并且将其编码560成稀疏二进制索引。与图4的过程相似,这一过程可以被应用于p个排列的许多集合从而产生可以连接成稀疏二进制矢量的稀疏二进制子矢量。
图6是根据一个实施例的用于执行在用于目标媒体的稀疏二进制特征矢量与用于可搜索媒体的稀疏二进制特征矢量之间的相似度搜索的过程的流程图。获取600与目标媒体相关联的稀疏二进制特征矢量。类似地获取610与可搜索媒体相关联的稀疏二进制特征矢量。可以使用图4的过程来在先前计算稀疏二进制特征矢量,并且将其存储以用于后续获取。备选地,可以响应于从媒体系统的用户或者客户端接收针对相似度搜索的请求来计算稀疏二进制特征矢量。
在与目标媒体相关联的稀疏二进制矢量和与可搜索媒体相关联的每个稀疏二进制矢量之间计算620点积。选择630与产生最大点积的可搜索媒体相关联的稀疏二进制矢量作为与目标媒体相关联的稀疏二进制矢量最相似的稀疏二进制矢量。可以选择与选择的稀疏二进制矢量相关联的可搜索媒体作为关于与稀疏二进制矢量相关联的一个或者多个特征与目标媒体最相似的可选择媒体。
已经关于一个可能实施例特别具体地描述本发明。本领域技术人员将理解,可以在其它实施例中实现本发明。首先,部件和变量的特定命名、术语的大写、属性、数据结构或者任何其它编程或者结构方面并非必需或者重要的,并且实施本发明或者它的特征的机制可以具有不同名称、格式或者协议。并且,在这里描述的各种系统部件之间的特定功能划分也仅为举例而非必需;单个系统部件执行的功能可以代之以由多个部件执行,并且多个部件执行的功能可以代之以由单个部件执行。
上文描述的一些部分在对信息的操作的算法和符号表示方面呈现本发明的特征。这些算法描述和表示是数据处理领域技术人员用来向本领域其他技术人员最有效地传达他们的工作实质的手段。这些操作在功能或者逻辑上被描述之时被理解为由计算机程序实施。另外,将这些操作布置称为模块或者冠以功能名称也已经证实有时是便利的而不失一般性。
除非如从上文讨论中清楚的那样另有具体陈述,否则应理解在说明书全文中,利用术语、比如“确定”的讨论指代如下计算机系统或者相似电子计算设备的动作和过程,该计算机系统或者相似电子计算设备操控和变换在计算机系统存储器或者寄存器或者其它这样的信息储存器、传输或者显示设备内表示为物理(电子)数量的数据。
本发明的某些方面包括这里以算法的形式描述的过程步骤和指令。应当注意,可以用软件、固件或者硬件具体化本发明的过程步骤和指令,并且在用软件具体化时可以下载这些过程步骤和指令以驻留于由实时网络操作系统使用的不同平台上并且从不同平台操作。
本发明也涉及一种用于执行这里的操作的装置。这一装置可以被具体构造用于所需目的,或者它可以包括由在计算机可以访问的计算机可读介质上存储的计算机程序有选择地激活或者重新配置的通用计算机。这样的计算机程序可以存储于计算机可读存储介质中,该计算机可读存储介质比如但不限于包括软盘、光盘、CD-ROM、光磁盘的任何类型的盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或者光卡、专用集成电路(ASIC)或者适合用于存储电子指令并且各自耦合到计算机系统总线的任何类型的计算机可读存储介质。另外,在说明书中指代的计算机可以包括单个处理器或者可以是为了增加的计算能力而运用多处理器设计的架构。
这里呈现的算法和操作并非固有地与任何特定计算机或者其它装置有关。各种通用系统也可以与根据这里的教导的程序一起使用,或者构造更专门化的装置以执行所需方法步骤可以证实是便利的。用于多种这些系统的所需结构将与等效变化一起为本领域技术人员所清楚。此外,未参照任何特定编程语言描述本发明。理解到多种编程语言可以用来实施如这里描述的本发明的教导并且提供对具体语言的任何引用以便实现本发明和本发明的最佳实施方式。
本发明良好地适合于诸多拓扑之上的广泛多种计算机网络系统。在这一领域内,大型网络的配置和管理包括通过网络、比如因特网通信地耦合到相异计算机和存储设备的存储设备和计算机。
最后应当注意,在说明书中使用的语言已经主要出于可读性和教导的目的而加以选择并且可以未被选择成界定或者限制发明主题内容。因而,本发明的公开内容旨在于举例说明而非限制在所附权利要求中阐述的本发明的范围。

Claims (30)

1.一种对特征矢量进行编码的计算机实施的方法,所述方法包括:
获取特征矢量,所述特征矢量表示目标媒体对象;
生成排列,所述排列包括序数矢量,其中所述排列矢量的维数等同于所述特征矢量的维数;
用所述生成的排列来排列所述特征矢量;
根据选择的窗口大小截断所述排列的特征矢量;
标识所述截断的排列的特征矢量的最大值的索引;以及
产生稀疏二进制矢量,所述稀疏二进制矢量包括使用一位热码编码来编码的所述标识的索引。
2.根据权利要求1所述的方法,其中所述特征矢量表示的所述目标媒体对象包括以下各项之一:图像、视频剪辑和音频剪辑。
3.根据权利要求1所述的方法,其中所述排列是随机生成的。
4.根据权利要求1所述的方法,其中用所述生成的排列来排列所述特征矢量包括根据所述排列的所述序数来对所述特征矢量的所述条目重新排序。
5.根据权利要求1所述的方法,其中所述窗口大小大于或者等于2、并且小于或者等于所述特征矢量的维数。
6.根据权利要求5所述的方法,其中所述选择的窗口大小越大,朝着在所述排列的特征矢量的开头的所述条目的偏置就越大,并且其中所述窗口大小是基于这一偏置而选择的。
7.根据权利要求1所述的方法,其中所述窗口大小是随机选择的。
8.根据权利要求1所述的方法,其中所述稀疏二进制矢量被配置用于与可搜索媒体对象相关联的可搜索稀疏二进制矢量集合比较,以确定哪个可搜索媒体对象与所述目标媒体对象最相似。
9.根据权利要求8所述的方法,其中将所述稀疏二进制矢量与所述可搜索稀疏二进制矢量集合比较包括:
计算在所述稀疏二进制矢量与所述可搜索稀疏二进制矢量集合的每个可搜索稀疏二进制矢量之间的点积;
选择与最大点积相关联的所述可搜索稀疏二进制矢量;以及
标识与所述选择的可搜索稀疏二进制矢量相关联的所述可搜索媒体对象。
10.一种非瞬态计算机可读存储介质,其具有在其中具体化的可执行计算机程序指令,所述可执行计算机程序指令用于增进视频分类得分,所述计算机程序指令的动作包括:
获取特征矢量,所述特征矢量表示目标媒体对象;
生成排列,所述排列包括序数矢量,其中所述排列矢量的维数等同于所述特征矢量的维数;
用所述生成的排列来排列所述特征矢量;
根据选择的窗口大小截断所述排列的特征矢量;
标识所述截断的排列的特征矢量的最大值的索引;以及
产生稀疏二进制矢量,所述稀疏二进制矢量包括使用一位热码编码来编码的所述标识的索引。
11.根据权利要求10所述的非瞬态计算机可读存储介质,其中所述特征矢量表示的所述目标媒体对象包括以下各项之一:图像、视频剪辑和音频剪辑。
12.根据权利要求10所述的非瞬态计算机可读存储介质,其中所述排列是随机生成的。
13.根据权利要求10所述的非瞬态计算机可读存储介质,其中用所述生成的排列来排列所述特征矢量包括根据所述排列的所述序数来对所述特征矢量的所述条目重新排序。
14.根据权利要求10所述的非瞬态计算机可读存储介质,其中所述窗口大小大于或者等于2、并且小于或者等于所述特征矢量的维数。
15.根据权利要求14所述的非瞬态计算机可读存储介质,其中所述选择的窗口大小越大,朝着在所述排列的特征矢量的开头的所述条目的偏置就越大,并且其中所述窗口大小是基于这一偏置而选择的。
16.根据权利要求10所述的非瞬态计算机可读存储介质,其中所述窗口大小是随机选择的。
17.根据权利要求10所述的非瞬态计算机可读存储介质,其中所述稀疏二进制矢量被配置用于与可搜索媒体对象相关联的可搜索稀疏二进制矢量集合比较,以确定哪个可搜索媒体对象与所述目标媒体对象最相似。
18.根据权利要求17所述的非瞬态计算机可读存储介质,其中将所述稀疏二进制矢量与所述可搜索稀疏二进制矢量集合比较包括:
计算在所述稀疏二进制矢量与所述可搜索稀疏二进制矢量集合的每个可搜索稀疏二进制矢量之间的点积;
选择与最大点积相关联的所述可搜索稀疏二进制矢量;以及
标识与所述选择的可搜索稀疏二进制矢量相关联的所述可搜索媒体对象。
19.一种用于对特征矢量进行编码的计算机系统,所述系统包括:
计算机处理器;以及
存储有可执行计算机程序指令的非瞬态计算机可读存储介质,所述可执行计算机程序指令包括:
获取特征矢量,所述特征矢量表示目标媒体对象;
生成排列,所述排列包括序数矢量,其中所述排列矢量的维数等同于所述特征矢量的维数;
用所述生成的排列来排列所述特征矢量;
根据选择的窗口大小截断所述排列的特征矢量;
标识所述截断的排列的特征矢量的最大值的索引;以及
产生稀疏二进制矢量,所述稀疏二进制矢量包括使用一位热码编码来编码的所述标识的索引。
20.一种对特征矢量进行编码的计算机实施的方法,所述方法包括:
获取特征矢量,所述特征矢量表示目标对象;
生成排列集合,所述排列包括序数矢量,其中所述排列矢量的维数等同于所述特征矢量的维数;
用所述排列集合来排列所述特征矢量,从而创建排列的特征矢量集合;
根据选择的窗口大小截断所述排列的特征矢量集合,从而创建截断的排列的特征矢量集合;
标识所述截断的排列的特征矢量集合中的每个截断的排列的特征矢量的最大值的索引;
产生稀疏二进制子矢量集合,每个稀疏二进制子矢量包括截断的排列的特征矢量的、编码的标识的索引;以及
连接所述稀疏二进制子矢量以产生稀疏二进制矢量。
21.根据权利要求20所述的方法,还包括:
产生用于多个存储的可搜索对象中的每个可搜索对象的稀疏二进制矢量;以及
与所述存储的可搜索对象结合地存储所述产生的稀疏二进制矢量。
22.根据权利要求21所述的方法,其中每个存储的稀疏二进制矢量唯一地标识与所述存储的稀疏二进制矢量相关联的所述存储的可搜索对象。
23.根据权利要求21所述的方法,其中所述存储的稀疏二进制矢量被配置用于在执行最近邻近搜索以标识与目标稀疏二进制矢量最近的存储的稀疏二进制时使用。
24.根据权利要求21所述的方法,其中所述存储的稀疏二进制矢量包括用于所述存储的可搜索对象的数字指纹。
25.根据权利要求21所述的方法,其中所述存储的稀疏二进制矢量被配置用于在对所述存储的可搜索对象分类时使用。
26.根据权利要求20所述的方法,其中所述特征矢量包括特征矢量的多项式空间,所述特征矢量的所述多项式空间包括多项式阶次。
27.根据权利要求26所述的方法,还包括:
生成第二排列集合,所述第二排列集合包括与所述多项式阶次等同数目的排列;
用所述第二排列集合来排列每个排列的特征矢量,从而创建用于每个排列的特征矢量的排列的特征矢量子集;
根据所述选择的窗口大小截断每个排列的特征矢量子集中的每个矢量,从而创建用于每个排列的特征矢量的截断的排列的特征矢量子集;以及
针对截断的排列的特征矢量的每个子集:
针对所述截断的排列的特征矢量的每个索引,将每个截断的排列的特征矢量在所述索引处的值一起相乘以形成乘积矢量条目,所述乘积矢量包括与所述截断的排列的特征矢量相同的维数,所述乘积矢量条目位于所述索引处;
标识所述乘积矢量的最大值的所述索引;以及
将所述标识的索引编码为所述稀疏二进制子矢量。
28.根据权利要求27所述的方法,其中所述编码是一位热码编码。
29.根据权利要求20所述的方法,还包括:
产生子编码集合,每个子编码包括使用最大值熵编码来编码的截断的排列的特征矢量的标识的索引;以及
连接所述子编码集合以产生编码。
30.根据权利要求20所述的方法,其中所述编码的标识索引是使用一位热码编码进行编码的。
CN201180061086.3A 2010-11-11 2011-11-03 用于编索引、相似度搜索和分类的矢量变换 Active CN103283247B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US41271110P 2010-11-11 2010-11-11
US61/412,711 2010-11-11
PCT/US2011/059183 WO2012064587A2 (en) 2010-11-11 2011-11-03 Vector transformation for indexing, similarity search and classification

Publications (2)

Publication Number Publication Date
CN103283247A true CN103283247A (zh) 2013-09-04
CN103283247B CN103283247B (zh) 2014-11-12

Family

ID=45953565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180061086.3A Active CN103283247B (zh) 2010-11-11 2011-11-03 用于编索引、相似度搜索和分类的矢量变换

Country Status (6)

Country Link
US (1) US8165414B1 (zh)
EP (1) EP2638701B1 (zh)
CN (1) CN103283247B (zh)
AU (1) AU2011326269B2 (zh)
CA (1) CA2814401C (zh)
WO (1) WO2012064587A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104090882A (zh) * 2013-11-14 2014-10-08 深圳市腾讯计算机系统有限公司 一种广告订单的快速聚类方法及系统、服务器
CN108984747A (zh) * 2018-07-17 2018-12-11 厦门美图之家科技有限公司 音频检索索引生成方法及装置
CN112434722A (zh) * 2020-10-23 2021-03-02 浙江智慧视频安防创新中心有限公司 基于类别相似度的标签平滑计算的方法、装置、电子设备及介质
WO2021143800A1 (en) * 2020-01-15 2021-07-22 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for semantic analysis of multimedia data using attention-based fusion network

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9135712B2 (en) * 2012-08-01 2015-09-15 Augmented Reality Lab LLC Image recognition system in a cloud environment
CN104520878A (zh) * 2012-08-07 2015-04-15 Metaio有限公司 提供用于描述对象表示的至少一个特征的特征描述符的方法
TWI498845B (zh) * 2012-12-14 2015-09-01 Ind Tech Res Inst 飲食管理方法與系統
US9659085B2 (en) * 2012-12-28 2017-05-23 Microsoft Technology Licensing, Llc Detecting anomalies in behavioral network with contextual side information
US10649970B1 (en) * 2013-03-14 2020-05-12 Invincea, Inc. Methods and apparatus for detection of functionality
US9286902B2 (en) 2013-12-16 2016-03-15 Gracenote, Inc. Audio fingerprinting
US10394828B1 (en) 2014-04-25 2019-08-27 Emory University Methods, systems and computer readable storage media for generating quantifiable genomic information and results
JP6260442B2 (ja) * 2014-05-02 2018-01-17 富士通株式会社 情報処理方法及びプログラム
KR102172321B1 (ko) 2014-05-20 2020-10-30 삼성전자주식회사 데이터 중복 제거 방법
US10115146B1 (en) 2015-01-08 2018-10-30 Google Llc Scoring candidates for set recommendation problems
WO2017011702A1 (en) * 2015-07-15 2017-01-19 Cylance Inc. Malware detection
US9690938B1 (en) 2015-08-05 2017-06-27 Invincea, Inc. Methods and apparatus for machine learning based malware detection
US9672358B1 (en) * 2015-11-04 2017-06-06 Invincea, Inc. Methods and apparatus for detecting malware samples with similar image sets
WO2017082875A1 (en) 2015-11-10 2017-05-18 Hewlett Packard Enterprise Development Lp Data allocation based on secure information retrieval
US9805269B2 (en) * 2015-11-20 2017-10-31 Adobe Systems Incorporated Techniques for enhancing content memorability of user generated video content
US10606879B1 (en) 2016-02-29 2020-03-31 Gracenote, Inc. Indexing fingerprints
US10326585B2 (en) 2016-06-17 2019-06-18 Hewlett Packard Enterprise Development Lp Hash value generation through projection vector split
US9531989B1 (en) 2016-06-17 2016-12-27 Spotify Ab Devices, methods and computer program products for playback of digital media objects using a single control input
WO2017223294A1 (en) 2016-06-22 2017-12-28 Invincea, Inc. Methods and apparatus for detecting whether a string of characters represents malicious activity using machine learning
US11080301B2 (en) * 2016-09-28 2021-08-03 Hewlett Packard Enterprise Development Lp Storage allocation based on secure data comparisons via multiple intermediaries
US10754948B2 (en) 2017-04-18 2020-08-25 Cylance Inc. Protecting devices from malicious files based on n-gram processing of sequential data
US10984045B2 (en) * 2017-05-24 2021-04-20 International Business Machines Corporation Neural bit embeddings for graphs
US20190102463A1 (en) * 2017-09-29 2019-04-04 Facebook, Inc. Systems and methods for providing location-based subscriptions and notifications
WO2019079490A1 (en) * 2017-10-18 2019-04-25 Memorial Sloan Kettering Cancer Center PROBABILISTIC MODELING TO MATCH PATIENTS WITH CLINICAL TRIALS
US10311913B1 (en) 2018-02-22 2019-06-04 Adobe Inc. Summarizing video content based on memorability of the video content
US11106708B2 (en) * 2018-03-01 2021-08-31 Huawei Technologies Canada Co., Ltd. Layered locality sensitive hashing (LSH) partition indexing for big data applications
US11416461B1 (en) 2019-07-05 2022-08-16 The Nielsen Company (Us), Llc Methods and apparatus to estimate audience sizes of media using deduplication based on binomial sketch data
US11561942B1 (en) 2019-07-05 2023-01-24 The Nielsen Company (Us), Llc Methods and apparatus to estimate audience sizes of media using deduplication based on vector of counts sketch data
US11361362B2 (en) * 2019-08-16 2022-06-14 Salesforce, Inc. Method and system utilizing ontological machine learning for labeling products in an electronic product catalog
US11238103B2 (en) * 2019-09-13 2022-02-01 Ebay Inc. Binary coding for improved semantic search
US11995088B2 (en) * 2020-12-29 2024-05-28 Atlassian Pty Ltd. Systems and methods for identifying similar electronic content items
WO2024005784A1 (en) * 2022-06-28 2024-01-04 Innopeak Technology, Inc. Text-to-video retrieval using shifted self-attention windows
CN117454015B (zh) * 2023-12-19 2024-04-12 深圳须弥云图空间科技有限公司 一种信息推荐方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545807A (zh) * 2002-05-20 2004-11-10 ������������ʽ���� 信号记录/再现装置和记录/再现方法、信号再现装置和再现方法以及程序
US7248782B2 (en) * 2000-10-06 2007-07-24 Nec Corporation Image retrieving apparatus, image retrieving method and recording medium for recording program to implement the image retrieving method
CN101247470A (zh) * 2007-02-14 2008-08-20 三菱电机株式会社 用于检测视频中的场景边界的由计算机实现的方法
WO2009141759A1 (en) * 2008-05-19 2009-11-26 Koninklijke Philips Electronics N.V. Noise robust helper data system (hds)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US6910035B2 (en) * 2000-07-06 2005-06-21 Microsoft Corporation System and methods for providing automatic classification of media entities according to consonance properties
US7065416B2 (en) * 2001-08-29 2006-06-20 Microsoft Corporation System and methods for providing automatic classification of media entities according to melodic movement properties
US6892193B2 (en) * 2001-05-10 2005-05-10 International Business Machines Corporation Method and apparatus for inducing classifiers for multimedia based on unified representation of features reflecting disparate modalities
US8059815B2 (en) * 2001-12-13 2011-11-15 Digimarc Corporation Transforming data files into logical storage units for auxiliary data through reversible watermarks
US8312031B2 (en) * 2005-10-26 2012-11-13 Cortica Ltd. System and method for generation of complex signatures for multimedia data content
US7765192B2 (en) * 2006-03-29 2010-07-27 Abo Enterprises, Llc System and method for archiving a media collection
US7941516B2 (en) * 2007-06-15 2011-05-10 Microsoft Corporation Redundant pile of inexpensive drivers (RPID)
US8429216B2 (en) * 2008-09-23 2013-04-23 Hewlett-Packard Development Company, L.P. Generating a hash value from a vector representing a data object

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7248782B2 (en) * 2000-10-06 2007-07-24 Nec Corporation Image retrieving apparatus, image retrieving method and recording medium for recording program to implement the image retrieving method
CN1545807A (zh) * 2002-05-20 2004-11-10 ������������ʽ���� 信号记录/再现装置和记录/再现方法、信号再现装置和再现方法以及程序
CN101247470A (zh) * 2007-02-14 2008-08-20 三菱电机株式会社 用于检测视频中的场景边界的由计算机实现的方法
WO2009141759A1 (en) * 2008-05-19 2009-11-26 Koninklijke Philips Electronics N.V. Noise robust helper data system (hds)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104090882A (zh) * 2013-11-14 2014-10-08 深圳市腾讯计算机系统有限公司 一种广告订单的快速聚类方法及系统、服务器
US9977995B2 (en) 2013-11-14 2018-05-22 Tencent Technology (Shenzhen) Company Limited Image clustering method, image clustering system, and image clustering server
US10650274B2 (en) 2013-11-14 2020-05-12 Tencent Technology (Shenzhen) Company Limited Image clustering method, image clustering system, and image clustering server
CN108984747A (zh) * 2018-07-17 2018-12-11 厦门美图之家科技有限公司 音频检索索引生成方法及装置
WO2021143800A1 (en) * 2020-01-15 2021-07-22 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for semantic analysis of multimedia data using attention-based fusion network
CN112434722A (zh) * 2020-10-23 2021-03-02 浙江智慧视频安防创新中心有限公司 基于类别相似度的标签平滑计算的方法、装置、电子设备及介质
CN112434722B (zh) * 2020-10-23 2024-03-19 浙江智慧视频安防创新中心有限公司 基于类别相似度的标签平滑计算的方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CA2814401A1 (en) 2012-05-18
CA2814401C (en) 2013-12-31
EP2638701B1 (en) 2020-09-09
AU2011326269B2 (en) 2013-08-22
WO2012064587A3 (en) 2012-07-05
US20120121194A1 (en) 2012-05-17
EP2638701A4 (en) 2015-10-07
CN103283247B (zh) 2014-11-12
US8165414B1 (en) 2012-04-24
WO2012064587A2 (en) 2012-05-18
AU2011326269A1 (en) 2013-05-23
EP2638701A2 (en) 2013-09-18

Similar Documents

Publication Publication Date Title
CN103283247B (zh) 用于编索引、相似度搜索和分类的矢量变换
CN110598014B (zh) 一种多媒体数据处理方法、装置及存储介质
US9330104B2 (en) Indexing and searching heterogenous data entities
CN108984555B (zh) 用户状态挖掘和信息推荐方法、装置以及设备
CN105718502A (zh) 用于高效特征匹配的方法和设备
CN104424254A (zh) 获取相似对象集合、提供相似对象信息的方法及装置
CN111868710A (zh) 搜索大规模非结构化数据的随机提取森林索引结构
KR101761263B1 (ko) 이미지 기반의 관심 제품과 관심 부품의 검색 방법 및 그 시스템
CN109657080B (zh) 高分卫星遥感数据的分布式处理方法/系统和介质
US20180307743A1 (en) Mapping method and device
CN113868351A (zh) 一种地址聚类方法、装置、电子设备及存储介质
CN104854588A (zh) 用于搜索标记的主要为非文本的项目的系统和方法
CN103514284B (zh) 数据显示系统和数据显示方法
CN113591881B (zh) 基于模型融合的意图识别方法、装置、电子设备及介质
CN117312856A (zh) 商品类目预测模型训练及应用方法、电子设备
CN109446408B (zh) 检索相似数据的方法、装置、设备及计算机可读存储介质
CN110895590A (zh) 候选对象的获取方法和装置、电子设备和存储介质
CN104850600A (zh) 一种用于搜索包含人脸的图片的方法和装置
Fu et al. Binary code reranking method with weighted hamming distance
CN113609313A (zh) 数据处理方法、装置、电子设备和存储介质
CN109815312B (zh) 一种文档查询的方法、装置、计算设备及计算机存储介质
CN115129915A (zh) 重复图像检索方法、装置、设备及存储介质
CN113076964B (zh) 识别相似对象的方法、装置及电子设备
CN113553477A (zh) 一种图的拆分方法和装置
Eto et al. Hadamard coded discrete cross modal hashing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Google limited liability company

Address before: American California

Patentee before: Google Inc.