更全的杂志信息网

基于OSG的倾斜摄影测量建模漫游技术的应用研究

更新时间:2009-03-28

0 引 言

在实景三维建模过程中,倾斜摄影测量技术就是以高清晰、大区域以及较高的精度获取地面较为复杂的场景,传统三维实景建模工作量较大,费时费力且费用较高[1],不能完全满足社会生产和发展的需求。建筑物模型相片质感的纹理特性和复杂的三维几何结构造成了高度逼真表现和系统性能之间的矛盾[2]。实景三维模型数据,能较好地实现三维模型浏览的真实感和沉浸感,同时具有良好的互动性,以补充实景三维信息服务互动性的不足[3],这种需求正是开发本软件自助漫游功能模块的最终目的,在房地产和旅游等行业都表现出较为迫切的需求。在本软件虚拟场景中,人们可以自助设定漫游路线轻松实现自由行走和观看。

1 OSG实景三维漫游技术

1.1 OSG简介

OGS(Open Scene Graph)使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API),由OpenGL和C++组合编写而成。通过程序员的编译能够创建和实现更为快捷、高效、跨平台的交互式图形程序。OSG可为场景动画提供较为丰富的系统工具,比如定义路径移动或运动的场景,实现物体渐变及淡入淡出效果、纹理变动等,还有将不同权重比例进行融合的场景动画效果。当时间不需要准确控制时,所有场景动画的步骤都能通过回调的操作来完成。如回调中通过修改一个节点的矩阵变化,就能完成物体的平移、缩放和选择功能;在属性回调(State Attribute Callback)中通过改变物体的材质颜色,可让这个物体展现出从白天到黑夜渐变的更替状态,具有高性能、开源、能移植性和可扩展性的优点。为了更加高效、快捷地开发程序,OSG还专门提供了很多工具包。OSG可以运行于各类常见的操作系统上[4],在建筑模型可视化及工业级虚拟仿真系统设定等领域应用较为广泛。本文采用OSG引擎关键帧插值关键技术实现可视化三维建模漫游路径的设定,实现对实景模型的漫游模拟。该引擎以其优秀的架构、高效的图形渲染方式,在虚拟仿真、游戏动画、三维可视化等方面得到了极大的发展,在实景三维信息平台构建中也能发挥所长[5]。在OSG渲染引擎中使用单位的库(osgAnimation)定义了动画场景的所有功能大类,还定义了专用的可定制的管理工具,确保动画场景的展示效果以一种较为高效的手段组织在一起并加以应用。

针对目前三维实景建模漫游技术研究状况,采用OSG技术与其他平台如PHIGS,Crystal Space,Java3D等渲染相比,具备以下优势:快速开发、高品质、高性能、可扩展、可移植、低费用、不涉及知识产权等;当然目前也存在诸多不足,如代码风格不统一、部分功能实现过于臃肿等,还有待开发者完善。

2)某些第三方框架或库如Qt、OpenCV等不再提供对Visual Studio 2010的支持,在使用时需要根据源码自行编译。

 

1.2 实景三维建模技术

倾斜摄影在同一飞行平台上搭载多台传感器同步获取同一地物影像,同时从垂直、倾斜等不同角度采集影像,可以获取多个视点和视角的影像,从而得到更为详尽的侧面信息。针对这些特点,通过倾斜摄影测量建模技术实现三维建模的主要步骤通常包括:原始影像处理、垂直和倾斜影像筛选、倾斜影像和下视影像过滤、几何纠正和多视影像联合平差、影像密集匹配、模型构建以及三维建模,最终生成实景三维模型[6]。其中,较为关键的步骤影像联合平差、建模创建等,是数据处理和实景建模前的重要工作基础。通过倾斜摄影测量技术生成的模型为MESH,经一系列处理流程如校正、多视影像联合平差最终能生成超高点云数据模型,在此基础上完成实景三维模型的构建;通过自行研发漫游路径编辑应用软件,加载实景三维模型,实现按需漫游路线设定功能。倾斜摄影测量技术的实景三维建模结构流程如图1所示。

virtual osg::Node* getNode() { return _root; }

2 实景三维模型漫游设计及实现

2.1 自动建模

由于模型生成的精细度直接影响了体验者的真实感和沉浸感,故本文中开发的软件采用基于倾斜摄影测量建模方式,它具有更为高效、快捷、精细度高等特点,完全能满足社会生产发展的要求。本文三维实景建模软件采用具有较高自动化程度的Smart3D软件,通过外业航飞生成的三维实景模型,通过空三测量和同名点地物匹配,生成纹理一致的具有真实场景的实景三维模型。主要的数据处理流程如下:①预处理POS数据及原始影像;②质量检查;③多视角影像空三加密;④影像密集匹配;⑤实景三维模型建立,建模具体流程如下:

virtual void setByMatrix (const osg::Matrixd& matrix){}

2)空三处理。3Dview中照片摄取范围与区域模型之间的关系,如图5所示。

