一种多视点自由立体显示的三维增强现实方法转让专利

申请号 : CN201110412061.5

文献号 : CN102568026B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘灵珊李阳李东晓王梁昊张明

申请人 : 浙江大学

摘要 :

本发明公开了一种多视点自由立体显示的三维增强现实方法。它的步骤如下:1)双目相机立体拍摄自然场景;2)提取并匹配主相机图像的特征点,实时产生自然场景的三维点云图并计算相机参数;3)计算主相机图像对应的深度图,绘制虚拟视点图像及其深度图并作空洞修复;4)三维制作软件绘制三维虚拟模型,虚实融合模块实现多个视点图像的虚实融合;5)将多路虚实融合图像进行适当的合成;6)3D显示设备提供多视点立体显示。本发明采用双目相机立体拍摄,采用实时性较好的特征提取与匹配技术,不需在自然场景中作标记;虚实融合模块可以实现虚实场景的光照一致性和无缝融合;3D立体显示设备可提供多人多角度的裸眼多视点立体显示效果。

权利要求 :

1.一种多视点自由立体显示的三维增强现实方法,其特征在于它的步骤如下:

1)双目相机立体拍摄自然场景,获取一路主相机图像序列和一路辅相机图像序列并输入计算机;

2)计算机中相机追踪模块提取主相机图像序列每一帧的特征点并匹配特征点,在追踪过程的初始化阶段,人工指定两个图像帧用于立体匹配,产生初始的三维点云图并建立世界坐标系,实时产生自然场景的三维点云图并计算主相机参数和辅相机参数;

3)多视点重建模块根据主相机图像、辅相机图像、主相机参数和辅相机参数计算主相机图像对应的深度图,根据主相机图像、计算出的深度图和指定的虚拟相机参数,用DIBR算法计算多视点自由立体显示需要的多路虚拟视点图像及其深度图,对于虚拟视点图像中存在的空洞和遮挡区域,结合辅相机图像序列,采用深度辅助的时空一致空洞修复算法进行修复;

4)由三维制作软件绘制三维虚拟模型,虚实融合模块根据主相机参数、三维点云图和三维虚拟模型、主视点深度图和虚拟视点深度图进行三维注册,实现虚实融合,光照计算单元计算虚实场景光照,实现虚实光照一致性,无缝融合单元平滑扩散虚实边界的差异性;

5)显示处理模块把主相机图像形成的主视点虚实融合图像,多个虚拟视点图像形成的虚拟视点虚实融合图像进行适当的合成,以适合多视点观察的需要;

6)三维显示器提供裸眼的、适合多人多角度观察的虚实融合图像。

2.根据权利要求1所述的多视点自由立体显示的三维增强现实方法,其特征在于所述的步骤2)为:

1)将相机追踪与特征点映射分为两个线程;

2)用立体匹配算法做三维点云的初始化,用FAST corner算法提取主相机图像序列每一帧的特征点,根据特征点的数量和匹配关系选择关键帧,将关键帧上的特征点映射到三维点云图,根据三维点云图中的特征点坐标与每一主相机图像帧上的特征点坐标之间的映射关系计算当前的相机位置。

3.根据权利要求1所述的多视点自由立体显示的三维增强现实方法,其特征在于所述的步骤4)为:

1)三维注册根据主相机参数、虚拟相机参数、深度图和三维点云中的特征点数据确定三维虚拟模型在主视点图像和虚拟视点图像中的位置,结合三维虚拟模型数据渲染相应视点中的虚拟物体;

2)光照计算单元采用Cook-Torrance模型计算虚实场景光照模型,实现虚实光照一致性;

3)无缝融合单元采用Poisson图像编辑算法将虚拟物体边缘与自然场景的差异作平滑扩散,使虚实融合更具有真实感。

说明书 :

一种多视点自由立体显示的三维增强现实方法

技术领域

[0001] 本发明涉及三维增强现实方法,尤其涉及一种多视点自由立体显示的三维增强现实方法。

背景技术

