一种增强现实的方法与流程

文档序号:12472322阅读:305来源:国知局
一种增强现实的方法与流程

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



背景技术:

增强现实(Augmented Reality:AR)技术,它是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是把原本在现实世界的一定时间空间范围内很难体验到的实体信息(视觉信息,声音,味道,触觉等),通过电脑等科学技术,模拟仿真后再叠加,将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验。真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。

增强现实技术,不仅展现了真实世界的信息,而且将虚拟的信息同时显示出来,两种信息相互补充、叠加。在视觉化的增强现实中,用户利用头盔显示器,把真实世界与电脑图形多重合成在一起,便可以看到真实的世界围绕着它。

增强现实技术包含了多媒体、三维建模、实时视频显示及控制、多传感器融合、实时跟踪及注册、场景融合等新技术与新手段,增强现实提供了在一般情况下,不同于人类可以感知的信息。

AR技术的实现主要通过摄像头获取现实环境再通过处理器将虚拟的物体合成与渲染到显示屏上,而目前系统只能识别简单的自然物体以及特制的标志物,对体积较大,形状比较复杂的自然物体的识别率还有待提高。

现有的AR系统主要采用手机作为实现设备,但是这些设备不仅运算能力有限,无法渲染出精致的虚拟物体,同时手机开放的显示环境也无法带来浸入式的体验。目前,采用计算机视觉技术通过手机摄像头捕捉现实环境被广泛使用,但由于摄像头的局限性,视角与精度有限,无法提供人眼般真实的显示效果。



技术实现要素:

针对以上现有技术、产品的不足,本发明提供一种基于鱼眼摄像头与头戴显示器的增强现实系统和方法。

为实现上述目的,本发明采用以下技术方案予以实现:

一种基于权利要求1所述的系统的增强现实的方法,包括以下步骤:

步骤1,确定目标物体和虚拟物体,获取目标物体和虚拟物体的图片,从图片中提取目标物体的特征点信息和虚拟物体的特征点信息,建立数据库,将目标物体的特征点信息和虚拟物体的特征点信息以相同ID的形式存入数据库中;

步骤2,初始化摄像头参数,摄像头参数包括摄像头分辨率和帧率;实时获取真实环境影像每一帧并提取每一帧的特征点,当某一帧图像特征点与目标物体的特征点的欧式距离的大于0.01,将该帧图像标记为目标图像B;获取目标物体在该帧目标图像B中的二维空间信息矩阵P;

步骤3,根据步骤2获得的目标物体在该帧目标图像B中的二维空间信息矩阵P,在头戴显示器的显示视口中绘制步骤2所述的该帧目标图像B,再将虚拟物体绘制在其对应的目标物体上。

步骤2具体包括,

2.1,利用摄像头获取真实环境影像,获取真实环境影像的每一帧;

2.2,提取步骤3.1中获取的真实环境影像的每一帧图像的特征点,分别将每一帧影像的特征点与数据库中存放的目标物体的特征点进行比较,当某一帧图像特征点与目标物体的特征点的欧式距离的大于0.01,将该帧图像标记为目标图像B;

2.3,根据步骤3.2检测到的目标图像B的特征点信息,计算目标物体在步骤3.2所述的该帧目标图像B中的坐标点矩阵M;

2.4,获取相机的内部参数矩阵A;

2.5,利用公式:P=A*[R|T]*M,得到目标物体在步骤3.2中所述的该帧目标图像B中的二维空间信息矩阵P,其中,M表示目标物体在该帧目标图像B中的坐标点矩阵;[R|T]表示欧氏变换,其中矩阵R表示目标物体的旋转信息矩阵,T表示目标物体的平移信息矩阵,A表示相机内部参数矩阵。

步骤3具体包括,

3.1,根据步骤2.5中获得的目标物体在该帧目标图像B中的二维空间信息矩阵P,绘制步骤2.2中获取的该帧目标图像B;

3.2,在步骤3.1绘制的该帧目标图像B上,根据数据库中存放的虚拟物体的特征点信息将虚拟物体绘制在其对应的目标物体上。

