面向边-端协同的并行解码器图像修复方法

2022-08-19 08:30霍相佐张文东田生伟侯树祥
计算机工程与应用 2022年16期
关键词:掩膜解码器边缘

霍相佐,张文东,田生伟,侯树祥

1.新疆大学 软件学院,乌鲁木齐 830008

2.新疆大学 软件工程技术重点实验室,乌鲁木齐 830008

在移动终端设备上部署图像修复模型,使得图像修复、超分辨率重建、目标移除等应用更加便携、易用。随着5G时代的来临,移动边缘计算(mobile edge computing,MEC)[1]应运而生,其是指在移动网络边缘部署计算和存储资源,为用户提供超低时延、高带宽的IT服务环境和云计算能力。Google、百度、阿里、腾讯等厂家不断加大云-边-端协同网络的投入。边缘云与终端需要紧密协同才能更好地满足各种需求场景的匹配,这样不仅能减少移动终端的计算压力和能耗,还能降低传输时延[2]。因此实现边-端协同的图像修复非常具有研究价值。

现有的图像修复方法可以分为两类,即传统方法和深度学习方法。传统数字图像修复方法的典型代表有Bertalmio 等人[3]提出的一种沿修复边界等照度线方向传播信息的各向异性扩散三阶偏微分方程模型,最先将图像分解应用到图像修复领域。Criminisi等人[4]提出了结合待修复区域的几何结构和邻域置信度确定修复顺序,模拟人工修复图像的过程,实现了图像由缺损边缘渐次向内部修复,使得图像修复的纹理更加合理。师晓波等人[5]提出基于结构连续块和多尺度变换相结合的方法,在壁画修复任务中,有效提升视觉连续性。Simakov等人[6]将匹配块的搜索范围扩大到了单张图像以外,其计算量极大,在实际应用中很难实现。Barnes 等人[7]针对此问题提出了PatchMatch的方法,一种快速邻域算法来加速块搜索的过程,很大程度上解决了计算量过大的问题。然而以上方法仅在图像破损面积很小或是图像本身语义完好的情况下能够取得较好的修复效果。

基于深度学习的方法则通过训练神经网络的方式,生成语义合理的内容,大大超越了传统方法。近年来,Pathak 等人[8]提出了一种基于生成对抗网络(generative adversarial network,GAN)[9]的上下文编码器,生成具有语义信息的样本块对破损区域进行填充。刘昱等人[10]在模型中加入跳跃连接,以增加结构信息的预测能力,在面部图像数据集中提升了图像的补全效果。Iizuka等人[11]提出了一种具有全局和局部一致性的全卷积图像修复网络,处理各种数据集上的高分辨率图像。Yu 等人[12]为了捕获更大范围的纹理,提出了上下文注意力模块,进一步确保生成区域与周围环境的颜色、纹理和语义一致性。然而,其主要是在矩形掩膜上进行训练,并不能很好地对自由形状的破损区域进行修复。为解决此问题,Liu等人[13]提出部分卷积以改善结果,并在不规则掩膜的数据集上训练修复网络,实现了对不规则缺损图像的修复。Zeng 等人[14]采用U-Net 网络结构作为主干,提出了一个金字塔上下文编码器网络,加快了训练中的收敛速度。Sagong 等人[15]提出一种快速图像修复模型,并先后对注意力模块和扩张卷积进行改进,在保证性能的同时显著降低网络参数量。Nazeri等人[16]通过边缘生成器对图像待修复区域边界进行预测,根据预测的边缘信息指导修复,得到更精细的结果。Yu等人[17]提出了一个基于门控卷积的自由形式图像修复模型,取得了更真实的修复效果。然而以上方法需求算力较高,并不适宜在移动终端上部署应用。

随着通信技术、传感器技术的不断发展,边缘计算[18]采用降低服务器和用户间距离的方式减少了网络响应时间和数据传输能耗。张展等人[19]提出一种面向边缘计算的目标追踪应用部署策略,通过任务分割策略将计算任务卸载至边缘云,能够通过终端设备对目标进行追踪,为深度学习模型在终端节点部署提供了新的思路。吴柳青等人[20]提出基于边-端协同的任务卸载资源分配联合优化算法,解决了移动终端资源有限的问题,提升了任务处理效率。然而以上方法并不能直接应用在深度学习的图像修复模型上,针对现有方法的不足,本研究对图像修复模型本身进行改进并提出计算卸载策略,进一步降低终端和边缘云的计算时延。

1 边-端协同图像修复思路

