雷军强推:小米造最强超分辨率算法,现已开源
本篇是基于 NAS 的图像超分辨率的文章,知名学术性自媒体 Paperweekly 在该文公布后迅速跟进,发表分析称「属于目前很火的 AutoML / Neural Architecture Search,论文基于弹性搜索(宏观+微观)在超分辨率问题上取得了非常好的结果。这种架构搜索在相当的 FLOPS 下生成了多个模型,结果完胜 ECCV 2018 明星模型 CARNM,这应该是截止至 2018 年可比 FLOPS 约束下的 SOTA(涵盖 ICCV 2017 和 CVPR 2018)。
而达到这样的效果,论文基于一台 V100 用了不到 3 天时间。需要指出的是,该项技术具有一定的普适性,理论上可以应用于任何监督学习,值得我们关注和学习。」
作为计算机视觉中的经典任务,单帧超分辨率(SISR)旨在基于低分辨率图像重构出对应的高分辨率图像。目前大多数 SISR 算法都借助深度学习的非线性拟合能力,并大幅超越了传统视觉算法。直观而言,图像超分辨率是一种提炼并扩展图像信息的方法,模型需要根据图像的整体语义信息重构出欠缺的细节。因此与一般的图像锐化或清晰度调整不同,图像超分辨率任务有着更高的要求。
目前已有的超分辨率模型大多数都是人工设计的,它们很难进行压缩或者微调。与此同时,神经架构搜索已经在分类任务中取得了极好的效果。根据这一趋势,Chu et al., 2019 提出了使用强化遗传搜索方法处理 SISR 任务,该方法优于 VDSR [Kim et al., 2016a] 等流行网络。
在该论文中,作者基于弹性神经架构搜索探讨 SISR 任务,提出的方法已经达到与 CARN 和 CARN-M 相当的效果。作者表示他们最主要的贡献可以总结为以下四点:
- 发布了几种快速、准确和轻量级的超分辨率架构和模型,它们与最近的当前最优方法效果相当;
- 通过在 cell 粒度上结合宏观和微观空间来提升弹性搜索能力;
- 将超分辨率建模为受限多目标优化问题,并应用混合型控制器来平衡探索(exploration)和利用(exploitation)。
- 生成高质量模型,其可在单次运行中满足给定约束条件下的各种要求。
此外,研究者还开放了预训练的模型和评估代码,他们在 GitHub 中提供了 FALSR A、B 和 C 三个预训练模型,同时也提供了一些示例数据集,包括 B100、Set14 和 Urban100 等。发布的模型基于 TensorFlow。如果想要使用预训练模型看看效果,直接复制 GitHub 项目,并运行以下命令行就行了:
python calculate.py --pb_path ./pretrained_model/FALSR-A.pb --save_path ./result/
- 项目链接:https://github.com/falsr/FALSR
流程架构
与大部分 NAS 方法类似,本研究提出的方法包含三个主要模块:弹性搜索空间、混合模型生成器和基于不完全训练的模型评估器。
与 [Lu et al., 2018; Chu et al., 2019] 类似,本研究也使用 NSGA-II [Deb et al., 2002] 来解决多目标问题。但该研究的特点在于,它会使用混合型控制器和基于 cell 的弹性搜索空间(可支持宏观和微观搜索)。
该研究在处理超分辨率任务时考虑了三个目标:
- 反映模型性能的量化度量指标(PSNR)
- 评估模型计算成本的量化度量指标(mult-adds)
- 参数量
此外,该研究还考虑了以下约束:
- 满足人类视觉感知的最小 PSNR
- 资源限制下的最大 mult-adds
弹性搜索空间
本研究的搜索空间旨在执行微观和宏观搜索。微观搜索用于在每个 cell 的搜索空间的中选择有潜力的单元,可看作是特征提取器。而宏观搜索旨在搜索不同 cell 的跳接,其作用是结合选定层级的特征。此外,研究者使用 cell 作为最小搜索元素有两个原因:设计灵活性、通用的表征能力。
通常,超分辨率任务可分为三个子步骤:特征提取、非线性映射和重建。由于大部分深度学习方法主要关注第二部分,因此该研究将其搜索空间设计用于描述非线性映射,其他部分保持不变。图 1 展示了该研究中提出的超分辨率任务主要基础结构。一个完整的模型包括预定义的特征提取器(具备 32 个 3 × 3 卷积核的 2D 卷积)、来自微观搜索空间的 n 个单元块和来自宏观搜索空间的跳接、上采样和重建。
图 1:本研究采用的基础超分辨率神经架构(cell 间的箭头表示跳接)。
图 2:控制器结构。
与当前最优超分辨率方法的对比
该模型训练完成后,研究者在常用超分辨率任务测试数据集上将其与当前最优方法进行了对比(见表 1 和图 5)。公平起见,本研究仅考虑 FLOPS 相当的模型。因此,太深和太大的模型(如 RDN [Zhang et al., 2018b]、RCAN [Zhang et al., 2018a])均不包括在内。研究者按照惯例选择 PSNR 和 SSIM 作为度量标准。对比在两倍超分辨率任务上进行,所有 Mult-Adds 均基于 480 × 480 的输入衡量。
表 1:在 ×2 超分辨率任务上对比本文提出的方法和当前最优方法。
图 5:FALSR-A、FALSR-B、FALSR-C(鲑红色)vs. 其他模型(蓝色)。
在 FLOPS 相当的模型对比中,本研究提出的 FALSR-A 模型优于 CARN [Ahn et al., 2018](图 3)。此外,FALSR-A 模型还在四个数据集和三个目标上超过 DRCN [Kim et al., 2016b] 和 MoreMNAS-A [Chu et al., 2019]。它的 PSNR 和 SSIM 值高于 VDSR [Kim et al., 2016a]、DRRN [Tai et al., 2017a] 等,且 FLOPS 低于后者。
研究者还创建了一个更轻量级的版本——FALSR-B(图 4),它超越了 CARN-M,这意味着更少 FLOPS 与参数量的情况下,FALSR-B 的得分堪比甚至超越 CARN-M。此外,它的架构更吸引人,连接之间的复杂度介于稀疏和密集连接(dense connection)之间。这表示密集连接不总是信息传输的最优方法。来自更低层的无用特征可能会给高网络层重建超分辨率结果造成麻烦。
论文:Fast, Accurate and Lightweight Super-Resolution with Neural Architecture Search
论文链接:https://arxiv.org/abs/1901.07261
摘要:深度卷积神经网络在超分辨率领域取得了惊人的结果。大量研究聚焦于使用更深的网络改进峰值信噪比(PSNR),这在资源有限时非常不友好。因此对图像重建能力和模型简洁性之间的权衡非常重要。近来的研究努力以手动方式最大化二者之间的平衡,但我们的方法能够通过神经架构搜索自动达到同样的目标。具体来说,我们使用多目标方法处理超分辨率问题。此外,基于结合了进化计算和强化学习的混合控制器,我们提出了支持微观搜索和宏观搜索的弹性搜索策略。定量实验表明:在 FLOPS 相当的情况下,我们的生成模型优于大部分 SOTA 方法。