AR场景中的环境光照确定方法和装置与流程

文档序号:22327946发布日期:2020-09-25 17:58阅读:178来源:国知局
AR场景中的环境光照确定方法和装置与流程

本发明涉及增强现实技术领域,特别涉及一种ar场景中的环境光照确定方法和装置。



背景技术:

增强现实,即ar(augmentedreality),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,它是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,这种技术的目标是在屏幕上把虚拟世界放在现实世界并进行互动。

在现有技术中,当放置一个虚拟物体在真实场景中时,若只给这个虚拟物体添加一个默认的光源方向和光源强度,那么该虚拟物体的影子往往会与真实物体的影子方向不一致,该虚拟物体的亮度也与环境光照不一致,使得虚拟物体显得非常不真实。

为了使放置在真实场景中的虚拟物体与真实场景相融合,避免虚拟物体的突兀表达,使得虚拟物体能够表现出真实物体的样貌,需要考虑虚拟物体的光照与真实场景的光照关系,尽力使得虚拟物体的虚拟光源与真实场景中的真实光源的方向、强度、颜色相一致。在这里,就需要使用到光照估计技术。光照估计是一种通过人工智能(ai)实时分析相机的预览画面,估计当前环境下的光源方向、光源强度以及光源颜色等参数的技术。

苹果公司的arkit和谷歌公司的arcore都是现有最常使用的ar开发软件,它们都有自己的用来实现光照估计技术的光照估计模块。其中,arkit可以预测环境光源的强度和色温,而arcore可以预测环境中主光源的方向。但是,现实场景的光照环境往往非常复杂,例如室内存在多光源的情况下,虚拟物体的光照需要考虑到这些多光源的情况,而arkit和arcore都无法解决多光源的问题,也无法基于环境光照生成一个稳定且准确的结果。



技术实现要素:

有鉴于此,本发明提供一种ar场景中的环境光照确定方法和装置,以得到多光源环境下的稳定准确的环境光照预测结果,解决多光源环境下,ar场景中的环境光照预测不准确的问题,以更好地渲染虚拟物体,使虚拟物体的表现更加真实。

本发明的技术方案是这样实现的:

一种ar场景中的环境光照确定方法,包括:

利用神经网络对所拍摄的ar场景的当前帧图像进行预测,获得对应于所述当前帧图像的参考光照参数表,并根据所述当前帧图像的拍摄信息建立对应于所述当前帧图像的参考综合置信度表,其中,所述参考光照参数表和参考综合置信度表中分别记录有以所述当前帧图像的拍摄位置为中心的球面上的多个虚拟光源点的参考光照参数和参考综合置信度;

根据所述参考综合置信度表和对应于前一帧图像的前帧综合置信度表,获得对应于所述当前帧图像的当前综合置信度表;

根据所述参考光照参数表、所述当前综合置信度表、所述前帧综合置信度表以及对应于所述前一帧图像的前帧光照参数表,获得对应于所述当前帧图像的当前光照参数表,其中,所述当前光照参数表中记录有以所述当前帧图像的拍摄位置为中心的球面上的多个虚拟光源点的当前所确定的光照参数。

进一步,所述的根据所述当前帧图像的拍摄信息建立对应于所述当前帧图像的参考综合置信度表,包括:

根据所述当前帧图像的拍摄方位建立对应于所述当前帧图像的参考空间置信度表,根据所述当前帧图像的拍摄时间建立对应于所述当前帧图像的参考时间置信度表,其中,所述参考空间置信度表和所述参考时间置信度表中分别记录有以所述当前帧图像的拍摄位置为中心的球面上的多个虚拟光源点的参考空间置信度和参考时间置信度;

根据以下公式获得每个虚拟光源点的参考综合置信度,建立所述参考综合置信度表:

rfcc=a×rfsc×rftc

其中,rfcc为参考综合置信度,rfsc为参考空间置信度,rftc为参考时间置信度,a为调节系数。

进一步,所述的根据所述参考综合置信度表和对应于前一帧图像的前帧综合置信度表,获得对应于所述当前帧图像的当前综合置信度表,包括:

将所述参考综合置信度表和所述前帧综合置信度表中的每个虚拟光源点的综合置信度进行比对,并对其中每个虚拟光源点进行以下判断和替换后,获得所述当前综合置信度表:

若所述参考综合置信度表中的参考综合置信度小于所述前帧综合置信度表中的前帧综合置信度,则将参考综合置信度的值替换为前帧综合置信度的值;

若所述参考综合置信度不小于所述前帧综合置信度,则保留所述参考综合置信度的值。

进一步,所述ar场景中的环境光照确定方法,还包括:

根据所述参考空间置信度表、所述参考时间置信度表、所述参考综合置信度表和对应于前一帧图像的前帧综合置信度表,获得对应于所述当前帧图像的当前空间置信度表和当前时间置信度表。

