阅读笔记(ICIP2023)Rectangular-Output Image Stitching

“矩形输出”图像拼接

Zhou, H., Zhu, Y., Lv, X., Liu, Q., & Zhang, S. (2023, October). Rectangular-Output Image Stitching. In 2023 IEEE International Conference on Image Processing (ICIP) (pp. 2800-2804). IEEE.

0. 摘要

图像拼接的目的是将两幅视场重叠的图像进行拼接,以扩大视场(FoV)。 然而,现有的拼接方法拼接的图像不规则,需要进行矩形化处理,耗时且容易出现不自然的现象。 本文提出了第一个端到端框架--矩形输出深度图像拼接网络(RDISNet),该框架可以将两幅图像直接拼接成一幅标准的矩形图像,同时学习图像对之间的颜色一致性并保持内容的真实性。 为了进一步保留拼接图像中大对象的结构,我们设计了一个扩张的BN-RCU块来扩展RDISNet的感受野,以提取丰富的空间上下文。 在此基础上,设计了一种新的数据合成流水线,构建了第一个矩形输出的深度图像拼接数据集(RDIS-D),实现了图像拼接与矩形化的连接。 实验结果表明,RDISNet的求解质量明显优于对比已有的求解方法。

1. 引言

图像拼接的目的是通过拼接多个具有重叠区域的图像来扩展原始视场(FoV)[1, 2, 3]。然而,将拼接结果应用于其他图像处理任务是困难的,因为结果中缺失的区域对网络特征的识别和梯度的计算有严重影响。因此,现有方法通常使用矩形化方法[4, 5]进行图像后处理,如图1所示,这是既耗时又劳神的。此外,传统的矩形化方法,如裁剪、合成[6, 7]和变形[4],无法达到保留图像内容和真实性的目的。Nie等人提出的最新深度学习方法[5]可以维持线性和非线性结构,但他们使用深度学习模型强行学习初始网格,这导致了网格之间的像素错位和更大尺度上的直线结构畸变。

另一方面,缺乏高质量图像拼接数据集限制了现有基于学习方法的性能[8, 9]。Dai等人[10]使用现有的拼接方法创建伪真实标签(pseudo-GT labels),但这样的图像质量受到拼接方法性能的限制。Song等人[11]在GARLA上模拟真实场景,但对真实世界图像的影响有限。Nie等人[12]使用随机几何变换从自然图像中裁剪子图像作为输入和真实标签对,实现了作为自然存在图像的真实标签,但这无法涵盖自然图像的丰富内容信息。图像拼接中的另一个大挑战是在图像对的重叠区域保持颜色一致性。现有方法[13, 14, 15]通常设计特殊算法或模型来实现全局颜色优化,这增加了拼接方法的复杂性。在本文中,我们提出了一个新的任务,称为矩形输出图像拼接,旨在直接将两幅图像拼接成一个标准的矩形图像,同时保持颜色一致性和真实性。为了解决这些问题,我们设计了一个矩形输出深度图像拼接网络(RDISNet),这是第一次尝试以端到端的方式而不是两阶段设计来解决将图像拼接成矩形输出的问题。为了进一步保持拼接图像中大型物体的结构特征,我们设计了一个扩张的BN-RCU模块来扩展RDISNet的感受野。此外,我们设计了一个新的数据合成流程,并构建了第一个矩形输出深度图像拼接数据集(RDIS-D),包含52000个图像对。我们的贡献总结如下:

- 我们提出了一个矩形输出深度图像拼接网络(RDISNet),这是第一次将图像拼接和矩形化统一为一个端到端的过程,同时学习图像对之间的颜色一致性。
- 我们设计了一个扩张的BN-RCU模块来增加RDISNet的感受野,并保持大型物体的结构特征。
- 我们设计了一个新的数据合成流程,并构建了一个矩形输出深度图像拼接数据集(RDISD),包含52000个图像对。

2. 提出的方法

图2展示了所提出的RDISNet的整体结构。RDISNet由三个组件组成:带有扩张BN-RCU模块的双编码器、局部-全局上下文融合模块和卷积解码器。

2.1. 带有扩张BN-RCU模块的双编码器

