ICCV 2017 · 论文精读答辩

Pixel Recursive
Super Resolution

像素递归超分辨率 · 给“马赛克”般的超低清图脳补出清晰细节
Ryan Dahl · Mohammad Norouzi · Jonathon Shlens
Google Brain
FUN FACT 第一作者 Ryan Dahl 正是 Node.js / Deno 的作者
背景 · 多模态难题 方法 · 条件网络 + 先验网络 实验 · 人类感知评估
CORE TASK · 巨幅放大
8×832×32
边长放大 4×,像素增至 16 倍 — 细节已不存在,必须凭先验“画”出来
CORE INSIGHT · 关键洞察
逐像素递归采样 替代 回归平均
超分是多模态问题;MSE 把所有可能糊成一团,自回归则每次给出一个清晰答案
RESULT · 人类感知评估
27.9% 被当成真照片
(满分 50%)
远超 GAN 8.5% 与 ResNet 回归 2–4%
PART 01 / 04

研究背景

高倍超分为什么这么难 · 一张小图对应无数张大图
03

问题定义 · 把马赛克般的 8×8 小图还原成清晰大图

通俗讲,这就是「去马赛克」:把 8×8 人脸放大到 32×32。低倍放大已成熟,难点在极小输入 + 极大放大比
输入
8 × 8 px
头发、皮肤纹理等细节已彻底丢失
输出
32 × 32 px
模型须凭先验合成出全新的真实细节
关键认知:模型并非「恢复」原始信息,而是像你画我猜—— 先猜「这是一张脸」,再凭经验把五官想象着画出来。本质是合理的脳补,而非还原真相。
Figure 1 · CelebA 人脸 · 8×8 输入 / 模型采样 / 真实图(最下排原图的嘴型、眼妆已与采样不同)
Figure 1 人脸超分辨率示例
04

本文主线 · 三个台阶讲清「为什么难、为什么糊、怎么解」

把研究背景浓缩成一条上升的主线:先看清问题为什么难,再看清老办法为什么糊,最后顺势引出本文怎么解。后面三页正是这三个台阶的展开。
结果质量 · 能否覆盖多解 论证推进 → 台阶 1 答案不止一个(多模态) 大倍数超分要凭空造细节, 一张小图对应无数张合理大图。 台阶 2 逐点损失 → 平均成糊 像素各自预测、互不商量, 多种可能被平均成一团模糊。 ↑ 本文采用,自然引出方法 台阶 3 自回归 · 让像素协调 用链式法则逐像素生成, 每步都参考已画好的像素。
越往右上:从「想恢复唯一真相」走向「建模条件分布、采样一个清晰又可信的答案」。台阶 3 即本文方案,讲完后用「文献定位」收尾,过渡到方法部分。
05

答案不止一个 · 一张小图对应无数张合理大图

高倍放大时,许多细节在输入里根本不存在。任务从「恢复」变成合成可信细节:一张小图对应无数张大图。
8×8 马赛克输入
可能 A
浓眉 · 直发 · 偏瘦脸型
可能 B
淡眉 · 卷发 · 圆润脸型
可能 C
不同肤质 · 不同光照
↑ 三张高清结果降采样回去都得到同一张马赛克 —— 它们同样「正确」,构成多个分立的解(多模态)。
结论:好的超分模型必须能对多种可能性建模、每次给出清晰的一个,而不是把它们平均成一团模糊。
06

视角转换 · 为什么「放大图片」要当成一个概率问题

超分看着像个「确定」的任务,本文却把它当概率问题来做。这一步抽象是全文的地基 —— 想通了,后面都顺。
① 经典视角:一张图 → 一张图
传统超分想学一个函数 $f$:输入低清 $x$,输出唯一高清 $f(x)=y$。低倍放大够用。
② 高倍超分是「一对多」
无数张不同高清图,降采样后都等于同一张 $x$,它们都对。一个只能吐一张图的函数,天生表达不了「多个都对的答案」。
③ 换对象:在「所有可能图像」上放一条分布
不预测一张图,而是给出概率分布 $p(y\mid x)$:在所有可能高清图里,哪些可信(概率高)、哪些不可能(≈0)。右图就是这条分布。
④ 抽象成分布后,三件事就顺了
① 能容纳多个答案;② 能从分布里采样出清晰的一张;③ 能用似然客观比较模型。这正是本文选 PixelCNN 的理由。
记住这步:超分的输出从「一张图」升级成「一整条分布」。下一页再看:这条分布长什么样,以及偷懒只取它的均值会怎样。
交互 · p(y|x):拖探针读「概率 / 似然」,调温度 τ,采样
概率密度 p(y|x) 图像空间 → 可信图 A 可信图 B 拖我
温度 τ 1.00 · 标准 相对可信度 100%
概率 探针高度 = 这张图的概率密度;看整条曲线比「哪张更可能」。
似然 把探针停在真实图上,这个高度就是「模型给真实数据打的分」;训练 = 最大化它。
07

