CN110363061A - 计算机可读介质、训练对象检测算法的方法及显示装置 - Google Patents

计算机可读介质、训练对象检测算法的方法及显示装置 Download PDF

Info

Publication number
CN110363061A
CN110363061A CN201910275679.8A CN201910275679A CN110363061A CN 110363061 A CN110363061 A CN 110363061A CN 201910275679 A CN201910275679 A CN 201910275679A CN 110363061 A CN110363061 A CN 110363061A
Authority
CN
China
Prior art keywords
view
sampling
similarity score
views
adjacent
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
CN201910275679.8A
Other languages
English (en)
Other versions
CN110363061B (zh
Inventor
D·慕克吉
李佳
M·布鲁塞尼
I·凯泽勒
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.)
Seiko Corp
Original Assignee
Seiko Corp
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 Seiko Corp filed Critical Seiko Corp
Publication of CN110363061A publication Critical patent/CN110363061A/zh
Application granted granted Critical
Publication of CN110363061B publication Critical patent/CN110363061B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • 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/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19147Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2504Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

计算机可读介质、训练对象检测算法的方法及显示装置。提供了一种头戴式显示器、一种方法和一种非暂时性计算机可读介质。用于获得对象的训练样本视图的方法的实施方式包括在存储器中存储对象的多个视图的步骤。所述方法还包括导出相邻视图之间的相似性得分的步骤,然后基于所述相似性得分来改变采样密度。

Description