如[16, 17]所示,大的感受野对于提供更丰富的信息以理解图片至关重要。因此,我们设计了一个轻量级的双编码器,有效地提取两幅图像的代表性特征。在每个编码器中,我们设计了一个扩张BN-RCU模块来扩大RDISNet的感受野,以在拼接图像中保留大型物体的结构。扩张BN-RCU模块遵循RefineNet[18]中残差转换单元(RCU)的基本结构,它使用级联的残差块进行特征细化。具体来说,我们用扩张卷积替换了RCU中的卷积。此外,我们在块中的卷积和激活函数之间添加了一个批量归一化层,以帮助深度网络快速收敛。扩张BN-RCU模块的总体结构如图3所示。此外,双编码器分别将两个输入图像下采样到较低的分辨率,以节省网络的计算成本。

2.2. 局部-全局上下文融合模块

在以前的方法中,深度学习网络通常用于计算从初始图像到目标图像的单应性矩阵,这是图像拼接的第一步。因此,拼接过程自然地分为两个阶段:对齐和融合。实际上,transformer可以完全胜任这两个阶段,这是设计端到端学习方案的关键。我们采用了视频修复的思想,专注于相邻帧之间的内容融合,并使用FuseFormer[19]作为RDISNet的主干。使用transformer而不是纯粹的卷积神经网络(CNN)[8, 9, 20]是为了利用多头注意力机制来捕获局部-全局上下文,这对于特征融合至关重要。为了解决融合阶段的伪影和错位问题,我们采用了软分割和软合成操作,以实现特征图的精确次标记级别融合。具体来说,我们使用软分割将双编码器的连接输出分割成512长度的标记,这些标记在结合位置编码后输入到主干网络中。软合成在主干的输出上执行,以实现标记和特征图之间的高效映射,帮助在相邻标记之间传播特征。

2.3. 卷积解码器

为了获得矩形拼接图像结果,我们设计了一个简单的卷积解码器,其中包含多个上采样和卷积层。我们采用卷积跟随插值上采样的策略,以减少结果中的棋盘格伪影。最终,特征图被均匀恢复到384×512的大小。.

3. 改进数据集

为了训练一个端到端的模型,我们构建了一个包含多个待拼接图像及其相应拼接矩形真值的数据库,分为两个步骤进行。

3.1. 拼接图像生成

受到[12]的启发,我们设计了一种拼接标签图像生成方法,可以最大化原始图像信息的利用。图4展示了一个例子。这种方法从任何图像数据集中生成一组待拼接的图像(I_1,I_2)和标签拼接图像(I_{label})。在制作我们的数据库过程中,我们使用MS-COCO[21]作为基础数据集。

首先,我们定义了算法中使用的参数,一个是重叠区域比例(shift),即I_2相对于I_1的覆盖率,设置为0.2到0.9之间的随机数。另一个是I_2四个角坐标的扰动量(rho),它影响第二个输入图像的角度变换程度。接下来,我们需要计算生成的输入图像的适当大小(box)。为了充分利用MS-COCO中的图像内容,拼接I_1,I_2的结果应该尽可能覆盖原始图像的宽度,这可以表示为:

(2*box-shift*box)+max(rho_x)=width,\quad (1)

其中,width是原始图像的宽度,rho_x是水平方向上的扰动量。我们计算原始I_2区域和扰动后的I_1dst)之间的单应性矩阵h,使用h将原始图像变形以获得最终的I_2I_1,dst在原始图像中所在的区域是拼接图像。在这个阶段,我们获得了一个包含62400张图像的拼接数据集。

3.2. 真值获取

在第二步中,我们将标签拼接图像输入到矩形化方法[5]中以获得矩形拼接图像。然而,由于算法的学习能力有限,需要进行大量的手动筛选。首先筛选出内容模糊和明显失真的图像。其次,过滤掉带有白边的图像,因为白边很容易误导模型认为是不规则的边界。手动筛选一张图片需要大约5-30秒。最终,保留了52000张图像,包括在不同光照条件下室内外场景下的广泛类别。

4. 实验

4.1. 实现细节

在实验中,我们使用RDIS-D和UDIS-D[22]来评估性能。对于RDIS-D,训练集和测试集按照4:1的比例划分。每个输入图像的分辨率是随机的,每个真值图像的分辨率为384×512。我们的模型通过Adam优化器[23]进行训练,学习率设置为10^{-4}。所有实验都在Ubuntu 20.04、PyTorch 1.8.2和单个GeForce RTX 3090上执行。

4.2. 与两阶段方法的比较

为了验证RDISNet的有效性,我们将其与两阶段SOTA方法[22, 5]进行比较。对于UDIS[22]和DIR[5],我们采用作者提供的预训练模型来评估性能。所有方法都在UDIS-D[22]的测试集上进行比较。从表1可以看出,我们的RDISNet在拼接后接矩形化输出的两阶段方法中表现更好。

