小米造最强超分辨率算法 | Fast, Accurate and Lightweight Super-Resolution with Neural Architecture Search
本篇是基于 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/
流程架构
与大部分 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 方法。
小米造最强超分辨率算法 | Fast, Accurate and Lightweight Super-Resolution with Neural Architecture Search的更多相关文章
- 比SRCNN效果好的传统超分辨率算法汇总
1.基于深度协作表达的人脸图像超分辨率算法研究与应用_百度学术 采用一种深度协作表达算法框架,构造深度的多线性模型 分段拟合高低分辨率图像块之间的非线性关系,本文算法简洁高效,提供了一种新的深度学习模 ...
- 图像超分辨率算法:CVPR2020
图像超分辨率算法:CVPR2020 Unpaired Image Super-Resolution using Pseudo-Supervision 论文地址: http://openaccess.t ...
- 论文笔记:Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells
Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells 2019-04- ...
- Adobe超分辨率算法:SRNTT
论文:Image Super-Resolution by Neural Texture Transfer 论文链接:https://arxiv.org/abs/1903.00834 项目地址:http ...
- 【超分辨率】- CVPR2019中SR论文导读与剖析
CVPR2019超分领域出现多篇更接近于真实世界原理的低分辨率和高分辨率图像对应的新思路.具体来说,以前论文训练数据主要使用的是人为的bicubic下采样得到的,网络倾向于学习bicubic下采样的逆 ...
- 『超分辨率重建』从SRCNN到WDSR
超分辨率重建技术(Super-Resolution)是指从观测到的低分辨率图像重建出相应的高分辨率图像.SR可分为两类: 1. 从多张低分辨率图像重建出高分辨率图像 2. 从单张低分辨率图 ...
- 【超分辨率】—图像超分辨率(Super-Resolution)技术研究
一.相关概念 1.分辨率 图像分辨率指图像中存储的信息量,是每英寸图像内有多少个像素点,分辨率的单位为PPI(Pixels Per Inch),通常叫做像素每英寸.一般情况下,图像分辨率越高,图像中包 ...
- JPEG压缩图像超分辨率重建算法
压缩图像超分辨率重建算法学习 超分辨率重建是由一幅或多幅的低分辨率图像重构高分辨率图像,如由4幅1m分辨率的遥感图像重构分辨率0.25m分辨率图像.在军用/民用上都有非常大应用. 眼下的超分辨率重建方 ...
- Google 超分辨率技术 RAISR
每天都有数以百万计的图片在网络上被分享.储存,用户借此探索世界,研究感兴趣的话题,或者与朋友家人分享假期照片.问题是,大量的图片要嘛被照相设备的像素所限制,要嘛在手机.平板或网络限制下被人为压缩,降低 ...
随机推荐
- Python 读写
读:read(), read(size), readlines() 写:write() 关闭 close() StingIO, BytesIO() 读文本文件 read() f = open('D:/ ...
- 一个类似 Twitter 雪花算法 的 连续序号 ID 产生器 SeqIDGenerator
项目地址 : https://github.com/kelin-xycs/SeqIDGenerator 今天 QQ 群 里有网友问起产生唯一 ID 的方法 有哪些, 讨论了各种方法 . 有网 ...
- ElasticSearch story(二)
调优一个问题,碰到了一个坎:大家看一下下面两个字符串: 2018-10-16 18:01:34.000 abcdewfrwfe 2018-10-16 18:01:50.123 testAmily012 ...
- 在Ubuntu上使用noip动态域名的方法(ddns)
首先,注册一个noip.com的帐号. 注册的步骤见这篇教程:http://www.cnblogs.com/infopi/p/3991407.html 建立目录 第1行进入当前用户的home目录 第2 ...
- 读DataSnap源代码(二)
program Project1; {$APPTYPE GUI} {$R *.dres} uses Vcl.Forms, Web.WebReq, IdHTTPWebBrokerBridge, Form ...
- java集合与包装类
一.集合概述 1 为什么需要使用集合? 引入案例:存储每天产生的新闻. 是要解决数组的局限性(定长),由于数组定长,可能会导致内存浪费或者内存不够. 需要一种技术:能够根据数据量而动态伸缩内存空间一种 ...
- linux od命令详解
Linux od命令 Linux od命令用于输出文件内容.od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来 将指定文件以八进制形式(默认)转储到标准输出.如果指定了多于一个的文件参数 ...
- Linux之chgrp
命令功能: 在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change ...
- ML: 聚类算法-K均值聚类
基于划分方法聚类算法R包: K-均值聚类(K-means) stats::kmeans().fpc::kmeansruns() K-中心点聚类(K-Medoids) ...
- ANTS Performance Profiler和ANTS Memory Profiler
使用ANTS Performance Profiler&ANTS Memory Profiler工具分析IIS进程内存和CPU占用过高问题 一.前言 最近一段时间,网站经常出现两个问题: ...