APP下载

一种基于神经架构搜索的图像高效超分辨率重建算法

2021-04-07吴臣桓李志强

关键词:微观控制器架构

吴臣桓,杨 欣,李志强

(南京航空航天大学 自动化学院,江苏 南京 211100)

图像超分辨率重建[1-2]旨在恢复退化的图像内容,填补缺失的信息.图像超分辨率重建技术大致可以分为以下3种:①以双3次插值、双线性插值为代表的插值算法,该算法具有速度快的优点,但是重建图像的质量往往较低;②基于重建模型的算法,该算法在上采用倍数较低时拥有不错的效果,但是随着上采样倍数的增加,重建图像的质量会发生显著的降低;③基于学习[4-5]的方法,该算法通过大量的高、低分辨率图像对学习图像从低分辨率到高分辨率的非线性关系,在近年来的研究中取得了巨大的发展,成为主流的研究方向.基于学习的超分辨率重建算法最开始集中在机器学习领域,比如稀疏字典、随机森林等方法被相继提出.近年来,随着深度学习技术的发展,大量的研究转向为数据驱动的深度学习领域.Dong[3]等最先将神经网络应用于图像的超分辨重建,他们的模型SRCNN只包含了3个卷积层,但是效果优于以前非学习的方法.后来的研究利用神经网络做了大量工作,但性能的提升往往伴随着计算成本的急剧上升,计算效率并没有得到提高,这也导致高性能超分辨重建算法很难实际展开应用.对此Chu[8]、Guo[9]等开始将神经架构搜索[10-11]用于高效超分辨率重建的研究.得益于神经架构搜索超参数自动调整,网络不依赖人工设计,解空间大等优点,本文提出了一种基于神经架构搜索的高效超分辨重建算法,相比于其他人工设计的网络,本算法在保证重建图像准确的同时拥有了更高的计算效率.

1 模型结构

1.1 整体结构

图1 模型总体结构示意图

1.2 搜索空间

在神经架构搜索中,搜索空间大致分为链状结构和基于cell的结构,前者代表搜索整个网络结构,后者只搜索一些小的结构,通过堆叠、拼接的方法组合成完整的大网络.采用链式结构时,随着网络深度的增加,搜索空间将按照指数增长,这显然很难在实际中应用,因此本算法采用了cell结构,其内部由多个节点组成,节点之间相互连接形成边,每条边决定节点间的数据采用什么样的运算方式.

考虑到尽可能地使计算量低,小尺寸的卷积核是至关重要的,本算法在表1中给出了针对轻量化模型的搜索空间.

表1 轻量化搜索空间

其中,RCAB表示残差通道注意力模块,ECA表示高效通道注意力机制.

1.3 搜索策略

在神经架构搜索中,常用的搜索策略有随机搜索、遗传算法、贝叶斯算法、强化学习等.本算法采用了强化学习的方法,将整个搜索分为宏观搜索和微观搜索两部分.宏观搜索主要搜索降采样结构在网络中位置,而微观搜索主要搜索cell结构内部节点之间的连接和运算.

1.3.1 宏观搜索

宏观搜索定义了降采样结构的位置关系,具体来说,假设在网络的主干部分设置下采样倍数为2倍,即只存在一个下采样结构,那么对于包含n个cell结构的网络,其位置共有n-1种可能.图2(a)展示了这一搜索的过程,图中红色的箭头代表某一确定下采样结构位置的子网络,即下采样结构位于第一个普通cell结构后,而灰色的箭头代表了下采样结构所有潜在的位置.

1.3.2 微观搜索

微观搜索定义了cell结构内部之间的关系,cell结构内部可以被抽象为由多个节点连接而成的有向无环图.为了构建这个有向无环图,微观搜索需要建立各节点之间的连接关系,并为这些连接分配运算操作.对于每个连接,其可能存在的运算操作如表1所示.

1.4 评价准则

将神经架构搜索应用于图像超分辨重建主要想解决的就是平衡计算量消耗和性能这一矛盾.在本算法中,采用了强化学习中的奖励用来表示这一矛盾关系,强化学习的直觉是让奖励积累尽可能的多.所以在超分辨重建这一任务上,奖励R由计算量Mflops和性能衡量指标MPSNR共同组成,其数学表达式如公式1所示:

R=0.2MPSNR-0.8Mflops.

(1)

1.5 控制器

循环神经网络常常被用作强化学习的控制器.本算法采用了和文献[9]一样的控制器结构,使用长短期记忆网络(LSTM[13])作为宏观搜索和微观搜索的控制器.整个控制器的结构如图2(b)所示.

1.5.1 微观搜索控制器

