CN104620284A - 用于确定图像相似性的方法和系统 - Google Patents

用于确定图像相似性的方法和系统 Download PDF

Info

Publication number
CN104620284A
CN104620284A CN201380046933.8A CN201380046933A CN104620284A CN 104620284 A CN104620284 A CN 104620284A CN 201380046933 A CN201380046933 A CN 201380046933A CN 104620284 A CN104620284 A CN 104620284A
Authority
CN
China
Prior art keywords
image
cluster centers
cryptographic hash
storage area
little
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
CN201380046933.8A
Other languages
English (en)
Other versions
CN104620284B (zh
Inventor
艾萨克·晁
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.)
Meta Platforms Inc
Original Assignee
Facebook Inc
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 Facebook Inc filed Critical Facebook Inc
Publication of CN104620284A publication Critical patent/CN104620284A/zh
Application granted granted Critical
Publication of CN104620284B publication Critical patent/CN104620284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/17Image acquisition using hand-held instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Medical Informatics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

确定图像相似性的技术。在一种实施方式中,确定与图像相关联的小哈希值落在贮存区内。如果现有的集群中心与贮存区相关联,则确定小哈希值与集群中心之间的距离。如果小哈希值至集群中心的距离大于阈值距离,则视为图像不同于与集群中心相关联的其他图像。然后,创建新的集群中心并且使新的集群中心与贮存区相关联,并且使该图像与新的集群中心相关联。当具有落在贮存区内的小哈希值的图像被视为不相似时,则一个以上的集群中心可与贮存区相关联。在另一实施方式中,一旦识别贮存区,则可确定大哈希值而非小哈希值与集群中心之间的距离,以评估图像相似性。

Description

用于确定图像相似性的方法和系统
技术领域
本发明涉及一种用于确定图像(具体地,涉及网络系统中的图像之间的)相似性的方法和系统以及计算机存储介质。
背景技术
社交网络网站或者系统提供其中各个成员可连接至其他成员或者与其他成员通信的动态环境。这些网站通常可提供在线机构,从而允许各个成员在其先前存在的社交网络中交互以及创建新的社交网络。成员可包括任何个体或者其他实体,诸如,组织或者企业。在其他属性中,社交网络网站允许成员将相关信息有效并且高效地通信给其社交网络。例如,成员可将个人信息、工作信息、传记信息、以及其他个性化内容发布到该成员专用的网站区域。其他成员可通过浏览成员资料或者执行专门的搜索访问所发布的内容。
发布到社交网络网站的一种流行类型的内容是图像,例如,照片或者任何类型的附图,通常为数字文件或者数字化形式的图像。成员通常发布图像以将个人信息通信给其社交网络。例如,发布图像可描述家庭、朋友、位置、物品、以及其中成员感兴趣的任何其他主题。因为分享个人信息有助于成员之间的交流,并且由此助于实现网站的潜能,所以社交网络网站通常鼓励发布图像。
特定图像可包含其中社交网络网站出于种种原因特别感兴趣的内容。例如,当不同成员违反网站的使用条款或者其他指南重复性地发布同一照片时,社交网络网站可尝试进行干预。又例如,社交网络网站可尝试限制通过网站获知的发布图像包含不适当的内容。为识别这些不良图像,可以比较图像与已知为不良图像的相似性或者一致性。当识别与不良图像相似的图像时,社交网络网站可对其采取适当的动作。然而,由于由社交网络网站维持的大量图像和处理的大量图像数据(例如,像素),所以执行图像比较时的计算成本比较昂贵,并且社交网络网站和系统在有效地识别相似图像时面临技术挑战。
发明内容
因此,本发明的目的是减少图像比较中的计算工作量和计算资源。具体地,本发明的目的是允许对(例如,社交网络系统中)大量图像的相似性进行比较和识别,同时保持查找相似图像的充分准确度。
就本发明的一方面而言,通过具有权利要求1中的特征的方法实现此目的,就本发明的另一方面而言,通过具有权利要求14中的特征的系统实现此目的,并且就本发明的进一步方面而言,通过根据权利要求15所述的计算机存储介质实现此目的。
根据权利要求1所述的计算机实现方法被设置成用于确定图像(具体地,社交网络系统中的图像之间的)相似性,并且至少包括下列步骤:
通过包括至少一个处理器以及通常还包括至少一个存储器的计算机系统确定与第一图像相关联的第一值和与至少一个图像相关联的第一集群中心之间的距离;并且
当确定距离大于阈值距离时,通过计算机系统确定第一图像与至少一个图像不相似。
根据权利要求14所述的系统被设置成用于确定图像(具体地,社交网络系统中的图像之间的)相似性,并且包括:
至少一个计算机系统,该至少一个计算机系统具有至少一个处理器和被配置为指示指示一个处理器执行根据本发明所述的方法的存储器存储指令。
根据权利要求15所述的计算机存储介质被设置成用于存储在被执行时致使计算机系统或者计算机系统的至少一个处理器执行根据本发明的计算机实现方法的计算机执行指令。
在本发明的进一步实施方式中,还要求保护一种系统,具体为计算机系统,被设置成包括:
至少一个处理器;和
存储器,该存储器存储被配置为指示该至少一个处理器执行下列操作的指令:
确定与第一图像相关联的第一值和与至少一个图像相关联的第一集群中心之间的距离;并且
当确定距离大于阈值距离时,确定第一图像与该至少一个图像不相似。
在本发明的进一步实施方式中,还要求保护被设置成用于存储在被执行时致使计算机系统执行计算机实现方法的计算机可执行指令的计算机存储介质,包括:
确定与第一图像相关联的第一值和与至少一个图像相关联的第一集群中心之间的距离;并且
当确定距离大于阈值距离时,确定第一图像与该至少一个图像不相似。
具体地,“集群中心”是将被视为相似的图像相关联的坐标系中的点,例如,空间搜索模块可确定坐标系中的空间以搜索与可能相似图像相关联的集群中心。具体地,“第一值”是坐标系中诸如哈希值等的点。具体地,“距离”是基于该坐标系中的标准或者度量而确定的,例如但不限于欧几里得距离或者标准,并且例如是非负的实数。
为了允许识别和管理在内容上相似或者一致的图像,本发明的实施方式通过社交网络系统提供对图像的高效比较。当社交网络系统确定图像相似时,则将相似图像相关联。相似图像的关联性便于对图像执行管理动作。管理动作可包括通过社交网络系统对其内容经过特殊处理的特定图像的控制。例如,不同成员在特定情况下可能违反社交网络系统的指南发布、或者尝试发布相同的图像、鼓励、或者操纵在内容上独特的个性化记录。根据其指南,社交网络系统可限制发布该图像。又例如,如果发现图像包含不适当的内容,则社交网络系统可防止或者移除所有发布的图像。这些管理动作的有效性基于通过图像相似性确定识别所有图像实例的能力。
有利地,具体地,在独立权利要求中要求保护优选和/或具体实施方式。独立权利要求中的所有特征同样可要求保护根据本发明的任一方面的方法、系统、以及介质。
在本发明的实施方式中,当确定距离大于阈值距离时创建第二集群中心。具体地,当确定距离大于阈值距离时,使第一图像与第二集群中心相关联。
在优选实施方式中,当确定距离小于阈值距离时,确定或者视为第一图像与该至少一个图像相似。具体地,当确定距离小于阈值距离时,使第一图像与第一集群中心相关联。
在另一有利实施方式中,识别与第一值相关联的贮存区(bucket)并且识别与贮存区相关联的至少一个集群中心,该至少一个集群中心包括第一集群值;并且针对该至少一个集群中心评估第一值。
具体地,“贮存区”是坐标系的最小单位。例如,贮存区可以是1-D坐标系中的最小片段、2-D坐标系中的最小正方形、或者3-D坐标系中的最小立方体。
在进一步实施方式中,识别多个贮存区并且识别与多个贮存区相关联的至少一个集群中心,该至少一个集群中心包括第一集群中心,并且针对该至少一个集群中心评估第一值。
具体地,多个贮存区包括接近于第一值的哈希值的贮存区的预定数目,其中,具体地,相邻贮存区的预定数目为2d,其中,d是第一值的坐标系的维数。
在优选实施方式中,下列特征被设置成量化与第一图像相关联的第一值的小哈希值;基于量化的最小哈希值识别至少一个贮存区;并且基于该至少一个贮存区搜索与第一图像相似的图像。
与第一图像相关联的第一值可以是大哈希值和小哈希值中的至少一个。
具体地,对于图像比较,并且具体地通过大哈希模块计算关于检查与其他图像的相似性的图像的“较大”哈希值。大哈希值是图像的表示,其可包括以位表示的像素。大哈希值可包括一组值。在本发明的实施方式中,基于应用于第一图像的内容感知哈希函数确定或者计算第一图像的大哈希值。
优选地,基于应用于第一图像的大哈希值的小哈希函数确定第一图像的小哈希值,其中,具体地,小哈希函数将大哈希值的维数减少至预定的维数。优选地,小哈希函数是局部敏感哈希函数。
具体地,“哈希函数”是接收输入值(其可包括多个信息位)并且将其映射至哈希值(其可包括比输入值更少的位)的函数。对图像所使用的一些哈希函数为“内容感知”。当两个图像在内容上相似时,内容感知哈希函数的特征在于将图像映射至相似的哈希值。
因此,在本发明的实施方式中,例如,为了确定可能的图像相似性,通过将内容感知哈希函数应用于图像可产生新图像的大哈希值。然后,通过将局部敏感哈希法应用于大哈希值可产生该图像的小哈希值。
“局部敏感哈希法”包括将大哈希值投影到映射至对应坐标系的一个或者多个矢量中。该投影包括将大哈希值从维数k减少至维数d。d-D坐标系中的每个矢量均被分割成限定小哈希值可能潜在地落入其中的贮存区的多个片段。可以使用局部面干哈希法解决计算支出的问题。可将局部敏感哈希法应用于具有相对较大维数的大哈希值以获得具有更少维度的“较小”哈希值。例如,局部敏感哈希法可以将具有上百个维度的大哈希值哈希成具有较少(例如,两个或者三个)维度的小哈希值。小哈希值可包括其中大哈希值可包括多个值的几个值。
局部敏感哈希法中的维数的减少导致信息丢失,从而在其对应图像实际不同时提高小哈希值相似的概率。因此,由于其小哈希值相似或者落入相同贮存区内,所以不正确地视为不同的图像相似。这种类型的错误通常被称之为“假阳性”。此外,基于确定贮存区边界的任意坐标定义,由于其小哈希值落入不同贮存区内,所以不正确地视为相似图像是不同的。这种类型的错误通常被称之为“假阴性”。
在本发明的实施方式中,解决了假阳性的问题。识别了与小哈希值落入其中的贮存区相关联的现有集群中心。现有集群中心是针对现有图像已经创建的集群中心并且具体地通过社交网络系统进行存储。通过仅考虑与贮存区相关联的集群中心而非具体地通过社交网络系统存储的所有集群中心而充分减少新图像的搜索空间。搜索空间减少在图像比较时提供计算效率。
如果不存在与贮存区相关联的现有集群中心,则创建新图像的新集群中心并且给出小哈希值的坐标。然后,使新图像与新的集群中心相关联。相反,如果存在与贮存区相关联的至少一个现有集群中心,则确定小哈希值与各个现有集群中心之间的距离。如果从小哈希值至任何现有集群中心的距离大于阈值距离,则视新图像不同于与现有集群中心相关联的图像。然后,创建新图像的新集群中心,并且使新图像与新集群中心相关联。因此,如果视为图像不相似,则可创建一个以上集群中心并且使其与贮存区相关联。如果从小哈希值至该至少一个现有集群中心的距离小于阈值距离,则识别到新图像的小哈希值具有最小距离的现有集群中心。新图像被视为与所识别的现有集群中心相关联的图像相似,并且可使新图像与所识别的现有集群中心相关联。
在本发明的实施方式中,解决了假阴性的问题。可以识别接近于最小哈希值的贮存区。所识别的贮存区可以是接近于最小哈希值并且具有坐标系中最接近于最小哈希值的顶点(作为其顶点中的一个)的贮存区。还可以其他方式识别接近于最小哈希值的贮存区。识别与所识别贮存区相关联的所有现有集群中心。通过仅考虑与接近于最小哈希值的贮存区相关联的集群中心而非通过社交网络系统存储的所有集群中心而充分减少新图像的搜索空间。搜索空间的减少在图像比较时进一步提供计算效率。
如果不存在与所识别贮存区中的任一个相关联的现有集群中心,则创建新图像的新集群中心并且给出小哈希值的坐标。然后,使新图像与新集群中心相关联。相反,如果存在与所识别贮存区相关联的至少一个现有集群中心,则确定小哈希值与各个现有集群中心之间的距离。如果从小哈希值至任何现有集群中心的距离大于阈值距离,则视新图像不同于与现有集群中心相关联的图像。然后,创建新图像的新集群中心,并且使新图像与新集群中心相关联。如果从小哈希值至至少一个现有集群中心的距离小于阈值距离,则识别到新图像的小哈希值具有最小距离的现有集群中心。新图像可以与所识别的现有集群中心相关联,并且视新图像与所识别的现有集群中心相关联的图像相似。
在实施方式中,一旦识别具有小哈希值的相关贮存区,则可以使用大哈希值(而非小哈希值)创建集群中心或者在图像相似性评估时与所识别贮存区相关联的现有集群中心相比较。
在实施方式中,提供下列特征:
使贮存区与多个集群中心相关联;并且
使多个集群中心中的每个集群中心与被视为相似的至少一个图像相关联。
阈值距离可被编程或者设置成不同的值。
在本发明的优选实施方式中,提供下列特征:
当确定距离小于阈值距离时,使第一图像与第一集群中心相关联;并且
具体地,在社交网络系统内,基于第一集群中心的识别限制使用第一图像和该至少一个图像,例如,限制、防止、或者移除社交网络系统中的图像的记录(posting)。
在本发明的实施方式中,基于相关联集群中心的识别可以采取管理动作限制图像的使用。例如,如果社交网络系统认为图像不适当或者以其他方式受过特殊处理,则可以识别与该图像相关联的集群中心。然后,可以识别与集群中心相关联的所有图像。一旦经过此识别,则可以从社交网络系统中删除这些图像。又例如,如果视为图像不适当,则可以识别与该图像相关联的集群中心。一旦集群中心经过此识别,则与该集群中心相关联的任何未来图像将不能够被上传到社交网络系统中。
从附图和下列细节描述中,本发明的许多其他特征和实施方式将变得显而易见。
附图说明
图1是根据本发明的实施方式的用于结合社交网络系统确定图像相似性的系统的网络图。
图2是根据本发明的实施方式的社交网络系统的示图。
图3A至图3B示出了根据本发明的实施方式的从图像的大哈希值到矢量的投影。
图4A至图4E是根据本发明的实施方式的图像和相关映射的局部敏感哈希法以说明假阳性的图形表示。
图5是根据本发明的实施方式的结合图4A至图4E的描述表示贮存区、集群中心、以及图像的关联性的示图。
图6是根据本发明的实施方式的用于确定图像相似性以减少假阳性的过程。
图7A至图7G是根据本发明的实施方式的图像和相关映射的局部敏感哈希法以说明假阴性的图形表示。
图8是根据本发明的实施方式的结合图7A至图7G的描述表示贮存区、集群中心、以及图像的关联性的示图。
图9是根据本发明的实施方式的用于确定图像相似性以减少假阴性的过程。
图10A至图10B示出了根据本发明的实施方式的通过社交网络系统执行的管理动作。
图11是根据本发明的实施方式的用于限制图像使用的过程。
图12是根据本发明的实施方式的计算机系统的示图。
附图仅出于示出性之目的描述了本发明的各种实施方式,其中,附图使用类似参考标号表示类似元件。本领域技术人员从下列讨论中容易认识到,在不背离此处所公开的本发明的原理的情况下,可以采用此处示出的结构和方法的替代实施方式。
具体实施方式
社交网络系统–整体介绍
图1是根据本发明的实施方式的用于结合社交网络系统130确定图像相似性的系统100的网络图。系统100包括一个或者多个用户设备110、一个或者多个外部系统120、社交网络系统130、以及网络140。出于说明性之目的,图1中所示的系统100的实施方式包括单一外部系统120和单一用户设备110。然而,在其他实施方式中,系统100可包括多个用户设备110和/或多个外部系统120。在特定实施方式中,由社交网络运营商操作社交网络系统130,其中,外部系统120独立于社交网络系统130,在于可通过不同的实体操作外部系统120。然而,在各种实施方式中,社交网络系统130与外部系统120一起运行以为社交网络系统130中的用户(或者成员)提供社交网络服务。在这种意义上,社交网络系统130提供诸如外部系统120等其他系统可用于通过因特网将社交网络服务和功能提供给用户的平台或者骨干链路。
用户设备110包括可接收来自用户的输入并且可经由网络140发送和接收数据的一个或者多个计算设备。在一种实施方式中,例如,用户设备110是执行与操作系统(OS)、Apple OS X、和/或Linux发行套件兼容的Microsoft Windows的常规计算机系统。在另一实施方式中,用户设备110可以是具有计算功能的诸如智能手机、平板电脑、个人数字助理(PDA)、移动电话等设备。用户设备110被配置为经由网络140通信。例如,用户设备110可执行允许用户设备110与社交网络系统130交互的浏览器应用程序等程序。在另一实施方式中,用户设备110通过在用户设备110的本地操作系统(诸如,iOS和ANDROID)上运行的应用程序编程接口(API)与社交网络系统130交互。用户设备110被配置为使用有线和/或无线通信系统经由网络140与外部系统120和社交网络系统130通信,网络140可包括局域网和/或广域网的任意组合。
在一种实施方式中,网络140使用标准的通信技术和/或协议。因此,网络140可包括使用诸如以太网、802.11、微波存取全球互通(WiMAX)、3G、4G、CDMA、GSM、LTE、数字用户线路(DSL)等技术的链路。同样,网络140中使用的网络协议可包括多协议标记交换(MPLS)、传输控制协议/因特网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、以及文件传输协议(FTP)。可以使用包括超文本标记语言((HTML)和可扩展标记语言(XML)的技术和/或格式表示经由网络140交换的数据。此外,可以使用诸如安全套接层(SSL)、传输层安全(TLS)、以及因特权协议安全(Ipsec)等常规加密技术对所有或者一些链路进行加密。
在一种实施方式中,用户设备110可通过使用浏览器应用程序112处理从外部系统120和从社交网络系统130接收的标记语言文档114而显示来自外部系统120和/或社交网络系统130的内容。标记语言文档114识别内容和描述内容的格式化或者存在性的一个或者多个指令。通过执行标记语言文档114中包括的指令,浏览器应用程序112使用通过标记语言文档114描述的格式化或者存在性显示所识别的内容。例如,标记语言文档114包括用于生成和显示具有多个帧的网页的指令,该多个帧包括从外部系统120和社交网络系统130中检索的文本和/或图像数据。在各种实施方式中,标记语言文档114包括数据文件,数据文件包括可扩展标记语言(XML)数据、可扩展超文本标记语言(XHTML)数据、或者其他标记语言数据。此外,标记语言文档114可包括JavaScript对象表示法(JSON)数据、JSON与填充(JSONP)、以及JavaScript数据以便于外部系统120与用户设备110之间的数据交换。用户设备110中的浏览器应用程序112可使用JavaScript编译器对标记语言文档114进行解码。
在一种实施方式中,用户设备110还包括一个或者多个Cookie116,该一个或者多个Cookie116包括指示用户设备110的用户是否登录社交网络系统130的数据,从而能够使从社交网络系统130通信至用户设备110的数据自定义化。
外部系统120包括包含使用网络140通信给用户设备110的一个或者多个网页122a、122b的一个或者多个网络服务器。外部系统120独立于社交网络系统130。例如,外部系统120与第一域相关联,而社交网络系统130与独立的社交网络域相关联。外部系统120中包括的网页122a、122b包括识别内容和包括指定所识别内容的格式化或者存在性的指令的标记语言文档。
社交网络系统130包括存储包括多个用户并且使社交网络中的用户能够与社交网络中的其他用户通信并且交互的社交网络或者“社交图谱”的一个或者多个计算设备。下面进一步描述社交网络系统130。在使用时,用户联接社交网络系统130并且然后将连接添加到社交网络系统130中其希望与其连接的任意数目的其他用户。如此处使用的,术语“朋友”指社交网络系统130中用户经由社交网络系统130与其形成连接、关联、或者关系的任何其他用户。
基于用户(例如,是同一教育机构的校友的用户)的共同特征可以由用户明确添加连接或者通过社交网络系统130自动创建连接。例如,第一用户明确选择特定的其他用户成为朋友。社交网络系统130中的连接通常是双向的,但不必如此,因此,术语“用户”和“朋友”取决于参照系。社交网络系统130中的用户之间的连接通常是双向(“双边”)或者“相互的”,但是,连接也可以是单向或者“单边的”。例如,如果Bob和Joe是社交网络系统130中的两个用户并且连接至彼此,则Bob和Joe彼此连接。另一方面,如果Bob希望连接至Joe以查看由Joe通信给社交网络系统的数据,而Joe不希望形成相互连接,则可以建立单向连接。用户之间的连接可以是直接连接;然而,社交网络系统的一些实施方式允许经由一级或者多级连接或者一个或者多个分离度的间接连接。
除建立和维持用户之间的连接并且允许用户交互之外,社交网络系统130能够使用户对由社交网络系统130支持的各个项执行动作。这些项可包括社交网络系统的用户所属的团体或者网络(其中,此处,“网络”不指物理通信网络,而是指人、实体、以及概念的社交网络)、用户可能对其感兴趣的事件或者日历项、用户经由社交网络系统130使用的基于计算机的应用程序、允许用户通过服务购买或者出售各项的交易、以及用户可在社交网络系统中或者外执行的广告互动。这些仅是用户在社交网络系统中可采取的各项的几个实施例,并且可以采取许多其他动作。用户可与能够在社交网络系统130中或者在外部系统120中表示的、独立于社交网络系统130、经由网络140耦接至社交网络系统130的任何事物交互。
社交网络系统130还能够链接各种实体。例如,社交网络系统130能够使用户彼此交互以及通过API或者其他通信渠道与外部系统120或者其他实体通信。社交网络系统130生成并且保持包括通过多个矢线互连的多个节点的“社交图谱”。社交图谱中的每个节点均可表示可作用于另一节点和/或被另一节点作用的任何实体。社交图谱可包括各种类型的节点。节点类型的实施例包括由社交网络系统130中的对象表示的用户、非人实体、内容项、网页、团体、事件、消息、概念、以及任何其他事物。社交图谱中的其他类型的节点与通过社交网络系统130对图像相似性的确定相关。如下面更为详细讨论的,这些节点类型包括图像、坐标中图像的哈希值可落入其中的贮存区、将相似图像分组的集群中心、以及链接至图像的用户。社交图谱中两个节点之间的矢线表示两个节点之间从节点关系或者从由节点中的一个对另一节点所执行的动作产生的特定类型的连接或者关联性,例如,当第一用户将第二用户识别为朋友时,则社交图谱中生成连接表示第一用户的节点与表示第二用户的第二节点的矢线。由于各个节点彼此相关或者交互,所以社交网络系统130修改连接各个节点的矢线以反映各种关系或者交互。
作为与图像相似性确定相关的节点关系的进一步实施例,可以使贮存区与集群中心相关联,可以使集群中心与图像相关联,并且可以使图像与用户相关联。这些关联可以为单边或者双边。在本发明的实施方式中,贮存区与集群中心之间的关联是从贮存区至集群中心的单边,集群中心与图像之间的关联是双边,并且图像与用户之间的关联是双边。如下面更为详细讨论的,例如,社交网络系统130可使用关联性来识别相似图像并且对这些图像执行特定的管理动作。又例如,如果用户提议将具体的新图像发布到社交网络系统130中,则社交网络系统130可确定新图像与通过其维持的其他图像的可能相似性。用户和新图像可被视为具有表示其间连接的矢线的节点。
社交网络系统130还包括增强用户与社交网络系统130的交互的用户生成内容。用户生成内容可包括用户添加、上传、发送、或者“发布”到社交网络系统130中的任何事宜。例如,用户从用户设备110将记录通信至社交网络系统130。记录可包括诸如状态更新或者其他文本数据的数据、位置信息、诸如照片等图像、视频、链接、音乐、或者其他相似数据和/或介质。还可通过第三方将内容添加到社交网络系统130中。内容“项”表示社交网络系统130中的对象。同样,鼓励社交网络系统130中的用户通过各种通信渠道发布文本和各种类型介质的内容项而彼此通信,从而增加用户彼此的交互并且提高用户与社交网络系统130交互的频率。
用户可能希望将图像发布到社交网络系统130中,以分享与其有关或者其感兴趣的信息。图像可以是照片或者任何其他类型的内容项。为了加强用户之间的交流,社交网络系统130鼓励或者邀请用户发布描述或者以其他方式适当反映其个性和独特爱好的图像。在某些情况下,为确保上传的图像具有独特性并且对社交网络系统130还比较适合,社交网络系统130可控制或者限制用户发布图像。例如,当与用户相关联的图像太小或者与另一用户相关联的另一图像相同时,社交网络系统130可控制或者显示发布该图像。又例如,社交网络系统130可确定不适合发布特定的图像,因为其内容违反了指南或者其他标准。在这种情形下,社交网络系统130可控制或者限制发布该图像以及所有相似或者相同的图像。如下面更为详细讨论的,为了管理图像的发布,社交网络系统130包括图像相似性分析模块132。
图2是根据本发明的实施方式的图1中的社交网络系统130的示图。在图2中所示的实施方式中,社交网络系统130包括图像相似性分析模块132、网络服务器210、动作记录器224、API请求服务器220、活动日志226、用户资料存储器212、连接存储器214、以及认证服务器228。图像相似性分析模块132包括大哈希模块240、较小哈希模块242、空间搜索模块244、集群中心创建模块246、近似度确定模块248、以及管理动作模块270。在本发明的实施方式中,由图2中所示的模块执行的功能可从不同程度上被其他模块或者部件替换、与其他模块或者部件组合、或者被集成到其他模块或者部件中。在本发明的实施方式中,社交网络系统130可包括有关各种应用的额外、更少、或者不同的模块。为不使系统细节变得模糊,未示出诸如网络接口、安全机构、负载平衡器、故障转移服务器、管理以及网络操作平台等其他模块。
用户资料包括传记、人口统计、以及其他类型的描述性信息,诸如,由用户公告或者通过社交网络系统130推断的工作经验、教育历史、嗜好或者喜好、位置等。该信息存储在用户资料存储器212中,以使得唯一识别各个用户。社交网络系统130还将描述不同用户之间的一个或者多个连接的数据存储在连接存储器214中。连接信息可显示具有相似或者共同工作经验、团体关系、嗜好、或者教育历史的用户。此外,社交网络系统130包括不同用户之间的用户定义连接,从而允许用户指定其与其他用户的关系。例如,用户定义连接允许用户生成与平行于用户实际生活关系的其他用户的关系,诸如,朋友、同事、伙伴等。用户可选择预定类型的连接或者根据需要定义其自身的连接类型。与社交网络系统130中的诸如非人实体、贮存区、集群中心、图像、兴趣、页面、外部系统、概念等其他节点的连接也被存储在连接存储器214中。
社交网络系统130维持有关用户可与其交互的对象的数据。为了维持该数据,用户资料存储器212和连接存储器214存储通过社交网络系统130维持的对应类型对象的实例。每种对象类型均具有适合用于与对象类型符合的信息的信息字段。例如,用户资料存储器212包含具有适合用于描述用户资料的字段的数据结构。当创建特定类型的新对象时,社交网络系统130将对应类型的新数据结构初始化、将唯一的对象标识符分配给新对象、并且根据需要将数据添加到对象中。例如,当用户成为社交网络系统130中的用户,并且社交网络系统130在用户资料存储器212中生成用户资料的新实例、将唯一标识符分配给用户资料、并且使用用户提供的信息开始填充用户资料的字段时,可能发生这种情况。
连接存储器214包括适合用于描述用户至其他用户的连接、用户至外部系统120的连接、或者用户至其他实体的连接的数据结构。连接存储器214还可使连接类型与用户连接相关联,可以结合用户的隐私设置使用连接存储器214来调整对有关用户的信息的访问。在本发明的实施方式中,用户资料存储器212和连接存储器214可被实施为联邦数据库。
连接存储器214、用户资料存储器212、以及活动日志226中存储的数据能够使社交网络系统130生成使用节点识别各个对象以及连接节点的矢线以识别不停对象之间的关系的社交图谱。例如,如果社交网络系统130中的第一用户与第二用户建立连接,则用户资料存储器212中的第一用户和第二用户的用户资料可用作社交图谱中的节点。通过连接存储器214存储的第一用户与第二用户之间的连接是与第一用户和第二用户相关联的节点之间的矢线。继续该实例,社交网络系统130中的第二用户则可向第一用户发送消息。发送消息的动作(可被存储)是社交图谱中表示第一用户与第二用户的两个节点之间的另一矢线。此外,可以识别消息本身,并且消息本身可被包括在社交图谱中作为连接至表示第一用户和第二用户的节点的另一节点。
在另一实施例中,第一用户可在由社交网络系统130维持的图像中(或者,可替代地,由社交网络系统130外部的另一系统维持的图像中的)加标签于第二用户。图像本身可表示为社交网络系统130中的节点。加标签动作可在第一用户与第二用户之间创建矢线以及在各个用户与图像(也是社交图谱中的节点)之间创建矢线。在又一实施例中,如果用户确认参加事件,则用户和事件是从用户资料存储器212获得的节点,其中,事件的参与是可从活动日志226中检索的节点之间的矢线。通过生成和维持社交图谱,社交网络系统130包括描述多种不同类型的对象以及这些对象之间的交互和连接的数据,从而提供社交相关信息的丰富资源。
网络服务器210经由网络140将社交网络系统130链接至一个或者多个用户设备110和/或一个或者多个外部系统120。网络服务器210提供网页以及其他网络相关内容,诸如,Java、JavaScript、Flash、XML等。网络服务器210可包括用于接收和路由社交网络系统130与一个或者多个用户设备110之间的消息的邮件服务器或者其他消息功能。消息可以是即时消息、队列消息(例如,电子邮件)、文本和SMS消息、或者任何其他合适的消息格式。
API请求服务器220允许一个或者多个外部系统120和用户设备110通过调用一个或者多个API访问社交网络系统130中的信息。API请求服务器220还可允许外部系统120通过调用API将信息发送至社交网络系统130。在一种实施方式中,外部系统120经由网络140将API请求发送至社交网络系统130,并且API请求服务器220接收API请求。API请求服务器220通过调用与API请求相关联的API而处理该请求以产生适当的响应,其中,API请求服务器220经由网络140将该响应通信给外部系统120。例如,API请求服务器220响应API请求收集与用户相关联的数据,诸如,已经登录到外部系统120的用户连接,并且将所收集数据通信给外部系统120。在另一实施方式中,用户设备110以与外部系统120相同的方式经由API与社交网络系统130通信。
动作记录器224能够从网络服务器210接收有关用户在社交网络系统130中和/或外的动作的通信。动作记录器224利用有关有关用户动作的信息填充活动日志226,从而能够使社交网络系统130发现社交网络系统130中的用户和社交网络系统130之外的用户所采取的各种动作。特定用户就社交网络系统130中的另一节点所采取的任何动作通过活动日志226中所维持的信息或者以相似的数据库或者其他数据存储库与各个用户的资料相关联。例如,由社交网络系统130中的用户采取的动作(被识别并且存储)的实施例可包括将连接添加至另一用户、将消息发送至另一用户、从另一用户读取消息、查看与另一用户相关联的内容、参与由另一用户发布的事件、发布图像、尝试发布图像、或者与另一用户或者另一对象交互的其他动作。当社交网络系统130中的用户采取动作时,该动作被记录在活动日志226中。在一种实施方式中,社交网络系统130将活动日志226保存为各项的数据库。当在社交网络系统130中采取动作时,则将有关该动作的项添加到活动日志226中。活动诶之226可被称之为动作日志。
此外,用户动作可与社交网络系统130的外部实体发生的概念和动作相关联。诸如,独立于社交网络系统130的外部系统120。例如,动作记录器224可从网络服务器210接收描述用户与外部系统120的交互的数据。在该实施例中,外部系统120根据社交图谱中的结构动作和对象报告用户的交互。
其中用户与外部系统120交互的动作的其他实例包括用户表达对外部系统120或者另一实体的兴趣、用户将讨论外部系统120或者外部系统120内的网页122a的评论发布到社交网络系统130中、用户将统一资源定位符(URL)或者与外部系统120相关联的其他标识符发布到社交网络系统130中、用户参与与外部系统120相关联的事件或者用户参与的与外部系统120相关的任何其他动作。因此,活动日志226可包括描述社交网络系统130中的用户与独立于社交网络系统130的外部系统120之间的交互的动作。
认证服务器228对社交网络系统130中的用户强制实施一种或者多种隐私设置。用户的隐私设置确定如何分享与用户相关联的特定信息。隐私设置包括与用户相关联的特定信息的说明和可与其分享信息的实体的说明。可与其分享信息的实体的实例可包括其他用户、应用程序、外部系统120、或者可潜在访问该信息的任何实体。用户分享的信息包括类似形象照片的用户资料信息、与用户相关联的电话号码、用户连接、由用户采取的诸如添加连接等动作、更改用户资料信息等。
可以不同的粒度级别提供隐私设置说明。例如,隐私设置可识别与其他用户分享的特定信息。例如,隐私设置识别工作电话号码或者特定系列的相关信息,诸如,包括形象照片、家庭电话号码、以及身份的个人信息。可替代地,隐私设置可应用于与用户相关联的所有信息。还可以各个粒度级别指定可访问特定信息的该组实体的说明。例如,可与其分享信息的各组实体可包括用户的所有朋友、朋友的所有朋友、所有应用程序、或者所有外部系统120。一种实施方式允许该组实体的说明包括实体的列举。例如,用户可提供允许访问特定信息的外部系统120的列表。另一实施方式允许该说明包括除不允许访问该信息之外的一组实体。例如,用户可允许所有外部系统120访问用户的工作信息,但指定了不允许访问工作信息的外部系统120的列表。特定实施方式将不允许访问特定信息的除外的列表称为“黑名单”。由用户指定的属于黑名单的外部系统120被阻止访问隐私设置中规定的信息。信息说明的粒度和与其分享信息的实体的说明的粒度的各种组合是可以被分享的。例如,可与朋友分享其中与朋友的朋友分享所有工作信息的所有个人信息。
认证服务器228包含确定用户的朋友、外部系统120和/或其他应用程序以及实体是否可访问与用户相关联的特定信息的逻辑。外部系统120需要认证服务器228的认证以访问用户更多的隐私和敏感信息,诸如,用户的工作电话号码。基于用户的隐私设置,认证服务器228确定是否允许另一用户、外部系统120、应用程序、或者另一实体访问与用户相关联的信息,其中包括有关由用户采取的动作的信息。
图像相似性分析模块132可确定被提供给社交网络系统130的图像的相似性并且基于其相似性使图像相关联以执行管理动作。如此处使用的,根据阈值,两个或者多个图像之间的相似性称之为相同或者几乎相同的图像内容。对于图像比较,大哈希模块240计算社交网络系统130中有关可查看与其他图像相似性的图像的“大哈希值”。大哈希值是包括以位表示的像素的图像的表示。大哈希值可包括一系列值。在本发明的实施方式中,大哈希模块240可使用内容感知哈希函数计算该图像的大哈希值。
为了便于图像之间的比较,较小哈希模块242通过将大哈希值投影到具有减少维度的d维(d-D)坐标系中计算大哈希值的“较小”哈希值,其中,d是坐标系的维数并且可以是一或者更大的任何整数值。小哈希值是图像更为紧凑的表示并且可包括一系列值。在本发明的实施方式中,较小哈希模块242可将局部敏感哈希函数应用于大哈希值以计算小哈希值。大哈希值的投影产生落在坐标系贮存区内的小哈希值。贮存区是坐标系的最小单位。例如,贮存区可以是1-D坐标系中的最小片段、2-D坐标系中的最小正方形、或者3-D坐标系中的最小立方体。
空间搜索模块244可确定坐标系中的空间以搜索与可能相似图像相关联的集群中心。集群中心是坐标系中将被视为相似的图像相关联的点。在本发明的实施方式中,空间搜索模块244可仅搜索小哈希值落入其中的贮存区内的集群中心。在同一贮存区内搜索可能相似图像避免不正确地假定与落入在同一贮存区内的小哈希值相关联的所有图像是相似的。在本发明的实施方式中,空间搜索模块244还可识别相邻的贮存区并且在相邻贮存区内搜索与相似图像相关联的集群中心。相邻贮存区可包括坐标中与最接近于小哈希值的的顶点一致的贮存区。在多个贮存区内搜索可能相似图像避免不正确地假定与落入在不同贮存区内的小哈希值相关联的图像是不同的。空间搜索模块244通过不搜索坐标系中的所有贮存区内的集群中心而实现计算效率。
集群中心创建模块246可创建与贮存区和图像相关联的集群中心。对于通过社交网络系统130接收的第一图像,集群中心创建模块246创建与第一图像相关联的第一集群中心。当确定与第二图像相关联的小哈希值与第一集群中心之间的距离(例如,欧几里得距离)超过阈值距离时,集群创建模块246可创建有关第二图像的第二集群中心。此外,如下面更为详细描述的,第二图像与第一集群中心相关联,并且并不创建第二图像的新集群中心。各个集群中心均表示被视为相似的一个或者多个图像。
近似度确定模块248可确定与引入图像相关联的小哈希值和用于社交网络系统130中维持的一个或者多个现有图像的集群中心之间的距离。为了分析图像是否相似,近似度确定模块248可(i)计算引入图像的小哈希值与现有图像的集群中心之间的距离;并且(ii)比较计算距离与阈值距离。近似度确定模块248有效地对小哈希值施加半径,且通过阈值距离确定半径。例如,阈值距离(和半径)的值是可配置的并且可由近似度确定模块248或者社交网络系统130的管理员确定。近似度确定模块248确定集群中心何时落入半径内和何时其落在半径之外。当计算距离小于阈值距离时,引入图像与现有图像的集群中心相关联。相反,当计算距离大于阈值距离时,集群中心创建模块246创建与引入图像的小哈希值相关联的新集群中心。
管理动作模块270允许社交网络系统130的管理员基于相似图像的关联性管理图像。例如,管理动作模块270允许去除(takedown)和阻止相似图像。
下面将更为详细地描述大哈希模块240、较小哈希模块242、空间搜索模块244、集群中心创建模块246、近似度确定模块248、以及管理动作模块270的特征和功能。
哈希函数
在特定情况下,社交网络系统130可能希望控制或者防止发布复制图像。例如,社交网络系统130鼓励或者请求每个用户发布具有用户独特性的内容。又例如,社交网络系统130可限制或者约束发布不适当的图像以及所有相似图像。通过比较该图像与社交网络系统130中存储的每个现有图像可以实现对与特定图像相似的图像的识别。然而,因为现有图像的数目可能比较大并且每个图像可包含多个像素,从而使得特定图像与每个现有图像的比较在计算上密集并且由此不可实施。
通过应用一种或者多种哈希函数可以针对相似性对图像进行分析。哈希函数是接收输入值(可包括多个信息位)并且将输入值映射至哈希值(可包括壁输入值更少的位)的函数。针对图像使用的一些哈希函数是“内容感知”型。当两个图像在内容上相似时,内容感知哈希函数的特征在于激昂图像映射至相似的哈希值。当两个图像的两个哈希值之间的距离相对较小时,可视为图像相似。例如,可将内容感知哈希函数应用于苹果的第一图像以获得第一哈希值、应用于另一苹果的第二图像以获得第二哈希值、并且应用于狗的第三图像以获得第三哈希值。在该实施例中,因为第一图像和第二图像中所描述的内容相似,所以第一图像的第一哈希值与第二图像的第二哈希值在距离上更为可能接近。相反,因为第一图像和第三图像中所描述的图像不同,所以第一图像的第一哈希值与第三图像的第三哈希值在距离上则较不可能接近。同样,因为第二图像和第三图像中所描述的内容不同,所以第二图像的第二哈希值与第三图像的第三哈希值在距离上则较不可能接近。
可以利用内容感知哈希函数使图像哈希以获得这些图像的“大”哈希值。例如,内容感知哈希函数可以使包含上百个或者上百万个像素的图像哈希成包括上百个值的大哈希值。因此,大哈希值可以表示为一组值,且该组中的值的数目对应于内容感知哈希函数的维数。尽管内容感知哈希函数可极大地减少用于表示图像的信息量,然而,大哈希值仍包含相对较大的信息量。因此,在比较大量图像的大哈希值以识别相似图像时在计算上比较昂贵,即,计算其间的距离。当大哈希值的维数较大或者当需要比较相当大量的图像时,就计算资源方面而言,图像之间可能的相似性的确定尤其昂贵。例如,为了确定特定图像是否与社交网络系统中的任何其他图像相似,可能需要计算上百万或者数以亿计的图像的大哈希值并且然后进行比较,从而产生巨额的计算支出。
可以使用局部敏感哈希法(lsh)解决计算成本。可以将局部敏感哈希法应用于具有相对较大维数的大哈希值以获得具有更少维度的“较小”哈希值。例如,局部敏感哈希法可将具有上百个维度的大哈希值哈希成具有较少(例如。两个或者三个)维度的小哈希值。小哈希值可包括较少的值,而大哈希值可包括多个值。
对于图像x和图像y,局部敏感哈希法利用下列属性从大哈希值产生小哈希值:
当lsh(hx)=lsh(hy)时;
d(hx,hy)<R,高概率;
d(hx,hy)>cR,低概率
其中
hx是图像x的大哈希值,
hy是图像y的大哈希值,
lsh(hx)是hx的小哈希值,
lsh(hy)是hy的小哈希值,
d(hx,hy)是hx与hy之间的欧几里得距离。
分别从大哈希值hx和hy的局部敏感哈希法产生小哈希值lsh(hx)和lsh(hy)。根据局部敏感哈希法的属性,例如,当小哈希值lsh(hx)和lsh(hy)相等时,大哈希值hx与hy之间的欧几里得距离以高概率小于合适的值R。此外,例如,当小哈希值lsh(hx)和lsh(hy)相等时,大哈希值hx与hy之间的欧几里得距离以低概率大于乘以因数c的合适值R。这些属性反映了当小哈希值lsh(hx)与lsh(hy)相等时图像x与图像y之间的相似性。
局部敏感哈希法通过将大哈希值投影到比大哈希值具有更少维数的坐标系的一个或者多个矢量中减少大哈希值的维数。每个矢量均表示坐标系的不同轴并且对应于坐标系的一个维度。坐标系中的矢量可以或者不可正交于另一个。通过投影减少大哈希值的维数能够更为有效地比较娇小哈希值以确定图像相似性。在局部敏感哈希法中,可将大哈希值投影到一个或者多个矢量的片段中。将小哈希值落入其中的矢量片段映射至对应坐标系中的贮存区。因此,与图像相关联的大哈希值的投影致使娇小哈希值落入特定贮存区内。
图3A示出了四个大哈希值到1-D坐标系中的单一矢量312中的投影310。矢量312被分割成多个片段,且图3A中示出了四个片段314、316、318、320。在1-D坐标系中,每个片段可被视为贮存区。表示四个图像的四个大哈希值330、332、334、336被投影到矢量312中并且落入在其特定的贮存区内。大哈希值330被投影到矢量312中并且落入贮存区316内。大哈希值332、334、336被投影到矢量312中并且落入贮存区318内。尽管图3A中未加标签,然而,以矢量312上四条虚线终止处的四个点表示对应于四个大哈希值330、332、334、336的四个小哈希值。
通常,与投影到同一贮存区内的大哈希值相关联的图像被视为相似,并且与投影到不同贮存区内的大哈希值相关联的图像被视为不同(即,不相似)。在图3A中所示的实施例中,大哈希值332、334、336投影到同一贮存区318内,并且其对应图像被视为相似。相反,如下所述,大哈希值330、332分别投影到不同贮存区316、318内并且其对应图像被视为不同。决定图像是否相似或者图像是否仅基于其大哈希值投影到的贮存区通常可导致产生错误结果。
在图3A中所示的实施例中,大哈希值334距大哈希值330、332、336相对较远。大哈希值330、332、336之中的相对较小间距表明这些大哈希值的对应图像可能相似。大哈希值334与大哈希值330,、332、336之间的相对较大间距表明大哈希值334的对应图像可能不同于大哈希值330、332、336的对应图像。因此,大哈希值334的投影落入与大哈希值332、336相同的贮存区318内不得决定性地表明其对应图像相似。又例如,大哈希值330相对接近于大哈希值332。大哈希值330、332之间的相对较小间距表明其对应图像可能相似。因此,大哈希值330与大哈希值332、336的投影分别落入不同贮存区(即,贮存区316和贮存区318)内不得决定性地表明其对应图像不同。
如图3A中的实施例所示,因为这些大哈希值投影到同一贮存区318内,所以与大哈希值334相关联的图像可能被错误地确定与大哈希值332、336相关联的图像相似。而且,因为这些大哈希值投影到不同贮存区316、318内,所以与大哈希值330相关联的图像可能被错误地确定与大哈希值332相关联的图像不同。例如,这些错误结果产生于:(i)将具有可能多个维度的大哈希值映射至图3A中的1-D坐标系中仅具有一个维度的小哈希值;并且(ii)将小哈希值量化成矢量312的片段之一。
总之,大哈希值可被投影到d-D坐标系的矢量中,其中,d可以是任一整数值。在涉及局部敏感哈希法的投影中,多个矢量而非一个矢量的使用可提供对相似图像和不同图像的更为准确的识别。通常,当当在投影时使用多个矢量时,有关图像相似性和差异的确定更为准确。
图3B示出了大哈希值到2-D坐标系中的两个矢量312、352的投影350以更好地确定图像相似性和差异。矢量312被分割成多个片段,且图3B中示出了四个片段314、316、318、320。矢量352也被分割成多个片段,且图3B中示出了三个片段360、362、364。四个大哈希值330、332、334、336被投影到矢量312中并且也被投影到矢量352中,并且落入各个矢量的特定片段内。大哈希值334被投影到矢量352中并且落入片段364内。大哈希值330、332、336被投影到矢量352中并且落入片段362中。尽管图3B中为加标签,然而,以(i)矢量312上用于大哈希值的第一虚线终止处的第一点和(ii)矢量352上用于大哈希值的第二虚线终止处的第二点表示对应于每个大哈希值的小哈希值。每个小哈希值均包括矢量312、352上的两个值。贮存区是其中以矢量312上的片段限定一边并且以矢量352上的片段限定另一边的矩形。
在特定情况下,大哈希值334和大哈希值330、332、336的投影分别落入矢量352的不同片段内(即,片段364和片段362)更为准确地表明大哈希值334的对应图像不同于大哈希值330、332、336的对应图像。同样,在特定情况下,大哈希值330、332、336的投影落入同一片段362内更为准确地表明大哈希值330、332、336的对应图像相似。
通常假定投影到不同贮存区中的大哈希值指其对应图像不同并且投影到同一贮存区内的大哈希值指其图像相似。然而,甚至对于涉及一个以上矢量的投影(图3B中所示),这下假定通常不正确。大哈希值的局部敏感哈希法减少了大哈希值的维数。这种减少导致新兴丢失。当维数减少较大时,信息丢失较大并且设置在其对应图像实际上不同时提高了小哈希值相似的概率。因此,因为其小哈希值相似或者落入同一贮存区内,所以不同图像可能被正确地视为相似。这种类型的错误通常被称之为“假阳性”。此外,基于确定贮存区边界的任意坐标定义,因为其小哈希值落入不同贮存区内,所以相似图像可能被正确地视为不同。这种类型的错误通常被称之为“假阴性”。
假阳性的确定
图4A至图4E以图形形式示出了根据本发明的实施方式的与贮存区相关联的多个集群中心的创建。每个集群中心均可与被视为相似的一个或者多个图像相关联。在本发明的实施方式中,每个集群中心还可与一个或者多个贮存区相关联。使多个集群中心与一个贮存区相关联的能力避免了假定落入同一贮存区内的所有小哈希值对应于相似图像的错误。与一个贮存区相关联的多个集群中心允许在相似图像与落入同一贮存区内的小哈希值相关联的非相似图像之间进行区分。
在本发明的实施方式中,首先,通过将内容感知哈希函数应用于图像而生成图像的大哈希值。其次,通过将局部敏感哈希法应用于大哈希值而生成小哈希值。局部敏感哈希法涉及将大哈希值投影到一个或者多个矢量上。投影涉及将大哈希值从维数k减少至维数d。通过矩阵乘法可以执行这种减少,如下:
u=Hv
其中,v表示代表大哈希值的一组k值,H表示具有维度(dxk)的矩阵,并且u表示代表小哈希值的一组值。在本发明的实施方式中,该组k值和该组d值可以是实数、整数、其组合、或者任何其他合适类型的值。如上述等式所示,将大哈希值与(dxk)矩阵H相乘以获得小哈希值。实际上,在用于大哈希值的一组v与矩阵H中的每行之间执行点乘积以获得用于小哈希值的该组u中的对应值。矩阵H中的每行均对应于d-D坐标系中的一个矢量。矩阵乘法导致将大哈希值投影到等于维数d的多个矢量中。在本发明的实施方式中,当在投影中使用多个矢量时,多个矢量可正交于另一个。d-D坐标系中的每个矢量被分割成多个片段。以d-D坐标系中的d个矢量的d个片段(即,每个矢量的一个片段)定义贮存区。
在本发明的实施方式中,维数d被选择为具有值3并且贮存区的总数为109。在本发明的另一实施方式中,维数d被选择为具有不同于3的值。在本发明的实施方式中,有关矢量的片段的总数为103并且由此贮存区的总数为103*d,出于示出性之目的,此处所示的投影是二维(即,当维数d被选择为具有值2时)局部敏感哈希法的简单实施例。
图4A是根据本发明的实施方式的有关2-D坐标系中的局部敏感哈希法和相关映射450的投影410的图形表示,其示出了与新图像相关联的第一集群中心的创建。图2中的大哈希模块240产生与新图像p1(图4A中未示出)相关联的大哈希模块408。例如,新图像可以是提议发布到社交网络系统130中的图像。图2中的较小哈希模块242将大哈希值408投影到矢量412和矢量424中。矢量412被分割成多个片段,且图4A中示出了四个片段414、416、418、420。矢量424被分割成多个片段,且图4A中示出了四个片段426、428、430、432。较小哈希模块242投影大哈希值408以落入矢量412的片段418内。较小哈希模块242还投影大哈希值408以落入矢量424的片段428内。
2-D坐标系中的映射450示出了投影410的图形表示。2-D坐标系包括对应于矢量424的x轴460和对应于矢量412的y轴462。x轴460被分割成对应于矢量424的片段的单元。y轴462也被分割成对应于矢量412的片段的单元。矢量412、424的片段定义2-D坐标系中的贮存区。例如,矢量412的片段418和矢量424的片段428定义2-D坐标系中的贮存区440。与图像p1相关联的小哈希值434落入贮存区440内。小哈希值434包括(i)对应于矢量424上用于大哈希值408的虚线终止处的点的x值和(ii)对应于矢量412上用于大哈希值408的虚线终止处的点的y值。
为了搜索与图像p1相似的图像,图2中的空间搜索模块244首先确定任何集群中心是否与贮存区440相关联。因为任何集群中心均不与贮存区440相关联,所以集群中心创建模块246基于小哈希值434创建第一集群中心422。在本发明的实施方式中,当较小哈希模块242确定与新图像相关联的小哈希值落入贮存区内时,空间搜索模块244对与同一贮存区内的新图像相似的图像相关联的集群中心进行搜索。通过将搜索限制到一个贮存区内的集群中心,空间搜索模块244优化搜索过程,以允许更为快速和有效地执行搜索。如下面更为详细讨论的,在本发明的另一实施方式中,空间搜索模块244可将搜索参数定义为包括坐标系中除新图像的小哈希值落入其中的贮存区之外的其他贮存区。
图4B是根据本发明的实施方式的有关2-D坐标系中的局部敏感哈希法和相关映射472的投影470的图形表示,其示出了新图像与先前存在集群中心的关联性。大哈希模块240产生与新图像p2相关联的大哈希值448。较小哈希模块242将大哈希值448投影到矢量412和矢量424中。较小哈希模块242投影大哈希值448以落入在矢量412的片段418内和矢量424的片段428内。
2-D坐标系中的映射472示出了投影470的图形表示。较小哈希模块242确定与图像p2相关联的小哈希值436落入贮存区440内。为了搜索与图像p2相关联的图像,空间搜索模块244首先确定任何集群中心是否与贮存区440相关联。因为集群中心422与贮存区440相关联,所以图2中的近似度确定模块248确定集群中心422在距离上是否充分接近于小哈希值436。近似度确定模块248计算小哈希值436与集群中心422之间的距离。近似度确定模块248则确定计算距离是否小于阈值距离。如果计算距离小于阈值距离(图4B中的情况如此),则图像p2被视为与图像p1相似,并且图像p2与集群中心422相关联。如图4C所示,不创建新的集群中心。相反,如果计算距离超过阈值距离(图4B中未示出),则图像p2被视为不同于图像p1,并且集群中心创建模块246创建图像p2的新集群中心。实际上,围绕小哈希值436绘制具有半径466的圆468。半径466对应于阈值距离。如果集群中心422落在圆468内,则图像p2被视为与图像p1相似并且与集群中心422相关联。相反,如果集群中心落在圆468内,则图像p2被视为不同于图像p1,并且创建图像p2的新集群中心。
在本发明的实施方式中,阈值距离(即,半径466)可以是任一合适的值。在图像被视为相似之前,可以基于图像之间可能实际相似性的希望程度选择阈值距离的值。例如,仅当存在相对较高程度的可能实际相似性时,在图像被视为相似的上下文中,可将阈值距离设置为相对较小的值。又例如,在其中图像被视为相似的上下文中,当仅存在适当程度的可能实际相似性时,可将阈值距离设置成相对较大的值。又例如,尤其在图像被违禁的上下文中,可将阈值距离设置成相对较大的值以识别与违禁像相似的更多图像。因此,可由社交网络系统130的管理员配置并且编程阈值距离,以具有适合于社交网络系统130的给定上下文的任一值,诸如,具体应用程序、模块、活动、团体、用户、图像等。
图4D是根据本发明的实施方式的有关2-D坐标系中的局部敏感哈希法和相关映射482的投影480的图形表示,其示出了与贮存区相关联的一个以上集群中心。大哈希模块240产生与新图像p3相关联的大哈希值488。较小哈希模块242将大哈希值488投影到矢量412和矢量424上。较小哈希模块242投影大哈希值488以落在矢量412的片段418内和矢量424的片段428内。2-D坐标系中的映射482示出了投影480的图形表示。较小哈希模块242确定与图像p3相关联的小哈希值492落在贮存区440内。
为了搜索与图像p3相似的图像,空间搜索模块244首先确定任何集群中心是否与贮存区440相关联。因为集群中心422与贮存区440相关联,近似度确定模块248确定集群中心422在距离上是否充分接近于小哈希值492。近似度确定模块248计算小哈希值492与集群中心422之间的距离。然后,近似度确定模块248确定计算距离是否小于阈值距离。如图4E所示,如果计算距离超过阈值距离(如图4D所示),则图像p3被视为不同于图像p1,并且集群中心创建模块246创建图像p3的新集群中心414。相反,如果计算距离小于阈值距离,则图像p3被视为与图像p1相似,并且图像p3与集群中心422相关联(图4D或者图4E中未示出)并且不创建新集群中心。实际上,围绕小哈希值492绘制具有半径466的圆490。如果集群中心422落在圆490内,则图像p3可被视为与图像p1和图像p2相似,并且图像p3与集群中心422相关联。相反,如果集群中心422落在圆490外,则图像p3可被视为不同于图像p1和图像p2,并且创建图像p3的新集群中心。
可以与上述所述相似的方式考虑与额外图像相关联的小哈希值。例如,与又一图像p4相关联的小哈希值可落在贮存区内。贮存区构成搜索相似图像的搜索空间。识别与贮存区相关联的所有集群中心。计算小哈希值与每个识别集群中心之间的距离并且将其与阈值距离相比较。如果有关任何识别集群中心的计算距离小于阈值距离,则图像p4与距图像p4的最小哈希值为最小距离的识别集群中心相关联(例如,图5中所示的识别集群中心414)。相反,如果有关所有识别集群中心的计算距离大于阈值距离,则创建图像p4的新集群中心。实际上,可以围绕小哈希值绘制预定半径的圆。如果发现集群中心在圆内,则图像p4与集群中心相关联并且被视为与已经与集群中心相关联的图像相似。相反,如果发现任何集群中心均不在圆内,则给予小哈希值创建新的集群中心,并且图像p4被视为不同于与其他集群中心相关联的其他图像。可以相似方式继续对除图像p1、p2、p3、p4之外的进一步图像的考虑。总之,任意数目的集群中心均可与给定贮存区相关联。
图5是根据本发明的实施方式的表示结合图4A至图4E所描述的贮存区、集群中心、以及图像之间的关联性的示图。贮存区440与集群中心422、414相关联。集群中心422、414中的每个均与被视为相似的一个或者多个图像相关联。根据集群中心422、414将图像p1 400、p2 402、p3 404、p4 406分组。具体地,图像p1 400和图像p2 402被视为相似并且与集群中心422相关联。图像p3 404和图像p4 406被视为相似并且与集群中心414相关联。贮存区440、集群中心422、414、以及图像p1 400、p2 402、p3 404、p4 406及其关联性形成社交网络系统130的社交图谱的一部分。
图6示出了根据本发明的实施方式的用于确定图像相似性以减少假阳性的过程600。最初,在框610中,接收新图像。在框612中,确定新图像的大哈希值。例如,可以使用内容感知大哈希函数确定大哈希值。在框614中,则基于大哈希值确定新图像的小哈希值。例如,可以使用局部敏感哈希函数确定小哈希值。例如,如上面图4A至图4E中所示的2-D坐标系情况,用于小哈希值的哈希函数将大哈希值有效地投影到坐标系中的d个矢量上。小哈希值包括有关定义d-D坐标系的d个矢量的d个值。在框616中,确定小哈希值落入其中的贮存区(d-D坐标系中)。通过(i)使小哈希值的d个值量化并且(ii)识别d-D坐标系中由d个量化值定义的贮存区可以确定贮存区。
在框620中,识别与贮存区相关联的所有现有集群中心。现有集群中心是针对现有图像已经创建的集群中心。通过仅考虑与贮存区相关联的集群中心而非与其他贮存区相关联的所有集群中心而充分减少用于新图像的搜索空间。在框622中,确定是否存在与贮存区相关联的任何现有集群中心。如果在框622中答案是“否”,则新图像的小哈希值是被投影到贮存区中的第一小哈希值。在框636中,则创建新图像的新集群中心并且给出小哈希值的坐标。在框638中,则使新图像与新集群中心相关联。
相反,如果存在与贮存区相关联的至少一个现有集群中心并且在框622中答案是“是”,则在框624中,确定小哈希值和与贮存区相关联的每个现有集群中心之间的距离。在框626中,确定从小哈希值至任何现有集群中心的距离是否小于阈值距离。如果在框626中答案是“否”,则在框634中,新图像被视为不同于与贮存区相关联的现有集群中心相关联的图像。在框636中,则创建新图像的新集群中心,并且在框638中,新图像与新集群中心相关联。因此,如果图像不被视为相似,则可以创建一个以上集群中心并且使其与贮存区相关联。
然而,如果在框626中从小哈希值至至少一个现有集群中心的距离小于阈值距离并且答案是“是”,则在鲁昂628中,识别距新图像的小哈希值为最小距离的现有集群中心。还可以选择距小哈希值具有小于阈值距离的距离的任何现有集群中心。在任何情况下,在框630中,新图像可以与识别的现有集群中心相关联。在框632中,新图像被视为与所识别的现有集群中心相关联的图像相似。
在本发明的实施方式中,通过图像相似性分析模块132可以全部或者部分执行过程600。在本发明的实施方式中,通过社交网络系统130可以至少部分地执行过程600。
假阴性的确定
图7A至图7G以图形形式示出了根据本发明的实施方式的在确定图像相似性时对多个贮存区的考虑。在d-D坐标系中,两个相似性图像的两个小哈希值可以相对接近于彼此,但是,由于量化可被投影到不同的贮存区内。例如,对应于图3B中的大哈希值330和332的小哈希值相对接近于彼此,但是由于量化被投影到两个不同的贮存区内。由于量化效应可以在多个贮存区内搜索相似的图像。考虑多个贮存区的能力避免了假定偶然落入不同贮存区内的小哈希值对应于不同图像的错误。同样,可以解决假阴性的问题。
图7A是根据本发明的实施方式的有关2-D坐标系中的局部敏感哈希法和相关映射750的投影710的图形表示,其示出了与新图像相关联的第一集群中心的创建。图2中的大哈希模块240产生与新图像p5相关联的大哈希值708。图2中的较小哈希模块242将大哈希值708投影到矢量712和矢量724上。矢量712被分割成多个片段,且图7A中示出了四个片段714、716、718、720。矢量724被分割成多个片段,且图7A中示出了四个片段726、728、730、732。大哈希值708被投影至落入矢量712的片段718内并且落入矢量724的片段728内。
2-D坐标系中的映射750示出了投影710的图形表示。2-D坐标系包括对应于矢量724的x轴760和对应于矢量712的y轴762。x轴760被分割成对应于矢量724的片段的单元。y轴762也被分割成对应于矢量712的片段的单元。矢量712、724中的片段定义2-D坐标系中的贮存区。例如,矢量712的片段718和矢量724的片段728定义2-D坐标系中的贮存区782。与图像p5相关联的小哈希值734落在贮存区782内。
为了搜索与图像p5相似的图像,空间搜索模块244可考虑相邻的贮存区,而不仅仅贮存区782。在本发明的实施方式中,空间搜索模块244通过首先锁定最接近于与新图像相关联的小哈希值的顶点可确定相邻的贮存区。顶点是d-D坐标系中对应于一组贮存区的拐角的点。在本发明的实施方式中,可以量化图像的小哈希值,并且量化的小哈希值可被视为顶点。与顶点相符的贮存区(即,在顶点处具有拐角)可被视为相邻的贮存区。总之,共享顶点的相邻贮存区的数目独立于d-D坐标系中的维数(d)。d-D坐标系中存在共享顶点的2d和相邻贮存区。
在本发明的实施方式中,3-D坐标系中相邻贮存区的数目为8,并且2-D坐标系中的相邻贮存区的数目为4。总之,可以在任意数目的相邻贮存区内搜索相似图像。搜索的相邻贮存区的数目可依赖于各种因素,诸如,用于识别相似图像的阈值距离、定义每个贮存区的片段大小、假阴性的希望概率等。出于示出性之目的,此处所示的投影是二维(即,当维数d被选择为具有值2时)局部敏感哈希法的简单实例。因此,如此处示出的,基于简单实例,搜索的相邻贮存区的数目为4。
如图7A所示,顶点790最接近于小哈希值734。就顶点790方面而言,贮存区782、784、786、788相对于小哈希值734则被视为是相邻贮存区。关于任何集群中心是否与贮存区782、784、786、788相关联做出确定。通过将对集群中心的搜索限制到有限数目的贮存区,空间搜索模块244使搜索过程得到优化,从而允许更为快速并且高效地执行搜索。因为任何集群中心均不与贮存区782、784、786、788相关联,所以集群中心创建模块246基于小哈希值734创建第一新集群中心712。图像p5与集群中心712相关联。在本发明的实施方式中,第一集群中心712与四个相邻贮存区782、784、786、788相关联。
图7B是根据本发明的实施方式的有关2-D坐标系中的局部敏感哈希法和相关映射772的投影770的图形表示,其示出了新图像与先前存在集群中心的关联性。大哈希模块240产生与新图像p6相关联的大哈希值748。较小哈希模块242将大哈希值748投影到矢量712和矢量724上。大哈希值748被投影至落入矢量712的片段718内和矢量724的片段728内。
2-D坐标系中的映射772示出了投影770的图形表示。较小哈希模块242基于与图像p6相关联的大哈希值749产生小哈希值736。较小哈希模块242确定小哈希值736落在贮存区782内。为了搜索与图像p6相似的图像,空间搜索模块244考虑相邻的贮存区,而不仅仅考虑贮存区782。如图7B所示,顶点790最接近于小哈希值736。类似于小哈希值734,就顶点790方面而言,贮存区782、784、786、788相对于小哈希值736被视为是相邻的贮存区。空间搜索模块244确定任何集群中心是否与相邻的贮存区782、784、786、788中的任一个或者全部相关联。在本发明的实施方式中,考虑了与用于小哈希值736的所有四个相邻贮存区782、784、786、788相关联的每个集群中心。在另一实施方式中,考虑了与用于小哈希值736的四个相邻贮存区782、784、786、788中的任一个相关联的每个集群中心。因为集群中心712与贮存区782、784、786、788相关联,所以近似度确定模块248根据欧几里得距离进一步确定集群中心712是否充分接近于小哈希值736。通过近似度确定模块248计算小哈希值736与集群中心712之间的距离并且将其与阈值距离进行比较。如果计算距离小于阈值距离(图7B中的情况),则图像p6被视为与图像p5相似,并且图像p6与集群中心712相关联。如图7C所示,不创建图像p6的新集群中心。相反,如果计算距离超过阈值距离(图7B中未示出),则图像p6被视为不同于图像p5,并且集群中心创建模块246创建图像p6的新集群中心。实际上,可以围绕小哈希值736绘制具有半径766的圆768。当集群中心712落在圆768内时,图像p6可被视为与图像p5相似,并且图像p6与集群中心712相关联。当集群中心712落在圆768外时,图像p6可被视为不同于图像p5,并且集群中心创建模块246可创建与贮存区782、784、786、788相关联的新集群中心。
阈值距离可以是结合图4B至图4E基于上述所述考虑因素选择的任一合适值。图7B至图7F中的阈值距离大于图4B至图4E中的阈值距离。在本发明的实施方式中,确定假阳性的阈值距离可不同于确定假阴性的阈值距离。
图7D是根据本发明的实施方式的有关2-D坐标系中的局部敏感哈希法和相关映射776的投影774的图形表示,其示出了新图像与新集群中心的关联性。大哈希模块240产生与新图像p7相关联的大哈希值792。较小哈希模块242将大哈希值792映射到矢量712和矢量724上。大哈希模块792被投影至落在矢量712的片段718内和矢量724的片段730内。
2-D坐标系中的映射776示出了投影774的图形表示。较小哈希模块242基于与图像p7相关联的大哈希值792产生小哈希值794。小哈希值794落在贮存区784内。为了搜索与图像p7相似的图像,空间搜索模块244考虑相邻的贮存区,而不仅仅考虑贮存区784。如图7D所示,顶点790最接近于小哈希值794。类似与小哈希值734和小哈希值736,就至高790方面而言,贮存区782、784、786、788相对于小哈希值794则被视为是相邻的贮存区。例如,空间搜索模块244确定任何集群中心是否与贮存区782、784、786、788中的全部或者任一个相关联。因为集群中心712与贮存区782、784、786、788相关联,所以近似度确定模块248根据欧几里得距离进一步确定集群中心712是否充分接近于小哈希值794。通过近似度确定模块248计算小哈希值794与集群中心712之间的距离并且将其与阈值距离相比较。如图7E所示,如果计算距离超过阈值距离(图7D中所示),则图像p7被视为不同于图像p5,并且集群中心创建模块246创建图像p7的新集群中心796。相反,如果计算距离小于阈值距离(不是图7D中的情况),则图像p7被视为与图像p5相似,并且图像p7与集群中心712相关联(图7D中未示出)。实际上,可以围绕小哈希值794绘制具有半径766的圆768。当集群中心712落在圆768内时,图像p7可被视为与图像p5相似,并且图像p7与集群中心712相关联。当集群中心712落在圆768外时,图像p7可被视为不同于图像p5,并且集群中心创建模块246创建与贮存区782、784、786、788相关联的新集群中心796(图7E中所示)。
图7F是根据本发明的实施方式的有关2-D坐标系中的局部敏感哈希法和相关映射780的投影778的图形表示,其示出了当与新图像相关联的小哈希值和现有集群中心落入不同相邻贮存区内时新图像与现有集群中心的关联性。大哈希模块240产生与新图像p8相关联的大哈希值798。较小哈希模块242将大哈希值798投影到矢量712和矢量724上。大哈希值798投影至落入在矢量712的片段718内和矢量724的片段726内。
2-D坐标系中的映射780示出了投影778的图形表示。较小哈希模块242基于与图像p8相关联的大哈希值798产生小哈希值746。小哈希值746落在贮存区812内。为了搜索与图像p8相似的图像,空间搜索模块244考虑相邻的贮存区,而不仅仅考虑贮存区812。如图7F所示,顶点830最接近于小哈希值746。就顶点830方面而言,贮存区812、782、816、786相对于小哈希值746被视为是相邻的贮存区。
例如,空间确定模块244确定任何集群中心是否与贮存区812、782、816、786的全部或者任一个相关联。因为集群中心712和集群中心796与贮存区812,782、816、786相关联,所以近似度确定模块248根据欧几里得距离进一步确定集群中心712和集群中心796中的任一个是否充分接近于小哈希值746。通过近似度确定模块248计算小哈希值746与各个集群中心712之间的距离并且将其与阈值距离相比较。如图7G所示,如果任一计算距离小于阈值距离(即,图7F中的情况),则小哈希值746与最接近的集群中心712相关联,并且图像p8被视为与集群中心712相关联的图像p5相似。相反,如果对所有集群中心的计算距离超过阈值距离(图7F中未示出),则图像p8被视为不同于这些集群中心的图像,并且集群中心创建模块246创建图像p8的新集群中心。实际上,可以围绕小哈希值746绘制具有半径766的圆768。如果集群中心712或者集群中心796落在圆768内,则图像p8可被视为分别与图像p5或者图像p7相似,并且图像p8分别与集群中心712或者集群中心796中较为接近的相关联。如果集群中心712和集群中心796落在圆768外,则图像p8可被视为分别不同于图像p5和图像p7,并且集群中心创面模块246针对与贮存区812,782,816,786相关联的新图像p8创建新集群中心。
在本发明的另一实施方式中,集群中心可以与单一贮存区相关联,而非与一组相邻的贮存区相关联。为了搜索与新图像相似的图像,通过空间搜索模块244可以确定最接近于新图像的小哈希值的顶点。可以识别共享此顶点的所有相邻的贮存区,并且可以识别与这些相邻贮存区相关联的所有集群中心。通过近似度确定模块248可以确定新图像的小哈希值是否充分接近于所识别集群中心中的任一个(例如,在阈值距离内)。
可以与上述所述相似的方式考虑与额外图像相关联的小哈希值。例如,与又一图像p9相关联的小哈希值可落在贮存区内。可以识别最接近于小哈希值的顶点,并且可以识别相邻的贮存区。相邻的贮存区构成相似图像的搜索空间。可以识别与相邻贮存区相关联的所有集群中心。可以计算小哈希值与各个识别集群中心之间的距离并且将其与阈值距离相比较。如果任一识别集群中心的计算距离小于阈值距离,则图像p9可与所识别集群中心(例如,距图像p9的小哈希值为最小距离的识别集群中心)相关联。相反,如果所有识别的集群中心的计算距离大于阈值距离,则可创建图像p9的新集群中心。实际上,可以围绕小哈希值绘制合适半径的圆。如果发现集群中心在圆内,则即使发现集群中心在不同的贮存区内,图像p9也与集群中心相关联并且被视为与已经与集群中心相关联的图像相似。如果发现任何集群中心均不在圆内,则给予小哈希值创建新集群中心,并且图像p9被视为不同于与其他集群中心相关联的其他图像。可以相似方式继续除图像p5、p6、p7、p8、p9之外的进一步图像的考虑。
在上述所述实施方式中,相邻的贮存区仅被定义为仅包括共享公共顶点的贮存区。在本实施方式中,仅考虑顶点周围的一“层”贮存区。还可以其他方式限定相邻的贮存区。例如,相邻的贮存区可被限定为包括最接近于小哈希值的顶点周围的两层贮存区。在本实施方式中,相邻贮存区可包括与小哈希值共享同一顶点的“内”贮存区以及与内贮存区中的任一个共享顶点的“外”贮存区。总之,以增加搜索空间和相关计算为代价,通过考虑更多的相邻贮存区可以降低假阴性的概率。
图8是根据本发明的实施方式的表示结合图7A至图7G所描述的贮存区、集群中心、以及图像之间的关联性的示图。图形850包括贮存区782、784、786、788、812、816。集群中心712与贮存区782、784、786、788相关联。集群中心c7 796与相邻贮存区782、784、786、788相关联。集群中心712和796中的每个均与被视为相似的一个或者多个图像相关联。图像p5 840、p6 842、p8 846被视为相似并且与集群中心712相关联。图像p7 844与集群中心796相关联。贮存区782、784、786、788、812、816、集群中心c5 712、c7 796、以及图像p5 840、p6 842、p7 844、p8 846及其关联性构成社交网络系统130中的社交图谱的一部分。
图9示出了根据本发明的实施方式的用于确定图像相似性以减号假阴性的过程900。最初,在框910中,接收新的图像。在框912中,确定新图像的大哈希值。例如,使用内容感知大哈希函数可以确定大哈希值。在框914中,则从新图像的大哈希值确定小哈希值。例如,使用局部敏感哈希函数可以确定小哈希值。在框916中,确定d-D坐标系中最接近于较小哈希的顶点。通过(i)使d个值量化成小哈希值并且(ii)识别由d个量化值限定的d-D坐标系中的顶点可以确定最接近的顶点。
在框918中,基于顶点可以识别接近于小哈希值的贮存区。所识别的贮存区可以是邻近于小哈希值并且具有在框916中确定的顶点作为其顶点中的一个的贮存区。还可以其他方式识别接近于小哈希值的贮存区。在任何情况下,在框920中,识别与所识别相关联的全部现有集群中心。通过仅考虑与接近于小哈希值的贮存区相关联的集群中心,而非考虑与所有贮存区相关联的所有集群中心,充分减少对新图像的搜索空间。在框922中,确定是否存在与所识别贮存区中的任一个相关联的任一现有集群中心。如果在框922中答案是“否”,则新图像的小哈希值是被投影到所识别贮存区中的一个上的小哈希值。在框936中,则创建新图像的新集群中心并且给出小哈希值的坐标。在框938中,新图像与新集群中心相关联。
相反,如果存在与所识别贮存区相关联的至少一个现有集群中心并且在框922中答案是“是”,则在框924中,确定小哈希值和与任一识别贮存区相关联的每个现有集群中心之间的距离。在框926中,则确定从小哈希值至任一现有集群中心的距离是否小于阈值距离。如果在框926中答案是“否”,则在框934中,新图像被视为不同于与现有集群中心相关联的图像。在框936中,创建新图像的新集群中心,并且在框938中,新图像与新集群中心相关联。
然而,如果从小哈希值至至少一个现有集群中心的距离小于阈值距离并且在框926中的答案是“是”,则在框928中,识别距新图像的小哈希值为最小距离的现有集群中心。还可选择距最小哈希值具有小于阈值距离的距离的另一现有集群中心。在任何情况下,在框930中,新图像可以与所识别的现有集群中心相关联。在框932中,新图像被视为与所识别的现有集群中心相关联的图像相似。
在本发明的实施方式中,通过图像相似性分析模块132可以全部或者部分地执行过程900。在本发明的实施方式中,通过社交网络系统130至少可以部分地执行过程900。
在各种实施方式中,上述图及其相关的讨论已经描述了使用图像的大哈希值的小哈希值来识别相关的贮存区以及创建集群中心或者与所识别贮存区相关联的现有集群中心相比较。在另一实施方式中,一旦识别具有小哈希值的相关贮存区,则可以使用大哈希值(而非小哈希值)创建集群中心或者与所识别贮存区相关联的现有集群中心相比较。例如,关于假阳性的确定,可以确定新图像的大哈希值。例如,可以使用内容感知大哈希函数确定大哈希值。基于大哈希值则可确定新图像的小哈希值。例如,使用局部敏感哈希函数可以确定小哈希值。用于小哈希值的哈希函数可有效地将大哈希值投影到d-D坐标系中的d个矢量上。小哈希值可包括用于限定d-D坐标系的d个矢量的d个值。确定小哈希值落入其中的贮存区(d-D坐标系中)。
可以识别与贮存区相关联的全部现有集群中心。现有集群中心是针对现有图像已经创建的集群中心。通过仅考虑与贮存区相关联的集群中心。而非考虑与其他贮存区相关联的所有集群中心,充分减少了新图像的搜索空间。可以确定是否存在与贮存区相关联的任一现有集群中心。如果否,则新图像的大哈希值是被投影到贮存区内的第一大哈希值。可以创建新图像的新集群中心并且给出了大哈希值的坐标。新图像可以与新集群中心相关联。
相反,如果存在与贮存区相关联的至少一个现有集群中心,则确定大哈希值和与贮存区相关联的每个现有集群中心之间的距离。然后,确定从大哈希值至任一现有集群中心的距离是否小于阈值距离。如果否,则新图像可被视为不同于与贮存区相关联的现有集群中心相关联的图像。可以创建新图像的新集群中心,并且新图像与新集群中心相关联。因此,如果图像不被视为相似,则可以创建一个以上集群中心并且使其与贮存区相关联。
然而,如果从大哈希值至至少一个现有集群中心的距离小于阈值距离,则可以识别距新图像的大哈希值为最小距离的现有集群中心。还可以选择距大哈希值具有小于阈值距离的距离的另一现有集群中心。在任何情况下,新图像可以与所识别的现有集群中心相关联。新图像被视为与所识别的现有集群中心相关联的图像相似。
又例如,关于假阴性的确定,可以确定新图像的大哈希值。例如,使用内容感知大哈希函数可以确定大哈希值。从新图像的大哈希值可以确定小哈希值。例如,使用局部敏感哈希函数可以确定小哈希值。确定d-D坐标系中最接近于较小哈希的顶点。通过(i)量化小哈希值的d个值并且(ii)识别由d个量化值限定的d-D坐标系中的顶点可以确定最接近的顶点。
基于顶点可以识别接近于小哈希值的贮存区。识别贮存区可以是邻近于小哈希值并且具有之前确定的顶点作为其顶点中的一个的贮存区。还可以其他方式识别接近于小哈希值的贮存区。在任何情况下,可以识别与所识别贮存区相关联的全部现有集群中心。通过仅考虑与接近于小哈希值的贮存区相关联的集群中心,而非考虑与所有贮存区相关联的所有集群中心,充分减少了新图像的搜索空间。然后,确定是否存在与所识别贮存区中的任一个相关联的任一现有集群中心。如果否,新图像的大哈希值则是被投影到所识别贮存区中的一个上的第一大哈希值。可以创建新图像的新集群中心并且给出了大哈希值的坐标。新图像与新集群中心相关联。
相反,如果存在与所识别贮存区相关联的至少一个现有集群中心,则可以确定大哈希值和与任一所识别贮存区相关联的每个现有集群中心之间的距离。可以确定从大哈希值至任一现有集群中心的距离小于阈值距离。如果否,则新图像被视为不同于与现有集群中心相关联的图像。然后,可以创建新图像的新集群中心并且新图像与新集群中心相关联。
然而,如果从大哈希值至至少一个现有集群中心的距离小于阈值距离,则识别距新图像的大哈希值具有最小距离的现有集群中心。还可选择距大哈希值为小于阈值距离的距离的另一现有集群中心。在任何情况下,新图像可以与所识别的现有集群中心相关联。新图像被视为与所识别的现有集群中心相关联的图像相似。
管理动作
图像与集群中心的关联性便于社交网络系统130对相似图像采取的管理动作。图2中的管理动作模块270可被编程为对相似图像执行去除和阻止功能。例如,在具体情况下,当图像被视为不需要或者被另行视为不适当时,可以执行去除或者阻止功能,并且从社交网络系统130中去除或者阻止所有相似的图像。通过遵循或者“爬行”集群中心及其对应相似图像之间的相关联路径可以执行这些功能。
在图10A至图10B中,集群中心1010与图像p10 1014、p11 1016相互(即,双边)相关联。集群中线股1012与图像p12 1018相互(即,双边)相关联。图10A示出了根据本发明的实施方式的通过管理动作模块270所执行的删除功能。例如,如果图像p10 1014被视为不适当,则通过遵循其从图像p10 1014至集群中心1010的相关联路径可以识别与图像p10 1014相关联的集群中心1010。然后,通过遵循其从集群中心1010至图像p11 1016的相关联路径可以识别与集群中心1010相关联的图像p111016。类似于图像p11 1016,按照相似方式,可以识别与图像p10 1014相似并且与集群中心1010相关联的所有图像。因此,一旦识别集群中心1010,则管理动作可遵循从集群中心1010至所有相关联图像(例如,图像p10 1014、p11 1016)的所有相关联的路径,以从社交网络系统130中删除图像。
图10B示出了根据本发明的实施方式的通过管理动作模块270执行的阻止功能。例如,如果图像p12 1018被视为不适当,则通过遵循其从图像p12 1018至集群中心1012的相关联的路径可以识别与图像p12 1018相关联的集群中心1012。与图像p12 1018相似的所有图像与集群中心1012相关联。因此,一旦识别集群中心1012,则通过管理动作可以控制集群中心1012,以使得不能将以其他方式与集群中心1012相关联的任何未来相似图像被发布到社交网络系统130中。
在本发明的实施方式中,管理动作模块270可以执行其他功能。例如,如果社交网络系统130许可发布相似的图像,则可以发送消息给已发布或者将发布相似图像的用户或者对已发布或者将发布相似图像的用户采取动作。通过遵循其从感兴趣的图像至相关联的集群中心的相关联路径可以识别对应于感兴趣图像的集群中心。因此,通过遵循其集群中心的相关联路径可以识别与感兴趣图像相似的所有图像。因此,通过遵循其从各个相似图像至相关联用户的相关联路径可以识别社交网络系统130中与相似图像相关联的用户。一旦识别用户,则将消息发送给用户或者对用户采取动作。
图11示出了根据本发明的实施方式的用于限制图像的使用的过程1100。最初,在框1112中,确定第一图像的大哈希值。在框1114中,基于大哈希值确定第一图像的小哈希值。在框1116中,确定与第一图像相关联的第一值(例如,小哈希值)和与该至少一个图像相关联的第一集群中心之间的距离。在框1118中,当确定距离大于阈值距离时,第一图像和该至少一个图像被视为不相似。在框1120中,当确定距离大于阈值距离时,创建第二集群中心。在框1122中,当确定距离大于阈值距离时,第一图像与第二集群中心相关联。在框1124中,当确定距离小于阈值距离时,第一图像与该至少一个图像被视为相似。在框1126中,当确定距离小于阈值距离时,第一图像与第一集群中心相关联。在框1128中,基于第一集群中心的识别限制第一图像和该至少一个图像的使用。
在本发明的实施方式中,通过图像相似性分析模块132可以全部或者部分地执行过程1100。在本发明的实施方式中,通过社交网络系统130至少可以部分地执行过程1100。
结论
通过各种机器和计算机系统架构以及各种网络和计算环境可以实现上述过程和特征。图12示出了可用于实现上述所识别的计算设备中的一种或者多种的计算机系统120的实施例。计算机系统1200包括用于致使计算机系统1200执行此处所讨论的过程和特征的一系列指令。计算机系统1200可连接(例如,网络)至其他机器。在网络部署中,计算机系统1200可在客户端-服务器网络环境中的服务器机器或者客户端机器的承受能力内运行或者作为对等(或者分布式)网络环境中的对等机器运行。在本发明的实施方式中,计算机系统1200可以是社交网络系统130、用户设备110、以及外部系统120、或者其部件。在本发明的实施方式中,计算机系统1200可以是构成社交网络系统130的全部或者部分的多个之中的一个服务器。
计算机系统1200包括涉及此处所描述的过程和特征的处理器1202、高速缓冲存储器1204、以及一个或者多个可执行模块和存储在计算机可读介质上的驱动器。此外,计算机系统1200包括高性能输入/输出(I/O)总线1206和标准I/O总线1208。主桥1210将处理器1202耦接至高性能I/O总线1206,其中,I/O总线桥1212使两个总线1206和1208彼此耦接。系统存储器1214与一个或者多个网络/通信接口1216耦接至总线1206。计算机系统1200可进一步包括视频存储器和耦接至视频存储器(未示出)的显示设备。大容量存储器1218和I/O端口1220耦接至总线1208。计算机系统1200可选地包括键盘和定点设备、显示设备、或者耦接至总线1208的其他输入/输出设备(未示出)。总之,这些元件旨在表示计算机硬件系统的广义分类,其中包括但不限于基于由加利福尼亚圣克拉拉因特尔公司制造的x86-兼容处理器和基于由加利福尼亚森尼韦尔超微半导体(AMD)公司制造的兼容处理器的计算机系统以及任何其他合适的处理器。
操作系统管理并且控制计算机系统1200的操作,其中包括将数据输入到软件应用程序(未示出)并且从软件应用程序输出数据。操作系统提供在系统上执行的软件应用程序与系统的硬件部件之间的接口。可以使用任何合适的操作系统,诸如,LINUX操作系统、从加利福尼亚库比蒂诺(Cupertino)苹果电脑公司可商购的Apple Macintosh操作系统、UNIX操作系统、操作系统、BSD操作系统等。其他实施方式是可能的。
下面将更为详细地描述计算机系统1200的元件。具体地,网络接口1216提供计算机系统1200与大量网络中的任一个之间的同学,诸如,以太网(例如,IEEE 802.3)网络、底板等。大容量存储器1218提供用于数据和编程指令的永久存储器以执行通过上述识别的相应计算系统所实现的上述所述过程和特征,其中,系统存储器1214(例如,DRAM)提在被处理器1202执行时提供用于数据和编程指令的临时存储器。I/O端口1220可以以提供额外外围设备之间的通信的耦接至计算机系统1200的一个或者多个串联和/或并联通信端口。
计算机系统1200可包括各个系统架构并且可重新布置计算机系统1200的各个部件。例如,高速缓冲存储器1204可以与处理器1202位于芯片上。可替代地,可以将高速缓冲存储器1204和处理器1202一起打包成“处理器模块”,且处理器1202被称之为“处理器核心”。而且,本发明的特定实施方式既不需要也不包括所有的上述部件。例如,耦接至标准I/O总线1208的外围设备可耦接至高性能I/O总线1206。此外,在一些实施方式中,仅存在单一的总线,且计算机系统1200的部件被耦接至单一总线。而且,计算机系统1200可包括诸如额外处理器、存储设备、存储器等额外的部件。
总之,此处所描述的过程和特征可被实施为操作系统或者具体应用程序的一部分、部件、程序、对象、模块、或者被称之为“程序”的一系列指令。例如,可以使用一个或者多个程序执行此处所描述的具体过程。通常,程序包括计算机系统1200中的各个存储器和存储设备中的一个或者多个指令,该一个或者多个指令在由一个或者多个处理器读取或者执行时,致使计算机系统1200执行操作以执行此处所描述的过程和特征。在软件、固件、硬件(例如,专用集成电路)、或者其任一组合中可以实现此处所描述的过程和特征。
在一种实施方式中,此处所描述的过程和特征被计算机系统1200实施为独自或者统一在分布式计算环境中运行的一系列可执行模块。通过硬件、存储在计算机可读介质上的可执行模块(或者机器可读介质)、或者两者的组合可以实现上述模块。例如,模块可包括由硬件系统中的处理器(诸如,处理器1202)执行的多个或者一系列指令。最初,该系列指令可被存储在存储设备上,诸如,大容量存储器1218。然而,该系列指令可被存储在任何合适的计算机可读存储介质上。而且,该系列指令不需要存储在网络的服务器本机上并且可经由网络/通信接口1216从远程存储设备接收。指令从诸如大容量存储器1218等存储设备被复制到存储器1214中并且然后被处理器1202访问和执行。
计算机可读介质的实施例包括但不限于可记录类型的介质,诸如,易失性和非易失性存储设备、固态静止存储器、闪存和其他可换式磁盘、硬磁盘驱动、磁性介质、光盘(例如,紧凑磁盘-只读存储器)(CD ROMS)、数字通用盘(DVD))、其他相似的非易失性(或者易失性)有形(或者无形)存储介质、或者适用于存储、编码、或者携带由计算机系统1200执行的一系列指令以执行此处所描述的过程和特征中的任一种或者多种的任何类型的介质。
出于说明性之目的,规定了多种具体细节以提供对本说明书的完全理解。然而,对本领域技术人员显而易见的是,在没有这些具体细节的情况下可以实现本公开的实施方式。在一些情况下,以框图形式示出了模块、结构、过程、特征、以及设备,以避免使本说明书变得模糊。在其他情况下,示出了表示数据和逻辑流的功能框图和流程图。可以各种形式组合、分离、移除、记录、并且以不同于明确描述和此处描述的方式替换框图和流程图中的部件(例如模块、块、接口、设备、特征等)。
在本说明书中,参考“一种实施方式”、“实施方式”、“其他实施方式”等指结合本公开的至少一种实施方式中包括的实施方式所描述的具体特征、设计、结构、各种特性。例如,在本说明书中的各个地方中出现的短语“在一种实施方式中”或者“在实施方式中”并不一定必须全部指同一种实施方式,也不是排除其他实施方式相互独立或者可替代的实施方式。而且,无论是否明确参考“实施方式”等,都描述了以各种形式组合并且包括在一些实施方式中、但在其他实施方式中也以不同形式省去的各种特征。同样,描述了在一些实施方式中可优选或者需要而在其他实施方式中不是如此的各种特征。
原理上,出于可读性和指示性之目的,选择了此处所使用的语言,并且其不被选择为描绘或者限制本发明主题。因此,旨在不由细节描述限制本发明的范围,而是由基于此的申请中发布的任何权利要求限制本发明的范围。因此,本发明的实施方式的公开内容旨在为示出性,而不是限制下列权利要求中固定的本发明的范围。

Claims (15)

1.一种计算机实现方法,用于确定图像相似性,具体地,用于确定社交网络系统中的图像之间的相似性,包括:
通过包括至少一个处理器的计算机系统确定与第一图像相关联的第一值和与至少一个图像相关联的第一集群中心之间的距离;并且
当所确定的距离大于阈值距离时,通过所述计算机系统确定所述第一图像与所述至少一个图像不相似。
2.根据权利要求1所述的方法,进一步包括在所确定的距离大于所述阈值距离时创建第二集群中心,优选地,进一步包括在所确定的距离大于所述阈值距离时使所述第一图像与所述第二集群中心相关联。
3.根据权利要求1或权利要求2所述的方法,进一步包括在所确定的距离小于所述阈值距离时确定所述第一图像与所述至少一个图像相似,优选地,进一步包括在所确定的距离小于所述阈值距离时使所述第一图像与所述第一集群中心相关联。
4.根据权利要求1至3中任一项所述的方法,进一步包括:
识别与所述第一值相关联的贮存区;
识别与所述贮存区相关联的至少一个集群中心,所述至少一个集群中心包括所述第一集群中心;并且
针对所述至少一个集群中心评估所述第一值。
5.根据权利要求1至4中任一项所述的方法,进一步包括:
识别多个贮存区;
识别与所述多个贮存区相关联的至少一个集群中心,所述至少一个集群中心包括所述第一集群中心;并且
针对所述至少一个集群中心评估所述第一值。
6.根据权利要求5所述的方法,其中,所述多个贮存区包括接近所述第一值的小哈希值的预定数目的贮存区,其中具体地,相邻贮存区的所述预定数目为2d,其中,d是所述第一值的坐标系的维度的数量。
7.根据权利要求1至6中任一项所述的方法,进一步包括:
量化与所述第一图像相关联的所述第一值的小哈希值;
基于所量化的小哈希值识别至少一个贮存区;并且
基于所述至少一个贮存区搜索与所述第一图像相似的图像。
8.根据权利要求1至7中任一项所述的方法,其中,与所述第一图像相关联的所述第一值是大哈希值和小哈希值中的至少一个。
9.根据权利要求8所述的方法,进一步包括基于应用于所述第一图像的所述大哈希值的小哈希函数确定所述第一图像的所述小哈希值,其中优选地,所述小哈希函数将所述大哈希值的维度的数量减少至预定的维数。
10.根据权利要求9所述的方法,其中,所述小哈希函数是局部敏感哈希函数。
11.根据权利要求1至10中任一项所述的方法,进一步包括基于应用于所述第一图像的内容感知哈希函数确定所述第一图像的所述大哈希值和/或其中所述阈值距离是可编程的。
12.根据权利要求1至11中任一项所述的方法,进一步包括:
使贮存区与多个集群中心相关联;并且
使所述多个集群中心中的每个集群中心与被视为相似的至少一个图像相关联。
13.根据权利要求1至12中任一项所述的方法,进一步包括:
当所确定的距离小于所述阈值距离时,使所述第一图像与所述第一集群中心相关联;并且
具体地,在所述社交网络系统内,基于所述第一集群中心的识别限制使用所述第一图像和所述至少一个图像,例如,限制、防止、或者移除所述社交网络系统中的所述图像的记录。
14.一种用于确定图像相似性的系统,具体地,用于确定社交网络系统中的图像之间的相似性,包括:
至少一个计算机系统,具有至少一个处理器;和
存储器,存储被配置为指示所述至少一个处理器执行根据权利要求1至13中任一项所述的方法的指令。
15.一种计算机存储介质,存储在被执行时使计算机系统或者计算机系统的至少一个处理器执行根据权利要求1至13中任一项所述的计算机实现方法的计算机可执行指令。
CN201380046933.8A 2012-07-10 2013-07-05 用于确定图像相似性的方法和系统 Active CN104620284B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/545,783 US8849047B2 (en) 2012-07-10 2012-07-10 Methods and systems for determining image similarity
US13/545,783 2012-07-10
PCT/US2013/049416 WO2014011495A1 (en) 2012-07-10 2013-07-05 Method and system for determining image similarity

