基于非视觉姿势数据的深度数据调整的制作方法

文档序号:19609028发布日期:2020-01-03 13:52阅读:191来源:国知局
基于非视觉姿势数据的深度数据调整的制作方法



背景技术:

本公开的领域

本公开大体上涉及头戴式显示器以及其它虚拟现实(vr)和增强现实(ar)显示系统,并且更具体来说,涉及vr和ar显示系统的深度数据。

相关技术的描述

可以通过使用机器视觉和显示技术,诸如同时定位与建图(slam)、运动恢复结构(sfm)、视觉惯性里程计(vio)和视觉惯性建图来识别本地环境的特征而加强增强现实(ar)和虚拟现实(vr)应用。为了支持这些技术,诸如头戴式显示器(hmd)的vr显示系统可以在环境中导航,同时基于非视觉传感器数据、本地环境的所捕获图像的分析,或其组合而构建环境的地图(3d视觉表示)。可以基于从vr显示系统的深度相机收集的深度信息而进一步增强地图。然而,深度信息可能不可靠或不准确,从而导致显示不利于用户体验的伪像。

附图说明

通过参考附图可以更好地理解本公开,并且其多个特征和优点对于本领域技术人员显而易见。相同参考符号在不同图式中的使用指示相似或相同项。

图1a是根据本公开的至少一个实施例的基于检测到的运动而调整深度信息的hmd的示意图。

图1b是根据本公开的至少一个实施例的图1的hmd的替代视图的示意图。

图2是根据本公开的至少一个实施例的基于检测到的运动而调整深度信息的图1的hmd的方面的框图。

图3是示出根据本公开的至少一个实施例的基于检测到的运动而调整深度信息的图1的hmd的示例的示意图。

图4是根据本公开的至少一个实施例的基于检测到的运动而调整深度信息的图1的hmd的方法的流程图。

具体实施方式

图1至图4示出用于基于系统的检测到的运动而调整在hmd或其它vr和ar显示系统处接收到的深度信息的技术。在至少一个实施例中,hmd包括深度相机,所述深度相机收集在hmd的本地环境中的对象的深度数据。hmd还包括惯性测量单元(imu),所述惯性测量单元包括非视觉运动传感器,诸如一个或多个加速计、陀螺仪等。hmd基于由imu提供的运动数据而调整接收到的深度信息,由此提高深度信息的准确度,进而减少可能由于深度信息不准确而产生的视觉伪像。因此,hmd能够提供改进的vr或ar体验。

具体而言,常规深度相机通常基于一组原始图像而通过创建深度图或图像来生成深度信息(本文中一般称为深度信息)。深度相机在相对较短的时间跨度内捕获图像。然而,hmd可能会在所述时间跨度内经历运动,从而导致该组原始图像之间的变化。这些变化又会导致深度信息中的错误。此外,当hmd基于深度信息而生成vr环境或ar环境时,这些错误会导致分散用户注意力的视觉伪像的生成。因此,通过基于由imu指示的运动而调整深度信息,hmd可以减少或消除视觉伪像并且增强用户体验。

出于描述的目的,关于vr显示系统的示例以及关于vr内容的生成的示例描述图1至图4。然而,应了解,本文所描述的技术也适用于ar显示系统和ar内容的生成,并且可以在ar显示系统中实施并用于ar内容的生成而实施。

图1a和图1b示出根据本公开的至少一个实施例的可以基于检测到的运动而调整所捕获的深度信息的hmd100的不同视图。应了解,hmd100仅仅是可以实施本文所描述的技术的电子装置的一个示例,并且在不脱离本公开的范围的情况下,这些技术可以在多个电子装置中的任一个中实施。这些电子装置的示例包括但不限于其它vr显示装置,诸如平板计算机、支持计算的蜂窝电话(例如,“智能电话”)、笔记本计算机、个人数字助理(pda)、游戏控制台系统等。在其它实施例中,电子装置可以包括固定装置,诸如医学成像设备、安全成像传感器系统、工业机器人控制系统、无人机控制系统等。