主要思路是通过训练一个可在边-端部署的生成模型学习到真实图像的概率分布,同时使用门控卷积、并行解码器、对抗学习、注意力机制、共享权值的方法优化生成模型的学习效果。使用训练后的生成模型根据待修复图像掩膜外的区域特征补全缺失部分,以完成图像修复的目标。

模型整体结构如图1 所示,可以看作是GAN 的一种变体,模型由2 个生成模型和1 个鉴别模型组成。出于模型需部署在边缘云和终端节点的考虑,本研究使用编码器-解码器结构的卷积神经网络(convolutional neural network,CNN)作为生成模型,构建了一种面向边-端协同的并行解码器结构ETG-Net的卷积神经网络作为生成模型,在边-端分别生成与待修复图像相似的图像。Yu 等人[17]模型中提出的门控卷积可以更好地提取特征信息。本文同样采用门控卷积替换所有普通卷积进行特征提取,以学习一种动态的选择机制,避免模型学习到掩膜中的无效像素。在终端节点采用L1损失进行训练,在边缘云端引入生成对抗网络的对抗训练,通过博弈的方式进一步优化生成模型,使得生成结果更加精细。另一方面受到Lim 等人[21]于2020 年提出移动边缘网络中的联邦学习(federated learning,FL)的启发,每层的权值参数与终端节点进行共享。采用并行解码器共享权值的方式,大大减少模型参数量,提升图像修复及训练效率,并保留移动终端的独立工作能力。实验使用CelebA-HQ[22]高清人脸数据集和Places2[23]场景数据集。在边-端联合学习时,如果对移动终端模型进行微调,边缘云端模型共享权重部分也会随之更新,以尽可能达到边-端输出效果的平衡。从而在MEC 超低时延的环境下高效利用网络带宽,保护隐私,并增强边缘云与终端节点的协同训练和推理能力。

图1 边-端协同的并行解码器门控卷积图像修复网络Fig.1 Edge-terminal gated convolution network for parallel decoder image inpainting

2 ETG-Net

2.1 生成模型

生成模型由单个编码器在终端节点进行特征提取,两个解码器分别部署在终端节点和边缘云端,采取共享权值的方式反卷积生成结果。该模型可以在边缘云与终端节点协同训练,进行模型的参数更新,以取得良好的修复效果。并行解码器的设计更适宜进行边-端协同任务,使得参数量大大减少,更快速地产生良好的结果。

2.1.1 编码器部分

编码器部分为卷积神经网络结构,将掩膜和待修复图像同时输入网络,采用门控卷积降采样的方式进行特征提取,这个过程可以看作将待修复图像逐层抽象成隐层表征。共采用10 个门控卷积,其中第一层卷积核大小为5,其余卷积核大小为3,通道数如表1所示,包含4个空洞门控卷积,空洞卷积[24]的目的是扩大感受野并提高图像修复的质量,扩张率分别为2、4、8、16。

表1 终端编码器网络参数Table 1 Terminal encoder network parameters

2.1.2 终端节点解码器部分

解码器部分采用与编码器相反的操作,对编码器提取出的特征信息进行反卷积[25]的操作,将特征恢复到与输入图像相同大小,从而生成预测图像。共采用10 个门控卷积,卷积核大小为3,通道数如表2所示。

表2 终端解码器网络参数Table 2 Terminal decoder network parameters

2.1.3 边缘云解码器部分

边缘云端具有强大的算力支撑,引入上下文注意力以提高模型对大范围缺失部分填充合理的语义,保证图像的局部一致性,并在上下文注意力层之前加入一层门控卷积并采用ReLU 激活函数代替默认的ELU 激活函数,上下文注意力层之后的卷积层采用与移动终端节点相同的层数。边缘云解码器网络参数如表3所示。

表3 边缘云解码器网络参数Table 3 Edge cloud decoder network parameters

2.2 门控卷积

普通卷积会将所有输入像素都视为有效像素进行特征提取,在图像修复中,每一层的输入是由掩膜外的有效像素和掩膜区域的无效像素组成的。普通卷积使用了相同的过滤器,适用于所有有效、无效和混合的像素,在无规则掩膜遮盖的修复实验中会导致视觉的伪影。为解决上述问题,采用门控卷积[17]可以学习一种动态的选择机制,避免模型学习到掩膜中的无效像素,仅对有效像素进行卷积,提取有效特征。

其中,W、V为两个不同卷积核的权重,b、c分别为对应卷积核的偏置,φ是ELU 激活函数,σ是Sigmoid 激活函数。

2.3 上下文注意力

