CN114998559A - 混合现实双目立体视觉图像实时远程渲染方法 - Google Patents
混合现实双目立体视觉图像实时远程渲染方法 Download PDFInfo
- Publication number
- CN114998559A CN114998559A CN202210759001.9A CN202210759001A CN114998559A CN 114998559 A CN114998559 A CN 114998559A CN 202210759001 A CN202210759001 A CN 202210759001A CN 114998559 A CN114998559 A CN 114998559A
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- dimensional
- camera
- rendering
- space coordinate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及混合现实技术和增强现实技术领域,具体涉及一种混合现实双目立体视觉图像实时远程渲染方法。本发明采用外部计算硬件设备替代可穿戴式混合现实(MR)或增强现实(AR)眼镜本机上的(CPU、GPU、内存、存储等)设备的运算,通过外部设备实时计算、渲染以达到如在本机上运行的同样效果,从而解决工业领域中高精度、高复杂度的三维模型数据内容的可计算、可运行的呈现和操作效果。
Description
技术领域
本发明涉及混合现实技术和增强现实技术领域,更具体地说,涉及一种混合现实双目立体视觉图像实时远程渲染方法。
背景技术
混合现实技术(MR)或增强现实技术(AR)所实现的可穿戴式混合现实(MR)或增强现实(AR)眼镜设备是通过内置操作系统或软件功能,调用设备自身CPU、GPU、内存、存储等设备,将外部三维数据信息实时渲染至双眼屏幕上,以完成视觉呈现和交互操作。MR/AR是一个快速发展的领域,广泛应用于工业、教育培训、娱乐、地产、医疗等行业,并在营销、运营、物流、服务等多个环节得到充分应用。
现有技术中,由于MR/AR自身硬件计算能力不够,无法计算运行高精度、高复杂度工业领域的三维数据模型内容。因现有MR混合现实、AR增强现实设备是移动可穿戴式设备,其计算能力与传统计算机设备相比硬件计算能力有限,无法计算、渲染或运行由现有计算机设备制作的高精度、高复杂度的三维数据模型,造成实际开发过程中需要对三维数据模型优化,不仅造成开发难度提高,而且降低原有设计三维数据模型的精度。
发明内容
现有混合现实技术(MR)或增强现实技术(AR)所实现的可穿戴式混合现实(MR)或增强现实(AR)眼镜设备其自身CPU、GPU、内存、存储等运算能力无法计算运行工业领域的高精度、高复杂度三维模型数据内容的运算和渲染。本发明通过混合现实双目立体视觉图像实时远程渲染方法,将本机计算能力外移,采用外部更强的计算硬件设备替代可穿戴式混合现实(MR)或增强现实(AR)眼镜本机上的(CPU、GPU、内存、存储等)设备的运算,通过外部设备实时计算、渲染以达到如在本机上运行的同样效果,从而解决工业领域中高精度、高复杂度的三维模型数据内容的可计算、可运行的呈现和操作效果。
为了实现上述发明目的,本发明提出一种混合现实双目立体视觉图像实时远程渲染方法,包括以下步骤:
S1,MR/AR设备端通过摄像头采集的物理世界物体深度数值,构建空间位置信息,将所述空间位置信息发送至外部计算设备,其中,所述空间位置信息包括物理空间三维网格化数据集、世界空间坐标系、头部空间坐标系、双眼摄像机透视投影矩阵;
S2,外部计算设备端通过接收来自MR/AR设备端发送的空间位置信息,构建虚拟三维世界空间坐标系,并在虚拟三维世界空间坐标系中还原MR/AR头部空间位置;外部计算设备端根据MR/AR设备端发送的双眼摄像机透视投影矩阵,创建和实时同步左、右眼对应的虚拟三维渲染摄像机,进行双眼图像三维虚拟内容的计算和渲染,并将渲染后的图像以及对应的空间数据编码后回传至MR/AR设备端;
S3,MR/AR设备端对外部计算设备端回传的数据进行解码处理,生成二维图像序列化数组数据及交互操作指令数据,将二维图像序列化数组绘制为左右双眼二维平面图像,并将该平面图像更新绘制到MR/AR设备端左右眼屏幕上,交互操作指令用于远程手势控制三维物体的操作功能。
进一步地,上述物理空间三维网格化数据集构建包括:
初始化MR/AR设备端,在初始时刻MR/AR设备的头部空间坐标系位置的初始位置为XYZ(0,0,0),其中X为水平轴,Y为垂直轴,Z为深度轴;
以XYZ(0,0,0)为原点,通过摄像头实时扫描不同角度的物理世界物体深度数值,通过深度数值点依次组成空间三角面、空间四边形面和空间三维数据网格;以原点为中心,不断向外扩延扫描构建空间三维数据网格,将新的三维空间数据网格与旧的三维空间数据网格相互链接和融合,扩展为物理空间三维网格化数据集。
进一步地,上述头部空间坐标系构建包括:根据初始原点XYZ(0,0,0)的空间位置计算相对于原点的当前头部所在空间的位置信息,构建当前头部空间坐标系矩阵:
其中,PositionX、PositionY、PositionZ分别表示为在三维坐标系中水平轴x、垂直轴y、轴纵深轴z上的位置,ScaleX、ScaleY、ScaleZ分别表示在三维坐标系中水平轴x、垂直轴y、轴纵深轴z上的缩放比例,初始时刻参数为PositionX:0、PositionY:0、PositionZ:0、ScaleX:1、ScaleY:1、ScaleZ:1。
进一步地,上述双眼摄像机透视投影矩阵的构建包括:
S1.a)以平均人类双眼瞳间距数值为基础,构建每只眼的空间坐标系信息:在初始时刻以XYZ(0,0,0)为基础,在当前头部空间坐标系中,取平均人类瞳间距m为基准,左眼位于(-m/2,0,0)位置,右眼位于(m/2,0,0)位置,左右眼部的旋转弧度(0,0,0),缩放比例(1,1,1),构建每只眼的空间坐标系信息,
S1.b)构建并获得每只眼的摄像机透视投影矩阵信息:
通过透视投影矩阵构建并获得每只眼的摄像机透视投影矩阵信息,其中宽高比Near为近裁剪平面,Far为远裁剪平面,FOV为视野,W为视口的宽高之比的宽度比值,H为视口的宽高之比的高度比值,screenW为屏幕分辨率宽高比的宽度值,screenH为屏幕分辨率宽高比的宽度值,aspect裁剪平面的宽高比在(0~1)范围内。
进一步地,上述步骤S2包括:
在外部计算设备端构建虚拟三维空间坐标系,在初始时刻虚拟三维空间世界坐标系的初始位置与MR/AR设备的世界空间坐标系的初始位置重合,均为XYZ(0,0,0);
外部计算设备端接收由MR/AR设备端发送的空间位置信息,利用物理空间三维网格化数据集创建虚拟三维世界空间坐标系,创建虚拟头部空间坐标系还原映射物理空间头部空间坐标系,实时接收MR/AR设备端的头部数据,不断将物理头部空间信息映射绑定在虚拟头部空间坐标系中;
利用平均人类双眼瞳间距离数值,在虚拟头部空间坐标系中构建虚拟双眼,即左、右渲染摄像机;利用MR/AR设备端发送的双眼摄像机透视投影矩阵,在虚拟头部空间坐标系构建左右渲染摄像机的投影空间,在外部计算设备中还原MR/AR设备左右眼的观看方向、角度和屏幕渲染范围;
每时刻或每帧通过实时接收MR/AR设备端发送的空间位置信息,实时同步更新在外部计算设备端的左右渲染摄像机的空间坐标系数据、每个渲染摄像机的透视投影矩阵数据,保持时刻还原MR/AR设备的头部空间位置和左右渲染摄像机的方向、角度和渲染范围。
对左、右摄像机渲染图像处理;
实时接收来自MR/AR设备端发送的交互指令操作信息、双手空间位置信息、手势识别指令信息操作指令,根据不同的交互指令,控制在外部计算设备端中的三维模型数据的交互控制操作方式。
进一步地,上述对左、右摄像机渲染图像处理包括:
加载由开放资源获取的高精度三维数据模型;
根据已还原的虚拟左右渲染摄像机的渲染范围,在渲染内的三维数据模型进行三维渲染图形API接口操作,完成计算、渲染工作;
在左、右渲染摄像机上构建对应左右渲染的、可编辑的二维纹理图,将左、右渲染摄像机根据当前透视投影矩阵数据信息所规定的渲染范围内的三维模型数据在左右二维纹理图上进行图形计算渲染操作,所述当前透视投影矩阵数据信息是外部计算设备端还原的由MR/AR传递过来的双眼摄像机透视投影矩阵;随后再将二维纹理图做二维序列化操作,得到虚拟左右渲染摄像机序列化后二维图像数组;
将虚拟左右渲染摄像机所采集的数据信息,即序列化后二维图像数组,进行流化处理,并将流化后的二维图像数据以及空间坐标系数据压入数据流进行网络回传输至MR/AR设备端。
进一步地,上述操作指令具体包括以下内容:
移动指令根据MR/AR设备端发送当前双手空间位置信息,控制三维数据模型跟随手移动;
缩放指令根据MR/AR设备端发送当前双手空间位置距离的远近距离数据信息,控制三维数据模型的缩放比例;
旋转指令根据MR/AR设备端发送手的空间旋转角度数据信息,控制三维数据模型跟随手同时旋转。
进一步地,上述将该平面图像更新绘制到MR/AR设备端左右眼屏幕上包括:
遍历MR/AR设备上物理屏幕上的每一个像素点,设其中一个像素点为Vertex;
将屏幕像素点Vertex从二维屏幕空间变换到三维投影的齐次空间坐标系内,将像素点Vertex在齐次空间内的位置定义为在齐次空间坐标系中的像素点位置vertexPositionInProjectionSpace;
将齐次空间坐标系中的像素点位置使用当前MR/AR设备双眼摄像机透视投影矩阵将在齐次空间坐标系内的屏幕像素点Vertex位置变换至摄像机空间坐标系中,并定义为在摄像机空间坐标系中的像素点位置VertexPositionInCameraSpace;
将在摄像机空间坐标系中的像素点位置,通过MR/AR设备当前摄像机的摄像机空间到世界空间坐标系的变换矩阵,将在摄像机空间坐标系中的像素点位置VertexPositionInCameraSpace变换至MR/AR设备的世界空间坐标系中,并定义为在MR/AR设备世界空间坐标系中位置VertexPositionInWorldSpace;外部设备端创建的三维虚拟世界空间坐标系原点和MR/AR设备世界空间坐标系原点重合,同为XYZ(0,0,0),且MR/AR设备的屏幕像素点坐标位置已变换到基于世界空间坐标系当中,将基于世界空间坐标系中的外部计算设备端虚拟头部位置与基于世界空间坐标系中的MR/AR设备当前佩戴者头部位置进行对比,得到偏移向量值offsetVector,所述偏移向量值offsetVector=n*d,其中n为外部计算设备端实时渲染帧图像与MR/AR设备当前头部位置的空间方向偏差,d为外部计算设备端实时渲染帧图像与MR/AR设备当前头部空间位置的距离偏差,根据偏移向量值修正在世界空间坐标系中屏幕像素点Vertex的位置,得到修正后在世界空间坐标系中屏幕像素点位置vertexPositionInWorldSpace;
使用外部计算设备回传数据中与此帧图像相对应的世界空间至摄像机空间变换矩阵,将修正后的世界空间坐标系中像素点位置变换至外部计算设备端在渲染此帧图像时的虚拟三维渲染摄像机空间坐标系中,并定义为在虚拟三维渲染摄像机空间坐标系中的像素点位置VertexPositionInRECCameraSpace;
使用外部计算设备端渲染此帧图像时的虚拟三维摄像机的透视投影矩阵与虚拟三维渲染摄像机空间坐标系中的像素点位置矩阵相乘获得MR/AR设备当前屏幕像素点vertex在外部计算设备端渲染此帧图像时的虚拟摄像机的屏幕空间中的此像素点所在位置;
在MR/AR设备中通过着色器遍历判断物理屏幕中的每一个像素点是否在原计算渲染此帧图像时的外部计算设备端的虚拟摄像机屏幕空间内,判断是否排除显示此像素点,在范围内则显示此像素点,不在则不着色显示。
进一步地,上述回传至MR/AR设备端的数据包括包括:时间戳、屏幕像素宽度和高度、虚拟头部空间坐标系矩阵、虚拟左眼摄像机空间坐标系矩阵、虚拟左眼摄像机透视投影矩阵、虚拟右眼摄像机空间坐标系矩阵、虚拟右眼摄像机透视投影矩阵、虚拟左眼摄像机渲染后的二维图像、虚拟右眼摄像机渲染后的二维图像。
本发明有以下有益效果:
1)采用“空间位置扭曲图像算法”解决由于时间差所导致的远程全息图像不能在空间中固定不动。
2)混合现实双目立体视觉图像实时远程渲染技术,可以让MR混合现实、AR增强现实设备借助外部计算设备的计算能力,增强和弥补自身运算能力的不足,实现支持工业领域中高精度、高复杂度的三维模型数据内容的实时计算、渲染任务。
附图说明
图1为背景技术中三维模型数据优化造成数据精度改变的示意图;
图2为人类头部位置空间移动时远程渲染后的全息图像出现严重“晃动,抖动”的示意图;
图3为网络数据传输的时间差造成的远程渲染后的全息图像出现严重“晃动,抖动”的示意图;
图4为本发明的技术原理图;
图5为“空间位置扭曲图像算法”中MR/AR设备的物理屏幕空间像素点vertex位置转换到投影齐次空间坐标系中的原理示意图;
图6为“空间位置扭曲图像算法”中将在齐次空间坐标系中的像素点位置转换到摄像机空间坐标系中的原理示意图;
图7为“空间位置扭曲图像算法”中将在摄像机空间坐标系中的像素点位置转换到摄像机世界空间坐标系中的原理示意图;
图8为“空间位置扭曲图像算法”中使用外部计算设备回传数据中世界空间至摄像机空间变换矩阵信息,将在MR/AR设备中的世界空间坐标系中的像素点位置转换到外部计算设备中的虚拟三维渲染摄像机空间坐标系中的原理示意图;
图9为“空间位置扭曲图像算法”中将转换到外部计算设备中的虚拟三维渲染摄像机空间坐标系中的像素点位置再通过外部计算设备端渲染此帧图像时的透视投影矩阵反推出转换到外部设备虚拟摄像机的屏幕空间坐标系中的原理示意图。
具体实施方式
下面结合附图和具体实施例来进一步描述本发明。如图1所示,背景技术中三维模型数据优化造成数据精度改变。
如图2所示,由于人类无法绝对保持头部位置空间不移动,因此在实时远程渲染过程中,MR/AR设备端与外部计算设备端必然存在空间位置差;如图3所示,MR/AR设备端与外部计算设备端进行网络数据传输必然存在时间差,以上两种原因导致全息图像不能在物理空间中固定不动,出现严重“晃动,抖动”,仿佛“地震”时产生的视觉效果,让用户感知图像不全息,造成双目视觉感知偏差严重影响混合现实全息成像。
如图4所示为本发明的技术原理图,本发明为一种混合现实双目立体视觉图像实时远程渲染方法,包括以下步骤:
S1,MR/AR设备端通过摄像头采集的物理世界物体深度数值,构建空间位置信息,将所述空间位置信息发送至外部计算设备,其中,所述空间位置信息包括物理空间三维网格化数据集、世界空间坐标系、头部空间坐标系、双眼摄像机透视投影矩阵;
S2,外部计算设备端通过接收来自MR/AR设备端发送的空间位置信息,构建虚拟三维世界空间坐标系,并在虚拟三维世界空间坐标系中还原MR/AR头部空间位置;外部计算设备端根据MR/AR设备端发送的双眼摄像机透视投影矩阵,创建和实时同步左、右眼对应的虚拟三维渲染摄像机,进行双眼图像三维虚拟内容的计算和渲染,并将渲染后的图像以及对应的空间数据编码后回传至MR/AR设备端;
S3,MR/AR设备端对外部计算设备端回传的数据进行解码处理,生成二维图像序列化数组数据及交互操作指令数据,将二维图像序列化数组绘制为左右双眼二维平面图像,并将该平面图像更新绘制到MR/AR设备端左右眼屏幕上,交互操作指令用于远程手势控制三维物体的操作功能。
作为本发明的优选实施例,上述回传至MR/AR设备端的数据包括(每帧)包括:时间戳、屏幕像素宽度和高度、虚拟头部空间坐标系矩阵(也称为虚拟头部本地空间坐标系至世界空间坐标系矩阵)、虚拟左眼摄像机空间坐标系矩阵(也称为虚拟左眼摄像机本地空间坐标系至世界空间坐标系矩阵)、虚拟左眼摄像机透视投影矩阵、虚拟右眼摄像机空间坐标系矩阵(也称为虚拟右眼摄像机本地空间坐标系至世界空间坐标系矩阵)、虚拟右眼摄像机透视投影矩阵、虚拟左眼摄像机渲染后的二维图像、虚拟右眼摄像机渲染后的二维图像(左、右眼二维图像进行H.264压缩算法编码处理后发送)。
本发明采用基于Media Foundation多媒体框架API接口的基础上封装的具有网络传输功能和H.264解码器,对来自外部计算设备端回传的网络数据解码处理,将数据流进行解码,解码生成二维图像序列化数组数据以及交互操作指令数据,利用MR/AR设备端GPU硬件,并通过调用DirectX11三维渲染图形API接口,将二维图像序列化数组绘制为左右眼双眼二维平面图像,并将此图像更新绘制到MR/AR设备端左右眼屏幕上。
作为本发明的优选实施例,上述步骤S1)中构建物理空间三维网格化数据集包括以下内容:
S1.1)初始化MR/AR设备端,在初始时刻MR/AR设备的头部空间坐标系与世界空间坐标系的初始位置(原点)均为XYZ(0,0,0),其中X为水平轴,Y为垂直轴,Z为深度轴;
S1.2)以XYZ(0,0,0)为原点,通过摄像头实时扫描和采集不同角度的物理世界物体深度数值,通过深度数值点依次组成空间三角面、空间四边形面和空间三维数据网格;以原点为中心,不断向外扩延扫描构建空间三维数据网格,将新的三维空间数据网格与旧的三维空间数据网格相互链接和融合,扩展为物理空间三维网格化数据集。
作为本发明的优选实施例,空间三维数据网格的构建过程如下:
通过深度摄像头实时扫描和采集不同角度的物理世界的三维深度点数值,每3个深度点组成一个空间三角面,每2个空间三角面组成一个空间四边形面,多个空间四边形面组成空间三维数据网格,以原点为中心,不断向外扩延扫描数据信息,并每隔3秒钟将新产生的三维空间网格数据与旧的三维空间数据网格信息相互链接和融合,以此方式扩展物理三维空间数据信息。
新的三维空间数据网格与旧的三维空间数据网格相互链接和融合是根据每个三角形的顶点数据的空间坐标系位置,在新、旧三维数据网络的存储拓扑结构上,依次进行比对,将近似空间位置的旧顶点数据采用新顶点数据替代,在MR设备例如HoloLens2上,本发明中直接使用设备已提供的空间三维网格数据进行处理。
作为本发明的优选实施例,上述步骤S1)中头部空间坐标系构建包括以下内容:根据初始原点XYZ(0,0,0)的空间位置计算相对于原点的当前头部所在空间的位置信息,构建当前头部空间坐标系矩阵
其中,PositionX、PositionY、PositionZ分别表示为在三维坐标系中水平轴x、垂直轴y、轴纵深轴z上的位置,ScaleX、ScaleY、ScaleZ分别表示在三维坐标系中水平轴x、垂直轴y、轴纵深轴z上的缩放比例,初始时刻参数为PositionX:0、PositionY:0、PositionZ:0、ScaleX:1、ScaleY:1、ScaleZ:1;
作为本发明的优选实施例,上述步骤S1)中双眼摄像机透视投影矩阵的构建包括以下内容:
S1.a)以平均人类双眼瞳间距数值为基础,构建每只眼的空间坐标系信息:在初始时刻以XYZ(0,0,0)为基础,在当前头部空间坐标系中,取平均人类瞳间距m为基准,左眼位于(-m/2,0,0)位置,右眼位于(m/2,0,0)位置,左右眼部的旋转弧度(0,0,0),缩放比例(1,1,1),构建每只眼的空间坐标系信息,
S1.b)构建并获得每只眼的摄像机透视投影矩阵信息:
通过透视投影矩阵构建并获得每只眼的摄像机透视投影矩阵信息,其中宽高比Near为近裁剪平面,Far为远裁剪平面,FOV为视野,W为视口的宽高之比的宽度比值,H为视口的宽高之比的高度比值,screenW为屏幕分辨率宽高比的宽度值,screenH为屏幕分辨率宽高比的宽度值,aspect裁剪平面的宽高比在(0~1)范围内。
作为本发明的优选实施例,取平均人类瞳间距0.064米为基准。近裁剪平面Nearclip plane(Near)为0.3、远裁剪平面Far clip plane(Far)为20米,视野FOV(Field ofView)为60,宽高比aspect为1.775。
作为本发明的优选实施例,上述步骤S1)中基于头部空间坐标信息、左眼、右眼空间位置信息和双眼摄像机透视投影矩阵,在左眼空间位置上构建左侧摄像机,捕获左视图,在右眼空间位置上构建右侧摄像机,捕获右视图;以(平均人类)双眼瞳间距数值为参数,设定左右两侧摄像机的透视投影矩阵获得焦段数值,近物体虚拟双眼向内对焦旋转,当物体距离超过数值常量后,虚拟双眼外旋直至虚拟双眼视线平行,表示观测物体无限远,获得被视物体“近大远小”的视觉效果。作为本发明的优选实施例,上述数值常量设为20米。
作为本发明的优选实施例,获得被视物体“近大远小”的视觉效果有两种方法,具体如下:
1.1)根据相似三角形定理和勾股定理,计算出被观察物体(聚焦点P)距离左、右眼摄像机近裁剪平面的距离和通过计算获得左、右眼摄像机当前朝向向量与左、右眼摄像机空间位置和被观察物体(聚焦点P)所构成的向量之间的夹角角度数值,通过旋转摄像机的角度,将左、右眼摄像机同时聚焦于被观察物体(聚焦点P)上,聚焦点P是物品表面还是3D物品中心点,会有不同的视觉远近效果,为降低计算难度,我们采用发射粒子射线的方式获得被观察物品的表面聚焦点(聚焦点P),以还原人类视觉差以获得被视物体“近大远小”的视觉效果;
2)发射粒子射线的方式获得被摄物体的距离,求得左右眼摄像机对焦旋转的角度,实现“近大远小”的视觉效果。
作为本发明的优选实施例,上述步骤S2)包括以下内容:
S2.1)在外部计算设备端构建虚拟三维空间坐标系,在初始时刻虚拟三维世界空间坐标系的初始位置(原点)与MR/AR设备的世界空间坐标系的初始位置(原点)重合,均为XYZ(0,0,0);
S2.2)外部计算设备端接收由MR/AR设备端发送的空间位置信息,利用物理空间三维网格化数据集创建虚拟三维世界空间坐标系,创建虚拟头部空间坐标系还原映射物理空间头部空间坐标系,实时接收MR/AR设备端的头部数据,不断将物理头部空间信息映射绑定在虚拟头部空间坐标系中;
S2.3)利用平均人类双眼瞳间距离数值,在虚拟头部空间坐标系中构建虚拟双眼,即左、右渲染摄像机;利用MR/AR设备端发送的双眼摄像机透视投影矩阵,在虚拟头部空间坐标系构建左右渲染摄像机的投影空间,在外部计算设备中还原MR/AR设备左右眼的观看方向、角度和屏幕渲染范围;
S2.4)每时刻或每帧通过实时接收MR/AR设备端发送的空间位置信息,实时同步更新在外部计算设备端的左右渲染摄像机的空间坐标系数据、每个渲染摄像机的透视投影矩阵数据,保持时刻还原MR/AR设备的头部空间位置和左右渲染摄像机的方向、角度和渲染范围。
S2.5)对左、右摄像机渲染图像处理;
S2.6)实时接收来自MR/AR设备端发送的交互指令操作信息、双手空间位置信息、手势识别指令信息操作指令,根据不同的交互指令,控制在外部计算设备端中的三维模型数据的交互控制操作方式。
作为本发明的优选实施例,上述步骤S2.5)中渲染图像处理具体包括以下内容:
S2.5.1)加载由开放资源获取的高精度三维数据模型;
S2.5.2)根据已还原的虚拟左右渲染摄像机的渲染范围,在渲染内的三维数据模型进行三维渲染图形API接口操作,完成计算、渲染工作;
S2.5.3)在左、右渲染摄像机上构建对应左右渲染的、可编辑的二维纹理图,将左、右渲染摄像机根据当前透视投影矩阵数据信息所规定的渲染范围内的三维模型数据在左右二维纹理图上进行图形计算渲染操作,所述当前透视投影矩阵数据信息是外部计算设备端还原的由MR/AR传递过来的双眼摄像机透视投影矩阵;随后再将二维纹理图做二维序列化操作,得到虚拟左右渲染摄像机序列化后二维图像数组;
S2.5.4)将虚拟左右渲染摄像机所采集的数据信息,即序列化后二维图像数组,进行流化处理,并将流化后的二维图像数据以及空间坐标系数据压入数据流进行网络回传输至MR/AR设备端。
作为本发明的优选实施例,本发明选用基于windows10操作系统内置的MediaFoundation多媒体框架API接口的基础上,通过开发和封装生成具有网络传输功能的多媒体操作API接口,(或采用开源VLC多媒体视频处理框架,或采用开源FFMPEG多媒体视频处理框架,有关多媒体视频处理框架协议或API接口不限上述列举)并采用H.264编码器,将二维图像数组进行流化处理。
作为本发明的优选实施例,上述步骤S2.6)中操作指令具体包括以下内容:
移动指令根据MR/AR设备端发送当前双手空间位置信息,控制三维数据模型跟随手移动;
缩放指令根据MR/AR设备端发送当前双手空间位置距离的远近距离数据信息,控制三维数据模型的缩放比例;
旋转指令根据MR/AR设备端发送手的空间旋转角度数据信息,控制三维数据模型跟随手同时旋转。
本发明将该平面图像更新绘制到MR/AR设备端左右眼屏幕上中具体包括以下步骤:
遍历MR/AR设备上物理屏幕上的每一个像素点,设其中一个像素点为Vertex;
如图5所示,将屏幕像素点Vertex从二维屏幕空间变换到三维投影的齐次空间坐标系内,将像素点Vertex在齐次空间内的位置定义为在齐次空间坐标系中的像素点位置vertexPositionInProjectionSpace;
如图6所示,将齐次空间坐标系中的像素点位置vertexPositionInProjectionSpace使用当前MR/AR设备双眼摄像机透视投影矩阵将在齐次空间坐标系内的屏幕像素点Vertex位置变换至摄像机空间坐标系中,并定义为在摄像机空间坐标系中的像素点位置VertexPositionInCameraSpace;
如图7所示,将在摄像机空间坐标系中的像素点位置
VertexPositionInCameraSpace,通过MR/AR设备当前摄像机的摄像机空间到世界空间的变换矩阵,将在摄像机空间坐标系中的像素点位置VertexPositionInCameraSpace变换至MR/AR设备的世界空间坐标系中,并定义为在MR/AR设备世界空间坐标系中位置VertexPositionInWorldSpace;外部设备端创建的三维虚拟世界空间坐标系原点和MR/AR设备世界空间坐标系原点重合,同为XYZ(0,0,0),且MR/AR设备的屏幕像素点坐标位置已变换到基于世界空间坐标系当中,将基于世界空间坐标系中的外部计算设备端虚拟头部位置与基于世界空间坐标系中的MR/AR设备当前佩戴者头部位置进行对比,得到偏移向量值offsetVector,所述偏移向量值offsetVector=n*d,其中n(向量值)为外部计算设备端实时渲染帧图像与MR/AR设备当前头部位置的空间方向偏差(面朝方向),d为外部计算设备端实时渲染帧图像与MR/AR设备当前头部空间位置的距离偏差,根据偏移向量值offsetVector修正在世界空间坐标系中屏幕像素点Vertex的位置,得到修正后在世界空间坐标系中屏幕像素点位置vertexPositionInWorldSpace;
如图8所示,使用外部计算设备回传数据中与此帧图像相对应的世界空间至摄像机空间变换矩阵,将修正后的世界空间坐标系中像素点位置vertexPositionInWorldSpace变换至外部计算设备端在渲染此帧图像时的虚拟三维渲染摄像机空间坐标系中,并定义为在虚拟三维渲染摄像机空间坐标系中的像素点位置VertexPositionInRECCameraSpace;
使用外部计算设备端渲染此帧图像时的虚拟三维摄像机的透视投影矩阵与虚拟三维渲染摄像机空间坐标系中的像素点位置VertexPositionInRECCameraSpace矩阵相乘获得MR/AR设备当前屏幕像素点vertex在外部计算设备端渲染此帧图像时的虚拟摄像机的屏幕空间中的此像素点所在位置;
如图9所示,在MR/AR设备中通过着色器遍历判断物理屏幕中的每一个像素点是否在原计算渲染此帧图像时的外部计算设备端的虚拟摄像机屏幕空间内,判断是否排除显示此像素点,在范围内则显示此像素点,不在则不着色显示。
上述方法利用在Shader着色器中“空间位置扭曲算法”在MR/AR设备上还原并解决远程渲染后全息图像抖动的问题。
本发明可以让MR混合现实、AR增强现实设备借助外部计算设备的计算能力,增强和弥补自身运算能力的不足,实现支持工业领域中高精度、高复杂度的三维模型数据内容的实时计算、渲染任务。该技术在微软混合现实设备HoloLens1上的实测情况效果如表1-1、1-2所示:
表1-1模型三角面数对比
表1-2模型贴图内存使用对比
Claims (9)
1.一种混合现实双目立体视觉图像实时远程渲染方法,其特征在于,包括以下步骤:
S1,MR/AR设备端通过摄像头采集的物理世界物体深度数值,构建空间位置信息,将所述空间位置信息发送至外部计算设备,其中,所述空间位置信息包括物理空间三维网格化数据集、世界空间坐标系、头部空间坐标系和双眼摄像机透视投影矩阵;
S2,外部计算设备端通过接收来自MR/AR设备端发送的空间位置信息,构建虚拟三维世界空间坐标系,并在虚拟三维世界空间坐标系中还原MR/AR头部空间位置;外部计算设备端根据MR/AR设备端发送的双眼摄像机透视投影矩阵,创建和实时同步左、右眼对应的虚拟三维渲染摄像机,进行双眼图像三维虚拟内容的计算和渲染,并将渲染后的图像以及对应的空间数据编码后回传至MR/AR设备端;
S3,MR/AR设备端对外部计算设备端回传的数据进行解码处理,生成二维图像序列化数组数据及交互操作指令数据,将二维图像序列化数组绘制为左右双眼二维平面图像,并将该平面图像更新绘制到MR/AR设备端左右眼屏幕上,交互操作指令用于远程手势控制三维物体的操作功能。
2.如权利要求1所述的混合现实双目立体视觉图像实时远程渲染方法,其特征在于,所述物理空间三维网格化数据集构建包括:
初始化MR/AR设备端,在初始时刻MR/AR设备的头部空间坐标系位置的初始位置为XYZ(0,0,0),其中X为水平轴,Y为垂直轴,Z为深度轴;
以XYZ(0,0,0)为原点,通过摄像头实时扫描不同角度的物理世界物体深度数值,通过深度数值点依次组成空间三角面、空间四边形面和空间三维数据网格;以原点为中心,不断向外扩延扫描构建空间三维数据网格,将新的三维空间数据网格与旧的三维空间数据网格相互链接和融合,扩展为物理空间三维网格化数据集。
4.如权利要求1所述的混合现实双目立体视觉图像实时远程渲染方法,其特征在于,所述双眼摄像机透视投影矩阵的构建包括:
S1.a)以平均人类双眼瞳间距数值为基础,构建每只眼的空间坐标系信息:在初始时刻以XYZ(0,0,0)为基础,在当前头部空间坐标系中,取平均人类瞳间距m为基准,左眼位于(-m/2,0,0)位置,右眼位于(m/2,0,0)位置,左右眼部的旋转弧度(0,0,0),缩放比例(1,1,1),构建每只眼的空间坐标系信息,
S1.b)构建并获得每只眼的摄像机透视投影矩阵信息:
5.如权利要求1所述的混合现实双目立体视觉图像实时远程渲染方法,其特征在于,步骤S2包括:
在外部计算设备端构建虚拟三维空间坐标系,在初始时刻虚拟三维空间世界坐标系的初始位置与MR/AR设备的世界空间坐标系的初始位置重合,均为XYZ(0,0,0);
外部计算设备端接收由MR/AR设备端发送的空间位置信息,利用物理空间三维网格化数据集创建虚拟三维世界空间坐标系,创建虚拟头部空间坐标系还原映射物理空间头部空间坐标系,实时接收MR/AR设备端的头部数据,不断将物理头部空间信息映射绑定在虚拟头部空间坐标系中;
利用平均人类双眼瞳间距离数值,在虚拟头部空间坐标系中构建虚拟双眼,即左、右渲染摄像机;利用MR/AR设备端发送的双眼摄像机透视投影矩阵,在虚拟头部空间坐标系构建左右渲染摄像机的投影空间,在外部计算设备中还原MR/AR设备左右眼的观看方向、角度和屏幕渲染范围;
每时刻或每帧通过实时接收MR/AR设备端发送的空间位置信息,实时同步更新在外部计算设备端的左右渲染摄像机的空间坐标系数据、每个渲染摄像机的透视投影矩阵数据,保持时刻还原MR/AR设备的头部空间位置和左右渲染摄像机的方向、角度和渲染范围;
对左、右摄像机渲染图像处理;
实时接收来自MR/AR设备端发送的交互指令操作信息、双手空间位置信息、手势识别指令信息操作指令,根据不同的交互指令,控制在外部计算设备端中的三维模型数据的交互控制操作方式。
6.如权利要求5所述的混合现实双目立体视觉图像实时远程渲染方法,其特征在于,所述对左、右摄像机渲染图像处理包括:
加载由开放资源获取的高精度三维数据模型;
根据已还原的虚拟左右渲染摄像机的渲染范围,在渲染内的三维数据模型进行三维渲染图形API接口操作,完成计算、渲染工作;
在左、右渲染摄像机上构建对应左右渲染的、可编辑的二维纹理图,将左、右渲染摄像机根据当前透视投影矩阵数据信息所规定的渲染范围内的三维模型数据在左右二维纹理图上进行图形计算渲染操作,所述当前透视投影矩阵数据信息是外部计算设备端还原的由MR/AR传递过来的双眼摄像机透视投影矩阵;随后再将二维纹理图做二维序列化操作,得到虚拟左右渲染摄像机序列化后二维图像数组;
将虚拟左右渲染摄像机所采集的数据信息,即序列化后二维图像数组,进行流化处理,并将流化后的二维图像数据以及空间坐标系数据压入数据流进行网络回传输至MR/AR设备端。
7.如权利要求5所述的混合现实双目立体视觉图像实时远程渲染方法,其特征在于,所述操作指令具体包括以下内容:
移动指令根据MR/AR设备端发送当前双手空间位置信息,控制三维数据模型跟随手移动;
缩放指令根据MR/AR设备端发送当前双手空间位置距离的远近距离数据信息,控制三维数据模型的缩放比例;
旋转指令根据MR/AR设备端发送手的空间旋转角度数据信息,控制三维数据模型跟随手同时旋转。
8.如权利要求1所述的混合现实双目立体视觉图像实时远程渲染方法,其特征在于,所述将该平面图像更新绘制到MR/AR设备端左右眼屏幕上包括:
遍历MR/AR设备上物理屏幕上的每一个像素点,设其中一个像素点为Vertex;
将屏幕像素点Vertex从二维屏幕空间变换到三维投影的齐次空间坐标系内,将像素点Vertex在齐次空间内的位置定义为在齐次空间坐标系中的像素点位置vertexPositionInProjectionSpace;
将齐次空间坐标系中的像素点位置使用当前MR/AR设备双眼摄像机透视投影矩阵将在齐次空间坐标系内的屏幕像素点Vertex位置变换至摄像机空间坐标系中,并定义为在摄像机空间坐标系中的像素点位置VertexPositionInCameraSpace;
将在摄像机空间坐标系中的像素点位置,通过MR/AR设备当前摄像机的摄像机空间到世界空间坐标系的变换矩阵,将在摄像机空间坐标系中的像素点位置VertexPositionInCameraSpace变换至MR/AR设备的世界空间坐标系中,并定义为在MR/AR设备世界空间坐标系中位置VertexPositionInWorldSpace;外部设备端创建的三维虚拟世界空间坐标系原点和MR/AR设备世界空间坐标系原点重合,同为XYZ(0,0,0),且MR/AR设备的屏幕像素点坐标位置已变换到基于世界空间坐标系当中,将基于世界空间坐标系中的外部计算设备端虚拟头部位置与基于世界空间坐标系中的MR/AR设备当前佩戴者头部位置进行对比,得到偏移向量值offsetVector,所述偏移向量值offsetVector=n*d,其中n为外部计算设备端实时渲染帧图像与MR/AR设备当前头部位置的空间方向偏差,d为外部计算设备端实时渲染帧图像与MR/AR设备当前头部空间位置的距离偏差,根据偏移向量值修正在世界空间坐标系中屏幕像素点Vertex的位置,得到修正后在世界空间坐标系中屏幕像素点位置vertexPositionInWorldSpace;
使用外部计算设备回传数据中与此帧图像相对应的世界空间至摄像机空间变换矩阵,将修正后的世界空间坐标系中像素点位置变换至外部计算设备端在渲染此帧图像时的虚拟三维渲染摄像机空间坐标系中,并定义为在虚拟三维渲染摄像机空间坐标系中的像素点位置VertexPositionInRECCameraSpace;
使用外部计算设备端渲染此帧图像时的虚拟三维摄像机的透视投影矩阵与虚拟三维渲染摄像机空间坐标系中的像素点位置矩阵相乘获得MR/AR设备当前屏幕像素点vertex在外部计算设备端渲染此帧图像时的虚拟摄像机的屏幕空间中的此像素点所在位置;
在MR/AR设备中通过着色器遍历判断物理屏幕中的每一个像素点是否在原计算渲染此帧图像时的外部计算设备端的虚拟摄像机屏幕空间内,判断是否排除显示此像素点,在范围内则显示此像素点,不在则不着色显示。
9.如权利要求1所述的混合现实双目立体视觉图像实时远程渲染方法,其特征在于,所述回传至MR/AR设备端的数据包括:时间戳、屏幕像素宽度和高度、虚拟头部空间坐标系矩阵、虚拟左眼摄像机空间坐标系矩阵、虚拟左眼摄像机透视投影矩阵、虚拟右眼摄像机空间坐标系矩阵、虚拟右眼摄像机透视投影矩阵、虚拟左眼摄像机渲染后的二维图像、虚拟右眼摄像机渲染后的二维图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210759001.9A CN114998559A (zh) | 2022-06-30 | 2022-06-30 | 混合现实双目立体视觉图像实时远程渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210759001.9A CN114998559A (zh) | 2022-06-30 | 2022-06-30 | 混合现实双目立体视觉图像实时远程渲染方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114998559A true CN114998559A (zh) | 2022-09-02 |
Family
ID=83019116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210759001.9A Pending CN114998559A (zh) | 2022-06-30 | 2022-06-30 | 混合现实双目立体视觉图像实时远程渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114998559A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115841538A (zh) * | 2023-02-20 | 2023-03-24 | 山东科技大学 | 一种多变量控制的dem地形特征线视觉消隐方法 |
TWI812548B (zh) * | 2022-11-22 | 2023-08-11 | 宏碁股份有限公司 | 生成並排三維影像的方法及電腦裝置 |
CN116975370A (zh) * | 2023-06-30 | 2023-10-31 | 上海螣龙科技有限公司 | 一种网络资产拓扑图展示方法、系统、设备及存储介质 |
CN117830576A (zh) * | 2024-03-06 | 2024-04-05 | 中国水利水电第七工程局有限公司 | 一种基于mr设备的混合现实定位方法、系统及介质 |
-
2022
- 2022-06-30 CN CN202210759001.9A patent/CN114998559A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI812548B (zh) * | 2022-11-22 | 2023-08-11 | 宏碁股份有限公司 | 生成並排三維影像的方法及電腦裝置 |
CN115841538A (zh) * | 2023-02-20 | 2023-03-24 | 山东科技大学 | 一种多变量控制的dem地形特征线视觉消隐方法 |
CN115841538B (zh) * | 2023-02-20 | 2023-05-16 | 山东科技大学 | 一种多变量控制的dem地形特征线视觉消隐方法 |
CN116975370A (zh) * | 2023-06-30 | 2023-10-31 | 上海螣龙科技有限公司 | 一种网络资产拓扑图展示方法、系统、设备及存储介质 |
CN117830576A (zh) * | 2024-03-06 | 2024-04-05 | 中国水利水电第七工程局有限公司 | 一种基于mr设备的混合现实定位方法、系统及介质 |
CN117830576B (zh) * | 2024-03-06 | 2024-05-07 | 中国水利水电第七工程局有限公司 | 一种基于mr设备的混合现实定位方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3057066B1 (en) | Generation of three-dimensional imagery from a two-dimensional image using a depth map | |
CN108573524B (zh) | 基于渲染管线的交互式实时自由立体显示方法 | |
US9438878B2 (en) | Method of converting 2D video to 3D video using 3D object models | |
CN114998559A (zh) | 混合现实双目立体视觉图像实时远程渲染方法 | |
US20180033209A1 (en) | Stereo image generation and interactive playback | |
JP4052331B2 (ja) | 仮想視点画像生成方法及び3次元画像表示方法並びに装置 | |
US9460555B2 (en) | System and method for three-dimensional visualization of geographical data | |
JP7197451B2 (ja) | 画像処理装置、方法及びプログラム | |
CN101189643A (zh) | 3d图像生成和显示系统 | |
KR102546358B1 (ko) | 장면의 타일식 3차원 이미지 표현을 생성하기 위한 장치 및 방법 | |
CN108885342A (zh) | 用于低延迟渲染的宽基线立体 | |
US8577202B2 (en) | Method for processing a video data set | |
Bonatto et al. | Real-time depth video-based rendering for 6-DoF HMD navigation and light field displays | |
CN107562185B (zh) | 一种基于头戴vr设备的光场显示系统及实现方法 | |
KR101588935B1 (ko) | 가상현실 이미지 프레젠테이션 및 3d 공간 내에서의 컨트롤을 위한 3d 기하학 데이터의 이용방법 | |
JP2001202532A (ja) | Zバッファを用いた立体映像生成方法 | |
US20220165015A1 (en) | Image signal representing a scene | |
CN109407329B (zh) | 一种空间光场显示方法及其装置 | |
CN117061720B (zh) | 基于单目图像及深度图像渲染的立体图像对生成方法 | |
Thatte et al. | Real-World Virtual Reality With Head-Motion Parallax | |
Szabó et al. | Processing 3D scanner data for virtual reality | |
Wei et al. | A real-time 2d to 3d video conversion algorithm based on image shear transformation | |
KR20220071935A (ko) | 광학 흐름을 이용한 고해상도 깊이 영상 추정 방법 및 장치 | |
JP2022162653A (ja) | 描画装置及びプログラム | |
CN113115018A (zh) | 一种图像的自适应显示方法及显示设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |