三维大场景的移动过程中的场景渲染过渡方法与流程

文档序号:18429836发布日期:2019-08-13 21:36阅读:352来源:国知局
三维大场景的移动过程中的场景渲染过渡方法与流程

本发明涉及三维成像建模技术领域,具体涉及一种三维大场景的移动过程中的场景渲染过渡方法。



背景技术:

现有技术中,场景渲染过渡技术就是普通的网页二维渲染技术(CSS+JS),一般不使用三维,如百度街景和谷歌街景就是使用的网页二维渲染技术进行场景渲染过渡。在实际操作中用三维实现过渡有一定的技术难度,常规的过渡方式呈现效果不够真实和立体。在没有三维模型的情况下,从A到B的过渡也可以实现,就是从A对应的像素过渡到B对应的像素,只是效果不太理想。



技术实现要素:

为了解决上述问题,提供一种在移动过程中呈现真实、立体的投影效果的过渡方法,本发明设计了一种三维大场景的移动过程中的场景渲染过渡方法。

本发明的具体技术方案为:一种三维大场景的移动过程中的场景渲染过渡方法,包括如下步骤:

a.通过球幕相机对各定位点进行实时实地图像采集,得到各定位点的二维全景图片,为全景贴图;

b.对二维全景图片的特征点进行识别与匹配,建立结构化的三维模型,对三维模型进行贴图,得到三维大场景;

c.在三维大场景内移动时,确立起点位置定位点A和终点位置定位点B,投影坐标自定位点A沿三维模型的空间轴向移动至该定位点B,同时将定位点A处的全景贴图和定位点B处的全景贴图上每一个点对应的像素点的颜色进行混合、渐变过渡;

d.定位点A处的全景贴图消失,定位点B处的全景贴图显示。

作为优选地,步骤b中,三维模型内对应定位点设有鱼眼球体,全景贴图通过鱼眼球体进行鱼眼效果投影显示。

作为优选地,步骤c中像素点的颜色进行混合、渐变过渡过程为:

c1:过渡开始时,三维模型内定位点A处鱼眼球体消失,外层模型或天空盒出现;

c2:定位点A处的全景贴图像素点颜色过渡到外层模型或天空盒对应的像素点颜色,再从外层模型或天空盒对应的像素点颜色过渡到定位点B处的图像素点颜色;

c3:过渡结束时鱼眼球体出现,外层模型与天空盒消失。

更进一步地,步骤c中投影坐标移动速率变化为慢-快-慢。

有益技术效果:将定位点A处的全景贴图和定位点B处的全景贴图上每一个点对应的像素点的颜色进行混合、渐变过渡,过渡后对定位点B处的全景贴图进行显示,能够更为流畅的对移动过程中的场景渲染进行过渡,保证移动过程的流畅性,提高立体效果,保证映射效果。

附图说明

图1为投影坐标移动速率变化图;

图2为实施例的场景渲染过渡示意图一;

图3为实施例的场景渲染过渡示意图二;

图4为本发明的三维建模过程的示意图一;

图5为本发明的三维建模过程的示意图二;

图6为本发明的三维建模过程的示意图三;

图7为本发明的三维建模过程的示意图四;

图8为本发明的三维建模过程的示意图五。

具体实施方式

以下将结合实施例对本发明作进一步的描述,需要说明的是,以下实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。

一种三维大场景的移动过程中的场景渲染过渡方法,包括如下步骤:

a.通过球幕相机对各定位点进行实时实地图像采集,得到各定位点的二维全景图片,为全景贴图;

b.对二维全景图片的特征点进行识别与匹配,建立结构化的三维模型,对三维模型进行贴图,得到三维大场景;

c.在三维大场景内移动时,确立起点位置定位点A和终点位置定位点B,投影坐标自定位点A沿三维模型的空间轴向移动至该定位点B,同时将定位点A处的全景贴图和定位点B处的全景贴图上每一个点对应的像素点的颜色进行混合、渐变过渡;

d.定位点A处的全景贴图消失,定位点B处的全景贴图显示。

在三维建模时,预设定位点,通过定位点对该定位点处的全景贴图进行显示,通过改变定位点进行投影坐标(观察点)变换,实现全景、多角度、多方位投影显示,保证三维模型内的投影真实性。

需要说明的是:在计算模型某处颜色时,需要获取投影中心点和该处的位置信息,通过它们组成的向量能够得到全景贴图中对应的位置,从而获取全景贴图的颜色信息,所述投影坐标就是投影中心点。

上述全景贴图指的是贴近真实的二维图片,步骤b中,三维模型内对应定位点设有鱼眼球体,全景贴图通过鱼眼球体进行鱼眼效果投影显示。通过球幕相机获取全景贴图,三维建模后将全景贴图利用鱼眼球体映射出来,能够360度显示实景效果。

