你有没有过这样的遗憾:翻出十年前的老照片,像素颗粒粗得看不清家人的笑脸;客户发来一张模糊的 Logo,怎么放大都是马赛克;电商主图细节丢失,放大后完全没了质感。你心想——要是能像电视剧里那样,对着图片喊一句“放大、再清晰一点”,该有多好。 别急,超分辨率技术(Super-Resolution)就是干这个的。它就像一家“老照片修复馆”:你递进一张低清图,修复师能帮你把丢失的细节“补”回来。而当今最出名的两位修复师,一位叫 ESRGAN(“强化版超分辨率生成对抗网络”),另一位叫 SwinIR(“基于 Swin Transformer 的图像重建网络”)。ESRGAN 像个极具想象力的写生画家,擅长用对抗训练“脑补”出逼真纹理;SwinIR 则像个严谨的扫描重建师,把大图切成一个个小窗口,精准还原像素。本篇文章就带你认识这两位“修复师”,看看它们的看家本领、手艺差异,以及你该什么时候找谁帮忙。

岗位关联

AI 从业者学会选择与调校超分辨率模型,就像修图师懂镜头参数一样必备——无论是做设计素材增强、电商图修复,还是给视觉大模型提供高质量训练数据,这条技能链都是AIGC产品落地时的刚需。

目录
  1. 可视化演示
  2. 超分基础概念
  3. ESRGAN原理
  4. SwinIR原理
  5. 模型效果对比
  6. 应用场景选型
  7. 避坑实战建议
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

对比ESRGAN(RRDB+上采样)与SwinIR(Swin Transformer+上采样)两种超分辨率架构,展示LR到HR的放大过程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

ESRGAN vs SwinIR ESRGAN:RRDB残差块+像素上采样,纹理细节丰富;SwinIR:Swin Transformer+窗口注意力,全局建模强 HR = Upsample( FeatureExtract(LR) ) ESRGAN擅长纹理,SwinIR擅长结构一致性

超分基础概念

想象你走进“老照片修复馆”,把一张磨得发白的照片递给前台。修复师先做一件事:检查这张照片是怎么“变旧”的——是扫描时光线不足?是翻印时画面模糊?还是保存不当起了噪点?这个“变旧”的过程,在超分辨率领域叫图像退化。一张高清图经过模糊、缩小、加噪声三道工序,就变成你手里的低清图。而超分辨率要做的,恰恰是把这个过程倒过来:从退化后的低清图,推测出原来的高清图。

但问题来了:倒着走比正着走难得多。就好比你只知道一碗汤的成品味道,要反推出厨师放了几克盐、几片姜——答案不唯一。一张低清图可以对应无数张可能的高清图,数学上称这是“逆问题”。修复师的工作,就是在无数种可能里,挑出最合理、最自然的那一个。为了判断“合理”,行业里用两个尺子:一是保真度,看重建结果和原图比像素差多少(PSNR/SSIM);二是感知质量,看人眼觉得像不像真实照片。这两把尺子常常打架——数值高的图不一定好看,好看的图数值不一定高,就像一份米其林菜品的热量表和美味度经常不成正比。

理解了这个退化模型,你就明白超分的本质不是“无中生有”,而是根据统计规律补全信息。修复师不是魔法师,他们只是比普通人更擅长从蛛丝马迹中推断原貌。

退化模型:Ilow=(Ihigh⊗kernel)↓s+noise\text{退化模型}: \quad I_{\text{low}} = (I_{\text{high}} \otimes \text{kernel}) \downarrow_{s} + \text{noise}
低清图 = 高清图先被卷积核模糊,再降采样缩小 s 倍,最后加上噪声。超分辨率就是解这个方程的逆问题。
  1. 卷积模糊高清图和一个模糊核做卷积,模拟镜头失焦或运动模糊。
    Ihigh⊗kernelI_{\text{high}} \otimes \text{kernel}
  2. 降采样缩小模糊后的图像按缩放因子 s 缩小,比如从 256×256 变成 64×64。
    ↓s\downarrow_{s}
  3. 加噪声再叠加上传感器噪声或压缩伪影,得到最终观测到的低清图。
    +noise+ \text{noise}

