文章目录
- FAKD系列论文
- paper1: FAKD:用于高效图像超分辨率的特征亲和知识蒸馏(2020)
- ABSTRACT
- 1. INTRODUCTION
- 2. PROPOSED METHOD
- 2.1. Feature Affinity-based Distillation (FAKD)
- 2.2. Overall Loss Function
- 3. EXPERIMENTAL RESULTS
- 3.1. Experimental Settings
- 3.2. Ablation Study
- 3.2. Ablation Study
- 4. CONCLUSION
- paper2: 具有 Knowledge distilation 的生成式对抗性超分辨率(2023 May 9)
- ABSTRACT
- 1 Introduction
- 2 Related Works
- 2.1 Single-Image Super-Resolution
- 2.2 Efficient Methods for Single-Image Super-Resolution
- 2.3 Super-Resolution for Robotic Applications
- 3 Methodology
- 3.1 Network Architecture
- 3.2 Training Methodology
- 3.4 Model Interpolation
- 3.5 Model Quantization
- 4 Experiments
- 4.1 Experimental Setting
- 4.2 Real-time Performance
- 4.3 Super-Resolution Results
- 4.3.1 Model Interpolation
- 4.3.2 Model Quantization
- 4.4 Ablation Study
- 4.5 Application: Image Transmission for Mobile Robotics
- 5 Conclusions and Future Works
FAKD系列论文
paper1: FAKD:用于高效图像超分辨率的特征亲和知识蒸馏(2020)
ABSTRACT
卷积神经网络(CNNs)已广泛应用于图像超分辨率(SR)。大多数现有的基于 CNN 的方法都专注于通过设计更深/更宽的网络来实现更好的性能,同时存在沉重的计算成本问题,从而阻碍了此类模型在资源有限的移动设备上部署。为了缓解这个问题,我们提出了一种新颖高效的 SR 模型,称为基于特征亲和力的知识蒸馏 (FAKD),通过将繁重的教师模型的结构知识转移到轻量级学生模型中。为了有效传递结构知识,FAKD旨在从特征图中提取二阶统计信息,并以低计算和内存成本训练一个轻量级的学生网络。实验结果表明,该方法在定量指标和视觉指标方面都优于其他基于知识蒸馏的方法。
1. INTRODUCTION
单图像超分辨率 (SISR) [1] 旨在从其退化的低分辨率 (LR) 对应物生成高分辨率 (HR) 图像。它可用于各种计算机视觉应用,如物体识别[2]、医学成像[3]和图像生成[4]。迄今为止,已经开发了大量的SISR方法,包括基于插值的[5]、基于稀疏表示的[6]和基于深度学习的方法[7,8]。
如今,卷积神经网络 (CNN) 在图像超分辨率任务中盛行,并且由于特征表示表达的强大能力,取得了令人印象深刻的性能。在[9]的开创性工作中,Dong等人首先提出了一种端到端卷积神经网络(SRCNN)来学习LR图像与其对应的HR图像之间的映射函数。后来的作品,如EDSR[10]、RDN[11]和RCAN[12],通过将剩余块堆叠到数百层来构建非常深的网络,以达到最先进的结果。然而,大多数现有的基于 CNN 的 SR 方法都存在严重的计算成本问题,因为它们包含大量参数。在实践中,由于手机和机器人等资源有限的设备部署困难,这种繁重的模型在实际应用中受到限制。因此,设计轻量级 SR 模型至关重要。
为了获得轻量级模型,最近有人尝试压缩网络模型,包括模型修剪[13,14,15]、轻量级网络设计[16,17]和知识蒸馏(KD)方法[18,19,20,21]。模型剪枝和轻量级网络设计方法需要精心设计,可能会导致性能下降。相比之下,知识蒸馏方法在不改变网络结构的情况下比其他模型压缩方法具有优势。
传统的知识蒸馏(KD)[18]首先被提出用于图像识别任务,并通过使用强教师网络的软标签来监督微小学生网络的训练,遵循师生范式。到目前为止,已经提出了几种 KD 方法。例如,Romero 等人。提出了 FitNet [19] 来提取隐藏在中间层特征图的知识。Sergey等人[22]通过计算中级特征的注意图提出了注意转移。鼓励学生网络生成与教师相似的注意力图。考虑到层之间的相关性的重要性,Yim等人[20]提出了求解过程流(FSP)来提取解决问题的信息,并将其作为训练学生的监督信号。然而,大多数现有的KD方法都专注于高级任务,如图像分类[19,22,20],而很少有人关注图像回归任务,如图像SR。当面对图像 SR 时,如何压缩模型仍然是一个悬而未决的问题,因为表示空间是无限的 [23, 24]。在这里,我们尝试设计一个基于 KD 的高效 SR 框架。
为了有效地 SR,我们提出了一种新颖的基于特征的知识蒸馏 (FAKD) 框架,通过从教师模型中提取结构知识。最相关的工作[21]试图从教师模型中传播简单的一阶统计信息(例如,通道上的平均池化),而忽略了丰富的高阶统计信息。出于这个原因,我们专注于从特征图中提取二阶信息(例如特征内相关性),这被证明有助于更准确的重建 [7]。具体来说,FAKD将知识从教师模型的特征图转移到轻量级学生模型中,这迫使轻量级学生模型模仿特征相关性。实验表明,我们提出的框架有效地压缩了基于 CNN 的 SR 模型,同时通过从强大的教师模型转移结构知识来提高学生网络的性能。
总之,主要贡献总结如下:
•我们提出了一个基于特征亲和力的知识蒸馏(FAKD)框架,该框架利用特征图中的相关性来监督学生网络的训练。探索了空间维度上的亲和信息,以提高蒸馏性能。
•实验表明,我们提出的框架在定量和视觉结果方面的优越性。
2. PROPOSED METHOD
我们提出的基于特征的知识蒸馏框架的管道如图1所示。退化的LR图像通过教师T和学生S网络传播。教师模型是一个强大的繁琐网络,而学生模型是一个轻量级网络。在我们的框架中,它们都共享相同的架构,具有不同的超参数(例如网络深度)。如图 1 所示,它们分别由 m 和 n 个残差块 (m > n) 组成。为了有效地将知识从教师模型转移到学生模型,学生网络的中间特征图被迫模仿教师模型的特征亲和矩阵。此外,教师输出图像和地面真实图像也被用来分别通过教师监督(TS)和数据监督(DS)来监督学生网络。
图1所示。基于特征亲和力的知识蒸馏(FAKD)框架的体系结构,以实现高效的图像超分辨率。给定一个沉重的老师及其对应的轻量级学生网络,FAKD通过强制教师和学生模型之间的相似特征相关映射,将知识从强教师模型转移到轻量级学生模型。
2.1. Feature Affinity-based Distillation (FAKD)
知识蒸馏的关键是设计一个合适的模仿损失函数,该函数可以成功地传播有价值的信息来指导学生模型的训练过程。先前的研究 [23, 24] 表明回归问题的特征表示空间是无限的。出于这个原因,由于解空间巨大,为分类任务设计的现有蒸馏方法 [19, 22, 20] 可能不适合图像 SR。为了有效渲染图像 SR 的知识蒸馏,有必要限制解空间。为此,我们设计了一个通用的基于特征的知识蒸馏框架,用于高效的 SR。
给定一批特征图 F ∈
R
b
×
C
×
W
×
H
R^{b×C×W ×H}
Rb×C×W×H ,我们首先将它们重塑为一个三维张量 F ∈
R
b
×
C
×
W
H
R^{b×C×W H}
Rb×C×WH ,分别是通道和空间维度。为了利用特征图中的一致性,我们建议计算亲和矩阵 A。它们是使用来自低级、中级和高级层的特征图生成的,以表示不同级别的相关性。鼓励学生网络与教师网络产生相似的亲和矩阵,基于特征亲和力的蒸馏损失可以表示为:
其中
A
l
T
A^{T}_l
AlT 和
A
l
S
A^{S}_l
AlS 是从第 l 层的特征图中提取的教师和学生网络的亲和矩阵; l′ 是我们选择提取的层数。|A|表示亲和矩阵中的元素数量。
为了保留像素之间的空间连续性,我们从空间的角度考虑亲和矩阵,旨在探索像素之间的关系。该管道如图 2 所示,其中每个像素都被视为 C 维向量、蓝色列和归一化,在每一列中进行,如公式 2 所示。归一化后,每一列都是单位长度的,因此两个像素之间的余弦相似度简单地由内积获得,这在经验上效果很好。空间亲和矩阵表示为:
其中
F
~
\tilde{F}
F~ 是归一化特征图。生成的空间亲和矩阵的大小为b × HW × HW。空间亲和矩阵中的每个元素表示两个像素之间的空间相关性。
2.2. Overall Loss Function
除了基于特征的蒸馏,我们凭经验发现教师监督 (TS) 和数据监督 (DS) 也有助于提高蒸馏性能,如图 1 所示。 TS 和 DS 应该分别将学生的输出与教师和地面真实图像进行比较,如公式 4 和 5 所示。因此,学生网络可以从教师分布和真实数据分布中接收监督信号。整体损失函数表示为等式 6。
其中
I
S
R
S
I^{S}_{SR}
ISRS、
I
S
R
T
I^{T}_{SR}
ISRT 和
I
H
R
I_{HR}
IHR 分别是学生输出、教师输出和基本事实集的图像。α、β 和 γ 是惩罚系数,以平衡损失的不同方面。使用这个整体损失函数,可以优化学生网络以从教师中捕获所有这些知识。
3. EXPERIMENTAL RESULTS
3.1. Experimental Settings
在 [10, 12] 之后,DIV2K [25] 的 800 张图像作为训练集。为了测试,我们使用了四个基准数据集:Set5[26]、Set14[27]、BSD100[28]、Urban100[29]。LR图像是通过双三次插值(BI)[30]获得的,PSNR和SSIM[31]作为评价指标。
我们使用RCAN[12]和SAN[7]作为我们的主要教师和学生网络来验证我们的一般蒸馏框架的有效性。网络配置如表1所示。RCAN由多个残差组(resgroup)组成,每个残差组包含内部的大量剩余块(resblock)。我们减少了残差块的数量,使学生网络中总参数的数量下降到大约 30% 的教师。SAN 也是通过堆叠残差组和块来构建的,它将 RCAN 的注意力模块修改为二阶版本。与 RCAN 一样,我们还将残差组的数量从 20 减少到 6。
学生模型使用ADAM优化器进行训练,β1 = 0.9, β2 = 0.99,
ϵ
=
1
0
−
8
\epsilon = 10^−8
ϵ=10−8。初始学习率设置为
1
0
−
4
10^{−4}
10−4,每150个epoch减少到一半。
表1。教师网络和学生网络的网络配置。#A表示A的数量。TN 和 SN 分别是教师和学生网络。
3.2. Ablation Study
蒸馏的有效性。为了验证不同组件对损失函数的影响,我们使用各种损失函数执行 RCAN。总体结果如表2所示。在第一行中,只采用数据监督,这意味着学生在没有蒸馏的情况下进行训练,只使用HR图像作为监督。其他三行的学生网络都使用不同的蒸馏策略进行训练。当分别添加教师监督 (TS) 或空间亲和力 (SA)(第二行和第三行)时,可以提高性能。我们进一步调查了整体蒸馏框架的效果。如表 2 中的最后一行所示,我们的方法获得了最好的结果。与没有知识蒸馏的基础模型(第一行)相比,知识蒸馏策略可以在各种数据集上实现一致的性能增益。在接下来的实验中,我们使用 DS、TS 和 SA 的组合作为我们的默认实验设置。
表2。不同成分对损失函数的影响。DS =数据监督,TS = 教师监督,SA = 空间亲和力。最佳结果以粗体类型突出显示。
3.2. Ablation Study
蒸馏的有效性。为了验证不同组件对损失函数的影响,我们使用各种损失函数执行 RCAN。总体结果如表2所示。在第一行中,只采用数据监督,这意味着学生在没有蒸馏的情况下进行训练,只使用HR图像作为监督。其他三行的学生网络都使用不同的蒸馏策略进行训练。当分别添加教师监督 (TS) 或空间亲和力 (SA)(第二行和第三行)时,可以提高性能。我们进一步调查了整体蒸馏框架的效果。如表 2 中的最后一行所示,我们的方法获得了最好的结果。与没有知识蒸馏的基础模型(第一行)相比,知识蒸馏策略可以在各种数据集上实现一致的性能增益。在接下来的实验中,我们使用 DS、TS 和 SA 的组合作为我们的默认实验设置。
与其他特征KD方法的比较。我们将基于特征的亲和力蒸馏替换为五种变体,以验证我们的蒸馏方案的优越性。这些变体包括 FitNet、Attention Transfer(AT) 和 Solution Procedure(FSP)、通道亲和力 (CA) 和实例亲和力 (IA) 流程。
• FitNet[19]的特征提取:我们遵循[19]直接对齐教师和学生网络之间的特征映射。
•AT[22]的特征蒸馏:我们在通道维度上聚合特征映射来生成注意图,然后将它们从教师网络转移到学生网络。
•FSP[20]的特征蒸馏:提取两个中间层之间计算的Gram矩阵。•通道亲和力(CA)的特征蒸馏:该机制类似于空间亲和力,我们将通道视为HW维向量。归一化是在每个通道中进行的,两个通道之间的亲和力是通过使用类似于等式 3 的方法获得的。得到的通道亲和矩阵是一个 b × C × C 矩阵。
• 通过实例亲和力(IA)进行特征蒸馏:实例被视为 CW H 维向量。类似地,每个实例都遵循归一化,并且可以获取实例之间的相关性。实例亲和矩阵的大小为 b × b。
从表 4 中,我们可以看到我们的空间亲和力方法优于所有其他蒸馏策略。与我们的转换后,优于 FitNet 的优势可归因于有界表示空间。优于 AT 和 FSP 的优势在于我们将教师网络的知识翻译成信息量更大的压缩空间,能够从空间角度捕获亲和力信息。与其他两种基于亲和力的蒸馏方案相比,空间亲和力是非常有效的,因为空间域中提取的信息比通道和实例域中的信息要丰富得多。
表4。与其他特征提取方法的比较。
3.3. Benchmark Results
定量结果。两种师生环境下PSNR和SSIM的定量评价结果如表3所示。我们在200个epoch上训练我们的学生网络,批大小为16。对于4个scale ×2、×3、×4和×8中的所有数据集,我们基于亲和力的知识蒸馏(FAKD)取得了最好的性能,这表明了我们方法的有效性和优越性。RCAN 和 SAN 的平均性能增益约为 0.1dB,SAN 的 PSNR 增益大于 RCAN,这主要是因为 SAN 的教师模型更强大,因此可以提供更多结构知识。因此,可以从教师 SAN 中提取更有用的监督信号,从而获得更好的性能。还进行了模型大小分析和 FLOP。FLOPs 以 ×4 为单位测量,输入图像大小为 48 × 48。结果显示模型大小大幅下降,而性能相当可接受。我们的蒸馏框架可以在不引入额外的参数和大量减少计算量的同时稳定地提高性能。
表3。不同实验设置的定量结果(PSNR/SSIM)。突出显示最佳结果。
视觉结果。在图 3 中,我们还展示了有和没有知识蒸馏的输出图像的视觉结果。从图 3 可以看出,我们的知识蒸馏方案方法产生了更清晰的结果并恢复了更多的图像细节(例如线条),同时在没有知识蒸馏方案的情况下无法恢复此类图像细节。这表明我们的知识蒸馏方案可以有效地将知识从教师模型转移到教师模型中。此外,使用我们的蒸馏方案,可以在一定程度上减轻模糊伪影。
4. CONCLUSION
在本文中,我们提出了一种基于特征亲和力的通用知识蒸馏(FAKD)框架,用于高效的图像超分辨率。在我们的FAKD中,我们考虑了特征图中像素之间的空间亲和力。为了有效地从教师模型中转移丰富的特征知识,我们从不同的层中提取亲和力知识来表示特征的规模。大量实验证明了我们提出的方法的有效性。
paper2: 具有 Knowledge distilation 的生成式对抗性超分辨率(2023 May 9)
ABSTRACT
单图像超分辨率可以支持环境中的机器人任务,其中需要可靠的视觉流来监控任务、处理远程操作或研究相关的视觉细节。在这项工作中,我们提出了一种有效的实时超分辨率生成对抗网络模型EdgeSRGAN1。我们采用原始SRGAN和模型量化的定制架构来提高CPU和Edge TPU设备上的执行,实现了高达200fps的推理。我们通过将其知识提炼为网络的较小版本来进一步优化我们的模型,并与标准训练方法相比获得了显着的改进。我们的实验表明,与较重的最先进模型相比,我们的快速和轻量级的模型保持了相当令人满意的图像质量。最后,我们对带宽退化的图像传输进行了实验,以突出所提出的系统在移动机器人应用中的优势。
1 Introduction
在过去的十年中,深度学习 (DL) 技术已经渗透到机器人系统和应用中,极大地提高了感知 [14, 73]、导航和控制 [51, 62] 任务中的自动化。机器学习驱动算法的发展为移动机器人高级自主水平铺平了道路,广泛提高了无人机(UAV)和无人机(UGV)[14]的可靠性。尽管如此,在恶劣的不可见环境中,采用移动机器人进行测绘和探索[38]、搜索和救援[16]或检查[64,63]任务可以提供显著的优势,降低人工操作人员的风险。在这种情况下,机器人对地面站获取的图像的成功传输通常假设与手头的任务有显著相关性,允许人类操作员获取实时信息,监控任务的状态,做出关键的规划决策和分析场景。此外,未知的室外环境可能存在意想不到的极端特征,这仍然阻碍了无人移动机器人在完全缺乏人工监督的情况下的释放。尽管目前在隧道探索[50,56,17]、行作物导航[42,1]和水下[31,4]等不同室外环境下,新的基于DL的自主导航算法正在进行研究,但在不确定的情况下,完全或部分远程遥操作仍然是最可靠的控制策略。事实上,不规则地形、光照条件和定位信号的丢失会导致导航算法失败。作为导航错误的直接结果,机器人平台可能会陷入需要或首选人工干预的关键状态。
然而,机器人远程操作、监控或在线数据处理的视觉数据传输需要稳定的连续图像流,由于机器人的距离长或特定环境的本构因素,可能会受到带宽条件差的严重影响。此外,无人机和高速平台要求飞行员以高帧率接收图像流,以跟踪车辆在非视距情况下的运动。缓解带宽条件差、满足高频传输要求的直接但有效的解决方案是降低传输图像的分辨率。另一方面,大量细节损失的大量图像压缩会损害图像的可用性。
为此,我们提出了一种新的边缘单图像超分辨率(SISR)深度学习模型EdgeSRGAN来处理高效图像传输的问题。我们的直觉依赖于一个轻量级的神经网络,允许我们以带宽稀缺的高传输速率发送低分辨率图像,然后在导频的移动设备上重建高分辨率图像。此外,edge-AI在不同工程应用中的成功传播[12,5,36]在超低功耗嵌入式设备上移动DL模型的执行方面显示出令人鼓舞的结果。因此,我们提出了一种边缘计算高效的超分辨率神经网络,以在 CPU 和 Edge TPU 设备上提供快速推理。为此,我们采用几个优化步骤来提高模型的性能,同时最小化质量下降。我们改进了原始SRGAN[30]的体系结构,以加快推理和执行模型量化。尽管如此,我们对SISR的师生知识蒸馏技术进行了实验,以进一步增强我们微小模型的重建图像。我们从[21]的工作中获得灵感,并获得了所有考虑的指标的显著改进。
我们从多个角度进行实验以验证所提出的方法:我们的模型重建图像的数值和定性分析以及 CPU 和 Edge TPU 设备上的推理效率。例如,如图 1 所示,与其他面向视觉的 SISR 方法相比,EdgeSRGAN 以具有竞争力的感知相似性指数实现了实时性能。此外,我们测试了我们的系统在机器人应用中的性能。特别是,我们专注于在带宽退化的情况下远程操作的图像传输,也使用流行的机器人中间件ROS2进行测试。
图1:不同面向视觉的SISR方法的Set5[7]和帧率(80 × 60输入)上的LPIPS[68]结果(越低越好)。实时(RT)和过实时(ORT)帧率被标记为参考。我们的模型,标有。在 CPU 上使用具有竞争力的感知相似性索引达到实时性能。边缘 TPU 模型可以进一步提高远远超出实时的推理速度,仍然优于双三次基线。
本文的其余部分安排如下。在第 2 节中,我们介绍了超分辨率 (SR) 的研究前景,从一般背景开始,然后加深对 SR 机器人应用的讨论和以前工作中提出的高效 SR 方法。在第 3 节中,我们描述了超分辨率问题和我们的方法步骤,以获得实时性能的边缘 AI 实现。在第 4 节中,我们提出了广泛的实验来验证所提出的方法,分析了推理速度和输出图像质量获得的结果,并描述了我们的方法在有限带宽条件下机器人应用的优势。最后,在第 5 节中,我们总结了结论性评论的整体研究,并提出了一些潜在的未来工作方向。
2 Related Works
2.1 Single-Image Super-Resolution
单图像超分辨率,也称为超分辨率或图像恢复,旨在从单个低分辨率 (LR) 输入图像开始重建高分辨率 (HR) 图像,试图保留图像构思的细节和信息。因此,SISR 与图像去噪一起是一个不适定的欠定逆问题,因为给定输入低分辨率图像存在多种可能的解决方案。最近,基于学习的方法已经迅速达到了最先进的性能,并普遍被认为是超分辨率最流行的方法。这种方法依赖于以有监督的方式从多个 LR-HR 对中学习公共模式。SRCNN[15]是CNN在文献中应用于单幅图像超分辨率的第一个例子。紧随其后的是将标准深度学习方法应用于SISR的多种方法,如残差学习[29,35]、密集连接[71]、残差特征蒸馏[37]、注意力[70]、13、45]、自我注意和变压器[9,11,34]。所有这些工作都集中在基于内容的 SR 上,其目标是重建具有高像素保真度的图像,并且训练基于内容损失,例如均方误差或平均绝对误差。
同时,其他工作为SISR提出了生成对抗网络(GAN)[19],旨在重建视觉上令人愉悦的图像。在这种情况下,重点不是像素值,而是试图反映人类如何感知图像质量的感知索引。这通常使用感知损失和对抗训练来实现,称为基于视觉的 SR。SRGAN[30]首先提出了对抗训练,随后是其他作品[35,18,59]。考虑到机器人图像传输作为目标应用,在这项工作中,我们特别关注基于视觉的SR,旨在重建人类操作员用于实时远程操作和监控的视觉愉悦图像。
2.2 Efficient Methods for Single-Image Super-Resolution
近年来,针对 SR 的高效深度神经网络被提出来减少参数的数量,同时保持高质量的性能 [33]。然而,大多数提出的架构解决方案都是为基于内容的训练而设计的,旨在最小化高分辨率图像和网络输出之间的差异。其中,[52]提出了一种薄、简单的模型,该模型将SR处理为双线性上采样残差补偿。尽管获得了高质量的图像,但由于需要双重预测,这种方法具有很高的推理延迟。不同的是,[44]完全基于他们对Edge-AI芯片的研究,提出了一种仅由一层组成的超微小模型。
如前所述,我们更喜欢基于 GAN 的 SR 来增强为机器人应用生成的图像的视觉外观。然而,文献中对高效 GAN 的成功研究非常罕见。最近,知识蒸馏 (KD) 已成为压缩深度模型和 GAN 的有前途的选择 [2, 20]。KD 最初出生于 2015 年,具有 [25] 的愿景工作,其中引入了师生框架作为知识转移机制。最近的工作在不同的变体中进化了这个概念:FitNets [49] 引入了在蒸馏过程中同时涉及中间表示的想法,注意转移 (AT) [65] 提出了一种基于注意力的蒸馏,激活边界 (AB) [24] 有趣的是专注于隐藏神经元形成的激活边界的蒸馏转移,在 [23] 中进一步推进。具体而言,考虑到SR中的KD应用,特征亲和KD (FAKD)[21]使用中间特征亲和蒸馏进行psnr聚焦SR。我们发现这种方法对于基于 GAN 的 SR 也是一个很好的起点。不同的是,[69]研究了一种用于无数据训练的渐进知识蒸馏方法。除了 KD,[18] 最近提出了一种自动机器学习 (Auto-ML) 框架来搜索最优神经模型结构,滤波器剪枝已被用作另一种优化技术 [32]。
与之前的工作不同,我们对edge-SR的模型优化由三个主要步骤组成:首先,执行面向边缘的建筑定义;然后,我们利用师生知识蒸馏来进一步减小模型的维数;最后,我们执行TensorFlow Lite (TFLite)转换和量化,将网络执行转移到cpu和Edge TPU,推理速度最大。
2.3 Super-Resolution for Robotic Applications
SISR 最近在一些机器人应用中被提出,其中高水平的细节有利于支持特定任务。移动机器人室内遥操作的研究主要集中在提高用户体验,将深度学习方法与虚拟现实相结合[66,22,55],而忽略了恶劣条件下连通性退化造成的潜在瓶颈。不同的是,人们对用于水下机器人感知的SISR进行了大量的研究[47,27],有效地解决了海上高质量图像采集问题,以实现精确的物体和物种检测。除了自主导航应用之外,有趣的上下文是机器人手术 [58, 8] 和医疗机器人研究 [41],其中 SISR 可以提供显着优势,提高外科医生精细高精度运动所需的细节水平。同样,机器人获取的详细图像需要监测和检查目的。例如,[6]使用超分辨率模型来增强在线裂纹检测和桥梁弱点原位分析。尽管如此,到目前为止提出的相关工作还没有将超分辨率确定为图像传输的有效解决方案,以支持机器人在带宽退化条件下对未知环境的远程操作和探索。
3 Methodology
在本节中,我们将介绍所提出方法的所有组件。如第 1 节所述,我们选择使用对抗性方法来获得像素级保真度和感知质量之间的最佳平衡。出于这个原因,我们从最流行的基于 GAN 的 SISR 解决方案中的三个中获得灵感:SRGAN [30]、ESRGAN [61] 和 AGD [18]。与最先进的解决方案相比,该方法旨在获得性能下降最小的实时SISR模型(EdgeSRGAN)。出于这个原因,我们将成功的文献实践与计算效率高的元素混合,以获得轻量级架构。然后,我们设计了网络训练过程来利用像素级损失、感知损失和对抗性损失的组合。为了进一步优化推理时间,我们应用知识蒸馏将EdgeSRGAN的性能转移到更小的模型(EdgeSRGAN-tiny)。此外,我们研究了量化对网络延迟和精度的影响。最后,我们提出了一个额外的推理时间网络插值特征,以允许像素级精度和照片级真实感纹理之间的实时平衡。
3.1 Network Architecture
正如[61]之前所做的那样,我们采用SRGAN的原始设计,并对体系结构和训练过程提出了一些更改。但是,在我们的例子中,修改寻求效率和性能。为了获得较轻的架构,我们仅使用 N = 8 个残差块而不是原始 16 个来减少模型的深度。特别是,我们使用简单的残差而不是 [61] 提出的残差残差密集块 (RRDB),因为它们计算量较低。出于同样的原因,我们将 PReLU 激活函数更改为基本的 ReLU。我们还删除了批处理归一化,以允许模型在不生成工件的情况下更好地收敛[61]。最后,我们使用转置卷积对上采样头而不是亚像素卷积[53]。尽管亚像素卷积很受欢迎和有效性,但由于像素混洗操作,亚像素卷积在计算上要求很高,该操作在空间上重新排列特征通道。相反,我们选择权衡一些性能以提高效率并应用转置卷积来避免棋盘伪影[46]等问题。完整的EdgeSRGAN架构如图2所示。所采用的鉴别器模型与[30,61]中使用的相同,因为它只服务于训练目的,在推理时不需要。其架构如图 3 所示。
图 2:EdgeSRGAN 生成器架构。
图 3:EdgeSRGAN 鉴别器架构。该模型通过步长为 1 (B1) 和 2 (B2) 的交替块逐步降低图像的空间维度。第一个块(用 * 标记)不适用批量归一化。
3.2 Training Methodology
训练过程分为两部分,因为它是生成对抗 SISR 的常见做法。第一部分包括使用像素级损失的经典监督训练。通过这种方式,我们帮助生成器避免局部最小值并在后续的对抗训练中生成视觉上令人愉悦的结果。我们使用平均绝对误差 (MAE) 损失进行优化,因为它最近被证明比均方误差 (MSE) 带来更好的收敛 [72, 35, 70,61]。
其中
y
H
R
y^{HR}
yHR 是真实高分辨率图像,
y
S
R
y^{SR}
ySR 是生成器的输出,B 是批量大小。我们使用峰值信噪比 (PSNR) 指标来验证模型。
在第二阶段,结果模型以对抗方式进行微调,优化考虑对抗性损失和感知损失的损失。如[30]所示,生成器G训练损失可表示为
L
G
P
L^{P}_{G}
LGP为感知VGG54,为重建图像SR的特征表示与参考图像HR之间的欧氏距离。使用在ImageNet上预训练的VGG19网络[54]提取特征:
其中
ϕ
\phi
ϕ 是感知模型 VGG。
L
G
A
L^{A}_{G}
LGA 是对抗性生成器损失,定义为
其中 D 是鉴别器。使用这种损失,生成器试图通过生成与真实 HR 图像无法区分的图像来欺骗鉴别器。ξ 和 η 用于平衡不同损失分量的权重。鉴别器 D 的权重使用对称对抗性损失进行优化,这往往会正确区分 HR 和 SR 图像。
我们同时优化这两个模型,而无需像 GAN 的大多数开创性工作中那样交替的权重更新。整体训练方法总结在图 4 中总结了整体训练方法。
Figure 4: EdgeSRGAN Training Methodology.
3.3 Knowledge Distillation
如第 2 节所述,知识蒸馏 (KD) 因其能够将知识从更大模型转移到更简单的模型的能力而受到越来越多的关注。特别是,KD 已应用于一些 SISR 工作中,以压缩繁琐模型的纹理重建能力并获得高效的实时网络。然而,据我们所知,KD 从未应用于 GAN SISR 模型。出于这个原因,我们将为 SISR 开发的现有技术调整为 GAN 训练方法,称为基于特征亲和力的知识蒸馏 (FAKD) [21]。FAKD方法通过在网络的不同层对齐特征亲和矩阵,将二阶统计信息传递给学生。这个约束有助于解决回归问题生成无界解空间的事实。事实上,到目前为止,大多数 KD 方法只能处理分类任务。给定网络的层 l,从该层提取的特征图 Fl(在激活函数之后)具有以下形状:
其中 B 是批量大小,C 是通道数,W 和 H 是张量的宽度和高度。我们首先沿着最后两个分量展平张量,得到三维特征图
现在,它沿着单个轴保存所有空间信息。我们将亲和矩阵
A
l
A_{l}
Al定义为乘积
其中 · 是矩阵乘法算子,转置
⊤
\top
⊤交换张量的最后两个维度。
F
l
~
\tilde{F_{l}}
Fl~为归一化特征图,得到为
与[21]不同的是,范数是针对整个张量计算的,而不仅仅是沿通道轴计算的。此外,我们使用欧几里得范数而不是平方来找到更好的收敛。这样,亲和矩阵的形状就有
总蒸馏损失
L
D
i
s
t
L_{Dist}
LDist变为
其中
N
L
N_{L}
NL 是蒸馏层数。与 [21] 不同的是,我们将所有张量维度的损失相加,并对不同层获得的结果进行平均。这些修改实验导致更好的训练收敛。我们还添加了另一个损失组件,由 λ 加权,它优化模型以生成接近教师输出的输出。在我们的实验中,蒸馏损失被添加到由参数 γ 加权的整体训练损失中。整体蒸馏方案如图5所示。
Figure 5: EdgeSRGAN Distillation Process.
3.4 Model Interpolation
遵循[61]中提出的过程,我们采用灵活有效的策略来获得面向内容和GAN训练的模型之间的可调权衡。此功能对于实时应用非常有用,因为它允许 SISR 网络及时适应用户的需求。事实上,一些真实场景可能需要更好的感知质量,例如,当机器人的远程控制必须由人类飞行员执行时。另一方面,当图像用于直接馈送感知、自主导航和映射算法时,更高的像素保真度可能是有益的。为了实现这一目标,我们根据以下公式逐层线性插值模型权重:
其中
θ
G
I
n
t
e
r
p
θ^{Interp}_{G}
θGInterp、
θ
G
P
S
N
R
θ^{PSNR}_{G}
θGPSNR和
θ
G
G
A
N
θ^{GAN}_{G}
θGGAN分别是插值模型、PSNR 模型和 GAN 微调模型的权重。α ∈ [0, 1] 是插值权重。我们在第 4.3.1 节中报告了 EdgeSRGAN 的定性和定量插值结果。我们避免了直接插值网络输出的替代技术:实时应用此方法将需要同时运行两个模型。此外,Wang等人[61]报告说,这种方法不能保证噪声和模糊之间的最佳权衡。
3.5 Model Quantization
为了使EdgeSRGAN实现更低的推理延迟,我们将优化方法应用到模型中,以性能损失为代价来减少计算工作量。在过去的几年里,已经开发了几种技术来提高模型效率 [28],从中选择所采用的方法。我们用TFLite2减少了用于表示网络参数和激活函数的比特数。该策略大大提高了效率,对性能有一定的影响。我们遵循Jacob等人[28]提出的方法,通过尺度和零点参数量化权重、激活和数学运算:
其中 r 是原始浮点值,q 是量化整数值,S 和 Z 是量化参数(尺度和零点)。采用定点乘法方法来处理S的非整数尺度。由于微控制器上整数计算的高效率,该策略大大降低了内存和计算需求。在我们的实验中,我们在 Google Coral Edge TPU USB 加速器 3 上部署了量化模型。
4 Experiments
4.1 Experimental Setting
在本节中,我们定义了我们方法的实现细节和我们遵循的程序,以最优地训练和验证EdgeSRGAN的效率。正如大多数基于 GAN 的 SISR 作品之前所做的那样,我们在具有 4 的比例因子的高质量 DIV2K 数据集 [3] 上训练网络。该数据集包含 800 个训练样本和 100 个验证样本。我们使用大小为 24x24 像素的输入图像训练我们的模型,从训练集中选择随机补丁。我们通过随机翻转或旋转 90° 的倍数来应用数据增强。我们采用 16 的批量大小。
对于标准的 EdgeSRGAN 实现,我们选择 N = 8、F = 64、K = 3 和 D = 1024,得到一个参数约为 660k 的生成器和超过 23M 的鉴别器(由于全连接头)。鉴别器由 F = 64、K = 3、D = 512 构建,LeakyReLU α = 0.2 的系数。我们首先使用 Adam 优化器以 5 × 105 步逐像素训练 EdgeSRGAN,恒定学习率为 1 × 10−4。然后,该模型在第 3 节中描述的对抗性设置中进行了微调,用于 1 × 105 步。Adam 优化器用于生成器和判别器,学习率为 1 × 10−5,在 5 × 104 步后进一步除以 10。对于损失函数,我们设置 ξ = 1 × 10−3 和 η = 0。
为了获得更小的蒸馏实验模型,我们通过选择 N = 4、F = 32 和 D = 256 来构建 EdgeSRGAN-tiny。我们通过从每个块中删除第一个压缩阶段 (B1) 来进一步缩小鉴别器的大小(见图 3)。在这个配置中,我们还从第一个 B2 块中删除了批量归一化层,以与更大的版本保持一致。获得的生成器和鉴别器包含大约 90k 和 2.75M 参数。预训练过程是EdgeSRGAN所描述的过程,而对抗训练是用Eq. 11的附加蒸馏损失(
γ
=
1
×
1
0
−
2
γ = 1 × 10^{−2}
γ=1×10−2,
λ
=
1
×
1
0
−
1
λ = 1 × 10^{−1}
λ=1×10−1)执行的。EdgeSRGAN被用作教师模型,将其层2、5和8提取到EdgeSRGAN-tiny层1、2和4中。该模型的学习率为
1
×
1
0
−
4
1 × 10^{−4}
1×10−4,在
5
×
1
0
4
5 × 10^{4}
5×104步后进一步除以10。对于损失函数,我们设置ξ =
1
×
1
0
−
3
1 × 10^{−3}
1×10−3,η = 0。
最后,我们创建了模型的第三个版本,以 8 倍放大图像。为此,我们将 EdgeSRGAN 和 EdgeSRGAN-tiny 的第一个转置卷积层更改为 4 而不是 2 的步长,并将其余架构保持不变。这些模型的训练过程类似于 x4 模型的训练过程,主要区别在于通过提出
η
=
1
×
1
0
2
η = 1 × 10^{2}
η=1×102 将基于像素的组件添加到对抗性损失中。
通过在 DIV2K 验证上运行随机搜索并选择性能最佳的模型来找到最佳训练超参数。在 GAN 训练期间,我们使用 PSNR 在基于内容的损失优化和 LPIPS [68](使用 AlexNet 主干)期间验证模型。
我们使用 TensorFlow 2 和具有 64 GB RAM、Intel i9-12900K CPU 和 Nvidia 3090 RTX GPU 的工作站来执行所有训练实验。
4.2 Real-time Performance
由于所提出方法的主要重点是训练一个优化的 SISR 模型,以便实时有效地在边缘运行,我们首先报告所提出的方法与其他文献方法之间的推理速度比较。所有结果如表1所示,作为 10 个独立实验的平均值和标准偏差,每个预测 100 个。我们将所提出的方法与其他基于 GAN 的方法 [30, 61, 59, 18] 以及面向内容的 SISR SwinIR [34] 中当前最先进的方法进行了比较。由于基于 GAN 的解决方案的原始实现仅考虑 ×4 上采样,对于 ×8 比较,我们只报告 SwinIR。我们为实验选择了两种不同的输入分辨率(80 × 60)和(160 × 120),分别为 ×4 上采样的目标(320 × 240)和(640 × 480)分辨率,以及 (640 × 480) 和 (1280 × 960) 用于 ×8 上采样。这种选择是合理的,因为 (640 × 480) 是大多数相机原生视频流提供的标准分辨率。我们还报告了所有模型的参数数量。
表 1:×4 和 ×8 上采样不同方法的帧速率比较,具有两种不同的输入分辨率(80 × 60 和 160 × 120)。结果作为 10 个独立实验的平均值和标准偏差提供,每个实验有 100 个预测。目前面向内容的SISR最先进的方法SwinIR[34]作为参考。实时(Real-time)和过实时(over-real-time)帧率分别为蓝色和红色。所提出的解决方案是唯一与 EdgeTPU 设备兼容的解决方案,并允许在这两种情况下达到实时性能。
对于所有考虑的方法,我们使用 Intel i5-8257U 处理器在 MacBook Pro 上使用原始实现(PyTorch 或 TensorFlow)的模型格式来测量 CPU 时序。实时性能的概念很大程度上取决于下游任务。对于机器人监控和远程操作,我们将 10 fps 视为最小实时帧速率,考虑超过 30 fps 的实时所有内容,这是大多数商业相机的标准帧速率。所提出的方法在推理速度上优于所有其他方法,在几乎所有测试条件下在 CPU 上实现实时性能。值得注意的是,AGD 是专门为减少基于 GAN 的 SR 的延迟而设计的,并且比 EdgeSRGAN 的参数更少,但它仍然无法在没有 GPU 的情况下实时实现。
此外,我们报告了EdgeTPUCoral USB加速器上EdgeSRGAN int8量化模型的帧率。所提出的解决方案是唯一与此类设备兼容的解决方案,并允许达到 (80 × 60) 输入分辨率的过实时性能。由于内存限制,必须强调具有 (160 × 120) 输入分辨率的 ×8 模型如何无法针对 EdgeTPU 设备。
4.3 Super-Resolution Results
为了呈现图像超分辨率的定量结果,我们参考基于内容的损失训练的模型的面向内容的 SR,以及针对使用对抗性和感知损失训练的模型的面向视觉的 SR。基于内容的损失(平均绝对误差或均方误差)旨在最大化 PSNR 和 SSIM,而对抗性和感知损失旨在最大化视觉质量。我们在测量PSNR、SSIM和LPIPS的五个基准数据集(Set5[7]、Set14[67]、BSD100[40]、Manga109[43]和Urban100[26])上测试EdgeSRGAN模型。我们遵循[34]中采用的SISR的标准过程,其中度量是在YCbCr转换图像的亮度通道Y上计算的。此外,从每个图像边界裁剪 S 像素,其中 S 是模型比例因子。
表2和表3分别显示了面向内容和面向视觉的×4 SR与其他方法的比较。我们报告了其他基于gan的方法的结果[30,61,59,18],以及当前面向内容的SOTA SwinIR[34]和双立方基线,作为参考。与通常在文献中发现的不同,我们参考的是opencv4双立方大小调整实现,而不是MATLAB中的实现。对于面向视觉的SR,我们也报告了提取的微小模型EdgeSRGAN-tiny⚗的结果。所提出的方法在所有指标上都达到了具有竞争力的结果,即使由于相当大的重量减轻而导致微小模型的一些退化。精馏法通过从标准模型中转移知识,减少由于参数数量减少而导致的退化,从而帮助EdgeSRGAN-tiny训练。请注意,除了DIV2K之外,ESRGAN和RealESRGAN还在Flickr2K[57]和OST[60]数据集上进行了训练。表4报告了×8模型以及SwinIR和bicubic模型的结果。此外,在这种情况下,所提出的模型达到竞争结果,知识蒸馏有助于减少微小模型中的性能下降。作为最后的定性评价,图6将EdgeSRGAN获得的超分辨率图像与考虑的最先进解决方案进行了比较。我们的模型显示了类似的结果,与使用像素损失(
L
M
S
E
L_{MSE}
LMSE)训练的网络相比,突出了更多的纹理和细节,同时保持了对地面真实图像的真实性。
表2:面向内容×4上采样的不同方法的定量比较。目前SISR最先进的方法SwinIR[34]和双三次基线作为参考报告。↑:越高越好,↓:越低越好,†:在DIV2K[3] + Flickr2K[57] + OST[60]上训练
表3:面向视觉×4上采样的不同方法的定量比较。目前的SISR最先进的方法SwinIR[34]和双三次基线作为参考报告。↑:越高越好,↓:越低越好。†:在 DIV2K [3] + Flickr2K [57] + OST [60] 上训练。
表 4:所提出的方法对 ×8 上采样的定量性能。目前SISR最先进的方法SwinIR[34]和双三次报告作为参考。↑:越高越好,↓:越低越好
图6:考虑数据集中随机样本上的双三次图像SR (×4)方法的视觉比较。EdgeSRGAN 取得了与最先进的解决方案相当的结果,权重约为 10%。
4.3.1 Model Interpolation
我们在图8中报告了基准数据集上网络插值的结果。我们考虑0到1之间的α值,步长为0.1,0表示完全面向视觉的模型,1表示完全面向内容的模型。所有结果都是指用于×4上采样的标准EdgeSRGAN模型。这个过程有效地展示了如何通过改变插值权重 α 在面向内容和面向视觉的 SR 之间选择所需的权衡。权重值的增加导致内容相关指标PSNR和SSIM的改善,感知指数LPIPS恶化。这种行为适用于所有测试数据集,验证了所提出的方法。这个过程可以很容易地在实时应用中进行,只需要一次计算插值权重。因此,它不会影响推理速度的任何方式。对于额外的视觉评估,图 7 报告了在随机数据集样本上增加 α 值所获得的输出。
图 7:插值 EdgeSRGAN 对不同 α 值的视觉比较。更接近 1 的值生成专注于内容保真度的输出,而小值则朝着视觉上令人愉悦的结果迈进。
图8:EdgeSRGAN网络插值结果在×4上采样的基准数据集上。改变网络插值权重 α,可以在面向内容和面向视觉的 SR 之间选择所需的权衡。↑:越高越好,↓:越低越好
4.3.2 Model Quantization
为了针对Edge TPU设备并达到实时推理结果,我们遵循Eq. 13的量化方案,对权值和激活进行权值和激活,得到一个全整数模型。由于量化模型必须具有固定的输入形状,我们为测试样本的每个输入形状生成一个全整数网络。我们使用来自 DIV2K 验证集的 100 张图像作为代表性数据集来校准量化算法。我们将int8量化的标准模型称为EdgeSRGANi8。对于微型模型,我们优化了蒸馏网络EdgeSRGANi8-tiny♦。面向视觉优化模型的结果如表5所示。由于全整数模型的激活和权重降低,我们以SR性能下降为代价,在推理速度上经历了巨大的提高。所有提出的量化模型在感知索引LPIPS上仍然优于双三次基线,因此代表了需要真正快速推理的应用程序的良好选择。面向视觉×4上采样的不同模型的比较如图1所示。我们考虑Set5数据集上的LPIPS性能与帧率相比。
表 5:×4 和 ×8 基于视觉的 SR 的全整数量化模型的定量性能。↑:越高越好,↓:越低越好。
图1:不同面向视觉的SISR方法的Set5[7]和帧率(80 × 60输入)上的LPIPS[68]结果(越低越好)。实时(RT)和过实时(ORT)帧率被标记为参考。我们的模型,标有星,在 CPU 上使用具有竞争力的感知相似性索引达到实时性能。边缘 TPU 模型可以进一步提高远远超出实时的推理速度,仍然优于双三次基线。
4.4 Ablation Study
为了进一步验证我们的模型对实时超分辨率的有效性,我们进行了消融研究,以分析我们的结构设计选择的影响。特别是,我们以四个渐进步骤对EdgeSRGAN进行基准测试,报告保真度,感知性能和推理速度。我们考虑的步骤如下:
1.减少剩余块数N;
2. 用转置卷积代替像素Shuffle上采样阶段
3. 去除批归一化;
4. 用ReLU替换PReLU激活。
最后一步对应于EdgeSRGAN的最终版本。对于模型的每一步,我们使用与3.2中描述的相同的训练过程,并在(80x60)和(160x120)输入分辨率下测量CPU上的推理速度。所有结果报告在表6中。实验证实,每个压缩步骤都可以通过最小的感知质量获得可观的推理速度。总体而言,我们观察到-3.7%的LPIPS感知质量和+280%的推理速度。
表6:EdgeSRGAN在四个不同步骤下的消融研究结果。最后一步对应于最终模型。总体而言,我们观察到-3.7%的LPIPS感知质量和+280%的推理速度。↑:高越好,↓:低越好。
4.5 Application: Image Transmission for Mobile Robotics
我们的实时SISR可以在各种实际工程应用中提供竞争优势。在本节中,我们针对移动机器人的特定用例,提出我们的EdgeSRGAN系统作为一种高效的基于深度学习的实时图像传输解决方案。事实上,未知地形中的机器人远程控制需要以令人满意的帧率可靠地传输视觉数据,即使在带宽下降的条件下也要保持鲁棒性。这一要求与高速平台和无人机特别相关。危险或微妙的任务,如隧道勘探、检查或开放空间任务,都需要可用的视觉流供人类监督,而不管平台的自主程度如何。在过去的几年里,机器人社区一直专注于开发机器人软件和架构的全球共享解决方案,以及处理多个平台和设备之间的数据通信。ROS2[39]是机器人平台的标准操作系统。它是基于数据分发系统(DDS)协议的中间件,其中应用程序节点通过具有发布者/订阅者机制的主题相互通信。然而,尽管最近尝试提高不同节点和平台之间的消息和数据包通信的可靠性和效率,但较重的数据传输,如图像流,尚未得到优化和可靠。
用于机器人在未知环境中远程操作和探索的典型实际设置由连接到同一无线网络的地面站和漫游车组成。如图9所示,我们采用这种地面站配置来测试通过ROS2主题的图像传输,任何机器人应用都应该这样做,以流式传输机器人看到的内容或接收视觉数据,并为自主导航和测绘提供感知和控制算法。在这个实验中,我们使用了安装在Clearpath Jackal机器人上的英特尔RealSense D435i摄像头和罗技C920网络摄像头,以及用于图像传输的Microhard BulletPlus8路由器。RealSense相机(机器人视觉感知的标准RGBD传感器)的可用图像分辨率为(320 × 240)和(640 × 480),而帧率通常在15到30 fps之间变化。
图9:户外环境下移动机器人应用的EdgeSRGAN高效图像传输系统。
尽管没有强大的带宽限制,传输延迟或部分数据包丢失,ROS2通信允许的最大分辨率和帧率非常低:我们发现在30 fps时,RGB的最大传输分辨率是(120 × 120),带宽为20 Mb/s,而将帧率降低到5 fps,限制是(320 × 240)。帧率和分辨率之间的这种严格权衡阻碍了机器人平台在任务中的高速运动,由于减少了场景监督,增加了碰撞的风险。即使在服务质量(QoS)设置(通过主题管理包的接收)中选择最佳努力,检测到的性能也总是很少。
采用我们的实时超分辨率系统,确保通过ROS2及时到达RGB和深度图像。由于EdgeSRGAN的快速推理性能,我们可以以高帧率(30 fps)流式传输低分辨率图像(80 × 60),并接收高分辨率输出:(320 × 240)与x4图像上采样和(640 × 480)与x8上采样,显示出标准性能的明显改进。我们的系统允许地面站通过一个简单的ROS主题访问流数据。因此,它在机器人远程操作和自主导航方面提供了多种竞争优势:高分辨率图像可以直接被人类操作员用于远程控制。此外,它们还可以用于满足计算量大的算法,如感觉运动代理、视觉里程计或视觉slam,我们可能更倾向于在地面站上运行,以节省机器人有限的电力资源,并显著提高任务的自主性水平。在图10中,我们报告了一个定性比较,以突出EdgeSRGAN在真实机器人场景中的有效性。我们特别考虑了苹果监控、葡萄园导航、自动探测车的无人机监控和隧道检查。
图10:在真实场景中应用EdgeSRGAN (×4)的定性演示(放大查看更多细节)。从上到下:苹果监控、葡萄园导航、无人驾驶探测车监控、隧道检查。
我们还在更一般的框架中测试视频传输性能,以重现所有潜在的带宽条件。我们使用著名的视频流库GStreamer9来改变可用带宽来传输视频样本。我们使用Wondershaper库逐步将带宽从10 Mbps降低到10 kbps,并在接收端测量帧率。编码是脱机执行的,以确保所有可用资源仅用于传输。事实上,大多数相机都提供硬件编码的视频源,而不需要软件压缩。为了与其他实验保持一致,我们继续使用(640 × 480)和(320 × 240)作为高分辨率,(160 × 120)和(80 × 60)作为低分辨率。每个实验进行10次,以检查结果的一致性。图11给出了不同带宽下的平均帧率。无需任何中间件(如ROS2)直接流式传输视频,可以保证更高的传输性能。然而,正如预期的那样,在低带宽的情况下,流媒体高分辨率图像是不可能的,帧率很快下降到非常低的值,导致不适合实时应用。另一方面,即使可用带宽较低,也可以以最小的帧丢进行低分辨率的流式传输。H264压缩表现出与MJPEG相同的行为,但转向更低的带宽。实际上,H264更加复杂和高效,因为它除了使用空间压缩之外还使用时间帧相关。在具有一定带宽限制的实际应用中,可以选择适当的低分辨率视频源和SR模型组合,以满足可用平台(CPU或Edge TPU)的所需帧率要求。该机制还可以根据当前连接动态自动激活和停用,以避免帧率下降,确保图像传输顺畅。
图11:使用MJPEG和H264压缩,在不同输入分辨率下视频传输的帧率结果与带宽之比带宽以对数尺度表示。
5 Conclusions and Future Works
在本文中,我们提出了一种利用生成对抗方法的SISR边缘人工智能模型。受流行的最先进的解决方案的启发,我们设计了EdgeSRGAN,它获得了可比的结果,在参数数量方面要小一个数量级。我们的模型比SRGAN快3倍,比ESRGAN快30倍,比SwinIR快50倍,同时保持相似甚至更好的LPIPS性能。为了获得额外的推理速度,我们将知识蒸馏应用于EdgeSRGAN,得到了一个更小的网络(EdgeSRGAN-tiny),在有限的性能损失下获得了额外4倍的速度。此外,模型量化用于优化模型,以便在Edge TPU上执行。同时,实现了网络插值,允许潜在用户在像素级保真度和感知质量之间平衡模型输出。在多个数据集上进行的大量实验证实了我们的模型在性能和延迟方面的有效性。最后,我们考虑了我们的解决方案在机器人远程操作中的应用,突出了EdgeSRGAN在传输带宽有限的许多实际场景中的有效性和鲁棒性。未来的工作可能会研究其他优化技术的影响,如修剪[32]和神经结构搜索[48]。此外,在变压器[34]等较新的架构上开发优化的Edge AI版本可能会在解决实时SISR方面带来优势。