[0002] 增强现实(Augmented Reality,AR),也被称为混合现实、扩展现实。它通过电脑技术将虚拟信息应用到真实世界,使真实环境和虚拟物体实时地叠加在同一个画面或空间。与传统虚拟现实(Virtual Reality,VR)技术所要达到的完全沉浸的效果不同,增强现实技术致力于将计算机生成的物体叠加到现实景物上,不仅展现了真实世界的信息,而且将虚拟的信息同时显示出来,两种信息互相补充、叠加,增强了真实环境输出特性,因而比VR技术有更加明显的优势。
[0003] 早在20世纪60年代,美国Sutherland教授发明了世界上第一个头戴式显示器(Head-mounted display,HMD),用户能看到线框图叠加在真实环境之上。由于HMD等设备价格高昂,一些不依赖硬件设备而直接将虚拟信息投射到真实空间中的AR技术应运而生。例如1998年美国北卡大学开发出Spatial Augmented Reality;1999年,日本开发了一套C/C++语言库ARToolKit,使用电脑图像技术计算摄像机和标记卡之间的相对位置,使程序员能将虚拟对象覆盖到标记卡上。
[0004] 增强现实的实现方式有以下几类:一是GPS与Sensor结合,即通过GPS取得精度纬度和高度,通过地磁电子指南针(Sensor)取得方向和倾斜角度,最后根据这些位置信息获取相关信息后叠加显示。相关项目有PlaceEngine、SekaiCamera等。此种方式适合在手机上应用,目前的iPhone 3GS和Anroid已经具备硬件装置。第二种方式是将Marker识别,即将Marker图像的信息实现保存,通过图像识别技术,在当前的图像中查找识别Marker图像,然后叠加相关信息,前述的开源项目ARToolkit即属于此类。然而此类方法的缺点在于需要实现定义Marker图像,扩展功能受到限制,适用于游戏、广告以及在指定Marker图像上合成CG的场合。第三种实现方式为图像分析识别,它通过对摄影图像进行解析,识别出风景、物体和空间,再叠加相关信息,例如PTAM、SREngine等项目。该方法不需要特定信息,设备简单,通过解析图像建立虚拟坐标,能够很自然地合成现实图像和CG,可以说是目前AR研究中最重要的方向。然而此类方法尚有很多问题亟待解决,例如需要处理数据量大、技术难度大等。
[0005] 虚实融合中的遮挡检测是增强现实中的一个重要问题,正确的遮挡关系是实现良好融合效果的重要前提;而现有的大多数增强现实系统只是简单地将虚拟物体叠加在真实场景图像上,造成真实场景图像始终被虚拟物体所遮挡。现有的大多数增强现实系统采用单摄像机获取场景信息,该种方法操作简便,设备成本低,但是难以获取深度信息因而难以解决虚实融合中的遮挡问题。2003年,日本的Masayuki Kanbara提出一种基于立体视觉的增强现实系统,该系统采用双目摄像机获取场景信息,计算物体所在区域场景的深度信息;通过检测场景中的标志点位置计算坐标系转换矩阵,通过比较一定范围内真实场景深度值与虚拟物体值计算虚实融合深度图,解决遮挡检测问题。然而该系统有两个不足之处:一是需要标记图像,不适合应用到自然场景;二是显示模块需要HMD,不能实现裸眼三维显示。
[0006] 增强现实的显示技术可以分为以下几类:头盔显示器(HMD)显示、投影式显示(Projection display)、手持式显示器(Hand Held Display,HHD)显示和普通显示器(Monitor-based Display)显示。随着个人电脑性能的不断改进,普通显示器显示的增强现实技术受到越来越广泛的应用,移动设备上的AR技术和应用开发也受到更多的关注。早期的增强现实系统采用HMD实现三维显示,但HMD价格昂贵,佩戴不便;普通显示器只能实现二维显示,用户体验上远不如三维显示的效果。2011年3月台湾工业技术研究院的Tzuan-Ren Jeng等人发表了《New 3D Image Technologies Developed in Taiwan》,该文章介绍了一种使用ARToolKit融合三维模型与真实场景的方法,并指出三维增强现实可作为未来裸眼三维电视的扩展功能。但文章中介绍的系统采用标记物检测场景,不能扩展到自然场景;显示方法采用普通的电脑屏幕实现二维显示。华为技术股份有限公司发明的“一种实现三维增强现实的方法及系统”(专利号为200610101229)公开了一种三维增强现实的实现方法及系统,该发明描述了从真实环境中获取二维可视编码标志物的视频帧,将虚拟图形帧和真实环境中的二维可视编码标志物视频帧合成的方法,但是没有涉及三维显示设备。2009年,上海永晶石信息技术有限公司公开了“基于图像特征点提取与随机树分类的增强现实方法及系统”(专利号为200910048113.8),该发明通过选择标志物正视图并对标志物进行训练获得训练数据的方法计算标志物图像的相机内部参数并进行校正,基于训练数据识别标志物,利用提取出的标志物位置矩阵确定模型的位置,绘制虚拟模型。该发明仍然依赖于标志物的提取与识别,只能在二维图像上合成三维模型,没有涉及多视点立体显示。专利号为200810062854.7的发明公开了“一种自然三维电视系统”,该系统一种由多目立体相机获取场景彩色图像,提取主相机彩色图像、深度图像和辅相机遮挡信息,经分层编码、传输和解码后通过视点重构模块,重构出主相机视点、辅相机视点和虚拟视点,经显示处理模块合成一个显示器显示的图像。该发明仅限于自然场景的拍摄、内容制作和立体显示,未涉及虚拟物体与现实场景的融合。

