基于神经网络与Hausdorff距离融合的星图识别方法

文档序号:35780319发布日期:2023-10-21 16:25阅读:27来源:国知局
基于神经网络与Hausdorff距离融合的星图识别方法

本发明属于天文导航领域,特别是涉及到一种基于神经网络与hausdorff距离融合的星图识别方法。


背景技术:

1、星敏感器在组装加工、运输及工作的过程中,容易受到各种因素的干扰。在星敏感器组装加工的过程中,由于元器件的工艺缺陷以及安装偏差,无论再精确的装调,总会存在焦距、主点、像平面倾斜和畸变等偏差;在随着运载体发射的过程中,即使在地面已经标定好待在轨服务的内参数,会受到振动等因素的干扰而导致其偏离标定值;在星敏感器在轨工作过程中,会受到太阳光、月光和地球反射光等杂光干扰,其内部电子器件还会因温度、空间辐射等因素的影响而老化。这些因素的干扰,会导致星敏感器的性能降低。星图识别是航天器姿态准确输出的前提和关键。星图识别算法的性能(包括识别准确率、鲁棒性和快速性等性能)在很大程度上决定着星敏感器的姿态输出精度和稳定性,所以进一步提升星图识别的自主性、鲁棒性对增强星敏感器的可靠性有重要意义。

2、随着航天技术的不断进步,各式各样的算法被应用到了星图识别中,旨在增强星敏感器的自主性和可靠性。星图识别算法可根据特征类型及匹配方式的不同大致可分为三大类,以三角形算法为代表的基于星座特征的算法、以格栅算法为代表的基于模式识别的算法和以神经网络、遗传算法为代表的基于智能行为的算法。总的来说,星图识别算法的鲁棒性、可靠性、自主性和智能性有着越来越高的趋势。

3、基于hausdorff距离的星图识别方法,在进行特征匹配时,不需要点对点的对应关系,对受到噪声污染、失真较大的星图的识别具有较好的鲁棒性,但传统的基于hausdorff距离的星图识别方法需要遍历星库,设定相关的门限或阈值,在运算时需要不断地访问内存,一定程度上影响了星图识别的快速性。现有的基于神经网络的星图识别方法,大多数神经网络将首先将导航星分为很多个大类,但仍然需要进行二次匹配,匹配过程相对复杂;另外,现有的基于神经网络的星图识别方法,在进行特征匹配时,只能是特征元素点对点的对应关系进行运算,尤其当邻星受到干扰发生较大位置偏差时,往往导致相关导航星特征向量的特征元素发生很大改变而无法正确识别。本发明考虑到神经网络与hausdorff距离在星图识别领域各自的优势和劣势,提出了一种基于神经网络与部分hausdorff距离融合的星图识别方法,该方法在星敏感器内参数偏差、星点位置偏差、星等偏差、假星等干扰因素的影响下,具有很强的鲁棒性以及很高的识别成功率。


技术实现思路

1、本发明的目的是为了克服上述现有技术的不足,提供了一种基于神经网络与部分hausdorff距离融合的星图识别方法,该方法充分互补了hausdorff距离与神经网络在星图识别方面的优劣,能够在观测星特征模式具有一定错误的条件下,仍能够做到正确识别,识别过程快速、简单、识别率高,并且对星敏感器内参数偏差、星点位置偏差、星等偏差、伪星等干扰因素具有很强鲁棒性。

2、一种基于神经网络与hausdorff距离融合的星图识别方法,包括如下步骤:

3、1.构建导航星特征数据库

4、1.1sao星表中筛选出符合要求的导航星,将角距小于某一角距阈值的星对视为双星,将双星中星等较高的伴星删除,经过处理,星表中还剩下5046颗导航星。

5、1.2让每一颗导航星依次成为主星,以主星为中心,沿其径向方向出发,按照角距选取距离主星最近的n颗邻星,将主星和n颗邻星由天球坐标系变换到某一虚拟图像坐标系上。

6、1.3由导航主星s0的径向方向出发,与其距离由近及远的n颗邻星排列为{s'1,s'2,…,s'n},各邻星相对主星s0的方向向量矩阵为任选一颗邻星如s'1与主星s0的连线作为起始边,逆时针方向为正方向,以主星s0为中心,计算其他邻星与s'1之间的夹角θ'(m,1),按照公式(1):

7、

8、其中,θ'(m,1)表示邻星中排序为的的邻星与排序为1的邻星的夹角,×表示两向量之间的叉积,∑表示对数组元素的求和。

9、1.4将n颗近邻星按照θ'(m,1)由小到大的方式重新排列,表示从s'1开始由逆时针方向邻星的顺序,即{s1,s2,…,sn},其对应的相对于s0的方向向量矩阵为ssn中列向量循环左移一位,即

10、计算导航星特征向量中的比例距离元素,即将ssn_1的各向量的模除于ssn中对应向量的模;

11、计算导航星特征向量中的邻星夹角余弦值,即将ssn_1与ssn中相对应列向量归一化后进行点积,所得特征元素按照相应对应关系,由此,得到各个导航星特征向量,即

12、其中,

13、2.构建邻星索引库

14、记录下与主星距离由近到远的n颗邻星的星号,构建初步的邻星索引库。

15、将相邻邻星间的夹角θi的由小到大或由大到小排列,依据θi的排序方式改变邻星星号的顺序,构成最终的邻星索引库。

16、3.搭建自组织竞争神经网络,并将hausdorff距离的计算方式融入到神经元中

17、该方法采用的神经网络模型为自组织竞争神经网络,该网络共有两层,第一层为输入层,神经元的个数与导航星特征向量的长度相同,即2n,竞争层的输出节点数即要分类的导航星的总数量相同,即n,本方法中输出层神经元数量为5046。

18、将部分hausdorff距离融合到每个神经元的计算方式中。修改神经元的权值向量与输入向量的计算方式;

19、在自组织神经网络的竞争层,当输入向量与神经元的权值向量最接近时,该神经元赢得竞争。将输入向量与神经元的接近程度的衡量方式改为部分hausdorff距离,单个神经元的权值向量为w=[w1,w'1,…,wn,w'n],首先按照式(2)计算矩阵a;

20、

21、取矩阵a的每一行的最小值,构成a'=[a'1,a'2,…,a'n-1,a'n];

22、将a'中的元素按由小大排列,构成b=[a1,a2,…,an-1,an];

23、设置值k,0<k≤1,选择b中前个元素,表示向下取整,即

24、对c中元素进行求和,即∑c;

25、神经元激活与输出;o=g(∑c+b),其中b是神经元阈值,g(·)为激活函数,o为神经元的输出。

26、4.训练神经网络

27、由于竞争层的每个神经元就对应着一个导航星的类别,每个神经元的权值向量与相对应的导航星的特征向量是一一对应的,所以只需要将导航星的特征数据库赋值给神经网络的权值矩阵即完成训练任务。

28、5.星图识别

29、5.1对观测星进行筛选;进行星点质心提取后,将星点质心距离小于等于4像素的星点视为双星,并锁定双星中亮度较低的一颗星去除。

30、5.2观测星特征向量提取;将各观测星依据到主点的距离远近从小到大排序,将各观测星依次作为观测主星,由观测主星的径向方向,取距离观测主星最近的n颗邻星,依次计算n颗观测邻星到观测主星的距离bi。

31、沿以逆时针为正方向的环向方向,以观测主星为中心,计算相邻邻星到主星距离的比值同时计算相邻观测邻星间的夹角的余弦值以此观测星的特征向量,即

32、5.3建立观测星邻星索引库;记录下观测主星及其邻星的序号,该序号表示观测星与主点的距离由近及远的顺序,将邻星的序号按照观测邻星到观测主星的距离由近到远进行第一次排序;以逆时针为正方向,将观测邻星的序号按照的大小由小到大或由大到小的顺序进行二次排列,构成观测星邻星索引库。

33、5.4观测主星匹配;将观测星特征向量输入已经训练好的神经网络,竞争层每个神经元计算输入向量与自身权值向量的部分hausdorff距离,神经元的权值向量与输入向量部分hausdorff距离最小的赢得竞争;由于神经元的序号与导航星星号是一一对应的,查询输出为1的神经元,就可认为该观测星找到与其了一一对应的导航星。

34、5.5观测邻星匹配;当观测主星得到识别后,查询导航星邻星索引库中该星对应的n颗导航邻星,与该星在观测星邻星索引库中的n颗邻星一一对应,即观测邻星匹配到了对应的导航邻星。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1