上下文注意力[12]对图像语义进行合理的修复,为了使生成网络生成更高质量的图像,网络需要理解背景和待修复区域之间的关系,上下文注意力层的核心思想是将特征划分为目标前景及其周围的背景,并从背景区域提取多个3×3大小的块作为目标前景的卷积核,并计算这些区域之间的余弦相似度。可以获取(x,y)的前景补丁fx,y与(x′,y′)的背景补丁bx′,y′之间的相似度得分S(x,y),(x′,y′),选取评分最高的块,以此反卷积出目标前景的内容,对于重叠区域采用平均像素值的方法进行处理,最终获得精细的修复结果。

其中,λ是可缩放softmax的超参数。通过使用作为权值,通过背景补丁的加权和重建前景区域的特征以理解它们之间的关系。

2.4 判别网络

SN-PatchGAN[17]经过光谱正则化生成对抗网络(spectral normalization generative adversarial network,SN-GAN)[26]改进而来,共6 个卷积层,最终输出维度为(Hinput/32)×(Winput/32)×256 的特征。鉴别器部署在边缘云端,具体网络参数如表4所示。对于无规则掩膜下的图像可以更快、更稳定地进行训练,输入包括图像、掩膜、边缘信息,输出为三维特征信息。其中卷积核大小为5×5,步长为2。

表4 鉴别器网络参数Table 4 Discriminator network parameters

其中优化器采用Adam进行训练,参数初始设置学习率为0.000 1,beta1为0.5,beta2为0.999。

2.5 损失函数

合理的损失函数使得模型拥有更好的性能,该模型的损失函数分别为像素级的L1重构损失和生成对抗损失组成的铰链损失,L1重构损失作为终端节点和边缘云端生成结果的共同损失函数,如式(4)所示。

其中,Igt代表原图,Ix1表示移动终端修复网络生成的结果,Ix2表示边缘云修复网络补全的结果;α是权值因子,通过超参数搜索的方法,初始设定为1.2。生成对抗损失用于鉴别补全效果的真实性,两大损失的权值占比为1∶1。

边-端协同修复过程中,终端节点的生成模型也将承担一部分的任务。为增加终端节点的图像重建精细度,将生成损失LG加入L1损失作为约束,并随着训练迭代次数提升,增大L1损失在LG中的比重,使得终端独立修复任务得到更为精细的内容,如式(5)所示:

其中,G为生成网络,D为对抗网络,LG为网络的生成损失,LD为网络的对抗损失,z为破损图像,x为原始图像。λ为控制损失项比重的超参数,k为迭代次数,kmax为最大迭代次数。规范后的LG随着迭代次数的增多,L1损失所占比重增大,进而加大终端节点的修正力度。

3 计算卸载策略

计算卸载策略,作为MEC的关键技术,指终端设备将一部分或全部计算任务交给边缘云计算环境处理的技术,以解决移动设备在资源存储、计算性能及能效等方面的不足。图像修复过程中,边-端有效进行协同可大大减少总任务的修复时间,计算卸载策略如图2 所示。可以根据待修复区域特征、计算节点负载、网络延迟及硬件利用率等状态对计算任务进行划分,选择将计算任务在本地执行或部分卸载至边缘云端执行,以达到任务快速响应,合理分配计算资源的目的。

图2 计算卸载策略Fig.2 Calculating offloading strategy

计算任务拆分时,首先需要考虑网络状态和边缘服务器资源负载情况,然后根据图像修复任务的待修复区域选择合理的方式进行卸载。例如待修复区域范围很小且不涉及语义层面的修复,则无需卸载至边缘云端,直接由移动终端即可完成修复,从而减少不必要的响应时延。

待修复区域情况的决策在移动终端上执行,需要尽可能简单、快速地判断任务的可迁移性并作出响应[27]。本文并未采用计算待修复区域的面积来判断,而是根据图像处理中常用的形态学方法——腐蚀(erosion),对掩膜进行一定阈值的腐蚀,进而根据标签数判断是否满足条件。腐蚀操作如图3所示。

图3 腐蚀操作示意图Fig.3 Schematic diagram of erosion operation

腐蚀操作,将结构元在图像上滑动,把结构元锚点位置的图像像素点的灰度值设置为对应图像区域像素的最小值,公式表示如下:

其中,element 为结构元,(x,y)为锚点,x′和y′为结构元相对锚点的位置偏移,src表示原图,dst表示结果图。经过腐蚀后的掩膜,如符合细小、狭窄等特点,将被完全腐蚀,则最终确定目标数目时为0,符合移动终端独立任务的条件,即可由计算卸载决策为仅由终端节点执行修复任务,算法如下所示。

