一种融合VR和AR的虚拟现实展示系统及其实现方法与流程

文档序号:12905741阅读:652来源:国知局
一种融合VR和AR的虚拟现实展示系统及其实现方法与流程

本发明涉及虚拟现实领域,具体的说,是涉及一种融合vr和ar的虚拟现实展示系统及其实现方法。



背景技术:

虚拟现实技术的出现成为人机交互一个重要分支,虚拟现实技术作为新一代的人机交互技术,依靠实时计算空间三维信息。虚拟现实技术(vr)主要包括模拟环境、感知、自然技能和传感设备等方面:模拟环境是由计算机生成的、实时动态的三维立体逼真图像;感知是指理想的vr应该具有一切人所具有的感知,除计算机图形技术所生成的视觉感知外,还有听觉、触觉、力觉、运动等感知,甚至还包括嗅觉和味觉等,也称为多感知;自然技能是指人的头部转动,眼睛、手势、或其他人体行为动作,由计算机来处理与参与者的动作相适应的数据,并对用户的输入做出实时响应,并分别反馈到用户的五官;传感设备是指三维交互设备,常用的有立体头盔、数据手套、三维鼠标、数据衣等穿戴于用户身上的装置和设置于现实环境中的传感装置,如摄像机、地板压力传感器等。

目前虚拟现实往往提供的是一种沉浸式交互体验,让用户在以假乱真的虚拟世界中获得高质量的感知体验,而作为站在用户身旁的旁观者来讲,他们往往只能看着用户自娱自乐,不能同用户一起分享这种沉浸式的体验,从而给用户与旁观者之间的实时交流沟通带来一定程度上的阻碍,进而对虚拟现实走进教室、会议室以及其他多人交流场景带来无形的沟壑。

上述缺陷,值得解决。



技术实现要素:

为了克服现有的技术的不足,本发明提供一种融合vr和ar的虚拟现实展示系统及其实现方法。

本发明技术方案如下所述:

一种融合vr和ar的虚拟现实展示系统,其特征在于,包括立体交互显示与分享设备和控制系统;

所述立体交互显示与分享设备中,佩戴有立体显示眼镜的用户通过交互笔来与立体交互显示设备内的虚拟世界进行交互,摄像头获取用户的交互姿态,并在普通显示设备中以增强现实的方式将虚拟世界叠加在现实世界中呈现出来;

所述控制系统包括服务器和客户端,所述服务器和所述客户端通过通讯层进行通讯,所述服务端负责管理摄像头、计算摄像头与屏幕相对空间位姿关系数据、接收并解压客户端传送数据后呈现;所述客户端负责提取服务端所需的数据,并将这些数据融合成视频流数据,压缩后传给服务端。

根据上述方案的本发明,其特征在于,所述立体交互显示设备包括立体显示器、工业相机模组、主动式或被动式立体眼镜、交互笔以及计算机系统,所述工业相机模组获得视场范围内的两幅或者两幅以上的图像信号,并把该图像信号输入到所述计算机系统,所述计算机系统区分、跟踪用户佩戴的所述主动式或被动式立体眼镜和所述交互笔上具有高反射涂层的标记点或主动发光元件,分别输出用户视线与所述立体显示器的焦点和所述交互笔的空间位置和方向。

根据上述方案的本发明,其特征在于,使用tcp协议连接客户端和服务端,将客户端压缩加密后的数据流传给服务端。

根据上述方案的本发明,其特征在于,所述客户端包括摄像头管理模块、图像融合模块以及数据压缩与传送模块,所述摄像头管理模块摄取用户的使用数据,所述图像融合模块将图像数据进行融合并传送给所述数据压缩与传送模块,所述数据压缩与传送模块对图像数据进行压缩收传给所述服务器。

根据上述方案的本发明,其特征在于,所述服务端包括位姿估算模块、数据解压与显示模块以及服务端摄像头管理模块,所述服务端摄像头管理模块对所述客户端的摄像头进行管理,所述位姿估算模块计算摄像头与屏幕相对空间位姿关系数据,所述数据解压与显示模块接收并解压客户端传送数据后呈现。

