Skip to main content

Maximum radial pattern matching for minimum star map identification

Abstract

This paper proposes an all-sky star map identification algorithm that can simultaneously achieve high identification probability, low algorithm complexity, and small databases for well photometric and intrinsic parameters-calibrated star sensors. The proposed algorithm includes three main steps. First, a binary radial pattern table is constructed offline. Then, the maximum value matching of the radial pattern is performed between the star spots and the guide stars, and the star pairs (i.e., the minimum star map) after radial pattern matching undergo a coarse matching through angular distance cross-validation. Finally, a reference star map is designed based on the identified star pairs, and the matching of all the star spots in the field of view is realized. Simulation and analysis results show that the database required by the proposed algorithm for 5,000 guide stars is not larger than 200 KB. Also, when false and missing star spots account for 50% of all guide stars and the star spot extraction error is 0.5 pixel (the corresponding pointing error is 26″), the average star map identification time of the proposed algorithm is less than 2 ms, and its identification probability is higher than 98%. The results demonstrate that the proposed algorithm performs better than similar algorithms.

1 Introduction

A star sensor [1,2,3] represents an important component of a spacecraft attitude control system. It first senses multiple stars to obtain their directional vectors in a camera coordinate system and then calculates the directional vectors of the stars in a celestial sphere coordinate system based on the star map identification, and finally, determines the attitude of the spacecraft.

Star map identification has always been a focus of research on star sensors. Star map identification algorithms can be roughly divided into two types [4], subgraph isomorphism algorithms and pattern algorithms, according to whether they use angular distance directly or indirectly.

The triangle star map identification algorithm [5, 6] denotes the simplest star map identification algorithm. Due to the low-dimensional feature of a triangle, there are numerous redundant matches and mismatches in this algorithm, so the identification probability of a star triangle is low. To reduce the matching redundancy, researchers have proposed using multiple triangle identification [6] or polygon identification [7,8,9]. The subgraph isomorphism algorithms use multiple identifications of angular distance [10] or triangle [5, 6] and employ ingenious retrieval techniques [6, 11] to reduce computational complexity while maintaining recognition accuracy for a large number of false and missing star spots and large star spot extraction errors. However, these algorithms have the drawback of requiring a large database due to the direct application of angular distance.

The pattern algorithms [12,13,14,15,16,17,18,19,20,21,22,23] use a star pattern similar to an umbrella formed by the main star and its surrounding stars. The grid algorithm [12,13,14] was a pioneering work of the feature algorithms. The early versions of the grid algorithm were susceptible to selecting the reference star. Subsequently, numerous improved algorithms have been developed based on the grid algorithm, including dynamic angle matching [15], the fast Fourier transform (FFT) [16], the radial and cyclic pattern algorithm [17], the star pair grid algorithm [18], the radial pattern voting algorithm [19], the radial pattern triangle algorithm [20, 21], and radial triangle mapping matrix [22]. The dynamic angle matching method [15] uses the angle between neighboring stars and the distance between neighboring stars and the main star as dynamic angle features and saves them as index distance and angle information in a two-dimensional lookup table. When the FFT [16] is performed on the function of the distance between the neighboring stars and the main star with respect to the rotation angle, the amplitude can be used as the main star feature because rotation does not change the amplitude of the FFT coefficients. However, false or missing stars that undergo the FFT will be superimposed on the amplitude, which has a significant impact on the recognition result compared to using data directly. The radial and cyclic pattern algorithm [17] first uses radial patterns for initial matching and then uses cyclic patterns to eliminate redundant matches. This approach reduces the size of the pattern table required by the grid algorithm but requires a complex verification process. The star pair grid algorithm [18] uses the connection line of the star pair as a reference radial, and it requires a large database for the star pair grid and has a long match identification time. In the radial pattern voting algorithm [19], each star spot to be identified requires two rounds of radial pattern voting, one local and one global, which makes its computational complexity high. In fact, due to the mutually reinforcing development of subgraph isomorphism algorithms and pattern algorithms, the boundaries between them have become blurred. The radial pattern triangle algorithm is a good example. Namely, the radial pattern triangle algorithms can be divided into two types of algorithms depending on whether the angular distance testing is performed before or after radial pattern matching. Performing the angular distance testing before radial pattern matching [20] can reduce the redundancy of the star pairs used for radial pattern triangle identification; however, the angular distance table is necessary. In contrast, performing the angular distance testing after radial pattern matching [21] can eliminate the requirement for the angular distance table’s database, but this type of algorithm requires at least three radial feature matches for all guide stars. The radial triangle mapping matrix [22] is a recent state-of-the-art (SOTA) model; it selects all triangles formed by the main star and neighboring stars as the main star feature and can achieve significant progress in reducing computational complexity and recognition accuracy under the condition of a large number of false and missing star spots and numerous star spot extraction errors. However, these algorithms use high-dimensional features, resulting in a large database.

It should be noted that it is extremely challenging to achieve high identification probability, low algorithm complexity, and small databases simultaneously in any working mode of star sensors. In addition, false and missing star spots account for more than 50% of all guide stars, and the star spot extraction error exceeding 0.5 pixel [23] is an abnormal state for well photometric and intrinsic parameter-calibrated star sensors. Aiming to achieve all three goals simultaneously in situations where false and missing star spots account for less than 50% of all guide stars and the star spot extraction error is less than 1.0 pixel, this paper proposes an all-sky star map identification algorithm. The proposed algorithm includes three main steps. First, a binary radial pattern table is constructed offline. Then, the maximum value matching of the radial pattern is performed between the star spots and the guide stars, and the star pairs resulting from the radial pattern matching undergo a coarse matching process involving angular distance cross-validation. Finally, a reference star map is designed based on the identified star pairs, and the matching of all the star spots in the field of view (FOV) is realized. The proposed algorithm is verified by simulation experiments. The experimental results show that the proposed algorithm identifies only star pairs in the coarse matching stage, and the number of star spots to be identified is the minimum number of star spots required to realize the star map identification, so it is the minimum star map identification algorithm. Even when there is a false star in the star spot pair, the proposed algorithm needs to identify again only one star spot once. The application of radial pattern maximum value matching eliminates the need for the matching threshold selection, which simplifies the identification process and thus reduces algorithm complexity. Further, the pattern table contains only radial patterns and thus requires a small database. Finally, using the angular distance for cross-validation renders radial pattern matching insensitive to missing and false star spots.

The remainder of this paper is organized as follows. Section 2 describes the star map identification model proposed in this paper. Section 3 explains the steps of the proposed star map identification. Section 4 compares the proposed algorithm with two other star map identification algorithms through simulation experiments. Finally, Sect. 5 concludes this paper and presents future research directions.

2 Star map identification model

2.1 Database construction

The database of the proposed algorithm contains a guide star catalog, a region index table, and a pattern table, which are explained in the following.

  1. (1)

    Guide star catalog

    Each row of the guide star catalog corresponds to a guide star, containing the celestial sphere coordinates (i.e., right ascension and declination) of the guide star. First, the guide stars that are brighter than the sensitive limit magnitude of a star sensor are selected from the original star catalog. Then, the guide star pairs with angular distances of less than five pixels are merged. Finally, the obtained guide star spots are sorted according to the region index table.

  2. (2)

    Guide star region index table

    The one-dimensional parameter in the region index table represents the total number of guide stars that are not greater than the serial number of the indexed region.

First, according to the sampling theorem, the entire celestial sphere [− 90°, + 90°] × [0°, 360°] is partitioned into equal intervals (\({\Delta }_{A}\times {\Delta }_{A}\)), where

$$\Delta_{A} = {\text{min}}\left\{ {z \in {\varvec{N}}^{*} \left| {{\text{mod}}\left( {180,z} \right) = 0,z \ge T_{{\Delta_{A} }} } \right.} \right\},$$
(1)

where mod( ) represents modular operation, and \({T}_{{\Delta }_{A}}\) is the farthest distance from the center of the FOV to the boundary of the FOV.

Then, the serial number of the region where a guide star is located is defined as follows:

$$I = \left( {\left\lceil \frac{\alpha }{{\Delta_{A} }} \right\rceil- 1} \right)\frac{180}{{\Delta_{A} }} + \left\lceil {\frac{90 + \delta }{{\Delta_{A} }}} \right\rceil ,$$
(2)

where \(\left(\alpha ,\delta \right)\) denote the celestial sphere coordinates of the guide star, and is the upward rounding function.

Finally, the number of all guide stars that are not larger than the serial number of the indexed region is determined.

An associated guide star can be rapidly obtained based on the region index table and the pointing direction of the optical axis. Assuming that the optical axis of the star sensor points to \(\left({\alpha }_{o},{\delta }_{o}\right)\), when the optical axis points to the low-declination region of the celestial sphere, \({R}_{\alpha }<90^\circ\), where \({R}_{\alpha }=\) \(\frac{{T}_{{\Delta }_{A}}}{\text{cos}\left(\left|{\delta }_{o}\right|+{T}_{{\Delta }_{A}}\right)}\) is the lower limit of the right ascension range covering the FOV; namely, the low-declination region is defined as the corresponding right ascension range covering the FOV not exceeding 180°; the serial number of the region where the associated guide star is located is given by:

$$\left\{ {\left.I= \frac{180}{{\Delta_{A} }}{\text{mod}}\left( {{i}-1,\frac{360}{{\Delta_{A} }}} \right)+{j}\right|\left\lceil {\frac{{\alpha_{o}- {R}_{\alpha }}}{{\Delta_{A} }}} \right\rceil \le i \le \left\lceil {\frac{{\alpha_{o}+{R}_{\alpha } }}{{\Delta_{A} }}} \right\rceil,\left\lceil {\frac{{90 + \delta_{o}- {T}_{{\Delta }_{A}}}}{{\Delta_{A} }}} \right\rceil \le j \le \left\lceil {\frac{{90 + \delta_{o}+{T}_{{\Delta }_{A}}}}{{\Delta_{A} }}} \right\rceil} \right\}.$$
(3)

Since the right ascension region might cross the zero-degree meridian, the modular operation of Eq. (3) is necessary. However, when the optical axis points toward the high-declination region of the celestial sphere, \({R}_{\alpha }\ge 90^\circ\), the serial number of the region where the associated guide star is located is obtained by:

$$\left\{ {\left. I = \left( {i - 1} \right)\frac{180}{{\Delta_{A} }} + j \right|1 \le i \le \frac{360}{{\Delta_{A} }},1 \le j \le \frac{180}{{\Delta_{A} }},\left\lceil {\frac{{90 + \delta_{o} - {T}_{{\Delta }_{A}} }}{{\Delta_{A} }}} \right\rceil \le j \le \left\lceil {\frac{{90 + \delta_{o}+ {T}_{{\Delta }_{A}} }}{{\Delta_{A} }}} \right\rceil .} \right\}$$
(4)

