CN113971452A - 用于注册和处理视觉编码的平台 - Google Patents

用于注册和处理视觉编码的平台 Download PDF

Info

Publication number
CN113971452A
CN113971452A CN202111105589.8A CN202111105589A CN113971452A CN 113971452 A CN113971452 A CN 113971452A CN 202111105589 A CN202111105589 A CN 202111105589A CN 113971452 A CN113971452 A CN 113971452A
Authority
CN
China
Prior art keywords
machine
image data
readable visual
readable
recognition
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
Application number
CN202111105589.8A
Other languages
English (en)
Inventor
A.J.福堡
B.A.巴罗斯
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 CN113971452A publication Critical patent/CN113971452A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06018Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
    • G06K19/06028Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06103Constructional details the marking being embedded in a human recognizable image, e.g. a company logo with an embedded two-dimensional code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1447Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • 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
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/95Pattern authentication; Markers therefor; Forgery detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开涉一般涉及基于上下文信息的机器可读视觉编码的处理。本公开各方面的一个实施例包括获取描述包括机器可读视觉编码的场景的图像数据;使用被配置为识别机器可读视觉编码的第一识别系统来处理图像数据;使用被配置为识别围绕机器可读视觉编码的场景的周围部分的不同的第二识别系统来处理图像数据;至少部分地基于由第一识别系统基于图像数据生成的一个或多个第一输出以及至少部分地基于由第二识别系统基于图像数据生成的一个或多个第二输出,标识与机器可读视觉编码关联的存储的参考;以及响应于存储的参考的标识,执行一个或多个动作。

Description

用于注册和处理视觉编码的平台
技术领域
本公开一般涉及视觉编码。更具体地,本公开涉及一种用于注册和/或处理视觉编码的平台。
背景技术
视觉模式已用于以视觉编码的形式编码信息。例如,条形码通常用于传达有关商店中产品的信息。检索以这种模式编码的信息通常需要具有足够敏锐度的成像来辨别模式的某些特征(例如,检测和处理条形码条)。在一些实际应用中,获取具有足够细节的模式图像以解释模式带来了许多挑战。此外,由于用户并不总是能够解释视觉模式,因此用户可能容易受到与欺诈视觉模式相关的恶意活动的影响。
发明内容
本公开实施例的各方面和优点将在以下描述中部分阐述,或者可以从描述中学习,或者可以通过实施例的实践来学习。
本公开的一个示例方面涉及用于处理机器可读视觉编码的计算机实现的方法。所述方法包括由包括一个或多个计算设备的计算系统获取描述包括机器可读视觉编码的场景的图像数据。所述方法包括由计算系统使用被配置为识别机器可读视觉编码的第一识别系统来处理图像数据。所述方法包括由计算系统使用被配置为识别围绕机器可读视觉编码的场景的周围部分的不同的第二识别系统来处理图像数据。所述方法包括由计算系统,至少部分地基于由第一识别系统基于图像数据生成的一个或多个第一输出以及至少部分地基于由第二识别系统基于图像数据生成的一个或多个第二输出,标识与机器可读视觉编码关联的存储的参考。所述方法包括由计算系统执行响应于存储的参考的标识的一个或多个动作。
本公开的另一个示例方面涉及用于执行响应于机器可读视觉编码识别的动作的计算系统。计算系统包括一个或多个处理器和一个或多个非暂时性计算机可读介质,其共同存储指令,当指令由一个或多个处理器执行时,使计算系统执行操作。所述操作包括获取描述包括机器可读视觉编码的场景的图像数据。所述操作包括将图像数据发送到识别服务器系统以由识别服务器系统处理,所述识别服务器系统包括被配置为识别机器可读视觉编码的第一识别系统和被配置为识别围绕机器可读视觉编码的场景的周围部分的不同的第二识别系统。所述操作包括至少部分地基于存储的参考和图像数据之间的关联来执行一个或多个动作,所述关联已由识别服务器系统使用由第一识别系统生成的一个或多个第一输出和使用由第二识别系统生成的一个或多个第二输出确定。
本公开的另一个示例方面涉及一个或多个非暂时性计算机可读介质,其共同存储指令,当指令由一个或多个处理器执行时,使所述一个或多个处理器执行操作。所述操作包括接收描述包括机器可读视觉编码的场景的图像数据,所述图像数据还描述机器可读视觉编码的上下文。所述操作包括将图像数据与存储的参考关联。关联包括使用第一识别系统确定机器可读视觉编码和存储的参考之间的第一相似性;和使用第二识别系统确定上下文和存储的参考之间的第二相似性。操作包括基于所述关联启动一个或多个操作。
本公开的其他方面涉及各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将更好地理解本公开各种实施例的这些和其他特征、方面和优点。并入本说明书并构成本说明书一部分的附图示出了本公开的示例实施例,并与说明书一起用于解释相关原理。
附图说明
说明书中详细讨论了针对本领域普通技术人员的实施例,其中参考了附图:
图1描述了根据本公开示例实施例的机器可读视觉编码;
图2描述了根据本公开示例实施例的机器可读视觉编码;
图3描述了根据本公开示例实施例的机器可读视觉编码;
图4描述了根据本公开示例实施例的机器可读视觉编码;
图5描述了根据本公开示例实施例的机器可读视觉编码;
图6描述了根据本公开示例实施例的机器可读视觉编码;
图7描述了根据本公开示例实施例的机器可读视觉编码;
图8描述了根据本公开示例实施例的机器可读视觉编码;
图9A描绘了根据本公开示例实施例的机器可读视觉编码;
图9B描绘了根据本公开示例实施例的机器可读视觉编码的进程呈现;
图10A描绘了根据本公开示例实施例的包括机器可读视觉编码的场景图像;
图10B描绘了根据本公开示例实施例的包括机器可读视觉编码的场景图像;
图10C描绘了根据本公开示例实施例的包括机器可读视觉编码的场景图像;
图10D描绘了根据本公开示例实施例的包括机器可读视觉编码的场景图像的特征映射;
图11A描绘了根据本公开示例实施例的包括机器可读视觉编码的场景的图像;
图11B描绘了根据本公开示例实施例的包括机器可读视觉编码的场景的图像的特征映射;
图11C描绘了根据本公开的示例实施例生成参考数据的用户;
图11D描绘了根据本公开的示例实施例生成参考数据的用户;
图12描述了根据本公开示例实施例的使用机器可读视觉编码的包裹递送系统;
图13A描绘了根据本公开示例实施例的示例计算系统的框图;
图13B描绘了根据本公开示例实施例的示例计算设备的框图;
图13C描绘了根据本公开示例实施例的示例计算设备的框图;
图13D描绘了根据本公开示例实施例的示例识别系统的框图;
图13E描绘了根据本公开示例实施例的示例识别系统的框图;和
图14描述了根据本公开示例实施例的示例方法的流程图。
在多个附图中重复的附图标记旨在标识各种实现中的相同特征。
具体实施方式
概述
一般而言,本公开涉及基于上下文信息的视觉编码处理。在一些实施例中,上下文信息可用于帮助识别(recognition)、标识(identification)和/或处理视觉编码。根据本公开各方面的上下文信息的使用可有利地提供用于识别和处理视觉编码的鲁棒性平台。
本公开的一个示例方面涉及使用多个数据信号和/或多个处理系统来处理或识别视觉编码(例如,可能对应于现实世界中的动作点的调用)的计算系统和方法。使用分别对不同数据信号和/或具有不同处理技术的多个系统可以使系统能够有效地识别不同距离的大范围视觉编码。例如,对于放置在大表面上或在特定环境或场景内的视觉编码,用户可以从视觉编码捕获各种距离的图像,例如,从近景到几米或几米外,包括视觉编码不可见或完全或部分模糊的情况。典型的视觉编码处理系统不能处理图像距离的这种变化。为了解决这个问题,本公开的一些示例实现利用多个不同的识别器,它们协同操作(例如,并行和/或串行)来处理视觉编码(例如,引起或解锁增强现实体验)。例如,一些示例系统可以采用三种不同的识别系统:直接处理视觉编码的近场视觉编码读取器;识别语义实体、对象和/或已知被包括在编码周围区域中的其他内容的基于图像识别的系统;以及能够基于视觉或空间特征识别位置的视觉定位系统。其他示例系统可以基于各种其他形式的上下文数据(诸如,时间、位置(例如,由GPS系统提供的)等)进行操作。一些示例系统还可以具有低功耗数字信号处理器,其在最初检测到视觉编码时触发上述系统进行操作。这些系统中的每一个都可以在不同距离上提供最佳性能。例如,近场读取器可以在近距离(例如,10厘米)提供相对最佳的性能,基于图像识别的系统可以在中距离(例如,10米)提供相对最佳的性能,并且视觉定位系统可以在更长的距离提供相对最佳的性能。可以使用各种逻辑或分类算法来提供来自多个系统的协同操作。例如,最高效的系统可以首先运行,并且如果这样的系统无法识别编码,则可以触发下一个最高效的系统。作为另一个示例,多个系统可以并行运行,并且可以组合它们的结果(例如,通过投票/置信或首先识别范例)。以这种方式使用多个不同的识别系统可以提高视觉编码处理的准确性和效率。例如,视觉定位系统的使用可使计算系统能够消除放置在多个不同位置的相同视觉编码(例如,广泛分布的电影海报上存在的视觉编码)之间的歧义。
本公开的另一个示例方面涉及使用上下文数据的基于位置的支付欺诈保护。具体而言,视觉编码的一个示例应用是启用支付。但是,某些视觉编码(例如,QR码)遵循公共协议,并且允许任何人生成与人类观众相同的代码。因此,恶意行为者可以打印外观类似的视觉编码,并将其置于现有的商业编码之上。恶意编码可能会将扫描编码的用户重新路由到欺诈支付门户。为了解决这个问题,本公开的示例实现可以使用上下文信息来验证视觉编码和/或减慢或阻止用户对欺诈编码进行基于编码的支付。具体地,如上所述,计算系统可以包括并使用多个不同的处理系统,每个处理系统对不同的信号和/或使用不同的处理技术进行操作。因此,本公开的示例实现使得视觉编码能够与一些或所有这样的不同信号或信息(例如,包括围绕编码的视觉特征点、围绕语义实体数据、诸如GPS数据的位置数据、环境噪声(例如,公路噪音、支付终端噪音),和/或其他上下文信息)关联。此后,无论何时扫描视觉编码,都可以评估这些附加数据点,并将其与视觉编码关联。这将为每个视觉编码添加验证纹理,之后可用于检测欺诈编码。具体来说,作为一个示例,当第一次扫描视觉编码时无法确认这样的视觉编码的上下文数据,系统可能会在继续之前向用户发出警告。另一个示例是,如果扫描了新的视觉编码,并且其上下文信息与现有编码匹配,则新的视觉编码可能会被阻止或接受其他验证例程。因此,为了继续上面给出的示例,随着时间的推移,可能会在特定位置或业务处为经过验证和注册的视觉编码生成上下文“指纹”。然后,如果恶意行为者试图覆盖或替换现有编码,则欺诈编码上下文“指纹”将与现有编码匹配,从而触发一种或多种欺诈预防技术。
本公开的另一个示例方面涉及实现改进对象(例如,产品)的技术使用上下文数据进行识别。特别是,条形码的使用是经过时间检验的技术。然而,它用于查找结果的索引通常是错误的或不完整的。即使对于标准化条形码,覆盖率通常也在80%左右。为了解决此问题,本公开的示例实现在当用户试图扫描视觉编码时,可以使用围绕视觉编码(例如,以及其他上下文信号)的视觉信息作为识别对象(例如,返回产品结果)的补充路径。例如,考虑包括视觉编码(例如,条形码)的产品包裹的图像。如果视觉编码未在关联的索引中有效注册,则典型系统可能会返回错误或无结果。然而,本文所述的示例系统可能会使用其他功能来标识对象。例如,可以识别包裹上的产品文本或图像,然后将其作为产品或一般网络查询进行搜索。在另一个例子中,视觉编码或周围场景的多个图像可以在“会话”中连接在一起以形成对产品更完整的理解并更新索引。具体而言,在用户扫描了索引中不存在但上下文信号已用于识别关联对象/产品的视觉编码后,可以将关联对象/产品和视觉编码添加到索引中。因此,基于匿名聚合用户参与度,编码到索引对象的映射可以随着时间的推移而演变或补充。建议的系统还可以用于消除视觉编码的多个潜在解决方案之间的歧义。例如,有时不一致的产品编码将包括不同产品的相同ID。因此,一些示例实现可以捕获围绕视觉编码的视觉特征,并将其用作辅助标识信息,例如区分竞争ID映射。
提议的系统和方法可用于许多不同的应用或用例。例如,提议的视觉编码平台可用于验证和/或将包裹递送到安全或其他访问受限的位置。例如,图像(例如,由启用摄像头的门铃捕获)可用于验证高价值递送,并与包括智能锁的门协调非常简短的解锁/重锁协议。在此期间,包裹递送人员可以将产品放置在安全位置,而不是手动接受包裹。因此,在一个示例中,每个递送人员可能有一个临时的生成的代码,将其帐户附加到任何递送解锁。每个包裹也可能有一个唯一的代码,视觉编码平台可以将其与产品购买关联。如果满足由递送人/接收人设置的价值标准,则当递送人向门铃摄像头出示包裹代码时,门可能会解锁。门可能保持解锁状态在以下之一的情况下:短时间,直到门关上,或者直到递送人扫描他们的徽章(badge)。因此,视觉编码可以表示对象本身标识以外的数据。例如,视觉编码的处理可以触发详细的过程(例如,由多个基于云或IoT设备执行)用于全自动(即,无用户干预)包裹递送的安全验证。
更具体地,根据本公开实施例的系统和方法可以标识场景中的一个或多个机器可读视觉编码。在一些实施例中,机器可读视觉编码可包括一维(1-D)模式、二维(2-D)模式、三维(3-D)模式、四维(4-D)模式及其组合,包括一维和二维模式与其他视觉信息的组合,包括照片、草图、图纸、徽标等。机器可读视觉编码的一个示例实施例是QR码。场景可以为场景中的机器可读视觉编码提供视觉和/或空间上下文,并且包括对部署它们的一个或多个机器可读视觉编码的描述。例如,尽管一些实施例中的场景可以仅包括机器可读视觉编码的描述,但一些实施例中的场景还可以包括机器可读视觉编码和它们附着到的任何对象、人或结构,以及在场景捕获的图像中可能在附近和/或以其他方式可见的任何其他对象、人或结构。
本公开的系统和方法可以基于对描述场景的图像数据的处理来标识场景中的一个或多个机器可读视觉编码。在一些示例中,图像数据可以包括照片或其他光谱成像数据、元数据和/或编码或其其他表示。例如,照片或其他光谱成像数据可由设备(例如,用户设备)的一个或多个传感器捕获。照片或其他光谱成像数据可以从设备(例如,移动电话的一个或多个摄像头)上的一个或多个成像传感器获得,并且在一些示例实施例中,存储为位图图像数据。在一些实施例中,照片或其他光谱成像数据可以从设备上的多个成像传感器中的每一个的一次或多次曝光获得。成像传感器可以捕获包括人眼可见和/或不可见的波长(例如,红外)的光谱信息。元数据可以为图像数据提供上下文,并且在一些示例中包括地理空间数据(例如,GPS位置、相对于附近映射元素的位置,诸如道路和/或营业场所、设备相对于成像特征的姿势,诸如机器可读视觉编码等)、时间数据、遥测数据(例如,与图像数据关联的设备的方向、速度、加速度、高度等)、与一个或多个服务的用户帐户关联的帐户信息(例如,与与图像数据关联的设备相对应的帐户)、和/或预处理数据(例如,由图像数据预处理生成的数据,诸如由生成图像数据的设备生成的数据)。在一个实施例中,预处理数据可以包括由一个或多个成像传感器捕获的成像数据的特征的深度映射。
图像数据的示例还可以包括一个或多个成像传感器捕获的成像数据的编码或其他表示。例如,在一些实施例中,图像数据可以包括基于位图成像数据生成的散列值(hashvalue)。以这种方式,位图成像数据的表示可以在图像数据中使用,而不是位图成像数据本身(或其一个或多个部分)。
图像数据可由一个或多个识别系统处理。例如,图像数据的一个或多个部分(和/或整个图像数据)可分别由多个识别系统进行处理。识别系统可包括通用图像识别模型和/或为特定识别任务配置的一个或多个模型。例如,在一些实施例中,识别系统可包括面部识别系统、对象识别系统、地标识别系统、深度映射系统、机器可读视觉编码识别系统、光学字符识别系统、语义分析系统等。
在一些实施例中,描述包括机器可读视觉编码的场景的图像数据可由被配置为识别机器可读视觉编码的编码识别系统处理。而编码识别系统只能处理描述机器可读视觉编码的图像数据的一部分(例如,图像的段)。在一些实施例中,编码识别系统还可被配置为处理全部或部分图像数据。例如,在一些实施例中,预处理系统识别机器可读视觉编码的存在,并提取与机器可读视觉编码相关的一部分图像数据。然后,编码识别系统可对提取的部分进行处理,以进行标识。此外,或者,编码识别系统可直接处理全部图像数据。
在一些示例中,图像数据可由一个或多个附加识别系统进一步处理。例如,图像数据可由被配置为识别机器可读视觉编码的编码识别系统和不同于编码识别系统的其他识别系统处理。在一个实施例中,其他识别系统可被配置为识别与机器可读视觉编码关联的上下文的各个方面。例如,其他识别系统可包括被配置为识别由图像数据描述的场景的一个或多个部分(例如,围绕场景中包括的一个或多个机器可读视觉编码的场景的周围部分)的识别系统。在一些实施例中,其他识别系统可包括被配置为识别图像数据中传送的光谱信息(例如,红外曝光)的识别系统。在一些实施例中,其他识别系统可包括被配置为处理被包括在图像数据中的元数据的识别系统。
在一些实施例中,识别图像数据的一个或多个特征可以包括将特征与一个或多个存储的参考关联。在一些实施例中,存储的参考可以是注册为与一个或多个机器可读视觉编码(和/或与之关联的一个或多个实体)相对应的数据的集合。例如,当生成一个或多个机器可读视觉编码以注册与一个或多个机器可读视觉编码(例如,与一个或多个机器可读视觉编码的实现关联的元数据、附近对象、人或结构等)关联的数据时,可以创建存储的参考。在一些实施例中,由一个或多个识别系统可以同时接收描述存储的参考的数据和描述包括一个或多个机器可读视觉编码的场景的图像数据。例如,存储的参考可以包括描述机器可读视觉编码所处上下文的数据(例如,位置、时间、环境信息、附近设备、网络等),其在捕获和/或接收到描述包括机器可读视觉编码的场景的图像数据的时间或相邻时间(例如,同时)被更新。
在一些实施例中,一组存储的参考可与用于生成机器可读视觉编码的相同预定算法和/或标准关联。例如,根据预定算法和/或标准,机器可读视觉编码可通过编码一个或多个数据项(例如,指令和/或信息)为视觉模式来生成。以这种方式,编码识别系统可以识别机器可读视觉编码与一组存储的参考的至少一个存储的参考关联,并根据预定算法和/或标准处理机器可读视觉编码以解码视觉模式以检索一个或多个数据项。
存储的参考还可以包括描述一个或多个机器可读视觉编码的信息和/或描述与一个或多个机器可读视觉编码关联的上下文的信息。例如,存储的参考可以包括描述机器可读视觉编码的上下文方面的数据,诸如其中一个或多个数据项未编码的视觉特征(例如,设计和/或美学特征、形状、大小、方向、颜色等)。以这种方式,至少部分地基于一个或多个机器可读视觉编码的非编码上下文特征,一个或多个机器可读视觉编码可分别与一个或多个存储的参考(或者,可选地,单个存储的参考的一个或多个子参考)关联。在一个示例中,两个机器可读视觉编码可以编码相同的数据项(例如,执行操作的指令)。然而,描述机器可读视觉编码的图像数据可指示机器可读视觉编码中的一个是例如由不同于另一个机器可读视觉编码的形状所概述,并且编码识别系统由此可区分机器可读视觉编码并分别地将机器可读视觉编码与不同的存储的参考和/或子参考关联。
例如,存储的参考可以包括描述与一个或多个机器可读视觉编码关联的其他上下文数据(诸如可以在其中找到一个或多个机器可读视觉编码的场景)和/或与一个或多个机器可读视觉编码关联的元数据。描述上下文信息的部分图像数据也可以被识别为与一个或多个存储的参考关联。例如,一个或多个图像识别系统可以处理描述上下文信息的图像数据,以识别由此指示的一个或多个人、对象和/或结构,可选地确定这样的上下文信息与场景中的一个或多个机器可读视觉编码之间是否存在任何关系(例如,相对定位、语义关联等)。在一些示例中,一个或多个识别系统可以根据由图像数据组成的元数据将图像数据与一个或多个存储的参考关联(例如,通过将位置或其他元数据与与存储的参考关联的位置或其他特征相比较)。
在一些实施例中,描述包括机器可读视觉编码的一个或多个场景的存储的参考可以被认证和/或注册。例如,与机器可读视觉编码的特定实现关联的实体可以选择注册和/或认证与机器可读视觉编码关联的存储的参考。以这种方式,其他实体(例如,恶意实体、错误实体、竞争实体等)可以禁止生成、存储或以其他方式记录相同场景的存储的参考。在一些实施例中,这样的禁止可以确保某些实体不能欺诈地模拟或以其他方式欺骗注册的存储的参考的验证的上下文数据。注册可以包括执行“扫描”(例如,180度或360度)使用摄像头捕捉场景的各种视觉特征。
在一些实施例中,由一个或多个识别系统描述一个或多个机器可读视觉编码的图像数据部分和描述上下文信息的图像数据部分可分别与一个或多个存储的参考关联。在一些实施例中,与描述一个或多个机器可读视觉编码的图像数据的一部分相比,描述上下文信息的图像数据的一部分可以由不同的识别系统或系统处理(尽管在一些实施例中,相同的识别系统可以处理这两部分)。每个各自的关联可以包括确定具有不同置信度(confidence level)的相似性。在一些实施例中,可以将描述一个或多个机器可读的视觉编码的图像数据的一部分与存储的参考的各个方面相似的置信度与描述上下文信息的部分图像数据与相同存储的参考(例如,其子参考)的方面相似的置信度比较。
在一些实施例中,如果至少一个置信度满足或超过预定置信阈值和/或目标值,则机器可读视觉编码的处理被确定为成功(例如,识别的、标识的等)。在一些实施例中,可能需要综合置信分数来完成处理(例如,用于验证)。在一些实施例中,描述上下文信息的图像数据的一部分可以由不同的识别系统作为故障保护或替代选项来处理,以响应于确定描述一个或多个机器可读视觉编码的图像数据的另一部分没有以足够高的置信度被识别。
成功识别时,识别系统可启动操作。例如,操作可包括验证图像数据是否对应于机器可读视觉编码,验证图像数据是否对应于批准和/或预定上下文(例如,在适当的位置)中的机器可读视觉编码等。在一些实施例中,这样的验证可由产生图像数据(例如,捕获的图像)的设备接收。在一些实施例中,这样的验证可由与机器可读视觉编码关联的一个或多个提供商系统(例如,第三方提供的系统)接收。验证可包括验证指示符,其可包括处理机器可读视觉编码中编码的数据所需的安全凭证。其他操作可包括启动设备与另一系统之间的安全连接(例如,诸如对于安全数据交换)。
根据本公开实施例的系统和方法传达了若干技术效果和益处。例如,根据本文所公开的上下文信息处理机器可读视觉编码可提供针对噪声、数据丢失和测量错误和/或缺陷的识别过程的改进鲁棒性。在一些实施例中,根据本公开实施例的系统和方法可提供机器可读视觉编码的识别和处理,即使成像传感器无法明确地解决这样的编码、提高成像设备的识别能力、超越成像设备的任何限制(例如,传感器和/或光学分辨率不足)。因此,在某些情况下,视觉编码可以更有效地识别/处理,因为可以使用多种类型或模式的数据来识别视觉编码,从而减少识别编码所需处理的图像数量。这种更有效的处理可以节省计算资源,诸如处理器使用率、内存使用率、带宽使用率等。
根据本公开各方面的改进的识别技术产生的其他技术优势包括使得能够以更小的尺寸和视觉配置生成编码,更有利于合并到各种实现中。以这种方式,在实现机器可读视觉编码时将消耗更少的材料和劳动力。较低的实现障碍也允许广泛采用,提高了数据通信的效率(例如,通过以视觉模式对数据进行紧凑编码),以降低数据传输成本等。
其他技术优势包括使用给定的机器可读视觉编码传输更多数据的能力。例如,可以生成一些机器可读视觉编码,以对应于提供给定数量的视觉“位”以对给定大小(例如,打印区域、显示区域等)的数据进行编码的标准。在一些示例中,至少一些视觉“位”可用于纠错和/或对齐以处理编码。有利的是,根据本公开实施例的系统和方法可提供改进的纠错、对齐和/或数据通信,而无需消耗额外的视觉“位”并且在一些实施例中可以保持与不处理上下文数据的编码识别系统的兼容性。一些实施例可以通过使用上下文信息来区分其他等同的机器可读视觉编码来提供改进的分析,从而在保留提供粒度记录(granularrecordkeeping)的能力时,允许单个机器可读的视觉编码部署在多个上下文中,以降低生产成本(例如,由于在显示、打印、分发等方面的规模经济)。
其他技术优势还包括处理机器可读视觉编码的安全性提高。在一些实施例中,恶意行为者可能试图改变和/或替换一个或多个机器可读视觉编码,以主张对处理机器可读视觉编码的任何设备的控制。示例实施例通过将机器可读视觉编码的一个或多个特性和/或其一个或多个上下文方面与存储的参考进行比较,从而暴露攻击者的机器可读视觉编码中的不一致性(或误用或错误放置合法的机器可读视觉编码),从而防止这样的攻击的成功。以这样的方式,实施例还可以减轻通过机器可读视觉编码来欺诈的企图。在一些实施例中,可以减轻使用设备通过改变编码来处理机器可读视觉编码来欺骗用户的企图。类似地,通过确保用户设备只处理正确和真实的机器可读的视觉编码,可以减轻欺诈服务提供商(例如,与机器学习视觉编码生成相关的实体)的企图。
其他技术优势包括通过机器可读的可视编码处理来改善对数据的控制,或对数据的响应。例如,机器可读视觉编码的处理可以根据其上下文进行限制,使得执行与机器可读视觉编码关联的操作需要某些上下文条件。在机器可读视觉编码已经生成、显示(例如,打印)和/或分发之后,可以以事后的方式实施这样的控制,在降低定制成本时(例如,打印耗材、个性化分发成本、专用于唯一标识的编码的大小和/或视觉“位”等),允许粒度控制。
现在参考附图,将进一步详细讨论本公开的示例实施例。
示例设备和系统
图1至图9B描绘了根据本公开各方面的机器可读视觉编码的示例实施例。尽管本文提供符合特定几何形状、布局和配置的示例描述,但应理解,本文提供的示例仅用于说明目的。应当理解,本文提供的示例性示例的改编和修改仍在本公开的范围内。
图1描述了包括字形的形状的机器可读视觉编码的示例实施例。图1的机器可读视觉编码100包括填充有视觉模式(visual pattern)104的字母“G”的字形102。在一些实施例中,视觉模式104可以包括背景上的形状106,并且形状106和背景之间的视觉对比度可以指示信息的“位”的值。在一些实施例中,视觉模式内形状106的几何关系(例如,形状106的相对尺寸、形状106之间的距离、填充区域和/或未填充区域的轮廓等)可用于编码信息。例如,可以训练识别系统来识别视觉模式104的不同方面,并将描述机器可读视觉编码100的图像数据与与其对应的存储的参考关联。尽管图1描绘了由离散形状形成的视觉模式104,但是应当理解,视觉模式可以包括编码信息的连续特征。例如,替代机器可读视觉编码200可以包括另一字形和/或另一种视觉模式。例如,替代视觉模式可包括可单独具有信息编码特征(例如,振幅、频率、相位、线厚度等)的波形。尽管图1描述了单独的字形,但可以理解的是,可以组合两个或多个字形(例如,形成单词、徽标等)。以这种方式,可以使用离散和/或连续的视觉特征将机器可读视觉编码集成到期望美学中并形成其一部分。
图2和图3描述了机器可读视觉编码的示例实施例,其中包括与其他视觉信息组合的视觉模式。在描绘示例编码300的图2中,视觉模式304围绕包括文本和/或图形信息310(例如,品牌名称、描述符等)的中心空间308。尽管在一些实施例中,中心空间308可以不包括编码数据,但中心空间308的内容(例如,文本信息310)可以提供用于处理视觉模式304的上下文。例如,描述机器可读视觉编码300的图像数据可以包括作为上下文数据的描述中心空间308的信息,并且语义识别系统可以分析文本信息310以帮助和/或补充视觉模式304的识别。在图3中,示例编码400包括围绕包括人的照片或其他化身(avatar)410的中心空间408的视觉模式404。如参考文本信息310所讨论的,照片410可以提供上下文以帮助和/或补充视觉模式404的识别或其后续处理。例如,视觉模式404可以传达指令以执行操作,诸如将加密数据传达到用户帐户,并且照片410可以对应于与用户帐户关联的用户。在一些实施例中,例如,恶意行为者将无法仅通过改变视觉模式404来重定向加密的数据流以指定不同的目的地,因为不同的目的地将不再与与照片410关联的帐户关联,并且不一致性将是可检测的。
尽管视觉模式304和404包括许多排列的圆形,但应理解,可以使用任何数量的视觉模式,其利用形状、几何排列、颜色色调和/或颜色值的多样性来编码数据。此外,尽管某些变体可以编码为视觉“位”(例如,亮/暗为0/1),但每个变体可以选择性地编码多于一位,具有于预定值或数据对象的特定变体(例如,不同形状和/或大小)。
图4描述了编码500的一个示例实施例,该编码500包括形状506a、506b的视觉模式504。形状506a、506b可以基于值(例如,在灰度实施例中从白到黑范围,并且可选地被分类到一个或多个预定值,诸如白、浅蓝、深蓝)、方向(例如,正径向,诸如形状506a,或负径向,诸如形状506b)、和/或位置(例如,基于编码500的象限)编码信息。图5中的另一示例性实施例描绘了示例性编码600,其包括不同大小、值和位置的多个形状606的视觉模式604。如图6所示,视觉模式不限于任何单个形状的变体,例如编码700可以包括包括多个形状706的视觉模式704,每个形状706可以与值、位置、方向和大小关联。另一示例编码可采用具有以同心环排列的连续形状的视觉模式。正如形状、值、位置、方向和大小可以与编码数据相对应,位置组也可以与特定类别的数据相对应。例如,可以分配一个或多个编码环来编码特定类别的数据(例如,标识号),并且环中每个弧段的长度和/或值可以指示其值。
上述特征可以组合和/或重新排列,以产生可配置的机器可读视觉编码,如图7和图8所示。例如,图7中的示例编码900包括同心环和径向方向的段,以及分布的圆形(例如,用于图像中方向的注册)。图8中的示例编码1000包括同心环1006a、形状1006b和径向分布轨道1006c。还应理解,图2和图3的中心区域308和408同样可以在图1-8的任何编码中实现。
如图1-8所示,根据本公开的机器可读视觉编码可以使用离散和/或连续的视觉特征来编码数据,并构成基本上任何期望美学的一部分。此外,根据本公开的机器可读视觉编码的可配置性可以提供容易识别(通过人类感知和/或机器感知)的机器可读视觉编码类别。
例如,图案、颜色等中使用的轮廓、布局、形状的差异,如图1至图8中的差异,可对应于用于生成机器可读视觉编码的不同算法和/或标准。因此,上述差异可以向一个或多个识别系统指示根据用于生成机器可读视觉编码的不同算法和/或标准读取机器可读视觉编码所需的识别模型的类型。以这种方式,根据本公开实施例的系统和方法可以通过部署专门训练的识别模型来提供有效的处理。然而,在一些实施例中,上述容易察觉的结构差异也可有利地用于帮助一般编码识别模型快速准确地识别不同类别的编码并最小化由于混淆的分类而产生的错误。
图9A描绘了编码1100的另一个示例实施例,编码1100包括视觉模式1104,该视觉模式1104采用圆形1106a、1106b来编码信息,其中一些形状1106c额外用于方向注册目的。在一些实施例中,用户设备可以捕获编码1100的图像并显示图像的呈现1150,该图像被操纵以建议编码1100的处理的进程指示符。例如,如图9B所示,呈现1150可以在处理进程中按比例显示编码1150的全色部分和“灰化”部分,使得角度1152在处理期间中从0度扫描到360度。在一些实施例中,可以通过实际状态更新或其估计来通知进程呈现1150。在一些实施例中,呈现是增强现实呈现,使得进程覆盖被呈现为实时出现在编码1100的图像上(例如,在用户设备上显示摄像头视野的开放应用中)。应理解,来自图1至图8的任何其他示例编码也可用于显示进程渲染。这样的进程渲染可以以角度方式、线性方式或以跟踪编码的一个或多个轮廓的方式(例如,图1的字形)扫过编码。
图10A至图10C示出了本公开的方面的一个实施例,用于根据上下文识别机器可读视觉编码。图10A描绘了地图1202的图像1200,其上打印有机器可读视觉编码1204。与机器可读视觉编码1204相邻的是文本材料1206。尽管本文根据“打印”的“地图”讨论图10A,但是应当理解,机器可读视觉编码1204可以显示在屏幕或其他设备上,作为适于在图像1200中捕获的基本上任何形式的较大显示器1202的一部分。
在一些实施例中,成像设备可充分解析机器可读视觉编码1204以直接解码其内容。在一些实施例中,在解码内容之前和/或在执行由此传达的代码之前,可由一个或多个识别系统处理与机器可读视觉编码1204(例如,在图像1200内)关联的附加上下文信息。例如,可以处理地图1202以将其标识识别为地图和/或映射在其上的一个或多个位置。在一些实施例中,文本信息1206可被处理(例如,经由OCR和/或语义分析)以识别机器可读视觉编码1204与“站”之间的关联。与机器可读视觉编码1204关联的存储的参考可以包括将机器可读视觉编码1204与地图、“站”和/或地图上的一个或多个位置关联的信息。通过将图像1200中的上下文信息与存储的参考进行比较,可以增加与机器可读视觉编码1204的识别和/或验证关联的置信度。以这种方式,如果成像设备无法或没有充分解析机器可读视觉编码1204以直接解码其内容(例如,由于照明不足、快门速度慢等),则通过识别上下文信息而获得的增加的置信度可以使任何缺失的信息能够被识别从存储的参考中“填写”。
图10B描绘了从更远的距离捕获的相同地图1202的图像1210。在一些实施例中,机器可读视觉编码1204可能没有足够的详细进行解析以直接识别。然而,可以识别图像1210中包括的上下文信息,诸如例如,机器可读视觉编码1204在地图1202内的相对位置;文本标签1212a、1212b;存在的附加机器可读视觉编码1214;以及大规模映射特征1216a、1216b。这些上下文特征中的每一个、一些或全部可以被识别,并与存储的参考关联中的上下文数据进行比较。以这种方式,即使成像设备无法或没有充分解析机器可读视觉编码1204以直接解码其内容,对上下文信息的识别以及上下文信息与存储的参考的关联可以使得能够从由编码1204编码的数据的存储的参考中检索。
图10C描绘了包括地图1202的场景的图像1220,其中机器可读视觉编码1204打印在地图1202上。场景中可识别的上下文特征示例包括大徽标1222;悬挂地图1202的框架1224;附近的对象,诸如长凳1226a、1226b;对比建筑特征,诸如地图1202后面的墙板接缝1228;房间边界,诸如墙和天花板之间的边界1230;以及照明元素,诸如灯1232等。可识别这些上下文特征中的每一个、部分或全部,并将其与与机器可读视觉编码1204关联的存储的参考中的上下文数据进行比较。以这种方式,即使成像设备根本无法或不解析机器可读视觉编码1204(或除了其轮廓和/或边界),上下文信息的识别和上下文信息与存储的参考的关联可以使得能够从由编码1204编码的数据的存储的参考中检索。
识别三维空间中的上下文特征,诸如上述提到的房间边界、对象、建筑特征等,可包括使用视觉定位系统(VPS)处理图像1220。例如,在一些实施例中,可以使用VPS模型处理图像1220,以检测表面、边缘、角和/或其他特征,并生成特征的映射(例如,如图10D所示的点云)。这样的映射可以打包到描述场景和/或由一个或多个识别系统生成的图像数据中,并且该映射可以与存储的参考中描述映射的数据进行比较。在一些实施例中,映射(例如,点云和/或锚(anchor)集合)可以从图像1220和/或从与之关联的图像数据(例如,收集的描述场景的传感器数据,包括来自激光雷达LIDAR的空间测量等)生成。另外,或者,光谱数据(例如,来自电磁光谱的不可见部分)可收集并用于生成映射。在一些实施例中,可组合多次曝光(例如,来自多个时间点、来自设备上的多个传感器等)以确定深度映射(例如,通过三角测量)。以这种方式,VPS可用于将图像1220(和/或其描述的图像数据)与存储的参考关联,以识别、验证和/或处理机器可读的视觉编码1204。
尽管图10A至图10D所示的示例实施例涉及信息显示(映射),应当理解,本公开的系统和方法可以处理描述包括机器可读视觉编码的各种主题的图像数据,诸如海报、广告、广告牌、出版物、传单、车辆、个人移动车辆(例如,滑板车、自行车等)、房间、墙、家具、建筑物、街道、指示牌、标签、宠物项圈、印花服装、医疗手镯等。例如,根据本公开各方面的系统和方法的一些实施例可包括对象识别(例如,产品识别)用于从网络服务器检索信息。例如,可以捕获描述包括由机器可读视觉编码组成的对象的场景的图像数据。图像数据还可以包括围绕机器可读视觉编码的上下文信息(例如,对象的其他特征,诸如对象上的图像和/或文本)以及围绕对象周围的上下文信息(例如,对象的位置、附近对象等)。在一些实施例中,一个或多个识别系统可以处理机器可读视觉编码,并且一个或多个其他识别系统可以处理上下文数据。例如,图像识别系统可以识别和/或标识对象类型和/或对象周围的对象类型。在一些示例中,语义识别系统可以处理场景中识别的一个或多个语义实体(例如,对象上的文本和/或图像),以帮助处理机器可读视觉编码。响应于对象的标识,可以从网络服务器(例如,与识别系统关联的网络服务器)检索描述对象的信息,并在用户设备(例如,捕获图像数据的用户设备)的显示设备上呈现。
图11A描绘了包括机器可读视觉编码1304的场景的图像1300的另一个示例实施例。在所描绘的场景中,店面在外墙上显示机器可读视觉编码1304。如上所述,可以识别和/或处理场景中描绘的各种特征,以便与存储的参考进行比较,以帮助和/或补充机器可读视觉编码1304的识别和/或验证。例如,可以识别外部建筑特征,诸如门框1310、窗框1312、窗台1314和雨篷1316。此外,还可以识别内部建筑特征,如果可见,诸如灯光特征1318。
可以使用VPS识别一个或多个上述特征。例如,可以如图11B所示生成特征映射(feature map)1320。在一些示例中,可以定位锚点1322,并可选地与段1324连接,以标记和/或跟踪场景的感兴趣特征。在一些实施例中,特征映射1320可以与存储的参考的特征映射进行比较,以确定它们之间的关联(例如,相似性)。
在一些实施例中,可以基于场景捕获的一个或多个图像生成特征映射1320并将其存储在存储的参考中。例如,在图11C所示的一个实施例中,与与存储的参考相对应的用户帐户关联的用户1324可以使用成像设备(例如,智能手机1326)沿路径1328从多个有利位置捕获场景的多个图像。以这种方式,可以处理从多个角度捕获的图像数据,以生成描述要存储在存储的参考中的场景的鲁棒性特征映射。一旦记录,该特征映射随后可由一个或多个识别系统用于与其他特征映射(例如,可能仅从一个有利位置生成的特征映射)进行比较。
存储的参考还可以选择性地包括有关场景周围对象和结构的其他上下文信息。例如,如图11D所示,用户1324可以使用成像设备1326通过沿路径1330(例如,通过用户1324旋转)从多个有利位置收集图像来生成全景图像数据。以这种方式,不仅可以为图11A的图像1300中描绘的场景生成特征映射,还可以为周围的对象和结构生成特征映射(如果需要)。根据本公开的实施例,与机器可读视觉编码1304关联的存储的参考可以包括与之关联的所有特征映射,并提供鲁棒性的上下文数据的集合由一个或多个识别系统使用。
在一些实施例中,机器可读视觉编码1304可能需要在与用户1324的用户帐户关联的多个位置之一使用。在一些实施例中,存储的参考可以包括与分别与子参考关联的多个位置中的每一个关联的上下文数据。
在一些实施例中,与一种机器可读视觉编码关联的上下文可以包括另一种机器可读视觉编码。例如,在一些实施例中,以一种机器可读视觉编码传达的数据的处理(例如,由此传达的指令的执行)可以被配置为取决于对图像数据中的另一种机器可读视觉编码的识别。
例如,在图12所示的一个实施例中,可根据本公开的各个方面实现用于安全包裹递送的系统1400。例如,递送人1402可以提供第一机器可读视觉编码1403(例如,在徽章上、在设备上),而包裹1404可以提供第二机器可读视觉编码1405(例如,打印在其上)。“智能”家庭系统1420可包括摄像头1422(例如,门铃摄像头、安全摄像头等),其可在其视野内捕获包括第一机器可读视觉编码1403和第二机器可读视觉编码1405两者的场景。在一些实施例中,在“智能”锁1424能够允许访问用于存储包裹1404的安全区域(例如,包裹储物柜、车库区域、前廊、前门等)之前,可以要求第一机器可读视觉编码1403和第二机器可读视觉编码1405两者与给定的置信度相匹配。在一些实施例中,附加的“智能”组件1426可以提供附加的上下文信息(例如,递送时间、预期递送时间、预期包裹尺寸、预期包裹数量、防止访问许可的任何覆盖、可能影响成像失真的天气条件、防止包裹印刷图像欺骗的三维成像数据等)。家庭系统1420可以可选地连接到网络1430,用于图像数据的通信(例如,用于在服务器1440上处理识别任务)和/或用于接收用于本地处理一个或多个识别任务的参考信息(例如,接收机器可读视觉编码1403的预期参数和/或用于验证递送人1402的标识的面部识别数据等)。在一些实施例中,可生成第一机器可读视觉编码1403以仅为时间窗口提供有限访问。例如,描述机器可读视觉编码1403的数据(包括与之关联的任何时间窗口)可以存储在服务器1440上的存储的参考中,并且可选地发送到家庭系统1420。以这种方式,在一些实施例中,仅当个人拥有经验证的包裹时,并且仅当个人在指定时间这样做时,才可以将访问许可给经验证的个人。
图13A描绘了根据本公开的示例实施例的识别和/或处理机器可读视觉编码的示例计算系统1500的框图。该系统1500包括通过网络1580通信耦合的用户计算设备1502、服务器计算系统1530和提供商计算系统1560。
用户计算设备1502可以是任何类型的计算设备,诸如例如,个人计算设备(例如,笔记本电脑或台式机)、移动计算设备(例如,智能手机或平板电脑)、游戏控制台或控制器、可穿戴计算设备(例如,支持计算机的眼镜、手表等)、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备1502包括一个或多个处理器1512和存储器1514。一个或多个处理器1512可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是可操作的连接的一个或多个处理器。存储器1514可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、SRAM、DRAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器1514可以存储数据1516和指令1518,其由处理器1512执行以使用户计算设备1502执行操作。
用户计算设备1502还可以包括一个或多个传感器1520。例如,用户计算设备1502可以包括接收用户输入的用户输入组件1521。例如,用户输入组件1521可以是对用户输入对象(例如,手指或手写笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触摸敏感组件可用于实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可通过其提供用户输入的其他方式。用户计算设备1502可包括一个或多个成像传感器1522(例如,CCD、CMOS、RADAR(雷达)、激光雷达等)。成像传感器1522每个可以相同或不同,并且每个可以被配置有一个或多个不同的镜头配置。一个或多个成像传感器可以位于用户计算设备1502的一侧,并且一个或多个成像传感器可以位于用户计算设备1502的相对侧。成像传感器用户计算设备1502还可以包括用于测量、记录和/或内插位置数据的一个或多个地理空间传感器1523(例如,GPS)。用户计算设备1502还可以包括一个或多个平移传感器1524(例如,加速计等)和一个或多个旋转传感器1525(例如,倾角计、陀螺仪等)。在一些实施例中,一个或多个地理空间传感器1523、一个或多个平移传感器1524和一个或多个旋转传感器1525可以协同工作,以确定和记录设备1502的位置和/或方向,并与一个或多个成像传感器1522组合,确定设备1502相对于成像场景的姿态。
用户设备1502还可以包括使用任何或所有传感器1520收集和/或生成的图像数据1527。用户设备1502还可以包括用于在收集的图像数据1527上执行识别任务的一个或多个识别模型1528。例如,识别模型1528可以是或可以包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或包括非线性模型和/或线性模型的其他类型的机器学习模型。神经网络可包括前馈神经网络、递归神经网络(例如,长短记忆递归神经网络)、卷积神经网络或其他形式的神经网络。
在一些实现中,一个或多个识别模型1528可以通过网络1580从服务器计算系统1530被接收,被存储在用户计算设备存储器1514中,然后由一个或多个处理器1512使用或以其他方式实现。在一些实现中,用户计算设备1502可以实现单个识别模型1528的多个并行实例(例如,执行并行识别任务,诸如对描述机器可读视觉编码的图像数据1527的部分执行识别任务,以及对描述上下文数据的图像数据1527的部分执行识别任务)。
另外,或者可选地,一个或多个识别模型1540可以被包括在根据客户端-服务器关系与用户计算设备1502通信的服务器计算系统1530中,或者由服务器计算系统1530以其他方式存储和实现。服务器计算系统1530包括一个或多个处理器1532和存储器1534。一个或多个处理器1532可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是可操作连接的一个或多个处理器。存储器1534可以包括一个或多个非暂时性计算机可读存储介质,RRAM、SRAM、DRAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器1534可以存储数据1536和指令1538,其由处理器1532执行,以使服务器计算系统1530执行操作。在一些实现中,服务器计算系统1530包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。在服务器计算系统1530包括多个服务器计算设备的实例中,诸如服务器计算设备可以根据顺序计算架构、并行计算架构或其一些组合来操作。
在一些示例中,识别模型1540可由服务器计算系统1540作为网络服务器的一部分来实现(例如,机器可读视觉编码识别和/或验证服务)。因此,一个或多个识别模型1528可在用户计算设备1502处存储和实现,和/或一个或多个识别模型1540可在服务器计算系统1530处存储和实现。例如,一个或多个识别任务可在一个或多个识别模型1528和一个或多个识别模型1540之间共享和/或分发。
在一些示例中,用户计算设备1502经由网络1580将图像数据1527发送到服务器计算系统1530,以识别和/或处理图像数据1527中描述的任何机器可读视觉编码。服务器计算系统1530可以使用一个或多个识别模型1540来处理图像数据1527,以将图像数据1527与存储的参考1542关联。
在一些实施例中,存储的参考1542可对应于编码数据1544,其可帮助解码图像数据1527中的机器可读视觉编码(例如,通过指示要使用的一个或多个特定编码识别模型,通过详述用于生成/解释机器可读视觉编码的算法,诸如图1至图11A中所示的一个或多个编码方案等)。在一些实施例中,存储的参考可包括与整个存储的参考1542相关的一般上下文数据1546。例如,存储的参考1542可与多个机器可读视觉编码相关。在一个示例实施例中,每个编码可安装在特定种类的对象或结构的实例上(例如,设备、地图、广告、滑板车、汽车、墙、建筑物等)。每个实例可以共享一些上下文信息,使得包括每个编码的场景将共享至少一些重叠上下文(例如,每个编码的图像将描绘滑板车的至少一部分、特定位置的地图、特定广告、特定徽标,诸如并入本文所述的机器可读视觉编码中的徽标或照片等)。一般上下文数据1546可以包括描述编码之间的共享上下文的信息。
在一些实施例中,存储的参考1542可包括与第一子参考1548关联的上下文数据1550,以及可选地与第二子参考1552关联的上下文数据1554。在一些实施例中,子参考1548、1552可用于对与存储的参考1542关联的多个编码的子集关联的上下文信息进行分类。例如,为了继续使用先前描述的实施例的语言,分别与特定种类的对象或结构的实例的各种子集相对应的多个编码的子集可以与一个或多个子参考关联。例如,对象或结构的每个实例(例如,每个踏板车、每个餐厅位置等)都可与其自身的上下文(例如,位置信息、外观等)关联,其可分别存储在上下文数据1550、1554中。以这种方式,机器可读视觉编码1542可与存储的参考1542(例如,对应于实体、用户帐户、项目、类别等)和子参考1548、1552(例如,对应于特定实施、应用等)关联。
一旦关联,服务器计算系统1530可以根据操作指令1556启动操作。在一些实施例中,每个存储的参考1542和/或子参考1548、1552可以与相同或不同的操作指令1556相对应。在一些实施例中,操作指令1556包括验证由图像数据1527描述的机器可读视觉编码。验证可包括例如向用户计算设备1502发送验证指示符,用户计算设备1502可响应于该指示符执行附加操作(例如,处理以机器可读视觉编码编码的任何数据项)例如,验证指示符可以包括处理以机器可读视觉编码编码的数据所需的安全凭证。在一些实施例中,用户计算设备1502(例如,通过用户计算设备1502上存储和/或执行的应用、通过用户计算设备1502上执行的浏览器界面的网络服务器等)可能需要安全凭证。例如,在图12所示用于安全递送包裹的系统1400中,在一些实施例中,“智能”家庭系统1420在“智能”锁1424允许访问用于存储包裹1404的安全区域之前可能需要这样的安全凭证。再次参考图13A,在一些实施例中,提供商计算系统1560可能需要安全凭证来访问提供商计算系统1560提供的服务(例如,用于启动与提供商计算系统1560的安全连接)。
在一些实施例中,用户设备1502可被配置为仅处理由服务器计算系统验证的机器可读视觉编码。在一些实施例中,当用户设备1502对一个或多个机器可读视觉编码进行成像时,其与任何存储的参考不相关,或者部分与存储的参考相关,但是其上下文与存储在存储的参考中的上下文数据1546、1550、1554冲突,用户设备1502可被配置为显示指示其的警告消息。例如,在继续处理由此编码的数据之前,用户设备1502的用户可被提示接受和/或拒绝指示缺乏机器可读视觉编码验证的消息(例如,在用户设备的显示器上呈现的消息)。
在一些实施例中,验证可包括经由网络1580向提供商计算系统1560发送验证指示符。提供商计算系统1560可与一个或多个机器可读视觉编码关联(例如,如图像数据1527中所述)。例如,可以生成一个或多个机器可读视觉编码以传达用于与与提供商计算系统1560关联的实体的服务交互的数据(例如,信息、指令)。
提供商计算系统1560包括一个或多个处理器1562和存储器1564。一个或多个处理器1562可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且可操作地连接一个或多个处理器。存储器1564可以包括一个或多个非暂时性计算机可读存储介质,例如RAM、SRAM、DRAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器1564可以存储数据1566和指令1568,其由处理器1562执行,以使提供商计算系统1560执行操作。在一些实现中,提供商计算系统1560包括或以其他方式由一个或多个服务器计算设备实现。在一些实施例中,提供商计算系统1560包括服务器计算系统1530。
提供商计算系统1560还可以包括用于提供服务的服务指令1570,诸如例如,向用户计算设备1502的用户提供服务。在一些实施例中,提供商计算系统1560开始提供响应指示符的服务,该指示符指示用户计算设备1502已捕获和/或以其他方式处理已验证的机器可读视觉编码。例如,提供商计算系统1560可基于来自服务器计算系统1530的指示符(图像数据1527包括与与特定实例关联的存储的参考1542或子参考1548、1552关联的上下文数据),来提供与机器可读视觉编码的特定实例关联的服务。例如,以这种方式,提供商计算系统1562可以定制或以其他方式改进所提供的服务。
在一些实施例中,服务指令1570可以包括用于在用户设备1502上执行应用的可执行指令。在一些实施例中,用户设备1502的用户可以扫描根据本公开的方面的机器可读视觉编码,以下载或以其他方式获得对用于执行应用(或应用内的处理)的可执行代码的访问。
在一些实施例中,上下文数据1572可以生成和/或存储在提供商计算系统1562上和/或发送到服务器计算系统1530。在一些实施例中,上下文数据1572可用于更新上下文数据1546、1550、1554。在一些实施例中,上下文数据1572可用于验证图像数据1527的真实性。例如,提供商计算系统1560可以被配置为提供与机器可读视觉编码的特定实例关联的服务,并且机器可读视觉编码的特定实例可以对应于上下文数据1572。在一些实施例中,可以生成上下文数据1572以确保可以处理图像数据1527以启动唯一事务。例如,在一个实施例中,可以生成必须由图像数据1527描述以便由服务器计算系统1530验证的上下文数据的集合1572。例如,提供商计算系统1560可以生成要在附近或与目标机器可读视觉编码(例如,补充机器可读视觉编码)或能够被一个或多个传感器1520感知的其他上下文一起显示的视觉模式。在这样的示例中,由服务器计算系统1530进行的验证可以取决于由图像数据1527描述的目标机器可读视觉编码和补充机器可读视觉编码。在一个示例中,如图12所示,可在系统1400的实施例中使用补充机器可读视觉编码来用于安全包裹递送。
尽管上面描述的示例已经提到由服务器计算系统1530识别和/或处理图像数据1527中描述的任何机器可读视觉编码,应当理解,识别任务可以分布在用户计算设备1502和服务器计算系统1530之间。例如,用户计算设备1502可以使用一个或多个识别模型1528来处理图像数据1527的一个或多个部分,并将图像数据1527的相同和/或不同部分发送到服务器计算系统1530以处理图像数据1527,服务器计算系统1530使用一个或多个识别模型1540。在一些实施例中,一个或多个识别模型1528可以包括用于识别由图像数据1527描述的任何机器可读视觉编码的编码识别模型。在一些实施例中,基于用户计算设备1502使用编码识别模型对图像数据1527的处理,用户计算设备1502可以经由网络1580将图像数据1527传达到服务器计算系统1530以进行附加处理。
例如,在一个示例中,用户计算设备1502可以确定图像数据1527描述了一个或多个机器可读视觉编码。用户计算设备1502可以使用编码识别模型来处理图像数据1527,以解码机器可读视觉编码。用户计算设备1502可以将描述机器可读视觉编码的数据(例如,图像数据1527和/或来自编码本身的解码数据)发送到服务器计算设备1530,以确定是否存在与机器可读视觉编码关联(或可能关联)的存储的参考。服务器计算系统1530可以通过处理发送到服务器计算系统1530的数据、描述机器可读视觉编码的数据(例如,图像数据1527和/或来自编码本身的解码数据)来进行关联。如果存在与机器可读视觉编码关联的存储的参考1542,则服务器计算系统可以将存储的参考1542和/或与之关联的上下文数据发送到用户计算设备1502以与图像数据1527进行比较(例如,特定于一个或多个子参考1548、1552的一般上下文数据1546和/或上下文数据1550、1554)。在这些实施例中,由用户计算设备1502收集的上下文数据可以保留在设备上(例如,以实现额外的隐私、更低的延迟等)。
在一些示例中,一个或多个识别模型1528和一个或多个识别模型1540可以是各种机器学习模型或可以以其他方式包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深层神经网络、递归神经网络和卷积神经网络。
机器学习模型可以使用各种训练或学习技术进行训练,诸如例如,错误的反向传播。例如,损失函数可以通过模型反向传播,以更新模型的一个或多个参数(例如,基于损失函数的梯度)。可以使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失和/或各种其他损失函数。可以使用梯度下降技术在多次训练迭代中迭代更新参数。在一些实现中,执行误差的反向传播可包括通过时间执行截短反向传播。模型训练器可以执行多种泛化技术(例如,权重衰减、退出等),以提高所训练模型的泛化能力。特别是,模型训练器可以基于训练数据的集合来训练模型。训练数据可以包括例如机器可读视觉编码、描述其的图像数据等。
在一些实现中,如果用户已提供同意,则训练示例可由用户计算设备1502提供。因此,在这样的实现中,提供给用户计算设备1502的模型1528可由训练计算系统根据从用户计算设备1502接收的用户特定数据进行训练。在在某些情况下,此过程可被称为个性化模型。
模型训练器可以包括用于提供所需功能的计算机逻辑。模型训练器可以在控制通用处理器的硬件、固件和/或软件中实现。例如,在一些实现中,模型训练器包括存储在存储设备上的程序文件,加载到内存中,然后由一个或多个处理器执行。在其他实现中,模型训练器包括一组或多组计算机可执行指令,这些指令存储在有形的计算机可读存储介质(诸如RAM硬盘或光学或磁性介质)中。
在一些实现中,对本公开的机器学习识别模型(例如,包括在用户计算设备1502、服务器计算系统1530等中的任何一个中)的输入(例如,输入、数据和/或训练示例)可以是图像数据。机器学习模型可以处理图像数据以生成输出。例如,机器学习模型可以处理图像数据以生成图像识别输出(例如,图像数据的识别、图像数据的潜在嵌入、图像数据的编码表示、图像数据的散列等)。作为另一个示例,机器学习模型可以处理图像数据以生成图像分段(segmentation)输出。作为另一个示例,机器学习模型可以处理图像数据以生成图像分类输出。作为另一个示例,机器学习模型可处理图像数据以生成图像数据修改输出(例如,图像数据的改变等)。作为另一示例,机器学习模型可处理图像数据以生成编码图像数据输出(例如,图像数据的编码和/或压缩表示等)。作为另一示例,机器学习模型可处理图像数据以生成放大的图像数据输出。作为另一示例,机器学习模型可处理图像数据以生成预测输出。
在一些实现中,对本公开的机器学习识别模型(例如,包括在用户计算设备1502、服务器计算系统1530等中的任何一个中)的输入(例如,输入、数据和/或训练示例)可以是潜在编码数据(例如,输入的潜在空间表示等)。机器学习模型可以处理潜在编码数据以生成输出。例如,机器学习模型可以处理潜在编码数据以生成识别输出。例如,机器学习模型可以处理潜在编码数据以生成重建输出。例如,机器学习模型可以处理潜在编码数据以生成搜索输出。例如,机器学习模型可以处理潜在编码数据以生成重聚类(re-clustering)输出。又例如,机器学习模型可以处理潜在编码数据以生成预测输出。
在一些实现中,对本公开的机器学习识别模型(例如,包括在用户计算设备1502、服务器计算系统1530等中的任何一个)的输入(例如,输入、数据和/或训练示例)可以是统计数据。机器学习模型可以处理统计数据以生成输出。例如,机器学习模型可以处理统计数据以生成识别输出。另一个示例,机器学习模型可以处理统计数据以生成预测输出。另一个示例,机器学习模型可以处理统计数据以生成分类输出。例如,机器学习模型可以处理统计数据以生成分段输出。例如,机器学习模型可以处理统计数据以生成分段输出。例如,机器学习模型可以处理统计数据以生成视觉化输出。例如,机器学习模型可以处理统计数据以生成诊断输出。
在一些实现中,对本公开的机器学习识别模型(例如,包括在用户计算设备1502、服务器计算系统1530等中的任何一个)的输入(例如,输入、数据和/或训练示例)可以是传感器数据。机器学习模型可以处理传感器数据以生成输出。例如,机器学习模型可以处理传感器数据以生成识别输出。另一个示例,机器学习模型可以处理传感器数据以生成预测输出。另一个示例,机器学习模型可以处理传感器数据以生成分类输出。例如,机器学习模型可以处理传感器数据以生成分段输出。例如,机器学习模型可以处理传感器数据以生成分段输出。例如,机器学习模型可以处理传感器数据以生成视觉化输出。例如,机器学习模型可以处理传感器数据以生成诊断输出。例如,机器学习模型可以处理传感器数据以生成检测输出。
网络1580可以是任何类型的通信网络,诸如局域网(例如,内部网)、广域网(例如,互联网),或其一些组合,并且可以包括任意数量的有线或无线链路。一般来说,网络1580上的通信可以通过任何类型的有线和/或无线连接进行,使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)。
图13A示出了可用于实现本公开的一个示例计算系统。也可使用其他计算系统。例如,在一些实现中,用户计算设备1502可包括模型训练器和训练数据集。在这样的实现中,模型1528、1540两者可在用户计算设备1502上进行训练和本地使用。在一些这样的实现中,用户计算设备1502可以基于用户特定数据来实现模型训练器以个性化模型1528。
图13B描绘了根据本公开的示例实施例执行的示例计算设备1582的框图。计算设备1582可以是用户计算设备或服务器计算设备。
计算设备1582包括多个应用(例如,应用1到应用N)。每个应用包括自己的机器学习库(machine learning library)和机器学习模型(machine-learned model)。例如,每个应用可以包括机器学习模型。示例应用包括短信应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图13B所示,每个应用可以与计算设备的多个其他组件通信,例如,一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现中,每个应用可以使用API(例如,公用API)与每个设备组件通信。在一些实现中,每个应用使用的API都是特定于该应用的。
图13C描绘了根据本公开的示例实施例执行的示例计算设备1584的框图。计算设备1584可以是用户计算设备或服务器计算设备。
计算设备1584包括许多应用(例如,应用1到应用N)。每个应用都与中间智能层通信。示例应用包括短信应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实现中,每个应用都可以使用API(例如,所有应用的公共API)与中间智能层通信(和存储在其中的模型)。
中间智能层包括多个机器学习模型。例如,如图13C所示,可以为每个应用提供相应的机器学习模型(例如,模型)并由中间智能层管理。在其他实现中,两个或多个应用可以共享单个机器学习模型。例如,在一些实现中,中间智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实现中,中间智能层被包括在计算设备1584的操作系统中,或者由计算设备1584的操作系统实现。
中间智能层可以与中间设备数据层通信。中间设备数据层可以是计算设备1584的集中数据存储库。如图13C所示,中间设备数据层可以与计算设备的许多其他组件通信,诸如例如,一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现中,中间设备数据层可以使用API(例如,私有API)与每个设备组件通信。
识别系统布置示例
图13D描绘了根据本公开的示例实施例的示例识别系统1590的框图。在一些实现中,识别系统1590被训练为接收图像数据的集合1527,该图像数据1527描述了包括一个或多个机器可读视觉编码的场景,并且作为接收图像数据1527的结果,提供识别数据1592,该识别数据1592描述一个或多个机器可读视觉编码和一个或多个存储的参考之间的关联(例如,它们之间关联的置信度)。在一些实施方式中,识别系统1590可包括编码识别模型1540a,该编码识别模型可操作处理(例如,解码)图像数据1527中描述的一个或多个机器可读的视觉编码。识别系统1590还可以包括用于识别和/或以其他方式处理上下文图像数据1527的图像识别模型1540b(例如,用于识别图像数据1527中描述的对象、人和/或结构;用于执行深度映射或其他VPS技术)。图像数据1527可以直接流到模型1540a、1540b中的每一个模型,和/或从中依次通过。
图13E描绘了根据本公开的示例实施例的示例识别系统1594的框图。识别系统1594类似于图13D的识别系统1594,只是识别系统1594还包括可直接处理存储在图像数据1527(例如,传感器数据,诸如与图像数据的一个或多个图像关联的元数据)中的上下文数据的上下文组件1596。
在一些实施例中,识别数据1592可包括描述与每个识别模型1540a、1540b关联的置信的综合得分。在一些实施例中,识别数据1592可包括总和(加权或未加权)。在一些实施例中,可基于与识别模型1540a、1540b中的每一个关联的置信度中的较高者来确定识别数据1592。
示例方法
图14描述了根据本公开的示例实施例执行的示例方法1600的流程图。尽管图14描述了为了说明和讨论的目的以特定顺序执行的步骤,但本公开的方法不限于特定说明的顺序或布置。方法1600的各个步骤可以以各种方式省略、重新排列、组合和/或调整,而不偏离本公开的范围。
在1610,计算系统获得描述包括机器可读视觉编码的场景的图像数据。
在1620,计算系统使用被配置为识别机器可读视觉编码的第一识别系统处理图像数据。
在1630,计算系统使用被配置为识别围绕机器可读视觉编码的场景的周围部分的不同的第二识别系统来处理图像数据。在一些实施例中,图像数据包括与机器可读视觉编码关联的图像,和被包括在包括信息显示和/或广告的场景的周围部分中。在一些实施例中,不同的第二识别系统包括视觉定位系统,所述视觉定位系统被配置为提取场景的周围部分的视觉特征。在一些实施例中,不同的第二识别系统包括语义识别系统,所述语义识别系统被配置为识别与机器可读视觉编码关联并在场景的周围部分被参考的语义实体。在一些实施例中,第二识别系统处理与图像数据(例如,位置数据)关联的元数据。
在1640,计算系统至少部分地基于由第一识别系统基于图像数据生成的一个或多个第一输出以及至少部分地基于由第二识别系统基于图像数据生成的一个或多个第二输出,标识与机器可读视觉编码关联的存储的参考。在一些实施例中,标识是基于基于一个或多个第一输出和一个或多个第二输出的综合输出。在一些实施例中,一个或多个第一输出中的至少一个可能不满足目标值,并且,响应于确定一个或多个第一输出中的至少一个不满足目标值,计算系统可以由第二识别系统生成一个或多个第二输出。
在1650,计算系统执行响应于存储的参考的标识的一个或多个动作。在一些实施例中,计算系统生成验证指示符。在一些实施例中,验证指示符被配置为提供处理由机器可读视觉编码编码的数据所需的安全凭证。在一些实施例中,在机器可读视觉编码中编码的数据与获取对安全区域的访问的请求关联,场景包括两个或多个机器可读视觉编码,并且安全凭证被需要来启动获取对安全区域的访问的请求的服务。在一些实施例中,获取对安全区域的访问的请求与用于将包裹递送到安全区域的包裹递送实体关联,所述包裹上具有两个或多个机器可读视觉编码中的至少一个。
附加公开
本文讨论的技术涉及服务器、数据库、软件应用和其他基于计算机的系统,以及所采取的动作和发送到这样的系统的信息和从这样的系统发送的信息。基于计算机的系统固有的灵活性允许在组件之间和组件之中进行多种可能的配置、组合、任务和功能划分。例如,本文讨论的过程可以使用单个设备或组件或组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现,也可以分布在多个系统上。分布式组件可以按顺序或并行运行。
虽然本公开的主题已经就其各种具体示例实施例进行了详细描述,但每个示例都是通过解释而非限制本公开的方式提供的。本领域技术人员在理解上述内容后,可以容易地对这些实施例进行变更、变体和等同。因此,本公开不排除对本领域普通技术人员显而易见的对本公开主题的修改、变体和/或添加。例如,作为一个实施例的一部分示出或描述的特征可与另一实施例一起使用以产生更进一步的实施例。因此,本公开旨在涵盖此类变更、变体和等同。

