掌桥专利:专业的专利平台
掌桥专利
首页

基于立体提取的三维场景修复

文献发布时间:2023-06-19 10:58:46


基于立体提取的三维场景修复

相关申请的交叉引用

本申请要求于2018年9月27日提交的题为“使用立体提取的三维场景修复”的美国临时申请序列号62/737,280的优先权,其全部内容通过引用合并于此。

技术领域

本发明涉及渲染三维场景,并且更具体地,涉及用于从一对具有不同视点的二维图像渲染具有改善的视觉特性的二维场景的系统和方法。

背景技术

计算机系统使用渲染程序在二维(2D)显示器上呈现三维(3D)场景对象。为了创建场景对象的三维表示,计算机系统从具有不同视点的多个二维图像中获取场景对象的几何信息。然后,计算机系统根据获得的几何信息创建深度图,用于在二维显示器上创建和渲染三维场景。

深度图是一种图像,其包含与从捕获场景对象的二维图像的成像视点到场景对象表面的距离有关的信息。该深度有时被称为Z深度(Z-depth),它是指一种约定,即成像器视点的中心轴在成像器的Z轴方向上,而不是在场景的绝对Z轴方向上。

计算机系统将在三维场景呈现在二维显示器上以供用户查看和操作,并且用户能够通过改变三维场景的视点来操纵三维场景的场景对象。对于场景对象的观点是,三维场景不包括准确的信息(例如,颜色值,深度值和/或对象值,这是因为对象/场景的一些面,不会出现在用于创建三维的有限数量的视点而获得的一个或多个二维图像中),计算机系统会尝试使用来自相邻像素的信息来使场景完整。当计算机系统试图使场景完整时(例如,使用来自相邻像素的信息),所得到的场景经常包括不真实的外观形状和/或颜色(例如,颜色的“拉伸(stretching)”效果)。

为了尽量减少不真实的外观形状和/或颜色,现有技术经常从两个不同的视点(例如,图像的全景)获得远多于两个的2D图像。从多个视点获得图像的全景,增加了场景对象的至少一个视点包括用于从各种视点生成三维场景的信息的可能性,从而提高了显示精度。然而此项技术与仅从两个二维图像创建三维场景相比,需要相对大量的处理时间/能力。

附图的简要说明

当结合附图阅读时,根据以下详细描述,将最好地理解本发明,其中相同的组件具有相同的附图标记。当存在多个类似的组件时,可以将单个附图标记分配给多个类似的组件,并用小写字母表示具体的组件。当指代组件的集合或者指代非特定的一个或多个组件时,可以去掉小写字母。这强调了根据惯例,除非另有说明,否则附图的各个特征未按比例绘制。相反地,为了清楚起见,可以扩大或缩小各种特征的尺寸。附图中包括以下附图:

图1A是包括电子组件和支撑电子组件的支撑结构的眼镜示例的透视图;

图1B是图1A眼睛示例的俯视图,示出了由眼镜限定的用于容纳佩戴眼镜的用户的头部的区域;

图2是图1A的眼镜示例所支持的电子组件的示例、以及与个人计算设备和接收方的通信的框图。

图3A是用于渲染3D场景的示例步骤的流程图;

图3B是用于将第一和第二2D图像重构为图3A中的3D场景的示例步骤的流程图;

图3C是用于图3B中信息不完整的3D场景区域检测的示例步骤的流程图;和

图3D是用于确定图3B中的替换图像信息的示例步骤的流程图。

具体实施方式

在下面的详细描述中,通过示例的方式阐述了许多具体细节,以便提供对相关教导的透彻理解。然而,对于本领域技术人员而言,显而易见的是,这些细节对于实践本教导不是必需的。在其他情况下,省略了众所周知的方法、过程、组件和电路的细节的、相对高级的描述,避免了不必要地使本教导的各方面晦涩难懂。

本文所用的术语“耦合”是指任何逻辑的、光的、物理的、电连接、链路或类似的东西,并由此使一个系统元件产生或提供的信号或光被传递到另一个耦合元件。除非另有说明,否则耦合的元件或设备不一定必须彼此物理接触,并且可以由可修改、操纵或携带光或信号的空域、中间组件、元件或通信介质隔开。

