全景拼接算法简介
- 格式:docx
- 大小:2.10 MB
- 文档页数:11
全景拼接算法简介
罗海风
2014.12.11
目录
1.概述 (1)
2.主要步骤 (2)
2.1. 图像获取 (2)
2.2鱼眼图像矫正 (2)
2.3图片匹配 (2)
2.4 图片拼接 (2)
2.5 图像融合 (2)
2.6全景图像投射 (2)
3.算法技术点介绍 (3)
3.1图像获取 (3)
3.2鱼眼图像矫正 (4)
3.3图片匹配 (4)
3.3.1与特征无关的匹配方式 (4)
3.3.2根据特征进行匹配的方式 (5)
3.4图片拼接 (5)
3.5图像融合 (6)
3.5.1 平均叠加法 (6)
3.5.2 线性法 (7)
3.5.3 加权函数法 (7)
3.5.4 多段融合法(多分辨率样条) (7)
3.6全景图像投射 (7)
3.6.1 柱面全景图 (7)
3.6.2 球面全景图 (7)
3.6.3 多面体全景图 (8)
4.开源图像算法库OPENCV拼接模块 (8)
4.1 STITCHING_DETAIL程序运行流程 (8)
4.2 STITCHING_DETAIL程序接口介绍 (9)
4.3测试效果 (10)
5.小结 (10)
参考资料 (10)
1.概述
全景视图是指在一个固定的观察点,能够提供水平方向上方位角360度,垂直方向上180度的自由浏览(简化的全景只能提供水平方向360度的浏览)。
目前市场中的全景摄像机主要分为两种:鱼眼全景摄像机和多镜头全景摄像机。鱼眼全景摄像机是由单传感器配套特殊的超广角鱼眼镜头,并依赖图像校正技术还原图像的鱼眼全景摄像机。鱼眼全景摄像机
最终生成的全景图像即使经过校正也依然存在一定程度的失真和不自然。多镜头全景摄像机可以避免鱼眼镜头图像失真的缺点,但是或多或少也会存在融合边缘效果不真实、角度有偏差或分割融合后有"附加"感的缺撼。
本文档中根据目前所查找到的资料,对多镜头全景视图拼接算法原理进行简要的介绍。
2.主要步骤
2.1. 图像获取
通过相机取得图像。通常需要根据失真较大的鱼眼镜头和失真较小的窄视角镜头决定算法处理方式。单镜头和多镜头相机在算法处理上也会有一定差别。
2.2鱼眼图像矫正
若相机镜头为鱼眼镜头,则图像需要进行特定的畸变展开处理。
2.3图片匹配
根据素材图片中相互重叠的部分估算图片间匹配关系。主要匹配方式分两种:
A.与特征无关的匹配方式。最常见的即为相关性匹配。
B.根据特征进行匹配的方式。最常见的即为根据SIFT,SURF等素材图片中局部特征点,匹配相邻图片中的特征点,估算图像间投影变换矩阵。
2.4 图片拼接
根据步骤2.3所得图片相互关系,将相邻图片拼接至一起。
2.5 图像融合
对拼接得到的全景图进行融合处理。
2.6 全景图像投射
将合成后的全景图投射至球面、柱面或立方体上并建立合适的视点,实现全方位的视图浏览。
图1:opencv stitching模块进行图像拼接的处理流程
(部分步骤可选)
3.算法技术点介绍
3.1 图像获取
由于鱼眼镜头和常规镜头在生成全景图方面存在很大差异,其校正算法完全不同,因此需分开讨论。但是校正后的图像进行拼接步骤时的处理方法一定程度上可通用。
A.单常规镜头拍摄多张图片方式(手持)
该方式很常见,在目前多种手机上均有相关全景功能。
B.多个常规镜头组成的相机(或单镜头旋转扫描方式)
图2:三星2014年发布的360度全景照相机Project Beyond,内置16个摄像头
C.鱼眼镜头拍摄
图3:理光2013年发布双鱼眼全景相机RICOH THETA
3.2鱼眼图像矫正
若为鱼眼镜头采集的到的图像,必须对图像进行矫正。鱼眼镜头图像校正算法通常有两种:一种是球面坐标定位法,一种是经纬映射法。具体推导过程见参考资料【1】《鱼眼照片生成全景图算法的研究与实现》,矫正效果如下图所示:
图4:鱼眼图像及校正后的展开图
3.3 图片匹配
3.3.1与特征无关的匹配方式
与特征无关的匹配方式常见的为相关性匹配,一般都用于没有复杂变换的图像拼接情况下。该方式计算简单,仅为普通的灰度模板匹配。具体细节见参考文档【2】《全景图生成技术研究》。
图5:模板匹配法示意图
3.3.2根据特征进行匹配的方式
基于特征的匹配首先从图像上选取特征信息,然后识别出两幅图像对应的特征信息。常用的特征信息有特征轮廓,特征曲线,特征点,多采用特征点匹配法。
进行特征点匹配的第一步是提取所有素材图片的局部特征点。普遍来讲,一张图片所包含的特征点通常就是周围含有较大信息量的点,而仅通过这些富有特征的局部,基本就可以推测出整张图片。常见的特征点包括SIFT,FAST,SURF等。
图6:SITF特征点检测效果图。青色内容为检测到的SIFT特征点。
由于特征点由特征向量表示,所以图中每个特征点显示为一个箭头。
形成特征向量之后下一个问题就是如何匹配了。最基本的方式可以称作“最邻近搜索”(Nearest Neighbour),实际上也就是找在128维空间上直线距离最近的的特征向量,这个求直线距离的方式和2维无异,最近的特征向量也就被认为是互相匹配。SIFT原作者使用的方式是增加了k-d tree算法来高效率地完成高维度上的最邻近搜索。特征点匹配效果如下图所示。
图6:SITF特征点匹配效果图
3.4图片拼接
在以上步骤中得到了图像间的匹配关系,就可以根据这些关系进行图像的拼接了。按照图像匹配的不同方式,拼接处理也分两大类:
A.根据模板匹配的方式,可得到图片见的平移(或者包括缩放)参数,继而根据参数进行图像拼接操作;
B.根据特征点匹配的方式,则利用这些匹配的点来估算"单应矩阵" (Homography Estimation),也就是把其中一张通过个关联性和另一张匹配的方法。单应矩阵H效果如下: