首页> 中国专利> 用反射率图表示增强深度图表示

用反射率图表示增强深度图表示

摘要

提供了用于生成场景中的对象的3D表示的解决方案。对象的深度图表示与对象的反射率图表示组合,以生成对象的3D表示。对象的3D表示提供了对象的更完整和准确的信息。用结构化的光照明并捕捉对象的图像。分析对象的捕捉图像中渲染的图案特征,以导出照明对象的深度图表示和反射率图表示。深度图表示提供深度信息,而反射率图表示提供照明对象的表面信息(例如,反射率)。可以通过投影到对象上的额外的照明和对象的额外图像来增强对象的3D表示。

著录项

  • 公开/公告号CN107850782A

    专利类型发明专利

  • 公开/公告日2018-03-27

    原文格式PDF

  • 申请/专利权人 脸谱公司;

    申请/专利号CN201680041776.5

  • 申请日2016-05-13

  • 分类号

  • 代理机构北京康信知识产权代理有限责任公司;

  • 代理人梁丽超

  • 地址 美国加利福尼亚

  • 入库时间 2023-06-19 04:55:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-09

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G02B27/01 专利号:ZL2016800417765 变更事项:专利权人 变更前:脸谱科技有限责任公司 变更后:元平台技术有限公司 变更事项:地址 变更前:美国加利福尼亚州 变更后:美国加利福尼亚州

    专利权人的姓名或者名称、地址的变更

  • 2019-10-25

    授权

    授权

  • 2019-04-12

    专利申请权的转移 IPC(主分类):G02B27/01 登记生效日:20190326 变更前: 变更后: 申请日:20160513

    专利申请权、专利权的转移

  • 2018-04-20

    实质审查的生效 IPC(主分类):G02B27/01 申请日:20160513

    实质审查的生效

  • 2018-03-27

    公开

    公开

说明书

技术领域

本公开总体上涉及结构化光成像的领域,并且更具体地,涉及利用对象的反射率图表示来增强对象的三维(3D)表示。

背景技术

场景或场景中的对象的3D表示用于为虚拟现实(VR)系统呈现图像,该系统向VR系统的用户提供虚拟体验。然而,仅以传统方式使用对象的深度图表示来创建对象的3D表示具有缺点。例如,仅将场景中的捕捉对象的深度信息用于场景的3D表示不提供对象的表面的详细信息,这会由于从捕捉对象的深度图表示产生的3D场景的效果而降低用户体验。

发明内容

所公开的发明的实施例包括用于利用对象的反射率图表示来增强对象的深度图表示以生成对象的三维(3D)表示的系统(或计算机实现的方法或非暂时性计算机可读介质)。“对象”是指数字图像的任何目标,包括图像的任何数量的特定元素和/或背景。对象可以是整个图像或由图像捕捉的场景中的特定元素。对象的“3D表示”是指与二维(2D)图像相比看起来更逼真的对象的立体表示。对象的“深度图表示”是指包含关于从指定视点(例如,捕捉对象的图像的传感器的位置)到对象的表面的不同部分的距离的信息的图像。对象的深度图表示可以是将所有点与Z轴数据连接的网格的形式,并且Z轴测量从对象到指定视点的距离。对象的“反射率图表示”是指包含关于对象的表面的不同部分上的反射率的信息的图像,并且与对象的深度图表示相比,反射率图表示提供对象的表面的更精细的细节。

该方法的实施例包括捕捉由结构化光照明的场景中的对象的图像的操作。“结构化光”是指投射到对象上的特定非均匀照明图案的光。捕捉图像包括由照明图案产生的图案特征(例如,一维条纹)。“图案特征”或“图案”是指由非均匀照明产生的特定形式或形状(例如,线条、条纹、点和特定几何形状),例如,特别结构化的照明。多个图案特征可以具有均匀的或不同的特性(例如,形状、大小和/或强度)。分析图案特征,以通过对从图案特征的几何失真导出的建模信息,来导出场景中的捕捉对象的深度图表示。还分析图案特征,以通过获得关于对象的反射率特性的信息来导出反射率图表示。例如,首先,根据其特征特性(例如,强度、颜色、形状)索引场景中的对象的图案特征,然后,导出图案特征的功能行为。在导出功能行为之后,从捕捉的图像中去除图案特征,并且创建对象的反射率图表示。所创建的深度图表示和反射率图表示组合,以生成对象的三维(3D)表示。对象的3D表示还反映由对象的反射率图表示提供的表面细节和由对象的深度图表示提供的深度信息。将对象的深度图表示与对象的反射率图表示组合的过程也被称为利用对象的反射率图表示来增强对象的深度图表示。

在一些实施例中,可以提供额外的照明,以改善对象的反射率图表示的导出,并且可以捕捉对象的额外图像。对象的反射率图表示在对象的深度图表示上登记额外图像,以导出额外3D数据。基于导出的额外3D数据,生成对象的增强3D表示。在一些实施例中,对象的3D表示用于在VR系统中提供对象的虚拟场景。佩戴VR头盔的用户可以体验由对象的增强深度图表示提供的对象的虚拟场景。

附图说明

图1A是根据一个实施例的包括使用对象的3D表示来提供对象的虚拟场景的虚拟现实(VR)系统的系统环境的方框图;

图1B是根据一个实施例的在图1A所示的VR系统中操作的示例VR头盔的透视图;

图2A是根据一个实施例的在图1A所示的VR系统中操作的处理器的方框图;

图2B是示出根据一个实施例的捕捉场景中的对象的图像并利用对象的反射率图表示来增强对象的深度图表示的步骤的流程图;

图3是根据一个实施例的被具有特定照明图案的结构化光照明的对象的示例捕捉图像;