在任何附图中示出的眼镜、相关组件以及任何装置的方向仅是出于说明和讨论的目的示例性的。在操作中,眼镜的方向可以是适合于眼镜的特定应用的其他方向,例如向上,向下,侧向或任何其他方向。同样,任何方向性术语,例如前,后,向内,向外,朝向,左,右,横向,纵向,向上,向下,上,下,顶部,底部和侧面,对于方向或朝向而言,仅是示例性的,而不是限制性的。

图1A描述了用于捕获图像的示例眼镜12的前透视图。示出的眼镜12包括具有从中央框架部16延伸的镜腿14A和14B的支撑结构13。眼镜12还包括铰接接头18A和18B,电子组件20A和20B以及芯线22A、22B和24。尽管所示的眼镜是眼镜式的,但是眼镜可以采用其他形式,例如头戴式耳机,头套,头盔或用户可以佩戴的其他设备。

当用户佩戴时,支撑结构13在用户的视野内支撑一个或多个光学元件。例如,中央框架部16支撑一个或多个光学元件。如本文所述的术语“光学元件”是指透镜、玻璃或塑料的透明片、投影仪、屏幕、显示器以及其他用于呈现视觉图像或用户用以感知视觉图像的装置。在一个示例中,相应的镜腿14A和14B在相应的铰接接头18A和18B处连接至中央框架部16。所示的镜腿14A和14B是细长构件,其具有在其中纵向延伸的芯线22A和22B。

在图1A中,镜腿14A被示为处于可穿戴状态,镜腿14B被示为处于收拢状态。如图1所示。如图1A所示,铰接接头18A将镜腿14A连接至中央框架部16的右端部26A。类似地,铰接接头18B将镜腿14B连接至中央框架部16的左端部26B。中央框架部16右端部26A包括用于容纳电子组件20A在其中的壳体,左端部26B包括在用于容纳电子组件20B在其中的壳体。

塑料材料或其他材料嵌入芯线22A,该芯线从相邻的铰接接头18A朝镜腿14A的第二纵向端纵向延伸。类似地,塑料或其他材料也嵌入芯线22B,该芯线从相邻的铰接接头18B朝着镜腿14B的第二纵向端纵向延伸。塑料或其他材料还额外嵌入芯线24,该芯线从右端部26A(终止于相邻的电子组件20A)延伸至左端部26B(终止于相邻的电子组件20B)。

电子组件20A和20B由支撑结构13承载(例如,由镜腿14A、14B和/或中央框架部16中的一个或两个来承载)。电子组件20A和20B包括电源、与电源和通信有关的电路、通信设备、显示设备、计算机、存储器、模块和/或类似物(未示出)。电子组件20A和20B可以各自包括用于捕获图像和/或视频的相应的成像器10A和10B。在所示的示例中,成像器10A与右镜腿14A相邻,并且成像器10B与左镜腿14B相邻。成像器10A和10B彼此隔开,以便从两个不同的视点获得场景对象的图像,以用于生成3D场景。

支撑结构13限定一个用于容纳用户/佩戴者的头部的一部分52(例如,主要部分)的区域(例如,由框架12和镜腿14A和14B限定的区域52(图1B))。所限定的区域是包含用户的头的至少一部分的一个或多个区域,当用户佩戴眼镜12时,该区域被支撑结构包围、环绕、相邻和/或靠近支撑结构。在示出的示例中,成像器14A和14B位于眼镜上,使得当佩戴眼镜12时,成像器14A和14B与用户的各自对应的眼睛相邻,这有助于获得适于创建三维场景的视点的分离。

图2是耦合到显示系统135(例如,处理设备的显示器或用于呈现信息的其他技术)的示例电子元件的框图。示出的电子组件包括用于控制眼镜12中的各种设备的控制器100(例如,硬件处理器);用于便于眼镜12与客户端设备(例如,诸如智能手机之类的个人计算设备50)之间通信的无线模块102(例如,蓝牙TM);用于给眼镜12供电的电源电路104(例如,电池,滤波器等);用于存储数据(例如,图像,视频,图像处理软件等)的诸如闪存之类的存储器106;选择器32;用于捕获一个或多个图像(例如,图片或视频)的一个或多个成像器10(在示例中为两个)。尽管眼镜12和个人计算设备被示为单独的组件,但是个人计算设备的功能可以被合并到眼镜中,从而使得个人计算设备和/或眼镜12能够执行本文所述的功能。

