AI 模型与平台

InstructIR:基于人类指令的高质量图像恢复

mm
将 Unite.AI 添加到您在 Google 上的首选来源

图像可以传达大量信息,但也可能受到各种问题的影响,例如运动模糊、雾霾、噪声和低动态范围。这些问题通常被称为低级计算机视觉中的退化问题,可能是由于恶劣的环境条件或相机自身的局限性造成的。图像恢复是计算机视觉中的一个核心挑战,旨在从退化的图像中恢复高质量、清晰的图像。图像恢复是一个复杂的问题,因为对于任何给定的图像,可能存在多个解决方案。一些方法针对特定的退化问题,例如降噪或去模糊或去雾。

虽然这些方法可以在特定问题上取得良好的结果,但它们通常难以推广到不同的退化类型。许多框架使用一个通用的神经网络来处理广泛的图像恢复任务,但这些网络是分别训练的。为每种退化训练一个单独的模型的需要使得这种方法计算成本高昂且耗时,这就是为什么最近的图像恢复框架集中在全能恢复模型上。这些模型使用一个单一的深度盲恢复模型来处理图像中的多种和多级退化,通常使用特定于退化的提示或指导向量来增强性能。尽管全能模型通常显示出良好的结果,但它们仍然面临逆问题的挑战。

InstructIR代表了该领域的一个突破性的方法,它是第一个使用人类书写的指令来指导图像恢复模型的框架。它可以处理自然语言提示来从退化的图像中恢复高质量的图像,同时考虑多种退化类型。在本文中,我们将深入探讨InstructIR框架,探索其机制、方法、架构以及与最先进的图像和视频生成框架的比较。让我们开始吧。

图像恢复是计算机视觉中的一个基本问题,因为它旨在从一个表现出退化的图像中恢复高质量的清晰图像。在低级计算机视觉中,退化是一个术语,用于表示图像中观察到的不良效果,例如运动模糊、雾霾、噪声、低动态范围等。图像恢复是一个复杂的逆问题,因为对于任何给定的图像,可能存在多个解决方案。一些框架专注于特定的退化问题,例如降噪或去模糊或去雾,而其他框架可能专注于去除模糊或去雾或清除雾霾。

最近的深度学习方法在图像恢复任务中表现出更强大和更一致的性能,相比传统的图像恢复方法。这些深度学习图像恢复模型提议使用基于Transformer和卷积神经网络的神经网络。这些模型可以独立地训练用于各种图像恢复任务,并且它们具有捕获局部和全局特征交互并增强它们的能力,从而实现满意和一致的性能。虽然这些方法可能在特定类型的退化问题上取得良好的结果,但它们通常难以推广到不同的退化类型。此外,虽然许多现有的框架使用相同的神经网络来处理广泛的图像恢复任务,但每个神经网络公式都是分别训练的。因此,使用单独的神经模型来处理每一种可能的退化问题是不可行的和耗时的,这就是为什么最近的图像恢复框架集中在全能恢复模型上。

全能或多退化或多任务图像恢复模型在计算机视觉领域中越来越受欢迎,因为它们能够在不需要为每种退化独立训练模型的情况下恢复图像中的多种和多级退化。全能图像恢复模型使用一个单一的深度盲图像恢复模型来处理图像中的不同类型和级别的退化。不同的全能模型实现不同的方法来指导盲模型恢复退化图像,例如使用辅助模型来分类退化或使用多维指导向量或提示来帮助模型恢复图像中的不同类型的退化。

基于文本的图像操作已经被几个框架在过去的几年中实现,用于文本到图像生成和基于文本的图像编辑任务。这些模型通常使用文本提示来描述操作或图像,以及基于扩散的模型来生成相应的图像。InstructIR框架的主要灵感来自InstructPix2Pix框架,该框架使模型能够使用用户指令编辑图像,该指令指示模型执行什么操作,而不是使用文本标签、描述或输入图像的字幕。因此,用户可以使用自然语言书写的文本来指示模型执行什么操作,而无需提供示例图像或其他图像描述。

在这些基础上,InstructIR框架是第一个使用人类书写的指令来实现图像恢复和解决逆问题的计算机视觉模型。对于自然语言提示,InstructIR模型可以从退化的图像中恢复高质量的图像,同时考虑多种退化类型。InstructIR框架能够在广泛的图像恢复任务中实现最先进的性能,包括图像去雨、去噪、去雾、去模糊和低光图像增强。与使用学习到的指导向量或提示嵌入来实现图像恢复的现有工作相比,InstructIR框架使用原始的用户文本提示。InstructIR框架能够推广到使用人类书写的指令来恢复图像,该模型实现的单一全能模型涵盖了比以前的模型更多的恢复任务。

InstructIR:方法和架构

InstructIR框架的核心由一个文本编码器和一个图像模型组成。模型使用NAFNet框架,一个高效的图像恢复模型,遵循U-Net架构作为图像模型。另外,模型实现任务路由技术,以便使用单一模型成功地学习多个任务。以下图表说明了InstructIR框架的训练和评估方法。