Claims (20)

1.一种用于处理机器可读视觉编码的计算机实现的方法,所述方法包括:
由包括一个或多个计算设备的计算系统获取描述包括机器可读视觉编码的场景的图像数据;
由计算系统使用被配置为识别机器可读视觉编码的第一识别系统来处理图像数据;
由计算系统使用被配置为识别围绕机器可读视觉编码的场景的周围部分的不同的第二识别系统来处理图像数据;
由计算系统,至少部分地基于由第一识别系统基于图像数据生成的一个或多个第一输出以及至少部分地基于由第二识别系统基于图像数据生成的一个或多个第二输出,标识与机器可读视觉编码关联的存储的参考;和
响应于存储的参考的标识由计算系统执行一个或多个动作。
2.根据权利要求1所述的计算机实现的方法,其中,不同的第二识别系统包括图像识别系统,所述图像识别系统被配置为识别与机器可读视觉编码关联并被包括在场景的周围部分中的图像。
3.根据权利要求2所述的计算机实现的方法,其中,与机器可读视觉编码关联并被包括在场景的周围部分中的图像包括信息显示、广告或两者。
4.根据权利要求1所述的计算机实现的方法,其中:
不同的第二识别系统包括视觉定位系统,所述视觉定位系统被配置为提取场景的周围部分的视觉特征;以及
不同的第二识别系统被配置为将提取的视觉特征与先前记录的与存储的参考关联的视觉特征进行比较,以识别场景的周围部分。
5.根据权利要求1所述的计算机实现的方法,其中,不同的第二识别系统包括语义识别系统,所述语义识别系统被配置为识别与机器可读视觉编码关联并在场景的周围部分中被参考的语义实体。
6.根据权利要求1所述的计算机实现的方法,其中,由计算系统标识存储的参考包括基于所述一个或多个第一输出和所述一个或多个第二输出确定综合输出。
7.根据权利要求1所述的计算机实现的方法,其中,由计算系统标识存储的参考包括:
确定所述一个或多个第一输出中的至少一个不满足目标值;以及
响应于确定所述一个或多个第一输出中的所述至少一个不满足目标值,由第二识别系统生成所述一个或多个第二输出。
8.根据权利要求1所述的计算机实现的方法,其中,第二识别系统处理与图像数据关联的元数据。
9.根据权利要求8所述的计算机实现的方法,其中,元数据包括位置数据。
10.根据权利要求1所述的计算机实现的方法,其中,响应于存储的参考的标识由计算系统执行一个或多个动作包括由计算系统生成验证指示符。
11.根据权利要求10所述的计算机实现的方法,其中,验证指示符被配置为提供处理由机器可读视觉编码所编码的数据所需的安全凭证。
12.根据权利要求11所述的计算机实现的方法,其中:
在机器可读视觉编码中编码的数据与获取对安全区域的访问的请求关联;
场景包括两个或更多个机器可读视觉编码;以及
安全凭证被需要来启动获取对安全区域的访问的请求的服务。
13.根据权利要求12所述的计算机实现的方法,其中,获取对安全区域的访问的请求与用于将包裹递送到安全区域的包裹递送实体关联,所述包裹上具有所述两个或多个机器可读视觉编码中的至少一个。
14.一种用于响应于机器可读视觉编码的识别来执行动作的计算系统,所述计算系统包括:
一个或多个处理器;和
一个或多个非暂时性计算机可读介质,其共同存储指令,当指令由一个或多个处理器执行时,使计算系统执行操作,所述操作包括:
获取描述包括机器可读视觉编码的场景的图像数据;
将图像数据发送到识别服务器系统以由识别服务器系统处理,所述识别服务器系统包括被配置为识别机器可读视觉编码的第一识别系统和被配置为识别围绕机器可读视觉编码的场景的周围部分的不同的第二识别系统;以及
至少部分地基于存储的参考和图像数据之间的关联来执行一个或多个动作,所述关联已由识别服务器系统使用由第一识别系统生成的一个或多个第一输出和使用由第二识别系统生成的一个或多个第二输出确定。
15.根据权利要求14所述的计算系统,其中,至少部分地基于存储的参考和图像数据之间的关联执行一个或多个动作包括:
从识别服务器系统接收指示机器可读视觉编码的真实性的验证指示符;和
响应于接收到验证指示符,处理与机器可读视觉编码关联的数据。
16.根据权利要求14所述的计算系统,其中,至少部分地基于存储的参考和图像数据之间的关联执行一个或多个动作包括:
在计算系统的显示设备上呈现关于对象的信息,所述对象包括机器可读视觉编码,所述信息是基于存储的参考和图像数据之间的关联从识别服务器系统获得的。
17.根据权利要求16所述的计算系统,其中,不同的第二识别系统包括语义识别系统,所述语义识别系统被配置为识别与机器可读视觉编码关联并在场景的周围部分中被参考的语义实体。
18.根据权利要求17所述的计算系统,其中,所述对象是产品。
19.一个或多个非暂时性计算机可读介质,其共同存储指令,当指令由一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
接收描述包括机器可读视觉编码的场景的图像数据,所述图像数据还描述机器可读视觉编码的上下文;
将图像数据与存储的参考关联,其中所述关联包括:
使用第一识别系统确定机器可读视觉编码和存储的参考之间的第一相似性;和
使用第二识别系统确定上下文和存储的参考之间的第二相似性;以及
基于所述关联启动一个或多个操作。
20.根据权利要求19所述的一个或多个非暂时性计算机可读介质,其中,基于所述关联启动一个或多个操作包括:
基于与第一相似性和第二相似性中的每一个相关联的置信度来生成验证指示符。
CN202111105589.8A 2020-09-18 2021-09-22 用于注册和处理视觉编码的平台 Pending CN113971452A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/025,597 2020-09-18
US17/025,597 US11429804B2 (en) 2020-09-18 2020-09-18 Platform for registering and processing visual encodings

Publications (1)

Publication Number Publication Date
CN113971452A true CN113971452A (zh) 2022-01-25

Family

ID=77838730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111105589.8A Pending CN113971452A (zh) 2020-09-18 2021-09-22 用于注册和处理视觉编码的平台

Country Status (5)

Country Link
US (4) US11429804B2 (zh)
EP (1) EP3971843A3 (zh)
JP (2) JP7486464B2 (zh)
KR (1) KR20220037995A (zh)
CN (1) CN113971452A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115687029A (zh) * 2022-10-28 2023-02-03 中南大学 长期服务器运行状态时序数据可视化方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101765861A (zh) * 2007-03-08 2010-06-30 微扫描系统公司 二维码的检测和分割
CN101911094A (zh) * 2008-02-22 2010-12-08 高通股份有限公司 具有集成的条形码扫描的图像俘获装置
US20160162767A1 (en) * 2014-10-07 2016-06-09 Denso Wave Incorporated Method and apparatus for producing information code
CN106156821A (zh) * 2015-03-24 2016-11-23 天津市阿波罗信息技术有限公司 一种光学可读性条码防伪结构及实现方法
CN107067044A (zh) * 2017-05-31 2017-08-18 北京空间飞行器总体设计部 一种财务报销全票据智能审核系统
US20170270728A1 (en) * 2014-12-02 2017-09-21 Inventio Ag Improved access control using portable electronic devices
CN107563966A (zh) * 2017-08-01 2018-01-09 北京诺君安信息技术股份有限公司 一种二维码与图像融合方法及二维码
CN108717611A (zh) * 2018-03-07 2018-10-30 胡金钱 物流信息的安全管控方法及系统、计算机存储介质
WO2019026873A1 (ja) * 2017-07-31 2019-02-07 カレンシーポート株式会社 相互認証システム、認証用画像及び記録媒体
CN111507446A (zh) * 2019-01-31 2020-08-07 北京骑胜科技有限公司 二维码生成、识别方法及装置
CN111639734A (zh) * 2020-05-21 2020-09-08 北京矩石科技有限公司 一种嵌入qr码的新型二维码编码及防伪应用方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69707291T2 (de) 1997-11-17 2002-06-27 Datalogic S.P.A., Lippo Di Calderara Di Reno Maxicode-Lokalisierungsverfahren
JP3458737B2 (ja) 1998-11-27 2003-10-20 株式会社デンソー 2次元コードの読取方法及び記録媒体
US6533182B1 (en) 1999-09-21 2003-03-18 Omron Corporation Two-dimensional dot code and reader thereof
US20020105618A1 (en) 1999-12-30 2002-08-08 Edgar Albert D. Sprocket-hole banding filter and method of removing the sprocket-hole banding
US6435315B1 (en) 2000-12-11 2002-08-20 Otis Elevator Company Absolute position reference system for an elevator
DE60322123D1 (de) 2003-03-17 2008-08-21 Kenji Yoshida Informationseingabe-/-ausgabeverfahren mit einem punktmuster
WO2004090100A2 (en) * 2003-04-04 2004-10-21 Agilent Technologies, Inc. Visualizing expression data on chromosomal graphic schemes
US7751629B2 (en) 2004-11-05 2010-07-06 Colorzip Media, Inc. Method and apparatus for decoding mixed code
KR100653886B1 (ko) * 2004-11-05 2006-12-05 주식회사 칼라짚미디어 혼합코드 및 혼합코드 인코딩 방법과 장치
CN102460478A (zh) 2009-04-08 2012-05-16 大陆-特韦斯贸易合伙股份公司及两合公司 二维符号代码和用于读取符号代码的方法
JP5715785B2 (ja) 2010-09-17 2015-05-13 株式会社キーエンス コード印字品質評価装置
US8374885B2 (en) * 2011-06-01 2013-02-12 Credibility Corp. People engine optimization
US20130026241A1 (en) * 2011-07-25 2013-01-31 Sakahashi Koji Device and its use for creation, output and management of 2d barcodes with embedded images
US9367725B2 (en) 2011-11-03 2016-06-14 Cognex Corporation Method and apparatus for performing different decoding algorithms in different locations
EP3061034A4 (en) * 2013-10-22 2017-07-05 Hewlett-Packard Enterprise Development LP Interactive optical codes
US9865027B2 (en) * 2014-05-09 2018-01-09 Graphiclead LLC System and method for embedding of a two dimensional code with an image
DE102016208621A1 (de) 2016-05-19 2017-11-23 Continental Automotive Gmbh Verfahren zur Verifizierung von Inhalt und Aufstellort von Verkehrszeichen
CN106991462B (zh) * 2017-03-13 2018-04-17 三维码(厦门)网络科技有限公司 三维码生成方法
CN207051946U (zh) * 2017-03-31 2018-02-27 腾讯科技(深圳)有限公司 二维码和印刷物
CN106951812B (zh) * 2017-03-31 2018-12-07 腾讯科技(深圳)有限公司 识别二维码的方法、装置和终端
US10674158B2 (en) * 2017-06-15 2020-06-02 Beamr Imaging Ltd Method and system of video coding optimization
JP6892683B2 (ja) * 2017-07-07 2021-06-23 薫 渡部 物品収受システム、収受ボックス及び物品収受方法
CN107590522B (zh) * 2017-08-23 2020-08-21 阿里巴巴集团控股有限公司 一种识别码生成及识别的方法及装置
US10740635B2 (en) * 2017-09-28 2020-08-11 Google Llc Motion based account recognition
GB201811125D0 (en) * 2018-07-06 2018-08-22 Barco Nv Method and system for color calibration using a barcode
FR3088160B1 (fr) * 2018-11-06 2021-04-02 Teledyne E2V Semiconductors Sas Capteur d'image pour la reconnaissance optique de code(s)
US11272192B2 (en) * 2019-03-04 2022-03-08 Comcast Cable Communications, Llc Scene classification and learning for video compression
TWI743919B (zh) * 2020-08-03 2021-10-21 緯創資通股份有限公司 視訊處理裝置及視訊串流的處理方法
US20220086466A1 (en) * 2021-12-01 2022-03-17 James Holland Enhanced real-time visual quality metric generation for video coding

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101765861A (zh) * 2007-03-08 2010-06-30 微扫描系统公司 二维码的检测和分割
CN101911094A (zh) * 2008-02-22 2010-12-08 高通股份有限公司 具有集成的条形码扫描的图像俘获装置
US20160162767A1 (en) * 2014-10-07 2016-06-09 Denso Wave Incorporated Method and apparatus for producing information code
US20170270728A1 (en) * 2014-12-02 2017-09-21 Inventio Ag Improved access control using portable electronic devices
CN106156821A (zh) * 2015-03-24 2016-11-23 天津市阿波罗信息技术有限公司 一种光学可读性条码防伪结构及实现方法
CN107067044A (zh) * 2017-05-31 2017-08-18 北京空间飞行器总体设计部 一种财务报销全票据智能审核系统
WO2019026873A1 (ja) * 2017-07-31 2019-02-07 カレンシーポート株式会社 相互認証システム、認証用画像及び記録媒体
CN107563966A (zh) * 2017-08-01 2018-01-09 北京诺君安信息技术股份有限公司 一种二维码与图像融合方法及二维码
CN108717611A (zh) * 2018-03-07 2018-10-30 胡金钱 物流信息的安全管控方法及系统、计算机存储介质
CN111507446A (zh) * 2019-01-31 2020-08-07 北京骑胜科技有限公司 二维码生成、识别方法及装置
CN111639734A (zh) * 2020-05-21 2020-09-08 北京矩石科技有限公司 一种嵌入qr码的新型二维码编码及防伪应用方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STEVAN ŠANDI 等: "Smart Tags for Brand Protection and Anti-counterfeiting in Wine Industry", 2018 23RD INTERNATIONAL SCIENTIFIC-PROFESSIONAL CONFERENCE ON INFORMATION TECHNOLOGY (IT), pages 1 - 5 *