步骤c中像素点的颜色进行混合、渐变过渡过程为:

c1:过渡开始时,三维模型内定位点A处鱼眼球体消失,外层模型或天空盒出现;

c2:定位点A处的全景贴图像素点颜色过渡到外层模型或天空盒对应的像素点颜色,再从外层模型或天空盒对应的像素点颜色过渡到定位点B处的图像素点颜色;

c3:过渡结束时鱼眼球体出现,外层模型与天空盒消失。

通过先把定位点A处的全景贴图像素点颜色过渡到外层模型或天空盒对应的像素点颜色,再从外层模型或天空盒对应的像素点颜色过渡到定位点B处的图像素点颜色;能够更为流畅的对移动过程中的场景渲染进行过渡,保证移动过程的流畅性,提高立体效果,保证映射效果。在进行c步骤之前,需要先自定义着色器,其作用是将定位点A处的全景贴图和定位点A处的全景贴图上每一个点对应的像素点的颜色进行过渡。

步骤c中投影坐标移动速率变化为慢-快-慢,时间点和速度可以设置。根据像素点的颜色进行混合、渐变过渡速率进行投影坐标位移速率变化,慢-快-慢的投影坐标速率变化可以提高成像效果,同时保证渲染过程中的流畅性、真实性,给用户更自然的场景过渡感受。

本发明的步骤a、b的步骤,是为了通过球幕相机建立三维大场景,可细分为下列步骤:

S1球幕相机进行实时定位,得到至少一组照片或者视频流;

S2基于球幕相机所得出的至少一组照片或者视频流的特征点进行识别与匹配;

S3基于球幕相机三维数字化建模的闭环进行自动检测;

S4检测后,进行数字化建模;

S5结构化模型贴图。

需要说明的是,在所述一组照片或者视频流中,对单张照片用SIFT描述符进行特征点(图片上的像素点)提取同时分析每一个所述特征点的邻域,根据邻域控制所述特征点。

需要说明的是,所述闭环检测为:用当前算出所述球幕相机位置与过去所述球幕相机位置进行比较,检测有无距离相近;若检测到两者距离在一定阈值范围内,就认为所述球幕相机又回到原来走过的地方,此时启动闭环检测。

需要进一步说明的是,本发明为基于空间信息而非时间序列的闭环检测。

在步骤S1中,对球幕相机进行实时定位,得到的位置信息即为步骤a中的定位点,全景贴图的定位点就是采集二维全景图片的定位点,采集的时候可以直接保存也可以直接通过VSLAM算法算出来。经过VSLAM算法定位后的位置信息,即为对球幕相机进行定位得到的球幕相机位置信息。需要进一步说明的是,通过VSLAM算法对球幕相机所拍摄的二维全景照片提取特征点,对这些特征点进行三角化的处理,恢复出移动终端的三维空间位置(即把二维坐标转换成三维坐标)。

具体的说,VSLAM算法的定位流程:

step1:传感器信息读取,在视觉SLAM中主要为相机图像信息的读取和预处理的操作过程,在移动终端的单目SLAM中进行的工作主要为移动终端采集的二维全景照片的操作过程;

step2:视觉里程计,又称前端,其任务是估算相邻图像间相机的运动轨迹,以及局部地图的大概轮廓和形貌,在此实施例中,移动终端的球幕相机镜头采集二维全景照片,对每一张二维全景照片提取特征点;通过多张二维全景照片之间多视觉集合原理计算出相机位置。;

step 3:后端优化,又称后端,其任务是接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对之前计算出的位置进行优化,用最小二乘法的公式优化出一整条轨迹和地图。

step4:回环检测:已经到过的场景会有特征保存,新提取的特征与之前保存的特征进行匹配,即一个相似性检测过程。对于曾经到过的场景,两者的相似值会很高,即确定曾经来过此处,并利用新的特征点对曾经的场景位置进行纠正。

step 5:建图,其任务是根据后端优化后的估计的轨迹,建立与任务要求对应的地图。

单目的VSLAM还可进行多视觉集合管理,即可基于两帧图像之间进行三角化处理,也可基于多帧视频流进行三角化处理,将上述两者结合之后就会得到一致的轨迹,进一步对轨迹进行优化处理,数据源是球幕相机拍摄得到的二维全景照片,通过VSLAM的算法得出在大场景中行走的轨迹。

需要进一步说明的是,所述步骤S4中可以细分为:

S4.1初步计算出所述球幕相机位置得到部分有噪音点稀疏点云,用距离和重投影的方式进行滤波滤掉噪音点;

S4.2对稀疏点云做标记即整体点云中,并进行对应的标记;

S4.3以每个稀疏点云为起点,以对应的球幕相机作一条虚拟直线,多个所述虚拟直线经过的空间交织在一起,形成一个可视空间;