“电子”手表是运用电与磁的一个创新设计。它的原理是,粒子源可向右发射一定速度与电量的粒子。粒子通过磁场到达接收器。当接收器接收到粒子后,粒子源得到反馈信息,会再次发出粒子。因为粒子在磁场中的运动时间一定,所以从理论上讲,这个装置可以实现计时的目的。

3)重建生成模型。分完块的数据,各瓦片可以在Reference 3D Model完成预览。

 
 

生成实景三维模型后,通过配置OSG程序的运行环境,漫游功能通过派生出的类实现对视点的控制来完成。

 
 

2.2 三维实景漫游

路径漫游包括2个步骤:路径编辑和漫游。传统漫游功能通过3DMAX、基于Unity3D等漫游系统软件打开一个场景的三维模型,在合适的高度和位置布设一台摄像机,接下来用二维图形中的“线”绘制一条曲线路径,并调整该路径到合适的高度。而自主研发的路径编辑应用模块的主要做法是在模型生成的场景里按照指定的路径选择合适的控制点,获取关键帧和各关键帧间插值形成的漫游路径。动画场景中使用通过采用最重要、最频繁的关键帧技术,即物体在移动或是运动过程中处于最为关键变化节点的那一帧。动画场景的过程就是通过每一帧连续的定义和记录,经自动计算出每一帧,再赋予中间帧,展现出物体移动或者运动的过程。每一个中间帧实际上就是插值。中间帧越大,插值的密度越大,运动物体细节展现越丰富,当然数据量也就越大。采集器就是保存或存贮如Key frame类、Template Keyframe类定义见图10、11:

4月22日上午,水利部抗震救灾供水保障组前方工作组冒雪到规划中的新寨村灾民安置点进行考察,将灾民安置点供水与农村供水结合考虑,深入养老院、居民点详细了解供水现状,初步提出供水方案。

  

void set Time(float time)设置/获取关键帧的时刻float get Time()const

 

图10 Key frame基类的构成

 

Fig.10 The composition of keyframe base class

  

Template Key frame(float time,const T&value)构造函数。快速构造一个关键帧,包括时刻和关键帧的数据内容Void setValue(const T&value)Const T&value()设置/获取关键的数据值

图11 Template Key frame<T>类的构成

Fig.11 The composition of Templatekeyframe<T>

所有关键帧和中间帧的插值器。与传统具有漫游功能的软件相比较,本软件可由用户自行设定路径,模型浏览更为顺畅,操作更为简单、便捷、直观,可增强对实景三维建模浏览的沉浸感和真实感。关键帧基类 这里缺少一个重要的信息,即关键帧的实质内容。事实上,由于关键帧的内容指标繁多,包括用户自己定义的数据都可以是关键帧的内容,因此单纯使用一个类或者大量的派生类定义和保存它们都是不合适的。此时可以选择使用模板(Template)来进一步声明实际应用中的关键帧对象,其定义如下:

能够实现超高密度三维模型创建如图6所示,高密度三维模型创建如图7所示, 区域构建三角网如图8所示, 区域构建三维模型如图9所示。

2.3 漫游应用功能开发工作流程

 

设计一个漫游系统的过程同虚拟现实系统建立的过程是一致的。通过辅助软件建立一个漫游系统,具体过程分为4个阶段:功能分析和设计思路、现实对象的参数收集、现实对象实景模型、漫游系统功能设计。本文开发工作流程为编写技术方案、实现桌面端(移动端)漫游应用功能、最后经过软件测试、完善。漫游应用功能开发工作流程如图12所示。

系统设计中最重要的模块是漫游模块,基本结构如下:

class ZoomManipulator : public osgGA::CameraManipulator

{ public:

osg::Vec3 _up; //向上方向

~ZoomManipulato();//纯虚函数

1)工程准备。以某区域倾斜摄影影像采集为例,共计1 313张真彩色航空像片及其POS数据,采用多旋翼无人机和多视角航空照相机系统实施航空倾斜摄影。像片航向重叠和旁向重叠均优于65%。通过对无人机航拍的照片进行三维重建生产模型:新建工程如图2所示;导入数据如图3所示;控制点影像关联如图4所示。

陈律师说:“没关系,你尽管问。我觉得她完全没有机会知道这件事,关于这一点我已经反复回忆过。我不可能告诉她;我们谈论这件事的时候有意打发她出去买东西了,她不在家;我打好文件去找罗素青签字的时候也故意回避了她,当时我们没有交谈,我把签好字的文件直接放进了包里。”

virtual osg::Matrixd getInverseMatrix () const const;

//获取传入节点,用于使用CameraManipulator中的computeHomePosition

virtual void home (const GUIEventAdapter &, GUIActionAdapter &)//调整漫游方式和位置姿态。

虽说在进入检察院之前,李凌在法院和律所实习过,拥有一定的实践经验;但是对于检察院的业务,却仍然是一片空白。李凌只好在工作过程中边干边学但凡有不懂的事情,就向老同志请教;再加上自身理论基础扎实,李凌最终成功让罪犯受到了应有的法律制裁。

