一种基于增强现实的虚拟现实实现方法与流程

文档序号:11621284阅读:313来源:国知局
一种基于增强现实的虚拟现实实现方法与流程

本发明属于增强现实领域,具体涉及一种基于增强现实的虚拟现实实现方法。



背景技术:

虚拟现实(virtualreality,以下简称vr)技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真,使用户沉浸到该环境中。

增强现实技术(augmentedreality,简称ar),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3d模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。这种技术1990年提出。随着随身电子产品cpu运算能力的提升,预期增强现实的用途将会越来越广。

进入21世纪以来,虚拟现实技术已经有了较快的发展,在军事训练、医疗教育等领域逐渐获得应用。2014年以来,随着新一代的技术的到来,虚拟现实设备成本大幅度下降,重量、体积也大大降低。学术界和工业界都逐渐意识到,虚拟现实技术将对未来的发展产生重大的影响。在工业界,虚拟现实技术有望全面取代基于显示屏的电影和游戏产业。在学术界,虚拟现实技术作为未来重要的显示终端,将大大影响计算机图形学技术的发展。

在虚拟现实技术的基础上,将虚拟事件与现实世界无缝拼接,同时呈现在人类面前的技术称为增强现实技术。许多国际大公司都发现了其不可估量的市场潜力和价值,并投下重金打造自己的产品。例如,谷歌的googleglass、微软的hololens等等。种种事件都表明增强现实技术充满了巨大的机遇。

目前增强现实技术中存在的三个主要难点:一是将现实场景与虚拟物体进行融合显示,需要新型的显示技术;二是由于要与现实场景融合,需要准确地对场景建立三维模型,以便在此基础上准确地显示虚拟物体,相对于彩色双目摄像头系统,本计算机视觉系统采用彩色与深度传感器融合的方式,能够更加准确的得到场景的三维模型信息以及各个像素对应的颜色信息,在进行三维场景测量时大大节约了计算代价以及增加了准确性,这需要强大的计算机视觉测量硬件能力的基础以及准确、快速的算法计算出需要呈现的图像;三是为了使增强现实技术走入人们的日常生活,需要进一步开发基于手势,动作,语音的自由交互技术。



技术实现要素:

本发明的目的是针对现有技术的不足,结合了智能手机、虚拟现实头盔、深度摄像头以及彩色摄像头。提供一种基于增强现实的虚拟现实实现方法。

首先通过深度摄像头和彩色摄像头采集rgb-d(即彩色图像rgb与深度图像depth信息融合后的四通道图像的简称),在生成rgb-d图像的过程中,需要执行三个必要的操作:1.采集深度图像、彩色图像。2.标定深度摄像头、彩色摄像头的摄像头内参、外参。3.对深度图像、彩色图像进行对齐,得到rgb-d图像数据,在此数据的基础上,本发明通过机器学习,识别出现实场景中的目标物体,便于获取物体的信息。并通过边缘检测和对角线判定等一系列方法识别场景中的平面结构,使系统可以基于平面结构在场景中生成目标物体的虚拟三维模型。接着,本发明将获取了虚拟信息的图像结合rgb-d数据,在智能手机上生成双目视图。之后,本发明通过虚拟现实头盔,就可以看到现实场景和虚拟物体。

具体按照以下步骤实施:

步骤一、相机标定配准。

首先对输入的场景的rgb与depth图像序列进行预处理,以实现用棋盘格标定法对相机进行标定。转化矩阵如下:

其中s代表深度相机的缩放因子,u、v是彩色相机像平面的横坐标和纵坐标,a是彩色相机的内参矩阵,r1r2r3代表旋转向量,t是位移向量,x、y是现实三维空间中横坐标和纵坐标。

深度相机和彩色相机的标定,使得两个相机获得的像素之间产生对应关系,相机标定之后无需对接下来获取到的每一帧图片进行配准处理,只要直接将相机获取的rgb与depth图像序列输入相机标定过程中得到的配准模型便可获取rgb-d图像序列。

步骤二、相机定位。

2-1.利用orb特征提取算法对rgb-d图像序列两帧间图片的特征点进行提取,并对得到的特征点进行特定描述,从而得到两帧间图片的特征点相似程度。

2-2.根据所描述的两帧之间特征点相似程度,实现相邻两帧图片的关键点匹配,再对匹配后的特征点进行检测,如果为误匹配,则删除不匹配的关键点,重新对相邻两帧图片的关键点进行匹配;如果匹配正确,则建立优化模型计算出相邻两帧图片间相机的空间位置变化,即相机的旋转矩阵ei与平移向量gi。优化模型如下:

