基于图像绘制技术的全景漫游系统构建

2014-04-18 02:50李永亮王山东朱周华
地理空间信息 2014年4期
关键词:云台立方体球面

李永亮,王山东,朱周华,燕 兵

(1.河海大学 地球科学与工程学院,江苏 南京 210098;2.江苏省测绘地理信息局, 江苏 南京 210098;3.华北水利水电大学,河南 郑州 450045)

基于图像绘制技术的全景漫游系统构建

李永亮1,王山东1,朱周华2,燕 兵3

(1.河海大学 地球科学与工程学院,江苏 南京 210098;2.江苏省测绘地理信息局, 江苏 南京 210098;3.华北水利水电大学,河南 郑州 450045)

首先阐述了基于图像绘制技术构建全景漫游系统过程中所涉及到的关键技术,然后以作者所在单位河海大学为例详细展示了全景漫游系统设计与实现的全过程。

图像绘制技术;全景漫游系统;虚拟现实;虚拟城市

当前,随着计算机图形学及虚拟现实技术的快速发展,基于图像的绘制技术(image based rendering,IBR)成为计算机图像处理学界比较热门的研究课题[1]。全景漫游技术将绕固定视点采集到的图像序列进行投影变换、图像匹配、图像融合、全景映射等处理,生成无缝的全景图像,最后在全景显示引擎中形成三维虚拟仿真空间,供终端用户浏览体验。这种方法不仅效果逼真,而且构建方便,与场景的复杂程度无关,已被广泛应用于房地产、旅游业、虚拟城市、智慧城市等领域[2]。本文借助全景云台、单反相机、鱼眼镜头等硬件设备及Adobe Photoshop CS5、PTGuiPro、Krpano、Notepad Plus等软件工具,以河海大学校园全景漫游系统为例,详细介绍基于图像绘制技术构建全景漫游系统的制作过程与涉及的关键技术。

1 全景漫游系统关键技术

1.1 球面投影变换

由于图像是在不同视角上采集的,所以它们的投影面存在一定夹角[3],为维持现实场景中的空间约束关系,必须在拼接前把它们统一投影到一个曲面上,图像信息以曲面的形式保存在计算机上;投影完成后,去掉旋转关系,保留平移关系,为图像拼接做好准备[4]。

根据投影曲面的不同,可以将当前常用的全景投影方式分为柱面投影变换、球面投影变换和立方体投影变换,其中球面投影变换应用最为广泛,也是本文采用的投影方式。

由于图像采集通过固定视点环绕拍摄的方式进行,所以局部图像均匀分布在以视点为球心、焦距为半径的球切面上。如图1,假设相机坐标系与世界坐标系分别为o-xyz、O-XYZ,图像采集的方向为(α,β),局部图像上某像素点P在相机坐标系中的坐标为(x,y,f),则其在世界坐标系下的坐标应为:

图1 球面投影变换

根据实景像素点P与球面投影点P′之间的对应关系,建立直线的参数方程:

则球面方程为:

其中f可利用Levenberg-Marquar算法计算[5],也可采用等距离匹配算法估算[6]。

1.2 图像无缝拼接

图像拼接的实质是根据相邻图像的公共控制点,将图像尽可能对齐拼合在一起,涉及的匹配算法有Harris检测算法、基于Harr小波系数索引的K-邻近查找算法、相关图像之间鲁棒性变换参数的估计等[7]。为保证拼接质量,一般要求相邻图像有30% ~50%的重叠区域。

图像融合的目的就是把匹配后的两幅图像根据对准的位置合并为一幅图像,并消除图像亮度或灰度的不连续性,使拼接结果达到无缝的要求[8]。图像融合的方法有平均值法、加权平均值法、多分辨率样条法和重叠区域线性过渡法等,其中最常用的是加权平均值法。假设相邻图像I1、I2的重叠区域为[x1,x2],加权函数分别为f1(x)、f2(x),则融合后图像的像素值为 I(x,y)=f1(x)I1(x,y)+f2(x)I2(x,y)[9],其中f1(x)、f2(x)的取值范围为[0,1]且f1(x)+f2(x)=1。图像融合处理前后对比效果如图2所示。

图2 图像融合处理前后对比图