进一步,所述的根据所述参考综合置信度表和对应于前一帧图像的前帧综合置信度表,获得对应于所述当前帧图像的当前空间置信度表和当前时间置信度表,包括:

将所述参考综合置信度表和所述前帧综合置信度表中的每个虚拟光源点的综合置信度进行比对,并对其中每个虚拟光源点进行以下判断和替换后,获得所述当前空间置信度表和所述当前时间置信度表:

若所述参考综合置信度表中的参考综合置信度小于所述前帧综合置信度表中的前帧综合置信度,则将参考空间置信度的值替换为前帧空间置信度的值,并将参考时间置信度的值替换为前帧时间置信度的值;

若所述参考综合置信度不小于所述前帧综合置信度,则保留所述参考空间置信度和所述参考时间置信度的值;其中,

所有所述虚拟光源点的所述前帧空间置信度,均记录于前帧空间置信度表中;

所有所述虚拟光源点的所述前帧时间置信度,均记录于前帧时间置信度表中。

进一步,所述前帧时间置信度表中的前帧时间置信度的值均小于所述参考时间置信度表中的参考时间置信度的值。

进一步,所述的根据所述参考光照参数表、所述当前综合置信度表、所述前帧综合置信度表以及对应于所述前一帧图像的前帧光照参数表,获得对应于所述当前帧图像的当前光照参数表,包括:

将所述当前综合置信度表和所述前帧综合置信度表中的每个虚拟光源点的当前综合置信度和前帧综合置信度进行比对,并通过以下判断和计算而获得每个虚拟光源点的当前所确定的光照参数后,获得所述当前光照参数表:

若该虚拟光源点的当前综合置信度小于前帧综合置信度,则将该虚拟光源点的前帧光照参数作为该虚拟光源点的当前所确定的光照参数;

若该虚拟光源点的当前综合置信度不小于前帧综合置信度,则依据设定规则计算出该虚拟光源点的当前所确定的光照参数。

进一步,所述的依据设定规则计算出该虚拟光源点的当前所确定的光照参数,包括采用如下公式计算出该虚拟光源点的当前所确定的光照参数:

clp=(cfcc×sf×rflp+pfcc×pflp)/(cfcc×sf+pfcc)

其中,cfcc为当前综合置信度,sf为平滑系数,rflp为参考光照参数,pfcc为前帧综合置信度,pflp为前帧光照参数,clp为当前所确定的光照参数。

进一步,对应于每一帧图像的时间置信度表中的时间置信度均随时间的推移而减小,其中,所述每一帧图像的时间置信度表包括所述前帧时间置信度表和所述当前时间置信度表;

对应于每一帧图像的参考时间置信度表中的时间置信度为所有时间置信度中的最大值。

进一步,所述多个虚拟光源点均匀地分布于所述球面。

一种ar场景中的环境光照确定装置,包括:

神经网络预测模块,用于利用神经网络对所拍摄的ar场景的当前帧图像进行预测,获得对应于所述当前帧图像的参考光照参数表;

综合置信度获取模块,用于根据所述当前帧图像的拍摄信息建立对应于所述当前帧图像的参考综合置信度表,根据所述参考综合置信度表和对应于前一帧图像的前帧综合置信度表,获得对应于所述当前帧图像的当前综合置信度表,其中,所述参考光照参数表和参考综合置信度表中分别记录有以所述当前帧图像的拍摄位置为中心的球面上的多个虚拟光源点的参考光照参数和参考综合置信度;以及,

光照参数获取模块,用于根据所述参考光照参数表、所述当前综合置信度表、所述前帧综合置信度表以及对应于所述前一帧图像的前帧光照参数表,获得对应于所述当前帧图像的当前光照参数表,其中,所述当前光照参数表中记录有以所述当前帧图像的拍摄位置为中心的球面上的多个虚拟光源点的当前所确定的光照参数。

一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的ar场景中的环境光照确定方法中的步骤。

一种电子设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如上任一项所述的ar场景中的环境光照确定方法中的步骤。

从上述方案可以看出,本发明的ar场景中的环境光照确定方法和装置,对ar场景的设置多个虚拟光源点,基于神经网络预测出当前帧图像的每个虚拟光源点的参考光照参数,在当前帧图像中针对每个虚拟光源点设置对应的参考空间置信度和参考时间置信度,并将参考空间置信度和参考时间置信度相结合得到参考综合置信度,利用参考综合置信度与前一帧图像相应的综合置信度相比较得到参考前一帧图像而融合后的当前帧图像的当前综合置信度,进而利用当前综合置信度、前帧综合置信度和前帧光照参数,对当前帧图像的光照参数进行修正而得到当前帧的确定的光照参数,进一步利用当前帧的确定的光照参数对ar场景中的虚拟物体进行光照渲染。本发明的方法和装置同时参考空间、时间、前后帧图像的光照变化而对ar场景中的虚拟物体进行光照渲染,有效地避免了ar场景中的虚拟物体由于单帧图像预测的不稳定而造成的光影抖动和闪烁的问题,获得了多光源环境下的稳定准确的环境光照预测结果,解决了多光源环境下,ar场景中的环境光照预测不准确的问题,实现了ar场景中的虚拟物体更好的光照渲染效果,使得虚拟物体的表现更加真实。