ESRGAN原理

第二位修复师出场了。ESRGAN 的脾气很特别——它不按部就班地“推算”缺失像素,而是直接画出来。它的核心是个叫“生成对抗网络”的组合:手艺人“生成器”负责把低清图重新画成高清图,而鉴定师“判别器”负责分辨“这张图是真的高清原图,还是艺人的仿品”。两人互相较劲,越练越强。就像古董修复师和鉴定师天天互相切磋,修复师的手艺被“逼”得越来越精湛。

但普通 GAN 有个毛病:修复师只顾着让“仿品”骗过鉴定师,结果画出来的纹理虽像,却可能和原画的内容对不上——比如把皮肤纹路画得像油画笔触。ESRGAN 的改进在于加了一位“细节教练”——感知损失。它不再简单地比像素差,而是拿一张预训练好的 VGG 网络分别提取原图和生成图的“高级特征”,看这些特征距离多远。换句话说,不是比“每个像素的颜色对不对”,而是比“整体画风、结构像不像”。再加上RRDB 残差密集块——一种极深的网络结构,相当于给修复师配备了 23 层放大镜,让每一层都能捕获不同尺度的纹理。

ESRGAN 的故事告诉我们:有时候“画得逼真”比“算得精确”更能打动人。它生成的人像皮肤纹理、建筑砖墙质感,人眼几乎分辨不出真假。但也因为太有想象力,偶尔会“脑补”出并不存在的细节——这在医疗影像等要求精准的领域是个隐患。

LG=Lpercep+λLGaN+ηL1L_{G} = L_{\text{percep}} + \lambda L_{\text{GaN}} + \eta L_{1}
生成器总损失 = 感知损失 + λ倍的对抗损失 + η倍的像素损失。三者协调,让生成图既像原图、又有真实纹理。
  1. 感知损失用 VGG 网络提取特征,比较生成图与真实图在特征空间的欧氏距离。
    Lpercep=∥ϕ(ISR)−ϕ(IHigh)∥2L_{\text{percep}} = \left\| \phi(I_{\text{SR}}) - \phi(I_{\text{High}}) \right\|^2
  2. 对抗损失判别器判断生成图是否为假的损失,越难分辨说明生成越成功。
    LGaN=−log⁡DRa(ISR,IHigh)L_{\text{GaN}} = -\log D_{Ra}(I_{\text{SR}}, I_{\text{High}})
  3. 像素损失L1 距离保证重建结果在像素层面不离谱,防止感知损失带来的颜色偏移。
    ηL1=η∥ISR−IHigh∥1\eta L_{1} = \eta \left\| I_{\text{SR}} - I_{\text{High}} \right\|_1

SwinIR原理

修复馆的另一位技师 SwinIR 走了截然不同的路线。它不用“对抗切磋”那套,而是信奉“像素之间的关联藏在线索里,只要看够多窗口,就能推算出答案”。这个思想来自 Transformer——一种原本用于处理文字的神经网络结构。文字里的每个词要根据上下文理解意思,图像里的每个像素也一样:它周围的像素共同决定了它“应该长什么样”。

但直接让每个像素和整张图的所有像素做关联,计算量大得惊人——就像让 1 万个人同时两两握手,根本没完没了。SwinIR 的聪明之处在于引入滑动窗口机制:把大图切成一个个小窗口,窗口内做全关联计算;下一层再把窗口移位,让不同窗口之间也能交换信息。这就像你先和同桌讨论,再换座位和新同桌讨论,几次下来全班的信息都流动了,但每轮只是小范围的交流。这样既保留了长程关联的“大局观”,又把计算量控制在了可行范围。

SwinIR 的优势在于稳定和可控。它不会像 GAN 那样天马行空,而是严格根据图像自身的信息推断细节,边缘更锐利、结构更准确。代价是——它不太会“创造”纹理,面对严重模糊的人像皮肤,重建结果可能略显光滑,缺少真实皮肤的颗粒感。