To further clarify the use of the guide star region index table, a star sensor with the FOV of 15° × 15° is used as an example for analysis. The farthest distance between the center and boundary of the FOV is \({T}_{{\Delta }_{A}}= 10.6^\circ\). According to Eq. (1), the celestial sphere is partitioned into \(\frac{180}{{\Delta }_{A}}\times \frac{360}{{\Delta }_{A}}=15\times 30\) regions with an interval of \({\Delta }_{A}\times {\Delta }_{A}=12^\circ \times 12^\circ\). When the optical axis points to the low-declination region \(\left|{\delta }_{o}\right|<72.6^\circ\), for the optical axis of the star sensor pointing to \(\left({\alpha }_{o},{\delta }_{o}\right)=\left(5^\circ , 30^\circ \right)\), according to Eq. (3), the serial number of the region is \(\left\{I=15\text{mod}\left(i-\text{1,30}\right)+j\left|0\le i\le 2,10\le j\le 11\right.\right\}\). When the optical axis points to the high-declination region \(\left|{\delta }_{o}\right|\ge 72.6^\circ\), for the optical axis of the star sensor pointing to \(\left({\alpha }_{o},{\delta }_{o}\right)=\left(5^\circ , 89^\circ \right)\), according to Eq. (4), the serial number of the region is \(\left\{I=15\left(i-1\right)+j\left|1\le i\le 30,j=15\right.\right\}\).

  1. (3)

    Radial pattern table of guide star

    Each row of the radial pattern table corresponds to a guide star. The quantizing grade of a radial pattern is \({N}_{PR}\) bits, and it is denoted as \({P}^{\left(C\right)}=\left({b}_{1}^{\left(C\right)},{b}_{2}^{\left(C\right)},\dots ,{b}_{{N}_{PR}}^{\left(C\right)}\right)\). Assume that the directional vector of the guide star (i.e., the main star) in the celestial sphere coordinate system is \({\varvec{v}}\) and the directional vector of its neighboring star in the celestial sphere coordinate system is \({{\varvec{v}}}^{,}\); then, the angle between them is given by:

    $$\theta^{\left( C \right)} = {\text{cos}}^{ - 1} \left( {{\varvec{v}}^{T} {\varvec{v}}^{,} } \right)$$
    (5)

Generally, the radial pattern of a guide star is obtained by calculating the angular distance between the main star and its neighboring star, which involves a time-consuming calculation of the arc cosine. This study provides a solution to avoid the arc cosine calculation, which is to move the main star toward the main point of a detector. At this point, the distance between the main star and its neighboring star on the focal plane is calculated by:

$$r^{\left( C \right)} = f{\text{tan}}\theta^{\left( C \right)} ,$$
(6)

where \(f\) is the focal length.

In radial pattern matching, it is necessary to consider the impact of the star spot extraction error, so the bit positions of \({P}^{\left(C\right)}\) are set based on the probability of the single-star radial matching as follows:

$$b_{m}^{\left( C \right)} = 1,{ }s^{*} < m \le t^{*} ,$$
(7)

where the starting and ending positions satisfy the condition of \(\left({s}^{*},{t}^{*}\right)= {\text{argmin}}_{\left(s,t\right)}\left\{t-s\left|p\left(s,t\right)\right.\ge {T}_{p},t,s\in {\varvec{N}}\right\}\), and the probability threshold of the single-star radial matching is \({T}_{p}\); in this study, \({T}_{p}\) is set to 0.9 based on experience; the probability of the single-star radial matching is expressed by \(p\left(s,t\right)= \frac{1}{2\sqrt{\pi }{\sigma }_{S}}{\int }_{s{\Delta }_{PR}}^{t{\Delta }_{PR}}\text{exp}\left(-\frac{{\left(x-{r}^{\left(C\right)}\right)}^{2}}{4{\sigma }_{S}^{2}}\right)dx\); the quantizing interval of a radial pattern is \({\Delta }_{PR}\); the star spot extraction error is denoted by \({\sigma }_{S}\).

Finally, a number of neighboring stars (no more than \({N}_{PS}\)) are processed in order from near to far using the aforementioned method, and the radial pattern \({P}^{\left(C\right)}\) of the guide star is obtained.

2.2 Radial pattern calculation of star spots

To be consistent with the construction of the radial pattern table of a guide star, the star spot to be identified is shifted toward the main point of the detector, which is equivalent to rotating the light corresponding to the star spot toward the optical axis direction of a new camera coordinate system. Then, the image coordinates of the neighboring star in the new camera coordinate system are obtained and denoted by \(\left(x,y\right)\). In the new camera coordinate system, the distance between the neighboring star spot and the main star spot to be identified on the focal plane is calculated by:

$$r^{\left( S \right)} = \sqrt {x^{2} + y^{2} } .$$
(8)

The neighboring star spot falls within the \(\lceil\frac{{r}^{\left(S\right)}}{{\Delta }_{PR}}\rceil\)th pattern circular band of the main star spot to be identified.

Finally, a number of neighboring stars (no more than \({N}_{PS}\)) are processed in sequence from near to far using the above-presented method, and the radial pattern \({P}^{\left(S\right)}=\left({b}_{1}^{\left(S\right)},{b}_{2}^{\left(S\right)},\dots ,{b}_{{N}_{PR}}^{\left(S\right)}\right)\) of the main star spot to be identified is obtained, where \({b}_{m}^{\left(S\right)}= 1\) indicates that there are neighboring stars in the \(m\) th pattern circular band.

2.3 Minimum star map identification

Assume that there are a total of \({N}_{C}\) guide stars, the radial pattern of the \(n\) th guide star is expressed as \({P}_{n}^{\left(C\right)}=\left\{{b}_{nm}^{\left(C\right)}|1\le m\le {N}_{PR}\right\}\), and the radial pattern of the \(i\) th star spot in the image is defined as \({P}_{i}^{\left(S\right)}=\left\{{b}_{im}^{\left(S\right)}|1\le m\le {N}_{PR}\right\}\); then, the label of the guide star matches with the maximum value is given by:

$$i^{*} = {\text{argmax}}_{n} \left\{ {\mathop \sum \limits_{m} b_{nm}^{\left( C \right)} \land b_{im}^{\left( S \right)} } \right\} = {\text{argmax}}_{n} \left\{ {\mathop \sum \limits_{{b_{im}^{\left( S \right)} = 1}} b_{nm}^{\left( C \right)} } \right\},$$
(9)

where the number of radial pattern vectors with a value of one (i.e., \(\left|\left\{m\left|{b}_{im}^{\left(S\right)}=1\right.\right\}\right|\)) is much smaller than \({N}_{PR}\). The latter part of Eq. (9) has higher computational efficiency than the former part, so this paper adopts the latter part. When there are multiple maximum value matching results in Eq. (9), only one of them is selected randomly.

It is assumed that the directional vector of the \(i\) th star in the camera coordinate system is \({{\varvec{w}}}_{i}\), and the directional vector of the guide star corresponding to the \(i\) th star in the celestial sphere coordinate system is \({{\varvec{v}}}_{{i}^{*}}\). Label \({j}^{*}\) of the guide star matched with the maximum value corresponding to the \(j\) th star is obtained using the same method. The all-sky star map identification is realized through cross-validation of angular distance, as illustrated in Fig. 1. The angular distance of the star pair in the camera coordinate system, and the angular distance of the star pair in the celestial sphere coordinate system, are calculated separately. If \(f\left|{\theta }_{ij}^{\left(S\right)}-{\theta }_{{i}^{*}{j}^{*}}^{\left(C\right)}\right|<3\sqrt{2}{\sigma }_{S}\), it is considered that star pair matching is completed, and thus the star map identification is also completed, so the attitude calculation can be performed; otherwise, another star pair is selected for matching.

Fig. 1
figure 1

The schematic diagram of the minimum star map identification process

3 Star map identification steps

The star map identification algorithm consists of six steps, which are described in the following. The input data of the algorithm include an image acquired by a star sensor, the original star catalog, the star sensor’s detection limit magnitude, FOV, a star spot extraction error \({\sigma }_{S}\), a radial pattern radius \({R}_{P}\), and a quantizing grade \({N}_{PR}\). The algorithm’s output is the star map identification result.

The specific steps of the star map identification algorithm are as follows:

Step 1: Generate a database;

Step 2: Extract star spots from the star image captured by a star sensor. The number of star spots within the radial radius \({R}_{P}\) of each star spot is calculated, and the star spots are sorted in descending order of the above star spot quantity to obtain the set of star spot coordinates \(\left\{\left({x}_{i},{y}_{i}\right)\right\}\); namely, the star spots with a high matching probability are put at the front positions;

Step 3: Use the minimum star map identification to perform star pair matching; if one star pair is matched successfully, proceed to Step 4; if no star pair is matched after all the star pairs have been traversed, then the star map identification has failed, so go to Step 6;

Step 4: Use the singular value decomposition algorithm [24] to calculate the attitude matrix based on the star pair matching result, estimate the optical axis pointing \(\left({\alpha }_{o},{\delta }_{o}\right)\) based on the attitude matrix, and obtain all guide stars in the FOV based on the guide star region index table and guide star catalog. Generate a reference star map based on the celestial sphere coordinates of the guide star and the attitude matrix. The estimated coordinates of the star are \(\left({\widehat{x}}_{j},{\widehat{y}}_{j}\right)\). If \(\sqrt{{\left({x}_{i}-{\widehat{x}}_{j}\right)}^{2}+{\left({y}_{i}-{\widehat{y}}_{j}\right)}^{2}}<5{\sigma }_{S}\), the matching between the \(i\) th star spot and the \(j\) th guide star is successful. Traverse matching all the star spots in the FOV using the above method;

Step 5: Generate a reference star map again based on the multi-star matching result obtained in Step 4 and use the same method in Step 4 to traverse matching all the star spots in the FOV;

Step 6: Output the matching result.

In the above steps, the database generation in Step 1 is accomplished offline, so it does not contribute to the star map identification time. The star spot extraction and image transmission in Step 2 are generally performed simultaneously; Step 2 can be further divided into several tasks, including image segmentation, star spots centroid calculation, and background parameter prediction. Step 3 is the maximum radial pattern matching for the minimum star map identification proposed in this paper. If the angular distance of the star pair is too small, the task of generating an effective reference star map cannot be accomplished in Step 4, so in this study, the minimum angular distance of the star pair is set to 1/10 of the FOV based on experience. In Steps 4 and 5, all guide stars in the FOV are identified to improve the attitude measurement accuracy of the star sensor.

4 Simulations and analysis

A series of simulation experiments were conducted using MATLAB software on a computer with an i7-4790 CPU and an 8 GB memory. Considering the type, performance, and characteristics of the proposed algorithm, this study mainly evaluated two triangle star map identification algorithms based on radial patterns [20, 21] for comparison. Also, the proposed algorithm’s results were compared with the experimental results achieved by the recent STOA models to analyze its performance further.

Based on the fact whether the angular distance testing was performed before or after radial pattern matching, the two algorithms were denoted by AD-TRI [20] and TRI-AD [21].