本发明和现有技术相比具有以下技术效果:

1、本发明弥补了目前市场上AR系统只支持手机端的局限性,通过头戴显示器和鱼眼摄像头结合,为体验者提供沉浸式的增强现实体验。

2、本发明提供的增强现实方法,可以支持识别多个目标物体,即可放置多个目标物体,在建立数据库的时候,存入多个目标物体的特征点信息,将使增强现实的体验更加丰富和多样化。

3、本发明使用电脑来进行数据处理与虚拟物体渲染,在数据处理过程更加迅速准确,具有较高的性能,通过针对不同环境可渲染不同的虚拟物体且保持较高的精度,整个系统具有较高的扩展性和移植性。

附图说明

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

图2为本发明方法得到的增强现实效果图;

图3为本发明选取的目标物体图;

图4为本发明选取的虚拟物体图;

图5为本发明获取的目标图像B的图像。

具体实施方式

本发明提供一种增强现实的方法,在本实施例中,本发明提供的的增强现实方法基于本实施例中提供的增强现实系统来实现;本实施例中提供的增强现实系统,包括头戴显示器、摄像头和计算机,其中头戴显示器和摄像头分别和计算机相连,其中摄像头选用鱼眼摄像头。

本发明提供的增强现实的方法,包括以下步骤:

步骤1,确定目标物体和虚拟物体模型,提取目标物体的特征点信息和虚拟物体的模型信息,建立数据库,将目标物体的特征点信息和虚拟物体的模型信息以相同ID的形式存入数据库中;

如图3,本实施例中选用实验室桌子作为目标物体,如图4为本实施例中将青花瓷盘作为虚拟物体,分别根据桌子和青花瓷盘的图片,使用haar算法提取目标物体的特征点信息和虚拟物体模型信息,在C++中建立数据库,以相同ID的形式将目标物体的特征点信息和虚拟物体的模型信息存入建立的数据库中。

为了特征点信息提取的完整性,效果更好,从不同角度拍摄多张目标物体的照片,使用haar算法分别提取每一张照片的特征点信息,其中特征点信息包括目标物体的形状及几何特征。

步骤2,初始化摄像头参数(包括摄像头分辨率和帧率);本发明中设置摄像头参数分辨率维1280*1024,帧率为每秒30帧。实时获取真实环境影像每一帧并提取每一帧的特征点,此处的真实环境影像是摄像头获取的存在目标物体的现实环境中的影像,当某一帧图像特征点与目标物体的特征点的欧式距离的大于0.01,将该帧图像标记为目标图像B;其中B表示大于等于1的正整数,目标图像B获取目标物体在该帧目标图像B中的二维空间信息矩阵P;具体包括,

2.1,利用摄像头获取真实环境影像,通过调用artoolkit中的函数arVideoGetImage来获取摄像头获取的真实环境影像的每一帧;

2.2,用haar算法提取步骤2.1中获取的真实环境影像的每一帧图像的特征点,使用RANSAC算法分别将每一帧图像的特征点与数据库中存放的目标物体的特征点进行比较,当某一帧图像特征点与目标物体的特征点的欧式距离的大于0.01,同时将该帧图像标记为目标图像B,如图5,为本实施例摄像头获取的真实环境影像的第80帧图像,通过提取该第80帧图像的特征点,通过计算该第80帧图像的与数据库中存储的目标物体的特征点的欧式距离为0.02,则该第80帧图像标记为目标图像B。

优选的,建立数据库提取目标物体特征点时,从不同角度拍摄多张图片,对于每一张图片分别对其特征点进行提取,这样就可以获得目标物体的多个特征点,当检测目标图像B时,对于每一帧图像的特征点分别求得与目标物体的多个特征点之间的欧式距离,求得这些距离值的均值,当距离的均值大于0.01时,则认为检测到目标物体这样判断更加准确;实验中设置了不同的值进行调试,结果发现在设置为0.01时识别率最高,识别度最稳定,本实施例中将被标记为目标图像B中随机抽取10张,分别计算出这10张目标图像B的特征点和目标物体的特征点之间的欧式距离为,0.02,0.012,0.03,0.014,0.06,0.028,0.017,0.04,0.022,0.021。

