一种基于三角形特征的星图识别方法

文档序号:5972419阅读:202来源:国知局
专利名称:一种基于三角形特征的星图识别方法
技术领域
本发明属于航天技术领域,涉及对星图识别方法的改进。
背景技术
星敏感器是当今航天飞行器中广泛采用的一种高精度、高可靠性的姿态测量部件,其工作原理为CCD(或者CMOS)图像传感器拍摄当前视场范围内的星空图像,图像经信号处理,提取星体在观测视场中的位置(和亮度)信息,并由星图识别算法在导航星表中找到观测星的对应匹配,最后利用这些匹配星对计算出星敏感器的三轴姿态。星图识别算法是星敏感器中的一个核心部分。在现有众多的星图识别算法中,三角形算法是到现今为止用的最为普遍的一种星图识别方法,它得到广泛的研究并有许多实际的应用,如丹麦的Oersted小卫星、美国的DIGISTAR I微型星跟踪器等。三角形是以三颗星所构成三角形为识别特征,如果观测三角和导航三角能匹配,则必须同时满足|d(i,j)-dm12|≤ϵ]]>|d(j,k)-dm23|≤ϵ]]>|d(i,k)-dm13|≤ϵ]]>如图1所示,dm12,dm23和dm13分别为观测三角形的三条边对应的角距,d(i,j),d(j,k)和d(i,k)分别为导航三角形三条边对应的角距。Liebe最早对三角形算法进行研究,他将导航星所能构成的导航三角形都存储起来以供搜索匹配。其提出的三角形算法从8000颗导航星中挑选出1000颗星来构建导航三角,所需的存储容量仍需要1MByte,所存储的导航三角为185000个。该识别方法最高能获得94.6%的识别率,全天识别的平均时间为10s。
由于存储所有可能的导航三角形,因此传统的三角形算法一般需要较大的存储空间,同时由于过多的导航三角形包含大量的冗余信息,使得算法的识别时间比较长,识别率也不高。Quine和Heide等人在Liebe三角形算法的基础上分别提出改进的三角形算法,其基本思想大致相同,即利用亮度信息为每颗星确定一个特定的三角形。采用这样的方法,每颗星只用存储一个三角形,从而使得导航三角形数据库的容量大大减少,识别率和识别时间也比传统的三角形算法有所提高。但是由于这种方法利用精确的亮度信息,需要视星等和仪器星等之间的转换。由于成像系统对亮度的分辨力往往很有限,使得这些方法在应用中受到一定的局限。

发明内容
本发明的目的是针对直接存储所有的导航三角形会带来存储容量庞大,冗余匹配多以及Quine和Heide那样挑选三角形对亮度信息的要求又相对苛刻等问题,本发明对三角形算法进行改进,提出一种采用存储星对角距的形式来实现三角形匹配的方法,以大大减少存储容量,同时,加快识别速度。
本发明的技术方案是一种基于三角形特征的星图识别方法,其特征在于,1.1、构造并存储与角距对应的星对数据库,扫描筛选导航星表,如果存在两颗星的角距小于d,则存储这个角距及该星对的序号,d为视场的对角距,当视场为12°×12°时,取 存储所有星对的角距及该星对的序号构成与角矩对应的星对数据库,星对的存储按照角距的大小升序排列;1.2、挑选观测三角形,从观测星图中挑选出最亮的6颗星,以其中任意三颗星组成所有可能组成的待选观测三角形,如果观测星数目不足6颗,则利用所有的观测星组成待选观测三角形,然后,从待选观测三角形中挑选一个观测三角形,选取观测三角形的原则为①优先选择最亮的星构成的观测三角形,设构成三角形的三颗星的亮度为M1,M2和M3,亮度以星点的灰度值来衡量,定义M=M1M2M3,优先选择具有最小M值的三角形;②优先选择角距值较小的观测三角形,在M值大致相当的情况下,优先选择角距值较小的三角形,即优先选择在三条边中最长边角距值最小的三角形;按照以上原则,将待选观测三角形进行排序,排序靠前的三角形将依次用来识别,,如果出现识别正确的结果,则排在后面的三角形将被略过;否则,按顺序依次挑选剩余的三角形进行识别;1.3、三角形的识别,1.3.1、寻找与观测三角形的三个角距匹配的星对,设dm12,dm23和dm13为观测三角形的三条边即三个角距,根据这三个角距在星对数据库中分别找到其匹配星对,设dm12,dm23和dm13的匹配星对集合分别为C(dm12),C(dm23)和C(dm13),其包含的星对数目为n(dm12),n(dm23)和n(dm13);1.3.2、进行三角形匹配,三角形匹配的定义是寻找三个星对p1∈C(dm12),]]>p2∈C(dm23),]]>p3∈C(dm13),]]>且满足p1,p2和p3首尾相接,即两两之间有且仅有一个共同的星,满足这样条件的(p1,p2,p3)构成观测三角的匹配三角形;采用下面的搜索方法来寻找符合条件的(p1,p2,p3),其具体步骤如下①扫描C(dm12),把集合中所有星对所包含的导航星状态都置为I,并记下与该集合里每一颗导航星组成星对的另一颗星的序号j;②扫描C(dm23),如果该集合中星对所包含的导航星的状态已被置为I,则将这颗导航星的状态标记置为II,并记下与之组成星对的另一颗导航星的序号k;③扫描C(dm13),如果(j,k)∈C(dm13),]]>则找到一个匹配三角形,将与(j,k)组成星对的另一颗导航星i的状态由II变为III,(i,j,k)为与观测三角形匹配的导航三角形;找出所有的与观测三角形匹配的导航三角形;1.4、验证,利用找到的与观测三角形匹配的导航三角形产生一幅称为参考星图的模拟星图,与原始的观测星图进行比较,如果参考星图中的星均能在观测星图中较小的邻域半径内找到对应观测星,即认为参考星图和观测星图一致,则识别正确;否则,用同样的方法验证其他匹配的导航三角形,如果生成的参考星图和观测星图均不一致,则观测三角形识别失败;继续从剩余的观测三角形中选取排序靠前的三角形来重复相同的识别过程,直到识别正确为止。
本发明的优点是本发明所提出的改进的三角形算法与以往三角形算法相比其优点表现在①采用角距匹配的方法来对观测三角形进行识别,角距存储的形式可以节约很多的存储空间。
②挑选较亮的星来组成观测三角形,不需要精确的亮度信息。挑选多个观测三角形来识别,具有较强的容错能力。
③利用状态标识来进行三角形的识别,具有很快的搜索识别的速度。
④引入验证环节,不但可以验证识别的正确性,筛选冗余匹配,而且为观测星图中尽可能多的星找到其对应匹配星。验证环节还提供粗略的姿态输出,对有初始姿态的识别以及跟踪识别非常重要。


图1是一般三角形识别方法示意图。
图2是本发明三角形识别过程示意图。
图3是天球上分布的导航星和视场内的观测星的对应示意图。
图4是本发明方法的主程序流程图。
图5是星点位置噪声对识别的影响。
图6是星等噪声对识别的影响。
具体实施例方式
下面对本发明做进一步详细说明。
星对的生成和存储。
本发明采用角距匹配的形式来实现三角形的匹配,因此必须先构造一个和角距对应的星对数据库。不考虑视场的限制,理论上N颗导航星可以组成N(N-1)/2个星对,要远小于可能组成的三角形的数目N(N-1)(N-2)/6。星对的生成过程如下扫描筛选后导航星表,如果存在两颗星的角距小于d,则把这个角距及两颗星的序号(星对)记录下来。这里,d为视场的对角距,当视场为12°×12°时取 星对的存储按照角距的大小升序排列。为了方便对星对角距进行匹配搜索,将所有的角距分成很多的区间段,每个区间段所代表的角距间隔为λ,然后进行存储,0.1°≥λ>0。这样,计算出两颗观测星的角距就能很快的找到可能与其匹配的导航星星对。
挑选观测三角形。
由于亮度比较高的星提供的信息比较可靠,更容易被图像传感器捕捉到,因此,本发明在观测星图中优先挑选最亮的星组成观测三角形。与以往三角形算法不同的是,本发明并不是选取一个唯一的观测三角形来进行识别,而是从中选取一组较亮的星,任意组成一个观测三角形来识别。如果该观测三角形识别失败,则再组成另外一个观测三角形来进行识别,直到得到正确的识别为止。因此,这种方法只需要粗略的亮度信息,无须非常精确的亮度信息以对亮度作严格的比较。通过实验,从观测星图中挑选出最亮的6颗星用以组成观测三角形。如果观测星数目不足6颗,则挑选所有的观测星。6颗星所能组成的三角形的数目为C63=20]]>。对于20个可能的观测三角形,选取的原则为①优先选择最亮的星构成的观测三角形。设构成三角形的三颗星的亮度为M1,M2和M3(亮度以星点的灰度值来衡量),定义M=M1M2M3,具有最小M值的三角形被优先选择。
②优先选择角距值较小的观测三角形。角距值越大,星对数据库相应区间的星对数目越多,冗余匹配的可能性也越大。因此,在M值大致相当的情况下,应该优先选择角距值较小的三角形。这里,本发明采用最长边最小的原则,即在三条边中最长边角距值最小的三角形被优先选择。
按照以上原则,将观测三角形进行排序。排序靠前的三角形将依次用来识别,如果出现识别正确的结果,则排在后面的三角形将被略过。否则,按顺序依次挑选剩余的三角形进行识别。
三角形的识别。
设dm12,dm23和dm13为观测三角形的三条边(角距),根据这三个角距在星对数据库中分别找到其匹配星对。设dm12,dm23和dm13的匹配星对集合分别为C(dm12),C(dm23)和C(dm13),其包含的星对数目为n(dm12),n(dm23)和n(dm13)。三角形匹配的过程实际上是寻找三个星对p3∈C(dm12),]]>p2∈C(dm23),]]>p3∈C(dm13),]]>且满足p1,p2和p3首尾相接,即两两之间有且仅有一个共同的星。满足这样条件的(p1,p2,p3)可以构成观测三角的匹配三角形。
一般而言,采用遍历的方法进行三角形的匹配搜索需要n(dm12×n(dm23)×n(dm13)次的比较运算,如果每条边对应的匹配星对集合包含的星对个数为100左右,则一次匹配就需要106次比较运算,这样的搜索需要消耗相当多的时间。为了避免这种情况,本发明采用一种简单的快速的搜索方法,它通过设置状态标识来寻找符合条件的(p1,p2,p3)。如图2所示,其具体步骤如下①扫描C(dm12),把集合中所有星对所包含的导航星状态都置为I,并记下与该集合里每一颗导航星组成星对的另一颗星的序号j;②扫描C(dm23),如果该集合中星对所包含的导航星的状态已被置为I,则将这颗导航星的状态标记置为II,并记下与之组成星对的另一颗导航星的序号k;③扫描C(dm13),如果(j,k)∈C(dm13),]]>则找到一个匹配三角形,将与(j,k)组成星对的另一颗导航星i的状态由II变为III,(i,j,k)为与观测三角形匹配的导航三角形;找出所有的与观测三角形匹配的导航三角形;采用设置状态标识的方法,搜索次数仅为n(dm12)+n(dm23)+n(dm13)。
验证。
通过以上的识别过程,观测三角形所能匹配的导航三角形可能并不唯一,这时必须依赖其他方法进行进一步筛选。为了实现这一目的,我们引入验证环节,其主要作用有①验证识别的正确性,同时筛选出错误的匹配。
②为观测星图中尽可能多的观测星找到其匹配星,这样有利于跟踪识别以及提高姿态计算的精度。
③可以提供粗略的姿态信息。
验证环节的基本思想为如果识别正确,即导航三角形是观测三角形的正确匹配,则利用这些匹配算得的姿态应该是准确的。进而,根据这个姿态产生的一幅模拟的星图(称为参考星图)也应该和原始的观测星图一致(星点的位置对应一致)。如图3所示为天球上分布的导航星和视场内的观测星的对应示意图。在识别正确的情况下,不仅导航三角形和观测三角形对应匹配,其各自邻域的其它星也应该是对应匹配的。
如果参考星图中的星均能在观测星图中较小的邻域半径内找到对应观测星,即认为参考星图和观测星图一致,则识别正确,算法结束。否则用同样的方法验证其他匹配的导航三角形,如果生成的参考星图和观测星图均不一致,则观测三角形识别失败。继续从剩余的观测三角形中选取排序靠前的三角形来重复相同的识别过程。如果无观测三角形得到正确识别,则整个识别过程失败返回。本发明方法的主流程图如图4所示。先从观测星图中挑选最亮的6颗星,用这6颗星组成三角形,按照亮度原则和最长边最小原则将三角形进行排序,依次挑选排序靠前的三角形进行识别。识别过程为先对三角形三条边所对应的角距进行角距匹配,然后通过状态标识的方法搜索可以匹配的导航三角形,最后用验证环节来判断识别的正确性并剔除错误的匹配。
仿真实验及性能评价。
为了评估本发明方法的性能,采用了模拟的星图进行仿真实验。仿真实验的各项参数如表1所示。实验中角距间隔λ=0.05°。仿真实验主要就星点位置噪声和星等(亮度)噪声对识别的影响进行考察。
星点的位置噪声主要来源于星点中心细分定位方法的误差。实验中,对于模拟生成的星像,在真实星点位置上加上服从高斯分布,均值为0,标准偏差σ从0到2像素变化的噪声。其识别结果如图5所示。在噪声水平很小(σ<0.5)的情况下,改进的三角形算法的识别率可以达到将近100%,这比传统三角形算法的94.6%的识别率有很大的提高。当σ=2像素时,传统三角形算法的识别率迅速下降到70%左右,而改进三角形算法识别率仍然可以达到97%左右。
星等噪声反映了图像传感器对恒星亮度的敏感程度。实验中,在星图模拟过程中,对星等加上服从高斯分布的均值为0,标准偏差从0到1Mv变化的噪声,反映在星图中为星点图像灰度幅值的噪声。同样,随机从全天球取1000幅星图进行识别统计,图6为统计结果。从图中可以看出,改进的三角形算法对星等噪声具有较强的鲁棒性。在星等噪声标准偏差为1Mv时仍能达到93%的识别率,在星等噪声标准偏差小于0.5Mv时,识别率接近100%。Quine和Heide的改进算法对星等噪声比较敏感,当星等噪声到一定水平时,识别率下降很快。
权利要求
1.一种基于三角形特征的星图识别方法,其特征在于,1.1、构造并存储与角距对应的星对数据库,扫描筛选导航星表,如果存在两颗星的角距小于d,则存储这个角距及该星对的序号,d为视场的对角距,当视场为12°×12°时,取 存储所有星对的角距及该星对的序号构成与角矩对应的星对数据库,星对的存储按照角距的大小升序排列;1.2、挑选观测三角形,从观测星图中挑选出最亮的6颗星,以其中任意三颗星组成所有可能组成的待选观测三角形,如果观测星数目不足6颗,则利用所有的观测星组成待选观测三角形,然后,从待选观测三角形中挑选一个观测三角形,选取观测三角形的原则为①优先选择最亮的星构成的观测三角形,设构成三角形的三颗星的亮度为M1,M2和M3,亮度以星点的灰度值来衡量,定义M=M1M2M3,优先选择具有最小M值的三角形;②优先选择角距值较小的观测三角形,在M值大致相当的情况下,优先选择角距值较小的三角形,即优先选择在三条边中最长边角距值最小的三角形;按照以上原则,将待选观测三角形进行排序,排序靠前的三角形将依次用来识别,如果出现识别正确的结果,则排在后面的三角形将被略过;否则,按顺序依次挑选剩余的三角形进行识别;1.3、三角形的识别,1.3.1、寻找与观测三角形的三个角距匹配的星对,设dm12,dm23和dm13为观测三角形的三条边即三个角距,根据这三个角距在星对数据库中分别找到其匹配星对,设dm12,dm23和dm13的匹配星对集合分别为C(dm12),C(dm23)和C(dm13),其包含的星对数目为n(dm12),n(dm23)和n(dm13);1.3.2、进行三角形匹配,三角形匹配的定义是寻找三个星对p1∈C(dm12),p2∈C(dm23),p3∈C(dm13),且满足p1,p2和p3首尾相接,即两两之间有且仅有一个共同的星,满足这样条件的(p1,p2,p3)构成观测三角的匹配三角形;采用下面的搜索方法来寻找符合条件的(p1,p2,p3),其具体步骤如下①扫描C(dm12),把集合中所有星对所包含的导航星状态都置为I,并记下与该集合里每一颗导航星组成星对的另一颗星的序号j;②扫描C(dm23),如果该集合中星对所包含的导航星的状态已被置为I,则将这颗导航星的状态标记置为II,并记下与之组成星对的另一颗导航星的序号k;③扫描C(dm13),如果(j,k)∈C(dm13),则找到一个匹配三角形,将与(j,k)组成星对的另一颗导航星i的状态由II变为III,(i,j,k)为与观测三角形匹配的导航三角形;找出所有的与观测三角形匹配的导航三角形;1.4、验证,利用找到的与观测三角形匹配的导航三角形产生一幅称为参考星图的模拟星图,与原始的观测星图进行比较,如果参考星图中的星均能在观测星图中较小的邻域半径内找到对应观测星,即认为参考星图和观测星图一致,则识别正确;否则,用同样的方法验证其他匹配的导航三角形,如果生成的参考星图和观测星图均不一致,则观测三角形识别失败;继续从剩余的观测三角形中选取排序靠前的三角形来重复相同的识别过程,直到识别正确为止。
2.根据权利要求所述的星图识别方法,其特征在于,在构造并存储与角距对应的星对数据库时,将所有的角距分成很多的区间段,每个区间段所代表的角距间隔为λ,然后进行存储,λ的取值与星点的位置噪声水平有关,一般取0.1°≥λ>0。
全文摘要
本发明属于航天技术领域,涉及对星图识别方法的改进。本发明方法的步骤是1.构造并存储与角距对应的星对数据库,2.挑选观测三角形,3.三角形的识别,4.验证。本发明方法节约存储空间,不需要精确的亮度信息,具有较强的容错能力,具有很快的搜索识别速度。
文档编号G01C21/24GK1796938SQ20041010258
公开日2006年7月5日 申请日期2004年12月28日 优先权日2004年12月28日
发明者张广军, 魏新国, 江洁 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1