图4是根据一个实施例的在图3所示的捕捉图像中的对象的示例深度图表示;

图5是根据一个实施例的在图3所示的捕捉图像中的对象的示例反射率图表示;

图6A示出了根据一个实施例的在图3所示的捕捉图像中的对象的图案特征的功能行为、从图案特征去除中去除图案特征和残留信号的示例;

图6B示出了根据一个实施例的在图3所示的捕捉图像中的对象的照明信号以及用于去除对象表面上的图案特征的乘法函数;

图6C示出了根据一个实施例的用于生成捕捉图像中的对象的反射率图表示的原始信号、乘法函数以及照明模型的另一示例;

图7是示出根据一个实施例的通过组合图4所示的深度图表示和图5所示的反射率图表示来生成图3所示的对象的3D表示的流程图;

图8A示出了根据一个实施例的在捕捉对象的图像中的图案特征和对象的像素之间的相对位置的效果的示例;

图8B示出了根据一个实施例的在捕捉对象的图像中的图案特征和对象的像素之间的相对位置的效果的另一示例;

图9A是示出根据一个实施例的由处理器通过利用对象的反射率图表示增强对象的深度图表示来生成捕捉对象的图像中的对象的3D表示的过程的示例流程图;

图9B是示出根据一个实施例的基于图9A所示的过程生成增强3D表示的过程的示例流程图。

附图仅出于说明的目的描绘了本公开的实施例。本领域技术人员根据以下描述将容易认识到,可以在不脱离本文所描述的本公开的原理或评价的优点的情况下,采用在本文示出的结构和方法的替代实施例。

具体实施方式

图1A是根据一个实施例的包括虚拟现实(VR)系统100的系统环境的方框图。VR系统100包括均耦合到VR控制台120的VR头盔140和成像装置115。为了简单起见,在VR系统100中仅示出一个VR头盔140、一个成像装置115和一个VR控制台120。在未示出的替代实施例中,VR系统100可以包括多个VR头盔140、成像装置115、VR控制台120以及额外的或不同的部件。同样,由VR系统100中包括的各种实体执行的功能在不同的实施例中可以不同。

VR头盔140是向用户呈现介质的头戴式显示器(HMD)。由VR头盔140呈现的介质的示例包括一个或多个图像、视频、音频或其某种组合。在一些实施例中,VR头盔140还可以充当增强现实(AR)和/或混合现实(MR)头盔。在这些实施例中,VR头盔140利用计算机生成的元素(例如,图像、视频、声音等)增强物理现实世界环境的视图,例如,通过计算机生成的传感输入(例如,声音、视频、图形数据)补充物理现实世界环境。在图1A所示的实施例中,VR头盔140包括电子显示器142、光学块143、一个或多个照明器144、一个或多个图像传感器145、一个或多个定位器146、一个或多个位置传感器147和惯性测量单元(IMU)148。

电子显示器142和光学块143一起监视呈现给佩戴VR头盔140的用户的眼睛的图像光。更具体地,电子显示器142提供原始图像光。光学块143放大从电子显示器142接收的图像光,校正与所接收的图像光关联的光学误差,并且将校正后的图像光呈现给VR头盔140的用户。光学块143可以具有一个或多个光学元件。光学元件可以是光圈、菲涅耳透镜、凸透镜、凹透镜、滤波器或影响从电子显示器142发射的图像光的任何其他合适的光学元件。此外,光学块143可以包括不同的光学元件的组合。在一些实施例中,光学块143中的一个或多个光学元件可以具有一个或多个涂层,例如,抗反射涂层。

照明器144提供照明,以对场景中的对象照明。在一个实施例中,照明器144提供结构化光,以照明对象。“结构化光”是指由一个或多个照明器144提供的光,该一个或多个照明器144将像素的已知照明图案投影到照明对象或场景上。示例照明器144可以是激光发射器和红外(IR)图案照明器。

图像传感器145捕捉由照明器144照明的对象或场景的图像。包括在VR头盔140中的图像传感器145可以是在视觉范围内的单色传感器、红-绿-蓝(RGB)传感器或IR传感器。示例图像传感器145可以是IR相机或红-绿-蓝(RGB)相机。

多个定位器146相对于彼此并且相对于VR头盔140上的特定参考点定位位于VR头盔140上的特定位置中的对象。定位器146可以是发光二极管(LED)、角隅棱镜反射器、反射标记、与VR头盔140工作的环境形成对比的一种光源、或其某种组合。在定位器146有效的实施例中(即,LED或其他类型的发光器件),定位器146可以发射在可见光波段(至750nm)、红外(IR)波段(至1mm)、紫外波段(10nm至380nm)、电磁波谱的某个其他部分、或其某种组合中的光。

在一些实施例中,定位器146位于VR头盔140的外表面下方,该外表面对由定位器146发射或反射的光的波长是透明的或者足够薄,以不显著减弱由定位器146反射或发射的光的波长。此外,在一些实施例中,VR头盔140的外表面或其他部分在光的波长的可见波段中是不透明的。因此,定位器146可以在IR波段中是透明的但在可见波段中是不透明的外表面下方发射在IR波段中的光。

IMU148是基于从一个或多个位置传感器147接收到的测量信号来生成校准数据的电子装置。位置传感器147响应于VR头盔140的运动而生成一个或多个测量信号。位置传感器147的示例包括:一个或多个加速度计、一个或多个陀螺仪、一个或多个磁力计、检测运动的另一合适类型的传感器、用于IMU148的误差校正的类型的传感器、或其某种组合。位置传感器147可以位于IMU148的外部、IMU148的内部或其某种组合。

