一种基于增强现实的在虚拟世界增加超链接的方法与流程

文档序号:16206231发布日期:2018-12-08 07:08阅读:338来源:国知局
一种基于增强现实的在虚拟世界增加超链接的方法与流程

本发明属于虚拟增强现实技术领域,涉及一种增加超链接的方法,尤其涉及一种基于增强现实的在虚拟世界增加超链接的方法。

背景技术

增强现实(augmentedreality,简称ar),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。

目前,ar技术基本上都是采用映射的方法实现,如现实空间到虚拟空间的映射或者虚拟空间到现实空间的映射,但是由于计算机硬件本身的原因,采用映射方法实现虚拟增强现实一般来说映射结构一致性误差较大,且稳定性不高,无法实现任意虚拟空间到现实空间的映射。究其原因,是空间重定位技术使用的是基于词袋模型的会还检测算法,该算法产生的数据包特别大,加载时间长,并且设备在检测过程中,必须完全精准地重复之前走过的路径才能进行识别因此,解决现有映射技术所造成的误差大、稳定性差的问题成为了ar技术发展的难点。

而slam和sfm两种算法的融合可以实现三维空间的扫描识别。基于词袋模型的回环检测产生的数据包特别大,加载时间长,并且设备在检测过程中,必须完全精准地重复之前走过的路径才能进行识别,而本专利技术则不受之前走过路径的限制,只要打开设备立马就可以进行任意空间的扫描识别。



技术实现要素:

为了解决背景技术中所提到的增强现实技术中误差大、稳定性差的问题,本发明提出了一种在虚拟世界增加超接连的方法。本发明通过增加一种超链接并在超链接中加入模型、图片、视频、音频等各种可交互的展示内容,然后通过手机摄像头或者ar头显等各种交互设备呈现,从而达到虚拟现实的效果,该方法利用slam和sfm两种算法的相互融合可以实现三维空间的扫描识别,使用者只要打开设备立马就可以进行任意空间的扫描识别,既提高了工作效率,也增加了系统的稳定性。

本发明的技术解决方案是:一种基于增强现实的在虚拟世界增加超链接的方法,其特殊之处在于:包括以下步骤:

s1用手机或者球幕相机拍照进行空间数据采集;上述空间数据包括位置信息、旋转信息和图片信息;上述位置信息为空间中x、y、z方向上的距离;上述旋转信息为空间中的x、y、z方向的角度;上述图片信息为组成图片的每一个像数点;

s2基于步骤s1所采集到的图片信息和位置信息进行三维建模并得到虚拟空间;

s3向虚拟空间添加超链接;上述超链接为多媒体交互信息,包括图片、音频、视频;

s4进行虚拟空间与现实空间的相互映射;上述映射包括空间的点云信息、位置信息、旋转信息、比例信息;

s5对实际场景进行扫描并匹配当前位置;

s6通过用户客户端对超链接内容进行呈现。

上述步骤s3包括以下步骤:

s3.1确定为添加位置;

用户通过用户客户端点击虚拟空间中的一个点,获取当前点在虚拟空间中的位置,并确定当前点的位置为超链接添加位置;

s3.2通过云端服务器将多媒体交互信息添加至超链接添加位置。

上述步骤s4包括以下步骤:

s4.1现实空间到虚拟空间的映射;

s4.2虚拟空间到现实空间的映射。

上述步骤s4.1包括以下步骤:

s4.1.1通过slam算法获取设备在现实空间中的相对位置;

s4.1.2获取设备在现实空间中相对位置的空间信息;上述空间信息包括平移数据、旋转数据及点云数据;

s4.1.3使用sfm三维增量重建算法构建相对位置所在的虚拟的空间;

s4.1.4重复步骤s4.1.3,从而实现现实空间到虚拟空间的映射;上述步骤s4.1.4每一次增量重建迭代均为一个映射误差的自我纠正和虚拟空间扩展的过程;

上述现实空间与虚拟空间的点云信息,位置信息,旋转信息,比例信息具有一致性;

上述步骤s4.2包括以下步骤:

s4.2.1获取设备在现实空间中某个相对位置的空间信息,上述空间信息包括平移数据、旋转数据及点云数据;

s4.2.2通过步骤s4.2.1获取到的空间信息,通过sfm三维增量重建算法进行本地重定位,并获得当前现实空间某个相对位置在虚拟空间中位置信息和旋转信息;

s4.2.3通过步骤s4.2.2获取到现实空间中某个点在虚拟空间的信息,使用slam算法来恢复当前设备在现实空间中的相对位置;

s4.2.4重复步骤s4.2.3,从而实现虚拟空间到的现实空间映射;

上述现实空间与虚拟空间的点云信息,位置信息,旋转信息,比例信息具有一致性。

上述步骤s6包括以下步骤:

s6.1打开客户端;上述客户端包括手机app、浏览器;

s6.2在客户端中输入场景信息;上述场景信息包括当前场景识别信息、其他场景识别信息;

s6.3通过云端服务器下载当前场景的超链接内容文件;

