CN112449701A - 学习模板表示库 - Google Patents

学习模板表示库 Download PDF

Info

Publication number
CN112449701A
CN112449701A CN201980021378.0A CN201980021378A CN112449701A CN 112449701 A CN112449701 A CN 112449701A CN 201980021378 A CN201980021378 A CN 201980021378A CN 112449701 A CN112449701 A CN 112449701A
Authority
CN
China
Prior art keywords
environment
template
given
reconstruction
interest
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
CN201980021378.0A
Other languages
English (en)
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.)
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 CN112449701A publication Critical patent/CN112449701A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20152Watershed segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

用于学习模板表示库的方法,***和装置,包括在计算机存储介质上编码的计算机程序。在一个方面,一种方法包括获得描述物理环境的图像,其中环境包括给定的物理对象。当可能时,基于模板表示库使用模板匹配技术来推测给定的对象在环境中的位置。响应于确定不可以基于模板表示库使用模板匹配技术来预测给定的对象在环境中的位置,模板表示库被自动扩充有新的模板表示。

Description

学习模板表示库
背景技术
本说明书涉及使用数字图像处理方法来处理数据。
计算机可以通过使用数字图像处理方法处理表征环境的数据来对环境进行建模。表征环境的数据可以是例如描述环境的图像数据。计算机可以使用环境模型作为与环境交互的基础。例如,计算机可以使用机器人致动器与环境交互。
发明内容
本说明书描述了在一个或多个位置中的一个或多个计算机上实施为计算机程序的学习模板表示库的***。
根据第一方面,提供了一种用于学习模板表示库的方法。该方法包括获得描述物理环境的第一图像,其中该环境包括给定的物理对象。该方法包括确定是否可以基于模板表示库使用模板匹配技术来推测给定的对象在环境中的位置,其中模板表示库包括多个模板表示。响应于确定不可以基于模板表示库使用模板匹配技术来推测给定的对象在环境中的位置,从环境的多个图像生成环境的重建。环境的重建表征了环境的几何形状。使用环境的重建来确定给定的对象的估计位置。使用给定的对象的估计位置来生成给定的对象的新模板表示。模板表示库用新的模板表示来扩充。
在一些实施方式中,确定是否可以基于模板表示库使用模板匹配技术来推测给定的对象在环境中的位置包括,对于来自模板表示库的多个模板表示中的每一个模板表示,确定模板表示与第一图像的区域之间的相似性度量是否超过阈值。
在一些实施方式中,从环境的多个图像生成环境的重建包括将立体重建技术应用到环境的图像。
在一些实施方式中,环境的重建包括定义环境的三维重建的多个坐标。
在一些实施方式中,使用环境的重建来确定给定的对象的估计位置包括基于环境的重建,确定将环境分割成多个分割区域的分割。将分割区域识别为给定的对象。基于被识别为给定的对象的分割区域来确定给定的对象的估计位置。
在一些实施方式中,基于环境的重建来确定将环境分割成多个区域包括确定表示环境的重建的图像的分水岭变换。
在一些实施方式中,使用给定的对象的估计位置生成给定的对象的新模板表示包括裁剪由给定的对象的估计位置定义的环境图像的区域。
在一些实施方式中,该方法包括基于使用环境的重建确定的给定的对象的估计位置与环境进行物理交互。确定交互成功条件。如果交互不满***互成功条件,则禁止使用给定的对象的估计位置来生成给定的对象的新模板表示。
在一些实施方式中,基于使用环境重建确定的给定的对象的估计位置与环境进行物理交互包括尝试使用机器人致动器基于使用环境重建确定的给定的对象的估计位置来操纵给定的对象。
根据第二方面,提供了一种***,其包括存储可执行指令的存储器,以及执行所述指令以执行先前描述的方法的操作的一个或多个计算机。
根据第三方面,提供了一种或多种存储指令的非暂时性计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行前述方法的操作。
可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。
本说明书中描述的***可以在很少或没有人为干预的情况下构建可由代理(例如,机械代理)用来与环境交互的模板表示库。更具体地,每当***确定当前模板表示库不足以使用模板匹配技术来推测感兴趣对象在环境中的位置时,***可以自动生成表示感兴趣对象的新模板表示,并用新模板表示来扩充模板表示库。相反,当一些传统***确定模板表示库不足以使用模板匹配技术来推测感兴趣对象在环境中的位置时,传统***缺少自动恢复的机制。在这些传统***中的一些中,需要人工干预来生成新的模板表示以扩充模板表示库。本说明书中描述的***消除了在构建模板表示库中人工干预的需要。上述任何优点构成计算机视觉技术领域的改进。
本说明书主题的一个或多个实施例的细节在附图和以下描述中阐述。从说明书,附图和权利要求书中,主题的其它特征,方面和优点将变得显而易见。
附图说明
图1是示例模板学习***的框图。
图2是用于使用新模板表示来扩充模板表示库的示例处理的流程图。
图3是用于根据环境的重建来确定感兴趣对象的估计位置的示例处理的流程图。
在各个附图中相同的附图标记和标号表示相同的元件。
具体实施方式
本说明书描述了一种用于构建模板表示库的***,代理(例如,机器人代理)可以使用所述模板表示库来与物理环境交互。更具体地,代理可以使用模板表示库来使用模板匹配技术推测感兴趣对象在环境中的位置,并且随后与这些感兴趣对象交互(例如,通过使用机械抓取设备来拾取它们)。
当当前模板表示库不足以推测感兴趣对象在环境中的位置时,***可以自动(即,几乎没有或没有人工干预)用表示感兴趣对象的新模板表示来扩充模板表示库。为了生成新的模板表示,***捕捉环境的多个图像,生成环境的重建(例如,三维(3D)重建),并且根据环境的重建来确定感兴趣对象的位置。在根据环境的重建来确定感兴趣对象的位置之后,***可以通过裁剪区域来确定新的模板表示,所述区域根据所捕捉的环境图像来描述感兴趣对象。
下面将更详细地描述这些特征和其它特征。
图1示出了示例模板学习***100。模板学习***100是在一个或多个位置中的一个或多个计算机上实施的计算机程序的***的示例,在该***中实施以下描述的***,组件和技术。
模板学习***100被配置为学习模板表示库102。模板表示库102是图像数据的集合,并且根据所使用的实施方式,图像数据可以是不同类型的。在一些实施方式中,模板表示库102是图像的集合,每个图像描述各自物理对象(例如,计算机硬件组件,机器部分或制造工具)。在一些实施方式中,模板表示库102是特征表示的集合,每个特征表示来源于描述各自物理对象的图像。来源于图像的特征表示可以包括,例如,指示感兴趣点和线段在图像中的位置的数据。在一些实施方式中,模板表示库102定义跨越描述各自物理对象的多个图像的共同特征的一个或多个模型。模板表示库102的组件(其可以是图像,特征表示等)在本说明书中被称为模板表示。也就是说,模板表示是指表征对象的外观(例如,形状,纹理,颜色,反射率等)的图像数据(例如,图像或来源于图像的特征表示)。
在一些情况下,模板表示库102中的每个模板表示表示相同类型的对象,而在其它情况下,模板表示库102中的不同模板表示表示不同类型的对象。每个模板表示可以表示相应的对象,同时排除对象的背景(例如,描述围绕相应对象的区域的背景)的表示。模板表示库102中的模板表示可以基于包括以下内容的因素而彼此不同:(i)捕捉用于生成模板表示的图像时的照明,(ii)捕捉用于生成模板表示的图像的相机的视图(例如,位置和角度),(iii)用于生成模板表示的图像的分辨率,(iv)用于生成模板表示的图像的色彩平衡,以及(v)在用于生成模板表示的图像中描述的对象等。
代理104可以使用模板表示库102来确定物理环境106中感兴趣的物理对象的位置。确定感兴趣对象在环境106中的位置可以允许代理与感兴趣对象进行物理交互。例如,环境106可以是仓库环境,并且代理104可以是通过拾取感兴趣对象并将它们移动到环境106中的不同位置而与环境交互的机器人代理。作为另一个例子,环境106可以是制造环境,并且代理104可以是通过将感兴趣的对象组装到装配线上的制造产品中而与环境相互作用的机器人代理。
为了确定感兴趣对象的位置,***100捕捉环境106的一个或多个图像108。***100可以通过重复改变捕捉图像108的照相机的视图来顺序地捕捉环境106的图像108。例如,***100可以通过以不同视图的预定序列(例如,以螺旋形状)移动捕捉图像108的照相机来顺序地捕捉环境106的图像108。
对于环境106的每个图像108,***使用模板匹配引擎110来处理图像108,以确定是否可以使用模板匹配技术基于模板表示库102推测感兴趣对象在图像108中的位置。也就是说,模板匹配引擎110使用模板匹配技术来确定模板表示库102中的任何模板表示是否"匹配"任何图像108的任何区域。更具体地,模板匹配引擎110确定来自模板表示库102的任何模板表示与图像108的任何区域之间的相似性度量(其可以被表示为数值)是否超过给定阈值。作为说明性示例,模板匹配引擎110可以确定示例模板表示图像112(其描述矩形对象)与图像116的区域114(其也描述矩形对象)相匹配。参考图2中将更详细地描述的,模板匹配引擎110可以使用任何适当的模板匹配技术,例如兴趣点模板匹配技术,互相关模板匹配技术,绝对差和模板匹配技术或其组合。
当模板匹配引擎110确定可以使用模板匹配技术基于模板表示库102推测感兴趣对象在图像108中的位置时,模板匹配引擎110输出定义感兴趣对象在图像108中的位置118的数据。使用模板匹配技术基于模板表示库102成功地推测对象的位置的优点在于,确定匹配模板的过程比通过重建环境来确定位置的过程更有效,这将在后面解释。在这种意义上,模板表示库102可以被理解为先前可能遇到的观察库,该观察库使得能够有效地确定对象的位置而不重建环境。例如,定义感兴趣对象在图像108中的位置118的数据可以包括感兴趣对象的中心的坐标,定义感兴趣对象的长轴和短轴的坐标,或两者皆有。代理104可以使用所确定的感兴趣对象的位置118来与感兴趣对象进行物理交互。例如,代理104可以使用机器人致动器(例如,机械抓握装置)来操纵感兴趣的对象(例如,通过拾取它)。
在一些情况下,***100可以确定当前模板表示库102不足以使用模板匹配技术推测感兴趣对象的位置118。也就是说,模板匹配引擎110可以确定模板表示库102中的模板表示都不匹配环境的任何所捕捉图像108的任何区域。当前模板表示库102可能是不足的,因为例如,感兴趣的对象包括那些不包括在由任何当前模板表示(即,当前包括在模板表示库102中的模板表示)表示的对象中的特征(例如,形状,颜色,端口,附件等)。作为另一个例子,当前模板表示库102可能是不足的,因为环境的图像108从与用于生成当前模板表示的图像的视图不同的视图来描述感兴趣的对象。
当***100确定当前模板表示库102不足以使用模板匹配技术推测感兴趣对象的位置118时,***100可以自动地用新的模板表示120扩充模板表示库102,同时几乎不需要人工干预,或者甚至不需要人工干预。新模板表示120增强了模板表示库102,因为它们以不同于当前模板表示的方式来表征感兴趣对象。例如,新模板表示120可以是从与当前模板表示不同的视图描述感兴趣对象的图像。作为另一个例子,由新模板表示120表示的感兴趣对象可以是没有由任何当前模板表示来表示的对象类型。在用新的模板表示120扩充模板表示库102之后,模板匹配引擎110可以使用扩充的模板表示库102来推测将来在环境106中其它感兴趣对象的位置。
为了确定新的模板表示120,***100将环境106的图像108提供给重建引擎122。重建引擎122被配置为处理图像108以生成表征环境106的几何形状的环境106的重建124。例如,环境106的重建124可以通过定义环境106中的表面上的各种位置的多个3D坐标(例如,具有分量的坐标)来表征环境106的三维(3D)结构。重建引擎122可以使用任何适当的重建技术(例如,立体重建技术)来生成环境106的重建124。
***100将环境106的重建124提供给定位引擎126,定位引擎126被配置为处理重建124以确定感兴趣对象在环境106中的估计位置128。例如,参考图3中将更详细地描述的,定位引擎126可以确定将环境106分割成多个不同的分割区域的分割,其中每个分割区域表示相应的对象或背景区域。在确定环境106的分割之后,定位引擎126使用例如关于感兴趣对象的预期形状和预期位置的先前知识来识别要成为感兴趣对象的分割区域中的一个。例如,感兴趣对象的预期形状可以近似为矩形,并且感兴趣对象的预期位置可以近似在环境的"中心"(例如,在环境的某一参考帧中)。在该示例中,定位引擎126可以将最接近地符合感兴趣对象的预期形状,感兴趣对象的预期位置或两者的分割区域识别为感兴趣对象。
在将环境106的分割区域识别为感兴趣对象之后,定位引擎可以使用分割区域来确定感兴趣对象的估计位置128(参考图3中将更详细地描述的)。由定位引擎126确定的感兴趣对象的估计位置128可以以任何适当的数字格式来表示,并且可以参考环境的任何预定参考帧来表示。例如,感兴趣对象的估计位置128可以由例如感兴趣对象的中心的坐标,定义感兴趣对象的长轴和短轴的坐标或两者来定义。
在根据环境的重建124来确定感兴趣对象的估计位置128之后,***100可以使用感兴趣对象的估计位置128来生成新的模板表示120。更具体地,***100可以通过确定环境的图像108的各个区域来生成新的模板表示120,所述区域根据估计的位置128来描述感兴趣的对象。***100可以在环境的图像108中裁剪描述感兴趣对象的这些相应的区域,并根据裁剪的图像区域来确定新的模板表示120。例如,***100可以确定新的模板表示120是裁剪的图像区域。作为另一个例子,***100可以确定新的模板表示120是来源于裁剪的图像区域的特征表示。
可选地,在生成新模板表示120之前,代理104可以尝试基于由定位引擎126根据环境106的重建124所确定的感兴趣对象的估计位置128,来与环境106进行物理交互。例如,代理104可以尝试基于感兴趣对象的估计位置128使用机器人致动器(例如,机械抓取设备)来操纵感兴趣对象(例如,通过拾取它)。***100可以评估所尝试的交互的成功(例如,通过确定代理是否成功地拾取感兴趣的对象),并且如果交互被确定为不成功,则可以禁止使用估计位置128来生成新的模板表示120。以这种方式,当***100不能根据环境106的重建124来准确地估计感兴趣对象的位置时,***100可以避免用错误的新模板表示来扩充模板表示库102。
通过用新的模板表示120重复地扩充模板表示库102,***100可以逐步地构造综合模板表示库102。在一些情况下,模板表示库102最初可以是空的,在这种情况下,最终包括在模板表示库102中的每个模板表示曾一度是由***100生成的新模板表示120。在其它情况下,模板表示库102可由一组多个默认模板表示(例如,手动获取的图像)来初始化。
图2是用于使用新模板表示来扩充模板表示库的示例处理的流程图。为方便起见,处理200将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的模板学习***(例如图1的模板学习***100)可以执行处理200。
***获得描述物理环境的一个或多个图像(202)。该环境可以是例如仓库环境或制造环境。物理环境包括感兴趣的物理对象(例如,计算机硬件组件,机器部件或制造工具)。图像可以以任何适当的格式表示,例如,作为灰度图像或彩色图像(例如,红-绿-蓝(RGB)图像)。***可以通过重复改变捕捉图像的照相机的视图来顺序地捕捉环境的图像。例如,***可以通过以不同视图的预定序列(例如,以螺旋形状)移动捕捉图像的照相机来顺序地捕捉环境的图像。
对于环境的每个图像,***使用模板匹配技术基于模板表示库来确定感兴趣对象在图像中的位置是否可以被推测(即,是否满足模板匹配条件)(204)。对于环境的给定图像,如果模板表示库中的任何模板表示与环境的图像的任何区域相匹配,则***可以基于模板表示库来推测感兴趣对象在图像中的位置。更具体地,如果任何模板表示和环境图像的任何区域之间的相似性度量超过给定阈值,则***可以基于模板表示库来确定感兴趣对象在环境图像中的位置。
该***可以使用任何适当的模板匹配技术,例如兴趣点模板匹配技术,互相关模板匹配技术,绝对差和模板匹配技术,或其组合。在特定示例中,模板表示可以是图像,并且***可以应用兴趣点模板匹配技术。在该示例中,***处理环境的模板表示和图像以确定每个图像中的相应兴趣点。兴趣点是指定义角落,斑点或任何其它独特图像特征的位置的坐标。如果对模板表示的兴趣点应用仿射变换使得它们与给定区域中的图像的至少一个阈值数量的兴趣点对准(近似地或精确地),则***可以确定模板表示与环境的图像的给定区域相匹配。
如果***基于模板表示库使用模板匹配技术可从环境图像中推测出感兴趣对象的位置,则***维护当前的模板表示库(206)。该***可以将感兴趣对象的位置提供给代理,该代理随后可以使用机器人致动器(例如,机械抓握装置)来操纵感兴趣对象(例如,通过拾取它)。***可以通过例如感兴趣对象的中心的坐标,定义感兴趣对象的长轴和短轴的坐标,或两者来表示感兴趣对象的位置。可选地,***不是响应于确定可以基于模板表示库从环境的图像推测感兴趣对象的位置来维护当前模板表示库,而是使用从所获得的环境图像确定的新模板表示来扩充模板表示库。以这种方式,即使当模板表示库足以推测感兴趣对象的位置时,***也可以增强模板表示库的稳健性。
如果***基于模板表示库使用模板匹配技术不能从环境的图像确定感兴趣对象的位置推测,则***生成表征环境的几何形状的环境的重建(208)。例如,环境的重建可以通过定义环境中表面上的各种位置的多个3D坐标(例如,分量的坐标)来表征环境的3D结构。***可以使用任何适当的重建技术生成环境的重建。在特定实例中,***可使用立体重建技术来产生环境的重建。立体重建技术可以处理从不同视点捕捉的环境的一对图像,并且"三角化"定义环境中表面上的各种位置的各自的坐标。
该***使用环境的重建来确定感兴趣对象的估计位置(210)。参考图3中将更详细地描述的,***可以通过确定将环境分割成多个不同的分割区域的分割,来确定感兴趣对象的位置。该***可以使用关于感兴趣对象在环境中的预期形状和预期位置的先前知识来将分割区域中的一个识别为感兴趣对象。在将分割区域识别为感兴趣对象之后,***可以从分割区域确定感兴趣对象的估计位置。
可选地,代理可以尝试基于感兴趣对象的估计位置(例如,如在210中确定的)与环境进行物理交互(212)。例如,代理可以尝试基于感兴趣对象的估计位置使用机器人致动器(例如,机械抓握装置)来操纵感兴趣对象(例如,通过拾取它)。
***可以通过确定是否满***互成功条件来评估尝试交互的成功(214)。例如,如果代理成功地拾取感兴趣的对象(例如,使用机械抓取设备),则***可以确定满***互成功条件。响应于确定满***互成功条件,***推测对象的估计位置(例如,如在210中确定的)准确地定位对象,并且此后使用感兴趣对象的估计位置来生成表示感兴趣对象的新模板表示(216)。
为了使用感兴趣对象的估计位置来生成表示感兴趣对象的新模板表示,***可以确定环境图像的区域,该区域根据感兴趣对象的估计位置来描述感兴趣对象。在使用感兴趣对象的估计位置来确定描述感兴趣对象的环境图像的区域之后,***可以通过从环境图像裁剪所确定的区域来生成新的模板表示。此后,***可以从裁剪的图像区域生成新的模板表示。例如,***可以通过将新模板表示确定为裁剪图像区域来生成新模板表示。作为另一个例子,***可以通过来源于裁剪图像区域的特征表示(例如,包括定义裁剪图像区域中的感兴趣点和线段的数据)来生成新的模板表示。在生成新模板表示之后,***可以用新模板表示来扩充模板表示库(218)。
响应于确定不满***互成功条件(例如,因为代理未能拾取感兴趣对象),***确定感兴趣对象的估计位置(例如,如在210中确定的)可能不准确。***可以返回到步骤202并重复前面的步骤,以获得感兴趣对象的位置的不同(并且理想地,更准确)的估计。
图3是用于根据环境的重建来确定感兴趣对象的估计位置的示例处理的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的模板学习***,例如图1的模板学习***100,可以执行处理300。
***使用环境的重建(例如,如在208中确定的)来确定将环境分割成多个不同区域的分割(302)。每个分割区域可以表示环境的相应对象或背景区域。例如,如果环境是包括装配线传送带的制造环境,则分割区域可对应于传送带的部分和位于传送带上的各种对象。***可以使用任何适当的分割技术来确定环境的分割。例如,***可以对表示环境重建的图像应用分水岭变换。对图像应用分水岭变换产生将图像分割成由边缘分开的不同区域(即,高图像强度梯度幅度的区域)的分割。
***将环境的分割区域识别为感兴趣对象(304)。为了将分割区域识别为感兴趣对象,***可以依赖于关于感兴趣对象在环境中的预期形状和预期位置的先前知识。例如,感兴趣对象的预期形状可以近似为矩形,并且感兴趣对象的预期位置可以近似在环境的"中心"(例如,基于环境的某一参考帧)。在该示例中,***可以将最接近地确认感兴趣对象的预期形状,感兴趣对象的预期位置或两者的分割区域识别为感兴趣对象。
该***基于被识别为感兴趣对象的环境的分割区域来确定感兴趣对象的估计位置(306)。例如,如果感兴趣对象的估计位置由感兴趣对象的中心的坐标定义,则***可以通过计算被识别为感兴趣对象的分割区域的质心来确定感兴趣对象的估计位置。作为另一个例子,如果感兴趣对象的估计位置另外由定义感兴趣对象的长轴和短轴的坐标定义,则***可以通过计算被识别为感兴趣对象的分割区域的长轴和短轴来确定感兴趣对象的估计位置。
本说明书结合***和计算机程序组件使用术语"配置"。对于要被配置成执行特定操作或动作的一个或多个计算机的***,意味着***已经安装在其上的软件,固件,硬件或它们的组合在操作中使***执行操作或动作。对于要被配置成执行特定操作或动作的一个或多个计算机程序,意味着所述一个或多个程序包括指令,所述指令在由数据处理设备执行时使所述设备执行所述操作或动作。
在本说明书中描述的主题和功能操作的实施例可以在数字电子电路中,在有形地实现的计算机软件或固件中,在计算机硬件中实现,包括在本说明书中公开的结构及其结构等价物,或者在它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形的非暂时性存储介质上编码的计算机程序指令的一个或多个模块,用于由数据处理设备执行或控制数据处理设备的操作。计算机存储介质可以是机器可读存储设备,机器可读存储衬底,随机或串行存取存储器设备,或它们中的一个或多个的组合。可替换地或另外地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电,光或电磁信号,该信号被生成来编码信息以便发送到适当的接收机设备以便由数据处理设备执行。
术语"数据处理装置"是指数据处理硬件,并且包括用于处理数据的所有类型的装置,设备和机器,包括例如可编程处理器,计算机,或多处理器或计算机。该装置还可以是或进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以可选地包括为计算机程序创建执行环境的代码,例如构成处理器固件,协议栈,数据库管理***,操作***或它们中的一个或多个的组合的代码。
计算机程序,其也可以被称为或描述为程序,软件,软件应用程序,app,模块,软件模块,脚本或代码,可以用任何形式的编程语言来编写,包括编译或解释语言,或声明性或过程性语言;并且它可以以任何形式部署,包括作为独立程序或作为模块,组件,子例程或其他适合在计算环境中使用的单元。程序可以但不必须对应于文件***中的文件。程序可以存储在保存其它程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本,存储在专用于所述程序的单个文件中,或者存储在多个协调文件中,例如,存储一个或多个模块,子程序或代码部分的文件中。计算机程序可被部署为在一个计算机上或在位于一个站点或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语"引擎"广泛地用于指被编程以执行一个或多个特定功能的基于软件的***,子***或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定的引擎;在其它情况下,可以在同一台或多台计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机来执行,所述可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。所述过程和逻辑流程也可由专用逻辑电路(例如,FPGA或ASIC)或由专用逻辑电路与一个或一个以上经编程计算机的组合来执行。
适于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其它类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。通常,计算机还将包括或被可操作地耦合以从一个或多个大容量存储设备接收数据或向一个或多个大容量存储设备传送数据,所述大容量存储设备用于存储数据,例如磁盘,磁光盘或光盘。然而,计算机不必具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话,个人数字助理(PDA),移动音频或视频播放器,游戏控制台,全球定位***(GPS)接收器,或便携式存储设备,例如通用串行总线(USB)闪存驱动器,仅举几个例子。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器,介质和存储器设备,包括例如半导体存储器设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;CD-ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,以及键盘和定点设备,例如鼠标或轨迹球,用户可以通过该定点设备向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈,听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音,语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求向用户设备上的web浏览器发送网页。此外,计算机可以通过将文本消息或其它形式的消息发送到运行消息传送应用程序的个人设备(例如,智能电话),并接收来自用户的回应消息来与用户交互。
用于实现机器学习模型的数据处理设备还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集型部分,即,推理,工作负荷。
机器学习模型可以使用机器学习框架来实现和部署,例如,TensorFlow框架,MicrosoftCognitiveToolkit框架,ApacheSinga框架或ApacheMXNet框架。
本说明书中所描述的主题的实施例可以在计算***中实现,该计算***包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户界面,web浏览器或应用程序的客户端计算机,用户可以通过该客户端计算机与本说明书中所描述的主题的实现进行交互。或一个或多个这样的后端,中间件或前端组件的任何组合。***的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算***可以包括客户机和服务器。客户机和服务器通常彼此远离,并且通常通过通信网络进行交互。客户机和服务器之间的关系是通过在各个计算机上运行并且彼此具有客户机-服务器关系的计算机程序而产生的。在一些实施例中,服务器将数据(例如,HTML页面)传输到用户设备,例如,用于向用户显示数据和从用户接收用户输入,所述用户与充当客户端的设备交互。在用户设备处生成的数据(例如,用户交互的结果)可以在服务器处从设备接收。
虽然本说明书包含许多具体的实现细节,但这些不应被解释为对任何发明的范围或所要求保护的范围的限制,而应被解释为对特定发明的特定实施例可能特定的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。此外,尽管上面可以将特征描述为在某些组合中起作用,并且甚至最初如此要求保护,但是在一些情况下,可以从组合中切下要求保护的组合的一个或多个特征,并且要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中描述了操作并以特定顺序在权利要求中叙述,但这不应被理解为要求以所示的特定顺序或以顺序的顺序执行这些操作,或者要求执行所有示出的操作,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种***模块和组件的分离不应被理解为需要所有实施例中的这种分离,并且应当理解,所描述的程序组件和***通常可以被集成到单个软件产品中或者被封装到多个软件产品中。
已经描述了本主题的特定实施例。其它实施例在所附权利要求的范围内。例如,权利要求中所述的动作可以以不同的顺序执行,并且仍然获得期望的结果。作为一个实例,附图中所示的过程不一定需要所示的特定顺序或顺序,以获得所需的结果。在一些情况下,多任务和并行处理可能是有利的。

