GNSS故障信号检测与排除方法、系统、设备及介质
文献发布时间:2024-04-18 19:58:21
技术领域
本发明涉及卫星导航技术领域,特别是涉及一种GNSS故障信号检测与排除方法、系统、设备及介质。
背景技术
目前,全球导航卫星系统(Global Navigation Satellite System,GNSS)已经成为人们日常生活中不可或缺的定位系统之一,可提供全球、全天候和高精度的服务。然而,由于GNSS无线信号本身具有容易受到干扰或欺骗的脆弱性特点,可能导致GNSS系统出现观测故障,从而影响定位结果。因此,如何及时、准确地检测并排除GNSS故障信号,对于保障系统安全和可靠性至关重要,特别是对于航空、自动驾驶等生命安全系统尤为重要。
为了提高GNSS定位结果的可靠性,现有的故障信号的检测与排除技术通常可分为快照法和时序法两类。
快照法指仅系统利用当前时刻的GNSS观测信号,进行故障的检测与排除。典型的快照法包括最小二乘残差法,奇偶矢量法和解分离法等等。该类方法主要是通过假设检验的技术原理,对GNSS所有观测信号的定位结果一致性进行校验,从而判断是否存在故障。然而,由于该类方法只采用某一个固定时刻的观测信息,当故障类型为缓变故障时,由于故障在初期较小,导致无法触发故障检测门限,容易造成故障漏检,使得故障检测与排除结果不准确。
针对时序故障的检测问题,现有技术通常采用时序法来对信号特征进行时序建模,从而提高模型对于故障的检测与排除性能。常用的时序技术包括基于卡尔曼滤波的故障检测方法,以及基于长短期记忆网络(Long Short-Term Memory,LSTM)的故障检测方法等等。然而,由于在实际应用中,GNSS信号故障往往出现概率较低,导致实测故障数据量较少。因此,该类方法通常是在仿真数据上进行模型假设和算法设计。由于仿真数据与真实应用场景可能存在较大的差异,导致现有方法的实际应用效果并不理想。
发明内容
本发明的目的是提供一种GNSS故障信号检测与排除方法、系统、设备及介质,可减少漏检并且在实测故障数据量少的情况下也能实现对GNSS故障信号检测与排除。
为实现上述目的,本发明提供了如下方案:
一种GNSS故障信号检测与排除方法,包括:
获取预训练数据集和微调数据集;所述预训练数据集包括多个数据样本;所述微调数据集包括多个数据样本以及各数据样本内每个观测卫星的故障结果;一个数据样本包括多个观测卫星在同一时刻的GNSS观测数据;所述故障结果包括有故障和无故障;所述预训练数据集中的数据样本与所述微调数据集中的数据样本不同;
采用所述预训练数据集和所述微调数据集对深度神经网络模型进行预训练得到故障检测与排除模型,所述故障检测与排除模型用于对待检测GNSS观测信号进行故障信号检测与排除。
可选的,采用所述预训练数据集和所述微调数据集对深度神经网络模型进行预训练得到故障检测与排除模型,具体包括:
构建深度神经网络模型;所述深度神经网络模型包括依次连接的全连接线性层和Transformer层;所述Transformer层包括多个依次连接的Transformer模块;
采用最小二乘残差法对所述预训练数据集和所述微调数据集中各数据样本进行处理得到所述预训练数据集中各数据样本的伪距离残差以及所述微调数据集中各数据样本的伪距离残差;
采用所述预训练数据集中各数据样本的伪距离残差对所述深度神经网络模型进行无监督训练得到训练好的深度神经网络模型;
采用所述微调数据集中各数据样本的伪距离残差以及所述微调数据集中各数据样本内每个观测卫星的故障结果对所述训练好的深度神经网络模型进行微调和验证得到故障检测与排除模型。
可选的,采用所述预训练数据集中各数据样本的伪距离残差对所述深度神经网络模型进行无监督训练得到训练好的深度神经网络模型,具体包括:
将所述预训练数据集按设定比例划分得到第一训练集和第一测试集;
将所述第一训练集中各数据样本的伪距离残差输入所述深度神经网络模型的全连接线性层得到第一训练编码特征数据集;
采用MASK模块对所述第一训练编码特征数据集进行处理得到第一训练掩码特征数据集;
将所述第一训练编码特征数据集和所述第一训练掩码特征数据集分别输入所述深度神经网络模型的Transformer层得到第一编码上下文特征数据集和第一掩码上下文特征数据集;
以均方误差损失函数最小为目标对所述深度神经网络模型进行训练得到第一深度神经网络模型;所述均方误差损失函数根据所述第一编码上下文特征数据集和所述第一掩码上下文特征数据集计算得到;
采用所述第一测试集中各数据样本的伪距离残差对所述第一深度神经网络模型进行验证得到训练好的深度神经网络模型。
可选的,采用所述微调数据集中各数据样本的伪距离残差以及所述微调数据集中各数据样本内每个观测卫星的故障结果对所述训练好的深度神经网络模型进行微调和验证得到故障检测与排除模型,具体包括:
将所述微调数据集按设定比例划分得到第二训练集和第二测试集;
以交叉熵损失函数最小为目标,以所述第二训练集中各数据样本的伪距离残差为输入,以所述第二训练集中各数据样本内每个观测卫星的故障结果为输入对所述训练好的深度神经网络模型进行微调得到微调后的模型;
根据所述第二测试集中各数据样本的伪距离残差以及所述第二测试集中各数据样本内每个观测卫星的故障结果对所述微调后的模型进行验证得到故障检测与排除模型。
一种GNSS故障信号检测与排除系统,包括:
获取模块,用于获取预训练数据集和微调数据集;所述预训练数据集包括多个数据样本;所述微调数据集包括多个数据样本以及各数据样本内每个观测卫星的故障结果;一个数据样本包括多个观测卫星在同一时刻的GNSS观测数据;所述故障结果包括有故障和无故障;所述预训练数据集中的数据样本与所述微调数据集中的数据样本不同;
预训练模块,用于采用所述预训练数据集和所述微调数据集对深度神经网络模型进行预训练得到故障检测与排除模型,所述故障检测与排除模型用于对待检测GNSS观测信号进行故障信号检测与排除。
可选的,所述预训练模块,具体包括:
模型构建单元,用于构建深度神经网络模型;所述深度神经网络模型包括依次连接的全连接线性层和Transformer层;所述Transformer层包括多个依次连接的Transformer模块;
预处理单元,用于采用最小二乘残差法对所述预训练数据集和所述微调数据集中各数据样本进行处理得到所述预训练数据集中各数据样本的伪距离残差以及所述微调数据集中各数据样本的伪距离残差;
无监督训练单元,用于采用所述预训练数据集中各数据样本的伪距离残差对所述深度神经网络模型进行无监督训练得到训练好的深度神经网络模型;
微调和验证单元,用于采用所述微调数据集中各数据样本的伪距离残差以及所述微调数据集中各数据样本内每个观测卫星的故障结果对所述训练好的深度神经网络模型进行微调和验证得到故障检测与排除模型。
可选的,所述无监督训练单元,具体包括:
第一比例划分子单元,用于将所述预训练数据集按设定比例划分得到第一训练集和第一测试集;
第一训练编码特征数据集计算子单元,用于将所述第一训练集中各数据样本的伪距离残差输入所述深度神经网络模型的全连接线性层得到第一训练编码特征数据集;
第一训练掩码特征数据集计算子单元,用于采用MASK模块对所述第一训练编码特征数据集进行处理得到第一训练掩码特征数据集;
上下文特征数据集计算子单元,用于将所述第一训练编码特征数据集和所述第一训练掩码特征数据集分别输入所述深度神经网络模型的Transformer层得到第一编码上下文特征数据集和第一掩码上下文特征数据集;
训练子单元,用于以均方误差损失函数最小为目标对所述深度神经网络模型进行训练得到第一深度神经网络模型;所述均方误差损失函数根据所述第一编码上下文特征数据集和所述第一掩码上下文特征数据集计算得到;
验证子单元,用于采用所述第一测试集中各数据样本的伪距离残差对所述第一深度神经网络模型进行验证得到训练好的深度神经网络模型。
可选的,所述微调和验证单元,具体包括:
第二比例划分子单元,用于将所述微调数据集按设定比例划分得到第二训练集和第二测试集;
微调子单元,用于以交叉熵损失函数最小为目标,以所述第二训练集中各数据样本的伪距离残差为输入,以所述第二训练集中各数据样本内每个观测卫星的故障结果为输入对所述训练好的深度神经网络模型进行微调得到微调后的模型;
验证子单元,用于根据所述第二测试集中各数据样本的伪距离残差以及所述第二测试集中各数据样本内每个观测卫星的故障结果对所述微调后的模型进行验证得到故障检测与排除模型。
一种电子设备,包括:
存储器和处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据上述所述的GNSS故障信号检测与排除方法。
一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的GNSS故障信号检测与排除方法。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
预训练主要思想是利用大规模无标注数据进行模型预训练,从而获得数据的表征模型,最后仅需要通过少量标注数据对表征模型进行微调,即可在下游任务中获得较好的性能,所以本发明使用预训练方法得到故障检测与排除模型,可在实测故障数据量少的情况下也能实现对GNSS故障信号检测与排除,并且本发明采用预训练方法可以提高模型的检测结果正确率,来减少漏检。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的GNSS故障信号检测与排除方法的流程图;
图2为本发明实施例提供的GNSS故障信号检测与排除方法的大体流程图;
图3为本发明实施例提供的预训练深度神经网络模型的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明实施例提供了一种GNSS故障信号检测与排除方法,包括:
S1:获取预训练数据集和微调数据集;所述预训练数据集包括多个数据样本;所述微调数据集包括多个数据样本以及各数据样本内每个观测卫星的故障结果;一个数据样本包括多个观测卫星在同一时刻的GNSS观测数据;所述故障结果包括有故障和无故障;所述预训练数据集中的数据样本与所述微调数据集中的数据样本不同。
S2:采用所述预训练数据集和所述微调数据集对深度神经网络模型进行预训练得到故障检测与排除模型,所述故障检测与排除模型用于对待检测GNSS观测信号进行故障信号检测与排除。
在实际应用中,采用所述预训练数据集和所述微调数据集对深度神经网络模型进行预训练得到故障检测与排除模型,具体包括:
构建深度神经网络模型;所述深度神经网络模型包括依次连接的全连接线性层和Transformer层;所述Transformer层包括多个依次连接的Transformer模块。
采用最小二乘残差法对所述预训练数据集和所述微调数据集中各数据样本进行处理得到所述预训练数据集中各数据样本的伪距离残差以及所述微调数据集中各数据样本的伪距离残差。
采用所述预训练数据集中各数据样本的伪距离残差对所述深度神经网络模型进行无监督训练得到训练好的深度神经网络模型。
采用所述微调数据集中各数据样本的伪距离残差以及所述微调数据集中各数据样本内每个观测卫星的故障结果对所述训练好的深度神经网络模型进行微调和验证得到故障检测与排除模型。
在实际应用中,采用所述预训练数据集中各数据样本的伪距离残差对所述深度神经网络模型进行无监督训练得到训练好的深度神经网络模型,具体包括:
将所述预训练数据集按设定比例划分得到第一训练集和第一测试集。
将所述第一训练集中各数据样本的伪距离残差输入所述深度神经网络模型的全连接线性层得到第一训练编码特征数据集。
采用MASK模块对所述第一训练编码特征数据集进行处理得到第一训练掩码特征数据集。
将所述第一训练编码特征数据集和所述第一训练掩码特征数据集分别输入所述深度神经网络模型的Transformer层得到第一编码上下文特征数据集和第一掩码上下文特征数据集。
以均方误差损失函数最小为目标对所述深度神经网络模型进行训练得到第一深度神经网络模型;所述均方误差损失函数根据所述第一编码上下文特征数据集和所述第一掩码上下文特征数据集计算得到,其中均方误差损失函数为I=(||A-B||
采用所述第一测试集中各数据样本的伪距离残差对所述第一深度神经网络模型进行验证得到训练好的深度神经网络模型。
在实际应用中,采用所述第一测试集中各数据样本的伪距离残差对所述第一深度神经网络模型进行验证得到训练好的深度神经网络模型,具体包括:
将第一测试集中各数据样本的伪距离残差输入所述第一深度神经网络模型的全连接线性层得到第一测试编码特征数据集。
采用MASK模块对所述第一测试编码特征数据集进行处理得到第一测试掩码特征数据集。
将所述第一测试编码特征数据集和所述第一测试掩码特征数据集分别输入所述深度神经网络模型的Transformer层得到第一测试编码上下文特征数据集和第一测试掩码上下文特征数据集。
根据第一测试编码上下文特征数据集和第一测试掩码上下文特征数据集计算第一测试集中每个样本(各数据样本的伪距离残差)的均方误差损失函数值。
对所有样本的均方误差损失函数值求平均,获得这个模型的评测损失函数。
当模型的评测损失函数在区间震荡时,也即不再下降时,选取所有模型中评测损失函数最小的模型最为最终的模型。
在实际应用中,采用所述微调数据集中各数据样本的伪距离残差以及所述微调数据集中各数据样本内每个观测卫星的故障结果对所述训练好的深度神经网络模型进行微调和验证得到故障检测与排除模型,具体包括:
将所述微调数据集按设定比例划分得到第二训练集和第二测试集。
以交叉熵损失函数最小为目标,以所述第二训练集中各数据样本的伪距离残差为输入,以所述第二训练集中各数据样本内每个观测卫星的故障结果为输入对所述训练好的深度神经网络模型进行微调得到微调后的模型。
根据所述第二测试集中各数据样本的伪距离残差以及所述第二测试集中各数据样本内每个观测卫星的故障结果对所述微调后的模型进行验证得到故障检测与排除模型。
在实际应用中,根据所述第二测试集中各数据样本的伪距离残差以及所述第二测试集中各数据样本内每个观测卫星的故障结果对所述微调后的模型进行验证得到故障检测与排除模型,具体包括:
利用第二测试集中的每一个样本(各数据样本的伪距离残差)以及每个样本对应的每个观测卫星的故障结果,计算该模型下每一个样本的交叉熵损失函数。
对所有样本的交叉熵损失函数求平均,获得这个模型的评测损失函数。
当模型的评测损失函数在区间震荡时,也即不再下降时,选取所有模型中评测损失函数最小的模型最为最终的模型。
针对上述方法本发明提供了一种更加具体的实施例对上述方法进行详细介绍,如图2所示,主要包含5个步骤,如下:1)数据集准备:利用接收机收集或直接下载开源的GNSS观测数据用于预训练,准备真实的GNSS观测故障数据用于微调和评测,同时将数据按9:1的比例分为训练集和测试集。2)数据特征提取:利用每一个时刻的数据,计算伪距离残差作为模型的特征。3)模型与损失函数构建:构建Transformer网络结构和Mask策略,采用预训练数据对模型进行训练。4)模型微调训练:采用观测故障数据对模型进行二分类任务的微调训练,使得模型能够对故障的有无进行判别。5)故障检测与排除:采用训练好的模型,对GNSS观测信号进行判断,检测并排除故障信号,每个步骤具体如下:
步骤一:数据集准备
本发明将准备的数据集分为预训练数据集和微调数据集两类。
预训练数据集为利用接收机收集或直接下载开源的GNSS观测数据,这类数据也可以称为无标注数据D
微调数据集为真实的GNSS观测故障数据,也可以称为有标注数据D
通常情况下,无标注数据的总数量往往远大于有标注数据的数量,也即N
步骤二:数据特征提取
对于每一个时刻,采用观测量,计算深度神经网络模型输入的特征矢量。参考传统快照法中最小二乘残差法来计算伪距离残差作为模型的特征。
首先,利用x
然后,利用第i个数据样本的最小二乘定位结果X
ρ
由于在观测过程中,有的卫星可见,有的卫星不可见,因此,采用固定槽位的方式来进行特征构建,即观测数据的最大卫星数量为N,则输入特征的维度为固定的N。当第j颗卫星可见时,则输入特征的第j维为对应的伪距离残差ρ
在本发明中,共涉及最多36颗观测卫星,因此输入特征的维度为N=36。通过本步骤,将给定数据x
步骤三:模型与损失函数构建
本发明实施例采用的深度神经网络模型包括一个全连接线性层和12个标准Transformer模块,如图3所示。其中全连接线性层的作用是将N维的输入特征f
在预训练过程中,额外引入Mask模块,将编码特征e
为了进行模型的预训练,构建均方误差(Mean Square Error,MSE)损失函数,使得采用掩码特征
在预训练过程中,仅采用数据D
步骤四:模型微调训练
在本步骤中,采用标注数据集D
为了获得每一个时刻的故障检测结果,本发明将上下文特征c
其中l
在模型微调训练中以
步骤五:模型性能测试
最后,采用有标注测试集D
针对上述方法本发明实施例提供了一种GNSS故障信号检测与排除系统,包括:
获取模块,用于获取预训练数据集和微调数据集;所述预训练数据集包括多个数据样本;所述微调数据集包括多个数据样本以及各数据样本内每个观测卫星的故障结果;一个数据样本包括多个观测卫星在同一时刻的GNSS观测数据;所述故障结果包括有故障和无故障;所述预训练数据集中的数据样本与所述微调数据集中的数据样本不同。
预训练模块,用于采用所述预训练数据集和所述微调数据集对深度神经网络模型进行预训练得到故障检测与排除模型,所述故障检测与排除模型用于对待检测GNSS观测信号进行故障信号检测与排除。
在实际应用中,所述预训练模块,具体包括:
模型构建单元,用于构建深度神经网络模型;所述深度神经网络模型包括依次连接的全连接线性层和Transformer层;所述Transformer层包括多个依次连接的Transformer模块。
预处理单元,用于采用最小二乘残差法对所述预训练数据集和所述微调数据集中各数据样本进行处理得到所述预训练数据集中各数据样本的伪距离残差以及所述微调数据集中各数据样本的伪距离残差。
无监督训练单元,用于采用所述预训练数据集中各数据样本的伪距离残差对所述深度神经网络模型进行无监督训练得到训练好的深度神经网络模型。
微调和验证单元,用于采用所述微调数据集中各数据样本的伪距离残差以及所述微调数据集中各数据样本内每个观测卫星的故障结果对所述训练好的深度神经网络模型进行微调和验证得到故障检测与排除模型。
在实际应用中,所述无监督训练单元,具体包括:
第一比例划分子单元,用于将所述预训练数据集按设定比例划分得到第一训练集和第一测试集。
第一训练编码特征数据集计算子单元,用于将所述第一训练集中各数据样本的伪距离残差输入所述深度神经网络模型的全连接线性层得到第一训练编码特征数据集。
第一训练掩码特征数据集计算子单元,用于采用MASK模块对所述第一训练编码特征数据集进行处理得到第一训练掩码特征数据集。
上下文特征数据集计算子单元,用于将所述第一训练编码特征数据集和所述第一训练掩码特征数据集分别输入所述深度神经网络模型的Transformer层得到第一编码上下文特征数据集和第一掩码上下文特征数据集。
训练子单元,用于以均方误差损失函数最小为目标对所述深度神经网络模型进行训练得到第一深度神经网络模型;所述均方误差损失函数根据所述第一编码上下文特征数据集和所述第一掩码上下文特征数据集计算得到。
验证子单元,用于采用所述第一测试集中各数据样本的伪距离残差对所述第一深度神经网络模型进行验证得到训练好的深度神经网络模型。
在实际应用中,所述微调和验证单元,具体包括:
第二比例划分子单元,用于将所述微调数据集按设定比例划分得到第二训练集和第二测试集。
微调子单元,用于以交叉熵损失函数最小为目标,以所述第二训练集中各数据样本的伪距离残差为输入,以所述第二训练集中各数据样本内每个观测卫星的故障结果为输入对所述训练好的深度神经网络模型进行微调得到微调后的模型。
验证子单元,用于根据所述第二测试集中各数据样本的伪距离残差以及所述第二测试集中各数据样本内每个观测卫星的故障结果对所述微调后的模型进行验证得到故障检测与排除模型。
本发明实施例还提供了一种电子设备,包括:
存储器和处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据上述实施例所述的GNSS故障信号检测与排除方法。
本发明实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例所述的GNSS故障信号检测与排除方法。
本发明有以下技术效果:
目前,预训练技术已经在自然语言处理,图像,语音等人工智能领域获得广泛使用,其主要思想是利用大规模无标注数据进行模型预训练,从而获得数据的表征模型,最后仅需要通过少量标注数据对表征模型进行微调,即可在下游任务中获得较好的性能,针对目前GNSS实测故障数据较少的问题,本发明提出一种基于预训练的GNSS故障信号检测与排除算法,在保证最终算法性能的同时,降低模型对标注数据量的依赖。
本发明借鉴人工智能领域中自监督预训练的思想,利用大规模实测数据进行预训练,然后通过微调的方式,提高模型对GNSS故障信号检测与排除的性能。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
- 微弱故障信号检测方法、装置、计算机设备和存储介质
- 一种触觉信号检测方法、装置、系统、设备及存储介质
- 一种故障节点检测方法及系统、设备和可存储介质
- 智能交通信号灯故障远程检测方法、系统、设备及介质
- 智能交通信号灯故障远程检测方法、系统、设备及介质