360°全景拼接技术简介
本文为技术简介,详细算法可以参考后面的参考资料。
1.概述
        全景图像(Panorama)通常是指大于双眼正常有效视角(大约水平90度,垂直70度)或双眼余光视角(大约水平180度,垂直90度),在一个固定的观察点,能够提供水平方向上方位角360度,垂直方向上180度的自由浏览 (简化的全景只能提供水平方向360度的浏览),乃至360度完整场景范围拍摄的照片。
        生成全景图的方法,通常有三种:一是利用专用照相设备,例如全景相机,带鱼眼透镜的广角相机等。其优点是容易得到全景图像且不需要复杂的建模过程,但是由于这些专用设备价格昂贵,不宜普遍适用。二是计算机绘制方法,该方法利用计算机图形学技术建立场景模型,然后绘制虚拟环境的全景图。其优点是绘制全景图的过程不需要实时控制,而且可以绘制出复杂的场景和真实感较强的光照模型,但缺点是建模过程相当繁琐和费时。三是利用普通数码相机和固定三脚架拍摄一系列的相互重叠的照片,并利用一定的算法将这些照片拼接起来,从而生成全景图。
        近年来随着图像处理技术的研究和发展,图像拼接技术已经成为计算机视觉和计算机图形学的研究焦点。目前出现的关于图像拼接的商业软件主要有Ptgui、Ulead Cool 360及ArcSoft Panorama Maker等,这些商业软件多是半自动过程,需要排列好图像顺序,或手动点取特征点。
2.全景图类型:
        1)柱面全景图
        柱面全景图技术较为简单,发展也较为成熟,成为大多数构建全景图虚拟场景的基础。这种方式是将全景图像投影到一个以相机视点为中心的圆柱体内表面,视线的旋转运动即转化为柱面上的坐标平移运动。这种全景图可以实现水平方向360度连续旋转,而垂直方向的俯仰角度则由于圆柱体的限制要小于180度。柱面全景图有两个显著优点:一是圆柱面可以展开成一个矩形平面,所以可以把柱面全景图展开成一个矩形图像,而且直接利用其在计算机内的图像格式进行存取;二是数据的采集要比立方体和球体都简单。在大多数实际应用中,360度的环视环境即可较好地表达出空间信息,所以柱面全景图模型是较为理想的一种选择。
        2)立方体全景图
        立方体全景图由六个平面投影图像组成,即将全景图投影到一个立方体的内表面上。这种方式下图像的采集和相机的标定难度较大,需要使用特殊的拍摄装置,依次在水平、垂直方向每隔90度拍摄一张照片,获得六张可以无缝拼接于一个立方体的六个面上的照片。这种方法可以实现水平方向360度旋转、垂直方向180度俯仰的视线观察。
        3)球面全景图
        球面全景图是指将源图像拼接成一个球体的形状,以相机视点为球心,将图像投影到球体的内表面。与立方体全景图类似,球面全景图也可以实现水平方向360度旋转、垂直方向180度俯仰的视线观察。球面全景图的拼接过程及存储方式较柱面全景图大为复杂,这是因为生成球面全景图的过程中需要将平面图像投影成球面图像,而球面为不可展曲面。因此这是一个平面图像水平和垂直方向的非线性投影过程,同时也很难到与球面对应且易于存取的数据结构来存放球面图像。目前国内外在这方面提出的研究算法较其他类型全景图少,而且在可靠性和效率方面也存在一些问题。
3.主要内容
3.1 图像获取
        由于鱼眼镜头和常规镜头在生成全景图方面存在很大差异,其校正算法完全不同,因此需分开讨论。但是校正后的图像进行拼接步骤时的处理方法一定程度上可通用。
        A.单常规镜头拍摄多张图片方式(手持)
        该方式很常见,在目前多种手机上均有相关全景功能。
        B.多个常规镜头组成的相机(或单镜头旋转扫描方式)360汽车
图1:三星的360度全景照相机Project Beyond,内置16个摄像头
        C.鱼眼镜头拍摄
图2:理光双鱼眼全景相机RICOH THETA
3.2鱼眼图像矫正
        若为鱼眼镜头采集的到的图像,必须对图像进行矫正。鱼眼镜头图像校正算法通常有两种:一种是球面坐标定位法,一种是经纬映射法。矫正效果如下图所示: