基于三维视觉的室内设计虚拟现实方法研究

2018-03-03 19:37师春艳
现代电子技术 2018年5期
关键词:点云数据场景室内设计

师春艳

摘 要: 针对传统基于辐射度算法的室内场景三维虚拟现实方法存在耗时高、建模效果差的弊端,研究基于三维视觉的室内设计虚拟现实方法,采用主动式、全方位立体视觉传感器采集室内场景的三维点云数据,基于点云数据进行室内场景内的物体几何关系以及摆放位置分布,完成室内三维场景的自主合成,对物体摆放位置分布实施训练,通过三维场景点云数据集获取相同类型支撑物中物体产生的位置,对数据实施归一化操作,采用高斯混合模型拟合这些数据,训练出三维室内场景中物件在支撑面中的位置分布模型。采用基于深度信息场景重构方法实现室内三维场景的虚拟实现。实验结果说明,所提方法重构的室内场景直观、视觉效果好,并且具有较高的重构效率和精度。

关键词: 三维视觉; 室内设计; 虚拟现实方法; 场景; 点云数据; 高斯混合模型

中图分类号: TN911.1?34; TP273 文献标识码: A 文章编号: 1004?373X(2018)05?0078?05

Abstract: Since the traditional indoor scene 3D virtual reality method based on radiancy algorithm has the disadvantages of high time consumption and poor modeling effect, the virtual reality method of indoor design based on 3D vision is studied. The active stereo omni?direction vision sensor (ASODVS) is used to collect the three?dimensional point cloud data of indoor scene. On the basis of point cloud data, the geometrical relationship of objects in indoor scene is analyzed, and the locating place distribution of the objects is trained to realize the autonomous synthesis of indoor 3D scene. According to the point cloud dataset of 3D scene, the position of the object in the same?type upholder is acquired to perform the normalization operation for the data. The Gaussian mixture model is adopted to fit the data, and obtain the trained position distribution model in support plane of the objects in 3D indoor scene. The depth information scene reconstruction method is used to implement the virtual realization of indoor 3D scene. The experimental results show that the method has intuitive reconstructed indoor scenes and perfect vision effect, and has high reconstruction efficiency and precision.

Keywords: 3D vision; indoor design; virtual reality method; scene; point cloud data; Gaussian mixture model

由于计算机仿真以及虚拟现实等技术的高速发展,室内场景的三维建模在火场救援、密室逃脱以及挖掘等领域中具有重要的应用价值。因此,采用有效的方法进行室内三维场景的虚拟实现,成为相关人员分析的热点。传统基于辐射度算法的室内场景三维虚拟现实方法存在耗时高、建模效果差等弊端[1],因此,本文研究了基于三维视觉的室内设计虚拟现实方法,完成室内三维虚拟场景的准确重构。

1 基于三维视觉的室内设计虚拟现实方法研究

1.1 获取室内场景的三维有序点云数据

为了对室内场景进行建模,本文采用主动式全方位立体视觉传感器(Active Stereo Omni?direction Vision Sensor,ASODVS)扫描室内场景,获取室内场景的三维有序点云数据具体过程如下:

1) 采用ASODVS采集室内全景图像,将其标识成000000的文件名,存储到全景图像存储文件夹中;

2) 通过移动面激光扫描;

3) 采用ASODVS采集模块获取室内全景扫描切片图像,基于电机的变换速率和两个极限点的时间,对移动面激光发生器的位置实施预测,将单视点到面激光发生器中心的垂直距离值当成全景扫描切片图像的文件名,并将获取的扫描切片图像存储到全景图像存储文件夹中;

4) 分析是否到达极限点位置,若到达则完成扫描,终止移动面激光扫描[2];否则运行过程3)。

基于上述结果实施点云数据解析能够获取室内场景的点云数据,解析过程如下:

1) 依据值的降序分布情况,将室内全景扫描切片图像从室内全景图像存储文件夹中采集出来;

2) 对获取的室内全景扫描切片图像进行实时预处理,提升激光投射点范围;endprint

3) 基于不同的方位角逐次检索总体室内全景扫描切片图像,运算获取激光投影的空间坐标;

4) 向点云数据文件夹内存储含有色彩信息的扫描切片点云数据文件,标识各点云数据文件名为“值+.txt”;

5) 分析是否完成全部室内全景扫描切片图像的检索,若是则结束解析;否则采集新全景扫描切片图像,运行过程2)。

ASODVS扫描获取垂直方向基于值分布的大量切片图像,解析这些图像中的点云数据可获取相关的切片点云数据。各切片点云数据在垂直方向中基于进行分布。解析各切片图像过程汇总,检索图像实时方位角[3],运算各点的三维空间坐标值,则各切片内的点云数据在水平方向基于方位角分布。本文通过点云矩阵保存点云数据,矩阵行用于描述扫描的120张室内全景切片图像,矩阵列用于描述方位角的检索结果,每次检索的步长是0.36°,则存在1 000列,通过上述分析的室内场景检索、点云数据解析和存储过程,获取的点云矩阵大小是120×1 000。

1.2 室内三维虚拟场景合成算法

1.2.1 总体结构

基于1.1节获取的室内场景的三维有序点云数据,合成室内三维虚拟场景,总体结构如图1所示。

合成室内三维场景过程包括輸入模块、场景分析模块、场景合成模块以及输出模块。输入模块是室内场景的有序点云数据和室内场景中的物件种类以及数量。场景分析模块由场景中物体间的几何关系分析以及物体摆放位置分布模型训练两个部分构成。分析场景中的物体几何关系时,需要实现物体支撑面的采集、检测物体相交、支撑关系、接近关系以及共生关系。采集支撑面时,采集室内场景中各物体的支撑面,相交检测时采用包围盒的相交检测算法确保物体在摆放过程中相互独立。先实施室内场景中不同物体支撑关系的采集,再检测物体间的接近关系,最终依据三维场景的数据集获取室内三维场景中不同类型支撑物能够支撑的物体种类以及产生频率。

对物体摆放位置分布实施训练,通过三维场景数据集获取相同类型支撑物中物体产生的位置,对数据实施归一化操作[4?5],采用高斯混合模型拟合这些数据,训练出位置分布模型。

本文设计任意摆放以及在指定支撑面中摆放两种场景合成模块,输入室内场景在该量子算法的驱动下表现出两种不同的输出结果,任意摆放算法从输入室内场景存在的多个支撑物中任意采集其中一个,从多个支撑面内旋转一个实施摆放,依据任意过程运算出摆放点。在指定支撑面中摆放时分析了共生关系汇总出的结果,实现设置物体在摆放过程中能够选择的支撑物,在该支撑物存在的平面中任意选择位置点实施摆放。采用场景合成模块的两种算法获取两种不同效果的室内设计合成场景。

1.2.2 物件任意自动摆放算法

物件任意自动摆放算法从室内场景存在的支撑物中任意选择一个,从所选择的支撑物中任意采用一个支撑平面,将小物件任意摆放到该平面中。物件任意自动摆放算法由任意采集支撑面、产生可用摆放点以及相交检测构成。本文采用三维模型表面的均匀采样算法,基于支撑面的面积任意采集支撑面,详细过程如下:

1) 语义标识,在室内场景选择支撑物的过程中,基于小物件的支撑语义标签,得到的支撑平面数是用{SuppPlane1,SuppPlane2,…,SuppPlanek}描述。

2) 检索个支撑平面,这些平面的面积是在数组CumAreas内存储完成访问的支撑平面面积,该数据是维数是支撑面数

3) 产生任意数。

4) 采集目标支撑面,对数组CumAreas实施检索,获取任意数的支撑平面的索引号[6],则第个平面被选中的概率为:

则各平面被选择的概率同平面的面积具有正相关性。

获取支撑面后,依据接受?拒绝采样在支撑面中产生有用摆放点,由支撑面基于其最长边得到正方形,使得该正方形对总体支撑面进行覆盖[7]。

合成三维场景时进行相交检测,获取具有两个支撑平面的支撑物的场景合成结果,如图2所示。

1.2.3 规定支撑面摆放算法

规定支撑面摆放算法在物体支撑的共生关系上,去掉室内场景中不满足该关系的支撑平面,确保物件可摆放到合理的支撑面中,具体过程如下:

1) 对数据集内可摆放输入物件的支撑物label实施汇总,基于物体支撑的共生关系,向文本文件内存储场景集内可支撑输入物件的label,向数组supporter_labels内存储可摆放物件的支撑物label。

2) 对室内场景中全部支撑物label实施汇总,对用户输入的室内场景中各模型实施检索,采集出支撑面后,将支撑面对应支撑物的label存储到数组suppPlanes内。

3) 选择支撑物label,对比分析前两个过程获取的支撑物label,在数组m_suppPlanes内存储同一名称的label,也就是存储输入室内场景中满足输入物件摆放并且满足支撑共生关系的支撑物label。

4) 分析过程1)和2)中统计的支撑物label,若不存在名称一致的支撑物,则将数组suppPlanes内的元素逐次存储到数组m_suppPlanes内。

算法停止运算后,物件从算法中获取m_suppPlanes数组内选择的支撑面实施摆放。

