面向海浪遥感卫星标定的漂流波浪浮标关键技术研究
2024-03-11温琦李洋马昕李俊漾王暖升
温琦 李洋 马昕 李俊漾 王暖升
(1 中国海洋大学 信息科学与工程学部,山东青岛 266100)(2 中国海洋大学 物理海洋教育部重点实验室,山东青岛 266100)(3 中国海洋大学 海洋与大气学院,山东青岛 266100)
海浪观测研究具有科学研究与工程应用双重价值。它不仅是海洋动力学、物理海洋学等学科的研究基础,也是海洋环境监测、海洋气象预报及海洋工程建设等应用的重要组成部分[1-2]。海浪方向谱是描述海浪特征的一种高阶表示手段,可用来反映海浪能量在波数空间、随频率以及每一个频率方向上的分布。目前,获取海浪方向谱的两种方式主要是卫星遥感与现场观测[3-4]。卫星遥感在获取大范围的海浪方向谱方面具有独特优势。全球第一台星载海浪波谱仪(Surface Wave Investigation and Monitoring,SWIM)已于2018年搭载中法海洋卫星 (China-France Oceanography Satellite,CFOSAT),用于测量全球范围内的海浪方向谱。然而,SWIM测量海浪方向谱的关键在于海洋表面波浪对微波信号的散射和回波特性,因而,其测量精度容易受到外界干扰、仪器误差、海况变化以及数据处理等因素的影响[5-6]。
针对上述因素导致精度降低的情况,一般采用相关数据对其进行标定的方法处置。如:文献[7]通过将SWIM得到的数据与现有波浪预测模型得出的数据进行对比,验证SWIM在获取波高、主波方向和主波长的等参数上的性能表现;文献[8]针对SWIM获取的海浪方向谱数据,与数据对应的地理分布、海况等条件进行了相关性分析;文献[9]针对SWIM与浮标获取的海浪方向谱数据进行对比,验证两者在不同的海况下数据一致性表现。
上述标定方法,无论是从波浪预测模型获取数据,还是从浮标等仪器获取方向谱,均是现场观测法。现场观测是一种基于现场实测波面数据直接对当前海况求解海浪方向谱的方法,如直接傅里叶变换法(Direct Fourier Transform,DFTM)[10]、扩展最大似然法(Extend the Maximum Likelihood Method,EMLM)[11]以及贝叶斯法(Bayesian method,BDM)[12]等,后文统一称为传统海浪方向谱估计方法。较为有代表性的荷兰的波浪骑士浮标(Datawell)就是采用的修正后的DFTM方法,已广泛应用于海洋环境观测领域[13]。然而,传统海浪方向谱估计方法将复杂的海浪随机运动解释为多种相对单一的物理过程的叠加,在参量的选取方面往往需要使用者经验性地取值,这势必导致估计的海浪方向谱与真实值存在较大误差。
综上所述,本文研制一套基于Transformer深度神经网络模型海浪方向谱估计方法的漂流波浪浮标系统,利用其易投放、低成本、实时性高、精准刻画及可利用海流扩散覆盖全球海域等特点,实现对SWIM测量数据结果进行标定。在海浪方向谱估计方法方面,通过基于稀疏自注意力机制的编码器模块设计、基于一步解码的解码器模块设计以及物理引导的模型约束等,实现“波要素”到“海浪方向谱”端到端的高精度表达,相较于传统方法在准确性上有所提高。在漂流波浪浮标系统设计方面,开发适用的人工智能(Artificial Intelligence,AI)软硬件系统,通过对整个系统不同任务进行动态调度分配,实现系统低功耗运行。
1 基于Transformer深度神经网络模型海浪方向谱估计方法
漂流浮标传感器可采集多种波要素数据(如加速度、坡度等),组成多维的时间序列,海浪方向谱的估计就是由这些数据计算海浪在不同频率和传播方向下的能量谱密度的过程。现有的海浪方向谱估计方法均是通过将观测到的波要素数据经数值优化方法计算得到,这些方法普遍存在精度低问题。
本文提出一种基于Transformer深度神经网络模型[14]的海浪方向谱估计方法,具体估计方法见图1。左半部分和右半部分别为模型编码器和解码器,前者致力于提取时序上的长短程依赖,使用波浪浮标测得的传感器数据序列作为输入,并将其表示为固定长度的张量,即隐状态。在解码阶段,以编码器的输出张量作为解码器的输入,同时输入海浪谱的频率坐标作为位置编码,解码器模块致力于提取海浪方向谱在方向分布维度与频率分布维度的注意力信息,对于解码器最底层的单元,使用频率编码嵌入机制针对输出的采样频带进行编码,使其能捕捉输入数据在不同采样频率的信息,最终得到估计的海浪谱能量密度。
传统的自注意力机制的输入形式是(Q,K,V),然后进行缩放点积
(1)
式中:Q、K和V分别为矩阵,且满足Q∈RLQ×d,K∈RLK×d,V∈RLV×d,LQ、LK与LV分别为Q、K和V的序列长度;d表示输入数据到注意力机制的投影维度;Softmax(·)用于计算注意力权重。
为进一步讨论自注意力机制,定义qi、ki、vi分别代表Q、K、V中的第i行,则第i个Q的注意力分数用概率的形式表示为
(2)
自注意力机制中,计算上面的概率p(ki|qi)的点积运算的时间复杂度为O(LQ×LK),且需要计算O(LQ×LK)的空间复杂度,在很大程度上限制了预测能力的提高。
本文引入了文献[15]针对长时间序列预测任务的Informer模型中的稀疏自注意力机制来解决此问题,使用KL散度来衡量其中第i个Q的稀疏性:
(3)
式中:第一项是qi对于所有的K进行Log-Sum-Exp函数计算,第二项是所有K的算数平均值。通过计算,可以得到:
(4)
同时,解码器不采用动态解码的方式,而是采用“一步解码” 的设计,即由解码器一次输出整个序列。第一个解码器模块的另一个输入设计为方向谱的频率位置编码,将每个频率对应的位置进行编码,输入第一个解码器模块。在此基础上,引入海浪的物理属性(有效波高、平滑性以及方向周期性等约束条件)作为引导和约束,通过模拟数据对模型参数进行监督式训练,输出海浪方向谱。最终,通过开发适用的AI软硬件系统,经量化裁剪技术完成海浪方向谱估计网络模型在漂流浮标的端侧部署。
2 漂流波浪浮标CPU+TPU双核系统设计
本文采用CPU+TPU双核边缘处理系统,分别利用STM32芯片的丰富接口与BM1684x芯片AI算子,实现加速度、坡度及位移等数据采集、海浪方向谱计算、数据存储、传输等功能,图2是双核处理系统的示意图。
注:CPU为主处理器;TPU为计算芯片;RTC为实时时钟;USART为串口通信。
为对漂流波浪浮标系统达到大幅度降耗目的,将浮标状态设计为任务执行和低功耗两种,如表1所示。
表1 浮标系统不同状态功耗分析
任务执行方式设计为单线程循环模式,依次执行如图3所示操作。其中,“休眠”模式设计为两个工作周期之间的低功耗模式,可通过外部中断、看门狗或闹钟进行唤醒,微控制单元可自主唤醒;而“睡眠”模式设计为系统长时间不工作时采用的休眠方式,主要运用于诸如采集时间间隔长(一天以上)、电池电量低(通常低于30%)等情况下,仅可通过闹钟唤醒。经试验测算得知:漂流波浪浮标任务执行状态下的功耗明显大于休眠状态下的功耗,而休眠状态下的功耗占比也略大于睡眠状态下功耗。
图3 工作周期示意图
另一方面,通过对任务执行状态下各任务的单次运行功耗进行计算得知:数据采集为26.7mAh、海浪方向谱计算为10.3mAh、数据存储为1.8mAh,而数据通讯为53.3mAh,各项数据见表2。由此可以得知,系统各任务的运行时间与功耗相对固定,影响系统单位时间内总功耗的问题关键在于休眠与睡眠的合理使用以及休眠与睡眠的时间规划。
表2 任务执行时间及电流
任务执行状态存在连续工作、分段工作以及连续-分段相互切换等3种不同的模式。连续工作模式主要指两个工作周期之间连续不断运行的模式;分段模式是为两个工作周期之间有间隔,间隔正是由睡眠或休眠时间决定。
采用不同的运行模式,浮标系统的用电量、电池容量、太阳能充电能力等具有很大差异。为应对海洋表面气象多变导致太阳能电池板无法工作的情况,设计一套连续-分段双模式切换系统。工作原理设置如下:在连续工作模式下,每次工作结束时检测电源剩余电量,当检测到电源剩余电量低于一个阈值(通常为30%)时,自动切换为分段工作模式,即低功耗模式由休眠改为睡眠,睡眠时间为24 h,即每24 h执行一个工作周期;在分段模式下,每次执行工作时也会检测电源剩余电量,如天气变好,太阳能电池板重新发挥作用,系统会检测到电源电量变高,当电量高于一个阈值(通常为60%)时,系统重新切换回连续工作模式,低功耗方式改为休眠,工作周期间隔改为2 h。
3 海上试验及测试结果分析
漂流波浪浮标在中国南海某海域进行了海上试验,使用漂流波浪浮标系统采集了运动传感器数据,如图4所示。图5~图9分别为传统的海浪方向谱方法(DFTM、EMLM、BDM以及EMEP等)获得的海浪方向谱和本文漂流浮标获得的海浪方向谱。可以看出:传统方法的估计结果存在大量的伪峰,在平滑性和一致性方面都表现较差;本文提出的模型估计的方向谱更符合理论谱形,伪峰较少,并且对数据噪声的容忍度更高。
图4 本文浮标在中国南海海域布放情况
图5 DFTM海浪方向谱
图6 EMLM海浪方向谱
图7 BDM海浪方向谱
图8 EMEP海浪方向谱
图9 本文海浪方向谱
另一方面,通过对由现场观测数据进一步生成的500组数据进行计算,选取总能量相对误差作为定量标准衡量估计谱与靶谱(标准值)的相对精度,有
(5)
利用各方法获取估计谱,并计算误差指标,最后对结果计算平均值,结果显示本文方法总能量相对误差最小、效果最优,如表3所示。
表3 总能量相对误差对比
分析原因得知:传统的海浪方向谱估计方法仅能使用当前的输入数据,无法挖掘和利用历史数据中的有效信息,造成其估计性能的上限较低。为了获得更准确的方向谱估计结果,传统方法需要输入更多的观测信息,比如使用观测阵列或者多种传感器测量的波浪要素数据。在漂流波浪浮标的限制下,采集的数据种类有限,并且不可避免地会混入了大量噪声,因此造成了传统方法的估计结果较差,甚至无法应用于后续更高层次的海洋研究和海洋工程任务中。本文所采用的基于Transformer神经网络模型的海浪方向谱估计方法可以有效利用历史数据、仿真数据、阵列数据和多种传感器数据,使模型在训练过程中自动从这些数据中提取有效信息,以模型参数的形式将“知识”保存下来。在输入新的数据时,模型能够从噪声中提取有效信号,并通过自注意力机制计算出更为可靠的海浪方向谱。
经测试得知该系统平均工作时间为半年左右,而最长工作时间可达1年以上;同时,部分漂流波浪浮标经优化塑料模具制造工艺,可充分利用太阳能充电进行能源补充,其普遍工作时间均达到1年以上,最长达到18个月。
当漂流波浪浮标系统一直处于启动状态时,主处理器功耗占比35%,接口占比8%,内存占比11%,以及转换模块占比33%。因此,采用定时启动和休眠的状态来控制整体功耗。休眠状态时候,采用关闭外设时钟,只保留RTC,用于唤醒功能的正常运行。在整个软件系统程序执行流程中,系统采用间歇性“休眠-唤醒-休眠”的电源精细化管理方式,即:主处理器完成指定采集和传输工作后立即断电或休眠,到达设定工作时间再由RTC唤醒,处理结束后再次进入休眠状态,从而有效降低了系统能源消耗以及随机干扰的风险。经测算,通过以上措施后,系统整体硬件功耗大大下降。
4 结论
遥感卫星在获取大范围海浪方向谱方面具有独特优势,但同时也存在累积误差大、精度相对较低的问题,本文提出用小型漂流波浪浮标海浪方向谱对其进行标定的方法。一方面,本文通过设计一种基于Transformer深度神经网络模型的海浪方向谱估计方法,将漂流波浪浮标测得的传感器数据序列作为输入,将海浪方向谱作为输出,同时引入物理条件约束,实现“传感器数据”到“海浪方向谱”的端到端表达,相较于传统方法,本文方法所获得的方向谱更符合理论谱形,伪峰较少,并且对数据噪声的容忍度更高;另一方面,本文设计一种基于人工智能芯片的漂流波浪浮标系统,通过对整个系统不同任务进行动态调度分配,实现系统低功耗运行。将量化裁剪的海浪方向谱估计模型在漂流浮标终端部署,实现海浪方向谱高阶表示及浮标系统低功耗运行。