Seam-Driven Image Stitching - 基于最佳拼缝搜索的图像拼接

时间:2024-04-13 12:18:41

Paper name

Seam-Driven Image Stitching

Paper Reading Note

URL: https://yu-li.github.io/paper/eg13_stitching.pdf

TL;DR

该论文是 Eurographics 2013的一篇文章,主要目的是解决在图像拼接阶段如何找到更合适的拼缝,作者提出了一种基于不同几何变化进行图像拼接并从中搜索到最佳拼缝的方法,效果较好


Introduction

  • 图像拼接(image stitching):
    • 通过计算有重叠区域的待拼接图像对应的最佳匹配特征点来计算几何变化关系
    • 通过计算得到的几何变化关系将待拼接图片进行对齐
  • 传统图像拼接方法的问题
    • 上述Homography-based对齐方式对待拼接图像有两点假设:
      • 图像中采集的场景足够远,以至于可以认为场景是一个平面
      • 采集的相机是绕投影中心旋转,避免有较大视差存在
  • 拼缝(seam-cutting)
    • 上述图像对齐的假设一般很少同时满足,所以拼接过程一般很难完全对齐,拼缝用于隐藏不对齐造成的影响,作者认为拼缝搜索步骤是最影响拼接结果感官的一步
  • 如下图所示,传统方法在使用了更多的匹配关键点(96对)计算得到的几何变化关系后实现的图像拼接效果观感不佳,而作者提出的seam-driven拼接方法能够在使用更少匹配关键点(26对)的情况下获得观感更佳的拼接结果
    Seam-Driven Image Stitching - 基于最佳拼缝搜索的图像拼接

Dataset/Algorithm/Model/Experiment Detail

实现方式

  • 如下图所示:
    • 传统拼接方法如上半图所示,通过输入图片计算特征点并匹配,给予鲁邦估计得到最佳的Homography矩阵,基于该矩阵进行图像几何变化并实施seam-cut后得到拼接结果
    • 所提出的seam-driven方法是通过修改RANSAC算法以得到有差异性的一系列Homography矩阵,基于所有Homography矩阵进行图像几何变化并实施seam-cut得到一系列拼接结果,从这些拼接结果中选出最好的结果
      Seam-Driven Image Stitching - 基于最佳拼缝搜索的图像拼接
生成Homography candidates
  • 传统RANSAC方式难以对图片中所有的匹配特征点对进行穷举采样,通常是类似背景的主导平面的特征点被大量采样
  • 作者提出的RANSAC修改版:
    • 首先实施原始RANSAC算法,迭代次数n设置为较大的500次,用于拟合图像中的dominant平面
    • 移除dominant平面的中的样本点,以迭代次数n为50的情况下进行一系列RANSAC步骤得到一些不同的Homography矩阵
    • 作者认为这样可以得到能够拟合一些更小的平面结构,这些结构对于拼接结果感官较为重要
计算拼缝(seam-cut)
  • 拼缝计算方式参考文献:Interactive Digital Photomontage

  • 可以看成是在马尔科夫随机场上的标注问题,优化以下目标
    Seam-Driven Image Stitching - 基于最佳拼缝搜索的图像拼接
    其中Ed是代表反应像素显著性的数据损耗能量,Es是衡量相邻像素见不连续性的平滑性能量,相邻像素按照4邻域定义

  • Ed,图像梯度,其中lp用于确定在p像素点使用哪张图片的梯度
    Seam-Driven Image Stitching - 基于最佳拼缝搜索的图像拼接

  • Es,平滑性损失,两个像素p、q之间的平滑性损失如下,代表了不同邻域像素对之间的不连续性:
    Seam-Driven Image Stitching - 基于最佳拼缝搜索的图像拼接

    • 如果lp=lq,则平滑性损失为0:
    • 如果lp≠lq,平滑性损失计算如下:
      Seam-Driven Image Stitching - 基于最佳拼缝搜索的图像拼接
  • 基于Graphcut的方式得到在上述损失定义下达到最小损失的拼缝,Graphcut优化方法参考文献:Fast approximate energy minimization via graph cuts

评估拼缝
  • 拼缝评估流程如下图所示
    Seam-Driven Image Stitching - 基于最佳拼缝搜索的图像拼接
  • 作者认为seam-cut方式最小化src-tar图像之间的图像梯度能量的方式无法评估不同拼接结果的可视化效果
  • 提出一种基于patch比对的拼缝评估方法
    • 沿着拼缝上的点在拼接结果图片上取17x17的的patch,与I1图片与I2图片上相同位置的patch进行比对,比对方式如下:
      Seam-Driven Image Stitching - 基于最佳拼缝搜索的图像拼接
    • 这样定义的原因是作者认为较好的拼接结果沿着拼缝的patch会与I1、I2的类似,如果与I1、I2都不类似,则说明拼缝不准确

实验结果

  • 作者所提出的方法的拼接图像感官明显变好, appear more seamless
    Seam-Driven Image Stitching - 基于最佳拼缝搜索的图像拼接Seam-Driven Image Stitching - 基于最佳拼缝搜索的图像拼接

Thoughts

  • 较好的拼缝对于观感提升有较大作用,但该方法的效率有待提升,主要影响效率的点有两个:
    • 拼缝搜索过程使用的多个Homography矩阵并进行拼接的方式效率地
    • 拼缝搜索过程graphcut使用的图像梯度方式在后续评估过程无法复用