规定支撑面的场景合成结果如图3所示。从图3能够看出输入场景包括地面、桌子以及茶几,场景合成结果中包括台灯、电脑、鼠标、饮料、茶杯等,实现了室内场景的准确合成。

1.3 基于高斯混合模型的物体位置分布

通过三维场景点云数据集获取相同类型支撑物中物体产生的位置,对数据实施归一化操作,采用高斯混合模型拟合这些数据,训练出三维室内场景中物件在支撑面中的位置分布模型。

1.3.1 高斯混合模型endprint

若存在一批维观测室内场景点云数据满足独立同分布,各点通过单高斯模型产生,均值以及样本方差矩阵值不确定,该批数据通过个高斯模型产生,个单高斯模型加权和[8],也就是高斯混合模型的表达式:

式中:表示各单高斯模型在混合模型内所占的比例;表示由相应单高斯模型产生的数据;是第個单高斯模型的概率密度函数的均值以及协方差矩阵。

则第个单高斯模型的概率密度函数为:

式中:权重需要符合条件的要求;是高斯混合模型的参数集。基于三个参数以及则能够获取高斯混合模型。

1.3.2 高斯混合模型的参数预测

基于室内场景点云数据样本集预测高斯混合模型的全部参数。通过似然函数预测参数,对似然函数实施最大化操作完成参数的预测,高斯混合模型的似然函数为:

大量数字相乘后会出现浮点数下溢问题,则将似然函数变换成对数似然函数,对其最大化,获取的对数似然函数为:

通过期望最高(Expectation Maximization,EM)算法分布迭代获取最高值,得到最高值时各参数的值。

若完全数据集是,表示观测到的不完全数据集,是融入的隐含变量。EM算法假设内数据同已知高斯模型独立分布,且模型参数已知,则基于该模型运算出数据集内不同数据点由各单高斯模型产生的概率[9]。采用极大化似然函数修正参数值,循环该规程直至算法收敛。

基于EM算法的高斯混合模型参数预测过程如下:

1) 参数的原始值

通过K?means算法对观测数据点实施聚类,表示聚类数,表示各类数的均值,运算得到各类样本数占总样本数的比例。

2) 算法过程

预测数据通过各高斯分布产生的概率。融入隐含变量其中,各运算用于描述各单高斯模型,则数据由产生的后验概率为:

循环运行上述过程,对式(8)~式(10)的值实施循环更新,直至算法满足收敛条件是更新参数后运算的值,如果算法收敛,则似然函数获取最高值,参数对应的值则是各参数的最高似然预测值。

1.3.3 物体位置分布模型

采用物体共生关系采集算法获取.sch文件以及.csv文件,各.sch文件内存储通知类型支撑物中摆放的物体label。针对不同种类的支撑物,本文将摆放在该支撑物中的物体支撑点当成物体的位置坐标。对点云数据集内各厂家包含的支撑平面实施归一化操作,将支撑平面变换成面积是1的正方形平面,对物体在支撑平面中的位置坐标实施归一化操作,获取.csv文件中的数据。基于该文件中的数据点坐标,采用高斯混合模型拟合这些数据点[10],获取室内场景中物体的位置分布模型。

1.4 基于深度信息场景重构

采用Kinect深度摄像机获取室内场景的深度信息以及彩色信息,通过开源OpenNI向PC机内传输深度信息,PC机对深度信息实施坐标变换。采用滤波算法对深度图像进行实时滤波以及降噪操作,对基于1.1小节获取的室内场景点云数据实施配准和空间旋转平移变换,并基于高斯混合模型获取物体位置分布,在采用多边形网格纹理映射后,采用PCL开源平台中的PCLVisualizer类重构室内三维虚拟场景。

2 实验结果与分析

2.1 实验硬件环境

实验采用Kinect传感器采集室内场景的深度信息,通过主动式全方位立体视觉传感器获取室内场景的点云数据,采用联想公司的PC机分析和处理数据,完成室内场景的三维重构。实验的硬件设置和配置情况见表1。

2.2 实验结果

2.2.1 重构效果分析

实验采用Kinect深度摄像机以及主动式全方位立体视觉传感器得到室内场景1和场景2某角落场景,采用高斯模型获取物体位置分布情况,在PCL开源平台下进行操作获取的室内三维虚拟场景1和场景2的重构图,分别如图4和图5所示。能够看出,相对于基于辐射度算法的虚拟现实方法,利用本文方法获取的室内场景三维重构图,物体摆放效果逼真,表面光滑、轮廓清晰,具有较佳的视觉效果。

2.2.2 误差分析

实验统计两种方法对场景1和场景2进行重构时的误差情况,见表2。能够看出,因为场景1区域比场景2小,所以两种方法对场景1的重构误差低于场景2,并且两个场景中本文方法的重构误差低于基于辐射度算法的虚拟现实方法,说明本文方法具有较高的室内三维场景重构精度。