附图说明

图1为本发明实施例的ar场景中的环境光照确定方法流程图;

图2为本发明中的一个具体实施例的虚拟光源点的分布示意图;

图3a为本发明实施例中的简易场景的相机初始位置示意图;

图3b为图3a所示相机初始位置获得的各个虚拟光源点的参考光照参数的分布示意图;

图3c为图3a所示相机初始位置的各个虚拟光源点的参考空间置信度的分布示意图;

图3d为图3a所示相机初始位置获取的第一帧图像的参考时间置信度的分布示意图;

图4a为本发明实施例中的简易场景的相机第二位置示意图;

图4b为图4a所示相机第二位置获得的各个虚拟光源点的参考光照参数的分布示意图;

图4c为图4a所示相机第二位置的各个虚拟光源点的参考空间置信度的分布示意图;

图4d为图4a所示相机第二位置获取的第二帧图像的参考时间置信度的分布示意图;

图4e为图4a所示相机第二位置获取的第二帧图像的参考综合置信度的分布示意图;

图5a为对于第二帧图像而言的第一帧图像的时间置信度的分布示意图;

图5b为对于第二帧图像而言的第一帧图像的综合置信度的分布示意图;

图6a为第二帧图像的当前综合置信度分布示意图;

图6b为第二帧图像的当前空间置信度分布示意图;

图6c为第二帧图像的当前时间置信度分布示意图;

图7为第二帧图像的当前所确定的光照参数分布示意图;

图8为采用本发明实施例的ar场景中的环境光照确定方法的一个总的操作流程图;

图9为本发明实施例的ar场景中的环境光照确定装置示意图;

图10为本发明实施例中的电子设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。

如图1所示,本发明实施例的ar场景中的环境光照确定方法,主要包括以下步骤:

步骤1、利用神经网络对所拍摄的ar场景的当前帧图像进行预测,获得对应于当前帧图像的参考光照参数表,并根据当前帧图像的拍摄信息建立对应于当前帧图像的参考综合置信度表,其中,参考光照参数表和参考综合置信度表中分别记录有以当前帧图像的拍摄位置为中心的球面上的多个虚拟光源点的参考光照参数和参考综合置信度;

步骤2、根据参考综合置信度表和对应于前一帧图像的前帧综合置信度表,获得对应于当前帧图像的当前综合置信度表;

步骤3、根据参考光照参数表、当前综合置信度表、前帧综合置信度表以及对应于前一帧图像的前帧光照参数表,获得对应于当前帧图像的当前光照参数表,其中,当前光照参数表中记录有以当前帧图像的拍摄位置为中心的球面上的多个虚拟光源点的当前所确定的光照参数。

其中,前一帧图像例如是相对于当前帧图像而言上一次进行光照估计(例如依据本发明实施例的环境光照确定方法确定环境光照)的帧图像,在可选实施例中,当前帧图像和前一帧图像均为实时拍摄的视频帧图像。前一帧图像和当前帧图像之间的时间间隔可以依据执行环境光照确定方法的设备的性能和需求进行设置。在可选实施例中,可利用现有的处理通信机制,确保完成当前帧图像的环境光照确定后立即执行下一帧图像(即下一时刻拍摄的当前帧图像)的环境光照确定。在优选实施例中,当前帧图像和前一帧图像之间的时间间隔为毫秒量级或者更短。

在可选实施例中,多个虚拟光源点均匀地分布于以当前帧图像的拍摄位置为中心的球面。图2示出了一个具体实施例的虚拟光源点的分布示意图。图2所示实施例中,以拍摄点位中心的球面上均匀地布置了128个虚拟光源点,每个虚拟光源点均表示了ar场景中的虚拟光的光源的发光位置。其中,128个虚拟光源点的数量仅为实例性说明,不用于限定虚拟光源点的数量,在实际应用中,虚拟光源点的数量可以更多或者更少。

本发明实施例中,采用神经网络的方式预测复杂的室内多光源光照状态。其中,神经网络模型是利用室内全景图的数据集,进行关于室内全景图的环境光照的神经网络训练,获得关于虚拟光源点的光照信息(包括各个虚拟光源点的rgb参数)的神经网络模型。其中,关于神经网络的技术为现有技术,此处不再赘述。

由于ai对于每一帧图像的预测结果都有一定的误差,所以如果直接使用每帧图像的预测结果进行渲染,会ar场景中的虚拟物品的光照效果出现较严重的抖动或闪烁现象。为了避免出现这种现象,本发明实施例中,采用综合置信度对连续帧图像的预测结果进行融合修正,从而得到稳定变化的效果。

