Web地理空间360°全景技术研究
2019-01-26陶鲭宇刘汉湖陈建华许开行卢健
陶鲭宇 刘汉湖 陈建华 许开行 卢健
摘 要:全面分析了Web地理空间360°全景从图像采集的两种要求、平面投影、球形投影、柱形投影和立方体投影等四种图像投影方式、基于面积和特征的两种图像匹配的方法以及图像的融合方法探究;再分析了全景浏览的步骤和其不同的实现方法,并简单阐述了不同方法之间的优缺点;还分析对比了360°全景和二维图片、三维建模等表现形式及各自具备的优势;以及360°全景可观的发展前景。
关键词:360°全景;图像投影;图像融合
中图分类号:TP391 文献标志码:A 文章编号:2095-2945(2019)01-0158-03
Abstract: This paper studies the 360°Panorama Technology of Web Geospace in terms of two image acquisition requirements, four image projection methods, i.e. plane projection, spherical projection, cylindrical projection and cube projection, and two kinds of image matching methods based on area and feature as well as image fusion methods. Then, it analyzes the steps of panoramic browsing and its different methods of implementation, and briefly describes the advantages and disadvantages of different methods. Besides,the paper compares the 360° Panorama, two-dimensional pictures, three-dimensional modeling and other forms of representationas well as their respective advantages. Finally, it describes the considerable development prospects of 360° Panorama.
Keywords: 360° Panorama; image projection; image fusion
Web地理空間360°全景技术是基于地理环境和视觉效果讨论空间信息所反映的规律知识的技术。它是计算机虚拟现实技术的一个分支,真正实现了数据可视化。随着二维影像成像技术的成熟、三维建模技术的发展,360°全景因其更高的真实性、更小的体积、更短的开发周期、更好的网络传播性和更强的扩展性,在场景展示方面占据了一席之地。
1 全景图像处理
全景图像的制作流程为:原始图像采集及处理、图像投影、图像匹配与拼接、图像融合。
1.1 图像采集及处理
全景图像采集通常有两种方法。
一种是使用专业全景相机,相机具有多个超广角摄像头,将拍摄数据导入与相机配套的设备软件,软件会自动处理并导出一张全景照片,照片是可以获得用于生成360°全景图像的二维图片。这种方式具有采集方便、操作简单等优点,但设备价格昂贵,不适于所有人。
另一种是使用手机等具有普通拍照功能的设备,使设备原地转动360°,拍摄从天空到地面的景象,保证照片有一定重叠率,然后将得到的数张图片导入到如PTGui等全景像片处理软件,自己手动处理这些照片,然后生成一张用于生成360°全景图像的二维图片。这种方式可以完全不需要购买设备,如人手持手机就可以做到。但这种方式对拍摄要求较高,为了保证很好地对准、合并图片,拍摄时需要尽量使设备在同一水平面上进行360°旋转,并保持拍摄时的稳定,因此最好使用三脚架;对于照片的重叠率,最好不低于70%。由于获得的照片里会有三脚架等放置设备的仪器,因此需要对图片进行剪贴蒙板处理;为了精确对准,需要对没找图片的视点等进行精确优化,这都可以用PTGui软件进行处理。在生成全景二维图片后,可能会发现照片中缺少天或地的一部分,这就需要使用PTGui将图片拆分为顶、底、前、后、左、右六张照片,找到缺失部分所在的照片,在PS中对图片进行填充处理。
1.2 图像投影
在采集图像时,每张图像都是以二维平面上的中心投影方式进行获取。而为了进行拼接,并可以生成360°全景图像,这些图片需要投影到特定的几何体上。一般投影方式有平面投影、球形投影[1-2]、柱形投影[3]和立方体投影[4]。
1.2.1 平面投影
平面投影即是在平面上以中心投影方式输出图像,输出的图像与原图像没有区别,因此图像拼接得到的结果经常错误,最后呈现的是一个错误的长图片。
1.2.2 球形投影
球形投影是把拍摄的照片投影到一个以观察者(即相机)为中心的圆球上,球形全景达到水平360°、垂直180°,可以观察到任何一个角落;球形全景是与人眼模型最为相似的描述,可以提供在视点处的全方位连续观察。但由于球形投影是以相机为中心,因此在进行图片拼接时,上下两侧的投影逐渐变大,由于误差的积累,全景的顶部和底部难以精确对准、变形严重,当重叠率较低时,可能出现严重失真。
在导出全景图像的二维图片时,由于球面坐标是三维的,因此需要把球面上的点投影到二维平面上。常使用经纬映射法进行投影,最后得到一张2:1的矩形图。
1.2.3 柱形投影
柱形投影是把拍摄的照片投影到以观察者(即相机)为中心的圆柱体上,柱形全景达到水平360°,但垂直小于180°,可以看到四周,而顶部和底部不可见,这也是通常所说的“环视”。很多专业全景拍摄设备直接获得的全景图片即是这种,它是最简单的全景。由于缺少了顶部和底部,因此柱形全景变形也较小,图像质量均匀,细节真实程度更高。
1.2.4 立方体投影
立方体投影所得到的全景图也可以全方位表达场景信息,即达到水平360°、垂直180°。立方体全景图像的二维图片不同于前面的几种投影方式得到的二维图片,它是由六张图片组成,分别代表了全景的顶、底、前、后、左、右六个方位。这种投影方法打破了原有的单一图像拼合技术,克服了球面全景中严重变形、图像失真的问题,具有更高精度和更高存储效率。同时立方体全景图中的场景同样是连续的,因此在浏览全景的时候,同样需要根据视线投影出相应的场景。
1.3 图像匹配与拼接
图像拼接是指用算法将多张有一定重叠率的序列图像拼接成一幅360°全景图对应的二维图片。对图像重叠部分的识别决定了图像拼接的质量,而图像拼接的质量直接影响到全景图的展示效果。一般情况下,两张照片的重叠率保持在70%左右比较合适,得到的照片总数不多,也容易判斷重叠部分的特征。具体来说,重叠部分的大小取决于重叠部分的特征的明显程度,对于特征明显的部分,可以有较小重叠区域,对于特征不明显的部分,应当有较大重叠区域。识别重叠部分的过程被称为图像匹配,目前图像匹配的方法有基于面积的匹配[5]和基于特征的匹配[6]。
1.3.1 基于面积的匹配
根据图像的像素值进行图像匹配的方法。利用待拼接图像的灰度值,用一定的数学方法,如最小二乘法等,来计算图像重叠部分的灰度值的差异,通过比较差异的大小来判断待拼接部分的相似性。其优点是易获得需要的信息、实现简单;但其计算量偏大、获取结果较慢、精读低,且待拼接的两幅图像的亮度和对比度也不能相差太大。
1.3.2 基于特征的匹配
根据图像的特征值进行图像匹配的方法。从图像中提取图像的特征,如点、线、纹理、边缘等,并找出特征之间的关系进行匹配。这种方法极大地减少了计算量,提高了匹配精度,但其过程较为复杂。
1.4 图像融合
由于获取图像时拍摄角度不同,光照条件也可能不同,因此为了避免拼接后的图像在拼接处出现不同的亮度,需要进行图像融合以消除拼接的痕迹(如图1所示)。图像融合主要是对图像像素的亮度值进行处理,可以对局部进行亮度调整的融合,也可以对整体进行亮度调整的融合,如灰度域算法、最佳缝合线方法和梯度域方法。
2 全景浏览
根据全景图像的二维图片创建360°全景图像,即在场景中创建一个三维对象,然后将二维图片贴在三维对象的表面,将视角中心放在三维对象的中心位置,在浏览时只需转动三维对象即可达到全景浏览的效果。在创建三维对象时,不同的投影方式创建的三维对象不同,球形投影对应的三维对象是球形,柱形投影对应的三维对象是柱形,立方体投影方式对应的三维对象是立方体。在转动三维对象时,需要实时获取转动的角度和观察坐标,以计算可见部分和隐藏部分。
生成全景图像后需要选择合适的全景播放器来浏览全景,并将其嵌入到网页中,以达到Web页面浏览全景的目的。目前常用的全景播放技术有Java Applet[7]、QTVR、Adobe Flash Player、HTML5[8]。
Java Applet是用Java语言编写的小应用程序,可以直接嵌入网页中,是常用的显示插件。当其运用在全景播放的时候具有文件小、下载速度快的优点,但是也有幅面小,图像质量差,动态显示不连续等的缺点。
QTVR是Quick Time Virtual Reality的简称,是美国苹果公司对Quick Time技术的扩展。它是新一代的、基于静态图像处理的初级虚拟现实技术。它的优点是图像幅面大、质量好,缺点是视像范围小,不能实现全屏播放,较高的版本需要付费注册。
Adobe Flash Player的功能强大,并且免费,可以完美的结合上述两种技术的优点,具有图像幅面大、质量好,并且免费,还没有图像动态不连续的缺点。但是它需要安装,对于不同浏览器的兼容性不好,并且Flash近年来已经有了被HTML5所取代的趋势,正渐渐走向消亡。
HTML5在2014年由万维网宣布制定完成,并在几年的发展时间几乎完全代替了Flash的地位。相比Flash,HTML5具有更好的兼容性不需要依赖其他插件,并且它的使用更加灵活。HTML5在三维图形方面提供了基于SVG、Canvas、WebGL和CSS3的3D功能,能呈现更加真实的视觉效果(如图2所示)。有时,在生成全景后,可能需要给全景中的某个地点或某个景物增加介绍性文字、图片、视频、音频等,还可以使用HTML为全景增加图层,以显示这些内容。
3 小结与讨论
经过上面的讨论,可以知道,360°全景和二维图片、三维建模等表现形式相比,有以下几点优势:
(1)有更好的真实感和沉浸感,更能给观赏者带来身临其境的感觉。
(2)相比传统二维图像,融入了空间信息,因而能够表达更多的讯息。
(3)交互性能好,能随意旋转查看。
(4)制作成本低,制作周期短。
(5)文件内存小、发布格式多,传输方便,能随时随地拷贝或传输,便于网络传播。
因此,360°全景在真实、全面、直观、便捷表现某一场景时非常适用。目前,在酒店行业、旅游行业、科普领域和房地产行业等都能看到360°全景影像的应用,将来也必然会用于更多领域。
参考文献:
[1]李松,张钦泉,吕卓,等.基于特征点的球面全景图快速生成算法[J].长春理工大学学报(自然科学版),2012,35(3):75-78.
[2]杨燕,王雪瑞,戴青,等.球面全景图像生成技术的研究[J].计算机应用与软件,2007,24(10):164-165.
[3]钟力,张茂军,孙立峰,等.360度柱面全景图象生成算法及其实现[J].小型微型计算机系统,1999(12):899-903.
[4]韦群,高丽,龚雪晶.基于立方体全景图的虚拟场景浏览技术研究及实现[J].中国图象图形学报,2003,8(9):1061-1066.
[5]Brown, M., Lowe, D. Automatic Panoramic Image Stitching using Invariant Features[J]. International Journal of Computer Vision, 2007,74(1):59-73.
[6]华顺刚,张静,欧宗瑛.基于图像绘制的球面全景图生成及自动拼接技术研究[J].大连理工大学学报,2003,43(5):640-644.
[7]宋利,周源华,周军.一种全景图浏览器的JAVA实现算法[J].计算机应用与软件,2003,20(12):1-2.
[8]Gesquière, G., Manin, A. 3D visualization of urban data based on CityGML with WebGL [J]. International Journal of 3-D Information Modeling (IJ3DIM), 2016,1(3):1-15.