【超分代码合集】SwinIR、StableSR、PASD、CCSR 常见超分模型的推理时间对比

本文主要是介绍【超分代码合集】SwinIR、StableSR、PASD、CCSR 常见超分模型的推理时间对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从 Awesome-diffusion-model-for-image-processing 合集 [ 1 ] ^{[1]} [1] 以及 NTIRE 2023 Challenge on Efficient Super-Resolution (CVPR Workshop) [ 2 , 3 ] ^{[2,3]} [2,3] 的超分部分,选取了 4 个 star 数量较高的几个项目进行测试对比。

图像超分论文

模型论文Star 数代码仓库
SwinIRSwinIR: Image Restoration Using Swin Transformer4k+代码
StableSRExploiting diffusion prior for real-world image super-resolution1k+代码
PASDPixel-Aware Stable Diffusion for Realistic Image Super-resolution and Personalized Stylization700+代码
CCSRImproving the Stability of Diffusion Models for Content Consistent Super-Resolution300+代码

测试性能

  • 测试的功能为 x4 超分辨率,即不论任何尺寸输入,输出尺寸为输入尺寸的 4 倍
  • 输入输出尺寸单位均为 pixel
  • 硬件:GPU 是 NVIDIA GeForce RTX 3090,显存在 24000MiB左右
  • 均为推理时间,s代表秒
输入输出StableSRPASDCCSRSwinIR
120 × 80480 × 3208.49s10.12s2.67s0.28s
200 × 200800 × 80016.32s5.72s4.54s0.57s
256 x 2561024 × 102435.73s11.42s8.93s0.88s
512 x 5122048 x 2048331.04s135.81s106.20s3.95s

基于 Transformer 的 SwinIR 从推理速度上完胜 Diffusion 的模型,而实际的输出结果和前几个模型从视觉上主管感受差异并不大。

[1] https://github.com/lixinustc/Awesome-diffusion-model-for-image-processing/?tab=readme-ov-file#image-super-resolution
[2] https://cvlai.net/ntire/2023/
[3] https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10208768

这篇关于【超分代码合集】SwinIR、StableSR、PASD、CCSR 常见超分模型的推理时间对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897258

相关文章

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

SQL中redo log 刷⼊磁盘的常见方法

《SQL中redolog刷⼊磁盘的常见方法》本文主要介绍了SQL中redolog刷⼊磁盘的常见方法,将redolog刷入磁盘的方法确保了数据的持久性和一致性,下面就来具体介绍一下,感兴趣的可以了解... 目录Redo Log 刷入磁盘的方法Redo Log 刷入磁盘的过程代码示例(伪代码)在数据库系统中,r

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

SQL BETWEEN 的常见用法小结

《SQLBETWEEN的常见用法小结》BETWEEN操作符是SQL中非常有用的工具,它允许你快速选取某个范围内的值,本文给大家介绍SQLBETWEEN的常见用法,感兴趣的朋友一起看看吧... 在SQL中,BETWEEN是一个操作符,用于选取介于两个值之间的数据。它包含这两个边界值。BETWEEN操作符常用