一种虚实场景相互遮挡实现方法与流程

文档序号:14156090阅读:731来源:国知局

本发明涉及增强现实技术领域,尤其是一种虚实场景相互遮挡实现方法。



背景技术:

增强现实技术(ar—augmentedreality)是多媒体技术在三维领域实现的重要新手段。增强现实是一种利用计算机系统产生的三维信息来增加用户对现实世界感知的技术。在增强现实系统中,逼真的渲染出虚实物体间的相互遮挡关系,是真正实现虚实无缝融合的重要前提,同时也将有效改善系统的视觉一致性效果;

为使用户从感官效果上确信虚拟环境是其周围真实环境的组成部分,系统应该给用户提供正确的深度感,遮挡关系正是深度信息的有力表征,逼真的遮挡景象是制造令人信服的增强现实环境的重要部分,也是用户在合成场景中获得空间感知和进行交互操作的基础,真实和虚拟物体相互遮挡,可以增加三维虚拟物体存在于现实世界的真实感,在某些特殊的应用领域,只有具备虚实遮挡效果的ar系统才能够发挥其作用;此外,在感知心理学方面,不正确的遮挡会使用户发生虚实位置混淆,因此,增强现实系统必须正确解决虚实遮挡问题;

尽管从上世纪90年代起,研究者们就纷纷投入对增强现实技术的研究,但是目前可查阅的有关ar系统虚实遮挡方面的研究报道相对较少,多年来研究者们似乎把更多的注意力集中在跟踪注册、三维重建等问题上,国内外研究人员针对视频透视式和光学透视式两种ar系统,分别提出了不同的遮挡解决方法,这些方法各有利弊;

国内目前在ar虚实遮挡方面研究较少,而国外虽然已提出一些方法,但大都是基于对真实场景中所有物体三维建模的思想,这就要求事先必须知道真实环境中的全部信息,一旦某对象发生移动,就利用事先制作好的该对象的模型,来实现遮挡,这类方法的问题在于:(1)对真实场景三维建模,需要大量繁琐的前期工作;(2)由于是利用提前制作好的真实物体的模型来实现遮挡,所以真实场景模型一旦制作完成,真实环境中的任何变动都可能导致系统遮挡实现的失败,因此这种ar系统的可移植性差;(3)对于真实场景中的非刚体物,例如人,由于其移动时的体态变化是事先无法准确预测的,因而其提前制作的非刚体物模型也缺乏准确性甚至差别很大,从而导致遮挡失败;光学透视式ar系统具有简单、分辨率高、没有视觉偏差等优点,但它同时也存在着定位精度要求高、延迟匹配难、视野相对较窄和价格高等不足。

本发明就是为了解决以上问题而进行的改进。



技术实现要素:

本发明需要解决的技术问题是提供一种在不需要真实场景的先验知识、不需要对真实环境事先建模的情况下,就能实现虚实场景间的多层相互遮挡的实现方法。

本发明为解决其技术问题所采用的技术方案是:

一种虚实场景相互遮挡实现方法,包括虚实场景获取的方法、虚实场景图像的分解方法、alpha通道的引入方法和虚实多层遮挡最终实现的方法,所述虚实场景获取的方法,其实施步骤为:

(1)真实场景的视频采集;

(2)虚拟场景的制作;

所述虚实场景图像的分解方法,其实施步骤为:

(1)虚拟场景分组建模;

(2)真实场景图像中移动对象的单元划分;

所述alpha通道的引入方法是通过真实场景的视频采集获取oei图像,并为oei图像添加alpha通道;

所述虚实多层遮挡最终实现的方法是通过设计了一种能够有效渲染移动遮挡对象的节点,通过glrender函数完成图像的显示;

进一步的,所述虚拟场景的制作中使用的三维模型和动画制作都是用3dmax制作完成,整个制作流程包括物体造型,材质纹理,动画设置及合成导出四个部分;

更进一步的,所述alpha通道的表现形式为选区,选区将oei图像划分成了两部分;