基于来自一个或多个位置传感器147的一个或多个测量信号,IMU148生成指示相对于VR头盔140的初始位置的VR头盔140的估计位置的校准数据。例如,位置传感器147包括用于测量平移运动(例如,前进/后退、上/下、左/右)的多个加速度计和用于测量旋转运动(例如,俯仰、偏航、翻滚)的多个陀螺仪。在一些实施例中,IMU148采样测量信号并根据采样数据计算VR头盔140的估计位置。例如,IMU148整合随着时间从加速度计接收的测量信号,以估计VR头盔140的速度矢量,并随时间整合速度矢量,以确定VR头盔140上的参考点的估计位置。或者,IMU148将采样的测量信号提供给VR控制台120,VR控制台120确定校准数据。参考点是可以用于描述VR头盔140的位置的点。尽管在一个实施例中,参考点通常可以被定义为空间内的点,但是参考点被定义为VR头盔140内的点(例如,IMU148的中心)。

IMU148从VR控制台120接收一个或多个校准参数,以跟踪VR头盔140的操作。基于所接收的校准参数,IMU148可以调整一个或多个IMU参数(例如,采样率)。在一些实施例中,某些校准参数促使IMU148更新VR头盔140的参考点的初始位置,使VR头盔140对应于参考点的下一个校准位置。将参考点的初始位置更新为参考点的下一个校准位置,有助于减少与确定的估计位置相关的累积误差。累积误差(也称为漂移误差)使参考点的估计位置随时间偏离参考点的实际位置。

成像装置115根据从VR控制台120接收的校准参数来生成校准数据。校准数据的示例包括示出由成像装置115检测的定位器146的观察位置的一个或多个图像。成像装置115可以包括一个或多个相机、一个或多个摄像机、能够捕捉图像的任何其他装置或其某种组合。另外,成像装置115可以包括一个或多个滤波器(例如,用于增加由成像装置115捕捉的图像的信噪比)。成像装置115被设计成检测在成像装置115的视场中从定位器146发射或反射的光。在定位器146包括无源元件(例如,回射器)的实施例中,成像装置115可以包括照射一些或全部定位器146的光源,该光源向回反射朝向成像装置115中的光源的光。校准数据从成像装置115传送到VR控制台120,并且成像装置115从VR控制台120接收一个或多个校准参数,以调整一个或多个成像参数(例如,焦距、焦点、帧速率、ISO、传感器温度、快门速度、光圈等)。

VR控制台120根据从成像装置115和VR头盔140中的一个或两个接收的信息向VR头盔140提供用于呈现给用户的介质。在图1A所示的示例中,VR控制台120包括应用程序存储器122、跟踪模块124、虚拟现实(VR)引擎126以及处理器200。VR控制台120的一些实施例具有与结合图1A所描述的模块不同的模块。同样,下面进一步描述的功能能以与此处描述的方式不同的方式分布在VR控制台120的组件之中。

应用程序存储器122存储由VR控制台120执行的一个或多个应用程序。应用程序是一组指令(例如,可执行的计算机程序指令),当由处理器(例如,计算机处理器)执行时,生成用于呈现给用户的内容。由应用程序产生的内容可以响应于经由VR头盔140的移动从用户接收到的输入。应用程序的示例包括:游戏应用程序、会议应用程序、视频回放应用程序或其他合适的应用程序。

跟踪模块124使用一个或多个校准参数来校准VR系统100,并且可以调整一个或多个校准参数,以减少确定VR头盔140的位置时的误差。例如,跟踪模块124调整成像装置115的焦点,以获得观察的定位器在VR头盔140的更精确位置。此外,由跟踪模块124执行的校准也考虑从IMU148接收到的信息。另外,如果VR头盔140的跟踪丢失(例如,成像装置115失去至少阈值数量的定位器148的视线),则跟踪模块124重新校准一些或全部VR系统100。

跟踪模块124使用从成像装置115接收的校准信息来跟踪VR头盔140的移动。跟踪模块124使用来自校准信息的观察定位器来确定VR头盔140的参考点的位置。跟踪模块124还使用从IMU148接收的位置信息来确定VR头盔140的参考点的位置。另外,在一些实施例中,跟踪模块124可以使用来自VR控制台120的校准信息的一部分、来自成像装置115的校准信息或其某种组合,来预测VR头盔140的未来位置。跟踪模块124将VR头盔140的估计或预测的未来位置提供给VR引擎126。

VR引擎126执行VR系统100内的应用程序,并从跟踪模块124接收VR头盔140的位置信息、加速度信息、速度信息、预测的未来位置或其某种组合。基于接收到的信息,VR引擎126确定要提供给VR头盔140以呈现给用户的内容。例如,如果所接收的信息指示用户已经向左看,则VR引擎126生成用于在虚拟环境中反射用户的移动的VR头盔140的内容。

处理器200处理从成像装置115和/或从VR头盔140接收的信息。在一些实施例中,处理器200从成像装置115接收图像和相关图像数据,生成所接收的图像的一个或多个虚拟场景,并且将所生成的虚拟场景呈现给VR头盔140,用于呈现给VR头盔140的用户。例如,处理器200从成像装置115接收被结构化光照明的场景中的对象的捕捉图像,并分析捕捉图像的一个或多个图案特征。处理器200基于分析的图案特征,从捕捉的图像中创建场景中的对象的深度图表示和对象的反射率图表示,并且通过组合对象的深度图表示和对象的反射率图表示来生成对象的3D表示,如下面在图2A-2B中更充分地描述的。

图1B是根据一个实施例的在图1A中所示的VR系统100中操作的示例VR头盔160的透视图。在图1B中,VR头盔160包括带161、保持VR头盔160的主体163的保持套筒162、照明器165、侧传感器164和前传感器166。为了说明的目的,在图1B中仅示出一个带161、一个保持套筒162、一个照明器165、一个前传感器166和一个侧传感器164。在未示出的替代实施例中,VR头盔160可以包括多个带161、保持套筒162、照明器165、前传感器166、侧传感器166以及额外或不同的部件。另外,在不同的实施例中,由VR头盔160中的各种实体执行的功能可能不同。在一些实施例中,图1B中所示的VR头盔160与图1A中所示的VR系统100中的VR头盔140相同或相似。