这条分布长什么样 · 「多峰」,以及取均值为什么会糊

上一页把超分变成了一条分布 $p(y\mid x)$。现在只盯两件事:这条分布的「形状」,以及一个偷懒做法会出什么问题。
1
这条分布通常是多峰
「数字放左上」和「放右下」是两个都对、却彼此分开的答案,就是两座山峰(见右图上半)。
2
可如果硬让它「只吐一张图」?—— 它只能吐均值
用 MSE 训练时,最优答案是所有可能图的平均 $\mathbb{E}[y\mid x]$。两座山峰一平均,正好落在中间山谷 —— 一张谁都不像的糊图(右图下半)。
关键结论:「糊」不怪网络不够强,而是「只输出一个均值」这件事本身的错。根因 = 把像素当独立;出路 = 链式法则下一页把这两点算成公式 ⤵
同一个故事的「分布」视角
真实分布 p(y|x):多峰(≥2 座山) 清晰答案 A 清晰答案 B E[y|x] = 两峰平均 ↓ 落在山谷 = 糊 / 鬼影 MSE / 高斯假设:只能拟合单峰 模型把唯一的峰放在均值处 = 输出停在两答案之间 → 模糊 ← 所有可能的高清结果 y →
08

直觉算成公式

上一页是直觉,这一页是证明:A 解释「为什么平均 = 糊」,B 解释「为什么自回归能救回来」。这两点想通,§3 / §4 就全通了。
推导 A · 高斯 = MSE = 条件均值
① 假设每个像素服从固定方差高斯
$$p(y_i\mid x)=\mathcal{N}\!\big(y_i;\,C_i(x),\,\sigma^2\big)$$
② 取对数(论文式 3):
$$\log p(y_i\mid x)=-\tfrac{1}{2\sigma^2}\big\lVert y_i-C_i(x)\big\rVert^2-\log\sqrt{2\pi\sigma^2}$$
③ $\sigma$ 固定 ⇒ 末项是常数 ⇒ 最大似然 = 最小平方误差:
$$\max\ \log p\ \Longleftrightarrow\ \min\ \big\lVert y_i-C_i(x)\big\rVert^2\ (\text{MSE})$$
④ 而使 MSE 最小的最优预测,正是条件均值
$$\arg\min_{c}\ \mathbb{E}\big[\lVert y_i-c\rVert^2\mid x\big]=\mathbb{E}[y_i\mid x]$$
选 L2 / MSE = 假设单峰高斯、只会预测条件均值;多峰被平均 →
推导 B · 链式法则:精确拆成逐像素
① 概率链式法则(恒等式,对任意分布都成立):
$$p(y\mid x)=\prod_{i=1}^{M} p(y_i\mid x,\,y_{\lt i})$$
展开即 $p(y_1\mid x)\,p(y_2\mid x,y_1)\,p(y_3\mid x,y_1,y_2)\cdots$
② 取对数(论文式 5):
$$\log p(y\mid x)=\sum_{i}\log p(y_i\mid x,\,y_{\lt i})$$
③ 对比「像素独立」假设(式 2)—— 少了 $y_{\lt i}$:
$$\log p(y\mid x)=\sum_{i}\log p(y_i\mid x)$$
链式法则是恒等变换、保留全部依赖 → 能表达任意多峰;独立假设丢掉 $y_{\lt i}$ → 只能单峰。PixelCNN 就用网络建模每个 $p(y_i\mid x,y_{\lt i})$。
09