微观搜索控制器被用来寻找最优的有向无环图,如图2(b)左侧所示.在本算法中,共包含2种cell结构,一种是特征图尺寸不变的普通cell结构,即输入的特征图尺寸与输出特征图尺寸相同,另一种则是分辨率扩大的cell结构,特征图在经过该cell结构后,分辨率放大2倍.在每个cell结构中,包含2个输入节点,4个中间节点以及1个输出节点,每个中间节点可以接受任意前面两个节点的输出作为输入,因此每个中间节点,控制器需要做出2个决策:①选择哪些节点作为输入;②两节点之间形成的边采用什么样的运算操作.这些决策可以被看成一个时间序列,所以LSTM很适合用于去解决这一问题.

图2 控制器网络示意图

1.5.2 宏观搜索控制器

宏观搜索控制器被用来寻找最优的降采样结构位置,如图2(b)右侧所示,假设模型包含了n-1个普通cell,网络级控制器被用来选择在第i个cell后进行降采样操作(0≤i

2 训练及最优结构推断

2.1 网络训练

综上,在控制器被设计好后,对控制器进行训练以期望采样出最优子网络.神经架构搜索采用参数共享的方式.假设子网络的采样次数为S,首先初始化控制器参数θ与共享参数P;然后控制器每一次采样得到子网络α,将该子网络在训练集上进行训练,利用梯度下降的方式更新参数P;完成子网络训练迭代的次数后,在验证集上进行控制器参数的更新,控制器参数更新的公式如式2所示:

(2)

2.2 最优网络结构推理

通过迭代和训练,得到所学习的策略π(·),本算法首先抽样几个候选子网络,然后通过验证集选择一个图像质量评分最高的子网络结构.最后,使用该架构(包括普通cell和上采样cell以及降采样结构的位置)建立SR模型,并将其从头训练.

3 实验

3.1 实验设置

考虑到计算量和性能的兼顾,对于上采样因子为2的超分辨率重建任务,本算法将降采样倍数设置为2,整个网络包含15个cell结构(14个普通cell结构,1个上采样cell结构),Batch-size设置为64.本算法使用Adam优化器作为模型训练的优化方法,其中参数β1=0.9,β2=0.999,ε=10-8.当进行神经架构搜索时,学习率设置为2×10-4.完成搜索后进行最优网络训练时,初始学习率被设置为1×10-4,每迭代2万次进行一次对半的衰减,总迭代次数设置为10万次.训练使用DIV2K作为训练集,在2张Nvidia-2080Ti GPU上完成训练.

3.2 实验结果

本算法共采样了400个子网络,从中选取最优结构.如图3所示,随着控制器参数的更新,采样出的子网络在验证集上的损失逐渐降低,证明控制器使得采样的子网络往最优的方向发展.

图3 神经架构搜索时子网络的损失曲线

在寻找到最优子网络后,对该网络结构进行重新训练以期望得到更好的性能.图4展示了本算法所搜索出的普通cell和上采样cell结构,可以看到其结构是难以通过人工设计所得到的.本算法将训练完成的最优网络同其它深度学习算法做了性能的比较,结果如表2所示,其中Mult-Add表示模型在一幅480×480×3大小的图片上所消耗的加乘计算量.和计算量差别较小的LapSRN相比,本算法在表中所有的测试集的PSNR、SSIM上都取得了不小的优势;CARN、DRRN凭借更大的模型,得到了更好的指标,但是本算法的算力消耗不及其10%.

图4 搜索出的上采样cell和普通cell结构示意图

表2 本算法与其他算法性能和计算量的比较

3.3 视觉效果比较

图5展示了本算法与其他算法在视觉效果上的比较,相比于SRCNN、VDSR,本算法在边缘处更加锐利和准确,纹理清晰自然.

图5 4倍放大因子下本算法与其他算法的视觉效果比较

4 结语

本文针对图像超分辨重建中算力消耗和性能难以平衡这一问题,提出了一种神经架构搜索高效超分辨率重建算法.首先采用全局残差连接提高模型收敛性能;其次在模型的主干部分设计了下采样结构用于缩小特征图尺寸,降低计算量;然后将搜索分为宏观搜索和微观搜索两部分,宏观搜索用于搜索特征图尺寸缩小结构的位置,微观搜索用于搜索两种不同cell结构;最后通过实验比较,证明了该算法的有效性.

猜你喜欢

微观控制器架构
反挤压Zn-Mn二元合金的微观组织与力学性能
三转子式比例控制器设计与内泄漏分析
南京溧水电子3款控制器产品
乡村的“功能”——振兴乡村的“微观”推进
“田间微课堂”创建农机培训全新架构
功能架构在电子电气架构开发中的应用和实践
构建富有活力和效率的社会治理架构
基于NFV的分布式SDN控制器节能机制
微观的山水
企业内部控制信息化系统架构及实现策略