照明器165对场景或场景中的对象照明。在一些实施例中,照明器165提供具有特定照明图案的结构化光,其中,由照明器照明的对象或场景基于结构化光渲染特定图案。处理器200(图1A所示)可以控制照明器165,以在不同的时间提供具有不同照明图案的结构化光。为简单起见,图1B中仅示出一个照明器165。在未示出的替代实施例中,VR头盔160可以包括具有不同类型的额外的照明器。例如,VR头盔160包括额外的照明器(此处未示出),以向场景中的对象提供额外的照明。在一些实施例中,图1B中所示的照明器165与图1A中所示的VR系统100中的照明器144相同或相似。

前传感器166和侧传感器164从不同角度捕捉VR头盔160前方的对象或场景的图像。在一个实施例中,前传感器166可以是VR头盔160的主传感器,并且侧传感器164用作额外的传感器,以捕捉对象的额外图像。前传感器166和侧传感器164都可以是红外传感器、RGB传感器或单色传感器。为了简单起见,图1B中仅示出了一个前传感器166和一个侧传感器164。在未示出的替代实施例中,VR头盔160可以包括具有不同类型的和/或位于VR头盔上的不同位置的不同数量的传感器。同样,额外传感器可以是不同类型的传感器。在一些实施例中,前传感器166和侧传感器164与图1A所示的VR系统100中的图像传感器145相同或相似。

图2A是根据一个实施例的在图1A所示的VR系统100中运行的处理器200的方框图。在2A所示的示例中,处理器200包括捕捉模块212、深度图模块214、反射率图模块216、3D表示模块218、图像数据存储器232、深度图数据存储器234、反射率图数据存储器236以及3D表示数据存储器238。在未示出的替代实施例中,处理器200可以包括额外的和/或不同的模块或数据存储器。同样,由处理器200的各种实体执行的功能在不同的实施例中可以不同。

捕捉模块212捕捉场景或场景中的对象的图像。在一个实施例中,处理器200指示一个或多个传感器(例如,图1B中示出的前传感器166、侧传感器164)捕捉场景中的对象或场景本身的图像。作为一个示例,捕捉模块212可以捕捉用于创建对象的深度图表示和对象的反射率图表示的对象的原始图像。作为另一示例,捕捉模块212可以捕捉同一对象的一个或多个额外图像,以增强对象的所创建的3D表示。与原始图像相比,额外图像可以由相同传感器或不同传感器从相同视角或不同视角捕捉。作为另一示例,捕捉模块212可以捕捉不同对象或不同场景的图像。

在一个实施例中,捕捉模块212捕捉由照明器照明的对象的图像,该照明器将具有特定照明图案的结构化光投射到对象上。与用没有照明图案(例如,均匀照明)的正常光照明的相同对象的图像相比,对象的捕捉图像提供了对将来生成反射率图表示更有用的信息。用结构化光照明的对象的捕捉图像包括与投影到对象上的照明图案对应的特定图案特征。图案特征可以是条纹、线条、点或其他几何形状,并且包括均匀或不均匀的特征,例如,形状、尺寸和强度。下面在图3中描述用特定结构化光照明的示例捕捉图像。如下面更全面地描述的,捕捉图像和相关图像数据(例如,每个像素的强度、深度和梯度)存储在图像数据存储器232中。

深度图模块214从图像数据存储器232中检索所照明的对象的捕捉图像,并且从所照明的对象的捕捉图像生成对象的深度图表示。如上所述,对象的深度图表示是指包含对象的表面的不同部分与指定视点相距的距离的信息的图像,并且指定视点可以是捕捉对象的图像的传感器的位置。下面参考图4进一步描述示例深度图表示。对象的所生成的深度图表示和相关深度数据存储在深度图数据存储器234中,如下面更充分地描述的。

在一个实施例中,深度图模块214识别并分析用于导出捕捉图像的深度信息的图案特征。基于与对象相关联的识别和分析的图案特征,深度图模块214生成对象的深度图表示。深度信息的示例可以是由于捕捉图像中的对象上的每个像素的深度的差异而引起的对象的几何失真。对象上的像素的“深度”是指实际对象上的像素与指定视点(例如,传感器的位置)之间的距离。

在一些实施例中,深度图模块214基于捕捉的图像中的检测到的图案与参考图案之间的相关性来生成捕捉的图像中的对象的深度图表示。检测到的图案是指投影到对象上并渲染在捕捉的图像中的图案,并且参考图案是指由照明器提供的原始照明图案。对于具有投影到对象上的照明图案的结构化光,在对象的捕捉图像中检测到的图案是结构化光的原始照明图案的失真版本。原始图案的失真版本包括由于对象的深度而引起的移位和其他失真。通过将检测到的图案与原始照明图案,或检测到的图案的部分与原始照明图案的对应部分进行比较,深度图模块214识别偏移或失真并生成对象的深度图表示。

在一个实施例中,使用在捕捉的图像中检测到的图案特征的调整特征的序列来获得检测到的图案与参考图案之间的相关性。例如,在捕捉的图像上渲染的图案特征被个体化,以协助检测到的图案和参考图案之间的相关性。在一个实施例中,相关性基于整个检测到的图案的个体化图案特征与参考图案的对应图案特征的比较。在另一实施例中,相关性基于检测到的图案的部分的个体化特征以及参考图案的对应部分的特征。相关性允许导出捕捉图像中的对象的各个像素的深度信息。