SwinIR 重建:ISR=Reconstruct(STL(浅层特征)+深层特征)\text{SwinIR 重建}: \quad I_{\text{SR}} = \text{Reconstruct}\big( \text{STL}( \text{浅层特征} ) + \text{深层特征} \big)
SwinIR 把图像先提取浅层特征,再用多层 Swin Transformer 块提取深层特征,最后上采样重建出高清图。
  1. 浅层特征提取用一个卷积层从低清图提取初步特征。
    浅层特征=Conv(Ilow)\text{浅层特征} = \text{Conv}(I_{\text{low}})
  2. 深层特征提取堆叠多个 Swin Transformer 层(STL),通过窗口自注意力逐步细化特征。
    深层特征=STL(浅层特征)\text{深层特征} = \text{STL}( \text{浅层特征} )
  3. 重建模块把深浅层特征相加,通过上采样模块放大到目标尺寸,输出高清图。
    ISR=Reconstruct(浅层特征+深层特征)I_{\text{SR}} = \text{Reconstruct}\big( \text{浅层特征} + \text{深层特征} \big)

模型效果对比

现在让两位修复师同时修复同一张照片,看看谁的活儿更好。第一轮比指标:用 PSNR(峰值信噪比)和 SSIM(结构相似性)打分。PSNR 像一把刻度尺,专测像素误差;SSIM 更像一名结构考官,看亮度、对比度、结构的相似度。在这两项上,SwinIR 通常小胜——因为它的训练目标就是让重建结果在数值上更接近原图。ESRGAN 因为把精力花在“骗过鉴定师”上,像素级误差反而略大。

第二轮比主观观感:让普通人直接看放大后的细节。这一轮 ESRGAN 赢了。它重建的草地、毛发、木纹,在肉眼下更接近真实照片,SwinIR 的图虽然数值好,却常常透着一股“塑料味”——过于平滑,缺乏自然纹理。这就是前面说的“保真”和“感知”的博弈。

实际选型时请记住:追求“数值好看”选 SwinIR,追求“眼睛舒服”选 ESRGAN。如果你在做电商主图放大,买家看的是感觉,ESRGAN 更合适;如果你在做医学影像增强,医生需要精确判断细节,SwinIR 更可靠。

PSNR=10⋅log⁡10(MAX2MSE)\text{PSNR} = 10 \cdot \log_{10} \left( \frac{\text{MAX}^2}{\text{MSE}} \right)
PSNR 基于均方误差(MSE)计算。MSE 越小,PSNR 越大,像素越接近,但它不关心人眼观感。
  1. MAX 的平方像素值最大可能值的平方(8 位图是 255²)。
    MAX2=2552\text{MAX}^2 = 255^2
  2. MSE 均方误差生成图与原图每个像素差值的平方平均。
    MSE=1n∑i=1n(ISR−IHigh)2\text{MSE} = \frac{1}{n}\sum_{i=1}^{n}(I_{\text{SR}} - I_{\text{High}})^2
  3. 对数缩放取以 10 为底的对数再乘 10,把数值范围压缩到人友好的分贝尺度(典型值 20–40dB)。
    10⋅log⁡10(⋅)10 \cdot \log_{10}(\cdot)

应用场景选型

搞清楚了两位修复师的性格差异,我们来排排实际工作台。第一个场景是老照片修复——你的奶奶年轻时的照片只有 200×300 像素,脸上的轮廓模糊成一片。这时选 ESRGAN:它能把皮肤纹理、头发丝 “脑补” 出来,观感自然,适合家用修图工具和摄影后期。

第二个场景是医疗影像超分——CT 或 MRI 图像需要放大供医生精确读片。这时选 SwinIR:它不会凭空生成“可能像病灶”的假纹理(如果生成假纹理可能导致误诊),数值稳定、结构准确。第三个场景是电商主图增强:商品图的细节纹理是卖点,用 ESRGAN 提升质感、放大后依然有真实皮纹或织物纹理,有助于提升点击率。第四个场景是视频监控画面增强:监控视频往往低分辨率且带噪,SwinIR 的去噪加超分能力更强,能让车牌和面部轮廓更清晰可辨。

