PromptGIP:Unifying lmage Processing as Visual Prompting Question Answering

“Unifying Image Processing as Visual Prompting Question Answering” 文章提出了一种名为 PromptGIP 的通用模型,将图像处理任务统一为视觉提示问答范式,在多个图像处理任务上展现出良好性能,为通用图像处理提供了新的思路和方法。

在这里插入图片描述

conference:2024 ICLR
paper:https://arxiv.org/pdf/2310.10513v2
code:https://github.com/lyh-18/PromptGIP

文章目录

  • 1. 研究背景与目的
    • 1.1 图像处理任务的重要性与传统方法的局限
    • 1.2 大模型发展趋势与视觉领域的探索
    • 1.3 研究目的
  • 2. 研究方法
    • 2.1 图像作为视觉问答
    • 2.2 掩码视觉提示范式
  • 3. 实验设置与结果分析
    • 3.1 实验任务设置
    • 3.2 实验细节
    • 3.3 实验结果分析
  • 4. 研究结论与展望
    • 4.1 研究结论
    • 4.2 研究局限与展望

1. 研究背景与目的

1.1 图像处理任务的重要性与传统方法的局限

图像处理涵盖图像恢复、增强、特征提取等,是计算机视觉基础任务,用于提升图像质量和提取特征。传统方法需针对不同任务开发特定模型,如SRCNN用于超分辨率、DnCNN用于去噪等,但泛化能力有限。目前的 All-in-one 恢复方法虽能处理多种恢复任务,但在生成替代表示(如风格化图像或图像边缘)方面存在不足。

1.2 大模型发展趋势与视觉领域的探索

大模型在自然语言处理领域成功统一多种任务,计算机视觉领域也有类似趋势,如Meta AI的SAM用于图像分割,通过大规模预训练实现零样本泛化。然而,当前大模型多关注高级视觉任务,低级视觉任务受关注较少。

1.3 研究目的

提出PromptGIP模型,统一多种图像处理任务,包括图像恢复、增强、特征提取等,采用视觉提示问答范式,处理不同输出域任务,探索模型泛化能力,为通用图像处理提供新方法。

2. 研究方法

2.1 图像作为视觉问答

受NLP提示学习启发,将图像处理统一为视觉提示问答范式。模型推理时,依据输入输出图像对(作为任务提示)处理新输入图像生成预测输出。例如,输入“雨天 - 无雨”图像对提示,模型对目标输入图像执行去雨操作;若提示答案与图像边缘相关,模型对查询图像进行边缘检测。
在这里插入图片描述

2.2 掩码视觉提示范式

采用掩码自动编码方法(MAE),训练时对答案图像随机掩码,促使模型从无掩码部分重建。模型训练于包含不同图像处理目标(如恢复、增强、边缘检测)的数据集,推理时根据输入输出对执行相应操作。
在这里插入图片描述

3. 实验设置与结果分析

3.1 实验任务设置

实验包含15种图像处理任务,分为三类:

  • 图像恢复任务(10种):包括高斯噪声、高斯模糊、泊松噪声、椒盐噪声、JPEG压缩、振铃伪影、R - L算法、图像修复、雾霾、雨等类型的处理。针对前八种通过对ImageNet数据集引入失真创建退化 - 干净图像对,去雾利用RESIDE数据集的ITS训练集,去雨采用两种雨添加模型(Simple Rain Model和Complex Rain Model),并使用多个常用数据集组成Common528数据集用于测试。
  • 图像增强任务(2种):低光图像增强(LLE)采用LOL数据集训练,局部拉普拉斯滤波(LLF)通过对Adobe - MIT Fivek数据集的expert - C修饰图像应用局部拉普拉斯滤波器形成输入输出对,LLF用于边缘保留细节增强。
  • 图像边缘检测任务(2种):使用Canny和Laplacian算子,基于ImageNet数据集创建输入输出训练对。

3.2 实验细节

采用ViT - large作为骨干架构。在训练期间,模型以“Q - A - Q - A”模式处理四个256×256图像的序列,从而得到4×256×256的总输入分辨率。使用L1损失作为损失函数。在优化方面,采用带有余弦退火学习率调度器的AdamW优化器。基础学习率为1e - 4。批量大小为48。使用8个8TeslaV100GPUs进行训练。总共执行50个轮次。对于测试Painter和PromptGIP,为每个任务构建20个图像提示取最佳结果

3.3 实验结果分析

  • 任务处理能力与视觉效果:PromptGIP能有效处理多种图像处理任务,视觉效果良好(如图5、6所示)。在图像恢复任务上表现出色,定量得分优于Real - ESRGAN等模型(如表1所示)。

在这里插入图片描述

  • QA范式和掩码训练策略有效性:QA范式改进了模型性能,掩码训练策略增强了模型处理不同任务的能力及稳定性。如在图像去雾任务中,直接预测效果不佳,而掩码训练策略有效(如表3所示)。
    在这里插入图片描述

  • 分布外任务泛化能力:模型在分布外任务(如混合退化恢复、颜色化、风格转移)上有一定泛化能力,但存在局限性,如无法完美处理未见过的混合退化图像和颜色化任务(如图8所示)。

4. 研究结论与展望

4.1 研究结论

PromptGIP模型可处理多种图像处理任务,通过视觉提示问答范式能解释任务线索并生成相关输出,具有一定泛化性。

4.2 研究局限与展望

模型在生成新兴结果方面能力有限,训练数据的质量、多样性和数量可能影响性能。当前骨干网络ViT在处理低级视觉任务时存在高频信息丢失问题,导致结果不理想,未来可采用更强的骨干模型提升性能,进一步探索模型在通用图像处理中的潜力。

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

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

相关文章

深入理解 Linux wc 命令

文章目录 深入理解 Linux wc 命令1. 基本功能2. 常用选项3. 示例3.1 统计文件的行、单词和字符数3.2 仅统计行数3.3 统计多个文件的总和3.4 使用管道统计命令输出的行数 4. 实用案例4.1 日志分析4.2 快速统计代码行数4.3 统计单词频率 5. 注意事项6. 总结 深入理解 Linux wc 命…

Spring常见问题

Spring常见问题 1.什么是Spring,对Spring的理解? Spring是一个轻量级的,IOC和AOP的一站式框架,为简化企业级开发而生的. Spring会管理对象,需要使用的时候直接注入即可,还可以对对象的功能进行增强,使得耦合度降低. 2.解释IOC和AOP IOC (控制反转)将生成对象控制权反转给…

JAVA:组合模式(Composite Pattern)的技术指南

1、简述 组合模式(Composite Pattern)是一种结构型设计模式,旨在将对象组合成树形结构以表示“部分-整体”的层次结构。它使客户端对单个对象和组合对象的使用具有一致性。 设计模式样例:https://gitee.com/lhdxhl/design-pattern-example.git 2、什么是组合模式 组合模式…

使用FakeSMTP创建本地SMTP服务器接收邮件具体实现。