具体的,所述虚实多层遮挡最终实现的方法是利用openinventor场景树的特性,设计了一种能够有效渲染移动遮挡对象的节点;

其中,所述该方法中使用了场景融合模块程序,所述该场景融合模块程序的硬件运行环境为两台高速计算机、两个摄像头,以及两块分别安装在两台高速计算机机中的视频捕捉卡。

工作原理为:将虚/实环境中具有特殊空间位置特性的对象分离出,即将影响虚实遮挡关系的对象与周围环境中的其他对象分离开,并将其作为独立的单元进行操作控制。这样,在虚实场景的融合过程中,真实场景视频以及虚拟三维图像均不再是一个单元,而是根据遮挡关系的变化,随时被分解成若干不同的单元,以便轻松的控制实现虚实场景间的多层遮挡。

本发明的优点在于:在不需要真实场景先验信息的情况下实现虚实遮挡方法,首先获取虚实场景,然后结合运用目前已有的复杂背景下的运动目标提取技术完成虚实场景图像分解,并充分利用图像的alpha通道特性,实现了虚实物体间的多层遮挡;由于该方法不需要事先了解真实场景,无须对其建模,因而大大减少了前期工作量,而且可以灵活运用于任何真实环境中,具有较好的通用性;另外本方法借用了运动目标提取技术,因而对于非刚体物的遮挡现象也能很好的实现。

附图说明

图1是本发明提出的一种虚实场景相互遮挡实现方法中使用到的室内虚拟家具的拆分重组的流程图。

图2是本发明提出的一种虚实场景相互遮挡实现方法中虚拟场景分解后图像合成的场景树结构示意图。

图3是本发明提出的一种虚实场景相互遮挡实现方法中虚拟场景分解后图像合成的场景树结构示意图。

图4是本发明提出的一种虚实场景相互遮挡实现方法中使用到的虚实场景间的相互遮挡现象示意图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合图示与具体实施例,进一步阐述本发明。

i、虚实场景获取

增强现实(ar)系统中用于场景融合的数据包括两种:一种是真实场景的信息(立体视频信号);另一种是虚拟场景信息(三维模型)。

(1)真实场景的视频采集

真实场景的视频采集是整个场景采集系统的一部分。我们通过安装在头盔上的左右两摄像头,以及两块分别安装在两台pc机中的视频捕捉卡,来实现这部分信号的采集。

(2)虚拟场景的制作

ar系统要求实时、动态逼真地模拟环境。本系统中的三维模型和动画制作都是用3dmax制作完成,整个制作流程包括物体造型,材质纹理,动画设置及合成导出四个部分。

为了使ar系统在视觉上产生强烈的真实感,从而尽可能实现虚实场景的“无缝”融合,我们创造性地将3dmax的建模功能与openinventor的交互式实时三维图形绘制功能相结合,进而产生具有强烈真实感冲击效果的虚拟环境。

ii、虚实场景图像的分解

虚实场景相互遮挡,也就意味着真实物体和虚拟物体在空间位置上是相互穿插的,因此在图像合成时,真实场景视频与虚拟三维图像作为两个单元进行简单叠加,将无法表现其遮挡效果。

基于上述分析,我们考虑应该将虚/实环境中具有特殊空间位置特性的对象分离出,即将影响虚实遮挡关系的对象与周围环境中的其他对象分离开,并将其作为独立的单元进行操作控制。这样,在虚实场景的融合过程中,真实场景视频以及虚拟三维图像均不再是一个单元,而是根据遮挡关系的变化,随时被分解成若干不同的单元,以便轻松的控制实现虚实场景间的多层遮挡。

(1)虚拟场景分组建模

虚拟场景,是在进入ar环境之前,由人工通过三维建模软件提前制作完成的。为了便于在融合过程中进行遮挡控制,我们考虑将虚拟环境中的物体按照一定的组合分解成不同的单元,然后对每个单元分别建模。我们所进行的ar系统研究,主要是针对室内环境的应用展开的。考虑到室内环境范围内的遮挡发生,主要是由用户视点处观察方向上虚实物体空间位置的交错引起的。因此,需要将虚拟场景的物体,按照用户观察方向上的纵深距离从前向后拆分成若干单元。