s6.4打开客户端扫描功能,在空间的任意位置进行扫描识别,并通过slam算法和sfm算法进行匹配,然后进行空间映射,多媒体交互信息根据在虚拟空间中的位置和旋转信息加载到真实空间中从而完成超链接内容呈现。

本发明的有益效果是:1.传统方式是进行小型图片扫描识别,受到与识别目标位置、距离、角度和覆盖面积的限制,该项技术则可以实现整体三维空间地无限制扫描。具体地说就是,用户既可以用来识别平面图形,还可以识别立体图形,既可以大面积识别,也可以小区域识别现实空间。

2.目前的ar设备除了局限于必须扫描特定的位置这点之外,还无法在虚拟空间的指定位置远程添加超链接,只能在现场手动添加或扫描添加超链接内容到指定位置。本发明提供的技术方案则可以远程添加、修改和维护各种可交互的超链接内容。

附图说明

图1为本发明方法流程图;

图2为实施例的示意图一;

图3为实施例的示意图二。

具体实施方式

为了使本发明技术方案更加清楚明白,以下结合附图1及实施例,对本发明进行进一步详细说明,以便本领域的技术人员能够更好的理解并实施,并不用于限定本发明。

一种基于增强现实的在虚拟世界增加超链接的方法,包括以下步骤:

s1用手机或者球幕相机拍照进行空间数据采集;上述空间数据包括位置信息、旋转信息和图片信息;位置信息为空间中x、y、z方向上的距离;旋转信息为空间中的x、y、z方向的角度;图片信息为组成图片的每一个像数点;

s2基于步骤s1所采集到的图片信息和位置信息进行三维建模并得到虚拟空间;

s3向虚拟空间添加超链接;上述超链接为多媒体交互信息,包括图片、音频、视频;

s4进行虚拟空间与现实空间的相互映射;上述映射包括空间的点云信息、位置信息、旋转信息、比例信息;

s5对实际场景进行扫描并匹配当前位置;

s6通过用户客户端对超链接内容进行呈现。

上述步骤s3包括以下步骤:

s3.1确定为添加位置;

用户通过用户客户端点击虚拟空间中的一个点,获取当前点在虚拟空间中的位置,并确定当前点的位置为超链接添加位置;

s3.2通过云端服务器将多媒体交互信息添加至超链接添加位置。

上述步骤s4包括以下步骤:

s4.1现实空间到虚拟空间的映射;

s4.2虚拟空间到现实空间的映射。

上述步骤s4.1包括以下步骤:

s4.1.1通过slam算法获取设备在现实空间中的相对位置;

s4.1.2获取设备在现实空间中相对位置的空间信息;上述空间信息包括平移数据、旋转数据及点云数据;

s4.1.3使用sfm三维增量重建算法构建相对位置所在的虚拟的空间;

s4.1.4重复步骤s4.1.3,从而实现现实空间到虚拟空间的映射;上述步骤s4.1.4每一次增量重建迭代均为一个映射误差的自我纠正和虚拟空间扩展的过程;

上述现实空间与虚拟空间的点云信息、位置信息、旋转信息、比例信息具有一致性;

上述步骤s4.2包括以下步骤:

s4.2.1获取设备在现实空间中某个相对位置的空间信息,上述空间信息包括平移数据、旋转数据及点云数据;

s4.2.2通过步骤s4.2.1获取到的空间信息,通过sfm三维增量重建算法进行本地重定位,本地重定位即在现有位置上定回以前的位置,并获得当前现实空间某个相对位置在虚拟空间中位置信息和旋转信息;

s4.2.3通过步骤s4.2.2获取到现实空间中某个点在虚拟空间的信息,使用slam算法来恢复当前设备在现实空间中的相对位置;

s4.2.4重复步骤s4.2.3,从而实现虚拟空间到的现实空间映射;

上述现实空间与虚拟空间的点云信息、位置信息、旋转信息、比例信息具有一致性。

上述步骤s6包括以下步骤:

s6.1打开客户端;上述客户端包括手机app、浏览器;

s6.2在客户端中输入场景信息;上述场景信息包括当前场景识别信息、其他场景识别信息;

s6.3通过云端服务器下载当前场景的超链接内容文件;

s6.4打开客户端扫描功能,在空间的任意位置进行扫描识别,并通过slam算法和sfm算法进行匹配,然后进行空间映射,多媒体交互信息根据在虚拟空间中的位置和旋转信息加载到真实空间中从而完成超链接内容呈现。

其中步骤s1和步骤s2,是通过球幕相机或手机相机镜头拍照进行三维建模并得到虚拟空间的过程,工作原理可细分为下列步骤:

s1.1:球幕相机或手机镜头进行实时定位,得到至少一组照片;

s1.2:基于球幕相机所得出的至少一组照片的特征点进行识别与匹配;

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

s1.4:检测后,进行数字化建模;

s1.5:结构化模型贴图。

在所述一组照片中,对单张照片用sift描述符进行特征点(图片上的像素点)提取同时分析每一个所述特征点的邻域,根据邻域控制所述特征点。

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

本发明为基于空间信息而非时间序列的闭环检测。

所述步骤s1.4中的步骤可以进一步为:

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

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

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

s1.4.4将被射线包围的空间抠出来;

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

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

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

即当多部所述球幕相机都看到某一目标并捕捉到画面,选取使用其中最优的一张进行贴图。所述最优一张图为某一所述球幕相机能够得到目标的像素最多,则所述球幕相机为最优。

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

v1=normalize(cameramatrixi*v0)

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

另外,本发明中多次提到的通过slam算法获取当前设备在现实空间中的相对位置,具体的说,slam算法的定位流程:

step1:传感器信息读取,在视觉slam中主要为相机图像信息的读取和预处理的操作过程,在移动终端的slam中进行的工作主要为手机相机镜头或球幕相机采集的照片的操作过程;

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

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

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

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

slam还可进行多视觉集合管理,即可基于两帧图像之间进行三角化处理,也可基于多帧视频流进行三角化处理,将上述两者结合之后就会得到一致的轨迹,进一步对轨迹进行优化处理,数据源是手机相机镜头或球幕相机镜头拍摄得到的照片,利用移动终端的计算资源,通过slam的算法得出在现实空间中行走的轨迹,在照片的基础上获取空间信息。

本发明中多次提到的通过sfm三维增量重建算法,以相机位置作为原点,建立相机坐标系,通过现有的相机标定程序或算法求出相机的内参矩阵。所述的特征点为sift特征,匹配结果往往有很多误匹配,为了排除这些错误,这里使用了一些现有算法,比如ratiotest方法和knn算法,寻找与该特征最匹配的2个特征,若第一个特征的匹配距离与第二个特征的匹配距离之比小于某一阈值,就接受该匹配,否则视为误匹配。得到匹配点后,就可以使用opencv3.0中新加入的函数findessentialmat()来求取本征矩阵了。在拍摄过程中可有多个相机位置,得到本征矩阵后,再使用分解函数对本征矩阵进行分解,得到多个相机位置对应的球幕相机之间的变换矩阵,还有每一对匹配点的坐标。三维重建就是通过这些已知信息还原匹配点在虚拟空间当中的坐标。

实施例

基于上述描述,需要进一步说明的是:

在添加超链接的过程中,用户通过点击虚拟空间中的一个点,也就是自定义点;所述自定义点为用户想添加的任意位置,获取当前点在虚拟空间中的位置,而当前点的位置也就是多媒体在虚拟空间中的位置。

添加超级链接的方法:

s1.采用移动设备,进行空间数据的扫描收集,所述空间数据包括位置信息、旋转信息、图片信息;其中位置信息是指移动设备在被拍摄的场景中的位置信息,旋转信息是指为空间中的x、y、z方向的角度,图片信息包括颜色信息。

s2.云端服务器进行数据分析处理,进行三维重建和空间映射;

s3.在虚拟空间中添加多媒体交互信息;

s4.移动设备将当前现实空间信息,上传到云端服务器进行重定位处理;

s5.移动端接收到服务端的处理结果,恢复当前的相对位置,多媒体信息呈现。

现实空间到虚拟空间的映射的方法:

步骤1:通过slam技术获取设备在现实空间中的相对位置;

步骤2:获取设备在现实空间中某个相对位置的空间信息,包括平移,旋转,点云数据;

步骤3使用sfm三维增量重建技术来构建某个相对位置在的虚拟的空间;

步骤4:重复步骤3,每一次增量重建迭代都是一个映射误差的自我纠正和虚拟空间扩展的过程;

虚拟空间到现实空间的映射的方法:

步骤1:获取设备在现实空间中某个相对位置的空间信息,包括平移,旋转,点云数据;

步骤2:使用上述获取到的信息,通过sfm进行本地重定位,来获得当前现实空间某个相对位置在虚拟空间中位置和旋转信息;

通过步骤2获取到现实空间中某个点在虚拟空间的信息,使用slam技术来恢复当前设备在现实空间中的相对位置;

结果:使得现实空间与虚拟空间具有一致性,包括空间的点云信息,位置信息,旋转信息,比例信息。

如图2和图3所示,超链接内容呈现的具体步骤:

1.打开app,或者浏览器等客户端

2.输入当前场景id,或者其他场景识别信息,或者通过gps等来获取当前场景标识信息

3.下载当前场景的超链接内容文件。

如图2所示,是用户添加超链接的编辑界面,用户可自定义超链接的位置,图2中的汽车为待添加的超链接文件,界面右侧的颜色选择即对该超链接文件进行颜色编辑。

打开客户端扫描功能,在空间的任意位置进行扫描识别,匹配成功,进行空间映射,超链接内容根据在虚拟空间中的位置和旋转信息加载到真实空间中。

如图3所示,为用户扫描空间后,对空间中的某一位置进行匹配,匹配成功后展示了匹配到的超链接内容。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

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