基于最大内角散列函数的三角形识别方法

文档序号:10568129阅读:198来源:国知局
基于最大内角散列函数的三角形识别方法
【专利摘要】本发明涉及一种基于最大内角散列函数的三角形识别方法,包括以下步骤:一、根据基本星表,采用星等阈值法构建导航星表。以任意三颗星构建三角形,以最大内角为基本特征值构建三角形特征库,然后按内角的大小进行分块存储,构造基于最大内角的散列函数。二、读入导航星表和导航特征库;识别时优先识别较亮的恒星,星图提取结果按灰度值大小降序排列,构造观测三角形,计算相关星角距,确定观测三角形的最大内角,采用散列函数的方式定位特征库子块,每个观测三角形的识别均在该子块内进行,从而提高识别速度。本发明大大减少了特征三角形的数量,相对传统基于星角距的三角形识别算法,减少了星角距比较次数,提高了识别速度。
【专利说明】
基于最大内角散列函数的三角形识别方法
技术领域
[0001] 本发明涉及全天球自主星图识别方法,尤其涉及一种基于最大内角散列函数的三 角形识别方法,属于天文导航领域。
【背景技术】
[0002] 星敏感器是目前已知精度最高的载体姿态敏感器。星敏感器通过测量恒星指向来 解算载体的姿态。星图识别是星敏感器的关键技术,识别速度、识别率及鲁棒性是衡量识别 算法性能的关键指标。基于星角距的三角形算法是工程上最成熟的识别算法,它以两两之 间的星角距作为特征量进行匹配。三角形算法特征维数低,每个观测三角形均需至少三次 比较,搜索时间长。改进算法一般围绕减小特征库的数量和缩短搜索时间两个方面进行,如 张广军等将星角距按大小分块存储,采用基于状态标识的搜索方法,提高了搜索速度,为了 减小特征库的容量,该法剔除了稠密天区中的较暗恒星,因而散失了导航星表的完整性。基 于主星的三角形识别算法将星图中最亮的两颗星作为主星对,其它星作为辅助导航星,从 而可以极大减少导航三角形的数量,缩短搜索时间,该类算法的不足是当相对星等较小时 识别率会严重降低,特别是星敏感器工作于大气层内时,由于气象等原因,可能会导致视场 (Field ofView,F0V)内的主星缺失,或主星的亮度低于其它观测星,从而导致识别率降低 甚至整幅星图不能识别。针对主星算法的不足,Domenico提出的不依靠亮度的三角形改进 算法,它是建立在大星库的基础上,通过对多个三角形的角距匹配,精度比普通三角形算法 大大提高,保证了识别的可靠性,该算法的不足是识别速度较慢。此外,结合其它具有平移、 旋转不变特性的几何特征,如惯性特征比、三角形内切圆半径等的三角形算法,在识别率和 识别速度方面均取得了不错的效果,但为了减少导航特征库的容量,在生成特征库时,这些 算法均剔除了稠密天区的部分导航星,因而散失了完整性,在星敏感器视场较小时,问题将 会突显。

【发明内容】