对于我们的室内虚拟系统,将距离用户视点在同一水平线上的若干家具组合为一个新的单元,照此规则,我们最后将所设计的虚拟家具共分解组合成3个单元,并对其分别建模,如图1所示。这里为方便讨论,我们将三个虚拟单元分别记为vp1、vp2、vp3。这样就为后面的遮挡处理做好了准备。

(2)真实场景图像中移动对象的单元划分

只有当真实场景中的某些对象发生移动,使其自身的空间位置发生改变,从而导致虚实物体间的空间位置产生交错,才造成相互间的遮挡关系。因此,真实场景中的移动对象是产生遮挡现象的关键,我们要将真实的移动对象从视频图像中分离出来,并将其作为一个独立的单元进行操作控制,实现虚实物体的相互遮挡才成为可能。

对于真实场景中移动对象的分解提取,我们可以借用目前已出现的“复杂背景下的运动目标提取”技术。图像中运动目标的提取,是指在视频序列中提取出每一帧图像运动目标的信息[2]。相对于静态图像而言,视频序列图像最大的特点就是图像中富含运动信息。对于运动目标的提取,依照摄像头与捕捉场景之间是否存在相对运动,分为静止背景下的运动目标提取和运动背景下的运动目标提取。

在ar环境中,用户是可以戴着头盔随意转动的,因此用户所观察到的真实场景的视频图像不是静止的,而是运动变化的。这就要求我们必须从动态的而非静止的背景图像中提取出运动目标。

对于动态背景下的运动目标提取,目前的方法大都是根据不同的应用特点有针对性的提出的。我们需要根据ar系统的应用特征,从目前已有方法中选用最适合的。

通常,安装在车辆、飞机等装置上的跟踪摄像头,基本上是处于高速运动状态,因此其拍摄到的背景图像相应的也是高速运动。而ar系统中的摄像头则不同,由于用户的头部转动速度通常是比较慢的,因此安装在头盔上的摄像头所捕捉的背景图像,也是慢速的运动。

针对这种特点,我们择优选择了西北工业大学郑江滨博士[3]提出的“在慢背景运动情况下,使用背景匹配方法进行目标检测的原理”,并将其成功运用到我们的ar系统,最终实现了真实场景中的运动对象提取。

iii、alpha通道的引入

前面我们已经实现了真实场景中运动对象的提取,即得到了只包含真实移动物体的图像。为方便后续讨论,我们将该图像记为oei图像(object-extraction-image)。但是如果将该图像直接与虚拟场景图像以及原真实场景的视频图像简单叠加,将无法实现虚实场景融合的效果。因为图像合成的基本规则决定了屏幕上所显示的最外层图像的优先级别高于内层图像,越往里级别越低。当最外层图像显示时,对应相同象素点的里面各层图像均不可见。

为了使得到的oei图像能够与其它图像进行有效地多层叠加,我们对该图像进行了处理,为其添加了alpha通道。

alpha通道(简称α通道)是在数字图像基色通道之外,决定图像每个象素透明度的一个通道。alpha通道值也称为不透明度(opacity)或覆盖率(coveragepercent-age)。porter和duff[pd84]在1984年首次提出了alpha通道的概念,指出一个象素可以用4个通道表示,即(r,g,b,α),用某个象素点的α值乘以各通道的颜色值来决定该图像各颜色对该象素点的贡献。

alpha通道借用不同的灰度值表示透明度的大小,对8位的α通道,有256级透明度变化范围,α值在0到1之间变化,即将0到1分成256个等级,每一等级对应一个透明度[zyg01]。纯白(α=1,对应255级)为不透明,纯黑(α=0,对应0级)为完全透明,介于白黑之间的灰度值表示部分透明。透明象素(该象素的α=0)从概念上讲意味着该象素已不存在,即象素上的信息不再被使用,但它们可能还占有内存空间。

选区是alpha通道的表现形式,通过alpha通道可以建立任何形状的选区。由于建立正确的选区是图像处理的第一步,选区的处理直接影响着最终的结果。

对于本发明所讨论的内容而言,其选区正是从背景图像中分离出来的运动对象区域,我们将该选区标记为moa(movingobjectarea)。提取出的运动目标的轮廓,将整个oei图像划分成了两部分,一部分是轮廓内的区域,即moa选区;轮廓外的区域则组成了第二部分。

为了表现出遮挡效果,我们需要将运动对象显示于虚拟物体之前,即让运动对象遮挡住后面的虚拟物体;而对于oei图像中运动对象以外的区域,我们希望能够穿过该区域而看到后面的虚拟物体甚至更后面的真实场景图像。因此,我们如下设置oei图像的alpha通道:

上式中α(i,j)表示oei图像中坐标为(i,j)的像素其alpha通道值。对于moa选区内的像素,将其alpha值设置为1,即该区域呈不透明性,从而可以遮挡住其后面的虚拟物体;moa选区以外的像素,其alpha值设置为0,即该区域是完全透明的。另外,为了使运动对象的边缘表现的比较融合,以修正运动目标提取时的边缘计算误差,我们将边缘像素的alpha值设置为0.5,即边缘呈现半透明性,从而使oei图像的两部分之间表现出较好的过渡。

iv、虚实多层遮挡的最终实现

我们将合成场景的渲染结构图设计如下:

对于设置了alpha通道的oei图像,为了将其融合于真实视频与虚拟物体的合成图像中,我们利用openinventor场景树的特性,设计了一种能够有效渲染移动遮挡对象的节点,并将其命名为mon(movingobstructnode)。该节点的图像绘制原理类似于上述我们所设计的backgroundvideo,通过glrender函数完成图像的显示,如图3所示。

真实场景中移动对象的位置变化是随机的、不可预知的,因此虚实场景融合后其相互间的遮挡关系,相应也在无规律的不断变化。为了能够在合成图像中灵活、准确地渲染出这种随时变化的遮挡关系,我们在场景树结构图中每一个虚拟单元后面,都添加了一个mon节点,如图3所示,分别为mon1、mon2、mon3。

当虚实场景没有发生相互遮挡的现象时,所有mon节点均不发挥作用,这里我们称其为处于“休眠”状态。当遮挡现象出现时,依据移动对象所处的空间位置,有些mon节点被“激活”。例如,当真实场景中某对象移动到虚拟单元vp1和vp2之间时(如图4所示),其遮挡关系为:移动对象被vp1遮挡,但同时该对象却又挡住了其后的虚拟单元vp2、vp3。于是我们将包含移动对象信息的oei图像,导入场景树中vp1节点之后的mon1节点中,使该节点被激活,并通过该节点实现oei图像的显示。当然,之后如果由于该对象的不断移动而产生新的遮挡变化时,刚才被激活的节点mon1将被重新置于休眠状态,而由其它节点进入激活状态;

最后,系统在依次渲染场景树各节点的过程中,实现了虚实物体间的多层遮挡渲染,并最终完成了虚实场景的融合。

场景融合模块程序的硬件运行环境为两台高速计算机(3.3ghz四核cpu),真实场景通过左右两摄像头,以及两块分别安装在两台pc机中的视频捕捉卡,来实现这部分信号的采集。开发用的illusion平台是建立在windows平台基础上的,而在windows平台上directx中的directshow是一种windows视频技术通用接口,因此,我们采用了directshow这一软件技术进行视频的采集和处理,视频流分辨率为640*480,24位真彩。

illusion平台是采用openinventor来完成对虚拟模型的处理,三维虚拟场景由3dmax创建好以后,我们对其进行处理并将其导成iv文件格式,然后提供给illusion平台。我们的程序最终的合成显示是由openinventor完成的。虚实场景相互遮挡现象如图4所示。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。

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