在可选实施例中,步骤1中的根据当前帧图像的拍摄信息建立对应于当前帧图像的参考综合置信度表,包括:

根据当前帧图像的拍摄方位建立对应于当前帧图像的参考空间置信度表,根据当前帧图像的拍摄时间建立对应于当前帧图像的参考时间置信度表,其中,参考空间置信度表和参考时间置信度表中分别记录有以当前帧图像的拍摄位置为中心的球面上的多个虚拟光源点的参考空间置信度和参考时间置信度;

根据以下公式获得每个虚拟光源点的参考综合置信度,建立所述参考综合置信度表:

rfcc=a×rfsc×rftc(1)

其中,rfcc为参考综合置信度,rfsc为参考空间置信度,rftc为参考时间置信度,a为调节系数,a的取值优选为0.1。

其中,每个虚拟光源点的参考空间置信度和参考时间置信度为预设值,具体的参考空间置信度和参考时间置信度的设置方法可参见如下说明。

对于每一帧图像,都可以采用神经网络预测出基于图像的拍摄位置为中心的球面上的所有虚拟光源点的光照参数,但从实验中能够发现,用于拍摄图像的相机所正对着的区域的神经网络预测结果最为准确,而相机背面区域的神经网络预测结果最不准确。所以,本发明实施例中,根据相机的朝向,给神经网路预测结果增加空间置信度。该空间置信度中,以相机(拍摄位置)正对着的方向为中心点,空间置信度在拍摄位置为中心的球面上向四周逐渐减弱。相机正对的位置的空间置信度最高,相机背对的位置的空间置信度最低。对于参考空间置信度来说,对应于当前帧图像来说,相机(拍摄位置)正对着的方向的虚拟光源点的参考空间置信度的值最高,各个虚拟光源点的参考空间置信度在拍摄位置为中心的球面上向四周逐渐减弱,相机正对的位置的虚拟光源点的参考空间置信度最高,相机背对的位置的虚拟光源点的参考空间置信度最低,各个虚拟光源点参考空间置信度为均为固定的设定值。举例而言,对应于当前帧图像来说,拍摄位置正对的前方的虚拟光源点的参考空间置信度为设定值a,a为固定的一个值,由于拍摄位置正对的前方的真实场景已经被当前帧图像所捕获,所以相应的光照信息在当前帧图像中最为可信,进而相应的参考空间置信度最高;拍摄位置的正上方、正下方、正左方、正右方的虚拟光源点的参考空间置信度为设定值b,b为固定的一个值,由于拍摄位置的正上方、正下方、正左方、正右方的真实场景并未完全落入当前帧图像中或者根本没有落入当前帧图像中,但是拍摄位置的正上方、正下方、正左方、正右方的光照信息能够较大地影响到拍摄位置的正前方的光场分布,进而对拍摄位置的正前方的光场分布具有一定的贡献,但因为拍摄位置的正上方、正下方、正左方、正右方的真实场景并未完全落入当前帧图像中或者根本没有落入当前帧图像中,所以相应的光照信息在当前帧图像中不能够直接获得,所以拍摄位置的正上方、正下方、正左方、正右方的虚拟光源点的参考空间置信度弱于拍摄位置正对的前方的虚拟光源点的参考空间置信度,即b小于a;拍摄位置的正后方的虚拟光源点的参考空间置信度为设定值c,c为固定的一个值,由于拍摄位置的正后方的真实场景根本没有落入当前帧图像中,并且拍摄位置的正后方的真实场景距离拍摄位置的正前方的真实场景最远,所以在本发明实施例中,暂时认为,拍摄位置的正后方的光照信息对拍摄位置的正前方的光场分布的影响最小(或者暂时没有影响),所以c小于b。但在实际中,拍摄位置的正后方的光照信息可能对拍摄位置的正前方的光场分布的影响较大,所以,本发明实施例中,利用多帧融合预测环境光照的方式来确保最终获得的每一个虚拟光源点的光照参数能够反应真实场景的环境光照信息,进而在得到对应于当前帧图像的每一个虚拟光源点的参考空间置信度后,本发明实施还进一步利用前一帧图像的每一个虚拟光源点的空间置信度以及时间置信度,来获得最终的对应于当前帧图像的每一个虚拟光源点的空间置信度(即当前空间置信度)。对应于当前帧图像来说,参考空间置信度是用于计算获得最终的空间置信度的一个初始条件,而当前空间置信度才是当前帧的空间置信度。

