-
摘要:
遥感影像是目前可以大范围获取海洋、大气和地球表面信息的数据资源,在农业、军事和城市规划等各个领域发挥重要作用. 但是在影像观测过程中会受到云雾等污染因素的影响,导致遥感影像信息缺失,在实际应用中造成巨大的资源损失和浪费. 因此,如何对遥感影像云雾覆盖区域进行检测并对其进行校正和修复是国内外专家广泛关注的具有挑战性的难点问题. 全面综述其研究进展,总结了现有遥感影像云层检测和去除的挑战;根据是否利用深度学习技术将云检测方法分为2大类,根据是否利用辅助影像将云去除方法分为3大类,依照不同方法特性系统分析和对比了其基本原理和优缺点;基于上述总结在2组遥感影像公开数据集上分别对4种云检测、4种薄云去除和4种厚云去除方法进行了性能评测;最后讨论了本领域目前仍存在的问题,对未来研究方向进行了预测,希望能够对该领域研究人员提供有价值的参考.
Abstract:Remote sensing images are the data resource that can acquire information about the ocean, atmosphere, and the earth’s surface, and have been widely applied in many fields, such as agriculture, military, and urban planning. However, clouds and hazes are inevitable factors when collecting images from satellites, resulting in the loss of information and causing a huge waste of data resources in practical applications. Therefore, how to detect and remove clouds from remote sensing images is a challenging and difficult task that draws a lot of experts’ attention. We comprehensively review current research progress and summarize the challenges of cloud detection and removal in remote sensing images. Cloud detection methods are divided into two categories based on whether using deep learning technology, and cloud removal methods are divided into three categories based on whether auxiliary images are used. Then, according to the characteristics of different methods, these methods are reviewed and analyzed systematically, including their advantages and disadvantages, respectively. Afterward, four cloud detection, four thin cloud removal and four thick cloud removal methods are evaluated on two remote sensing datasets. Finally, we discuss future challenges and predict future research directions. This review paper can provide valuable advice to scientists who are involved in remote sensing image processing.
-
Keywords:
- remote sensing images /
- cloud detection /
- cloud removal /
- thin cloud /
- thick cloud /
- deep learning
-
自Vaswani等人[1]提出Transformer架构以来,其核心组件——自注意力(self-attention)机制通过动态长程依赖建模能力,成功突破了传统卷积神经网络(CNN)在感受野限制上的桎梏. 这一突破催生了视觉Transformer(vision Transformer,ViT)模型[2]及其变体,并在计算机视觉领域引发范式变革. DeiT[3],Swin Transformer[4]等模型在图像分类领域超越ResNet系列[5],DETR[6]重构目标检测范式,MaskFormer[7]推动图像语义分割问题上的精度突破,ViT-GAN[8]在图像合成领任务中展现细粒度控制能力,DiT[9]增强了图像生成任务中的广度. 然而,其出色的性能背后是高昂的计算开销和内存占用. ViT-L模型参数量达307×106,单张224×224图像推理需190.7 GFLOPs[10]. 这与其在资源受限的边缘设备[11]上的部署需求形成显著矛盾.
为缓解ViT的硬件部署压力,模型量化(model quantization)是模型压缩的核心技术之一. 模型量化将32位浮点精度(FP32)权重或激活值映射至低位宽(如8/4 bit)整数空间表示,有效降低模型大小. 同时利用低位宽定点运算代替高精度浮点运算以加速模型推理性能. 训练后量化(post-training quantization,PTQ)[10-15]是一类高效实用的模型量化方法. PTQ方法基于统计先验的轻量化校准,仅需少量无标签校准数据甚至不需要校准数据即可完成模型量化,其免训练特性能够适配边缘设备实时部署需求.
多种 PTQ 方法被用于 ViT 量化[10-15]. 针对ViT中的特定层的输出激活,采用复杂高阶函数 [13,16]、Hessian矩阵指导的度量方法[12]等进行量化指导和补偿,在 8/6比特量化中取得了成效. 然而,将现有PTQ方法应用于低比特(如 4 bit)量化中时仍然面临不可忽视的挑战:
1)低位宽表示引起模型性能衰减. ViT中激活值的高维特征空间存在显著长尾分布现象,同时将大量数据聚合到少量点位上的不恰当拟合导致的量化损失也无法通过反量化得到补偿.
2)量化策略与计算特性的错位匹配. ViT架构,如ViT-Base,线性层FFN,QKV Gen,Proj等占据了80%以上的计算开销,其计算密度是LayerNorm的98倍、Softmax的294倍,GELU的45倍[18]. 然而,现有研究更多地强调非线性层的特殊分布和激活量化,忽视了ViT自身的计算特性和资源利用特性,缺乏量化算法与计算加速相结合的全局性视角.
3)硬件适配性缺失. 现有PTQ量化算法与底层硬件架构的协同设计存在显著差距. 尽管多数方法宣称硬件友好性,但出于模型精度考虑,量化数据需要在计算前反量化到原始精度后再进行计算,并未充分利用硬件支持的低位宽计算以提升计算性能.
针对上述3方面的挑战,本文从“量化-计算联合优化”出发,针对ViT低位宽量化场景展开系统性研究. 通过分析量化敏感度并借助z-score方法,揭示了低比特量化误差与计算效率间的耦合作用机制,并发现其与异常激活特征及概率分布特性的内在关联规律:
1)量化-计算的非一致性. 量化导致性能衰减强的部分并不意味着其也是高计算/存储开销部分. 这表明即使对该部分设计了精细的量化算法,量化带来的计算收益和存储收益都可能相当有限.
2)高量化敏感度均表现出显著离群值(outlier)现象,同时,实验中还观察到离群值的普遍存在. 这表明低位宽量化的关键在于高动态范围的离群值表征与低位宽约束间的本质冲突,而非单纯源于数据的长尾分布或高斯分布本身.
3)数值分布中存在的普适约束性. 尽管ViT激活分布中呈现明显的非高斯特性(长尾分布),其数值范围仍然保持了高度集中性,即至少97%的数据呈现出聚集现象.
基于上述发现,本文提出面向ViT的PTQ自适应分治量化(divide-and-conquer and adaptive quantization,DAQ)方法. DAQ在保持硬件兼容性的前提下实现4-bit量化的性能突破,主要贡献有3点.
1)针对量化-计算/存储开销联合分析,揭示ViT系列模型中的2个关键规律:一是计算密集型层与量化敏感层存在显著空间错位(如Softmax层量化可带来80%的性能下降却仅占8%的计算负载);二是借助z-score方法发现非高斯分布中隐藏数值集中特性(97%激活值分布仍呈类高斯分布的聚集性),突破传统高斯假设局限.
2) 基于贡献1)提出了针对ViT的4-bit PTQ量化方法DAQ. DAQ支持融合分治策略与自适应参数调节:分治策略基于数据聚集性,利用动态感知的z-score方法将数据划分为正常值与离群值,自适应参数动态调节划分范围以获得更高量化性能. 基于量化-计算瓶颈分析的结论,DAQ以层归一化(layers normalization,LN)和GELU输出激活量化出发,形成了普适性的量化方法. DAQ在不同模型、不同量化对象的实验中都表现出SOTA性能,获得了最大达4.37%的精度提升,目标检测任务上4-bit量化模型的平均精度损失低至0.4%. 在DeiT-T和Swin-S上达成的量化模型超越全精度模型.
3)DAQ充分考虑量化-计算协同设计,提出计算友好的均匀关联量化方法,同时依靠加速器硬件架构如GPU Tensor Core等加速内核,实现低位宽定点计算代替高位宽浮点运算,实验显示DAQ未引起明显性能降低,同时对线性计算有2%的计算加速.
1. 相关工作
PTQ作为深度学习模型压缩领域的主流范式,因其无需微调的特性而具备显著的操作便捷性. 缺乏训练阶段的误差补偿机制也导致PTQ方法在低位宽(如4 bit)动态激活值量化场景中面临严峻的精度保持挑战. 针对ViT架构的激活量化研究,现有方法可根据量化对象划分为以下3类: Softmax输出激活(post-softmax activation)量化、GELU输出激活(post-GELU activation)量化和LayerNorm输出激活(post-LayerNorm activation)量化.
针对Softmax输出激活,FQ-ViT[10]采用非均匀的log2量化方法,为其中的高频小值分配更多更精细的量化点以获得更小的量化误差. PTQ4ViT[11]引入的孪生均匀量化(twin uniform quantization)方法将Softmax输出激活分成2个独立的量化区间以实现更为细致的量化过程,其由2个唯一但不独立的缩放因子控制,2个缩放因子之间具有2k倍的关联性;APQ-ViT[13]利用Softmax函数的马修效应(Matthew effect),实现了一种非对称线性量化方法以改善量化误差的分布. RepQ-ViT[14],RepQuant[15]先采用log√2量化以更好地拟合具有幂律分布的注意力分数,随后对缩放因子重参数化以使其基数为2,从而在推理中实现以快捷移位计算代替反量化. TSPTQ-ViT[19]利用非正态分布值中的位稀疏性为Softmax输出激活的不同区域分配不同的比例因子以获得更小量化误差.
对于GELU输出激活,PTQ4ViT[11]仍然采用了与Softmax输出激活相一致但将区间划分改为由符号决定的孪生均匀量化方法. TSPTQ-ViT[17]也采用了类似的双区域策略,并针对GELU输出激活值中的符号位适应性处理.
对LayerNorm输出激活,FQ-ViT[10]提出PTF(power-of-two factor)量化方法. 作为一种逐通道量化方法的变形,PTF按通道尺度分配量化调节因子α,缩放因子取2αs而非s. RepQ-ViT[14]针对LayerNorm输出采用逐通道量化后再调整量化参数缩放因子s和零点偏移z,同时修改了LayerNorm对应的权重参数. RepQuant[15]扩展了逐通道双边阶段策略以实现更为准确的量化,最大限度减少量化空间内的偏差. TSPTQ-ViT[17]则利用K-means算法筛选离群值后,选择一组线性正常值基于Hessian-Guide方法求解缩放因子,该过程可与权重的缩放因子联合优化以获得更佳性能.
当前基于PTQ的ViT量化研究存在3个方面的局限:1)低位宽(4 bit)量化性能下降严重;2)量化算法泛化性不足,现有方法普遍针对特定分布和层量化,过分精细地针对性量化设计而导致方法扩展性和适应性不佳;3)硬件部署低效. 尽管多数方法宣称硬件友好性,但量化/反量化开销实际上降低了计算效率,同时量化方法也未充分利用新一代AI加速器特性等,缺乏直接利用量化计算加速的相关实践.
2. 预备知识
2.1 ViT
ViT[2]是基于Transformer编码器结构的图像分类模型. ViT将原本CNN中的卷积结构用Transformer替换,实现了Transformer架构从自然语言处理(natural language processing,NLP)领域到计算机视觉(computer vision,CV)领域的迁移. 为了进一步提高性能,ViT 的变体如 DeiT[3] 和 Swin [4]相继被提出,并在图像分类[1,18-19]、目标检测[6,20-21]、语义分割[22-23]、图文生成[24]等计算机视觉任务中取得了巨大的成功.
图1展示了ViT模型的组成结构. ViT由图像块嵌入(patch embedding)和L个Transformer 编码器模块(block)构成. 具体而言,ViT首先将输入大小为H(高度)×W(宽度)×C(通道数)的图像分割为 N 个大小为P×P的非重叠图像块(patches),经过线性嵌入将每个图像块展平为一维向量后线性投影到 d 维嵌入空间中,得到图像输入张量 \boldsymbol{X}\in {\mathbb{R}}^{N\times d} 并参与到一系列Transformer编码器模块的计算中. 每个编码器模块由一个多头自注意(multi self-attention,MSA)子模块和一个前馈神经网络(feed-forward neural network,FFN)子模块组成,每个子模块后添加残差连接和LN.
编码器模块的计算过程可以用公式统一描述为:
{\boldsymbol Y}_{l}=MS A\left(LN\left({\boldsymbol X}_{l-1}\right)\right)+{\boldsymbol X}_{l-1}\text{,} (1) {\boldsymbol X}_{l}=FFN\left(LN\left({\boldsymbol Y}_{l}\right)\right)+{\boldsymbol Y}_{l}\text{,} (2) 其中 l=\mathrm{1,2},… ,L 表示编码器模块编号索引. 如图1所示,MSA子模块通过多头自注意力机制学习不同图像块间的关联性:
\left[{\boldsymbol{Q}}_{i},{\boldsymbol{K}}_{i},{\boldsymbol{V}}_{i}\right]=QKVGen\left({\boldsymbol{X}'}\right)={\boldsymbol{X}'}{\boldsymbol{W}}^{QKV}+{\boldsymbol{b}}^{QKV}x \text{,} (3) Att{n}_{i}=S oftmax\left({\boldsymbol{Q}}_{i}{\boldsymbol{K}}_{i}^{\rm T}/\sqrt{{d}_{h}}\right){\boldsymbol{V}}_{i}\text{,} (4) MS A\left({\boldsymbol{X}'}\right)=Proj\left(Att{n}_{1},… ,Att{n}_{h}\right)=Attn{\boldsymbol{W}}^{p}+{\boldsymbol{b}}^{p}\text{,} (5) 其中 i=1,… ,h ,h表示自注意力机制中的多头数, {\boldsymbol{W}}^{QKV}\in {\mathbb{R}}^{d\times 3{d}_{h}},{\boldsymbol{b}}^{QKV}\in {\mathbb{R}}^{3{d}_{h}},{\boldsymbol{W}}^{p}\in {\mathbb{R}}^{h{d}_{h}\times d},{\boldsymbol{b}}^{p}\in {\mathbb{R}}^{d} . QKV Gen基于输入激活 \boldsymbol{X}' 计算Q、K、V矩阵,Proj投影层通过线性计算得到MSA的输出结果. Transformer结构的二次复杂性来源于自注意力机制中的Softmax过程. \boldsymbol{Q}{\boldsymbol{K}}^{\rm{T}} 的计算复杂度为 O({N}^{2}d) , \boldsymbol{Q},\boldsymbol{K}\in {\mathbb{R}}^{N\times d} ,因而自注意力机制的计算复杂度随着输入维度N的增长而二次增加. 在大语言模型(large language model,LLM)中,输入长度和上下文长度一般远超过隐藏维度d,大量计算开销会集中于自注意力机制. 但ViT与LLM有一个显著区别:当输入图像分辨率不变时,ViT划分输入图像为子图时采用的划分数量N一般也固定不变. 因此,ViT模型的计算瓶颈与LLM模型的计算瓶颈并不完全一致.
FFN模块将特征投影到更高维度来学习特征的不同表达. 设FFN的输入为 \boldsymbol{Y}' ,FFN的计算过程为:
FFN\left({\boldsymbol Y'}\right)=GELU\left({\boldsymbol Y'}{\boldsymbol W}^{\rm FC1}+{\boldsymbol b}^{\rm FC1}\right){\boldsymbol W}^{\rm FC2}+{\boldsymbol b}^{\rm FC2}. (6) 2.2 量 化
模型量化(model quantization)是模型压缩领域的关键技术之一. 其核心目标是将高位宽浮点数表示的权重(weights)和/或激活值(activations)用较低位宽定点数表示,从而显著减少内存占用和带宽需求. 同时,通过用低位定点运算代替高位浮点运算,有望提升计算吞吐率并降低能耗,加速模型推理过程.
2.2.1 量化对象
需要量化的目标张量可以分为权重量化和权重-激活量化.
权重量化仅量化模型静态权重,减少模型参数,量化过程通常不需要或者只需要小部分校准数据集参与. 但仅量化权重通常无法获得计算性能的提升,反而由于需要在推理过程中保持计算精度而增加反量化开销.
权重-激活量化则是同时量化静态权重和动态激活. 激活值由模型推理过程动态产生,因而需要校正数据集来辅助预测激活值的范围并设计相应的量化方法. 权重-激活量化能带来存储和计算2个维度上的优势.
DAQ主要针对激活量化,但可以和其他权重量化方法结合,同时对权值-激活量化.
2.2.2 量化粒度
根据共享量化参数的范围,量化粒度由粗到细可以分为逐层量化、逐组量化和逐通道(channel)/Token量化3类.
逐层量化以一个层的输出激活值或整层的权重为单位,特征张量共用一组缩放因子(scale factor)s和零点(zero point)偏移z .
逐组量化是对目标张量进行分组,以组(group)为单位,组内共享缩放因子s和零点偏移z ,组间的量化参数可以不同. 当组等于1时,逐组量化与逐层量化等价;当以通道或者Token为分组单位时,逐组量化就是逐通道/Token量化.
当量化粒度越细,量化参数包含的补偿信息越多,量化误差越小,但量化过程越复杂,量化和量化后相关的计算效率越低. 因此逐层量化因参数简单而硬件友好度最高,本文中DAQ采用粗粒度逐层量化.
2.2.3 均匀量化和非均匀量化
根据量化方法中的取值域是否等间隔,量化可以分为均匀量化(uniform quantization)和非均匀量化(non-uniform quantization).
均匀量化因其数学形式简洁且硬件友好而成为工业界应用最广泛的量化方案. 其核心思想是将实数域映射到等间隔离散量化电平上,数学形式定义为:
Q\left(x;b,s,z\right)=clip\left(\left\lceil \frac{x-z}{s}\right\rfloor ,0,{2}^{b}-1\right)\text{,} (7) 其中 x\in \mathbb{R} 为待量化数据, b\in {\mathbb{Z}}^{+} 表示量化位宽, z\in \mathbb{R} 为零点偏移, s\in {\mathbb{R}}^{+} 为缩放因子. \lceil \cdot \rfloor 表示近似取整的数学函数,可以是四舍五入、向上/向下取整等. clip函数为截断函数.
clip\left(x;a,b\right)=\left\{\begin{aligned} & a,\;\;{\rm{if}}\;x < a\text{,}\\ & x,\;\;{\rm{if}}\;a\le x\le b\text{,}\\ & b,\;\;{\rm{if}}\;x > b.\end{aligned}\right. (8) 均匀量化的反量化过程为:
DeQ\left(\hat{x};s,z\right)=\left(\hat{x}+z\right)s . 均匀量化参数计算高效,仅需确定z 与s即可完成全域映射,时间复杂度为O(1). 同时等间隔特性也使利用量化数据进行计算更加简便. 但另一方面,单一均匀量化对长尾分布数据的适应性较差,易导致尾部区域的量化误差累积.
非均匀量化作为处理非对称数据分布的关键技术之一,对具有显著长尾特征的数据建模更为精确. 研究者提出了多种非线性量化函数如指数量化[10]、对数量化[16]等. 非均匀量化的难点在于计算复杂度高以及难以找到合适的非均匀量化映射函数.
2.2.4 量化与模型训练
基于量化过程与模型训练的耦合程度,现有方法可分为量化感知训练 (quantization-aware training,QAT)和训练后量化 (post-training quantization,PTQ).
QAT通过将量化噪声注入前向传播过程,联合优化模型参数与量化器超参数(如缩放因子s、零点偏移z ). 尽管QAT能通过端到端微调获得更高的量化模型性能,但其重训练过程计算开销高昂. 另一方面,QAT依赖大规模数据进行微调,微调过程本身也可以导致模型无法收敛,也不适用于小样本数据集或样本获取困难的场景.
PTQ则提供了一种无需训练的方法(或用于校准目的的最小训练成本),以实现快速有效的量化. 同时,PTQ可直接生成符合INT8/FP16等工业标准的量化模型,硬件兼容性更高. 低计算成本、易部署的特性使得PTQ方法在资源受限的边缘计算场景中展现出更优的工程可行性.
本文研究专注于PTQ低位宽(4 bit)的量化实现.
3. 模型分析
ViT低位宽量化的核心挑战在于动态激活值的高效量化. 为了充分利用ViTs中的数据特性,本节将分析ViT激活量化瓶颈及量化计算效率,挖掘低位宽量化引起性能衰减的原因,探索量化有效目标,指导低位宽量化方法的设计.
3.1 低位宽量化瓶颈分析
为了定位ViT模型低位宽量化的瓶颈所在,本节将基于ViT-S架构开展分层量化敏感性分析,采用Min-Max均匀量化算法[16],针对不同功能层LayerNorm,Softmax,FFN,GELU等的输出激活值实施6/5/4比特低位宽量化,评估单一模块量化对模型性能的影响(ImageNet数据集上 Top-1模型的精度变化),量化当前模块的输出等价于量化下一模块的输入. 测试结果如图2所示. 为便于分析,图2中的模块量化精度顺序由高到低排序,而非按照模块中计算顺序LN、QKV Gen、Softmax、Proj、FC1、GELU、FC2进行排序.
图2表明,不同层对低位宽量化误差敏感度不同,从而导致模型实际性能下降有所区别. MSA模块中的QKV Gen和Proj线性层的输出激活,随着量化位宽精度的下降而引起的模型精度衰减并不明显;但当量化位宽低于某个阈值,比如5 bit时,LN和FC1的量化误差传递给下一层后都出现了较为明显的精度下降,下降为25%~35%;而GELU,Softmax和FC2层输出激活量化与模型的性能损失呈强正相关性;即随着量化位宽逐渐减小,模型精度迅速衰减. 当采用4 bit量化FC2输出时,量化误差造成模型性能崩溃.
为了进一步研究部分层输出激活明显受量化位宽影响的原因,图3分析了其输出激活的分布状态. 其中,LN2(第2个Layer Norm的输出),FC1和FC2的输出激活都服从或近似服从正态分布,但明显存在高动态范围的离群值;非线性层GELU和 Softmax的输出呈现显著的长尾特性,其离群值亦导致特征张量的动态范围呈指数级扩展.
因此,实验表明量化性能下降的核心矛盾在于异常值表征与低位宽约束间的本质冲突,而非单纯源于数据的长尾分布或高斯分布本身.
图4为将离群值研究扩展到其他ViT系列模型中的表现,统计了ViT及其变体模型推理过程中所有激活张量的极大值与极小值. 图4显示离群值现象在ViT模型中保持跨模型的一致性和显著性. 这与LLM中离群值仅在模型规模较大(≥7 B参数)时才观察到的现象[25]不同,ViT模型即使在微型架构(如ViT-Tiny,5×106参数)也表现出显著的激活离群值现象. 而且,Llama 7B[26]中的离群值变化幅度(9.7)[15]远低于ViT( {10}^{2}\sim {10}^{3} ).
跨模型尺度的离群值泛在现象进一步表明,传统均匀量化方法下,低位宽(4 bit及以下)的有限表征能力将导致显著的离群值信息损失,进而损害模型性能.
为量化分析ViT中的离群值,本文利用统计学方法中的标准分数z-score来评估数据的偏离程度以判定离群值. z-score的计算方法为:
Z\left(x\right)=\frac{x-\mu }{\sigma }\text{,} (9) 其中, \mu ,\sigma 分别为原始数据的均值和标准差. 以z-score的绝对值作为离群值的判断指标且参考概率统计学意义上的高z-score,图5展示了ViT-S/DeiT-B/Swin-S推理过程中产生的每个层激活的高z-score(>3或>6)的占比情况,离群值占比最高约3%.
图5也从另一方面揭示了ViTs中数值分布的集中性规律,即至少97%以上的激活值在标准化空间内呈现紧密聚集特性,而且这种聚集性并不因激活数值分布的不同而改变.
ViT量化中的离群值低位宽表征以及数据聚集性启发本文建立离群值驱动的分段量化,即基于激活值呈现的“集中正常值+稀疏离群值”,DAQ采用分治量化策略,对正常值和离群值用均匀量化但关联的量化参数,既避免全局量化的模型性能下降,又能保持整体计算效率.
3.2 量化-计算分析
量化的另一个潜在优势是利用低位宽定点计算替代高位宽浮点运算从而获得计算加速. 首先需要识别计算密集型关键运算层,从而利用低位宽量化加速.
本文研究在Nvidia RTX 3090[27]硬件平台上,从ImageNet-1K测试集[28]中随机选取100张图片在ViT-S模型上进行前向推理,测试各计算层时延和平均参数开销占比及4-bit量化模型精度损失百分比,结果如表1所示.
表 1 ViT-S层精度下降/存储/计算占比分析Table 1. Percentage Analysis of Accuracy Reduction/Storage/Calculation proportion of ViT-S layer层 计算平均
时延占比/%参数+激活
存储占比/%量化精度
下降/%LN 6 5 32 QKV Gen 21 17 4 Softmax 2 8 84 Proj 9 8 9 FC1 27 22 40 GELU 4 10 65 FC2 31 30 98 注:最大值用黑体数值表示,最小值用下划线数值表示. 表1从计算、存储量化精度3方面研究了量化-计算开销错位的情形. 实验结果表明,仅关注数据的特殊分布而设计的量化方法在量化效能上可能是次优甚至低效的. 量化方法需要与计算实践相结合,才能有效获得存储\计算性能上的提升.
如表1所示,尽管Softmax激活输出呈现量化位宽高度敏感性(模型精度衰减达84%),但其关联层Proj的计算平均开销和存储开销分别仅占9%和8%. 这说明即使采用细粒度量化Softmax输出激活以保持模型精度,但对模型压缩和推理加速方面的贡献收益仍然十分有限.
相较而言,LayerNorm与GELU的激活输出作为QKV生成器和全连接层(FC1/FC2)的核心输入,其在存储占用和计算加速双维度均呈现显著优化潜力(二者计算延时和存储占比分别高达87%和75%). 其他如QKV Gen和Proj输出激活的量化对模型性能和计算能效的提升并不显著,模型精度保持也较好.
根据表1的综合分析,本文将针对LN和GELU的输出激活作为关键量化对象,充分考虑量化方法本身的复杂性和量化后数据的硬件友好性,提出了基于z-score方法的关联量化方法DAQ.
值得说明的是,虽然本文研究的量化算法关注LN和GELU的输出激活,但DAQ本质上提供了一种抽象的处理模型以应对ViT量化中的不同数据分布. 因此,DAQ不仅对除LN和GELU之外的层的激活量化仍然适用,也支持ViT中的呈典型高斯分布的权重量化,无疑增加了DAQ方法的统一性和普适性.
4. DAQ:基于z-score的自适应分治量化方法
DAQ采用了分治-量化的思路,以z-score方法作为分治基准,结合硬件友好的均匀关联量化算法. 图6描述了DAQ量化流程. 值得强调的是,虽然DAQ从量化能效最大化的角度出发选择LN和GELU输出激活作为关键量化对象,但DAQ方法对其他计算模块(如图6左侧ViT模块中部分填充的层)同样适用.
DAQ经由z-score将输入数据划分为正常值集X_1 与异常值集X_2 :
X_2=\left\{{x}_{i}|\,|Z\left({x}_{i}\right)| > \tau \right\},\;\;\tau \in {\mathbb{R}}^+. (10) ViT激活中隐含的跨分布的数据集中性使z-score方法突破了传统方法对先验分布假设的依赖,实现了跨分布的离群值检测方法. 尽管z-score方法简洁易行、计算高效(时间复杂度O(n)),但其在实际应用中存在3个问题:
1)统计量估计的冗余存储/计算开销. z-score方法中隐式使用了数据的均值 \mu 和标准差 \sigma . 求取数据全局标准差涉及到数据的二次访问和串行计算开销,加重了资源受限的设备的存储和访存压力.
2)单一静态全局阈值不匹配高动态变化激活值域. 当ViTs中的激活张量呈现出显著非高斯特性时,特别是长尾分布场景下,单一静态全局阈值难以适应其特征空间的动态统计特性.
3)数据规整性破坏引起的存储效率降低. 对正常/离群值集采用混合精度量化可能导致特征张量在内存中的非对齐存储,降低访存效率.
针对问题1),4.1节提出了利用数据极值估计标准差的方法,离线求解估测系数 \alpha ,简化标准差的计算过程,减少数据二次访问. 针对问题2),4.2节提出动态分布阈值 \tau 感知算法:通过离线校正阶段的代表性样本分布特征,对具有不同分布特征的数据动态自适应调节阈值 \tau . 同时,问题1)和问题2)中的参数可以通过联合优化进一步提升算法性能和效率. 4.3节提出的均匀关联量化用于解决问题3). 该量化方法保持数据存储的地址对齐特性,实现数据的高效存取.
为了便于后续行文表达,表2对5个常用的重要变量进行说明.
表 2 变量含义Table 2. Meanings of Variables变量名称 含义 \boldsymbol{X} 目标特征张量 {\boldsymbol{X}}_{1} 目标特征张量中的正常值集 {\boldsymbol{X}}_{2} 目标特征张量中的离群值集 \hat{\boldsymbol{X}} \boldsymbol X 的量化表示 \tilde{\boldsymbol{X}} \boldsymbol X 的反量化结果 4.1 标准差估计方法
为了减轻计算统计量均值 \mu 和标准差 \sigma 带来的计算/访存增加,同时避免引入高昂的除法代价[26],DAQ提出利用极差估计标准差的自适应方法. 这个方法的有效性来源于z-score方法允许标准差存在可接受的精度误差,如 {10}^{-2}\sim{10}^{-3} ,而不影响筛选结果.
通过均值 \mu 、P个极值和估测系数 \alpha 可以近似计算标准差 \sigma :
\sigma \approx \sqrt{\left(\displaystyle\sum_{i=1}^{p}{\left({M}_{i}-\mu \right)}^{2}+\alpha L\right)/L}. (11) 下面对式(10)的理论有效性进行推导. 为了便于说明,设待量化 \boldsymbol{X}={\boldsymbol{X}}_{1}\cup {\boldsymbol{X}}_{2} . 如3.1节中观察到的数值集中分布特性,正常值 {\boldsymbol{X}}_{1} 占比高达97%以上,离群值 {\boldsymbol{X}}_{2} 仅占少量.
待量化X的总体标准差 \sigma 满足:
L {\sigma }^{2}=\displaystyle\sum_{i=1}^{L}{\left({x}_{i}-\mu \right)}^{2}=\displaystyle\sum_{{x\in \boldsymbol{X}}_{1}}{\left(x-\mu \right)}^{2}+\displaystyle\sum_{{x\in \boldsymbol{X}}_{2}}{\left(x-\mu \right)}^{2}\text{,} (12) 其中L为待量化X的数据总量.
当 x\in {\boldsymbol X}_{2} 当时,不妨设 x={x}_{1}+{x}_{2},{x}_{2}\in {\boldsymbol X}_{2},{x}_{1}\in {\boldsymbol{X}}_{1}\cup \{0,\mu \} . 且我们将 {\boldsymbol{X}}_{2} 视作服从正态分布,式(12)可以表示为:
\begin{split} L{\sigma }^{2}=& \displaystyle\sum_{{x\in \boldsymbol{X}}_{1}}{\left(x-\mu\right)}^{2}+\displaystyle\sum_{{{x}_{1}\in \boldsymbol{X}}_{2}}{\left(\left({x}_{1}-\mu\right)+\left({x}_{2}-\mu\right)\right)}^{2} \approx\\ & \displaystyle\sum_{x\in \boldsymbol{X}}{\left(x-\mu\right)}^{2}+\displaystyle\sum_{{{x}_{1}\in \boldsymbol{X}}_{2}}{\left({x}_{1}-\mu\right)}^{2}=L{\hat{\sigma }}^{2}+\displaystyle\sum_{{x}_{1}\in {\boldsymbol{X}}_{2}}{\left({x}_{1}-\mu\right)}^{2}. \end{split} (13) 进一步地,用极值表示关于 {\boldsymbol{X}}_{2} 的和. 假设取绝对值最大的P个数据,那么有:
\displaystyle\sum_{{x}_{1}\in {\boldsymbol{X}}_{2}}{\left({x}_{1}-\mu\right)}^{2}=\displaystyle\sum_{i=1}^{P}{\left({topk}\left({\boldsymbol{X}}_{2}\right)\left[i\right]-\mu\right)}^{2}+\delta ,{x}_{1}\in {\boldsymbol{X}}_{2}. (14) \mathrm{\delta } 表示用P个极值表示后的值与原式的值之差. 将 \mathrm{\delta } 记为 {\delta }=\gamma L ,那么可以得到最后的计算结果:
L{\sigma }^{2}=\left({\hat{\sigma }}^{2}+\gamma \right)L+\displaystyle\sum_{i=1}^{P}{\left({topk}\left({\boldsymbol{X}}_{2}\right)\left[i\right]-\mu\right)}^{2}. (15) 至此,我们得到了用P个极值近似估计标准差的方法. 将 \alpha = ({\hat{\sigma }}^{2}+\gamma ) 视作变量,通过自适应算法求解 \alpha ,就能得到不同特征张量的标准差估计. 以最小化估计标准差与实际标准差之间的平方和作为优化目标,自适应求解估测系数 \alpha ,具体算法如算法1所示.
算法1. 自适应求解估测系数 \alpha .
输入:校正集C,估测系数 \alpha ,极值个数P,校正集数量c;
输出:估测系数 \alpha .
① 初始化 \alpha =1 ;
② {\rm for}\;i\;{\rm in}\;\left[0:c:1\right]\;{\rm then}
③ 计算 {C}\left[i\right] 的均值 \mu 和标准差 \sigma ;
④ \boldsymbol{P}=topk\left(abs\left({C}\right[i\left]\right),P\right) , \boldsymbol{P}\in \mathbb{R}^{P} ;
⑤ L=length\left({C}\right[i\left]\right) ;
⑥ \sigma'=\sqrt{{(\left(\boldsymbol{P}-\mu \right)}^{2}+\alpha L)/L} ;
⑦ {\alpha '}=\mathop{\rm arg\,min}\limits_{\alpha }{\|\sigma -\sigma'\|}_{2}^{2} ;
⑧ \alpha =(\alpha \times i+\alpha')/(i+1) ;
⑨ end for
⑩ return \alpha .
标准差估计算法减少了平方运算,但其更重要的意义在于避免了二次逐元素遍历数据,极值、均值求取可以同时完成. 在测试过程中发现,离线求解 \alpha 仅需要极少量数据即可完成(4~12个样本).
另一方面,算法中的超参数——极值个数P的取值并不是一个决定性因素. P的取值变化所引起的计算误差会自适应补偿到估测系数 \alpha 中. 在实际应用中,我们实验性地采用了 P=8,16,32 等较小数值,均能达到估计标准差与实际标准差的误差在 {10}^{-3} 之内(与校正集数据比较).
4.2 动态分布阈值 \tau 的感知算法
传统z-score方法采用全局静态阈值策略,假设所有张量数据服从单一分布特性. 这一假设违背了ViT权重以及激活值的分布异质性. 如图3所示,ViT模型中不同层的激活值呈现显著分布差异. 基于此,DAQ提出动态分布阈值 \tau 感知算法以推广z-score方法到所有权重和激活中.
阈值 \tau 优化目标为使反量化后的张量 \tilde{\boldsymbol{X}} 与原始张量X之间误差最小,如式(16)所示.
\mathop{\rm arg\,min}\limits_{\tau }{\|\boldsymbol{X}-\tilde{\boldsymbol{X}}\|}_{2}^{2}. (16) 算法2. 阈值 {\tau } 自适应算法.
输入:校正集C,估测系数 \alpha ,极值个数P,校正集数量c;
输出:阈值 \tau .
① {\rm for}\;i\;{\rm in}\;\left[0:c:1\right]\;{\rm then}
② 算法1计算均值 \mu 、标准差 \sigma 和极值列表 p ;
③ {\boldsymbol{X}}_{2}={C}\left[i\right] > \left(u+\tau \sigma \right)\left|{C}\right[i] < \left(u-\tau \sigma \right) ;
④ {\boldsymbol{X}}_{1}={C}\left[i\right]\setminus \boldsymbol{X}_2 ;
⑤ \tilde{\boldsymbol{X}}_{1}=Dequant\left(NormQuant\right({\boldsymbol{X}}_{1}\left)\right) ;
⑥ \tilde{\boldsymbol{X}}_{2}=Dequant\left(OutlierQuant\right({\boldsymbol{X}}_{2}\left)\right) ;
⑦ {\tau '}=\mathop{\rm arg\,min}\limits_{\tau }{\left\|(\tilde{\boldsymbol{X}}_{1}+\tilde{\boldsymbol{X}}_{2}\right)-\left({\boldsymbol{X}}_{1}+{\boldsymbol{X}}_{2})\right\|_{2}^{2}} ;
⑧ \tau =(\tau \times i+\tau')/(i+1) ;
⑨ end for
⑩ return \tau .
动态分布阈值 \tau 感知算法有2方面的核心优势:1)算法普适性. 阈值 \tau 将正常值与离群值区域分割,两者既可独立量化也可联合量化,适配任意量化方法;2)参数轻量化. 仅需离线求解阈值 \tau ,测试中通过滑动平均法(4~12个样本)快速收敛,避免复杂优化计算.
另外,算法1和算法2可以联合优化,同时求解估测系数 \alpha 和阈值 \tau . 自此,z-score计算所涉及到的参数都已求解完成.
z-score分域结果为与输入张量同样维度的离群值位图. 为了简化计算,筛选离群值时将求得的每个元素的z-score值与阈值 \tau 做比较转换为与阈值 \tau 代表的数值逐元素比较,减少了逐元素计算z-score,具体算法如算法3.
算法3. z-score方法筛选离群值.
输入:张量X,估测系数 \alpha ,极值个数P,阈值 \tau ;
输出:离群值位图M,极值列表p.
① 算法1计算均值 \mu 、标准差 \sigma 和极值列表 p ;
② up=\left(u+\tau \sigma \right) , down=\left(u-\tau \sigma \right) ;
③ {\rm for}\;i\;{\rm in}\;\left[0:L:1\right]\;{\rm then}
④ {\rm{if}}\;\boldsymbol{X}\left[i\right] > up,\;\boldsymbol{X}\left[i\right] < down then
⑤ M\left[i\right]= 1 ;
⑥ else
⑦ M\left[i\right]=0 ;
⑧ end if
⑨ end for
⑩ p=p+[up,down];
⑪ return M,p .
4.3 均匀关联量化
基于4.2节的z-score检测离群值后,原始数据被划分为正常值 {\boldsymbol{X}}_{1}=\{x\|Z(x)|\le \tau \} 与离群值 {\boldsymbol{X}}_{2}= \{x\|Z (x )| > \tau \} . 该过程同时记录全局极值 {x}_{\max} 与 {x}_{\min} 、正常值集极值 \mu +\tau \sigma 和 \mu -\tau \sigma . 这正是均匀关联量化所需要的关键边界值. 全局极值是正负离群值集中的最大值或最小值,而正常值集极值亦是正负离群值集的临界值. 这些边界值为后续量化参数计算提供统计基准.
针对 {\boldsymbol{X}}_{1} 与 {\boldsymbol{X}}_{2} 的数值特性,受到分治思想的启发,DAQ提出的均匀关联量化方法采用双域协同优化策略,其流程包含2个阶段:对z-score分域后的各域独立设置量化参数,再通过参数调整提升计算效率. 具体算法过程如图6所示.
如图7所示,空白框图描述了各域的均匀量化步骤. 根据区间极值列表p和目标量化位宽b,分别计算正常值集、正离群值、负离群值集3个区间的缩放因子s, {s}_{+} , {s}_{-} 以及零点偏移z, {z}_{+} , {z}_{-} 后量化X.
图7中阴影框图则为提升计算效率而设计. 多尺度量化参数阻碍了直接利用量化后数据参与计算. 为保持线性计算的高效性,需要对缩放因子和零点偏移做正常值集和离群值集间的关联调整.
对缩放因子引入归一化缩放系数 {k}_{\pm } ,采用幂次缩放对齐策略求解相应的正/负离群值的归一化因子:
{s}_{\pm }{2}^{\left\lceil {{{\rm lb}}}{\tfrac{{s}_{\pm }}{s}}\right\rfloor }={2}^{{k}_{\pm }}\cdot s (17) 通过将离群值集的缩放系数调整为正常值集的2的幂次方倍,缩放因子尺度不同带来的影响可以通过简单的移位操作进行消除.
另一方面,零点偏移而引起的乘法交叉项可能减弱低位宽量化数据计算带来的增益. 关于零点偏移如何影响计算将在5.1节中详细阐述. 本节只阐释零点偏移如何产生以及如何利用平移补偿消除零点偏移.
数据平移并不改变正常值集和异常值集的区分和极值区间长度. 记 {\varDelta } ,{{\varDelta }}_{+} , {{\varDelta }}_{-}\in \mathbb{R}分别为正常值集、正离群值集、负离群值集的补偿偏移.
图8中横轴表示待量化X的数值范围,左、右两侧黑色间隔分别表示量化后的负、正离群值,中间浅色刻度表示量化后的正常值. 横轴“0”为真实0值. 零点偏移刻画的是量化值“0”与真实值“0”之间的偏移量. 原始数据除以缩放因子后得到的量化数值分布如图8(a)所示. 量化数值需减去零点偏移以满足量化位宽b的表示范围,如图8(b).
离群值集共享量化的 {2}^{b} 个数值,故两者量化值恰好以量化后零点为分界点. 图8(a)表示正负离群值的零点偏移到正常值的零点是相同且固定的,距离为 {2}^{b-1} . 故有:
{z}_+=z+{2}^{b-1},\;\;{z}_-=z-{2}^{b-1}. (18) 而正常值集的零点偏移z由均值和缩放因子计算得到:
z=\left\lceil \frac{\mu }{s}\right\rfloor. (19) 因此,可以通过z 计算所有的补偿偏移. 当 z=0 时,在缩放因子s的尺度下, {\varDelta }=0,{{\varDelta }}_{+}=-{2}^{b-1}, {{\varDelta }}_{-}=+{2}^{b-1} . 当 z\ne 0 时,说明数据整体偏离真实值“0”,平移补偿则将数据整体平移回真实值“0”. 同样在缩放因子s的尺度下,有 {\varDelta }=z,{{\varDelta }}_{+}=-z-{2}^{b-1},{{\varDelta }}_{-}=-z+{2}^{b-1} . 经过平移补偿 {\varDelta } 后有: \boldsymbol X={\boldsymbol X'}+{\varDelta },{\varDelta }\in \mathbb{R} .
为了减少对正负离群值的符号表达,均匀关联量化中所有量化值均采用带符号的量化表达. 以DAQ中4 bit量化为例,其符号值域如表3所示.
表 3 4比特对称均匀量化Table 3. 4-bit Symmetric Uniform Quantization数值类型 值域 量化参数 正常值 0,\pm 1,\pm 2,\pm 3,\pm 4,\pm 5,\pm 6,\pm 7, -8 s z 离群值* 0,\pm 1,\pm 2,\pm 3,\pm 4,\pm 5,\pm 6,\pm 7, -8 s′ z' 正离群值 0, \mathrm{1,2}, 3, 4, 5, 6, 7, 8 s1 z_1 负离群值 -1,-2,-3,-4,-5,-6,-7,\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }-8 s2 z_2 注:“*”表示当仅存单侧正/负离群值时,不加以符号区分. 5. 线性计算
本节在第4节的基础上讨论基于现有硬件加速架构,充分利用DAQ量化后的低位宽定点计算来降低计算开销.
5.1 量化乘法
本节讨论2个均匀量化后的数据相乘可能的情形. 其计算结果可以表示为:
val=\left(x+{z}_{x}\right){s}_{x}\cdot (y+{z}_{y} ){s}_{y}. (20) 根据零点偏移z 的取值情况,式(20)有3种情形:
1) {z}_{x}=0, {z}_{y}=0
当原始数据的均值\mu 趋于0时,量化乘法运算满足完美缩放条件:
val=\left(xy\right) ({s}_{x}{s}_{y} ). (21) 此时量化乘法与浮点乘法结果等效且不需要额外的计算补偿,因此计算效率提升最大.
2) {z}_{x}\ne 0,{z}_{y}=0 或者 {z}_{x}=0,{z}_{y}\ne 0
以 {z}_{x}=z,{z}_{y}=0 为例,有:
val=xy{s}_{x}{s}_{y}+zy{s}_{y}. (22) 式(22)中z 为常量,故增加的偏移部分 zy 为可提前计算的固定值. 式(22)中的2个求和项之间也不存在数据依赖,量化乘法和常量偏移补偿可并行计算,即“先计算(乘法),后补偿(加法)”.
3) {z}_{x}\ne 0,{z}_{y}\ne 0
双零点偏移若直接用量化数据计算,会因较多交叉项的计算导致整体计算效率降低. 此时将INT4量化值动态扩展到INT8以消除双零点偏移后再计算,即“先补偿,后计算”.
{x'}=x+{z}_{x},\;\;{y'}=y+{z}_{y},\;\; val={x'}{y'}{s}_{x}{s}_{y}. (23) 虽然情况3)为了消除零点偏移产生的交叉项将数据扩展到INT8表示,只是为了将零点偏移提前补偿回INT4量化中,并不意味着此时的量化位宽增长了1倍.
5.2 GPU Tensor Core计算加速
在NVIDIA Ampere[27]架构图形处理器(graphics processing unit,GPU)中,第三代Tensor Core实现了对INT4/INT8整型矩阵乘累加(matrix multiply-accumulate,MMA)运算的硬件级支持. 以NVIDIA GeForce RTX 3090(基于GA102 GPU)[27]为例,其包含82个流式多处理器(streaming multiprocessor,SM),每个SM集成4个Tensor Core模块,提供总计328个Tensor Core,支持混合精度计算模式(INT输入,FP16/FP32累加器).
量化后的INT数据有望通过Tensor Core实现硬件支持的INT4/INT8计算加速. 模型权重参数具有高斯近零分布特性,对称均匀量化时零点偏移z 自然满足 z=0 . DAQ对激活值虽采用均匀量化方法,但原始数据分布却不一定基于原点对称. 这就导致计算时需要考虑零点偏移的情形.
若正常值集零点偏移 z=0 ,可参照第5.1节中的情形2)并结合式(15)的参数归一化,可以利用Tensor Core所支持的INT4计算单元直接对量化后数据进行计算,通过 CUDA Core并行计算少量离群值量化中产生的固定偏移补偿 ({2}^{b-1}\cdot s) . Tensor Core计算过程为:
val=xy{2}^{{k}_{x}}{2}^{{k}_{y}}{s}_{x}{s}_{y};\;{k}_{x},\;\;{k}_{y}\in \left\{0,{k}_+,{k}_-\right\}. (24) 如果正常值集零点偏移z\ne 0 ,则属于5.1节中的情形3). CUDA Core计算补偿项的开销超过了INT4计算加速. 此时应先消除零点偏移,将量化INT4数据扩展为INT8(加上零点偏移后),再采用INT8的Tensor Core进行计算.
Tensor Core中INT4/INT8矩阵乘加运算对输入矩阵的分块大小有固定限制. PTX指令形如: mma.sync. aligned.m8n8k16.row.col.s32.s8.s8.s32 . m8n8k16指示矩阵计算中的分块大小,s8/s32指示输入和累加器数据精度,row/col指示输入数据分别以行/列主序存储. Tensor Core支持的INT4和INT8矩阵分块如表4所示. 其中,ViT激活的通道维度与权重维度都能被分块大小所整除(32/64),但激活的Token维度(197)需要填充以适应Tensor Core所支持的分块大小.
表 4 Tensor Core计算分块和ViT线性计算维度Table 4. Computing Patch of Tensor Core and Linear Computational Dimensions of ViT数据格式 Tensor Core矩阵分块
M,N,KViT线性计算(部分)
M,N,KINT8 16,16,16 197,192,384 32,8,16 197, 1536 ,3848,32,16 197, 3072 ,768INT4 8,8,32 197, 2304 ,7686. 实 验
6.1 实验设置
本文实验部分将在ViT[2],DeiT[3]和Swin[4]及其变体上开展. 图像分类任务所选用的实验数据集为ImageNet-1K[28]测试集,目标检测任务则使用COCO 2017数据集[29]. 图像分类任务的所有全精度模型来自Timm库. 目标检测任务的全精度模型来自MMDetection[30]. 为了与之前的研究方法保持一致,DAQ在校正过程中随机选取32个样本作为校正集,COCO数据集上选择1个样本作为校正数据集,同时采用与文献[14]相同的离线量化方案的权重,Softmax输出激活保持原始精度. 需要说明的是,DAQ可以使用更少的样本(如8个或12个)完成校正. 值得强调的是,虽然DAQ认为量化LN和GELU的输出最有利于量化-计算-存储性能的提升,但这不代表DAQ仅适用于LN和GELU层. 事实上,DAQ方法对其他层的激活输出仍具备普适性. 在实验过程中先将DAQ应用于LN和GELU以得到模型量化结果,随后给出DAQ对其他层的量化结果.
6.2 ImageNet数据集上的量化模型性能
DAQ与现有研究在图像识别任务上的量化模型精度比较结果见表5. 表5中每项表示量化模型图像识别任务的Top-1精度,精度越高表示识别率越高,模型性能越好. 量化层表示各个研究工作所主要针对的量化目标.
表 5 量化模型在图像分类任务的ImageNet数据集上的Top-1准确率Table 5. Top-1 Accuracy of the Quantization Models on ImageNet Dataset of the Image Classification Task方法 量化目标 位宽 准确率 ViT-S/% ViT-B/% DeiT-T/% DeiT-S/% DeiT-B/% Swin-S/% Swin-B/% 全精度模型 32/32 81.39 84.54 72.21 79.85 81.80 83.23 85.27 FQ-ViT[10] S/N 4/4 0.10 0.10 0.10 0.10 0.10 0.10 0.10 PTQ4ViT[11] S/G 4/4 42.75 30.96 36.96 34.08 64.39 76.09 74.02 APQ-ViT[13] S 4/4 47.95 41.41 47.94 43.55 67.48 77.15 76.48 RepQ-ViT[14] S/N 4/4 65.05 68.48 57.43 69.03 75.61 79.45 78.32 RepQuant[15] S/N 4/4 73.28 77.84 64.44 75.21 78.46 81.52 82.80 DAQ* G/N 4/4 75.06 80.36 67.15 75.46 78.52 80.43 81.45 DAQ* S/N 4/4 73.29 82.00 68.81 75.45 80.08 79.95 82.30 FQ-ViT[10] S/N 6/6 4.26 0.10 58.66 45.51 64.63 66.50 52.09 PTQ4ViT[11] S/G 6/6 78.63 81.65 69.68 76.28 80.25 82.38 84.01 APQ-ViT[13] S 6/6 79.10 82.21 70.49 77.76 80.42 82.67 84.18 RepQ-ViT[14] S/N 6/6 80.43 83.62 70.76 78.90 81.27 82.79 84.57 RepQuant[15] S/N 6/6 80.51 83.75 70.89 79.06 81.41 82.93 84.86 DAQ(本文) G/N 6/6 80.81 84.09 71.69 79.56 81.63 82.31 83.98 DAQ(本文) S/N 6/6 80.86 83.85 71.74 79.61 81.94 82.89 84.34 注:列中的缩写S,G,N分别代表Softmax,GELU,LayerNorm层输出激活,黑体数值表示. FQ-ViT在4 bit量化时模型崩溃,这可能是由于低位宽计算过程中引入的误差过大. 相比之下,PTQ4ViT,APQ-ViT的量化模型达到了全精度模型一半的精度;RepQ-ViT和RepQuant明显提升了量化模型精度. 但DAQ在大多数模型上的量化效果仍然高于目前最优的RepQ系列方法,单个模型最大提升高达4.37个百分点(DeiT-T).
DAQ主要关注的是4 bit低位宽量化,但其在6 bit量化模型上的效果保持了高准确率. 与其他方法相比,DAQ在超过半数的量化模型达到最好精度. 而且,各个量化模型与全精度模型的平均准确率误差仅有0.4%,甚至在DeiT-B模型上超过全精度模型0.14个百分点.
在不同量化位宽下,DAQ无论是在G/N或S/N上都展现出了相似的高准确率,表明了DAQ方法的普适性.
6.3 COCO数据集上量化模型性能
DAQ和现有SOTA量化算法在目标检测任务上的结果如表6所示. 实验所采用的数据集为COCO 2017,Mask R-CNN分别用Swin-T和Swin-S作为骨干网络. 表6中指标 A{P}^{\rm box} (average precision of bounding box)和 {A}{{P}}^{\rm{m}{a}{s}{k}} (average precision of mask)分别表示目标检测任务中检测框定位准确率和实例分割任务中像素级轮廓匹配度,指标越高表示模型性能越好.
表 6 量化模型在目标检测任务的COCO数据集上的性能Table 6. Performance of the Quantization Models on COCO Dataset in the Object Detection Task方法 量化目标 位宽 Mask R-CNN Swin-T Swin-S {AP}^{\rm box} /% {AP}^{\rm mask} /% {AP}^{\rm box} /% {AP}^{\rm mask} /% 全精度模型 32/32 46.0 41.6 48.5 43.3 PTQ4ViT[11] S/G 4/4 6.9 7.0 26.7 26.6 APQ-ViT[13] S 4/4 23.7 22.6 44.7 40.1 RepQ-ViT[14] S/N 4/4 36.1 36.0 44.2 40.2 RepQuant[15] S/N 4/4 37.2 36.8 44.5 40.5 DAQ(本文) G/N 4/4 45.4 41.3 47.9 43.0 DAQ(本文) S/N 4/4 45.7 41.4 48.1 43.2 PTQ4ViT[11] S/G 6/6 5.8 6.8 6.5 6.6 APQ-ViT[13] S 6/6 45.4 41.2 47.9 42.9 RepQ-ViT[14] S/N 6/6 45.1 41.2 47.8 43.0 RepQuant[15] S/N 6/6 45.3 41.3 48.1 43.2 DAQ(本文) G/N 6/6 46.0 41.6 48.2 43.2 DAQ(本文) S/N 6/6 46.0 41.7 48.2 43.1 注:列中的缩写S,G,N分别代表Softmax,GELU,LayerNorm层输出激活,黑体数值表示. 表6结果显示,DAQ的4 bit量化在目标检测任务上全面超越了之前的研究工作,各项指标提升8.2~2.5个百分点,与全精度模型的最大误差为0.6个百分点,在低位宽4 bit量化上实现了近乎无损的量化模型.
以Swin-T作为Mask R-CNN的主干网络进行目标检测时,4 bit量化模型的 A{P}^{\rm box} 提升高达8.2个百分点,6 bit量化模型在实例分割上的性能指标 A{P}^{\rm mask} 甚至超过全精度模型0.1个百分点.
另一方面,DAQ将量化目标设为S/N或者G/N上都得到了相当的SOTA性能. 2个模型间的性能差异在 +0.3\sim -0.1 个百分点. 实验结果充分证明了DAQ的普适性和有效性.
6.4 消融实验
为了说明DAQ分治策略和动态感知的z-score方法的有效性,在ViT-S,DeiT-S,Swin-S三个模型上展开消融实验. 实验采用4 bit量化位宽,分别对模型以Min-Max量化和DAQ量化但采用传统阈值(DAQ W/O Adaptive)、DAQ量化3种方法比较. 图10中的柱状图表示每类方法在单一类型层输出激活量化的模型准确率,点线表示对模型的LN和GELU层激活输出同时量化的准确率.
图10中,无论是单层量化还是联合量化,Min-Max量化的量化效果最差,最低准确率仅有6.45%. 这与第3节中的发现,均匀量化在低位宽中难以表征高动态范围的激活离群值,导致模型准确率大幅下降相一致. 当DAQ采取分治策略,对离群值和正常值加以区分后,模型的准确率得到显著提升,这一点在ViT-S和DeiT-S模型上得到充分表征,几乎所有量化结果都得到了1个数量级的性能提升. DAQ采用动态感知的方法调整阈值后,模型准确率进一步得到提升,逼近量化前模型性能.
从图10还可以观察到一个非常有趣的现象,那就是Swin模型的抗量化误差能力比前2类模型要好. 这与Swin模型具有更多模型参数和更复杂的模型结构有关.
6.5 推理加速性能分析
ViT的计算开销主要用在线性计算. 为了说明DAQ对硬件的适配,表7展示了线性计算层的平均时延. 以 ImageNet-K1数据集为输入,在NVIDIA RTX 3090 GPU上随机推理100张图片后的平均时延. 以量化+FP32计算作为基准,DAQ表示结合INT8/INT4定点计算的归一化结果.
表 7 线性计算平均时延归一化Table 7. Normalization of Average Latency in Linear Calculation矩阵大小(M/N/K) 量化+FP32 DAQ 197/192/192 1 0.57 197/384/192 1 0.51 197/ 1536 /3841 0.30 197/ 2304 /7681 0.23 197/ 3072 /7681 0.20 197/ 3072 /1024 1 0.19 197/ 4096 /1024 1 0.16 由表7所知,在未结合硬件设计时,在线反量化所引入的开销随着线性计算规模的增加而增大. 基于GPU Tensor Core 加速后,DAQ方法能获得43%~86%的线性计算性能提升. 同时,从表7我们还可以观察到,DAQ的性能增益并未随着线性计算规模的增大而线性增加. 具体来说,矩阵规模增大约120倍(从(197/192/192)到(197/
4096 /1024 )),性能却只增长了3.5倍(从0.57到0.16).另一方面,表8以DAQ为基准,比较了DAQ和PTQ4ViT,RepQ-ViT端到端的推理性能以及在RTX 3090上对ImageNet-1K的val数据集(共
50000 张图片)推理的总耗时.表 8 ImageNet-1K测试集时间开销比较Table 8. Time Overhead Comparison of ImageNet-1K Test Sets 模型 DAQ PTQ4ViT[11] RepQ-ViT[14] ViT-S 70.49 88.21(+25.1%) 91.19(+29.4%) ViT-B 167.67 209.43(+24.9%) 219.83(+31.1%) DeiT-T 32.30 45.81(+41.8%) 44.03(+36.3%) DeiT-S 65.43 88.25(+34.8%) 88.93(35.9%) DeiT-B 167.02 209.48(+25.4%) 214.60(28.5%) Swin-T 104.57 130.26(+24.5%) 121.36(+16.1%) Swin-S 168.70 205.2(21.6%) 197.03(16.8%) 注:括号中数值表示当前方法相较于DAQ方法的时间增幅百分比,数值越大,表明推理延迟相对于DAQ越高. 表8显示,与PTQ4ViT相比,DAQ最大性能提升高达41.8%,平均性能提升超过28%;DAQ相比RepQ-ViT的时间开销也降低了36.3%~16.8%,平均推理时延减少27%. 与线性计算结果相一致,当模型越大,线性计算开销占比越高时,DAQ的模型增益也有所放缓.
因此,量化性能受限于2个方面:1)在线量化开销,量化算法设计越精细,增加的非规则计算越多,算法引入的端到端延迟开销越高;2)利用Tensor Core等计算核心对量化算法加速时,矩阵分块形式、数据组织和传输都影响着最终加速效果.
6.6 离线校正效率分析
表9展示了不同方法之间的离线校正开销对比,包括校正样本数和校正时间开销2个方面. 离线校正时间开销基于单卡3090 GPU,校正样本集由ImageNet-1K中随机抽取.
表 9 离线校正效率分析Table 9. Efficiency Analysis of off-line Calibration模型 方法 Top-1/% 校正样本数 GPU时间/min DeiT-S FP32 79.85 PTQ4ViT[11] 34.08 32 3.2 RepQ-ViT[14] 69.03 32 1.3 DAQ(本文) 75.46 32 1.2 DAQ(本文) 75.12 12 0.5 DAQ(本文) 75.08 4 0.1 Swin-S FP32 83.23 PTQ4ViT[11] 76.09 32 7.7 RepQ-ViT[14] 79.45 32 2.9 DAQ(本文) 80.43 32 2.5 DAQ(本文) 80.21 12 0.9 DAQ(本文) 80.01 4 0.3 注:黑体数值表示最优值. DAQ在离线校正中采用网格搜索确定超参数,单次查找计算复杂度由网格搜索的范围所决定. 因此DAQ离线校正的时间开销与样本数量呈正比. 但DAQ离线校正的显著优势在于仅小样本数据即可保证离线校正后模型的最终准确率.
从表9可以看出,在同样的32个样本下,DAQ的时间开销最短且能得到相对最佳模型准确率. 另一方面,DAQ在样本量大幅减少到12或4时,校正时间线性减少的同时仍然能保持模型准确率(降低小于1%). 这也意味着DAQ在少样本条件下适应性仍然良好.
6.7 权重量化的适用性
DAQ的重要特性之一是兼容具有不同分布的数据. 因此DAQ不仅适用于动态激活量化,同样也适用于静态权重量化. 但ViT权重为静态数据且高度符合高斯分布,因此关于权重量化有许多成熟的方法如GPTQ[31],AdaRound[32]等且能取得较好的量化效果. 因此权重量化并不作为DAQ 的重点解决的问题. 另一方面,为了与SOTA方法保持一致进行公平的比较,6.2~6.6节中的权重量化均采用与文献[14]相同的量化方法.
本节为了展示DAQ对静态权重量化的适用性,基于ImageNet-K1数据集设计了对应的量化对比实验. 表10中,DAQ权重量化仍采用与RepQ-ViT相同的方法[16],DAQ/W表示模型权重与激活均采用DAQ量化.
表 10 DAQ应用于ViTs权重量化Table 10. Applied DAQ to ViTs Weight Quantization% 方法 ViT-S ViT-B DeiT-S DeiT-B Swin-S Swin-B FP32 81.39 84.54 79.85 81.80 83.23 85.27 RepQ-ViT[16] 65.05 68.48 69.03 75.61 79.45 78.32 DAQ 73.29 82.00 75.45 80.08 79.95 82.30 DAQ/W 70.32 73.00 75.14 79.80 79.90 79.64 表10显示,DAQ/W同时应用在权重与激活上时,比仅在激活上使用DAQ时模型准确率有所降低,降幅最高达9.00个百分点,但最低仅为0.05个百分点. 尽管如此,DAQ/W的结果仍然全面超越采用文献[16]的RepQ-ViT.
7. 结 论
本文针对视觉Transformer(ViT)系列模型的低比特激活量化难题,研究了ViT关键模块的量化误差与计算/存储开销的错位匹配,观察到激活不依赖于数据分布的集中共性,从而提出分治自适应量化方法DAQ,系统性解决了后训练量化中离群值表征、计算-精度失配及硬件协同适配等核心挑战. 理论分析与实验验证表明,DAQ在绝大多数情况下达到最优水平,ImageNet任务中4 bit量化的Top-1精度较现有SOTA方法最大提升4.37个百分点,特定条件下量化模型精度超过全精度模型,同时在目标识别任务上达到近似无损的低位宽量化. DAQ设计的关联量化方法与Tensor Core适配计算流消除了线性计算中的反量化过程,降低了量化引入的计算开销,能够获得43%~86%的线性计算加速. DAQ不仅揭示了非高斯分布下数值聚集性与量化误差传播的关联机制,更为边缘设备部署高精度、低功耗视觉Transformer提供了理论指导与工程实践闭环方案.
8. 讨 论
本文针对以下3个方面进行了讨论:
1)ViT量化对性能的提升. 仅追求低比特量化并不总能带来性能上的提升. 量化虽然能减少访存和带宽需求,但端侧部署还需要考虑计算实时性、能耗等方面. 同时,现有硬件不能自适应地提供低位宽量化数据的高效计算支持,而复杂精妙的量化方法如混合精度量化对硬件计算带来更高的挑战. 最后,PTQ量化为了保持精度,仍需要量化/反量化的额外计算,增加了计算负载.
2)ViT量化所产生的稀疏性. 原始数据中靠近均值的数值均匀量化后为0,因此量化数据的稀疏度会比原始数据要高. 仅依靠现有的计算架构如GPU无法很好地利用这样的非结构化稀疏. 因此,量化算法想要切实带来计算方面的性能提升,必须要考虑底层硬件架构的适配和设计.
3)ViT量化对新兴视觉模型的借鉴意义. ViT在计算机视觉领域中的广泛适用性催生了许多ViT的跨模态、跨网络结构融合的新兴视觉模型. 以Sora[33]为代表的扩散模型从DDPM[34]转向Diffusion Transformer(DiT)[33]为例,基于ViT的U-ViT架构已展现出替代传统U-Net的潜力. 当以ViT作为新兴模型的骨干网络时,ViT的二次复杂度、数据非高斯分布、存在离群性的特性是由模型本身所决定的,因此这些特性只会在表现强度上有所不同而不会完全消失. 成熟的量化方法在新兴模型中也能发挥相应的作用,但仍要结合ViT模型在新兴模型中结构的变形、融合和增改等引起的独特特性加以综合分析与考量. 比如DETR目标检测模型融合了ViT和Decoder结构,只针对ViT量化的方法在DERT上并不总能在保证精度的前提下获得相应的量化模型.
作者贡献声明:吕倩茹、许金伟负责方案整体设计并撰写论文;吕倩茹、许金伟、姜晶菲负责部分算法思路和实验方法;姜晶菲、李东升提出指导意见并修改论文.
-
表 1 基于传统方法的云检测方法对比
Table 1 Comparison of Cloud Detection Methods Based on Traditional Methods
类别 方法来源 卫星/特征 方法描述 优点 缺点/难点 阈值法 文献[5] 高分6号 多信息协同云识别算法 消除将冰/雪像素误识别为云的问题 只适用于特定卫星数据 文献[6] 二氧化碳观测卫星 基于近紫外到近红外进行不同
阈值测试解决该探测器可见光到热红外波段
有效的云识别问题只适用于特定卫星数据 文献[7] 高分6号 最大类间方差法(OTSU)自适应
获得阈值适用于高分6号卫星宽幅相机数据 只适用于特定卫星数据 文献[8] GK-2A卫星 结合滤波技术以及动态阈值方法 准确检测云覆盖区域 会在明亮地表覆盖和沙漠地区出现误分类 文献[9] PlanetScope卫星 自适应将单个图像的云指数和时间
序列中的反射异常值信息相结合对热带地区的云检测准确度更高更
有效仍有大量的低密度云/霾/云阴影遗漏 文献[10] 多种传感器 基于随机森林云检测方法 适用于多种传感器,避免了复杂的
阈值设置地表被大面积雪覆盖且纹理信息较弱时检测不准确 文献[11] 多种传感器 采用马氏距离进行聚类 不受光谱范围限制,扩大适用范围 无法响应实时变化 空间特征法 文献[12] 光谱信息 将影像划分块并根据云雾与地物的
差异特征对云区域进行自适应分割无需依赖预先确定的阈值和先验
信息,检测效率较高易受影像中山脉、雪等类云地物影响 文献[13] 光谱、纹理和频率信息 训练SVM分类器提取影像中的
云区域提高了检测准确性 只对厚云薄云进行了初步的定性区分,没有定量分析 文献[14] 成像和物理特性 利用多特征嵌入式学习SVM构造
分类器对稠密、稀薄和卷积云影像表现
良好研究区域地物类型比较单一 文献[15] 光谱和时间信息 基于多时相影像构建低秩矩阵分解
模型比基于单幅影像的效果好,同时
有效地保留了云的细节和边界对于大面积云污染的影像检测效果不佳 表 2 基于深度学习的云检测方法对比
Table 2 Comparison of Cloud Detection Methods Based on Deep Learning
方法来源 网络类型 方法描述 优点 缺点/难点 文献[36] 轻量级CNN 快速捕获图像中的多尺度特征信息并高效分割云和地物 突出云层细节,提高检测精度 无法根据云的结构信息进行自适应调整 文献[37] 轻量级CNN 利用双路径架构同时提取空间和语义信息 参数和计算量通过特征重用大大减少 没有充分利用影像的光谱特征,光谱细节容易丢失 文献[38] 轻量级CNN 融合了多尺度光谱和空间特征 计算量很少,没有额外的参数 无法根据云的结构信息进行自适应调整 文献[39-40] 自适应CNN 利用可变形的上下文特征金字塔模块和可变形卷积块 提高了多尺度特征的自适应建模能力 需要大量的像素级标注标签 文献[41] CNN 基于级联特征注意和通道注意的卷积神经网络 可以提取云区域的颜色和纹理特征,去除冗余 仅适用于单一传感器,泛化能力较差 文献[42] CNN 基于地理信息驱动网络的新型云检测方法 整合了地理信息,优于其他云和雪检测方法 容易漏掉薄云区域 文献[43] CNN 提出了将遥感影像与地理空间数据相结合的自动云检测神经网络 提高云雪共存下高分辨率影像云检测的准确性 容易漏掉薄云区域 文献[44] CNN 提出了全局上下文密集块网络 能够解决薄云漏检问题 仅适用于单一传感器,泛化能力较差 文献[45] CNN和Transformer 提出一种融合遥感影像光谱和空间信息的新型云检测深度网络 克服了光谱特征提取依赖经验性的线性组合,并能减少空间位置信息损失 多个分支的存在造成模型参数量较大 文献[46] CNN和Transformer 利用双路径解码器结构实现了对相似目标的准确分类 对于云雪以及薄云的检测更准确 模型计算速度较慢 表 3 基于单幅影像的云去除方法对比
Table 3 Comparison of Cloud Removal Methods Based on Single Image
类别 方法来源 方法描述 优点 缺点/难点 成像模型 文献[49] 将图像分块并通过新的颜色通道去除大气散射 恢复图像的清晰度较高,恢复效果较好 当图像中没有晴空区域,会导致计算不精确 文献[50-52] 通过大气散射模型估计大气光和透射图 可以恢复纹理细节并在非均匀雾图像上也有成效 直接用于高光谱图像去雾时结果不佳 文献[53-55] 改进的基于辐射传输模型薄云去除算法 去除薄云并有效保留地物信息 薄云和地面目标反射率的混合会对结果产生影响 文献[56] 通过可见光或红外波段与卷云波段之间的关系估计云污染 解决从卷云污染数据中自动识别同质背景的关键问题 对于复杂场景效果不佳 文献[57] 结合散射定律和2个相邻蓝色波段之间的高相关性 去除卷云的同时地面信息也能充分恢复 无法解决卷云与地物信息混合的问题 图像修复 文献[58] 改进的双边滤波器Retinex算法 增强整幅图像的对比度并还原图像的色彩信息 未完备考虑图像降质的原因,去雾效果有限 文献[59-60] 利用小波变换对图像进行多分辨率分解 更好地恢复地物信息,保留图像的细节 未完备考虑图像降质的原因,去雾效果有限 文献[61] 利用图像滤波自适应图像增强算法优化图像 保证了恢复图像的结构相似性,减少颜色失真 时间复杂度和计算量较大 文献[62-65] 基于暗通道先验与多尺度修正的Retinex去雾算法 颜色畸变小,更接近真实图像 性能依赖于先验和约束信息 文献[66-67] 提出邻域相似像素插值器方法 通过计算相似像素权重再重新组合得到预测信息 缺乏辅助影像,仅适用于地物分布较简单场景 文献[68-69] 学习特征字典通过稀疏表示相邻信息推断缺失补丁 结构和纹理与周围地面信息保持一致 结果不适用于裁剪过的 Landsat-7场景 深度学习 文献[70-73] 基于CNN端到端的方法进行薄云校正 提取充足的有用特征信息,并能够处理复杂场景 会丢弃一些有用的先验知识,配对数据不准确时效果较差 文献[74] 基于GAN和云失真物理模型的半监督方法 可以将未配对的多云和无云图像作为输入 没有足够的训练数据去除厚云区域 文献[75-76] 基于GAN网络模型去除薄云 保留了原始图像的纹理信息 当有云/无云数据配对不准确时会严重影响去云效果 文献[77] 利用迁移学习技术在大量模拟图像对上进行预训练 可以在训练数据稀缺的情况下取得更好的性能 在厚云存在场景会降低准确性 文献[78] 使用失真编码网络结合复合损失函数 图像语义连贯性恢复效果较好,非云区不影响去云质量 没有足够的训练数据去除厚云区域 文献[79-80] 基于GAN和CNN网络相结合的厚云去除方法 更好解决局部性问题,不需要成对图像,对复杂纹理效果好 对去雨、去雾等任务不能通用,区域破坏大,会产生不真实结果 表 4 基于参考影像的云去除方法对比
Table 4 Comparison of Cloud Removal Methods Based on Reference Images
类别 方法来源 方法描述 优点 缺点/难点 显示构建 文献[103] 应用统计相似性在克隆过程中考虑光谱特征和季节效应 保持光谱和结构一致性 结果与云检测预处理步骤中生成的精度直接相关 文献[104] 多时相影像采用泊松混合算法 在重建像素方面非常有效 严重依赖陆地卫星数据的云掩膜质量 文献[105] 采用空间和时间加权回归模型优化整合来自不变相似像素的互补信息 得到理想的去云效果 忽略了由太阳光照和大气条件引起的相互差异 文献[106] 提出增强时间序列模型和连续变化检测算法 具有更高的预测精度和处理土地覆盖突变情况的能力 对于没有物候特征的覆盖类型精度没有显著提高 文献[107] 结合使用自动编码器和基于长短期记忆的相似像素聚类 前向重建模型与前向和后向模型相比,呈现更好的结果 应设计集成网络,将相似像素聚类和重建结合在一起 隐式构建 文献[108] 提出了时间平滑的空间-光谱全变分正则化低秩组稀疏分解方法 提高了稀疏度,保证不同方向的平滑度并可以重建细节 可能会破坏固有的高维结构,没有考虑波段之间的相关性 文献[109] 提出了框约束沿光谱维度的群稀疏函数 相比稀疏函数更准确地表征云特性,不需要云掩码作为先验 不能实时快速处理相关应用,对参数敏感 文献[110] 将期望最大化Tucker方法应用于卫星遥感影像 与简单PCA方法相比,对缺失数据的补全准确度更高 待修复区域发生较大地物变化时效果较差 文献[111] 将深度先验与低秩张量补全相结合 保持空间一致性,细节纹理清晰 只能处理单幅图像 文献[112] 运用数据驱动方法将深度时空先验与低秩张量奇异值分解相结合 具有实用性,去除效果比单独使用低秩张量奇异值分解更好 不能实时快速处理 文献[113] 提出基于光谱-时间度量的缺失观测预测方法 在恢复异质植被区域方面表现出色 需对目标图像中的缺失值进行预插补来计算光谱和时间权重 文献[114] 提出基于耦合张量分解和基于拉格朗日乘子法的厚云去除方法 解决云掩膜不准确的问题 不能实时快速处理 表 5 基于多传感器影像的云去除方法对比
Table 5 Comparison of Cloud Removal Methods Based on Multi-Sensor Images
类别 方法来源 方法描述 优点 缺点/难点 光学影像辅助 文献[120] 将MODIS影像作为辅助数据,利用泊松调整的时空融合方法实现Landsat影像云层的去除 能够很好地处理土地覆盖类型发生显著变化的时间序列影像 算法非常依赖云检测结果 文献[121] 提出改进的时空数据融合模型,将MODIS和Landsat时序数据结合 处理显著土地覆盖变化的场景效果较好 难以处理多种类型云覆盖场景 文献[122] 使用MNSPI时间序列方法去除Sentinel-2和Landsat-8遥感影像云层覆盖 可以生成具有高时空分辨率时间序列影像 计算效率较低 文献[123] 基于SSRF方法,利用Landsat-8对高光谱影像进行厚云去除 能获得更高精度的高光谱重建结果 没有充分挖掘影像空间信息 SAR影像辅助 文献[124] 通过预卷积将SAR和光学影像转换为超特征图并输入到G-FAN模型网络 可以同时实现云去除、图像去模糊和图像去噪 模型缺乏可解释性 文献[125-127] 以GAN作为主干网络,将SAR作为辅助数据实现光学影像去云 充分学习了SAR与光学影像之间的映射关系 可利用的数据集有限,需要解决配准问题 文献[128] 将CNN和GAN网络结合重建云覆盖区域 能够利用被云污染区域的光谱信息 需要在不同的地点对不同模型进行预训练 文献[129] 提出基于深度学习的异构时空谱融合方法 利用端到端循环一致生成对抗网络学习生成结果与真实影像之间的映射 受SAR影像的散斑噪声较大 文献[130] 提出基于全局-局部融合的云去除算法 能够增强SAR数据的利用率 SAR和光学影像边缘提取不准确 文献[131] 采用了GAN架构,结合自动编码器 利用光学特征和边缘图指导修复模型生成无云影像 SAR和光学影像边缘提取不准确 文献[132] 训练CNN建立多时相SAR和光学影像之间的关系 在没有大量训练数据集情况下反映地面信息变化的去云结果 计算效率较低 文献[133] 利用cGAN和ConvLSTM提取SAR数据和光学时间序列影像时空特征 在大量数据集上进行验证,鲁棒性强 需要充分挖掘SAR时间序列影像特征 文献[134] 提出多模态和多时相3维卷积神经网络模型 充分保留多时相影像时间信息,并发布了大规模数据集 没有考虑无云区域在长期变化引起的纹理和结构差异 表 6 云检测与云去除公共数据集
Table 6 Public Datasets of Cloud Detection and Cloud Removal
数据集 数据规模 像素大小 空间分辨率/m 波段数量 云厚度 38-Cloud[136] 38个场景,2000多幅影像 384×384 30 4 薄、厚 GF1-WHU[137] 19个场景,950幅影像 600×600 16 4 薄、厚 Sentinel-2 Cloud[138] 513幅影像 1022×1022 20 13 薄、厚 RICE[139] RICE1:500组,RICE2:450组 512×512 30 11 薄 NWPU-RESISC45[140] 45个场景,每个场景700幅影像 256×256 0.2~30 3 薄、厚 SPARCS[141] 80个场景,共720幅影像 1000×1000 30 10 薄、厚 表 7 4种云检测方法的定量结果对比
Table 7 Quantitative Results Comparison of Four Cloud Detection Methods
方法 A P R F1 V Fmask 0.904 0.935 0.793 0.842 0.226 CNN 0.903 0.913 0.801 0.837 0.225 U-Net 0.907 0.957 0.777 0.851 0.232 Cloud-Net 0.934 0.839 0.945 0.875 0.222 注:数值为结果平均值,加粗数字表示最优结果. 表 8 4种云去除方法的定量对比结果
Table 8 Quantitative Comparison Results of Four Cloud Removal Methods
方法 PSNR/dB SSIM RMSE V HazeRemoval 21.504 0.899 0.110 0.011 CycleGAN 26.993 0.935 0.052 0.011 SpA-GAN 27.885 0.937 0.043 0.115 pix2pix 31.883 0.950 0.032 0.007 注:加粗数字表示最优结果. 表 9 4种厚云去除方法的定量对比结果
Table 9 Quantitative Comparative Results of Four Thick Cloud Removal Methods
方法 PSNR/dB SSIM RMSE V HALRTC 19.710 0.980 0.070 0.009 STDC 7.529 0.962 0.285 0.014 NLLRTC 15.245 0.975 0.117 0.010 TRLRF 21.429 0.986 0.058 0.010 注:加粗数字表示结果最优. -
[1] 陈善静,向朝参,康青,等. 基于多源遥感时空谱特征融合的滑坡灾害检测方法[J]. 计算机研究与发展,2020,57(9):1877−1887 Chen Shanjing, Xiang Chaocan, Kang Qing, et al. Multi-source remote sensing based accurate landslide detection leveraging spatial-temporal-spectral feature fusion[J]. Journal of Computer Research and Development, 2020, 57(9): 1877−1887 (in Chinese)
[2] Liu Huizeng, Zhou Qiming, Li Qingquan, et al. Determining switching threshold for NIR-SWIR combined atmospheric correction algorithm of ocean color remote sensing[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2019, 153: 59−73 doi: 10.1016/j.isprsjprs.2019.04.013
[3] Wang Lin, Bi Jianzhao, Meng Xia, et al. Satellite-based assessment of the long-term efficacy of PM2.5 pollution control policies across the Taiwan Strait[J]. Remote Sensing of Environment, 2020, 251: 112067
[4] Liu Qi, Gao Xinbo, He Lihuo, et al. Haze removal for a single visible remote sensing image[J]. Signal Processing, 2017, 137: 33−43 doi: 10.1016/j.sigpro.2017.01.036
[5] Li Jinghan, Ma Jinji, Li Chao, et al. Multi-information collaborative cloud identification algorithm in Gaofen-5 directional polarimetric camera imagery[J]. Journal of Quantitative Spectroscopy and Radiative Transfer, 2021, 261: 107439
[6] Ding Ning, Shao Jianbing, Yan Changxiang, et al. Near-ultraviolet to near-infrared band thresholds cloud detection algorithm for TANSAT-CAPI[J]. Remote Sensing, 2021, 13(10): 1906 doi: 10.3390/rs13101906
[7] Ke Shiyun, Wang Mi, Cao Jinshan, et al. Research on cloud detection method of GaoFen-6 wide camera data[C] //Proc of the 7th China High Resolution Earth Observation Conf (CHREOC). Berlin: Springer, 2022: 321−340
[8] Lee S, Choi J. Daytime cloud detection algorithm based on a multitemporal dataset for GK-2A imagery[J]. Remote Sensing, 2021, 13(16): 3215 doi: 10.3390/rs13163215
[9] Wang Jing, Yang Dedi, Chen Shuli, et al. Automatic cloud and cloud shadow detection in tropical areas for PlanetScope satellite images[J]. Remote Sensing of Environment, 2021, 264: 112604 doi: 10.1016/j.rse.2021.112604
[10] Yao Xudong, Guo Qing, Li An, et al. Optical remote sensing cloud detection based on random forest only using the visible light and near-infrared image bands[J]. European Journal of Remote Sensing, 2022, 55(1): 150−167 doi: 10.1080/22797254.2021.2025433
[11] 郭玲,韩迎春,蔡浩宇,等. 基于马氏距离和 SLIC 算法的云检测模型[J]. 计算机科学与应用,2022,12(1):17−25 doi: 10.12677/CSA.2022.121003 Guo Ling, Han Yingchun, Cai Haoyu, et al. Cloud detection model based on Mahalanobis distance and SLIC algorithm[J]. Computer Science and Application, 2022, 12(1): 17−25 (in Chinese) doi: 10.12677/CSA.2022.121003
[12] 李俊杰,傅俏燕. “高分七号”卫星遥感影像自动云检测[J]. 航天返回与遥感,2020,41(2):108−115 Li Junjie, Fu Qiaoyan. Automatic cloud detection of GF-7 satellite imagery[J]. Spacecraft Recovery & Remote Sensing, 2020, 41(2): 108−115 (in Chinese)
[13] 张波,胡亚东,洪津. 基于多特征融合的层次支持向量机遥感图像云检测[J]. 大气与环境光学学报,2021,16(1):58−66 Zhang Bo, Hu Yadong, Hong Jin. Cloud detection of remote sensing images based on H-SVM with multi-feature fusion[J]. Journal of Atmospheric and Environmental Optics, 2021, 16(1): 58−66 (in Chinese)
[14] Zhang Weidong, Jin Songlin, Zhou Ling, et al. Multi-feature embedded learning SVM for cloud detection in remote sensing images[J]. Computers and Electrical Engineering, 2022, 102: 108177 doi: 10.1016/j.compeleceng.2022.108177
[15] Zhang Hongyan, Huang Qi, Zhai Han, et al. Multi-temporal cloud detection based on robust PCA for optical remote sensing imagery[J]. Computers and Electronics in Agriculture, 2021, 188: 106342 doi: 10.1016/j.compag.2021.106342
[16] Zhu Zhe, Woodcock C E. Object-based cloud and cloud shadow detection in Landsat imagery[J]. Remote Sensing of Environment, 2012, 118: 83−94 doi: 10.1016/j.rse.2011.10.028
[17] Shi Qiu, He Binbin, Zhu Zhe, et al. Improving Fmask cloud and cloud shadow detection in mountainous area for Landsats 4–8 images[J]. Remote Sensing of Environment, 2017, 199: 107−119 doi: 10.1016/j.rse.2017.07.002
[18] Zhu Zhe, Woodcock C E. Automated cloud, cloud shadow, and snow detection in multitemporal Landsat data: An algorithm designed specifically for monitoring land cover change[J]. Remote Sensing of Environment, 2014, 152: 217−234 doi: 10.1016/j.rse.2014.06.012
[19] 刘心燕, 孙林, 杨以坤, 等. 高分四号卫星数据云和云阴影检测算法[J]. 光学学报, 2019, 39(1): 0128001 Liu Xinyan, Sun Lin, Yang Yikun, et al. Cloud and cloud shadow detection algorithm for Gaofen-4 satellite data[J]. Acta Optica Sinica, 2019, 39(1): 0128001(in Chinese)
[20] 陈曦东,张肖,刘良云,等. 增强型多时相云检测[J]. 遥感学报,2019,23(2):280−290 Chen Xidong, Zhang Xiao, Liu Liangyun, et al. Enhanced multi-temporal cloud detection algorithm for optical remote sensing images[J]. Journal of Remote Sensing, 2019, 23(2): 280−290 (in Chinese)
[21] 谭凯,张永军,童心,等. 国产高分辨率遥感卫星影像自动云检测. 测绘学报,2016,45(5):581−591 Tan Kai, Zhang Yongjun, Tong Xin, et al. Automatic cloud detection for Chinese high resolution remote sensing satellite imagery[J]. Acta Geodaetica et Cartographica Sinica, 2016, 45(5): 581−591 (in Chinese)
[22] Hu Xiangyun, Wang Yan, Shan Jie. Automatic recognition of cloud images by using visual saliency features[J]. IEEE Geoscience and Remote Sensing Letters, 2015, 12(8): 1760−1764 doi: 10.1109/LGRS.2015.2424531
[23] Li Pengfei, Dong Linmin, Xiao Huachao, et al. A cloud image detection method based on SVM vector machine[J]. Neurocomputing, 2015, 169: 34−42 doi: 10.1016/j.neucom.2014.09.102
[24] 徐冬宇,历小梅,赵辽英,等. 基于光谱分析和动态分形维数的高光谱遥感图像云检测[J]. 激光与光电子学进展,2019,56(10):101003 Xu Dongyu, Li Xiaomei, Zhao Liaoying, et al. Hyperspectral remote sensing image cloud detection based on spectral analysis and dynamic fractal dimension[J]. Laser & Optoelectronics Progress, 2019, 56((10): ): 101003 (in Chinese)
[25] 冯书谊,张宁,沈霁,等. 基于反射率特性的高光谱遥感图像云检测方法研究[J]. 中国光学,2015,8(2):198−204 Feng Shuyi, Zhang Ning, Shen Ji, et al. Method of cloud detection with hyperspectral remote sensing image based on the reflective characteristics[J]. Chinese Optics, 2015, 8(2): 198−204 (in Chinese)
[26] Xia Meng, Wang Zhijie, Han Fang, et al. Enhanced multi-dimensional and multi-grained cascade forest for cloud/snow recognition using multispectral satellite remote sensing imagery[J]. IEEE Access, 2021, 9: 131072−131086 doi: 10.1109/ACCESS.2021.3114185
[27] Goodwin N R, Collett L J, Denham R J, et al. Cloud and cloud shadow screening across Queensland, Australia: An automated method for Landsat TM/ETM+ time series[J]. Remote Sensing of Environment, 2013, 134: 50−65 doi: 10.1016/j.rse.2013.02.019
[28] Mateo-García G, Gómez-Chova L, Amorós-López J, et al. Multitemporal cloud masking in the Google earth engine[J]. Remote Sensing, 2018, 10(7): 1079 doi: 10.3390/rs10071079
[29] Chai Dengfeng, Newsam S, Zhang Hankui, et al. Cloud and cloud shadow detection in Landsat imagery based on deep convolutional neural networks[J]. Remote Sensing of Environment, 2019, 225: 307−316 doi: 10.1016/j.rse.2019.03.007
[30] Zhan Yongjie, Wang Jian, Shi Jianping, et al. Distinguishing cloud and snow in satellite images via deep convolutional network[J]. IEEE Geoscience and Remote Sensing Letters, 2017, 14(10): 1785−1789 doi: 10.1109/LGRS.2017.2735801
[31] Li Zhiwei, Shen Huanfeng, Cheng Qing, et al. Deep learning based cloud detection for medium and high resolution remote sensing images of different sensors[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2019, 150: 197−212 doi: 10.1016/j.isprsjprs.2019.02.017
[32] Li Yansheng, Chen Wei, Zhang Yongjun, et al. Accurate cloud detection in high-resolution remote sensing imagery by weakly supervised deep learning[J]. Remote Sensing of Environment, 2020, 250: 112045 doi: 10.1016/j.rse.2020.112045
[33] Xie Fengying, Shi Mengyun, Shi Zhenwei, et al. Multilevel cloud detection in remote sensing images based on deep learning[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2017, 10(8): 3631−3640 doi: 10.1109/JSTARS.2017.2686488
[34] Ronneberger O, Fischer P, Brox T. U-Net: Convolutional networks for biomedical image segmentation[C] //Proc of the 18th Medical Image Computing and Computer-Assisted Intervention (MICCAI). Berlin: Springer, 2015: 234−241
[35] Mohajerani S, Saeedi P. Cloud-Net: An end-to-end cloud detection algorithm for Landsat 8 imagery[C] //Proc of the 39th IEEE Int Geoscience and Remote Sensing Symp (IGARSS). Piscataway, NJ: IEEE, 2019: 1029−1032
[36] Hu Kai, Zhang Dongsheng, Xia Min, et al. LCDNet: Light-weighted cloud detection network for high-resolution remote sensing images[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2022, 15: 4809−4823 doi: 10.1109/JSTARS.2022.3181303
[37] Luo Chen, Feng Shanshan, Li Xutao, et al. ECDNet: A bilateral lightweight cloud detection network for remote sensing images[J]. Pattern Recognition, 2022, 129: 108713 doi: 10.1016/j.patcog.2022.108713
[38] Li Jun, Wu Zhaocong, Hu Zhongwen, et al. A lightweight deep learning-based cloud detection method for Sentinel-2A imagery fusing multiscale spectral and spatial features[J]. IEEE Transactions on Geoscience and Remote Sensing, 2021, 60: 3069641
[39] He Qibin, Sun Xiao, Yan Zhiyuan, et al. DABNet: Deformable contextual and boundary-weighted network for cloud detection in remote sensing images[J]. IEEE Transactions on Geoscience and Remote Sensing, 2021, 60: 5601216
[40] Liu Yang, Wang Wen, Li Qingyong, et al. DCNet: A deformable convolutional cloud detection network for remote sensing imagery[J]. IEEE Geoscience and Remote Sensing Letters, 2021, 19: 8013305
[41] Zhang Jing, Wu Jun, Wang Hui, et al. Cloud detection method using CNN based on cascaded feature attention and channel attention[J]. IEEE Transactions on Geoscience and Remote Sensing, 2021, 60: 4104717
[42] Wu Xi, Shi Zhenwei, Zou Zhengxia. A geographic information-driven method and a new large scale dataset for remote sensing cloud/snow detection[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2021, 174: 87−104 doi: 10.1016/j.isprsjprs.2021.01.023
[43] Chen Yang, Weng Qihao, Tang Luliang, et al. An automatic cloud detection neural network for high-resolution remote sensing imagery with cloud–snow coexistence[J]. IEEE Geoscience and Remote Sensing Letters, 2021, 19: 1−5
[44] Li Xian, Yang Xiaofei, Li Xutao, et al. GCDB-UNet: A novel robust cloud detection approach for remote sensing images[J]. Knowledge-Based Systems, 2022, 238: 107890 doi: 10.1016/j.knosys.2021.107890
[45] 陈思亚,计璐艳,张鹏,等. 融合遥感图像光谱和空间信息的云检测深度网络[J]. 中国科学院大学学报,2021,40(3):371−379 Chen Siya, Ji Luyan, Zhang Peng, et al. Spectral-spatial feature fusion deep network for cloud detection in remote sensing images[J]. Journal of University of Chinese Academy of Sciences, 2021, 40(3): 371−379 (in Chinese)
[46] Zhang Zheng, Xu Zhiwei, Liu Chang’an, et al. Cloudformer: Supplementary aggregation feature and mask-classification network for cloud detection[J]. Applied Sciences, 2022, 12(7): 3221 doi: 10.3390/app12073221
[47] 赵敏钧,赵亚伟,赵雅捷,等. 一种新的基于深度学习的重叠关系联合抽取模型(英文)[J]. 中国科学院大学学报,2022,39(2):240−251 Zhao Minjun, Zhao Yawei, Zhao Yajie, et al. A new joint model for extracting overlapping relations based on deep learning[J]. Journal of University of Chinese Academy of Sciences, 2022, 39(2): 240−251
[48] Sha Youyang, Zhang Yonghong, Ji Xuquan, et al. Transformer-Unet: Raw image processing with Unet[J]. arXiv preprint, arXiv: 2109.08417, 2021
[49] Sahu G, Seal A, Krejcar O, et al. Single image dehazing using a new color channel[J]. Journal of Visual Communication and Image Representation, 2021, 74: 103008 doi: 10.1016/j.jvcir.2020.103008
[50] Song Chengfang, Xiao Chunxia, Zhang Yeting, et al. Thin cloud removal for single RGB aerial image[J]. Computer Graphics Forum, 2021, 40(1): 398−409 doi: 10.1111/cgf.14196
[51] Ganguly B, Bhattacharya A, Srivastava A, et al. Single image haze removal with haze map optimization for various haze concentrations[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2021, 32(1): 286−301
[52] Shi Zhenghao, Shao Shuai, Zhou Zhaorun. A saliency guided remote sensing image dehazing network model[J]. IET Image Processing, 2022, 16(9): 2483−2494 doi: 10.1049/ipr2.12502
[53] Lv Haitao, Wang Yong, Shen Yang. An empirical and radiative transfer model based algorithm to remove thin clouds in visible bands[J]. Remote Sensing of Environment, 2016, 179: 183−195 doi: 10.1016/j.rse.2016.03.034
[54] Zhou Binxing, Wang Yong. A thin-cloud removal approach combining the cirrus band and RTM-based algorithm for Landsat-8 OLI data[C] //Proc of the 39th IEEE Int Geoscience and Remote Sensing Symp (IGARSS). Piscataway, NJ: IEEE, 2019: 1434−1437
[55] Shan Shuai, Wang Yong. An algorithm to remove thin clouds but to preserve ground features in visible bands[C] //Proc of the 40th IEEE Int Geoscience and Remote Sensing Symp (IGARSS). Piscataway, NJ: IEEE, 2020: 5321−5324
[56] Xu Meng, Jia Xiuping, Pickering M. Automatic cloud removal for Landsat 8 OLI images using cirrus band[C] //Proc of the 34th IEEE Geoscience and Remote Sensing Symp (IGARSS). Piscataway, NJ: IEEE, 2014: 2511−2514
[57] Zhang Chi, Li Huifang, Shen Huanfeng. A scattering law based cirrus correction method for Landsat 8 OLI visible and near-infrared images[J]. Remote Sensing of Environment, 2021, 253: 112202 doi: 10.1016/j.rse.2020.112202
[58] 张驰,谭南林,李响,等. 基于改进型Retinex算法的雾天图像增强技术[J]. 北京航空航天大学学报,2019,45(2):309−316 Zhang Chi, Tan Nanlin, Li Xiang, et al. Foggy image enhancement technology based on improved Retinex algorithm[J]. Journal of Beijing University of Aeronautics and Astronautics, 2019, 45(2): 309−316 (in Chinese)
[59] 胡根生,周文利,梁栋,等. 融合引导滤波和迁移学习的薄云图像中地物信息恢复算法[J]. 测绘学报,2018,47(3):348−358 Hu Gensheng, Zhou Wenli, Liang Dong, et al. Information recovery algorithm for ground objects in thin cloud images by fusing guide filter and transfer learning[J]. Acta Geodaetica et Cartographica Sinica, 2018, 47(3): 348−358 (in Chinese)
[60] Hsu W Y, Chen Y. Single image dehazing using wavelet-based haze-lines and denoising[J]. IEEE Access, 2021, 9: 104547−104559 doi: 10.1109/ACCESS.2021.3099224
[61] Zhou Guangbin, He Lifeng, Qi Yong, et al. An improved algorithm using weighted guided coefficient and union self-adaptive image enhancement for single image haze removal[J]. IET Image Processing, 2021, 15(11): 2680−2692 doi: 10.1049/ipr2.12255
[62] Shi Shaoqi, Zhang Ye, Zhou Xinyu, et al. Cloud removal for single visible image based on modified dark channel prior with multiple scale[C] //Proc of the 41st IEEE Int Geoscience and Remote Sensing Symp (IGARSS). Piscataway, NJ: IEEE, 2021: 4127−4130
[63] Liu Xinggang, Liu Changjiang, Lan Hengyou, et al. Dehaze enhancement algorithm based on retinex theory for aerial images combined with dark channel[J]. Open Access Library Journal, 2020, 7(4): 1106280
[64] Tang Qunfang, Yang Jie, He Xiangjian, et al. Nighttime image dehazing based on retinex and dark channel prior using Taylor series expansion[J]. Computer Vision and Image Understanding, 2021, 202: 103086 doi: 10.1016/j.cviu.2020.103086
[65] Xia Fei, Song Hu, Dou Hao. Fog removal and enhancement method for UAV aerial images based on dark channel prior[J]. Journal of Control and Decision, 2022, 10(2): 188−197
[66] Chen Jin, Zhu Xiaolin, Vogelmann J E, et al. A simple and effective method for filling gaps in Landsat ETM+ SLC-off images[J]. Remote Sensing of Environment, 2011, 115((4): ): 1053−1064 doi: 10.1016/j.rse.2010.12.010
[67] Zhu Xiaolin, Gao Feng, Liu Desheng, et al. A modified neighborhood similar pixel interpolator approach for removing thick clouds in Landsat images[J]. IEEE Geoscience and Remote Sensing Letters, 2011, 9(3): 521−525
[68] Meng Fan, Yang Xiaomei, Zhou Chenghu, et al. A sparse dictionary learning-based adaptive patch inpainting method for thick clouds removal from high-spatial resolution remote sensing imagery[J]. Sensors, 2017, 17(9): 2130 doi: 10.3390/s17092130
[69] Meng Fan, Yang Xiaomei, Zhou Chenghu, et al. Multiscale adaptive reconstruction of missing information for remotely sensed data using sparse representation[J]. Remote Sensing Letters, 2018, 9(5): 457−466 doi: 10.1080/2150704X.2018.1439198
[70] Li Wenbo, Li Ying, Chen Di, et al. Thin cloud removal with residual symmetrical concatenation network[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2019, 153: 137−150 doi: 10.1016/j.isprsjprs.2019.05.003
[71] Zi Yue, Xie Fengying, Zhang Ning, et al. Thin cloud removal for multispectral remote sensing images using convolutional neural networks combined with an imaging model[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2021, 14: 3811−3823 doi: 10.1109/JSTARS.2021.3068166
[72] Ma Xiaofeng, Wang Qunming, Tong Xiaohua. A spectral grouping-based deep learning model for haze removal of hyperspectral images[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2022, 188: 177−189 doi: 10.1016/j.isprsjprs.2022.04.007
[73] Wen Xue, Pan Zongxu, Hu Yuxin, et al. An effective network integrating residual learning and channel attention mechanism for thin cloud removal[J]. IEEE Geoscience and Remote Sensing Letters, 2022, 19: 6507605
[74] Li Jun, Wu Zhaocong, Hu Zhongwen, et al. Thin cloud removal in optical remote sensing images based on generative adversarial networks and physical model of cloud distortion[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2020, 166: 373−389 doi: 10.1016/j.isprsjprs.2020.06.021
[75] Zhao Yunpu, Shen Shikun, Hu Jiarui, et al. Cloud removal using multimodal GAN with adversarial consistency loss[J]. IEEE Geoscience and Remote Sensing Letters, 2021, 19: 8015605
[76] Pan Heng. Cloud removal for remote sensing imagery via spatial attention generative adversarial network[J]. arXiv preprint, arXiv: 2009.13015, 2020
[77] Wen Xue, Pan Zongxu, Hu Yuxin, et al. Generative adversarial learning in YUV color space for thin cloud removal on satellite imagery[J]. Remote Sensing, 2021, 13(6): 1079 doi: 10.3390/rs13061079
[78] Zhou Jianjun, Luo Xiaobo, Rong Wentao, et al. Cloud removal for optical remote sensing imagery using distortion coding network combined with compound loss functions[J]. Remote Sensing, 2022, 14(14): 3452 doi: 10.3390/rs14143452
[79] Ran Xinyu, Ge Liang, Zhang Xiaofeng. RGAN: Rethinking generative adversarial networks for cloud removal[J]. International Journal of Intelligent Systems, 2021, 36(11): 6731−6747 doi: 10.1002/int.22566
[80] Tao Chao, Fu Siyang, Qi Ji, et al. Thick cloud removal in optical remote sensing images using a texture complexity guided self-paced learning method[J]. IEEE Transactions on Geoscience and Remote Sensing, 2022, 60: 5619612
[81] Chen Shuli, Chen Xuehong, Chen Jin, et al. An iterative haze optimized transformation for automatic cloud/haze detection of Landsat imagery[J]. IEEE Transactions on Geoscience and Remote Sensing, 2015, 54(5): 2682−2694
[82] He Kaiming, Sun Jian, Tang Xiaoou. Single image haze removal using dark channel prior[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 33(12): 2341−2353
[83] Xu Meng, Pickering M, Plaza A J, et al. Thin cloud removal based on signal transmission principles and spectral mixture analysis[J]. IEEE Transactions on Geoscience and Remote Sensing, 2015, 54(3): 1659−1669
[84] Land E H. The retinex theory of color vision[J]. Scientific American, 1977, 237(6): 108−129 doi: 10.1038/scientificamerican1277-108
[85] 杨晓倩,贾振红,杨杰,等. 基于小波变换和 Retinex 结合的遥感图像的薄云去除[J]. 激光杂志,2019,40(10):77−80 Yang Xiaoqian, Jia Zhenhong, Yang Jie, et al. Thin cloud removal of remote sensing images based onwavelet transform and Retinex[J]. Laser Journal, 2019, 40(10): 77−80 (in Chinese)
[86] Shen Huanfeng, Li Huifang, Qian Yan, et al. An effective thin cloud removal procedure for visible remote sensing images[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2014, 96: 224−235 doi: 10.1016/j.isprsjprs.2014.06.011
[87] Xu Meng, Jia Xiuping, Pickering M, et al. Thin cloud removal from optical remote sensing images using the noise-adjusted principal components transform[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2019, 149: 215−225 doi: 10.1016/j.isprsjprs.2019.01.025
[88] Pan Xiaoxi, Xie Fengying, Jiang Zhiguo, et al. Haze removal for a single remote sensing image based on deformed haze imaging model[J]. IEEE Signal Processing Letters, 2015, 22(10): 1806−1810 doi: 10.1109/LSP.2015.2432466
[89] Telea A. An image inpainting technique based on the fast marching method[J]. Journal of Graphics Tools, 2004, 9(1): 23−34 doi: 10.1080/10867651.2004.10487596
[90] Li Xinghua, Shen Huanfeng, Zhang Liangpei, et al. Sparse-based reconstruction of missing information in remote sensing images from spectral/temporal complementary information[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2015, 106: 1−15 doi: 10.1016/j.isprsjprs.2015.03.009
[91] Liu Na, Li Wei, Tao Ran, et al. Multigraph-based low-rank tensor approximation for hyperspectral image restoration[J]. IEEE Transactions on Geoscience and Remote Sensing, 2022, 60: 5530314
[92] Wang Lanxing, Wang Qunming. Fast spatial-spectral random forests for thick cloud removal of hyperspectral images[J]. International Journal of Applied Earth Observation and Geoinformation, 2022, 112: 102916 doi: 10.1016/j.jag.2022.102916
[93] Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial networks[J]. Communications of the ACM, 2020, 63(11): 139−144 doi: 10.1145/3422622
[94] Chen Hui, Chen Rong, Li Nannan. Attentive generative adversarial network for removing thin cloud from a single remote sensing image[J]. IET Image Processing, 2021, 15(4): 856−867 doi: 10.1049/ipr2.12067
[95] Xu Meng, Deng Furong, Jia Sen, et al. Attention mechanism-based generative adversarial networks for cloud removal in Landsat images[J]. Remote Sensing of Environment, 2022, 271: 112902 doi: 10.1016/j.rse.2022.112902
[96] Singh P, Komodakis N. Cloud-GAN: Cloud removal for Sentinel-2 imagery using a cyclic consistent generative adversarial networks[C] //Proc of the 38th IEEE Int Geoscience and Remote Sensing Symp (IGARSS). Piscataway, NJ: IEEE, 2018: 1772−1775
[97] Toizumi T, Zini S, Sagi K, et al. Artifact-free thin cloud removal using GANs[C] //Proc of the 26th IEEE Int Conf on Image Processing (ICIP). Piscataway, NJ: IEEE, 2019: 3596−3600
[98] Enomoto K, Sakurada K, Wang Weimin, et al. Filmy cloud removal on satellite imagery with multispectral conditional generative adversarial nets[C] //Proc of the IEEE Conf on Computer Vision and Pattern Recognition Workshops. Piscataway, NJ: IEEE, 2017: 48−56
[99] Liu Yang, Pan Jinshan, Ren J, et al. Learning deep priors for image dehazing[C] //Proc of the IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2019: 2492−2500
[100] Isola P, Zhu Junyan, Zhou Tinghui, et al. Image-to-image translation with conditional adversarial networks[C] //Proc of the IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2017: 1125−1134
[101] Zhu Junyan, Park T, Isola P, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[C] //Proc of the IEEE Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2017: 2223−2232
[102] Sun Linjian, Zhang Ye, Chang Xuling, et al. Cloud-aware generative network: Removing cloud from optical remote sensing images[J]. IEEE Geoscience and Remote Sensing Letters, 2019, 17(4): 691−695
[103] Kalkan K, Maktav M D. A cloud removal algorithm to generate cloud and cloud shadow free images using information cloning[J]. Journal of the Indian Society of Remote Sensing, 2018, 46: 1255−1264 doi: 10.1007/s12524-018-0806-y
[104] Hu Changmiao, Huo Lianzhi, Zhang Zheng, et al. Multi-temporal Landsat data automatic cloud removal using Poisson blending[J]. IEEE Access, 2020, 8: 46151−46161 doi: 10.1109/ACCESS.2020.2979291
[105] Chen Bin, Huang Bo, Chen Lifan, et al. Spatially and temporally weighted regression: A novel method to produce continuous cloud-free Landsat imagery[J]. IEEE Transactions on Geoscience and Remote Sensing, 2016, 55(1): 27−37
[106] Xie Shuai, Liu Liangyun, Yang Jiangning. Enhanced Landsat surface reflectance prediction considering land cover change by using an ensemble of spectro-temporal and spectro-spatial predictions[J]. Advances in Space Research, 2022, 69(7): 2697−2710 doi: 10.1016/j.asr.2022.01.009
[107] Zhou Yanan, Wang Shunying, Wu Tianjun, et al. For-backward LSTM-based missing data reconstruction for time-series Landsat images[J]. GIScience & Remote Sensing, 2022, 59(1): 410−430
[108] Duan Chenxi, Pan Jun, Li Rui. Thick cloud removal of remote sensing images using temporal smoothness and sparsity regularized tensor optimization[J]. Remote Sensing, 2020, 12(20): 3446 doi: 10.3390/rs12203446
[109] Ji Tengyu, Chu Delin, Zhao Xile, et al. A unified framework of cloud detection and removal based on low-rank and group sparse regularizations for multitemporal multispectral images[J]. IEEE Transactions on Geoscience and Remote Sensing, 2022, 60: 5303015
[110] Þórðarson A F, Baum A, García M, et al. Gap-filling of NDVI satellite data using Tucker decomposition: Exploiting spatio-temporal patterns[J]. Remote Sensing, 2021, 13(19): 4007 doi: 10.3390/rs13194007
[111] Zhang Qiang, Sun Fujun, Yuan Qiangqiang, et al. Thick cloud removal for Sentinel-2 time-series images via combining deep prior and low-rank tensor completion[C] //Proc of the 41st IEEE Int Geoscience and Remote Sensing Symp (IGARSS). Piscataway, NJ: IEEE, 2021: 2675−2678
[112] Zhang Qiang, Yuan Qiangqiang, Li Zhiwei, et al. Combined deep prior with low-rank tensor SVD for thick cloud removal in multitemporal images[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2021, 177: 161−173 doi: 10.1016/j.isprsjprs.2021.04.021
[113] Tang Zhipeng, Amatulli G, Pellikka P K E, et al. Spectral temporal information for missing data reconstruction (STIMDR) of Landsat reflectance time series[J]. Remote Sensing, 2021, 14(1): 172 doi: 10.3390/rs14010172
[114] Lin Jie, Huang Tingzhu, Zhao Xile, et al. Robust thick cloud removal for multitemporal remote sensing images using coupled tensor factorization[J]. IEEE Transactions on Geoscience and Remote Sensing, 2022, 60: 5406916
[115] Lin Chaohuang, Tsai P H, Lai Kanghua, et al. Cloud removal from multitemporal satellite images using information cloning[J]. IEEE Transactions on Geoscience and Remote Sensing, 2012, 51(1): 232−241
[116] Lin Chaohung, Lai Kanghua, Chen Zhibin, et al. Patch-based information reconstruction of cloud-contaminated multitemporal images[J]. IEEE Transactions on Geoscience and Remote Sensing, 2013, 52(1): 163−174
[117] Surya S R, Simon P. Automatic cloud removal from multitemporal satellite images[J]. Journal of the Indian Society of Remote Sensing, 2015, 43: 57−68 doi: 10.1007/s12524-014-0396-2
[118] Xu Meng, Jia Xiuping, Pickering M, et al. Cloud removal based on sparse representation via multitemporal dictionary learning[J]. IEEE Transactions on Geoscience and Remote Sensing, 2016, 54(5): 2998−3006 doi: 10.1109/TGRS.2015.2509860
[119] Li Zhiwei, Shen Huanfeng, Weng Qihao, et al. Cloud and cloud shadow detection for optical satellite imagery: Features, algorithms, validation, and prospects[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2022, 188: 89−108 doi: 10.1016/j.isprsjprs.2022.03.020
[120] Zhang Chengyue, Li Zhiwei, Cheng Qing, et al. Cloud removal by fusing multi-source and multi-temporal images[C] //Proc of the 37th IEEE Int Geoscience and Remote Sensing Symp (IGARSS). Piscataway: IEEE, 2017: 2577−2580
[121] Shen Huanfeng, Wu Jingan, Cheng Qing, et al. A spatiotemporal fusion based cloud removal method for remote sensing images with land cover changes[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2019, 12(3): 862−874 doi: 10.1109/JSTARS.2019.2898348
[122] Zhao Rongkun, Li Yuechen, Chen Jin, et al. Mapping a paddy rice area in a cloudy and rainy region using spatiotemporal data fusion and a phenology-based algorithm[J]. Remote Sensing, 2021, 13(21): 4400 doi: 10.3390/rs13214400
[123] 王蓝星,王群明,童小华. 融合多光谱影像的高光谱影像厚云去除方法[J]. 测绘学报,2022,51(4):612−621 Wang Lanxing, Wang Qunming, Tong Xiaohua. Thick cloud removal of hyperspectral images by fusing with multispectral images[J]. Acta Geodaetica et Cartographica Sinica, 2022, 51(4): 612−621(in Chinese)
[124] Chen Shanjing, Zhang Wenjuan, Li Zhen, et al. Cloud removal with SAR-optical data fusion and graph-based feature aggregation network[J]. Remote Sensing, 2022, 14(14): 3374 doi: 10.3390/rs14143374
[125] Grohnfeldt C, Schmitt M, Zhu Xiaoxiang. A conditional generative adversarial network to fuse SAR and multispectral optical data for cloud removal from Sentinel-2 images[C] //Proc of the 38th IEEE Int Geoscience and Remote Sensing Symp (IGARSS). Piscataway, NJ: IEEE, 2018: 1726−1729
[126] Bermudez J D, Happ P N, Oliveira D A B, et al. Sar to optical image synthesis for cloud removal with generative adversarial networks[J]. ISPRS Annals of Photogrammetry, Remote Sensing & Spatial Information Sciences, 2018, 4(1): 5−11
[127] Darbaghshahi F N, Mohammadi M R, Soryani M. Cloud removal in remote sensing images using generative adversarial networks and SAR-to-optical image translation[J]. IEEE Transactions on Geoscience and Remote Sensing, 2021, 60: 4105309
[128] Gao Jianhao, Yuan Qiangqiang, Li Jie, et al. Cloud removal with fusion of high resolution optical and SAR images using generative adversarial networks[J]. Remote Sensing, 2020, 12(1): 191 doi: 10.3390/rs12010191
[129] Jiang Menghui, Li Jie, Shen Huanfeng. A deep learning-based heterogeneous spatio-temporal-spectral fusion: SAR and optical images[C] //Proc of the 41st IEEE Int Geoscience and Remote Sensing Symp (IGARSS). Piscataway, NJ: IEEE, 2021: 1252−1255
[130] Xu Fang, Shi Yilei, Ebel P, et al. Exploring the potential of SAR data for cloud removal in optical satellite imagery[J]. arXiv reprint, arXiv: 206.02850, 2022
[131] Xiao Xiao, Lu Yilong. Cloud removal of optical remote sensing imageries using SAR data and deep learning[C/OL] // Proc of the 7th Asia-Pacific Conf on Synthetic Aperture Radar (APSAR). Piscataway, NJ: IEEE, 2021[2023-06-30].https://ieeexplore.ieee.org/abstract/document/9688535
[132] Gao Jianhao, Yi Yang, Wei Tang, et al. Sentinel-2 cloud removal considering ground changes by fusing multitemporal SAR and optical images[J]. Remote Sensing, 2021, 13(19): 3998 doi: 10.3390/rs13193998
[133] Sebastianelli A, Nowakowski A, Puglisi E, et al. Spatio-Temporal SAR-optical data fusion for cloud removal via a deep hierarchical model[J]. arXiv preprint, arXiv: 2106.12226, 2021
[134] Ebel P, Xu Yajin, Schmitt M, et al. SEN12MS-CR-TS: A remote-sensing data set for multimodal multitemporal cloud removal[J]. IEEE Transactions on Geoscience and Remote Sensing, 2022, 60: 5222414
[135] Czerkawski M, Upadhyay P, Davison C, et al. Deep internal learning for inpainting of cloud-affected regions in satellite imagery[J]. Remote Sensing, 2022, 14(6): 1342 doi: 10.3390/rs14061342
[136] Mohajerani S, Krammer T A, Saeedi P. Cloud detection algorithm for remote sensing images using fully convolutional neural networks[J]. arXiv preprint, arXiv: 1810.05782, 2018
[137] Li Zhiwei, Shen Huanfeng, Li Huifang, et al. Multi-feature combined cloud and cloud shadow detection in GaoFen-1 wide field of view imagery[J]. Remote Sensing of Environment, 2017, 191: 342−358 doi: 10.1016/j.rse.2017.01.026
[138] Baetens L, Desjardins C, Hagolle O. Validation of copernicus Sentinel-2 Cloud masks obtained from MAJA, Sen2Cor, and Fmask processors using reference cloud masks generated with a supervised active learning procedure[J]. Remote Sensing, 2019, 11(4): 433 doi: 10.3390/rs11040433
[139] Lin Daoyu, Xu Guangluan, Wang Xiaoke, et al. A remote sensing image dataset for cloud removal[J]. arXiv preprint, arXiv: 1901.00600, 2019
[140] Gong Cheng, Han Junwei, Lu Xiaoqiang. Remote sensing image scene classification: Benchmark and state of the art[J]. Proceedings of the IEEE, 2017, 105(10): 1865−1883 doi: 10.1109/JPROC.2017.2675998
[141] Hughes M J, Kennedy R. High-quality cloud masking of Landsat 8 imagery using convolutional neural networks[J]. Remote Sensing, 2019, 11(21): 2591 doi: 10.3390/rs11212591
[142] Liu Ji, Musialski P, Wonka P, et al. Tensor completion for estimating missing values in visual data[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 35(1): 208−220
[143] Chen Yilei, Hsu C T, Liao Hongyuan. Simultaneous tensor decomposition and completion using factor priors[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 36(3): 577−591
[144] Ji Tengyu, Yokoya N, Zhu Xiaoxiang, et al. Nonlocal tensor completion for multitemporal remotely sensed images’ inpainting[J]. IEEE Transactions on Geoscience and Remote Sensing, 2018, 56(6): 3047−3061 doi: 10.1109/TGRS.2018.2790262
[145] Yuan Longhao, Li Chao, Mandic D, et al. Tensor ring decomposition with rank minimization on latent space: An efficient approach for tensor completion[C] //Proc of the AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2019: 9151−9158