一种基于点云场景自动布光的方法及电子设备技术

技术编号:38752830 阅读:44 留言:0更新日期:2023-09-09 11:19
本发明专利技术涉及三维建模技术领域,具体公开了一种基于点云场景自动布光的方法及电子设备,方法包括:输入建筑物三维点云集,以三维点云集的中心点生成全局三维坐标,通过三维点云集构建体素数据集;通过体素数据集在模型场景中生成建筑模型,将建筑模型材质化;遍历体素数据集,根据体素数据集内体素的三维坐标及RGB值信息,计算光源参数及光源坐标;将光源参数通过光源坐标映射至建筑模型场景;对建筑模型场景中若干光源参数进行调整,设置光线追踪参数;基于光线追踪算法对建筑模型进行实时渲染。根据深度相机采集的点云场景自动生成建筑模型光源,并基于光线追踪算法对建筑模型进行渲染,从而减小建筑模型布光难度。从而减小建筑模型布光难度。从而减小建筑模型布光难度。

【技术实现步骤摘要】
一种基于点云场景自动布光的方法及电子设备


[0001]本专利技术涉及三维建模
,尤其涉及一种基于点云场景自动布光的方法及电子设备。

技术介绍

[0002]随着计算机视觉与人工智能技术的飞速发展,采用深度相机进行场景三维重建、目标检测、环境感知等应用越来越广泛,与传统的2D相机不同,深度相机可以通过拍摄空间来获得景深信息,从而获得目标的3D信息,构建3D模型,这也是与普通相机最大的差别。
[0003]为了生成在三维计算机图形环境中的可见图像,光线跟踪是一个比光线投射或者扫描线渲染更加逼真的实现方法。这种方法通过逆向跟踪与假象的照相机镜头相交的光路进行工作,由于大量的类似光线横穿场景,所以从照相机角度看到的场景可见信息以及软件特定的光照条件,就可以构建起来。当光线与场景中的物体或者媒介相交的时候计算光线的反射、折射以及吸收。
[0004]光线跟踪的流行来源于它比其它渲染方法如扫描线渲染或者光线投射更加能够现实地模拟光线,象反射和阴影这样一些对于其它的算法来说都很难实现的效果,却是光线跟踪算法的一种自然结果。光线跟踪易于实现并且视觉效果很好,所以它通常是图形编程中首次尝试的领域。
[0005]现有技术中在点云数据构建模型后,需要对构建后的建筑模型进行灯光渲染以提高建筑模型的视觉效果,对目前传统的灯光布置方案是人工通过WebGL或三维软件人工布置灯光,再经过渲染得到场景的效果图,需要人工将不同种类的光源加入建筑模型中,并调节光照强度和光照方向,过程复杂,布光所需人力成本较高。
[0006]因此,本领域人员亟需寻找一种新的技术方案来解决上述的问题。

技术实现思路

[0007]针对现有技术中的技术问题,本专利技术提供一种基于点云场景自动布光的方法及电子设备,根据深度相机采集的点云场景自动生成建筑模型光源,并基于光线追踪算法对建筑模型进行渲染,提高建筑模型构建光源的渲染效率,从而减小建筑模型布光难度。
[0008]本专利技术的一种基于点云场景自动布光的方法,方法包括:
[0009]输入建筑物三维点云集,以三维点云集的中心点生成全局三维坐标,通过三维点云集构建体素数据集;
[0010]通过体素数据集在模型场景中生成建筑模型,将建筑模型材质化;
[0011]遍历体素数据集,根据体素数据集内体素的三维坐标及RGB值信息,计算光源参数及光源坐标;
[0012]将光源参数通过光源坐标映射至建筑模型场景;
[0013]对建筑模型场景中若干光源参数进行调整,设置光线追踪参数;
[0014]基于光线追踪算法对建筑模型进行实时渲染。
[0015]进一步的,通过三维点云集构建体素数据集的方法包括,
[0016]将三维点云集的坐标进行正则化处理,三维点云的存储的形式(n,3)的向量,其中n代表着采集的点云数量,3代表着其中每个点在三维的坐标x,y,z。
[0017]将三维点云集q={q1,q2,......,q
n
}通过坐标转换转化至xy平面,得到平面内的点集p={p1,p2,.......,p
n
},其中,q
i
=(x
i
,y
i
,z
i
)
T
,p
i
=(x
i
,y
i
)
T

[0018]遍历三维点云集中所有的点,得到x
min
,y
min
,x
max
,y
max
并建立三维点云集的最小包围盒,计算网格的边长L,其中:
[0019][0020]分别计算在x方向和y方向上的网格数x
num
,y
num

