目录

0.简介

1.具体实现

1.1整体思路

1.2对齐模型的选择

1.3对齐质量的评估

1.4单应性初筛选

1.5对齐算法总结

1.6网格变换优化的那一套


0.简介

本篇文章主要处理具有视差图像的拼接问题,主要采用局部的拼接方法。考虑到仅需要局部区域对齐,就可以无缝的融合在一起。整体思路:在配准方法上,结合单应性变换和局部扭曲bian'huan(APAP)去解决视差和局部失真,具体实现上,论文首先采用随机搜索算法进行单应性矩阵的搜索并,并寻找拼接缝(考虑到几何对齐和图像内容)和采用拼接缝成本作为一个质量度量函数。然后我们用单应性矩阵进行预对齐,并采用局部扭曲矩阵进行局部对齐。最后使用标准的切割缝算法和多波段融合算法将对齐的图像组合在一起。

本文的思想建立于:

本文提出了一种视差容忍图像拼接方法。我们的方法是建立在一个观察,对齐图像完美的整个重叠区域是不需要的图像拼接。相反,我们只需要将它们对齐,使重叠区域中存在一个局部区域,可以将这些图像拼接在一起。我们称这种方法为局部拼接,并开发了一种有效的方法来找到这种允许最优拼接的局部对齐。我们的局部拼接方法采用了一种混合对齐模型,该模型同时使用了单应性和内容保持的翘曲。单应性可以保持全局图像结构,但不能处理视差。与此相反,内容保持翘曲比单应变换能更好地处理视差,但不能像单应变换那样保持全局图像结构。此外,局部拼接仍然偏爱配准比较好、较大的局部公共区域。(但配准的好和想要局部区域比较大是冲突的)因此采用松散的单应性矩阵

1.具体实现

1.1整体思路

检测SIFT特征点→随机选择一个种子特征点→并对邻近的特征点进行分组→估计对齐结果(对齐结果希望找到一个特征分布紧凑的局部区域上,并估计拼接质量,不断循环,若质量够好)→缝合下面我们首先讨论该算法的一些关键组成部分,然后给出一个详细的算法描述。

1.2对齐模型的选择

目前拼接的主流选择有:全局2D变换,经典的Homography变换,空间变形(如内容保留变形),其中全局2D变化最大的优点是,不会有令人反感的局部变形,但是由于其地灵活性,无法处理视差。在图像拼接中,没有必要在整个重叠区域精准的对齐图像,但是可以在尽可能大的公共区域内对齐图像。相比之下,内容保留变形更加灵活,可以更好的对齐图像,但是存在局部失真的问题。因此作者选择了,内容卷曲保留和单应性变换结合,以最小的失真在一个公共区域上对齐图像。具体实现思路:给定一个随机种子点,以其最邻近的点作为一组,设定一个较大的阈值,是尽可能多的特征点能够加入配准,尽管单应性矩阵没有办法很好的拟合这些特征点,但是松弛的单应性可以通过稍后的APAP进行补偿。

1.3对齐质量的评估

若直接对H矩阵+APAP进行变形,比对参考图像检测对齐情况。但是这种方式下,不能预测是否能够在重叠区域找到良好的拼接缝,并且没有考虑图像内容对拼接的影响(显著性区域需要更好的对齐,低纹理区域可以步进行很好的对齐),而且很慢。

解决方案:提取图像边缘,只估计单应性如何拼接,并对大致对齐的图像中找到一个合理的接缝,并使用接缝成本进行评分解决这个问题。

具体实现:输入(变换后的图,参考图(细小误配准的容忍)→ canny提取边缘 → 得到变换后的边缘图和参考图的边缘图→进行差分

合理的拼接缝应该避免穿过差分图中值比较大的区域,并采用graph-cut寻找核里的拼接缝(全局最小割算法:寻找切割成两张图片能量最小的路径组),并将重叠区域的每个像素作为一个图节点,并定义边界损失值为:

其中e(s,t)代表一个边的两个点的损失值,其损失值由两个点的损失值进行加和,主要是两个节点的差分图的值大小,越大就代表这两个点越有可能是差分区域。并引入特征点的稀疏情况f(c)进行加权处理。其中f(c)中 Ps代表每一个图节点,Pi 代表每一个特征点,g代表就行了高斯函数,保证每一个节点的值传递到局部区域,

(困惑的点,按照这个公式,稀疏区域离其余特征点更远,按逻辑其f(c)的权重就比较小,而对于特征点密集的区域,f(c)的权重就比较大。而作者前文讲,对于特征点密集的区域,利用APAP修复的可能性就越大,应该降低其 错误对齐的权重,按照这个公式应该权重比稀疏区域更大了。)

(可能性:因为引入了高斯函数,对于稀疏的特征点的网格,其区域内的特征点很少,而超过区域的特征点,权重几乎为0,因此不提供贡献。因此密集区域的欧式距离和会更大。fc(s)更小) 这个问题有朋友有其他理解可以一起讨论。

结论:对于差分区域为0的区域,损失值应该为0,而对于差分区域,特征点密集的区域损失值低于特征点稀疏的区域。因此寻找拼接缝的优先级:

  1. 配准好的区域
  2. 特征点密集的未配准好的区域
  3. 特征点稀疏的未配准好的区域

1.4单应性初筛选

在上诉,我们通过得到单应性矩阵,计算拼接缝的质量,并试图得到最优局部单应性。但是对于有些非常离谱的H矩阵,这样计算就很浪费时间,因此可以进行一次初筛。

H矩阵会比相似矩阵拟合所有点的变换拟合的更好,但有时候会使图片严重的变形(有可能其中有错误的点)而相似矩阵会在平移旋转上进行变形,因此不会导致严重的失真。同时也没有单应性矩阵这么贴合所有点。是输入图像的四角,是经过H变换后的输入图像四角。并用最小优化问题得到最优相似矩阵。得到相似矩阵后,计算H变换后的四角和A变换后的四角欧式距离和并归一化,大于0.01就丢弃此矩阵。

1.5对齐算法总结

随机算法是怎么做的:

  1. 得到两张图的SIFT特征点并计算边缘图
  2. 随机选择种子点和他最邻近的点作为备选点选择组,并不断的加入最邻近的点(最近的加入了就选择次近)直到不能单应性拟合失败(1.4的单应性拟合丢弃的条件)。并为每个特征点保留一个惩罚值,以确定它在迭代过程中被选择的次数,一旦一个特征点被选择,就增加一次它的惩罚值。在每次迭代中,要选择一个特征点作为有效种子,选择过的不能要,且该特征点的惩罚分数低于所有特征点的平均惩罚值。

原因:除了第一次迭代,每一次迭代都代表,已经有一批特征点去拟合,但没有拟合得到正确的点。被选择过的种子点,不能再使用,并且其局部区域被选择的点是上一次失败拟合的点,下一次选择种子点,也多半会得到错误的H矩阵,因此这一类的点我们也不优先选择。最后就是得到的剩余点作为随机点。

总结:其实是分区域分区域的寻找最优H矩阵并保证可以得到一个较好的拼接缝。但是其实复杂度反而比较高,首先每个点都要计算其最邻近的点集(N的复杂度)→计算得到H矩阵(opencv封装比较快)→计算相似矩阵 →反复迭代直到H矩阵符合1.4的条件→计算graph-cut对齐质量(不符合又要重新迭代寻找新的种子点)。最终只拿到一个局部区域符合寻找拼接缝的配准。

1.6网格变换优化

不细写了...主要是三角约束变形+内容保留变形+全局变换约束

【论文精读】Parallax-tolerant Image Stitching相关推荐

  1. 【论文精读】Parallax-Tolerant Image Stitching Based on Robust Elastic Warping

    图像拼接系列相关论文精读 Seam Carving for Content-Aware Image Resizing As-Rigid-As-Possible Shape Manipulation A ...

  2. 【论文精读】Natural Image Stitching Using Depth Maps

    图像拼接系列相关论文精读 Seam Carving for Content-Aware Image Resizing As-Rigid-As-Possible Shape Manipulation A ...

  3. 【论文精读】As-Projective-As-Possible Image Stitching with Moving DLT

    图像拼接系列相关论文精读 Seam Carving for Content-Aware Image Resizing As-Rigid-As-Possible Shape Manipulation A ...

  4. 【论文精读】Seam-Driven Image Stitching

    文章目录 摘要 1.介绍 2.接缝驱动图像拼接 2.1 生成单应候选 2.2 计算拼接缝 2.3 评估接缝 3.结果和讨论 碎碎念 摘要 图像拼接依靠重叠图片之间的特征最佳适配去计算几何变换从而配准图 ...

  5. 【源码精读】As-Projective-As-Possible Image Stitching with Moving DLT(APAP)第一部分:全局单应Global homography

    文章目录 前言 准备工作与全局变量 基于全局单应的图像拼接过程 1.读入图像,特征点检测与匹配 2.数据归一化,RANSAC剔除异常值 3.计算全局单应,获取拼接图大小,拼接 4.加权融合 总结 前言 ...

  6. 【论文精读】Leveraging Line-point Consistence to Preserve Structures for Wide Parallax Image Stitching

    图像拼接系列相关论文精读 Seam Carving for Content-Aware Image Resizing As-Rigid-As-Possible Shape Manipulation A ...

  7. 【论文精读】Warping Residual Based Image Stitching for Large Parallax

    图像拼接系列相关论文精读 Seam Carving for Content-Aware Image Resizing As-Rigid-As-Possible Shape Manipulation A ...

  8. 【论文精读】Perception-based seam cutting for image stitching

    图像拼接系列相关论文精读 Seam Carving for Content-Aware Image Resizing As-Rigid-As-Possible Shape Manipulation A ...

  9. 【论文精读】Quality evaluation-based iterative seam estimation for image stitching

    图像拼接系列相关论文精读 Seam Carving for Content-Aware Image Resizing As-Rigid-As-Possible Shape Manipulation A ...

最新文章

  1. Linux驱动框架之framebuffer驱动框架
  2. linux中断系统那些事之----中断处理过程【转】
  3. Vue3里的setup中使用vuex
  4. 高斯投影坐标计算例题_利用MAPGIS软件进行投影变换
  5. ATL 中 USES_CONVERSION 的具体功能
  6. 揭秘百万人围观的Facebook视频直播
  7. springcloud-config-client的那些坑
  8. SSH远程登录原理学习
  9. chrome pdf 打印边距问题处理
  10. node+express 使用multer进行文件上传,并且以PM2启动时的错误
  11. 车市冷车道 这6款紧凑车苦坐板凳寻伯乐(一)
  12. nw.js html5,用nw.js构建项目
  13. cmdline-tools component is missing
  14. 抑郁症可以学计算机吗,AI能从人的话语中察觉到抑郁症吗?目前还为时过早
  15. Android开发学习持续更新中
  16. 神奇密码锁 bfs
  17. linux 音频文件切割_Linux 对音频万能处理的命令——SOX
  18. Atcoder TOYOTA SYSTEMS Programming Contest 2021(AtCoder Beginner Contest 228) C - Final Day
  19. java派生类属例子_辨析之派生类属和相关类属
  20. 怎么把文件上传到java se_java se模仿http向web服务器上传文件

热门文章

  1. 海明威的《老人与海》人生感悟
  2. C语言经典题10道之古典问题: 兔子生兔问题
  3. 职业篇-忠告2-努力工作是成就充实人生不可或缺的要义
  4. 读《孙悟空是个好员工》有感(2005-5-23)
  5. python 列表删除元素
  6. 用python写12306系统_Python实现12306火车票抢票系统
  7. 测试Friendly Flickr
  8. Java Nio 之高级搬砖工(FileChannel)二
  9. airbnb_Airbnb对观众情感联系的误解导致双重抵制
  10. python 开源cms_一起来探讨下国外开源系统CMS