深度图模块214还可以基于在正交方向上对照明图案应用一个或多个不同变化来在捕捉的图像中生成对象的深度图表示。照明图案的变化允许深度图模块214明确地识别在对象的捕捉图像中检测到的特定图案特征。作为一个示例,照明图案的变化可以是强度变化(例如,图3中所示的条纹),并且可以向由照明图案产生的图案特征的每个部分提供独特签名。作为另一示例,变化可以是循环的(但不是同相的),以使用最小的计算资源提供最大的唯一标识。另外,深度图模块214可以使用两个或更多不同类型的变化。可以相互测量不同类型的变化,以提供位于捕捉图像中的位于对象的不同位置处的像素的深度信息。

作为一个实例,如果使用图案特征的一个强度变化(例如,具有变化强度的条纹),则深度图模块214将独特签名(例如,循环唯一签名)应用于指定维度中的每个条纹(例如,在与捕捉图像共享的同一坐标系统中与Y轴对准的方向)。深度图模块214基于自指定的基本位置的每个条纹的偏移来生成捕捉的图像中的对象的深度图表示。为了精确地检测偏移,深度图模块214可以通过向每个单独的行分配循环唯一签名来识别捕捉的图像中的对象的每个单独的像素行,并且基于与每一行相关联的唯一签名来实现识别。在该示例中,强度变化包括一个维度上的不同强度的条纹,并且检测到的条纹可以渲染不同的检测效果,例如,一些条纹可能较弱,一些可能是中等,一些可能较强。检测到的图案可能具有弱条纹、中等条纹和强条纹以给定的顺序(例如,从弱到强)重合的单个位置,在这种情况下,深度图模块214实现图案特征的索引。在替代示例中,也可以使用不同强度的正方形,并且深度图模块214类似地实现图案特征的索引。

作为另一示例,深度图模块214可以使用图案特征的两个强度变化。两个强度变化可以是循环的,并且可以例如基于可以为捕捉的图像中的对象的单独像素设置的可用灰度级,来生成循环强度变化,作为成本节约的替代方案。只要两个循环变化是异相的(不同相),深度图模块214可以获得比单独考虑时的两个循环变化的单独循环相对更大的组合循环。

在又一个实施例中,深度图模块214使用两个或更多个不同的强度变化来计算捕捉的图像中的对象的深度图。可以投影具有一个、两个或更多个不同强度变化的照明图案。在VR头盔的整个空间中,每种变化都可能具有唯一的强度交替功能。例如,图案可以包括沿着每个条纹具有高斯形状强度热点的连续条纹,作为图案特征。当从传感器向照明对象的方向移动的同时,条纹强度线性降低时,相机在每个热点峰值测量的强度保持不变。可以通过热点强度与其周围的条纹强度的比较来提取深度信息(例如,与将照明图案反射回传感器的对象相距的距离)。

在一些实施例中,深度图模块214进一步计算热点强度与线强度之间的比率,以如上所述基于条纹偏移来提供补充深度图计算。热点强度和线强度提供了至少两种变化,用于导出在捕捉的图像上渲染的图案特征的绝对索引。例如,在捕捉的图像上渲染的图案特征可以由平行条纹构成。平行条纹的基本强度可以变化,例如,在一个循环中,以在第一方向上提供变化,例如与平行条纹正交的方向。条纹本身可以在其长度方向上携带符号,并且变化在不同条纹上以不同的方式排列,使得可以识别和索引每个条纹或每个条纹簇。在一个实施例中,由条纹所携带的符号可具有保持不变的峰值强度或强度峰值。所有强度都会随着对象与检测对象的光源和传感器的距离的增加而逐渐减小,传感器捕捉的条纹强度的下降可以提供深度信息。在一些实施例中,捕捉图像中的对象的绝对亮度还取决于反射表面,在这种情况下,共同考虑包括光源或传感器与照明对象之间的距离的多个因素以及其他因素(例如,反射表面的性质),用于获取深度信息。

在一个实施例中,深度图模块214使用条纹的基本强度与条纹的峰值强度之间的比率,以允许更精确的深度计算,尤其是当与分割或三角测量结果组合时。在另一实施例中,深度图模块214识别每个条纹或单个条纹的特定扇区上的不同强度和不同符号分布,这也允许更精确的深度图计算。在一些实施例中,为了便于使用,可以从高斯亮度分布构建上述符号。

处理器200的反射率图模块216生成存储在图像数据存储器232中的捕捉图像中的对象的反射率图表示。如上所述,对象的反射率图表示是指包含关于在捕捉图像中的对象的表面的不同部分的反射率特性的信息的图像,并且对象的反射率图表示提供表面细节(对象表面上的视觉识别点的精细细节)。在一个实施例中,反射率图模块216导出对象的反射率图,以便通过处理由投影到对象上的结构化光产生的对象固有的非均匀照明,来表示对捕捉图像中的对象的更均匀照明。在图5中示出示例反射率图表示。所创建的反射率图表示和相关数据存储在反射率图数据存储器236中。

在一个实施例中,反射率图模块216在捕捉的图像中创建同一对象的反射率图表示,由深度图模块214据此生成对象的深度图表示。在又一实施例中,反射率图模块216可以创建对象的捕捉图像的反射率图,该图与从中创建深度图表示的对象的捕捉图像不同。在这个实施例中,两个不同的捕捉图像可以包括从不同的角度来看的同一对象或场景。

在一些实施例中,反射率图模块216可以导出照明对象的特定区域(例如,具有精细表面细节的区域)的反射率图表示,用于生成对象的反射率图表示。例如,对于包括人的正面的对象,脸部的皮肤区域包括关于表面细节的丰富信息以及用于将图案化照明扩散到非照明区域(即,照明图案特征之间的区域)的信息。在该示例中,反射率图模块216可以导出提供丰富表面信息的皮肤区域的反射率图表示。

