-
Hausdorff距离是两个点集之间相似度的一种描述方法,假设两个点集分别为A={a1,a2,…aN}和B={b1,b2,…, bM},A和B之间的双向Hausdorff距离描述为:
$$H(A,B) = \max \left\{ {h(A,B),h(B,A)} \right\}$$ (1) 式中:h(A,B) 称为A到B的单向Hausdorff距离,h(B,A)称作B到A的单向Hausdorff距离,它们分别表示为:
$$h(A,B) = \mathop {\max }\limits_{a \in A} \mathop {\min }\limits_{b \in B} \left\| {a - b} \right\|$$ (2) $$h(B,A) = \mathop {\max }\limits_{b \in B} \mathop {\min }\limits_{a \in A} \left\| {b - a} \right\|$$ (3) 这里
$\left\| { \cdot } \right\|$ 是一种距离范式,参考文献[16-17]中采用L1范式距离作为度量。L1范式是指向量中各个元素绝对值之和,由于向量对方向非常敏感,其应用受到限制。当采用L2范式时,对应的是欧氏距离。欧氏距离没有方向性,对星敏感器旋转不敏感。从公式(1)可以看出,双向$H(A,B)$ 距离取单向$h(A,B)$ 距离和$h(B,A)$ 距离的最大值,这个值越大表示A和B的不相似性越大。反过来,这个值越小,表示A和B的相似性越大。参考文献[16-17]中数据点集是利用图像的空间直角坐标进行构造,即:$$A = \left\{ {\left( {{x_i} - {x_1},{y_i} - {y_1}} \right){\rm{|}}b{r_{ai}}} \right\},\;(i = 1,2,...,N)$$ (4) 即点集A是由第一颗星为原点的相对星图坐标构建,其中
$b{r_{ai}}$ 为图像灰度,它与星库中的星等相对应。在实际应用中,星图的空间坐标依赖于星敏感器的转动方向。在惯性与天文组合导航或已知先验知识的情况下,这种方法具有很强的星图识别能力。但是,在纯自主天文导航中,飞行器状态一旦丢失,它需要很长时间对所有星敏感器滚动角进行计算才能重新获得星敏感器的状态,自主恢复能力较差。如果采用范数L2对应的欧氏距离构造数据点集A,则可以消除滚动角对星图识别的影响。由此,公式(4)改为:$$A=\left\{ {{d}_{{{a}_{i}}}}|b{{r}_{i}} \right\}(i=1,2,\cdot \cdot \cdot ,N)$$ (5) 式中:
${d_{{a_{i1}}}} = \sqrt {{{\left( {{x_i} - {x_1}} \right)}^2} + {{\left( {{y_i} - {y_1}} \right)}^2}} $ 表示星图中任意一恒星点到第一颗恒星点之间的欧氏距离。 -
在星图识别中,参考星图是由标准星库构成的。标准星库中的恒星一般是由经纬度坐标和星等构成。为了构造与星敏感器星图一样的点集,需要把星库中天球坐标系下的经纬度坐标转换成星敏感器的平面坐标。由于恒星到地球的距离可以认为是无穷远处,对恒星方位角来说,从地心赤道坐标系到星敏感器坐标系的转换无需顾及坐标平移所带来的误差。设原点O指向地心,Ox轴指向春分点,Oz轴指向北极,Oy为右手准则拇指方向,从天球坐标系到平面坐标系转换的基本公式为[16]:
$$\left\{ \begin{aligned} x =\; & \frac{{{N_x}}}{2} \times \frac{1}{{\tan \frac{{{{FO}}{{{V}}_x}}}{{\rm{2}}}}} \times \\ &\frac{{\cos {\delta _i}\sin \left( {{\alpha _i} - {\alpha _0}} \right)}}{{\sin {\delta _i}\sin {\delta _0} + \cos {\delta _i}\cos {\delta _0}{\rm{cos}}({\alpha _{\rm{i}}} - {\alpha _0})}} \\ y =\; & \frac{{{N_y}}}{2} \times \frac{1}{{\tan \frac{{{{FO}}{{{V}}_y}}}{{\rm{2}}}}} \times \\ &\frac{{\sin {\delta _i}\cos {\delta _0} - \cos {\delta _i}\sin {\delta _0}\cos \left( {{\alpha _i} - {\alpha _0}} \right)}}{{\sin {\delta _i}\sin {\delta _0} + \cos {\delta _i}\cos {\delta _0}\cos ({\alpha _{\rm{i}}} - {\alpha _0})}} \end{aligned} \right.$$ (6) 其中
$$x \in \left( - \frac{{Nx}}{2},\frac{{Nx}}{2}\right),y \in \left( - \frac{{Ny}}{2},\frac{{Ny}}{2}\right)$$ (7) 式中:(
${{N}_{x}},{{N}_{y}}$ )分别是在x和y方向上星库中恒星的经纬度坐标转换成星敏感器平面坐标系后的最大像素数,它与星敏感器的焦距有关;(${{FO}}{{{V}}_{x}},{{FO}}{{{V}}_{y}}$ )分别是在x和y方向上的视场角;($\delta ,\alpha $ )为恒星的经纬度坐标;(${{\delta }_{0}},{{\alpha }_{0}}$ )为作为参考方向的经纬度坐标。用上面同样的方法可以构造相对于参考星点K的L2范式距离点集B:$${B_k} = \left\{ {d_{bjk}^{}|{br}'_j} \right\},\left( {j = 1,2, \cdot \cdot \cdot ,M} \right),\left( {1 \leqslant k \leqslant M} \right)$$ (8) 式中:
$d_{bjk}^{} = \sqrt {{{\left( {x_{bj}^{} - x_{bk}^{}} \right)}^2} + {{\left( {y_{bj}^{} - y_{bk}^{}} \right)}^2}} $ 表示任意一点到参考点K之间的欧氏距离;$br_{bj}^{}$ 为与星等对应的图像灰度,需要与传感器图像进行定标,文中在星图识别中忽略了星等的影响。参考点K不同,点集B也不同,遍及星库中所有恒星作为参考点,可得得到M个不同的点集B。在实际计算中,为了提高计算速度,根据星敏感器视场角大小,选取参考星周围锥形范围内的星即可。 -
上面算法尽管对星敏感器的滚动角没有要求,但是,从公式(6)中可以看出,构造参考星图时与参数(
${{N}_{x}},{{N}_{y}}$ )有关,也即与星敏感器的焦距有关。在进行图像匹配时需要对不同的星敏感器进行单独标定,既麻烦又带来一定的标定误差。为此,文中在上述基础上采用相对距离方法构建数据点集A和B。假设在星敏感器中恒星距离构成的点集A中,距离
$\left\{ {{d}_{{{a}_{i}}}} \right\},(i=1,2,\cdot \cdot \cdot ,N)$ 是由小到大排序的,星敏感器A的点集可以改写为:$$\begin{split} & A = \left\{ {\frac{{{d_{{a_i}}}}}{{{d_{a2}}}}|b{r_{ai}}} \right\} = \left\{ {\left( {0,1,\frac{{{d_{a3}}}}{{{d_{a2}}}}, \cdot \cdot \cdot ,\frac{{{d_{aN}}}}{{{d_{a2}}}}} \right){\rm{|}}b{r_{ai}}} \right\},\\ & \quad (i = 1,2, \cdot \cdot \cdot ,N) \end{split}$$ (9) 因为集合中A中的元素是所有星敏感器中对应所有星的位置相对于第一颗星之间的欧氏距离,所以,第一个值为零。
同样,假设星敏感器的图像不变,参考星图在星敏感器坐标系中表示为:
$$\left\{ \begin{aligned} x =\; & a \times \frac{{{N_x}}}{2} \times \frac{1}{{\tan \frac{{{{FO}}{{{V}}_x}}}{{\rm{2}}}}} \times \\ & \frac{{\cos {\delta _i}\sin \left( {{\alpha _i} - {\alpha _0}} \right)}}{{\sin {\delta _i}\sin {\delta _0} + \cos {\delta _i}\cos {\delta _0}{\rm{cos}}({\alpha _{\rm{i}}} - {\alpha _0})}} = \\ \; & a \times {x_0} \\ y =\; & a \times \frac{{{N_y}}}{2} \times \frac{1}{{\tan \frac{{{{FO}}{{{V}}_y}}}{{\rm{2}}}}} \times \\ &\frac{{\sin {\delta _i}\cos {\delta _0} - \cos {\delta _i}\sin {\delta _0}\cos \left( {{\alpha _i} - {\alpha _0}} \right)}}{{\sin {\delta _i}\sin {\delta _0} + \cos {\delta _i}\cos {\delta _0}{\rm{cos}}({\alpha _{\rm{i}}} - {\alpha _0})}} =\\ \; & a \times {y_0} \end{aligned} \right.$$ (10) 则,点集合B中点数据元素可以表示为:
$${d_{jk}} = a \times {d_0}_{jk}$$ (11) 同样,对标准点集B中相对k的L2范式距离排序,并改写B为:
$$\begin{split} {B_k}(j) = \; &\left\{ {\frac{{{d_{{b_{jk}}}}}}{{{d_{b{}_{{\rm{2}}k}}}}}|b{r_j}} \right\} = \left\{ {\left( {0,\frac{{{d_{{b_{2k}}}}}}{{{d_{{b_{2k}}}}}},\frac{{{d_{{b_{3k}}}}}}{{{d_{{b_{2k}}}}}}, \cdot \cdot \cdot ,\frac{{{d_{bMk}}}}{{{d_{{b_{2k}}}}}}} \right){\rm{|}}b{r_j}} \right\}, \\ & \left( {{{j}} = 1,2, \cdot \cdot \cdot ,M} \right) \end{split} $$ (12) 从公式(10)可以看出,相对距离
${B_k}\left( i \right)$ 中的元素不依赖于a。${B_k}\left( i \right)$ 表示以参考星k为方向,所有相对于k的欧氏距离排序,然后除以序列i的欧氏距离。 -
对于范数L2点集A中任意一数据点到点集B之间的最小Hausdorff距离定义为:
$${D_{\min (ik)}}\left( {A,B} \right) = \min \left( {\left\{ {{w_1}{\rm{|}}{d_{ai1}} - d_{bjk}^{}{{\rm{|}}^m} + w_2^{}{\rm{|}}b{r_{ai}} - br_{bj}^{}{|^m}} \right\}} \right)$$ (13) 式中:W1和W2为权值;m为一个距离范数,当m=2时对应的距离就是欧氏距离;
${D_{\min (ik)}}$ 表示集合A中的任意点到参考点为k的B集合的最小Hausdorff距离集合。如果集合B包含集合A,理论上,A中的任何点到B中的最小距离都为零。星敏感器不同指向对应的星图中的恒星个数不同,取最小Hausdorff距离的平均和作为评判标准,表示为:$${{H}}{{{D}}_k} = \frac{1}{N}\sum\limits_{i = 1}^N {{D_{\min (ik)}}} ,\;\;(k = 1,2, \cdot \cdot \cdot ,M)$$ (14) 理论上当星图匹配时,
${{H}}{{{D}}_k}$ 应为零。考虑到噪声影响,取${{H}}{{{D}}_k}$ 式中最小值对应的k即为识别结果。$$H{D_{\min }} = \min \left\{ {H{D_k}} \right\}$$ (15)
Star map recognition method of L2 normal distance
-
摘要: 在Hausdorff距离的基础上,提出一种不依赖于星敏感器的旋转方向和焦距等因素的星图识别方法。在构造Hausdorff距离的数据点集合时,采用基于L2范数对应的相对欧氏距离作为集合元素,解决星敏感器滚动对星图识别的影响;另一方面,由于受星敏感器焦距的影响,星敏感器图像与标准参考图也会存在误差。在构造标准数据点元素时,考虑到如果一个数据点集包含另一个数据点集,在这两个数据点集之间至少有两个数据点之间的L2范式距离是相同的。对L2范式Hausdorff距离进行比例化处理,每个集合中的相对空间距离除以本集合中最小的相对空间距离,构成一种新的数据点集。这种方法不需要对星敏感器图像由于焦距不同进行标定,避免了星敏感器焦距对星图识别的影响。给出了距离的计算公式和实现步骤,并给出了实验结果。结果表明:在星敏感器转动、尺度变换等情况下,该算法可以正确得到星图识别结果,从而获得星敏感器的姿态信息。
-
关键词:
- 星传感器 /
- 星图识别 /
- Hausdorff距离 /
- 自主导航
Abstract: Based on the Hausdorff distance (HD), a star map recognition method was presented that did not depend on the rotation direction and focal length of the star sensor. When constructing the data point set of Hausdorff distance, the relative Euclidean distance corresponding to norm L2 was used as the set element to solve the influence of star sensor rolling angle on star pattern recognition. On the other hand, due to the influence of the focal length of star sensor, there were errors between the star sensor image and the standard reference image. When constructing standard data point elements, if a data point set contained another data point set, the L2 normal distance between at least two data points between the two data point sets was the same. Therefore, the relative distance was scaled, and the relative spatial distance in each set was divided by the smallest relative spatial distance in the set to form a new set of data points. This method was not necessary to calibrate the star sensor image due to different focal lengths influence. The calculation formula, implementation steps and the simulation results were presented. The experimental results show that the algorithm can obtain the star map recognition results correctly and get the attitude information of star sensor in the case of star sensor rotation, scale transformation, etc.-
Key words:
- star sensor /
- star pattern recognition /
- Hausdorff distance /
- autonomous navigation
-
-
[1] Wang G, Li J, Wei X. Star identification based on Hash Map [J]. IEEE Sensors Journal, 2018, 18(4): 1591-1599. doi: 10.1109/JSEN.2017.2772272 [2] Pham M D, Low K S, Chen S S. An autonomous star recognition algorithm with optimized database [J]. IEEE Transactions on Aerospace and Electronic Systems, 2013, 49(3): 1467-1475. doi: 10.1109/TAES.2013.6557999 [3] Li J, Wei X, Zhang G J. Iterative algorithm for autonomous star identification [J]. IEEE Transactions on Aerospace and Electronic Systems, 2015, 51(1): 536-547. doi: 10.1109/TAES.2014.130729 [4] 朱海龙, 梁斌, 张涛. 基于星点有序集的全天球自主星图识别算法[J]. 光学 精密工程, 2017, 25(6): 1577-1586. doi: 10.3788/OPE.20172506.1577 Zhu Hailong, Liang Bin, Zhang Tao. All-sky automation star identification algorithm based on ordered star points set [J]. Optics and Precision Engineering, 2017, 25(6): 1577-1586. (in Chinese) doi: 10.3788/OPE.20172506.1577 [5] Zhao Y, Wei X G, Li J, et al. Star identification algorithm based on k-l transformation and star walk formation [J]. IEEE Sensors Journal, 2016, 16(13): 5202-5210. doi: 10.1109/JSEN.2016.2553245 [6] 王军, 何昕, 魏仲慧, 等. 基于多特征匹配的快速星图识别[J]. 光学 精密工程, 2019, 27(8): 1870-1879. doi: 10.3788/OPE.20192708.1870 Wang Jun, He Xin, Wei Zhonghui, et al. Fast atar identification algorithm based on multi-feature matching [J]. Optics and Precision Engineering, 2019, 27(8): 1870-1879. (in Chinese) doi: 10.3788/OPE.20192708.1870 [7] Zhao Y, Wei X G, Li J, et al. A fast triangular star map recognition algorithm [J]. Journal of Applied Optics, 2018, 39(1): 71-75. doi: 10.5768/JAO201839.0102006 [8] 刘烟, 席红霞, 曹珺, 等. 结合自组织映射网络及三角形算法的星图识别方法[J]. 中国空间科学与技术, 2018, 38(4): 1-10. Liu Yan, Xi Hongxia, Cao Jun, et al. A star pattern recognition method baesd on self-organizing mapnetwork and triangle algorithm [J]. Chinese Space Science and Technology, 2018, 38(4): 1-10. (in Chinese) [9] Li X L, Yang J H, Zhang L, et al. Further optimization of selected observation triangles technique before star pattern matching [J]. Journal of Astronautics, 2015, 36(1): 76-81. [10] 踪华, 刘嬿, 高晓颖, 等. 星点坐标辅助的全天区三角形星图识别算法[J]. 航空学报, 2018, 39(9): 322045. Zong Hua, Liu Yan, Gao Xiaoying, et al. All-sky triangle algorithm of stars identification aided by star coordinates [J]. Acta Aeronautica et Astronautica Sinica, 2018, 39(9): 322045. (in Chinese) [11] 高扬, 赵金宇, 陈涛, 等. 添加补偿码的快速径向伴星特征星图识别[J]. 光学 精密工程, 2017, 25(6): 1627-1634. doi: 10.3788/OPE.20172506.1627 Gao Yang, Zhao Jinyu, Chen Tao, et al. Radial neighbor feature with compensate code star pattern recognition algorithm [J]. Optics and Precision Engineering, 2017, 25(6): 1627-1634. (in Chinese) doi: 10.3788/OPE.20172506.1627 [12] Li B H, Sun Q, Zhang T S. A star pattern recognition algorithm for the double-FOV star sensor [J]. IEEE Aerospace and Electronic Systems Magazine, 2015, 30(8): 24-31. doi: 10.1109/MAES.2015.140208 [13] 苟斌, 程咏梅, 赵明艳, 等. 三视场星敏感器的多级星图识别算法[J]. 西北工业大学学报, 2019, 37(3): 541-546. doi: 10.1051/jnwpu/20193730541 Gou Bin, Cheng Yongmei, Zhao Mingyan, et al. Multi-stage star image identification method of three field-of-view star sensor [J]. Journal of Northwestern Polytechnical University, 2019, 37(3): 541-546. (in Chinese) doi: 10.1051/jnwpu/20193730541 [14] Sun L, Jiang J, Zhang G J, et al. A discrete HMM-based feature sequence model approach for star identification [J]. IEEE Sensors Journal, 2016, 16(4): 931-940. doi: 10.1109/JSEN.2015.2496662 [15] Yoon H, Paek S W, Lim Y, et al. New star pattern identification with vector pattern matching for attitude determination [J]. IEEE Transactions on Aerospace and Electronic Systems, 2013, 49(2): 1108-1118. doi: 10.1109/TAES.2013.6494402 [16] 王广君, 房建成. 基于Hausdorff距离的星图识别方法[J]. 北京航空航天大学学报, 2005, 31(5): 508-510. doi: 10.3969/j.issn.1001-5965.2005.05.006 Wang Guangjun, Fang Jiancheng. New star pattern recognition approach based on Hausdorff distance [J]. Journal of Beijing University of Aeronautics and Astronautics, 2005, 31(5): 508-510. (in Chinese) doi: 10.3969/j.issn.1001-5965.2005.05.006 [17] Quan W, Xu L, Fang J C. A new star identification algorithm based on improved Hausdorff distance for star sensors [J]. IEEE Transactions on Aerospace and Electronic Systems, 2013, 49(3): 2101-2109. doi: 10.1109/TAES.2013.6558045