选择器32可以触发(例如,通过瞬间按下按钮)眼镜12的控制器100以捕获图像/视频。在使用单个选择器32的示例中,该选择器可以在设置模式(例如,通过按住选择器32一段时间进入,比如3秒)和图像捕捉模式(例如,在一段时间无接触后进入,比如5秒)下使用以捕获图像。

在一个示例中,选择器32可以是眼镜12上的物理按钮,当被按下时,其将用户输入信号发送到控制器100。控制器100可以解释在预定时间段内按下按钮(例如,三秒钟)作为转换到不同操作模式(例如,进入/退出操作设置模式)的请求。在其他示例中,选择器32可以是眼镜或另一设备上的虚拟按钮。在又一示例中,选择器可以是解释语音命令的语音模块,或者是检测眼睛的焦点指向何处的眼睛检测模块。控制器100可以将来自选择器32的信号解释为触发,以通过发光的LED 35循环选择图像的预期接收物。

无线模块102可以与客户端/个人计算设备50耦合,例如智能手机、平板电脑、平板手机、笔记本电脑、台式计算机、联网设备、接入点设备或任何其他可以与无线模块102连接的此类设备。蓝牙、蓝牙LE、Wi-Fi、Wi-Fi直连、蜂窝调制解调器和近场通信系统,以及这些系统中的任何一个的多个示例,都可以实现这些连接以实现它们之间的通信。例如,设备之间的通信可以促进在眼镜12和客户端设备之间的软件更新、图像、视频、照明方案和/或声音的传输。

此外,个人计算设备50可以经由网络53与一个或多个接收者(例如,接收者个人计算设备51)进行通信。网络53可以是蜂窝网络、Wi-Fi、互联网或类似网络,其允许个人计算设备例如经由文本、电子邮件、即时消息等方式等传输和接收图像。计算设备50/51可各自包括处理器和显示器。合适的处理器和显示器,可以配置为执行本文所述的另一种功能,即可以在这一代的个人计算设备和智能手机中找到,例如可从加利福尼亚州库比蒂诺的苹果公司获得的iPhone8

用于捕获图像/视频的成像器10可以包括数码相机元件,例如电荷耦合器件、透镜或者用于捕捉图像数据以转换成电信号的任何其他光捕获元件。

控制器100控制电子器件。例如,控制器100包括从成像器10接收信号并将这些信号处理成适合于存储在存储器106(例如,闪存)中的格式的电路。控制器100上电并引导进入在正常操作模式下操作或进入睡眠模式。在一个示例中,控制器100包括定制成用于处理来自成像器10的传感器数据的微处理器集成电路(IC),以及微处理器用于操作的易失性存储器。存储器可以存储由控制器100执行的软件代码。

每个电子元件都需要电源才能工作。电源电路104可以包括电池、功率变换器和配电线路(未示出)。电池可以是可充电电池,例如锂离子或类似物。功率变换器和配电线路可以包括用于滤波和/或转换电压的、用于向各种电子器件供电的电子组件。

图3A描绘了流程图300,其示出了由处理系统(例如,由眼镜12的处理器和/或远程连接该眼镜的计算设备的处理器)进行的眼镜(例如,图1的眼镜12)端三维场景渲染的示例操作。为了便于解释,参考此处描述的眼镜12来描述流程图300的步骤,本领域技术人员将认识到不限于眼镜的其他成像器配置用于渲染三维场景。此外,要理解的是,一个或多个步骤可以被省略,由另一组件执行或以不同的顺序执行。

在步骤310,从第一视点获得场景对象的第一二维图像,并从第二视点获得场景对象的第二二维图像。在一示例中,眼镜12的第一成像器10A从第一视点捕获场景对象的第一二维图像,并且眼镜12的第二成像器10B从第二视点捕获场景对象的第二二维图像。所捕获的图像从成像器10A和10B传递到用于渲染三维场景的处理系统中。在一示例中,眼镜12的控制器100获得二维图像并从获得的二维图像渲染三维场景。在另一个示例中,控制器100接收二维图像并将他们发送到远程计算设备50/51的处理系统以渲染三维场景。