以下代码来自Let’s Go further节选。具体说明均为作者本人理解。 编辑邮件模版 主要包含三个template: subject:主题plainBody: 纯文本正文htmlBody:超文本语言正文 {{define "subject"}}Welcome to Greenlight!{{end}} {{def…

基于深度学习多图像融合的屏幕缺陷检测方案

公司项目,已申请专利。 深度学习作为新兴技术在图像领域蓬勃发展,因其自主学习图像数据特征的性能避免了人工设计算法的繁琐,精准的检测性能、高效的检测效率以及对各种不同类型的图像任务都有比较好的泛化性能,使得深度学习技术在…

【数据库】Redis—Java 客户端

一、常见的几种 Java 客户端 Jedis:以 Redis 命令作为方法的名称,便于学习,简单实用,但其实例是线程不安全的,多线程下需要基于连接池来使用。lettce:基于 Netty 实现,支持同步、异步和响应式编…

重拾设计模式--观察者模式

文章目录 观察者模式(Observer Pattern)概述观察者模式UML图作用:实现对象间的解耦支持一对多的依赖关系易于维护和扩展 观察者模式的结构抽象主题(Subject):具体主题(Concrete Subject&#xf…

贪心算法 part01

class Solution { public:int maxSubArray(vector<int>& nums) {int result INT32_MIN;int count 0;for (int i 0; i < nums.size(); i) {count nums[i];if (count > result) { // 取区间累计的最大值&#xff08;相当于不断确定最大子序终止位置&#xff…

Pytorch | 利用NI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用NI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集NI-FGSM介绍背景算法流程 NI-FGSM代码实现NI-FGSM算法实现攻击效果 代码汇总nifgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器&#xff1a; Pytorch | 从零构建AlexNet对CIFAR10进行…

SAP抓取外部https报错SSL handshake处理方法

一、问题描述 SAP执行报表抓取https第三方数据,数据获取失败。 报错消息: SSL handshake with XXX.COM:449 failed: SSSLERR_SSL_READ (-58)#SAPCRYPTO:SSL_read() failed##SapSSLSessionStartNB()==SSSLERR_SSL_READ# SSL:SSL_read() failed (536875120/0x20001070)# …

AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python

支持向量机是AI开发中最常见的一种算法。之前我们已经一起初步了解了它的概念和应用&#xff0c;今天我们用它来进行一次文本情感分析训练。 一、概念温习 支持向量机&#xff08;SVM&#xff09;是一种监督学习算法&#xff0c;广泛用于分类和回归问题。 它的核心思想是通过…

信奥赛四种算法描述

#include <iostream> #include <iomanip> using namespace std;// 使用unsigned long long类型来尽量容纳较大的结果&#xff0c;不过实际上这个数值极其巨大&#xff0c;可能最终仍会溢出 // 更好的方式可以考虑使用高精度计算库&#xff08;如GMP等&#xff09;来…

Ajax中的axios

既然提到Ajax&#xff0c;那就先来说一说什么是Ajax吧 关于Ajax Ajax的定义 Asynchronous JavaScript And XML&#xff1a;异步的JavaScript和XML。 反正就是一句话总结&#xff1a; 使用XML HttpRequest 对象与服务器进行通讯。 AJAX 是一种在无需重新加载整个网页的情况下&…

vscode 使用说明

文章目录 1、文档2、技巧显示与搜索宏定义和包含头文件 3、插件4、智能编写5、VSCode 与 C&#xff08;1&#xff09;安装&#xff08;2&#xff09;调试&#xff08;a&#xff09;使用 CMake 进行跨平台编译与调试&#xff08;b&#xff09;launch.json&#xff08;c&#xff…

多功能护照阅读器港澳通行证阅读机RS232串口主动输出协议,支持和单片机/Linux对接使用

此护照阅读器支持护照、电子芯片护照、港澳通行证、台湾通行证&#xff0c;和串口的被动的方式不一样。此护照阅读器通电后&#xff0c;自动读卡&#xff0c;串口输出&#xff0c;软件只需要去串口监听数据即可&#xff0c;例如用串口助手就可以收到读卡信息。 非常适用于单片…

petalinux-adi ---移植adi内核(一)

1. 设备树生成 将 前 面 生 成 的 设 备 树 文 件 ( 笔 者 这 里 生 成 的 设 备 树 文 件 在Petalinux 工 程 的components/plnx_workspace/device-tree/device-tree/ 目 录 下 ) pcw.dtsi 、 pl.dtsi 、system-top.dts 以 及 zynq-7000.dtsi 四 个 文 件 直 接 拷 贝 到 内 …

基于MindSpore NLP的PEFT微调

创建notebook 登录控制台 创建notebook 如果出现提示按如下操作 回到列表页面创建notebook参数如下&#xff1a; 配置mindnlp环境 打开GitHub - mindspore-lab/mindnlp: Easy-to-use and high-performance NLP and LLM framework based on MindSpore, compatible with model…

centos-stream9系统安装docker

如果之前安装过docker需要删除之前的。 sudo dnf -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine 安装yum-utils工具&#xff1a; dnf -y install yum-utils dnf-plugin…

Redis存在安全漏洞

Redis是美国Redis公司的一套开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值&#xff08;Key-Value&#xff09;存储数据库&#xff0c;并提供多种语言的API。 Redis存在安全漏洞。攻击者利用该漏洞使用特制的Lua脚本触发堆栈缓冲区溢出漏洞&#xff0c;从…

黑马Java面试教程_P8_并发编程

系列博客目录 文章目录 系列博客目录前言1.线程的基础知识1.1 线程和进程的区别&#xff1f;难2频3面试文稿 1.2 并行和并发有什么区别&#xff1f; 难1频1面试文稿 1.3 创建线程的四种方式 难2频4面试文稿 1.4 runnable 和 callable 有什么区别 难2频3面试文稿 1.5 线程的 run…