一种基于混合粒子群算法的星图识别方法

文档序号:5956342阅读:258来源:国知局
专利名称:一种基于混合粒子群算法的星图识别方法
技术领域
本发明涉及一种基于混合粒子群算法的星图识别方法,属于航天器导航、制导与控制领域。
背景技术
星敏感器是基于星图匹配识别技术的天文导航系统的主要工作部件,星图匹配识别方法是星敏感器技术的核心,可以快速准确地获得载体的姿态信息。因此,研究一种识别速度快,识别成功率高的星图识别算法具有重要的理论和现实意义。目前已有了许多较为成熟的星图匹配识别方法,如三角形算法,凸多边形匹配识 别算法、栅格算法、基于Delaunay三角剖分识别法、基于神经网络的星图识别算法、基于遗传算法的星图识别方法以及基于蚁群算法的星图识别方法等。这些星图识别算法都达到了较为良好的效果,但它们在识别速度、识别成功率、数据库大小以及对噪声的鲁棒性上各有优劣;特别在大视场、高灵敏度的恒星敏感器条件下,由于光学系统畸变大、敏感星点多、星点质心提取困难等原因,识别速度和成功率更是明显降低。

发明内容
本发明的目的是解决大视场条件下恒星敏感器的星图识别速度慢和识别成功率低的问题。本发明提出了一种基于混合粒子群算法的星图识别方法,显著地提高了星图识别的成功率和对噪声的鲁棒性。本发明提出的一种基于混合粒子群算法的星图识别方法,包括以下几个步骤步骤一建立导航星库,实现星图识别算法导航星库的构造;步骤二 星图匹配识别,利用混合粒子群算法为导航星构造特征模式,然后采用二分查找法对导航星进行匹配识别。本发明的优点在于(I)本发明公开的星图识别方法采用混合粒子群算法对星点进行路径寻优,根据最优路径长度值进行索引,并利用最优路径中导航星间的角距进行匹配识别,提高了方法的识别率,减少了匹配时间;(2)本发明公开的星图识别方法提出了一种自适应确定圆半径r的方法,使该识别方法的寻优规模在合理范围内,保证了方法的实时性。(3)本发明公开的星图识别算法加入了导航星验证环节,提高了识别结果的准确性,同时减少了冗余匹配。