发明内容

[0007] 本发明的目的是克服现有增强现实系统中相机追踪与显示模块的不足,提供一种多视点自由立体显示的三维增强现实方法。
[0008] 多视点自由立体显示的三维增强现实方法的步骤如下:
[0009] 1)双目相机立体拍摄自然场景,获取一路主相机图像序列和一路辅相机图像序列并输入计算机;
[0010] 2)计算机中相机追踪模块提取主相机图像序列每一帧的特征点并匹配特征点,实时产生自然场景的三维点云图并计算主相机参数和辅相机参数;
[0011] 3)多视点重建模块根据主相机图像、辅相机图像、主相机参数和辅相机参数计算主相机图像对应的深度图,根据主相机图像、计算出的深度图和指定的虚拟相机参数,用DIBR算法计算多视点自由立体显示需要的多路虚拟视点图像及其深度图,对于虚拟视点图像中存在的空洞和遮挡区域,结合辅相机图像序列,采用深度辅助的时空一致空洞修复算法进行修复;
[0012] 4)由三维制作软件绘制三维虚拟模型,虚实融合模块根据主相机参数、三维点云图和三维虚拟模型、主视点深度图和虚拟视点深度图进行三维注册,实现虚实融合,光照计算单元计算虚实场景光照,实现虚实光照一致性,无缝融合单元平滑扩散虚实边界的差异性;
[0013] 5)显示处理模块把主相机图像形成的主视点虚实融合图像,多个虚拟视点图像形成的虚拟视点虚实融合图像进行适当的合成,以适合多视点观察的需要;
[0014] 6)三维显示器提供裸眼的、适合多人多角度观察的虚实融合图像。
[0015] 所述的步骤2)为:
[0016] 1)将相机追踪与特征点映射分为两个线程;
[0017] 2)用立体匹配算法做三维点云的初始化,用FAST corner算法提取主相机图像序列每一帧的特征点,根据特征点的数量和匹配关系选择关键帧,将关键帧上的特征点映射到三维点云图,根据三维点云图中的特征点坐标与每一主相机图像帧上的特征点坐标之间的映射关系计算当前的相机位置。
[0018] 所述的步骤4)为:
[0019] 1)三维注册根据主相机参数、虚拟相机参数、深度图和三维点云中的特征点数据确定三维虚拟模型在主视点图像和虚拟视点图像中的位置,结合三维虚拟模型数据渲染相应视点中的虚拟物体;
[0020] 2)光照计算单元采用Cook-Torrance模型计算虚实场景光照模型,实现虚实光照一致性;
[0021] 3)无缝融合单元采用Poisson图像编辑算法将虚拟物体边缘与自然场景的差异作平滑扩散,使虚实融合更具有真实感。
[0022] 本发明采用双目相机立体拍摄,采用实时性能较好的自然特征提取与匹配算法,不需要在拍摄的自然场景中作标记,减少了场景拍摄的限制,可以实时产生自然场景的三维点云图并获取相机参数;虚实融合模块利用主视点深度图和虚拟视点深度图处理虚实遮挡问题并实现虚实场景的光照一致性和无缝融合,提供多个视点的虚实融合图像;3D立体显示设备可提供多人多角度的裸眼多视点立体显示效果。

附图说明

[0023] 图1是多视点自由立体显示的三维增强现实方法流程图;
[0024] 图2是本发明的相机追踪流程图;
[0025] 图3是本发明的三维特征点映射流程图;
[0026] 图4是本发明的真实场景三维点云图示例;
[0027] 图5是本发明的虚实场景融合示例。

具体实施方式

