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

基于视觉注意的真实感三维场景全景画面渲染方法

文献发布时间:2023-06-19 18:37:28


基于视觉注意的真实感三维场景全景画面渲染方法

技术领域

本发明涉及一种基于视觉注意的真实感三维场景全景画面渲染方法,属于真实感虚拟三维场景渲染技术领域。

背景技术

随着VR全景视频应用的不断普及,人们对全景画面素材的需求不断增加。在制作VR全景视频时,如果需要使用现实中不存在的画面素材,就要用计算机程序渲染生成虚拟三维场景的全景画面。为了生成具有真实感的虚拟三维场景画面,要求计算虚拟三维场景的全局光照。全局光照可以看成是由直接光照和间接光照两部分组成。通常,直接光照的计算开销比间接光照小很多,间接光照计算是真实感虚拟三维场景渲染中的难题。J.F.Hughes等撰写的由Addison-Wesley公司于2014年出版的专著《Computer Graphics:Principles and Practice,3rd Edition》在第31章叙述了路径跟踪技术,可以用来计算光线路径对应的间接光亮度值。

申请号为202111023412.3的中国发明专利公开了一种视觉显著性驱动的VR电影画面渲染像素抗失真处理方法,其给出了虚拟全景相机模型,并使用等距柱状投影全景图像来存储虚拟三维场景的全景画面。虚拟全景相机示意图见图1。

J.F.Hughes等撰写的由Addison-Wesley公司于2014年出版的专著《ComputerGraphics:Principles and Practice,3rd Edition》在第493页指出,图像和数值二维数组之间没有清晰的分界线;换句话说,可以把图像看成是数值二维数组,数值二维数组的每个元素对应图像的一个像素;同理,也可以把数值二维数组看成是图像。彩色图像的每个像素包含红、绿、蓝三个颜色分量,可以把三个颜色分量看成是一个颜色结构体,一幅彩色图像可看成是以颜色结构体为元素的二维数组。J.F.Hughes等撰写的由Addison-Wesley公司于2014年出版的专著《Computer Graphics:Principles and Practice,3rd Edition》在19.2节中叙述了图像放大技术(Enlarging an Image),其可以把低分辨率图像放大成高分辨率图像,即增加图像包含的像素行数和列数(也就是增加图像分辨率)。

人眼在观看全景画面时,画面的某些区域容易被注意到,而另外一些区域则不容易被注意到。容易被注意到的区域的显著性比不容易被注意到的区域的显著性高。在渲染全景画面时,显著性高的区域的像素全局光照应该被精确计算,而显著性低的区域的像素的全局光照可以被近似计算,这样可以在保证观看体验质量的条件下减小全景画面的总渲染开销。最近,人们对全景画面的视觉显著性进行了大量研究,提出了各种全景画面显著性检测方法。例如,丁颖等人于2019年发表在《电子学报》第47卷第7期的论文“虚拟现实全景图像显著性检测研究进展综述”就对全景画面显著性检测进行了详细介绍。使用全景图像显著性检测技术可以计算等距柱状投影全景图像的显著性图。显著性图是一张灰度图,显著性图的像素与等距柱状投影全景图像的像素一一对应;显著性图的每个像素的值取[0,1]之间的数;显著性图的像素的值越大,表明等距柱状投影全景图像的对应像素越显著。

发明内容

本发明的目的在于,提供一种基于视觉注意的真实感三维场景全景画面渲染方法,实现在使用低分辨率方式渲染间接光照的条件下,生成能确保人眼观看体验质量的画面。

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

1)本方法第一部分渲染虚拟三维场景全景画面的直接光照,具体步骤如下:

步骤Step101:虚拟三维场景全景画面用等距柱状投影全景图像存储;令N

步骤Step102:对于i=1,2,…,N

步骤Step102-1:计算像素A001在虚拟全景相机的虚拟成像球面上的成像位置PIX的坐标;

步骤Step102-2:从虚拟全景相机的视点位置发射穿过成像位置PIX的光线A002,计算光线A002与虚拟三维场景的几何对象的离虚拟全景相机的视点位置最近的交点SECPOINT,计算直接来自光源的经交点SECPOINT反射后沿光线A002反向方向到达成像位置PIX的直接光亮度值DIL,把二维数组ARDILL的第i行、第j列元素赋值为直接光亮度值DIL;