为了生成捕捉图像中的对象的反射率图表示,反射率图模块216首先索引投影到照明对象上的并在对象的捕捉图像中渲染的图案特征。下面参考图3,更全面地描述捕捉图像中的图案特征的索引示例。反射率图模块216应用索引,以使由照明器提供的照明图案的特征与在捕捉图像中渲染的图案特征相关。相关性使在捕捉图像中的照明对象的表面上投影的图案特征的功能行为能够进一步被计算。图案特征的功能行为可以由与捕捉图像中渲染的图案特征相关联的一个或多个特征来表示,例如,沿着预定义的线的捕捉强度。在图6A中示出功能行为的一个示例,如下面更充分地描述的。根据图案特征的功能行为,反射率图模块216可以通过从对象的捕捉图像中去除图案特征来计算照明对象的实际表面反射率。在图6A和图6B中示出了基于图案特征的功能行为去除图案特征的示例。

在一些实施例中,反射率图模块216可以利用由额外的照明器提供的额外的照明来改善对象的所生成的反射率图表示,以优化照明图案。额外的照明可以用于照明位于图案特征之间的对象的区域。例如,对于作为一维条纹的图案特征,由额外的照明照射的区域是亮条纹之间的黑色区域。这种照明可以改善反射率图的导出。在一些实施例中,还可以修改照明图案,以引入一些背景照明和/或更宽的特征尺寸,以在一些可接受的优化约束下提供更宽的表面照明,例如,在对象的深度图表示的可接受的劣化与对象的改善的反射率图表示之间权衡。

处理器200的3D表示模块218基于捕捉图像中的对象的创建的深度图表示和对象的反射率图表示,来生成捕捉图像中的对象的3D表示。在一个实施例中,3D表示模块218组合对象的反射率图表示和对象的深度图表示,以生成对象的3D表示。对象的3D表示包括对象的表面细节和深度信息。所生成的3D表示和相关数据存储在3D表示数据存储器238中。

在一些实施例中,3D表示模块218可使用捕捉对象的一个或多个额外图像来增强对象的3D表示。以一个额外图像为例,为了增强3D表示,3D表示模块218从反射率图数据存储器236中检索对象的所创建的反射率图表示并且从3D表示数据存储器238中检索对象的所创建的深度图表示。3D表示模块218使用对象的反射率图表示,以将额外图像登记到所提取的深度图表示上,并将额外图像的表面信息与已经包括在3D表示中的表面信息相关联。3D表示模块218通过比较对象的反射率图表示和对象的额外图像来导出对象的额外3D信息,将导出的3D信息相加,以增强深度图表示并进一步产生进一步增强3D表示。

处理器200的图像数据存储器232存储特定对象或场景的捕捉图像以及与捕捉图像有关的图像数据。在一个实施例中,存储在图像数据存储器232中的捕捉的图像可以是相同对象或相同场景的图像。在该实施例中,捕捉图像也可以在由一个或多个照明器提供的照明图案方面变化。例如,如上所述,捕捉图像可以是具有额外的照明的相同对象或场景的图像,其用于改善反射率图表示的构造。在另一实施例中,存储在图像数据存储器232中的捕捉图像可以包括具有相同或不同照明图案的不同对象或不同场景的图像。图像数据存储器232还存储由额外传感器捕捉的额外图像以及与额外图像有关的图像数据。

处理器200的深度图数据存储器234存储由深度图模块214生成的对象的深度图表示和相关数据。例如,深度图数据存储器234存储原始深度图表示和相关深度数据以及增强的深度图表示和相关深度数据。如上所述,原始深度图表示是指从没有额外图像的原始捕捉图像导出的深度图表示,而增强深度图表示是指利用额外图像和额外3D数据增强的深度图表示。

处理器200的反射率图数据存储器236存储由反射率图模块216产生的对象的反射率图表示和相关数据。例如,反射率图数据存储器236存储原始反射率图表示和相关的反射率数据以及改善的反射率图表示和相关的反射率数据。如上所述,原始反射率图表示是指从没有额外的照明的原始捕捉图像中导出的反射率图表示,而改善反射率图表示是指利用额外的照明改善的反射率图表示。反射率图表示和相关的反射率数据提供捕捉图像中的对象的表面的反射率特性。

处理器200的3D表示数据存储器238存储由3D表示模块218生成的对象的3D表示和相关数据。例如,3D表示数据存储器238存储原始3D表示和相关的3D数据以及增强3D表示和相关的3D数据。如上所述,原始3D表示是指在没有额外图像和增强深度图表示的情况下从反射率图表示和深度图表示中导出的3D表示,而增强3D表示是指利用额外的图像并进一步利用额外3D数据和增强的深度图表示生成的3D表示。

图2B是示出根据一个实施例的捕捉场景252中的对象254的图像260并利用对象的反射率图表示288来增强对象254的深度图表示270的步骤的流程图250。如图2B所示,照明器265向场景252中的对象254提供具有特定照明图案(例如,条纹)的结构化光,并且传感器266捕捉场景252中的对象254的图像。在一个实施例中,处理器200可以指示照明器265用特定的结构化光照明对象254。将捕捉图像260提供给处理器200,以生成对象254的深度图表示270以及对象254的反射率图表示288。为了生成对象254的反射率图表示288,处理器200首先通过索引捕捉图像260中渲染的图案特征来导出索引的图案特征282。然后,处理器200通过分析捕捉图像260中的索引图案特征来导出至少一个图案特征284的功能行为。处理器200基于图案特征的导出的功能行为,生成对象254的反射率图表示288,从捕捉的图像260中去除286图案特征。处理器200组合对象254的深度图表示270和对象254的反射率图表示288,以创建对象254的3D表示290。