Also Published As

Publication number Publication date
KR20220037995A (ko) 2022-03-25
US11836553B2 (en) 2023-12-05
EP3971843A2 (en) 2022-03-23
US20220092284A1 (en) 2022-03-24
JP2023101610A (ja) 2023-07-21
US11429804B2 (en) 2022-08-30
US20230042215A1 (en) 2023-02-09
JP7486464B2 (ja) 2024-05-17
EP3971843A3 (en) 2022-06-08
US11977953B2 (en) 2024-05-07
US20240135126A1 (en) 2024-04-25
US20220405497A1 (en) 2022-12-22
JP2022051558A (ja) 2022-03-31

Similar Documents

Publication Publication Date Title
US10997809B2 (en) System and method for provisioning a facial recognition-based system for controlling access to a building
US9569778B2 (en) Efficient prevention of fraud
KR102125379B1 (ko) 딥러닝 기반의 신분증 진위판단장치 및 신분증 진위판단방법
US9576194B2 (en) Method and system for identity and age verification
US20170177852A1 (en) Document authentication based on expected wear
CN107844748A (zh) 身份验证方法、装置、存储介质和计算机设备
US20140270404A1 (en) Efficient prevention of fraud
US11488419B2 (en) Identity and liveness verification
US20240135126A1 (en) Platform for Registering and Processing Visual Encodings
US20140270409A1 (en) Efficient prevention of fraud
US20230216684A1 (en) Integrating and detecting visual data security token in displayed data via graphics processing circuitry using a frame buffer
Shichkina et al. Synthesis of the method of operative image analysis based on metadata and methods of searching for embedded images
CN115114557B (zh) 基于区块链的页面数据获取方法及装置
KR20140061009A (ko) 음성인식을 이용한 하이브리드 증강현실 시스템 및 그 방법
CN109214224A (zh) 信息编码的风险识别方法和装置
TW202234270A (zh) 防欺騙之人臉身分驗證系統
CN117746117A (zh) 变体图像识别及其模型训练方法、及电子设备
CN115272735A (zh) 攻击图像检测模型训练方法、装置、计算机设备
Ingale et al. A SURVEY PAPER ON SMART AUTHENTICATION SYSTEM FOR IDENTITY VERIFICATION

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