逐点损失为何会糊 · 像素各自投票,把多种可能平均掉

像素独立模型把整张图拆成许多小问题:每个像素只看低清输入 $x$,不看邻居。
$$\log p(y\mid x)=\sum_{i=1}^{3M}\log p(y_i\mid x)$$
符号:$y$ 整张高清图,$y_i$ 第 $i$ 个标量像素,$x$ 低清输入,$3M$=$M$ 个像素 × RGB 3 通道。独立假设把联合概率写成连乘 $\prod_i p(y_i\mid x)$,取 log 后变成求和。
核心问题:每个像素各自投票,没人负责让边缘、鼻梁、阴影对齐。
独立像素模型的直觉
1 低清输入 2 每个像素单独预测 3 结构被平均 x p(y1 | x) p(y2 | x) p(y3 | x) 像素之间互不参考 多条边缘被平均 结构变成模糊纹理
高斯 / L2 回归
固定方差时,最大似然等价于最小化 MSE,多种可能会被压成均值。
$$\log p(y_i\mid x)=-\tfrac{1}{2\sigma^2}\lVert y_i-C_i(x)\rVert_2^2 + \text{const}$$
$C_i(x)$ 网络预测的第 $i$ 像素中心值(均值),$\sigma^2$ 固定方差,$\lVert\cdot\rVert_2^2$ L2 平方误差,const 与 $y_i$ 无关。⇒ 最大化它 = 最小化 MSE,多个答案被压成平均值。
多项式 / 交叉熵
单点 softmax 能表达多峰,但不知道邻近像素选择了哪条结构线。
$$p(y_i{=}k\mid x)=\frac{\exp\{C_{ik}(x)\}}{\sum_{v}\exp\{C_{iv}(x)\}}$$
$k$ 某个离散灰度等级(0–255 共 256 类),$C_{ik}(x)$ 网络给第 $i$ 像素第 $k$ 类打的分数(logit),分母对所有类别 $v$ 求和做归一化。⇒ softmax 把分数变概率;单像素能多峰,但仍不看邻居。
10

玩具实验坐实「平均成糊」 · MNIST 角落数据集

把一个 MNIST 数字随机放到左上或右下角(各 50%)。数据集中从不同时出现两个数字 —— 这就是“两个分立的合理答案”。
① L2 回归(高斯 / MSE)
每个像素各自回归一个灰度值、最小化均方误差,本质是学“条件均值”。把“放左上”和“放右下”两种答案一平均,两个角都浮出半透明数字。
② 交叉熵(softmax 分类)
把每个像素灰度当成 256 类、各自做 softmax 分类。单个像素能表达多峰,但像素之间互不商量,仍会在两个角各放一个淡淡的数字。
↑ 两者都假设像素独立 → 产生训练集里根本不存在的“鬼影”。
PixelCNN(建模像素依赖)
逐像素自回归,后画的像素会参考先画的;于是随机但互斥地只把数字填进某一个角,和真实数据一致。
Figure 2 · MNIST 角落 · 数据构造(上)与各模型样本(下)
Figure 2 MNIST corners 多模态实验
11

解法 · 用链式法则逐像素生成,让像素互相协调

自回归图像模型的直觉
1 · 先规定像素顺序 123456 789101112 2 · 预测当前像素时只能看过去 i 蓝色可见,灰色不可偷看 3 · 两种实现 PixelRNN RNN 隐状态传递上下文 按行 / 列扫过图像 表达强,但速度较慢 PixelCNN masked convolution 只看已生成像素 训练并行,采样逐像素
关键转变:像素不再各自投票,而是一个接一个、互相参考地学“下一个像素的概率分布”。
为什么叫自回归
先生成前面的像素,再把它们作为条件预测下一个像素。
为什么不再糊
每一步输出概率而非唯一数值,且参考已画像素;不同采样路径得到不同但协调一致的高清结果。
和超分的关系
原始 PixelCNN 是图像先验;本文把低清图 x 加进条件里,变成条件生成。
12

文献定位 · 三个台阶之后,本文落在相关工作的哪个缺口