在一个实施例中,如图2B所示,额外的照明器267可以向场景252中的对象254提供具有额外的照明的结构化光,以改善反射率图表示288的构建,如上面在图2A中所描述的。额外的传感器268可以捕捉场景252中的对象254的额外图像269,并且处理器200指示反射率图表示288将额外图像登记到深度图表示270上,以生成增强3D表示292,如上面在图2A中所描述的。

图3是根据一个实施例的由具有特定照明图案320的结构化光照明的对象354的示例捕捉图像300。如图3所示,捕捉图像300中的对象354是其正面、颈部和肩部由具有照明图案320的结构化光照明的人。所捕捉图像300示出了对象354的正面(即,322A)上以及肩部(即,322B)上渲染的图案特征322是具有不同强度的一个方向(水平方向)上的线性条纹,其中,具有一定强度的每个单独条纹是图案特征。捕捉图像300还示出了图案特征322的索引342以及图案特征的导出的功能行为344。例如,根据每个图案特征的特征特性(例如,强度),如箭头所示,索引每个图案特征(例如,具有变化的强度的水平条纹)322。“特征特性”是指可用于区分单独图案特征的特定类型图案特征的特性。在该示例中,特征特性是用于区分每个图案特征(例如,每个水平条纹)的强度,因为单独条纹的强度将这些条纹彼此分开,两个相邻的亮条纹之间具有暗间隔,这允许索引单独的图案特征。在未示出的替代示例中,可以应用不同类型的特征特性,来帮助索引对应类型的图案特征。例如,形状(例如,线宽)和颜色可以是其他类型的图案特征的其他特征特性。此外,可以捕捉用不同类型的照明图案照明的不同对象,并且捕捉图像可以渲染不同类型的图案特征,并且对应的特征特性用于索引图案特征。

对象的不同部分中的图案特征322的功能行为344可以是不同的。例如,皮肤区域上(例如,在脸上或在脖子上)的图案特征322A比在衣服区域上(例如,在肩部上)的图案特征322B看起来更漫射。衣服上的图案特征322B也显得更加分散,并且由于照明通过皮肤扩散,特征间隙324也被照明。

本文描述的特征间间隙324是指相同的图案特征(例如,在相同的水平条纹内)的强度间隙。在一些实施例中,皮肤区域上的图案特征322A与衣服区域上的图案特征322B之间的差异可能由两个区域的纹理差异引起。图案特征322A和322B之间的差异还示出了皮肤区域上的图案特征322A由于图案特征的更好的可见性而更适合于导出图案特征的功能行为并且进一步构建对应的反射率图表示。

图4是根据一个实施例的在图3所示的捕捉图像300中的对象354的示例深度图表示400。如图4所示,深度图表示400是从捕捉图像300中的对象354的目标图案特征的失真中导出的。目标图案特征包括捕捉图像300中的人的皮肤区域上(例如,在脸上或在脖子上)的图案特征。目标图案特征的失真包括捕捉图像300中的水平条纹的失真。在一个实施例中,目标图案特征的失真根据基于网格的模型440,插入该模型以生成失真。人的深度图表示400包括捕捉图像300中的人的深度信息,然而,在捕捉对象354的表面上没有表面信息和精细细节。

图5是根据一个实施例的在图3所示的捕捉图像300中的对象354的示例反射率图表示500。图5中所示的反射率图表示500仅包括对象354的皮肤区域(例如,脸部和颈部)而不包括对象354的衣服区域的表面上的反射率信息。从图3所示的捕捉图像300的对应部分取得反射率图表示500的衣服区域和背景。仅构建皮肤区域的一个原因在于,如上面在图3中所描述的,这些区域中的图案特征的功能行为更加可见。与图4所示的深度图表示400相比,反射率图表示500提供对象354的表面的精细细节。例如,反射率图表示500显示了对象354的脸部上的眉毛522、睫毛523、颊524、鼻孔525和嘴部526的区域,这不能从图4所示的深度图表示400中看到。

图6A-6C示出了根据一个实施例的在图3所示的捕捉图像300中的对象354的反射率图表示的各个方面。更具体地,图6A示出了根据一个实施例的在图3所示的捕捉图像300中的对象354的图案特征的功能行为610、去除图案特征620以及对象354的所产生的残留信号630的示例。在610中所示的示例中,对象354的图案特征的功能行为表示为沿着线612的捕捉强度,该线与图3所示的捕捉图像300中的对象354上渲染的水平条纹的纵向方向正交。功能行为的线图610上的峰值614表示捕捉图像300中的对象354上的图案特征(例如,亮条纹)的最大强度。谷值616表示在捕捉图像300中的对象354上的图案特征(例如,亮条纹)的最小强度。

示例620示出了基于图案特征622的函数行为的图案特征622的去除。从对象354去除图案特征622产生表示或接近捕捉图像300中的对象354(例如,人)的表面的反射率的残差信号624。如下面图6B更详细地描述的,图案特征的去除可以通过乘法函数654来执行。

所产生的残差信号的示例630示出了从捕捉图像300中去除了图案特征之后的残差信号624。残差信号624提供关于捕捉图像300中的对象354的表面上的反射率的信息,用于构建捕捉图像300中的对象354的反射率图表示。

图6B示出了捕捉图像300中的对象354的照明信号652和用于去除捕捉图像300中的对象354的表面上的图案特征的乘法函数654。更详细地,乘法函数654从照明信号652中导出并且以对应的二维形式用于将捕捉的图像相乘,以生成对象354的反射率图表示。

图6C示出了原始信号672、乘法函数674和照明模型676的另一示例670。

