柱面投影、拼接视差、球面投影

1. 图像拼接传统做法:

特征点提取:sift、surf、orb等特征点提取;
基于特征点的配准:RANSAC方法剔除匹配点并拟合图像变换矩阵(全局单应性矩阵);
图像融合:先确定缝合线,再利用加权融合、多频带融合的方法融合;
方法:除了按照上文提到的顺序利用opencv进行拼接,还可以用opencv自带的stitch类,拼接很方便,效果也很好。


2.图像拼接出现的问题:
对于大视差的物体(可以理解为离摄像头比较近的物体,或者待拼接的图片上有远景有近景)
可采用的方法,分为两种,一种是基于缝合线的方法,可以参看确定Seam- Driven 、Content preserving warp 、Parallax-toleranting stitching 这三种方法,很经典的。
二是采用基于网格优化及网格约束的方法,代表有DHW、SVAS,APAP,SPHP、AANAP等方法,可以下载他们的相关论文看。

3.视频拼接出现的问题:
视频拼接除了图像拼接的大视差问题,还有移动的物体经过重合区域会出现重影的问题,现在解决的办法比较推荐的有
Video Stitching with Spatial-Temporal Content-Preserving Warping 这篇论文,提出加时空域约束项,时空域3D缝合线的方法,效果很好。



待拼接的两幅图像之间的变换模型是平移模型,即两幅图像同名点位置之间只相差两个未知量:

Δx 和Δy,自由度为2,模型收得最紧。首先对输入的两幅图像做 柱面投影 ;然后通过模板匹配求取 Δx  和 Δy;最后采用渐入渐出的融合方式拼接两幅图像。

图像拼接知识和论文


图像拼接中的视差问题,就是指当输入图像间存在视差时,由于图像配准环节中所使用的配准模型无法完全表述图像之间的变换关系,导致重合区域内对应像素点的误匹配,降低配准效果的现象。在特定场景下,这种由于视差引起的误匹配可能导致全景图像的重合区域中出现鬼影、模糊,在拼缝处出现错位、断裂等诸多不良现象,恶化全景图像的质量。

在进行图像配准时,当前一般使用射影变换(单应)作为全局配准模型,即将待拼接图像上所有的像素点使用同一个单应矩阵映射到参考图像上。以图像 i、j 为例,基于射影变换的配准关系如下:


只有当满足:(1)所拍摄场景是平面,即场景中不存在深度差异;(2)拍摄时绕光心纯旋转取景,即在取景过程中不发生取景视点的变化;此两种情况之一时,重合区域内所有像素点才能使用同一个变换模型。而当场景中存在景深差异,在取景时相机光心又发生了平移运动时,就会因配准模型无法完全表述两幅图像之间的变换关系而发生不可避免的误匹配,降低配准的准确性,这即是拼接过程中视差问题的根源所在。这种由于视差导致的误匹配是在特定场景下的模型误差,无法消除,只能通过图像融合环节来缓解和掩盖。当融合环节无法完全抵消视差的影响时,就会导致全景图像中出现各类质量问题,降低拼接效果。


知乎知乎资源链接


视频拼接的示例还未下载