In [20], the AD-TRI algorithm included the following steps:

  1. 1.

    Select the brightest \({N}_{PS}=10\) star spots in the FOV to generate radial features of star spots;

  2. 2.

    Select three star spots belonging to the brightest \({N}_{PS}/2\) star spots to form a triangle;

  3. 3.

    Match two star pairs of the triangle with the angle distance table and then perform radial feature matching to eliminate redundant matching; the radial feature matching threshold is set to \(\beta =6\), that is, the threshold is set to \(\beta /{N}_{PS}=0.60\) times the number of neighboring stars involved in the radial pattern calculation;

  4. 4.

    Use the angular distance value of the third star pair to validate the triangle;

  5. 5.

    If cross-validation of the triangle is successful, the triangle identification is considered successful, and the algorithm terminates; if cross-validation fails and all triangles are traversed, the triangle identification also fails, and the algorithm terminates; otherwise, the algorithm proceeds to Step 2.

The original AD-TRI has the following issues:

  1. 1.

    The selection of the number of neighboring stars involved in the calculation of radial pattern \({N}_{PS}\) and the number of stars required to form angle distance triangle \({N}_{PS}/2\) has not been analyzed;

  2. 2.

    The radial feature matching threshold has not been determined;

  3. 3.

    After the triangle identification was judged as successful, it has not been explained how to process the other star spots.

In [21], the TRI-AD algorithm contained the following steps:

  1. 1.

    Select all star spots in the FOV to generate radial features of star spots;

  2. 2.

    Match every star spot with the corresponding radial feature; then, perform angle distance triangle matching to eliminate redundant matching, where the radial feature matching threshold is set to 0.75 times the radial pattern quantizing grade.

The original TRI-AD faces the following issues:

  1. 1.

    The radial feature matching threshold has not been analyzed;

  2. 2.

    Each star point underwent radial feature matching, resulting in high algorithm complexity.

To compare the performance levels of the experimental algorithms fairly, this study improved the AD-TRI and the TRI-AD in the following aspects:

  1. 1.

    To reduce mismatching, all star spots in the FOV were selected to generate radial features of star spots;

  2. 2.

    To improve identification speed, the radial feature matching used the maximum that was different from the threshold;

  3. 3.

    To reduce algorithm complexity and improve attitude measurement accuracy, after a triangle recognition, all star spots in the FOV were identified in Steps 4 and 5 of Sect. 3;

  4. 4.

    The optimal values of other parameters were determined through full-sky simulation matching and used in subsequent simulations.

The star sensor parameters were set as follows: the FOV was 15° × 15°, the resolution was 1,024 × 1,024 pixel, the main point’ coordinates were set to (512, 512) pixel, and the limiting magnitude was 6.0 Mv. A total of 181,855 stars brighter than 9.0 Mv were selected from J2000 SAO to form the original catalog. Among the selected stars, there were 5,103 guide stars brighter than 6.0 Mv. After the star pairs with an angular distance of less than five pixels were merged, the number of guide stars changed to 4970.

Two types of magnitude errors, namely deviation and variance, were used to evaluate the star sensor and star catalog; the magnitude deviation of \({b}_{Mv}\) of -0.5–0.5 Mv, and the mean square error of magnitude of \({\sigma }_{Mv}\) of 0–1.0Mv were added to the star spot. To simulate the impact of the detector noise and to test the robustness of the star map identification algorithms, the star spot extraction error \({\sigma }_{S}=\sqrt{E\left[{\left(x-\overline{x }\right)}^{2}+{\left(y-\overline{y }\right)}^{2}\right]}\) was set to: 0.1–4.0 pixel, where \(\left(x,y\right)\) and \(\left(\overline{x },\overline{y }\right)\) denote the star spot extraction coordinates and theoretical coordinates, respectively; the corresponding pointing error \(\frac{{\sigma }_{S}}{f}\) was 5.3″–211″. Considering the rotational symmetry of the FOV of the star sensor, the attitude angle range was set to [-90°, + 90°] × [0, 360°] × [0, 90°]. In addition, considering the calculation time, one star map was generated every 2° × 2° × 2°, resulting in a total of 90 × 180 × 45 = 729,000 star maps. To evaluate the performance of the star map identification algorithms, the identification probability was defined as follows:

$$p_{D} = \frac{{\mathop \sum \nolimits_{i} {\text{The number of correctly}} - {\text{identified star spots in the }}i{\text{th star map}}}}{{\mathop \sum \nolimits_{i} {\text{ The number of normal star spots in the }}i{\text{th star map}}}},$$
(10)

and the identification time was calculated by:

$$t_{D} = \frac{{\mathop \sum \nolimits_{i} {\text{ The identification time of the }}i{\text{th star map}}}}{{\text{The total number of star map}}}.$$
(11)

It should be noted that the normal star spots should have the corresponding guide stars in the guide star database.

First, optimal parameters of the three algorithms were confirmed through simulation. The parameters of the radial pattern generation process included the upper limit of the number of neighboring stars involved in calculating the radial pattern denoted by \({N}_{PS}\), the radial pattern radius \({R}_{P}\), the quantizing interval \({\Delta }_{PR}\), and the quantizing grade \({N}_{PR}\). Only two of the last three parameters of the radial pattern were independent. First, it was examined how different combinations of \({N}_{PS}\), \({R}_{P}\), and \({N}_{PR}\) affected the performance levels of the three experimental algorithms. In the experiments, the parameters were set as: \({N}_{PS}=4{-}40\); \({R}_{P}=512\), \(512\sqrt{2}\), and \(\text{1,024}\) pixel; \({N}_{PR}=128, 256, 512,\text{ and 1,024}\); the other parameters were set to their typical values: \({\sigma }_{S}=0.5\text{ pixel}\), \({b}_{Mv }=0\), and \({\sigma }_{Mv}= 0.5 \text{Mv}\). When the other parameters were fixed, increasing the upper limit \({N}_{PS}\) of the number of guide stars in the radial region did not always provide a good result. This was because the guide star was not always at the center of the FOV. The guide stars outside the FOV could interfere with the star map identification, thus increasing the \({N}_{PS}\) value, indicating that more guide stars outside the FOV would participate in radial pattern matching. The overall performance of the proposed algorithms regarding the identification probability and calculation time is shown in Fig. 2, where it can be seen that the combination of \({N}_{PS}=20\), \({R}_{P}=512\sqrt{2}\) pixel, and \({N}_{PR}=256\) denoted the optimal setting for the proposed algorithms. Furthermore, the optimal parameter settings were obtained for the comparison algorithms AD-TRI and TRI-AD by repeating the above-presented simulation experiments.