图I是本发明的方法流程图;图2是本发明圆半径r取4°时,圆内星点数目不同时的导航星个数分布;图3是本发明对r = 4°圆内星点少于6的导航星,取半径r = 5°时圆内星点个数分布;图4是本发明对r = 4°圆内星点多于25的导航星,取半径r = 2. 5°时圆内星点个数分布;图5是本发明提出的基于混合粒子群算法的圆内星点路径寻优图;图6是本发明提出的基于混合粒子群算法的星图识别方法流程;图7是本发明提出的方法识别率与星点位置误差的关系图。
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。本发明是一种基于混合粒子群算法的星图识别方法,方法流程如图I所示,包括以下几个步骤步骤一建立导航星库,实现星图识别方法导航星库的构造针对基于混合粒子群算法的星图识别方法,其导航星库的构造方法如下第一步选取导航星,构建基本导航星表从基本星表中选取导航星,对恒星间角距小于某一值(一般取3-5个像素)的双星 进行剔除,得到用于星图识别的基本导航星表,基本导航星表包含每一颗导航星的编号、星等、赤经和赤纬信息。第二步构造每颗导航星的特征数据集合针对基本导航星表中的每颗导航星,以导航星为圆心,以半径r进行画圆,将圆内的所有导航星组成圆心导航星的特征数据集合。星图识别是一种特征匹配方法,需要为每颗导航星构造唯一的特征模式,然后利用构造的特征实现导航星的匹配识别。基于混合粒子群算法的星图识别方法在构造特征模式时,需要给定圆半径r,而圆半径r的大小影响圆内导航星的个数,进而决定混合粒子群算法路径寻优的难易程度。为了提高星图识别方法的准确性和实时性,本发明提出了一种自适应调整方法来确定圆半径r,以保证混合粒子群算法的寻优规模在合理范围内,具体步骤包括(I)以一颗导航星为中心,取圆半径r = 4°,统计圆内的星点个数,当星点个数小于6时,进入步骤(2),当星点个数大于25时,进入步骤(3),当星点个数大于等于6且小于等于25时,确定圆半径r = 4° ;为保证星图识别方法的准确性和实时性,本发明对以上两种情况的圆半径r进行调整;(2)当圆内的星点个数小于6时,增大圆半径r为5° ;(3)当圆内的星点个数大于25时,减小圆半径r为2. 5°。第三步选取基本导航星表中的一颗导航星,获取特征数据集合中两两恒星间的角距,然后以特征数据集合中圆心处的导航星为起点,利用混合粒子群算法进行快速路径寻优,得到特征数据集合的最优路径,获取最优路径的长度,并选择最优路径中离圆心最近的导航星为最优路径的前进方向,得到最优路径的前三颗导航星。所述混合粒子群算法的快速路径寻优步骤如下( I)假设特征数据集合中共有m颗导航星,首先对特征数据集合中的导航星进行编码,将粒子遍历所有导航星的顺序以自然数排列,作为粒子的解;然后初始化混合粒子群算法的参数,设定粒子个数为n,迭代次数最大值为Nmax ;然后随机产生η个初始解(初始路径),并将粒子遍历所有导航星的路径长度之和作为粒子的适应度函数,然后根据粒子的当前位置计算起适应度值,设定各个粒子的个体极值,以及所有粒子的全局极值。(2)将第i个粒子的当前解与个体极值进行交叉,具体交叉方法为对于粒子的当前解,随机选择一个交叉区域(解中的一段数据),然后删除解中与个体极值交叉区域相同的元素,然后将个体极值交叉区域中的元素插入粒子的当前解,得到第i个粒子的新解。(3)将步骤(2)得到的新解与全局极值进行交叉,具体交叉方法为对于粒子的当前解,随机选择一个交叉区域,删除解中与全局极值交叉区域相同的元素,然后将全局极值交叉区域中的元素插入粒子的当前解,得到第i个粒子的新解。(4)将步骤(3)得到的新解进行变异,为使路径长度之和达到最小,采用轮盘赌选 择法,以较大的概率(概率大的导航星更易被选择)选取路径中相邻导航星间角距大的两个导航星,然后在它们之间插入其它导航星,得到变异后的新解。具体方法为获取步骤(3)得到的新解中相邻导航星间的角距,分别记为l(k),k=1,2,···,πι,其中,1(1)表示解中第一颗与第二颗导航星间的角距,以此类推,I (m-1)表示解中第m-Ι颗与第m颗导航星间的角距,l(m)表示解中第m颗与第一颗导航星间的角距,则每颗导航星被选择的概率为
mPk = I (k) / [ /(λ-), /< = 1,…,m
k=l根据上式求得的概率,采用轮盘赌选择法选取导航星ilt)采用轮盘赌选择法时,解中的每颗导航星类似于轮盘中的一小块扇形,扇形的面积大小与该导航星被选择的概率成正比,扇形面积越大,则该导航星被选择的概率也越大。选取了导航星I1后,以较大的概率选取离星点I1较近的星点作为粒子的下一个遍历点。Sd(Uj)表示解中导航星^与导航星j间的距离,则可计算得到离导航星I1最远导航星的距离为dmax,其中4· =)■ k = 1,…,m且k关I1,为防止遍历导航星I1后的下一个导航星为I1本身,令(Ki1, I1) = dmax,则每颗导航星被选为下一个遍历导航星的概率为
—mρ — ιυ))5卜1’…’1^…1
k=i根据上式求得的概率,采用轮盘赌选择法选取星点j1;即概率大的星点更易被选择,然后把导航星i安排到导航星I1之后,其余不变,得到变异后的新解。(5)进行个体极值的更新,具体方法为首先计算第i个粒子变异后新解的适应度值,并与该粒子个体极值的适应度值相比,得到第i个粒子的适应度值变化量,然后采用模拟退火机制确定是否接受该新解,如果接受,则更新粒子的个体极值。判断所有粒子的个体极值是否都已更新,若都已更新,进入步骤(6),否则返回步骤⑵。(6)进行全局极值的更新,根据所有粒子的个体极值,确定全局极值和全局极值路径,判断迭代次数是否大于迭代次数最大值Nmax,如果大于,则路径寻优结束,全局极值路径即为最优路径,否则,返回的步骤(2 )。第四步获取最优路径中前三颗导航星的信息,即分别获取第一颗导航星、第二颗导航星和第三颗导航星所对应的赤经、赤纬信息以及星等,第一颗导航星与第二颗导航星间、第二颗导航星与第三颗导航星间、第一颗导航星与第三颗导航星间的角距信息。第一颗导航星与第二颗导航星间、第二颗导航星与第三颗导航星间的角距信息,第一颗导航星、第二颗导航星和第三颗导航星分别对应的赤经、赤纬信息,作为导航星的基本识别息。第一颗导航星与第三颗导航星间的角距以及第一颗导航星、第二颗导航星和第三颗导航星的星等,作为星图识别的验证信息。第五步重复第三步与第四步,获取导航星表中每一颗导航星的特征信息,特征信 息包括导航星的最优路径长度、导航星基本识别信息以及星图识别的验证信息。对于导航星半径r = 5°的导航星识别信息按照最优路径长度升序排列,构成导航星库的第一部分,对于半径r = 4°的导航星识别信息按照最优路径长度升序排列,构成导航星库的第二部分,对于半径r = 2. 5°的导航星识别信息按照最优路径长度升序排列,构成导航星库的第三部分,最后这三部分构成一个完整的导航星库。步骤二 基于混合粒子群算法进行星图识别;对于一幅星图,经过星图预处理、星体提取,得到星图中每个星点的位置坐标及灰度信息,然后进行星图匹配识别,如图6所示,基于混合粒子群算法的星图识别方法具体包括以下几个步骤第一步确定候选识别主星,选取的识别主星应具有亮度大且离视场边缘角距均大于圆半径r的特点,选取方法如下计算星图中所有离视场边缘角距均大于圆半径r的星点的平均灰度值,然后选取灰度值大于平均灰度值的星点作为候选识别主星,得到候选识别主星集合。用户设置识别失败次数的最大值为N,设方法的识别次数为η,η的初值设为O。第二步进行星点快速路径寻优,在候选识别主星集合中,首先选取离视场中心第η+1近的星点作为圆心(即第一次识别时,选择最近的星点,第二次识别时,选择次近的星点,依次类推),然后以半径r进行画圆,半径r的确定方法与步骤一中第二步所述方法相同,将圆内的所有星点构成特征数据集合,如图5所示,其中白色星点表示该星点的灰度值大于平均灰度值。计算特征数据集合中两两星点间的角距,然后以特征数据集合中圆心处的星点为起点,利用混合粒子群算法进行快速路径寻优,得到星点特征数据集合的最优路径,获取最优路径的长度,选择最优路径中离圆心最近的星点为最优路径的前进方向,得到最优路径中的前三个星点。其中,利用混合粒子群算法进行快速路径寻优与步骤一第三步中所述混合粒子群算法的快速路径寻优方法相同,将星点的特征数据集合替代导航星的数据特征集合。获取最优路径中前三个星点的信息,即分别获取第一颗星点、第二颗星点和第三颗星点所对应的星等,第一颗星点与第二颗星点间的角距d12、第二颗星点与第三颗星点间的角距d23、第一颗星点与第三颗星点间的角距d13。第三步进行星图匹配识别,根据星点的半径r,确定该星点在导航星库中对应半径r的部分,根据第二步得到的最优路径长度,采用二分查找法,查找导航星库中与该星点最优路径长度相近的导航星,并把它们作为候选识别星,然后,将第二步中得到的d12和d23与候选识别星的基本识别信息进行匹配,得到匹配结果。匹配结果为无导航星匹配、仅一颗导航星匹配或者存在多颗导航星匹配。第四步导航星识别结果验证,将第三步得到的匹配结果进行验证,具体验证方法如下(I)若仅一颗导航星匹配上,则利用第二步得到的角距d13与导航星的星图识别验证信息进行匹配,如果匹配上,则此幅星图识别成功,如果没有匹配上,则此次星图匹配失败,星图识别失败次数η加I ;(2)若没有导航星匹配上,则此次星图匹配失败,星图识别失败次数η加I ;
(3)若存在多颗导航星匹配上,则利用第二步得到的角距d13与多颗导航星的星图识别验证信息进行匹配,得到进一步的匹配结果。如果无导航星匹配,则此次星图匹配失败,星图识别失败次数η加I ;如果仅一颗导航星匹配,则此幅星图识别成功;如果仍存在多颗导航星匹配,则利用第二步最优路径中第一颗星点、第二颗星点和第三颗星点分别对应的星等与星图识别的验证信息进行匹配,若无导航星匹配或仍有多颗导航星匹配,则认为此次星图匹配失败,星图识别失败次数η加1,否则此幅星图识别成功。第五步当失败次数η小于识别失败次数最大值N时,返回步骤第二步,否则,此幅星图匹配失败,此幅星图识别结束。实施例在选择导航星,构造导航星表时,选取导航星的最大星等为6. 5,剔除恒星间角距小于某一值(取3个像素)的双星,最后得到的基本导航星表共有8996颗导航星。在确定圆半径r时,取圆半径r = 4°,圆内星点数目取不同值时的导航星个数近似服从正态分布,圆内星点数小于6的导航星共有404颗,大于25的导航星共有628颗,如图2所示。对于圆内导航星数小于6时,增大圆半径r为5°,圆内不同星点个数的导航星分布如图3所示;对于圆内导航星数大于25时,减小圆半径!■为2. 5°,圆内不同星点个数的导航星分布如图4所示。基于混合粒子群算法的星图识别方法,首先根据步骤一构造用于星图识别的导航星库,构造的导航星库由最优路径长度表、角距识别星表以及识别验证星表组成。最优路径长度表存储了最优路径的长度值,角距识别星表包含最优路径中第一颗导航星与第二颗导航星间的角距、第二颗导航星与第三颗导航星间的角距以及该三颗导航星所对应的赤经赤纬信息,识别验证星表包含最优路径中第一颗导航星与第三颗导航星间的角距以及最优路径中前三颗导航星的星等,导航星库中三个表的存储内容分别如表I、表2和表3所示。然后根据步骤二实现导航星的匹配识别,用户自行设定识别失败次数最大值(一般取4以内的正整数),方法的识别流程如图6所示。表I最优路径长度表
最优路径值(° )
权利要求
1.一种基于混合粒子群算法的星图识别方法,其特征在于,包括以下几个步骤 步骤一建立导航星库 具体包括以下几个步骤 第一步选取导航星,构建基本导航星表 从基本星表中选取导航星,对恒星间角距小于3 5个像素的双星进行剔除,得到用于星图识别的基本导航星表,基本导航星表包含每颗导航星的编号、星等、赤经和赤纬信息;第二步构造每颗导航星的特征数据集合 针对基本导航星表中的每颗导航星,分别以每颗导航星为圆心,以半径r进行画圆,将圆内的所有导航星组成圆心导航星的特征数据集合; 第三步选取基本导航星表中的一颗导航星,获取特征数据集合中两两恒星间的角距,然后以特征数据集合中圆心处的导航星为起点,利用混合粒子群算法进行快速路径寻优,得到特征数据集合的最优路径,获取最优路径的长度,并选择最优路径中离圆心最近的导航星为最优路径的前进方向,得到最优路径中的前三颗导航星; 第四步获取最优路径中前三颗导航星的信息,即分别获取第一颗导航星、第二颗导航星和第三颗导航星所对应的赤经、赤纬信息以及星等,第一颗导航星与第二颗导航星间、第二颗导航星与第三颗导航星间、第一颗导航星与第三颗导航星间的角距信息; 第一颗导航星与第二颗导航星间、第二颗导航星与第三颗导航星间的角距信息,第一颗导航星、第二颗导航星和第三颗导航星分别对应的赤经、赤纬信息,作为导航星的基本识另1Ji目息; 第一颗导航星与第三颗导航星间的角距以及第一颗导航星、第二颗导航星和第三颗导航星的星等,作为星图识别的验证信息; 第五步重复第三步与第四步,获取导航星表中每一颗导航星的特征信息,特征信息包括导航星的最优路径长度、导航星的基本识别信息以及星图识别的验证信息,每颗导航星的特征信息按照最优路径长度的升序方式排列,并构成导航星库; 步骤二 基于混合粒子群算法进行星图识别 对于一幅星图,经过星图预处理、星体提取,得到星图中每个星点的位置坐标及灰度信息,然后进行星图匹配识别,基于混合粒子群算法的星图识别方法具体步骤如下 第一步确定候选识别主星,选取的识别主星应具有亮度大且离视场边缘角距均大于圆半径r的特点,选取方法如下计算星图中所有离视场边缘角距均大于圆半径r的星点的平均灰度值,然后选取灰度值大于平均灰度值的星点作为候选识别主星,得到候选识别主星集合; 用户设置识别失败次数的最大值为N,设识别次数为η,η的初值设为O ; 第二步进行星点快速路径寻优,在候选识别主星集合中,首先选取离视场中心第η+1近的星点作为圆心,然后以半径r进行画圆,将圆内的所有星点构成特征数据集合; 计算特征数据集合中两两星点间的角距,然后以特征数据集合中圆心处的星点为起点,利用混合粒子群算法进行快速路径寻优,得到星点特征数据集合的最优路径,获取最优路径的长度,选择最优路径中离圆心最近的星点为最优路径的前进方向,得到最优路径中的前三个星点; 获取最优路径中前三个星点的信息,即分别获取第一颗星点、第二颗星点和第三颗星点所对应的星等,第一颗星点与第二颗星点间的角距d12、第二颗星点与第三颗星点间的角距d23、第一颗星点与第三颗星点间的角距d13; 第三步进行星图匹配识别,根据星点的半径r,确定该星点在导航星库中对应半径r的部分,根据第二步得到的最优路径长度,采用二分查找法,查找导航星库中与该星点最优路径长度相近的导航星,并把它们作为候选识别星,然后利用第二步中得到的d12和d23与候选识别星的基本识别信息进行匹配,得到匹配结果;匹配结果为无导航星匹配、仅一颗导航星匹配或者存在多颗导航星匹配; 第四步导航星识别结果验证,将第三步得到的匹配结果进行验证,具体验证方法如下 (1)若仅一颗导航星匹配上,则利用第二步得到的角距d13与导航星的星图识别验证信息进行匹配,如果匹配上,则此幅星图识别成功,如果没有匹配上,则此次星图匹配失败,星图识别失败次数η加I ; (2)若没有导航星匹配上,则此次星图匹配失败,星图识别失败次数η加I; (3)若存在多颗导航星匹配上,则利用第二步得到的角距d13与多颗导航星的星图识别验证信息进行匹配,得到进一步的匹配结果;如果无导航星匹配,则此次星图匹配失败,星图识别失败次数η加I ;如果仅一颗导航星匹配,则星图识别成功;如果仍存在多颗导航星匹配,则利用第二步最优路径中第一颗星点、第二颗星点和第三颗星点分别对应的星等与星图识别的验证信息进行匹配,若无导航星匹配或仍有多颗导航星匹配,则认为此次星图匹配失败,星图识别失败次数η加1,否则此幅星图识别成功; 第五步当失败次数η小于识别失败次数最大值N时,返回步骤第二步,否则,此幅星图匹配失败,此幅星图识别结束。
2.根据权利要求I所述的一种基于混合粒子群算法的星图识别方法,其特征在于,步骤一第二步中、步骤二第一步中,所述圆半径r的选取方法具体为 (O以一颗导航星为中心,取圆半径r = 4°,统计圆内的星点个数,当星点个数小于6时,进入步骤(2),当星点个数大于25时,进入步骤(3),当星点个数大于等于6且小于等于25时,确定圆半径r = 4° ; (2)当圆内的星点个数小于6时,增大圆半径r为5°; (3)当圆内星点个数大于25时,减小圆半径r为2.5°。
3.根据权利要求I所述的一种基于混合粒子群算法的星图识别方法,其特征在于,步骤一第三步中、步骤二第二步中,所述的混合粒子群算法的快速路径寻优步骤如下 (1)假设特征数据集合中共有m颗导航星,首先对特征数据集合中的导航星进行编码,将粒子遍历所有导航星的顺序以自然数排列,作为粒子的解;然后初始化混合粒子群算法的参数,设定粒子个数为n,迭代次数最大值为Nmax ;然后随机产生η个初始解,并将粒子遍历所有导航星的路径长度之和作为粒子的适应度函数;然后根据粒子的当前位置计算其适应度值,设定每个粒子的个体极值,以及所有粒子的全局极值; (2)将第i个粒子的当前解与个体极值进行交叉,具体交叉方法为对于粒子的当前解,随机选择一个交叉区域,然后删除解中与个体极值交叉区域相同的元素,然后将个体极值交叉区域中的元素插入粒子的当前解,得到第i个粒子的新解; (3)将步骤(2)得到的新解与全局极值进行交叉,具体交叉方法为对于粒子的当前解,随机选择一个交叉区域,删除解中与全局极值交叉区域相同的元素,然后将全局极值交叉区域中的元素插入粒子的当前解,得到第i个粒子的新解; (4)将步骤(3)得到的新解进行变异,为使路径长度之和达到最小,采用轮盘赌选择法,以较大的概率选取路径中相邻导航星间角距较大的两个导航星,然后在它们之间插入其它导航星,得到变异后的新解; 具体方法为获取步骤(3)得到的新解中相邻导航星间的角距,分别记为I (k),k =1,2,···,πι,其中,1(1)表示解中第一颗与第二颗导航星间的角距,以此类推,I (m-1)表示解中第m-Ι颗与第m颗导航星间的角距,l(m)表示解中第m颗与第一颗导航星间的角距,则每颗导航星被选择的概率为
4.根据权利要求I所述的一种基于混合粒子群算法的星图识别方法,其特征在于,步骤一第五步中,所述的导航星库构成方法为对于半径r = 5°的导航星识别信息按照最优路径长度升序排列,构成导航星库的第一部分;对于半径r = 4°的导航星识别信息按照最优路径长度升序排列,构成导航星库的第二部分;对于半径r = 2. 5°的导航星识别信息按照最优路径长度升序排列,构成导航星库的第三部分,最后这三部分构成一个完整的导航星库。
全文摘要
本发明公开了一种基于混合粒子群算法的星图识别方法,包括建立导航星库和基于混合粒子群算法进行星图识别两个步骤,圆半径r通过自适应调整方法来确定,采用混合粒子群算法进行快速路径寻优。本发明提出的基于混合粒子群算法的星图识别方法解决了大视场,高灵敏度恒星敏感器条件下,星图识别率低,对噪声鲁棒性差的缺点;实现了导航星的快速匹配识别,提高了识别率,对噪声的鲁棒性更好。
文档编号G01C21/20GK102840860SQ20121031518
公开日2012年12月26日 申请日期2012年8月30日 优先权日2012年8月30日
发明者杨静, 王亮 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1