刘鹏飞,朱健晨,万良易,江波
(中国电子科技集团公司第三十二研究所,上海 201808)
高光谱遥感图像可在获取目标场景二维空间信息的同时对一维光谱波段信息进行感知,因此高光谱遥感图像具备分辨率高、波段多、丰富的辐射空间和光谱信息、连续成像等特点[1-3]。当前主流的高光谱成像仪通过扫描目标场景来构建空间高光谱三维数据立方体,无论是在光谱上还是在空间上,均与所需的空间或光谱分辨率成正比。随着高光谱成像仪硬件技术的进步,使得探测波段范围逐渐从可见光延伸至红外光,光谱分辨率从毫米级细化至纳米级,波段数从百个增至千个。随着高光谱成像仪硬件轻量化的发展,使得搭载成像仪的平台载体涵盖卫星、侦察机/船、无人机。近些年来,作为新兴遥感技术的基于无人机平台载体的高光谱遥感成像技术成为主流的研究热点[4]。利用目标场景中不同物体与其关联的分子组成相关的独特模式反射、散色、吸收和发射电磁能,能够帮助人类对所观测到的物质表面的细微差别进行区分和识别。因此,高光谱图像作为遥感应用的一个重要分支被广泛应用于农业[5]、城市规划[6]、矿业[7]、战场环境分析[8-9]等实际场景,根据不同材料的反射光谱或像素(也称为光谱像素)的光谱特征来检测和分类不同的材料。
高光谱遥感图像分类技术依据数据标签的使用可以分为监督和非监督分类方法。监督分类方法对具有高维属性的遥感数据进行贴标签操作,属于非确定性多项式完全问题,也称为维度灾难问题[10]。因此,非监督分类方法在无需先验知识的条件下可以直接对图像样本进行分类识别[11]。迄今为止,研究人员已提出了诸多不同类型的高光谱遥感聚类方法。现有聚类方法大致可以分为基于迭代、基于代数、基于统计和基于谱聚类[12-13]4 类。其中,基于谱聚类的方法实现简单,具有更为显著的聚类性能,因此受到广泛关注。基于谱聚类的方法主要包含两个步骤:首先通过将图像中每个像素点是其他点的线性组合构建相邻矩阵;其次将质心聚类算法应用于由相邻矩阵诱导的拉普拉斯矩阵完成像素点的分割。具体而言,基于局部谱聚类的方法利用每个数据点近邻的局部信息来构建相似矩阵,但无法处理两个子空间交点附近的点。因为该方法无法辨别这些点应属于哪个子空间,导致聚类模型存在较大的误差。基于全局谱聚类的方法通过全局信息来更好地建立数据点之间的相似矩阵。然而,作为先验知识的子空间对此类方法在很大程度上起到了限定的作用,例如子空间的数量和维度,不同子空间具有相同的维度。因为高光谱遥感图像的光谱强变异性导致特征点的均匀分布,使得多数基于谱聚类的方法均存在严重的错误分类。为解决上述问题,当前提出的稀疏子空间聚类方法引入自稀疏表示机制,将图像中的数据点分至对应的子空间中构建邻接矩阵,之后对该矩阵使用谱聚类方法获得较高的聚类精度[14]。总而言之,因为固有的数据复杂性和计算成本使得高光谱遥感分类是一项非常困难的任务,其计算复杂度正比于遥感数据集的维度。此外,处理高维、多源数据需要消耗巨大的计算资源和存储容量,这意味着现有的单一平台计算资源无法对这些数据和图像分类算法进行有效支撑[15]。因此,需要引入异构计算资源对基于谱聚类的方法进行加速,完成数据的实时处理。
随着高光谱遥感应用中图像数据的规模和分辨率的提高,利用基于谱聚类的方法实时处理图像数据成为关键要素之一。考虑到图像分类方法因固有的高计算复杂度和长时间运算在实时性要求较高的遥感应用领域受到极大限制,那么具备高性能计算、高可扩张性、高资源利用率等性能的异构计算为算法实时性问题的解决带来了契机。异构计算的核心思想是整合了不同类型的指令集和数据驱动并行计算架构的所有计算单元,尤其对大容量图像、视频类数据进行实时处理,从根本上解决了能耗高、可扩展性差等问题,实现了计算性能的飞跃式提升。常见的计算单元类别包括CPU、GPU[16-17]、TPU 等。虽然GPU 具有多核并行计算、高访问速度、高浮点运算等特点,可以支持海量数据的并行计算,然而存在功耗高、体积大、价格贵等缺陷,使得其在中小型设备中的使用受到极大的制约。因此,需要引入一种体积小、功耗低、计算能力高、计算效率高的ASIC 专用芯片NPU。当今前沿的NPU 异构计算模式采用基于big.LITTLE 计算范式的CPU+NPU 架构[17],其分别利用CPU 和NPU 各自的优势对海量的图像数据以高性能及高效能的方式进行采集、观测和分析,其中,CPU 负责复杂的逻辑任务处理,NPU 作为协处理器将负载均衡、任务迁移等电源管理技术融合到计算架构中对功耗进行全局优化,并负责数据密集型并行任务的处理,共同发挥异构计算模式在高性能计算领域的独特优势,利用该计算模式的加速能力提升图像算法性能。目前,国内外市场针对CPU、NPU 等器件开展领域优化、异构编程、高速互联等研究,并将研究成果投入到实际计算平台进行量产,例如:Google Edge TPU 包含4K MAC 单元,该单元由8 bit 64×64 NPU 构成[18];三星面向嵌入式的NPU 使用6K MAC 单元[18]。此外,还有集成在Apple 的M1芯片特定域芯片上和英特尔Nervana 中的神经计算引擎[19]。大量研究表明在市场推动下NPU 在速度、内存和性能方面取得了巨大的进步,可用于可视化大型数据集的处理。
本文使用编码孔径快照光谱成像(Coded Aperture Snapshot Spectral Imaging,CASSI)技术将高光谱三维数据立方体经过编码孔径、色散元件的共同作用后得到具有低维空间特性的二维压缩测量值,有效避免了数据重构过程。假设具有相似特征的测量值存在于同一子空间中,利用低秩稀疏子空间聚类(Low-Rank Sparse Subspace Clustering,LRSSC)算法对空间像素点进行精确分割,显著提升聚类性能。通过提高NPU 中的乘法累加单元,使得系统能耗降低的同时改善网络的响应时间,大幅提升数据处理能力及算法性能。
高光谱遥感图像的感知和处理在现代军事领域中发挥着关键的作用,成为当前军事情报来源的重要途径之一。高光谱遥感在军事领域的应用包括军事目标的定位和识别、地形分析与测绘、战争潜力评估和战时气象保障等。如图1 所示(彩色效果见《计算机工程》官网HTML 版),通过搭载编码孔径高光谱成像系统的海、陆、空、天遥感探测设备对目标场景进行感知,从而获取具备高空间、高光谱、高时间分辨率特性的三维数据立方体。将获取的遥感数据传输到作战指挥系统对海量且多源的数据进行实时分析,其中图像分类识别算法选用基于异构计算架构的稀疏子空间聚类算法,为作战人员提供了便利,极大缩短作战系统“观察-判断-决策-行动”闭环周期,成为赢取现代化数字战场的重要因素。
图1 高光谱遥感图像分类在军事领域中的应用Fig.1 Application of hyperspectral remote sensing image classification in military field
如图2 所示(彩色效果见《计算机工程》官网HTML 版),编码孔径快照光谱成像系统可以对目标场景中的空间信息和光谱信息进行编码,分别经过编码孔径的透射作用和色散棱镜的分光作用后将三维数据立方体投影到探测器阵列上,从而获得压缩测量值[20-21]。首先,定义目标场景中的高光谱密度函数为f1(x,y,λ),其中,x,y表示空间坐标,λ表示光谱坐标,透射函数是T(x,y),得到经过编码孔径后的高光谱密度函数的数学表示如下:
图2 编码孔径高光谱成像系统结构Fig.2 CASSI system structure
编码后得到的密度函数经过色散元件的光谱色散作用后,最终在聚焦平面阵列探测器上完成了二维压缩测量值的获取,整个过程可以表示如下:
其中:h(x′-aλ-x,y′-y)是光谱滤波函数,a是由棱镜引起的线性色散率。因此,数据立方体的每个光谱切片都由编码孔径进行调制,并由色散元件进行色散。考虑到探测器阵列的像素特性,假设密度函数f1(x,y,λ)的离散形式为Fi,j,l,其中,i和j均是空间坐标索引,l是第l个光谱平面,透射函数T(x,y)的离散形式为Ti,j。探测器上的离散化输出表示如下:
其中:YS∈是的向量 表示;f∈是Fi,j+l的向量表示;Hs∈是CASSI系统的感知矩阵。考虑到光谱丰富的场景或者非常详细的空间场景,单次的曝光测量无法提供足够数量的压缩测量值,需要增加额外的曝光次数从而提供所需的测量值,弥补了CASSI 系统高压缩性的缺陷,其中多次曝光是通过数字微反射镜(Digtial Micromirror Device,DMD)或基于微型压低装置的移动彩色光刻掩模实现的。因此,单次曝光感知模型(如式(3)所示)可以扩展至多次曝光感知模型,整个过程可以表示如下:
如图3 所示(彩色效果见《计算机工程》官网HTML 版),假设N=5、L=4、S=2,感知矩阵H是通过随机编码孔径和散色棱镜的分光作用共同构建的,可以观察到该矩阵具备高稀疏和高结构性,其中编码孔径(蓝线部分)依次分布于H的主对角线并且编码孔径中的所有元素均服从于高斯随机分布。注意到白色方块(像素点)表示值为1 的元素,黑色部分表示值为0 的元素。在实际场景中,矩阵H的维数是很大的,在此仅为举例说明。
图3 感知矩阵H 结构Fig.3 Structure of perception matrix H
根据式(7),向量表示的压缩测量值可以排列成数据矩阵的表示,即Y∈RS×NV,其中Y中的每一列均对应特定的光谱特征信息。如图4 所示(彩色效果见《计算机工程》官网HTML 版),假设矩阵中的所有数据点位于k=4 线性子空间中,利用稀疏、低秩子空间等聚类算法将这些数据点分割为不同的组或者集群。具体而言,当给定压缩数据矩阵Y,子空间聚类算法依据低维子空间特性完成数据点的分割。首先,是相似度矩阵的构造W∈RNV×NV,W=|C|T+|C|,其中矩阵中的所有元素表示数据点之间的关联程度,一个理想的相似度矩阵是分块对角矩阵。然后,谱聚类算法应用于相似度矩阵,以获取数据点与子空间的隶属关系。
图4 谱聚类算法示意图Fig.4 Schematic diagram of spectral clustering algorithm
低秩表示(Low Rank Representation,LRR)旨在通过解决以下凸优化问题来找到输入数据矩阵Y的低秩系数矩阵[22-23]:
其中:核范数用来近似系数矩阵C。假设Y=UΣVT为Y的奇异值分解(Singular Value Decomposition,SVD)。问题式(8)的闭式解表示如下:
考虑到实际场景中系统噪声存在的必然性,因此数据点会受到噪声的扰动,问题式(8)重新表示如下:
其中:β1是低秩约束条件下的正则化常数;E是噪声引起的表示误差。问题式(10)的最优解表示如下:
其中:U=[U1U2];V=[V1V2]。
稀疏子空间聚类(Spare Subspace Clustering,SSC)算法将每个数据点表述为其他数据点的稀疏线性组合,并解决以下凸优化问题:
其中:约束diag(C)=0 用于避免每个数据表示为自身特殊情况的出现,从而消除问题式(12)的平凡解。对于被噪声污染的数据,通过解决如下最小化问题得到稀疏系数矩阵的近似表示:
其中:τ是稀疏约束条件下的正则化常数。一般而言,LRR 表示通过对稀疏矩阵施加低秩约束来捕获数据的全局结构,而SSC 表示通过对系数矩阵进行稀疏化来获取数据的局部线性关系。因此,需要考虑LRR 和SSC 表示的各自优势,从而为本文提出的子空间聚类算法的设计提供保障。
低秩稀疏子空间聚类要求系数矩阵C是低秩且稀疏性的,LRSSC 解决了以下问题(含噪声):
其中:正则化参数α用于在稀疏、低秩、噪声三者之间取得平衡;参数β2表示空间信息的权重;空间正则项用于减少LRSSC模型中的表示误 差,从而增强数据对噪声的鲁棒性。式(14)中的最小化问题通过交替方向乘子法(Alternating Direction Method of Multipliers,ADMM)[24]来解决。
根据式(14),通过ADMM 算法求得的优化系数矩阵Copt可以用于相似度矩阵Wopt的构造。然而,考虑到遥感数据的高维特性,谱聚类算法因为自身计算复杂度的缺陷无法对这些数据进行实时处理且会消耗过多的计算资源。NPU 从更简单的逻辑中受到启发,表现为它们的工作负载在各类图网络的计算模式中具有高规律性。因此,通过NPU 来加速网络的运行可以有效解决其他主流芯片GPU 在网络运算时效率低下等问题。
图5 给出了低功耗CPU+NPU 异构计算架构。在设计时,从电路层级开始,使用电子设计自动化(Electronic Design Automation,EDA)执行脉冲MAC 阵列芯片,这一设计思路来源于Google TPU 微架构。相比于传统的8 bit NPU,通过低位宽(例如6或7 bit)MAC阵列使其具备更低的能耗。又因为MAC 单元的缩放功能,在使用异构网络加速周期精确级仿真器进行网络推演期间,低精度NPU 在响应时间上具有显著的优势。在运行时,采用快速高效的量化后策略和网络-NPU调度策略,使得网络工作负载队列的引入可以弥补低位宽NPU 和精度损失之间的差距。在满足规定精度阈值的情况下,网络-NPU 调度策略可以最大化NPU 的性能,以减少网络响应时间。
图5 低功耗CPU+NPU 异构计算架构Fig.5 Low-power heterogeneous CPU+NPU computing architecture
类似于网络工作负载队列在边缘服务器场景的应用,服务器可处理各种各样的网络请求。因此,网络的响应时间会随着到达率的波动而变化。例如,无人驾驶飞行器通过使用无人机来协助和加速基于遥感的应用程序。在这种情况下,无人机配备了硬件加速器,从而对边缘端内容的传输和分析速度进行提升,同时满足低功耗需求。可以看出,许多基于无人机的服务严重依赖对并发网络的使用,例如用于军事任务的目标检测和分类。
谱聚类算法的特点反映了其对指定计算和功耗的需求。当具有不同特征的多个网络作为输入传输至异构架构时,利用网络的容错性来满足特定的阈值精度,同时显著降低服务器上使用加速器的能耗并提高平均网络响应时间,最终实现像素点的实时分割。
将本文提出的基于低功耗异构计算架构的LRSSC 算法在具有特定成像环境的真实高光谱遥感数据集上进行测试,为了评估所提计算架构的有效性,以基于CPU 和CPU+GPU 计算架构的LRSSC 算法作为基准算法用于数据集的测试。Pavia University 数据集由德国制造的机载反射光学光谱成像仪(Reflective Optics Spectrographic Imaging System,ROSIS-03)于2003 年在意大利帕维亚城对目标区域上空拍摄获取[25-26]。图像数据的空间维度为610×340 像素,具有115 个连续的波段。此外,需要从原来的115 波段中剔除总共12 个噪声的波段,保留剩余的103 个波段。为测试数据选取一个特定区域,大小为140 × 80 像素,包含8 个主要的地标类别,如图6 所示(彩色效果见《计算机工程》官网HTML 版)。因为大量背景像素的干扰,使得聚类成为一项非常具有挑战性的任务。
图6 Pavia University 遥感数据集Fig.6 Pavia University remote sensing dataset
在实验中,类别数k=8 被设定为LRSSC 算法的输入。此外,正则化参数是需要手动调整的。具体而言,参数λ是系数矩阵的稀疏、低秩与噪声大小之间的权衡,可以表示如下:
其中:β是校准参数;μ是与当前数据集关联的参数,y是数据矩阵Y的任意列。式(14)中的参数λ的设定情况会直接影响聚类结果,这表明空间信息在聚类过程中起到非常重要的作用。简单起见,本文对参数α和β的值进行设定,即α=30×105,β=2 000。将信噪比为25 dB 的高斯白噪声添加到数据矩阵中用于模拟数据采集中存在的系统噪声。
每种类别的视觉聚类结果通过总体准确率(OA)、平均准确率(AA)、Kappa 系数进行定量评估,其中,总体准确率是正确分类的像素点与需要分类的像素点的比值,平均准确率是正确分类的每个类别的准确率总和与类别数量的比值,Kappa 系数是一个用于一致性检验的指标,可用于衡量分类效果。运行时间用以计算基于不同计算架构的LRSSC算法(包括CN-LRSSC、CG-LRSSC、C-LRSSC)完成聚类所需的时间,其中,CN-LRSSC 表示基于低功耗异构计算架构的LRSSC 算法;CG-LRSSC 表示基于CPU+GPU 异构计算架构的LRSSC 算法;C-LRSSC表示基于CPU 计算架构的LRSSC 算法。
仿真实验在Intel Core i7 18 GHz、32 位CPU 处理器以及Google TPUv4i 处理器上执行,并使用Windows 11 操作环境下的Matlab 2019b。本文使用的TPU 总共由4 个NPU 组成,因为4 个NPU 可以通过2 个接口控制信息快速访问附近的芯片内存从而获得较高的整体性能,其中每个NPU 分别包含7 bit 72×72 MAC阵列、6 bit 72×72 MAC 阵列、6 bit 80×80 MAC 阵列来获得更多的功率增益。
为测试编码孔径(包括高斯随机、伯努利、蓝噪声)对聚类性能的影响,本文给出特定高光谱场景的聚类图和定量评估结果,其中曝光次数设定为S=20用于编码孔径的构建。LRSSC 算法直接作用于压缩数据(通过不同种类的编码孔径的压缩采样和色散棱镜的分光作用后得到的压缩测量值)完成聚类过程,其中,高斯随机策略为将LRSSC 算法直接作用于高斯随机测量值得到的聚类结果,伯努利策略为将LRSSC 算法直接作用于伯努利测量值得到的聚类结果,蓝噪声策略为将LRSSC 算法直接作用于蓝噪声测量值得到的聚类结果。图7 和表1 分别给出了Pavia University 数据集的视觉聚类效果和定量评估结果,可以看出高斯随机策略的聚类结果存在偏差,伯努利和蓝噪声策略相比于高斯随机策略明显减少了错误分类,从而获得更好的聚类效果,其中在OA 评估指标中分别提升了16.67 和8.4 个百分点。因此,本文选取伯努利编码孔径对高光谱遥感数据进行压缩,之后利用CN-LRSSC、CG-LRSSC、C-LRSSC 算法实现聚类。表2 给出了3 种基于不同计算架构的LRSSC 算法的时间损耗,通过低比特MAC 阵列的引入,LRSSC 算法的计算速度得到了提升。此外,通过表2 的实验数据可以看出,与64×64 MAC 阵列相比,72×72 MAC 阵列的延迟增益为9%,80×80 MAC 阵列的增益为18%。可见,片上存储器空间大小严重制约图网络加速器的性能,因此大型片上存储器广泛用于现代网络加速器。
表1 定量评估聚类结果Table 1 Clustering results of quantitative evaluation
表2 基于不同计算架构的LRSSC 算法运行时间Table 2 Running times of LRSSC algorithms based on different computing architectures 单位:s
图7 视觉聚类结果Fig.7 Visual clustering results
高光谱遥感数据处理本质上属于复杂计算任务,本文阐述了低功耗异构计算架构在高光谱遥感数据处理领域的应用与研究,通过优化计算机系统并行处理、AI 协处理、互操作等能力,实现基于谱聚类图像分类算法性能的提升。实验结果表明,与基于CPU+GPU 异构计算架构和CPU 计算架构的LRSSC 算法相比,基于低能耗异构计算架构的LRSSC 算法降低了网络响应时间和系统能耗。后续将考虑LRSSC 算法的负载均衡问题,进一步提升数据处理能力及算法性能,从而扩展其适用范围。