小米造最强超分辨率算法 | 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
每天都有数以百万计的图片在网络上被分享.储存,用户借此探索世界,研究感兴趣的话题,或者与朋友家人分享假期照片.问题是,大量的图片要嘛被照相设备的像素所限制,要嘛在手机.平板或网络限制下被人为压缩,降低 ...
随机推荐
- KiCad 如何画板框
KiCad 如何画板框 一块 PCB 最开始就是画板框. 设置工作到 Edge.Cuts 点菜单放置 -> 线(L) 板框画好.
- https ssl 请求过程详解
http 协议:http 协议是一种无状态,短链接的 通信协议,http 协议建立在 tcp 协议之上. http 协议 分成 三个 部分 请求行,请求头,请求体 请求行: 就是访问的地址 ( 包含 ...
- MySQL锁机制&&PHP锁机制,应用在哪些场景中呢?
正文内容 模拟准备--如何模拟高并发访问一个脚本:apache安装文件的bin/ab.exe可以模拟并发量 -c 模拟多少并发量 -n 一共请求多少次 http://请求的脚本 C:\phpStudy ...
- Java变量的初始值
Java中的变量如果没有赋值,成员变量默认被初始化,局部变量则不会. 对于成员变量 int a; // a的初始值为0 如下例中的成员变量a,b,c,d public class Va ...
- max_result_window
PUT http://192.168.1.12:9200/_settings { "index": { "max_result_window": "1 ...
- 基于tornado的文件上传demo
这里,web框架是tornado的4.0版本,文件上传组件,是用的bootstrap-fileinput. 这个小demo,是给合作伙伴提供的,模拟APP上摄像头拍照,上传给后台服务进行图像识别用,识 ...
- Excel技巧--空白处补零
当我们有一表格,而表格的空白单元格要补零时,如下图: 那么手动添加零比较麻烦,特别是行数很多时.可以用如下方法: 1.使用“替换”功能: 查找内容为空,替换处填写0,然后点击全部替换即可. 2.使用定 ...
- Windows 消息【二】窗口函数
前一篇文章讲到非队列消息会直接把消息Dispatch到窗口函数上,窗口函数长什么样? //就是一个大case分支 //要想拦截消息,override窗口函数是一个办法! procedure TCust ...
- ubuntu-docker入门到放弃(五)docker网络管理
查看docker宿主机的网卡信息我们会发现,有一个docker0的网卡,这个网卡就是用于跟docker容器进行通讯的,这个网段跟我们docker容器的网段是一样的: #ifconfig docker容 ...
- php大量数据 10M数据从查询到下载 【内存溢出,查询过慢】解决方案
功能描述:做数据导出 功能分析:1.采用csv的格式,因为csv的格式比excel小 2. 3W条数据,100个字段需要全部导出 开始 直接查询 //此处使用的laravel框架,具体含义一看就懂 t ...