5.10.1 Pre-Trained Image Processing Transformer

news2024/9/28 3:20:07

研究了低级计算机视觉任务(例如去噪、超分辨率和去雨)并开发了一种新的预训练模型,即图像处理变压器(IPT)。利用著名的 ImageNet 基准来生成大量损坏的图像对。 IPT 模型是在这些具有多头和多尾的图像上进行训练的。此外,引入对比学习以更好地适应不同的图像处理任务。因此,预训练模型在微调后可以有效地应用于所需的任务。

1. 介绍

图像处理是更全局的图像分析或计算机视觉系统的低级部分的组成部分之一。图像处理的结果很大程度上影响后续高层部分对图像数据的识别和理解。近年来,深度学习已广泛应用于解决低级视觉任务,例如图像超分辨率、修复、去雨和着色。由于许多图像处理任务都是相关的,因此很自然地期望在一个数据集上预训练的模型可以对另一个数据集有所帮助。

在计算机视觉中,deraining是指图像去雨的过程。具体来说,deraining技术旨在从被雨水影响的图像中恢复出清晰、无雨的图像内容。deraining是一个具有挑战性的任务,因为雨水在图像中可能表现为不同的形态和密度,且对图像的影响也是复杂多变的。

预训练可能为图像处理任务提供有吸引力的解决方案

首先,对于特定任务的数据可能受到限制。这个问题在涉及付费数据或数据隐私的图像处理任务中更加严重,例如医学图像和卫星图像。各种不一致的因素(例如相机参数、照明和天气)可能会进一步扰乱捕获的训练数据的分布。

其次,在呈现测试图像之前,不知道将请求哪种类型的图像处理作业。因此我们手头必须准备一系列的图像处理模块。他们有不同的目标,但一些基本操作可以共享。


本文中,我们使用Transformer架构开发了一种用于图像处理的预训练模型,即图像处理Transformer(IPT)。由于预训练的模型需要兼容不同的图像处理任务,包括超分辨率、去噪、去雨等,因此整个网络由对应不​​同任务的多对头尾和单个共享主体组成。

由于Transformer的潜力需要使用大规模数据集来挖掘,因此我们应该准备大量具有相当多样性的图像来训练IPT模型。为此,我们选择包含各种高分辨率、1000 个类别的 ImageNet 基准测试。对于 ImageNet 中的每个图像,我们使用操作来生成多个对应图像来服务于不同的任务。

Transformer架构在巨大的数据集上进行训练

1、训练图像被输入到特定的头部,生成的特征被裁剪为补丁,并随后展平为序列。

2、Transformer主体被用来处理扁平化特征,其中位置嵌入和任务嵌入分别用于编码器和解码器。

3、尾部被迫根据特定任务预测具有不同输出大小的原始图像。此外,引入了不同输入的块之间关系的对比损失,以便更好地使用不同的图像处理任务。

2. 相关工作

2.1 图像处理

图像处理包括对图像的操作,包括超分辨率、去噪、去雾、去雨、去模糊等。

2.2 Transformer

Transformer及其变体已证明其在各种自然语言处理任务中是强大的无监督或自监督预训练框架的成功。

探索 Transformer 在计算机视觉任务中的好处:

1、在传统的卷积神经网络中引入自注意力。引入了图像分割的空间注意力、提出DANET通过结合空间和通道注意力来利用上下文信息、通过自注意力增强特征,以增强模型在几个高级视觉任务上的性能

2、用自注意力块代替卷积神经网络。

3. Image Processing Transformer

3.1 IPT架构

IPT 的整体架构由四个部分组成:头部用于从输入的损坏图像(例如,带有噪声的图像和低分辨率图像)中提取特征,编码器-解码器Transformer用于恢复输入数据中缺失的信息,尾部用于将特征映射到恢复的图像中。

头部

为了适应不同的图像处理任务,我们使用多头架构来单独处理每个任务,其中每个头由三个卷积层组成。将输入图像表示为x\in\mathbb{R}^{3\times H\times W},头部生成具有C个通道的相同高度和宽度的特征图f_{H}\in\mathbb{R}^{C\times H\times W},计算公式为:f_{H} = H^{i}(x)H^{i} (i = \{1,\ldots,N_{t}\})表示第 i 个任务的头部,N_t表示任务的数量。

