网站首页 > 技术文章 正文
论文题目
Accelerating Image Super-Resolution Networks with Pixel-Level Classification
1、简介
最近,对有效的超分辨率(SR)技术的需求激增,特别是对于2K到8K分辨率的大规模图像。对于基于dnn的SISR,由于计算限制,通常需要将图像分解为重叠的小块。在这种patch分解方案中,可以根据每个patch的难度来分配不同的计算资源,在保持SR性能的同时进一步提高效率。然而,这种方法有一个局限性:计算资源在一个补丁内是均匀分配的,当补丁包含不同恢复难度的像素时,效率会降低。为了解决这个问题,提出了单图像超分辨率(PCSR)的像素级分类器,这是一种在像素级自适应分配计算资源的新方法。PCSR模型包括主干、像素级分类器和一组具有不同容量的像素级上采样器。像素级分类器根据每个像素的恢复难度将其分配给合适的上采样器,从而优化计算资源的使用。方法允许在不重新训练的情况下在推理过程中实现性能和计算成本平衡,实验证明了PCSR在不同骨干模型和基准测试中的PSNRFLOP权衡方面优于现有的补丁分配方法。
本文的主要目标是提高现有的SISR模型的效率,特别是对于较大的图像。为了克服补丁分布方法的局限性,提出了一种新的方法,称为像素级分类器,用于单图像超分辨率(PCSR),该方法专门用于自适应地在像素级分配计算资源。基于该方法的模型主要由三部分组成:主干、像素级分类器和一组不同容量的像素级上采样器。该模型的操作如下:1)骨干网接受LR输入,生成LR特征映射。2)对于HR空间中的每个像素,像素级分类器使用LR特征图和该像素的相对位置预测将其分配给特定上采样器的概率。3)相应地,每个像素自适应分配到合适大小的像素级上采样器,以预测其RGB值。4)最后对每个像素的RGB值进行聚合,得到超分辨输出。
本文的方法是第一个在大图像的有效SR背景下应用逐像素分布方法的方法。通过以像素为单位减少冗余计算,可以进一步提高补丁分配方法的效率,如图1所示。在推理阶段,为用户提供了在性能和计算成本之间进行权衡的可调性,而无需重新训练。还提供了一个额外的功能,可以根据K-means聚类算法自动分配像素,这可以简化用户体验。最后介绍了一种后处理技术,该技术可以有效地消除由于逐像素计算分布而产生的伪影。实验表明,方法在多个基准测试(包括Test2K/4K/8K和Urban100)中,在各种SISR模型的PSNR-FLOP权衡方面优于现有的patch分布方法。
2、背景
1)Region-aware SISR。区域感知SISR利用了这样一种洞察力,即图像中的高频区域比低频区域更难以恢复。该方法旨在通过减少低频区域的冗余计算来提高效率。AdaDSR根据图像的复杂程度调整处理深度,优化效率。MGA首先对整个图像进行全局恢复,然后在预测掩模的指导下对特定区域进行局部细化。同时,针对大规模图像复原效率的研究也出现了很多,这些研究将图像分解成多个小块,并根据每个小块的复原难度动态分配计算资源来提高效率。ClassSR是该领域的第一个研究成果:它利用分类器将patch分为简单、中、难三种类型,并将它们分配到不同容量的子网中,以减少FLOPs。然而,由于ClassSR使用独立的子网,它会导致参数计数的显著增加。ARM通过将原始网络分解为共享参数的子网来解决这一限制,从而不引入额外的参数。另一方面,APE使用回归量来预测每个补丁在每层的增量容量,通过网络层转发时提前退出补丁来减少FLOPs。
2)大图像SR的常用方法是将给定的LR图像划分为重叠的小块,对每个小块独立应用SR模型,然后合并输出以获得超分辨率图像。一些研究已经探索了这种方法,即每个补丁处理方法,旨在提高现有模型的效率,同时保持其性能。这些研究都观察到每个补丁的恢复难度不同,从而为每个补丁分配不同的计算资源。虽然在补丁级自适应分配计算资源可以显著提高效率,但它有两个限制,可能会阻止它充分发挥更高效率的潜力:1)由于SR是一种低级视觉任务,即使是单个补丁也可能包含不同程度恢复难度的像素。也就是说,当将大量计算资源分配给包含简单像素的补丁时,可能会导致计算工作量的浪费。相反,如果具有较小计算资源分配的补丁包含硬像素,则会对性能产生负面影响。2)这些所谓的补丁分布方法在更大的补丁尺寸下变得不那么有效,因为它们更有可能包含简单和硬像素的平衡混合。它带来了一个困境:可能希望使用更大的补丁,因为它不仅可以最大限度地减少重叠的冗余操作,还可以通过利用更多的上下文信息来提高性能。
3、方法
1)PCSR的概述如图3所示,一个模型由主干和一组上采样器组成。使用了一个分类器来测量在HR空间(即查询像素)上恢复目标像素的难度。LR输入图像反馈到主干,生成相应的LR特征。然后,分类器确定每个查询像素的恢复难度,并通过相应的上采样器计算其输出的RGB值。当类数M为2时,所提出的PCSR模型的体系结构,将q表示为HR空间中的单个查询像素,xq表示其坐标。从分类器获得的像素级概率用于将每个查询像素分配到合适大小的上采样器,以预测其RGB值。
(1)骨干,提出了一种有效的大图像SR的逐像素计算分布方法。可以使用任何现有的深度SR网络作为我们的主干来拟合所需的模型尺寸。如小型的FSRCNN,中型的CARN,大型的SRResNet等模型都可以采用。
(2)分类器,引入了一个轻量级分类器,它是一个基于mlp的网络,以像素为单位获得属于每个上采样器(或类)的概率。给定一个查询像素坐标xq,分类器根据分类概率将其分配给一个相应的上采样器,以预测其RGB值。通过适当地将简单像素分配给较轻的上采样器而不是较重的上采样器,可以在最小的性能下降的情况下节省计算资源。
设LR输入为X,其对应的HR为Y。首先,使用主干从LR输入计算LR特征Z,给定类别个数M,分类器C得到分类概率pi:
其中σ是一个softmax函数,基于mlp的分类器的操作类似于上采样器,主要区别在于它的输出维度是M。
(3)Upsampler,采用LIIF作为上采样器,它适用于像素级处理。首先将先前定义的yi从HR空间归一化,将其映射到LR空间中的坐标。给定LR特征Z,记Z?i为离该特征最近的(按欧氏距离)特征,v?i为该特征的对应坐标。然后将上采样过程总结为:
其中ISR(yi)为yi处的RGB值,[·]为连接操作。可以通过查询每个{yi}的RGB值来获得最终的输出ISR…并将它们组合在一起,M个并行上采样器{U0, U1,…, UM?1}可用于处理各种恢复困难的任务(从大容量到小容量)。
2)训练,在训练阶段,通过所有M个上采样器前馈一个查询像素,并聚合输出以有效地反向传播梯度,如下所示:
其中,^Y(yi)是在yi和pi处的RGB输出,j是该查询像素在上采样器Uj中的概率。然后利用两种损失函数:重构损失Lrecon和平均损失lavg,后者与ClassSR中使用的损失函数相似。重构损耗定义为预测输出的RGB值与目标之间的L1损失。在这里将目标视为真HR patch和双线性上采样LR输入patch之间的差值,原因是希望通过强调高频特征,让分类器在容量很小的情况下也能很好地完成分类任务。因此,损失可以写成:
其中upX(yi)为位置yi处双线性上采样LR输入patch的RGB值。对于平均损失,鼓励在每个类之间统一分配像素,将损失定义为:
将出现在每个类中的概率视为分配给该类的有效像素数,将目标设置为N HW/M,希望在总共N HW像素中为每个类(或上采样器)分配相同数量的像素。最后,总损失L定义为:
由于从头开始联合训练所有模块(即骨干B、分类器C、上采样器Uj∈[0,M])会导致训练不稳定,所以采用多阶段训练策略。假设上采样器的容量从U0减小到UM?1,则模型性能的上界由骨干B和最大的上采样器U0决定。因此,最初只使用重建损失来训练{B, U0}。然后,从j = 1开始到j = M?1,重复以下步骤:首先,冻结{B, U0,…, Uj?1}。其次,将Uj连接到主干(并在j = 1时新连接C)。最后,利用总损失联合训练{Uj, C}。
3)推理,在PCSR的推理阶段,整个过程类似于训练,但查询像素是根据预测的分类概率分配到唯一的上采样器分支。虽然可以以最高的概率将像素分配给分支,但为用户提供了可控性,以便在不重新训练的情况下遍历计算性能权衡。为此,在决策过程中考虑了FLOP计数。将每个上采样器Uj∈[0,M]对FLOPs的影响定义并预先计算为:
其中σ为softmax函数,f lops(·)为给定(h0, w0)的固定分辨率下模块的FLOPs。然后确定yi点像素的分支分配如下:
其中k是一个超参数,pi,j是查询像素在Uj中的概率,根据定义,设置较低的k值会导致将更多像素分配给较重的上采样器,从而在增加计算负载的同时最小化性能下降。相反,较高的k值将更多的像素分配给较轻的上采样器,接受性能降低以换取较低的计算需求。
(1)适应性决策(ADM),虽然方法允许用户管理计算性能的权衡,但还提供了一个额外的功能,可以根据概率值自动分配像素,同时考虑整个图像的统计信息。它的过程如下:给定单个输入图像的?pi,j,并考虑Uj∈[0,?(M+1)/2?)为重采样,且sum0≤j<?(M+1)/2?π,则计算j来表示该像素的恢复难度,从而得到i个值的总数。然后使用聚类算法将这些值分成M个簇。最后,通过根据其质心值将每组分配给从最重的U0到最轻的UM?1的上采样器,所有像素被分配到适当的上采样器。特别使用K-means聚类来最小化计算负荷。当统一初始化质心值时,这个过程是确定的。
(2)Pixel-wise细化,由于每个像素的RGB值是由独立的上采样器预测的,当相邻像素分配给不同容量的上采样器时,可能会产生伪影。为了解决这个问题,提出了一个简单的解决方案:再次按容量将上采样器的下半部分视为轻上采样器,上半部分视为重上采样器,当相邻像素分配给不同类型的上采样器时执行细化。具体来说,对于分配给Uj的像素,其中?(M + 1)/2?≤j < M(即轻上采样),如果至少有一个相邻像素被分配给Uj且0≤j <?(M + 1)/2?(即重上采样),将其RGB值替换为SR输出中相邻像素(包括其本身)的平均值。逐像素细化算法不需要任何额外的前向处理,只需要少量的额外计算就可以有效地减少伪影,并且对整体性能的影响最小。
4、实验
1)在大图像SR基准测试上比较了以往的补丁级方法和本文的像素级方法
2)MGA和PCSR在Test2K, Test4K和Urban100上的比较
3)根据补丁大小比较PCSR和ClassSR
4)之前的方法和本文的方法×4 SR的定性结果
5)根据类的数量M与×4 SR的比较
6)在Test2K上多尺度PCSR和ARM的比较
7)通过逐像素细化来可视化伪影减少
猜你喜欢
- 2024-12-08 英伟达发布 RTX 视频超分辨率技术,可更清晰的观看视频
- 2024-12-08 核显也能视频超分辨率,英特尔VSR类似技术曝光
- 2024-12-08 RepRFN:轻量图像超分辨率的重参数化残差特征网络(CVPR2023W)
- 2024-12-08 现有的图像超分辨率算法有哪两种?重建高分辨率图像的过程是什么
- 2024-12-08 使用opencv实现深度学习的图片与视频的超分辨率
- 2024-12-08 SAFMN:高效图像超分辨率的空间自适应特征调制(ICC2023)
- 2024-12-08 英伟达介绍RTX VSR视频超分辨率技术:AI图像处理的突破
- 2024-12-08 超高清到底是几K?工信部告诉你答案......
- 2024-12-08 SMFANet:高效图像超分辨率特征聚合网络(ECCV2024)
- 2024-12-08 PlainUSR:追逐更快的ConvNet以获得高效的超分辨率(ACCV2024)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)