该算法的核心是形态学的腐蚀算法。设图像宽高分别为w、h,膨胀半径为R,遍历每个像素,如果该像素的像素半径R的邻域内值不为0,则设置为0,时间复杂度为O(n4)。

4 仿真实验

4.1 实验环境

模型训练采用Ubuntu 系统,GPU 采用TeslaV100,显存16 GB,TensorFlow1.15.2,Cuda10.0,cudnn7。边缘云服务器采用Ubuntu 系统,GPU 采用GTX 1070Ti,显存8 GB。终端节点采用MacOS系统,采用6核CPU I5-8500,8 GB RAM。数据集Places2[23],包含自然界中365个场景的数据集,划分为训练集(1 800 000 张)、测试集(328 500张)和验证集(36 500张);数据集CelebA-HQ[22],高质量人脸数据集,手动划分为训练集(27 000 张)、测试集(3 000张)。

分别在Places2 进行184 000 次迭代;CelebA-HQ 进行136 000次迭代,其中经过100 000次迭代将初始设置学 习 率0.000 1 更 改 为0.000 01,超 参 数λ设 置 为5,Batchsize为24,图片大小为256×256。

4.2 评价指标

(1)结构相似性(structural similarity,SSIM)

SSIM 是用来衡量图像相似度的评价指标,分别从亮度L、对比度C和结构S三方面对图像I和I′进行度量。SSIM是一个0到1之间的数,SSIM越大,两图像间差异越小。

(2)峰值信噪比(peak signal to noise ratio,PSNR)

PSNR 是一种全参考的图像质量评价指标,度量的是经过修复后的图像的质量。PSNR 值越大,则失真越少。其中均方误差(mean square error,MSE)为:MSE对给定大小为m×n的图像进行度量。

(3)平均绝对误差(mean absolute error,MAE)

MAE即为L1损失,可以粗略反映模型重建图像与原始图像的误差情况,值越小越好。

(4)FID(Frechet inception distance,FID)

FID[28]是一种评价生成模型的指标,表示生成图像的特征向量与真实图像的特征向量之间的距离,该距离越近,表明生成模型的效果越好,即图像的清晰度高且多样性丰富。

4.3 图像修复实验对比

实验模拟实际任务分别对CelebA-HQ人脸和Places2场景数据集的矩形遮盖和不规则形式遮盖进行修复。为验证所提模型的效果,定性定量实验均在边缘云服务器上进行,并与EdgeConnect(EC)[16]、ContextAttention(CA)[12]、GatedConvolution(GC)[17]方法进行对比。

图4为在不规则掩膜下的CelebA-HQ 数据集修复结果。从图中可以看出,四种方法均取得良好的效果,其中GC方法和ETG方法(本文方法)效果最佳,得益于门控卷积对于不规则形式掩膜的处理更加有效,避免学习到无效的信息。CelebA-HQ 不规则掩膜评价指标如表5所示。

表5 CelebA-HQ不规则掩膜评价指标Table 5 Irregular mask evaluation index of CelebA-HQ

图4 不规则掩膜下人脸修复Fig.4 Face repair under irregular mask

图5为在矩形掩膜下的CelebA-HQ 数据集修复结果。矩形掩膜的效果客观评价指标如表6所示。

表6 CelebA-HQ矩形掩膜评价指标Table 6 Rectangular mask evaluation index of CelebA-HQ

图5 矩形掩膜下人脸修复Fig.5 Face repair under rectangular mask

从CelebA-HQ结果的评价指标中可以看出,在矩形掩膜下,CA方法取得最优,其主要对矩形掩膜图片进行大量训练,并采用上下文注意力提高了掩膜区域修复精度。在无规则掩膜下,GC方法取得最优,其采用门控卷积的方式以及上下文注意力动态地学习图像中的特征。本文提出的ETG在同一环境下无规则掩膜的修复效果指标上仅次于GC 方法,用户主观感受上与GC 方法并无明显差异,在单张图像修复的响应时延上取得最优,结合边-端协同特性将进一步提升修复效率。

图6为模拟实际使用中矩形掩膜、不规则掩膜、目标移除等场景的Places2数据集修复结果。在矩形掩膜下,EC、CA、ETG表现较好,其他场景下除本文方法外,其他方法均产生部分的伪影。Places2数据集评价指标如表7所示。

图6 模拟实际修复Places2场景下结果Fig.6 Simulating actual repair results in Places2 scene

表7 Places2数据集评价指标Table 7 Evaluation index of Places2 dataset

