法律状态公告日
法律状态信息
法律状态
2016-06-15
授权
授权
2015-09-09
实质审查的生效 IPC(主分类):G01C21/24 申请日:20150527
实质审查的生效
2015-08-12
公开
公开
技术领域
本发明涉及星图识别的技术领域,具体涉及一种基于离散马尔科夫特征序列模型的星图 模式识别方法。
背景技术
姿态测量是卫星和飞船控制的重要任务之一,深空导航任务尤其倚仗自主姿态测量技 术。星敏感器是一种高精度航天器自主姿态测量元件,具有精度高、无漂移、不需要先验姿 态等优点,被广泛应用在各类航天器中。
星图识别算法大致可以分为2类。第一类是子图同构类算法。在这种算法中星点被看作 多边形的顶点,两颗星点之间的角距被看作是多边形的边,如果观测星图中的多边形可以和 数据库中的某一个多边形唯一匹配,则该观测星图成功识别。此类算法识别时间会因为虚假 匹配数目增加而快速增加。而且为了提高识别率,此类算法必须存储大量的角距值,导航数 据库容量巨大。
模式识别算法是指利用根据每一颗星点的周围的星点的几何分布,为其构造独一无二特 征模式,并通过在星库中寻找与其模式最为接近的星点来进行识别。此类算法存在以下几方 面的缺点:①对位置噪声和星等噪声的鲁棒性不足,在噪声水平上升时识别率下降很快;② 存在大量的冗余匹配,特别当视场中存在假星时,候选匹配星点集数目增大,星点匹配复杂 程度会大大提高,同时导致识别时间急剧增加。
HMM是处理时间序列信号方面非常有用的模型,是一种高效的,鲁棒的模式识别算法, 在语音识别,手势识别以及手写字母识别等方面取得了成功地应用。目前星图识别领域虽然 提出了多种模式识别算法,但没有一种算法是基于HMM模型来进行识别。
发明内容
本发明的目的在于:星图模式识别算法逐渐成为星图识别算法的主要研究方向之一,但 是目前的模式类星图识别算法依旧存在对星点位置噪声、星等噪声,和假星的鲁棒性较差, 冗余匹配数量较多等缺点。本发明提出一种基于离散马尔科夫(DHMM)特征序列模型的星 图模式识别方法,根据HMM的两层结构——隐藏层和观察层——建立星点几何分布的两层 特征结构,并构建几何分布为星点HMM隐藏层,隐藏状态描述参考星点及其邻域星点的几 何分布;构建角距特征为星点HMM观察层,对应的特征序列为观察值序列。在识别过程中, 产生某一特定观察序列的概率最大的星点HMM模型将会被唯一匹配,产生该序列的观测星 点对应产生该模型的导航星点。基于HMM原理,利用特征角距序列构建的星点模型保证算 法在星点位置噪声和星等噪声增大时依然有较高的识别率,提高了对假星的鲁棒性,大大减 小了候选星点集和匹配的复杂度,同时也降低了算法平均识别时间。
本发明采用的技术方案为:一种基于离散马尔科夫特征序列模型的星图模式识别方法, 该方法的步骤如下:
步骤1).挑选合适的星点作为导航参考星和邻域星;
步骤2).导航参考星点HMM模式构建
利用导航参考星和邻域星来构建HMM模型的两层结构——隐藏层和观察层;导航参考 星将作为HMM的源,是模式识别的核心;导航参考星点及其邻域星点的几何分布映射为 HMM的隐藏层,隐藏层描述假设的马尔科夫过程中隐藏状态的变化;导航参考星和邻域星 的星对角距经过离散和化整后构成的特征序列作为HMM观察层的观察值序列;
步骤3).HMM训练与样本采集
星点HMM模型的训练是指根据观察到的序列样本集来找到一个最有可能的HMM (Baum-Welch algorithm),并求出HMM的参数;具体如下:
I.利用得到的导航参考星的特征序列,构造鲁棒性特征序列集合作为训练样本;
II.利用Baum-Welch算法来计算局部最佳的HMM模型参数,进行HMM的训练和学习;
步骤4).在观测星图中寻找待识别的观测参考星和邻域星;
步骤5).计算星图中观测参考星的特征序列,然后将特征序列经过离散化整转换为观察 值序列;
步骤6).根据观察值序列,在HMM数据库中寻找最优匹配的模型;其中:
首先,利用粗分类逐位退出原则找到HMM数据库中可能和当前观察序列匹配的一个极 小的子集;
然后,计算子集中所有HMM模型产生该序列的概率,概率最大的一个HMM模型为最 优匹配模型;
步骤7).若当前观测导航星点正确识别,算法结束;若当前观测导航星点无法识别,则 选下一颗星点作为参考星,返回步骤5)继续进行识别;当星图中所有星点均无法识别时,整 幅图像识别失败。
其中,在步骤1)中,所述的导航参考星和邻域星是从天球中挑选的;具体的,
从星表中挑选星等小于等于一定星等的星点作为导航参考星,并删除双星和过于密集的 星点;
寻找导航参考星模式半径范围内的星等小于或等于一定星等的星点作为导航邻域星的 候选星点;
将所有的候选星点按照离参考星的角距从小到大排序,并选择最近的三颗,依次记为邻 域星1,2,3。
其中,在步骤3)的步骤I中,所述的鲁棒性偏移特征序列集合是利用鲁棒性偏移参数 处理特征序列生成的样本集合,其中:
ε+:正向鲁棒性偏移参数,若一个离散后的特征序列中的某一个角距去整后的小数部分 大于ε+时,该角距对应的观察值加1,其他位不变,构成一个全新的观察值序列;
ε-:负向鲁棒性偏移参数,类似于ε+,当离散后的角距去整后的小数部分小于ε-时,对 应观察值减去1构成新的观察值序列;
将基本特征序列经过离散和化整后转换成基本观察值序列,并对其逐位应用鲁棒性偏移 法则来生成新的观察序列;
训练好的所有的导航参考星点的HMM模型,并在HMM数据库中存储其星表编号,邻 域星星表标号和HMM参数,用作后续搜索匹配。
其中,在步骤4)中,所述的观测参考星和邻域星是从星图中挑选的;
将所有星图中的星点按照离图像中心的距离从小到大排序,首先挑选第一颗星点为观测 参考星,以观测参考星为中心,找到观测参考星对应的三颗最近的邻域星。
其中,在步骤6)中,所述的粗分类逐位退出是指比较星图中观测参考星的观察值序列 和HMM数据库中的每一个HMM的观察值序列,从首位开始,如果两者值相差±δ以上, 则判定为此HMM不符合观察值序列,直接退出比较,进行下一个HMM比较;
只有所有位的观察值的比较结果差值均在±δ以内,则计算此HMM产生观察值序列的 对数似然概率;
挑选概率的最大的HMM模型作为匹配的模型,观测参考星和邻域星就是最佳HMM模 型对应的导航参考星和邻域星,此时星图识别完成;
若遍历HMM数据库没有匹配的HMM模型,当前的星图中观测参考星和邻域星无法识 别。
本发明的星图识别方法具有以下优点:
(1)本发明创建基于HMM特征序列模式特征,利用HMM的两层结构设计了星点的 两层特征模型,特征的观察值序列充分考虑了星点位置噪声、星等噪声对星点模式的影响, 因而星图识别算法对星点位置噪声和星等噪声有较好的鲁棒性。此外,本方法对假星也有很 好的鲁棒性。
(2)本发明鲁棒性偏移很好的解决了HMM模型训练中样本的获得和对总体特征的包 含问题,偏移得到的训练集数目少,训练效率高。
(3)本发明对观察值序列进行粗分类逐位退出大大提高了算法的识别速度,本方法的 平均识别时间远远优于一般的模式识别方法。
附图说明
图1为HMM两层模型示意图;
图2为星点HMM特征模型构建过程;
图3为特征序列排列顺序;
图4为鲁棒性偏移构建训练样本集;
图5为HMM特征数据库存储示意图;
图6为星图正确识别率与星点质心噪声(σp)的关系(σM=0.323像素);
图7为星图正确识别率与星点星等噪声(σM)的关系(σp=0.4像素);
图8为星图正确识别率与视场星点数量的关系(σp=0.4像素,σM=0.323星等);
图9为算法1000次仿真识别时间;
图10为本发明一种基于离散马尔科夫特征序列模型的星图模式识别方法的流程示意图。
具体实施方式
下面结合附图以及具体实施例进一步说明本发明。
1.本发明首先以Smithsonian宇航星表(SAO星表)中所有星等小于或等于6.0Mv的星 点作为基础,删去双星和某些天区中过于稠密的星点,获得构建数据库所需的导航参考星点 候选星点,然后寻找导航参考星模式半径范围内的星等小于或等于6.0Mv的星点作为邻域候 选星点。将所有的邻域候选星点按照离主星的角距从小到大排序,到导航参考星点距离最小 的三颗邻域星点被挑选为导航邻域星点。
按照1.1和1.2的方法建立导航参考星点的基于HMM特征序列的模式特征。
1.1、创建导航参考星点的HMM模式特征
利用HMM模型构建星点特征并无先例可循,关键是找到恰当的、稳定的特征,以识别 为目的,设定HMM对应的状态源、隐藏层和观察层,形成一个完善的数学模型。根据导航 参考星点和导航邻域星点的几何分布特征,为每一颗参考星点构建HMM模型。
HMM模型可以用5个参数表示为λ={N,M,π,A,B},如图1所示。
N是Markov链隐藏状态数目。记N个状态为θ1,θ2,…,θN,t时刻Markov链所处的状态 为qt,则有qt∈(θ1,θ2,…,θN),θ是状态空间。
M表示每个状态可能对应的观察值数目,观察值对应模型的实际输出。记M个观察值 为V1,V2,…VM,t时刻观察到的观察值为Ot,则有Ot∈(V1,V2,…,VM)。
A表示状态转移矩阵,A=(aij)N×N,aij表示状态θi到状态θj的转移概率:
B表示观察值概率分布矩阵,B=(bjk)N×M,bjk表示t时刻状态θj下输出观察值为Vk的概 率:
π代表初始状态概率矢量,π={πi},πi表示初始状态为θi的概率为:
N,M在建立模型的过程中一般可以直接确定,所以根据影响HMM模型识别结果的三 个最主要的参数将HMM简记为λ={π,A,B}。
针对HMM的两层结构,本发明根据导航参考和邻域星点的几何特征分布,也构建了星 点HMM特征模型。导航参考星是产生HMM的根本,是产生随机过程的发生源;隐藏层是 由不可观察状态之间的转移变化来表示主星周围伴星独特内在分布关系,即表示隐藏状态变 化关系;导航参考星和邻域星的星对角距经过离散和化整后构成的特征序列作为HMM观察 层的观察值序列。图2(a)-(c)展示了这种模型的构建过程。
1).图2(a)中的导航参考星是指从天球或者星敏感器视场中挑选出来的,可以用来构建 星点特征模式的恒星,它将作为HMM的源,是模式识别的核心;每一个导航参考星对应的 HMM模式参数已知,可以根据观察到的序列集来找到一个最有可能的HMM,可能性最大 的HMM所对应的导航参考星以及导航邻域星将被成功识别出来。
2).星点的几何分布映射了隐藏层的隐藏状态,具体的状态不可观测,但其内部的变化 和转移对HMM非常重要。HMM的一般有两种模型,一种是各态遍历模型——每个状态都 可以从其他任何状态在有限步到达;另一种是左右模型——随着时间的增加,状态序列或者 增加或者不变。
本发明提出的模型隐藏状态的数目设计值为10。10个状态必须足够全面的描述source 的变化,作为一种离散的HMM模型,我们假定状态之间是可以相互流转的,每个状态都可 以从其他任何状态在有限的步数内转移得到,因而选用各态遍历模型(ergodic model)。图1 左侧Markov Chain的状态模型即是完整的各态遍历模型。
3).导航参考星和导航邻域星两两之间任意一个角距都将作为特征序列的一位,来代表 HMM的观察值,构成观察集{Vk},k=1,2,…,6。图2(b)标记了构成主星特征模式的角距的序 号,这也是角距的计算和排列顺序。A,B,C分别是主星P模式半径范围内离它最近的三颗星 点,星点两两之间的角距构成的6位序列的元素更清晰的排列如图3中所示,首先是主星和 伴星之间的角距1,2,3,然后是伴星之间的角距4,5,6。
直接计算出的角距特征序列是浮点型数据,而离散HMM模型的观察值所代表的是用数 字表示的确定的可见的状态,因而需要特征序列离散并化为整形数据才可以用于进一步的模 型计算。离散和化整的是公式(4),Vi是计算出来的角距(单位是度),fd是离散系数 (fd=0.05°),是离散后化为整数的,可作为观察值的特征序列元素。
所有RSs的特征角距序列中的角距都将作为HMM观察值中的一个,因而观察值数目如 公式(5)所示,是角距的最大值,PR是模式半径。本发明中PR选取为6°, 易求得M=240。
1.2星点HMM特征模型的训练
在构建了HMM基本模型之后,需要解决计算所有导航参考星点所对应的HMM的具体 参数的问题。这个问题属于HMM的三大经典问题之一的“学习问题”,即在可观察状态序列 O已知的情况下,找到一组最优的HMM参数λ使P(O|λ)最大。为了计算出每一颗GRS的 HMM的参数,我们需要得到多组该GRS的特征序列作为训练样本,迭代计算出最佳的λ。
1).构造具有鲁棒特征序列集合作为训练样本
为了训练好的模型对真实的星图具有好的适应性,使用从真实星图得到的特征序列作为 训练样本应该是最佳选择。但是,一方面真实星图数量有限,无法涵盖整个天区,无法从其 中得到所有导航星的特征序列;另一方面,HMM训练是一个迭代过程,因而每一个GRS 的HMM模型都需要该星的多个特征序列样本进行训练,真实星图无法为每一个GRS提供 足够数量的样本。如果采用仿真星图得到的特征序列进行训练似乎可以解决上述问题,出于 对鲁棒性的考虑,必须仿真不同噪声水平下覆盖全天球的大量星图用来提取特征序列集合, 仿真训练过于繁琐。本文因此提出一种利用鲁棒性偏移特征序列集合作为训练样本的HMM 训练算法。这种训练算法只需要极少的训练样本即可完成HMM模型求解(最大训练样本集 为64)。
ε+:正向鲁棒性偏移参数。若一个离散后的特征序列中的某一个角距去整后的小数部分 大于ε+时,该角距对应的观察值加1,其他位不变,构成一个全新的观察值序列。
ε-:负向鲁棒性偏移参数。类似于ε+,当离散后的角距去整后的小数部分小于ε-时,对 应观察值减去1构成新的观察值序列。
利用公式(4)将基本特征序列转换成基本观察值序列,并对其逐位应用鲁棒性偏移法 则来生成新的观察序列,6位观察值可能产生的全部观察序列最多有26=64组。
显然地,0.5<ε+<1,0<ε-<0.5,ε++ε-=1。所以在此范围内,经过大量仿真,最后确定 ε+=0.55,ε-=0.45。一个应用鲁棒性偏移法则得到训练样本的例子如图4所示,由于每一位 都符合角距偏移原则,所以最后会组成64个训练样本。
2).特征序列集的学习问题
求λ使得P(O|λ)最大是一个泛函极值问题,但由于用于训练的样本并不能代表总体,因 而只能求得局部最优解。
为了计算最佳的λ,首先定义前向变量为αt(i),它表示HMM系统在t时刻状态是θi, 且到t时刻为止产生的所有可见状态序列前t个符号O1,O2,…Ot的概率。T是观察值序列长度, T=6。αt(i)可以由以下公式得到。Obsmat是由观察值概率分布矩阵B中6个观察值所在的 列组成的矩阵。
αt(i)=α(i,t)=P(O1,O2,…Ot,qt=θi|λ),1≤t≤T (6)
定义后向变量为βi(t),它表示的就是t时刻到状态输出结束的T时刻输出可见状态序列 Ot+1,Ot+2,…,OT的概率。
βt(i)=P(Ot+1,Ot+2,…OT,qt=θi|λ),1≤t≤T-1 (8)
那么,类似地有:
如果定义ξt(i,j)为给定的训练序列O和模型λ,时刻t是Markov链处于状态θi和时刻t+1 时处于状态θj的概率,即:
定义γi(i)为给定模型和条件下时刻t时Markov链处于状态θi的概率,那么有:
利用ξt(i,j)和γi(i)可以得到重估公式,表示从状态θi转移出去的次数的期望值, 表示从状态θi转移到状态θj的次数的期望:
上述重估公式是Baum-Welch算法(forward-backward algorithm)。我们使用此算法来计 算局部最佳的HMM模型参数,计算步骤如下:
①选取初始模型(待训练模型)λ={π,A,B}。
星点的HMM中,状态和时间无关,输出的观察值也和时间无关,仅与当前状态有关, 所以π,A,B初始采用随机的概率分布。
②基于λ和观察值序列O,利用重估公式(12)计算、训练新模型
③如果为第k次迭代得到的参数,△为预先设定的 阈值,△=10-30),说明训练已经达到预期效果,算法结束;否则,令返回第2步, 继续迭代。最大迭代次数maxiter=50,达到最大迭代次数时,算法亦结束。
1.3、星点HMM特征模型的识别
建立每一颗导航参考星的HMM模型后,如果从观测星图中能够得到HMM的观察值序 列,那么就可以估算出每个HMM模型产生该序列的概率,概率最大的HMM对应的导航参 考星和邻域星点被识别出来。
识别的主要步骤:
1).在观测星图中寻找待识别的观测参考星和观测邻域星
将所有星图中的星点按照离图像中心的距离从小到大排序,首先挑选第一颗星点为观测 参考星,以观测参考星为中心,找到参考星对应的最近的三颗的观测邻域星。
2).计算星图中参考星的特征序列,并利用公式(4),将特征序列转换为观察值序列。
3).根据观察值序列,在HMM数据库中寻找最优匹配的模型。
P(O|λ)表示的是被记为λ的HMM生成观察值序列O的概率。它可以由公式(13)求得。 我们利用公式(6),(7)和(13)可以计算出每一个HMM生成特定观察值序列的概率(前 向算法)。
逐个计算HMM时间较长,不符合星图识别算法要求实时性的特点,因而我们采用粗分 类逐位退出的方法,最大程度减少HMM估值计算次数。粗分类逐位退出是指比较星图中参 考星的观察值序列和HMM数据库中的每一个HMM的观察值序列,从首位开始,如果两者 值相差±δ以上,则判定为此HMM不符合观察值序列,直接退出比较,进行下一个HMM比 较。只有6位观察值的比较结果差值均在±δ(δ=ε++ε-+1)以内,则HMM计算标志位 hmmRecognitionFlag等于“真”,并计算此HMM产生观察值序列的对数似然概率(likelihood)。 挑选likelihood的最大的HMM模型作为匹配SRS的模型,HMM对应的GRS和GNSs就是 SRS和SNSs,此时有4颗星点被正确识别,ImageRecognitionFlag等于“真”,星图识别完成。 若遍历HMM数据库没有匹配的HMM模型,ImageRecognitionFlag等于“假”,当前的星图 中参考星和邻域星无法识别。
4).若ImageRecognitionFlag=ture,算法结束;若ImageRecognitionFlag=false,则选下一 颗星点作为参考星,返回步骤2)继续进行识别。当星图中所有星点均无法识别时,整幅图像 识别失败。
1.4导航特征数据库
导航数据库包括星表中每一个星点的天球坐标和编号以及星点的HMM特征数据库。训 练好每一个HMM的参数后,便可以构建HMM数据库,如图5所示。
2.实施实例
为了评估本发明算法的性能,采用SAO星表,利用计算机模拟星图进行仿真实验,仿 真实验的各项参数如表1所示。
表1 仿真实验的主要参数
受图像噪声、光学系统畸变、采样量化截断误差及质心定位算法本身误差等诸多因素的 影响,星点质心的定位常常有较大的误差。为了考察发明算法对星点质心定位误差的抑制能 力,对模拟星图中的星点质心添加一定的均值为0的高斯噪声,统计10000幅随机姿态下星 图的识别结果如图6所示。
HMM算法的识别率最高达到99.61%,在最大噪声2.0pixel处也还有80.50%。其他模式 识别算法在较大位置噪声下的表现要逊于本发明提出的算法。
不同的恒星有不同的光谱分布,有些恒星亮度不断变化,且星敏感器对不同频率的光有 不同的光谱响应,以及星敏感器本身器件存在固有噪声等因素的影响,星敏感器探测的星点 亮度会出现一定的偏差。采用对星点亮度添加均值为0的高斯噪声来模拟星敏感器星等探测 误差。图7显示了本发明算法在不同星等噪声下的正确识别率。
星图正确识别率随着星点星等噪声增加而不断下降,当星等噪声较小时(σM=0.323星 等),本发明算法能够正确识别99.63%的星图;在中等星等噪声σM=0.646星等时,本发明算 法能够获得98.33%正确识别率;在较大星等噪声σM=0.969星等时,本文的算法仍然拥有 95.17%正确识别率,而其它模式类星图识别算法在此情况下识别率比较低。
星敏感器在外太空中由于太空碎片、行星以及星等亮度变化等影响,视场中会出现假星。 对模拟星图中添加一定数目的假星。假星的星等为小于6等的随机星等,假星的数目也从1 颗逐渐增加到10颗。统计10000幅随机姿态下每种假星数目下星图的识别结果,如图8所 示。
从图8可以看出:正确识别率基本随着视场中假星数目增加而下降。本发明算法在1颗 假星下的正确识别率99.2%,在一般假星星点数量视场(5颗假星)中的正确识别率为94.8%, 在较多假星视场(10颗假星)中的正确识别率为86.9%,传统模式类星图识别算法在存在多颗 假星的情况下正确识别率很低。
算法的识别时间是指从构建星图中星点的特征模型到计算出此幅星图对应的姿态的时 间,本算法的1000仿真的识别时间如图9所示,平均识别时间为1.5ms,远远快于同类模式 识别算法(其他模式识别算法识别时间在几十毫秒到几百毫秒之间)。
机译: 用于机动车辆的显示和操作系统,具有控制单元,该控制单元基于形成的图形模型来产生动画图形表示,该图形模型形成为提供操作模式,其中特征模式设置为
机译: 模式识别方法,特征识别方法,模式识别装置和特征识别装置
机译: 模式识别方法,特征识别方法,模式识别装置和特征识别装置