插值 / 先验 / patch
bicubic · sparsity / GMM · patch dictionary
速度快、可解释;但高频细节依赖手工假设或近邻检索。
CNN 回归
SRCNN · VDSR · SRResNet
pSNR / SSIM 持续提升;但 MSE 倾向学习“平均脸”。
感知 / GAN
perceptual loss · adversarial loss
感知损失是有效改进;GAN 更锐利但不稳,且难给概率解释。
自回归生成
PixelRNN · PixelCNN
能用 likelihood 覆盖多种样本;关键是接入低清条件 x。
本文定位:保留 CNN 条件信息 + PixelCNN 像素先验
p(y_i | x, y_<i) · 把高倍超分改成可采样的条件分布
研究缺口:条件分布
是否强依赖低清输入 x 是否覆盖多种合理答案 单一 多样 插值 / patch 利用 x,但偏确定 CNN 回归 指标高,易平均 perceptual loss 减轻模糊 GAN 锐利但不稳 PixelRNN PixelCNN 概率图像先验 本文要补的缺口 既看低清图,也能采样多解 目标:条件化的概率超分模型
PART 02 / 04

方法

条件网络 + 先验网络 · 一个看全局、一个管细节,logits 相加
14

动态演示 · 低清 x 管全局,已画像素管连贯

逐像素生成高清图 · 按行从左到右、自上而下
第 0 / 144 像素
当前像素 已画区 = 先验输入 y<i 未画
低清输入 x → Aᵢ(x)
每一步都给当前像素一个全局结构提示
x 正在参与每一步
当前像素的概率分布 p(yᵢ | x, y_<i)
蓝线 Aᵢ(x):低清图提示这里大致该多亮;青线 Bᵢ(y_<i):已画区提示怎样接得自然。两组 logits 相加再 softmax,按柱高抽一档填入红框。
x 不是摆设:它像草图,锁住脸的位置与明暗轮廓;先验网络再沿着已画部分补连贯细节。关掉 x 重跑,结果会失去全局结构并逐渐漂移。
15

从链式法则到 PixelCNN · 生成单位、顺序与因果掩码

链式法则是恒等式(对任意分布都成立),不是模型假设
$$\log p(y\mid x)=\sum_{i=1}^{M}\log p(y_i\mid x,\,y_{\lt i})$$
模型的自由度只有两处:① 生成顺序;② 怎么建模每个条件 $p(y_i\mid x,y_{\lt i})$。PixelCNN 给出一种具体选择。
生成单位:$y_i$ 是一个 sub-pixel
$y_i$ 是单个颜色通道的值,$y_i\in\{0,\dots,255\}$(256 个候选)。不是一次预测完整 RGB 像素,而是逐通道、逐 256 类地预测。
顺序:光栅 + R→G→B
$i$ 先按光栅扫描遍历空间位置,每个像素内 R、G、B 三通道也依次生成。32×32 彩图共 $M=32\times32\times3=3072$ 个 sub-pixel。
为什么能并行训练又"不偷看未来":masked convolution
生成单位:1 像素 → R/G/B 三通道 → 每个 256 选 1 一个像素 R G B R → G → B 依次 当前 sub-pixel 的概率 256 个候选 (0–255),softmax 后采样一个 因果掩码:卷积核遮住"当前及之后" 可见 = y<i(上方各行 + 当前行左侧) 当前要预测的 y_i 掩码 = 0(当前之后 = 未来,看不到) → 卷积核把"当前及之后"的输入置零,   所以 B_i 只依赖 y<i。 训练时所有 i 的条件可一次并行算出, 又不会泄露未来。
16

概率输出的最后一步 · logits 是打分,softmax 把打分变成概率