步骤Step102-3:针对等距柱状投影全景图像的第i行、第j列像素A001的操作结束;

2)本方法第二部分渲染虚拟三维场景的低分辨率全景画面间接光照,将其保存在低分辨率等距柱状投影全景图像对应的二维数组ARIILL中,具体步骤如下:

步骤Step201:低分辨率等距柱状投影全景图像包括

步骤Step202:对于

步骤Step202-1:计算像素B001在虚拟全景相机的虚拟成像球面上的成像位置PIX2的坐标;

步骤Step202-2:从虚拟全景相机的视点位置发射N

步骤Step202-3:针对低分辨率等距柱状投影全景图像的第i行、第j列像素B001的操作结束;

3)本方法第三部分利用图像放大技术,增加本方法第二部分得到的低分辨率全景画面间接光照结果的分辨率,具体步骤如下:

把二维数组ARIILL当作一张图像IMAGC0,使用图像放大技术对图像IMAGC0进行放大,得到一张包含N

4)本方法第四部分根据二维数组ARDILL和图像IMAGC1,得到初始虚拟三维场景全景画面,具体步骤如下:

对于i=1,2,…,N

5)本方法第五部分对初始虚拟三维场景全景画面对应的等距柱状投影全景图像进行显著性检测,得到对应的显著性图SMap,具体步骤如下:

利用全景图像显著性检测技术,计算初始虚拟三维场景全景画面对应的等距柱状投影全景图像的显著性图SMap;

6)本方法第六部分根据显著性图SMap,对初始虚拟三维场景全景画面对应的等距柱状投影全景图像的部分像素的间接光照值进行精化,具体步骤如下:

步骤Step601:对于i=1,2,…,N

步骤Step601-1:如果像素F001的值小于显著性阈值SALTH,则转步骤Step601-5,否则转步骤Step601-2;

步骤Step601-2:计算初始虚拟三维场景全景画面对应的等距柱状投影全景图像的第i行、第j列像素F002在虚拟全景相机的虚拟成像球面上的成像位置PIX3的坐标;

步骤Step601-3:从虚拟全景相机的视点位置发射N

步骤Step601-4:把二维数组ARDILL的第i行、第j列元素保存的直接光照值与平均值AIL1之和转换成颜色值COLOR,把初始虚拟三维场景全景画面对应的等距柱状投影全景图像的第i行、第j列像素F002的颜色值更新为颜色值COLOR;

步骤Step601-5:针对显著性图SMap的第i行、第j列像素F001的操作结束;

7)本方法第七部分把执行本方法第六部分后的初始虚拟三维场景全景画面对应的等距柱状投影全景图像作为最终渲染生成的虚拟三维场景全景画面保存到磁盘文件中。

本发明的积极效果是:本发明将虚拟三维场景全景画面的全局光照分成直接光照和间接光照两部分分别进行渲染。在本发明中,直接光照渲染采用全分辨率,但间接光照渲染采用低分辨率,以便减小渲染开销。本发明使用图像放大技术把低分辨率的间接光照结果放大成全分辨率结果,同时利用显著性描述人眼对全景画面的视觉注意结果,据此对那些显著性高于特定阈值的像素的间接光照结果进行精化,以便确保人眼最终观看全景画面时的体验质量。间接光照的计算开销通常远比直接光照的计算开销大。由于本发明在渲染间接光照时采用低分辨率,因此可以显著减少渲染时间。另外,由于使用全景画面的显著性检测结果作为引导,精化容易被人眼注意到的部分像素的间接光照结果;因此尽管本发明使用了低分辨率间接光照渲染,仍然能确保人眼最终观看全景画面时的体验质量。

附图说明

图1为虚拟全景相机的示意图。

图2为光线路径示意图。

具体实施方式

为了使本方法的特征和优点更加清楚明白,下面结合具体实施例对本方法作进一步的描述。在本实施例中,计算机配有Intel XeonTM CPU 3.20GHz、金士顿8GB DDR3 1333内存,Buffalo HD-CE 1.5TU2磁盘、英伟达Quadro K2000 GPU。虚拟三维场景为一个虚拟房间场景,在房间中放着一张桌子和一把椅子,在房间的一面墙上挂着一面镜子。

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