另外,在空间中,假设环境光源是较为恒定的,一些变化产生后可以长期保持这种变化后的状态,例如开灯、关灯、移动台灯等等,而不停闪烁不包括在内。所以对于这种情况,在较短的时间内,可以认为光源是不变的,在较短的时间内,每一帧图像之间预测结果的不同主要来源于计算的误差,而不是光源变化导致预测结果的不同,并且,在较长的时间内,可以认为光源是变化的。基于此,本发明实施例中,利用时间置信度来丢弃过旧的结果。其中,最新的图像的时间置信度最高,随着时间的推移,时间置信度逐渐降低。

本发明实施例中,利用空间置信度、时间置信度以及它们相结合的综合置信度对当前帧图像的光照参数进行修正,来获得较为稳定并且真实的ar光照效果。其中,利用前后帧图像的变化对空间置信度和时间置信度进行设置来获得稳定的ar光照效果,避免ar场景中的虚拟物体由于单帧图像预测的不稳定而造成的光影抖动和闪烁的问题。

本发明的描述中,参考光照参数是指仅基于当前帧图像(单帧)进行神经网络预测所得到的光照参数,该参考光照参数为尚未经过后续步骤2和3的修正所得到的最终结果。

本发明的描述中:参考空间置信度是指仅基于当前帧图像(单帧)所直接建立的空间置信度(根据设定建立);参考时间置信度是指仅基于当前帧图像(单帧)所直接建立的时间置信度(根据设定建立);参考综合置信度是指仅基于当前帧图像(单帧)所直接建立的综合置信度(根据设定建立或者由所建立的空间置信度和时间置信度获得),该参考综合置信度为尚未与前一帧图像所对应的综合置信度(即前帧综合置信度)向融合后得到当前帧的最终的综合置信度(即当前综合置信度)。

本发明的描述中:当前空间置信度是指根据参考空间置信度、参考综合置信度和前帧综合置信度通过比较和计算所得到的空间置信度;当前时间置信度是指根据参考时间置信度、参考综合置信度和前帧综合置信度通过比较和计算所得到的时间置信度。

本发明的描述中,参考空间置信度与当前空间置信度不同,参考时间置信度与当前时间置信度不同,参考综合置信度与当前综合置信度不同。

在初始状态(例如未进行ar场景拍摄)时,全局的空间置信度均为0,当开始预测时,通过ar获取相机当前旋转角度,对于相机的任意一帧图像预测结果,会通过相机在空间中所处的方位,生成一个基于相机方位的临时空间置信表(仅包括相机所拍摄区域)。这时,将临时空间置信表从相机坐标系转换至世界坐标之后,就可以比较临时空间置信表与全局空间置信表(包括以拍摄位置为中心的整个球面)中的置信度,越靠近相机所拍摄区域的中心拥有越高的空间置信度。该过程实质上是将参考空间置信度的坐标从相机坐标系转换至世界坐标系的过程。关于从相机坐标系向世界坐标系的转换过程为现有技术,此处不再赘述。

本发明实施例考虑到光源的变化问题,所以预测结果具有一定的时效性。在可选实施例中,对应于每一帧图像的时间置信度表中的时间置信度均随时间的推移而减小,其中,每一帧图像的时间置信度表包括前帧时间置信度表和当前时间置信度表;对应于每一帧图像的参考时间置信度表中的时间置信度为所有时间置信度中的最大值。本发明实施例中,认为越新的预测结果越准确,也就是拍摄时间越晚的帧的时间置信度越高,随着时间推移时间置信度逐渐降低。时间置信度的值例如从9至1,最新的帧拥有最高的时间置信度9,在虚拟光源点的光照信息中,每个虚拟光源点若没有更新,则时间置信度随着时间的推移,逐渐从9降低至1,当有新的预测结果更新至某个虚拟光源点时,该虚拟光源点的时间置信度将重新置为9。

在可选实施例中,步骤2的根据参考综合置信度表和对应于前一帧图像的前帧综合置信度表,获得对应于当前帧图像的当前综合置信度表,包括:

将参考综合置信度表和前帧综合置信度表中的每个虚拟光源点的综合置信度进行比对,并对其中每个虚拟光源点进行以下判断和替换后,获得当前综合置信度表:

若参考综合置信度表中的参考综合置信度小于前帧综合置信度表中的前帧综合置信度,则将参考综合置信度的值替换为前帧综合置信度的值;

若参考综合置信度不小于前帧综合置信度,则保留参考综合置信度的值。

在一个可选实施例中,本发明的ar场景中的环境光照确定方法,还包括:

根据参考空间置信度表、参考时间置信度表、参考综合置信度表和对应于前一帧图像的前帧综合置信度表,获得对应于当前帧图像的当前空间置信度表和当前时间置信度表。

进一步地,上述根据参考综合置信度表和对应于前一帧图像的前帧综合置信度表,获得对应于当前帧图像的当前空间置信度表和当前时间置信度表,包括:

将参考综合置信度表和前帧综合置信度表中的每个虚拟光源点的综合置信度进行比对,并对其中每个虚拟光源点进行以下判断和替换后,获得当前空间置信度表和当前时间置信度表:

若参考综合置信度表中的参考综合置信度小于前帧综合置信度表中的前帧综合置信度,则将参考空间置信度的值替换为前帧空间置信度的值,并将参考时间置信度的值替换为前帧时间置信度的值;

若参考综合置信度不小于前帧综合置信度,则保留参考空间置信度和参考时间置信度的值;其中,

所有虚拟光源点的前帧空间置信度,均记录于前帧空间置信度表中;

所有虚拟光源点的前帧时间置信度,均记录于前帧时间置信度表中。

由于认定越新的预测结果越准确,也就是拍摄时间越晚的帧的时间置信度越高,随着时间推移时间置信度逐渐降低。所以,在本发明实施例中,前帧时间置信度表中的前帧时间置信度的值均小于参考时间置信度表中的参考时间置信度的值。

在可选实施例中,步骤3中的根据参考光照参数表、当前综合置信度表、前帧综合置信度表以及对应于前一帧图像的前帧光照参数表,获得对应于当前帧图像的当前光照参数表,包括:

将当前综合置信度表和前帧综合置信度表中的每个虚拟光源点的当前综合置信度和前帧综合置信度进行比对,并通过以下判断和计算而获得每个虚拟光源点的当前所确定的光照参数后,获得当前光照参数表:

若该虚拟光源点的当前综合置信度小于前帧综合置信度,则将该虚拟光源点的前帧光照参数作为该虚拟光源点的当前所确定的光照参数;

若该虚拟光源点的当前综合置信度不小于前帧综合置信度,则依据设定规则计算出该虚拟光源点的当前所确定的光照参数。

进一步地,在可选实施例中,依据设定规则计算出该虚拟光源点的当前所确定的光照参数,包括采用如下公式计算出该虚拟光源点的当前所确定的光照参数:

clp=(cfcc×sf×rflp+pfcc×pflp)/(cfcc×sf+pfcc)(2)

其中,cfcc为当前综合置信度,sf为平滑系数,rflp为参考光照参数,pfcc为前帧综合置信度,pflp为前帧光照参数,clp为当前所确定的光照参数。

本发明实施例中,兼顾考虑ar场景的整体真实空间的光照状态和时间影响因素,对每一个虚拟光源点设定综合置信度,其中每个虚拟光源点的综合置信度计算公式为:

rfcc=a×rfsc×rftc(1)

其中,rfcc为参考综合置信度,rfsc为参考空间置信度,rftc为参考时间置信度,a为调节系数。