图1a示出根据本公开的说明性实施例hmd100形状因数。hmd100可以用诸如智能电话形状因数、平板计算机形状因数等其它形状因数实施,所述形状因数实施与示出的配置类似的配置。在所描绘示例中,hmd100具有外壳102,该外壳通过一组系带118或保护带安装在用户的头上,使得安装在外壳102上或外壳102内的显示装置布置在用户的眼睛前方。如本文进一步描述,耦合到外壳102或嵌入外壳102内的处理器生成vr内容以显示在显示装置处,由此使用户沉浸在与vr内容相关联的vr环境中。

在至少一个实施例中并且如本文中进一步描述,hmd100包括多个传感器,用于捕获关于hmd100的姿势(位置和定向)的信息、关于hmd100的运动的信息(例如,如通过随时间变化的不同姿势指示),以及关于hmd100的本地环境中的对象的信息。hmd100可以采用此信息来生成更多沉浸式vr内容。例如,当用户围绕本地环境移动时,hmd100可以采用所捕获信息来改变vr内容,使得用户感觉他们似乎在虚拟环境中移动。

在至少一个实施例中,hmd100的上文所提及传感器包括:深度相机,用于捕获本地环境的深度信息;以及惯性测量单元(imu),用于捕获在用户移动例如其头部时指示hmd100的移动的信息。如本文中进一步描述,hmd100可以基于由imu提供的运动信息而调整所捕获的深度信息,由此提高所捕获的深度信息的准确度,进而减少由hmd100生成的vr环境中的视觉伪像。

图1b示出根据本公开的至少一个实施例的图1a的hmd100的说明性实施例的后视图101。如通过图1b的后视图100示出,hmd100包括安置于表面104处的显示装置108、用于将电子装置100固定到用户面部的面部衬垫110(与系带或保护带一起使用),以及目镜116和118,用户110的左眼和右眼各一个。如后视图101中所描绘,目镜116与显示装置108的显示区域中的左侧区112对准,同时目镜118与显示装置108的显示区域中的右侧区114对准。因此,在立体显示模式中,成像传感器(未示出)所捕获的图像可以显示在左侧区112中并经由目镜116由用户的左眼观看,并且成像传感器所捕获的图像可以显示在右侧区114中并经由目镜118由用户的右眼观看。在所描绘示例中,目镜116和118关于中心线201对称,以减少显示vr内容时的潜在失真。

图2示出根据本公开的至少一个实施例的hmd100的方面的框图。在所描绘示例中,hmd100包括imu202、深度调整模块205、深度相机210和vr内容生成器225。应了解,图2的示例仅示出hmd100的方面的一部分,并且hmd100可以包括图2所示出的部分的附加模块和功能。例如,在至少一个实施例中,hmd100可以包括一个或多个图像捕获装置(例如,相机),用于捕获hmd100的本地环境的图像,从而支持生成更多沉浸式vr内容。

imu202是包括一个或多个传感器的模块,所述一个或多个传感器感测hmd100的运动的一个或多个方面,诸如角速度、线性或其组合。例如,在至少一个实施例中,imu202包括一个或多个加速计以感测hmd100的线性运动,并且还包括一个或多个陀螺仪以感测hmd100的角速度。在图2的示例中,imu202编译由传感器生成的信息,以生成非图像传感器数据215,所述非图像传感器数据215指示在对应时刻检测到的hmd100的运动。在至少一个实施例中,hmd100以指定频率周期性地更新非图像传感器数据215,使得非图像传感器数据215反映hmd100随时间的运动。

深度相机210是通常被配置成捕获hmd100周围的环境图像的装置,并且基于图像而生成深度数据220。在至少一个实施例中,深度相机210是飞行时间(tof)相机,所述相机通过发射光脉冲,随时间捕获示出为原始图像220的环境的多个图像来生成深度数据。在其它实施例中,深度相机210发射一系列光脉冲来捕获原始图像220。又在其它实施例中,深度相机随时间发射调制光来捕获原始图像220。

