法律状态公告日
法律状态信息
法律状态
2018-08-31
未缴年费专利权终止 IPC(主分类):G06T15/60 授权公告日:20170118 终止日期:20170913 申请日:20130913
专利权的终止
2017-01-18
授权
授权
2014-02-12
实质审查的生效 IPC(主分类):G06T15/60 申请日:20130913
实质审查的生效
2014-01-08
公开
公开
技术领域
本发明属于虚拟现实技术领域,具体涉及一种基于增强现实技术的古代 文物场景快速渲染方法。
背景技术
古文物是祖先留给我们的宝贵财产,是我们探索古代文化的重要途径。 随着时间的流逝,很多古文物都面临着不可避免的逆向变化,缺失、褪色和 腐烂,这些都是我们无法阻止的。在重视物质文化历史沿袭的今天,对于非 物质文化遗产的保护开发工作受到了空前的关注。目前我们对文物的欣赏仅 停留在“只可远观”的阶段,而增强现实技术的发展为此提供了一个新的重 要途径,研究和应用增强现实技术为抢救、保护和发扬古文物的精髓都是非 常有意义的。
国内已经将类似技术的研究应用于文物虚拟修复和数字化保护领域,在 “文化遗产数字化与保护新技术的研究及应用”项目中,通过三维扫描的方 式,将文物碎片的外形曲线、纹理质地及断裂面凹凸起伏的特征输入计算机; 计算机以较大的碎片为基础,对采集到的其他碎片逐一分析,生成平面及三 维数据输入计算机,依靠专业软件碎片等残缺物品在屏幕上再现。这样以破 损残缺的文物或服饰碎片虚拟再现和重建三维立体构架提供了有力的可行 性依据,三维重现系统有了很明却的思路。另外,在文物虚拟修复和数字化 保护技术的研究与应用方面,采用虚拟现实、图形图像处理等信息科学新技 术完成了多项文物数字化、文物虚拟复原修复,实现了重建与再现的具体案 例,数字博物馆及数字考古方面的科研项目,解决了文物、服饰、古建筑物 等的三维数字化真彩色信息的采集、处理,与三维虚拟重建的核心技术。
目前,在文物保护方面,增强现实技术的应用还鲜见报道,国内的发展 主要是北京理工大学的圆明园西洋景区增强现实现场数字重建系统;而国外 的发展主要是IntraCom公司在欧盟的支持下,研制了利用增强现实技术对古 希腊遗迹进行现场复原的古迹电子导游系统;但两者均未对文物进行实时的 渲染,即没有观察者与文物的“互动”。
发明内容
本发明的目的在于提供一种基于增强现实技术的古代文物场景快速渲 染方法,利用增强现实与快速渲染技术将古代文物的虚拟三维模型显示到现 实场景中,并通过显示设备进行虚实交互。
本发明所采用的技术方案是,基于增强现实技术的古代文物场景快速渲 染方法,具体按照以下步骤实施:
步骤1、准备标志物,并在准备标志物的同时,对要展示的古文物进行 数据采集;
步骤2、通过网络摄像头跟踪步骤1准备的三维立体标志物,进行三维立 体标志物的识别并做出分析,划分出三维立体标志物区域,创建环境贴图, 从环境贴图中获取光源的位置和强度;
步骤3、构建实时光照渲染的虚拟光照模型;
步骤4、经步骤3构建好虚拟场景模型后,对古代文物进行虚拟物体模型 构建,得到古文物的三维模型;
步骤5、对步骤4构建出的古文物的三维模型进行隐藏面消除;
步骤6、对经步骤5处理后得到的古文物的三维模型添加阴影,并将阴影 软化,形成软阴影;
步骤7、利用ARToolKit平台输出结果,得到虚拟光照和虚拟古文物实时 交互系统。
本发明的特点还在于:
步骤1.1、利用ARToolkit提供标准模板,标准模板由具有一定宽度的黑 色封闭矩形框和文字两部分组成,黑色封闭矩形框内有二维ARToolkit原始 标志物;
步骤1.2、对步骤1.1中的二维ARToolkit原始标志物进行改进,得到三维 立体标志物:
将一个二维ARToolkit原始标志物和一个黑色反光球组合起来,利用二维 ARToolkit原始标志物得到真实世界和虚拟世界的坐标关系,再通过黑色反光 球得到现实场景中的光照信息,光照信息包括光照的位置、颜色和强度。
步骤1.3、用网络摄像机获取放置在现实场景中,步骤1.2得到的三维立 体标志物,再利用ARToolkit平台中mk_patt.exe将三维立体标志物的视图矩 阵存放到ARToolkit数据库中;
用数码照相机对要展示的古文物进行拍摄,将拍摄到的所有古文物的相 关图片导入photoshop软件中进行裁剪、较色和调色处理,完成对要展示的古 文物数据采集。
步骤2具体按照以下步骤实施:
步骤2.1、利用ARToolkit平台、黑色反光球及二维ARToolkit原始标志 物已知的视图矩阵关系,将黑色反光球分割成球体中心和球体边缘两部分;
步骤2.2、将网络摄像头抓取到的三维立体标志物绘制成长宽比为2:1 的环境贴图;
步骤2.3、将平均切割算法应用到步骤2.2绘制好的环境贴图中,从环境 贴图中获取光源的位置和强度。
步骤2.3具体按照以下步骤实施:
步骤2.3.1、将整个黑色反光球映射的图像作为一个单独的区域,读取图 像中所有的像素,并将读取得到的所有像素置于RGB构成的三维色彩空间 中;
步骤2.3.2、经步骤2.3.1构成的三维色彩空间后,开始反复分割三维色 彩空间,在分割三维色彩空间时,以三维色彩空间最长的边来进行切割,这 样才能使光能量平均的划分,根据分割后的结果确定三维色彩空间中的像素 聚集区域;
步骤2.3.3、经步骤2.3.2确定像素聚集的区域后,计算出每个像素聚集 区域所含像素值的平均值,将计算得到的平均值作为该聚集区域内所有像素 值的新颜色值,并将这个平均值作为一个新的光源放置在各自像素聚集区域 的中心。
步骤3具体按照以下步骤实施:
步骤3.1、用网络摄像头抓取现实场景,获取真实世界中的像素信息;
步骤3.2、利用OpenGL可编程片段着色器功能,得到经步骤2.3存储的 光照像素值;
步骤3.3、结合像素增强算法和OpenGL的alpha混合技术将步骤3.1和 步骤3.2中得到的像素值进行混合,形成混合后新的场景,在像素值混合过 程中,要增强光照强度和改变光照颜色;
步骤3.4、在Visual Studio2008软件平台下,调用OpenGL函数,用VC++ 编写程序,运用粒子系统来构建虚拟光照模型。
步骤4具体按照以下步骤实施:
步骤4.1、利用3D Studio Max2009软件建模工具采用多边形建模的方法 进行古文物建模,得到虚拟古文物模型;
步骤4.2、采用步骤1采集到的古文物本身的图片对步骤4.1构建好的虚 拟古文物模型进行贴纹理处理;
步骤4.3、将步骤4.2得到的贴纹理后的虚拟古文物模型在3D Studio Max2009软件中采用*.OBJ格式导出;
步骤4.4、利用OBJLoader将经步骤4.3得到的OBJ文件导入ARToolkit中, 得到古文物的三维模型。
步骤5具体按照以下步骤实施:
步骤5.1、调用OpenGL中glEnable(GL_DEPTH_TEST)、glDepthFunc (GL_LESS)函数进行深度测试;
步骤5.2、经步骤5.1处理后,调用OpenGL中glEnable (GL_CULL_FACE)、glCullFace(GL_BACK)函数进行背面剔除;
步骤5.3、经步骤5.2处理后,采用隐藏面消除算法中的深度缓存算法来 消除古文物的三维模型隐藏面。
步骤5.3具体按照以下步骤实施:
步骤5.3.1、采用深度缓存保存有限个多边形表面上各像素点(x,y)所 对应的深度值,采用刷新缓存保存每一点像素位置的表面颜色值:执行深度 缓存算法时,深度缓存中的所有单元均初始化为1.0(即最大深度),而帧缓 存中各单元则初始化为背景颜色;
步骤5.3.2、再对有限个多边形的每个表面进行逐行扫描,将计算得到的 每个像素点的深度值与步骤5.3.1得到的存储值进行比较:
若深度值小于存储值,则将该深度值代替原存储值,并将该像素的颜色 值存入对应的帧缓冲区;
若深度值大于存储值,则不做任何改变。
步骤6具体按照以下步骤实施:
步骤6.1、在Visual Studio2008软件平台下,调用OpenGL函数,用VC++ 编写程序,利用平面阴影生成算法,为经步骤5处理后得到的古文物的三维 模型添加阴影,完成虚拟-真实的交互;
步骤6.2,经步骤6.1处理后,绘制2n个不同亮度、不同大小的阴影,将 绘制出的阴影软化,形成软阴影。
步骤7具体按照以下步骤实施:
步骤7.1、在ARToolKit中设定显示虚拟光照的标志物ID为S1,显示古 文物的三维模型的标志物ID为S2;
步骤7.2、经步骤7.1显示出标志物S1和标志物S2后,用网络摄像头 采集视频图像,把标志物S2放到网络摄像头前进行检测,ARToolKit进行匹 配,匹配成功后,通过显示器显示出古文物的三维模型“放置”在真实世界 中;
步骤7.3、在Visual Studio2008软件平台下,用VC++编写程序,利用 键盘上的按键“m”、“n”实现模型的缩小和放大;“a”、“s”实现模型向左 旋转和向右旋转;“q”、“w”实现模型向上旋转和向下旋转;“h”、“k”实现 模型向左移动和向右移动;“u”、“j”实现模型向上移动和向下移动;“i”、 “y”实现模型向后移动和向前移动,从而实现虚拟古文物模型的大小变化、 旋转、移动的交互;
步骤7.4、把标志物S1、S2放到摄像头前方范围内进行检测,分别匹配 成功后,通过显示器便会看到虚拟额光照和虚拟古文物的交互效果,完成基 于ARToolKit的虚拟世界和现实世界的实时交互。
本发明的有益效果在于:
(1)本发明的基于增强现实技术的古代文物场景快速渲染方法,采用 增强现实技术的虚实交互技术完成古代文物的三维模型的显示,具有实时、 快速和效果逼真的特点;
(2)由于传统博物馆在展览古代文物时,不可避免的会对文物造成损 害,本发明的基于增强现实技术的古代文物场景快速渲染方法能够弥补这一 缺点,并可以增加文物展览的科技含量和趣味性。
具体实施方式
下面结合具体实施方式对本发明进行详细说明。
本发明的基于增强现实技术的古代文物场景快速渲染方法,具体按照以 下步骤实施:
步骤1、准备标志物,并在准备标志物的同时,对要展示的古文物进行 数据采集:
步骤1.1、利用ARToolkit提供标准模板,标准模板由具有一定宽度的黑 色封闭矩形框和文字两部分组成,黑色封闭矩形框内有二维ARToolkit原始 标志物;
步骤1.2、对步骤1.1中的二维ARToolkit原始标志物进行改进,得到三维 立体标志物;
对二维ARToolkit原始标志物改进的方式具体为:
将一个二维ARToolkit原始标志物和一个近乎具有理想漫反射表面的黑 色反光球组合起来,利用二维ARToolkit原始标志物得到真实世界和虚拟世界 的坐标关系,再通过黑色反光球得到现实场景中的光照信息,光照信息包括 光照的位置、颜色和强度;
步骤1.3、用网络摄像机获取放置在现实场景中,步骤1.2得到的三维立 体标志物,再利用ARToolkit平台中mk_patt.exe将三维立体标志物的视图矩 阵存放到ARToolkit数据库中;
用数码照相机对要展示的古文物进行拍摄,将拍摄到的所有古文物的相 关图片导入photoshop软件中进行裁剪、较色和调色处理,完成对要展示的古 文物数据采集。
步骤2、通过网络摄像头跟踪步骤1准备的三维立体标志物,进行三维 立体标志物的识别并做出分析,划分出三维立体标志物区域,创建环境贴图, 从环境贴图中获取光源的位置和强度:
步骤2.1、利用ARToolkit平台、黑色反光球及二维ARToolkit原始标志 物已知的视图矩阵关系,将黑色反光球分割成球体中心和球体边缘两部分;
步骤2.2、将网络摄像头抓取到的三维立体标志物绘制成长宽比为2:1 的环境贴图;
步骤2.3、将平均切割算法应用到步骤2.2绘制好的环境贴图中,从环境 贴图中获取光源的位置和强度,具体按照以下步骤实施:
步骤2.3.1、将整个黑色反光球映射的图像作为一个单独的区域,读取图 像中所有的像素,并将读取得到的所有像素置于RGB构成的三维色彩空间 中;
步骤2.3.2、经步骤2.3.1构成的三维色彩空间后,开始反复分割三维色 彩空间,在分割三维色彩空间时,以三维色彩空间最长的边来进行切割,这 样才能使光能量平均的划分,根据分割后的结果确定三维色彩空间中的像素 聚集区域;
步骤2.3.3、经步骤2.3.2确定像素聚集的区域后,计算出每个像素聚集 区域所含像素值的平均值,将计算得到的平均值作为该聚集区域内所有像素 值的新颜色值,并将这个平均值作为一个新的光源放置在各自像素聚集区域 的中心。
步骤3,构建实时光照渲染的虚拟光照模型;
步骤3.1、用网络摄像头抓取现实场景,获取真实世界中的像素信息;
步骤3.2、利用OpenGL可编程片段着色器功能,得到经步骤2.3存储的 光照像素值;
步骤3.3、结合像素增强算法和OpenGL的alpha混合技术将步骤3.1和 步骤3.2中得到的像素值进行混合,形成混合后新的场景,在像素值混合过 程中,不仅要增强光照的强度,还要相应改变光照的颜色;
步骤3.4、在Visual Studio2008软件平台下,调用OpenGL函数,用VC++ 编写程序,运用粒子系统来构建虚拟光照模型。
步骤4、经步骤3构建好虚拟场景模型后,开始对古代文物进行虚拟物 体模型构建,得到古文物的三维模型:
步骤4.1、利用3D Studio Max2009软件建模工具采用多边形建模的方法 进行古文物建模,得到虚拟古文物模型;
步骤4.2、采用步骤1采集到的古文物本身的图片对步骤4.1构建好的虚 拟古文物模型进行贴纹理处理;
步骤4.3、将步骤4.2得到的贴纹理后的虚拟古文物模型在3D Studio Max2009软件中采用*.OBJ格式导出;
步骤4.4、利用OBJLoader将经步骤4.3得到的OBJ文件导入ARToolkit 中,得到古文物的三维模型,采用OBJ文件是由于OBJ文件不需要任何种 文件头,OBJ文件由一行行文本组成,可方便的用任何文档文件打开。
步骤5、对步骤4构建出的古文物的三维模型进行隐藏面消除,解决虚 实遮挡问题:
步骤5.1、调用OpenGL中glEnable(GL_DEPTH_TEST)、glDepthFunc (GL_LESS)函数进行深度测试,来排除较远的对象,从而避免隐藏面消除 算法执行时进行的一些额外不必要的计算;
步骤5.2、经步骤5.1处理后,调用OpenGL中glEnable (GL_CULL_FACE)、glCullFace(GL_BACK)函数进行背面剔除,来减少 隐藏面消除的计算量;
步骤5.3、经步骤5.2处理后,采用隐藏面消除算法中的深度缓存算法来 消除古文物的三维模型隐藏面,具体按照以下步骤实施:
步骤5.3.1、采用深度缓存保存有限个多边形表面上各像素点(x,y)所 对应的深度值,采用刷新缓存保存每一点像素位置的表面颜色值:执行深度 缓存算法时,深度缓存中的所有单元均初始化为1.0(即最大深度),而帧缓 存中各单元则初始化为背景颜色;若一个表面比古文物的表面都近,则计算 其表面颜色并和其深度值一起存储;
步骤5.3.2、再对有限个多边形的每个表面进行逐行扫描,将计算得到的 每个像素点的深度值与步骤5.3.1得到的存储值进行比较:
若深度值小于存储值,则将该深度值代替原存储值,并将该像素的颜色 值存入对应的帧缓冲区;
若深度值大于存储值,则不做任何改变。
步骤6、对经步骤5处理后得到的古文物的三维模型添加阴影,并将阴 影软化,形成软阴影:
步骤6.1、在Visual Studio2008软件平台下,调用OpenGL函数,用VC++ 编写程序,利用平面阴影生成算法,为经步骤5处理后得到的古文物的三维 模型添加阴影,完成虚拟-真实的交互;
步骤6.2,经步骤6.1处理后,绘制2n个不同亮度、不同大小的阴影, 将绘制出的阴影软化,形成软阴影,这样使阴影看起来更加逼真。
步骤7、利用ARToolKit平台输出结果,得到虚拟光照和虚拟古文物实 时交互系统:
本发明中使用500万像素网络摄像头作为视频采集的工具,采集画面越 清晰,模型的逼真度就越高;
步骤7.1、在ARToolKit中设定显示虚拟光照的标志物ID为S1,显示古 文物的三维模型的标志物ID为S2;
步骤7.2、经步骤7.1显示出标志物S1和标志物S2后,用网络摄像头 采集视频图像,把标志物S2放到网络摄像头前进行检测,ARToolKit进行匹 配,匹配成功后,通过显示器显示出古文物的三维模型“放置”在真实世界 中;
步骤7.3、在Visual Studio2008软件平台下,用VC++编写程序,利用 键盘上的按键“m”、“n”实现模型的缩小和放大;“a”、“s”实现模型向左 旋转和向右旋转;“q”、“w”实现模型向上旋转和向下旋转;“h”、“k”实现 模型向左移动和向右移动;“u”、“j”实现模型向上移动和向下移动;“i”、 “y”实现模型向后移动和向前移动,从而实现虚拟古文物模型的大小变化、 旋转、移动的交互;
步骤7.4、利用一种基于多标志物的方法可实现物体之间的交互,即把 标志物S1、S2放到摄像头前方范围内进行检测,分别匹配成功后,通过显 示器便会看到虚拟额光照和虚拟古文物的交互效果,从而实现了基于 ARToolKit的虚拟世界和现实世界的实时交互。
实施例:
采用本发明的方法可实现基于ARToolkit秦兵马俑模型交互展示系统的 设计,首先利用OBJ Loader将真实秦兵马俑的仿真模型导入到ARToolkit平 台;然后利用深度缓存算法、深度测试和背面消除算法解决了此交互系统的 虚实遮挡问题;最后利用多交互标志物的坐标转换实现了秦兵马俑模型交互 展示系统的结果。
本发明方法操作非常简单,仅需要手持两个标志物就可以观察到虚拟火 焰照亮兵马俑的效果,而且简单的键盘按键操作就可以实时地对兵马俑模型 进行大小和位置的改变,而且性能稳定,只要摄像头能够捕获标志物就可以 实现以上所有操作,具有很好的移植性和扩展性。
本发明根据古文物坐标信息制作的幻影模型导入到ARToolKit软件平 台,并在此平台上展示出来,提出一种全局光照算法和基于多个ARToolKit 标志物的实时交互系统。利用多标志物实时交互技术,实现了由粒子系统组 成的虚拟光照与古代文物模型之间交互显示的效果。本发明的方法初步实现 了由不同标志物显示的虚拟光照和古代文物模型之间的实时交互,即随着虚 拟光照的移动,可以实时地将古文物的对应区域照亮。
机译: 用于基于虚拟场景的虚拟实体描述帧从不同有利位置渲染虚拟场景的帧的方法和系统
机译: 基于虚拟场景的虚拟实体描述框架从不同的购物点渲染虚拟场景的框架的方法和系统
机译: 用于基于虚拟场景的虚拟实体描述帧从不同有利位置渲染虚拟场景的帧的方法和系统