通过采用本发明实施例,当新的一帧图像结束预测时,利用所设定的当前帧(即该新的一帧图像)对应于当前帧的每个虚拟光源点的空间置信度(即参考空间置信度和时间置信度(即参考时间置信度)并通过上述公式(1),获得参考综合置信度,再将每个虚拟光源点的参考综合置信度与已有的综合置信度(即前帧综合置信度)进行上述比较和公式(2)的计算,最终获得对应于当前帧图像的每一个虚拟光源点的当前综合置信度,最终利用当前综合置信度、前帧综合置信度、前帧光照参数对当前帧图像的参考光照参数进行修正而获得对应于当前帧图像的每一个虚拟光源点的当前光照参数。此时所获得的当前光照参数同时考虑到了前一帧图像和当前帧图像在空间、时间上的光照情况(光场分布)的过渡,通过所设定的条件和公式进行融合,使得ar场景中的虚拟物体的光照参数在前后帧图像中过渡更加平稳,避免了抖动、闪烁情况的发生。

以下,通过一个简易场景,对本发明实施例进行进一步解释说明。为了方便说明,将空间中128个虚拟光源点位置简化成平面上8个虚拟光源点位置,将rgb光照参数简化为1至8的光强参数。将空间置信度与时间置信度简化为1至9的数字。

场景中有一个真实光源,在相机初始位置的斜后方135度的位置,如图3a所示。在图3a所示相机初始位置获取的第一帧图像经过神经网络预测后得到的各个虚拟光源点的第一帧图像的参考光照参数的分布如图3b所示,图3a所示相机初始位置的各个虚拟光源点的第一帧图像的参考空间置信度的分布如图3c所示,由图3c中各个虚拟光源点的第一帧图像的参考空间置信度组成第一帧图像的参考空间置信度表,图3c中各个虚拟光源点的参考空间置信度为设定值,可以看出,因为相机正对着前方,所以相机前方虚拟光源点的空间置信度最高(为9),相机后方空间置信度最低(为1)。图3a所示相机初始位置获取的第一帧图像的参考时间置信度的分布如图3d所示,由图3d中各个虚拟光源点的参考时间置信度组成参考时间置信度表,图3d所示中,各个虚拟光源点的参考时间置信度均为最高(为9)。参见图3b所示,此时认为光源方向为正后方也就是180度方向(为9)。

之后,图3a中的相机顺时针旋转90度,得到图4a中相机第二位置示意图。在图4a所示相机第二位置获取的第二帧图像经过神经网络预测后得到的各个虚拟光源点的第二帧图像的参考光照参数的分布如图4b所示,图4a所示相机第二位置的各个虚拟光源点的第二帧图像的参考空间置信度的分布如图4c所示,由图4c中各个虚拟光源点的第二帧图像的参考空间置信度组成第二帧图像的参考空间置信度表,图4c中各个虚拟光源点的参考空间置信度为设定值,可以看出,此时因为相机旋转后正对着图中的右方,所以相机前方(即图4c中的右方)的虚拟光源点的空间置信度最高(为9),相机后方(即图4c中的左方)空间置信度最低(为1)。图4a所示相机第二位置获取的第二帧图像的参考时间置信度的分布如图4d所示,由图4d中各个虚拟光源点的参考时间置信度组成第二帧图像的参考时间置信度表,图4d所示中,各个虚拟光源点的参考时间置信度均为最高(为9)。将图4c所示的各个虚拟光源点的第二帧图像的参考空间置信度与图4d所示的各个虚拟光源点的第二帧图像的参考时间置信度通过如下公式(1)便获得图4e所示的各个虚拟光源点的第二帧图像的参考综合置信度分布图(四舍五入结果)。

rfcc=a×rfsc×rftc(1)

其中,a取0.1

若将第二帧图像作为当前帧图像,则对于第二帧图像而言,第一帧图像即为前一帧图像。此时,第一帧图像的时间置信度降低,变为图5a所示的分布,其中,各个虚拟光源点的时间置信度均降为8,即前一帧图像的各个虚拟光源点的时间置信度均为8。同时,对于第二帧图像而言,前一帧图像(即第一帧图像)的空间置信度为图3c所示。进而由图5a、图3c以及如下公式可以得到图5b所示的前一帧图像(即第一帧图像)的综合置信度的分布(四舍五入结果)。

综合置信度=a×空间置信度×时间置信度

其中,a取0.1。

将当前帧(第二帧)图像的参考综合置信度(图4e所示)与前一帧(第一帧)图像的综合置信度(图5b所示)进行比较,对于其中任意一个虚拟光源点:

若第二帧图像的参考综合置信度小于第一帧图像的综合置信度,则将第二帧图像的参考综合置信度的值替换为第一帧图像的综合置信度的值;

若第二帧图像的参考综合置信度不小于第一帧图像的综合置信度,则保留第二帧图像的参考综合置信度。

通过上述比较,得到第二帧图像的当前综合置信度,如图6a所示。

对于第二帧图像的当前空间置信度,通过以下方法得到。

将当前帧(第二帧)图像的参考综合置信度(图4e所示)与前一帧(第一帧)图像的综合置信度(图5b所示)进行比较,对于其中任意一个虚拟光源点:

若第二帧图像的参考综合置信度小于第一帧图像的综合置信度,则将第二帧图像的参考空间置信度的值替换为第一帧图像的空间置信度的值;

若第二帧图像的参考综合置信度不小于第一帧图像的综合置信度,则保留第二帧图像的参考空间置信度的值。

通过上述比较,得到第二帧图像的当前空间置信度,如图6b所示。

对于第二帧图像的当前时间置信度,通过以下方法得到:

将当前帧(第二帧)图像的参考综合置信度(图4e所示)与前一帧(第一帧)图像的综合置信度(图5b所示)进行比较,对于其中任意一个虚拟光源点:

若第二帧图像的参考综合置信度小于第一帧图像的综合置信度,则将第二帧图像的参考时间置信度的值替换为第一帧图像的时间置信度的值;

若第二帧图像的参考综合置信度不小于第一帧图像的综合置信度,则保留第二帧图像的参考时间置信度的值。

通过上述比较,得到第二帧图像的当前时间置信度,如图6c所示。

在本发明实施例的简易场景中,第一帧图像之前没有先前拍摄的帧图像,所以,图3b所示的相机初始位置的各个虚拟光源点的参考光照参数,即为第一帧图像的光照参数,对于第二帧图像而言,图3b所示的第一帧图像的光照参数即为前帧光照参数。进而,结合图3b所示的第一帧图像的光照参数、图4b所示的第二帧图像的参考光照参数、图5b所示的第一帧图像的综合置信度、图6a所示的第二帧图像的当前综合置信度,并利用以下公式,得到如图7所示的第二帧图像的当前所确定的光照参数分布(四舍五入结果)。

clp=(cfcc×sf×rflp+pfcc×pflp)/(cfcc×sf+pfcc)

其中,cfcc为当前综合置信度(即6a所示的第二帧图像的当前综合置信度),sf为平滑系数(例如取1),rflp为参考光照参数(即4b所示的第二帧图像的参考光照参数),pfcc为前帧综合置信度(即5b所示的第一帧图像的综合置信度),pflp为前帧光照参数(即图3b所示的第一帧图像的光照参数),clp为当前所确定的光照参数(即图7所示的第二帧图像的当前所确定的光照参数)。

至此,便完整了对应于第二帧图像的各个虚拟光源点的当前光照参数的确定。获得第二帧图像的各个虚拟光源点的当前光照参数后,便可利用该当前光照参数对ar场景中的虚拟物体进行光照渲染,以获得真实的渲染效果。

采用本发明实施例的ar场景中的环境光照确定方法的一个应用运行过程可包括以下步骤。

1)用户打开ar应用,搜索平面,并放置虚拟物体;