Publications (2)

Publication Number Publication Date
CN104620284A true CN104620284A (zh) 2015-05-13
CN104620284B CN104620284B (zh) 2018-02-02

Family

ID=48782211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380046933.8A Active CN104620284B (zh) 2012-07-10 2013-07-05 用于确定图像相似性的方法和系统

Country Status (11)

Country Link
US (4) US8849047B2 (zh)
EP (1) EP2685404A3 (zh)
JP (1) JP5784865B1 (zh)
KR (1) KR101533349B1 (zh)
CN (1) CN104620284B (zh)
AU (1) AU2013288988B2 (zh)
BR (1) BR112015000707A2 (zh)
CA (1) CA2876585C (zh)
IL (1) IL236564A (zh)
MX (1) MX343875B (zh)
WO (1) WO2014011495A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108701161A (zh) * 2016-03-04 2018-10-23 微软技术许可有限责任公司 为搜索查询提供图像
CN111368128A (zh) * 2020-03-12 2020-07-03 北京海益同展信息科技有限公司 目标图片的识别方法、装置和计算机可读存储介质
CN111522989A (zh) * 2020-07-06 2020-08-11 南京梦饷网络科技有限公司 用于图像检索的方法、计算设备和计算机存储介质

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2911071A1 (en) * 2006-04-20 2015-08-26 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
US8849047B2 (en) * 2012-07-10 2014-09-30 Facebook, Inc. Methods and systems for determining image similarity
US8875247B2 (en) * 2013-03-14 2014-10-28 Facebook, Inc. Instant personalization security
US9916329B2 (en) * 2013-07-02 2018-03-13 Facebook, Inc. Selecting images associated with content received from a social networking system user
US20150081679A1 (en) * 2013-09-13 2015-03-19 Avishek Gyanchand Focused search tool
WO2015052093A1 (en) * 2013-10-07 2015-04-16 Agfa Graphics Nv A raster image processing method
US10311329B2 (en) 2015-01-30 2019-06-04 International Business Machines Corporation Social connection via real-time image comparison
CN106302202B (zh) * 2015-05-15 2020-07-28 阿里巴巴集团控股有限公司 数据限流方法和装置
US9705997B2 (en) * 2015-06-30 2017-07-11 Timothy Dorcey Systems and methods for location-based social networking
RU2640298C1 (ru) 2015-10-12 2017-12-27 Общество С Ограниченной Ответственностью "Яндекс" Способ обработки и хранения изображений
US11100073B2 (en) * 2015-11-12 2021-08-24 Verizon Media Inc. Method and system for data assignment in a distributed system
JP2017220774A (ja) * 2016-06-07 2017-12-14 キヤノン株式会社 画像読取装置、画像読取装置の制御方法、及びプログラム
CN106161628B (zh) * 2016-07-13 2020-12-01 腾讯科技(深圳)有限公司 拍摄文件上传方法及装置
KR101902213B1 (ko) 2017-01-09 2018-11-08 경희대학교 산학협력단 유사이미지 검색을 위한 해시코드 생성장치 및 방법
US10298925B2 (en) 2017-06-22 2019-05-21 International Business Machines Corporation Multiple image storage compression tree
US10733606B2 (en) * 2017-07-07 2020-08-04 Bank Of America Corporation Biometric authentication for paper-based transactions
US11556581B2 (en) * 2018-09-04 2023-01-17 Inception Institute of Artificial Intelligence, Ltd. Sketch-based image retrieval techniques using generative domain migration hashing
CN110175555A (zh) * 2019-05-23 2019-08-27 厦门市美亚柏科信息股份有限公司 人脸图像聚类方法和装置
US20210049355A1 (en) * 2019-08-16 2021-02-18 Stephanie Sujin CHOI Method for clustering and identifying animals based on the shapes, relative positions and other features of body parts
KR20210042752A (ko) * 2019-10-10 2021-04-20 삼성전자주식회사 이미지 백업을 수행하는 컴퓨팅 시스템 및 이미지 백업 방법
US11500764B2 (en) * 2020-10-30 2022-11-15 Micro Focus Llc Human interactions with artificial intelligence (AI)-based testing tool
CN112926998B (zh) * 2021-03-24 2022-05-06 支付宝(杭州)信息技术有限公司 作弊识别方法和装置
CN113821647B (zh) * 2021-11-22 2022-02-22 山东捷瑞数字科技股份有限公司 一种工程机械行业知识图谱构建方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090097756A1 (en) * 2007-10-11 2009-04-16 Fuji Xerox Co., Ltd. Similar image search apparatus and computer readable medium
US20110058057A1 (en) * 2009-09-04 2011-03-10 Sony Corporation Image capture device and method, image processing device and method, and program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6661922B1 (en) * 2000-06-21 2003-12-09 Hewlett-Packard Development Company, L.P. Method of determining a nearest numerical neighbor point in multi-dimensional space
US7353224B2 (en) * 2001-12-04 2008-04-01 Hewlett-Packard Development Company, L.P. System and method for efficiently finding near-similar images in massive databases
US7945854B2 (en) 2006-10-30 2011-05-17 Palo Alto Research Center Incorporated Systems and methods for the combination and display of social and textual content
US7797265B2 (en) * 2007-02-26 2010-09-14 Siemens Corporation Document clustering that applies a locality sensitive hashing function to a feature vector to obtain a limited set of candidate clusters
US8185959B2 (en) * 2008-02-26 2012-05-22 International Business Machines Corporation Digital rights management of captured content based on capture associated locations
US8150170B2 (en) * 2008-05-30 2012-04-03 Microsoft Corporation Statistical approach to large-scale image annotation
US8694304B2 (en) 2010-03-26 2014-04-08 Virtuoz Sa Semantic clustering and user interfaces
US9990429B2 (en) 2010-05-14 2018-06-05 Microsoft Technology Licensing, Llc Automated social networking graph mining and visualization
US8849047B2 (en) * 2012-07-10 2014-09-30 Facebook, Inc. Methods and systems for determining image similarity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090097756A1 (en) * 2007-10-11 2009-04-16 Fuji Xerox Co., Ltd. Similar image search apparatus and computer readable medium
US20110058057A1 (en) * 2009-09-04 2011-03-10 Sony Corporation Image capture device and method, image processing device and method, and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YIN-HSI KUO等: "Query expansion for hash-based image object retrieval", 《PROCEEDINGS OF THE SEVENTEEN ACM INTERNATIONAL CONFERENCE ON MULTIMEDIA》 *
闻乃松: "基于局部特征的图像拷贝检测研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108701161A (zh) * 2016-03-04 2018-10-23 微软技术许可有限责任公司 为搜索查询提供图像
CN108701161B (zh) * 2016-03-04 2022-04-01 微软技术许可有限责任公司 为搜索查询提供图像
CN111368128A (zh) * 2020-03-12 2020-07-03 北京海益同展信息科技有限公司 目标图片的识别方法、装置和计算机可读存储介质
CN111368128B (zh) * 2020-03-12 2023-09-29 京东科技信息技术有限公司 目标图片的识别方法、装置和计算机可读存储介质
CN111522989A (zh) * 2020-07-06 2020-08-11 南京梦饷网络科技有限公司 用于图像检索的方法、计算设备和计算机存储介质
CN111522989B (zh) * 2020-07-06 2020-10-30 南京梦饷网络科技有限公司 用于图像检索的方法、计算设备和计算机存储介质