在Places2 的定性定量比较中,本文方法显现出卓越的性能,得益于边-端并行解码器的权重共享,修复阶段仅需通过任意一个解码器即可产生结果,因此执行修复任务时的参数量明显小于训练时的参数量。如表8所示,本文方法的参数量较GC 方法减少了43.9%,较CA方法减少了36.1%,从而达到修复效率上的提升。

表8 各模型的参数量Table 8 Parameters of each model

4.4 边-端协同实验与分析

上述实验已经证明本文方法在相同环境下响应时延的优势,为验证边-端协同计算卸载策略的影响,将图像修复任务分为采用仅由终端节点执行的不卸载方式、计算卸载策略的部分卸载方式和由边缘云端处理的完全卸载方式进行对比。

采用随机10 张待修复图像,分辨率为256×256,不考虑计算卸载引起的基站间的干扰,实验中采用仿真的方式,设定边缘云服务器传输带宽为1 Mbit/s,将相同的计算任务分别按不同的策略进行卸载。经过10张图像的修复实验,计算任务完全由移动终端节点处理,计算时间如图7所示。

图7 计算任务完全由移动终端节点处理Fig.7 Computing tasks processed by mobile terminal node

移动终端的生成模型在处理高层次语义和大范围缺失图像修复任务时效果低于边缘云生成模型,并且受到算力和能耗的影响,响应时延较长。从测试结果可以看出,任务处理时间为4~9 s。

图8为计算任务完全由边缘云处理的计算时间。终端节点将待修复图像数据上传至边缘云端,所有计算任务由边缘云完成,上传时延主要受网络条件影响,任务处理时间约为4.3 s。

图8 计算任务完全由边缘云处理Fig.8 Computing tasks processed by edge cloud

图9为计算任务由终端节点与边缘云协同处理的计算时间。从图中可以看出,协同处理时,计算任务部分卸载至边缘云端,终端节点负责图像的特征提取及计算卸载决策的计算,在第2、6、7实验图像因待修复区域小,根据计算卸载策略决策仅调用移动终端处理,其余任务卸载至边缘云进行处理,可以理解为复杂的任务交由边缘云处理,减少能耗和响应时延,简单的任务由终端独自完成,从而更高效地处理计算任务。

图9 计算任务由终端节点与边缘云协同处理Fig.9 Computing tasks co-processed by terminal node and edge cloud

在总体上,计算任务完全由移动终端处理,受限于算力和能耗的影响,仅能处理待修复区域小的图像并且耗时较长。边-端协同处理,虽然在数据传输中也会产生部分时间损耗,但并行处理时能大大减少总体的响应时延。小范围修复任务的数量也会影响到总的修复所需时间,所有图像的特征提取均在移动终端完成,根据待修复区域大小,由计算卸载策略决定是否上传至边缘云进行大范围和语义层面的修复。完全卸载则需要上传图像及掩膜到边缘云端再完成读取等操作。本组实验中,不卸载方案的总耗时为67.16 s,完全卸载方案的总耗间为44.87 s,采用计算卸载策略的部分卸载方案总耗时为37.04 s。从本组实验结果可以看出,所提策略较完全卸载可以在保证精度的同时,进一步降低任务17.5%的响应时延。

5 结束语

本文提出一种面向边-端协同的并行解码器图像修复网络架构ETG-Net,解决了终端节点应用深度学习图像修复的瓶颈。并行解码器的结构可以更好地部署在边缘云和移动终端上,便于对不同修复任务作出选择。采用权值共享的方式,有效减少模型参数量,从而更好地协同训练,提升图像修复效率。利用门控卷积和注意力机制,加强深层特征的挖掘和上下文语义信息的整合,随后通过增加L1损失中终端节点修复损失的权重在铰链损失中的占比,提升终端节点的图像重建精细度。同时通过计算卸载策略进一步提升图像边-端协同修复的效率。

实验证明本文方法解决了移动终端部署图像修复模型存在的问题,在定性定量的基准测试中取得良好的结果,为图像修复模型部署边缘云提供了有效的参考。

后续准备从以下方向进一步研究:

(1)借助纹理信息进一步提升边-端协同图像修复模型的修复质量;

(2)采用更多种类的掩膜进行训练并增加迭代次数;

(3)对MEC 的分布式系统执行图像处理任务的共识机制进行研究。

猜你喜欢
掩膜解码器边缘
利用掩膜和单应矩阵提高LK光流追踪效果
科学解码器(一)
基于Mask R-CNN的回环检测算法
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
清溢光电:掩膜版产业国产化的领军者
国内首条G11光掩膜版项目在成都高新区启动
一张图看懂边缘计算
在边缘寻找自我