基于海上移动目标的多星协同规划方法
技术领域
本公开的实施例一般涉及卫星观测
技术领域
,并且更具体地,涉及基于海上移动目标的多星协同规划方法、装置、设备和计算机可读存储介质。背景技术
观测卫星是利用卫星遥感器对地球表面和底层大气进行光学或电子探测以获取有关信息的一类卫星。按照星载遥感器视场与观测目标面积的相对大小关系,观测目标通常可分为点目标和区域目标两类,点目标相对星载遥感器的幅宽较小,通常可以为一个较小的圆形或矩形区域,能够被单张卫星照片的视场所包含,例如:机场、港口等;区域目标的图像通常是一个多边形区域,相对星载遥感器的幅宽较大,无法完全被星载遥感器单景或单张条带照片覆盖,需要被卫星多次观测才能被完全覆盖,区域目标通常为多张照片拼合在一起的结果。
在现有的卫星任务规划研究中,大多是将成像卫星任务规划问题建模为优化问题,然后采用各种智能优化算法进行求解。当前主流的智能优化算法主要包括蚁群算法、模拟退火算法、粒子群算法和遗传算法等。
上述优化算法在求解多星协同任务规划问题时,都有其缺点:
蚁群算法利用了信息素的正反馈特性,能够较快的时间内搜索到较优解,但是算法易陷入早熟,即某路径的信息素浓度明显高于其他路径时,算法会过快的收敛于该路径。
模拟退火算法虽然局部搜索能力强,不易于陷入局部最优解,但是收敛速度慢,执行时间长,算法性能与初始值有关及参数敏感等缺点。
粒子群算法虽然有较快逼近最优解的能力。但是,由于所有粒子都向最优解的方向飞去,所有粒子趋于同一化(失去了多样性)使得后期收敛速度明显变慢,同时算法收敛到一定精度时,无法继续优化,所能达到的精度也不高。
遗传算法在多星协同规划方面应用最为广泛,虽然全局搜索能力较强,但是其也存在一个明显缺点,主要是遗传算法的初始解通常采用随机方式生成,解的搜索空间较大,搜索速度较慢,且在搜素全局最优解时往往会花费较多的时间,影响计算的效率,容易错过观测时间窗口。
发明内容
根据本公开的实施例,提供了一种多星协同规划方案。
在本公开的第一方面,提供了一种多星协同规划方法。该方法包括:
接收海上监测任务,将所述海上监测任务分解为一个或多个观测任务;
对所述多个观测任务进行排序,得到海上目标观测任务集合;所述海上目标观测任务集合包括多个观测任务以及每个观测任务对应的任务特征;
根据所述任务特征,将所述海上目标观测任务集合转换为观测任务序列集合;所述观测任务序列对应观测任务的任务特征;
将所述观测任务序列集合输入到预先训练的多星协同任务分配模型中,得到所述观测任务序列集合中每一个观测任务序列对应的卫星载荷,输出最优规划方案。
进一步地,所述根据所述任务特征,将所述海上目标观测任务集合转换为观测任务序列集合包括:
将所述任务特征进行量化,转换为预设格式的数据;所述任务特征包括任务的id、经度、纬度、任务最早开始时间、任务最迟结束时间、任务时间间隔、云量和/或任务收益;
通过Z-Score模型对所述预设格式的数据进行归一化,得到观测任务序列集合。
进一步地,所述多星协同任务分配模型通过如下方式进行训练:
将历史规划数据作为训练样本;所述历史规划数据包括观测任务序列以及对应的调用载荷结果;
将所述训练样本集中的观测任务序列作为输入,将与所述观测序列对应的调用载荷结果作为输出,通过Seq2seq神经网络构建所述多星协同任务分配模型。
进一步地,所述Seq2seq神经网络由Encoder+Decoder+Attention结构组成。
进一步地,所述将所述观测任务序列集合输入到预先训练的多星协同任务分配模型中,得到所述观测任务序列集合中每一个观测任务序列对应的卫星载荷包括:
将所述观测任务序列集合输入到预先训练的任务分配模型中,通过所述Encoder对所述观测任务序列集合进行处理,确定所述Encoder的隐藏状态;
基于所述Encoder的隐藏状态和Attention机制,计算背景变量;
基于所述背景变量,确定所述Decoder的隐藏状态;
基于所述Decoder的隐藏状态,通过Softmax函数确定每一个观测任务序列对应的卫星载荷。
进一步地,所述基于所述Encoder的隐藏状态和Attention机制,计算背景变量包括:
基于Attention机制确定所述观测任务序列集合在每一个时间步的隐藏状态;
基于注意力权重,通过所述Encoder对所有时间步的隐藏状态进行加权平均,得到背景变量;
其中,所述注意力权重包括:
基于总时间步数通过softmax函数,得到所述注意力权重。
进一步地,还包括:
采用交叉熵作为损失函数,通过Seq2seq神经网络训练所述任务分配模型。
在本公开的第二方面,提供了一种多星协同规划装置。该装置包括:
获取模块,用于获取接收海上监测任务,将所述海上监测任务分解为一个或多个观测任务;
排序模块,用于对所述多个观测任务进行排序,得到海上目标观测任务集合;所述海上目标观测任务集合包括多个观测任务以及每个观测任务对应的任务特征;
转换模块,用于根据所述任务特征,将所述海上目标观测任务集合转换为观测任务序列集合;所述观测任务序列对应观测任务的任务特征;
匹配模块,用于将所述观测任务序列集合输入到预先训练的多星协同任务分配模型中,得到所述观测任务序列集合中每一个观测任务序列对应的卫星载荷,输出最优规划方案。
在本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的第一方面的方法。
本申请实施例提供的多星协同规划方法,通过获取海上目标观测任务集合;所述海上目标观测任务集合包括多个观测任务以及每个观测任务对应的任务特征;根据所述任务特征,将所述海上目标观测任务集合转换为观测任务序列集合;所述观测任务序列对应观测任务的任务特征;将所述观测任务序列集合输入到预先训练的多星协同任务分配模型中,得到所述观测任务序列集合中每一个观测任务序列对应的卫星载荷,输出最优规划方案,可以在短时间内完成任务的规划,实现了收益与计算效率的兼顾,在保证了算法具有快速收敛和全局搜索能力的同时提高了计算效率。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了根据本公开的实施例的多星协同规划方法的流程图;
图2示出了根据本公开的实施例的Seq2seq结构示意图;
图3示出了根据本公开的实施例的Encoder和Decoder模块的结构示意图;
图4示出了根据本公开的实施例的Attention注意力机制结构图
图5示出了根据本公开的实施例的多星协同规划装置的方框图;
图6示出了能够实施本公开的实施例的示例性电子设备的方框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1示出了根据本公开实施例的多星协同规划方法100的流程图。方法100包括:
S110,接收海上监测任务,将所述海上监测任务分解为一个或多个观测任务。
在一些实施例中,海上监测任务通常是指对动态的目标进行监测的任务,其中,移动目标的监视区域一般为卫星在单个访问时间窗口内无法覆盖成像的区域,为了后续能够更好地适应神经网络算法应用,可将舰船航向(动态的目标)区域分解为多个静态目标组合体,参考卫星观测区域目标的方式。
在本公开中,针对动态的舰船,可将其视作沿着其航行方向的多个断续的静态区域来进行协同监视。
在一些实施例中,根据需求和/或实际应用场景(探索区域、目标等),接收海上监测任务,所述海上监测任务如表1所示:
表1
其中,ID1对应的数据为对港口进行监视,获取的监测数据,即对静态的目标(多次观测位置不发生改变)进行监视获取的监测数据;ID2对应的数据为对舰船监视获取的监测数据,即对动态目标进行监视(多次观测位置发生改变),获取的监测数据。
在一些实施例中,参见表1,根据监视时间的不同,可将每一个监视任务分解为多个(三个)观测任务。
S120,对所述多个观测任务进行排序,得到海上目标观测任务集合。
在一些实施例中,参见表1,所述海上目标观测任务集合可以包括多个观测任务以及每个观测任务对应的任务特征;所述任务特征可包括监视任务的id、经度、纬度、任务最早开始时间(可见窗口开始时间)、任务最迟结束时间(可见窗口结束时间)、任务时间间隔、云量和/或任务收益等。
其中,所述ID用于表示任务标号,同一个任务的ID相同;
所述任务收益的数值,表示完成该任务对用户的收益价值,数值越大表示完成该任务对用户越有价值。例如,当两个观测任务出现冲突时,选择完成其中收益数值更大的任务,放弃收益数值较小的任务,使得任务综合完成收益最大,以达到跟踪监视效果最佳的目的。通常可根据历史经验和/或应用场景进行设定。
在一些实施例中,可按照观测时间顺序,对所述多个观测任务进行排序,得到海上目标观测任务集合。
S130,根据所述任务特征,将所述海上目标观测任务集合转换为观测任务序列集合。
其中,所述观测任务序列对应观测任务的任务特征。
在一些实施例中,通常从所述观测任务选取所需的任务特征后,需先将选取的各任务特征进行量化。例如,将关于时间的任务特征(任务最早开始时间、任务最迟结束时间、任务时间间隔等)以秒为单位进行统计,将年月日格式数据转换为数值格式数据,以便后续进行归一化处理。
进一步地,将量化后的任务特征进行归一化处理,以避免量纲不同而带来的差异,基于量化后的任务特征,将所述海上目标观测任务集合转换为观测任务序列集合。
具体地,可使用Z-Score模型对量化后的任务特征进行归一化处理:
Z-Score=
其中,所述 ,表示均值;
所述 表示标准差;
经过所述Z-Score模型变化后,所有任务特征的均值均接近于0,方差为1。
在一些实施例中,基于所述归一化的任务特征,将所述海上目标观测任务集合转换为神经网络嵌入向量输入(观测任务序列集合)。
针对静态的目标神经网络模型输入的特征序列的每个时间步是按照时间顺序可见窗口排列的;
针对移动目标的神经网络模型输入的特征序列的每个时间步是舰船移动方向上区域分解的多个静态区域组合排列的。
其中,所述时间步可根据任务的整体监视时间进行设定,比如一个港口目标监视任务周期是5天,那么5天内卫星需要多次拍摄到目标(港口),港口目标源头监视任务的每个时间步输入特征是按照每个监控窗口定的,港口目标是静态的,多颗卫星载荷在不同时间点会出现可见时间窗口,每个重访时间窗口可作为一个时间步的输入,一个源头监视任务整体周期5天的话,那么循环神经网络需至少定义5个时间步,才可实现对源头监视目标的24小时内重访能力。
在一些实施例中,为便于描述多星对海观测任务可调度性问题,进行如下定义:
=<,……>
其中,所述,表示观测任务;
所述 ,表示任务特征;
所述n,表示特征总数(例如,8);
所述i,表示观测任务的编号(id);
用X表示观测任务序列,即:
X={︱i∈[1,N],N∈}
其中,所述N,表示所述任务序列的长度;
定义(,……,)为的前驱任务;(,……,)为 的后驱任务;需要说明的是,若当前任务为第一个任务时,即 =,则不存在前驱任务,同理,若当前任务为最后一个任务时,=,则不存在后驱任务。
S140,将所述观测任务序列集合输入到预先训练的多星协同任务分配模型中,得到所述观测任务序列集合中每一个观测任务序列对应的卫星载荷,输出最优规划方案。
在一些实施例中,所述多星协同任务分配模型可通过如下步骤得到:
将历史规划数据(Train)作为训练样本;所述历史规划数据包括观测任务序列以及对应的调用载荷结果;
将所述训练样本集中的观测任务序列作为输入,将与所述观测序列对应的调用载荷结果作为输出,通过Seq2seq神经网络构建所述多星协同任务分配模型;
其中,
如图2所示,所述Seq2seq神经网络包括Encoder和Decoder,图2中左边为Encoder(编码器),右边部分为Decoder(解码器),即,编码-解码模型。
其中,所述Encoder,用于将输入序列(Train)转化成一个固定长度的向量;
所述Decoder,用于将所述固定长度的向量再转化成输出序列;
基于所述固定长度的向量和输出序列,通过Attention(注意力机制)对当前任务与其前驱任务集合和/或后驱任务集合之间的潜在关系进行建模,即,确定移动观测物体的移动轨迹间的潜在关系,便于后续对移动物体进行精准检测(海上移动舰船等);
进一步地,所述编码器和解码器可根据实际应用场景进行选择,包括CNN、RNN、BiRNN、GRU和LSTM等,可根据实际情况进行自由组合;例如,在编码时使用BiRNN,解码时使用RNN,或者在编码时使用RNN,解码时使用LSTM等等。
在本公开中,所述编码器和解码器优选为便于序列建模,具备长时记忆能力的LSTM。
在一些实施例中,可采用交叉熵作为损失函数,通过Adam 优化算法进行数据和参数的优化(求取使得损失函数最小的最优解),所述Adam 优化算法同时具备 AdaGrad 和RMSProp算法的优点,适用于解决含大规模数据和参数的优化问题,计算高效且所需的内存少。
在一些实施例中,定义Y为所述X对应的观测结果,即:
Y={︱i∈[1,N],N∈}
其中,所述,表示观测任务对应的卫星调用载荷结果;
进一步地,
定义 为观测任务序列X对应的系统规划结果(历史规划结果):
={︱i∈[1,N],N∈}
其中,所述表示观测任务对应的真实计算结果;
进一步地,
定义Train为历史规划数据:
Train={<,>︱i∈[1,M],M∈};
综上,用Test表示基于所述历史规划数据映射关系产生的观测任务序列集合可以表示为:
Test={︱i∈[1,m],m∈}
即,所述Test为神经网络嵌入向量输入(观测任务序列集合)。
具体地,将所述Test作为神经网络嵌入向量,输入到所述Encoder编码器中。如图3所示,设当前时间步为t,基于上个时间步的隐藏状态,通过Lstm将输入的特征向量=<,……>转换为当前时间步的隐藏状态 ,即,基于上个时间步的隐藏状态 ,通过遗忘门 、输入门、输出门将所述特征向量变换为当前时间步的隐藏状态 ,可通过下式表示隐藏层的变换关系:
=Lstm(,)
如图4所示,基于Attention,建模当前任务与其前驱任务集合和/或后驱任务集合之间的潜在关系,基于所述潜在关系可有效的对移动物体进行精准监控,即,可将移动物体分解为多个静态目标进行监控。
具体地,通过编码器调整每一时间步的注意力权重,从而计算得到各个时间步的隐藏状态,将得到的所有时间步的隐藏状态 ,做加权平均得到背景变量,其计算公式如下:
=
其中,所述T为时间总步数;
所述 为注意力权重,t=1,……,T;
编码器在时间步t的隐藏状态为,且总时间步数为T。那么解码器在时间步的背景变量()为所有编码器隐藏状态的加权平均,所述 为一个概率分布;
通常所述的值可直接通过softmax函数进行计算得到,但是在本公开中,根据海上移动目标从发现到多次跟踪的实际情况角度出发进行考虑,当海上移动目标被发现后,通常可通过当前航速航向来判断下一次跟踪监视区域,即,发现目标后直接(第一步)进行跟踪的概率较大,后续进行跟踪时可能会受到航向、航速等多种因素干扰,导致跟踪发现的概率递减,因此在本公开中,通过如下公式计算所述注意力权重:
=,t=1,……,T
在所述解码器中,将上一时间步的输出以及背景变量 作为输入,基于上一时间步的隐藏状态,将其转换为当前时间步的隐藏状态 ,用函数g表示表示所述解码器隐藏层的变换:
=g(,,)
参考图2,得到所述解码器的隐藏状态后,将所述特征向量传输到全连接层(context),进行非线性处理之后,通过Softmax函数输出相应类别的概率,计算当前各时间步输出 的概率分布,即,输出特征标签[0,1,……,m],所述特征标签表示各卫星载荷调用选择。
在一些实施例中,将所述观测任务序列集合Test,作为神经网络嵌入向量输入所述任务分配模型,得到所述观测任务序列集合中每一个观测任务序列对应的卫星载荷,输出最优规划方案,即,分别调用对应的卫星载荷完成观测任务。
进一步地,通过如下实验对本方法的有效性进行验证,通过STK(卫星工具包)软件生成5颗卫星与500个目标,用本公开的多星协同规划方法和常规的遗传算法分别对所述5颗卫星与500个目标进行处理,分别得到基于所述多星协同规划方法和常规遗传算法的最优规划方案,将得到的最优规划方案进行比较分析,为了减少误差,更好地验证数据有效性,所有数据均为通过算法运行10次后取平均值得到,如表2所示。可见,本公开提供的多星协同规划方法,能够缩短计算耗时,提高规划收益,执行效率明显优于一般遗传算法。
问题规模
采用算法
成像收益
安排成像任务量
计算耗时s
5颗卫星
本公开方法
2242.2
334.5
11
500个目标
遗传算法
2034.9
312.1
67.3
表2
根据本公开的实施例,实现了以下技术效果:
基于seq2seq神经网络构建任务分配模型,对任务集合进行处理分配卫星载荷,能够以较低计算代价准确地预测出海上目标观测任务集合中可以调用的卫星载荷,有效避免了遗传算法的搜索计算量,可在较短的时间内获取收益较高的可行解,相比于传统的进化类算法,本方案可以在短时间内完成任务的规划,实现收益与计算效率的兼顾。同时,本申请通过Attention注意力机制,对当前任务与其前驱任务集合和/或后驱任务集合之间的潜在关系进行建模,可有效的对移动物体进行精准监控,即,可将移动物体分解为多个静态目标进行监控。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
图5示出了根据本公开的实施例的多星协同规划装置500的方框图。如图5所示,装置500包括:
获取模块510,用于接收海上监测任务,将所述海上监测任务分解为多个观测任务;
排序模块520,用于对所述多个观测任务进行排序,得到海上目标观测任务集合;所述海上目标观测任务集合包括多个观测任务以及每个观测任务对应的任务特征;
转换模块530,用于根据所述任务特征,将所述海上目标观测任务集合转换为观测任务序列集合;所述观测任务序列对应观测任务的任务特征;
匹配模块540,用于将所述观测任务序列集合输入到预先训练的多星协同任务分配模型中,得到所述观测任务序列集合中每一个观测任务序列对应的卫星载荷,输出最优规划方案。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图6示出了可以用来实施本公开的实施例的电子设备600的示意性框图。如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可以存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元601执行上文所描述的各个方法和处理,例如方法100。例如,在一些实施例中,方法100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由CPU 601执行时,可以执行上文描述的方法100的一个或多个步骤。备选地,在其他实施例中,CPU 601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法100。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。