网络不会直接说「像素值是 128 的概率 70%」:它先给每个候选打分(logits),softmax 再把分数换算成概率,最后从概率里决策(采样或贪心)一个值。
三个候选颜色的小例子:logits 相加 → softmax
候选颜色 →
条件网络 $A_i(x)$ −121
先验网络 $B_i(y_{\lt i})$ 11−1
相加 logits $A_i+B_i$ 030
softmax 概率 4.5%90.9%4.5%
本质 · 只有「分数差」决定概率:$p_k/p_j=e^{z_k-z_j}$,所以给所有 logits 同时 +10([0,3,0]→[10,13,10])概率完全不变;softmax 后才落在 0–1、和为 1。名字源于二分类的对数优势 $\log\frac{p}{1-p}$。
softmax 后的概率 4.5% 90.9% 4.5%
三步:打分 → 概率 → 决策
① logits:softmax 前、用来比较各候选未归一化相对分数(log 域),可正可负、不是概率、不和为 1。
② softmax:先 exp 再归一化,把分数变成和为 1 的概率。
③ 决策:从概率分布里采样一个颜色值;也可贪心取概率最大的值(论文两者都讨论)。
为什么两支网络的 logits 能相加
① 结构上:$A_i(x)$ 与 $B_i(y_{\lt i})$ 都是对同一组 256 个候选、按相同顺序输出的 256 维 logits —— 所以能逐项相加(并非任意两个网络都能加)。
$$p_k=\frac{e^{A_k+B_k}}{\sum_j e^{A_j+B_j}}=\frac{e^{A_k}\,e^{B_k}}{\sum_j e^{A_j}\,e^{B_j}}$$
② 直觉上:$\mathrm{softmax}(A+B)\propto e^{A}\odot e^{B}$($\odot$=同一类别逐项相乘,非点积)—— 等于合并两边证据:两支同时看好的候选概率才高。
注(严谨):两支网络联合训练,各自输出不一定是分别校准好的独立概率。
17

网络结构 · 两支网络给 256 类打分(logits),相加后 softmax

论文 Figure 3 · 后期融合架构(含自回归反馈)
Figure 3 架构:先验网络与条件网络的 logits 相加
先验网络看 HR 前缀、条件网络看 LR,各出 logits → → 采样新像素。虚线=自回归反馈:已采样的 HR 像素回流给先验网络,成为下一步的 y_<i。
① 条件网络 · 看低清 $x$(SRResNet 风格)
$x$ → 18–30 个 ResNet 块 → 转置卷积上采样到 32×32 → 1×1 卷积 → $A_i(x)\in\mathbb{R}^{256}$。管全局结构(朝向、轮廓)。
② 先验网络 · 看 HR 前缀 $y_{\lt i}$(Masked Gated PixelCNN)
$y_{\lt i}$ → 20 个 gated 块、每层 32 通道(masked 卷积)→ $B_i(y_{\lt i})\in\mathbb{R}^{256}$。管局部纹理(边缘、阴影延续)。
后期融合(late fusion)
$$p(y_i\mid x,y_{\lt i})=\mathrm{softmax}\!\big(A_i(x)+B_i(y_{\lt i})\big)$$
两支对同一组 256 候选各出 logits → 相加 → softmax(logits / softmax 见上一页)。
⚠ 主论文只给概要架构,完整层数/通道/超参见 supplementary material;输出是完整的 p(yᵢ | x, y_<i)(256 类),不是无条件的 p(yᵢ)。
18

训练 · teacher forcing、条件被忽略,与辅助目标

训练 · teacher forcing
先验网络读的是真实高清前缀 $y^*_{\lt i}$(不是自己生成的)。配合 masked 卷积,一次并行算出全部 sub-pixel 的条件分布。
推理 · 采样
先验网络读的是模型自己采样出的前缀 $y_{\lt i}$;只能逐 sub-pixel 串行地生成。
条件网络为什么会被忽略:当前 HR 像素与之前 HR 像素的统计相关性,强过它与低清 $x$ 的相关性 → 先验网络天然强势,条件网络(看 $x$ 那支)梯度微弱、被淹没 → 结果不忠于输入
对策:除了「合起来对」,再单独要求「只用条件网络也要对」——给它一份独立监督。
训练最大化对数似然目标 $O$(损失即 $L=-O$)。每个 $\mathbf{1}[y_i^*]^{\top}z-\mathrm{lse}(z)$ 就是一个 sub-pixel 的对数似然(=负交叉熵)。
朴素目标 $O_1$ · 只考合并后的分布
$$O_1=\sum_i \mathbf{1}[y_i^*]^{\top}(A_i+B_i)-\mathrm{lse}(A_i+B_i)$$
只看 $A_i+B_i$。先验项够强时,条件网络 $A_i$ 可以偷懒
改进目标 $O_2$ · 给条件网络再加一份监督
$$O_2=O_1+\underbrace{\textstyle\sum_i \mathbf{1}[y_i^*]^{\top}A_i-\mathrm{lse}(A_i)}_{\text{只用条件网络 }A_i\text{ 再算一次}}$$
新增项只用 $A_i(x)$ 去预测真实颜色,逼条件网络自己也能从 $x$ 解释结构。
符号
$\mathbf{1}[y_i^*]^{\top}z$:用真实颜色的 one-hot 选出真实类别对应的那个 logit。 $\mathrm{lse}(z)=\log\sum_k e^{z_k}$:softmax 的归一化项(log-sum-exp)。
19