其中,pi和qi分别是相邻两帧图像的特征点,都包含rgb-d信息,都是以三维矩阵形式进行存储,具体的大小视匹配所得的特征点对的数量而定;n为rgb-d四通道图像序列的总帧数。ei是大小为3×3的旋转矩阵,gi是大小为3×1的平移向量。

所述的特定描述和相邻两帧图片的关键点匹配参考orb特征提取算法:rubleee,rabaudv,konoligek,etal.orb:anefficientalternativetosiftorsurf[c]//ieeeinternationalconferenceoncomputervision,iccv2011,barcelona,spain,november.dblp,2011:2564-2571.

步骤三、场景布局识别。

首先通过边缘检测和对角线判定等一系列方法对场景的rgb-d四通道图像序列进行处理,识别出场景中的地板、桌子、墙壁等平面结构并得到其在三维空间中的位置信息,对平面结构特征点的跟踪实现对平面结构在视频中的跟踪。为后期在场景中重建出虚拟物体奠定基础。并获取通过机器学习的方法识别出的场景中的物体信息,便于用户对未知物体信息的检索。

步骤四、双目视图生成阶段。

当已知实际环境的三维模型之后,能够将像素投影到3d空间(即实际环境三维模型的状态空间);估计人眼相机参数,将3d空间(即实际环境三维模型的状态空间)进行投影变换转换成双目视图。

步骤五、虚拟现实实现阶段。

该步骤结合其他步骤输出的结果实现虚拟三维模型呈现于现实场景中的效果。首先,通过步骤四,将相机采集到的rgb-d场景图像转换为双目视图,并将该双目视图呈现于手机屏幕上,然后将手机置于虚拟现实头盔中,达到直接佩戴虚拟现实头盔即可观看到现实场景的效果。随后,通过步骤三识别出场景中的地板、桌子、墙壁等平面结构并得到其所在三维空间中的位置信息,然后根据该位置信息将目标虚拟三维模型构建于该平面上;随着相机的移动,通过步骤二实时得到相机的旋转矩阵和平移向量,并将其作用于虚拟三维模型上,使之与所附着的平面结构呈现相对静止的状态,进而达到虚拟物体自然放置于平面上的效果。当此平面结构脱离视线时,虚拟三维模型也将在视野里消失。当再次识别到平面结构时,将会再次生成虚拟三维模型。

本发明方法具有的优点及有益结果为:

1、本发明的应用范围极广:在教育领域,本发明可应用于讲师上课,为学生展示模型,帮助讲师讲解,方便学生理解;在医疗领域,本发明可以为手术台周围旁观的实习医生提供帮助。在娱乐的角度上,本发明可以在此基础开发逼真的游戏。这项技术能弥补许多行业的缺点,应用广泛。在国外,实习医生通过佩戴3d眼镜来观摩手术,以此达到身处其境的效果;在影视领域,采用虚拟现实和增强现实技术的游戏、电影也越来越多,这为人们提供了一种全新的娱乐方式,增添了许多乐趣;在军事领域,本发明可以给军事训练带来更逼真的效果,甚至在实战中,可以模拟出敌方场景,用以战略部署;在建筑行业,本发明可以向客户展示实体效果,无需到实地参观便会有身临其境的感觉;在其他领域,本发明也可以向用户做远程真实展示,给人类带来极大的便利。可见,本发明具有宽广的应用范围;

2、本发明可以解决模型问题

在如今的教育中,许多模型因无法展示或者无法分解展示,使得老师对其难以讲解,也使学生难以理解。这对教育产生了极大的不便。而本发明的系统则可以通过增强现得方式展示模型,同时通过虚拟现实的方式使得用户能够“真实”地看到模型。

3、本发明可以推进医疗水平提高,

本发明可以帮助实习医生更方便、更清楚地观摩医生做手术,让实习医生能够尽快上岗。同时,该设备还可以在术后让医生再次逼真地看到实验场景,对手术操作进行讨论,从而提高医生的能力。

4、本发明可以增进人与人之间的交流

语音通话、视频聊天的出现让人们之间的沟通更加方便,缩短了人与人之间的距离。但是,这两样技术都难免让人感觉对方不在自己身边。而通过本发明的设备,可以让对方的身影实时地出现在自己面前。通过这种方式,可以促进亲友间的交流,让聊天更加温馨,满足对远方亲友的思念之情。

