买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】距飞行时间相机的深度_微软技术许可有限责任公司_201580055718.3 

申请/专利权人:微软技术许可有限责任公司

申请日:2015-10-07

公开(公告)日:2020-07-17

公开(公告)号:CN106796656B

主分类号:G06K9/00(20060101)

分类号:G06K9/00(20060101);G06K9/62(20060101);G01S7/491(20200101);G01S17/10(20200101);G01S17/89(20200101);G01S17/36(20060101);G01S7/48(20060101)

优先权:["20141014 US 14/513,746"]

专利状态码:有效-授权

法律状态:2020.07.17#授权;2017.06.23#实质审查的生效;2017.05.31#公开

摘要:描述了原始飞行时间图像中的感兴趣区域检测。例如,计算设备接收由飞行时间相机针对单个帧捕获的至少一个原始图像。原始图像描绘飞行时间相机的环境中的一个或多个对象例如,人的手、身体或任何其他对象。将原始图像输入到经训练的区域检测器,并且作为响应,接收原始图像中的一个或多个感兴趣区域。接收的感兴趣区域包括原始图像的、被预测为描绘对象之一的至少部分的图像元素。深度计算逻辑从原始图像的一个或多个感兴趣区域计算深度。

主权项:1.一种用于计算深度的方法,包括:接收由飞行时间相机针对单个帧的至少一个初始捕获的图像,所述至少一个初始捕获的图像描绘所述飞行时间相机的环境中的一个或多个对象;使用训练数据将区域检测器训练为经训练的区域检测器,所述训练数据包括其他初始捕获的飞行时间图像,所述其他初始捕获的飞行时间图像具有经标记的感兴趣区域;向所述经训练的区域检测器输入所述至少一个初始捕获的图像,并且作为响应接收所述至少一个初始捕获的图像中的一个或多个感兴趣区域,感兴趣区域包括图像元素,所述图像元素至少部分基于较早帧中的感兴趣区域而被预测为描绘所述一个或多个对象的至少一部分;以及从所述至少一个初始捕获的图像的所述一个或多个感兴趣区域计算深度。

全文数据:距飞行时间相机的深度背景技术[0001]飞行时间(TOF相机越来越多地用于各种应用中,例如人机交互、汽车应用、测量应用和机器视觉。TOF相机可以用于生成深度图,深度图包含与场景中的对象到相机的深度相关的信息。深度是指距离在从相机延伸的假想线上的投影,其中距离是绝对径向距离或从成像平面到场景中的表面的距离。TOF相机处的光源照亮场景,并且光被场景中的对象反射。相机接收反射光,该反射光依赖于对象到相机的距离而经历延迟。鉴于光速是已知的,则可以生成深度图。[0002]以下描述的实施例不限于解决已知飞行时间相机或飞行时间图像处理系统的任何或所有缺点的实现。发明内容[0003]以下呈现本公开的简要概述,以向读者提供基本理解。该概述不是本公开的广泛综述,并且不标识关键重要的元素或描绘本说明书的范围。其唯一目的是以简化的形式呈现本文中所公开的概念的选择,作为稍后呈现的更详细描述的序言。[0004]描述了原始飞行时间图像中的感兴趣区域检测。例如,计算设备接收由飞行时间相机针对单个帧捕获的至少一个原始图像。原始图像描绘飞行时间相机的环境中的一个或多个对象例如,人的手、身体或任何其他对象)。将原始图像输入到经训练的区域检测器,并且作为响应,接收原始图像中的一个或多个感兴趣区域。接收的感兴趣区域包括原始图像的、被预测为描绘对象之一的至少部分的图像元素。深度计算逻辑计算到原始图像的一个或多个感兴趣区域的深度。[0005]很多伴随的特征将更容易理解,因为这些特征通过参考结合附图考虑的以下详细描述会变得更好理解。附图说明[0006]从根据附图阅读的以下详细描述将能更好地理解本说明书,其中:[0007]图1是飞行时间相机捕获环境中的用户的手的原始图像数据、以及从原始图像数据计算深度图的区域检测器和深度计算部件的示意图;[0008]图2是图1的区域检测器的更详细的示意图;[0009]图3是图2的区域检测器处的方法的流程图;[0010]图4是训练用于在图2的区域检测器中使用的分类器的方法的流程图;[0011]图5是操作作为图2的区域检测器的部分的经训练的分类器的方法的流程图;[0012]图6是飞行时间相机的示意图;[0013]图7是用于在图6的飞行时间相机处使用的计算深度的方法的流程图;以及[0014]图8示出了其中可以实现区域检测器和飞行时间深度计算逻辑的实施例的示例性基于计算的设备。[0015]相同的附图标记在附图中用于表示相同的部件。具体实施方式[0016]以下结合附图提供的详细描述旨在作为对本示例的描述,而非旨在表示可以构造或利用本示例的仅有形式。该描述阐述了示例的功能以及用于构造和操作示例的步骤序列。然而,相同或等同的功能和序列可以通过不同的示例来实现。[0017]图1是飞行时间相机100捕获用户在环境中进行复杂手姿势的手108的原始图像数据112的、以及从原始图像数据计算深度图122的区域检测器114和深度计算部件120的示意图。在该示例中,示出了一只手108。然而,实际上,在场景中可以有来自一个或多个用户的多个手。[0018]本文中认识到,在诸如存储器和处理能力的计算资源方面以及在时间方面,从原始传感器数据112计算深度是资源密集的。图1的新处理管线使得能够以更有效的方式分配计算资源和存储器。区域检测器114检测原始图像数据中的感兴趣区域。来自飞行时间传感器的原始图像是多个传感器测量例如,红外强度值)。可以针对飞行时间传感器的单个帧感测多个原始图像,多个原始图像中的一个用于多个调制频率中的一个。在图1的示例中,感兴趣区域是与背景表面、前臂和腕表面相反的、描绘手的区域。然而,感兴趣的区域将根据正在使用飞行时间相机的特定任务来描绘不同的对象或对象的部分。[0019]在一些示例中,区域检测器用作分割器和检测器。例如,区域检测器区分描绘单个手或其他对象或对象的部分,这取决于所涉及的任务的原始图像数据的区域;即,区域检测器分割描绘单独的手的原始图像数据的区域。当两只手正在交互时(例如,握手或做出“举手击掌”手势),这是特别困难的。然而,在一些示例中,在计算深度之后,在处理管线中稍后执行分割。[0020]区域检测器114的输出为来自飞行时间相机的、原始传感器数据的每帧零个、一个或多个候选区域118。如图1所示并且在下面更详细地描述的,每个帧可以包括多个原始传感器数据图像。这些区域被输入到深度计算部件120,深度计算部件120计算到原始传感器数据的区域的深度值。这使得能够更有效地分配资源,因为仅针对帧的候选区域118计算深度,而不是针对帧的完整原始传感器数据来计算深度。先前的方法计算了针对整个数据帧的深度。[0021]从原始传感器数据检测感兴趣区域不简单,因为原始传感器数据由于传感器噪声而有噪声,可能包含环境照明并且不提供缩放信息。[0022]已经训练了新处理管线的区域检测器114来学习原始飞行时间图像的图像元素和感兴趣区域之间的关联。例如,区域检测器包括经训练的分类器,其用于对原始传感器数据图像、或聚合的原始传感器数据图像的图像元素进行分类。然后将分类的结果用于计算如下面更详细地描述的候选区域。在一些示例中,区域检测器114利用高级信息116例如,感兴趣区域中的对象类型的知识、来自下游系统124的状态数据、或在先前帧中检测的感兴趣区域)。状态数据可以是例如在游戏系统128上执行的游戏的状态、或增强现实系统130的状态。状态数据提供可能或不可能的感兴趣区域的指示。[0023]来自深度计算部件的深度图122被输入到下游系统124例如,自然用户界面126、游戏系统128或增强现实系统130。这些仅是示例,并且可以使用其他下游系统124。在一些示例中,深度图122被输入到姿态跟踪器,姿态跟踪器被布置为跟踪用户的手的高维度姿态。在一些示例中,深度图用于距离测量、汽车应用例如,停车传感器和防撞系统)、以及测量到对象的准确距离的其他应用。[0024]在图1所示的示例中,为了清楚起见,区域检测器114和深度计算部件120被示出在飞行时间相机1〇〇外部。然而,区域检测器114和深度计算部件120可以与飞行时间相机整体地或部分地集成。这将在下面参考图6进行说明。在其他示例中,区域检测器114和或深度计算部件在能够例如使用有线或无线通信链路或以其他方式从飞行时间相机接收数据的计算设备例如,图8的计算设备)中。在一些示例中,区域检测器和或深度计算部件位于云中的计算设备处。[0025]飞行时间相机100可以是相位调制飞行时间相机或者使用快门定时的门控飞行时间相机。它包括光源102和接收器104。[0026]在相位调制飞行时间相机的情况下,光源102发射调制光。在示例中,调制光源102可以是发射透射光106的非相干光源,使用调制频率为fMd的信号来调制透射光106。在一个示例中,来自设备的光可以在高频率例如,在MHz范围中的频率处被调制,使得照明量周期性地变化。在一个示例中,照明的周期性变化可以采用正弦函数的形式。[0027]在相位调制飞行时间示例中,调制光源102以多个调制频率例如,三个调制频率)发射光。可以选择光源102,使得发射的光的波长对于特定应用是最合适的波长。在一个示例中,光源可以是不可见光源例如,近红外光源)。在另一示例中,光源可以是可见光源。在一个实施例中,光源可以被选择为用于其预期的应用的适当波长的光源。[0028]在门控也称为基于脉冲的)飞行时间相机的情况下,光源102发射极短的照明脉冲。例如,使用发射皮秒持续时间的光脉冲的强大的激光光源。在门控飞行时间相机的情况下,接收器104包括具有能够分辨光源102的短脉冲的分辨率的高速范围传感器。例如,接收器104具有皮秒分辨率。[0029]光源可以照亮相机的场内的对象108,并且至少一些光从对象朝向相机反射回来。在一个示例中,检测到的对象可以是人或人的一部分如图1的示例);然而,可以生成任何对象或对象的一部分的深度图。反射光110可以由接收器104检测。[0030]在相位调制飞行时间中,反射光也被调制,并且由于光在相机和对象之间的返回行程上行进的距离所引起的延迟,反射光110可以与透射光106异相。对于接收器104的每个像素,可以针对每个调制频率确定接收信号相对于透射光的振幅和相位差。在图3的示例中,使用三个调制频率,导致飞行时间相机的每帧有三个原始传感器数据图像。然而,可以使用其他数目的调制频率。[0031]在门控飞行时间中,针对一个或多个不同的曝光时段测量接收器104的像素寄存的反射光的量。曝光时段是飞行时间相机100的光电传感器的像素在其间主动感测(与“关闭”相对的时间间隔。在曝光时段期间,从视场中的表面反射的光的量用于计算表面距相机的距离。这可以通过将所感测的反射光的量与在校准过程期间获得的相机行为的模型进行比较来完成。在一些示例中,模型是相机行为的概率模型。[0032]图2是用于检测原始飞行时间图像数据中的图像区域212的计算机实现的区域检测器114的示意图,其中这些区域描绘特定类型的对象或对象部分。区域检测器可以是例如图6或图8的区域检测器。在一些示例中,区域检测器将单独的原始图像112例如,图1的“原始传感器数据Γ图像之一作为输入。在其他示例中,区域检测器将聚合的原始图像200作为输入。例如,聚合的原始图像200是平均亮度图像,平均亮度图像是三个红外图像的聚合,一个红外图像用于三个调制频率中的一个其中飞行时间相机使用如上所述的三个调制频率)。在一些示例中,区域检测器将环境原始图像作为输入,环境原始图像是在飞行时间相机不进行主动照明的时段期间捕获的图像,并且捕获作为场景中的任何环境照明的结果的光。[0033]区域检测器114包括经训练的分类器202、可选规则204、聚类部件206在一些示例中)、滑动窗口检测器208在一些示例中)、以及在输入是每帧多个单独的原始图像112的情况下的聚合器210。区域检测器114能够访问或发送高级信息214。高级信息的示例包括但不限于用户的手大小、用户的手的形状、待检测的对象的3D模型。[0034]经训练的分类器可以是神经网络分类器、支持向量机分类器、随机决策森林分类器、有向无环图丛林分类器、鉴别蕨类集合分类器、或任何其他经训练的分类器。用于训练分类器的训练数据包括具有标记的感兴趣区域的大量原始飞行时间图像。训练数据包括描绘不同环境中且具有不同照明条件的一个或多个对象或感兴趣对象的部分的原始飞行时间图像。训练数据可以是经验观察到的或可以是合成生成的。[0035]随机森林包括多个决策树,每个决策树具有根节点、多个分裂节点和多个叶节点。在测试时(当将先前未见的示例应用于已经训练的随机森林时),可以在过程中通过随机决策森林的树将图像的图像元素从根节点推到叶节点,由此在每个分裂节点处做出决策。根据图像元素的特性和测试图像元素的特性来进行该决策,测试图像元素由分裂节点处的参数指定的空间偏移从其移位。在分裂节点处,图像元素沿根据决策结果选择的分支前进到树的下一级。随机决策森林可以使用回归或分类。到达森林中的每个树的一个叶节点,并且访问在训练期间存储在这些叶节点处的数据。例如,该数据包括聚合形式的标记的训练数据。可以聚合从每个树找到的叶节点数据,以产生最终输出。[0036]在训练期间,学习参数值也称为特征)以在分裂节点处使用,并且在叶节点处累积数据。例如,包括标记图像的训练数据通过树,并且根据分裂节点测试参数在分裂节点处处理训练数据的程度,在每个分裂节点处选择分裂节点测试参数(根据随机生成的可能性)。信息增益准则或其他公知的准则可用于评估分裂节点测试参数如何有效地处理分裂节点处的训练数据。[0037]除了多个分裂节点被合并在一起之外,决策丛林是被配置为针对随机决策森林的多个有向无环图。即,与在随机决策森林中的二叉树不同,丛林的单独的成员是有向无环图。[0038]鉴别蕨类集合是包含由索引值索引的聚合训练数据的多个查找表,其中在训练阶段期间,学习聚合训练数据例如,在图像分类的情况下的图像标签和索引值。在测试时,在不需要遍历有向无环图或决策树的情况下从未看见的示例(例如,图像元素的图像或补丁计算索引值,并且索引值用于从集合中的每个蕨类表中查找聚合的训练数据。从每个蕨类表查找的数据被累积,以计算输出预测(例如,(在分类任务的情况下)类标签上的分布。[0039]聚类部件206被布置为将从经训练的分类器输出的标记的图像元素聚类cluster。其使用任何公知的聚类过程例如,k均值聚类或凝聚聚类)。[0040]滑动窗口检测器208可以是具有可选的均值平移过程的Parzen窗口密度估计器。这将参考图3更详细地解释。在一些示例中,非最大抑制用于防止针对相同观察对象的多个感兴趣区域的激励。[0041]图3是在区域检测器例如,图6和图8的区域检测器处的方法的流程图。接收300原始图像数据,例如来自飞行时间相机的飞行时间图像数据。由经训练的分类器处理单个图像。例如,如上所述的平均亮度图像、或来自飞行时间相机的单个帧的多个图像中的一个。在一些示例中,使用经训练的分类器标记302原始图像数据的单独地图像元素例如,像素或像素补块),例如,将其归属于感兴趣区域或不感兴趣区域。分析标记的图像元素以检测零个、一个或多个感兴趣区域。在一些示例中,这通过使用公知的聚类304过程来完成。在一些示例中,这通过使用诸如Parzen窗口密度估计器的滑动窗口来完成。Parzen窗口密度估计器也称为核密度估计器是用于估计概率密度函数在图像元素标签的情况下)的非参数处理。然后可以使用平均移位模式检测来检测由Parzen窗口密度估计器定义的分布中的模式。平均移位模式检测是有效地检测由Parzen窗口密度估计器定义的分布中的模式峰值的算法。每个模式是感兴趣的候选区域。[0042]在一些示例中,不是标记单独的图像元素,而是使用滑动窗口,可以滑动窗口并且标记每个窗口。[0043]在一些示例中,区域检测器具有用于将高级信息应用306于来自分类器的经标记的图像元素的分析的一个或多个规则。例如,区域检测器可以接收状态数据,状态数据指示在游戏系统128处执行的高尔夫游戏处于玩家即将开球的状态。区域检测器可以使用具有预定义规则的该状态数据,以使得能够向原始图像数据的区域中玩家的手被期望抓握高尔夫球杆的候选区域给出更多的权重。在另一示例中,区域检测器可以具有编码规则或算法,以搜索原始图像的预期要描绘用户的前臂的特定2D区域。例如,2D锥形。编码规则或算法可以从提供感兴趣区域的近似位置的另一过程例如,骨架跟踪器获取输入。然后,搜索可以限于围绕近似位置的2D区域,其中2D区域与近似位置的不确定性的测量相关。[0044]区域检测器检查针对当前帧是否存在任何更多的原始图像。如果存在,则重复步骤300至306的过程。在已经处理了针对单个帧的多个原始图像的情况下,累积310数据。区域检测器针对已经分析的帧输出零个、一个或多个感兴趣候选区域312。图3的过程可以针对后续帧重复,并且在一些示例中,较早帧中检测的区域用于影响后续帧中的区域的预测。[0045]上面的示例描述了将原始信号单独地分类,然后在执行聚类之前聚合分类的结果。然后可以如上所述应用非最大抑制。[0046]在另一示例中,在分类之前聚合原始信号。[0047]还可以使用已经被训练为使用所有N个原始信道其中信道是调制频率或曝光时段作为输入的分类器。[0048]在一些示例中,经训练的分类器是随机决策森林。鉴于需要处理传感器噪声、环境照明和缺乏标度信息,已经发现使用随机决策森林作为分类器是特别有效的。使用随机决策森林实现可以并行化的极其有效的过程。在使用随机决策森林的情况下,可以如参考图4所描述的那样训练,并且可以在如参考图5描述的测试时间使用。[0049]参考图4,为了训练决策森林,首先接收400包括具有标记的感兴趣区域的原始飞行时间图像的训练集合。选择402在随机决策森林中使用的决策树的数目。[0050]选择404来自决策森林的决策树例如,第一决策树400,并且选择406根节点406。然后选择408来自每个训练图像的图像元素的至少子集。例如,每隔一个图像元素。每个训练图像的每个选择的图像元素根据是否是感兴趣区域与标签相关联。[0051]然后生成410测试参数的随机集合,以供在根节点处执行的二进制测试用作候选特征。在一个示例中,二进制测试使用阈值和将参考图像元素与从参考图像元素偏移随机选择的量的一个或多个探测图像元素进行比较的特征。阈值和偏移量是测试参数的示例。[0052]然后,可以将测试参数的每个组合应用412于训练图像集合中的每个图像元素。换言之,结合每个训练图像中的每个图像元素的阈值的可用值,一个接一个地尝试针对偏移的可用值。对于每个组合,计算414标准也称为目标)。在一个示例中,所计算的标准包括信息增益也称为相对熵)。选择414优化标准例如,最大化信息增益的参数的组合并且将其存储在当前节点处以供将来使用。作为信息增益的备选,可以使用其他标准,例如,Gini熵或所描述的“two-ing”准则等。[0053]然后确定416针对所计算的准则的值是否小于或大于)阈值。如果针对所计算的标准的值小于阈值,则表明树的进一步扩展不提供显著的益处。这产生不对称的树,其在没有另外的节点是有益的情况下自然停止生长。在这种情况下,将当前节点设置418为叶节点。类似地,确定树的当前深度(即,根节点和当前节点之间有多少级别的节点)。如果这大于预定义的最大值,则将当前节点设置418为叶节点。每个叶节点具有标记的飞行时间图像数据,飞行时间图像数据在如下所述的训练过程期间在该叶节点处累积。[0054]也可以结合已经提及的这些使用另一停止准则。例如,评估到达叶子的示例图像元素的数目。如果存在太少的示例例如,与阈值相比),则该过程可以被布置为停止以避免过度拟合。然而,使用该停止准则不是必要的。[0055]如果所计算的准则的值大于或等于阈值,并且树深度小于最大值,则将当前节点设置420为分裂节点。因为当前节点是分裂节点,所以它具有子节点,然后过程移动到训练这些子节点。使用当前节点处的训练图像元素的子集训练每个子节点。使用优化准则的参数来确定发送到子节点的图像元素的子集。这些参数在二进制测试中使用,并且对当前节点处的所有图像元素执行422二进制测试。通过二进制测试的图像元素形成被发送到第一子节点的第一子集,并且未通过二进制测试的图像元素形成被发送到第二子节点的第二子集。[0056]对于每个子节点,针对指向相应子节点的图像元素的子集,递归地执行424图4的框410至422中概述的过程。换言之,对于每个子节点,生成410新的随机测试参数,将随机测试参数应用于412图像元素的相应子集,选择414优化准则的参数,并且确定416节点的类型分裂还是叶)。如果是叶节点,则当前递归分支停止。如果它是分裂节点,则执行422二进制测试以确定图像元素的另外的子集,并且开始另一递归分支。因此,该过程递归地移动通过树,训练每个节点,直到在每个分支处到达叶节点。当到达叶节点时,过程等待426,直到所有分支中的节点都已经被训练。注意,在其他示例中,可以使用备选的递归技术来实现相同的功能。[0057]一旦树中的所有节点都已经被训练以确定用于优化每个分裂节点处的准则的二进制测试的参数,并且已经选择叶节点来终止每个分支,则训练数据可以在树的叶节点处被累积428。这是训练阶段,因此到达给定叶节点的特定图像元素具有从地面实况训练数据已知的特定的感兴趣区域标签。可以使用各种不同的方法存储430训练数据的表示。可选地,可以使用采样来选择要被累积和存储的训练数据,以维持低内存占用。例如,可以使用储层采样,由此获取训练数据的固定最大尺寸样本。选择可以是随机的或以任何其他方式。[0058]一旦已经存储了累积的训练数据,则确定432决策森林中是否存在更多的树。如果是,则选择决策森林中的下一树,并且重复该过程。如果森林中的所有树都已经被训练,并且没有其他剩余,则训练过程完成并且过程终止434。[0059]因此,作为训练过程的结果,使用合成或经验训练图像来训练一个或多个决策树。每个树包括存储优化的测试参数的多个分裂节点、以及叶节点,叶节点存储相关联的标记的原始飞行时间图像元素或累积的标记的原始飞行时间图像元素的表示。由于从每个节点处使用的有限子集随机地生成参数,所以森林的树是彼此有区别的(即,不同的)。[0060]可以在使用经训练的预测系统来对原始飞行时间图像中的图像元素进行分类之前执行训练过程。决策森林和优化的测试参数可以被存储在存储设备上,以用于稍后标识感兴趣的区域。[0061]图5示出了使用决策森林如参考图4所描述的经训练的决策森林来将图像元素分类为在感兴趣的区域中或不在之前未看见的飞行时间图像中的过程的流程图。首先,接收500未看见的飞行时间图像。图像被称为“未看见”,以将其与具有已指定的感兴趣区域的训练图像区分开。未看见的图像可以是原始飞行时间图像、与单个帧相关联的原始飞行时间图像的集合、或者一个或多个聚合的原始飞行时间图像。[0062]选择502来自未看见的图像的图像元素。还选择504来自决策森林的经训练的决策树。所选择的图像元素被推送506通过所选择的决策树(以与上面参考图4描述的类似的方式),使得其在节点处针对训练的参数被测试,然后根据测试的结果被传递给适当的子代,并且重复该过程直到图像元素到达叶节点。一旦图像元素到达叶节点,则针对该图像元素存储508与该叶节点相关联的累积的标签来自训练阶段)。[0063]如果确定510森林中存在更多的决策树,则选择504新的决策树,推送506图像元素通过树,并且存储508累积的感兴趣的标签。该过程被重复,直到已针对森林中的所有决策树执行了该过程。注意,用于将图像元素推送通过决策森林中的多个树的过程也可以并行执行,而不是如图5所示地顺序执行。[0064]然后确定512在未看见的飞行时间图像中是否存在另外的未分析的图像元素,并且如果是,则选择另一图像元素并且重复该过程。一旦分析了未看见的图像中的所有图像元素,则针对所有图像元素获得感兴趣区域标签。[0065]当图像元素被推送通过决策森林中的树时,感兴趣区域标签累积。使用聚类或滑动窗口过程514来分析这些累积的标签,以找到感兴趣的区域。[0066]从聚类或滑动窗口过程输出516零个、一个或多个区域。[0067]图6是飞行时间深度相机600的示意图,飞行时间深度相机600可以是相位调制飞行时间深度相机或门控飞行时间深度相机。飞行时间深度相机600包括透射光源602。在一个示例中,透射光源是非相干光源。在另一示例中,透射光源是相干光源。适当的光源的示例是近红外激光器或LED,然而可以使用另一适当的光源。在相位调制飞行时间相机的情况下,透射光可以以调制频率被调制。在一个示例中,调制频率可以是在kHz-GHz范围中的RF频率,例如,调制频率可以在MHz范围中。在门控飞行时间相机的情况下,透射光可以是脉冲的,其中脉冲可以具有皮秒持续时间。[0068]飞行时间深度相机还可以包括接收从场景内的对象反射的光的图像传感器604。图像传感器604可以包括CCD传感器、CMOS传感器、例如光子混合器装置PMD传感器、或者可以被布置为检测从相机范围内的对象、人和表面反射的光的其他适当的传感器。在门控飞行时间相机的情况下,图像传感器604具有与由光源发射的脉冲的持续时间兼容的分辨率。[0069]相机还可以包括光学系统606,光学系统606被布置为收集来自环境的反射光并且将反射光聚焦到图像传感器604上。在一个示例中,光学系统可以包括光学带通滤波器,光学带通滤波器可以仅使得与光源具有相同波长的光能够被传感器接收。使用光学带通滤波器可以帮助抑制背景光。相机还可以包括驱动器电子装置608,驱动器电子装置608控制光源和图像传感器二者,例如以使得能够进行高精度的相位差测量或者使得能够发射一列光脉冲,并且使图像传感器被“快门”开关。图像传感器可以被电子地快门(而不是物理快门)开关。[0070]在一个示例中,相机可以包括计算逻辑610。在一个实施例中,计算逻辑可以被布置为执行本文中参考图3至图5和图7描述的方法。[0071]计算逻辑还可以包括集成的深度图计算逻辑612和区域检测器614。在一个示例中,深度图计算逻辑612可以被布置为根据从光源发射的光和在接收器处接收的光之间的相位差来估计对象的距离。[0072]备选地或附加地,图6的功能可以至少部分地由一个或多个硬件逻辑部件执行。例如但不限于,可以使用的硬件逻辑部件的示例性类型包括现场可编程门阵列FPGA、程序特定的集成电路ASIC、程序特定的标准产品ASSP、系统级芯片系统SOC、复杂可编程逻辑器件CPLD、图形处理单元GPU。[0073]图7是操作图6的飞行时间相机的方法的流程图。飞行时间深度相机处的光源照亮700—个或多个附近对象。在相位调制飞行时间相机的情况下,光源可以是在一个或多个频率下调制的光源。在门控飞行时间相机的情况下,光源是脉冲的。接收702从附近对象反射的光。接收原始传感器数据。在相位调制飞行时间相机的情况下,原始传感器数据包括例如在多个调制频率的每一个处感测的红外强度图像。从强度图像计算704振幅和相位测量。[0074]在门控飞行时间相机的情况下,原始传感器数据包括在多个不同曝光时段中的每一个处的红外强度图像。在这种情况下,省略步骤704。[0075]将针对单个帧的原始传感器数据在步骤702处接收)的至少部分输入到区域提取器例如,图2的区域提取器),并且图3的过程随后检测零个、一个或多个感兴趣区域706。针对来自步骤702的感兴趣区域的原始传感器数据被处理,以计算704由相机检测的光的振幅和相位测量。在一个示例中,反射光可以以与光源相同的频率一个或多个被调制,并且可以针对接收到光的相机的每个像素处的每个调制频率来确定704所接收的反射光的振幅和相位。[0076]在相位调制飞行时间相机的情况下,深度图计算逻辑712、810可以被布置为通过计算针对相机接收器的每个像素的距离测量来根据反射光的测量的振幅和相位计算708深度图。在每个像素处接收的光的振幅可以用于生成强度图或2-D图像。可以根据反射光相对于透射光的相移来确定对象距相机的深度。鉴于光速是已知常数,则可以如下根据相移(以弧度为单位来计算对象的深度(以米为单位):[0077][0078]其中以米秒为单位的c是光速,以MHz为单位的fmod是调制频率,φ是以弧度表不的相移。因此,可以针对接收器的每个像素确定强度和距离,并且可以以取决于接收器的分辨率的分辨率生成深度图,g卩,与根据在具有1000个像素的接收器处接收的调制光生成的深度图相比,根据在具有10000个像素的接收器处接收的调制光生成的深度图将具有更高的分辨率。[0079]数量c2fMd是在仅使用单个频率的情况下,可以由深度相机明确地测量的最大距离。因此,可以选择一个或多个调制频率,以提供对于正在使用的应用最合适的距离测量。在一个示例中,在深度相机与游戏系统一起使用的情况下,可以选择一个或多个调制频率,以提供近似等于房间的尺寸的最大明确的距离测量。例如,如果所要求的最大明确距离测量在4-10米的范围中,则可以选择调制频率在15-37.5MHz的范围中。然而,在另一示例中,可以组合多个调制频率以给出明确的测量。[0080]在相位调制飞行时间相机的情况下,深度图计算逻辑712、810可以被布置为通过计算针对相机接收器的每个像素的距离测量来根据在不同曝光时段中的反射光的测量强度计算深度图。这通过将测量的强度与在校准阶段中获得的相机行为的一个或多个模型进行比较来完成。[0081]图8示出了示例性基于计算的设备800的各种部件,基于计算的设备800可以被实现为任何形式的计算和或电子设备并且在基于计算的设备800中可以实现飞行时间图像中的感兴趣区域检测的实施例。[0082]基于计算的设备800包括一个或多个处理器802,处理器802可以是微处理器、控制器、或用于处理计算机可执行指令以控制设备的操作来检测飞行时间图像中的感兴趣区域的任何其他合适类型的处理器。在一些示例中,例如在使用片上系统架构的情况下,处理器802可以包括一个或多个固定功能块也称为加速器),一个或多个固定功能块在硬件不是软件或固件)中实现感兴趣区域提取方法的部分。例如,用于计算深度图的计算逻辑和区域检测器可以在硬件中实现。可以在基于计算的设备处提供包括操作系统804的平台软件或任何其他合适的平台软件,以使得应用软件806能够在设备上执行。在一个示例中,基于计算的设备800还可以包括计算逻辑808。计算逻辑808还可以包括集成的深度图计算逻辑810和区域检测器812。在一个示例中,深度图计算逻辑810可以被布置为根据从光源发射的光与接收器处接收的光之间的相位差来估计对象的距离。[0083]可以使用由基于计算的设备800可访问的任何计算机可读介质来提供计算机可执行指令。计算机可读介质可以包括例如计算机存储介质(例如,存储器816和通信介质。诸如存储器816的计算机存储介质包括用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术中实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、R0M、EPR0M、EEPR0M、闪存或其他存储器技术、CD-R0M、数字通用盘DVD或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可以用于存储信息以供计算设备访问的任何其他非传输介质。相反,通信介质可以在调制的数据信号例如,载波或其他传输机制)中实施计算机可读指令、数据结构、程序模块或其他数据。如本文中所定义的,计算机存储介质不包括通信介质。因此,计算机存储介质不应当被解释为传播信号本身。传播的信号可以存在于计算机存储介质中,但是传播的信号本身不是计算机存储介质的示例。虽然计算机存储介质存储器816被示出为在基于计算的设备800内,但是应当理解,存储可以是分布式的或远程定位的,并且经由网络或其他通信链路例如,使用通信接口808来访问。[0084]基于计算的设备800还包括被布置为向显示设备824输出显示信息的输入输出控制器820,显示设备824可以与基于计算的设备800分离或者集成到基于计算的设备800。显示信息可以提供图形用户界面。输入输出控制器820还被布置为接收和处理来自诸如飞行时间相机814和用户输入设备822例如,鼠标、键盘、相机、麦克风或其他传感器)的一个或多个设备的输入。在一些示例中,用户输入设备822可以检测语音输入、用户手势或其他用户动作,并且可以提供自然用户界面NUI。在一个实施例中,如果显示设备824是触敏显示设备,则显示设备824还可以用作用户输入设备822。输入输出控制器820还可以向除显示设备以外的设备例如,本地连接的打印设备图8中未示出)输出数据。[0085]输入输出控制器820、显示设备824和用户输入设备822中的任何一个可以包括NUI技术,NUI技术使得用户能够以自然的方式与基于计算的设备交互,而不受诸如鼠标、键盘、遥控器等输入设备强加的人工约束。可以提供的NUI技术的示例包括但不限于依赖于以下各项的NUI技术:语音和或语音识别、触摸和或触控笔识别(触敏显示器)、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、语音和声音、视觉、触摸、手势和机器智能。可以使用的NUI技术的其他示例包括意图和目标理解系统、使用深度相机的运动手势检测系统例如,立体相机系统、红外相机系统、RGB相机系统及其组合)、使用加速度计陀螺仪的运动手势检测、面部识别、3D显示、头部、眼睛和凝视跟踪、沉浸式增强现实和虚拟现实系统、以及使用电场感测电极感测大脑活动的技术EEG和相关方法)。[0086]在一个示例中,方法包括:[0087]接收由飞行时间相机针对单个帧捕获的至少一个原始图像,原始图像描绘飞行时间相机的环境中的一个或多个对象;[0088]向经训练的区域检测器输入原始图像,并且作为响应接收原始图像中的一个或多个感兴趣区域,感兴趣区域包括被预测为描绘对象中的一个对象的至少一部分的图像元素;以及[0089]从原始图像的一个或多个感兴趣区域计算深度。[0090]例如,区域检测器已经被训练为学习感兴趣区域与原始飞行时间图像的图像元素之间的关联。[0091]在示例中,仅从原始图像的一个或多个感兴趣区域计算深度。[0092]在一个示例中,来自飞行时间相机的原始图像是多个红外强度值。[0093]示例可以包括接收由飞行时间相机针对单个帧捕获的多个原始图像;聚合多个原始图像,以产生聚合的原始图像;以及向经训练的区域检测器输入聚合的原始图像。[0094]示例包括接收由所述飞行时间相机针对单个帧捕获的多个原始图像;以及向经训练的区域检测器输入原始图像中的每个原始图像。[0095]示例包括使用经训练的区域检测器来将原始图像的图像元素分类为在感兴趣区域中或不在感兴趣的区域中。[0096]示例包括对所分类的图像元素进行聚类。[0097]示例包括向所分类的图像元素应用滑动窗口检测器。[0098]示例包括使用训练数据来训练区域检测器,训练数据包括描绘对象的示例的原始飞行时间图像,原始飞行时间图像具有经标记的感兴趣区域。[0099]在一些示例中,经训练的区域检测器是随机决策森林。[0100]在一个示例中,存在一种计算系统,包括:[0101]输入输出控制器,被布置为接收由飞行时间相机针对单个帧捕获的至少一个原始图像,原始图像描绘飞行时间相机的环境中的一个或多个对象;[0102]区域检测器,被布置为从原始图像计算原始图像中的一个或多个感兴趣区域,感兴趣区域包括被预测为描绘对象中的一个对象的至少一部分的图像元素;以及[0103]深度图计算逻辑810,被布置为从原始图像的一个或多个感兴趣区域计算深度。[0104]例如,在计算系统中,区域检测器包括已经被训练为学习感兴趣区域与原始飞行时间图像的图像元素之间的关联的分类器。[0105]区域检测器可以包括聚类部件,聚类部件被布置为对由分类器输出的经标记的图像元素进行聚类。[0106]区域检测器可以包括滑动窗口部件,滑动窗口部件被布置为根据由分类器输出的经标记的图像元素来计算一个或多个区域。[0107]计算系统可以被集成在飞行时间相机中。[0108]在一个示例中,一种计算机可读介质存储指令,指令在由计算设备执行时,控制设备:[0109]接收由飞行时间相机针对单个帧捕获的至少一个原始图像,原始图像描绘飞行时间相机的环境中的一个或多个对象;[0110]向区域检测器发送原始图像,并且作为响应接收原始图像中的一个或多个感兴趣区域,区域检测器已经被训练为学习感兴趣区域与原始飞行时间图像的图像元素之间的关联,感兴趣区域包括被预测为描绘对象中的一个对象的至少一部分的图像元素;以及[0111]从原始图像的一个或多个感兴趣区域计算深度。[0112]在一个示例中,计算机可读介质存储指令,指令在由计算设备执行时,控制设备:接收由所述飞行时间相机针对单个帧捕获的多个原始图像;聚合多个原始图像,以产生经聚合的原始图像;以及向经训练的区域检测器输入经聚合原始图像。[0113]在一个示例中,计算机可读介质存储指令,指令在由计算设备执行时,控制设备:接收由飞行时间相机针对单个帧捕获的多个原始图像;以及向经训练的区域检测器输入原始图像中的每一个。[0114]在一个示例中,计算机可读介质存储指令,指令在由计算设备执行时,控制所述设备仅从一个或多个感兴趣区域计算深度。[0115]本文中使用的术语“计算机”或“基于计算的设备”是指具有处理能力使得其可以执行指令的任何设备。本领域技术人员将认识到,这样的处理能力被并入很多不同的设备中,因此术语“计算机”和“基于计算的设备”各自包括PC、服务器、移动电话包括智能电话)、平板计算机、机顶盒、媒体播放器、游戏控制台、个人数字助理和很多其他设备。[0116]本文中所描述的方法可以由有形存储介质上的机器可读形式例如,包括计算机程序代码装置的计算机程序的形式,当程序在计算机上运行时,计算机程序代码装置适于执行本文中所描述的任何方法的所有步骤,并且其中计算机程序可以在计算机可读介质上实现)的软件执行。有形存储介质的示例包括包含计算机可读介质(例如,磁盘、拇指驱动器、存储器等)的计算机存储设备并且不包括传播信号。传播信号可以存在于有形存储介质中,但是传播信号本身不是有形存储介质的示例。软件可以适于在并行处理器或串行处理器上执行,使得方法步骤可以以任何合适的顺序或同时执行。[0117]这确认软件可以是有价值的、可单独交易的商品。其旨在涵盖运行或控制“非智能dumb”或标准硬件以执行期望功能的软件。还旨在涵盖“描述”或定义用于设计硅芯片或用于配置通用可编程芯片以执行期望功能的硬件(例如,HDL硬件描述语言)软件)的配置的软件。[0118]本领域技术人员将认识到,用于存储程序指令的存储设备可以分布在网络上。例如,远程计算机可以存储被描述为软件的过程的示例。本地或终端计算机可以访问远程计算机并且下载软件的一部分或全部以运行程序。备选地,本地计算机可以根据需要下载软件的部分,或者在本地终端处执行一些软件指令,并且在远程计算机或计算机网络处执行一些软件指令。本领域技术人员还将认识到,通过利用本领域技术人员已知的常规技术,软件指令的全部或一部分可以由专用电路例如,DSP、可编程逻辑阵列等来执行。[0119]在不失去所寻求的效果的情况下,本文中给出的任何范围或设备值可以扩展或改变,这对本领域技术人员是显而易见的。[0120]尽管已经用对结构特征和或方法动作专用的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于上述具体特征或动作。相反,上面描述的具体特征和动作被公开作为实现权利要求的示例形式。[0121]将理解,上述的益处和优点可以涉及一个实施例或者可以涉及若干实施例。实施例不限于解决任何或所有所述问题的那些实施例,或者具有任何或全部所述益处和优点的实施例。还应当理解,对“一个aan”项目的引用是指这些项目中的一个或多个。[0122]本文中所描述的方法的步骤可以以任何合适的顺序进行,或在适当时同时进行。附加地,在不脱离本文中所描述的主题的精神和范围的情况下,可以从任何方法中删除单独的块。在不失去所寻求的效果的情况下,上述任何示例的各方面可以与所描述的任何其他示例的各方面组合,以形成另外的示例。[0123]术语“包括包含”在本文中用于表示包括所标识的方法块或元素,但是这样的块或元素不包括排他性列表,并且方法或装置可以包含附加的块或元素。[0124]术语“子集”在本文中用于指代真子集,使得集合的子集不包括集合的所有元素即,集合的元素中的至少一个元素从子集中丢失)。[0125]应当理解,上述描述仅以示例的方式给出,并且本领域技术人员可以进行各种修改。上述说明书、示例和数据提供了示例性实施例的结构和使用的完整描述。虽然以上已经以某种程度的特殊性或者参考一个或多个单独的实施例描述了各种实施例,但是本领域技术人员可以在不脱离本说明书的精神或范围的情况下,对所公开的实施例进行多种改变。

权利要求:1.一种方法,包括:接收由飞行时间相机针对单个帧捕获的至少一个原始图像,所述原始图像描绘所述飞行时间相机的环境中的一个或多个对象;向经训练的区域检测器输入所述原始图像,并且作为响应接收所述原始图像中的一个或多个感兴趣区域,感兴趣区域包括图像元素,所述图像元素被预测为描绘所述对象中的一个对象的至少一部分;以及从所述原始图像的所述一个或多个感兴趣区域计算深度。2.根据权利要求1所述的方法,所述区域检测器已经被训练为学习感兴趣区域和原始飞行时间图像的图像元素之间的关联。3.根据权利要求1所述的方法,包括仅从所述原始图像的所述一个或多个感兴趣区域计算深度。4.根据权利要求1所述的方法,其中来自所述飞行时间相机的所述原始图像是多个红外强度值。5.根据权利要求1所述的方法,包括:接收由所述飞行时间相机针对单个帧捕获的多个原始图像;聚合所述多个原始图像,以产生经聚合的原始图像;以及向所述经训练的区域检测器输入所述经聚合的原始图像。6.根据权利要求1所述的方法,包括接收由所述飞行时间相机针对单个帧捕获的多个原始图像;以及向所述经训练的区域检测器输入所述原始图像中的每一个。7.根据权利要求1所述的方法,包括使用所述经训练的区域检测器,将所述原始图像的图像元素分类为在感兴趣区域中或不在感兴趣区域中。8.根据权利要求7所述的方法,包括将经分类的所述图像元素进行聚类。9.根据权利要求7所述的方法,包括向经分类的所述图像元素应用滑动窗口检测器。10.根据权利要求1所述的方法,包括:使用训练数据来训练所述区域检测器,所述训练数据包括描绘所述对象的示例的原始飞行时间图像,所述原始飞行时间图像具有经标记的感兴趣区域。11.根据权利要求1所述的方法,其中所述经训练的区域检测器是随机决策森林。12.—种计算系统,包括:输入输出控制器,被布置为接收由飞行时间相机针对单个帧捕获的至少一个原始图像,所述原始图像描绘所述飞行时间相机的环境中的一个或多个对象;区域检测器,被布置为从所述原始图像计算所述原始图像中的一个或多个感兴趣区域,感兴趣区域包括图像元素,所述图像元素被预测为描绘所述对象中的一个对象的至少一部分;以及深度图计算逻辑,被布置为从所述原始图像的所述一个或多个感兴趣区域计算深度。13.根据权利要求12所述的计算系统,所述区域检测器包括分类器,所述分类器已经被训练为学习感兴趣区域和原始飞行时间图像的图像元素之间的关联。14.根据权利要求13所述的计算系统,所述区域检测器包括聚类部件,所述聚类部件被布置为将由所述分类器输出的经标记的图像元素进行聚类。15.根据权利要求13所述的计算系统,所述区域检测器包括滑动窗口部件,所述滑动窗口部件被布置为从由所述分类器输出的经标记的图像元素计算一个或多个区域。

百度查询: 微软技术许可有限责任公司 距飞行时间相机的深度

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。