另一方面,一种融合vr和ar的虚拟现实展示系统的实现方法,其特征在于,服务端进行初始化,检测系统中是否存在摄像头以及该摄像头能否正常运行;初始化完成以后,服务端启动摄像头,调整摄像头,进行位姿计算,得到并保存摄像头与vr交互设备屏幕的空间位姿相对关系;服务端和客户端通过socket协议建立连接,将摄像头与屏幕的空间位姿关系数据传给客户端;客户端开启摄像头,将其获取的图像与虚拟相机里的图像进行融合获得稳定的图像流,客户端压缩图像流并将数据通过tcp传输给服务端,服务端接收数据后解码加载显示。

根据上述方案的本发明,其特征在于,进行位姿计算的过程中,计算出在世界坐标系下,摄像头坐标系到屏幕坐标系的变换关系,具体通过旋转矩阵r和平移矩阵t描述,其中,在三维场景中,当一个点p(x,y,z)平移到另一个点p’(x’,y’,z’):

[x’,y’,z’]=[x,y,z]*t,

当一个点p(x,y,z)旋转到另一个点p’(x’,y’,z’):

[x’,y’,z’]=[x,y,z]*r,

(1)首先提取图像中的特征点,系统从图像中提取布满显示器屏幕的角点特征图;

(2)取出特征点后,得出相对应的匹配关系;

(3)根据对极几何,每一组对应点构建一个坐标转换方程,多组对应点可构造方程组ax=0,其中,a是不同组对应点坐标构成的矩阵,x是基本矩阵九个元素重新排列形成的列向量,求解方程组ax=0得到旋转矩阵r和平移矩阵t。

进一步的,(1)在求解旋转矩阵r和平移矩阵t的过程中,对ax=0进行最小二乘估计,矩阵的最小二乘估计采用计算ata的特征值和特征向量,取最小特征值对应的特征向量作为x的解,具体采用雅各比法对特征值和特征向量进行计算:

设pl和pr是物理坐标值,对应的像素坐标值为ql和qr,摄像头内参矩阵为m,则有:

p=m-1q

从而:

(pr)tepl=0àqrt(mr-1)teml-1ql=0

得到:

f=(mr-1)teml-1

由上式可以得出本质矩阵e;

(2)根据svd公式描述:

分解拆成r个列向量与行向量的乘积,其中:

利用svd分解,通过本质矩阵e求得旋转矩阵r和平移矩阵t。

根据上述方案的本发明,其特征在于,图像进行融合的过程中,客户端在获得服务端传来的位置数据后,在虚拟世界里放置建立代表人眼的虚拟相机和代表屏幕的虚拟显示面,已知虚拟显示面的位置为t,角度为r,则虚拟相机的位置p’为:

p’=t*t,

虚拟相机的角度r’为:

r’=r*r,

客户端打开摄像头设备,将视频流映射到虚拟显示面上,代表操作笔的虚拟操作笔与虚拟物体之间进行互动,虚拟相机通过拍摄将虚拟显示面、虚拟操作笔以及虚拟物体融合一起得到实时的图像流。

根据上述方案的本发明,其特征在于,客户端压缩图像流的过程中:系统在获取实时的图像流以后,将流中的每一帧图像转换成byte型数据,对这些数据进行rle转换,压缩后得到新的数据组,对该组数据进行md5转换,对该组数据进行压缩和加密处理。

根据上述方案的本发明,其特征在于,服务端接收数据后解码加载显示的过程中:服务端在收到客户端传来的数据后,首先进行md5解密,然后根据rle压缩时遵循的规则进行反编码复原数据,服务端将最终的数据转换成图片格式,通过连续不断的图片序列帧,得到视频流,最终显示在界面上。

根据上述方案的本发明,其有益效果在于,本发明针对现有的虚拟现实技术不易展示以及分享程度低等缺点,融合vr和ar技术,使用vr交互技术为使用者带来沉浸式的用户体验,将逼真的虚拟世界呈现在用户眼前,让用户在探索的过程中获取优质的感知体验;同时,本发明将沉浸在用户眼前的虚拟世界以ar的方式分享给旁观者,并且实时保证双方虚拟世界状态(位置以及姿态信息等)的同步,从而为双方的交流沟通提供了一个高质量的虚拟现实平台。

附图说明

图1为本发明实施例一中立体交互显示与分享设备的结构示意图。

图2为本发明实施例二中立体交互显示与分享设备的结构示意图。

图3为本发明立体交互显示设备的结构示意图。

图4为本发明实现的系统结构图。

图5为本发明实现的流程图。

图6为本发明姿态估算坐标系关系的示意图。

