阅读笔记(CVPR2020)Warping Residual Based Image Stitching for Large Parallax

本文主要是介绍阅读笔记(CVPR2020)Warping Residual Based Image Stitching for Large Parallax,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于变形残差的大视差图像拼接

K. -Y. Lee and J. -Y. Sim, "Warping Residual Based Image Stitching for Large Parallax," 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Seattle, WA, USA, 2020, pp. 8195-8203, doi: 10.1109/CVPR42600.2020.00822.

0. 摘要

图像拼接技术将在不同观看位置处捕获的两个图像对齐到单个较宽图像上。 当捕获的3D场景不是平面的并且相机基线大时,两个图像表现出视差,其中场景结构的相对位置与每个视图非常不同。 现有的图像拼接方法往往无法对视差较大的图像进行拼接。 为此,提出了一种基于变形残差策略的图像拼接算法。 我们首先估计多个单应性,并找到它们在两个图像之间的内部特征匹配。 然后,我们评估每个特征匹配相对于多个单应性的变形残差。 为了消除视差伪影,我们将输入图像划分为超像素,并根据最优单应性自适应地对每个超像素进行变形,该最优单应性通过最小化由变形残差加权的特征匹配误差来计算。 实验证明,在视差较大的情况下,该算法能够得到更加精确的拼接结果,在定性和定量上均优于现有的方法。

1. 引言

图像拼接是计算机视觉应用中的一项重要技术,它将从不同观察位置捕获的多幅图像对齐到一个共同的坐标域上,以生成具有更宽视场的图像。 最近,已经发布了许多使用图像拼接技术的商业产品,例如360°全景相机和环绕视图监视系统。 此外,还提供了图像拼接软件产品来合成多个图像,例如, Adobe Photoshop PhotoshopTM和Autostitch [2]。

大多数传统的图像拼接方法遵循类似的过程[19]。 首先从一对输入图像中检测特征点,并且在图像之间找到它们的对应匹配。 然后,通过使用检测到的特征匹配来估计参数图像变形模型,其将目标图像变形到参考图像域上。 最后,通过确定变形后的目标图像与参考图像重叠区域的像素值,合成拼接后的输出图像。

图像拼接中最关键和最具挑战性的步骤之一是图像变形。 单应性是一种简单而传统的图像变形模型,它描述了基于平面场景假设的参数平面变换[9]。 然而,当捕获的场景不是平面的并且包括在不同场景深度处的前景对象并且相机基线较大时,我们观察到视差现象,其中对象的相对位置不同于两个图像。 在这样的情况下,使用诸如单应性的平面变换模型的拼接结果经常在对象边界附近呈现视差伪影。

为了减轻图像拼接的视差伪影,已经提出了自适应变形算法,其将图像划分为规则的网格单元或像素,并且通过不同的模型的变形分区[7,10,11,15,22,24]。 应用能量最小化框架来优化自适应变形,以防止变形图像中的失真[11,15,24]。 提出的局部配准技术,其仅对准特定图像区域,同时基于接缝切割方法隐藏其他未对齐区域中的伪影[8,14,23]。 然而,对于具有大视差的图像,在一个图像中的一组相邻像素可能不具有在另一个图像中彼此相邻的对应像素,这在通过现有的基于平滑变形的方法[7,11,15,22,24]获得的合成拼接图像中导致严重的视差伪影。 已经提出的一种视频拼接方法,该方法基于核线几何[10]来解决大视差问题,然而,由于缺乏视频序列的时间运动信息,该方法不能直接应用于图像拼接。

在本文中,针对大视差图像,我们提出了一种基于变形残差的拼接算法。 由于视差现象通常发生在物体边界附近,因此我们首先将输入图像划分为超像素,并自适应地变形超像素。 我们从两幅图像中检测特征点,并找到它们的对应匹配,然后用它们来估计多个单应性及其关联的内点匹配。 我们使用特征匹配为每个超像素找到最优单应性,其中每个特征点的贡献根据变形残差自适应地计算。 当通过强调位于具有相似场景深度的区域上的特征点来变形超像素时,针对给定超像素的变形残差减轻了视差伪影。此外,我们使用相邻超像素的单应性来改进每个超像素处的初始估计的单应性,以实现可靠的变形。 实验结果表明,所提算法能够精确对齐视差较大的图像,在定性和定量上均优于传统的图像拼接方法。

本文的其余部分组织如下。 第二节介绍了图像拼接的相关工作。 第三节提出了一种新的变形残差概念。 第4节描述了图像变形算法。 第5节给出了实验结果。 第六节是论文的总结。

2. 相关工作

自适应变形方法。Gao等人提出了一种双单应性方法,该方法根据特征点的位置自适应地混合远平面估计的单应性和地平面估计的单应性[7]。 Lin等人计算了一个空间变化的仿射变换,其中通过最小化成本函数将初始估计的全局变换细化为最佳变换[15]。 Zaragoza等人将输入图像划分为规则网格单元,并通过移动直接线性变换(MDLT)[22]估计每个单元的最佳单应性,该变换在计算对齐误差时将更多权重分配给空间上更接近目标单元的特征点。 Zhang等人采用尺度保持项和线保持项来最小化变形图像中的失真[24]。 Li等人通过使用基于薄板样条[18]和径向基函数[11]的分析变形函数来近似匹配点的单应性引起的投影偏差。 Lee和Sim提出了一种基于对极几何的大视差视频拼接算法[10]。 注意,[7]不处理具有两个以上平面结构的场景。其他方法[11,15,22,24]可以变形由多个平面区域组成的背景,然而,它们通常假设具有小视差的连续场景深度,并且通常无法对齐具有大视差的前景对象,这些前景对象具有与背景的突然深度变化。 此外,[10]需要前景物体的时间运动信息,这对于图像拼接是不可用的。 相反,所提出的方法可以变形的背景和多个前景物体在不同的场景深度之间的两个大视差的图像。

保形变形。虽然两幅图像之间的重叠区域通过使用有效的特征匹配很好地对齐,但非重叠区域通常表现出严重的透视失真。 Chang等人分别将单应性变换应用于重叠区域,并将相似性变换应用于非重叠区域[3]。 Lin等人提出了一种单应性线性化方法,该方法将重叠区域的变形平滑地外推到非重叠区域[13]。 Chen等人估计了每个图像的适当尺度和旋转,并设计了一个基于全局相似性先验的变形估计目标函数[4]。 Li等人提出了一种准单应性变形,通过线性缩放单应性的水平分量来解决[3]的单应性变换和相似性变换之间的线弯曲问题[12]。 注意,保形变形通常被设计为减轻两幅图像之间的非重叠区域中的透视失真,而本文的主要目的是对齐具有大视差的两幅图像之间的重叠区域中的共同视觉内容。

基于接缝的方法。Gao等人为单应性定义了一个接缝切割损失,用于测量变形的目标图像和参考图像之间的不连续性[8]。他们使用RANSAC [6]估计了多个单应性,并选择了具有最小接缝切割损失的最佳单应性。 Zhang等人估计了仅对齐某个图像区域的局部单应性,并应用内容保持扭曲(CPW)[16]来进一步细化对齐[23]。 通过接缝切割方法隐藏了错位伪影。 Lin等人通过使用迭代的变形和接缝估计[14]逐渐改善了拼接性能。 基于接缝的方法通常仅对准某些局部图像区域以提供视觉上令人满意的图像拼接结果,这在整个图像区域上可能不是几何上精确的。

3. 大视差的变形残差

我们回顾了MDLT [22]的数学框架,它是一种自适应图像变形模型之一。 然后,我们引入了一个新的变形残差的概念,在计算变形超像素的对齐误差时,将位于相似场景深度的特征点分配给给定的超像素的高权值。

3.1 移动直接线性变换

X是3D空间中平面\pi上的真实世界点,并且设x=[x_1,x_2,1]^T,y=[y_1,y_2]^T分别是投影到两个图像I,J上的X的像素。 两个像素之间的关系由平面\pi诱导的3\times 3单应矩阵H描述。

y\sim Hx,\quad (1)

其中,\sim表示按比例的相等。 由于HxyJ中的两个位置相同,我们有[22]

0_{3\times 1}=y\times Hx=\begin{pmatrix} 0_{1\times 3} & -x^T &y_2x^T \\ x^T& 0_{1\times 3} &-y_1x^T \\ -y_2x^T & y_1x^T &0_{1\times 3} \end{pmatrix}h,\quad (2)

其中,h是通过对H的行进行向量化而获得的。 当x,y不是从\pi上的同一场景点投影,并且I,J之间的相机基线不够小时,公式(2)不成立,并且范数y × Hx可以被认为是I,J的对齐误差。

这篇关于阅读笔记(CVPR2020)Warping Residual Based Image Stitching for Large Parallax的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829212

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