4综上所述,水资源问题是目前全国乃至全世界所面临的重要课题之一,水资源的状况关乎到人类的生存和发展的正常进行。因此,我们应推动改革水权水价改革机制,积极分析水管理中的问题及其产生的原因,认真总结水管理实践的经验和教训,合理运用先进的管理理论和成功经验,加强水资源管理,以实现合理、长久的水资源利用。

osg::Vec3 _direction; //视点方向

Class ZoomManipulator(osg::Node*node);

一些模拟声音的词语能让读者产生丰富联想,教学中,可以抓住文本中的拟声词引导学生再现画面,如:苏教版二年级下册《歌唱二小放牛郎》中“四下里‘乒乒乓乓’响起了枪声,敌人才知道受了骗”。读到这一句,学生不由得在座位上一边用手做出打枪的样子,一边响亮地读出“乒乒乓乓”这个词语,相信他们已从这个词中感受到战斗的激烈的画面及对敌人的仇恨的情感。在苏教版二年级下册《下大雨》中“呜——哇,呜——哇”,学生从中感受到雨点之大,读到这里,一些学生还缩了缩脖子,感觉雨很大,雨声就在耳旁。

osg::Node* _root; };

virtual const osg::Node* getNode() const { return _root; }

程序界面如图13所示。

档案实验数据集包含文字和照片两种类型,针对该类型档案数据特点,设定以下9个特征视图集,特征视图集合中包含档案特征视图共9项,见表1。

(3)低频交流信号注入法查找。该方法是将低频低电压的交流信号注入直流系统,当直流系统运行正常时,正负极的电流方向相反、大小相等,所以任一支路测得的电流和为零;当直流系统支路有接地故障时,在该故障支路能测出低频接地电流,由此,计算出接地电阻,从而判断接地支路。该方法查找主要使用便携式直流接地定位装置、绝缘监测装置等仪器。

 

基于以上漫游类程序代码,载入已生成的实景三维模型,通过软件实现三维模型的漫游功能。在自行开发的软件界面点击“播放所有帧”,可根据自行设定的关键帧路径进行漫游,三维实景模型漫游器用户界面见图14 。

 
 

漫游路径关键帧鼠标采集及记录见图15,记事本中第一行“20”为可自行设定的漫游速度设定速率。三维实景模型漫游器主要包括打开、保存、插入、替换、删除、播放当前帧以及播放所有帧等几个功能模块。其中,漫游路线关键帧、漫游速度设定见图15自助漫游记事本中第2~6行的数据,来源于Vec3f(float x,float y,float z,float Vx,float Vy,float Vz,float V),即插入关键帧时候通过软件采集的当前位置、沿x,y,z旋转的角度以及旋转速度。自助漫游路线存储及打开如图16所示。本软件为实景三维模型漫游功能设计了3种形式:

1)自助漫游。用户通过鼠标实时采集和记录关键帧,包括漫游方向、视角,进行自助式漫游。

2)自主导游。按提前规划的最佳游览路径和视角,为用户提供实景三维漫游展示服务。

3)最佳视角。可根据游客不同喜好自行选择特定视点位置,通过相机漫游实现场景中自己感兴趣的路径或区域。

3 结 语

本文就OSG的倾斜摄影测量漫游相关技术进行应用研究,将开源OSG三维引擎“嫁接”到倾斜摄影测量实景模型中,基于倾斜摄影测量技术及漫游应用功能模块的开发,通过采集和记录关键帧、自行设定漫游速度等相关技术手段实现了漫游过程中帧率平稳,有较好的互动性和模型浏览的沉浸感、运动自然流畅的真实感效果,对实现漫游路径可视化展示有一定参考意义。

参考文献:

[1] 王建强,钟春惺,江丽钧,等.基于多视航空影像的城市三维建模方法[J].测绘科学,2014,39(3):70-74.

[2] 李佳彦.面向机器视觉的织物纬斜检测方法[J].天津工业大学学报,2011,30(2):40-42.

[3] ZLATANOVS,RAHMAN A A,SHI W.Topological models and frameworks for 3D spatial objects[J].Computers&Geosciences,2004,30(4):419-428.

[4] 刘少华,张茂军,张恒.大规模三维地形场景实施漫游系统的构建[J].计算机仿真,2005,22(6):178-182.

[5] 包富华,张学宝.基于OSG的西安市景区虚拟旅游系统设计与开发[J].咸阳师范学院学报,2012,27(2):68-71.

[6] 谭金石,黄正忠.基于倾斜摄影测量技术的实景三维建模及精度评估[J].现代测绘,2015,38(5): 21-24.

[7] 王锐,钱学雷.OpenSceneGraph三维渲染引擎设计与实践[M].北京:清华大学出版社,2009.

[8] 肖鹏.OpenSceneGraph三维渲染引擎编程指南[M].北京:清华大学出版社,2010.

 
杨忠祥
《昆明冶金高等专科学校学报》2018年第01期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号