一个简单决策法:你的图是给人看的,还是给机器看的? 给人看——用 ESRGAN,因为它懂人情味;给机器看(比如后续做识别检测)——用 SwinIR,因为它不撒谎。当然,两者也可以搭配使用:先用 SwinIR 做基础重建保证结构,再用 ESRGAN 做纹理增强提升观感,这在业内被称为“先稳后美”的流水线策略。

避坑实战建议

最后,带你绕开新手常见的几个坑。第一个坑是期望值过高:有人拿了张 50×50 的模糊人脸,期望超分后变成 1000×1000 的清晰大头照,还能认出每根皱纹。记住信息守恒定律——超分模型可以“猜”细节,但猜不出原图里根本没有的信息。就像修复师再厉害,也无法凭空还原一枚硬币背面的年份数字。

第二个坑是训练数据不配对却强行上 ESRGAN。ESRGAN 需要成对的低清/高清训练数据,图像必须先人工退化成低清再训练。如果你只有“低清+高清”不成对的照片集,训练 GAN 容易崩溃,这时选 SwinIR 或基于退化模型自监督的方法更稳妥。第三个坑是只看 PSNR 调模型。ESRGAN 生成的图 PSNR 低,但人眼觉得好;SwinIR 反之。盲目只看指标会做出错误选择。正确做法是“客观指标 + 主观盲评”双管齐下。

最后一个坑是忽视退化类型。你的图片是压缩伪影、运动模糊还是低光照噪声?每种退化需要不同的预处理。ESRGAN 的 Real-ESRGAN 版本专门针对真实复杂退化做了优化,而 SwinIR 也有配套的去噪和压缩伪影模型。使用时要选择匹配退化类型的变体。把这些坑避开,你的超分之旅就会顺畅很多——毕竟,找对修复师很重要,但知道“不要期望修复师能变魔术”,同样重要。

AI 应用场景

电商商品图无损放大

阶段:图像后处理 → 超分辨率重建

解决的问题:电商平台上传主图时,原始拍摄图可能因为设备或压缩导致分辨率不足,放大后模糊、纹理丢失,影响商品质感展示。传统方法是用 PhotoShop 插值放大,但效果生硬,边缘出现锯齿,纹理严重失真。

具体案例:一家卖手工皮具的淘宝店,商品图是手机拍摄的 800×800 像素照片,放大到 2000×2000 做详情页后皮革纹理完全糊掉。接入 Real-ESRGAN 模型批量处理,将 1200 张商品图全部超分到 4K 分辨率,放大后皮纹清晰可见,详情页跳失率下降了 15%。

老照片修复与视频增强

阶段:图像预处理 + 超分重建

解决的问题:家庭老照片和旧影像资料分辨率低、有噪点和划痕,直接放大无法观看。传统人工修复成本极高,一张照片要修几个小时。AI 超分可以自动去噪、去划痕并增强细节。

具体案例:某地方档案馆用 SwinIR 处理上世纪 80 年代的城市影像资料,将标清视频放大到 1080P,同时完成去噪。因为 SwinIR 对连续视频帧的处理更稳定,不会像 GAN 那样在相邻帧产生闪烁伪影,修复后的街景视频在展览中播放效果良好。

医疗影像辅助诊断前处理

阶段:医学图像预处理 → 超分增强 → 诊断模型输入

解决的问题:低场强 MRI 或低剂量 CT 图像噪声大、分辨率低,影响医生判读和 AI 诊断模型的准确率。需要在不引入虚假纹理的前提下提升分辨率。

具体案例:某三甲医院放射科使用 SwinIR 对低剂量 CT 图像做超分增强,将图像放大 2 倍并降噪,再输入肺结节检测模型。由于 SwinIR 重建不产生 GAN 式的“伪纹理”,误诊率未上升,而检测模型的召回率因为输入质量提升提高了 5%。