Transformer编码器

在将特征输入到Transformer主体之前,我们将给定的特征分割成补丁,每个补丁被视为一个“单词”。具体来说,特征图f_{H} \in \mathbb{R}^{C\times H\times W}被重塑为补丁序列,f_{p_{i}} \in \mathbb{R}^{P^{2}\times C},i = \{1,\ldots,N\},其中N=\frac{HW}{P^{2}}是补丁的数量(序列长度),P是补丁的大小。

为了维护每个补丁的位置信息,我们为之后的每个特征f_{p_{i}} 补丁添加可学习的位置编码E_{p_{i}} \in \mathbb{R}^{P^{2}\times C},并且E_{p_{i}}+f_{p_{i}}将直接输入到Transformer编码器中。编码器层具有多头自注意力模块和前馈网络。每个补丁的编码器f_{E_{i}} \in \mathbb{R}^{P^{2}\times C}的输出具有与输入补丁f_{p_{i}} 相同的大小。 

y_{0}=\left[E_{p_{1}}+f_{p_{1}},E_{p_{2}}+f_{p_{2}},\ldots,E_{p_{N}}+f_{p_{N}}\right]

q_{i}=k_{i}=v_{i}=\mathrm{LN}(y_{i-1})

y_{i}^{\prime}=\mathrm{MSA}(q_{i},k_{i},v_{i})+y_{i-1}

y_i=\mathrm{FFN}(\mathrm{LN}(y_i^{\prime}))+y_i^{\prime},\quad i=1,\ldots,l

[f_{E_{1}},f_{E_{2}},\ldots,f_{E_{N}}]=y_{l}

其中 l 表示编码器中的层数,MSA表示传统变压器模型中的多头自注意力模块,LN表示层归一化,FFN表示前馈网络,其中包含两个完全连接层。

Transformer解码器

解码器也遵循相同的架构,并将解码器的输出作为变压器主体的输入,Transformer主体由两个多头自注意力(MSA)层和一个前馈网络(FFN)组成。

可以利用特定于任务的嵌入作为解码器的附加输入。这些特定于任务的嵌入E_{t}^{i}\in\mathbb{R}^{P^{2}\times C},i=\{1,\ldots,N_{t}\}被学习来解码不同任务的特征。解码器的计算可以表述为:

z_{0}=\left[f_{E_{1}},f_{E_{2}},\ldots,f_{E_{N}}\right]

q_{i}=k_{i}=\mathrm{LN}(z_{i-1})+E_{t},v_{i}=\mathrm{LN}(z_{i-1})

z_{i}^{\prime}=\mathrm{MSA}(q_{i},k_{i},v_{i})+z_{i-1}

q_{i}^{\prime}=\mathrm{LN}(z_{i}^{\prime})+E_{t},k_{i}^{\prime}=v_{i}^{\prime}=\mathrm{LN}(z_{0})

z_{i}^{\prime\prime}=\mathrm{MSA}(q_{i}^{\prime},k_{i}^{\prime},v_{i}^{\prime})+z_{i}^{\prime}

z_{i}=\mathrm{FFN(LN}(z_{i}^{\prime\prime}))+z_{i}^{\prime\prime}, i=1,\ldots,l

[f_{D_{1}},f_{D_{2}},\ldots,f_{D_{N}}]=y_{l}

其中f_{D_{i}}\in\mathbb{R}^{P^{2}\times C}表示解码器的输出。然后,将解码后的 N 个大小为 P^2\times C 的补丁特征重新整形为大小为 C × H × W 的特征 f_D

尾部

尾部的属性与头部相同,我们使用多尾来处理不同的任务。计算可以表述为f_{T} = T^{i}(f_{D})T^i(i=\{1,\ldots,N_t\})表示第 i 个任务的头部,N_t表示任务的数量。输出f_{T}的结果图像大小为3\times H^{\prime}\times W^{\prime}由具体任务决定。对于2× 超分辨率任务,H′ = 2H,W = 2W。

3.2 ImageNet上的预训练