采样与计算 · 逐通道采样、温度 τ 与计算代价

采样过程 · 逐项串行
逐 sub-pixel 循环:采一个 → 喂回网络 → 采下一个;每个像素的 R、G、B 三通道也依次采样。
训练并行 · 推理串行
训练 · 并行 masked 卷积一次算全部条件 推理 · 串行 逐 sub-pixel 采样,必须串行
计算代价:32×32 采样约需 40 秒——朴素实现每生成一个 sub-pixel 都把整图重新卷积一遍;缓存中间状态可显著加速。训练侧用 masked 卷积可并行算出全部条件。
温度 τ 除在 logits 上再 softmax,控制分布尖锐度:
$$p_\tau(y_i\mid x,y_{\lt i})=\mathrm{softmax}\!\Big(\tfrac{A_i(x)+B_i(y_{\lt i})}{\tau}\Big)$$
同一组 logits,不同温度 → 不同尖锐度
τ → 0 贪心 · 取最大类 τ = 0.85 论文最佳 0.8–0.9 τ = 1.0 自然但高频多
怎么选 τ
τ → 0:趋近 greedy decoding(取概率最大那类),并非严格令 τ=0。
τ = 1.0:较自然,但常出现多余高频内容
τ = 0.8–0.9:论文实验中质量通常最好
PART 03 / 04

实验与评估

画得像不像,让人来判断 · 传统指标在高倍超分下集体失灵
21

实验协议 · 数据、训练配置、基线与评估

① 数据与任务
CelebA
中心裁剪的名人人脸
LSUN Bedrooms
卧室室内场景(验证不止适用人脸)。
双三次插值构造训练对
低清 $x$:8×8 → 高清 $y$:32×32(边长 ×4、像素 ×16)。
注:双三次插值只用于从高清生成低清输入,并非模型的超分方法。
② 训练与基线
训练配置(主文)
TensorFlow · 8 GPU · 同步 SGD · 端到端训练。
batch / 学习率 / 步数:主文未报告,见 supplementary。
Nearest N. · 控制实验
训练集低清图按 L2 找最近邻 → 返回其高清版。检查模型是否只是记忆训练集
ResNet L₂
架构≈条件网络;预测相对双三次结果的残差,用 MSE 训练。
GAN
损失 = 0.9×L1 一致性 + 0.1×对抗仅人脸数据集比较。
③ 评估协议
相似度 · 越高越好
pSNR · SSIM · MS-SSIM。
一致性 · 越低越好
把生成高清图重新双三次降采样,与原低清 $x$ 求 L2 距离
人类评价 · 强制二选一
50% Fooled = 生成图与真实图无法区分
⚠ 论文主文仅报告 TensorFlow、8 GPU 同步 SGD 等概要配置;batch size、学习率与训练步数需参考 supplementary material,本页不作推测
22

定性结果 · 8×8 还原出可信的人脸与卧室

Figure 1 · CelebA 人脸
人脸超分结果
Figure 4 · LSUN 卧室
卧室超分结果
模型合成出真实的发丝、皮肤与材质,而非模糊的平均脸。
中列为模型采样,右列为真实图 — 两者气质相近但并不相同,正是多模态该有的样子。
人脸与卧室共用同一套逻辑,说明方法不依赖特定领域先验。
23

多样性 · 同一张低清图采样出不同的高清结果

左列是同一个低清输入,右侧四列是 τ = 0.8 下的多次采样
这正是目标
每次采样都给出一个清晰、可信但彼此不同的解 — 模型覆盖了多模态分布,而不是塌缩到单一答案。
与 GAN 的区别
对数似然训练不会模式崩溃,因此多样性来得自然、可控。
Figure 5 · 左:低清输入 · 右四列:τ=0.8 的多次采样
Figure 5 采样多样性
24