在步骤320,将第一和第二二维图像重建为该场景对象的三维场景。处理系统将第一和第二二维图像重建为场景对象的三维场景。该处理系统可以采用立体视觉处理技术(即,创建深度图)和几何处理技术来创建三维场景。在一示例中,渲染的三维场景包括几何特征(例如,具有x轴,y轴和z轴坐标的顶点)以及图像信息(例如,颜色信息,深度信息和对象信息)。渲染的三维场景还将包括连接体的多角面,例如典型的三角形面或四边形面,它们连接顶点以构成场景对象的纹理化表面。根据本文说明,本领域技术人员将理解合适的立体视觉处理技术和几何处理技术。

图3B描绘了用于将第一和第二二维图像重建为场景对象的三维场景的示例性步骤的流程图(步骤320;图3A)。在步骤321,从第一和第二二维图像创建深度图。处理系统可以通过使用立体视觉处理技术处理第一和第二二维图像来创建深度图。在步骤322,从第一和第二二维图像创建三维场景。处理系统可以通过对第一和第二二维图像以及在步骤321中创建的深度图进行几何处理来创建三维场景。

在步骤323,检测三维场景中具有不完整图像信息的区域。处理系统可以检测具有不完整图像信息(例如,缺少颜色,深度和/或对象信息)的三维场景的区域。例如,该处理系统可以通过检查构成三维场景的面的形状和/或诸如与构成面部的顶点相关联的置信度值的信息来确定不完整的信息。

在一例中,处理系统处理重建的三维场景的面(步骤323a;图3C),以识别表现出不完整信息特征的连续面部组,例如,非常狭窄的面和/或具有一个或多个顶点且置信度值较低的面。

处理系统可以识别具有退化面的相邻区域(例如相对狭窄的面)作为具有不完整信息的区域(步骤323b;图3C)。可以通过将这些面的相邻线之间的角度与阈值进行比较来确定相对狭窄的面,例如,面包括的至少一个角小于例如5度的阈值,面的一边的长度小于另一变的长度的5%,和/或面的一边具有小于例如1毫米的阈值尺寸的,这样的面可被归类为窄的。

处理系统还可以或者可选择地,将具有低置信度值的面(例如,具有至少一个顶点的置信度值低于阈值的面)识别为具有不完整信息的区域(步骤323c;图3C)。顶点的置信度值可以是对第一和第二二维图像的立体处理以创建深度图(如上所述)期间确定的对应像素的置信度值。

与像素相对应的顶点的置信度值取决于在创建像素时第一和第二二维图像之间的匹配/相关性。如果存在高度相关性(例如,75%或更高),则该顶点包含对重建为三维场景有用的准确信息的可能性就相对较高。另一方面,如果相关性较低(例如,低于75%),则该顶点不包含准确度足以用于重建三维场景的信息的可能性就相对较高。

在步骤324重建检测到的区域。在一个示例中,处理系统例如使用诸如前文步骤322所述的几何处理来重建三维场景的检测到的区域。在重建检测到的区域时,处理系统可以忽略具有低置信度值的顶点和/或与之相关联的退化面。如果有的话,这导致较少的退化面(例如,相对狭窄的面)。因此,在该重建步骤之后,被检测区域中的面将具有不同的形状。在检测区域中的面可以在重建之前被去除。在一示例中,可以使用诸如用于三维网格的索引面设置(Indexed-Face-Set)的数据结构,其包括一个所有顶点的有序列表(以及它们的属性,例如颜色,纹理等)和一个面列表,其中每个面指向顶点列表中的顶点索引。在该示例中,可以通过从面列表中将其移除来移除面。

在步骤325中,确定替换图像信息并修正重建的检测到的区域。处理系统可以确定用于重建的检测到的区域的替换图像信息,并且调整三维场景,以在替换图像信息被重建时在检测到的区域中包括替换图像信息。例如,处理系统可以通过混合来自每个被检测区域的各个边界的边界信息来确定每个检测到的区域的替换图像信息。