Claims (12)

1.一种由数据处理装置实施的方法,其特征在于,所述方法包括:
获取描述物理环境的第一图像,其中,所述环境包括给定的物理对象;
确定是否可以基于模板表示库使用模板匹配技术来推测给定的所述对象在所述环境中的位置,其中,所述模板表示库包括各自对象的多个模板表示;
响应于确定不可以基于所述模板表示库使用所述模板匹配技术来推测给定的所述对象在所述环境中的所述位置:
从所述环境的多个图像生成所述环境的重建,其中,所述环境的所述重建表征所述环境的几何形状;
使用所述环境的所述重建来确定给定的所述对象的估计位置;
使用给定的所述对象的所述估计位置来生成给定的所述对象的新模板表示;和
用所述新模板表示来扩展所述模板表示库。
2.根据权利要求1所述的方法,其特征在于,确定是否可以基于所述模板表示库使用模板匹配技术来推测给定的所述对象在所述环境中的位置包括,对于来自所述模板表示库的多个模板表示中的每一个模板表示:
确定所述模板表示与所述第一图像的区域之间的相似性度量是否超过阈值。
3.根据前述权利要求中任一项所述的方法,其特征在于,从所述环境的多个图像生成所述环境的重建包括:
对所述环境的所述多个图像应用立体重建技术。
4.根据前述权利要求中任一项所述的方法,其特征在于,所述环境的所述重建包括限定所述环境的三维重建的多个坐标。
5.根据前述权利要求中任一项所述的方法,其特征在于,使用所述环境的所述重建来确定给定的所述对象的所述估计位置包括:
基于所述环境的所述重建,确定将所述环境分割成多个分割区域的分割;
将分割区域识别为给定的所述对象;和
基于被识别为给定的所述对象的所述分割区域,确定给定的所述对象的所述估计位置。
6.根据权利要求5所述的方法,其特征在于,基于所述环境的所述重建,确定将所述环境分割成多个区域的分割包括:
确定表示所述环境的所述重建的图像的分水岭变换。
7.根据前述权利要求中任一项所述的方法,其特征在于,使用给定的所述对象的所述估计位置来产生给定的所述对象的新模板表示包括:
裁剪由给定的所述对象的所述估计位置定义的所述环境的图像的区域。
8.根据前述权利要求中任一项所述的方法,其特征在于,还包括:
基于使用所述环境的所述重建确定的给定的所述对象的所述估计位置,与所述环境进行物理交互;
确定所述交互是否满***互成功条件;和
如果所述交互不满足所述交互成功条件,则禁止使用给定的所述对象的所述估计位置来生成给定的所述对象的所述新模板表示。
9.根据权利要求8所述的方法,其特征在于,基于使用所述环境的所述重建确定的给定的所述对象的所述估计位置,与所述环境进行物理交互包括:
基于使用所述环境的所述重建确定的给定的所述对象的所述估计位置,尝试使用机器人致动器来操纵给定的所述对象。
10.根据前述权利要求中任一项所述的方法,其特征在于,每个模板表示包括各自对象的图像。
11.一种***,包括一个或多个计算机以及存储指令的一个或多个存储设备,其特征在于,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-10中任一项所述的相应方法的操作。
12.一个或多个存储指令的计算机存储介质,其特征在于,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-10中任一项所述的相应方法的操作。
CN201980021378.0A 2018-07-30 2019-07-19 学习模板表示库 Pending CN112449701A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/049,410 2018-07-30
US16/049,410 US11189050B2 (en) 2018-07-30 2018-07-30 Learning template representation libraries
PCT/US2019/042526 WO2020028068A1 (en) 2018-07-30 2019-07-19 Learning template representation libraries

