1. ECCV 2020底层视觉论文全景:这几条主线值得重点关注
图像重建和底层视觉,简单说就是把一张被搞坏的图“救回来”——模糊了想变清晰,下雨了想去掉雨线,雾天看不清路想除雾,噪点多了想降噪,分辨率低了想放大。ECCV 2020在这一块一口气放出了大量工作,我花了两周时间把能看到的相关论文都过了一遍,整理下来发现整体脉络非常清晰:一方面超分辨率和去噪这两个老牌方向仍然是大头,另一方面去雨、去雾、去模糊这些细分赛道也开始朝着“更真实场景、更鲁棒模型”的方向走。
这篇汇总不是单纯列论文名字,我会按照方向把关键工作拆开讲,包括每篇的核心思路、模型设计上的亮点、有没有开源代码、以及我用个人视角给出的阅读优先级。适合正在找论文素材的研究生、刚入门底层视觉的工程师、还有想快速了解2020年这个领域格局的朋友参考。
在读这份汇总前有几个背景需要交代清楚。ECCV是计算机视觉的三大顶尖会议之一,2020年这届由于特殊原因改成线上举行,但论文质量和数量都没有缩水。底层视觉这个赛道在ECCV里的比例一直很稳定,超分、去噪、去模糊、去雨、去雾这些任务各有各的难点:超分关注高频细节的重建,去噪要平衡平滑和保边,去雨和去雾面对的则是复杂的物理退化模型。很多方法表面上看不一样,底层思路却互相借鉴,比如注意力机制几乎渗透进了所有方向,退化模型估计也成了大家绕不开的公共课题。
我在下面会按方向分章节展开,每个方向里先讲整体趋势,再拆代表论文,最后给开源情况和我的理解。这样你在找某个具体方向时可以直接跳到对应章节,不用从头翻到尾。
2. 超分辨率:注意力机制与退化模型的博弈场
超分在ECCV 2020里依然是投稿和讨论最密集的方向。合成数据上大家已经做到很高的PSNR了,所以这一年的重心明显往两个方向偏移:一是想办法让模型“看清楚”哪里该重点恢复,二是尝试让模型在真实世界的未知退化下依然能打。
2.1 通道注意力与二阶统计量:从一阶信息到全局统计的跃迁
传统超分模型在特征提取时基本把所有通道一视同仁,但不同通道对应的频段信息重要性差别很大。ECCV 2020里有不少工作沿着注意力这条路深化。其中有一类思路让我印象很深:把原本只算一阶统计量的通道注意力,升级成利用二阶统计量做通道描述。
具体做法是把特征图先做空间维度的池化,再计算协方差矩阵,用这个矩阵刻画通道之间的相关性,最后通过矩阵归一化和卷积层生成注意力权重。相比之前的SE模块只算平均池化,这种方式能捕捉到更丰富的全局统计信息。
用个生活化的类比:一阶统计量好比只看一个人平均每天吃几顿饭,二阶统计量则是连这周每天吃了什么、营养搭配如何都记下来,信息量完全不在一个量级。代价是协方差计算的额外开销,作者用迭代方法做了近似,把额外计算控制在了可接受范围内。实测在几个标准基准集上都比当时的主流方案要好,视觉上高频纹理边缘更干净。
如果你在做超分方向的实验,我的建议是不要盲目堆注意力模块。先在自己数据集上跑一下基线,再看是哪个频段恢复得最差,再决定注意力应该放在哪一层。很多人在通道注意力上叠加空间注意力,结果模型参数暴涨、训练不稳定,收益却很小,这种“为了加而加”的做法我没有一次看到正收益。
2.2 轻量级超分:移动端部署的关键一战
另一个明显趋势是轻量化。很多落地场景里超分模型要跑在手机或边缘设备上,算力和内存都卡得很死。ECCV 2020里出现了不少面向轻量级超分的设计,共同点是放弃堆大模型,转而在信息复用上做文章。
比如有一篇把递归学习和通道注意力结合起来的方案,通过一个递归块反复提炼特征,同时用通道注意力筛选重要特征,在参数量的控制上做得很极致。还有一个思路是设计了一种新的特征混合方式,让不同层级的特征在信息融合时能互相补充,同时控制计算量增长。
这些工作给我的启发是:在轻量级场景下,决定模型上限的往往不是网络有多深,而是特征在层与层之间流动时损耗了多少信息。信息复用得好,小模型也能有不俗的表现。如果你将来要做移动端超分,建议先明确算力预算(FLOPs、参数量、内存占用),再在这个约束下选骨架,而不是先选一个大模型再想办法压缩,那样往往两头不讨好。
2.3 真实图像超分与盲超分:从理想退化走向现实退化
真实超分是这一年的重点议题。传统超分数据集基本都是双三次下采样生成的,模型在真实低分辨率图像上效果明显打折,原因很简单:真实图像的退化过程包含了模糊、噪声、压缩伪影等多种因素,远不是简单下采样能模拟的。
有几篇工作瞄准了这个问题。一个思路是在训练时对HR图像施加随机模糊核加噪声的退化组合,让模型见过更广泛的退化空间;另一个思路是引入退化估计分支,先预测图像的模糊核和噪声水平,再把这些估计结果作为条件信息指导重建;还有工作通过对比学习让模型在面对不同退化时能提取更有判别力的特征。
我在实际测试中看到的效果差异是这样的:在标准合成的低分辨率图上,传统模型还能靠PSNR数字撑住场面;一旦换成手机实拍的模糊照片,盲超分模型的视觉优势就非常明显。锐利边缘、真实纹理、没有振铃伪影,这是合成测试集上看不到的差距。
所以如果你要做真实图像超分,一定不要只用双三次下采样做训练集。建议至少加入模糊和噪声的随机组合,甚至直接采集真实配对数据。虽然真实配对数据很难获取,但哪怕用少量数据做微调,也能带来肉眼可见的改善。
3. 图像去噪:真实噪声建模与结构保护的并进
去噪这个方向在ECCV 2020也颇为活跃。传统去噪研究大多基于高斯噪声假设,但真实相机噪声的分布要复杂得多,于是不少工作开始从“拟合噪声分布”转向“建模真实噪声形成过程”。
3.1 真实噪声建模:从模拟噪声走向物理噪声模型
有一篇论文提出的思路是建立更接近物理成像过程的噪声模型,把增益、散粒噪声、读取噪声等多个环节都纳入考虑。这种做法的好处是训练出来的模型在真实图像上更鲁棒,而不是只对加了高斯噪声的测试集有效。
与之相配合的,是很多工作开始在真实噪声数据集上评测和微调。合成噪声只能作为起点,最终比拼的还是在真实照片上的视觉效果。如果你做去噪方向,我的建议是把真实噪声数据集的评测当作必修课,否则你很难判断自己的模型是不是只学了高斯噪声的“皮毛”。
3.2 结构保护与自监督去噪的兴起
真实场景去噪还需要面对一个矛盾:去噪越彻底,细节越容易被平滑掉。所以有工作专门研究如何在去噪的同时保护结构信息,比如通过边缘检测分支引导重建,或者在损失函数里加入结构相似性约束。这类方法在低光照照片上特别有价值,暗部区域的纹理一旦被磨掉,整张照片就会显得很“塑料”。
还有一条相当重要的分支是自监督去噪。传统去噪训练需要成对的干净图和带噪图,但干净图在实际场景中很难获得。有工作利用盲点网络的设计思路,让模型在不依赖配对数据的情况下学习去噪。这类方法的现实意义很大,因为很多实际场景根本没有干净参考图可用。
一个实际操作中的细节:用盲点网络训练时,感受野的控制非常关键。感受野太小,模型学不到足够的上下文信息;感受野太大,盲点假设容易被破坏。我建议先在中等感受野下跑通训练流程,再根据结果调感受野大小,不要一开始就上大网络、大感受野。
4. 去雨与去雾:从合成模型到物理模型的跨越
去雨和去雾在ECCV 2020的工作量虽然不如超分多,但质量上不乏亮点。这两个方向的共同痛点是:数据集多是合成生成,与真实雨景和雾景差距不小;退化模型本身的复杂性又让“学一个端到端映射”显得过于天真。
4.1 去雨:从单幅图像到视频时序信息的利用
单幅图像去雨在2020年仍然有新的进展,但更值得关注的是视频去雨的兴起。视频里多了时序维度,雨线在帧与帧之间有一定的随机性,而背景是相对稳定的,这种时序上的不一致正好可以作为分离雨线的线索。
有一类做法是先做视频帧对齐,再在对齐后的特征上做雨线去除。对齐这一步很关键,如果对齐做得不好,后续去雨模块反而会把运动伪影放大。我在实验里发现,视频去雨模型的效果很大程度上取决于对齐模块的鲁棒性,雨势大、运动快的场景尤其考验这一点。
对于单幅图像去雨,这一年的趋势是结合物理模型约束,比如把雨线看作是雨条纹和雨雾的叠加,模型需要分离这两个成分。相比直接端到端学习,这种带物理约束的方法在真实雨图上的泛化能力要好一截。
4.2 去雾:透射率估计的鲁棒性和无监督探索
去雾方面,基于大气散射模型的思路仍然是主流,但ECCV 2020里出现了一些有意思的改进。一方面是在透射率估计上做文章,试图提升模型在多种雾浓度下的鲁棒性,而不是只在训练用的雾浓度范围内有效;另一方面是探索无监督去雾,通过一些精心设计的损失函数,让模型在没有成对清晰图的情况下也能学习去雾。
无监督去雾的思路类似用CycleGAN那一套,但难点在于去雾是一个不适定问题,约束不足时很难稳定收敛。我自己测试过这类方案,确实在浓雾场景下容易出现颜色偏移,需要额外加感知损失或者统计约束才能压住。
如果你在做一个去雾系统,我建议先从最基础的暗通道先验开始,搞清楚物理模型的假设和局限,再考虑换用深度学习方法。在工程落地时,暗通道先验虽然效果粗糙,但它的failure case非常可预测,调试起来反而不难。深度模型效果好,但极端场景下的失效模式你很难提前预料,必须有足够的测试集兜底。
5. 去模糊与图像恢复:退化估计和事件相机的新血液
去模糊在ECCV 2020的工作主要集中在动态场景去模糊,也就是目标在运动、相机也在运动的情况。这类问题中模糊核在空间上是不一致的,传统全局模糊核的假设完全不成立。
5.1 动态场景去模糊:时序信息与多尺度策略
动态去模糊的典型做法是用视频多帧信息辅助当前帧的重建。相邻帧之间的互补信息可以补全被模糊抹掉的细节。这类方法的时间对齐依然是关键,在新的2020年工作中,有人尝试用可变形卷积做显式对齐,也有人把多帧特征直接堆叠起来让网络自己学对齐。
我在阅读时注意到一个共同点:多帧去模糊方法普遍在推理耗时上比较高,而且对帧间运动幅度敏感。如果你面向的应用场景是手持摄影,运动幅度通常不会太大,这类方法表现会比较稳;但如果是车载摄像头这种剧烈抖动的场景,我建议先跑一下基线看看鲁棒性再决定是否采用。
5.2 事件相机与图像恢复的前沿尝试
事件相机是底层视觉里的“新面孔”。它不按固定帧率输出图像,而是根据像素亮度变化异步输出事件流,时间分辨率极高。ECCV 2020里有工作尝试用事件相机来辅助图像重建。事件数据天然对运动敏感,可以把高频时间信息带回到模糊或低帧率的帧上,帮助重建锐利的运动细节。
这个方向的潜力很大,但工程门槛也不低:事件数据的预处理、事件与帧的时间对齐、训练数据的采集都不是常规流程。如果你对这个方向感兴趣,建议先找现成的事件相机仿真器跑通pipeline,再考虑真机数据。
5.3 图像恢复的统一框架与多任务尝试
除了单个任务,ECCV 2020里也出现了一些尝试统一多个恢复任务的工作。比如用一个模型同时处理去噪、去模糊、超分等任务,通过任务条件向量控制模型行为。这类工作的动机很朴素:真实场景的退化往往是多种因素混合的,与其分别训练多个模型,不如学一个多任务统一的模型。
从结果看,统一的模型在每个单独任务上的表现不一定能超过专用模型,但在混合退化场景下优势明显。对于工程应用来说,一个模型解决多类问题,部署和维护成本都要低很多。
我个人的看法是:如果你的产品需求比较专一,比如只做视频超分,那就用专用模型,效果更稳;如果面对的是照片美化这种综合场景,一个统一模型会更有价值。多任务统一框架的思路再过几年会越来越重要,因为真实世界的退化从来没有按论文假设的单一模式发生。
6. 每一篇论文怎么找:开源代码、视频讲解与我的整理方法
我知道很多人看我这种汇总文章,最关心的其实是“论文去哪找、代码有没有”。这里分享一套我自己的整理方法,你要是按这个流程过一遍,速度会快很多。
6.1 官方来源与代码线索的判断标准
论文的官方链接一定以出版社为主,ECCV 2020的论文一般在出版社官方页面都能找到。开源代码的线索通常藏在论文首页或摘要页的“Supplementary”部分,有些作者会在论文首页放一个项目主页链接,里面有代码仓库地址。如果摘要页没有,就搜作者团队的主页,很多实验室会把所有论文和代码汇总在一个页面上。
6.2 复现阅读的优先级:先看开源再看推理过程
如果你是想复现,我建议按以下优先级筛选:
- 有官方开源代码且star数偏高的,优先看;
- 有第三方非官方复现但效果评论不错的,可以辅助参考;
- 没有代码但思路特别契合你当前问题的,精读推理过程并试着自己复现。
在阅读论文时,先看模型结构图,再看损失函数定义,最后看实验设置。很多人一上来就翻实验部分比对PSNR,反而把最重要的设计动机漏掉了。我的经验是:先花10分钟搞懂作者为什么这么设计,再花30分钟看细节,最后用1小时动手复现,效率最高。
7. 开源代码与解析的实用查找技巧:两步走,不踩坑
这一节我专门聊聊大家最常用的找代码方式。我看到不少人在GitHub上直接搜论文标题,结果找到一堆蹭热点的同名项目,里面代码根本没法跑。我自己的做法是两步走。
7.1 GitHub搜索技巧:限定条件与排序
在GitHub搜索时用论文标题里的核心词组,加上Topic或描述里的关键词,可以大大缩小范围。搜索结果的排序不要只看star数,还要看最近是否有更新,长期不更新的项目很可能依赖旧版框架,跑起来全是坑。
更好用的一个方法是:去论文作者的主页或实验室主页,看他们自己列出来的代码地址,这是最权威的开源渠道。很多论文项目会在顶会结束后一两个月才放代码,所以如果你刚看到论文就去搜,很可能没有结果,过阵子再搜一次很正常。
7.2 怎么看懂一篇论文的核心:抽象成输入输出和约束
看懂一篇底层视觉论文,不需要从头到尾每个公式都推导一遍。我常用的方法把任何模型抽象成三个东西:
- 输入是什么(单帧?多帧?是否带退化估计?)
- 输出是什么(重建结果?透射率图?退化参数?)
- 约束是什么(损失函数?物理模型约束?对抗损失?)
把这三个问题搞清楚,论文就理解了一大半。剩下的实验参数、训练策略,都是在为这三个核心服务。你拿这个方法去看ECCV 2020的任何一篇恢复论文,都会觉得清晰很多。
8. 我看到的一些共性规律和未来方向
把ECCV 2020的底层视觉论文整体看下来,有几个共性规律值得拿出来说说。
8.1 注意力机制不是银弹,但确实是提分利器
注意力机制在超分、去噪、去雨这些任务上的提分作用已经被验证很多次了。但注意力和“提分”并不总是线性关系,加得不好反而会带来训练不稳定。关键是要理解你当前模型的瓶颈在哪:是特征通道间的相关性没建模?还是空间位置上没给足权重?对症下药才有用,乱加一通只会让模型更胖。
8.2 退化模型估计:从盲到半盲再到显式建模
大量的工作都在做同一个趋势:不再假设退化是已知的、固定的,而是让模型自己去估计退化情况。无论是盲超分里的模糊核估计、去噪里的噪声水平估计、还是去雾里的透射率估计,本质上都在做同一件事——让模型先“看懂”退化,再想办法“对抗”退化。未来的方向大概率是更细粒度的退化表达和更轻量的估计方式。
8.3 真实数据与合成数据的鸿沟仍然巨大
这是2020年所有底层视觉方向共同面临的尴尬:模型在合成测试集上的数字非常好看,但真实场景里总会有你想不到的退化方式。只靠合成数据训练是远远不够的。解决这个问题没有捷径,要么花大力气采真实配对数据,要么在退化模型设计上做足功夫,把真实退化的多样性尽量覆盖住。
8.4 新硬件数据源:事件相机值得长期关注
事件相机这种新传感器带来的信息维度是传统RGB相机完全不具备的。虽然2020年的工作还处在非常初级的阶段,但底层视觉本质上是在跟信息“较劲”,事件数据正好补上了时间分辨率这块短板。如果你是学生想要发论文,这个方向现在仍然有大量空白可填;如果你是工程人员,可以关注它在中低光照拍摄增强、高速运动去模糊上的应用机会。
9. 泛读建议和精读优先级:我的取舍标准
最后给出一个宏观的取舍标准,毕竟人的时间是有限的。如果你只能精读一小部分论文,我会推荐优先看这些:
- 有开源代码的论文,因为你可以直接跑通看效果,比光读论文理解快得多;
- 主打真实场景的论文,因为它们更接近落地,对你的工程判断更有帮助;
- 方法思路新颖的论文,比如自监督、盲模型估计、事件相机辅助恢复,这类工作更能给你打开新的研究思路。
至于那些只在PSNR上超出零点几分、方法上却没有本质创新的增量工作,可以从泛读变成“只看实验对比表”,把时间省下来跑实验。
我在整理这份列表时最大的感受是:底层视觉在2020年已经不像早几年那样靠堆网络深度就能出成绩了,高质量的数据、合理的物理建模、适合任务的结构设计,才是决定工作价值的关键。如果你现在准备在这个方向做研究或工程项目,别急着复现最新的SOTA,先把这些共性的方法论吃透,后面你自己设计模型时才知道每一步在为什么服务。