Python 演示

python76 行
import torchimport torch.nn as nnimport torch.nn.functional as F  class ResidualDenseBlock(nn.Module):    """RRDB 核心组件:密集卷积残差块,ESRGAN 的基本构建单元"""    def __init__(self, channels=64):        super().__init__()        self.conv1 = nn.Conv2d(channels, channels, 3, padding=1)        self.conv2 = nn.Conv2d(channels, channels, 3, padding=1)        self.conv3 = nn.Conv2d(channels, channels, 3, padding=1)        self.lrelu = nn.LeakyReLU(0.2, inplace=True)     def forward(self, x):        identity = x        out = self.lrelu(self.conv1(x))        out = self.lrelu(self.conv2(out + x))        out = self.conv3(out + x)        return out + identity * 0.2  class GeneratorSR(nn.Module):    """简化版 ESRGAN 生成器:4 层 RRDB + 上采样重建,演示训练流程"""     def __init__(self, in_ch=3, out_ch=3, base=64):        super().__init__()        self.entry = nn.Conv2d(in_ch, base, 3, padding=1)        body = [ResidualDenseBlock(base) for _ in range(4)]        self.body = nn.Sequential(*body)        self.exit = nn.Conv2d(base, base, 3, padding=1)        self.up1 = nn.Sequential(            nn.Conv2d(base, base * 4, 3, padding=1), nn.PixelShuffle(2))        self.up2 = nn.Sequential(            nn.Conv2d(base, base * 4, 3, padding=1), nn.PixelShuffle(2))        self.tail = nn.Conv2d(base, out_ch, 3, padding=1)     def forward(self, x):        f = self.entry(x)        f = self.body(f)        f = self.exit(f) + f        f = self.up1(f)        f = self.up2(f)        return self.tail(f)  def downsample_for_train(high, scale=4):    """生成训练配对:把高清图退化成低清图,模拟退化模型"""    low = F.interpolate(high, scale_factor=1.0 / scale, mode="bicubic")    low = F.interpolate(low, scale_factor=scale, mode="bicubic")    return low  def train_step(model, opt, high, criterion):    low = downsample_for_train(high)    sr = model(low)    loss = criterion(sr, high)    opt.zero_grad()    loss.backward()    opt.step()    return loss.item()  def main():    torch.manual_seed(42)    model = GeneratorSR()    opt = torch.optim.Adam(model.parameters(), lr=1e-4)    criterion = nn.L1Loss()    fake_high = torch.rand(2, 3, 64, 64) * 0.5 + 0.25    for epoch in range(3):        loss = train_step(model, opt, fake_high, criterion)        print(f"epoch {epoch + 1}: loss = {loss:.4f}")  if __name__ == "__main__":    main()
目的:演示 ESRGAN 生成器的核心结构(RRDB 残差密集块 + 亚像素上采样)和“高清图→退化→重建→计算损失”的完整训练循环,帮你理解超分模型的训练模式。
  1. class GeneratorSR(nn.Module)定义生成器网络:入口卷积、4 层 RRDB 主干、上采样尾部,结构非常简单但保留了 ESRGAN 的核心思想
  2. self.up1 = nn.Sequential(... PixelShuffle(2))亚像素卷积上采样,把特征图放大 2 倍而不是简单插值,这是超分模型常用的高效放大方式
  3. def downsample_for_train(high, scale=4)用双三次插值把高清图缩小再放大,模拟“退化-重建”的配对训练数据
  4. loss.backward(); opt.step()标准训练三连:计算梯度→反向传播→更新权重。注意这里用的是 L1Loss 而非完整感知损失,演示的是核心骨架

常见误区

误区用 PhotoShop 里的“图像大小”不是也能放大图片吗?把 50×50 拉大 10 倍变成 500×500,和 AI 超分有啥区别?