在一示例中,为了确定替换图像信息,处理系统识别围绕每个检测到的区域的边界(步骤325a;图3D)。然后,处理系统在检测到的区域中识别背景信息(步骤325b;图3D);例如,基于与沿着边界的顶点相关联的深度信息。处理系统还识别检测到的区域中的前景信息(步骤325c;图3D);并且例如,也基于深度信息。为了识别背景/前景信息,处理系统可以将每个顶点的深度信息与阈值(例如,来自所有顶点的深度信息的平均值)进行比较,识别与深度大于阈值的顶点相关联的信息作为背景信息,并将与深度小于阈值的顶点相关联的信息识别为前景信息。然后,处理系统将来自边界的信息融合到各个区域中(步骤325d;图3D),从而赋予背景信息比前景信息更高的权重,这导致信息主要从背景扩散到前景。

返回参考图3A,在步骤330从多个视点渲染三维场景。处理系统可以从多个视点渲染三维场景,例如将图像合成技术应用于三维场景,以从每个视点创建二维图像。根据本文的说明,本领域技术人员将理解合适的图像合成技术。

在步骤340,优化渲染的三维场景。处理系统可以从多个视点中的每一个视点改进三维场景。在一个示例中,处理系统在渲染的三维场景的二维图像中识别出图像信息中存在缺口(即“洞”)的区域,然后,处理系统使用围绕这些洞的替换图像信息来填充这些洞。处理系统可以填充洞,优先考虑洞周围的背景信息。

在步骤350,呈现渲染的三维场景。处理系统可以通过选择性地在与所选视点相关联的渲染的三维场景内呈现二维图像,从而在眼镜或远程计算设备的显示器上呈现渲染的三维场景(例如,基于对眼镜设备或远程计算设备的用户输入)。

通过执行参考流程图300所述的上述过程,可以仅从两个2D图像就可获得更美观的3D场景,可从更多视点(例如,简化即色彩拉伸)观看,而不必借助全景视图。因此,无需诉诸于计算密集型技术就可以实现优异的结果。

应当理解,本文描述的过程的步骤可以由硬件处理器加载并执行有形地存储在实体的计算机可读介质(例如,磁性的介质、计算机硬盘驱动器、光盘、固态存储器、闪存或本领域已知的其他存储介质)上的软件代码或指令之后执行。因此,本文所述的处理器执行的任何功能,都可以以有形存储在实体计算机可读介质上的软件代码或指令来实现。在处理器加载并执行这样的软件代码或指令之后,处理器可以执行本文描述的任何功能,包括本文描述的方法的任何步骤。

这里使用的术语“软件代码”或“代码”是指影响计算机或控制器的操作的任何指令或指令集。它们可能以计算机可执行形式(例如机器代码)存在,该形式是由计算机的中央处理单元或控制器直接执行的一组指令和数据,而人类可以理解的形式(例如源代码)可能是以便由计算机的中央处理单元或控制器执行,或者由编译器产生的中间形式(例如目标代码)执行。如本文所使用的,术语“软件代码”或“代码”还包括任何人类可理解的计算机指令或指令集,例如脚本,其可以在由计算机中央处理单元或处理器的解释器的帮助下即时执行。

尽管已经参考具体实施例描述了本发明的主题的概述,但是在不脱离本公开的示例的更广泛范围的情况下,可以对这些示例进行各种修改和改变。例如,尽管描述集中在眼镜设备上,但是其他电子设备(例如耳机)也被认为在本发明主题的范围内。仅出于方便起见,本文中可以单独地或共同地用术语“发明”来指代发明主题的此类示例,并且如果有多个以上的发明,则不希望将本申请的范围自动限制为任何单个公开或发明概念,其实是公开的。

对本文所示的示例进行了足够详细的描述,以使本领域技术人员能够实践所公开的教导。可以使用其他示例并从中得出其他示例,从而可以进行结构和逻辑上的替换和更改,而不脱离本公开的范围。因此,不应在限制意义上理解详细描述,并且各种示例的范围仅由所附权利要求书以及该权利要求书所享有的等同物的全部范围来限定。

相关技术
  • 基于立体提取的三维场景修复
  • 基于左右眼空间复用的虚拟三维场景立体画面绘制方法
技术分类

06120112752926