S4.4将被射线包围的空间抠出来;

S4.5基于图论最短路径的方式做闭合空间。

需要说明的是,所述稀疏点云为每个所述球幕相机可看见过滤之后所获得的。其中步骤S4.3也可理解为以每个稀疏点云为起点,以对应的球幕相机作一条虚拟直线,多个所述虚拟直线经过的空间交织在一起,形成一个可视空间;

需要进一步说明的是,过滤指的是:在确认了二维图片中某一点对应的三维坐标位置后,将这个三维坐标点重新投影到原来的球幕照片上,再次确认是否仍是那个点。其原因是,二维图片的点与其在三维世界的点的位置是一一对应关系,所以在确认了二维图片中某一点的三维坐标点后,可以将这个三维坐标点重新投射回去验证二维坐标点是否仍在原来的位置,以此来决定该像素点是否为噪点,是否需要过滤。需要说明的是,在照片或视频流中确定一张来自于某个所述球幕相机的最优图片。

需要说明的是,即当多部所述球幕相机都看到某一目标并捕捉到画面,选取使用其中最优的一张进行贴图。

需要说明的是,所述最优一张图为某一所述球幕相机能够得到目标的像素最多,则所述球幕相机为最优。

需要进一步说明的是,利用公式计算出对应的相机及其拍到的图形颜色:

V1=normalize(CameraMatrixi*V0)

式中:V0为任何一个需要采样的空间点坐标(x,y,z,1),对于一个模型需要光栅化所有点;V1为V0变换到相机空间的新位置坐标,通过向量归一化变换到单位球面上;Tx和Ty为V0所对应的纹理坐标(x,y),选用坐标系为OPENGL纹理坐标系;aspecti:采样用的第i个全景图片的长宽比;CameraMatrixi:采样用的第i个全景图片的变换矩阵,将相机位置变换到原点,并重置相机面朝方向。

对建好后的三维模型进行贴图,需要说明的是,即当多部所述球幕相机都看到某一目标并捕捉到画面,选取使用其中最优的一张二维全景图片进行贴图。需要说明的是,所述最优一张二维全景图片为某一所述球幕相机能够得到目标的像素最多,则所述球幕相机为最优。

在这个步骤中,得到二维全景图片的颜色信息后,挑选最优一张二维全景图片自动对三维模型进行贴图,将在空间某一位置的球幕相机拍摄到的二维全景照片贴到三维模型对应的位置上,类似于从眼睛看到一堵墙是白色,就把白色放到模型对应的墙上。这里的眼睛相当于球幕相机镜头,球幕相机在某一位置将空间中的颜色信息拍摄保存下来,在建模的时候,通过反投影将二维全景照片中的颜色信息再映射回去,对三维模型建好后的三维模型进行贴图。

实施例

通过附图进一步对本发明的三维建模进行描述,本发明主要的实施方法为:

S1球幕相机进行实时定位,得到至少一组照片或者视频流;

S2基于球幕相机所得出的至少一组照片或者视频流的特征点进行识别与匹配;

S3基于球幕相机三维数字化建模的闭环进行自动检测;

S4检测后,进行数字化建模;

S5结构化模型贴图。

基于上述,需要指出的是,所述闭环检测是一个动态过程,在拍摄球幕相片的过程中是持续进行的。

进一步的,如图4所示,是对一张球幕照片(样图)自动提取特征点,图中主要通过图片上的那些点表现;

更进一步的,如图5所示,是对提取后的特征点进行匹配;需要说明的是,在实际操作中可对拍摄某一场景的所有照片的特征点进行匹配;

更进一步的,如图6所示,是基于图5进一步进行处理,即可得到二维图片中各特征点的三维空间位置和相机位置,形成稀疏点(图片中面积较小的点就是稀疏点云,面积较大的是相机位置);

更进一步的,如图7所示,通过图6处理后得到点云,并进行结构化建模;

更进一步的,如图8所示,建模后,基于图7的空间结构进行自动化贴图,形成与现实世界吻合的虚拟空间模型。

在进行上述步骤后,本发明已建立好三维大场景,如图2和图3所示,图2中的场景当前视角为A处,图中的多个圆圈1可为B处,在此实施例中,以图中的地面圆圈11作为B处视角。在图2中,相机正在三维大场景内移动,从起点位置定位点A到终点位置定位点B,投影坐标自定位点A沿三维模型的空间轴向移动至该定位点B,同时将定位点A处的全景贴图和定位点B处的全景贴图上每一个点对应的像素点的颜色进行混合、渐变过渡,在图2到图3的过程中,可以看到视角A处看到的场景(墙面、地板等)正在消失,也就是定位点A处的全景贴图正在消失,视角B处看到的场景(服装、楼梯扶手等)正在出现,也就是定位点B处的全景贴图正在显示。

对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。

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