正解PS 放大用的是插值算法(最近邻/双三次),本质是“在已知像素之间填色”,不会新增任何纹理信息,放大 4 倍以上必然发糊发虚。AI 超分是做“生成式补全”——它学习了海量高清图的纹理统计规律,能为低清图“脑补”出自然的毛发、砖纹、皮肤颗粒。类比来说:PS 放大像熨平一张纸,AI 超分像请画家照着草图重新画一张细节完整的画,后者信息量截然不同。

为何常见:因为从用户视角看,两者都是“把图变大”的操作,感觉没有本质不同,只有对比放大后的细节才能体会差异。

误区选超分模型时,谁的报告 PSNR 高就选谁,反正数字不会骗人。

正解PSNR 只能衡量像素级误差,完全不考虑人眼观感。ESRGAN 的 PSNR 常比 SwinIR 低 0.5–1dB,但主观观感明显更好。就像米其林餐厅的菜热量表可能比快餐店还低,但论美味却完胜——指标选错了维度,评价就失真。正确的评估方式是“PSNR/SSIM + 用户盲评”组合,既看客观数值,又看真实感受。

为何常见:PSNR 是论文里最常出现、最容易对比的数字,小白天然倾向于用可量化的指标做决策,忽视了“数值≠体验”的常识。

误区只要模型够强大,一张 20×20 像素看不清人脸的照片,一定能还原出可以辨认的原始五官。

正解退化过程是有信息损失的。10×10 像素能存储的信息量远小于 1000×1000 像素,超分模型只能根据统计规律“猜”出最可能的高清细节,但无法恢复被彻底抹掉的信息——如果原图中鼻子只有 2 个像素,模型只能猜一个“最像鼻子”的形状,不一定是你真正的那个鼻子。这是数学上信息论的根本限制,不是算力问题。

为何常见:影视剧里“放大模糊画面还原人脸”的情节深入人心,让人误以为超分是“解压加密文件”——信息原封不动存着,只是需要解锁。真实图像退化是“主动丢弃信息”,两者完全不同。

误区ESRGAN 效果好,我手里的低清图和高清图虽然没有一一对应关系,但数量够多,直接扔进去训练准没错。

正解ESRGAN 的训练依赖像素级的配对数据——每张低清图必须对应它“退化之前”的那张高清图。不成对训练时,判别器学不到正确的“真实”分布,生成器会乱画纹理,产生严重伪影。这也解释了为什么 Real-ESRGAN 要先用退化模型生成配对数据再训练。类比来说,你让修复师对着别人的真品照片学修复,却让他修的是另一件家具,工艺套路根本对不上。

为何常见:很多人只知道 GAN 训练需要“数据”,但不理解配对关系是核心前提,觉得“反正都是很多图”就能训练,忽略了数据类型匹配的关键性。

面试题

Q1. 超分辨率任务的本质是什么?

单选题 · easy

  • A.直接在低清图上填充像素值
  • B.求解图像退化的逆问题← 正确答案
  • C.对图片做无损压缩与解压
  • D.用插值算法增加图像细节

答案:B。超分是“高清→模糊/缩小/加噪”退化过程的逆问题,需要在无数可能的高清图中选出最合理的一张。A 是插值放大,C 是无损概念,D 只是简单放大手段,都不构成“重建”的含义。

Q2. 关于 PSNR 与主观观感的关系,下列说法正确的有?

多选题 · mid

  • A.PSNR 高说明图像一定好看
  • B.PSNR 只衡量像素级误差← 正确答案
  • C.ESRGAN 的 PSNR 可能低于 SwinIR 但观感更好← 正确答案
  • D.PSNR 能完全反映人眼感知质量

答案:BC。PSNR 基于 MSE,只衡量像素差异,不感知结构纹理,所以 A 和 D 错误。ESRGAN 训练目标侧重对抗与感知损失,PSNR 往往不如 SwinIR,但纹理更自然,C 正确。

Q3. ESRGAN 中“生成器与判别器对抗”的根本目的是什么?

单选题 · mid

  • A.让生成器学会压缩图像
  • B.让生成器学会画出以假乱真的纹理细节← 正确答案
  • C.让判别器提升图像分类精度
  • D.让生成器输出更小的文件