[0028] 多视点自由立体显示的三维增强现实方法的步骤如下:
[0029] 1)双目相机立体拍摄自然场景,获取一路主相机图像序列和一路辅相机图像序列并输入计算机;
[0030] 2)计算机中相机追踪模块提取主相机图像序列每一帧的特征点并匹配特征点,实时产生自然场景的三维点云图并计算主相机参数和辅相机参数;
[0031] 3)多视点重建模块根据主相机图像、辅相机图像、主相机参数和辅相机参数计算主相机图像对应的深度图,根据主相机图像、计算出的深度图和指定的虚拟相机参数,用DIBR算法计算多视点自由立体显示需要的多路虚拟视点图像及其深度图,对于虚拟视点图像中存在的空洞和遮挡区域,结合辅相机图像序列,采用深度辅助的时空一致空洞修复算法进行修复;
[0032] 4)由三维制作软件绘制三维虚拟模型,虚实融合模块根据主相机参数、三维点云图和三维虚拟模型、主视点深度图和虚拟视点深度图进行三维注册,实现虚实融合,光照计算单元计算虚实场景光照,实现虚实光照一致性,无缝融合单元平滑扩散虚实边界的差异性;
[0033] 5)显示处理模块把主相机图像形成的主视点虚实融合图像,多个虚拟视点图像形成的虚拟视点虚实融合图像进行适当的合成,以适合多视点观察的需要;
[0034] 6)三维显示器提供裸眼的、适合多人多角度观察的虚实融合图像。
[0035] 所述的步骤2)为:
[0036] 1)将相机追踪与特征点映射分为两个线程;
[0037] 2)用立体匹配算法做三维点云的初始化,用FAST corner算法提取主相机图像序列每一帧的特征点,根据特征点的数量和匹配关系选择关键帧,将关键帧上的特征点映射到三维点云图,根据三维点云图中的特征点坐标与每一主相机图像帧上的特征点坐标之间的映射关系计算当前的相机位置。
[0038] 所述的步骤4)为:
[0039] 1)三维注册根据主相机参数、虚拟相机参数、深度图和三维点云中的特征点数据确定三维虚拟模型在主视点图像和虚拟视点图像中的位置,结合三维虚拟模型数据渲染相应视点中的虚拟物体;
[0040] 2)光照计算单元采用Cook-Torrance模型计算虚实场景光照模型,实现虚实光照一致性;
[0041] 3)无缝融合单元采用Poisson图像编辑算法将虚拟物体边缘与自然场景的差异作平滑扩散,使虚实融合更具有真实感。
[0042] 所述的相机追踪模块采用基于特征点检测的追踪方法,逐帧处理主相机获取的图像序列,估计当前帧的主相机参数并产生自然场景的三维特征点云图。相机追踪和特征点映射分为两个线程,如图2、图3所示。追踪过程开始前,相机需要经过标定,确定相机参数。在追踪过程的初始化阶段,人工指定两个图像帧用于立体匹配,产生初始的三维点云图并建立世界坐标系。初始化以后,预处理单元根据运动模型粗略估计相机位置。特征点检测单元用FAST Corner算法检测当前帧的特征点,将三维点云图中的特征点映射到当前帧平面并将检测出的特征点与映射过来的特征点作匹配,根据匹配关系更新相机位置。该模块输出每一帧的相机位置参数以及自然场景三维点云图。三维点云示例图如图4所示。
[0043] 所述的多视点重建模块包括立体匹配单元、深度计算单元、虚拟模型制作单元、DIBR单元和空洞填补单元,从一路主相机图像序列、一路辅相机图像序列和主相机参数计算并输出主视点图像序列(主相机图像序列)及其深度图序列、多路虚拟视点图像序列及其对应的深度图序列。立体匹配单元从主相机图像序列和辅相机图像序列中提取视差信息,深度计算单元利用视差信息和相机参数计算主相机图像对应的深度图。根据所需的虚拟视点位置与主相机位置之间的关系确定虚拟视点图像的相机模型,DIBR单元利用主相机彩色图像、对应的深度图以及虚拟视点图像所在位置的相机模型渲染出虚拟视点图像以及对应的虚拟视点深度图。空洞填补单元利用时间方向上可获得的场景信息和空间方向上可获得的纹理信息进行时空一致的空洞修复算法。在时间方向上,利用前后帧中可见的场景信息修复当前时刻虚拟视点图像帧中的空洞区域;在空间方向上,利用相似的背景纹理信息修复空洞区域。虚拟模型制作单元采用3DS MAX软件绘制3D模型,制作完后用Wcvt2pov的转换软件将.3ds类型的文件转换为符合OpenGk格式的C类型文件,用以显示处理。
[0044] 所述的虚实融合模块包括三维注册单元、光照计算和无缝融合单元。三维注册单元根据相机参数计算每一关键帧的模型变换参数,确定三维虚拟模型在各个视点图像中的位置和视角,根据主视点深度图和虚拟视点深度图以及三维虚拟模型数据分析三维虚拟模型与自然场景之间的遮挡关系,并将三维虚拟模型叠加到主视点图像和各个虚拟视点图像上,形成主视点虚实融合图像和多路虚拟视点虚实融合图像。光照一致性指虚拟物体与背景图像应达到一致的光照效果,即虚实一致的明暗和阴影效果。光照计算单元采用基于图像光照技术来表达并获取真实场景的光照信息,采用Cook-Torrance光照模型计算虚实场景光照,并把虚拟物体材质属性考虑到实时光照计算中,模拟常见不同材质的虚拟对象光照效果,实现常见不同材质的虚拟对象在复杂光照条件下的实时绘制算法。Cook-Torrance模型将光照分为两个方面考虑:漫反射光和镜面反射光,表达式如下所示:
[0045] I=kaIpa+kdIpd(L*N)+ksIpsDkFG/(N*V) (1)
[0046] 其中,kaIpa是环境光反射分量,ka是环境光反射系数,kdIpd(L*N)是漫反射分量,ksIpa是镜面反射分量,ks是镜面反射系数,Ips是入射光镜面反射有效光强,L是入射光方向,N是物体表面某点法向量方向,Dk是位平面斜率分布函数,一般用高斯分布函数表示,F是菲涅耳函数,G是几何衰减因子,主要考虑由于微平面间互相遮挡使部分光线不能反射出去从而引起的镜面反射分量衰减。由于真实场景中的光照相当复杂,难以用计算机图形学中的虚拟光源模拟,基于图像光照技术的复杂环境光能记录真实场景中最亮区域和最暗区域的照明信息,并以此代替虚拟光源“照亮”虚拟对象,使虚拟物体能很好地融入周围的真实场景中。环境映射技术可以生成物体表面复杂的光照效果,通过将入射光照表示在纹理中实现复杂的光照模型,通常可以通过计算双向反射分布函数BRDF的漫反射分量和镜面反射分量得到原来贴图的漫反射贴图和镜面反射贴图。光照计算单元根据Cook Torrance光照模型计算自然场景图像的光照系数,使用OpenGL着色器完成漫反射计算,通过环境映射技术对镜面反射部分进行模拟,实现常见不同材质的虚拟物体在复杂光照条件下的实时绘制算法。
[0047] 无缝融合单元采用Poisson编辑算法利用图像梯度场对待融合区域进行引导插值,将图像融合问题归结为求目标函数最小化问题(如表达式2所示)。在源图像向量场的引导下,计算目标图像的内插函数,将源图像与目标图像边界上的差异平滑扩散到融合图像块中,达到融合边界的目的。
[0048] 边界条件 (2)
[0049] 其中v表示源图像的向量场,f表示待求的标量函数,Ω表示目标图像中的闭集。表达式(2)的解是Dirichlet边界条件下Poisson方程的解:
[0050] Δf=dfvv边界条件 (3)
[0051] 所述的无缝融合单元是可选择操作单元。当虚拟物体与是真实场景内容相关,需要融入平滑过渡到真实场景中时,选择执行无缝融合单元,将虚拟物体边缘与真实场景的差异平滑扩散到图像中,增强虚实融合的真实感。
[0052] 所述的显示处理模块把虚实融合模块生成的主视点虚实融合图像和多路由多视点重建模块和虚实融合模块生成的虚拟视点虚实融合图像进行适当的合成,以适合多视点观察的需要。以9个视点为例,假定合成立体图像的分辨率是H*V,对9个视点图像进行采样,每个视点图像的垂直分辨率采样成H/h,水平分辨率采样成H/h,其中,v*h=9,v取最接近3的整数值,最后根据实际显示的LPI值和实际倾斜角以及LCD显示器的点距得到所需要的立体图像。立体显示设备是一种能提供裸眼的、适合多人多角度观察的立体显示设备。本实验室采用的是一种2D/3D自适应的显示器,是一种基于柱镜光栅LCD自由立体显示设备。