从InstructPix2Pix模型中汲取灵感,InstructIR框架采用人类书写的指令作为控制机制,因为不需要用户提供其他信息。这些指令提供了一种表达清晰的交互方式,允许用户指出图像中退化的确切位置和类型。此外,使用用户提示代替固定退化特定提示增强了模型的可用性和应用,因为它也可以被缺乏必要领域专业知识的用户使用。为了使InstructIR框架能够理解多样化的提示,模型使用GPT-4,一个大型语言模型,创建多样化的请求,并在过滤过程中删除模糊和不清晰的提示。

文本编码器

语言模型使用文本编码器将用户提示映射到文本嵌入或固定大小的向量表示。传统上,CLIP模型的文本编码器是文本到图像生成和基于文本的图像操作模型的重要组成部分,因为CLIP框架在视觉提示方面表现出色。然而,大多数时候,退化特征的用户提示包含很少或没有视觉内容,这使得大型CLIP编码器对此类任务无效,因为它会显著降低效率。为了解决这个问题,InstructIR框架选择了一个基于文本的句子编码器,该编码器经过训练,可以将句子编码到一个有意义的嵌入空间中。句子编码器是在数百万个示例上预训练的,并且与传统的CLIP基于文本的编码器相比,更加紧凑和高效,同时具有编码多样化用户提示的语义的能力。

文本指导

InstructIR框架的一个主要方面是将编码的指令作为图像模型的控制机制。基于此,并受多任务学习的任务路由的启发,InstructIR框架提出了一种指令构建块(ICB),以便在模型中实现任务特定的变换。传统的任务路由将任务特定的二进制掩码应用于通道特征。然而,由于InstructIR框架不知道退化类型,因此这种技术没有直接实施。此外,对于图像特征和编码的指令,InstructIR框架应用任务路由,并使用线性层激活Sigmoid函数生成一组依赖于文本嵌入的权重,从而获得每个通道的二进制掩码。模型进一步使用NAFBlock增强有条件的特征,并使用NAFBlock和指令有条件的块来有条件地编码器块和解码器块中的特征。

虽然InstructIR框架没有显式地有条件地神经网络滤波器,但掩码使模型能够根据图像指令和信息选择最相关的通道。

InstructIR:实现和结果

InstructIR模型是端到端可训练的,图像模型不需要预训练。只有文本嵌入投影和分类头需要训练。文本编码器使用BGE编码器初始化,BGE编码器是一种BERT风格的编码器,预训练于大量的监督和无监督数据上,用于通用句子编码。InstructIR框架使用NAFNet模型作为图像模型,NAFNet的架构由4级编码器-解码器组成,每个级别有不同数量的块。模型还在编码器和解码器之间添加了4个中间块,以进一步增强特征。此外,解码器实现了加法代替连接,InstructIR模型仅在编码器和解码器中实现了ICB或指令有条件的块用于任务路由。继续,InstructIR模型使用恢复图像和真实清晰图像之间的损失以及交叉熵损失来优化文本编码器的意图分类头。InstructIR模型使用AdamW优化器,批大小为32,学习率为5e-4,训练了近500个epoch,并实现了余弦退火学习率衰减。由于InstructIR框架中的图像模型仅包含1600万个参数,并且只有10万个学习的文本投影参数,InstructIR框架可以在标准GPU上轻松训练,从而降低计算成本并提高可用性。

多退化结果

对于多退化和多任务恢复,InstructIR框架定义了两个初始设置:

  1. 3D,用于处理三个退化模型,解决去雾、去噪和去雨的问题。
  2. 5D,用于处理五个退化模型,解决图像去噪、低光增强、去雾、去噪和去雨的问题。

5D模型的性能在以下表格中展示,并与最先进的图像恢复和全能模型进行比较。

如图所示,InstructIR框架使用简单的图像模型和仅1600万个参数,可以成功地处理五个不同的图像恢复任务,得益于基于指令的指导,并且能够实现具有竞争力的结果。以下表格展示了框架在3D模型上的性能,结果与上述结果相当。

InstructIR框架的主要亮点是基于指令的图像恢复,以下图表展示了InstructIR模型理解广泛指令的惊人能力,用于给定的任务。对于对抗性指令,InstructIR模型执行一个不强制的身份操作。

最后的思考

图像恢复是计算机视觉中的一个基本问题,因为它旨在从一个表现出退化的图像中恢复高质量的清晰图像。在本文中,我们讨论了InstructIR框架,这是世界上第一个使用人类书写的指令来指导图像恢复模型的框架。对于自然语言提示,InstructIR模型可以从退化的图像中恢复高质量的图像,同时考虑多种退化类型。InstructIR框架能够在广泛的图像恢复任务中实现最先进的性能,包括图像去雨、去噪、去雾、去模糊和低光图像增强。

专业为工程师,心为作家。 Kunal是一名技术作家,对AI和ML有着深厚的热爱和理解,致力于通过其引人入胜和信息丰富的文档来简化这些领域中的复杂概念。