5、本发明可以提供新的纪念方式

大多数人通过拍摄照片或者视频来纪念某个瞬间或者事情,而现在本发明可以出去新的方式来回顾往事。本发明可以事先拍摄好含有rgb-d信息的视频,然后通过该设备播放此段视频。这样子就能将视频内容逼真地投射到自己眼前,仿佛正在自己面前发生一样。

6、本发明可以军事上增加新的训练项目

培养一名优秀的士兵需要非常昂贵的成本。为了解决士兵一上战场就不知所措的情况,军队往往会进行多次的实战演习或者模拟战场。有时候会对资源造成浪费,对环境造成破坏,而且容易发生伤亡。但是通过本发明的设备,本发明可以适当模拟战争情景,例如有飞机从空中飞过,有导弹即将坠落,有敌军正在进攻等等,这样就可以训练士兵的反应能力、胆量,同时大大地节约了成本。

附图说明

图1是本发明的系统算法总体流程图;

图2是本发明的相机定位阶段流程图;

图3是本发明的场景平面识别阶段流程图;

图4是本发明的双目视图生成阶段流程图。

具体实施方式

下面结合具体实施方式对本发明进行详细的说明。

本发明提出的基于增强现实的虚拟现实实现方法,按照以下步骤实施。其中图1为整体流程图。

步骤一、相机标定配准。

将深度相机structuresensor与智能手机连接并将其固定于ipad之上,使其与智能手机自带彩色摄像头的相对位置保持不变,首先用棋盘格标定法获取相机的内外参数对相机进行校正,并对两种不同传感器获取到的rgb与depth图像进行预处理,通过一定的算法获取图片中物体的特征点,并通过如下方法对每一帧获取到的两种图片进行配准:

数学模型:

通过之前的内参标定工作,得到了深度相机和彩色相机的内参矩阵,彩色相机和深度相机的外参也可以通过世界坐标系(棋盘格)计算得出。

内参矩阵:

外参矩阵:

世界坐标系与相机坐标系的变换(齐次形式):

相机坐标系与像素坐标系的变换(深度相机齐次形式):

rgb-d对齐的目的是将深度图像中描述同一物体的像素放到彩色图像中的对应位置上。

通过以上几个式子,我们可以通过深度图像直接还原出世界坐标系下的三维点云。再通过投影变换将三维点云投影到彩色相机的像素坐标系内,就可以得到深度图像中某个像素与彩色图像中某个像素的对应关系。

1-1:对深度图中的一个像素点d(ud,vd)计算深度相机坐标系下的坐标。

其中:

1-2:还原该像素点d(ud,vd)的三维坐标(世界坐标系)。

1-3:通过该深度图像所对应的世界坐标系中的点坐标,计算彩色相机坐标系下的坐标。

1-4:将世界坐标系下的点坐标变换到彩色相机坐标系下的点坐标。

1-5:将彩色相机坐标系下的点投影变换到彩色图像的像素坐标系下。

1-6:将深度像素的值放到对应像素位置,完成对齐。

d‘(urgb,vrgb)=d(ud,vd)

对第二到第四步进行简化计算。

由于已知了深度相机和彩色相机的外参矩阵w1、w2,

w2to1=w1-w2

以此方法可以减少计算量,即不需要计算世界坐标系中的坐标。

待深度图片和彩色图片配准之后,将深度图片和彩色图片合成为一幅四通道图像序列,此时得到的是带深度信息的彩色图像即前文提到的rgb-d图像序列。

步骤二、相机定位,参看图2。

2-1.利用orb特征提取算法对rgb-d图像序列两帧间图片的特征点进行提取,并对得到的特征点进行特定描述,从而得到两帧间图片的特征点相似程度。

2-2.根据所描述的两帧之间特征点相似程度,实现相邻两帧图片的关键点匹配,再对匹配后的特征点进行检测,如果为误匹配,则删除不匹配的关键点,重新对相邻两帧图片的关键点进行匹配;如果匹配正确,则建立优化模型计算出相邻两帧图片间相机的空间位置变化,即相机的旋转矩阵ei与平移向量gi。优化模型如下:

其中,pi和qi分别是相邻两帧图像的特征点,都包含rgb-d信息,都是以三维矩阵形式进行存储,具体的大小视匹配所得的特征点对的数量而定;n为rgb-d四通道图像序列的总帧数。ei是大小为3×3的旋转矩阵,gi是大小为3×1的平移向量。

所述的特定描述和相邻两帧图片的关键点匹配参考orb特征提取算法:rubleee,rabaudv,konoligek,etal.orb:anefficientalternativetosiftorsurf[c]//ieeeinternationalconferenceoncomputervision,iccv2011,barcelona,spain,november.dblp,2011:2564-2571.

由于本发明是针对实时虚拟现实实现技术,而场景会随使用者的空间位置变换而产生变换,本发明必须捕捉到相机的实时位置变化,即实现相机的实时定位,从而基于步骤三中识别到的场景平面根据场景变化在现实场景中建立出模型库中的物体模型,此时的模型库可以是官方给出,也可以是用户根据实际需求建立。实现本发明想要的虚拟现实。

步骤三、场景布局识别。

要想在真实场景中生成虚拟物体,还需要对真实场景中各部分的结构进行了解,例如本发明需要在场景中的墙壁上生成一幅画,那么首先需要明白哪个部分属于平面,哪些地方是面与面之间的交叉线,这就需要本发明完成场景平面识别阶段。

如图3,将步骤1中得到的rgbd图像序列输入到场景平面识别模块中,具体在场景平面识别模块中的操作如下:

首先,通过边缘检测和对角线判定等一系列方法对场景的rgb-d四通道图像序列进行处理,具体的:状态1是为了检测场景中的直线,这一状态用的是边缘检测方法,需要循环执行,直到识别并且判定出直线,状态2是确定平面,通过对角线判定框定直线,接着判断获取到的平面的深度信息是否符合三维平面函数,如果符合,那么就认为识别出的是正确的平面,从而输出平面的边缘坐标,便于在片面上生成虚拟场景。

其次,通过边缘检测和对角线判定等一系列方法对场景中的地板、桌子、墙壁等平面结构进行识别,并通过特征点跟踪实现平面结构在视频中的跟踪。从而在场景中的平面之上建立即放置模型库中的物体模型。

步骤四、双目视图生成。

由于本发明是通过双眼观察物体,所以必须将图片转化为双目视图,使两眼看到的图片互不干扰,通过双目视差产生3d效果,从而模拟真实场景的效果。用相机模型模拟人眼,估计人眼相机参数,将图像转换成双目视图。

4-1.如图4所示,将步骤一中得到的rgb-d四通道图像序列转化成点云位置(x,y,z,r,g,b),分别与左眼投影矩阵和右眼投影矩阵相乘:

mlproj、mrproj分别表示左眼投影矩阵和右眼投影矩阵。

fnear、ffar、t、b分别表示视域四棱锥的前剪裁面、后剪裁面、顶部、底端的值,l、r代表视域四棱柱前剪裁面的左、右边的值,其下标l、r则分别代表左眼和右眼。因为左右眼观测的视域四棱锥的t、b相同,所以可以共用一个值,而l、r不同,所以得用ll、lr、rl、rr分别表示。

4-2.分别得到左眼视图和右眼视图中顶点的坐标位置,并将其分别映射到屏幕左右半平面上即可得到双目视图序列。

步骤五、虚拟现实实现阶段。

本发明的最后一个阶段,此阶段是对前四个步骤输出结果的合成,其中步骤二、三、四在步骤一完成的基础之上同时进行,当之前的步骤都完成之后步骤五才可进行。

将双目视图图像序列呈现于手机屏幕,手机外接虚拟现实头盔,方便用户佩戴并根据自身的实际情况对焦距以及瞳距进行调整,此时用户从可以观察到实际场景中的三维模型,由于步骤三中实现了场景中平面结构的识别跟踪以及物体识别,用户可以通过增强现实技术在图像序列中的场景结构上生成想要呈现的虚拟三维模型。比如说用户想要了解某件物体置于实际场景中的效果,只需根据需求将此物体的虚拟模型投放到实际空间中即可得到一个直观的观测信息。并且能够基于机器学习的结果实时获取到场景中用户未知或需要了解的物体信息,便于对整个系统的功能做进一步扩展。根据步骤二即相机定位阶段得到的相机实时位置变化信息,使得呈现在用户眼前的场景可以根据实际情况做出实时调整,防止物体的虚拟模型出现失真以及位置不稳定的情况。从而实现基于增强现实的虚拟现实实现方法。

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