图7为本发明姿态估算的流程图。

图8为本发明角点特征的示意图。

图9为本发明图像融合的原理图。

图10为本发明数据压缩的流程图。

在图中,1、立体显示交互设备;2、交互笔;3、摄像头;4、普通显示设备;11、立体显示器;12、工业相机模组;13、编码模块;14、虚拟射线;15、主动式或被动式立体眼镜;16、用户交互笔;21、屏幕坐标系;22、相机坐标系;23、世界坐标系;31、虚拟相机;32、虚拟操作笔;33、虚拟相机;34、虚拟物体;35、虚拟显示面;40、角特征点。

具体实施方式

下面结合附图以及实施方式对本发明进行进一步的描述:

如图1-2所示,一种融合vr和ar的虚拟现实展示系统,包括立体交互显示与分享设备和控制系统。

立体交互显示与分享设备包括立体交互显示设备1、带有支架的摄像头3、普通显示设备4(显示器或者投影显示装置)。立体交互显示与分享设备中,佩戴有立体显示眼镜的用户通过交互笔2来与立体交互显示设备1内的虚拟世界进行交互。通过立体显示眼镜和立体交互显示设备1可以让虚拟世界从屏幕里“走出来”,让用户有一种身临其境的感觉,通过交互笔2,用户可以与虚拟世界中的物体进行沟通和互动。

带有支架的摄像头3获取用户的交互姿态,并在普通显示设备4中以增强现实的方式将虚拟世界叠加在现实世界中呈现出来。

如图3所示,立体交互显示设备1包括立体显示器11、加载窄带滤光片的具有同步触发功能的两个或两个以上的工业相机模组12、编码模块13、有可识别标记点的主动式或被动式立体眼镜15、具有陀螺仪和(或)加速度计和(或)磁力计以及可识别标记点的用户交互笔16以及计算机系统,工业相机模组获得视场范围内的两幅或者两幅以上的图像信号,并把该图像信号输入到计算机系统,计算机系统区分、跟踪用户佩戴的主动式或被动式立体眼镜和用户交互笔16上具有高反射涂层的标记点或主动发光元件,用户交互笔16发射虚拟射线14分别输出用户视线与立体显示器的焦点和交互笔的空间位置和方向。

如图4所示,控制系统包括服务器和客户端,服务器和客户端通过通讯层进行通讯,使用tcp协议连接客户端和服务端,将客户端压缩加密后的数据流传给服务端。服务端负责管理摄像头、计算摄像头与屏幕相对空间位姿关系数据、接收并解压客户端传送数据后呈现;客户端负责提取服务端所需的数据,并将这些数据融合成视频流数据,压缩后传给服务端。具体的:

客户端包括摄像头管理模块、图像融合模块以及数据压缩与传送模块,摄像头管理模块摄取用户的使用数据,图像融合模块将图像数据进行融合并传送给数据压缩与传送模块,数据压缩与传送模块对图像数据进行压缩收传给服务器。

服务端包括位姿估算模块、数据解压与显示模块以及服务端摄像头管理模块,服务端摄像头管理模块对客户端的摄像头进行管理,位姿估算模块计算摄像头与屏幕相对空间位姿关系数据,数据解压与显示模块接收并解压客户端传送数据后呈现。

如图5所示,一种融合vr和ar的虚拟现实展示系统的实现方法,服务端进行初始化,检测系统中是否存在摄像头以及该摄像头能否正常运行;初始化完成以后,服务端启动摄像头,调整摄像头,进行位姿计算,得到并保存摄像头与vr交互设备屏幕的空间位姿相对关系;服务端和客户端通过socket协议建立连接,将摄像头与屏幕的空间位姿关系数据传给客户端;客户端开启摄像头,将其获取的图像与虚拟相机里的图像进行融合获得稳定的图像流,客户端压缩图像流并将数据通过tcp传输给服务端,服务端接收数据后解码加载显示。

启动摄像头时将带有支架的高清摄像头调整并固定到一个合适的位置,一般以高清摄像头与屏幕夹角在20°到60°之间最佳。分享设备可以放在任何一个合适的位置,这样搭建完成稳定的硬件环境。服务端启用摄像头管理模块来初始化验证系统摄像头硬件时候正常,如果正常,打开摄像头进行姿态标定,保存标定数据并传输给客户端。

如图6所示,摄像头3与屏幕之间存在三个坐标系:屏幕坐标系21、相机坐标系22、世界坐标系23。屏幕坐标系21以屏幕左上点为原点。屏幕坐标系21和相机坐标系22都为右手坐标系。基于视觉的姿态估算方法的目的是计算出在世界坐标系23下,相机坐标系22到屏幕坐标系21的变换关系,这种变换关系可以通过一个旋转矩阵r和一个平移矩阵t描述。其中,在三维场景中,当一个点p(x,y,z)平移到另一个点p’(x’,y’,z’):

[x’,y’,z’]=[x,y,z]*t,

当一个点p(x,y,z)旋转到另一个点p’(x’,y’,z’):

[x’,y’,z’]=[x,y,z]*r,

因此,姿态估算方法的目的是最终计算出旋转矩阵r和平移矩阵t。

如图7所示,估算方法流程包括:

(1)如图8所示,首先提取图像中的特征点,系统从图像中提取布满显示器屏幕的角特征点40的图;

(2)取出特征点后,得出相对应的匹配关系;

(3)根据对极几何,形如xt*f*x’=0,其中x,x’分别是分属于两张照片的对应点,以列向量形式表示,而f是基本矩阵。

每一组对应点构建一个坐标转换方程,多组对应点可构造方程组ax=0,其中,a是不同组对应点坐标构成的矩阵,x是基本矩阵九个元素重新排列形成的列向量,求解方程组ax=0得到旋转矩阵r和平移矩阵t。

估算基本矩阵的方法是(1)在求解旋转矩阵r和平移矩阵t的过程中,对ax=0进行最小二乘估计,矩阵的最小二乘估计采用计算ata的特征值和特征向量,取最小特征值对应的特征向量作为x的解,具体采用雅各比(jacobi)法对特征值和特征向量进行计算:

设pl和pr是物理坐标值,对应的像素坐标值为ql和qr,摄像头内参矩阵为m,则有:

p=m-1q

从而:

(pr)tepl=0àqrt(mr-1)teml-1ql=0

得到:

f=(mr-1)teml-1

由上式可以得出本质矩阵e;

(2)根据svd公式描述:

分解拆成r个列向量与行向量的乘积,其中:

利用svd分解,通过本质矩阵e求得旋转矩阵r和平移矩阵t。

图像进行融合的过程中,客户端在获得服务端传来的位置数据后,在虚拟世界里放置建立代表人眼的虚拟相机31、33和代表屏幕的虚拟显示面35,已知虚拟显示面35的位置为t,角度为r,则虚拟相机31的位置p’为:

p’=t*t,

虚拟相机31、33的角度r’为:

r’=r*r,

如图9所示,客户端打开摄像头设备,将视频流映射到虚拟显示面35上,代表操作笔的虚拟操作笔32与虚拟物体34之间进行互动,虚拟相机33通过拍摄将虚拟显示面35、虚拟操作笔32以及虚拟物体34融合一起得到实时的图像流。

操作者通过客户端在体验时会通过交互笔对虚拟物体进行平移旋转操作,通过虚拟相机将可以获取实时的图像序列帧,对这些序列帧进行数据转换、压缩、加密后,传送给服务端。

客户端压缩图像流的过程中:系统在获取实时的图像流以后,将流中的每一帧图像转换成byte型数据,首先对这些数据进行rle(runlengthencoding)转换,所谓rle转换即对数据流进行编码,如数据:

12,65,14,52,53,93,93,93,93,93,93,32。

其中出现了六次符号“93”,这里可以用3个字节来代替:一个标记字节“0”、重复的次数“6”和符号本身“93”,转换后的数据流为:

12,65,14,52,53,0,6,93,32。

对这些数据进行rle转换,压缩后得到新的数据组,对该组数据进行md5(message-digestalgorithm5)转换,对该组数据进行压缩和加密处理。

如图10所示,服务端接收数据后解码加载显示的过程中:服务端在收到客户端传来的数据后,首先进行md5解密,然后根据rle压缩时遵循的规则进行反编码复原数据,服务端将最终的数据转换成图片格式,通过连续不断的图片序列帧,得到视频流,最终显示在界面上。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

上面结合附图对本发明专利进行了示例性的描述,显然本发明专利的实现并不受上述方式的限制,只要采用了本发明专利的方法构思和技术方案进行的各种改进,或未经改进将本发明专利的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内。

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