图7是示出根据一个实施例的通过组合图4所示的对象的深度图表示400和图5所示的对象的反射率图表示500来生成图3所示的对象354的3D表示750的流程图700。如图7所示,捕捉图像300在捕捉的对象354(例如,人)上渲染图案特征。从对象的捕捉图像300导出对象的深度图表示400和反射率图表示500,其中,对象的深度图表示400提供对象的深度信息,而反射率图表示500提供对象的表面的反射率信息。通过组合对象的深度图表示400和对象的反射率图表示500来创建3D表示750。可以例如通过使用诸如图1所示的VR头盔140等VR装置,立体地看到所生成的3D表示750的实际3D效果。

图8A示出根据一个实施例的在捕捉对象的图像中的对象的图案特征和像素之间的相对位置的效果的示例。在图8A中,线图810示出了图案特征沿着捕捉图像中的对象的像素中心居中。线图820示出了用于根据其功能行为去除图案特征的校正模块,并且线图830示出了图案特征的完全去除。

图8B示出根据一个实施例的在捕捉对象的图像中的对象的图案特征和像素之间的相对位置的效果的另一示例。在图8B中,线图860示出了图案特征不是沿着捕捉图像中的对象的像素中心居中。线图870示出了用于根据其功能行为去除图案特征的校正模块,并且线图880示出了由于偏移的图案特征而未完成图案特征的去除。

在一些实施例中,对于不沿着捕捉图像中的对象的像素中心居中的图案特征,图案特征相对于对象的像素中心的偏移可以通过亚分辨率校正来校正,并且可以用这种校正来生成校正的反射率图表示。图案特征相对于像素中心的偏移的校正可以涉及跟踪相邻像素上的光分布,并且将在二维或三维的多个像素上的整个分布图案映射到小于像素大小的单个像素上的点。可以在美国专利申请号14/595,369中找到有关亚分辨率校正的更多细节。

图9A是示出根据一个实施例的由处理器200通过利用对象的反射率图表示增强对象的深度图表示来生成捕捉对象的图像中的对象的3D表示的过程的示例流程图900。首先,由照明器(例如,图2B中的照明器265)利用结构化光照明910场景中的对象,并且由图像传感器(例如,图2B中的传感器266)捕捉照明对象的图像。如上所述,捕捉图像渲染由结构化光提供的照明图案产生的图案特征。处理器200分析930捕捉图像中的图案特征。处理器200基于分析的图案特征,从捕捉图像创建940对象的深度图表示。处理器200还基于分析的特征,从捕捉的图像创建950对象的反射率图表示。

为了创建对象的反射率图表示,处理器200首先索引952捕捉图像中示出的对象上的图案特征,然后,导出954对象的表面上的图案特征的功能行为。在导出功能行为之后,处理器200从捕捉的图像中去除956图案特征,以创建对象的反射率图表示。

在创建了深度图表示和反射率图表示之后,处理器200通过组合对象的深度图表示和反射率图表示来生成960对象的3D表示。处理器200进一步利用对象的一个或多个额外图像和额外的照明来生成970对象的增强3D表示。

图9B是示出根据一个实施例的基于图9A所示的过程生成增强3D表示的过程的示例流程图。如图9B所示,额外的照明器向对象提供971了额外的照明,以改善反射率图表示的构造。捕捉972场景中的对象的一个或多个额外图像。处理器200用由额外的照明改善的反射率图表示将额外图像登记973到对象的深度图表示上。处理器200基于登记的额外图像在对象上导出974额外3D数据。处理器200基于额外3D数据和改善的反射率图表示生成975对象的增强3D表示。

额外配置信息

已经出于说明的目的,呈现了本公开的实施例的前述描述;并不意图是穷尽性的或者将本公开限制为所公开的确切形式。相关领域的技术人员可以理解,鉴于上述公开,许多修改和变化是可能的。

本说明书的一些部分根据对信息的操作的算法和符号表示来描述本公开的实施例。数据处理领域的技术人员通常使用这些算法描述和表示来将其工作的实质有效地传达给本领域其他技术人员。尽管在功能上、计算上或逻辑上描述,但是这些操作被理解为由计算机程序或等效电路、微码等实现。此外,不失一般性地,有时也证明方便地将这些操作排列称为模块。所描述的操作及其相关联的模块可以以软件、固件、硬件或其任何组合来体现。

本文描述的任何步骤、操作或过程可以用一个或多个硬件或软件模块单独或与其他装置结合来执行或实现。在一个实施例中,软件模块用计算机程序产品来实现,该计算机程序产品包括含有计算机程序代码的计算机可读介质,该计算机程序代码可以由计算机处理器执行,用于执行所描述的任何或全部步骤、操作或过程。

本公开的实施例还可以涉及用于执行本文的操作的设备。该设备可以为了所需的目的而专门建造,和/或可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算装置。这种计算机程序可以存储在非临时性的有形计算机可读存储介质或者适合于存储电子指令的任何类型的介质中,其可以耦合到计算机系统总线。此外,说明书中提到的任何计算系统可以包括单个处理器,或者可以是采用多个处理器设计以提高计算能力的架构。

本公开的实施例还可以涉及通过在本文描述的计算过程产生的产品。这种产品可以包括从计算过程产生的信息,其中,信息存储在非暂时性的有形计算机可读存储介质上,并且可以包括本文描述的计算机程序产品或其他数据组合的任何实施例。

最后,说明书中使用的语言主要是为了可读性和指导的目的而选择的,并且可能没有选择来描绘或限定本发明的主题。因此,其目的在于,本公开的范围不受该详细描述的限制,而是受限于基于此的申请公开

的任何权利要求。因此,实施例的公开旨在是说明性而不是限制在所附权利要求中阐述的本公开的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号