成功训练出优秀Transformer的关键因素之一是大规模数据集的充分利用。与图像分类相比,用于图像处理任务的可用数据数量相对较少。建议利用众所周知的ImageNet作为基线数据集预训练 IPT 模型,然后我们为多个任务(例如超分辨率和去噪)生成整个数据集。

由于 ImageNet 基准测试中的图像具有很高的多样性,其中包含来自 1,000 个不同类别的超过 100 万张自然图像。这些图像具有丰富的纹理和颜色信息。

首先删除语义标签,并使用针对不同任务的各种退化模型,从这些未标记的图像中手动合成各种损坏的图像。例如,超分辨率任务通常采用双三次退化(bicubic)来生成低分辨率图像,去噪任务在不同噪声级别的干净图像中添加高斯噪声以生成噪声图像。这些合成图像可以显着提高学习深度网络(包括 CNN 和 Transformer 架构)的性能。

损坏的图像合成为:I_{corrupted}=f(I_{clean}),其中f表示退化变换,对于超分辨率任务,f_{sr}正是双三次插值;对于图像去噪,{f}_{noise}(I)=I+\eta,,其中 \eta 是加性高斯噪声;对于除雨, f_{rain}(I)=I+r其中 r 是手工制作的雨条纹。以监督方式学习 IPT 的损失函数可以表示为:

\mathcal{L}_{supervised}=\sum_{i=1}^{N_t}L_1(\mathrm{IPT}(I_{corrupted}^i),I_{clean})

其中 L_1 表示重建所需图像的传统 L1 损失,I^i_{Corrupted} 分别表示任务 i 的损坏图像。所提出的框架同时接受多个图像处理任务的训练。具体来说,对于每个批次,我们从 N_t 个监督任务中随机选择一个任务进行训练,每个任务将同时使用相应的头、尾和任务嵌入进行处理。

在预训练 IPT 模型后,它将捕获各种图像处理任务的内在特征和转换,因此可以进一步微调以使用新提供的数据集应用于所需的任务。此外,为了节省计算成本,其他头部和尾部将被丢弃,并且剩余头部、尾部和主体中的参数将根据反向传播进行更新。

然而,由于退化模型多种多样,我们无法为所有图像处理任务合成图像。实践中可能存在多种可能的噪声水平。因此,应进一步增强所得IPT的泛化能力。与预训练自然语言处理模型类似,图像块之间的关系也提供了信息。我们引入对比学习来学习通用特征,以便预先训练的IPT模型可以用于未见过的任务。将 IPT 解码器针对给定输入x_j生成的输出补丁特征表示为f_{D_{i}}^{j} \in \mathbb{R}^{P^{2}\times C},i = \{1,\ldots,N\}其中x_j是从一批训练图像X=\{x_1,x_2,\ldots,x_B\}。我们的目标是最小化来自相同图像的补丁特征之间的距离,同时最大化来自不同图像的补丁特征之间的距离。

l(f_{D_{i_1}}^j,f_{D_{i_2}}^j)=-\mathrm{log}\frac{\exp(d(f_{D_{i_1}}^j,f_{D_{i_2}}^j))}{\sum_{k=1}^B\mathbb{I}_{k\neq j}\exp(d(f_{D_{i_1}}^j,f_{D_{i_2}}^k))}

\mathcal{L}_{constrastive}=\frac{1}{BN^{2}}\sum_{i_{1}=1}^{N}\sum_{i_{2}=1}^{N}\sum_{j=1}^{B}l(f_{D_{i_{1}}}^{j},f_{D_{i_{2}}}^{j}),其中\begin{matrix}d(a,b)&=&\frac{a^Tb}{\|a\|\|b\|}\end{matrix}表示余弦相似度。为了充分利用监督和自监督信息,我们将损失函数重新表述为:

\mathcal{L}_{IPT}=\lambda\cdot\mathcal{L}_{contrastive}+\mathcal{L}_{supervised} 其中,我们将λ平衡对比损失与监督损失相结合作为IPT的最终目标函数。

4. 实验

预训练的 IPT 模型可以在这些任务上实现最先进的性能。此外,大量的消融研究实验表明,在使用大规模数据集解决图像处理问题时,基于 Transformer 的模型比卷积神经网络表现更好。