然而,如上文所说明,在一些情形下,在通过深度相机210捕获原始图像220时,hmd100的用户可能会移动。如果hmd100静止,则这种运动可能会相对于像素值而改变与给定深度点对应的像素值。像素值的这种变化又可能在基于原始图像210而生成深度数据时产生错误。为了解决这些错误,hmd100包括深度调整模块205。具体而言,深度调整模块205一般被配置成接收非图像传感器数据215和原始图像220,并且还被配置成基于非图像传感器数据215而调整原始图像220,以生成一组调整后图像222。深度调整模块205生成调整后图像以说明在深度相机210捕获图像时hmd100的运动。也就是说,深度调整模块205生成调整后图像222,以在捕获多个图像时hmd100没有移动的情况下,相对于原始图像220更接近地反映将由深度相机210生成的图像。随后,使用常规的深度信息生成技术,深度调整模块205基于调整后图像222而生成调整后深度数据221。

在至少一个实施例中,深度调整模块205如下生成调整后深度数据221:深度相机210在时间t1,t2,…,tn处获取原始数据帧f1,f2,…,fn,其在时间tn处被处理成单个深度图像dn。两个原始帧fi和fn之间的相机位置和定向的改变通过非图像传感器数据215指示并且通过转换给定,即,该转换是参考fi的相机的帧所表达的从fi到fn的相机的转换。

深度调整模块205将由深度相机生成的给定原始图像fi转换成校正后的原始图像f'i,其中f'i与fn使用相同相机。对于具有坐标(u,v)的帧fi的每个像素pi(u,v),深度调整模块205根据以下公式计算射线ri,(u,v):

x=(u-cx)/fx

y=(v-cy)/fy

ri,(u,v)=[x,y,1.0]t

其中(u,v)是pi(u,v)的像素坐标,x、y是归一化图像坐标,cx、cy是投影中心,并且fx、fy是水平/垂直焦距。

深度调整模块205根据以下公式将射线转换成帧fn的相机:

深度调整模块205随后根据以下公式将转换后的射线投影到新像素中:

p′i,(u,v)=pointtopixel(r′i,(u,v))

其中可以根据以下公式实施pointtopixel:

u′=fx·r′i[0]/r′i[2]+cx

v′=fy·r′i[1]/r′i[2]+cy

p′i,(u,v)=[u′,v′]t

深度调整模块205检查以确定新位置p’i,(u,v)是否在图像边界内。如果不是,则深度调整模块205将像素值设定成无效状态。如果新像素在图像边界内,则深度调整模块205用图像fi的位置pi,(u,v)处的像素值更新位置p’i,(u,v)处的像素数据。

对于除了最后一个帧之外的所有原始帧,深度调整模块205校正fi的像素。在一些实施例中,校正图像fi的所有像素。在其它实施例中,hmd100可以基于例如用户的注视方向而识别“感兴趣区域”,并且仅校正位于感兴趣区域内的那些像素。又在其它实施例中,hmd100可以例如基于hmd100的运动程度而识别各个帧以进行校正,并且仅调整所捕获帧的子集,诸如,仅调整具有阈值量的运动、与阈值量的运动相关联、大于阈值量的运动或不同于先前帧的那些帧。在校正原始帧中的一个或多个之后,深度调整模块205随后根据以下公式使用校正后的原始帧以及最后一个未校正的原始帧来计算时间tn的校正后深度图像:

[f’1,f’2,…,f’n-1,f’n]→d’n

深度调整模块205将校正后的深度图像存储在调整后的深度数据221处。如上文所说明,从已校正其相对运动的原始帧中计算校正后的深度图像。因此,校正后的深度图像d’n显示比原始深度图像dn少的运动伪像。

vr内容生成器225被配置成基于调整后的深度数据221而生成vr内容230。因此,vr内容生成器225可以是在hmd100的处理器处执行以生成vr内容的软件,可以是专门设计或配置成生成vr内容的一个或多个硬件模块,或其组合。在至少一个实施例中,vr内容生成器225采用调整后的深度数据来生成虚拟对象,所述虚拟对象表示或另外基于由调整后的深度数据221指示的hmd100的本地环境中的对象。例如,基于调整后的深度数据221的深度点的不同深度值,vr内容生成器225可以确定hmd100的本地环境中的对象的轮廓。vr内容生成器225可以生成vr内容230以包括具有轮廓的虚拟对象,所述轮廓与由调整后的深度数据221指示的对象的轮廓匹配,或另外基于由调整后的深度数据221指示的对象的轮廓。在至少一个实施例中,vr内容生成器225基于除了调整后的深度数据221之外的其它信息而生成vr内容230。例如,vr内容生成器可以采用所捕获视觉图像、3d对象的所存储特征描述符、本地环境的所存储地图、地理位置信息等来生成vr内容230。