模型横向对比 · “指标好”与“看着好”的反直觉错位

Figure 6 · 各方法对比(图下数字为负对数概率 NLL,越小=模型认为概率越高)
Figure 6 各超分方法对比
反直觉:NLL 最低(模型最“自信”)的恰是 bicubic 与贪心解码 — 画质却最差、最模糊。可见似然/常规指标并不等于感知质量
25

定量指标 · pSNR / SSIM 与人眼判断脱节

Table 1 (上) · CelebA 人脸
CelebApSNRSSIMMS-SSIM一致性% Fooled
Bicubic28.920.840.760.006
Nearest N.28.180.730.660.024
ResNet L₂29.160.900.900.0044.0
GAN28.190.720.670.0298.5
本文 τ=1.029.090.840.860.00811.0
本文 τ=0.929.080.840.850.00810.4
本文 τ=0.829.080.840.860.00810.2
Table 1 (下) · LSUN 卧室
LSUNpSNRSSIMMS-SSIM一致性% Fooled
Bicubic28.940.700.700.002
Nearest N.28.150.490.450.040
ResNet L₂28.870.740.750.0032.1
本文 τ=1.028.920.580.600.01617.7
本文 τ=0.928.920.590.590.01722.4
本文 τ=0.828.930.590.580.01827.9
pSNR/SSIM:回归与 bicubic 最高。% Fooled:本文最好,说明传统指标不等于感知质量。
26

人类感知评估 · 最高骗过 27.9% 的观察者

评估协议
众包被试看到一张真图和一张模型输出,限时 1 秒回答“哪张是相机拍的”。若模型足够真实,被试只能随机猜,理论上 50% 会被模型骗过。
WORKERS
283
名众包工人
RANDOM
50%
完全分不清的上限
这页的重点不是“27.9% 已经完美”,而是 感知质量排序与 pSNR/SSIM 排序明显不同:传统指标高的回归模型,骗不过人眼。
% Fooled · 被误认为真实照片的比例
条形越长,代表样本越接近人眼真实感;虚线为 50% 随机猜测上限。
27.9%
本文 LSUN · τ=0.8
50% 随机猜测 0 20 40 50 ResNet L2 GAN 本文 · CelebA 本文 · LSUN 2-4% 8.5% 11.0% 27.9% 约为 GAN 的 3.3 倍
PART 04 / 04

总结

贡献 · 局限 · 留给后来者的思想遗产
28

批判性讨论 · 来自 Hacker News 与同行的质疑

质疑一 · 脑补 ≠ 取证
它是在合成细节,不是提取真相;绝不能用于身份识别 / 取证
质疑二 · 结果仍是「玩具」
输出仅 32×32;与后续 GAN 路线相比,画质并不惊艳。
质疑三 · 对比不够强
GAN 基线较弱;还需要与 SRGAN 等强基线正面对比。
质疑四 · 说服力与细节
合成信息的有效性论证仍弱,细节经不起严格审视。
我的判断:价值在于把超分表述为概率多模态问题,并提醒我们反思传统指标。
29

贡献 · 局限 · 思想遗产

贡献
  • 把高倍超分刻画为多模态预测
  • 像素递归生成清晰、多样样本
  • 辅助损失防止条件被忽略
  • 证明 pSNR/SSIM 与感知质量脱节
局限
  • 采样 — 朴素实现一张 32×32 约 40 秒(二次复杂度)
  • 分辨率仍很低(32×32),距实用尚远
  • 骗过率最高 27.9%,离 50% 的“完全可信”仍有距离
  • 本质是「脳补」而非恢复 — 生成的是合理猜测,不能用于取证 / 身份识别
思想遗产
  • 自回归 + 条件融合成为条件生成的通用范式
  • “别在像素上求平均,对分布采样”影响后续生成模型
  • 对评估指标的反思,呼应了 感知度量与人类评估的兴起
一句话总结:超分不是“恢复”,而是合成可信的一种可能
Dahl, Norouzi & Shlens · Pixel Recursive Super Resolution · ICCV 2017 · 谢谢聆听