Fig. 2
figure 2

The performance of the proposed algorithm under the different combinations of \({N}_{PS}\), \({R}_{P}\), and \({N}_{PR}\); a identification probability; b local amplification of identification probability; c identification time. The black, green, blue, and red lines represented \({N}_{PR}\)=128, 256, 512, and 1024, and the cross, circle, and asterisk markers represented \({R}_{P}=512\), \(512\sqrt{2}\), and \(1024\) pixel, respectively

Second, under the optimal parameter settings, the guide star pattern tables of both the proposed algorithm and the TRI-AD algorithm had a size of 156 KB; however, the guide star pattern table of the AD-TRI algorithm had a larger size of 2.79 MB, which was because it contained 345,611 star pairs in addition to radial patterns. The three algorithms had a 39 KB guide star catalog, and their region index tables were smaller than 1 KB, which could be ignored. The result analysis showed that for the AD-TRI algorithm, it is necessary to screen the guide stars and star pair angular distances to reduce the database size. Moreover, even if the database of the AD-TRI algorithm was optimized using the method proposed in Ref.20, its size would still be larger than 600 KB, which would increase the identification time and decline the identification probability due to the missing of some guide stars.

Further, typical models, including triangle identification with a hash map [6], angular distance matching score transfer [10], radial and cyclic features of a star pattern [17], and radial triangle mapping matrix [22] were used for data size comparison with the proposed method. The data size of the radial and cyclic features of the star pattern was 1.5 times of the proposed method; also, since the star feature exceeded one dimension or directly used angular distance, the database of the others was about 10 times larger than the radial feature database, as presented in Table 1.

Table 1 Database comparison of different star identification algorithms

Finally, to further demonstrate the performance of the proposed algorithm, two tests were conducted, of which one simulated the scenario of the magnitude deviation of the star sensor under \({b}_{Mv}=\)-0.5–0.5 Mv and \({\sigma }_{Mv}=0\); the other simulated the scenario of the star catalog error under \({\sigma }_{Mv}=\)0–1.0 Mv and \({b}_{Mv}=0\). In the two test scenarios, the proportion of the false and missing stars in the FOV to the theoretically recognizable guide stars in the FOV was calculated, as shown in Fig. 3.

Fig. 3
figure 3

The proportion of the missing and false star spots to the theoretically recognizable guide stars in the FOV under: a magnitude deviation of \({b}_{Mv}=\)−0.5–0.5 Mv and mean square error of a magnitude \({\sigma }_{Mv}=0\); b magnitude deviation of \({b}_{Mv}=\) 0 and mean square error with a magnitude of \({\sigma }_{Mv}=0{-}1.0\, {\text{Mv}}\)

When the star spot extraction error, magnitude deviation, or mean square error of magnitude increased, all three algorithms experienced reduced identification probability and increased identification time, as presented in Figs. 4 and 5.

Fig.4
figure 4

Performance comparison results under the parameter settings of radial patterns of \({N}_{PS}= 20\), \({R}_{P}=512\sqrt{2}\) pixel, \({N}_{PR}=256\), star spot extraction error \({\sigma }_{S}\)= 0.1–4.0 pixel, magnitude deviation of the star sensor \({b}_{Mv}=\) −0.5–0.5Mv, and \({\sigma }_{Mv}=0\): ac AD-TRI algorithm; df TRI-AD algorithm; gi the proposed algorithm a, d, g identification probability; be, h local amplification of identification probability; c, f, i identification time

Fig.5
figure 5

Performance comparison results under the parameter settings of radial patterns of \({N}_{PS}= 20\), \({R}_{P}=512\sqrt{2}\) pixel, \({N}_{PR}=256\), star spot extraction error \({\sigma }_{S}\)= 0.1–4.0 pixel, star catalog error \({\sigma }_{Mv}=\) 0–1.0 Mv, and \({\sigma }_{Mv}=0\): ac AD-TRI algorithm; df TRI-AD algorithm; gi the proposed algorithm; a, d, g identification probability; b, e, h local amplification of identification probability; c, f, i identification time

The AD-TRI algorithm first screened the guide stars based on the angular distance, then performed the radial pattern matching, and finally obtained the initial star map matching result through cross-validation based on the angular distance of two star pairs in a triangle. The false and missing star spots could not be filtered out by the single-star pair matching method. When there were a large number of false and missing star spots, the identification steps of the AD-TRI algorithm were very time-consuming. Both the TRI-AD algorithm and the proposed algorithm could screen false and missing star spots using the single-star pair matching method and achieved significantly higher computational efficiency than the AD-TRI algorithm. Furthermore, the proposed algorithm needed to identify only one star pair in the coarse matching stage, and this was the smallest identification star map required by the star sensor for obtaining the attitude value. When there were a large number of false and missing star spots, the proposed algorithm needed to identify fewer star spots compared to the three star spots that needed to be identified by the AD-TRI and TRI-AD algorithms. Also, the proposed algorithm had higher computational efficiency and shorter identification time than the other two algorithms, as presented in Figs. 4 and 5. On the whole, the proposed algorithm outperformed the TRI-AD algorithm by approximately 20% in computational efficiency.