实验对两种方法重构过程的时间统计情况见表3。

分析表3能够看出,场景大小对运算时间的干扰较低,五个过程中预操作耗时最低,获取物体位置分布耗时最高。本文方法对于不同场景中不同过程的重构过程耗时低于基于辐射度算法的虚拟现实方法,说明本文方法具有较高的室内三维虚拟场景重构效率。

3 结 语

本文研究了基于三维视觉的室内设计虚拟现实方法,重构的室内场景直观、视觉效果好,实现了室内三维虚拟场景的高效率、高精度重构,具有较高的应用价值。

参考文献

[1] 王云舒,刘建业,曾庆化,等.结构光辅助的惯性/视觉室内导航三维环境重构方法[J].中国惯性技术学报,2016,24(1):51?58.

WANG Yunshu, LIU Jianye, ZENG Qinghua, et al. 3D environment restructure method with structured light for indoor vision/inertial navigation [J]. Chinese journal of inertial technology, 2016, 24(1): 51?58.

[2] 吴乃亮,闫飞,卜春光.基于视觉里程计的移动机器人三维场景重构[J].华中科技大学学报(自然科学版),2015,43(z1):337?340.endprint

WU Nailiang, YAN Fei, BU Chunguang. Mobile robot 3D environment reconstruction based on visual odometer [J]. Journal of Huazhong University of Science and Technology (natural science edition), 2015, 43(S1): 337?340.

[3] 李秀智,杨爱林,秦宝岭,等.基于光流反馈的单目视觉三维重建[J].光学学报,2015,35(5):228?236.

LI Xiuzhi, YANG Ailin, QIN Baoling, et al. Monocular camera three dimensional reconstruction based on optical flow feedback [J]. Acta optica sinica, 2015, 35(5): 228?236.

[4] 高如新,王俊孟.双目立体视觉求取三维坐标的方法研究[J].计算机仿真,2014,31(10):296?300.

GAO Ruxin, WANG Junmeng. Study on some methods of 3D coordinate calculation of binocular vision [J]. Computer simulation, 2014, 31(10): 296?300.

[5] 廖明,周良辰,闾国年,等.基于OpenGL驱动的三维场景重构[J].计算机应用研究,2015,32(4):1276?1280.

LIAO Ming, ZHOU Liangchen, L? Guonian, et al. 3D scene reconstruction based on OpenGL [J]. Computer application research, 2015, 32(4): 1276?1280.

[6] 李辉.基于虚拟双目视觉的玉米叶片三维重建方法[J].科技通报,2016,32(5):96?101.

LI Hui. 3D reconstruction of maize leaves based on virtual visual technology [J]. Bulletin of science and technology, 2016, 32(5): 96?101.

[7] 朱笑笑,曹其新,杨扬,等.一种改进的KinectFusion三维重构算法[J].机器人,2014,36(2):129?136.

ZHU Xiaoxiao, CAO Qixin, YANG Yang, et al. An improved KinectFusion 3D reconstruction algorithm [J]. Robot, 2014, 36(2): 129?136.

[8] 董峰,王继州.三维虚拟海洋图像仿真在舰艇视觉中的应用[J].舰船科学技术,2015,37(9):176?180.

DONG Feng, WANG Jizhou. Application of 3D virtual ocean image simulation in naval ships vision [J]. Ship science and technology, 2015, 37(9): 176?180.

[9] 肖建良,张程,李阳.基于Unity3D的室内漫游系统[J].电子设计工程,2016,24(19):54?56.

XIAO Jianliang, ZHANG Cheng, LI Yang. The indoor roaming system based on Unity3D [J]. Electronic design engineering, 2016, 24(19): 54?56.

[10] 韦争亮,古耀达,黄志斌,等.双目立体视觉中特征点三维坐标重构校准研究[J].计量学报,2014,35(2):102?107.

WEI Zhengliang, GU Yaoda, HUANG Zhibin, et al. Research on calibration of three dimensional coordinate reconstruction of feature points in binocular stereo vision [J]. Journal of metrology, 2014, 35(2): 102?107.endprint

猜你喜欢
点云数据场景室内设计
陈奕含室内设计作品
室内设计作品
DOE深业上城店室内设计
低碳理念在室内设计中的应用
校园典型建筑物点云数据三维建模方法
三维激光扫描技术在异型建筑玻璃幕墙中的应用研究
一种改进的点云数据组合精简算法
场景传播视阈下的网络直播探析
汉语语篇英译中词汇场理论和框架理论的应用研究
场景:大数据挖掘的新标准