基于角距分布的星表快速查找算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文章编号 &""!34**&3( !""# ) "%3""&+3"!
!"#$%&’ ()*+&",- ()*+’).$+)/"0.&*-1 2-&’,304-** !%#/’)+35 6/’ 2+&’ 4)*+
73&"# 83-" 83-" 83&/9&"# 23-" :$.&"# ( 81/909:9; <.= 7>99;=1 ?;-.@1090.1 A 5=90<0-0>B 819;BB0@;1-; , C:>DE.1@ F10G;=/09H .< J:E>1 #*""2#) I-0;1-; A 6;-E1.B.@H ,
1
图*
目标星到最近邻角距( 度) 分布
. /0$)2 ! 3 !
! $ *
( 0)
导航星数为 ),," 颗 "$"2"$* 是由于双星引起的,
( 下转 +# 页) 计算机工程与应用
!""#$%
*0
wk.baidu.com
!$C;5E<BDY C<;5N<GG5, IV -@BDX@A6;=, [C C:EY<DA6$U5M5@BF7<M6O <:D@A@:M ] ] ZZZF;@7@D59M$:M9$6O: ] + G<BO5BX @? <B :BA<BB6O <6;5<G T6Y59G6$YDDN : M;5E ] N<N6;M, !""!F"4 &$8@;N C CY<;N , RA5O CY<E6;B5< , C CY<BE<; C<MD;=$0 T5M5@B M=MD6A ?@; ] ] ;@7@D59M$669M$76;E6G=$6O: ] + G<BO5BX <B :BA<BB6O <6;5<G T6Y59G6$YDDN : !""!F", 9MMY<;N , #$R CY<E6;B5< , \ -< , 1 I P@@ 6D <G$C<MD;=$2<BO5BX <B :BA<BB6O <5; U5M5@B 7<M6O A@D5@B 6MD5A<D5@B <BO B@BG5B6<; 9@BD;@GHIJ$0M5<B T6Y59G6 :
&’(( #!" ) $
%" % !・ %! %"
( ))
)$*
折半查找算法
在查找表中, 把每一个结点看成是一个随机变量, 假定每
这样, 天球中任意两颗参考星对应一个星对角距。星对角 距是最精确的星识别特征。 在星跟踪器拍摄到的星图 中 , 设 任 意 两 颗 测 量 星 &!、 &" 在 像平面中的坐标分别为( , ( 。则这两颗星在星跟踪器 ’! , (! ) ’" , (" ) 测量坐标系中可以表示为:
星对角距是最精确的星识别特征, 星模式识别的一个主要 任务就是匹配由( 式中得到的星对角距和由( 式得到并事 ,) )) 先存储在导航星库中的星对角距。
!$!
三角形匹配算法
星图识别的过程实质是星图特征匹配的过程, 三角形星图
识别算法的基本思想为: 在 拍 摄 到 的 星 图 中 取 三 颗 星 &*, &!, 这三颗星的选取可以有不同的选取方法法。一 &) 构成三角形, 般取星图中最亮的星作为目标星 &*,该 文 以 距 离 目 标 星 最 近 的邻星和次最近邻星构成三角形。 称目标星到最近邻星之间的 角距为第一角距 &*!,称目标星到次最近邻星之间的角距为第 二角距 &*)。分别计算第一角距和第二角距, 并记录星号。然后 在用上述方法构造而成并事先存储在导航星库里的第一、 第二 , ( , ( 角距表中进行匹配查找。如果星对下标( &*, &!) &*, &)) &!, 可以构成三角形, 则认为匹配成功。 &)) 导航星数不同, 星对角距表的长度也不相同。在满足视场 内测量星数大于 ) 颗的条件下,为了获得高精度的姿态信息, 星跟踪器镜头视场设计的越小越好, 最典型的小视场为 -./-., 但小的视场往往导致大的导航星库, 大的角距星对表。 比如, 一 个用 0$) 星等门限建立的导航星库大约包括 ! 万颗导航星。如 果采用折半查找算法, 那么一次成功查找( 保守计算) 约 为 *+ 次。假如星跟踪器一次可以拍摄到 1 颗星, 那么角距法需要完 成的查找次数为 *+ ・ ・( 三角形法需要完成的查找次 -2* ) 3 !, ・ ・( ・( 对于大数据量的角距表设 数为 *+ -2* ) -2! ) 3 , 。因此, 计快速查找算法是非常必要的。
个变量都以等概率出现,那么折半查找法是一种最优查找算 法, 其查找的平均长度为:
1
. /0 4!1 $)2 ! 3 ! $ 1** ( ?’;! ( 1** ) 2* ) 1 ! $ *
( -)
当 1 很大时( , 1 大于 +" ) . /0 4!1 !?’;! ( 1** ) 2* 。 在 折 半 查 找算法中, 查找成功时进行的比较次数最多不超过树的深度。 ( #) 在概率不等条件下,折半查找算法不是最优的查找算法, 而实际应用中存在大量的非等概率变量。 直接得到一个随机变 量的概率密度函数是很困难的, 在工程应用中有些随机变量无 ( +) 法用具体的数学公式来描述其分布, 但通过大量观测, 可以得 到其分布的直方图, 通过直方图可以对随机变量进行量化分析。 恒星在天球中的位置是相对固定的, 因而它们之间的角距 也是固定的, 即角距的分布是固定不变的。通过研究导航星的 角距直方图, 发现恒星第一角距的不是均匀分布的( 等概率) 。 ( ,) 它的分布近似为一个非对称锥形 @+A, 见图 * 。由公式( 可知, 减 *) 少 456 的一个原则是:查找表中概 率 出 现 大 的 变 量 尽 可 能 对 应少的查找次数。观察图 * 可知, 第一角距分布在两侧的概率 较小, 中间的概率较大。因此可以根据角距概率分布把角距表 分成 ) 块, 使得查找大概率角距的次数较少, 从而减少 456。 设原始数据分成 ) 块 4 *, 由公式( 可得分块查找的 4 !, 4 ), 0) 平均查找长度为: ( . /0 4%$0 4**0 4!*0 4) %) 这里 0 4*, 0 4! 和 0 4) 分别代表 ) 快数据的平均查找长度。如 果分块数目较多时, 子星表按概率从大到小排序, 子星表采用 顺序查找算法。在每个子星表内部, 结点按角距递增的顺序排 序, 查找采用折半查找算法。
阳敏感器高一个数量级, 比地球敏感器高两个数量级的姿态信 息。卫星小型化发展对星跟踪器提出了更高的要求, 即要求星 跟踪器具有运算速度快、 体积小、 功耗低等特点。目前, 典型的 要实现快速星 商业卫星星跟踪器精度可以达到 ’ 到 &" 角秒 (&)。 图识别, 一个途径就是提高硬件性能, 另一个途径就是改善识 别算法 (!)。 在近 *" 年来, 人们提出了很多星图识别算法, 主要有三角 形识别算法、 四边形算法、 星群匹配算法 (*)、 网格法、 统计法和更 复杂的模糊逻辑、 神经网络法等算法。 在这些星图识别算法中, 最成熟的是三角形匹配算法,它在工程应用中一直受到重视, 并且已经在一些卫星的姿态确定系统中得到应用。 星图识别实质是一个模式匹配的问题, 即用事先存储在导 航星库中的特征同拍摄星图中提取到的特征进行匹配。 对星跟 踪器而言, 恒星可看成是一个点目标, 恒星所成图像通常由几 个像素组成。 因此, 星模式识别问题不同于其它的识别问题, 可 用于识别的特征信息很少, 主要识别特征有角距、 星的亮度和 奇异值等。其中, 角距特征最为精确, 被大多数识别算法所采 用。星的亮度特征往往只作为参考特征, 一方面由于星的亮度 不稳定, 另一方面由于不同的设备测量得到的星等不同。可视 星等和星跟踪器仪器星等之间的换算很复杂。
) &! $
" % ,( & # ! ! ! # !& !’! *(! *+ $+ ’
*
,’!
,’" " % * ) &" $ ,( ( & ! ! ! ( "& !’" *(" *+ $+ ’
距为:
( 得 星 对 &!、 + 表示镜头的焦距。根据 ( #) +) &" 所 对 应 的 角
&!・ &" &’(( &!" ) $ &! &"
基于角距分布的星表快速查找算法
张 晨 陈朝阳 沈绪榜 ( 华中科技大学图像识别与人工智能研究所国家教育部重点实验室, 武汉 #*""2# )
摘 要 查找导航星表是星模式识别的重要组成部分, 当导航星表数据量大时, 导航星表的查找速度直接影响星图识别
的速度。因此, 设计快速的星表查找算法是非常必要的。通过对导航星角距分布的研究, 提出了一种分块子星表查找算 给出了分块子星表的具体建立方法。实验验证了 法。该方法减小了查找算法的平均查找长度。以 + 星等导航星库为例, 该方法提高了查找速度。 关键词 星对角距 折半查找 概率分布 文献标识码 5 中图分类号 67*"&$+
#
实验分析
该文以国际标准天文星库 5BC!""" 为参考,导航 星 库 的
建立采用星等滤波方法 @,A。 设可视星等门限为 ,$" 星等。 在原始 星库中滤除不稳定的导航星( 包括位置不稳定的星和亮度不稳 定的星) 。导航星数大约为 ),," 颗。第一角距和第二角距分布 的 直 方 图 见 图 * 和 图 ) 。第 一 角 距 表 和 第 二 角 距 表 见 图 ! 和 图 #。
)
分块子星表查找算法
用平均查找长度( 来评价查 45624789:;8 58:9&< 68=;>< )
找算法的好坏。 在查找过程中, 对每个结点记录中的关键字( 星 对角距) 进行反复比较, 以确定其位置( 星对号) 。因此, 对关键 字进行比较的平均次数, 就成为平均查找长度。对含有 = 个数 据元素的查找表, 查找成功时的平均查找长度为:
基金项目: 航天关键技术支撑项目基金
! 星对角距分布特征 !$& 星对角距定义
设天球( 看成是单位球) 上任意两颗参考星的方向余弦矢 量 ! " 和 ! # 为:
-./!" -./"" $ ! " ! ", /01!" -./"" % " % # /01"" & -./!# -./"# $ ! /01!# -./"# % ! #, " " % # /01"# &
( &)
( !)
作者简介: 张晨( , 男, 现为华中科技大学图像识别与人工智能研究所博士生。 &%2*3 )
&+
!""#$%
计算机工程与应用
式中 ! 和 " 为星号, !! 和 "! 为第颗星的赤经、赤纬; !" 和 "" 为第 " 颗星的赤经、 赤纬。则两对参考星之间的角距定义为:
其中, 1 是结点的个数; 2! 是 查 找 第 ! 个 结 点 的 概 率 ; 3! 是 找到第 ! 个结点所需比较的次数。
&
引言
星跟踪器是一种高精度的姿态测量仪器, 它可以提供比太
任何一种以角距为识别特征的星图识别算法都需要建立 一个角距信息表, 它事先存储的在星跟踪器导航星库中。为了 得到高精度的姿态信息, 可以采用不同方法, 其中一个有效途 径就是减小星跟踪器镜头的视场, 但小视场需要大的导航星库 来完成有效的星图识别 (*), 这将导致星对角距表变大, 从而使得 识别速度变慢。为了解决这一矛盾, 必须改进角距查找算法 (#)。 折半查找算法是一种非常成熟的查找算法, 其查找效率非 常高。文章根据导航星角距的分布特征, 提出了一种分块折半 查找算法。以 + 星等门限提取到的导航星库为例, 给出具体建 立分块星对角距表的建立方法。并用实验验证了该方法。
!.*+’&,+: 6E; /;>=-E01@ .< /9>= B0/9 KB>H/ >1 0LK.=9>19 =.B; 01 /9>= K>99;=1 =;-.@1090.1$JE;1 9E; 1:LM;=.< /9>= B0/9 0/ E:@;, 09 0/ 1;-;//>=H 9. N;G;B.K >1 <>/9 /;>=-E01@ >B@.=09EL <.= /9>= 9=>-O;=$6E; N0/9=0M:90.1 .< >@1:B>= N0/9>1-; .< /9>= K>0=/ 0/ 01G;/9;@>9;N 01 9E0/ K>K;=$5 <>/9 /;>=-E01@ >B@.=09EL M>/;N .1 9E; N0/9=0M:90.1 .< >1@:B>= N0/9>1-; 0/ K=.G0N;N$ 6E0/ >B@.=09EL N;-=;>/;/ 9E; >G;=>@; /;>=-E B;1@9E$81 .=N;= 9. K=.G; 9E; K;=<.=L>1-; .< 9E0/ >B@.=09EL, > /K;-0<0;P>LKB; Q09E + G0/:>B L>@109:N; /9>= ->9>B.@ 0/ @0G;1$6E; =;/:B9 E>/ K=.G;N 9E; 0LK=.G;L;19 .< /;>=-E01@ /K;;;N$ ;-9</’1*: /9>= K>0= >1@:B>= N0/9>1-; , M01>=H /;>=-E01@ , K=.M>M0B09H N0/9=0M:90.1
相关文档
最新文档