因为基于非图像传感器数据215所指示的hmd100的运动而调整深度数据220(也就是说,因为vr内容生成器225采用调整后的深度数据221),所以vr内容230可能相对于直接从深度数据220生成的vr内容具有较少视觉伪像。具体而言,由于深度数据220中的错误,直接从深度数据220生成的vr内容可能包括视觉伪像,诸如失真的虚拟对象、在本地环境中的对应对象移动或改变之后“漂浮”在虚拟环境中或持续存在于虚拟环境中的虚拟对象。通过采用调整后的深度数据221来生成vr内容230,vr内容生成器221能够支持降低的此种伪像水平,由此改进用户体验。

图3示出根据本公开的至少一个实施例的深度调整模块205基于非图像传感器数据215而调整深度数据的示例。图3描绘相对于参考帧330的原始图像数据220,其中参考帧330包括x轴和y轴。在所描绘示例中,点331和333表示原始图像220中的一个的像素位置。也就是说,点331和333是未调整的像素位置。

为了调整原始图像,深度调整模块205改变图像的像素值以有效地将一个或多个像素从一个位置图像平移到另一位置图像,其中,每个像素的平移基于上述非图像传感器数据215。在所描绘示例中,基于非图像传感器数据215,深度调整模块205将点331平移到点332并且将点333平移到点334。在平移每个像素之后,深度调整模块205将所得像素存储为调整后图像222的帧。

在至少一个实施例中,深度调整模块205将通过不同量、以不同方向上,或其组合,来平移不同点。因此,例如,基于非图像传感器数据215,深度调整模块205可以在给定方向上(例如,沿着给定向量)将点331平移给定量,并且可以在不同方向上(例如,沿着不同向量)将点332平移不同量。另外,深度调整模块205可以确定将不调整深度数据220的一个或多个点,因为非图像数据205指示那些点不受hmd100的运动影响。因此,对于这些点,调整后的深度数据221将与深度数据220的对应点匹配。

图4示出根据本公开的至少一个实施例的hmd100基于检测到的运动而调整深度信息的方法400的流程图。在框402处,深度相机210捕获hmd100的本地环境的一组原始图像。在框404处,imu202捕获非图像传感器数据215,从而指示在深度相机210捕获原始图像220时hmd100的运动。

在框406处,深度调整模块205基于非图像传感器数据215而调整原始图像220,以生成调整后图像222。在框408处,深度调整模块205基于调整后图像222而生成深度数据221。在框410处,vr内容生成器225基于调整后的深度数据221而生成vr内容430。

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

计算机可读存储介质可以包括任何存储介质,或在使用期间可由计算机系统访问以将指令和/或数据提供到计算机系统的存储介质的组合。这种存储介质可以包括但不限于,光学介质(例如,光盘(cd)、数字多功能光盘(dvd)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如,随机存取存储器(ram)或高速缓冲存储器)、非易失性存储器(例如,只读存储器(rom)或快闪存储器),或基于微机电系统(mems)的存储介质。计算机可读存储介质可以嵌入计算系统(例如,系统ram或rom)中,固定地附接到计算系统(例如,磁性硬盘驱动器),可移动地附接到计算系统(例如,光盘或基于通用串行总线(usb)的快闪存储器),或经由有线或无线网络耦合到计算机系统(例如,网络可访问存储装置(nas))。

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

上文已关于具体实施例描述益处、其它优点以及问题的解决方案。然而,可能导致任何益处、优点或解决方案发生或变得更明显的益处、优点、问题的解决方案以及任何特征不应被解释为任何或所有权利要求的关键、必需或基本特征。此外,上文所公开的具体实施例仅仅是说明性的,因为受益于本文教示的本领域技术人员将明白,可以不同但等效的方式修改和实践所公开的主题。除了所附权利要求中所述的之外,并不旨在局限于本文所示的结构或设计的细节。因此,显然可以改变或修改上文所公开的具体实施例,并且所有此类变化都视为在所公开主题的范围内。因此,本文寻求的保护内容如所附权利要求所阐述。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1