[0021][0022][0023]把数据点p
i
=(x
i
,y
i
)
T
放入对应的网格单元(u,v)中,将数据点p
i
=(x
i
,y
i
)
T
与(u,v)之间建立对应关系,其中u∈[0,x
num
],v∈[0,y
num
];
[0024]按网格单元(u,v)内是否拥有数据点将网格分为实孔网格和空孔网格,其中,拥有数据点的为实孔网格,无数据点的为空孔网格;对于每一个实孔网格,判断该相邻网格中空孔网格的数量,若该相邻网格中8个相邻网格中有一个以上是空孔网格,则当前网格是边界网格,否则不是;
[0025]对划分后的边界网格进行体素化处理后得到体素数据集。
[0026]进一步的,通过体素数据集在模型场景中生成建筑模型,添加材质至建筑模型的方法包括,
[0027]遍历体素数据集,使用逆向几何求交算法对体素数据集构建具有三维形状的建筑模型;
[0028]对建筑模型进行主成分分析,确定建筑模型的类别,将建筑模型划分为若干模型部件;
[0029]根据实际情况手动对划分后的若干模型部件进行调整;
[0030]进一步的,将建筑模型材质化的方法包括,
[0031]输入材质及纹理信息,将材质及纹理信息对应添加至若干模型部件内;
[0032]将全局坐标映射至建筑模型场景,确定建筑模型材质及纹理所处的坐标位置。
[0033]进一步的,遍历体素数据集,根据体素数据集内体素的三维坐标及RGB值信息,计算光源参数及光源坐标的方法包括,
[0034]将体素数据集划分为室内场景体素和室外场景体素,确定室内场景体素和室外场景体素的坐标;
[0035]输入预设的光源RGB选取范围,计算受到光源影响的场景体素和室外场景体素范围;
[0036]根据若干室内场景体素和室外场景体素的RGB值,计算室内场景和室外场景的辐照面积和辐照强度,综合室内场景和室外场景的辐照面积和辐照强度形成光锥和光线向
量,追踪光源坐标并确定光源种类;
[0037]根据光源坐标与室内场景体素和室外场景体素的坐标的位置关系,确定光源坐标与光源颜色。
[0038]进一步的,对建筑模型场景中若干光源参数进行调整,设置光线追踪参数的方法包括,在中为建筑模型场景设置渲染曝光参数,对光源位置进行校正,其中,光线追踪的参数包括环境光参数、全局照明参数、反射与折射参数。
[0039]一种电子设备,包括:
[0040]存储器,用于存储计算机程序;
[0041]处理器,用于执行计算机程序时实现上述的基于点云场景自动布光的方法。
[0042]本专利技术的基于点云场景自动布光的方法,根据深度相机采集的点云场景自动生成建筑模型,通过三维点云集构建体素数据集,并通过体素数据集在模型场景中生成建筑模型,根据体素数据集内体素的三维坐标及RGB值信息,计算光源参数及光源坐标,并通过光线追踪算法对建筑模型进行渲染,提高本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于点云场景自动布光的方法,其特征在于,所述方法包括:S1:输入建筑物三维点云集,以三维点云集的中心点生成全局三维坐标,通过三维点云集构建体素数据集;S2:通过体素数据集在模型场景中生成建筑模型,将所述建筑模型材质化;S3:遍历体素数据集,根据体素数据集内体素的三维坐标及RGB值信息,计算光源参数及光源坐标;S4:将所述光源参数通过光源坐标映射至建筑模型场景;S5:对所述建筑模型场景中若干光源参数进行调整,设置光线追踪参数;S6:基于光线追踪算法对建筑模型进行实时渲染。2.根据权利要求1中所述的一种基于点云场景自动布光的方法,其特征在于,通过三维点云集构建体素数据集的方法包括,S101:将三维点云集的坐标进行正则化处理,三维点云的存储的形式(n,3)的向量,其中n代表着采集的点云数量,3代表着其中每个点在三维的坐标x,y,z。S102:将三维点云集q={q1,q2,......,q
n
}通过坐标转换转化至xy平面,得到平面内的点集p={p1,p2,.......,p
n
},其中,q
i
=(x
i
,y
i
,z
i
)
T
,p
i
=(x
i
,y
i
)
T
;S103:遍历三维点云集中所有的点,得到x
min
,y
min
,x
max
,y
max
并建立三维点云集的最小包围盒,计算网格的边长L,其中:分别计算在x方向和y方向上的网格数x
num
,y
num
:S104:把数据点p
i
=(x
i
,y
i
)
T
放入对应的网格单元(u,v)中,将数据点p
i
=(x
i
,y
i
)
T
与(u,v)之间建立对应关系,其中u∈[0,x
num
],v∈[0,y
num
...

【专利技术属性】
技术研发人员:蓝天施磊
申请(专利权)人:壹品慧数字科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1