计算机可读介质、训练对象检测算法的方法及显示装置
技术领域
本公开总体上涉及训练对象检测算法的领域,并且更具体地涉及用于使用合成二维(2D)图像来训练对象检测算法的方法和***。
背景技术
增强现实(AR)随着计算机技术的进步已变得日益常见。AR的一般定义是捕获真实世界场景并且使用软件来添加人造(虚拟)元素。这可增强用户对真实世界的感知或者向用户提供娱乐。
对象跟踪被用在许多AR实现中。在对象跟踪中,真实世界对象被人造对象(诸如计算机图形增强或信息泡(如由用户所感知的))“跟随”。换句话说,如果真实世界对象移动或者用户的视图相对于真实世界对象移动,则人造对象将相对于真实世界对象保持在相同位置并且/或者将基于真实世界对象的移动和/或新位置来确定人造对象的内容。位置跟踪也被用于许多AR实现中。在位置跟踪中,不管用户的移动如何,虚拟对象都将停留在场景中的一个位置。
用于实现AR的一个平台是智能电话。在相同装置上存在摄像头、显示装置和处理器允许软件容易地将人造元素添加到由摄像头捕获的实况场景。此外,这些装置上的运动传感器和***(例如加速度计和GPS)的存在由软件利用来更好地实现AR。
尽管智能电话提供了用于实现AR的简单且方便的平台,然而它们不为用户提供非常身临其境的体验。这是因为用户的眼睛在空间上与智能电话分离,并且不是用他们自己的眼睛感知环境,他们正在观看如由摄像头捕获的场景。
发明内容
为了改进AR体验,透明头戴式显示器(HMD)可实现AR。这些***通常是具有放置在眼睛前方的棱镜的眼镜。用户通过眼镜直接地观看场景。棱镜允许人造图像被叠加在如由用户所感知的场景上。同时,HMD使用摄像头来从场景收集数据。
3D姿态估计是具有许多应用(包括AR、VR和机器人的领域)的重要技术。
***通常利用初始化方法来首先开始跟踪并且在跟踪丢失的情况下重新开始跟踪。这可能要求在没有先前历史的情况下根据图像估计对象的姿态,一种有时被称为对象检测和姿态估计(ODPE)的技术。
对象检测算法通常被训练来使用用将被用于AR***的摄像头所捕获的对象的图像来识别特定对象。在至少一些已知的***中,训练过程的初始阶段是费时的并且被人工执行。在这种人工训练中,训练者定位对象,使用AR***的摄像头来从许多不同的视角捕获对象的许多图像,并且将图像上传到训练计算机。使用训练计算机,训练者将对象的三维(3D)模型与每个捕获的图像中的对象的图像对齐。
本公开的一些方面的优点是为了解决上述问题中的至少一部分,并且本公开的方面可作为以下方面被实现。
本公开的一个方面是一种非暂时性计算机可读介质,所述非暂时性计算机可读介质当由一个或多个处理器执行时,执行一种方法,所述方法包括在存储器中接收(i)参考对象或(ii)3D模型的特征数据集的步骤。每个特征数据集是从根据所述参考对象或所述3D模型周围的视图范围内的主视图集捕获或生成的图像获得的。所述方法还包括以下步骤:使用所述特征数据集来导出所述主视图集中的每对相邻视图之间的相似性得分并且在所述相似性得分等于或小于阈值的情况下对所述相邻主视图之间的辅视图集进行采样,使得采样密度在整个所述视图范围内变化。所述方法还包括:生成与所述主视图集和所述辅视图集相对应的训练数据。所述方法还可以包括:以相对于方位角和/或仰角彼此相等的角度,以粗采样分辨率对所述视图进行采样;以及将采样的视图存储在所述存储器中。相似性得分可以基于所述参考对象或3D模型的相邻视图的外观和/或形状。
本公开的另一方面是一种方法,所述方法包括以下步骤:在存储器中存储对象的多个视图,导出相邻视图之间的相似性得分,以及基于所述相似性得分改变采样密度。
本公开的另一个方面是一种头戴式显示装置。所述头戴式显示装置包括存储器,所述存储器被配置为存储用于检测对象的训练数据。所述训练数据是从所述对象的多个视图导出的。所述头戴式显示装置还包括:处理装置,所述处理装置被配置为利用所述训练数据来检测对象;以及显示组件,所述显示组件被配置为在所述用户的对象的视图上方显示所检测到的对象的CAD图像。在对象检测之前,使用基于相邻视图的相似性得分的变化的采样密度来获得所述多个视图。
附图说明
将参考附图描述本公开,其中,同样的附图标记引用同样的元件。
图1是例示了头戴式显示器(HMD)的实施方式的示意配置的图。
图2是例示了图1中所示的HMD的功能配置的实施方式的框图。
图3是例示了用于执行本公开的方法的计算机的功能配置的实施方式的框图。
图4是例示了根据本公开的方法的实施方式的流程图。
图5是例示了用于与本公开的示例性方法一起使用的图形用户界面(GUI)的输入窗口的实施方式的图。
图6是例示了与图5中所示的GUI输入窗口相关联的预览窗口的实施方式的图。
图7A、图7B和图7C例示了例示出根据本公开的用于自适应采样的方法的实施方式的流程图。
图8A、图8B、图8C和图8D是例示了根据图7的方法的采样位置的示例的图。
图9A、图9B和图9C是例示了使用图7的采样方法所获得的样本的示例的图。
图10是例示了对象周围的各种视图的图。
具体实施方式
本公开总体上涉及训练对象检测算法,并且更具体地涉及用于使用合成二维(2D)图像来训练对象检测算法的方法和***。
在一些实施方式中,训练后的对象检测算法由对象检测装置(诸如AR装置)使用。一些示例***包括AR装置和/或与AR装置接口连接。在又一些实施方式中,本文描述的用于训练对象检测算法的方法由AR装置本身执行。
AR装置可以是例如头戴式显示器(HMD)。将参考图1和图2描述适于与本文描述的方法和***一起使用的示例HMD。
图1是HMD 100的示意配置。HMD 100是头戴式显示装置(头戴式显示器)。HMD 100是光学透射型。也就是说,HMD 100可使用户感测虚拟图像,并且同时,使用户直接地在视觉上识别外部场景。
HMD 100包括可穿戴在用户的头部上的穿戴带90、显示图像的显示部20以及控制显示部20的控制部10。显示部20使用户在显示部20被穿戴在用户的头部上的状态下感测虚拟图像。使用户感测虚拟图像的显示部20也被称为“显示AR”。由用户感测到的虚拟图像也被称为AR图像。
穿戴带90包括由树脂制成的穿戴基部91、由联接到穿戴基部91的布料制成的带92、摄像头60和IMU(惯性测量单元)71。穿戴基部91具有沿着人的前额的额区的形状而弯曲的形状。带92围绕用户的头部佩戴。
摄像头60用作成像部。摄像头60能够对外部场景进行成像并且设置在穿戴基部91的中心部分中。换句话说,摄像头60在穿戴带90被戴在用户的头部上的状态下被设置在与用户的前额的中心相对应的位置。因此,摄像头60对外部场景进行成像,该外部场景是沿用户的视线方向在外部的真实场景,并且获取捕获的图像,该捕获的图像是在用户将穿戴带90戴在头部上的状态下由摄像头60捕获的图像。
摄像头60包括相对于穿戴基部91旋转的摄像头基部61以及其相对位置相对于摄像头基部61固定的透镜部62。摄像头基部61被设置为能够在穿戴带90被戴在用户的头部上时沿着箭头CS1旋转,箭头CS1表示包括在包括用户的中心轴线的平面中的轴线的预定范围。因此,可在箭头CS1的范围内改变作为摄像头60的光轴的透镜部62的光轴的方向。透镜部62对根据以光轴为中心的变焦而改变的范围进行成像。
IMU 71是检测加速度的惯性传感器。IMU 71除了检测加速度之外还可检测角速度和地磁。IMU 71被结合在穿戴基部91中。因此,IMU 71检测穿戴带90和摄像头基部61的加速度、角速度和地磁。
IMU 71与穿戴基部91的相对位置是固定的。因此,摄像头60可相对于IMU 71移动。此外,显示部20与穿戴基部91的相对位置是固定的。因此,摄像头60与显示部20的相对位置是可动的。在一些其它实施方式中,摄像头60和IMU 71可以被设置在显示部20中,使得它们相对于显示部20固定。通过已经通过校准获得的摄像头60、IMU 70和显示部20(包括右光学图像显示部26/左光学图像显示部28)之间的旋转和平移矩阵所表示的空间关系被存储在控制部10中的存储器区域或装置中。
显示部20联接到穿戴带90的穿戴基部91。显示部20是眼镜类型的。显示部20包括右保持部21、右显示驱动部22、左保持部23、左显示驱动部24、右光学图像显示部26和左光学图像显示部28。
当用户穿戴显示部20时,右光学图像显示部26和左光学图像显示部28位于用户的右眼和左眼前面。当用户穿戴显示部20时,右光学图像显示部26的一个端部和左光学图像显示部28的一个端部在与用户的前额的中间相对应的位置彼此连接。
右保持部21具有在从作为右光学图像显示部26的另一端部的端部ER沿大致水平方向延伸并且在中途斜向上倾斜的形状。右保持部21在穿戴基部91的右侧连接端部ER和联接部93。
类似地,左保持部23具有从作为左光学图像显示部28的另一端部的端部EL沿大致水平方向上延伸并且在中途斜向上倾斜的形状。左保持部23在穿戴基部91左侧连接端部EL和联接部(图中未示出)。
右保持部21和左保持部23通过左联接部93和右联接部93联接到穿戴基部91以将右光学图像显示部26和左光学图像显示部28定位在用户的眼睛前面。注意的是,联接部93联接右保持部21和左保持部23以能够旋转并能够被固定在任何旋转位置。结果,显示部20被设置为能够相对于穿戴基部91旋转。
右保持部21是被设置为当用户穿戴显示部20时从作为右光学图像显示部26的另一端部的端部ER延伸到与用户的颞区相对应的位置的构件。
类似地,左保持部23是被设置为当用户穿戴显示部20时从作为左光学图像显示部28的另一端部的端部EL延伸到与用户的颞区相对应的位置的构件。当用户穿戴显示部20时,右显示驱动部22和左显示驱动部24被设置在与用户的头部相对的一侧。
显示驱动部22和24包括在下面说明的液晶显示器241和242(在下文中也称为“LCD241和242”)以及投射光学***251和252。在下面详细地说明显示驱动部22和24的配置。
光学图像显示部26和28包括在下面说明的导光板261和262以及调光板。导光板261和262由透光树脂材料等形成并且将从显示驱动部22和24输出的图像光引导到用户的眼睛。
调光板是薄板状光学元件并且被设置为覆盖显示部20在用户的眼睛侧的相反侧的前侧。通过调整调光板的光透射率,能够调整进入用户的眼睛的外部光量并且调整虚拟图像的可见性。
显示部20还包括用于将显示部20连接到控制部10的连接部40。连接部40包括连接到控制部10的主体线缆48、右线缆42、左线缆44和联接构件46。
右线缆42和左线缆44是从主体线缆48分支的两条线缆。显示部20和控制部10经由连接部40执行各种信号的传输。作为右线缆42、左线缆44和主体线缆48,例如,可采用例如金属电缆或光纤。
控制部10是用于控制HMD 100的装置。控制部10包括操作部135,该操作部135包括静电触控板和可被按压的多个按钮。操作部135被设置在控制部10的表面上。
图2是在功能性上示出了HMD 100的配置的框图。如图2所示,控制部10包括ROM121、RAM 122、电源130、操作部135、CPU 140(在本文中有时也称为处理器140)、接口180以及发送部51(Tx 51)和发送部52(Tx 52)。
电源130向HMD 100的各部分供应电力。各种计算机程序被存储在ROM 121中。CPU140在RAM 122中开发或者加载存储在ROM 121中的计算机程序以执行这些计算机程序。计算机程序包括用于实现在下面说明的跟踪处理和AR显示处理的计算机程序。
CPU 140在RAM 122中开发存储在ROM 121中的计算机程序以用作操作***150(OS150)、显示控制部190、声音处理部170、图像处理部160和处理部167。
显示控制部190生成用于控制右显示驱动部22和左显示驱动部24的控制信号。显示控制部190分别通过右显示驱动部22和左显示驱动部24来控制图像光的生成和发射。
显示控制部190分别经由发送部51和52向右LCD控制部211和左LCD控制部212发送控制信号。显示控制部190分别向右背光控制部201和左背光控制部202发送控制信号。
图像处理部160获取包括在内容中的图像信号并且经由发送部51和52将所获取的图像信号发送到显示部20的接收部53和54。声音处理部170获取包括在内容中的声音信号,放大所获取的声音信号,并且将该声音信号供应给右耳机32中的扬声器(图中未示出)和连接到联接构件46的左耳机34中的扬声器(图中未示出)
处理部167与时间相关联地从摄像头60获取捕获的图像。此实施方式中的时间可以基于标准时间或者可以不基于标准时间。处理部167根据例如变换矩阵来计算对象(真实对象)的姿态。对象的姿态意指摄像头60与对象之间的空间关系(旋转和平移关系)。处理部167使用计算出的空间关系和由IMU 71检测到的加速度等的检测值来计算用于将固定到摄像头60的坐标系转换为固定到IMU 71的坐标系的变换矩阵。处理部167的功能被用于在下面说明的跟踪处理和AR显示处理。
接口180是用于将作为内容的供应源的各种外部装置OA连接到控制部10的输入/输出接口。外部装置OA的示例包括在其中存储有AR场景的存储装置、个人计算机(Pc)、蜂窝电话终端和游戏终端。作为接口180,例如,可使用USB接口、微USB接口和用于存储卡的接口。
显示部20包括右显示驱动部22、左显示驱动部24、用作右光学图像显示部26的右导光板261以及用作左光学图像显示部28的左导光板262。右导光板261和左导光板262是透射来自真实场景的光的光学透视元件。
右显示驱动部22包括接收部53(Rx53)、右背光控制部201和右背光221、右LCD控制部211和右LCD 241以及右投射光学***251。右背光控制部201和右背光221用作光源。
右LCD控制部211和右LCD 241用作显示元件。上述的显示元件和光学透视元件允许用户在视觉上将由显示元件显示的AR图像感知为被叠加在真实场景上。注意的是,在其它实施方式中,代替以上说明的配置,右显示驱动部22可以包括诸如有机EL显示元件的自发光显示元件或者可以包括在视网膜上扫描来自激光二极管的光束的扫描型显示元件。这同样适用于左显示驱动部24。
接收部53用作用于控制部10与显示部20之间的串行传输的接收器。右背光控制部201基于输入控制信号驱动右背光221。右背光221是诸如LED或电致发光(EL)元件的发光体。右LCD控制部211基于从图像处理部160和显示控制部190发送的控制信号来驱动右LCD241。右LCD 241是其上多个像素以矩阵形状排列的透射型液晶面板。
右投射光学***251由准直透镜配置,该准直透镜将从右LCD 241发射的图像光转换成平行状态的光束。用作右光学图像显示部26的右导光板261将从右投射光学***251输出的图像光引导到用户的右眼RE,同时沿着预定光路反射图像光。注意的是,左显示驱动部24具有与右显示驱动部22的配置相同的配置并且对应于用户的左眼LE。因此,省略对左显示驱动部24的说明。
应用了作为实施方式公开的技术的装置可以是除HMD以外的成像装置。例如,该装置可以是不具有显示图像的功能的成像装置。
图3是例示了在执行本文描述的方法的本实施方式中作为信息处理装置的计算机300的功能配置的框图。计算机300包括CPU 301、显示单元302、电源303、操作单元304、存储单元305、ROM、RAM、AR接口309和网络适配器310。电源303向计算机300的每个单元供应电力。操作单元304是用于从用户接收操作的用户界面(GUI)。操作单元304包括键盘、鼠标和触摸板等及其驱动器软件。
存储单元305存储各种数据项和计算机程序,并且包括硬盘驱动器、固态驱动器等。存储单元305包括3D模型存储部307和模板存储部308。3D模型存储部307存储通过使用计算机辅助设计(CAD)或其它3D重建方法所创建的目标对象的三维模型。训练数据存储部308存储像本文所描述的那样创建的训练数据(未示出)。存储单元305还存储用于由CPU301执行的指令(未示出)。指令使CPU 301执行本文描述的方法。AR接口309是用于通信连接到AR装置的接口。AR接口可以是适于为计算机300与AR装置之间的通信建立数据连接的任何有线或无线接口。AR接口可以是例如Wi-Fi收发器、USB端口、收发器、串行通信端口、专有通信端口等。网络适配器310被配置为允许CPU 301连接到一个或多个网络以经由无线网络与其它计算机(诸如服务器计算机)进行通信,使得例如计算机300从另一计算机接收计算机程序,所述计算机程序使计算机300执行在本文描述的实施方式中描述的功能。在一些实施方式中,AR装置接口309和网络适配器310是适于执行网络适配器310和AR装置接口309二者的任务的单个适配器。
CPU 301从ROM和/或存储单元305读取各种程序(在本文中有时也称为指令)并且在RAM中开发程序,以执行各种程序。合适的指令被存储在存储单元305和/或ROM中并且由CPU 301执行以使计算机300作为训练计算机来工作以训练如本文所描述的对象检测算法。在一些实施方式中,具有适当编程的计算机300是用于使用合成图像来训练对象检测算法的***。在其它实施方式中,HMD 100是用于使用合成图像来训练对象检测算法的***。在又一些实施方式中,用于使用合成图像来训练对象检测算法的***包括计算机300和HMD100。
本文描述的实施方式涉及用于使用合成图像而不是真实世界对象的实际图像来训练对象检测算法的方法和***。如本文所使用的,合成图像通常指2D图像,该2D图像并非是使用摄像头来捕获3D场景的表示所创建的。更具体地,关于训练对象检测算法以检测由摄像头捕获的图像帧中的真实世界3D对象的表示,合成图像是2D图像,该2D图像并非是通过摄像头捕获真实世界3D对象的表示所创建的。可以通过捕获计算机中的对象的3D模型(例如,对象的3D CAD模型)的2D图像、绘制(无论是通过手还是使用计算机)对象的2D图像等来生成合成图像。应该注意的是,合成图像包括合成图像的图像。例如,在一个实施方式中,合成图像的照片或扫描本身可以是合成图像。相反地,在一个实施方式下出于本公开的目的,实际图像的图像(诸如真实世界3D图像的照片或扫描)可以不是合成图像。
图4是使用合成图像来训练对象检测算法的示例方法400的流程图。方法400可以由计算机300执行来与HMD 100一起使用来训练对象检测算法,并且将参照计算机300和HMD100来描述该方法400。在其它实施方式中,方法400可以由不同的计算机(包括例如控制部10)来执行,可以用于训练用于不同的AR装置的对象检测算法,可以被用来和/或可以用于训练用于基于图像帧执行对象检测的任何其它装置的对象检测算法。为了方便由计算机执行,方法400被具体实现为可由一个或多个处理器执行并存储在非暂时性计算机可读介质中的指令。
最初,在S402中,CPU301接收对存储在一个或多个存储器(例如ROM或存储单元305)中的3D模型的选择。3D模型可以对应于对象检测算法将被训练以在2D图像帧中检测的真实世界对象。在示例实施方式中,从用户接收选择,诸如通过经由计算机300的GUI进行的用户选择。
注意的是,3D模型在本文中被讨论为用于在方法400中生成合成图像。然而,在一些实施方式中,可能不需要3D模型,相反,可以在步骤S402中使用除3D模型以外的电子数据(例如,2D模型、一个或多个2D或3D合成图像等)。因此,为了便于描述,使用3D模型来描述方法400的步骤(以及本公开的其它部分)。然而,本公开不限于在步骤S402下并在引用3D模型的任何地方使用3D模型,应该理解的是,一些实施方式可以涉及使用除3D模型以外的电子数据。
在S404中设置用于检测真实场景中的对象的姿态的摄像头(诸如摄像头60)的摄像头参数集。由相同真实场景的不同摄像头所捕获的图像将通常至少在某种程度上基于每个摄像头的特定构造和组件而不同。摄像头参数集至少部分地定义了其关联的摄像头将如何捕获图像。在示例实施方式中,摄像头参数集可以包括要由摄像头捕获的图像的分辨率和摄像头固有特性(或“摄像头固有属性(intrinsics)”),诸如X和Y方向焦距(分别为fx和fy)和摄像头主点坐标(cx和cy)。其它实施方式可以针对摄像头参数集使用附加或替代参数。在一些实施方式中,摄像头参数集由用户设置,诸如通过经由计算机300的图形用户接口(“GUI”)(如稍后关于图5讨论的)的用户选择来进行。
在一些实施方式中,摄像头参数集由计算机300设置而不由用户选择。在一些实施方式中,默认摄像头参数集由计算机300设置。当将在检测真实场景中的对象的姿态时使用的摄像头是未知的或者其参数是未知的时可以使用默认摄像头参数集。默认摄像头集可以包括用于理想摄像头、流行摄像头、为其选择摄像头参数集的最后摄像头的参数或任何其它合适的摄像头参数集。此外,一些实施方式提供设置摄像头参数集的上述方法中的一种或多种的组合。
根据各种实施方式,可通过许多不同的方式(包括通过计算机从预先存储在数据库上的多个模型中检索预先存储的模型、计算机从连接的AR装置接收摄像头参数和/或通过用户直接地输入(和/或修改)到GUI中)来设置摄像头参数集(S404)。然而,本申请不应该限于这些具体实施方式。然而,在下面在本文中描述上述实施方式。
首先,在一些实施方式中,设置摄像头参数集(S404)通过接收识别包括摄像头的已知AR装置的信息来执行(S406)。识别AR装置的信息是从用户输入接收的,例如通过经由计算机的GUI从已知AR装置的列表中选择AR装置。在其它实施方式中,用户可以输入识别AR装置的信息,诸如通过键入模型名称、型号、序列号等。
CPU 301至少部分地基于识别AR装置的信息来获取摄像头的摄像头参数集(S408)。可以从存储在一个或多个存储器(诸如存储单元305或本地或远程数据库)中的多个摄像头参数集中获取摄像头参数集。每个摄像头参数集在一个或多个存储器中与多个不同的AR装置中的至少一个AR装置相关联。因为多个不同的AR装置可以包括相同的摄像头,所以单个摄像头参数集可以与多个AR装置相关联。
在一些实施方式中,在S404中设置摄像头参数包括当AR装置变得可由一个或多个处理器访问时通过数据连接来从包括摄像头的AR装置获取摄像头参数集(S410)。例如,当HMD 100连接(有线地或以无线方式)到计算机300的AR装置接口309时,CPU 301可以从HMD100中检索摄像头参数集(例如存储在ROM 121中)。在其它实施方式中,计算机300可以通过确定摄像头参数集来从AR装置获取摄像头参数集。例如,计算机300可以使HMD 100中的摄像头60捕获例如校准片的一个或多个图像帧并且计算机300可以分析所得到的图像帧以确定摄像头参数集。在又一些实施方式中,计算机300可以从AR装置中检索AR装置和/或AR装置中的摄像头的标识并且基于所检索到的标识从一个或多个存储器中检索适当的摄像头参数集。如以上所提及的,可以组合各种技术。例如,在一些实施方式中,如果AR装置对计算机而言是可用的(例如,它连接到AR装置接口309),则从摄像头获取摄像头参数集,并且如果AR装置对于计算机而言是不可用的,则执行S406和S408的设置。
一旦摄像头参数集被设置,CPU 301就通过在视图范围内渲染3D模型来基于摄像头参数集生成至少一个2D合成图像(S414)。视图范围是摄像头60围绕静止对象的潜在位置的范围,对于该静止对象将合成图像。在示例实施方式中,视图范围包括方位角分量和仰角分量。视图范围还可以包括距离分量,该距离分量设置视图范围中的潜在位置距对象的3D模型的距离。视图范围通常定义具有等于距离分量的长度的半径的球体的表面上的区域。针对其生成合成图像的视图范围内的各视点表示对象的不同姿态。
在一些实施方式中,CPU 301在生成至少一个2D合成图像之前接收对表示视图范围的数据的选择(S412)。例如,可以经由GUI(诸如稍后针对图5示出和讨论的GUI)从用户选择接收选择。在一些实施方式中,GUI包括对象的预览视图和用户选择的视图范围的图形表示。在一些实施方式中,视图范围是用户选择的对象的单个姿态。在其它实施方式中,视图范围是预定(例如,默认)视图范围。在另一些实施方式中,除非用户提供视图范围的不同选择(或预定视图范围的修改),否则CPU 301利用预定视图范围。在一些实施方式中,在一个或多个方位角或仰角中,预定视图范围围绕物体小于360度。将在下面参考图5和图6更详细地说明该视图范围。
CPU 301从视图范围内的位置生成表示3D模型的视图的3D模型的至少一个2D合成图像。要生成的2D合成图像的数量可以是固定的、可变的或用户可选择的。只要生成了至少一个2D合成图像,就可以生成任何合适数量的图像。如果生成了单个2D合成图像,则对于视图范围内的中心点生成图像。如果生成了一个以上的图像,则在整个视图范围中相对均匀地生成图像。在一些实施方式中,如果视图的数量是固定的或者由用户设置,则计算机300确定在视图范围内使每个图像分离多远以在视图范围内实现图像的某种分布,诸如均匀分布(例如,使得每个图像是距离每个相邻图像的视图相同距离的视图)。在其它实施方式中,计算机300基于视图范围的大小和用于图像的固定间隔生成可变数量的图像。例如,计算机可以从视图范围内的方位角和仰角的每一度、每五度、每十度、每二十度的视点生成图像。以上间隔是示例并且可以使用任何其它合适的间隔,包括小于完整的度的间隔。对于方位角和仰角来说图像之间的间隔不必是相同的。
计算机300基于在S404中设置的摄像头参数集来生成至少一个2D合成图像。摄像头参数集针对图像的视点更改3D对象的渲染以复制从相同视点拍摄的真实世界对象的真实图像。在此实施方式中,生成合成图像的过程使用刚体变换矩阵和透视投射变换矩阵,该刚体变换矩阵用于将在3D模型坐标系中表示的3D点的3D坐标值变换为在虚摄像头坐标系中表示的3D坐标值,该透视投射变换矩阵用于将经变换的3D坐标值投射到合成图像的虚拟平面上的2D坐标值。刚体变换矩阵对应于视点或者简称视图,并且通过表示围绕彼此正交的三条轴线的旋转的旋转矩阵以及表示沿三条轴线的平移的平移矢量来表示。透视投射变换矩阵包括摄像头参数,并且被适当地调整为使得虚拟平面对应于摄像头(诸如摄像头60)的成像表面。3D模型可以是CAD模型。对于每个视图,计算机300将3D模型上的3D点变换并投射到虚拟平面上的2D点,使得通过对3D点应用刚体变换和透视投射变换来生成合成图像。
在S416中,计算机300使用至少一个2D合成图像来生成训练数据以训练对象检测算法。可以使用适于与真实图像一起使用的任何技术来生成基于合成图像的训练数据。在一些实施方式中,生成训练数据包括使用2D合成图像来生成外观模板和/或形状模板(S418)。外观模板包括诸如颜色、表面图像或文本、拐角等的一个或多个特征。外观模板可以包括例如(i)2D合成图像中的对象的特征的位置的坐标值及其表征,(ii)在3D模型上对应于那些2D位置并且被表示在3D模型参照帧中的位置的坐标,以及(iii)针对2D图像渲染3D模型的姿态。形状模板在两个维度上描述对象的形状而没有被包括在外观模板中的表面特征。形状模板可以包括例如(i)包括在表示2D合成图像中的对象的外部的轮廓线(在下文中,也简称为“轮廓”)中的点(2D轮廓点)的坐标值,(ii)在3D模型上对应于2D轮廓点并且被表示在3D模型参照帧中的点,以及(iii)针对2D图像渲染3D模型的姿态。在一些实施方式中,为针对视图范围生成的每个合成图像创建单独的形状模板和外观模板。在其它实施方式中,可以在单个模板中存储多个图像的数据。
所生成的训练数据被存储在一个或多个存储器中(S419)。在一些实施方式中,训练数据被存储在计算机的训练***存储器305中。在一些实施方式中,当HMD 100通过AR装置接口309通信地联接到计算机300时,训练数据由计算机300存储在HMD 100的存储器(诸如ROM 121)中。在其它实施方式中,训练数据被存储在计算机的训练***存储器305和HMD100中。
在训练数据被存储在HMD 100中之后,HMD 100可以工作来基于训练数据来检测对象。在一些实施方式中,HMD试图通过使用HMD的对象检测算法来试图找到模板与图像之间的匹配来在由摄像头60捕获的真实场景的图像帧中检测对象。
在一些实施方式中,为多个摄像头和/或AR装置生成训练数据,用于检测真实场景中的对象的姿态。在一些此类实施方式中,在S404中设置摄像头参数集包括为多个摄像头设置多个摄像头参数集,S414包括至少基于多个摄像头参数集生成多个2D合成图像,并且S416包括使用多个2D合成图像来生成训练数据以针对具有多个摄像头的多个AR装置训练对象检测算法。在其它实施方式中,步骤S404、S414和S416(可选地包括S406、S408、S410、S412和S418中的一个或多个)被简单地重复多次,每次针对不同的摄像头。
如以上所提及的,在一些实施方式中,执行方法400的计算机包括用于向用户提供信息并从用户接收选择的GUI。图5和图6是可以被用作实现方法400的***的一部分的GUI的图像。例如,GUI可以由计算机300显示在显示单元302上并且响应于经由操作单元304的用户输入。图5是用于从用户接收输入的GUI 500,并且图6是显示对象的3D模型602以帮助视图范围的选择和/或预览的预览窗口600。虽然将参考方法400描述图5和图6所示的GUI,但是应该理解的是,可以在不使用图5和图6的GUI的情况下执行方法400,并且图5和图6所示的GUI可以用于利用除方法400以外的方法来执行训练。
首先转到图5,GUI 500包括用于实现方法400的S402的模型加载按钮502和所选模型显示栏504。在示例实施方式中,当用户选择模型加载按钮502时,另一窗口被打开以允许用户浏览到要选择用于训练的3D模型所位于的位置(在计算机300上,数据库或其它存储位置(无论是本地的还是远程的))。如果已选择了模型,则所选模型显示栏504显示所选模型的位置。在一些实施方式中,用户可以通过将位置直接地键入到所选模型显示栏504中来选择模型。此外,在一些实施方式中,用户可以通过任何其它合适的技术(包括通过将模型拖放到GUI 500中)来选择模型。
可以在S404中通过在AR装置选择栏506中选择要训练对象检测算法所针对的AR装置来设置摄像头参数集。在图5的例示性实施方式中,AR装置选择栏506是“下拉菜单”或“落下菜单”。当用户选择栏506时,已知AR装置的列表被下拉以供由用户选择。在一些实施方式中,可以通过由计算机300检测来选择AR装置(例如像S410中所描述的那样)。基于所检测/选择的AR装置,计算机300检索用于包括在AR装置中的摄像头的摄像头参数集。用于包括在栏506中的AR装置中的摄像头的分辨率和摄像头固有参数显示在分辨率栏508和固有属性栏510中。分辨率和摄像头固有参数共同地形成本实施方式中的摄像头参数集。
在一些实施方式中,用户可以直接地手动地将摄像头参数输入到固有属性栏510和/或分辨率栏508中,而不必通过指定许多已经存在的合成图像来完成步骤S402。另外,可以允许用户修改由计算机输入到固有属性栏510和/或分辨率栏508中的摄像头参数。此外,在一些实施方式中,用户可以使输入/修改的摄像头参数集与特定AR装置或摄像头相关联并且存储新的摄像头参数集以供将来使用。
GUI 500的设置部512允许用户设置和/或查看用于生成对象602的合成图像并且训练对象检测算法的设置。设置部包括方位角设置部514、仰角设置部516、摄像头距离部518、模型旋转部520、单个视图选择器524、照明选择器526、内部渲染选择器528和特征级别选择器522。
将附加地参考图6描述设置部512。模型旋转部520允许用户在三个维度上选择对象的模型602的旋转。在示例实施方式中,模型的默认旋转是如存储在模型文件中的模型602的旋转。模型602根据显示在模型旋转部520中的模型旋转被显示在预览窗口600中。为了改变模型的旋转,用户可以在模型旋转部520中以数字方式输入旋转或者在预览窗口600中使模型602旋转,诸如通过选择并拖动模型以使它旋转(使用鼠标、用户在触摸屏上的手指等)。摄像头距离部518允许用户设置从模型到将要合成图像的摄像头的距离。在一些实施方式中,还可以通过使用鼠标上的滚轮来放大/缩小或者通过任何其它合适的控制来修改摄像头距离。
模型602被显示在根据旋转选择和摄像头距离选择而定向的预览窗口600中,并且它被网格604部分地围绕。网格604在模型602周围定义球体的一部分,其中模型602位于球体的中心处。在一些实施方式中,网格604在模型602周围定义完整的球体。网格604是视觉辅助,以帮助使用于为合成图像创建的视图范围可视化。网格包括仰角线608和方位角线。对于特定仰角,每条方位角线在方位角方向606上追踪三百六十度。类似地,对于给定方位角,每条仰角线在仰角方向608上追踪高达360度。在所例示的示例中,网格604不是完整球体并且仰角线追踪不到完整的三百六十度。方位角线和仰角线定义网格部610。网格部610包括所选网格部612和未选网格部614。所选网格部612形成视图范围616。视图范围616是生成合成图像的摄像头位置或定向的范围。用户可以通过在预览窗口中选择网格部610或者通过在窗口500的方位角设置部514、仰角设置部516中以数字方式输入视图范围来选择视图范围。如果用户以数字方式输入视图范围,则将在预览窗口600中选择适当的网格部610。相反地,如果用户在预览窗口600中选择(或者未选择)网格部610,则将相应地更新输入窗口500中的数字表示。
在一些实施方式中,预设视图范围616。在一些实施方式中,默认/预设视图范围可以是固定的(即,不是用户可改变的)。在其它实施方式中,默认/预设视图范围可由用户改变。在示例实施方式中,默认视图范围616被设置有六十度的方位角和四十五度的仰角的范围。
返回到图5,单个视图选择器524允许用户选择合成模型602的单个视图。如果未选择单个视图选择器524,则基于所选择的视图范围生成模型602的多个视图。照明选择器526允许用户选择在生成合成图像时是否应该模拟照明。内部渲染选择器528允许用户选择在生成合成图像时是否应该使用内部渲染。
特征级别选择器522用于指示模型602是丰富特征对象还是少特征对象,这方便训练对象检测算法。例如,模型602包括具有可以被用于对象检测和跟踪的不同颜色、对比度、形状等的表面特征618。因此,在特征级别选择器522中选择丰富特征并且将训练对象检测算法以通过例如创建一个或多个外观模板来检测此类特征。如果模型602不包括表面特征618,或者如果用户不想使用此类特征,则将在特征级别选择器522中选择少特征并且将训练对象检测算法以在不使用表面特征的情况下检测对象,诸如通过使用形状模板。
当用户准备好训练检测算法时,用户选择训练按钮532。作为响应,计算机300根据用户选择(或默认值)的设置来生成合成图像,生成训练数据以基于合成图像训练对象检测算法,并且存储训练数据。所存储的训练数据准备好由AR装置使用来检测和跟踪对象,并且用户可继续针对不同的对象训练算法或者训练算法以使用不同的AR装置来检测相同的对象。
本文描述的各种实施方式提供了用于使用合成图像来自动训练对象检测算法的***。实施方式减少了用户参与训练算法的量,免除了使用要被训练以检测对象的各特定AR装置捕获实际对象的多个图像所需的时间和精力,并且免除了具有对象和要被训练的AR装置的实际副本的需要。
一些实施方式提供包含程序指令的非暂时性存储介质(例如,ROM 121、RAM 122、识别目标存储部139等),所述程序指令当由计算机处理器(例如,CPU 140、处理器167、CPU301)执行时,执行本文描述的方法。
粗到精的模板匹配
所有基于模板的检测算法具有相同的权衡:速度与检测准确度。在模板匹配期间对6DOF姿态空间进行采样越精细,准确度越高,代价是运行时间的线性增加。基于标准模板的检测的典型扩展是设法在不导致运行时间的线性增加的情况下在6DOF姿态空间的更精细采样级别下进行匹配。这通过以层级方式对姿态空间进行采样来完成。在层次的初始级别下,以粗姿态采样执行搜索。在后面的阶段,更精细地探索来自先前级别的候选周围的姿态空间。可在姿态的所有六个维度上执行采样的细化。在2.5D空间中执行匹配的实施方式中,通过(x,y,s,视图)使姿态空间参数化,其中x和y是图像像素位置,s是匹配尺度并且视图表示使用三个角度的模板的视图。在一个实现中,通过以层级方式细化尺度和视图来执行粗到精的采样。
对于更精细的尺度匹配,在通过了检测置信度阈值的尺度s下的每个匹配视图也在20×20个像素的局部邻域中以尺度进行匹配,其中Δs是用于模板匹配的尺度步长。三个当中的最高置信度检测被选取。
可实现各种策略来执行视图的更精细匹配。主要原则是为了以层级方式探索视图,在每个级别下只需匹配检测到上述级别的父的候选。因此,父视图应该被设计为保证如果检测到子视图,则也应该检测所对应的父视图。在一个实现中,父视图可被选取为在群集中(在姿态方面或者在外观方面)与群集中的所有其它视图最接近的视图中的一个,其可被称作代表性视图。考虑到该原则,仅需要定义视图层级。
根据一个示例,选取3级层次。方法可区分视图层次中的平面外和平面内旋转。在顶部(第一)级别下,仅探索代表性平面外旋转和代表性平面内旋转。在第二级别下,***利用所有平面内旋转来验证所检测到的候选。在最后(第三)级别下,***利用所有平面外旋转来验证所检测到的候选。
为了方便此层级的构造,需要决定如何基于平面内旋转(从第一级别移动到第二级别)对处于固定平面外旋转的视图进行聚类并且如何基于平面外旋转(从第二级别移动到第三级别)对视图进行聚类。在一个实现中,当验证级别2下的视图时,高于检测阈值的子视图被添加到候选的列表。当验证级别3中的视图时,仅最佳视图存留。如果子当中谁都不是较好的,则最佳子视图替换父候选或者父候选被保留。
考虑用于简单3D对象的层级,提供了用于对平面内旋转进行聚类的两种不同的方法和用于对平面外旋转进行聚类的两种不同的方法。在两种情况下,一种方法可以基于3D姿态空间中的视图接近度,而另一方法可以基于视图外观相似性。下面的是这些方法的描述。
基于姿态的视图聚类:
平面外聚类
可以基于其在视图球体604上的角接近度对视图进行聚类。每个视图被表示为3D空间中的点,然后是K均值聚类。当前群集的数量被设置为K=66。如果由用户提供的视图球体604上的视图的数量小于或等于K,则将不执行视图聚类。对于每个群集,使到群集内的所有其它视图的距离的总和最小化的视图被选择为代表。
平面内聚类
当基于姿态对处于固定平面外旋转的所有视图进行聚类时,方法可假定所有视图被以固定角步长采样并且基于其平面内旋转被排序。因此,在当前实现中,每K个邻近的平面内旋转可被分组在一起并且中间模板被选取为代表。
在K为2的实施方式中,如果原始采样是每9度(40个等间距的平面内样本),则在聚类之后,视图将间隔开18度。
基于相似性的视图聚类
简单的人造对象常常在不同的对象视图之间表现出相当大的外观相似性。这可以在模板匹配中被利用。不是使用单独的模板来匹配相似的视图,而是将首先使用单个模板来检测这些相似的视图中的一个并且仅然后将使用各个模板来确定最终视图。因为在训练时间没有真实图像数据是可用的,所以为了建立视图相似性,可遍及所有模板视图的计算机生成的边缘图像来执行模板匹配。结果,***可获得N×N混淆矩阵C,其中C(i,j)是模板i与模板j的匹配得分。注意的是,这不是对称矩阵。为了将它转换成对称相似性矩阵,可将模板i与j之间的相似性确定为S(i,j)=min(C(i,j),C(j,i))。此相似性矩阵S被用于平面内视图聚类和平面外视图聚类两者。
平面外聚类
假定模板是首先通过平面外旋转然后通过平面内旋转来排序的,则N×N相似性矩阵S是具有P×P个块的M×M块矩阵,其中N=M·P,M是平面外视图样本的数量,并且P是平面内视图样本的数量。每个块对应于一个特定平面外旋转的所有模板与另一平面外旋转的所有模板的相似性。可将视图相似性Sv(i,j)定义为与视图i和视图j相对应的每个块内的最大相似性。给定此视图相似性函数,***遍及M个对象视图执行完整链接层级聚类。当Sv(i,j)低于50时可以定义停止准则。这意味着每个群集内的任何两个视图被保证为具有至少50的相似性。对于每个群集,使与群集内的所有其它视图的相似性之和最大化的视图被选择为代表。注意的是,如果这些视图在外观上是足够相似的,则每个群集可包含在姿态空间中远离的视图,与在基于姿态的聚类的情况下不同。
平面内聚类
再次,可首先通过平面外旋转然后通过平面内旋转来对一个实现中的模板进行排序。然后,位于矩阵S的对角线上的P×P个块本身是视图i=1..M的相似性矩阵Si。每个P×P矩阵Si存储视图i的所有平面内旋转之间的相似性。完整链接层级聚类可用于对每个视图i的平面内旋转进行分组。当相似性低于70时分组当前停止。对于每个群集,使与群集内的所有其它模板的相似性之和最大化的模板被选择为代表。
已经在本文中呈现了若干聚类选项。一般而言,用于减少样本的数量的更积极的聚类导致更快的运行时间。另一方面,鉴于更积极的聚类,准确度可能会下降。
注意的是,在诸如齿轮的高度对称的对象的情况下可实现大加速因子,从而为将来更密集地潜在地探索视图空间开辟道路。另外注意的是,加速因子对于更混乱的场景来说是更重要的(参见左侧子图中的1和5个对象与10个对象的情况)。评估在具有4GB RAM的Intel I5-2400 3.1GHz CPU上运行。感兴趣区域对于左右测试分别约为2MP和0.5MP。注意的是,已经测量了仅对模板匹配时间而不是总查询时间的影响。
自适应阈值处理
形状匹配的当前实现计算梯度定向及其幅度,并且只有当幅度高于由用户设置的全局阈值时才保持定向。
此全局阈值是对真实边缘的相当粗糙的估计,意味着一些阴影边缘也可具有高梯度幅度,并且其定向将被包括在匹配阶段中。这里添加的自适应阈值处理的工作是为了通过将真实对象边缘建模为在局部邻域内更均匀照亮来检测并去除阴影边缘。实现这个的一个方式是通过在图像I[x,y]上应用固定大小的盒式滤波器g[x,y],并且用原始图像减去。在任何均匀照亮的区域处,这个差D[X,Y]将非常小:
D[x,y]=I[x,y]-∑g[i,j]I[x-i,y-j]
如果D[x,y]大于预设自适应阈值(例如,0.01),则像素被声明为自适应边缘像素。
根据一些情形,自适应阈值处理可能存在两个副作用:
a)去除弱对象边缘—形状模板的匹配取决于匹配特定视图上的采样点。匹配得分可能受到来自去除的弱对象边缘的缺失点的影响。
b)减小边缘的厚度—基于对象视图的采样频率,使得与正确视图匹配变得更加困难。
这些副作用的解决方案是利用形状匹配算法的2个尺度检测过程。在第一且较低的尺度下,步长较高并且图像分辨率较低。在此级别下应用自适应阈值处理以去除由阴影所引起的非常差的候选。正确的视图可能没有最高得分,但是它们仍然被选择。在第二且较高的尺度下,步长较小并且图像分辨率较高,然后使用正常阈值处理,使得匹配得分不受由于自适应阈值处理而导致的去除点和较薄边缘的影响。当前,此解决方案证明使校正检测率维持在大约相同的水平,但是减少了处理时间,可能是因为处理阴影边缘时的时间减少了。
自适应采样
考虑这样一个场景,其中一组密集的真实对象图像和对象的CAD模型是可用的并且训练工具需要生成训练数据以用于少特征(LF)对象检测和姿态估计(ODPE)。LF ODPE依赖于所选训练图像与查询场景的模板匹配。然而,一些对象具有“不稳定的”姿态,其在对象稍微偏离姿态的情况下显著地改变外观。因此,如果这种姿态被选择用于训练,则当用户的视点改变时对象的检测可能是困难的。如果视点捕获两个显著不同的相邻姿态之间的不稳定的姿态,则这可导致对象的检测的丢失。另外,训练视图采样算法可以在所选方位角-仰角范围上利用均匀采样分辨率。
一个解决方案是通过基于对象姿态的稳定性改变采样密度来使用“自适应采样”。对于不稳定的姿态,采样将更加密集,使得将在训练集中很好地捕获外观的突然变化。
可通过测量“形状”空间和“外观”空间两者中的邻近视图
的相似性来确定视图球体604上的训练图像的采样速率。
关于“形状”相似性,由CPU 301执行的过程可以包括使用CAD模型来从不同的视图角度密集地生成边缘图。然后,可构造“混淆”矩阵以测量不同的视图之间的形状相似性。对于每个视图,如与其邻近视图相比较可计算相似性得分或混淆得分。具有非常低的混淆得分的视图应该被选择为不稳定的并且因此包括特别独特的姿态以用于训练。当需要更低密度的训练时,可在其它视图区域中执行形状模板聚类。
关于“外观”相似性,由CPU 301执行的过程可以包括比较真实训练图像或使用纹理化CAD模型所生成的合成对象图像。可使用互相关来测量来自邻近视图的图像之间的相似性。具有高相关性得分的视图被认为具有相似的外观。它们可通过较少的训练图像来聚类和表示。例如,聚类可以包括删除不需要的图像,诸如与其邻居非常相似的图像。训练图像的其余部分将被保留以描述不稳定的姿态。
因为在LF检测流水线的不同的步骤中使用了形状模板和外观模板,所以不必要求它们在视图球体604上具有相同的采样。
可比较相邻图像的图像数据集的其它方面。在一些实施方式中,可以关于“强度”、“颜色”、“ORB”、“边缘”等比较特征数据集。可以通过由机器学习所确定的混合过程来做出其它比较。
例如,图像特征可以指代参考对象的图像数据和/或3D模型数据中的本地属性。图像特征可以包括通过此类属性所形成的边缘/边缘轮廓、轮廓、拐角、颜色、纹理、描述符(例如,包括表面和方向信息)等,以及由机器从这些本地属性的集合中学习的更多复合属性。所学习的过程可以使用复杂的机器学习或深度特征学习方法,其可在不同的环境中区分参考对象与其它周围对象,并且近似地或准确地识别参考对象的视点或姿态。
基于相似性的模板聚类是用于构建层级模板匹配以得到更好速度的常见技术。可以在形状匹配的实现中使用形状模板聚类。在一些实施方式中,当目标是为了找到不稳定的姿态/视图时,可以将聚类约束在预定义视图范围(例如,40度×40度)中。可以在形状空间和外观空间两者中执行相似性计算和聚类。
训练的自适应采样可以两种方式帮助LF检测。首先,自适应采样可以通过在包含不稳定的姿态/视图的视图空间中准备更密集的采样来提高检测速率以在采样保持稀疏的情况下防止较低的性能。第二,自适应采样可以通过使用最少数量的模板来表示稳定的姿态/视图来增加执行速度。
图7例示了根据本公开的各种实施方式的用于执行自适应采样过程的方法700的流程图。方法700可以包括存储在非暂时性计算机可读介质上的指令。此外,图8A至图8D示出了方法700的方面中的一些的示例。
方法700包括执行主主采样过程以从主主样本视图(“样本姿态”)创建图像数据集的步骤,如块S702中所指示的。图像数据集从对象的多个主样本视图创建。在一些实施方式中,主主样本视图可以包括围绕对象的球体或半球体上的点。图8A示出了可以获得主主样本视图的位置802。尽管以正方形网格图案示出,然而应该注意的是,位置802可以包括任何适合的图案。
方法700还包括存储从S702创建的图像数据集的步骤(S704)。利用所存储的图像数据集,可比较相邻或邻近采样点的数据集。块S706指示第一主视图被选择,该第一主视图可以包括例如图8B所示的主视图804。从此第一主视图804的角度来看,方法700包括选择第一邻近视图,如块S708中所指示的。例如,主视图804的邻近视图可以至少包括图8B中的视图806、808、810和812。
方法700包括将所选主视图的图像数据集与所选邻近视图的数据集相比较以计算相似性得分,如块S710中所指示的。相似性得分指示从邻近或相邻样本视图获得的图像之间的相似性。因此,方法700能够确定当观察位置的小变化被记录时图像改变了多少。例如,观察位置的小变化可通过邻近或相邻样本视图来定义,诸如从第一样本视图610、612到另一样本视图610、612的差异在方位角方向606和/或仰角方向608上沿着球体604在任何方向上偏离第一样本视图610、612。如图8B所示,出于参考目的,在图8B中示出了视图804与视图806、808、810和812中的每一个之间的相应的相似性得分。
方法700还包括判定菱形S712,其指示确定了所选主视图是否具有更多的邻近视图要分析。如果是这样的话,则方法返回到块S708,使得可选择下一个邻近视图。如果主视图不再有邻近视图,则方法700进行到图7B所示的相似性得分分析算法。
图7B示出了用于分析主视图中的每一个之间的相似性得分的方法700的相似性得分算法718。另外,如将稍后讨论的,相似性得分算法718还用于分析以更精细的分辨率在主主采样视图之间创建的其它相邻采样点或甚至以再为精细(even finer)的分辨率采样(并根据需要重复多次以获得有利的相似性得分)的点之间的相似性得分。
S710中的比较的结果可被存储在存储器中以由处理器分析。作为示例,相似性得分可以在1到9的范围内,其中1表示“无相似性”并且9表示“完全相似”。其它范围可以用于表示不同程度的相似性或“混淆”。具有高度相似性的视图也可以被说成彼此容易地混淆。在图8B的示例中示出了3、7、9和8的相似性得分。
方法700还包括如块S720中所指示的包括分析相对于第一对相邻样本视图而获得的第一相似性得分的步骤。根据判定菱形S722,方法700包括确定相似性得分是否超过最小阈值。可以将最小阈值设置在最低相似性得分与最高相似性得分之间的某个中间值。例如,当相似性得分被计算为横跨从1到9的范围时,如以上示例所提及的,可以将最小阈值得分设置在2与8之间的某处。例如,最小阈值可以是5。
根据一些实施方式,用户可能希望创建具有更大的分辨率水平的对象的总体采样。在这种情况下,***可以允许用户选择任何合适的分辨率水平。在一些实施方式中,用户可以利用图5中所示的GUI 500的图像分辨率设置508。在一些实施方式中,方法700然后可以相应地调整最小阈值。
例如,为了实现更大的分辨率水平,将提高关于相似性得分的最小阈值(例如,可能提高到6、7或8)。因此,利用较高的最小阈值,将需要更多的迭代来获得更多的样本视图,因为满足这种较高的相似性准则将变得更加困难,并且因此更多的样本视图将导致较高的分辨率。当然,在这个高分辨率训练过程中将需要更多的存储器来存储样本视图。
另一方面,用户可能希望减少用于存储训练数据的存储器空间的量。在这种情况下,***可以允许用户选择较低的分辨率水平,诸如通过将图像分辨率508设置到较低的水平。因此,可降低在S722中分析的最小阈值(例如,可能降低到2、3或4)。利用较低的最小阈值,将需要更少的迭代并且将获得更少的样本视图。
再次返回到图7B的方法700的相似性得分算法718,如果在S722中确定了相似性得分超过最小阈值,则不需要另外的样本并且方法700进行到判定菱形S724。例如,在图8B中,视图804和806之间的相似性得分很好(大于5),视图804和808之间的相似性得分很好,并且804和810之间的相似性得分很好。如S724中所指示的,方法700确定是否要分析更多的相似性得分。如果是这样的话,则方法700返回到块S720,其指示下一个相似性得分被分析。
否则,如果已经分析了所有成对的相邻样本视图之间的相似性得分并且不再要分析得分,则方法700返回到图7A所示的判定菱形S714。判定菱形S714确定是否要分析更多的主视图。如果是这样的话,则方法700返回到块S706,使得可选择下一个主视图。如果所有主视图已被分析,则方法700结束。
返回到图7B,如果在判定菱形S722中确定了所分析的相似性得分不超过最小阈值(诸如在视图804和812之间,其中得分是3),则方法700进行到块S726,其指示用于执行更精细的采样分辨率的算法被执行。关于图7C描述一种更精细的采样分辨率算法。关于更精细的采样分辨率算法S726,如果确定了相邻样本视图太不相似并且在相邻样本视图之间将需要更多的训练样本,则将需要进一步处理。
例如,在获得了样本并且检测到对象之后,必要的相似相邻视图的缺少可以使对象丢失。如果相邻视图不满足必要的相似性测试,则如果从两个相邻视图之间的位置观察对象,则***可能无法检测到对象。因此对象可能在对象检测***的使用期间(即,在已经获得了训练样本之后)丢失。
图7C示出了与图7A所示的主视图采样的创建相似的更精细的采样算法726的示例。更精细的采样算法726包括选择与主视图804共享低相似性得分的“低得分”邻近视图(例如,视图812)的步骤(S728)。接下来,方法700包括执行更精细的采样过程以从一个或多个更精细的样本视图(“样本姿态”)创建附加图像数据集的步骤,如块S730中所指示的。在一些实施方式中,更精细的样本视图可以包括在主视图之间围绕对象的球体或半球体上的点。图8C示出了附加样本位置820、822、824、826、828和830的示例,其中图像数据集的更精细的分辨率样本是在“低得分”样本812周围获得的。
方法700的算法726还包括存储附加图像数据集的步骤(S732)。利用所存储的图像数据集,可比较相邻或邻近采样点的数据集。从可疑视图的角度来看,方法700包括选择邻近低得分视图812的第一邻近视图,如块S736中所指示的。
与图7A的块S710相似,方法700包括块S738,其包括将视图812的数据集与所选更精细的邻近视图的数据集相比较以计算相似性得分。再次,相似性得分指示从邻近或相邻样本视图获得的图像之间的相似性。因此,在视图812与视图820、822、824、826、828和830中的每一个之间计算得分。
方法700还包括判定菱形S740,其指示确定了视图812是否有更多更精细的邻近视图要分析。如果是这样的话,则方法返回到块S736,使得可选择下一个邻近视图。如果可疑视图没有更多更精细的邻近视图,则方法700进行到图7B的相似性得分分析算法718。
应该注意的是,再次在图7B所示的S722中分析相似性得分。如果得分低,诸如如视图812和824之间的得分仅为2的图8C所示,则再次执行图7C的算法。例如,如图8D所示,通过在视图824与重新创建的再为精细的邻近视图840、842、844、846、848和850之间执行再为精细的采样(S730)来进一步处理低得分邻近视图824。在此示例中,相似性得分超过最小阈值,使得不需要更精细的迭代。应该注意的是,可能需要一次迭代(图8B)、两次迭代(图8C)、三次迭代(图8D)或更多次迭代(未示出)。
图9A至图9C示出了根据另一实施方式的围绕从其获得训练样本的对象的半球体(或球体604)的一部分900的另一示例。在此示例中,半球体的部分900包括样本视图位置902。例如,位置902可以位于图6所示的窗口616内。在第一迭代(图9B)期间,在位置902-918中的每一个处获得样本视图。
尽管位置902-918在图9A至图9C中被以矩形图案示出,然而应该注意的是,图像采样位置的图案可包括任何配置。
图9A示出了获得主样本的主主样本位置802、804、806、808、810、812、814、816、818的网格800的示例。这些位置可以表示围绕要采样的对象的球体上的点。尽管图8A示出了位置802以正方形图案布置的网格800,然而应该注意的是,可以沿着对象周围的任何球形或其它形状以任何合适的图案布置这些位置。在一些实施方式中,每个位置可以具有被定位在彼此近似相等的距离处的四个、五个、六个或任何其它数量的邻近位置。
如以上关于图7的方法700的块S704所提及的,邻近样本视图被比较以获得主样本视图。例如,可以将主位置910的样本视图与四个最近的邻居904、908、912和916相比较。相似性得分(SS)是基于相邻视图的样本视图的图像的相似性来计算出的。在此示例中,SS值表示从1到9的定义一个相邻视图与另一视图相比较有多近的数字。在位置910和位置904处的视图之间的相似性包括7的得分(即,SS=7)。在位置910和位置908之间,SS=7;在位置910和位置912之间,SS=4;在位置910和位置916之间,SS=4。
使用5的“最小阈值”,如以上关于图7所示的判定菱形S708所描述的,图9A所示的大多数主样本视图满足或者超过最小阈值。然而,在位置910和916之间,相似性不满足或者超过最小值(5),但是SS=4。另外,在位置910和912之间,相似性不满足或者超过最小阈值。因此,对于这两种情况,根据此示例,需要附加采样。
图9B示出了如与图9A相比较的半球体的部分900的更详细的视图。在此扩展视图中,相关采样位置910、912和916被示出在图9B中。因为由于低相似性得分而在主采样位置对(910/912和910/916)之间或附近需要附加采样,所以可以使用辅采样位置922、924、926、928和930。
在其它实施方式中,可以分析更少或更多的辅位置并且具体定位可包括任何合适的布置,使得位置在相似性得分低的采样位置对中间和/或附近。仅出于例示目的,第二位置被示出为三角形,然而主采样位置被示出为圆形。
根据图7的方法700的块S712,在新创建的辅采样位置与其邻近位置之间执行辅采样。这些新的辅样本位置922、924、926、928和930不仅彼此相比较,而且还与邻近的其它主位置910、912和916相比较。图9B还示出了在邻近视图之间计算出的相似性得分(SS)值。在此示例中,除了两个SS之外的所有SS都满足或者超过最小阈值(例如,5),包括辅位置924与辅位置926之间的比较(即,SS=3)以及辅位置928与主位置916之间的比较(即,SS=4)。
方法700可被重复任何级数以按需获得主、辅、三级和更多的样本视图。在图9C中,第三轮样本位置被创建以说明图9B所示的低SS值。特别地,在位置924和926之间并且在928和916之间计算低SS值。这些位置被示出在图9C中,图9C示出了半球体的部分900的甚至更大的展开视图。附加样本位置934、936、938、940、942和944(被描绘为正方形)被创建。这些位置934-944被创建在SS值低的邻近位置对之间和/或附近。在图9C的示例中,第三迭代足以微调样本以填充样本图像在短距离上经历更剧烈变化的区域。SS值反映了如下事实,即三级迭代中的较近位置在图像之间提供合适的相似性。
图10示出了在十个不同的位置处采样的对象的示例。从相邻图像的比较可以看出,这些变化可以是轻微的,在邻近图像之间计算出的SS值将不需要辅采样的情况下可能足够轻微。然而,如果需要一个或多个附加迭代来获得具有超过最小阈值的SS值的样本,则可执行方法700或其它过程以实现足够的训练样本。
尽管已经参考本文的实施方式描述了本发明,然而那些实施方式不限制本发明的范围。对那些实施方式或不同的实施方式的修改可落入本发明的范围内。

Claims (19)

1.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质当由一个或多个处理器执行时,执行包括以下步骤的方法:
(a)在存储器中接收(i)参考对象或(ii)3D模型的特征数据集,每个特征数据集是从根据所述参考对象或所述3D模型周围的视图范围内的主视图集捕获或生成的图像获得的,
(b)使用所述特征数据集来导出所述主视图集当中的每对相邻视图之间的相似性得分,
(c)在所述相似性得分等于或小于阈值的情况下对相邻主视图之间的辅视图集进行采样,使得采样密度在整个视图范围内变化,以及
(d)生成与所述主视图集和所述辅视图集相对应的训练数据。
2.根据权利要求1所述的非暂时性计算机可读介质,其中,所述方法还执行以下步骤:
以相对于方位角和/或仰角彼此相等的角度,以粗采样分辨率对所述视图进行采样;以及
将采样的视图存储在所述存储器中。
3.根据权利要求1所述的非暂时性计算机可读介质,其中,所述方法还执行在具有低相似性得分的相邻视图附近以更精细的采样分辨率进行采样以获得附加视图的步骤。
4.根据权利要求3所述的非暂时性计算机可读介质,其中,所述方法还执行以下步骤:
(e)导出以所述更精细的采样分辨率采样的所述附加视图之间的相似性得分;
(f)在具有低相似性得分的所述附加视图附近执行再为精细的采样分辨率;以及
(g)重复步骤(e)和(f),直到所述相似性得分超过最小阈值。
5.根据权利要求1所述的非暂时性计算机可读介质,其中,相似性得分基于所述参考对象或所述3D模型的相邻视图的外观和/或形状。
6.根据权利要求1所述的非暂时性计算机可读介质,所述方法还执行以下步骤:
对具有高相似性得分的相邻图像进行聚类以减少图像的数量。
7.一种用于训练对象检测算法的方法,所述方法包括以下步骤:
(a)在存储器中接收(i)参考对象或(ii)3D模型的特征数据集,每个特征数据集是从根据所述参考对象或所述3D模型周围的视图范围内的主视图集捕获或生成的图像获得的,
(b)使用所述特征数据集来导出所述主视图集当中的每对相邻视图之间的相似性得分,
(c)在所述相似性得分等于或小于阈值的情况下,对相邻主视图之间的辅视图集进行采样,使得采样密度在整个所述视图范围内变化,以及
(d)生成与所述主视图集和所述辅视图集相对应的训练数据。
8.根据权利要求7所述的方法,其中,对所述视图进行采样的步骤包括根据所述相似性得分而在一对相邻视图之间比在另一对相邻视图之间更密集地对视图进行采样。
9.根据权利要求7所述的方法,其中,所述方法还包括以下步骤:
将采样的视图存储在所述存储器中。
10.根据权利要求7所述的方法,其中,在距主视图相等的距离处对所述相邻视图进行采样。
11.根据权利要求7所述的方法,其中,所述采样包括在具有低相似性得分的相邻视图附近执行更精细的采样分辨率以获得附加视图。
12.根据权利要求11所述的方法,其中,所述方法还包括以下步骤:
(a)导出以所述更精细的采样分辨率采样的所述附加视图之间的相似性得分;
(b)在具有低相似性得分的所述附加视图附近执行再为精细的采样分辨率;以及
(c)重复步骤(a)和(b)直到所述相似性得分超过最小阈值。
13.根据权利要求7所述的方法,其中,所述训练数据被用于检测所述对象。
14.根据权利要求13所述的方法,其中,在对所述视图进行了采样并且积累了所述训练数据之后,头戴式显示装置被配置为使用所述训练数据来检测所述对象。
15.根据权利要求7所述的方法,其中,相似性得分基于所述对象的外观和/或形状。
16.一种头戴式显示装置,所述头戴式显示装置包括:
存储器,所述存储器被配置为存储用于检测对象的训练数据,所述训练数据是从所述对象的多个视图导出的;
处理装置,所述处理装置被配置为利用所述训练数据来检测所述对象;以及
显示组件,所述显示组件被配置为显示所检测到的对象的图像;
其中,在对象检测之前,通过以下步骤,使用基于相邻视图的相似性得分的变化的采样密度来获得所述多个视图:
(a)接收(i)参考对象或(ii)3D模型的特征数据集,每个特征数据集是从根据所述参考对象或所述3D模型周围的视图范围内的主视图集捕获或生成的图像获得的,
(b)使用所述特征数据集来导出所述主视图集当中的每对相邻视图之间的相似性得分,
(c)在所述相似性得分等于或小于阈值的情况下对所述相邻主视图之间的辅视图集进行采样,使得采样密度在整个所述视图范围内变化,以及
(d)生成与所述主视图集和所述辅视图集相对应的训练数据。
17.根据权利要求16所述的头戴式显示装置,其中,在对象检测之前,先在围绕所述对象的位置处以粗采样分辨率对所述多个视图进行采样。
18.根据权利要求17所述的头戴式显示装置,其中,在对象检测之前,通过以下步骤来对所述多个视图进行采样:
在具有低相似性得分的相邻视图附近执行更精细的采样分辨率以获得附加视图;
导出以所述更精细的采样分辨率采样的所述附加视图之间的相似性得分;
在具有低相似性得分的所述附加视图附近执行再为精细的采样分辨率;以及
重复所述导出步骤和执行步骤直到所述相似性得分超过最小阈值。
19.根据权利要求18所述的头戴式显示装置,其中,对所述视图进行采样的步骤包括根据所述相似性得分而在一对相邻视图之间比在另一对相邻视图之间更密集地对所述视图进行采样。
CN201910275679.8A 2018-04-10 2019-04-08 计算机可读介质、训练对象检测算法的方法及显示装置 Active CN110363061B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/949,728 2018-04-10
US15/949,728 US10769437B2 (en) 2018-04-10 2018-04-10 Adaptive sampling of training views

Publications (2)

Publication Number Publication Date
CN110363061A true CN110363061A (zh) 2019-10-22
CN110363061B CN110363061B (zh) 2023-05-23

Family

ID=68097209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910275679.8A Active CN110363061B (zh) 2018-04-10 2019-04-08 计算机可读介质、训练对象检测算法的方法及显示装置

Country Status (2)

Country Link
US (1) US10769437B2 (zh)
CN (1) CN110363061B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787381A (zh) * 2020-06-24 2020-10-16 北京声迅电子股份有限公司 一种安检机采集图像的上传方法及上传装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018147329A1 (ja) * 2017-02-10 2018-08-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 自由視点映像生成方法及び自由視点映像生成システム
WO2019028472A1 (en) 2017-08-04 2019-02-07 Outward, Inc. IMAGE PROCESSING TECHNIQUES BASED ON MACHINE LEARNING
US11094079B2 (en) * 2018-08-28 2021-08-17 Facebook Technologies, Llc Determining a pose of an object from RGB-D images
US11087543B1 (en) 2019-06-20 2021-08-10 Snap Inc. Crowd sourced mapping system
US20230394038A1 (en) * 2022-06-02 2023-12-07 Servicenow, Inc. Dynamic Knowledgebase Generation with Machine Learning
CN115205456A (zh) * 2022-07-01 2022-10-18 维沃移动通信有限公司 三维模型构建方法、装置、电子设备及存储介质
US11816262B1 (en) * 2023-03-14 2023-11-14 Illuscio, Inc. Systems and methods for modifying a user interface based on eye focus

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090096790A1 (en) * 2007-10-11 2009-04-16 Mvtec Software Gmbh System and method for 3d object recognition
CN102572485A (zh) * 2012-02-02 2012-07-11 北京大学 一种自适应加权立体匹配算法、立体显示采集装置及***
CN105404884A (zh) * 2014-09-05 2016-03-16 顶级公司 图像分析方法
CN106558022A (zh) * 2016-11-30 2017-04-05 重庆大学 一种基于边缘差异约束的单幅图像超分辨率重建方法
CN107426559A (zh) * 2016-05-24 2017-12-01 汤姆逊许可公司 用于沉浸式视频格式的方法、装置和流
US20180096534A1 (en) * 2016-09-30 2018-04-05 Seiko Epson Corporation Computer program, object tracking method, and display device

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6116640A (en) * 1997-04-01 2000-09-12 Fuji Electric Co., Ltd. Apparatus for detecting occupant's posture
DE102006005044B4 (de) 2006-02-03 2011-01-27 Metaio Gmbh Verfahren und System zur Bestimmung eines Datenmodells zur Überlagerung mit einem realen Objekt in einem Verfahren zur Objektverfolgung
US20100259537A1 (en) 2007-10-12 2010-10-14 Mvtec Software Gmbh Computer vision cad models
US8422797B2 (en) 2009-07-01 2013-04-16 Honda Motor Co., Ltd. Object recognition with 3D models
EP2382599B1 (en) 2009-07-29 2012-12-12 Metaio GmbH Method for determining the pose of a camera with respect to at least one real object
US8817071B2 (en) * 2009-11-17 2014-08-26 Seiko Epson Corporation Context constrained novel view interpolation
JP4677536B1 (ja) 2009-11-20 2011-04-27 株式会社三次元メディア 3次元物体認識装置及び3次元物体認識方法
EP2588021B1 (en) 2010-06-29 2021-03-10 3Shape A/S 2d image arrangement
US8578299B2 (en) 2010-10-08 2013-11-05 Industrial Technology Research Institute Method and computing device in a system for motion detection
CN103582893B (zh) 2011-06-08 2017-10-13 英派尔科技开发有限公司 用于增强现实表示的二维图像获取
US9087408B2 (en) * 2011-08-16 2015-07-21 Google Inc. Systems and methods for generating depthmaps
US8467596B2 (en) 2011-08-30 2013-06-18 Seiko Epson Corporation Method and apparatus for object pose estimation
US9002098B1 (en) 2012-01-25 2015-04-07 Hrl Laboratories, Llc Robotic visual perception system
RU2572952C1 (ru) * 2012-07-27 2016-01-20 Ниссан Мотор Ко., Лтд. Устройство обнаружения трехмерных объектов и способ обнаружения трехмерных объектов
US9031317B2 (en) * 2012-09-18 2015-05-12 Seiko Epson Corporation Method and apparatus for improved training of object detecting system
US20140098100A1 (en) * 2012-10-05 2014-04-10 Qualcomm Incorporated Multiview synthesis and processing systems and methods
US10659750B2 (en) 2014-07-23 2020-05-19 Apple Inc. Method and system for presenting at least part of an image of a real object in a view of a real environment, and method and system for selecting a subset of a plurality of images
US9875427B2 (en) 2015-07-28 2018-01-23 GM Global Technology Operations LLC Method for object localization and pose estimation for an object of interest
US10169917B2 (en) 2015-08-20 2019-01-01 Microsoft Technology Licensing, Llc Augmented reality
US10373380B2 (en) 2016-02-18 2019-08-06 Intel Corporation 3-dimensional scene analysis for augmented reality operations
EP3343502B1 (en) 2016-12-28 2019-02-20 Dassault Systèmes Depth sensor noise
US10572720B2 (en) 2017-03-01 2020-02-25 Sony Corporation Virtual reality-based apparatus and method to generate a three dimensional (3D) human face model using image and depth data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090096790A1 (en) * 2007-10-11 2009-04-16 Mvtec Software Gmbh System and method for 3d object recognition
CN102572485A (zh) * 2012-02-02 2012-07-11 北京大学 一种自适应加权立体匹配算法、立体显示采集装置及***
CN105404884A (zh) * 2014-09-05 2016-03-16 顶级公司 图像分析方法
CN107426559A (zh) * 2016-05-24 2017-12-01 汤姆逊许可公司 用于沉浸式视频格式的方法、装置和流
US20180096534A1 (en) * 2016-09-30 2018-04-05 Seiko Epson Corporation Computer program, object tracking method, and display device
CN106558022A (zh) * 2016-11-30 2017-04-05 重庆大学 一种基于边缘差异约束的单幅图像超分辨率重建方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787381A (zh) * 2020-06-24 2020-10-16 北京声迅电子股份有限公司 一种安检机采集图像的上传方法及上传装置

Also Published As

Publication number Publication date
US10769437B2 (en) 2020-09-08
CN110363061B (zh) 2023-05-23
US20190311199A1 (en) 2019-10-10

Similar Documents

Publication Publication Date Title
CN110363061A (zh) 计算机可读介质、训练对象检测算法的方法及显示装置
US11483538B2 (en) Augmented reality with motion sensing
US11257233B2 (en) Volumetric depth video recording and playback
US10437347B2 (en) Integrated gestural interaction and multi-user collaboration in immersive virtual reality environments
US12007564B2 (en) Methods and apparatuses for corner detection using neural network and corner detector
CN112926428B (zh) 使用合成图像训练对象检测算法的方法和***和存储介质
CN105335950B (zh) 图像处理方法和图像处理装置
CN110377148B (zh) 计算机可读介质、训练对象检测算法的方法及训练设备
CN109146965A (zh) 信息处理装置和计算机程序
US11887246B2 (en) Generating ground truth datasets for virtual reality experiences
CN107004279A (zh) 自然用户界面相机校准
CN108257177B (zh) 基于空间标识的定位***与方法
Lombardi et al. Radiometric scene decomposition: Scene reflectance, illumination, and geometry from rgb-d images
EP4097711A1 (en) Augmented reality map curation
CN109906600A (zh) 模拟景深
US12026351B2 (en) 3D models for displayed 2D elements
Schütt et al. Semantic interaction in augmented reality environments for microsoft hololens
WO2023239955A1 (en) Localization processing service and observed scene reconstruction service
US11503270B1 (en) Imaging systems and methods for facilitating local lighting
CN110288714B (zh) 一种虚拟仿真实验***
Omosekeji Industrial vision robot with raspberry pi using pixy camera: stereo vision system
CN118304656A (zh) 一种脑血管病患者康复游戏参数修正方法及平台
Zhao Automated phenotyping of seeds using traditional and convolutional neural network-based methods

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
GR01 Patent grant
GR01 Patent grant