答案:B。判别器负责区分“真实高清图”和“生成图”,生成器为了骗过判别器,被迫学习真实图像的纹理分布,从而生成以假乱真的细节。这不是压缩或分类任务。

Q4. SwinIR 的核心创新是什么?

单选题 · easy

  • A.引入卷积残差块的堆叠
  • B.使用滑动窗口和移位窗口的自注意力← 正确答案
  • C.用全局平均池化替代注意力
  • D.舍弃 Transformer 改用纯 CNN

答案:B。SwinIR 建立在 Swin Transformer 上,核心是窗口自注意力+移位窗口跨窗口交互,既保留全局依赖建模能力,又控制了计算量。A 是卷积思路,C 和 D 与 SwinIR 无关。

Q5. 下列场景中更适合选 SwinIR 的有?

多选题 · mid

  • A.电商商品图纹理增强放大
  • B.医疗影像放大供诊断判读← 正确答案
  • C.模糊人脸的娱乐性修复
  • D.监控视频车牌号清晰化← 正确答案

答案:BD。医疗影像要求不引入虚假纹理(SwinIR 更稳),监控视频需要去噪和精确重建(SwinIR 擅长)。电商主图和娱乐修复更看重人眼观感,ESRGAN 更合适。

Q6. ESRGAN 的总损失函数中,感知损失的主要作用是?

单选题 · hard

  • A.压缩生成图的文件体积
  • B.在特征空间约束生成图与原图的语义一致性← 正确答案
  • C.提升判别器的分类准确率
  • D.直接计算生成图与原图的像素差

答案:B。感知损失用预训练 VGG 提取生成图与原图的特征,比较特征距离而非像素距离,约束的是“画风与结构”一致,防止 GAN 生成的纹理偏离原图语义。L1 像素损失才是 D 选项描述的内容。

Q7. RRDB 在 ESRGAN 中的作用是什么?

单选题 · easy

  • A.判别真实图与生成图
  • B.作为生成器的主干网络捕获丰富纹理特征← 正确答案
  • C.对输出图像做压缩编码
  • D.降低模型训练时的内存占用

答案:B。RRDB(残差密集块)是 ESRGAN 生成器的主干结构,通过密集连接+残差学习让网络加深加宽,能提取层次丰富的纹理特征,为后续重建提供信息基础。

Q8. 关于超分辨率的信息守恒,正确的理解是?

多选题 · hard

  • A.低清图的信息量严格小于高清图← 正确答案
  • B.超分模型能还原出原始图像的全部信息
  • C.超分是依据统计规律“猜”出可能的高清细节← 正确答案
  • D.退化过程是可逆的数学变换

答案:AC。缩小加噪是信息损失过程,低清图信息量必然小于高清图(A 正确)。超分只能按概率推测最合理的细节(C 正确),不能还原真正丢失的信息(B 错误),退化不是双射逆变换(D 错误)。

Q9. 训练 ESRGAN 对数据集的根本要求是什么?

单选题 · mid

  • A.只要图片数量足够,是否配对无所谓
  • B.必须有一一对应的低清/高清配对图← 正确答案
  • C.所有图片必须是统一分辨率
  • D.必须使用灰度图像

答案:B。生成器学习的是“低清→高清”的像素级映射,没有配对数据,判别器无法判断生成图是否接近真实对应图,训练会崩溃。配对是 GAN 类超分的硬前提。

Q10. 实际做超分评估时,最合理的策略是?

单选题 · hard

  • A.只报告 PSNR 数值
  • B.只让开发者自己看效果图
  • C.客观指标 + 多人主观盲评结合← 正确答案
  • D.用跑分软件自动打分

答案:C。单一指标存在盲区(PSNR 不反映观感,主观看又因人而异),客观指标(PSNR/SSIM)与多人盲评结合才能全面衡量模型质量。A 偏科,B 有主观偏差,D 本质还是客观指标,都不完整。