When there were a small number of false and missing star spots, and the star spot extraction error was small (\({\sigma }_{S}<1.0\text{ pixel})\), the number of radial pattern matching times represented one of the key factors defining the computational efficiency. As the AD-TRI algorithm first screened the guide stars based on the angular distance, it required fewer matching times, so its computational efficiency was higher than those of the proposed algorithm and TRI-AD algorithm, as presented in Table 2.

Table 2 Performance comparison results of the three algorithms under the typical settings of \({\sigma }_{S}\), \({b}_{Mv}\), and \({\sigma }_{Mv}\) parameters

However, the improvement in computational efficiency was achieved at the cost of the identification probability. When there were a large number of false or missing star spots in the FOV, the detection probability of the AD-TRI algorithm was significantly lower than those of the TRI-AD algorithm and the proposed algorithm. Therefore, the AD-TRI algorithm was not a good choice for star map identification.

When there were a small number of false and missing star spots, and the star spot extraction error was small (\({\sigma }_{S}<1.0\text{ pixel})\), there was no significant difference in the identification probability between the TRI-AD algorithm and the proposed algorithm. When there were a large number of false star spots (more than 80%) or the star spot extraction error was large (\({\sigma }_{S}>1.0\text{ pixel})\), the identification probability of the TRI-AD algorithm was higher than that of the proposed algorithm. In the other cases, the identification probability of the proposed algorithm was higher than that of the TRI-AD algorithm. The analysis results indicated that the TRI-AD algorithm needed to perform radial pattern matching for one more star spot compared to the proposed algorithm. When there were a large number of false star spots or star spot extraction errors, the triangle identification algorithm had a better suppression effect on false alarms compared to the star pair identification algorithm. However, in other circumstances, suppressing false alarms was not the primary concern in the star map identification. It was more challenging to identify a triangle than the star pairs, which was verified by the simulation results. When \({b}_{Mv}=\)-0.5, the identification probability of the TRI-AD algorithm was lower than that of the proposed algorithm.

In general, the proposed algorithm had higher computational efficiency and identification probability than the AD-TRI and TRI-AD algorithms, and its database size was on a par with that of the TRI-AD algorithm; namely, a database of 5,000 guide stars used by the proposed algorithm was less than 200 KB, which was significantly smaller than that of the AD-TRI algorithm.

In special situations, where there were a large number of false star spots (more than 80%) or relatively large star spot extraction errors (\({\sigma }_{S}>1.0\text{ pixel})\) for poorly photometric and intrinsic parameters-calibrated star sensors, reducing computational complexity while maintaining high detection probability has been the main challenge in the star map identification task. Some recent SOTA models [10, 17, 22] could maintain a surprising detection probability of over 95%. Comparing these SOTA models to the proposed algorithm, it could be concluded that sacrificing storage space to increase the dimensionality of recognition features while maintaining the matching accuracy and computational complexity would be a good choice.

5 Conclusions

This paper proposes the all-sky star map identification algorithm consisting of three main steps. First, a binary radial pattern table is constructed offline. Then, the maximum value matching of the radial pattern is performed to identify the star spot, and the star pairs obtained by the radial pattern matching undergo the coarse matching process involving angular distance cross-validation. Finally, a reference star map is constructed based on the identified star pairs, thus completing the matching of all the star spots in the FOV. The proposed algorithm identifies only star pairs in the coarse matching stage, and the number of stars to be identified represents the minimum number of stars required to accomplish the star map identification, so it is a minimum star map identification. Based on the results, even when there is a false star in a star spot pair, the proposed algorithm needs to identify only one star spot one more time. The application of radial pattern maximum value matching avoids the problem of matching threshold selection, which simplifies the identification procedure, thus reducing algorithm complexity. The pattern table contains only radial patterns and thus requires a small database. Finally, using the angular distance for cross-validation renders radial pattern matching insensitive to missing and false star spots.

Future work could address the following issues. First, when false and missing star spots account for more than 50% of all guide stars, or star spot extraction error exceeds 1.0 pixel, it is extremely challenging to achieve high identification probability, low algorithm complexity, and small databases simultaneously. Second, once a star sensor’s parameters are determined, it should be defined how to determine the theoretical limits for identification probability, algorithm complexity, and database size. Finally, star map identification algorithms could be further analyzed, paying special attention to the two mentioned issues.

Availability of data and materials

All code, data, and materials included in this research are available upon request by contact with the corresponding author.

Abbreviations

SOTA:

State of the art

FOV:

Field of view

CPU:

Central processing unit

AD-TRI:

Angular distance testing before radial pattern triangle matching

TRI-AD:

Angular distance testing after radial pattern triangle matching