我们还对RDISNet与两阶段方法进行了定性比较。如图5所示,RDISNet更好地满足了矩形输出的要求,并且对视差失真和结构保持具有良好的鲁棒性。

图5. 拼接和矩形化质量的视觉比较。第1行:输入。第2行:Nie等人的UDIS[22]。第3行:Nie等人的DIR[5]。第4行:RDISNet。

4.3. 消融研究

我们在RDIS-D上进行了消融研究,以验证所提出的带有扩张BN-RCU块的双编码器的有效性。表2显示了所提出的模块带来了合理的性能提升。使用两个编码器可以更好地提取图像特征。扩张卷积在保持特征图大小不变的情况下扩大了网络的感受野,这提高了基线10.4%的PSNR和15.0%的SSIM。此外,在生成数据集时,我们使用了数据增强方法,允许模型自主学习颜色一致性。如图6所示,如果没有使用数据增强方法,结果中会出现不合适的明亮区域。

图6. 使用数据增强保持颜色一致性的实验比较,左侧是输入,右上角的图像是使用数据增强方法的输出,底部是没有使用数据增强方法的输出。

5. 结论

本文提出了一个端到端的矩形输出深度图像拼接网络(RDISNet),它直接将两张图像拼接成一个标准的矩形图像,同时学习颜色一致性并保持内容的真实性。RDISNet的主要贡献在于设计了带有扩张BN-RCU块的双编码器和局部-全局上下文融合模块。前者有助于在特征提取阶段保存大型物体的结构,后者学习次标记级别的特征融合。此外,我们提出了一种新颖的数据合成流程,并构建了第一个矩形输出深度图像拼接数据集(RDIS-D),用于学习和基准测试图像拼接和矩形化的新的联合任务。实验结果证明了我们提出的方法的有效性,并验证了矩形输出图像拼接的可行性。

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

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

相关文章

工作中遇到的疑难杂症,以及解决办法

一 pagehelper和自定义mybatis拦截器冲突bug 1.1 问题描述 当在springboot工程,持久层使用mybatis,且使用pagehelper实现分页功能,当随着业务发展,需要自定义一个mybatis的拦截器实现sql的打印,但是出现拦截器失效&…

【JavaScript】JavaScript 程序流程控制 ⑦ ( do-while 循环概念 | do-while 循环语法结构 )

文章目录 一、while 循环1、while 循环概念2、do-while 循环语法结构 二、do-while 循环代码示例1、打印 1-5 数字2、打印 1-10 累加和 一、while 循环 1、while 循环概念 JavaScript 中的 do-while 循环 是 while 循环的变体 , 是 一种 后测试 循环 , 该循环的 循环体 至少执行…

入门编程,一定要从C语言开始吗?

对于编程入门学习者,C语言肯定不是首选。建议先确定自己的发展方向, 如果打算做Web 开发,可以先从学习HTML,CSS,Javascript开始,后台使用Node.JS,也是用Javascript 来编程, 可降低入门门槛。 在开始前我有一些资料…

Copilot 编程助手的介绍及使用

介绍 Copilot 是2021年由 GitHub 与 OpenAI 合作研发的一款编程助手,同时也是全球首款使用OpenAI Codex模型(GPT-3后代)打造的大规模生成式AI开发工具。 Copilot 底层模型目前经过了数十亿行公开代码的训练,与大多数代码辅助工具…

中科数安 || 防止公司内部文件资料 \数据外泄,图档透明加密防泄密软件,源代码防泄露系统。

#文件防泄密软件# 中科数安是一家专注于信息安全领域的高科技企业,其提供的防止公司内部文件资料及数据外泄的解决方案主要包括图档透明加密和源代码防泄露系统等核心服务。 中科数安 | 图档、源代码防止外泄系统 PC地址: www.weaem.com 1. 图档透明加…

大学宠物医疗试题及答案,分享几个实用搜题和学习工具 #学习方法#笔记#知识分享

大学开学,就意味着又回到了被线性代数、大学物理等测验题折磨的状态了……网站无法手动输入题干公式,初高中用过的搜题软件又都搜不到,想找个答案解析仿佛在大海捞针!不过不用怕,今天小林就把从大学攒到毕业工作都在使…

pta L1-082 种钻石