超分辨率图像处理(Image Super-resolution)是一种重要的图像处理技术,旨在通过算法和模型将低分辨率(Low Resolution, LR)图像提升到高分辨率(High Resolution, HR),从而增强图像的细节和清晰度。

数据集

使用著名的 ImageNet 数据集,该数据集由超过 1M 个高度多样性的彩色图像组成。训练图像被裁剪成 48 × 48 的 patch,具有 3 个通道进行训练,即有超过 10M 个 patch 用于训练 IPT 模型。然后,我们生成具有 6 种退化类型的损坏图像:分别是 2×、3×、4× 双三次插值、30、50 噪声级别高斯噪声和添加雨纹。

超分辨率

由于高缩放因子导致大量信息丢失,因此很难恢复原始高分辨率图像。以前的方法生成模糊图像,而我们的模型生成的超分辨率图像可以很好地从低分辨率图像中恢复细节。

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

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

相关文章

解决离线服务器无法加载HuggingFaceEmbeddings向量化模型的问题

由于服务器是离线的,因此我先在本地到huggingface官网下载模型text2vec,然后上传到服务器上运行,报错: (MaxRetryError(HTTPSConnectionPool(host\huggingface.co\, port443): Max retries exceeded with url: /api/models/senten…

matlab绘制时间序列图,横坐标轴如何标注为月-日

Excel表格中有类似于如下 年月日对应的数据 导入 matlab中,为数值矩阵;了解该表格中的时间跨度为从2021年1月2日至2021年12月31日,中间没有缺失,绘图代码: % clear; timespan1[20210102 20211231]; datenn1datenum(da…

PDF批量编辑:PDF转HTML批量操作技巧,提升文档格式转换效率

在数字化办公日益普及的今天,PDF(Portable Document Format)作为一种跨平台的文件格式,广泛应用于各种文档的存储和传输。然而,PDF文件的不可编辑性使得在某些情况下,我们需要将其转换为HTML格式以便更好地…

Win10鼠标右键新增软件快速打开项

1、cmd 运行 regedit 2、找到该位置的shell文件夹 3、在shell文件夹下创建需要添加的软件名的文件夹,并修改相关信息 4、新建子文件夹command,并修改相关信息 5、效果

luceda ipkiss教程 70:合并GDS版图

通过代码拼版: 所有代码如下: from si_fab import all as pdk from ipkiss3 import all as i3class Design1(i3.GDSCell):def _default_filename(self):return "Ring_Test.gds"def _default_name(self):return "Design1"class Des…

安卓实现视频录制与显示和翻转摄像头

权限&#xff1a; <!-- 相机权限 --> <uses-featureandroid:name"android.hardware.camera"android:required"false" /> <uses-permission android:name"android.permission.CAMERA" /><!-- 录音权限&#xff08;包括麦克…

融资融券概念和操纵流程,案例解析

融资融券是一种金融工具&#xff0c;它允许投资者在证券市场上进行杠杆交易。简单来说&#xff0c;融资就是借钱买股票&#xff0c;融券就是借股票卖出。这种交易方式可以帮助投资者在短期内获得更高的收益&#xff0c;但同时也伴随着较高的风险。 案例背景&#xff1a; 假设…

云南区块链商户平台:抓包技术自制开票工具(二)

前言 上节我们分析了云南区块链商户平台的登录接口以及数据加密、解密&#xff0c;本节我们将构建一个项目框架&#xff0c;将大致的雏形制作出来 说明 由于我们使用开票软件都是在 云南区块链商户平台上操作&#xff0c;如果再开发电脑端就显得没必要&#xff0c;思考良久&…

百度公关一号位翻车的本质是,“精英主义”已经没有市场了 | 最新快讯

“精英主义”没市场了。 文&#xff5c;商隐社&#xff0c;作者 | 浩然 01 这几天商业圈持续发酵的热点新闻就是百度“公关一号位”璩静的“短视频翻车事件”。 一个名为“我是璩&#xff08;q&#xff09;静”&#xff0c;在自我介绍中标注了“百度副总裁”“公关一号位”“…

如何在Android手机上恢复已删除的视频?

有时&#xff0c;由于不同的原因&#xff0c;可能会发生意外的数据丢失灾难。 那么如何在Android手机内存或没有计算机的情况下恢复已删除的视频呢&#xff1f;本文将给你一个答案。 如何在Android上恢复已删除的视频&#xff1f; 不要惊慌&#xff01;您可以在Android手机上恢…

苹果M4芯片:推动AI时代的革新力量

随着科技的飞速发展&#xff0c;苹果公司一直以其创新精神引领着行业潮流。其中&#xff0c;M4芯片的推出无疑是苹果在人工智能领域迈出的重要一步。这款专为机器学习和AI计算而设计的芯片&#xff0c;不仅在新款iPad Pro等消费电子产品上亮相&#xff0c;更是预示着苹果即将开…

机器学习(四) ----------逻辑回归

目录 1 概述 2 极大似然估计 3 逻辑回归核心思想 3.1 对数似然损失&#xff08;Log-likelihood Loss&#xff09; 4 分类问题的评估方法 4.1 混淆矩阵&#xff08;Confusion Matrix&#xff09;&#xff1a; 4.2 准确率&#xff08;Accuracy&#xff09; 4.3 精确率&…

文本三剑客grep与正则表达式、元字符

正则表达式 正则表达式又称为正规表达式、常规表达式、在代码中常简写为regex、regex或RE。正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串&#xff0c;简单来说&#xff0c;是一种匹配字符串的方法&#xff0c;通过一些特殊符号&#xff0c;实现快速查…

AcwingWeb应用课学习笔记

VSCode自动格式化 选中Format On Save不起作用 在设置中搜索default formatter&#xff0c;修改成Prettier-Code formatter meta标签 HTML 元素表示那些不能由其它 HTML 元相关&#xff08;meta-related&#xff09;元素&#xff08;(、,

全套停车场管理系统报价多少钱?停车场管理系统由哪些设备组成?

随着城市化进程的加快&#xff0c;汽车保有量的不断攀升&#xff0c;停车场的管理和运营成为城市基础设施建设的重要组成部分。一个高效、智能的停车场收费系统不仅能提升停车效率&#xff0c;还能增强用户体验&#xff0c;对城市的交通管理起到关键作用。本文将为您详细介绍全…

Linux NFS共享目录配置漏洞

Linux NFS共享目录配置漏洞 一、实验目的二、实验原理三、复现准备四、漏洞复现4.1、复现前提4.2、正式复现 一、实验目的 利用 NFS共享目录配置漏洞读取目标主机的 /etc/passwd 文件内容NFS 服务配置漏洞&#xff0c;赋予了根目录远程可写权限&#xff0c;导致 /root/.ssh/au…

TypeScript 中的类型与接口

在 TypeScript 中&#xff0c;定义类型有两种方式&#xff1a;“类型”和“接口”。 人们经常想知道该使用哪一种&#xff0c;答案并非适用于所有情况。有时一种更好&#xff0c;但在许多情况下&#xff0c;两者可以互换使用。 我们来详细了解一下类型和接口的不同点和相似点…

当时这样说就好了的笔记

系列文章目录 当时这样说就好了的笔记 文章目录 系列文章目录一、 不用好口才&#xff0c;怎么谈都讨喜的“说话金律”1、 掌握对方爱聊什么是交谈热络的第一步2、 装笨让对方当主角&#xff0c;和谁都能聊不停3、 “讲道理”谁都怕&#xff0c;坚持己见最伤感情4、 懂“聆听附…

Java——类与对象

目录 一、面向对象的初步认识 1.1 什么是面向对象 1.2 面向对象与面向过程 二、类的定义与使用 2.1 简单认识类 2.2 类的定义格式 三、类的实例化 3.1 什么是实例化 3.2 类和对象的说明 四、this引用 4.1 为什么要有this引用 4.2 什么是this引用 ​编辑 4.3 this引用…

数据增强,迁移学习,Resnet分类实战

目录 1. 数据增强&#xff08;Data Augmentation&#xff09; 2. 迁移学习 3. 模型保存 4. 102种类花分类实战 1. 数据集 2.导入包 3. 数据读取与预处理操作 4. Datasets制作输入数据 5.将标签的名字读出 6.展示原始数据 7.加载models中提供的模型 8.初始化…