Publications (1)

Publication Number Publication Date
CN112449701A true CN112449701A (zh) 2021-03-05

Family

ID=67660795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980021378.0A Pending CN112449701A (zh) 2018-07-30 2019-07-19 学习模板表示库

Country Status (4)

Country Link
US (2) US11189050B2 (zh)
EP (1) EP3646243A1 (zh)
CN (1) CN112449701A (zh)
WO (1) WO2020028068A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210233246A1 (en) * 2020-01-28 2021-07-29 Embodied Intelligence Inc. Confidence-based segmentation of multiple units

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030154204A1 (en) * 2002-01-14 2003-08-14 Kathy Chen-Wright System and method for a hierarchical database management system for educational training and competency testing simulations
EP1772828A1 (en) * 2005-01-11 2007-04-11 NEC Corporation Template matching method and device, and recording medium where program therefor is recorded
US20090028440A1 (en) * 2007-07-27 2009-01-29 Sportvision, Inc. Detecting an object in an image using multiple templates
US20120039503A1 (en) * 2010-08-12 2012-02-16 Honeywell International Inc. System and method for constructing a three dimensional operational graphic from a two dimensional building control subsystem drawing
CN102411703A (zh) * 2010-09-21 2012-04-11 索尼公司 检测图像序列中的特定对象的装置、方法和视频摄像设备
US20120281873A1 (en) * 2011-05-05 2012-11-08 International Business Machines Corporation Incorporating video meta-data in 3d models
CN102917126A (zh) * 2012-10-11 2013-02-06 中兴通讯股份有限公司 一种照片处理方法和***
CN103503000A (zh) * 2011-02-18 2014-01-08 谷歌公司 面部识别
US20140118536A1 (en) * 2012-11-01 2014-05-01 Novatel Inc. Visual positioning system
CN103959330A (zh) * 2011-07-13 2014-07-30 谷歌公司 用于匹配可视对象组件的***和方法
US9102055B1 (en) * 2013-03-15 2015-08-11 Industrial Perception, Inc. Detection and reconstruction of an environment to facilitate robotic interaction with the environment
US20160110625A1 (en) * 2014-10-21 2016-04-21 University Of Louisiana At Lafayette Method for near-realtime workspace mapping
US9349076B1 (en) * 2013-12-20 2016-05-24 Amazon Technologies, Inc. Template-based target object detection in an image
US9424470B1 (en) * 2014-08-22 2016-08-23 Google Inc. Systems and methods for scale invariant 3D object detection leveraging processor architecture
US20160371838A1 (en) * 2015-06-16 2016-12-22 Siemens Healthcare Gmbh Method for creating a production model for a patient-specific medical object
US9536191B1 (en) * 2015-11-25 2017-01-03 Osaro, Inc. Reinforcement learning using confidence scores
US20170007765A1 (en) * 2014-02-18 2017-01-12 Owen Mumford Limited Injection Device
EP3258441A1 (en) * 2015-04-28 2017-12-20 Omron Corporation Template creation device and template creation method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9941752B2 (en) * 2015-09-16 2018-04-10 Energous Corporation Systems and methods of object detection in wireless power charging systems
US10282861B2 (en) * 2016-12-12 2019-05-07 Here Global B.V. Pose error estimation and localization using static features
US10417816B2 (en) * 2017-06-16 2019-09-17 Nauto, Inc. System and method for digital environment reconstruction
US10754343B2 (en) * 2018-02-15 2020-08-25 X Development Llc Semantic mapping of environments for autonomous devices

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030154204A1 (en) * 2002-01-14 2003-08-14 Kathy Chen-Wright System and method for a hierarchical database management system for educational training and competency testing simulations
EP1772828A1 (en) * 2005-01-11 2007-04-11 NEC Corporation Template matching method and device, and recording medium where program therefor is recorded
US20090028440A1 (en) * 2007-07-27 2009-01-29 Sportvision, Inc. Detecting an object in an image using multiple templates
US20120039503A1 (en) * 2010-08-12 2012-02-16 Honeywell International Inc. System and method for constructing a three dimensional operational graphic from a two dimensional building control subsystem drawing
CN102411703A (zh) * 2010-09-21 2012-04-11 索尼公司 检测图像序列中的特定对象的装置、方法和视频摄像设备
CN103503000A (zh) * 2011-02-18 2014-01-08 谷歌公司 面部识别
US20120281873A1 (en) * 2011-05-05 2012-11-08 International Business Machines Corporation Incorporating video meta-data in 3d models
CN103959330A (zh) * 2011-07-13 2014-07-30 谷歌公司 用于匹配可视对象组件的***和方法
CN102917126A (zh) * 2012-10-11 2013-02-06 中兴通讯股份有限公司 一种照片处理方法和***
US20140118536A1 (en) * 2012-11-01 2014-05-01 Novatel Inc. Visual positioning system
US9102055B1 (en) * 2013-03-15 2015-08-11 Industrial Perception, Inc. Detection and reconstruction of an environment to facilitate robotic interaction with the environment
US9349076B1 (en) * 2013-12-20 2016-05-24 Amazon Technologies, Inc. Template-based target object detection in an image
US20170007765A1 (en) * 2014-02-18 2017-01-12 Owen Mumford Limited Injection Device
US9424470B1 (en) * 2014-08-22 2016-08-23 Google Inc. Systems and methods for scale invariant 3D object detection leveraging processor architecture
US20160110625A1 (en) * 2014-10-21 2016-04-21 University Of Louisiana At Lafayette Method for near-realtime workspace mapping
EP3258441A1 (en) * 2015-04-28 2017-12-20 Omron Corporation Template creation device and template creation method
US20160371838A1 (en) * 2015-06-16 2016-12-22 Siemens Healthcare Gmbh Method for creating a production model for a patient-specific medical object
US9536191B1 (en) * 2015-11-25 2017-01-03 Osaro, Inc. Reinforcement learning using confidence scores

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANQI HUANG等: "Digital image correlation using ring template for 3D reconstruction", IEEE XPLORE, 18 January 2018 (2018-01-18), pages 1 - 10 *
IEEE XPLORE: "Discriminatively trained templates for 3D object Detection: A real time Scalable approach", IEEE XPLORE, pages 2048 - 2055 *
林卓;吴健;万豪;肖泉;马冲;: "分布式仿真环境下虚拟试验对象建模技术研究及应用", 计算机测量与控制, no. 11, pages 150 - 152 *
胡睿: "基于模板的图像内容检索新算法", 图像与多媒体技术, pages 116 - 120 *

Also Published As

Publication number Publication date
US11189050B2 (en) 2021-11-30
US20200034984A1 (en) 2020-01-30
US20220051436A1 (en) 2022-02-17
US11551379B2 (en) 2023-01-10
EP3646243A1 (en) 2020-05-06
WO2020028068A1 (en) 2020-02-06

Similar Documents

Publication Publication Date Title
CN111325796B (zh) 用于确定视觉设备的位姿的方法和装置
CN110637305B (zh) 通过渲染许多3d视图来学习重构3d形状
CN107742311B (zh) 一种视觉定位的方法及装置
CN110168560B (zh) 用于场景理解和生成的方法、***和介质
CN113420719B (zh) 生成动作捕捉数据的方法、装置、电子设备以及存储介质
CN107251096B (zh) 图像捕获装置和方法
CN109410316B (zh) 物体的三维重建的方法、跟踪方法、相关装置及存储介质
JP6850399B2 (ja) 単眼画像の深度回復方法及び装置、コンピュータ機器
KR102455468B1 (ko) 객체의 3차원 모델을 복원하는 방법 및 장치
CN113015978B (zh) 处理图像以定位新颖对象
CN113674421B (zh) 3d目标检测方法、模型训练方法、相关装置及电子设备
US11170581B1 (en) Supervised domain adaptation
JP2020524355A5 (zh)
CN114663686A (zh) 物体特征点匹配方法及装置、训练方法及装置
CN115330946A (zh) 元宇宙构建方法、装置、存储介质及电子设备
CN116092178A (zh) 一种面向移动端的手势识别和跟踪方法及***
US11551379B2 (en) Learning template representation libraries
KR20230049969A (ko) 글로벌 측위 장치 및 방법
JP6955081B2 (ja) オブジェクト姿勢を決定するための電子デバイス、システムおよび方法
CN111531546A (zh) 一种机器人位姿估计方法、装置、设备及存储介质
CN112307799A (zh) 姿态识别方法、装置、***、存储介质及设备
US11417063B2 (en) Determining a three-dimensional representation of a scene
CN114399800A (zh) 人脸姿态估计方法及装置
CN113537359A (zh) 训练数据的生成方法及装置、计算机可读介质和电子设备
CN111583331A (zh) 用于同时定位和地图构建的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination