用于主动立体深度感测的系统和方法

文档序号:1525408 发布日期:2020-02-11 浏览:8次 >En<

阅读说明:本技术 用于主动立体深度感测的系统和方法 (System and method for active stereo depth sensing ) 是由 阿达尔什·普拉卡什·穆尔蒂·寇德莱 弗拉迪米尔·坦科维奇 唐丹航 塞姆·克斯金 乔纳森·詹姆 于 2018-07-25 设计创作,主要内容包括:一种电子装置[100]基于由具有彼此偏移的曝光时间的深度相机[114、115]结合将照明图案[305、310]脉冲到环境中的照明器[118、1119]捕获到的立体深度图像[410、415]来估计环境的深度图。该电子装置的处理器[220]将来自相机的深度图像的小的切面[430、432]与彼此匹配并且与紧接在深度图像之前的对应补片(例如,空间-时间图像补片“立方体”)匹配。处理器通过将每个空间-时间图像补片转换成二进制代码并且将两个立体图像补片之间的成本函数定义为二进制代码之间的差别来计算每个空间-时间图像补片立方体的匹配成本。处理器使匹配成本最小化以生成视差图,并且通过使用利用经学习的像素偏移的决策树来拒绝离群值并且细化子像素来优化视差图以生成环境的深度图。(An electronic device [100] estimates a depth map of an environment based on stereo depth images [410, 415] captured by depth cameras [114, 115] having exposure times that are offset from each other in conjunction with illuminators [118, 1119] that pulse illumination patterns [305, 310] into the environment. The processor [220] of the electronic device matches the small slices [430, 432] of the depth image from the camera to each other and to corresponding patches (e.g., spatio-temporal image patch &#34;cubes&#34;) immediately preceding the depth image. The processor calculates a matching cost for each spatio-temporal image patch cube by converting each spatio-temporal image patch into binary code and defining a cost function between the two stereoscopic image patches as a difference between the binary codes. The processor minimizes matching costs to generate a disparity map, and optimizes the disparity map by rejecting outliers and refining sub-pixels using a decision tree that utilizes learned pixel offsets to generate a depth map of the environment.)

用于主动立体深度感测的系统和方法

背景技术

深度相机用作计算机视觉任务的输入,该计算机视觉任务诸如手部、身体或对象追踪、3D重建以及同时定位和地图构建(SLAM)。对于这些任务,深度和图像数据的每个新帧都与前一帧相关,从而允许随着时间的流逝进行姿态或几何重建。然而,对于以相对低的速度(即,每秒捕获低数量的帧)操作的深度相机,场景中的高的帧到帧移动和诸如运动模糊的伪影使得难以解决帧之间的相关性。

具体实施方式

以下描述旨在通过提供若干具体实施例和细节来传达对本公开的透彻理解,这些具体实施例和细节涉及基于交替的立体深度图像来估计环境的深度图。然而,应理解,本公开不限于仅作为示例的这些具体实施例和细节,并且因此本公开的范围旨在仅由所附权利要求书及其等同物限制。还应理解,鉴于已知的系统和方法,本领域的普通技术人员应理解根据具体设计和其它需要在任何数量的替代实施例中用于本公开的预期目的和益处的本公开的使用。

图1-图5图示了用于通过电子装置基于由具有彼此偏移的曝光时间的深度相机结合将照明图案脉冲到环境中以支持基于位置的功能性的照明器捕获到的立体深度图像来估计环境的深度图的技术,该基于位置的功能性诸如增强现实(AR)功能性、虚拟现实(VR)功能性、视觉定位/里程计或其它同时定位和地图构建(SLAM)功能性等。第一照明器以第一频率和相位将第一照明图案脉冲到环境中,而第二照明器以第一频率和第二相位将第二照明图案脉冲到环境中。第一深度相机在第一照明器正在脉冲第一照明图案的时间期间捕获环境的深度图像,并且第二深度相机在第二照明器正在脉冲第二照明图案的时间期间捕获环境的深度图像。在一些实施例中,电子装置随着时间的流逝动态地改变所投影的图案。

电子装置的处理器将来自第一相机和第二相机的深度图像的小的切面(section)(被称为补片(patch))与彼此匹配并且与环境的一个或多个紧接的先前深度图像的对应补片(例如,空间-时间图像补片“立方体(cube)”)匹配。处理器通过将每个空间-时间图像补片转换成二进制代码并且将两个立体(左和右)图像补片之间的成本函数定义为二进制代码之间的差别来针对每个空间-时间图像补片立方体计算匹配成本。处理器使匹配成本最小化以生成视差图。处理器通过使用利用经学习的像素偏移的决策树来识别和拒绝离群值并且细化子像素来优化视差图以生成环境的深度图。通过在计算立体深度成像的匹配成本时利用深度相机的相对快的帧率以包括先前的深度图像,电子装置减少了匹配中的噪声,同时允许较小的空间窗口(补片),这产生了沿着深度不连续性的更好性能。此外,通过随着时间的流逝改变所投影的图案,电子装置使来自立体匹配的偏差效应最小化。通过使用决策树来识别和拒绝离群值,电子装置降低了交叉检查所消耗的计算成本,并且使计算从图像的分辨率分离。

图1图示了根据本公开的至少一个实施例的被配置为使用深度图像数据来支持诸如SLAM、VR或AR的基于位置的功能性的电子装置100。电子装置100可以包括用户便携式移动装置,诸如平板计算机、计算使能的蜂窝电话(例如,“智能电话”)、笔记本计算机、个人数字助理(PDA)、游戏系统遥控器、电视遥控器等。在其它实施例中,电子装置100可以包括另一种类型的移动装置,诸如头戴式显示器、单个相机、多传感器相机等。为了便于说明,本文中通常在诸如平板计算机或智能电话的移动装置的示例背景中描述电子装置100;然而,电子装置100不限于这些示例实施方式。

在所描绘的示例中,电子装置100包括多个传感器以获得关于电子装置100的局部环境112的信息。电子装置100经由彩色(RGB)成像相机102和深度相机114和116获得局部环境112的视觉信息(影像)。在一个实施例中,将成像相机102被实施为具有鱼眼透镜或其它广角透镜的广角成像相机,以提供局部环境112的广角视图。在一个实施例中,深度相机114(也被称为左深度相机)使用调制光照明器119(也被称为左照明器119)将第一调制光图案投影到局部环境中,并且在第一调制光图案从局部环境112中的对象反射回来时捕获第一调制光图案的反射。在一个实施例中,深度相机116(也被称为右深度相机116)使用调制光照明器118(也被称为右照明器118)将第二调制光图案投影到局部环境中,并且在第二调制光图案从局部环境中的对象反射回来时捕获第二调制光图案的反射。在一些实施例中,将深度相机114和116实施为具有带通滤波器的一对单色红外(IR)相机。尽管在图1的示例实施例中深度相机114和116被称为左相机和右相机,但应理解,在其它实施例中,相机可以处于不同配置和布置中。将进一步被理解,两个相机都可以同时捕获相同环境的图像。

在一些实施例中,左照明器119和右照明器118中的每一个发射红外(IR)光。在一些实施例中,左照明器119和右照明器118中的每一个都是垂直腔面发射激光器(VCSEL)。VCSEL从比激光器更大的表面发射光,并且因此发射更多的光同时对眼睛仍是安全的。在一些实施例中,左照明器119和右照明器118与合适的掩模(未示出)耦合以发射结构化光(即,调制光图案)。在一些实施例中,这些调制光图案是时间调制光图案。捕获到的调制光图案的反射在本文中被称为“深度图像”。然后,电子装置100的处理器(未示出)可以基于对深度图像的分析来计算对象的深度,即,对象距电子装置100的距离。

在操作中,左照明器119以第一频率和第一相位将第一照明图案脉冲到环境112中,而右照明器118以第一频率和第二相位将第二照明图案脉冲到环境中,以使第一照明图案和第二照明图案之间的干扰最小化。例如,如果左深度相机114和右深度相机116中的每一个都具有2ms的曝光时间并且以每秒210帧(fps)运行,并且左照明器119和右照明器118中的每一个分别将其相应照明图案脉冲到环境中持续与左深度相机114和右深度相机116的曝光时间同步的2ms脉冲,则在两个连续的帧之间将存在4.75ms的间隔。因此,左深度相机114和右深度相机116的曝光在时间上偏移,使得即使深度相机面朝彼此它们也不会彼此干扰并且同时保持210fps的帧率。在一些实施例中,脉冲的第一相位和第二相位是可动态调整的。在一些实施例中,第一照明图案和第二照明图案中的每一个都是规则的点的网格,并且左照明器119和右照明器118相对于彼此旋转,使得两个照明图案的组合产生局部独特图案。在一些实施例中,电子装置100包括附加照明器,每个照明器以略微不同的角度安装。处理器(未示出)在左深度相机114和右深度相机116中的每个帧时激活照明器的不同子集,以随着时间的流逝生成改变的图案。

电子装置100基于对由深度相机114和116捕获到的图像数据中的空间特征的检测来生成深度数据。为了说明,在图1的所描绘的示例中,局部环境112包括办公楼的走廊,该走廊包括三个拐角124、126和128、护壁板130和电插座132。在该示例中,深度相机114基于由照明器119投影的第一调制光图案在其从局部环境112中的对象反射回来时的反射来捕获深度数据136,并且深度相机116基于由照明器118投影的第二调制光图案在其从局部环境112中的对象反射回来时的反射来捕获深度数据138。在一些实施例中,电子装置基于由RGB相机102捕获到的局部环境112的图像140来训练或校准处理器(未示出)。

电子装置100的处理器(未示出)经由对分别被表示为IL和IR的在来自左深度相机114的深度图像136和来自右深度图像116的深度图像138中识别到的对应点的三角测量来估计环境112中的对象的深度。为此,处理器为左图像IL中的每个像素pL=(x,y)找到其在右图像IR中的对应像素pR=(x′,y′)。假设要校准和校正的立体系统,针对每个匹配对pL和pR,y=y′。位移d=x-x′被称为视差。给出给定像素的视差值d的情况下,深度值

Figure BDA0002280566310000051

与d成反比。量b是立体系统的基线,而f是焦距。

处理器计算匹配成本,该匹配成本定义深度图像136和深度图像138的补片(较小切面)之间的距离或相似度函数(也被称为相关函数)。处理器根据诸如最低距离的特定标准使用相关函数以找到最佳视差。在一些实施例中,如下文进一步解释的,处理器细化视差以达到子像素精度并且拒绝离群值以生成环境112的深度图。

图2是根据一些实施例的图1的电子装置100的框图。电子装置100包括用于控制左深度相机114和右深度相机116的深度相机控制器205、用于控制左照明器119和右照明器118的照明器控制器210以及处理器220。处理器220包括匹配成本计算器225、视差优化器230、子像素细化器235、离群值识别器240和深度图生成器245。

深度相机控制器205是被配置为控制左深度相机114和右深度相机116的激活和曝光时间的模块。深度相机控制器205调整左深度相机114和右深度相机116的帧率、曝光时间和相位。在一些实施例中,深度相机控制器205确保了左深度相机114和右深度相机116具有不重叠的曝光时间。在一些实施例中,深度相机控制器205连同照明器控制器210协调左深度相机114和右深度相机116的帧率、曝光时间和相位。

照明器控制器210是被配置为控制左照明器119和右照明器118的激活和脉冲持续时间以及由左照明器119和右照明器118投影的照明图案的模块。照明器控制器210激活左照明器119以按照与左深度相机114的频率和相位匹配的频率和相位将第一照明图案脉冲到环境中,并且激活右照明器118以按照与右深度相机116的频率和相位匹配的频率和相位将第二照明图案脉冲到环境中。因此,在左照明器119将第一照明图案脉冲到环境中的时间期间,左深度相机114捕获深度图像,并且在右照明器118将第二照明图案脉冲到环境中的时间期间,右深度相机114捕获深度图像。在一些实施例中,左照明器119脉冲第一照明图案的时间和右照明器118脉冲第二照明图案的时间是不重叠的。

处理器220被配置为从左深度相机114(左图像)和右深度相机116(右图像)接收深度图像(未示出)。在一些实施例中,处理器还被配置为从RGB相机(未示出)接收图像。匹配成本计算器225是被配置为计算左图像帧和右图像帧的补片(切面)的匹配成本的模块。补片大小必须足够大以基于其周围区域中的纹理(根据照明图案)唯一地识别像素。给定大小为n的左图像中的图像补片XL和右图像中的图像补片XR,匹配成本计算器225基于与补片(窗口)大小n无关的其外观来计算匹配成本。匹配成本计算器225定义函数b=sign(xW),该函数使用k个超平面W∈Rn×k以二进制表示b∈{0,1}k重新映射每个图像补片×。为了具有与信号维数n无关的O(1)映射,匹配成本计算器225确保了超平面W是稀疏的。稀疏性使得匹配成本计算器225仅必须访问每个补片内部的像素的小的子集,这减少了计算和存储器访问。匹配成本计算器225学习尽可能多地保留原始信号X的二进制映射信号sign(xW)。

在一些实施例中,匹配成本计算器225计算从二进制代码b重建原始空间X的逆线性映射Z。因此,匹配成本计算器225学***面的集合W∈Rn×k和使方程最小化的逆映射Z∈Rk×n

其中,X∈Rm×n是训练示例的矩阵。匹配成本计算器225使用来引起超平面W上的稀疏性,从而使线性映射与补片维数n无关。在一些实施例中,匹配成本计算器225使用交替最小化来优化方程。

匹配成本计算器225基于紧接在左图像和右图像的捕获之前捕获到的一个或多个深度图像将线性映射扩展到空间-时间补片。给定高速深度相机114、116的高的帧率,匹配成本计算器225假设时间t和时间t+1时的后续图像帧之间的运动很小。基于假设的从一帧到下一帧的少量运动,匹配成本计算器225使用具有大小n=P×P×F的直线空间-时间图像体积×(如图3的深度图像350中所示),其中,P是空间窗口大小,且F是F个帧的时间缓冲。因为映射W是稀疏的,所以映射不依赖于时间缓冲大小F或空间分辨率P。通过随着时间的流逝改变由左照明器119和右照明器118投影的照明图案,电子装置100随着时间的流逝改变补片的外观,以确保跨多个帧添加的信息并非冗余的。通过与空间-时间窗口匹配,匹配成本计算器225减少了匹配中的噪声,允许较小的空间窗口并且消除了偏差效应。

在运行时间时,匹配成本计算器225将每个空间-时间图像补片x转换为k=32个二进制代码b=sign(xW)。匹配成本计算器225将两个图像补片xL与xR之间的成本函数定义为代码bL与bR之间的汉明距离。匹配成本计算器225获得以O(1)的计算并且计算与补片大小n无关。

视差优化器230是被配置为识别具有最低匹配成本的左图像帧和右图像帧的图像补片以生成视差图的模块,该视差图指示左图像帧和右图像帧的补片的像素之间的视差。在一些实施例中,为了找到具有最低匹配成本的图像补片而无需评估所有可能视差标签dk,视差优化器230通过测试每个像素的随机视差并且选择在二进制空间中具有最小汉明距离的视差来初始化深度图像。例如,在一些实施例中,视差优化器230针对每个像素测试32个随机视差。因此,对于具有当前最低视差di的像素pi,视差优化器230测试3×3邻域

Figure BDA0002280566310000081

中的所有视差标签并且选择具有最佳成本的一个。视差优化器230将成本函数定义为:

Figure BDA0002280566310000082

其中,

Figure BDA0002280566310000083

是左图像中的像素ρ处的代码与在右图像中的位置p+d处计算出的代码之间的汉明距离,其中,像素p仅由其×分量定义,且p+d是沿着该维度的移位。视差优化器230使用项S(dk,d)=max(τ,|dk-d|来增强相邻像素之间的平滑度。在一些实施例中,视差优化器230考虑很小的局部邻域

Figure BDA0002280566310000084

使得可以通过枚举3×3窗口中的所有可能的解并且选择最佳的一个来容易地对成本函数方程进行求解。在一些实施例中,视差优化器230多次重复迭代优化,直到达到收敛为止。视差优化器230基于针对每个像素计算出的最低成本来生成视差图(未示出)。

在一些实施例中,视差优化器230在初始化步骤中进一步利用高帧率数据。对于在时间t时的每个像素p,视差优化器230测试在时间t-1时的像素的先前视差。如果汉明距离小于所有随机视差,那么视差优化器230使用先前的值来初始化迭代的优化。在给定210fps深度相机的情况下,像素中的许多通常将在两个连续的帧之间具有相同视差。

子像素细化器235是被配置为使用抛物线插值来实现子像素精度的模块。给定具有视差d的像素ρ,子像素细化器235通过考虑视差d-1和d+1来拟合抛物线。子像素细化器235计算视差d、d-1和d+1的二进制代码的汉明距离并且拟合二次函数。子像素细化器235选择位于二次函数的全局最小值处的最佳视差d作为d的最佳值。在一些实施例中,子像素细化器235在由视差优化器230执行的优化的每次迭代结束时并且针对每个像素重复抛物线拟合。

离群值识别器240是被配置为直接从数据中识别和移除无效像素的模块。离群值识别器240通过比照环境的RGB图像交叉检查环境的视差图的集合并且计算加权中值来进行训练。离群值识别器240比照RGB相机(未示出)对准并且校准左深度相机114和右深度相机116。离群值识别器240基于比照RGB图像交叉检查深度图像和加权中值滤波器,将每个像素标记为“有效”或“无效”。然后,离群值识别器240学习决策使给定视差无效或接受给定视差的功能。在一些实施例中,为了保持少量的计算和独立于图像分辨率,离群值识别器240使用决策树来确定像素有效性。

离群值识别器240使用两个经学习的像素偏移u=(Δx,Δy)和v=(Δx′,Δy′)和阈值τ来填充决策树中的节点。当评估位置p=(x,y)处的像素时,离群值识别器240的决策树基于I(p+u)-I(p+v)>τ的符号来决定要将特定示例的路线确定到何处,其中,I(p)是像素p的强度值。在一些实施例中,在训练时间时,离群值识别器240针对当前节点采样500个可能的划分参数δ=(u,v,τ)。每个δ都引起将数据的集合S划分为左SL(δ)和右SR(δ)子集合(child set)。离群值识别器240选择使信息增益(Information Gain)最大化的参数δ的集合,该信息增益定义为:

Figure BDA0002280566310000091

其中,熵E(S)是S中的类别标签“有效”的经验分布p(valid|S)的香农熵。每个叶节点包含概率p(valid|p,I),并且当该量小于0.5时,离群值识别器240使像素无效。

深度图生成器245是被配置为基于由视差优化器230生成的视差图为来自左深度相机114和右深度相机116的每个图像帧对生成三维(3D)点云(被称为深度图)的模块。在一些实施例中,深度图生成器245进一步将深度图建立在由子像素细化器235识别的子像素细化的基础上。在一些实施例中,深度图生成器245另外将深度图建立在由离群值识别器240做出的有效性确定的基础上。可以将深度图用作高效、低延迟、高质量计算机视觉算法的输入,所述计算机视觉算法包括场景和对象扫描、非刚性追踪和手部追踪。

图3图示了根据一些实施例的电子装置100的交替地将两个照明图案305和310投影到环境112中的照明器118和119。在一些实施例中,照明图案305、310是相对于彼此旋转的规则点网格,使得它们的组合产生局部独特图案。左照明器119以第一频率和第一相位将第一照明图案305脉冲到环境112中,而右照明器118以第一频率和从第一相位偏移的第二相位将第二照明图案310脉冲到环境112中。因此,左照明器119在第一时间t期间脉冲照明图案305,而右照明器118在第二时间t+1期间脉冲照明图案310。在一些实施例中,照明器控制器(未示出)随着时间的流逝改变第一照明图案和第二照明图案,以使来自反射图案的深度偏差最小化。

深度相机控制器(未示出)连同左照明器119的脉冲来激活左深度相机114,并且连同右照明器118的脉冲来激活右深度相机116。因此,在一些实施例中,深度相机控制器在时间t期间激活左深度相机114以捕获深度图像,并且在时间t+1期间激活右深度相机116以捕获深度图像以产生深度图像350的集合。通过交替地脉冲左和右照明器118、119并且交替地激活左和右深度相机114、116,电子装置100避免了照明器118、119与深度相机114、116之间的干扰。在一些实施例中,深度相机控制器和照明器控制器调整照明器118、119和深度相机114、116的相位以使干扰最小化。

图4是图示了根据一些实施例的图2的匹配成本计算器225匹配出自来自第一深度相机的深度图像410、来自第二深度相机的深度图像415以及先前深度图像420中的每一个的补片430、432、434的示意图。在所图示的示例中,深度图像410、415、420中的每一个图示了沿着走廊朝向深度相机滚动的球405。匹配成本计算器225针对来自补片430、432和434内的时空邻域的每个像素计算二进制描述符(代码),并且将深度图像410和415中的像素来源于相同的场景点的成本定义为二进制代码的汉明距离。

图5是图示了根据一些实施例的基于捕获到的深度图像来估计深度图的方法500的流程图。在框502中,电子装置100的处理器220接收左深度图像、右深度图像以及紧接在捕获左深度图像和右深度图像之前捕获到的深度图像。在框504中,匹配成本计算器225针对左深度图像和右深度图像的每个补片计算匹配成本。在框506中,视差优化器使匹配成本最小化以生成视差图。在框508中,子像素优化器235使用抛物线插值来细化子像素精度,并且离群值识别器240识别无效像素并且从视差图中移除无效像素。在框510中,深度图生成器245基于细化的视差图来生成3D点云。

在一些实施例中,上述技术的某些方面可以由执行软件的处理系统的一个或多个处理器来实现。该软件包括存储在或有形地体现在非暂时性计算机可读存储介质上的一个或多个可执行指令的集合。该软件可以包括指令和某些数据,该指令和某些数据在被一个或多个处理器执行时操纵一个或多个处理器以执行上述技术的一个或多个方面。非暂时性计算机可读存储介质可以包括例如,磁盘或光盘存储装置、诸如闪速存储器的固态存储装置、高速缓存器,随机存取存储器(RAM)或其它一个或多个非易失性存储装置等。存储在非暂时性计算机可读存储介质上的可执行指令可以是源代码、汇编语言代码、目标代码或由一个或多个处理器解释或可以其他方式执行的其它指令格式。

计算机可读存储介质可以包括任何存储介质或存储介质的组合,该存储介质和存储介质的组合在使用期间可由计算机系统访问以向计算机系统提供指令和/或数据。这些存储介质可以包括但不限于光学介质(例如,光盘(CD)、数字通用光盘(DVD)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如,随机存取存储器(RAM)或高速缓存器)、非易失性存储器(例如,只读存储器(ROM)或闪速存储器)或基于微机电系统(MEMS)的存储介质。计算机可读存储介质可以嵌入在计算系统(例如,系统RAM或ROM)中,固定地附接至计算系统(例如,磁性硬盘驱动器),可移除地附接至计算系统(例如,基于光盘或通用串行总线(USB)的闪存储器)或经由有线网络或无线网络(例如,网络可访问存储装置(NAS))耦合至计算机系统。

注意,并非上文在一般描述中所描述的所有活动或元件都是必需的,具体活动或装置的一部分可能不是必需的,并且可以执行一个或多个其它活动或除了所描述的元件之外,还可包括一个或多个其它元件。更进一步地,列出活动的顺序并不一定是执行这些活动的顺序。而且,已经参考具体实施例描述了概念。然而,本领域的普通技术人员要了解,在不脱离如以下权利要求书中阐述的本公开的范围的情况下,可以进行各种修改和改变。因此,说明书和附图都应该被理解为是说明性的,而不是限制性的,并且所有这种修改都旨在被包括在本公开的范围内。

上文已经针对具体实施例描述了益处、其它优点和问题的解决方案。然而,益处、优点、问题的解决方案以及可以使任何益处、优点或解决方案出现或变得更加明显的任何特征都不被解释为任何或所有权利要求的关键性、所需或必要的特征。此外,上文所公开的特定实施例仅是说明性的,这是由于可以按照受益于本文中的教导的、对于本领域的技术人员而言显而易见的不同但等同的方式来修改和实践所公开的主题。除了在下面的权利要求书中描述的内容之外,不旨在对本文中所示的构造或设计的细节进行任何限制。因此,明显的是,可以更改或修改上文所公开的特定实施例,并且所有这些变化都被视作在所公开的主题的范围内。因此,本文中所寻求的保护如以下权利要求书中所阐述。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像处理装置、图像处理方法和程序

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!