基于周长特征的暗星自主识别方法与流程

文档序号:11858362阅读:200来源:国知局
基于周长特征的暗星自主识别方法与流程
本发明涉及一种基于周长特征的暗星自主识别方法,属于天文导航领域。
背景技术
:星敏感器是目前已知精度最高的载体姿态敏感器。星敏感器通过测量恒星指向来解算载体的姿态。星图识别是星敏感器的关键技术,快速性和鲁棒性一直是对其评价的重要指标。典型的星图识别算法主要有三角形及其改进算法(主星算法、金字塔算法等)和栅格算法。星表尺寸较小时,这些算法具有很好的鲁棒性,而当星敏感器视场(FiledofView,FOV)较小、极限探测星等较高时,星表尺寸将急剧增加,相关算法的局限性将会显现,如三角形算法特征维数低,导航星数量的增加将导致特征库的容量急剧增加,从而容易出现误匹配或冗余匹配;采用矢量内积作为特征值的金字塔算法,在小角距范围内区分度欠佳;栅格算法在星体数目较少而伪星较多时存在稳健性下降的问题;主星识别算法在视场中出现许多星等相近的亮星时,识别成功率将会严重降低。工程上有时为了追求更高的姿态测量精度,需要星敏感器具有较小的视场和更暗的星等探测能力,此时需要解决暗星情况下的星图识别问题。解决暗星星图识别算法有两种技术途径:一是局部天区辅助识别。二是对现有算法的改进。局部天区辅助识别利用辅助系统(如惯性导航系统)提供的相关测量信息确定星敏感器的粗指向,构建局部导航特征三角形,在此基础上采用现有星图识别算法进行识别。局部天区辅助识别的主要不足是识别过程严重依赖外部信息,丧失星敏感器的自主性。算法改进方面,小视场暗星的星图识别方面文献不多,李辉对金字塔算法进行了改进,采用矢量外积作为匹配特征值,实现了8Mv极限星等的星图识别(视场2.32°×1.73°),该算法的不足是以两星的矢量外积作为匹配特征,每个三角形的识别仍需进行三次搜索,另外,为了减少特征库的容量,设定了一个最小临界星角距,在这一角距范围内只保留一颗最亮星体,因而可能会出现观测星不能识别的问题。技术实现要素:本发明所要解决的技术问题是针对上述现有技术提供一种基于周长特征的暗星自主识别方法,以解决小视场暗星星图识别时的匹配速度慢、冗余匹配多等问题。本发明解决上述问题所采用的技术方案为:一种基于周长特征的暗星自主识别方法,所述方法包括以下步骤:步骤一、导航星特征库的构建A、导航星的筛选⑴采用星等阈值法值剔除基本星表中大于星敏感器极限探测星的恒星;⑵双星处理当两颗恒星间的星角距小于弥散斑时,将双星当作一颗星来处理,并对恒星赤经、赤纬及星等进行合成,则合成后的恒星赤经α、赤纬δ及星等m分别为:α=(α1+α2)/2δ=(δ1+δ2)/2m=m2-2.5ln(1+e(m2-m1)/2.5)]]>其中,弥散斑大小在3×3~5×5像元之间,(α1,δ1)和(α2,δ2)分别为两颗恒星的赤经和赤纬,m1和m2分别为两颗恒星的星等;⑶导航星表的生成对选定的恒星重新编号,并将每个恒星的星表号、赤经、赤纬和星等进行存储;B、导航特征库的构建结合主星算法构建特征三角形:以视场中的最亮星与次亮星作为主星对,其余星作为辅助星,分别与主星对构成特征三角形,每个特征三角形包括:主星星号、次星星号、辅助星星号、主星与次星间星角距、主星与辅助星间星角距和三角形周长这些数据,⑴分区星表的构建采用重叠球矩法将整个天球分割成若干个局部重叠天区,球矩大小应满足如下条件:Cα∈(α0-R/cosδ0,α0+R/cosδ0)Cδ∈(δ0-R,δ0+R)]]>式中,Cα、Cδ分别为赤经范围与赤纬范围,α0、δ0为星敏感器视轴指向,R为视场半径,计算球矩大小时需对Cα过零处理,赤纬最大值、最小值分别设为90°和-90°,建立分区星表时,以星敏感器视轴为中心,计算球矩大小,将球矩内的所有恒星按星等升序排列,并存储到以分区号为文件名的文本文件中,分区索引号的计算公式如下所示,Index=(fix(α0/4)+1)×(fix(δ0/4)+23)⑵特征库的建立读取分区星表,以选定的主星对分别与其它恒星构建特征三角形,读取相关星表号、赤经、赤纬和星等信息,则根据下式计算相关星角距dij,dij=arccos(Vi·Vj/(||Vi||×||Vj||)式中,“·”为矢量点积运算符;“||x||”为x的范数,Vi和Vj分别为恒星i、j的参考矢量,构建特征三角形时,星角距dij应满足如下条件:ξ<dij≤2FOV]]>式中,ξ为弥散斑所对应的角度,若三角形的三条边均满足如上星角距限制条件,则按照导航特征数据结构存储该三角形。⑶周长散列特征库的构建判断所有主星是否计算完毕,否则重复⑵,是则对所有特征三角形按照周长大小分块存储,子块编号按下式构造散列函数K(P):K(P)=fix(P×N/(6FOV)+1)(1)式中,P为三角形周长,N为分块总数;步骤二、星图识别⑴初始化:读入导航星表、导航三角形特征库,设置星敏感器参数和星角距匹配门限ε参数;⑵对星图提取数据进行编号,并按灰度值降序排列;⑶判断是否存在3颗以上观测星,小于3颗则不能识别;⑷若观测星数为3,则按灰度值确定主星对与辅助星,构建观测三角形,计算观测三角形的对应星角距和周长,根据式(1)定位子块编号,在该子块中搜索以主星为顶点的两个星角距是否存在唯一满足下式(2)的三角形,是则将匹配结果存入识别矩阵中,其中第i个元素表示星点i的星表号,识别失败时则该元素置0;|lAB-dAB|≤ϵ|lAC-dAC|≤ϵ---(2)]]>式中,A、B、C分别为主星、次星及辅星,|x|表示x的绝对值;⑸若观测星大于3颗,则分别以星点1、2、3和星点1、2、4构建两个观测三角形,并按步骤⑷分别进行识别,若两个观测三角形存在唯一相同的主星对匹配结果,则匹配成功,将前4颗星的匹配结果存入识别矩阵中,然后根据已匹配观测星对星图中其它恒星进行投影识别,并利用观测星角距对识别结果进行验证;若两个观测三角形没有唯一匹配结果,则剔除星点3或星点4,读入下一颗星继续识别;⑹判断该帧星图是否识别完毕,否则转⑸,是则根据识别矩阵和导航星表确定观测星的各个参数,转入下一帧星图识别,直至整个识别任务完毕。与现有技术相比,本发明的优点在于:本发明首先利用重叠球矩法将全天球划分成若干局部重叠天区,找出每个重叠天区中最亮的两颗星组成主星对,其余星作为辅助星构建三角形周长特征库;其次,对生成的特征库按三角形周长构造散列函数,进行分段存储;识别过程中,根据观测三角形周长实现子块的快速定位,星角距的识别只在相应的子块内进行,从而提高匹配速度;最后对算法进行了验证,实现了9.0Mv星的快速星图识别。附图说明图1是坐标系定义图,其中On-XnYnZn为J2000.0坐标系,Os-XsYsZs为星敏感器坐标系,(α,δ,γ)分别为星敏感器偏航角、俯仰角及滚动角,它反映了星敏感器坐标系与J2000.0坐标系间的关系。图2是重叠球矩法对天球划分示意图,图中FOV为星敏感器方形视场。具体实施方式以下结合附图实施例对本发明作进一步详细描述。为便于本
发明内容描述,在此对发明中涉及的坐标系定义、相关概念与符号含义、单星敏感器姿态确定方法等简要说明。1、相关坐标系定义本发明涉及如下两个坐标系:J2000.0坐标系与星敏感器坐标系间的关系如图1所示。2、相关概念与符号含义⑴观测矢量Vi与参考矢量Wi假设恒星i的赤经赤纬分别为(αi,δi),对应的星敏感器坐标系中的坐标分别为(xi,yi),单位为像元数,则恒星i的参考矢量与观测矢量分别为:Vi=[cosαicosδisinαicosδisinδi]T(1)Wi=-(xi-x0)×D-(yi-y0)×DfT/(xi-x0)2+(yi-y0)2+f2---(2)]]>式中,D为图像传感器像元尺寸,(x0,y0)为星敏感器主点坐标),单位为像元数。⑵星角距星角距是星图识别的最基本特征值,它反映了两颗恒星对观测者的张角。假设恒星i、j的参考矢量分别为Vi和Vj,观测矢量分别为Wi和Wj,则恒星i、j的参考星角距dij与观测星角距lij的计算公式分别为:dij=arccos(Vi·Vj/(||Vi||×||Vj||))(3)lij=arccos(Wi·Wj/|(||Wi||×||Wj||))(4)式中,“·”为矢量点积运算符;“||x||”为x的范数。二、导航星特征库的构建星图识别是将星敏感器当前视场中的恒星与导航特征库中的参考特征进行对应匹配,以确定视场中相关恒星的星表号、赤经、赤纬等参数,是后续载体姿态确定的重要前提。因此,特征库的构建是星图识别的基础。导航特征库的构建分为以下两个步骤:1.导航星的筛选⑴根据星敏感器的极限探测星等,采用星等阈值法值(VisualMagnitudeThreshold,VMT)剔除基本星表中大于星敏感器极限探测星等的恒星。⑵双星处理此处双星(DoubleStar)是指在星敏感器成像平面上不能互相区分的两颗恒星,也就是星角距较小的两颗恒星。星敏感器一般采用离焦技术,弥散斑大小在3×3~5×5像元之间,因此当两颗恒星间的星角距小于弥散斑时,此时可将双星当作一颗星来处理,此时需对相关参数进行合成。假设两颗星的赤经、赤纬分别为(α1,δ1)和(α2,δ2),星等分别为m1和m2,则合成后的恒星赤经α、赤纬δ及星等m分别为:α=(α1+α2)/2δ=(δ1+δ2)/2m=m2-2.5ln(1+e(m2-m1)/2.5)---(5)]]>⑶导航星表的生成对选定的恒星重新编号,并按如下格式进行存储:2.导航特征库的构建周长相等是三角形全等的必要条件,因此三角形识别时,可以基于散列查找的思想,首先搜索周长相等的三角形集合,然后在该集合中搜索两边匹配的三角形,从而可以减少匹配次数。为此可以结合主星算法构建特征三角形:以视场中的最亮星与次亮星作为主星对(MainStar-pair),其余星作为辅助星,分别与主星对构成特征三角形,具体数据结构为:⑴分区星表的构建理论上n颗星可以构建个特征三角形,即使加上双星和视场等约束条件,特征三角形的数量也是很庞大的,且存在很多冗余的特征三角形,此时构建三角形周长特征库,将面临海量的计算。为减小构建特征三角形的计算量,可采用重叠球矩法将整个天球分割成若干个局部重叠天区,以减少视场跨天区对识别正确率的影响,如图2所示。球矩大小应满足如下条件:Cα∈(α0-R/cosδ0,α0+R/cosδ0)Cδ∈(δ0-R,δ0+R)---(8)]]>式中,Cα、Cδ分别为赤经范围与赤纬范围,α0、δ0为星敏感器视轴指向(赤经、赤纬),R为视场半径。考虑到赤经、赤纬的角度范围,计算球矩大小时需对Cα过零处理,赤纬最大值、最小值分别设为90°和-90°。假设分区间隔取4°,视场半径R取4°,则建立分区星表时,以星敏感器视轴为中心(赤经从0°起,赤纬从-90°起),计算球矩大小,将球矩内的所有恒星按星等升序排列,并存储到以分区号为文件名的文本文件中,分区索引号的计算公式如式(9)所示,文本数据格式如式(6)所示:Index=(fix(α0/4)+1)×(fix(δ0/4)+23)(9)由此可知,分区星表中的第一颗星和第二颗星分别为主星和次星,其它恒星作为辅助星,分别与主星、次星构建特征三角形,可极大减少特征三角形的数量。为了提高星图识别算法的适应性,可将分区星表中较亮的恒星均作为主星对,以适当增加特征库的数量。⑵特征库的建立读取分区星表,以选定的主星对分别与其它恒星构建特征三角形。读取相关星表号、赤经及赤纬等信息,则根据式(1)计算相关星角距dij。星敏感器光学系统一般采用离焦设计以提高星点细分定位精度,弥散斑大小一般控制在3×3~5×5像元之间,因此构建特征三角形时,星角距dij应满足如下条件:ξ<dij≤2FOV---(10)]]>式中,ξ为弥散斑所对应的角度。若三角形的三条边均满足如上星角距限制条件,则按照导航特征数据结构存储该三角形。⑶周长散列特征库的构建判断所有主星是否计算完毕,否则重复步骤⑵,是则对所有特征三角形按照周长大小分块存储,子块编号按下式构造散列函数K(P):K(P)=fix(P×N/(6FOV)+1)(11)式中,P为三角形周长,N为分块总数。三、星图识别以上建立的三角形特征库为减少搜索量奠定了基础,一个三角形只需进行一次定位和一个分块搜索即可完成,具体算法流程如下:⑴初始化:读入导航星表、导航三角形特征库,设置星敏感器参数、星角距匹配门限ε等参数;⑵对星图提取数据进行编号(星点号i),并按灰度值降序排列;⑶判断是否存在3颗以上观测星,小于3颗则不能识别;⑷若观测星数为3,则按灰度值确定主星对与辅助星,构建观测三角形,计算观测三角形的对应星角距和周长,根据式(11)定位子块编号,在该子块中搜索以主星为顶点的两个星角距是否存在唯一满足下式的三角形,是则将匹配结果存入识别矩阵Identify中,其中第i个元素表示星点i的星表号,识别失败时则该元素置0;|lAB-dAB|≤ϵ|lAC-dAC|≤ϵ---(12)]]>式中,A、B、C分别为主星、次星及辅星,|x|表示x的绝对值。⑸若观测星大于3颗,则分别以星点1、2、3和星点1、2、4构建两个观测三角形,并按步骤⑷分别进行识别。若两个观测三角形存在唯一相同的主星对匹配结果,则匹配成功,将前4颗星的匹配结果存入识别矩阵Identify中,然后根据已匹配观测星对星图中其它恒星进行投影识别,并利用观测星角距对识别结果进行验证;若两个观测三角形没有唯一匹配结果,则剔除星点3或星点4,读入下一颗星继续识别;⑹判断该帧星图是否识别完毕,否则转⑸,是则根据识别矩阵Identify和导航星表确定观测星的星表号、赤经、赤纬及视星等等参数,转入下一帧星图识别,直至整个识别任务完毕。实施例:1、条件和参数实例平台为计算机,操作系统为WindowsXP操作系统,编程工具软件为Matlab2011a,其它参数如表所示:2、导航星特征库构建实例⑴导航星表筛选根据基本星表,筛选出满足要求的导航星表。基本星表中一般包含星表号、赤经、赤纬、星等、光谱特征以及赤经、赤纬自行参数等信息,具体示例如下:根据星等阈值与星敏感器系统参数,筛选满足上述条件的9.0Mv导航星表,对选定的恒星重新编号,并按导航星数据格式进行存储,具体示例如下:满足条件的导航星共有119528颗。⑵导航特征库的构建a.分区星表的构建以星敏感器视轴为中心,按照重叠球矩法将整个天球分割成4050个局部重叠天区,其中赤经α0从0°起至360°(不含),赤纬δ0从-90°起至90°,间隔4°,视场半径R取4°。计算球矩大小,将球矩内的所有恒星按星等大小升序排列,并存储到以分区号为文件名的文本文件中,其中,第1分区(对应视轴指向分别为赤经0°和赤纬-90°)中的具体恒星如下表所示:b.分区导航特征库的构建读取分区星表,以最亮星与次亮星为主星对,其它星分别与主星对构建特征三角形。读取相关星表号、赤经及赤纬等信息,则根据式(1)计算相关星角距dij。由分区导航星表与导航特征库可知,由此生成的特征三角形的数量明显减少。c.周长散列特征库的构建判断所有主星是否计算完毕,否则重复步骤⑵,是则对所有特征三角形按照周长大小分块存储。通过以上方法构建的三角形周长特征库总数为6054793条,文件大小267MB,将其按周长大小等分为512个子块文件,子块特征数最多为45936条,最少为1条,其中,第60分块特征数据如下所示:2、星图识别实例以2013年4月28日20:38:33:500所拍摄的星图为例:⑴初始化:读入导航星表、导航三角形特征库,设置星敏感器参数、星角距匹配门限ε等参数;⑵对星图提取数据进行编号(星点号i),并按灰度值降序排列,具体提取结果如下所示:⑶星图匹配a.根据星图提取结果,按式(2)计算三角形周长特征值,根据周长特征值按式(11)计算周长特征值所对应的导航特征库文件号,具体结果如下:b.对第1个三角形进行识别,读入第1个三角形所对应的周长特征库,其中第218个周长特征库如下所示:在此特征库中,搜索观测星角距与参考星角距满足星角距匹配门限的星角距AB、星角距AC数据集合,具体结果如下:由此可知,星点1、2、3的匹配结果不唯一,此时需要引入第4颗星进行辅助识别,即由第2个三角形进行补充识别,以进一步排除冗余匹配结果,第2个三角形的识别结果如下所示:以上两个三角形具有公共边AB,因此可以通过搜索以上两个星表中星点1、2星表号相同的集合,即可排除掉绝大多数冗余匹配结果。对比以上两个表格,只有一组星点1和星点2的星表号同时相等(加粗数据),因此星点1、2、3、4的星表号可以确定为80284、64129、64051及64049。一般情况下,经过以上两个三角形匹配,均可得到唯一结果。若以上两个三角形无匹配结果,说明前四颗星点中,有伪星存在,或者观测结果超出星角距匹配门限,此时可以剔除一颗星点,引入下一颗星再次进行匹配。c.判断该帧星图是否识别完毕,是则转入下一帧星图的识别,否则,引入下一颗星点,与星点1、2构成特征三角形,并以星点1~3的识别结果作为判据,以加快后续星点的识别速度。本例的最终识别结果如下表所示:⑷输出导航数据根据识别结果和导航星表,确定观测星的星表号、赤经、赤纬及视星等等参数,具体结果如下表所示,本帧星图的识别时间为1.3638秒。除上述实施例外,本发明还包括有其他实施方式,凡采用等同变换或者等效替换方式形成的技术方案,均应落入本发明权利要求的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1