A fast star identification method based on chain backtracking mechanism
Patent Information
- Application Number
- CN202311726692.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-14
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2043-12-14
AI Technical Summary
一旦伪星点被当作主星或是邻星,均会造成误识别
[0047] (1) The present invention uses a star pair sequence lookup table, which changes the search and matching of star triangle pairs from a triple loop to two double loops after sorting. Moreover, the number of inner loops is very small. For dense star catalogs, the program that used to take several days to run can be completed in a few seconds, which greatly improves the matching search speed.
Smart Images

Figure CN118097188B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of remote sensing information system technology and relates to a fast star identification method based on a chain-backtracking mechanism. Background Technology
[0002] For some infrared space telescopes, during the initial stages of operation in orbit, the interior orientation elements of the camera are generally unstable due to the stress release caused by the space environment. The on-orbit state deviates significantly from the design values or ground-based measurements. Polygon-based star-angle distance matching methods for star identification often face difficulties in setting the angular distance threshold. If the threshold is too large, the number of candidate matches increases geometrically, leading to multiple possibilities and making it difficult to ensure uniqueness. If the threshold is too small, the candidate match set is too small, often resulting in an empty set and failure. Furthermore, when the signal-to-noise ratio of the infrared camera is relatively low, the presence of false stars—noise points mistaken for stars—can greatly interfere with the traditional polygon star matching process. False stars can cause an empty candidate match set, leading to star identification failure.
[0003] Pattern recognition-based raster methods offer advantages such as high computational efficiency, small star catalog storage capacity, and some noise resistance when dealing with dense star matching. However, in practical applications, setting an appropriate raster size directly impacts the accuracy of star identification. Furthermore, to address rotational invariance, raster orientation is typically determined by the vector direction formed by the primary star and representative neighboring stars. If a false star is mistaken for either the primary or a neighboring star, misidentification will occur. Therefore, at low signal-to-noise ratios, raster methods are highly susceptible to star misidentification, and due to the lack of strict polygonal geometric constraints, such misidentification is difficult to detect. Summary of the Invention
[0004] The technical problem solved by this invention is to overcome the above-mentioned shortcomings of the prior art and provide a fast star identification method based on a chain-like backtracking mechanism. This method can quickly achieve accurate star identification even with a large proportion of pseudostars by using a star pair lookup table and a chain-like backtracking mechanism.
[0005] The technical solution of this invention is: a fast star identification method based on a chain-backtracking mechanism, comprising:
[0006] Step (1): Obtain star-viewing images, form a set of seed triangles, select the first seed triangle in the set of seed triangles, determine the star matching set of the current seed triangle, establish the current matching set M, and save the star image point triples S of the seed triangles in the current matching set M and the star matching set P of the current seed triangle in the matching result polygon set L.
[0007] Step (II): Sequentially select the star points to be identified, excluding the seed triangle star points, continuously update the current matching set M, and save the matching result polygon set L; during this process, as the star point t-tuple S... (t) The star matching set P is continuously constrained through cross-validation. If no star image point is found in the list of star image points to be identified, and the star matching set P is unique and satisfies the reprojection error constraint, the star identification process is completed, and the identification result tuple S and the corresponding star matching set P are output. Otherwise, return to step (1) and select the next star image point triplet from the seed triangle set as the current seed triangle to continue the matching operation.
[0008] Step (I) specifically includes:
[0009] Step 1.1 Obtain the stargazing image, and form a stargazing point list from all the stargazing points to be identified in the stargazing image, and sort the stargazing points from high to low brightness;
[0010] Step 1.2 Perform triangle combinations on the list of star points to obtain a set of triangle combination pairs of star points to be identified, i.e., the seed triangle set;
[0011] Step 1.3 Select the current seed triangle from the seed triangle set, and use the triangle star pair matching method based on the star pair index lookup table to obtain the star matching set P of the current seed triangle. 123 That is, the set of triplets consisting of candidate star number pairs corresponding to the three star images of the vertices of the seed triangle; establish the matching result polygon set L, and add the star image point triplets S of the seed triangle to the matching result polygon set L. 123 ={C1,C2,C3} and the corresponding star matching set P 123 ; Establish the current matching set M and put it into the star point triple S of the current seed triangle. 123 And the corresponding triangular star matching set P 123 .
[0012] Suppose n star points are found on the star chart, according to The triangle pairs are obtained, and the triangle pairs with the largest area in the top 90% and whose interior angles are all acute are retained. They are then sorted from highest to lowest according to the sum of the brightness of the three star points to obtain the set of star point triplets of the triangle pairs of stars to be identified, i.e., the seed triangle set. Step 1.3 is executed starting from the first star point triplet of the seed triangle set.
[0013] In step 1.3, the triangle star pair matching method based on the star pair index lookup table obtains the star matching set P of the current seed triangle. 123 The specific process is as follows:
[0014] The angular distance γ between star points C1 and C2 12 Determine the binary pairing set P 12 ={a,b}, the pairing set includes all stars in the star catalog that satisfy this angular distance γ. 12 The binary star numbering pairs are obtained; similarly, the binary pairing set P of star image points C1 and C3 is obtained. 13 ={c,d}, the binary pairing set P of star points C2 and C3 23 ={w,v};
[0015] A1) P 13 Sort the star numbers in {c,d} according to the first column value c in ascending order to obtain P. 13 Assuming there are N stars in the star catalog, define two Nx1 column vectors Ids. 13 and Ide 13 Initialized to -1, used to record c in P 13 The starting and ending sequence numbers of ′; from P 13 Retrieved IDs 13 [c] to the Ide 13 [c] elements, which is P 13 All binary star number pairs containing star number c; P 13 Sort {c,d} in ascending order of the values d in the second column to get P. 13 Define two more Nx1 column vectors, Ids. 13 "and Ide" 13 ", record d in P 13 The starting and ending sequence numbers of ""; from P 13 "Retrieved the Ids′1′3[d] to Ide" 13 "[d] elements, which is P" 13 All binary star index pairs containing star index d;
[0016] B1) P 23 P is obtained in the same manner as step A1). 23 ′,Ids 23 and Ide 23 , and P 23 ",Ids 23 "and Ide" 23 ";
[0017] C1) for P 12 Each pair {a,b} is evaluated one by one. If Ids 13 If [a] is not -1, then it means P 12 a and P 13 c is the same point, from P 13 Retrieved IDs 13[a] to the Ide 13 Given [a] elements, we obtain a binary pairing set {a,d}, which generates a ternary star-numbered pair set M1. 123 ={a,b,d}; if Ids 13 "If [a] is not -1, then it means P..." 12 a and P 13 d is the same point, from P 13 "Retrieved IDs" 13 [a] to the first Ide″ 13 [a] elements are used to obtain a binary pairing set {c,a}, which generates a ternary star numbering pair M2. 123 ={a,b,c}; Similarly, if Ids 13 [b] If it is not -1, then it means P 12 b and P 13 c is the same point, from P 13 Retrieved IDs 13 [b] to the Ide 13 [b] elements are used to obtain a binary pairing set {b,d}, which generates a ternary star numbering pair M3. 123 ={b,a,d}; if Ids 13 "[b] is not -1, which means P" 12 b and P 13 d is the same point, from P 13 "Retrieved IDs" 13 [b] to the first Ide″ 13 [b] elements are used to obtain a binary pairing set {c,b}, which generates a ternary star numbering pair M4. 123 ={b,a,c};
[0018] D1) The obtained ternary star numbers are paired with M1 123 M2 123 M3 123 M4 123 After accumulation, the candidate set M1′ is obtained. 23 ={m1,m2,m3}; where m1 is P 12 and P 13 The public points, further in P 23 The process of checking whether the pair m2 and m3 exists is as follows: If Ids 23 [m2] is not -1, retrieve the Ids from P2′3. 23 [m2] to the Ide 23 Given [m2] elements, we obtain a binary pairing set {w,v}. We then check each pair; if v is the same as m3, we generate a ternary star pair M5. 123 ={m1,m2,v}; Similarly, if Ids23 [m3] is not -1, retrieve the Ids from P2′3. 23 [m3] to the Ide 23 Given [m3] elements, we obtain a binary pairing set {w,v}. We then check each pair; if v is the same as m2, we generate a ternary star pair M6. 123 ={m1,v,m3}; Similarly, use P 23 "Perform the test, if Ids" 23 "[m2] is not -1, retrieve the first m2 from P2"3 The first one to the Ide 23 Given [m2] elements, we obtain a binary pairing set {w, v}. We then check each pair; if w is the same as m3, we generate a ternary star pair M7. 123 ={m1,m2,w}; if Ids 23 "[m3] is not -1, from P" 23 Retrieved the first One to the first Given a set of elements, we obtain a binary pairing set {w, v}. We then check each pair; if w is the same as m2, we generate a ternary star pair M8. 123 ={m1,w,m3};
[0019] E1) The obtained ternary star numbering is matched with M5 123 M6 123 M7 123 M8 123 By accumulating the results, we obtain the current seed triangle star matching set P. 123 In the triplet, each element is the star number corresponding to C1, C2, and C3.
[0020] Step (II) specifically includes:
[0021] Step 2.1 Obtain the list of star images to be identified, excluding the seed triangle star images, the current matching set M, and the set of matching result polygons L; start executing step 2.2 from the first star image in the list of star images to be identified;
[0022] Step 2.2 Select star image point C from the list of star image points to be identified. k If C k The star point t tuple S in the current matching set M (t) Forming a new (t+1) element combination S (t+1) And S (t+1) If a set of star point tuples S already exists in the matching result polygon set L, then the corresponding matching set P is obtained from the matching result polygon set L. (t+1) If P (t+1) If it is not empty, then directly update the current matching set M, i.e., S. (t+1)Replace the previous S (t) P (t+1) Replace the star matching set P in the current matching set M, let k = k + 1, and select the next star point to repeat step 2.2; if P (t+1) If the value is empty, skip this point, let k = k + 1, select the next star point, and repeat step 2.2; if S (t+1) If the star image point tuple S does not exist in the set of the matching result polygon set L, then proceed to step 2.3; if there are no star image points to be selected in the list of star image points to be identified, then return to step 1.3, select the next star image point triple as the current seed triangle and perform a new round of matching operations.
[0023] Step 2.3 Expand and cross-validate the current matching set M, update the current matching set M and save the result to the matching result polygon set L; when there are no star images to be selected in the list of star images to be identified, and when the star matching set P is unique and satisfies the reprojection error constraint, complete the star identification process and output the identification result tuple S and the corresponding star matching set P; otherwise, return to step 1.3, select the next star image point triple as the current seed triangle and perform a new round of matching operations.
[0024] The specific process of step 2.2 is as follows:
[0025] A2) For the star matching set P in the current matching set M, (t) =P 12,…,t , in sequence with P (t) Sort the values in each column to obtain t star-matched sorted sets. and the corresponding set of indices
[0026] B2) For the star point t tuple S in the current matching set M, (t) ={S1,S2,…,S t}, calculate star image point C k Angular distance γ from S1 1k We obtain the binary pairing set P. 1k ={w,v}, respectively determine the matching and sorting set of stars. If there is a value in column t+1 that is the same as w, then add v to the (t+1)th column to broaden the matching set P. 12,…,t+1 Similarly, check if there is a value that is the same as v. If so, add w to the (t+1)th column to broaden the matching set P. 12,…,t+1 If none of them are the same, skip this star point, let k = k + 1, select the next star point and repeat step B2);
[0027] C2) Calculate S2 and C k angular distance γ 2k We obtain the binary pairing set P.2k ={w,v}, respectively determine the matching and sorting set of stars. If a value in column t (t+1) is the same as w, then it is necessary to check if the corresponding value in column t (t+1) is the same as v. If they are the same, the cross-validation passes; otherwise, further checks are performed on the star matching sorted set. If there is a value in the column that is the same as v, then we need to check if the value in the corresponding (t+1)th column is the same as w. If they are the same, then the cross-validation passes. If not, let k = k+1, select the next star point, and return to step B2. If the cross-validation passes, update the matching set P. 12,…,t+1 ;
[0028] D2) Process S3 in the same way as step C2), and update the matching set P. 12,…,t+1 ; until C k and S (t) All star points in the image have undergone cross-validation; if the matching set P after cross-validation is... 12,…,t+1 If the value is not empty, combine the vertices of this polygon into a tuple S of type (t+1). (t+1) ={S1,S2,…,S t C k} and star matching set P 12,…,t+1 Recorded in the matching result polygon set L; if the matching set P after cross-validation (t+1) =P 12,…,t+1 If it is empty, then S (t+1) A record of an empty set is stored in L;
[0029] E2) Determine P 12,…,t+1 If the reprojection is unique and the reprojection error is greater than the set reprojection error, then the set S of star points in the current matching set M will not be updated, and the matching set P will be restored to the original P. (t) Skip this point, let k = k + 1, select the next star point, and return to step A2); otherwise, use S (t+1) and P (t+1) Update the current matching set M, let k = k + 1, select the next star point, and repeat step A2);
[0030] F2) Until there are no more star images to be selected in the list of star images to be identified, if the star matching set P is unique and satisfies the reprojection error constraint, the star identification process is completed, and the identification result tuple S and the corresponding star matching set P are output; otherwise, return to step 1.3, select the next star image triple as the current seed triangle and perform a new round of matching operation.
[0031] The calculation process for the reprojection error is as follows: It is derived from the star matching set P. (t+1) Obtain the star catalog vector V of the star in the inertial coordinate system. J2000 , by S(t+1) Obtain the vector V of the star in the camera coordinate system cam The rotational relationship between the two is calculated using the QUEST method, and then V is obtained. cam Vector in an inertial frame calculate With the corresponding star catalog vector V J2000 The root mean square of the angular difference between the two is the reprojection error.
[0032] The specific criterion for otherwise returning to step (I) is as follows: If any one of the following three conditions is not met, return to step (I):
[0033] A. No star images are available in the list of star images to be identified;
[0034] B. The star matching set P is unique;
[0035] C. Satisfies the reprojection error constraint.
[0036] A fast star identification method based on a chain-backtracking mechanism includes the following steps:
[0037] Step (1): Obtain star-viewing images, form a set of seed triangles, select the first seed triangle in the set of seed triangles, determine the current seed triangle star matching set, update the current matching set M, and save the star image point triples S of the seed triangles and the current seed triangle star matching set P in the matching result polygon set L.
[0038] Step 1.1 Obtain the stargazing image, and form a stargazing point list from all the stargazing points to be identified in the stargazing image, and sort the stargazing points from high to low brightness;
[0039] Step 1.2 Perform triangle combinations on the list of star points to obtain a set of triangle combination pairs of star points to be identified, i.e., the seed triangle set;
[0040] Suppose n star points are found on the star chart, according to We obtain triangular pairs, retaining those with the largest area (top 90%) and all interior angles being acute. These are then sorted from highest to lowest sum of the brightness of the three star points, resulting in a set of triplet star points representing the stars to be identified—the seed triangle set. Step 1.3 is then executed starting with the first triplet star point in the seed triangle set.
[0041] Step 1.3 Select the current seed triangle from the seed triangle set. Use the triangle star pair matching method based on the star pair index lookup table to obtain the star matching set of the current seed triangle, that is, the set of triplets consisting of the candidate star number pairs corresponding to the three star images of the vertices of the seed triangle; add the star image point triplets S of the seed triangle to the polygon set L of the matching result. 123 ={C1,C2,C3} and the corresponding star matching set P 123 Update the current matching set M with the star point triples S of the current seed triangle. 123 And the corresponding triangular star matching set P 123 .
[0042] Step (II): Sequentially select the star points to be identified, excluding the seed triangle star points, continuously update the current matching set M, and save the matching result polygon set L. During this process, as the star point t-tuple S... (t) The matching set is continuously constrained through cross-validation. This process is repeated until there are no more star images to be selected in the list of star images to be identified, and when the star matching set P is unique and satisfies the reprojection error constraint, the star identification process is completed, and the identification result tuple S and the corresponding star matching set P are output; otherwise, return to step (1), select the next star image point triple from the seed triangle set as the current seed triangle and perform a new round of matching operations.
[0043] Step 2.1 Obtain the list of star images to be identified, excluding the seed triangle star images, the current matching set M, and the set of matching result polygons L; start executing step 2.2 from the first star image in the list of star images to be identified.
[0044] Step 2.2 Select star image point C from the list of star image points to be identified. k If C k The star point t tuple S in the current matching set M (t) Forming a new (t+1) element combination S (t+1) And S (t+1) If a set of star point tuples S already exists in the matching result polygon set L, then the corresponding matching set P is obtained from the matching result polygon set L. (t+1) If P (t+1) If it is not empty, then directly update the current matching set M, i.e., S. (t+1) Replace the previous S (t) P (t+1) Replace the star matching set P in the current matching set M, let k = k + 1, and select the next star point to repeat step 2.2; if P (t+1) If the value is empty, skip this point, let k = k + 1, select the next star point, and repeat step 2.2; if S (t+1)If the star image point tuple S does not exist in the set of the matching result polygon set L, then proceed to step 2.3; if there are no star image points to be selected in the list of star image points to be identified, then return to step 1.3, select the next star image point triple as the current seed triangle and perform a new round of matching operations.
[0045] Step 2.3 Expand and cross-validate the current matching set M, update the current matching set M and save the result to the matching result polygon set L; when there are no star images to be selected in the list of star images to be identified, and when the star matching set P is unique and satisfies the reprojection error constraint, complete the star identification process and output the identification result tuple S and the corresponding star matching set P; otherwise, return to step 1.3, select the next star image point triple as the current seed triangle and perform a new round of matching operations.
[0046] The advantages of this invention compared to the prior art are:
[0047] (1) The present invention uses a star pair sequence lookup table, which changes the search and matching of star triangle pairs from a triple loop to two double loops after sorting. Moreover, the number of inner loops is very small. For dense star catalogs, the program that used to take several days to run can be completed in a few seconds, which greatly improves the matching search speed.
[0048] (2) This invention utilizes a polygonal chain backtracking search mechanism based on brightness sorting to reduce the influence of pseudo-stars in the entire polygonal chain, enhance the robustness of the identification algorithm against pseudo-stars, and accelerate the search process. Even if the proportion of pseudo-stars is high, it will not lead to the failure of star identification.
[0049] (3) This invention is not sensitive to the setting of the angular distance threshold, and can achieve successful identification within a wider range. The success rate of star identification is higher than that of the grid method and the traditional polygon method, and it can still be used in the adverse conditions of imperfect geometric and radiation preprocessing in the early stage of orbit insertion. Attached Figure Description
[0050] Figure 1 This is a flowchart illustrating the workflow of a fast star identification method based on a chain-backtracking mechanism according to the present invention. Detailed Implementation
[0051] The present invention will now be described in further detail with reference to the accompanying drawings and specific embodiments:
[0052] This invention proposes a fast star identification method based on a chain-like backtracking mechanism. By employing a star pair index lookup table acceleration strategy and a polygonal chain-like backtracking search mechanism, it can address the problem of fast star identification when there is a large proportion of false stars and inaccurate interior orientation parameters. Figure 1The diagram shows the workflow of a fast star identification method based on a chain-backtracking mechanism according to the present invention. The present invention is completed in two main steps, as detailed below:
[0053] Step (1): Obtain stargazing images, form a set of seed triangles, select the first seed triangle in the set of seed triangles, determine the current seed triangle star matching set, establish the current matching set M, and save the star image point triples S of the seed triangles and the current seed triangle star matching set P in the matching result polygon set L.
[0054] Step 1.1 Obtain the stargazing image, and form a star image list from all the star images to be identified in the image, and sort them from high to low brightness.
[0055] Step 1.2 Perform triangle combinations on the list of star points to obtain a set of triangle combination pairs of star points to be identified, i.e., the seed triangle set.
[0056] Suppose n star points are found on the star chart, according to We obtain triangular pairs, retaining those with the largest area (top 90%) and all interior angles being acute. These are then sorted from highest to lowest sum of the brightness of the three star points, resulting in a set of triplet star points representing the stars to be identified—the seed triangle set. Step 1.3 is then executed starting with the first triplet star point in the seed triangle set.
[0057] Step 1.3 Select the current seed triangle from the seed triangle set. Use the triangle star pair matching method based on the star pair index lookup table to obtain the star matching set of the current seed triangle, that is, the set of triplets consisting of the candidate star index pairs corresponding to the three star images of the vertices of the seed triangle; add the star image point triplets S of the seed triangle to the established matching result polygon set L. 123 ={C1,C2,C3} and the corresponding star matching set P 123 Update the current matching set M with the star point triples S of the current seed triangle. 123 And the corresponding triangular star matching set P 123 .
[0058] From the first star point triple S 123 Starting with {C1, C2, C3}, we use a star pair lookup table to quickly determine the set P of all star matches for the current seed triangle. 123 The specific process is as follows:
[0059] The angular distance γ between star points C1 and C2 12 Determine the binary pairing set P 12 ={a,b}, the pairing set is all stars in the star catalog that satisfy this angular distance γ.12 The binary star numbering pairs are obtained. Similarly, the binary pairing set P of star image points C1 and C3 is obtained. 13 ={c,d}, the binary pairing set P of star points C2 and C3 23 ={w,v};
[0060] a) First, P 13 Sort the star numbers in {c,d} according to the first column value c in ascending order to obtain P. 13 Assuming there are N stars in the star catalog, define two Nx1 column vectors Ids. 13 and Ide 13 Initialized to -1, used to record c in P 13 The start and end sequence numbers of ', Ids 13 [c] indicates IDs 13 The value of the c-th element in the code is similarly represented by the ID. 13 [c] indicates Ide 13 The value of the c-th element in P. There are cases where the same star ID c appears in multiple star ID pairs. In this case, the start and end indices are different. Since all star ID pairs have already been sorted by c, the search for c directly starts from P. 13 Retrieved IDs 13 [c] to the Ide 13 [c] elements, which is P 13 All binary star number pairs containing star number c, without needing to specify P. 13 A full search was performed; since it's unknown whether {a,b} and {c,d} share c or d, P was searched in the same way. 13 Sort {c,d} in ascending order of the values d in the second column to get P. 13 Define two more Nx1 column vectors, Ids. 13 "and Ide" 13 ", record d in P 13 The starting and ending sequence numbers of "". From P 13 "Retrieved IDs" 13 [d] to the Ide 13 "[d] elements, which is P" 13 All binary star index pairs containing star index d;
[0061] b) P 23 P is obtained in the same manner as step a). 23 ′,Ids 23 and Ide 23 , and P 23 ",Ids 23 "and Ide" 23 ";
[0062] c) For P 12 Each pair {a,b} is evaluated one by one. If Ids 13 If [a] is not -1, then it means P 12 a and P 13 c is the same point, from P 13 Retrieved IDs 13 [a] to the Ide 13 Given [a] elements, we obtain a binary pairing set {a,d}, which generates a ternary star-numbered pair set M1. 123 ={a,b,d}; if Ids 13 "If [a] is not -1, then it means P..." 12 a and P 13 d is the same point, from P 13 "Retrieved IDs" 13 [a] to the first Ide″ 13 [a] elements are used to obtain a binary pairing set {c,a}, which generates a ternary star numbering pair M2. 123 ={a,b,c}; Similarly, if Ids 13 [b] If it is not -1, then it means P 12 b and P 13 c is the same point, from P 13 Retrieved IDs 13 [b] to the Ide 13 [b] elements are used to obtain a binary pairing set {b,d}, which generates a ternary star numbering pair M3. 123 ={b,a,d}; if Ids 13 "[b] is not -1, which means P" 12 b and P 13 d is the same point, from P 13 "Retrieved IDs" 13 [b] to the first Ide″ 13 [b] elements are used to obtain a binary pairing set {c,b}, which generates a ternary star numbering pair M4. 123 ={b,a,c};
[0063] d) Assign the obtained ternary star numbers to M1 123 M2 123 M3 123 M4 123 After accumulation, the candidate set M is obtained. 123 ′={m1,m2,m3}. m1 is P 12 and P 13 The public points, further in P 23 The process of checking whether the pair m2 and m3 exists is as follows: If Ids 23[m2] is not -1, from P′ 23 Retrieve IDs 23 [m2] to the Ide 23 Given [m2] elements, we obtain a binary pairing set {w,v}. We then check each pair; if v is the same as m3, we generate a ternary star pair M5. 123 ={m1,m2,v}; Similarly, if Ids 23 [m3] is not -1, from P′ 23 Retrieve IDs 23 [m3] to the Ide 23 Given [m3] elements, we obtain a binary pairing set {w,v}. We then check each pair; if v is the same as m2, we generate a ternary star pair M6. 123 ={m1,v,m3}; Similarly, use P 23 "Perform the test, if Ids" 23 "[m2] is not -1, from P" 23 Retrieved the first The first one to the Ide 23 Given [m2] elements, we obtain a binary pairing set {w, v}. We then check each pair; if w is the same as m3, we generate a ternary star pair M7. 123 ={m1,m2,w}; if Ids 23 "[m3] is not -1, from P" 23 Retrieved the first One to the first Given a set of elements, we obtain a binary pairing set {w, v}. We then check each pair; if w is the same as m2, we generate a ternary star pair M8. 123 ={m1,w,m3};
[0064] e) Assign the obtained ternary star numbers to M5 123 M6 123 M7 123 M8 123 By accumulating the results, we obtain the current seed triangle star matching set P. 123 In the triplet, each element is the star number corresponding to C1, C2, and C3.
[0065] The triple loop is transformed into two nested loops after sorting, and the inner loop is determined by the number of Ide[i]-Ids[i], which is often very small. This greatly improves the matching speed. For dense star tables, programs that used to take days to run can now be completed in a few seconds.
[0066] Step (II): Sequentially select the star points to be identified, excluding the seed triangle star points, continuously update the current matching set M, and save the matching result polygon set L. During this process, as the star point t-tuple S... (t)The matching set is continuously constrained through cross-validation. This process is repeated until there are no more star images to be selected in the list of star images to be identified, and when the star matching set P is unique and satisfies the reprojection error constraint, the star identification process is completed, and the identification result tuple S and the corresponding star matching set P are output; otherwise, return to step (1), select the next star image point triple from the seed triangle set as the current seed triangle and perform a new round of matching operations.
[0067] For a large set of triangular star matching P 123 Obtain a list of star image points to be identified, excluding the vertices of the seed triangle {C}. k}, select star image point C in sequence k The angular distance information is calculated between the star image point and the current seed triangle star image point, and the star matching set is broadened and cross-validated. If the number of star matching sets is greater than or equal to 1 and cross-validation has been completed, the polygon dimension and the star matching set are updated. If cross-validation has not been completed, the star matching set is empty, indicating that the star image point C is no longer valid. k It might be a false star point, requiring a backtracking mechanism to restore the original set of star matches before examining the next star point. This process is repeated until all star points to be matched have been examined. The specific process is as follows:
[0068] Step 2.1 Obtain the list of star images to be identified, excluding the seed triangle star images, the current matching set M, and the set of matching result polygons L; start executing step 2.2 from the first star image in the list of star images to be identified.
[0069] Step 2.2 Select star image point C from the list of star image points to be identified. k If C k The star point t tuple S in the current matching set M (t) Forming a new (t+1) element combination S (t+1) And S (t+1) If a set of star point tuples S already exists in the matching result polygon set L, then the corresponding matching set P is obtained from the matching result polygon set L. (t+1) If P (t+1) If it is not empty, then directly update the current matching set M, i.e., S. (t+1) Replace the previous S (t) P (t+1) Replace the star matching set P in the current matching set M, let k = k + 1, and select the next star point to repeat step 2.2; if P (t+1) If the value is empty, skip this point, let k = k + 1, select the next star point, and repeat step 2.2; if S (t+1)If the star image point tuple S does not exist in the set of the matching result polygon set L, then proceed to step 2.3; if there are no star image points to be selected in the list of star image points to be identified, then return to step 1.3, select the next star image point triple as the current seed triangle and perform a new round of matching operations.
[0070] Step 2.3 Expand and cross-validate the current matching set M, update the current matching set M and save the result to the matching result polygon set L; when there are no star images to be selected in the list of star images to be identified, and when the star matching set P is unique and satisfies the reprojection error constraint, complete the star identification process and output the identification result tuple S and the corresponding star matching set P; otherwise, return to step 1.3, select the next star image point triple as the current seed triangle and perform a new round of matching operations.
[0071] The specific process of expanding and cross-validating the current matching set M, updating the current matching set M, and saving the results to the matching result polygon set L is as follows:
[0072] a) For set P 123 Still using the star index lookup table format, P 123 Sort the entire set by the values in the first, second, and third columns respectively to get P. 123 ′,Ids′,Ide′,P 123 ", Ids", Ide, P 123 "′, Ids″′, Ide″′. Similarly, for the star matching set P in the current matching set M. (t) =P 12,…,t Sort the values in each column sequentially to get t items from the entire set. and the corresponding set of indices
[0073] b) For the star point t-tuple S in the current matching set M, (t) ={S1,S2,…,S t}, calculate star image point C k Angular distance γ from S1 1k We obtain the binary pairing set P. 1k ={w,v}, determine respectively If there is a value in column t+1 that is the same as w, then add v to the (t+1)th column to broaden the matching set; similarly, check if there is a value in column t+1 that is the same as v, and if so, add w to the (t+1)th column to broaden the matching set P. 12,…,t+1 If none of them are the same, skip this point and let C. k=k+1 Repeat step b);
[0074] c) Further calculate S2 and C k angular distance γ 2k We obtain the binary pairing set P.2k ={w,v}, determine respectively If there is a value in column t+1 that is the same as w, then we need to check if the corresponding value in column t+1 is the same as v. If they are the same, the cross-validation passes; otherwise, we need to perform further checks. If there is a value in column t+1 that is the same as v, then we need to check if the corresponding value in column t+1 is the same as w. If they are the same, then the cross-validation passes. If not, then the cross-validation fails. k It might be a pseudo-star point; select the next point C. k=k+1 Return to step b); if the cross-validation passes, update the matching set P. 12,…,t+1 ;
[0075] d) Process S3 in the same way as c) and update the matching set P. 12,…,t+1 This cross-validation will be performed cyclically until C... k and S (t) All star points in the image have undergone cross-validation; if the matching set P after cross-validation is... 12,…,t+1 If the value is not empty, combine the vertices of this polygon into a tuple S of type t+1. (t+1) ={S1,S2,…,S t C k} and star matching set matching P 12,…,t+1 Recorded in the matching result polygon set L; if the matching set P after cross-validation (t+1) =P 12,…,t+1 If it is empty, then S (t+1) A record of an empty set is stored in L.
[0076] e) Determine P 12,…,t+1 If the reprojection is unique and the reprojection error is greater than the set reprojection error, then the set S of star points in the current matching set M will not be updated, and the matching set P will be restored to the original P. (t) Skip this point and let C k=k+1 Return to step a); otherwise, use S. (t+1) and P (t+1) Update the current matching set M, let C k=k+1 Repeat step a).
[0077] The calculation process for reprojection error is as follows: It is derived from the star matching set P. (t+1) Obtain the star catalog vector V of the star in the inertial coordinate system. J2000 , by S (t+1) Obtain the vector V of the star in the camera coordinate system cam The rotational relationship between the two is calculated using the QUEST method, and then V is obtained. cam Vector in an inertial frame beg With the corresponding star catalog vector V J2000 The root mean square of the angle difference between the two is the reprojection error.
[0078] f) The process continues until no new star image points are available for identification. If the star matching set P is unique and satisfies the reprojection error constraint, the star identification process is completed, and the identification result tuple S and the corresponding star matching set P are output. Otherwise, return to step 1.3, select the next triangle combination as the seed triangle, and start a new round of matching operations.
[0079] The above description is only the best specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the protection scope of the present invention.
[0080] The contents not described in detail in this specification are common knowledge to those skilled in the art.
Claims
1. A fast star identification method based on a chain-backtracking mechanism, characterized in that, include: Step (1): Acquire stargazing images, form a set of seed triangles, select the first seed triangle in the set, determine the current seed triangle star matching set, and establish the current matching set. and the current matching set Seed triangle star point triplet The set of stars that match the current seed triangle Stored in the matching result polygon collection middle; Step (II): Select the star points to be identified in sequence, excluding the star points in the seed triangle, and continuously update the current matching set. And save the matching result polygon set. During this process, with the star points tuple The expansion continuously constrains the star matching set through cross-validation. ; If no star image points are available in the list of star image points to be identified, and the star matching set is... The system uniquely and satisfies the reprojection error constraint to complete the star identification process and outputs a tuple of identification results. and the corresponding star matching set Otherwise, return to step (1) and select the next star point triplet from the seed triangle set as the current seed triangle to continue the matching operation; Step (I) specifically includes: Step 1.1 Obtain the stargazing image, and form a stargazing point list from all the stargazing points to be identified in the stargazing image, and sort the stargazing points from high to low brightness; Step 1.2 Combine the list of star points into triangles to obtain the set of triangle combination pairs of star points to be identified, i.e., the seed triangle set; Step 1.3 Select the current seed triangle from the seed triangle set, and use a triangle star pair matching method based on a star pair index lookup table to obtain the star matching set of the current seed triangle. That is, the set of triplets consisting of candidate star number pairs corresponding to the three star images of the vertices of the seed triangle; and the set of matching result polygons. In the matching result polygon set Add a seed triangle star point triplet and the corresponding star matching set ; Establish the current matching set And put it into the star point triplet of the current seed triangle. Matching set of corresponding triangle stars ; In step 1.3, the triangle star pair matching method based on the star pair index lookup table obtains the star matching set of the current seed triangle. The specific process is as follows: From star point and angular distance Determine the binary pairing set The pairing set includes all stars in the star catalog that satisfy this angular distance. Binary star numbering pairs; similarly, star image points are obtained. and Stars and ; A1) will By the values in the first column Numbering stars from smallest to largest Sort, get Assuming the star catalog contains A star, defining two column vectors and Initialized to -1, used for recording exist The starting and ending sequence numbers; from Retrieved the first One to the first Each element is... Star numbering All binary star number pairs; By the values in the second column From childhood to adulthood Sort, get Define the other two column vectors and ,Record exist The starting and ending sequence numbers; from Retrieved the first One to the first Each element is... Star numbering All binary star number pairs; B1) will Obtained in the same manner as step A1). , and ,as well as , and ; C1) Each pair Judge one by one, if If it is not -1, then it means of and of It's the same point, from Retrieved the first One to the first Given elements, we obtain a binary pairing set. Generate a set of ternary star number pairs ;if If it is not -1, then it means of and of It's the same point, from Retrieved the first One to the first Given elements, we obtain a binary pairing set. Generate ternary star number pairs Similarly, if If it is not -1, then it means of and of It's the same point, from Retrieved the first One to the first Given elements, we obtain a binary pairing set. Generate ternary star number pairs ;if If it is not -1, then it means of and of It's the same point, from Retrieved the first One to the first Given elements, we obtain a binary pairing set. Generate ternary star number pairs ; D1) Pair the obtained ternary star numbers , , , The candidate set is obtained after accumulation. yes and public points, further in Check if it exists and The specific judgment process for a binary pair is as follows: If Not -1, from One to the first Given elements, we obtain a binary pairing set. Judge one by one, if and If they are the same, then generate a ternary star number pair. Similarly, if Not -1, from To the Given elements, we obtain a binary pairing set. Judge one by one, if and If they are the same, then generate a ternary star number pair. Similarly, using If the test is performed, Not -1, from To the Given elements, we obtain a binary pairing set. Judge one by one, if and If they are the same, then generate a ternary star number pair. ;like Not -1, from To the Elements, to obtain a binary pairing set Judge one by one, if and If they are the same, then generate a ternary star number pair. ; E1) The obtained ternary star numbering pairs , , , By accumulating the results, we obtain the current seed triangle star matching set. Each element in the triplet is The corresponding star number; Step (II) specifically includes: Step 2.1 Obtain a list of star images to be identified, excluding the seed triangle star image points; current matching set. and the set of matching result polygons ;Start with the first star image in the list of star image points to be identified and proceed with step 2.2; Step 2.2 Select star images from the list of star images to be identified. ,like Matching set Star image points in tuple Forming new Meta-combination ,and Already exists in the set of matching result polygons Star image point multigroup From the set, then from the matching result polygon set The corresponding matching set is obtained from the data. ,like If it is not empty, then directly update the current matching set. , Replace the previous , Replace the current matching set Star matching set in ,make Select the next star point and repeat step 2.2; if If it is empty, skip this point and let Select the next star point and repeat step 2.2; if Does not exist Star image point multigroup If the set is in the set, then proceed to step 2.3; if there are no star points to be selected in the list of star points to be identified, then return to step 1.3, select the next star point triplet as the current seed triangle and perform a new round of matching operations; Step 2.3 For the current matching set Perform broadening and cross-validation to update the current matching set. Save the results to a collection of matching polygons. In the case of no star image points available in the list of star image points to be identified, and when the star matching set... When the star is unique and the reprojection error constraint is satisfied, the star identification process is completed, and the identification result tuple is output. and the corresponding star matching set Otherwise, return to step 1.3, select the next star point triplet as the current seed triangle, and perform a new round of matching operations.
2. The fast star identification method based on a chain-backtracking mechanism according to claim 1, characterized in that: Suppose that a star was found on the star chart Each star is like a point, according to The triangle pairs are obtained, and the triangle pairs with the largest area in the top 90% and whose interior angles are all acute are retained. They are then sorted from highest to lowest according to the sum of the brightness of the three star points to obtain the set of star point triplets of the triangle pairs of stars to be identified, i.e., the seed triangle set. Step 1.3 is executed starting from the first star point triplet of the seed triangle set.
3. The fast star identification method based on a chain-backtracking mechanism according to claim 1, characterized in that: The specific process of step 2.2 is as follows: A2) For the current matching set Star matching set in , in turn Sort the values in each column to get the entire set. and the corresponding set of indices , ; B2) For the current matching set Star image points in tuple Calculate star points and angular distance To obtain the binary pairing set Judge separately Does it have a value and If they are the same, then... Introducing the first Column broadening matching set Similarly, determine if there is a value that is equal to... If they are the same, then... Introducing the first Column broadening matching set If none of them are the same, skip this star point and let... Select the next star point and repeat step B2); C2) Calculation and angular distance To obtain the binary pairing set Judge separately Does it have a value and If they are the same, then the corresponding first... Are the values of the column consistent with...? If they are the same, the cross-validation passes; otherwise, further judgment is required. Does it have a value and Similarly, if there is, it is also necessary to determine the corresponding first... Are the values of the column consistent with...? If they are the same, then the cross-validation passes. If not, (Select the next star point and return to step B2); if the cross-validation passes, update the matching set. ; D2) Process in the same way as step C2). Update the matching set ;until and All star points in the dataset have undergone cross-validation; if the matching set after cross-validation... If not empty, combine the vertices of this polygon. tuple and star matching set Recorded in the matching result polygon set In the middle; if the matching set after cross-validation If it is empty, then... A record of an empty set middle; E2) Judgment Is it unique? If it is unique and the reprojection error is greater than the set reprojection error, then the current matching set... Star image point set No updates, matching set Restore to the original Skip this point, let Select the next star point and return to step A2); otherwise, use and Update the current matching set ,make Select the next star point and repeat step A2). F2) Continue until there are no more star images available in the list of star images to be identified, if the star matching set If a star is unique and satisfies the reprojection error constraint, the star identification process is complete, and the identification result tuple is output. and the corresponding star matching set ; Otherwise, return to step 1.3 and select the next star point triplet as the current seed triangle to perform a new round of matching operations.
4. The fast star identification method based on a chain-backtracking mechanism according to claim 3, characterized in that: The calculation process for the reprojection error is as follows: from the star matching set Obtain the star catalog vectors of stars in inertial coordinates. ,Depend on Obtain the vector of the star in the camera coordinate system The rotational relationship between the two was calculated using the QUEST method, and then the result was obtained. Vector in an inertial frame , Corresponding star catalog vector The root mean square of the angular difference between the two is the reprojection error.
5. The fast star identification method based on a chain-backtracking mechanism according to claim 1, characterized in that: The specific criterion for otherwise returning to step (I) is as follows: If any one of the following three conditions is not met, return to step (I): A. No star images are available in the list of star images to identify; B. Star Matching Set only; C. Satisfies the reprojection error constraint.
Citation Information
Patent Citations
Triangle recognizing method based on maximum interior angle hash function
CN105928509A
Method for detecting and tracking space target in space-based optical sequential image
CN106296726A