ww增强现实场景光源的实时检测方法和真实感渲染框架
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第18卷第8期2006年8月
计算机辅助设计与图形学学报
JOURNAL OF COMPU TER 2AIDED DESIGN &COMPU TER GRAPHICS
Vol 118,No 18Aug 1,2006
收稿日期:2005-07-14;修回日期:2006-04-27
基金项目:科技部“十五”重大科技攻关项目(2001BA101A08203)
增强现实场景光源的实时检测方法和真实感渲染框架
姚 远
1,2)
朱淼良2) 卢 广
2)
1)(上海大学快速制造工程中心 上海 200444)2)
(浙江大学计算机科学与技术学院 杭州 310027)(yao yuan @zju 1edu 1cn )
摘要 首先通过检测视频定位标记表面辐照度的变化和真实光源之间的关系建立模型;然后在交互过程中迭代计算真实场景中光源的强度和方向,并将它集成到一个高效的基于场景管理的增强现实应用开发框架中1实验结果表明,使用该算法自动生成的虚拟光源可以近似地逼近真实场景的光照,在具有一个或多个真实光源的增强现实环境中使虚拟物体和真实物体能产生近似一致的光照效果1关键词 增强现实;光源检测;辐射度中图法分类号 TP391172
A Frame work for Lighting Detection and Scene R endering in AR Environment
Yao Yuan 1,2) Zhu Miaoliang 2) Lu Guang 2
)
1)(Rapi d M anuf act ure Engi neeri ng Center ,S hanghai U niversity ,S hanghai 200444)2)
(College of Com puter Science and Technology ,Zhejiang U niversity ,Hangz hou 310027)
Abstract This paper proposed a dynamic light detection method for marker based augmented reality (AR )system 1It builds a detection model based on the relationship between the irradiance of the AR Toolkit markers and the real light 1This model can generate virtual lights to simulate the real lights gradually ,is im 2plemented in a scene graph based augmented reality development framework 1Experiments with one and two lights show that the virtual lights estimated by this method can generate consistent effect in the real environ 2ment 1
K ey w ords augmented reality ;light detection ;irradiance
0 引 言
增强现实技术[1]可以将虚拟对象叠加在3D 真
实场景中,帮助使用者在真实的世界中看到由计算机生成的物体和信息1它具有非常广泛的应用领域,例如可以在复杂操作中提供辅助信息、交通导航、支持虚实结合的计算机辅助设计界面和在训练或学习中的增强理解等1增强现实系统可以提供更加自然的人机交互功能,使用者可通过透射式头盔、
数据手套和视频标记等设备与虚拟信息和物体交互
或者进行多人协同工作1从一定意义上来说,增强现实技术比传统的虚拟现实技术更容易实现并且使用更加安全1
为了使计算机生成的虚拟物体更加真实地与周围环境融合,需要对嵌入的虚拟物体进行与场景一致的真实感渲染1这种方式最早出现于Raskar 等展示的系统[2],该系统使用投影仪赋予真实物体各种纹理,并且实现了真实物体和虚拟物体在虚拟光线下产生的阴影1Naemura 等[3]确切地提出了虚拟光
源和虚拟阴影的概念,目标是实现一个支持阴影效
果的混合现实环境,他们根据阴影与虚拟物体和真实物体之间的相互关系将阴影分为4类1在类似CAV E系统的环境中,用投影仪在真实场景中制造出虚拟物体的阴影1Haller等[4]提出的方法可以在实时的增强现实应用中分别产生虚拟物体2虚拟物体、虚拟物体2真实物体和真实物体2虚拟物体等3种阴影形式,但是在渲染前需要预先获得真实场景的模型和预定义虚拟光源位置1在环境光的检测方面,许多研究集中在建立交互式的3D场景生成系统[526],系统通常需要利用一组不同视角照片重构几何物体,用另外一组在不同光照条件下拍摄的同一视角的照片重构场景的光学模型1但是,这类系统需要一个准备过程来生成场景的光学模型,因此并不适合实时应用环境1Jacobs等[7]通过使用Can2 ny边缘检测的方法从真实场景中提取已知物体的阴影轮廓,通过与已知物体的几何模型比较对真实场景中的光照方向进行估算,以此构造虚拟光源和虚拟物体的阴影,但这种方法要求已知场景中真实物体的几何模型和设置光源能产生较清晰的阴影1 Jaakko等[8]考虑了虚拟光源对真实场景的影响,实现了使用虚拟光源照亮真实场景的效果,但其前提条件是在实现中必须首先获得真实场景的几何信息1 Kanbara等[9]在AR Toolkit[10]定位标记的中心安装了一个反光球体,通过分析球体图像中的光照分布情况来估算真实场景中点光源的位置1周雅等[11]使用了一个三色棱的正方体作为三维标志物,利用一个CCD摄像机对包含三维标志物的真实环境进行拍摄,根据图像中标志物的明暗状况逆推出真实环境中的光照情况,进而构造一个或多个虚拟光源来实现增强现实系统中的光照一致性效果,他们探讨了单光源、多光源和自然光源等3种不同照明情况光源检测问题1
综上所述,在增强现实环境中进行真实感渲染时都需要一些预先设定场景或设备,这给应用系统的配置增加了一定的复杂性1为了尽量简化应用,本文提出基于定位标记的实时场景光源检测方法,直接利用定位标记的漫反射表面特性建立模型,在系统运行的过程中动态地构造虚拟光源,并使其逐步逼近真实环境光源的位置和强度1这种方法被封装在ARSGF(augmented reality scene graph based framework)中,可以为快速开发具有真实感渲染能力的增强现实应用提供支持1最后给出实现实例11 场景光照检测模型
真实场景中的光照情况往往非常复杂,绝大部分光线来自于各种物体表面的漫反射1但是在一般的增强现实系统、尤其是桌面增强现实系统的应用环境中,由一个或多个光源产生的光照效果已经能使虚拟物体产生真实的存在感,可以帮助用户进行定位和辨别物体间的距离1因此,本文提出的模型忽略了环境光的影响,只检测场景中的位置光源1现有的多数低成本增强现实系统大多使用AR2 Toolkit或类似的基于视频定位标记配准的工具包开发1定位标记一般由具有一定宽度的黑色四方形边缘和中心区域中黑色的几何图形构成1在实际应用中,打印制作的标记表面黑色部分由均匀分布的墨粉颗粒组成,可以近似为一个理想漫反射表面1根据Lambert定律,漫反射表面上一点到任意方向的反射光强度与光源入射角的余弦成正比,这使场景中定位标记表面的亮度L r与摄像机观察的角度无关1我们以定位标记为检测目标建立真实场景光照检测模型,只考虑存在单一点光源时的情况1光源检测的目标是获取真实光源强度和位置2个参数1而定位标记表面亮度值和标记表面法向矢量N m可以真实地反映光源的方向1以辐照度dΦ度量从光源到达标记表面的光线强度,标记的辐照度可以标称其表面上每单位面积入射的光通量1在只考虑单光源的封闭系统中,标记的表面的亮度L r 与标记的辐照度成正比,因此L r,dΦ和入射光线的强度L s有关系式
L r∝dΦ∝L s・d A・cosθ(1)
图1 标记与光源的空间位置关系
其中θ表示标记法向与光线入射方向的夹角(如图1所示),d A表示标记表面的单位面积1根据式(1),我们选择L r来度量标记表面的辐照度,其值被量化地表示为标记表面黑色部分像素亮度的平均值1
1721
8期姚 远等:增强现实场景光源的实时检测方法和真实感渲染框架
当θ=0时,L r和dΦ的值达到最大,表示在理想情况下,光源位置应出现在场景中辐照度最大的标记表面法向方向上1
111 光源位置的确定
确定光源位置时,我们选定摄像机坐标系为全局坐标系,这意味着需要摄像机位置保持固定1虽然选择世界坐标系作为全局坐标系时可以用同样的方法确定光源位,而且更加直观,但是这样设置会引起3个问题:1)场景中需要有专门的标记来标定世界坐标系的原点,在摄像机观察位置变化时,这些标记可能会被移到视野之外,从而失去全局坐标;2)其他标记的坐标值要经过2次转换才能获得全局坐标,增加了计算的复杂度和误差;3)识别定位标记的边角时可能产生误差(在现有的基于定位标记的增强现实系统中这是一个常见的现象),多次坐标矩阵转换之后这个误差会被放大,影响检测的准确性1真实场景光源检测算法通过固定大小的标记队列L维护标记当前标记信息,这些信息包括标记的转换矩阵、法向矢量N m和dΦ等状态信息1当L 队列装满时,将根据dΦ大小进行更新1L中记录的是在不同时间对场景中的标记法向和表面辐照度的采样值,与场景中实际存在的标记数量没有关系1在实际系统的运行过程中,场景中标记的位置是随机的1虽然操作者有意识地控制标记方向会加快系统确定光源位置的速度,但是算法并不要求某一个标记被设置到正对光源的方向,也无法通过多个标记的法向矢量解析的计算确定光源的位置,而是采用迭代的方法1首先系统创建一个光源,然后根据新的数据逐步修正,最终稳定到光源的正确位置1方向光源、点光源和聚光灯光源可以统一作为点光源处理1
算法11点光源位置检测算法
Step11确定光源距离标记中心的相对距离为D,根据光源种类指定固定初始值1在当前L中选取dΦ值最大的标记,这里称为主标记1根据模型,点光源应位于主标记的法线方向上1在主标记法向矢量的方向上取距离标记中心长度D处一点为光源位置P,这一点可以很容易地转换为全局坐标1
Step21在L中选取dΦ值与主标记最为接近的标记(在阈值规定范围内),称为副标记1如图2所示,副标记可能的法向矢量应分布于一个顶角为2α圆锥体的范围内1真实光源的位置应该趋向主标记和副标记法向矢量的交叉处1因此α越小,表明P点越趋近于光源的位置1增加或减小估算距离D,直到α值小于一固定阈值,或D达到一固定阈值为止1
Step31如果主标记发生变化,则重新执行Step1和Step21
通过这3个步骤的不断调整,在系统的运行过程中P点将最终趋近于真实光源的位置
1
图2 估算距离的调整
112 光源强度和颜色的估算
在确定光源位置后,光线的强度依然可以通过标记表面辐照度来确定,同时通过辐照度度量可以避免视图角度不同所带来的误差1我们首先获取了标记在几组常见功率的日光灯和白炽灯照明环境下的表面像素亮度均值,并将其作为辐照度标定值,根据与标定数据的比较获得场景光源强度;然后通过对标记表面未喷墨部分像素进行采样,确定光线的R,G,B分量的比值;将采样的结果与强度的乘积作为光源中的各色光分量1具体光源位置、强度和颜色的检测流程如图3所示
1
图3 光源检测过程
113 真实光源的模拟
来自点光源的光线可以生成具有一定真实感的场景,但由于自然界的光源都是具有一定面积的一
2721计算机辅助设计与图形学学报2006年
个或多个发光体,因此这种效果更近似于自然光照射下的室内物体1一个简单的扩展方法是在估算出点光源方法的基础上构造一个多边形面光源,将点光源位置作为面光源的中心,使用稳定状态下α和D限制多边形的面积1多边形边数可以根据需要来确定,本系统中可以构建三角形面光源1面光源虽然可以更好地描述真实世界的光源,但是其实现过程复杂1
另一种扩展方法是同时在场景中构造多个点光源1具有多个光源照明的场景在增强现实应用中也是经常存在的,当使用搜索的方法在这种照明环境中构造光源时,理论上可以找到多个使辐照度达到峰值的区域,但实际上这种搜索非常困难,因此我们仍采用构造性的方法来逐渐逼近真实值1首先搜索当前标记队列L,当发现具有更大辐照度的标记时,将新的光源位置转换到当前标记的坐标系下,并计算2个光源在当前标记中心连线的夹角1若这一夹角在阈值范围内,则继续单光源检测算法的步骤,将新的光源位置设定为当前光源位置,并利用其他标记修正;若这个夹角大于设定的阈值,则构造一个新的光源,重新开始修正过程1未知多个光源的检测可以通过空间矢量量化的聚类方法来完成1在实际应用中,我们将系统场景中的光源数限制在2个以内,通常这已经足够反映真实场景中的情况1
2 实现与开发框架
尽管已经有许多开发库和工具包,但增强现实应用的开发依然是一项复杂的工作1在以标记定位为基础的系统中,开发者需要处理包括视频检测、标记管理、坐标转换、虚拟物体的渲染和真实场景的定义等诸多方面的任务1我们提出的ARSGF实现了对3种常用增强现实应用功能的封装:1)内置了光源检测功能,自动建立与真实场景一致的虚拟光源;
2)封装了增强现实应用中常见的基本的图形节点,包括常用交互工具节点,支持开发者对节点功能的动态扩展;3)提供基于图形节点的管理和场景渲染功能,支持虚拟物体2真实物体、虚拟物体2虚拟物体之间的阴影生成1ARSGF帮助开发者将注意力集中在定义具体图形节点的外观和行为上,简化开发者的重复性工作,为快速地开发增强现实应用提供了支持1
如图4所示,ARSGF主要由标记管理器、摄像机接口、浏览器、场景管理器和图形节点5部分组成,其实现为一组C++类1各个部分功能如下
:
图4 ARSGF结构
标记管理器负责装入和管理系统中使用的所有标记1ARSGF中的标记分为系统标记和应用标记2种1系统标记主要应用于一些内置的工具节点和提供世界坐标系的功能;而应用标记则根据具体应用需要由用户进行配置和添加1标记管理器中存储了应用中所需要的所有标记和与标记相关的状态,并不断地检测和更新这些信息1另外,标记管理器维护了一个包含一组当前运行过程中出现过的标记坐标、法向矢量和表面辐照度的队列用于光线检测1在实现中,具体的标记检测功能由ART oolkit库完成1为了配合标记管理器的工作,我们在AR Toolkit库中增加了相应的函数,使ARSGF可以从视频流中获取标记辐照度信息1其次,我们发现在标记表面光线照射明显变化的环境中,检测很容易失效,产生错误的原因是AR Toolkit中采用固定阈值的图像分割,导致其在这种环境中不能得到正确的结果1因此,我们在AR Toolkit中加入了多阈值分割过程,改进了标记的识别率,并增强了在不同光照条件下标记检测的稳定性1
摄像机接口定义了一个捕获和处理视频流的抽象接口,操作由具体的扩展类来实现1ARSGF支持从usb摄像头、1394摄像机和视频文件中获取视频流1摄像机接口调用标记管理器处理视频流中的标记,并将视频流设为浏览器的背景1
浏览器对象定义了增强现实应用的显示界面,通过它可以设置显示设备,如可以选择使用普通显示器或者头盔式显示器1
场景管理器是整个框架的核心部分,负责组织所有场景中的所有节点并决定渲染方式1状态节点、静态节点、定位节点和光源节点是场景中的4种基本节点1
3721
8期姚 远等:增强现实场景光源的实时检测方法和真实感渲染框架
状态节点是非显示节点,用来保存场景中一些与具体应用中操作相关的状态信息,其中包括鼠标的状态、图形交互工具的操作状态和其他节点的显示状态等1框架中提供了对状态节点的快速访问方法1
静态节点是使用摄像机坐标定位的节点,用来构造与场景位置无关的图形,如提示信息、固定菜单或构造一些模拟器的窗口1
定位节点是最常用的节点,其在场景中的位置由定位标记来决定1定位节点通过名称与标记管理器中维护的标记进行绑定,通常一个定位节点上可以绑定一个或多个标记1当一个节点与多个定位标记相对应时,这个节点的位置将由多个定位标记共同确定1这种绑定可以增加定位的准确性和稳定性1光源节点定义了场景中虚拟光源的属性,它从标记管理器中获得检测数据,并根据第1节的光源检测模型生成一个或多个虚拟光源来模拟真实场景中的光照1通过光源节点还可以同时设定其他自定义的固定光源或者从某个自定义的定位节点中获取信息,以改变某个虚拟光源的位置属性1
从定位节点中衍生出4种内置子节点:工具节点、菜单节点、虚拟物体节点和真实物体节点1菜单节点提供了可以插入到场景空间任意位置的菜单项1虚拟物体节点规定了嵌入到真实场景中的虚拟物体的一般行为,ARSGF提供了灵活的方式来构造它们1开发者可以从多种外部图形文件中或ARSGF提供的简单配置文件中装入3D模型,也可以直接在基本节点的基础上构造新的图形内容节点,并定义它的属性和外观及渲染方式1
3 实验结果
我们选择了2种常见的光照环境对算法1进行测试1
实验11使用日光灯照明的单光源检测环境,光源检测过程如图5所示1其中,D max=600,D min= 200;dΦ表示主标记的辐照度1
图5a所示为初始状态,光源被赋予一个固定的初始值;图5b所示为打开光源检测功能后虚拟光源产生的效果1从虚拟战士模型的阴影可以看到,虚拟光源移动到标记法线方向1由于算法1并不适用于静态的标记,因此我们在实验中加入了一些人为的辅助工作1
在实际系统工作中,这些辅助工作可由一般的交互操作来代替1在标记移动的过程中,光源逐步趋向正确的光照位置1可以看到,最后系统估算的光源稳定在图5f所示的位置1在操作中我们注意到摄像机角度稍有变化,由于辐射度的度量与视角无关,随着实验中标记逐渐转向光源,旧的方向矢量被算法删除并不影响算法对光源识别的准确性,如果此前标记已经面向光源,则可能会因为具有最大辐照度的标记无法被替代而出错
1
图5 单光源光照检测
实验21白天室内使用白炽灯照明的混合照明环境1为了增加速度,我们关闭了光源的强度检测1如图6所示,其中θ表示2个标记所确定的光源在全局坐标中的夹角弧度,其阈值θmax=2101图6a 显示在初始条件下只有一个预先设置的虚拟光源;图6b中,开始光源检测,光源位置移动到当前标记的法向量方向;图6c所示为使用另一个标记对光源方向进行调整,光源位置始终出现在标记辐照度达到最大值时的法向;图6d中的状态表明,当检测到2个矢量方向差异较大(θ>θmax)的2个可能的光源时,系统构造了新的光源1
桌面上的真实物体在白炽灯和窗外的环境光2个光源照射下产生了2个阴影1在检测窗外射入环境光时,可以通过控制标记有选择地使系统生成方
4721计算机辅助设计与图形学学报2006年
向光源(D >D max )或点光源(D min <D <D max ),这
与真实环境的情况有一定出入,测试中这种较细微的差别对光照效果的一致性影响较小,在实验中所获得的结果是可以接受的
1
图6 多光源光照检测
4 结 论
本文提出了在增强现实应用中采用普通定位标
记进行实时场景光源检测方法,并提出了相应的基于场景管理的实现框架1本文提出的光源检测算法不需要特殊的检测设备和真实场景的几何模型信息,能够在运行过程中创建一个或多个虚拟光源来模拟与真实场景一致的光照效果,适合在室内增强现实系统动态构造真实光源1光源检测功能封装在基于场景管理的增强现实应用开发框架中,为快速地开发桌面增强现实应用提供了方便手段1
以相机坐标为全局坐标限制了本文所述光源检测算法的使用范围,但是通过首先建立稳定的全局坐标系统并解决坐标转换的精度问题之后,同样的光源检测算法可以在世界坐标系中直接使用1
参 考 文 献
[1]
Zhu Miaoliang ,Yao Yuan ,Jiang Yunliang 1A survey on aug 2mented reality [J ]1Journal of Image and Graphics :A ,2004,9(7):767-774(in Chinese )
(朱淼良,姚 远,蒋云良1增强现实综述[J ]1中国图象图形
学报:A ,2004,9(7):767-774)
[2]
Raskar R ,et al 1Shader lamps :animating real objects with im 2age based illumination [C]ΠΠProceedings of Eurographics Work 2shop on Rendering ,London ,2001:89-102
[3]Naemura T ,et al 1Virtual shadows 2enhanced interaction in mixed reality environment [C]ΠΠProceedings of IEEE Virtual Reality (VR ’02),Orlando ,2002:293-294
[4]Haller M ,Drab S ,Hartmann W 1A realtime shadow approach for an augmented reality application using shadow volumes [C]
ΠΠProceedings of the ACM Symposium on Virtual Reality Soft 2
ware and Technology ,Osaka ,2003:56-65[5]
Loscos C ,et al 1Interactive virtual relighting and remodeling of real scenes [C]ΠΠProceedings of the 10th Eurographics Work 2shop on Rendering ,Granada ,1999:3-18[6]
Loscos C ,et al 1Interactive virtual relighting of real scenes [J ]1IEEE Transactions on Visualization and Computer Graphics ,2000,6(3):289-305[7]
Jacobs Katrien ,et al 1Automatic consistent shadow generation for augmented reality [C]ΠΠProceedings of Graphics Interface ,Vancouver ,2005:113-120[8]
Jaakko K onttinen ,Sumanta Pattanaik ,Hughes Charles E 1Real 2time illumination and shadowing by virtual lights in a mixed real 2ity setting [OL ]1[2005207214].http :ΠΠgraphics 1cs 1ucf 1edu ΠMAR 2Sumant [9]
Kanbara Masayuki ,Y okoya Naokazu 1Real 2time estimation of light source environment for photorealistic augmented reality [C]
ΠΠProceedings of the 17th International Conference on Pattern
Recognition ,Cambridge ,2004:911-914
[10]Human Interface T echnology Laboratory 1ART oolkit [OL ]1[2005207214].http :ΠΠwww 1hitl 1washington 1edu Πprojects Πartoolkit Π[11]
Zhou Ya ,Yan Lei ,Zhao Hu 1Study on the lighting model of the real world in augmented reality [J ]1Journal of Image and Graphics :A ,2004,9(8):968-972(in Chinese )
(周 雅,晏 磊,赵 虎1增强现实系统光照模型建立研究[J ]1中国图象图形学报:A ,2004,9(8):968-972
)
姚 远 男,1978年生,博士,主要研
究方向为增强现实系统的设计与应用
1
朱淼良 男,1946年生,教授,博士生导师,主要研究方向为机器视觉、网络多媒体技术
1
卢 广 男,1978年生,博士研究生,
主要研究方向为网络多媒体技术1
5
7218期姚 远等:增强现实场景光源的实时检测方法和真实感渲染框架。