Also Published As

Publication number Publication date
EP2685404A2 (en) 2014-01-15
US20140369609A1 (en) 2014-12-18
US8849047B2 (en) 2014-09-30
US20190325260A1 (en) 2019-10-24
US10628704B2 (en) 2020-04-21
WO2014011495A1 (en) 2014-01-16
MX343875B (es) 2016-11-25
AU2013288988A1 (en) 2015-02-19
CA2876585C (en) 2016-06-07
JP2015529887A (ja) 2015-10-08
CN104620284B (zh) 2018-02-02
KR20150020259A (ko) 2015-02-25
KR101533349B1 (ko) 2015-07-03
AU2013288988B2 (en) 2016-03-03
US10133960B2 (en) 2018-11-20
BR112015000707A2 (pt) 2017-06-27
MX2015000435A (es) 2015-07-14
IL236564A0 (en) 2015-02-26
US20140016872A1 (en) 2014-01-16
US9361542B2 (en) 2016-06-07
JP5784865B1 (ja) 2015-09-24
EP2685404A3 (en) 2015-12-23
US20160247042A1 (en) 2016-08-25
CA2876585A1 (en) 2014-01-16
IL236564A (en) 2016-04-21

Similar Documents

Publication Publication Date Title
CN104620284A (zh) 用于确定图像相似性的方法和系统
CN110402450B (zh) 提供与内部空间相关联的增强现实效果和三维地图构建的系统和方法
US11074301B2 (en) Systems and methods for automated data visualization recommendations
KR20200094207A (ko) 얼굴 인식에 기초한 개인화된 이모티콘들 및 립 싱킹 비디오들을 생성하기 위한 방법들 및 시스템들
US20180012236A1 (en) Systems and methods for analyzing interaction-bait content based on classifier models
US10630632B2 (en) Systems and methods for ranking comments
US10666708B1 (en) Systems and methods for updating web pages using static resource version pinning
US11562328B1 (en) Systems and methods for recommending job postings
US10437876B2 (en) Systems and methods for processing shape data based on serialization formatting
US11334680B1 (en) Systems and methods for securely sharing and processing data between parties
US10474923B2 (en) Systems and methods for incremental character recognition to recognize characters in images
US20240061900A1 (en) Systems and methods for evaluating page content
US20190087426A1 (en) Systems and methods for providing query results based on embeddings
US11409834B1 (en) Systems and methods for providing content
US11106859B1 (en) Systems and methods for page embedding generation
US10419383B2 (en) Systems and methods for ranking comments based on interaction-to-impression ratio
US10789275B2 (en) Systems and methods for providing content
US20180097697A1 (en) Systems and methods for providing adaptive experimentation of contextual configurations in a social networking system
US10554716B2 (en) Systems and methods for generating, providing, and rendering quick load articles
US20230177466A1 (en) Systems and methods ranking requisitions based on multi-stage machine learning
US20180144349A1 (en) Systems and methods for determining local-level demographic distribution of subscribers of service providers
US20180011910A1 (en) Systems and methods for performing operations with data acquired from multiple sources

Legal Events

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

Address after: California, USA

Patentee after: Yuan platform Co.

Address before: California, USA

Patentee before: Facebook, Inc.

CP01 Change in the name or title of a patent holder