法律状态公告日
法律状态信息
法律状态
2018-03-06
授权
授权
2016-12-07
实质审查的生效 IPC(主分类):H04N13/04 申请日:20160613
实质审查的生效
2016-11-09
公开
公开
技术领域
本发明属于图像处理技术领域,特别涉及一种对虚拟现实眼镜进行增强现实的方法,可用于工业、教育、娱乐的虚拟可视化。
背景技术
增强现实技术,简称AR技术,是一种实时地计算摄影机影像的位置及角度并加上相应虚拟图像的技术,这种技术的目标是将真实的环境和虚拟的物体实时地叠加到同一个画面使二者同时存在。随着AR技术的发展,其在教育、医疗、艺术等领域的应用越来越广泛,相应地,可穿戴式AR立体显示技术也处于飞速地更新换代中。
目前,可穿戴式AR立体显示设备主要为AR眼镜,AR眼镜的功能是让用户在观看到现实场景的前提下,为当前场景添加上虚拟物体模型,并对模型进行立体显示。
市面上AR眼镜主要分为开放式和封闭式两种。开放式AR眼镜与人们日常佩戴的眼镜外形相似,具有透明的开放式视野,通过微型投影仪在佩戴者视野投影虚拟画面来形成立体显示感。封闭式AR眼镜普遍使用双目摄像头捕捉场景并为摄像机画面加上虚拟数据,为了模拟人眼的双目视差,即模拟人眼立体视觉,这两个摄像头需按照人眼瞳距距离安置,然后通过对显示屏分屏操作使佩戴者双眼看见不同的屏幕画面,经过人脑合成后就产生了立体视感。这两种系统存在以下问题:
1)开放式AR眼镜使用了投影技术,整个系统成本较高,且对硬件要求高,不能很好地普及市场;
2)封闭式AR眼镜由于有两个摄像头,较为笨重,而且成本较高,同时软件需同时处理两路视频纹理,对处理器性能有很高要求。
目前市场上普及的一种虚拟现实眼镜,即VR眼镜,利用双目视差原理,对双目的视野进行挡隔,分别提供给左右眼两幅符合双目视差的虚拟场景画面,再对视距进行调整,最终实现对虚拟场景的立体显示。此类眼镜成本较低,显示屏可用手机屏幕替代,使用户能完全沉浸于开发者搭建的虚拟场景中。但是这种VR眼镜,它提供给用户双眼的两路画面仅包含虚拟场景的信息,用户佩戴上VR眼镜后无法看见现实场景,不能实现对现实场景以及在场景中添加的虚拟物体模型的同时显示。
发明内容
本发明的目的在于针对上述问题,提出一种利用手机单目摄像头对虚拟现实眼镜进行增强现实的方法,以实现对现实场景以及在场景中添加的虚拟物体模型的同时显示。
为实现上述目的,本发明的技术方案包括如下:
(1)将标识图放置于现实场景中的一个平面上,建立大地坐标系OXYZ,并用标识图构成大地坐标系的XOY平面,大地坐标系的Z轴垂直于标识图;
(2)用手机后置摄像头C,拍摄含有标识图的场景;
(3)利用标识图上的特征点分别在大地坐标系和手机摄像头成像平面坐标系下的坐标值,求解标识图平面与手机摄像头的成像平面之间的单应性变换矩阵H,由H分解出大地坐标系到手机摄像头成像平面坐标系的摄像头投影矩阵P,从而得到手机摄像头C的位置参数;
(4)利用建模软件建立虚拟物体三维模型,得到模型上所有点的信息,定义模型在标识图平面上的具体位置,获得三维模型上所有点在大地坐标系下的坐标;
(5)定义两个虚拟摄像头C1和C2,且使第一虚拟摄像头C1和第二虚拟摄像头C2的位置与用户佩戴VR眼镜时双眼在显示屏后的位置一致,得到手机摄像头的坐标系分别到第一虚拟摄像头C1的第一旋转平移矩阵H1和到第二虚拟摄像头C2坐标系的第二旋转平移矩阵H2;
(6)利用步骤(5)中求出的两个旋转平移矩阵H1、H2和步骤(3)中求出的摄像头投影矩阵P,计算三维模型上的点分别在第一虚拟摄像头C1下的成像Im1和在第二虚拟摄像头C2下的成像Im2,计算场景中所有点分别在第一虚拟摄像头C1下的成像Ie1和在第二虚拟摄像头C2下的成像Ie2,将Im1与Ie1叠加,得到场景和模型在第一虚拟摄像头C1下的总成像I1,将Im2与Ie2叠加,得到场景和模型在第二虚拟摄像头C2下的总成像I2;
(7)将手机屏幕横向放置,并从中间分为左右两屏,用代码形式将步骤(6)中得到两个成像I1和I2分别写入到手机的左、右屏;再将手机置于VR眼镜前端,用手机屏幕充当VR眼镜的显示屏,用户带上该眼镜看向标识图,即可实现真实场景中虚拟三维模型的立体显示。
本发明与现有技术相比,具有以下优点:
本发明由于将手机与虚拟现实眼镜组合在一起,改进了虚拟眼镜只能显示虚拟场景的弊端,实现了对现实场景以及在场景中添加的虚拟物体模型的同时显示;同时由于VR实眼镜原理简单,价格低廉,大大消减了制作成本;此外由于手机作为日常生活中随处可得的物品,只需安装相应的安装包就可以投入使用,普及度高受众广。
附图说明
图1为本发明的实现流程图;
图2为本发明构建两个虚拟摄像机C1和C2以及各坐标系之间位置关系的示意图。
具体实施方式
下面结合附图对本发明做进一步详细说明。
参照图1,本发明具体实施步骤如下:
步骤1,根据标识图建立大地坐标系
将标识图放置于现实场景中的一个平面上,建立大地坐标系OXYZ,并用标识图构成大地坐标系的XOY平面,大地坐标系的Z轴垂直于标识图。
步骤2,用手机后置摄像头C,拍摄含有标识图的场景,得到含有标识图的图片。
步骤3,利用步骤2中含有标识图的图片求解单应性变换矩阵H和摄像头的投影矩阵P。
本步骤的求解方法采用摄像机标定的方法,其实现如下:
3a)将标识图上的特征点在大地坐标系下的坐标值记为(X,Y,Z),由于Z轴分量为0,则将标识图上点的齐次坐标表示为
3b)通过对手机拍摄图片中标识图特征点的检测与定位,得到这些特征点在手机摄像头成像平面坐标系下的坐标值,记为(μ,ν),齐次表达形式为
3c)求解单应性变换矩阵H:
3c1)定义H=K[r1,r2,t],其中K为3×3维矩阵,表示相机内部参数:
默认为已知,(fx,fy)为相机焦距,(μ0,ν0)表示相机主光轴与相机成像平面的交点;
3c2)设r1与r2均为两个未知的3×1维旋转向量,记t为未知的3×1维平移向量,记
3c3)根据标识图平面到手机摄像头成像平面之间的投影方程,建立以下方程,并带入H表达式,即:
定义一个3×3参数矩阵W:
其中ω1、ω2、ω3、ω4、ω5、ω6、ω7、ω8、ω9为待求的9个未知参数,由于坐标为齐次形式,所以取ω9为1,即只需求出ω1、ω2、ω3、ω4、ω5、ω6、ω7、ω8这八个参数,即将式<2>带入式<1>,则式<1>简为:
展开式<3>:
λμ=ω1X+ω2Y+ω3
λν=ω4X+ω5Y+ω6
λ=ω7X+ω8Y+ω9>
对式<4>进一步化简得到:
式<5>有8个未知参数ω1、ω2、ω3、ω4、ω5、ω6、ω7、ω8,只需找出4对对应点,即可求解出这八个参数;
由式<2>可得到:
由式<6>可求出α1、α2、α2、β1、β2、β3、τ1、τ2、τ3,即求解出H;
3d)由H求出大地坐标系到手机摄像头成像平面坐标系的投影矩阵P:
P=K[r1,r2,r3,t],
P中K、r1、r2、t均与H中K、r1、r2、t相同,r3为未知的待求3×1维旋转向量,记则P可以表达为:
其中:
至此求出P中所有参数,得到P。
步骤4,建立虚拟物体三维模型。
利用建模软件建立虚拟物体三维模型,得到模型上所有点的信息,定义模型在标识图平面上的具体位置,获得三维模型上所有点在大地坐标系下的坐标。
步骤5,定义两个虚拟摄像头C1和C2,并计算手机摄像头分别到C1和C2的旋转平移矩阵H1和H2。
5a)定义两个虚拟摄像头C1和C2,按照附图2,将第一虚拟摄像头C1放置于用户佩戴VR眼镜时左眼所处的位置,将第二虚拟摄像头C2放置于用户佩戴VR眼镜时右眼所处的位置,用手机屏幕充当VR眼镜显示屏;
5b)通过测量手机摄像头到第一虚拟摄像头C1的距离,计算该距离分别在手机摄像头坐标系各轴方向上的投影,得到手机摄像头坐标系到第一虚拟摄像头C1坐标系的旋转平移矩阵,即第一旋转矩阵H1:
其中rc1为第一个从手机摄像头坐标系到第一虚拟摄像头C1坐标系的3×1维旋转变换向量,rc2第二个从手机摄像头坐标系到第一虚拟摄像头C1坐标系的3×1维旋转变换向量,rc3为第三个从手机摄像头坐标系到第一虚拟摄像头C1坐标系的3×1维旋转变换向量,tc为从手机摄像头坐标系到第一虚拟摄像头C1坐标系的3×1维平移向量。
5c)通过测量手机摄像头到第二虚拟摄像头C2的距离,计算该距离分别在手机摄像头坐标系各轴方向上的投影,得到手机摄像头坐标系到第二虚拟摄像头C2坐标系的旋转平移矩阵H2,即第二旋转矩阵:
其中r′c1为第一个从手机摄像头坐标系到第二虚拟摄像头C2坐标系的3×1维旋转变换向量,r′c2为第二个从手机摄像头坐标系到第一虚拟摄像头C1坐标系的3×1维旋转变换向量,r′c3为第三个从手机摄像头坐标系到第一虚拟摄像头C1坐标系的3×1维旋转变换向量,t′c为从手机摄像头坐标系到第二虚拟摄像头C2坐标系的3×1维平移向量。
步骤6,计算三维模型上所有点和场景中所有点在虚拟摄像头C1和C2下的像I1和I2。
6a)求出大地坐标系与手机摄像头坐标系的变换关系:
由步骤(3)中求出的摄像头投影矩阵P=K[r1,r2,r3,t]得到大地坐标系到手机摄像头坐标系的变换关系为:
其中为手机摄像头坐标系的齐次形式,为大地坐标系的齐次表示;
6b)得到大地坐标系到第一虚拟摄像头C1坐标系的变换关系:
6b1)根据步骤(5)中第一旋转平移矩阵H1,建立手机摄像头坐标系到第一虚拟摄像头C1坐标系的变换关系:
其中为手机摄像头坐标系的齐次形式,为第一虚拟摄像头C1坐标系的齐次形式。
6b2)将式<7>带入式<8>,得到大地坐标系到第一虚拟摄像头C1坐标系的变换关系:
6c)计算大地坐标系到第二虚拟摄像头C2坐标系的变换关系:
6c1)根据步骤(5)中第二旋转平移矩阵H2,建立手机摄像头坐标系到第二虚拟摄像头C2坐标系的变换关系:
其中为第二虚拟摄像头C2坐标系的齐次形式;
6c2)将式<7>带入式<10>,得到大地坐标系到第二虚拟摄像头C2坐标系的变换关系:
6d)由式<9>和式<11>得到第一虚拟摄像头C1和第二虚拟摄像头C2的摄像头投影矩阵P1和P2:
其中P1、P2中的K与手机摄像头投影矩阵P中K一致;
6e)由投影方程建立如下等式,分别计算三维模型上的点在第一虚拟摄像头C1和第二虚拟摄像头C2成像平面上的投影:
其中为三维模型上的点在第一虚拟摄像头C1像平面上的投影点坐标的齐次表示,
为三维模型上的点在第二虚拟摄像头C2成像平面上的投影点坐标的齐次表示,
为三维模型上点在大地坐标系下的坐标;
6f)对三维模型上所有点重复步骤6e)的计算过程,最后得到三维模型在第一虚拟摄像头C1下的成像Im1和在第二虚拟摄像头C2下的成像Im2。
6g)由投影方程建立如下等式,分别计算场景中的点在第一虚拟摄像头C1和第二虚拟摄像头C2成像平面上的投影:
其中为场景中的点在第一虚拟摄像头C1像平面上的投影坐标的齐次表示,
为场景中的点在第二虚拟摄像头C2成像平面上的投影坐标的齐次表示,
为场景中的点在大地坐标系下的坐标;
6h)对场景中所有点重复步骤6g)的计算过程,最后得到场景在第一虚拟摄像头C1下的成像Ie1和在第二虚拟摄像头C2下的成像Ie2;
6i)将步骤6h)得到的场景在第一虚拟摄像头C1下的成像Ie1与步骤6f)中得到的模型在第一虚拟摄像头C1下的成像Im1叠加,得到模型与场景在第一虚拟摄像头C1下的总成像I1,将步骤6h)得到的场景在第二虚拟摄像头C2下成像Ie2与步骤6f)中得到的模型在第二虚拟摄像头C2下的成像Im2叠加,得到模型与场景在第二虚拟摄像头C2下的总成像I2;
步骤7,将手机屏幕横向放置,并从中间分为左右两屏,用代码形式将步骤(6)中得到模型与场景在第一虚拟摄像头C1下的总成像I1和模型与场景在第二虚拟摄像头C2下的总成像I2分别写入到手机的左、右屏;再将手机置于VR眼镜前端,用手机屏幕充当VR眼镜的显示屏,用户带上该眼镜看向带有标识图的实验场景,即可实现真实场景与虚拟三维模型的同时立体显示。
以上描述仅是本发明的一个具体实例,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
机译: 利用基于摄像头的手势输入通过虚拟现实环境进行三维导航的系统和方法
机译: 利用基于摄像头的手势输入通过虚拟现实环境进行三维导航的系统和方法
机译: 利用基于摄像头的手势输入通过虚拟现实环境进行三维导航的系统和方法