[0003] 本发明所要解决的技术问题是针对上述现有技术提供一种不依赖于星等信息的 三角形识别算法,该算法具有识别速度快,鲁棒性好等优点。
[0004] 本发明解决上述问题所采用的技术方案为:一种基于最大内角散列函数的三角形 识别方法,所述方法包括以下步骤:
[0005] 步骤一、导航星特征库的构建
[0006] A、导航星的筛选
[0007] ⑴采用星等阈值法值剔除基本星表中大于星敏感器极限探测星的恒星;
[0008] ⑵双星处理
[0009]当两颗恒星间的星角距小于弥散斑时,将双星当作一颗星来处理,并对恒星赤经、 赤炜及星等进行合成,则合成后的恒星赤经a、赤炜S及星等m分别为: a = (a1 +%)/2
[0010] ^ ^ = (^1 +^:)/2 ^ = -2.51n(i + ^ !H'! :M (1)
[0011]其中,弥散斑大小在3X3~5X5像元之间,(c^A)和(a2,S2)分别为两颗恒星的赤 经和赤炜,mjPm2分别为两颗恒星的星等;
[0012]⑶导航星表的生成
[0013] 对选定的恒星重新编号,并将每个恒星的星表号、赤经、赤炜和星等进行存储;
[0014] B、导航特征库的构建
[0015] 采用基于"边-角-边"的识别原理,恒星i与恒星j、恒星j与恒星k及恒星i与恒星k 的观测星角距与参考星角距分别为(1^山k,hk)和(屯,山k,dlk),则观测三角形与导航三角 形匹配必须满足如下条件: I ^1} ~ ly |<
[0016] \\dik-l,k \<sit \^cU^k)-6{j,k)\< 8a ⑵
[0017] ed、ej别为星角距匹配误差门限和内角匹配误差门限,0。(」,1〇、0(」,1〇分别为观 测内角与参考内角,根据余弦定理,计算公式为:
[0019] 基于最大内角的三角形特征数据结构包括最长边所对的星表号或星点号,次长边 所对的星表号或星点号,最短边所对的星表号或星点号,次长边边长,最短边边长和最大内 角,由三角形特征数据结构生成最大内角的三角形特征库;
[0020] 对生成的导航三角形特征库按最大内角的大小升序排列,并分块存储,子块编号 按下式构造散列函数K:
[0022]式中,fix(x)表示x向零最近的方向取整,N为分块总数;
[0023]步骤二、星图识别
[0024]⑴初始化:读入导航星表、导航三角形特征库,设置星敏感器参数、星角距匹配门 限e参数和子块总数N;
[0025] ⑵对星图提取数据进行编号,并按灰度值降序排列;
[0026] ⑶判断是否存在3颗以上观测星,小于3颗则不能识别;
[0027]⑷若观测星数为3,则构建观测三角形,根据式(1)计算观测三角形相关特征值,根 据式(4)计算子块编号,判断最大内角所处的子块位置,确定是否增加搜索子块,在相应的 子块中搜索满足式(2)的特征三角形集合,并将之存入识别矩阵中,识别失败时则将该元素 置〇,若存在唯一的识别结果,则识别成功,否则识别失败;
[0028] (5)若观测星大于3颗,则分别以星点1、2、3和星点1、2、4构建两个观测三角形,并按 步骤⑷分别进行识别,若两个观测三角形存在唯一相同的匹配结果,则匹配成功,将前4颗 星的匹配结果存入识别矩阵中,然后根据匹配结果对其它恒星进行投影识别,并利用观测 星角距对识别结果进行验证;若两个观测三角形没有唯一匹配结果,则剔除星点3或星点4, 读入下一颗星继续识别;
[0029] (6)判断该帧星图是否识别完毕,否则转(5),是则根据识别矩阵和导航星表确定观 测星的各个参数,转入下一帧星图识别,直至整个识别任务完毕。
[0030]优选地,星敏感器光学系统一般采用离焦设计以提高星点细分定位精度,弥散斑 大小一般控制在3 X 3~5 X 5个像元之间,因此构建特征三角形时,星角距dij应满足如下条 件:
[0031] < du < ^2FOV
[0032] 式中,I为弥散斑所对应的角度。
[0033] 优选地,当星敏感器视场较大,极限探测星等相对较高时采用重叠球矩法将整个 天球分割成若干个局部重叠天区,并采用并行算法生成导航三角形。
[0034] 与现有技术相比,本发明的优点在于:
[0035] 本发明一种基于最大内角(Trianglelnteriorangle)散列函数(HashFunction)的 三角形识别算法。首先根据导航星表,构建满足星角距要求的特征三角形,该特征三角形以 三角形最大内角为主特征值,相应两边的星角距为辅助特征值,对生成的特征三角形按最 大内角构造散列函数,并分块存储。识别过程中,根据最大内角的观测值实现子块的快速定 位,采用"边-角-边"原理进行星图匹配,每个三角形的识别仅在相应的子块内完成,从而提 高匹配速度和识别率。最后对算法进行了验证,实现了 6.5Mv星的快速识别。
【附图说明】
[0036]图1是坐标系定义图,其中0n-XnYnZr^ J2000.0坐标系,0s-XsYsZs为星敏感器坐标 系,(a,S,Y )分别为星敏感器偏航角、俯仰角及滚动角,它反映了星敏感器坐标系与 J2000.0坐标系间的关系。
[0037]图2是"边-角-边"识别原理图,其中(A)为导航三角形,(B)为观测三角形。
[0038]图3是随机抽取的部分三角形最大内角计算结果,其中X轴是特征三角形序号,Y轴 是特征三角形的最大内角。
[0039]图4为导航特征库的构建流程。
【具体实施方式】
[0040] 以下结合附图实施例对本发明作进一步详细描述。
[0041] 为便于本
【发明内容】
描述,在此对发明中涉及的坐标系定义、相关概念与符号含义、 单星敏感器姿态确定方法等简要说明。
[0042] 1、相关坐标系定义
[0043]本发明涉及如下两个坐标系:
[0046] J2000.0坐标系与星敏感器坐标系间的关系如图1所示。
[0047] 2、相关概念与符号含义
[0048] ⑴观测矢量Vi与参考矢量Wi
[0049] 假设恒星i的赤经赤炜分别为(~,&),对应的星敏感器坐标系中的坐标分别为 (Xl,yi),单位为像元数,则恒星i的参考矢量与观测矢量分别为:
[0050] Vi=[cosaicos5i sinaicosSi sin5i]T (1)
[0051 ] W; = \r (xi ~^0:)x:D - - J0:.)xi3 /] /?Jix, ~xaY X D~ + (:^ - JQ)~ xD2 + /'(,)
[0052]式中,D为图像传感器像元尺寸,(XQ,yo)为星敏感器主点坐标,单位为像元数,f为 星敏感器焦距。
[0053] ⑵星角距
[0054]星角距是星图识别的最基本特征值,它反映了两颗恒星对观测者的张角。假设恒 星i、j的参考矢量分别为1和%,观测矢量分别为WdPWp则恒星i、j的参考星角距屯与观测 星角距1^的计算公式分别为:
[0055] dij = arccos(Vi ? Vj/( | | Vi | | X | | Vj | | )) (3)
[0056] lij = arccos(Wi ? Wj/( | |Wi | | X | |Wj | | )) (4)
[0057]式中," ?"为矢量点积运算符;"| |x| I"为x的范数。
[0058]二、导航星特征库的构建
[0059] 星图识别是将星敏感器当前视场中的恒星与导航特征库中的参考特征进行对应 匹配,以确定视场中相关恒星的星表号、赤经、赤炜等参数,是后续载体姿态确定的重要前 提。因此,特征库的构建是星图识别的基础。
[0060] 导航特征库的构建分为以下两个步骤:
[0061] 1.导航星的筛选
[0062] 导航星表包含了导航星的星表号、赤经、赤炜、视星等等信息,这些数据是星图识 别和姿态计算的基础。
[0063] ⑴根据星敏感器的极限探测星等,采用星等阈值法值(Visual Magnitude ThresholcUVMT)剔除基本星表中大于星敏感器极限探测星等的恒星。
[0064] ⑵双星处理
[0065] 此处双星(Double Star)是指在星敏感器成像平面上不能互相区分的两颗恒星, 也就是星角距较小的两颗恒星。星敏感器一般采用离焦技术,弥散斑大小在3X3~5X5个 像元之间,因此当两颗恒星间的星角距小于弥散斑时,此时可采用《星图识别》一书中的方 法,将双星当作一颗星来处理,此时需对相关参数进行合成。假设两颗星的赤经、赤炜分别 为((^,知)和(a 2,S2),星等分别为mi和m2,则合成后的恒星赤经a、赤炜5及星等m分别为: a = (at +a2 )72
[0066] < 谷=(冬十 4)/2 m = nu - 2.5 ln(l + 1 '' I ⑶
[0067]⑶导航星表的生成
[0068] 对选定的恒星重新编号,并按如下格式进行存储: Struct Catalogue i Short. ID; //星表号 float Ra; //赤经,单位:度
[0069] lloai Dec: //赤玮,单位:度 float Magnitude; //视星等,单位:Mv }> (6)
[0070] 2.导航特征库的构建
[0071] 本发明采用基于"边-角-边"的识别原理,匹配原理如图2所示。图中,恒星i与恒星 j、恒星j与恒星k及恒星i与恒星k的观测星角距与参考星角距分别为(1^山k,llk)和(屯, djk,dlk),则观测三角形与导航三角形匹配必须满足如下条件: I |< £(,
[0072] < I - hk 1^ 丨沒,幻-_ 外./,幻 6 A, (y)
[0073] £(1、^分别为星角距匹配误差门限和内角匹配误差门限,0。(」_,1〇、0(」,1〇分别为观 测内角与参考内角,根据余弦定理,计算公式为:
(B)
[0075]三角形三个内角之和为180°,因此三角形内角0满足〇°<0<18〇°,为了缩小内角 范围,可以考虑选择三角形的最大内角9max作为导航三角形的特征值,易知60°彡0max< 180°,即0 max分布范围为120°。
[0076]基于最大内角的三角形特征数据结构为: Struct Triangle { Short IDmax; //最长边所对的星表号或星点号 Short ID_seccond; _//次长边所对的星表号或星点号 Short IDthird; //最短边所对的星表号或星点号
[0077] float DisSecond; /?次 1.C:边边 1C. float DisThircl: //M);1.,1 边边 IX float TlietaMax; //iii 人内 ffj (9)
[0078] 对于导航三角形A i jk来说,在已知恒星i、j、k的星表号idi、idj和idk,以及两两 之间的参考星角距c^、d^Sdlk时,可按下表所示的判断方法生成基于最大内角的三角形特 征库(观测三角形的判断方法与之类似):
[0081]对生成的导航三角形特征库按最大内角的大小升序排列,并分块存储,子块编号 按下式构造散列函数K:
(l〇)
[0083] 式中,fix(x)表示x向零最近的方向取整,N为分块总数,需要根据ea确定,实际上 9max整段是连续的,并无明显的台阶现象(具体如图3所示),因而当0 max出现在子块K的最前 或最后段时,可能会出现满足要求的特征三角形不在该区域的现象,解决措施是根据9max增 加搜索对应的相邻子块。N的设置还需考虑匹配速度,N越大匹配速度越快,但跨区问题越严 重,因此需要根据星敏感器提取精度综合考虑。
[0084] 理论上n颗星可以构建个特征三角形,需要考虑视场及双星等限制条件,以便对 特征库的容量进行限制。两星间的最大星角距应小于星敏感器的对角视场。星敏感器光学 系统一般采用离焦设计以提高星点细分定位精度,弥散斑大小一般控制在3 X 3~5 X 5个像 元之间,因此构建特征三角形时,星角距du应满足如下条件:
[0085] 4 <clii (丨"
[0086]式中,I为弥散斑所对应的角度。若三角形的三条边均满足如上的星角距限制条 件,则按照导航特征数据结构存储该三角形。
[0087] 当星敏感器视场较大,极限探测星等相对较高时,直接构建导航三角形将是个异 常繁琐耗时的工作,此时可以考虑采用重叠球矩法将整个天球分割成若干个局部重叠天 区,并采用并行算法生成导航三角形。
[0088] 导航特征库的构建流程如图所示。
[0089] 三、星图识别
[0090]以上建立的三角形特征库为减少搜索量奠定了基础,一个三角形只需进行一次定 位和一个子块搜索即可完成,具体算法流程如下:
[0091] ⑴初始化:读入导航星表、导航三角形特征库,设置星敏感器参数、星角距匹配门 限£、子块总数N等参数。
[0092] ⑵对星图提取数据进行编号(星点号i),并按灰度值降序排列。
[0093] ⑶判断是否存在3颗以上观测星,小于3颗则不能识别。
[0094]⑷若观测星数为3,则按灰度值确定主星对与辅助星,构建观测三角形,按式(9)计 算观测三角形相关特征值,其中星角距应满足式(11)。根据式(10)计算子块编号,判断最大 内角所处的子块位置,确定是否增加搜索子块。在相应的子块中搜索满足式(7)的特征三角 形集合,并将之存入识别矩阵Identify中,其中第i个元素表示星点i的星表号,识别失败时 则将该元素置0。若存在唯一的识别结果,则识别成功,否则识别失败。
[0095] (5)若观测星大于3颗,则分别以星点1、2、3和星点1、2、4构建两个观测三角形,并按 步骤⑷分别进行识别。若两个观测三角形存在唯一相同的主星对匹配结果,则匹配成功,将 前4颗星的匹配结果存入识别矩阵Identify中,然后根据匹配结果对其它恒星进行投影识 另IJ,并利用观测星角距对识别结果进行验证;若两个观测三角形没有唯一匹配结果,则剔除 星点3或星点4,读入下一颗星继续识别。
[0096] (6)判断该帧星图是否识别完毕,否则转(5),是则根据识别矩阵Identify和导航星 表确定观测星的星表号、赤经、赤炜及视星等等参数,转入下一帧星图识别,直至整个识别 任务完毕。
[0097] 实施例:
[0098] 1、条件和参数
[0099] 实例平台为计算机,操作系统为Windows XP操作系统,编程工具软件为 Matlab201 la,其它参数如表所示:
[0102] 2、导航星特征库构建实例
[0103] ⑴导航星表筛选
[0104] 根据基本星表,筛选出满足要求的导航星表。基本星表中一般包含星表号、赤经、 赤炜、星等、光谱特征以及赤经、赤炜自行参数等信息,具体示例如下:
[0106]根据星等阈值与星敏感器系统参数,筛选满足上述条件的9.OMv导航星表,对选定 的恒星重新编号,并按导航星数据格式进行存储,具体示例如下:
[0109] 满足条件的导航星共有7563颗。
[0110] ⑵导航特征库的构建
[0111] a.构建导航三角形
[0112]读取导航星表,读取三颗星组成三角形,计算三边长,若三边长满足式(11 ),则按 式(9)构建并存储导航三角形,具体结果如下表所示,由表可知,满足要求的导航三角形共 有5458720个,文件大小为223MB。
[0115] c.构建分块导航特征库
[0116] 将以上构建的导航特征库,按最大内角的大小等分为N个子块导航特征库,每个导 航特征库中,均按最大内角的大小升序排列。子块特征数最多为40515条,最少为999条,其 中,第1子块与第256子块特征数据如下述两表所示:

[0120] 2、星图识别实例
[0121] 以2013年4月28日20:38:33:500所拍摄的星图为例:
[0122] ⑴初始化:读入导航星表、导航三角形特征库,设置星敏感器参数、星角距匹配门 限e等参数;
[0123] ⑵对星图提取数据进行编号(星点号i),并按灰度值降序排列,具体提取结果如下 所示:
[0125] ⑶星图匹配
[0126] a.根据星图提取结果,按式(9)计算导航三角形特征值,根据最大内角的大小按式 (10)计算周长特征值所对应的导航特征库文件号,具体结果如下:
[0128]
[0129] b.对第1个三角形进行识别,读入第1个三角形所对应的周长特征库,其中第62个 导航三角形特征库如下所示:

[0132]在此特征库中,搜索次长边长及最短边星角距观测值与导航特征库中的对应参考 值在星角距匹配门限e内的列表:
[0134]
[0135] 对应的星点1、2、3的匹配结果为:
[0137]
[0138] 由此可知,满足星点1、2、3的共有48组三角形,匹配结果不唯一,此时需要引入第4 颗星进行辅助识别,即由第2组三角形进行补充识别,以进一步排除冗余匹配结果,第2组三 角形的识别结果如下所示:
[0140] 由表可知,满足星点1、2、4所构建的三角形共有4组。
[0141] 以上两个三角形具有公共星点1和2(公共边),以上两个三角形具有公共边,因此 可以通过搜索以上两个星表中星点1、2星表号相同的集合,即可排除掉绝大多数冗余匹配 结果。对比以上两个表格,只有一组星点1和星点2的星表号同时相等(加粗数据),因此星点 1、2、3、4的星表号可以确定为6914、6989、7038及6875。一般情况下,经过以上两个三角形匹 配,均可得到唯一结果。若以上两个三角形无匹配结果,说明前四颗星点中,有伪星存在,或 者观测结果超出星角距匹配门限,此时可以剔除一颗星点,引入下一颗星再次进行匹配。
[0142] c.判断该帧星图是否识别完毕,是则转入下一帧星图的识别,否则,引入下一颗星 点,与星点1、2构成特征三角形,并以星点1~3的识别结果作为判据,以加快后续星点的识 别速度。
[0143] 本例的最终识别结果如下表所示:
[0145]
[0146] ⑷输出导航数据
[0147] 根据识别结果和导航星表,确定观测星的星表号、赤经、赤炜及视星等等参数,具 体结果如下表所示,本帧星图的识别时间为0.066秒,满足星图识别的基本要求。
[0149]除上述实施例外,本发明还包括有其他实施方式,凡采用等同变换或者等效替换 方式形成的技术方案,均应落入本发明权利要求的保护范围之内。
【主权项】
1. 一种基于最大内角散列函数的三角形识别方法,其特征在于:所述方法包括以下步 骤: 步骤一、导航星特征库的构建 A、 导航星的筛选 ⑴采用星等阈值法值剔除基本星表中大于星敏感器极限探测星的恒星; ⑵双星处理 当两颗恒星间的星角距小于弥散斑时,将双星当作一颗星来处理,并对恒星赤经、赤 炜及星等进行合成,则合成后的恒星赤经α、赤炜办及星等I分别为:其中,弥散斑大小在3 X 3~5 X 5像元之间,(?,巧)和(%,兩)分别为两颗恒星的赤经 和赤炜,叫:和^%分别为两颗恒星的星等; (3)导航星表的生成 对选定的恒星重新编号,并将每个恒星的星表号、赤经、赤炜和星等进行存储; B、 导航特征库的构建 采用基于"边-角-边"的识别原理,恒星j与恒星,、恒星¥与恒星免及恒星i与恒星免的观 测星角距与参考星角距分别为(~,&,4)和(今,),则观测三角形与导航三角形匹 配必须满足如下条件:分别为星角距匹配误差门限和内角匹配误差门限,芑U义)、风Λ幻分别为观测内 角与参考内角,根据余弦定理,计算公式为:基于最大内角的三角形特征数据结构包括最长边所对的星表号或星点号,次长边所对 的星表号或星点号,最短边所对的星表号或星点号,次长边边长,最短边边长和最大内角, 由三角形特征数据结构生成最大内角的三角形特征库; 对生成的导航三角形特征库按最大内角的大小升序排列,并分块存储,子块编号按下 式构造散列函数尤:式中,J^(X)表示s向零最近的方向取整,?为分块总数; 步骤二、星图识别 ⑴初始化:读入导航星表、导航三角形特征库,设置星敏感器参数、星角距匹配门限e 参数和子块总数N; ⑵对星图提取数据进行编号,并按灰度值降序排列; (3)判断是否存在3颗以上观测星,小于3颗则不能识别; ⑷若观测星数为3,则构建观测三角形,根据式(1)计算观测三角形相关特征值,根据 式(4)计算子块编号,判断最大内角所处的子块位置,确定是否增加搜索子块,在相应的子 块中搜索满足式(2)的特征三角形集合,并将之存入识别矩阵中,识别失败时则将该元素置 0,若存在唯一的识别结果,则识别成功,否则识别失败; (5) 若观测星大于3颗,则分别以星点1、2、3和星点1、2、4构建两个观测三角形,并按步 骤⑷分别进行识别,若两个观测三角形存在唯一相同的匹配结果,则匹配成功,将前4颗星 的匹配结果存入识别矩阵中,然后根据匹配结果对其它恒星进行投影识别,并利用观测星 角距对识别结果进行验证;若两个观测三角形没有唯一匹配结果,则剔除星点3或星点4,读 入下一颗星继续识别; (6) 判断该帧星图是否识别完毕,否则转(5),是则根据识别矩阵和导航星表确定观测星 的各个参数,转入下一帧星图识别,直至整个识别任务完毕。2. 根据权利要求1所述的一种基于最大内角散列函数的三角形识别方法,其特征在于: 星敏感器光学系统一般采用离焦设计以提高星点细分定位精度,弥散斑大小一般控制在3 X 3~5 X 5个像元之间,因此构建特征三角形时,星角距各应满足如下条件:式中,f为弥散斑所对应的角度。3. 根据权利要求1或2所述的一种基于最大内角散列函数的三角形识别方法,其特征在 于:当星敏感器视场较大,极限探测星等相对较高时采用重叠球矩法将整个天球分割成若 干个局部重叠天区,并采用并行算法生成导航三角形。
【文档编号】G01C21/02GK105928509SQ201610458849
【公开日】2016年9月7日
【申请日】2016年6月22日
【发明人】刘冰, 张同双, 凌晓冬, 周海渊, 钟德安, 郭敬明, 王二建
【申请人】中国人民解放军63680部队
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1