1)本方法第一部分渲染虚拟三维场景全景画面的直接光照,具体步骤如下:

步骤Step101:虚拟三维场景全景画面用等距柱状投影全景图像存储;令N

步骤Step102:对于i=1,2,…,N

步骤Step102-1:计算像素A001在虚拟全景相机的虚拟成像球面上的成像位置PIX的坐标;

步骤Step102-2:从虚拟全景相机的视点位置发射穿过成像位置PIX的光线A002,计算光线A002与虚拟三维场景的几何对象的离虚拟全景相机的视点位置最近的交点SECPOINT,计算直接来自光源的经交点SECPOINT反射后沿光线A002反向方向到达成像位置PIX的直接光亮度值DIL,把二维数组ARDILL的第i行、第j列元素赋值为直接光亮度值DIL;

步骤Step102-3:针对等距柱状投影全景图像的第i行、第j列像素A001的操作结束;

2)本方法第二部分渲染虚拟三维场景的低分辨率全景画面间接光照,将其保存在低分辨率等距柱状投影全景图像对应的二维数组ARIILL中,具体步骤如下:

步骤Step201:低分辨率等距柱状投影全景图像包括

步骤Step202:对于

步骤Step202-1:计算像素B001在虚拟全景相机的虚拟成像球面上的成像位置PIX2的坐标;

步骤Step202-2:从虚拟全景相机的视点位置发射N

步骤Step202-3:针对低分辨率等距柱状投影全景图像的第i行、第j列像素B001的操作结束;

3)本方法第三部分利用图像放大技术,增加本方法第二部分得到的低分辨率全景画面间接光照结果的分辨率,具体步骤如下:

把二维数组ARIILL当作一张图像IMAGC0,使用图像放大技术对图像IMAGC0进行放大,得到一张包含N

4)本方法第四部分根据二维数组ARDILL和图像IMAGC1,得到初始虚拟三维场景全景画面,具体步骤如下:

对于i=1,2,…,N

5)本方法第五部分对初始虚拟三维场景全景画面对应的等距柱状投影全景图像进行显著性检测,得到对应的显著性图SMap,具体步骤如下:

利用全景图像显著性检测技术,计算初始虚拟三维场景全景画面对应的等距柱状投影全景图像的显著性图SMap;

6)本方法第六部分根据显著性图SMap,对初始虚拟三维场景全景画面对应的等距柱状投影全景图像的部分像素的间接光照值进行精化,具体步骤如下:

步骤Step601:对于i=1,2,…,N

步骤Step601-1:如果像素F001的值小于显著性阈值SALTH,则转步骤Step601-5,否则转步骤Step601-2;

步骤Step601-2:计算初始虚拟三维场景全景画面对应的等距柱状投影全景图像的第i行、第j列像素F002在虚拟全景相机的虚拟成像球面上的成像位置PIX3的坐标;

步骤Step601-3:从虚拟全景相机的视点位置发射N

步骤Step601-4:把二维数组ARDILL的第i行、第j列元素保存的直接光照值与平均值AIL1之和转换成颜色值COLOR,把初始虚拟三维场景全景画面对应的等距柱状投影全景图像的第i行、第j列像素F002的颜色值更新为颜色值COLOR;

步骤Step601-5:针对显著性图SMap的第i行、第j列像素F001的操作结束;

7)本方法第七部分把执行本方法第六部分后的初始虚拟三维场景全景画面对应的等距柱状投影全景图像作为最终渲染生成的虚拟三维场景全景画面保存到磁盘文件中。

在本实施例中,N

如图2所示,从视点发射的光线在虚拟三维场景中传播的过程中,在多个几何对象表面发生散射,形成的光线路径与多个几何对象有交点;光源发出的光直接入射到交点1上,然后反射到达视点的光亮度就是直接光照;光源发出的光直接入射到除交点1外的其他交点上,然后沿光线路径反向到达视点的光亮度都是间接光照。在步骤Step202-2中,在用路径跟踪技术计算从视点位置发射的光线对应的间接光亮度值时,只需针对对应光线路径,累加光源发出的光直接入射到除交点1外的所有其他交点上后、沿对应光线路径反向到达成像位置的光亮度。

技术分类

06120115633475