References

  1. S. Zhang, F. Xing, T. Sun, Z. You, M. Wei, Novel approach to improve the attitude update rate of a star tracker. Opt. Express 26(5), 5164–5181 (2018)

    Article  Google Scholar 

  2. T.J. Chin, S. Bagchi, A. Eriksson, A. van Schaik, Star tracking using an event camera, in IEEE Conference on Computer Vision and Pattern Recognition (Long Beach, America, 2019), pp. 1646–1655

  3. J. Yan, J. Jiang, G. Zhang, Modeling of intensified high dynamic star tracker. Opt. Express 25(2), 927–948 (2017)

    Article  Google Scholar 

  4. G. Zhang, Star Identification: Methods, Techniques and Algorithms, 1st edn. (Spring, Berlin, Heidelberg, 2017)

    Book  Google Scholar 

  5. C.C. Liebe, Pattern recognition of star constellations for spacecraft applications. IEEE Aerosp. Electron. Syst. Mag. 8(1), 31–39 (1993)

    Article  Google Scholar 

  6. G. Wang, J. Li, X. Wei, Star identification based on hash map. IEEE Sensors J. 18(4), 1591–1599 (2018)

    Article  MathSciNet  Google Scholar 

  7. D. Mortari, M.A. Samaan, C.S. Bruccoleri, J.L. Junkins, The pyramid star identification technique. J. Inst. Navig. 51(3), 171–183 (2004)

    Article  Google Scholar 

  8. C. Leake, D. Arnas, D. Mortari, Non-dimensional star identification. Sensors. 20(9), 1–18 (2020)

    Article  Google Scholar 

  9. M. Zahednamazi, A. Toloei, R. Ghasemi, Different types of star identification algorithms for satellite attitude determination using star sensor. Aerosp. Syst. 4(2021), 315–321 (2021)

    Article  Google Scholar 

  10. Y. Wei, X. Wei, H. Liu, J. Li, A star Identification graph algorithm based on angular distance matching score transfer. IEEE Sensors J. 24(5), 6539–6547 (2024)

    Article  Google Scholar 

  11. D. Arnas, C. Leake, D. Mortari, The n-dimensional k-vector and its application to orthogonal range searching. Appl. Math. Comput. 372, 125010 (2020)

    Article  MathSciNet  Google Scholar 

  12. C. Padgett, K. Kreutz-Delgado, A grid algorithm for autonomous star identification. IEEE Aerosp. Electron. Syst. Mag. 33(1), 202–213 (1997)

    Article  Google Scholar 

  13. H. Lee, H. Bang, Star pattern identification technique by modified grid algorithm. IEEE Aerosp. Electron. Syst. Mag. 43(3), 1112–1116 (2007)

    Article  Google Scholar 

  14. M. Aghaei, H.A. Moghaddam, Grid star identification improvement using optimization approaches. IEEE Aerosp. Electron. Syst. Mag. 52(5), 2080–2090 (2016)

    Article  Google Scholar 

  15. X. Sun, R. Zhang, C. Shi, X. Lin, Star identification algorithm based on dynamic angle matching. Acta Optica Sinica. 41(16), 1–7 (2021)

    Google Scholar 

  16. M.D. Samirbhai, S. Chen, A star pattern recognition technique based on the binary pattern formed from the FFT coefficients, in IEEE International Symposium on Circuits and Systems (Florence, Italy, 2018), pp. 1–5

  17. G. Zhang, X. Wei, J. Jiang, Full-sky autonomous star identification based on radial and cyclic features of star pattern. Image Vis. Comput. 26(7), 891–897 (2008)

    Article  Google Scholar 

  18. J. Li, X. Wei, G. Wang, S. Zhou, Improved grid algorithm based on star pair pattern and two-dimensional angular distances for full-sky star identification. IEEE Access. 8, 1010–1020 (2019)

    Article  Google Scholar 

  19. Q. Fan, X. Zhong, J. Sun, A voting-based star identification algorithm utilizing local and global distribution. Acta Astronaut. 144, 126–135 (2018)

    Article  Google Scholar 

  20. Y. Zhao, X. Wei, G. Wang, J. Li, Real-time star identification using synthetic radial pattern and its hardware implementation. Acta Astronaut. 131, 1–9 (2017)

    Article  Google Scholar 

  21. L. Xianyi, Z. Zhili, Z. Zhaofa, Z. Chang, Modified algorithm of triangle star identification based on radial feature. J Natl Univ Defense Technol 42(6), 42–46 (2020)

    Google Scholar 

  22. J. Du, X. Wei, J. Li, G. Wang, C. Zang, Star identification based on radial triangle mapping matrix. IEEE Sensors J 22(9), 8795–8807 (2022)

    Article  Google Scholar 

  23. H. Jia, J. Yang, X. Li, Minimum variance unbiased subpixel centroid estimation of point image limited by photon shot noise. J. Opt. Soc. Am. A 27(9), 2038–2045 (2010)

    Article  Google Scholar 

  24. F.L. Markley, J.L. Crassidis, Fundamentals of Spacecraft Attitude Determination and Control, 1st edn. (Springer, New York, 2014)

    Book  Google Scholar 

Download references

Acknowledgements

The authors would like to thank their colleagues working with them in the Institute of Optics and Electronics at the Chinese Academy of Sciences. The authors also would like to thank the anonymous reviewers for their constructive comments and suggestions.

Funding

This research was funded by the Youth Innovation Promotion Association of Chinese Academy of Sciences (Grant No.2022381).

Author information

Authors and Affiliations

Authors

Contributions

The authors’ contributions are as follows. JF proposed the idea, programmed the method, and revised the manuscript. QL wrote the first version of the manuscript and performed an in-depth discussion of the related literature. LL provided part of code for the method. HW performed an in-depth discussion of the related literature.

Corresponding author

Correspondence to Jingneng Fu.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Fu, J., Li, Q., Lin, L. et al. Maximum radial pattern matching for minimum star map identification. EURASIP J. Adv. Signal Process. 2024, 83 (2024). https://doi.org/10.1186/s13634-024-01174-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s13634-024-01174-8

Keywords