L1-082 种钻石 分数 5 全屏浏览 切换布局 作者 陈越 单位 浙江大学 2019年10月29日,中央电视台专题报道,中国科学院在培育钻石领域,取得科技突破。科学家们用金刚石的籽晶片作为种子,利用甲烷气体在能量作用下形成碳的等离子体…

【微服务】Gateway

文章目录 1.基本介绍官方文档:https://springdoc.cn/spring-cloud-gateway/#gateway-starter1.引出网关2.使用网关服务架构图3.Gateway网络拓扑图(背下来)4.Gateway特性5.Gateway核心组件1.基本介绍2.断言3.过滤 6.Gateway工作机制 2.搭建Gat…

Nacos部署(一)Linux部署Nacos2.3.x单机环境

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: Nacos部署(一)Linux部署Nacos2.3.x单机环境 ⏱️…

是德科技KEYSIGHT E4990A阻抗分析仪

181/2461/8938产品概述: E4990A 阻抗分析仪具有 20 Hz 至 120 MHz 的频率范围,可在宽阻抗范围内提供出色的 0.045%(典型值)基本准确度,并内置 40 V 直流偏置源,适用于元器件、半导体和材料测量。 无论研发、生产、质…

第四百二十五回

文章目录 1. 概念介绍2. 实现方法3. 示例代码4. 内容总结 我们在上一章回中介绍了"使用intl插件时遇到的问题"相关的内容,本章回中将介绍实现splash页面的另外一种方法.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的…

YOLOv9改进策略:卷积魔改 | SPD-Conv,低分辨率图像和小物体涨点明显

💡💡💡本文改进内容:SPD-Conv由一个空间到深度(SPD)层和一个无卷积步长(Conv)层组成,特别是在处理低分辨率图像和小物体等更困难的任务时。 💡💡💡SPD-Conv在多个数据集验证能够暴力涨点&#x…

网工内推 | 松下电器,解决方案工程师,最高25K,IE认证优先

01 松下电器 招聘岗位:基盘解决方案架构师 职责描述: 1、网络的规划设计,架构实施和故障排渣以及调优 2、负责网络设备的选型、搭建、系统监控、故障解决、性能优化 3、负责对集团内相关业务,进行提案或项目管理相关工作 4、对…

Vue3新手教程

Vue3新手教程 一. Vue3简介1. 性能的提升2.源码的升级3. 拥抱TypeScript4. 新的特性 二. 创建Vue3工程1. 基于 vue-cli 创建2. 基于 vite 创建(推荐)3. 一个简单的效果 三. Vue3核心语法1. OptionsAPI 与 CompositionAPI2. 拉开序幕的 setup2.1 setup 概述2.2 setup 的返回值2.…

自动化脚本-Excel批量生成二维码

演示: Excel二维码批量生成 exe资源文件: 下载exe 代码实现: pip install openpyxl openpyxl 是一个用于读写 Excel 文件的 Python 库 pip install qrcode qrcode 是一个 Python 库,可以用来生成二维码(Quick Resp…

小目标检测篇 | YOLOv8改进之GSConv + Slim Neck提升小目标检测效果

前言:Hello大家好,我是小哥谈。在文章中,作者提出了一种新方法GSConv来减轻模型的复杂度并保持准确性。GSConv可以更好地平衡模型的准确性和速度。并且,提供了一种设计范式Slim Neck,以实现检测器更高的计算成本效益。实验过程中,与原始网络相比,改进方法获得了最优秀的…

【MySQL】锁

一、并发事务访问相同记录的三种情况 读-读情况   并发事务相继读取相同的记录,不会产生什么问题。 写-写情况   这种情况下会发生脏写的问题。 读-写或写-读情况   会发生脏读、不可重复读、幻读的情况 并发问题的解决方案 读操作利用多版本并发控制&am…

java的ArrayList类

ArrayList<E>E是自定义数据类型 ArrayList类&#xff1a; 构造函数&#xff1a; 成员方法&#xff1a; public boolean add(E e)&#xff1a; 将指定元素加到集合末尾 Appends the specified element to the end of this list. public class Array {public static…

动听的洗牌游戏(Java篇ArrayList实操)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

LeetCode - 存在重复元素

219. 存在重复元素 II 这道题可以用两个方法解决。 哈希表 从左到右遍历数组&#xff0c;并将数组的下标存到hash中&#xff0c;在遍历数字的过程中&#xff0c;如果hash中不存在nums[i]&#xff0c;将nums[i]加入到hash当中&#xff0c;若存在&#xff0c;则判断下标之间的关…