法律状态公告日
法律状态信息
法律状态
2019-10-18
授权
授权
2018-11-27
实质审查的生效 IPC(主分类):G01C21/02 申请日:20180515
实质审查的生效
2018-11-02
公开
公开
技术领域
本发明涉及一种星图识别方法,属于星敏感器设计技术领域。
背景技术
在研制恒星陀螺敏感器过程中,精度要求高,星表内恒星数量多。利用原有的全天球导航星识别方法,识别速度较慢,难以快速识别出恒星给出姿态,因此针对大导航星表,需要研制快速全天球识别算法。本研究基于多边形识别算法和网格识别算法的优点,面向导航星较多的实际情况,提出了四边形网格法、进行全天球恒星的识别。试验结果表明,该算法在DSP平台2秒内能够完成全天球恒星的识别,识别概率达到99.98%以上;移植到FPGA平台后,将在1秒内完成全天球识别。该算法具有速度快、识别概率高的优点,能够快速给空间飞行器提供姿态数据。
郑胜等2004年在光学技术的《一种基于三角形几何结构的星图识别算法》中提出了三角形匹配法。该方法的基本形式是:首先在观测星和导航星中根据角距和星等等特征匹配出3颗星组成主三角形,再与这3颗星之间的角距关系来匹配星图中其它恒星,取最大匹配星组作为识别结果。该算法的优点是实现简单,占存储容量小,利用了整幅星图特征,不易出现误匹配,可以用于全天球星图识别。该方法有多种变形,如基于主边的匹配法、基于主星的匹配法和双三角形匹配法(准四边形法)。由于匹配其它恒星时,要计算这些恒星的星对角距(恒星与恒星之间与地球的球心角),所以该方法识别时间长。
1997年Mortari在Journal of the Astronautical Sciences的《Search-LessAlgorithm for Star Pattern Recognition》中提出采用k-vector方法来进行星图识别。为了降低由于星等不确定性带来的误识别,该算法只采用星对角距来识别。在研究过程中,发现星对信息表中的星对角距递增的幅值是比较平缓的,于是考虑将星对信息表的星对序号和对应的星对角距两个信息分别作为纵坐标和横坐标,拟合成某种曲线函数y=f(x)的形式,这样,当从星敏感器拍摄到的星空图像算出一对观测星对的角距时,令其为x代入式中,计算得到星对序号y值,再根据y值来确定识别结果。该算法起到了快速初定位的作用,减少了查找次数。
2001年Mortari在AAS Guidance&Control Conference的《Lost-In-SpacePyramid Algorithm for Robust Star Pattern Recognition》中提出了一种金字塔算法(Pyramid Star Identification)。该算法是适当选取四颗测量星,以一颗观测星作为顶点以其余三颗观测星构成四面体。该算法以四面体为基本单位,以k-vector方法为基本算法。实验发现:随着星对信息表增加,拟合曲线y=f(x)精度降低。而由于拟合精度降低,不能确保最佳匹配星对落在(y–δ)和(y+δ)之间的子集(δ为角距误差)。因此该算法只在局部区域内起到了快速初定位的作用。
李春艳等2003年在科学通报E辑的《基于神经网络技术的星图识别方法》中提出了神经网络法。该方法利用神经网络和专家系统的优点,可以提高识别精度,且能降低由于星等测量精度引起的误差。神经网络法跟传统的算法相比,具有数据库容量低,实时性和鲁棒性好等优点,在大视场多星定位系统中表现地尤其明显。但这些算法训练需要较大计算量,要求很大的训练集合,以完成多种模式识别,因此具有识别时间长的缺点;精度易受到训练集合大小和训练时间长短的影响;潜在地需要较大存储量来存储权值,所以对硬件要求较高。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种全天球星图识别方法,通过本发明的方法进行星点识别,用于计算星敏感器的姿态,提高了星敏感器图像识别精度及姿态计算的速度。
本发明的技术解决方案是:一种全天球星图识别方法,包括步骤如下:
(14)提取拍摄的观测星的星图图像中距离最远的两个星点:星点A、星点B;
(15)在星图图像中除星点A、星点B外的其它星点中,提取与星点A、星点B距离之和最大的星点C;
(16)在星图图像中除星点A、星点B、星点C外的其它星点中,提取与星点A、星点B、星点C距离之和最大的星点D;
(17)在导航星表1中,查找星点两端距离与星点A到星点B距离匹配且星点两端能量分别和星点A、星点B匹配的若干个星点Aˊ和星点Bˊ;
(18)对于每个星点Aˊ和星点Bˊ,在导航星表1中寻找若干个星点Cˊ,所述星点Cˊ、星点Aˊ之间的距离与星点C、星点A之间的距离相匹配,星点Cˊ、星点Bˊ之间的距离与星点C、星点B之间的距离相匹配,且星点Cˊ的能量和星点C的能量相匹配;
(19)对于每组星点Aˊ、星点Bˊ和星点Cˊ,在导航星表1中寻找若干个星点Dˊ,所述星点Dˊ、星点Aˊ之间的距离与星点D、星点A之间的距离相匹配,星点Dˊ、星点Bˊ之间的距离与星点D、星点B之间的距离相匹配,星点Dˊ、星点Cˊ之间的距离与星点D、星点C之间的距离相匹配,,且星点Dˊ的能量和星点D的能量匹配;上述寻找到的星点Aˊ、星点Bˊ、星点Cˊ、星点Dˊ组合构成若干个初选星空区域;
(20)将从拍摄的星图内提取出的星点按照能量从大到小排序,保存到待识别星表中;
(21)在待识别星表中,任意取出一颗待识别星点E,判断待识别星点E到星图图像上下左右边界的最短距离是否大于等于设定的dist像素;
(22)如果待识别星点E到星图图像上下左右边界的最短距离小于设定的dist像素,则在待识别星表中取下一颗待识别星点,返回步骤(8);如果待识别星点E到星图图像上下左右边界的最短距离都大于等于dist像素,则待识别星点E周围N1到N2个像素内,取亮度前三的三个星点F1、F2、F3;星点E周围N3到N4个像素内,取亮度前三的三个星点G1、G2、G3;星点E周围N5到N6个像素内,取亮度前四的四个星点H1、H2、H3、H4;N1、N2、N3、N4、N5、N6为正整数;N6>N5;N4>N3;N2>N1;
(23)遍历星点E和星点Fi、Gj、Hk,获得星点E的标识,所述星点E的标识由5个值构成,分别为:星点Fi与星点E的距离、星点Gj与星点E的距离、星点Hk与星点E的距离、星点FiE Gj的夹角、星点Gi E Hk的夹角;i=1,2,3;j=1,2,3;k=1,2,3,4;
(24)将获得的多组星点E的标识与导航星表2对应的初选星空区域中的导航星信息进行匹配,获得星点E的唯一匹配标识;
(25)取下一个待识别星点,返回步骤(8),直至识别完M颗观测星,进入步骤(13);M为正整数;
(26)在识别出的星点中,选取距离其他星最近的一颗星,以该星为中心,将角距T度范围外的识别星剔除,保存剩余的识别星集合作为最终的识别星,根据最终的识别星计算星敏感器的姿态;T为正整数。
两个星点间的距离为:两个星点能量相乘后,再乘以两个星点间像素距离值;两个星点的夹角为两个星点能量相乘后再乘以两个星点物理夹角值。
T在7~10范围内选取。
设定的dist像素>N6。
所述导航星表1中存储的星点信息为星点之间的距离和各星点的能量。
所述导航星表2中存储的星点信息包括标识星与该标识星周围三颗星之间的距离、该标识星周围三颗星与标识星构成的两个夹角。
本发明与现有技术相比的有益效果是:
(1)本发明的整体识别方法分为初步匹配和精确匹配两部分,速度快。初步匹配中,利用选取距离最远的几颗星进行识别。精确匹配中,利用每个星周围星点表征该颗星特征。鲁棒性强,精度高。
(2)本发明的方法将星点的能量和星点之间的距离融合用于表征星点的特征。并且将融合后的特征数字化,众多特征集成到一个数字中,达到存储量小的目的。所有特征数字按大小排列,检索的时候具有速度快的优点。
(3)本发明的方法初步匹配后,将初步匹配结果作为待选,进一步进行精确匹配,匹配耗时缩短。
附图说明
图1为本发明的实现流程图。
具体实施方式
下面对本发明的具体实施方式进行进一步的详细描述。
如图1所示,本发明的一种全天球星图识别方法,包括步骤如下:
(1)提取拍摄的观测星的星图图像中距离最远的两个星点:星点A、星点B;
(2)在星图图像中除星点A、星点B外的其它星点中,提取与星点A、星点B距离之和最大的星点C;
(3)在星图图像中除星点A、星点B、星点C外的其它星点中,提取与星点A、星点B、星点C距离之和最大的星点D;上述(1)(2)(3)中两个星点间距离为复合距离,即两个星点能量相乘后,再乘以两个星点间像素距离值,构成的两个星点之间的距离,下同;
(4)在导航星表1中,查找星点两端距离与星点A到星点B距离匹配且星点两端能量分别和星点A、星点B匹配的若干个星点Aˊ和星点Bˊ;这里的距离匹配是指距离近似相等,误差在一定范围内;能量匹配是指能量近似相等,误差在一定范围内,下同;
(5)对于每个星点Aˊ和星点Bˊ,在导航星表1中寻找若干个星点Cˊ,所述星点Cˊ、星点Aˊ之间的距离与星点C、星点A之间的距离相匹配,星点Cˊ、星点Bˊ之间的距离与星点C、星点B之间的距离相匹配,且星点Cˊ的能量和星点C的能量相匹配;
(6)对于每组星点Aˊ、星点Bˊ和星点Cˊ,在导航星表1中寻找若干个星点Dˊ,所述星点Dˊ、星点Aˊ之间的距离与星点D、星点A之间的距离相匹配,星点Dˊ、星点Bˊ之间的距离与星点D、星点B之间的距离相匹配,星点Dˊ、星点Cˊ之间的距离与星点D、星点C之间的距离相匹配,,且星点Dˊ的能量和星点D的能量匹配;
上述寻找到的星点Aˊ、星点Bˊ、星点Cˊ、星点Dˊ组合构成若干个初选星空区域;上述形成的AˊBˊCˊDˊ组合构成的星空区域可能不止一个,这些区域作为初选区域。下面将在导航星表2中进一步进行精确匹配查找;
(7)将从拍摄的星图内提取出的星点按照能量从大到小排序,保存到待识别星表中;
(8)在待识别星表中,任意取出一颗待识别星点E,判断待识别星点E到星图图像上下左右边界的最短距离是否大于等于设定的dist像素;
(9)如果待识别星点E到星图图像上下左右边界的最短距离小于设定的dist像素,则在待识别星表中取下一颗待识别星点,返回步骤(8);如果待识别星点E到星图图像上下左右边界的最短距离都大于等于dist像素,则待识别星点E周围N1到N2个像素内,取亮度前三的三个星点F1、F2、F3;星点E周围N3到N4个像素内,取亮度前三的三个星点G1、G2、G3;星点E周围N5到N6个像素内,取亮度前四的四个星点H1、H2、H3、H4;N1、N2、N3、N4、N5、N6为正整数;N6>N5;N4>N3;N2>N1;
(10)遍历星点E和星点Fi、Gj、Hk,获得星点E的标识,所述星点E的标识由5个值构成,分别为:星点Fi与星点E的距离、星点Gj与星点E的距离、星点Hk与星点E的距离、星点Fi>j的夹角、星点Gi>k的夹角;i=1,2,3;j=1,2,3;k=1,2,3,4;其中距离为两个星点能量相乘后再乘以两个星点间像素距离值,夹角为两个星点能量相乘后再乘以两个星点物理夹角值,下同;
(11)将获得的多组星点E的标识与导航星表2对应的初选星空区域中的导航星信息进行匹配,获得星点E的唯一匹配标识;遍历星点E和星点Fi、Gj、Hk,每组的距离角度组合都构成星点E的一个标识。但只有一个组合能标识该星点E,其他标识不仅不能标识该星点E,也不能标识导航星表2中其他任何星。这样遍历完星点周围各标识后,每个星点都能在导航星表2中找到唯一匹配。这点在导航星表2的构建中已经保证;因为(6)中已经得到一些初选区域,因此在导航星表2内的查找过程中,只在导航星表2内的这些初选区域范围内进行查找,加快了速度。
(12)取下一个待识别星点,返回步骤(8),直至识别完M颗观测星,进入步骤(13);M为正整数;
(13)在识别出的星点中,选取距离其他星最近的一颗星,以该星为中心,将角距T度范围外的识别星剔除,保存剩余的识别星集合作为最终的识别星,根据最终的识别星计算星敏感器的姿态;T为正整数。
实施例:
一种全天星图识别方法,包括步骤如下:
(1)提取拍摄的观测星的星图图像中距离最远的两个星点:星点A、星点B,距离值为1800;
(2)在星图图像中除星点A、星点B外的其它星点中,提取与星点A、星点B距离之和最大的星点C,距离和值为2600;
(3)在星图图像中除星点A、星点B、星点C外的其它星点中,提取与星点A、星点B、星点C距离之和最大的星点D,距离和值为2800;
(4)在导航星表1中,查找星点两端距离与星点A到星点B距离1800匹配、且星点两端能量分别和星点A能量、星点B匹配的若干个星点Aˊ和星点Bˊ,共发现200组这样的星点Aˊ和星点Bˊ组合;
(5)对于每个星点Aˊ和星点Bˊ,在导航星表1中寻找若干个星点Cˊ,所述星点Cˊ、星点Aˊ之间的距离与星点C、星点A之间的距离相匹配,星点Cˊ、星点Bˊ之间的距离与星点C、星点B之间的距离相匹配,且星点Cˊ的能量和星点C的能量相匹配,共发现40个这样的星点Cˊ;
(6)星点Aˊ、星点Bˊ和星点Cˊ的组合共40组,对于每组星点Aˊ、星点Bˊ和星点Cˊ,在导航星表1中寻找若干个星点Dˊ,所述星点Dˊ、星点Aˊ之间的距离与星点D、星点A之间的距离相匹配,星点Dˊ、星点Bˊ之间的距离与星点D、星点B之间的距离相匹配,星点Dˊ、星点Cˊ之间的距离与星点D、星点C之间的距离相匹配,且星点Dˊ的能量和星点D的能量匹配,共发现10组这样的星点Dˊ;
上述寻找到的星点Aˊ、星点Bˊ、星点Cˊ、星点Dˊ组合构成10个初选星空区域;
(7)拍摄的星图内提取出的星点共有12个,按照能量从大到小排序,保存到待识别星表中;
(8)在待识别星表中,任意取出一颗待识别星点E,判断待识别星点E到星图图像上下左右边界的最短距离是否大于等于设定的300像素;
(9)如果待识别星点E到星图图像上下左右边界的最短距离小于设定的300像素,则在待识别星表中取下一颗待识别星点,返回步骤(8);如果待识别星点E到星图图像上下左右边界的最短距离都大于等于300像素,则待识别星点E周围N1到N2个像素内,取亮度前三的三个星点F1、F2、F3;星点E周围N3到N4个像素内,取亮度前三的三个星点G1、G2、G3;星点E周围N5到N6个像素内,取亮度前四的四个星点H1、H2、H3、H4;N1、N2、N3、N4、N5、N6分别为1、200、10、250、50、300;
(10)遍历星点E和星点Fi、Gj、Hk,获得星点E的标识,所述星点E的标识由5个值构成,分别为:星点Fi与星点E的距离、星点Gj与星点E的距离、星点Hk与星点E的距离、星点FiEGj的夹角、星点GiEHk的夹角;i=1,2,3;j=1,2,3;k=1,2,3,4;
(11)星点Fi、Gj、Hk和星点E的组合共3*3*4=36组,这些36组标识分别在导航星表2中对应初选星空区域中的导航星信息进行匹配,在导航星表2中,只有1组标识能够匹配成功,根据匹配成功后导航星表2中的对应星号既为该颗星的识别结果;其它35组未能匹配成功,为冗余设计,不考虑。同时因为(6)中已经得到一些初选区域,因此在导航星表2内的查找过程中,只在这些初选区域范围内进行查找,加快了速度;
(12)取下一个待识别星点,返回步骤(8),直至识别完8颗观测星,结果已经足够用,进入步骤(13);
(13)在识别出的星点中,星点1距离其他星点距离和为15000,星点2距离其他星点距离和为16000,星点3距离其他星点距离和为14000,星点4距离其他星点距离和为15500,星点6距离其他星点距离和为17000,星点7距离其他星点距离和为71000,星点8距离其他星点距离和为14600,星点7距离其他星点距离和远高于其他星点的对应值,星点7可能识别失败,因此需要滤除它,滤除的办法为:选取距离其他星最近的一颗星,这里是星3,以星3为中心,将角距20度范围外的识别星剔除,保存剩余的识别星集合作为最终的识别星,根据最终的识别星计算星敏感器的姿态。20度为星敏感器视场半角。
星表1的示例见表1,在每个距离下,有很多星点组合,即表中星点x和星点y,从表中也能找到对应星点x和星点y的能量。
表1.星表1
星表2的示例见表2,在每个星号,都有唯一标识,该标识由权力要求书中描述的三个距离及两个夹角构成。以星号1的4562102447为例,45、62、10分别代表距离值,由真实距离值缩小100倍后向下取整获得,24、47分别代表两个角度值,由真实角度值缩小4倍后向下取整获得。缩放是出于减少存储量原因考虑。
表2.星表2
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。
机译: 字符图识识别设备,字符图识别方法和字符图识别程序
机译: 一种用于检测至少一个运动物体在检测区域内的运动路径的方法,一种使用这种识别方法的手势识别系统的过程以及一种用于执行这种识别方法的设备
机译: 大型透射彩虹全息图,用于全天候公共展示-远处的观察者可以在水平面上在白天的日光下或在夜间的低成本人造光下看到它们