Representation learning-based star identification method
11288830 · 2022-03-29
Assignee
Inventors
Cpc classification
G06V10/774
PHYSICS
G06F17/18
PHYSICS
International classification
G06F17/18
PHYSICS
Abstract
Disclosed in the present disclosure is a representation learning-based star identification method, which utilizes an end-to-end and representation learning based neural network model RPNet, for fast, efficient, and robust full-sky star identification tasks. The RPNet learns a unique star pattern for each star from a huge amount of random simulated star image samples, then a classification is made on these star patterns learned before. The RPNet comprises two parts: (1) a star pattern generator (SPG) based on a star pattern generation network to generate unique star patterns for the star image samples; (2) a star pattern classifier (SPC) to classify the unique star patterns generated on the front end. And a weight search verification algorithm is also proposed in the invention for filtering and verification of main stars of the GRSs identified by the RPNet, which further improves tremendously the identification ability for a single star image.
Claims
1. A representation learning-based star identification method performed by a computing device, comprising: screening an original star catalog to obtain guiding reference stars (GRSs) available for identification by a star identification network (RPNet); constructing an initial input for the RPNet according to the GRS and its guiding neighbor stars (GNSs); constructing an end-to-end and representation learning based neural network model RPNet for fast, efficient, and robust full-sky star identification tasks, wherein the RPNet learns a unique star pattern for each star from a huge amount of random simulated star image samples, then a classification is made on these star patterns learned before, wherein the RPNet comprises two parts: a star pattern generator (SPG) based on a star pattern generation network to generate unique star patterns for the star image samples; and a star pattern classifier (SPC) to classify the unique star patterns generated on the front end; utilizing a weight searching verification algorithm for filtering and verification of the GRSs identified by the RPNet so as to improve identification rate for the GNSs; and inputting real star images into the RPNet, and outputting identification results by the RPNet, wherein in the weight searching verification algorithm, based on characteristics of RPNet outputting probability and different distances between the main stars and an image center, for each star image, three main stars nearest to the image center are chosen to form the initial input of the RPNet for identification; for each chosen main star, the RPNet outputs the probability that the chosen main star belongs to each star in an nSAO star catalog, then chooses three of the most likely stars as candidate stars for the GRS; a position weight and a probability weight are assigned to each candidate star, weight scores of candidate star pairs in a field of view are calculated according to the position weights and the probability weights of the candidate stars, and the GRS with higher confidence ratio is screened out, for star identification, by choosing a candidate star pair with a highest weight score, wherein the nSAO star catalog is obtained by a screening process performed on a Smithsonian Astrophysical Observatory (SAO) star catalog, and during the screening process, a limiting magnitude that can be detected by a star sensor is set to 6.0 Mv, stars in dense areas are deleted, one of double stars whose angular distance between each other is too close is retained, and only right ascension and declination and brightness of GRSs are kept.
2. The representation learning-based star identification method according to claim 1, wherein the procedure for constructing the initial input for the RPNet comprises: based on distributions between the GRS and its GNSs as well as between the GNSs, choosing a number of m GNSs nearest to the GRS within a pattern radius, calculating angular distances between the GRS and the m GNSs and pair-wise angular distances of the m GNSs respectively, and concatenating the two groups of angular distances subjected to discretization to form a one-dimensional vector as the initial input of the RPNet.
3. The representation learning-based star identification method according to claim 1, wherein the RPNet comprises the SPG and the SPC, wherein the SPG includes an encoder part of the pattern generation network, and the SPC includes a typical feed-forward neural network; and the pattern generation network is adapted from a denoising auto encoder by adding noise into clean simulated star images so as to construct the discretized noise input; adding a further full connection layer into a traditional encoder-decoder structure that has only one full connection layer, so that the pattern generation network forms a two-layer encoding-decoding structure; and using a sparse encoding strategy to map the initial input into a high-dimensional feature space.
4. The representation learning-based star identification method according to claim 1, wherein training of the pattern generation network and the pattern classification network is divided into two stages, after finishing the training of the pattern generation network, the pattern classification network is trained according to star patterns and pattern labels generated by the trained pattern generation network.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DETAILED DESCRIPTION
(13) The invention is described in further detail with reference to the drawings and embodiments below.
(14) The present disclosure proposes an end-to-end and representation learning based neural network model RPNet, for fast, efficient, and robust full-sky star identification tasks. The RPNet learns a unique star pattern R-Pattern for each star from a huge amount of random simulated star image samples, then a classification is made on these star patterns learned before. The RPNet includes two parts: (1) a star pattern generator (SPG) based on a star pattern generation network to generate unique star patterns for the star image samples; (2) a star pattern classifier (SPC) to classify the unique star patterns generated on the front end. And a weight searching verification algorithm is also proposed in the invention for filtering and verification of main stars of the GRSs identified by the RPNet, which further improves tremendously the identification ability for a single star image. The flow chart of the entire algorithm is shown in
(15) For the star identification, the size of the star catalog influences directly the efficiency and accuracy of the star identification. Thus a screening process for the original star catalog is imperative to obtain the GRSs that can be identified by the RPNet network. The Smithsonian Astrophysical Observatory Star Catalog (SAO) was chosen, a limiting magnitude that can be detected by a star sensor is set to 6.0 Mv, some stars in dense areas are deleted, one of the double stars whose angular distance between each other is too close is retained, and finally, only right ascension and declination, brightness of GRSs, etc. are kept. Through the filtering process above, a total of 5,045 GRSs are obtained, whose star indices are renumbered from 0 to 5,044, and the navigation star catalog formed by these GRSs is called the nSAO star catalog. The RPNet generates patterns of GRSs via the training of a pattern generation network, though it does not need to manually design the pattern in precision, the input still should contain sufficient information to guarantee the pattern generation network to produce a well discriminative unique pattern. So, it is quite critical to construct the input for the RPNet network according to the information of the GRS and its GNSs within the pattern radius.
(16) Considering the fact that various types of noises are generated from the image level, the information of the GRS and GNSs is hence transformed from the celestial coordinate system into the image coordinate system of the star sensor. Assuming that the position of a GRS denoted by S in the celestial coordinate system is (a.sub.s, β.sub.s) (with a.sub.s as right ascension and β.sub.s as declination), let the boresight pointing of the star sensor be (a.sub.s, β.sub.s, ϕ.sub.s), where ϕ.sub.s is the roll angle whose value has no effect on the relative relationship between S and its GNSs, therefore it can be set to a random value in the range [−2π, 2π]. For another star N whose coordinates in the celestial coordinate system are (a.sub.n, β.sub.n), the imaging process on the photosensitive surface can be represented via:
(17)
(18) where s is the scale factor other than 0, (X.sub.n, Y.sub.n) is the projected position of N in the image coordinate system, f is the optical focus, (u.sub.o, v.sub.o) is the coordinates of the main point, and a.sub.11˜a.sub.33 are elements of the transformation matrix from the celestial coordinate system into the image coordinate system of the star sensor. The angular distance d.sub.sn between S and N can be calculated from the image plane coordinates via:
(19)
(20) where N is considered the GNS of S when d.sub.sn is within the pattern radius p. After obtaining all GNSs of S, the initial input construction of the RPNet is shown in the following steps 1 to 4.
(21) In step 1, choose the right ascension and declination of S and a random roll angle as the boresight pointing of the star sensor, project S and its neighboring stars GNSs into the image plane, calculate angular distances between S and its GNSs, and determine the GNSs of S that are within the range of pattern radius p.
(22) In step 2, select m nearest GNSs within the pattern radius p, if the number of GNSs is smaller than m, select all of the GNSs; denote the angular distances between these selected GNSs and S by vector d.sub.sm, and calculate the angular distances between these selected GNSs and denote them by vector d.sub.nn.
(23) In step 3, discrete d.sub.sm, and d.sub.nn, wherein the discretization factors are e and 2e respectively, correspondingly the maximum angular distances in d.sub.sn and d.sub.nn are p and 2p; and the length of two discretized vectors D.sub.sn and D.sub.nn thus obtained are both └p/e┘; for the element with angular distance d.sub.1 from d.sub.sn and the element with angular distance d.sub.2 from d.sub.nn, the discretization process can be formulated by:
id.sub.1=d.sub.1/e,D.sub.sn[id.sub.1]=D.sub.sn[id.sub.1]+1
id.sub.2=d.sub.2/2e,D.sub.nn[id.sub.2]=D.sub.nn[id.sub.2]+1
(24) In step 4, concatenate the D.sub.sn and D.sub.nn to form an one-dimensional vector as the initial input of the RPNet.
(25) The RPNet is composed mainly of two modules: the front end is a SPG based on a pattern generation network; then a star pattern classification network formed by a feed-forward neural network. For the initial input S.sub.ori of a GRS as S, a unique pattern RP.sub.s is generated via the encoding of SPG to S.sub.ori, then the star pattern classification network classifies this unique pattern to gain the probability of each star that S may belong to in the nSAO catalog. The entire structure of the RPNet is shown in
(26) The structures of the RPNet are as follows.
(27) STAR PATTERN GENERATOR:
(28) The SPG consists of two fully connected layers and a single activation function layer; it is the encoder part of a pattern generation network (PGN). The encoder part of a well-trained pattern generation network can encode a unique pattern for the initial input and map the input from the 2└P/e┘ dimension into N-dimensional pattern vector RPs. The high discriminative pattern it generates guarantees the simplicity of the subsequent SPC.
(29) STAR PATTERN CLASSIFIER:
(30) The network is based on the typical feed-forward neural network, and a batch normalization layer is added into this network to gain a more robust performance. And it is used to classify the star patterns generated by the star generation network.
(31) The specific hierarchical structure of the RPNet is shown in Table 1:
(32) TABLE-US-00001 TABLE 1 Architecture of the RPNet. Layer Parameters FC1 Weight 400 × 512 FC2 Weight 512 × 1024 FC3 Weight 1024 × 512 BN Batch normalization, enables the input to allow a distribution of N(0, 1). Relu Activation function, enables the network to have nonlinearity. FC4 Weight 512 × 5045, maps into the space of the nSAO catalog. Softmax Normalize to a probability distribution.
(33) After the Softmax normalization process, the output of the RPNet obeys a probability distribution of
(34)
(35) where K denotes the size of the nSAO catalog and the output probability p.sub.j denotes the predicted probability of the j-th star in the nSAO catalog, which meets the demand
(36)
(37) Both the pattern generation network (PGN) and the pattern classification network (PCN) need to complete learning through training on adequate samples. The pattern generation network requires noise samples and clean samples for training, and the training of a pattern classification network requires patterns generated from a well-trained pattern generation network previously and their corresponding sample labels.
(38) For a GRS named S, a simulated star image I without noise can be generated as described above, and the corresponding clean sample of S can be acquired directly by constructing initial input. For the pattern generation network, types and quantities of noise samples determine the performance of the unique patterns it generates. In theory, the more noise samples it consumes, the higher the accuracy of the identification, however, because they are limited by hardware condition and efficiency in practice, the number of simulation and the samples for training are ultimately limited, thus the noise types chosen and the number of noise samples generated are not infinite. Noise samples are generated by adding different types of noise into the image I, the types of noise and the way they are added are shown in
(39) The details of the generating procedure for the noise samples are described below.
(40) POSITION NOISE SAMPLES:
(41) Position noise corresponds to shifts of stars in image. For all of stars except S in the simulated image I, Gaussian noises of mean of 0 and standard deviation of σx and σy are added into their X and Y coordinates, which is:
pn.sub.x˜N(0,σ.sub.x.sup.2),pn.sub.y˜N(0,σ.sub.x.sup.2;)
(42) Since the simulated star image I is symmetrical, it is capable of setting σx=σy. The range of the standard deviation of noise is from 0.2 pixel to 1.6 pixels, at a step of 0.2 pixel, and ten noise samples are assigned for each level of position noise, thus 80 position noise samples of S are generated in total.
(43) MAGNITUDE NOISE SAMPLES:
(44) Magnitude noise leads to variations in a star's brightness in the image; for stars with magnitudes around the limited detectable magnitude of a sensor, magnitude noise may make it darker, causing it to disappear; or for stars that cannot be detected before, magnitude noise may brighten it to make it appear. Therefore, a 7.0 Mv limited detectable magnitude is set to gain a simulated star image I during the simulation, and magnitude noise is added into each star except S in the image I, then a 6.0 Mv limited detectable magnitude of a sensor is set as the threshold, to obtain S and the GNSs of S within the pattern radius. Star magnitude noise obeys Gaussian distribution of:
mn˜N(0,σ.sup.2),σ∈[0.323,0.484,0.646,0.807,0.969]
(45) For each level of magnitude noise, 16 noise samples are generated, which adds up to 80 noise samples.
(46) MISSING STAR SAMPLES:
(47) Some stars that should have appeared disappear at random with a certain probability, because of optical system imaging noise or circuit noise. For stars except for S in the simulated image I, 1 to 5 stars are dropped randomly to produce 80 missing star samples of S in total.
(48) FALSE STAR SAMPLES:
(49) False stars may be formed by the planet, cosmic dust, background white noise, and even the flame from the tail of an aircraft. The algorithms of angular distance are allergic to false stars; however, the proposed algorithm has good resistance to false stars. The false stars are considered to be distributed uniformly within the image plane, thus one to five false stars are added randomly with a uniform magnitude from 0 Mv to 6 Mv into the area within the pattern radius of S to obtain 80 false star samples in total.
(50) For a GRS, 320 noise samples versus one clean sample are generated. There are 5,045 GRSs in the nSAO catalog in total, therefore, the noise sample database {umlaut over (x)}{umlaut over (X)} contains 5,045*320=1,614,400 samples, and the corresponding labels ÿŸ of {umlaut over (x)}{umlaut over (X)} are indices of noise samples in the nSAO catalog. Similarly, the clean sample database X includes 5,045 samples in total, and the corresponding label set of X is y. The training dataset of RPNet is {{umlaut over (X)}, ÿ; X, y}.
(51) The training of the RPNet can be divided into two stages. In the first stage, the pattern generation network learns from noise and clean samples to gain a star pattern generator that can encode each sample. In the second stage, noise samples are fed into the previously trained star pattern generator to produce unique star patterns R-Pattern for the noise samples. Then, the R-Pattern are classified by a pattern classification network. A schematic block diagram of the RPNet training process is shown in
(52) The pattern generation network is based on the denoising auto encoder (DAE), which accepts corrupted noise samples as input and is trained to predict the initial uncorrupted data as output, and a hidden layer of the network can generate a code representing the input. The detailed architecture and training process of the pattern generation network are shown in
(53) Both the star pattern generator (SPG) and star pattern decoder (SPD) contain two fully connected layers, where the first fully connected layer is followed by a Relu activation function to perform nonlinearity. When creating the initial input of RPNet, the parameters are p=6°, e=0.03°, hence the input dimension of RPNet is 2└p/e┘=400, the detailed parameters of each part of the pattern generation network are listed in Table 2 below.
(54) TABLE-US-00002 TABLE 2 Parameters of each layer of pattern generation network. Input Layer1 Layer2 Output SPG (400,) W.sub.1: 400 × 512 W.sub.2: 512 × 1024 (1024,) b.sub.1: 512 × 1 b.sub.2: 1024 × 1 SPD (1024,) W′.sub.2: 1024 × 512 W′.sub.1: 512 × 400 (400,) b′.sub.2: 512 × 1 b′.sub.1: 400 × 1
(55) The training of pattern generation network adopts MSE loss, which minimizes the mean-squared error of clean input x.sub.0 and reconstructed input x.sub.r:
L(x.sub.0,x.sub.r)=∥x−x.sub.r∥2.
(56) Star pattern classification network in the backend is trained by 10-fold cross-validation strategy to select the best hyper-parameters, and then all samples are then put into training, the loss function of this part is cross-entropy loss:
L(p,y.sub.i)=−log p.sub.yi
(57) where, y.sub.i is the label of the sample and p.sub.yi denotes the probability of the sample the network predicts belongs to y.sub.i. The hyper-parameters of two components of RPNet are listed in Table 3 below.
(58) TABLE-US-00003 TABLE 3 Hyper-parameters of RPNet training Batch Weight Early Lr Epoch size L2 decay Stop PGN.sup.1 0.0001 15 512 0.0001 No No PCN.sup.2 0.001 10 512 0.0001 Yes Yes
(59) For pattern-based star identification algorithms, recognition of a single star image can be simplified to identify the GRS closest to the image center, because its pattern is the most complete which contains most GNSs within the pattern radius. Once the specific GRS is identified, its GNSs can be identified easily. However, the wrong identification of the GRS will result in the failure of the star image identification or it will take a huge amount of verification for trial and error, and then re-identify another GRS for recognition. Based on the characteristic of outputting probabilities of the neural network, three stars nearest to the image plane center are chosen, and according to their distances away from the center and the probabilities of their candidate stars to perform a weight searching verification, which increases tremendously the confidence ratio of the identified GRS and further improves the identification rate for GNSs in the pattern cluster. That is, the identification rate and processing efficiency for a single star image are increased significantly. The schematic diagram of the algorithm is shown in
(60) Suppose there are three stars closest to the image center c as S.sub.1, S.sub.2, and S.sub.3, the distances meet the following relationship:
S.sub.1c<S.sub.2C<S.sub.3c
(61) The initial inputs constructed by S.sub.1, S.sub.2, and S.sub.3 are fed into the RPNet for prediction, for these three stars, the RPNet will predict the probability of each star in the star catalog, then choose three of the most likely stars as candidate stars. Take S.sub.1 for example: the corresponding probabilities of its candidate stars S.sub.11, S.sub.12, and S.sub.13 outputted by RPNet are p.sub.11, p.sub.12, and p.sub.13, respectively, which satisfy the following formula:
p.sub.11>p.sub.12>p.sub.13> . . . ,
(62) The position weights po.sub.1, po.sub.2 and po.sub.3 are assigned to candidate stars based on the distance from the near to the far; and the probability weight pr.sub.1, pr.sub.2, and pr.sub.3 are assigned to candidate stars based on the probabilities from the large to the small. Two groups of weights meet the following relationship:
(63)
(64) Two stars are selected randomly from S1, S2, and S3, and then the candidate stars of these two stars are chosen randomly and denoted by S.sub.ij and S.sub.kl, where i, j, k, l ∈{1,2,3} and i≠k, the total number of candidate star pairs formed are C.sub.3.sup.2.Math.C.sub.3.sup.1.Math.C.sub.3.sup.2=27. Assume the ascension and declination of S.sub.ij and S.sub.kl are (α.sub.1, β.sub.1) and (α.sub.2, β.sub.2) in the star catalog respectively. The angular distance between two candidate stars are as follows:
d.sub.ijkl=arccos[cos(β.sub.1).Math.cos(β.sub.2).Math.cos(α.sub.1−α.sub.2)+sin(β.sub.1).Math.sin(β.sub.2)].
(65) If d.sub.ijkl is beyond the maximum angular distance of field of view (FOV), it indicates the chosen candidate star pair is wrong. Otherwise, calculate the score of the qualified candidate star pair based on the following equation:
W.sub.Sij.Math.Skl=po.sub.i.Math.pr.sub.j.Math.p.sub.ij+po.sub.k.Math.pr.sub.l.Math.p.sub.kl.
(66) Finally, the candidate star pair with the highest score is chosen as the most confident stars for GRSs, which is the basis for star identification. That is
(S.sub.ij,S.sub.lk)=arg max(W.sub.Sij.Math.Skl)
Embodiments
(67) The star identification method in the invention has a remarkable tolerance for position noise, star magnitude noise, false star and missing star. A total of 323 real star images downloaded from the Chinese civilian satellite ZY-3 are identified in the star image to verify the performance in a real scene. And only five images are failed to be identified because the stars in the star image are generally dark and the star centroids positioning algorithm is with low accuracy, resulting many stars in these images being too dim to be extracted. The present disclosure achieves a 98.45% identification rate. The recognition results of one real star image are shown in
(68) In order to compare the performance of the present disclosure and the traditional method under the conditions of different noise, a series of simulation tests are performed on a PC, and the details of the test are as following:
(69) (1) The performances of the algorithms towards different position noises. In the same way above for adding position noise, for each noise level with a mean of 0 and a standard deviation of 0.2 to 1.6 pixels, 10,000 simulated star images are generated randomly as a test data set. The performance of the algorithm in this test data set is shown in
(70) The identification rate of RPNet is obviously near 100% and almost has no attenuation when the standard deviation of noise is less than 1 pixel. By contrast, the identification rate of RPNet is steadily 1% higher than the other two algorithms, indicating that the RPNet has a considerable robust performance towards tiny deformation. When the position noise continues to increase, the unified redundant pattern algorithm has a cliff fall in identification rate, and the grid algorithm of identification rate also decreases, however, the identification rate of the RPNet is still beyond 94% when the position noise increases to 1.6 pixels, which still outperforms the other two algorithms.
(71) (2) The performances of the algorithms towards different star magnitude noises. The distribution of the magnitude noise also obeys a Gaussian distribution with a mean from 0 and a standard deviation of σ, and for each level of magnitude noise with a standard deviation ranging from 0 to 1 Mv, 10000 noise images are produced as a test set.
(72) The identification rate of the RPNet drops from 99.90% to merely 98.11% when the magnitude noise increases from 0.323 Mv to 0.969 Mv. By contrast, the unified redundant pattern algorithm undergoes a large decline from 99.29% to 86.17%, while the grid algorithm falls from 99.70% to 90.80% in the same noise condition. Both of algorithms are decreased severely when the noise is greater than 0.5 Mv, but the performance of the RPNet remains favorable. And the reasons for this huge gap between the RPNet and the other two algorithms may be their different way of generating patterns, the pattern generated doesn't involve any star magnitude information, but both of the other two algorithms use brightness information to some extent during the construction of patterns.
(73) (3) The performances of the algorithms towards different number of the false stars. The coordinates of false stars X and Y are distributed uniformly within the image plane, that is X˜U (0, Width), U (0, Height); and the magnitudes of false stars are distributed uniformly from 0 Mv to 6 Mv. The noise level of false stars is dependent on the percentage of false stars, for a randomly simulated star image without any noise, if the number of real star N.sub.t in the image is p, then the number of false star N.sub.f to be added can be calculated by:
(74)
(75) For each different percentage of false stars, 10,000 star images after adding false stars are produced as test set. The performances of the three algorithms are shown in
(76) The performance of the RPNet is the best when the percentage of false stars is relatively small (p<20%), where the identification rate remains higher than 80%. With the increase in the ratio p, the grid algorithm is slightly better than the RPNet, but there is little difference. However, when the ratio p reaches 50%, the RPNet outperforms the other two algorithms and with an identification rate over 35%.
(77) (4) The performances of the algorithms towards different number of the missing stars. Missing stars are not as common as the previous noises in the star images, and there is no experiment on the unified redundant pattern algorithm, therefore, only the performance of the
(78) RPNet towards different number of the missing stars is shown in this invention, the each level of missing stars contains 10,000 simulated noise samples for one to five missing stars. The identification rate of the RPNet is shown in
(79) The star missing will cause the loss of information, and the pattern-based algorithms are generally difficult to cope with the star missing situations. The identification rate of the RPNet drops from 97.6% to 81.09% when the number of missing stars increases from 1 to 5.
(80) When the number of missing stars is less than or equal to 2, the identification rate of RPNet decreases slightly, and the identification rate remains in an acceptable range; but when the number of missing stars is more than 2, the identification rate decreases rapidly, and the algorithm is no longer stable.