1.3 球面全景映射

随着球形全景浏览技术的发展,360°×180°球形全景图像已经成为全景行业的一种标准。为了得到球面全景的二维图像,我们还需要将拼接好的全景图像按照经纬度映射到一个矩形纹理图像上,这一过程就是球面全景映射。其中,经度映射为矩形的水平坐标,纬度映射为矩形的垂直坐标[10],原理如图3所示,二维图像如图4所示。

图3 球面全景映射原理

显然,除赤道线和垂直线仍是直线外,其余线都发生了不同程度的弯曲。从赤道到两极,横向拉伸不断加剧,尤其是两个极点被拉伸为扁平的网格,分布在图像的整个上、下部边缘。

图4 球面全景的二维图像

1.4 全景浏览引擎

德国的Krpano Panorama Viewer全景浏览引擎采用的是基于Flash和HTML5的三维全景显示技术,不仅支持Windows、Mac、Linux等桌面浏览,而且在iPhone、iPad、Android等移动设备上也可以浏览,是当前较为流行的互动三维全景浏览引擎。

Krpano的显示效果和场景配置是分开处理的,前者采用Adobe公司完全面向对象的编程语言Action Script编写,语法类似JavaScript;后者采用可扩展的标记语言XML进行描述,用户只需改变XML文件即可实现场景中的数据绑定和动画控制。XML是一种通用标准,由其组织的全景空间也可被外部平台使用,具有良好的可扩展性,使得组建大规模全景空间成为可能[11]。

2 全景漫游系统实现过程

全景漫游系统的制作涉及图片无缝拼接、立方体转换、全景图浏览、场景编辑、网上发布等诸多技术,需要依赖一定的硬件设备和软件来实现,如图5所示。

图5 全景漫游系统实现过程

2.1 图像采集

图像采集主要涉及摄影器材的选取和组装、参数的调整和设置、场景图像的拍摄等工作,其中全景云台节点的调节以及场景图像拍摄方案的选择是重点。作者采用佳能EOS600D单反相机+8 mm Walimex鱼眼镜头+美达斯V-POD全景云台进行图像的采集。

2.1.1 全景云台节点的调节

全景云台节点(即相机的光学中心)的调节是保证拍摄效果的重要手段,目的是使相机镜头的节点永远处于云台的旋转轴上,从而有效消减因节点变动导致的误差。根据经验,作者总结出两种快速实用的调节云台节点的方法。

1)精确量测法。首先,测量相机快装板到镜头轴线的距离,取下相机置于水平桌面,测量镜头轴线到桌面的距离,精确到0.5 mm;然后,在云台上安装快装板,调节云台水平臂的长度,使快装板底面到云台旋转轴的距离等于上一步中的测量结果;最后,在镜头前面隔一定距离竖起两根线,固定相机以正中重叠两垂线取景,左右旋转相机,让物体停留到取景器的左边和右边,仔细观察物体的重叠情况,调整前后臂至旋转相机后无论物体在取景器的左侧或右侧都重叠时,节点位置就找到了,如图6所示。

图6 全景云台节点位置调节

2)目测实验法。首先,将相机固定在云台上,站在相机前方正对云台和相机目视观察,调整云台水平臂和前后臂,使相机中轴线与云台的旋转轴处于同一铅锤面;然后,将相机旋转至镜头朝下,从取景器中观察云台中轴,调整云台使旋转轴位于相机取景器正中央;最后,同量测法。

2.1.2 图像拍摄方案的选择

作者采用单反相机配以全景云台及鱼眼镜头进行图像拍摄工作。鱼眼镜头是一种特殊的超广角镜头,焦距极短且视角接近180°。为了达到180°的超大视角,鱼眼镜头的设计者不得不允许桶形畸变的合理存在[12]。综合考虑鱼眼镜头的超广视角、成像质量和速度以及后期浏览效果,作者结合实际经验在传统4种方案的基础上提出了第5种方案,即将镜头仰角调整为5°左右,水平方向每60°取一张照片,共拍6张,既保证了成图质量和视觉效果,又加快了拍摄速度。需要说明的是,当仰角为5°左右时天空刚好没有盲区(黑洞),且地面盲区面积适中,故能很大程度上减少后期图像处理的工作量,提高效率。

2.2 图像处理

图像处理主要涉及图像预处理、图像拼接、图像优化、立方体转换、图像后期处理等工作。推荐使用专业的全景拼图软件PTGuiPro 完成上述工作,而图像的后期处理则选用Adobe Photoshop CS5来完成。

这里以河海大学南门为例阐明图像处理的基本流程:①图像加载。打开PTGuiPro软件,加载6张图像。②控制点生成及处理。利用控制点生成工具生成控制点,删除误差较大的控制点。③图像预处理。使用蒙版工具,去除图像中不必要的内容,如人影、三脚架等。④图像优化。优化曝光和色彩,以消除曝光不平衡造成的色差。⑤创建全景图像。设置尺寸、品质、格式等参数,创建全景图像。⑥立方体转换。为去除图像中的噪声以及配合后期全景浏览网页的制作,使用立方体转换工具将全景图像转换到6个立方体表面,如图7所示。⑦图像后处理。使用Adobe Photoshop CS5修补立方体表面的盲区和噪声。

图7 立方体表面

2.3 漫游构建

漫游是在建立场景之后,实现多个场景间的交互和跳转[13]。漫游系统的构建主要涉及Web网页的制作与发布等工作。

Web网页制作主要涉及图像切片处理、场景视角设置、鱼眼变形调整、多场景间跳转、Logo、地图、缩略图等插件添加以及图片、声音、视频、Flash等热点布置。其中一部分可借助kmakemultires.exe工具及kmakemultires.config配置文件来完成,

( )另一部分则是通过kapanoViewer自身提供的接口以及ActionScript、Javascript、Html、Xml

等编程实现。本地浏览效果如图8所示。

图8 河海大学校园全景漫游系统主界面

[1] 胡小强.虚拟现实技术与应用[M].北京:高等教育出版社,2004

[2] 刘思凤.基于FLASH的湛江虚拟旅游全景漫游与导航系统[J].广东海洋大学学报,2009,29(3):68-72

[3] 钱芬.虚拟现实技术在数字化校园中的应用研究[D].成都:电子科技大学,2007

[4] 李云伟.全景图技术的研宄[D].武汉:华中科技大学,2007

[5] Richard S,Shum H Y. Creating Full View Panoramic Image Mosaics and Environment Maps[C].24th Annual Conference on Computer Graphics and Interactive Techniques,New York,1997

[6] Jang K H,Jung S K,Lee M H.Constructing Cylindrical Panoramic Image Using Equidistant Matching[J].IEE Electronics Letters,1999,35(20):1 715-1 716

[7] 谭磊.图像拼合及宽视角全景图生成算法研究[D].天津:天津理工大学,2007

[8] 王红春.图像拼接技术的研究及在虚拟现实中的应用[D].成都:西华大学,2010

[9] 游磊.图像拼接的核心算法研究[D].重庆:重庆大学,2009

[10] 罗立宏,谭夏梅.球形全景图像的自动拼接[J].计算机应用与软件,2008,25(6):228-230

[11] 朱国情,李东亮,程刚.基于Krpano的全景编辑系统设计与实现[R].三亚:第14届中国系统仿真技术及其应用学术年会,2012

[12] 陈宇先.基于Flash ActionScript3的虚拟校园全景漫游[D].广州:中山大学,2010

[13] 冯建平,吴丽华.基于全景图像的三维全景漫游系统的构建[J].计算机与数字工程,2013,41(1):115-117

P237.3

B

1672-4623(2014)04-0150-03

10.11709/j.issn.1672-4623.2014.04.053

李永亮,硕士,主要从事全景漫游、WebGIS与手机GIS研究。

2013-09-13。

项目来源:江苏省测绘科研基金资助项目(JSCHKY201319)。

猜你喜欢
云台立方体球面
云上之家——万科·郡西云台
龙门山·卧云台
关节轴承外球面抛光加工工艺改进研究
帮我买云台
转体桥大直径球面平铰底部混凝土密实度控制
球面检测量具的开发
基于STM32的无线FPV云台设计
深孔内球面镗刀装置的设计
内克尔立方体里的瓢虫
图形前线