2)与此同时,结合本发明实施例的ar场景中的环境光照确定方法中的相应步骤,构建世界坐标系下的光照参数表,空间置信度表,时间置信度表;

3)通过相机拍摄的预览图像,结合本发明实施例的ar场景中的环境光照确定方法中的相应步骤,进行每一帧的相机坐标系下的光照参数估计;

4)通过ar自带的相机位姿系统,获得相机在世界坐标系中的坐标,根据相机位姿将相机坐标系下的光照参数转换至世界坐标系的光照参数表中;

5)结合本发明实施例的ar场景中的环境光照确定方法中的相应步骤,基于空间置信度和时间置信度,更新光照参数表,同时更新空间置信度表和时间置信度表,获得稳定且可变化的光照参数;

6)使用更新的光照参数对虚拟物体进行渲染。

其中,利用光照参数对虚拟物体进行渲染可采用现有技术实现,此处不再赘述。

如图8所示,采用本发明实施例的ar场景中的环境光照确定方法的一个总的操作流程主要包括以下步骤。

步骤a、启动ar应用,之后进入步骤b。

步骤b、放置虚拟物体,之后进入步骤c。

步骤c、启动光照估计,之后进入步骤d。

其中,光照估计可采用现有技术实现。

步骤d、判断是否结束,即ar应用是否关闭,如果是则退出流程,否则进入步骤e。

步骤e、执行单帧预测过程,之后进入步骤f。

其中,单帧预测过程可结合上述关于本发明实施例的ar场景中的环境光照确定方法的相关说明实现,例如利用神经网络对所拍摄的ar场景的当前帧图像进行预测,获得对应于当前帧图像的参考光照参数表,并根据当前帧图像的拍摄信息建立对应于当前帧图像的参考综合置信度表等过程。

步骤f、执行多帧融合过程,之后进入步骤g。

其中,多帧融合过程可结合上述关于本发明实施例的ar场景中的环境光照确定方法的相关说明实现,例如根据参考综合置信度表和对应于前一帧图像的前帧综合置信度表,获得对应于当前帧图像的当前综合置信度表,根据参考光照参数表、当前综合置信度表、前帧综合置信度表以及对应于前一帧图像的前帧光照参数表,获得对应于当前帧图像的当前光照参数表等过程。

步骤g、利用对应于当前帧图像的当前光照参数表对虚拟物体进行渲染,之后返回步骤d。

本发明实施例还同时提供了一种ar场景中的环境光照确定装置,如图9所示,包括神经网络预测模块100、综合置信度获取模块200和光照参数获取模块300。

其中,

神经网络预测模块100,用于利用神经网络对所拍摄的ar场景的当前帧图像进行预测,获得对应于当前帧图像的参考光照参数表。

综合置信度获取模块200,用于根据当前帧图像的拍摄信息建立对应于当前帧图像的参考综合置信度表,根据参考综合置信度表和对应于前一帧图像的前帧综合置信度表,获得对应于当前帧图像的当前综合置信度表,其中,参考光照参数表和参考综合置信度表中分别记录有以当前帧图像的拍摄位置为中心的球面上的多个虚拟光源点的参考光照参数和参考综合置信度。光照参数获取模块300,用于根据参考光照参数表、当前综合置信度表、前帧综合置信度表以及对应于前一帧图像的前帧光照参数表,获得对应于当前帧图像的当前光照参数表,其中,当前光照参数表中记录有以当前帧图像的拍摄位置为中心的球面上的多个虚拟光源点的当前所确定的光照参数。

本发明实施例还同时提供一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质存储指令,该指令在由处理器执行时使得所述处理器执行如上述说明中的ar场景中的环境光照确定方法中的各个步骤。

本发明实施例还同时提供一种执行ar场景中的环境光照确定方法的电子设备,如图10所示,该电子设备包括:至少一个处理器1以及存储器2。存储器2和至少一个处理器1通信连接,例如存储器2和至少一个处理器1通过总线连接。存储器2存储有可被至少一个处理器1执行的指令,所述指令被至少一个处理器1执行,以使至少一个处理器1执行如上述说明中的ar场景中的环境光照确定方法中的各个步骤。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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