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

news2024/11/25 20:40:55

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

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的对齐误差。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1531188.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重学SpringBoot3-函数式Web

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-函数式Web 函数式Web编程简介RouterFunctionRequestPredicateServerRequestServerResponse 好处示例结论 随着响应式编程范式的兴起和 Java 函数式编程能…

回来了,你瞧不上的中文编程

谈及中文编程,我们无法绕过一个开创性的里程碑——“易语言”。这款编程语言以“易”为核心理念,独树一帜地采用全中文支持,不仅显著降低了编程的门槛,更承载了无数人的“民族语言编程梦想”。 回溯到21世纪初的2000年9月&#xf…

详细分析Js中的Promise.all基本知识(附Demo)

目录 1. 基本知识2. Demo3. 实战 1. 基本知识 Promise.all 是 JavaScript 中的一个方法,它接受一个由 Promise 对象组成的数组作为参数,并在所有 Promise 对象都变为 resolved(已完成)状态时才返回一个新的 Promise 对象&#xf…

扫码收集用户数据怎么做?创建问卷表单二维码的方法

现在通过扫描二维码的方式来收集用户数据,比如制作问卷、签到表、信息登记等类型都可以通过生成表单二维码的形式来做数据采集。现在大部分都习惯通过二维码来获取内容,所以扫码填表的方式更符合现在人的生活习惯,有利于快速收集用户数据&…

51单片机-蜂鸣器

1.蜂鸣器的介绍 无源蜂鸣器不能一直通电&#xff0c;无源蜂鸣器内部的线圈较小&#xff0c;易烧坏 蜂鸣器的驱动 达林顿晶体管&#xff08;npn型&#xff09; 应用&#xff1a; 按下独立按键同时蜂鸣器响起提示音&#xff0c;数码管显示对应的独立按键键码 #include <REG…

【进阶五】Python实现SDVRP(需求拆分)常见求解算法——差分进化算法(DE)

基于python语言&#xff0c;采用经典差分进化算法&#xff08;DE&#xff09;对 需求拆分车辆路径规划问题&#xff08;SDVRP&#xff09; 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整3. 求解结果4. 代码片段参考 往期优质资源 经过一年多的创作&#xff0c;目前已经成…

ATG-2081功率信号源在电子实验中的应用

功率信号源被广泛应用于电子实验领域&#xff0c;主要用于产生精确、干净的高频信号。这些信号可以被用于测试各种电子器件和电路&#xff0c;例如射频、微波电路和天线等。下面将介绍功率信号源在电子实验中的应用。 功率信号源可以产生稳定、高质量的RF和微波信号&#xff0c…

OpenGL-高斯模糊原理

OpenGL-高斯模糊原理 正态分布 上图人类的智商分布比例&#xff0c;大多数人的智商集中在85-115&#xff0c;超高和超低智商的人只占很小的比例&#xff0c;柱状图可用一条曲线拟合&#xff0c;如图中红色曲线所示. 这个钟形曲线就是正态分布曲线. 正态分布曲线体现了宇宙中很…

针对BSV区块链新推出的网络访问规则NAR和警报系统AS的解释与问答

​​发表时间&#xff1a;2024年2月22日 BSV区块链社区团队最近开设了一个Twitter&#xff08;X&#xff09;话题空间&#xff0c;讨论BSV区块链协会最新推出的网络访问规则和警报系统的相关问题。 本次讨论由BSV区块链社区负责人Brett Banfe主持&#xff0c;以便社区成员更好…

JAVA八股--基础--下

JAVA八股--基础--下 从字节码层面看try-catch-finally的实现机制为什么要用泛型&#xff1f; | 泛型方法、通配符该如何使用 | Java中的泛型知识反射 何为反射 反射优缺点 应用场景&#xff08;需要先学习相关基础知识&#xff09;SPI机制I/O 流为什么要分为字节流和字符流呢?…

如何利用IP地址分析风险和保障网络安全

随着网络攻击的不断增加和演变&#xff0c;保障网络安全已经成为了企业和组织不可忽视的重要任务。在这样的背景下&#xff0c;利用IP地址分析风险和建立IP风险画像标签成为了一种有效的手段。本文将深入探讨IP风险画像标签的作用以及如何利用它来保障网络安全。 IP风险画像查…

用Compute Shader处理图像数据后在安卓机上不能正常显示渲染纹理

1&#xff09;用Compute Shader处理图像数据后在安卓机上不能正常显示渲染纹理 2&#xff09;折叠屏适配问题 3&#xff09;Prefab对DLL中脚本的引用丢失 4&#xff09;如何优化Unity VolumeManager中的ReplaceData 这是第378篇UWA技术知识分享的推送&#xff0c;精选了UWA社区…

数据库基本介绍及编译安装mysql

目录 数据库介绍 数据库类型 数据库管理系统&#xff08;DBMS&#xff09; 数据库系统 DBMS的工作模式 关系型数据库的优缺点 编译安装mysql 数据库介绍 数据&#xff1a;描述事物的的符号纪录称为数据&#xff08;Data&#xff09; 表&#xff1a;以行和列的形式组成…

个人商城系统开源(配置支付宝支付2)

原文地址&#xff1a;个人商城系统开源&#xff08;配置支付宝支付2&#xff09; - Pleasure的博客 下面是正文内容&#xff1a; 前言 在上一篇文章中我曾提到过关于网站支付宝支付的方法&#xff0c;接下来我们来介绍第二种。 个人博客地址&#xff1a;个人商城系统开源&…

奶牛均分

解法&#xff1a; 假设编号从左到右递增&#xff0c;奶牛每次只能去往左边的牛圈。因此等分最大奶牛数小于等于最右边牛圈奶牛数&#xff0c;不妨设数为k&#xff0c;那么a[i]>k&#xff0c;a[i-1]>2k。。。 做后缀和二分答案就可找到k #include<iostream> #inc…

利用Android studio 查看模拟器中数据文件

打开Android studio &#xff0c;然后按照下图选择 然后会在右侧打开一个这样子的管理弹窗 找到 data/data/your project file 你的缓存跟下载的文件就都在里面了

如何利用RunnerGo简化性能测试流程

在软件开发过程中&#xff0c;测试是一个重要的环节&#xff0c;需要投入大量时间和精力来确保应用程序或网站的质量和稳定性。但是&#xff0c;随着应用程序变得更加复杂和庞大&#xff0c;传统的测试工具在面对比较繁琐的项目时非常费时费力。这时&#xff0c;一些自动化测试…

UE4_官方动画内容示例1.1_使用动画资产

对一个SkeletalMeshActor进行设置&#xff0c;设置好之后&#xff0c;可以通过该Actor的细节&#xff08;Details&#xff09;面板播放指定的动画序列&#xff08;AnimationSequence&#xff09;资产&#xff08;例如让Actor翻跟斗并做开合跳&#xff09;。 骨架网格体定义&am…

相机与激光雷达是怎么标定的?一览行业所有主流的标定工具

相机与激光雷达是怎么标定的&#xff1f;一览行业所有主流的标定工具 相机与激光雷达的标定是很多任务的基础工作&#xff0c;标定精度决定了下游方案融合的上限&#xff0c;因为许多自动驾驶与机器人公司投入了较大的人力物力不断提升&#xff0c;今天也为大家盘点下常见的Ca…

幼儿教育管理系统|基于jsp 技术+ Mysql+Java的幼儿教育管理系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;ssm&#xff0c;springboot的平台设计与实现项目系统开发资源&#xff08;可…