本发明中对阈值0.01的选取时,通过在opencv中调用solveransac函数,在数据库中存储的目标物体的特征点信息中,随机抽取10个特征点作为样本集P,设定阈值t,将数据库中目标物体其余的特征点与样本集P的欧式距离大于设定的阈值t的点构成集合S,用最小二乘法对集合S内的点进行曲线拟合,得到新的集合P*,将数据库中目标物体其余的特征点与新的集合P*的欧式距离大于设定的阈值t的点构成集合S*,重复上述步骤7-10次,找到合适的阈值t的取值,这样处理得到的阈值t,可以满足在进行提取目标物体的特征点和目标图像B特征点比较时,目标图像B的特征点更加接近目标物体的特征点,使得对目标图像B的识别度更高,识别度也稳定。

2.3,根据步骤2.2检测到的目标图像B的特征点信息,使用非迭代p-n-p算法计算计算目标物体在步骤2.2所述的该帧目标图像B中的坐标点矩阵M,其中本实施例中计算得到桌子在获取的目标图像B中的坐标点矩阵M为:

其中矩阵为4列表示提取表示目标物体(即桌子)在获取的目标图像B中的四个点,每行数据中的三个数分别表示每个点的X,Y,Z坐标。

2.4,调用opencv中Tsai算法,寻找相机的内部参数矩阵A(包括焦距、焦点、和失真模型参数),本实施例中得到的相机内部参数矩阵为:

2.5,利用公式:P=A*[R|T]*M,得到目标物体在目标图像B中的二维空间信息,其中,M表示目标物体在真实环境中的坐标点矩阵;[R|T]表示欧氏变换,是一个3*4矩阵,A表示相机内部参数矩阵,P表示目标物体在目标图像B中的二维空间信息矩阵;其中欧氏转换[R|T]通过对矩阵A和矩阵M调用opencv的solvePnP函数获取;其中矩阵R表示目标物体的旋转信息矩阵,T表示目标物体的平移信息矩阵,本实施例中得到欧式转换[R|T]为;矩阵R为,矩阵T为

步骤3,根据目标图像B中的二维空间信息矩阵P绘制目标图像B,将虚拟物体渲染在目标物体上,具体包括,

3.1,根据步骤2.5中获得的目标物体在目标图像B中的二维空间信息矩阵P,调用openGL中的show函数在头戴显示器的显示视口中绘制步骤2.2中获取的该帧目标图像B;

3.2,将欧氏转换[R|T]转化成OpenGL适用的格式,调用OpenGL函数库的DrawObject函数根据数据库中存放的虚拟物体的特征点信息将虚拟物体绘制在其对应的目标物体上,如图2为本方法得到的效果图,其中桌子为目标物体,青花瓷盘为虚拟物体,通过本发明所述的方法,将虚拟物体(青花瓷盘)清楚的绘制在目标物体(桌子)上。

在虚拟物体和目标物体的选取时,可以同时选择多个目标和虚拟物体,在建立数据库时,只需保证多个目标物体和多个虚拟物体以相同的ID形式存入数据库中即可,这样在步骤3.2中最后调用数据库中的虚拟物体信息时,即可将多个虚拟物体绘制在目标物体上。

本发明的增强现实方法,在获取目标图像B时,是利用摄像头实时获取的,通过提取目标图像B的特征点信息和数据库中存放的目标物体的特征点进行比较,当目标图像的特征点和目标物体的特征点之间欧式距离大于所设阈值时,即在头戴显示器的视口中绘制得到的目标头像B,这个过程是一个连续且实时的过程,即摄像头不断的获取多个目标图像,并立即将获取的目标图像在头戴显示器中绘制,随着目标图像的不断变化,在显示器的显示视口中绘制的目标图像也在实时变化。

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