Next Article in Journal
Snowfall Microphysics Characterized by PARSIVEL Disdrometer Observations in Beijing from 2020 to 2022
Previous Article in Journal
Evaluation of Mangrove Wetlands Protection Patterns in the Guangdong–Hong Kong–Macao Greater Bay Area Using Time-Series Landsat Imageries
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Ellipse Crater Recognition for Lost-in-Space Scenario

1
School of Instrumentation and Optoelectronic Engineering, Beihang University, Beijing 100191, China
2
Key Laboratory of Precision Opto-Mechatronics Technology, Ministry of Education, Beihang University, Beijing 100191, China
*
Author to whom correspondence should be addressed.
Remote Sens. 2022, 14(23), 6027; https://doi.org/10.3390/rs14236027
Submission received: 2 November 2022 / Revised: 15 November 2022 / Accepted: 25 November 2022 / Published: 28 November 2022

Abstract

:
In the field of deep space exploration, a crater recognition algorithm is key to landing navigation based on craters. When there is only visual information, determining how to identify the crater and provide the initial pose of the lander for a lost-in-space (LIS) scenario is a difficulty in terrain relative navigation (TRN). In this paper, a fast and robust crater recognition method for absolute pose estimation based on projective invariants is proposed, which can provide an accurate initial pose for tracking navigation. First, the method selects navigation craters to establish a small-capacity and high-efficiency crater database, and crater pair serial numbers and projective invariants are stored. Second, our method uses a dynamic threshold to solve the problem that the projective invariants are sensitive to noise. Then, an iterative pyramid algorithm is proposed to quickly filter redundancies. Using a dynamic threshold, the matching rate was increased by at least 10%, and the average processing speed was increased by 40%. When the detection errors of the major and minor axes of the ellipse reached 5%, the detection error of the center point reached 1 pixel, and the tilt angle error reached 5°; the matching rate was still >80%. Finally, the pose was estimated by solving the perspective-n-point (PNP) problem based on the recognized craters. The initial pose error in the simulation environment was less than 2°, and the position error was less than 44 m.

1. Introduction

Soft landing technology on planetary surfaces has become an important part of deep space exploration [1]. At present, precise landing is required [2,3] for the landing and navigation missions on Mars, the Moon, and asteroids [4]. The inertial navigation method has a large cumulative error, which can cause distance errors of several kilometers from the precise landing target [5]. TRN is an optical-based autonomous navigation approach [6,7] that enhances navigation capabilities by providing measurement information about the position or orientation relative to a known celestial surface [8].
NASA’s Perseverance rover adopted the TRN method based on image features to estimate the pose, to avoid dangerous obstacles during the Mars landing test, and finally to determine its position relative to the ground, with high accuracy [9]. In addition to the local area and image features used by Perseverance, the landmarks in TRN can also be distinct natural features, such as craters [10,11], rocks, or artificial landmarks. The Near-Earth Asteroid Rendezvous (NEAR) mission of NASA in 2003 [12] was the first use of a crater-based navigation method, which proved that craters are a powerful form of orbit determination data. Craters have since become the landmarks of choice.
To increase the value of planetary scientific research, landing in the complex terrain of many craters has become an inevitable trend. Navigation methods based on traditional descriptors such as scale-invariant feature transform (SIFT [13]) for image matching are not suitable for terrain where the shadows of craters change with light. Crater recognition and estimation of the landing pose will be the focus of research in the field of planetary landing for a long time in the future [8]. The crater-based navigation method has the following advantages:
  • Extraterrestrial objects have a large number of rich craters of various sizes and shapes, and also have a large number of annotated crater datasets [14,15,16,17,18,19,20,21,22,23,24,25];
  • The method is able to estimate absolute pose without initial pose information;
  • Compared with template-matching and feature-matching methods, the crater-based navigation method does not require a three-dimensional model or a complete digital elevation model (DEM), which can reduce the memory and computing power.
According to the crater images returned by the probe in the landing segment, most of the craters are ellipses [7,26]. In particular, when the descending camera observes the craters in a non-vertical state, the tilt of the crater is relatively large. Therefore, methods that describe craters directly with circular approximations are often inaccurate. Crater recognition is the process of matching the detected craters with the craters in the database through descriptors. When the descriptors are similar in terms of a certain distance metric, the recognition is considered correct [27]. According to the navigation application, the crater recognition methods can be divided into orbital segment recognition [28,29] and landing segment recognition [30]. Due to the crater projection’s deformation and scale, the latter is more difficult than the former. Whether it is orbiting segment or landing segment navigation, these methods can be divided into lost-in-space (LIS) recognition and tracking recognition. LIS recognition has no initial pose, while tracking recognition is provided with an initial pose.
During the navigation of an orbital segment, the camera shoots vertically downward, and its line of sight (LOS) is small. Christian et al. [31] studied the LIS recognition method, designed two crater-projective transformation invariants and their descriptors, including coplanar and non-coplanar invariants, and designed a new elliptical distance metric function that satisfied the four characteristics of the distance. Doppenberg [32] used both crater invariants and crater triangle invariants for LIS recognition in the orbital segment. They considered the order invariance of triangular craters in the matching process and established a feature descriptor to match the craters. Hanak [28,29] proposed a crater matching method for the situation of “Lost in Low Orbit” and used the voting method to obtain the maximum matching probability. It was mainly used in the circumstance of a low-orbit encircling segment and lacking of prior attitude.
During the tracking navigation of an orbital segment, the crater scale changes are very small between sequence images, and the crater pattern is generally used for direct matching (DM). Lena et al. [5] used the nearest-neighbor algorithm to directly match the craters or construct multiple craters into a descriptor for matching. Wei Shao et al. [33] proposed a crater matching method using a feature descriptor, extracting crater arc features through a Gaussian pyramid algorithm and edge line segment detector (ELSD) algorithm. They also proposed a descriptor of arc zone and finally used distance constraints to match the craters.
The LIS recognition of a landing segment is performed without any initial information at all, which means that craters from the catalog must be projected into the image. The LIS matching conditions of the landing segment are the most severe, and the matching accuracy is always very low. LIS recognition is similar to the star pattern recognition method. Mortari et al. [34] proposed a pyramid algorithm in the field of star pattern recognition which can identify and discard many false stars. The navigation of a landing segment has larger attitude changes, and the projective invariants can greatly be disturbed by noise. Park et al. [30] addressed this issue by adding constraints, using 30 projective invariants of the crater triangle. In their method, the triangular arrangement sequence was used to establish a database, and the Euclidean distance was used for matching to improve the LIS matching rate of the crater. However, adding invariants will make the database larger, which will increase the redundancy in the process of crater triangle searching and limit the further improvement of the LIS matching rate.
The tracking recognition of the landing segment provides the initial pose through other sensors and performs matching between sequence images. The traditional template-matching method is suitable for the case where the crater deformations are small [35,36]. Cheng et al. [2] used the initial estimated pose to filter out impossible matches and then corrected the inertial navigation with elliptical invariants. Chen [37] matched the sequence images with the crater database when the initial pose was provided and used the Kuhn-Munkres (KM) algorithm to match the sequence images. Maass et al. [38] combined LIS recognition and tracking recognition to form an absolute navigation system, that is, the algorithm was initialized in an LIS scenario to provide pose estimations, and then image sequence tracking and recognition were performed, which could continuously estimate the motion state of the entire aircraft.
The LIS recognition of craters for landing navigation has the following difficulties:
  • The projective invariants of the ellipse are greatly disturbed by noise, that is, the recognition rate is very sensitive to the detection errors of elliptical craters;
  • The matching library is huge, resulting in slow search and low efficiency. More redundant matching will lead to a lower recognition rate;
  • An unstable lander state during landing often has a larger tilt, resulting in larger deformation of the actual crater projected onto the image plane and increasing the difficulty of recognition.
Some methods [28,29,30] have tried to solve the aforementioned difficulties. They took the idea of increasing the number of invariants or assuming that the lander shoots vertically downward to recognize craters. But these ideas still have some shortcomings. On the one hand, it will increase the database capacity. On the other hand, the landing process itself is extremely unstable.
The main contributions of this research are summarized as follows. A crater recognition algorithm in the navigation of a landing segment is proposed which provides an accurate and fast attitude estimation for an LIS scenario. To address the aforementioned difficulties, first we established a small-capacity and high-efficiency crater pair database of invariants based on elliptical craters for LIS recognition. Second, an iterative pyramid algorithm was proposed, which can achieve robust crater recognition even in the case of large projection deformation. Moreover, a dynamic threshold was designed to quickly reduce redundancy to solve the problem that the projective invariants are greatly disturbed by noise. Combined with a dynamic threshold, the matching rate can reach over 80%, and the average processing speed is improved by 40% compared with a fixed threshold.
The rest of the paper is organized as follows. In Section 2, the crater recognition method and pose estimation algorithm are introduced in detail. In Section 3, the experimental results are described, and the efficiency of the algorithm is evaluated. In Section 4, the results are discussed. Conclusions and future research work are presented in Section 5.

2. Materials and Methods

The crater recognition method is divided into three parts: establishment of a crater pair database, LIS recognition, and re-projection verification, as shown in Figure 1. First, the navigation craters are selected from the craters on the map to establish a database, and the crater pair’s serial numbers and projective invariants are stored. Second, the craters detected in the sequence images are matched with the craters in the database, and the iterative pyramid algorithm is used to identify four craters, one of which will have multiple solutions for the recognition of craters, as shown in set { l } in Figure 1. Finally, the PNP problem is composed of four pairs of three-dimensional (3D)–two-dimensional (2D) points. For the case where there are multiple solutions for the fourth crater, all possible craters are traversed. The estimated pose is obtained, and re-projection verification is performed iteratively for all navigation craters. If the current image and the re-projection image are the same, the pose is considered to be correct, and then the fourth crater is recognized.
Considering the unstable landing state, the camera will not strictly shoot vertically downward, and any increase in the lander’s tilt angle will often lead to an increase in the tilt of the crater in the image plane. Therefore, elliptical features are used to recognize craters. The ellipse equation is as follows:
A x 2 + B x y + C y 2 + D x + F y + G = 0 ,
A = a 2 sin 2 θ + b 2 cos 2 θ , B = 2 ( b 2 a 2 ) cos θ sin θ , C = a 2 cos 2 θ + b 2 sin 2 θ , D = 2 A X c B Y c , F = B X c 2 C Y c , G = A X c 2 + B X c Y c + C Y c 2 a 2 b 2 ,
where the center coordinates are X c and Y c , the major and minor semi-axes are a and b, respectively, and the inclination angle is θ .
The key to crater recognition is determining how to find the invariant relationship of craters in the projective transformation, and the invariant theory proves the existence of crater projection invariants [31]. Because the spacecraft in the landing state is close to the planetary surface, it can be assumed that all craters are locally coplanar, and the elliptical crater pair can form quadratic curve invariants I i j and I j i [39,40], defined as follows:
I i j = T r [ H i 1 H j ] ,   I j i = T r [ H j 1 H i ] .
where Tr represents the matrix trace. H i and H j are normalized ellipse equations, defined as follows:
M i = [ A i B i 2 D i 2 B i 2 C i F i 2 D i 2 F i 2 G i ] ,   H i = M i | M i | , M j = [ A j B j 2 D j 2 B j 2 C j F j 2 D j 2 F j 2 G j ] ,   H j = M j | M j | .

2.1. Database Establishment

An appropriate number of navigation craters are selected to build a database. Too many navigation craters will make the database large, which will increase the redundancy of craters for filtering and increase the computational burden. When there are too few navigation craters, the probability of selecting non-navigation craters in the recognition process will increase, and the matching rate will decrease. A suitable selection principle is designed, similar to the first step of data preprocessing in the LIS recognition. First, considering the principle of prioritizing large craters, it is necessary to eliminate small craters and retain large craters as navigation craters. Secondly, considering the possible detection errors caused by overlapping craters in the sequence images, it is necessary to remove the overlapping craters. Finally, the navigation crater table will be selected, as shown in Table 1 in Figure 2. Table 1 is conducive to the design of a state table in the recognition process and speeds up the algorithm efficiency, as discussed in Section 2.2.3. Table 1 stores the index, true number, coordinates, and radius of navigation craters, respectively. The records in Table 1 are arranged according to the index. The table is stored as a two-dimensional matrix, and the row index of each matrix is the real serial number of the navigation crater.
The diameter of the maximum FOV at the highest landing height is recorded as d, and the invariants I i j and I j i are calculated according to formula (5) for all the navigation craters H i and H j within distance d. The constructed database is shown in “Database” in Figure 2. In the program, Database is stored as a two-dimensional matrix, and each one-dimensional row vector consists of the serial numbers of crater pair and the related invariants. At the same time, the database records are arranged according to the invariants I i j from small to large. The database can subsequently be searched by binary search method. The database in this paper has various advantages, including a small capacity, fast search, and suitability for iterative recognition algorithms. Rather than storing at least seven projective invariants formed by crater triangles, the database only stores two invariants formed by crater pairs. Whether it is the number of stored records or the number of invariants in a single record, the database capacity is greatly reduced, thereby increasing the search speed.

2.2. LIS Recognition

The flow of the LIS recognition algorithm is shown in Figure 3, and it includes data preprocessing, crater pair filtering based on dynamic thresholds, crater tuple construction, and iterative pyramid matching. The image preprocessing principle corresponds to the navigation crater selection principle, which is to remove overlapping craters and recognize large craters first (Section 2.2.1). After preprocessing, three craters i, j, and k are selected in pairs, the invariants and dynamic thresholds of the three crater pairs are calculated, and the database is searched to obtain three sets of crater pairs ij, ik, and jk (Section 2.2.2). Through the collection of three crater pairs ij, ik, and jk, all tuple combinations that are connected end to end are obtained to form a tuple set ijk (Section 2.2.3). Finally, the fourth crater l is added to form a pyramid with i, j, and k, and the database is searched in the same way to obtain the sets il, jl, and kl. Combined with the ijk tuple set, a part of the tuple redundancy can be removed. Each additional l removes some of the redundancy of ijk. When only one tuple is left, the recognition finishes, and the recognition set of the last l is retained (Section 2.2.4). The recognized craters in this paper are ellipses that have been detected by the image processing method, and the craters in each frame of images are represented by the ellipse parameters.

2.2.1. Data Preprocessing

The detected craters’ data in the image need to be preprocessed before applying the crater recognition algorithm. The preprocessing principles include removing overlapping craters and prioritizing large craters. First, because the detection error of overlapping craters is large, all overlapping craters in the image are removed first. As shown in Figure 4, when elliptical craters overlap, it is generally easier to detect only large craters, as shown in Figure 4a. When elliptical craters are close enough or even overlap, it is generally easy to be mistakenly detected as red ellipses in Figure 4b,c. Second, because the large craters are less sensitive to detection noise, they are preferred to be selected for recognition, as shown in Figure 5d.
Knowing all the detected elliptical crater parameters in the image, including the center coordinates x, y and the major and minor semi-axes a, b of each ellipse, the method calculates the distance between the centers of any two ellipses and the average radius a + b 2 of each ellipse. Two craters are considered to be overlapping if the distance is less than the radius. The use of the average radius fully takes the false detections of various ellipse crater into account, as shown in Figure 4b,c. The semi-axes of ellipse craters in most landing sequence images are approximately equal. The calculation procedure is detailed in Algorithm 1.
Algorithm 1. Remove overlapping craters
Input: Set1, craters detected in the sequence image
Output: craters without overlapping
Initialization: the center coordinate of crater is xy, the major and minor half axis is ab
1:    for crater m in Set1 do:
2:        for another crater n in Set1 do:
3:              dis =  ( x m x n ) 2 + ( y m y n ) 2 ;
4:              sum_r =  ( a m + b m + a n + b n ) / 2
5:              if dis < sum_r then:
6:                  delete mn in Set1
7:              end if
8:        end for
9:    end for

2.2.2. Crater Pair Filtering Based on Dynamic Thresholds

The crater pair filtering method needs to calculate the invariant of the crater pair to be recognized, and the database is searched within a threshold range to obtain a set of possible crater pairs. Although projective invariants can help to recognize craters in the image coordinates with the database, the invariants are greatly disturbed by detection noise, which will affect the final matching rate [32].
In the application of crater matching, the invariant I i j is the function value determined by the center coordinates X c and Y c , the major and minor semi-axes a and b, and the tilt angle θ . If the ellipse parameters deviate greatly, the invariants will also deviate greatly from the true values. A correlation experiment proved that the relationship is nonlinear, that is, when the parameters are closer to the true values, the errors of the invariants are not necessarily smaller. The error is defined as Δ I i j = | I n o i s e I t r u e | . I n o i s e represents the invariant calculated from the detected noise parameters, and I t r u e represents the true invariant obtained from the ellipse parameters without noise. If using the fixed Δ I i j to filter all possible redundant crater pairs, there are the following issues:
(1)
The magnitudes of the invariants calculated by different craters are different;
(2)
Small thresholds filter out less redundancy, but the probability of not being able to filter out the true craters is high;
(3)
The crater sets filtered by a large threshold have a high probability of including the true crater, but the redundancy of the sets is also large.
The aforementioned problems show that the uncertainty caused by the fixed threshold is large, so the dynamic threshold is used instead. The dynamic threshold factor is defined as the ratio of the invariant change to the true value of the invariant, denoted as f a c t o r = Δ I i j | I i j | . Thus, the dynamic Δ I i j for each pair of craters is calculated by Δ I i j = f a c t o r × | I i j | .
The experiment in Figure 5 proves that with certain noise conditions, the dynamic threshold calculated by factor is smaller than the fixed threshold. According to Figure 5b, if the maximum fixed threshold is set to 1200, there will be considerable redundancy, especially when I i j ( 2000 ,   0 ) . If using the dynamic threshold, as shown in Figure 5c, the factor is set to 0.3, and the maximum threshold calculated by the invariant in I i j ( 2000 ,   0 ) is 600 < 1200. The smaller the value of | I i j | , the smaller the value of Δ I i j , and the fewer the possible crater pairs in the filtered set. In addition, it can be seen from Figure 5d that if the crater is larger, the calculated | I i j | will be smaller, the obtained search range will also be smaller, and the possible craters will be fewer. In summary, the smaller the absolute value of the invariant, the less suitable it is to use a fixed threshold to filter crater pairs, and it is more suitable to use a dynamic threshold. Therefore, in the recognition experiment, an invariant with a smaller absolute value (large craters) should be selected as much as possible.
A dynamic threshold can not only reduce a considerable amount of redundancy and improve the efficiency of the algorithm, but it can also select the true crater with a large probability to improve the matching rate. According to the aforementioned three problems caused by the fixed threshold, the dynamic threshold effectively solves the first problem, and the second and third problems are comprehensively considered to obtain a suitable dynamic threshold factor. Experiments of dynamic threshold are discussed in Section 3.2.
Based on the invariants I i j and I j i calculated for each pair of craters and the search range calculated by the dynamic threshold factor, the lower and upper search limits of the two groups of invariants, denoted as m i n i j ,   m i n j i and m a x i j , m a x j i , respectively, are calculated as follows:
m i n i j = I i j Δ I i j ,   m a x i j = I i j + Δ I i j , m i n j i = I j i Δ I j i ,   m a x j i = I j i + Δ I j i .
A binary search of all possible crater pairs that satisfy m i n i j I i j m a x i j and m i n j i I j i m a x j i is performed.

2.2.3. Crater Tuple Construction

There are many crater pairs that meet the search conditions, and all possible crater pairs are filtered based on the pyramid structure. All redundant sets of base tuples of the pyramid need to be found, as shown in Figure 6. The set of crater pairs that have been searched are ij, ik, and jk, and the number of crater pairs contained therein is n(ij), n(jk), and n(ik), respectively. The first step of recognition needs to find three crater pairs p 1 i j , p 2 j k , and p 3 i k , and the condition of the end-to-end connection needs to be satisfied, that is, these crater pairs only have one common navigation crater. If ( p 1 , p 2 , p 3 ) satisfies the conditions, it can constitute a base tuple of the pyramid, whose set is denoted as ijk.
In general, it takes n ( i j ) × n ( j k ) × n ( i k ) comparison operations to search by a traversal combination method in the three sets of ij, ik, and jk, which is time-consuming. To avoid this situation, a simple and fast searching method based on the state table can be used with the table of navigation crater pairs (Table 1 in Figure 3). It searches for qualified ( p 1 , p 2 , p 3 ) values by setting and judging the state of the navigation crater, as shown in Figure 6. The calculation procedure is detailed in Algorithm 2, and the sequential steps are as follows.
(1)
Set a status flag for each navigation crater in the navigation table and initialize it to ‘0’ before recognition;
(2)
Traverse the set of ij. Set the status of the navigation crater in ij to ‘1’ and record the serial number j of the other crater that forms the crater pair with i;
(3)
Traverse the set of ik. If the status of the corresponding navigation crater is not ‘0’, set the status of the crater to ‘2’ and record the serial number k of the other crater that forms the crater pair with i;
(4)
Traverse the state table. If the status of navigation crater is ‘2’, then judge whether the recorded (j, k) is in set jk, and if so, store it in the tuple set ijk.
Algorithm 2. Tuple searching
Input: three sets of ijik, and jk
Output: tuple set ijk
1:    Initialization: initialize the stateTable to 1160 rows and three columns of 2D 
       vectors, representing state = ‘0’, j, and k. Initialize ijk to an empty list.
2:    for m in ij do:
3:        change the state of [0] to  ‘1’
4:        stateTable[m [0]][1] = m [1]
5:        change the state of m [1] to ‘1’
6:        stateTable[m [1]][1] = m [0]
7:    end for
8:    for n in ik do:
9:          if stateTable[n [0]][0] is not ‘0’ then:
10:            stateTable[n [0]][0] = ‘2’
11:            stateTable[n [0]][2] = n [1] 
12:        end if
13:        if stateTable[n [1]][0] is not ‘0’ then:
14:            stateTable[n [1]][0] = ‘2’
15:            stateTable[n [1]][2] = n [0] 
16:        end if
17:    end for
18:    for crater ‘i’ in stateTable do:
19:        if the state of crater ‘i’ is ‘2’ then:
20:            if all combinations of set j and set k are in jkthen append current tuple to ijk
21:            end if
22:        end if
23:    end for
The efficiency of this algorithm is O(n(ij) + n(ik) + len(navigation craters)), which is proportional to the length of the crater pair set. It also proves that the crater pairs with less redundancy are preferred in the preprocessing step. The ijk set obtained by the tuple recognition algorithm needs to be further filtered by the iterative pyramid algorithm.

2.2.4. Iterative Pyramid Matching

The purpose of the pyramid algorithm is to find the correct recognition in the set of tuples ijk, and this process needs to provide filtering conditions to remove redundant tuples in the set. The pyramid algorithm adds another crater to the base tuple to form a pyramid, which can add three more crater pairs to filter the redundancy, as shown in Figure 7.
The fourth crater can form three crater pairs with the base tuple. The invariants and thresholds are calculated with the same method, and the database is searched to obtain the set of crater pairs il, jl, and kl, as shown in Figure 7. We know that the correct craters i, j, and k must be in the sets il, jl, and kl, respectively, which can be a filtering condition to remove redundant tuples in the set ijk. A pyramid often cannot obtain a unique filtering result, so multiple iterations are needed to select multiple craters l to form a pyramid. The recognition result of crater l can be obtained when filtering the tuple set, but there are often multiple solutions. Thus, when the solution is reduced to only one tuple, the unique tuple and the recognized set of the last crater l are returned. The flow diagram of the iterative pyramid-matching algorithm is shown in Figure 8.
Generally, only running the iterative pyramid algorithm for a set of tuples is likely to filter the redundancy to 0 due to non-navigation craters. Another likely situation is that all possible craters l are traversed, and the algorithm fails to obtain a unique recognition result, so it is necessary to traverse other base tuples ijk and implement the iterative pyramid algorithm to find a unique recognition. Combined with the crater pair filtering algorithm and the iterative pyramid algorithm, the calculation procedure is detailed in Algorithm 3, and the main steps for a sequence image matching are as follows.
(1)
Input the current sequence image and preprocess the crater data. Generate a sorted tuple set to be matched according to the number of redundancies, from small to large;
(2)
Traverse the tuple set. If the redundancy of the current tuple is greater than the limit (set as 20,000), then the image fails to match. If not, a binary search method will be used to form three sets of crater pairs ij, ik, jk;
(3)
Get tuple ijk by the crater tuple construction method;
(4)
Traverse the remaining craters l and get the sets of il, jl, kl by the binary search method. Then, input them to the pyramid algorithm to get the set ijkl. If the tuple set is filtered to only 1, the pyramid algorithm will return the recognized results and the last {l}, and the algorithm ends;
(5)
If the number of ijkl is 0, go back to step (2);
(6)
If the crater l is the last crater in the current image, go back to step (2);
(7)
If the number of matched tuples reaches to the limit (set as 10), the algorithm ends.
Algorithm 3. LIS Recognition
Input: craters in a sequence image, navigation crater database
Output: identified craters
1:    Initialization: all overlapping craters in the image are eliminated, and the matching 
        crater tuples are sorted by the length of crater pair sets from smallest to largest; the 
        sorted set is sortTuples  
2:    selectedCrater is an empty list to store the selected crater in the image
3:    flag is used to break from the operation and is initialized to 0
4:    num is used for recording the number of tuples and is initialized to 0  
5:    max_tuple is the maximum number of matching tuples
6:    for ijk in sortTuples do:
7:          num = num + 1
8:          selectedCrater append the i, j, k
9:          binary search ijik, and jk in database
10:        search tuple ijk by Algorithm 1
11:        for l in remaining craters do:
12:                if l not in selectedCrater then:
13:                    selectedCrater append the l
14:                    binary search iljl, and kl in database
15:                    filter ijk by iterative pyramid algorithm to ijkl
16:                    if len(ijkl) == 1 then:
17:                        flag = 1
18:                        break
19:                    end if
20:                    if len(ijkl) == 0 then:
21:                        break
22:                    end if
23:                end if
24:        end for
25:        if flag == 1 then break
26:        end if
27:        if num == max_tuple then break
28:        end if
29:    end for

2.3. Reprojection Validation

As shown in Figure 9, the world coordinate system is O xyz w , and the center of the map is the origin of the world coordinate system. The coordinate system of the lander body is O xyz m , and the camera is fixed on the lander to shoot vertically downward. The camera coordinate system is O xyz c , which can be transformed to the image plane O xy i m a g e by a perspective transformation. According to the perspective projection model of the camera, the image coordinates converted from the world coordinate of the crater are denoted as
s [ u v 1 ] = [ α x 0 u 0 0 α y v 0 0 0 1   0 0 0 ] [ R t o T 1 ] [ X w Y w Z w 1 ] = K [ R | t ] P w ,
where K is the camera-internal parameter matrix, R the rotation matrix, t the translation vector, P w the world coordinate, and (u, v) are the pixel coordinates on the image plane. R and t constitute the pose T.
The crater recognition can estimate the correspondence between the craters observed on the image plane and the craters in the world coordinate system. The LIS recognition algorithm outputs the recognized results of the three craters i, j, and k and the crater l that constitute the last pyramid, as shown in Figure 9. With the 3D coordinates of the four crater centers in the world coordinate system, the 2D coordinates in the image coordinate system, and the camera-internal matrix known, the problem of estimating the transformation matrix from the world coordinate system to the camera coordinate system can be converted into a PNP problem. Because the crater l has multiple solutions, it is necessary to traverse the set l to obtain the pose. At present, the research on solving the PNP problem is very mature. This paper uses the non-linear Levenberg–Marquardt iterative method [41,42] to solve the PNP problem, which has been integrated into the opencv [43] library.
For each possible crater l, it is determined whether it is likely to be in the same field of view with the recognized craters i, j, and k. If possible, then the rotation matrix and translation vector are solved, and all navigation craters are converted to the image coordinate system according to formula (6) to obtain the re-projected image. The crater distances in the re-projected image and the real frame image are compared. If they are close enough, the current pose is correct, that is, the current crater l is correctly recognized. In this paper, the Gaussian angle [31] is used to measure the ellipse distance d, as shown in Equation (7), and the Euclidean distance is not suitable for an ellipse.
d ( p , q ) = a r c c o s { 4 | Y p | | Y q | | Y p + Y q | exp [ 1 2 ( y p y q ) T Y p ( Y p + Y q ) 1 Y q ( y p y q ) ] }
where p, q represent two ellipses, and Y p = [ cos θ p sin θ p sin θ p cos θ p ] [ 1 / a p 2 0 0 1 / b p 2 ] [ cos θ p sin θ p sin θ p cos θ p ] , y p T = [ X p , Y p ] is the center coordinate of the ellipse.
The initial inputs of the re-projection validation method are the recognized craters i, j, k and the recognized set {l}. Finally, the algorithm returns the lander pose. The sequential steps of the method are as follows:
(1)
Traverse the set {l}. Obtain the 3D center coordinate set of the craters i, j, k, l in the world coordinate system and the 2D center coordinate set in the image coordinate system. These two point sets are in one-to-one correspondence;
(2)
For each possible crater l, it is determined whether it is likely to be in the same field of view with the recognized craters i, j, and k. If not, go back to step (1);
(3)
Use the non-linear Levenberg–Marquardt iterative method to solve the PNP problem and get the pose T;
(4)
Project all navigation craters to the image plane by formula (6) to get the projected image;
(5)
Calculate the Gaussian angular distance between the projected and the real craters by formula (8) and record it as a 2D matrix dis. The number of rows is the number of real craters, and the number of columns is the number of projected craters;
(6)
If each column in dis has only one value less than or equal to a distance threshold (set to arccos(0.001)), it is considered that the currently recognized I, j, k, l and the calculated pose are correct. If not, go back to step (1).

3. Results

The experiment was conducted using a constructed landing environment, and sequence images and the corresponding pose were collected. Then, an appropriate dynamic threshold factor was selected to search for the set of crater pairs, and finally the crater matching rates at different heights and different sequences were evaluated. Finally, the results were compared with those of other methods under the same conditions. Section 3.1 introduces the construction of the used dataset and simulation environment, while Section 3.2 and Section 3.3 evaluate the crater matching rate and pose error. The processor used in the experiment was an Intel Core i7-10750H, and the amount of RAM was 16 GB.

3.1. Dataset

3.1.1. Select Navigation Craters

At present, many researchers have studied various crater detection methods and established crater datasets of planets such as Mars under the guidance of geographic experts [19,20,21,22]. In this paper, the landing navigation research was carried out based on the Bandeira Mars dataset [22], as shown in Figure A1. This dataset has been used in many studies [37,44], and its map was captured by a high-precision stereo camera on Mars Express. The Bandeira database included a 40 km × 59 km region, covering an area of 2360   km 2 , located between Mars −47.66′E/−48.68′E and North latitude 7.28′N/7.95′N. This area contained a huge number of craters. There are a total of 3050 craters in the database, with radii between 20 and 5000 m. The number and sizes of the craters in the dataset were analyzed, as shown in Figure 10. Most of the craters had small radii. There were only 20 large craters with radii greater than 40 pixels, and 947 craters had radii of less than 6 pixels.
An appropriate number of navigation craters in the Bandeira database were selected. Large craters were prioritized. Thus, it was necessary to eliminate small craters as much as possible and retain large craters as navigation craters. In the Bandeira dataset, small craters (the red craters in Figure 11) were proposed, and there were 1263 remaining craters. Then, according to the “non-overlapping” principle, the overlapping craters (the green craters in Figure 11) were removed, and finally 1160 craters remained (the blue craters in Figure 11). Our database contained 111,133 crater pairs that were generated in the FOV.

3.1.2. Collecting Landing Data

In this paper, a simulation platform was used to collect the landing and descent sequence data, including a total of 12,160 sequence images and the pose corresponding to each frame image. The simulation platform was based on a Linux system and included three components: A Gazebo physical simulation platform, a Robotic Operating System (ROS), and PX4 aircraft firmware in the ROS system. The control program interacted with the Gazebo world through the Mavlink protocol. The aircraft was equipped with a monocular camera, which could obtain the pose information of the aircraft and output images in real time.
Based on the landing parameters of Perseverance [45], the height of the TRN was 2–4.2 km, the camera FOV was set to 90°, and the image size was set to 1024 × 1024 pixels. Because different numbers of navigation craters in the descent area affected the matching rate, we collected different sequences in different areas from sparse to dense. The craters in the descending area of sequence 1 were the sparsest, and the craters in the descending area of sequence 5 were the densest.
The transformation matrix from the body coordinate system O x y z m to the camera coordinate system O x y z c in the simulation environment is denoted as T c m , and the camera-internal parameter is K. These are defined as follows:
T cm = [ 0 1 0 0   1 0 0 0   0 0 1 0   0 0 0 1 ] , K = [ 512.4 0 512 0 512.4 512 0 0 1 ] .
We used the ROS system to send flight instructions, and then the aircraft flew after receiving the message and output the captured image. At the same time, it accepted the real attitude T m w of the aircraft sent by Gazebo and collected the descending sequence images. The true ellipse value of the crater in each image was obtained as follows:
[ u i m g v i m g ] = K T c m T m w [ X w Y w Z w 1 ] .
Several points were selected on the crater edge in the world coordinate system, converted to the image coordinate system through formula (9), and an ellipse was fit. Solving for the pose was just the inverse of the aforementioned process, which required the image coordinates of the crater and the actual world coordinates.

3.2. Dynamic Threshold Experiment

According to Section 2.2.2, an appropriate dynamic threshold factor needed to be selected. If the selected threshold factor were too large, the number of redundant crater pairs would increase, and the matching rate and recognition efficiency would be reduced.
Different Gaussian noise was added to the major and minor semi-axes a and b, the inclination angle θ , and the coordinates of the center point x and y [46]. Crater pairs were randomly selected, and Δ I i j I i j was calculated, as shown in Figure 12, Figure 13 and Figure 14. The a and b axes of different craters were quite different, so the added noise of the axes could not be fixed. On the one hand, considering the ellipse detection algorithm, the radius of the elliptical crater detected by the traditional method was much less than 5% of the true value [47]. The a and b axes of the ellipse detected by a deep learning method were 10.3% of the true value [48]. Other studies generally added 5% Gaussian noise or less to the axes of the ellipse [30]. On the other hand, other crater-based recognition methods [32] usually add N(0,1) Gaussian noise to x and y and add a mean noise below 10° to θ . Thus, a reasonable but strict condition of the noise was set in this study: σ a , b 10 % and σ θ 10 ° ,   σ x , y 2 .
Figure 12, Figure 13 and Figure 14 show the distributions of Δ I ij I i j for different σ a , b , σ θ , and σ x , y values, respectively. It can be seen that the noise of the major and minor axes of the ellipse had a greater impact on the invariant than the other ellipse parameters.
In this paper, the factor of 0.3 was selected. As shown by the red lines in Figure 15, 0.3 could capture most of the points. For all the sequence images, the matching rate was the proportion of images whose poses were solved correctly in all sequence images. However, beyond a certain limit, a larger factor will not have a larger matching rate, as shown in Figure 15. The larger the dynamic threshold, the more redundant the matching. In this case, the number of non-navigation craters increased, the matching rate decreased, and the processing time also greatly increased. Considering the matching rate and efficiency comprehensively, the dynamic threshold factor was reasonably chosen as 0.3.
The experiment compared the crater recognition results of a dynamic threshold and a fixed threshold. As shown in Figure 16, fixed thresholds of 40, 50, 60, and 70 were selected to compare the matching rates under different noise conditions (Figure 16a,c,e) and the average processing time per frame (Figure 16b,d,f). It can be seen that the smaller the fixed threshold, the lower the matching rate, and the larger the fixed threshold, the slower the speed. Compared with the fixed threshold, the dynamic threshold improved the matching rate by at least 10%, and the average processing speed was increased by 40%. This again demonstrated the effectiveness of the dynamic threshold.

3.3. Matching Results

Under different noise conditions, the matching rates of different sequences were calculated, as shown in Figure 17. The matching rate of sequence 1 was always the smallest, while the matching rate of sequence 5 was the highest. The main reason was the density of the navigation craters. The navigation craters in the descending area of sequence 1 were sparse, while the navigation craters in the descending area of sequence 5 were dense.
In addition, the noise of θ had less impact on the matching rate, and the noise of a and b had a greater impact on the matching rate. The indirect reason was that a and b had a greater impact on Δ I i j I ij . Except for sequence 1, other sequences still had a matching rate of more than 80% under different noise conditions of θ   , x , and y when σ a , b 5 % . The matching rate in our method had a strong robustness to noise.
For the actual situation of landing navigation, LIS recognition is used for the initialization process of pose estimation. In the subsequent process, when the initial pose is known, tracking recognition is used for relative navigation. Once the tracking is lost, initialization is performed again to obtain the estimated value of the attitude. Therefore, the matching rates of all the sequences with different heights under different noise conditions were analyzed, as shown in Figure 18.
When fewer than three craters were observed, the matching method failed, so when the altitude range was [2–2.5] km, the matching rate decreased. When σ a , b 5 % , the matching rates of other height ranges were maintained at 80% and above, which proved that after observing at least three craters, the probability of normally initializing and obtaining the pose at each height was >80%.
Compared with the matching rates obtained by other LIS recognition methods, our method had outstanding advantages, as shown in Table 1. N(0,1) means that the parameter followed a Gaussian distribution with mean value of 0 and variance of 1. u(−10, 10) means that the parameter followed a uniform distribution from −10 to 10. Under the same noise, the matching rate of the iterative pyramid algorithm was greatly improved compared with Park’s method [30] and Doppenberg’s method [32]. With the noise of a, b~N(0,1), x, y~N(0, 0.5), and θ ~N(0,5), the iterative pyramid algorithm with a threshold factor of 0.3 could achieve a matching rate of 89.67% >> 41.70%. When the noise was set to two times the original, the matching rate obtained by the iterative pyramid algorithm decreased, but it still reached 86.29%.
Under the noise of a, b~N(0,1), x, y~N(0,1), and θ ~u(−10,10), the iterative pyramid algorithm with a threshold factor of 0.3 reached a matching rate of 86.99%. When the noise was set to two times the original, the matching rate obtained by our method was 79.93%, which was much higher than that obtained by Doppenberg’s method. At the same time, the matching rate of the iterative pyramid algorithm with a threshold factor of 0.4 was tested with the same noise conditions. Compared with the matching rate for a threshold factor of 0.3, the matching rate with a factor of 0.4 was lower, but it was still higher than that of the first two methods, even with stricter noise conditions, which further confirmed the effectiveness and robustness of the dynamic threshold and iterative pyramid algorithm.
Based on the recognized craters, the pose was obtained by solving the PNP problem and using the ellipse center coordinates. Figure 19 shows the influence of different σ θ , σ a , b , and σ x , y on the error of the pose. Overall, the accuracy of the estimated pose was high, and the angle errors were less than about 2°.
[ t 1 , t 2 , t 3 ] T represents the position coordinates of the lander in the world coordinate system, and Figure 20 shows the influence of σ θ , σ a , b , and σ x , y on the position error. The distance t 1 2 + t 2 2 + t 3 2 was calculated with different amounts of noise, which showed that the maximum distance error was 44 m, and the minimum error was 20 m.
In 2020, the Tianwen-1 lander used image matching for landing [49]. Under the guidance of the initial pose, the final attitude error of the lander was 2°, and the position error was estimated to be about 100 m. In the same year, NASA used an inertial measurement unit (IMU) and vision-aided technology for track navigation in the Mars 2020 lander vision system field test, whose landing error was 40 m [9]. In this paper, with more severe navigation conditions, that is, only relying on visual information and without any initial attitude, the measured attitude error was 2° and the position error was 44 m, which provides a robust and accurate initial position for subsequent tracking and navigation. This further proved the robustness of the crater recognition method in this paper.
For each sequence image, the time complexity of the program mainly comes from two parts. The first is the algorithm to find the crater tuples to be matched, including the pair-searching algorithm and the tuple-searching algorithm. The time complexity of searching the database by binary method is O(log(n)), and the time complexity of obtaining the tuple set by the tuple-searching algorithm is O(n(ij) + n(ik) + length(naviCraters)), which is proportional to the length of the crater pair set. The second is the pyramid algorithm to filter tuple redundancy, and the time complexity is O(n(ijk)), which is proportional to the length of the tuple. So, the total time complexity is O(log(n)) + O(n(ij) + n(ik) + length(naviCraters)) + O(n(ijk)). The average LIS recognition time per frame is 2.555 s from the experiment.

4. Discussion

In the field of deep space exploration, crater-based landing navigation algorithms are required to provide an accurate and fast initial attitude estimation result for an LIS scenario. Pose estimation is related to the recognition algorithm, so the recognition algorithm and the pose estimation algorithm must be considered a whole, and the recognition result needs to be verified by estimating the pose using a re-projection method. When the detection error of the major and minor axes of the ellipse reached 5%, the detection error of the center point reached 1 pixel, and the tilt angle error reached 5°. Figure 17 and Figure 18 show that the LIS matching rate on the iterative pyramid algorithm could still reach >80% after re-projection verification. The estimated attitude error in the simulation environment was less than 2°, and the position error was less than 44 m, which showed that the method was robust and accurate.
The dynamic threshold was designed to solve the problem that the projective invariants were greatly disturbed by noise. Figure 16 shows that compared with the fixed threshold, the dynamic threshold could improve the matching rate by at least 10%, and the average processing speed was increased by 40%, which proved the effectiveness of the dynamic threshold. In addition, this paper mainly solves the problem of the initial pose estimation for LIS scenarios. Determining how to use the obtained initial pose for tracking navigation and how to use fuse other sensors to improve the navigation accuracy and design a long-term, stable, and real-time pose estimation algorithm deserves further attention.

5. Conclusions

This paper introduces the known crater recognition methods and proposes a crater LIS recognition method based on an iterative pyramid algorithm for absolute pose estimation. It is mainly divided into three parts. First, navigation craters are selected from the craters in the selected map to establish a small-capacity and high-efficiency crater database, and the serial numbers and projective invariants of the crater pair are stored. Second, based on the iterative pyramid algorithm, the detected craters are matched with the craters in the database, and four craters are recognized. Finally, four pairs of 3D–2D points can constitute the PNP problem. For the case of the fourth crater with multiple solutions, the estimated pose is obtained by iteratively traversing all possible craters, and then all navigation craters are re-projected for verification. The pose is considered correct if the craters in the current image and the re-projected image are very close.
Through experimental analysis, this paper effectively solved the problem that the projective invariant is sensitive to noise, and a matching rate of >80% was achieved based on a dynamic threshold and the iterative pyramid algorithm. The estimated attitude error in the simulation environment was less than 2°, and the position error was less than 44 m. Compared with the fixed threshold, the dynamic threshold could improve the matching rate by at least 10% and the average processing speed by 40%, providing a fast, accurate, and robust initial pose for subsequent tracking navigation.

Author Contributions

L.X. is responsible for the research ideas, overall work, the experiments, and the writing of this paper; J.J. supervised the study and modified the paper; Y.M. provided guidance and modified the paper. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by the National Natural Science Foundation of China (No.61725501).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are contained within the article or Appendix A.

Acknowledgments

This work was supported by the Key Laboratory of Precision Opto-mechatronics Technology, Ministry of Education, Beihang University, China.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Figure A1. Banderia Mars Crater Database.
Figure A1. Banderia Mars Crater Database.
Remotesensing 14 06027 g0a1

References

  1. Dionne, K. Improving Autonomous Optical Navigation for Small Body Exploration Using Range Measurement. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Chicago, IL, USA, 10–13 August 2009. [Google Scholar]
  2. Cheng, Y.; Ansar, A. Landmark based position estimation for pinpoint landing on mars. In Proceedings of the 2005 IEEE International Conference on Robotics and Automation, Barcelona, Spain, 18–22 April 2005; pp. 1573–1578. [Google Scholar]
  3. Wright, C.A.; Van Eepoel, J.; Liounis, A.; Shoemaker, M.; DeWeese, K.; Getzandanner, K. Relative Terrain Imaging Navigation (Retina) Tool for the Asteroid Redirect Robotic Mission (Arrm). Adv. Astronaut. Sci. 2016, 157, 475–487. [Google Scholar]
  4. Theil, S.; Ammann, N.; Andert, F.; Franz, T.; Krüger, H.; Lehner, H.; Lingenauber, M.; Lüdtke, D.; Maass, B.; Paproth, C. ATON (Autonomous Terrain-based Optical Navigation) for exploration missions: Recent flight test results. CEAS Space J. 2018, 10, 325–341. [Google Scholar] [CrossRef]
  5. Downes, L.M.; Steiner, T.J.; How, J.P. Lunar Terrain Relative Navigation Using a Convolutional Neural Network for Visual Crater Detection. In Proceedings of the 2020 American Control Conference (ACC), Denver, CO, USA, 1–3 July 2020; pp. 4448–4453. [Google Scholar]
  6. Christian, J.A. Optical navigation using planet’s centroid and apparent diameter in image. J. Guid. Control Dyn. 2015, 38, 192–204. [Google Scholar] [CrossRef]
  7. Johnson, A.E.; Montgomery, J.F. Overview of Terrain Relative Navigation Approaches for Precise Lunar Landing. In Proceedings of the 2008 IEEE Aerospace Conference, Big Sky, MT, USA, 1–8 March 2008; pp. 1–10. [Google Scholar]
  8. Alfredo, R. A Robust Crater Matching Algorithm for Autonomous Vision-Based Spacecraft Navigation. In Proceedings of the 2021 IEEE 8th International Workshop on Metrology for AeroSpace (MetroAeroSpace), Online, 23–25 June 2021; pp. 322–327. [Google Scholar]
  9. Johnson, A.; Villaume, N.; Umsted, C.; Kourchians, A.; Sternberg, D.; Trawny, N.; Cheng, Y.; Geipel, E.; Montgomery, J. The Mars 2020 Lander Vision System Field Test; Jet Propulsion Laboratory, National Aeronautics and Space Administration: Pasadena, CA, USA, 2020. [Google Scholar]
  10. Zhu, S.; Xiu, Y.; Zhang, N.; Xu, R.; Cui, P. Crater-based attitude and position estimation for planetary exploration with weighted measurement uncertainty. Acta Astronaut. 2020, 176, 216–232. [Google Scholar] [CrossRef]
  11. Yu, M.; Li, S.; Wang, S.; Huang, X. Single crater-aided inertial navigation for autonomous asteroid landing. Adv. Space Res. 2019, 63, 1085–1099. [Google Scholar] [CrossRef]
  12. Miller, Y.C.a.J.K. Autonomous landmark based spacecraft navigation system. In Proceedings of the 2003 AAS/AIAA Astrodynamics Specialist Conference, Ponce, PR, USA, 9–13 February 2003. [Google Scholar]
  13. Lowe, D.G. Distinctive image features from scale-invariant keypoints. Int. J. Comput. Vis. 2004, 60, 91–110. [Google Scholar] [CrossRef]
  14. Andersson, L.B.; Whitaker, B.A. Nasa Catalogue of Lunar Nomenclature. In NASA Reference Publication 1097; NASA: Washington, DC, USA, 1982. [Google Scholar]
  15. Head, J.W.; Fassett, C.I.; Kadish, S.J.; Smith, D.E.; Zuber, M.T.; Neumann, G.A.; Mazarico, E. Global Distribution of Large Lunar Craters: Implications for Resurfacing and Impactor Populations. Science 2010, 329, 1504–1507. [Google Scholar] [CrossRef]
  16. Neumann, G.A.; Zuber, M.T.; Wieczorek, M.A.; Head, J.W.; Baker, D.M.H.; Solomon, S.C.; Smith, D.E.; Lemoine, F.G.; Mazarico, E.; Sabaka, T.J.; et al. Lunar impact basins revealed by gravity recovery and interior laboratory measurements. Sci. Adv. 2015, 1, e1500852. [Google Scholar] [CrossRef]
  17. Povilaitis, R.Z.; Robinson, M.S.; van der Bogert, C.H.; Hiesinger, H.; Meyer, H.M.; Ostrach, L. Crater density differences: Exploring regional resurfacing, secondary crater populations, and crater saturation equilibrium on the moon. Planet. Space Sci. 2018, 162, 41–51. [Google Scholar] [CrossRef]
  18. Robbins, S.J.; Hynek, B.M. A Global Lunar Crater Database, Complete for Craters!1 KM, III: Reassessing the lunar crater production function, and lessons learned applied to the global mars crater database. In Proceedings of the 49th Lunar and Planetary Science Conference, The Woodlands, TX, USA, 19–23 March 2018. [Google Scholar]
  19. Salamunićcar, G.; Lončarić, S. GT-57633 catalogue of Martian impact craters developed for evaluation of crater detection algorithms. Planet. Space Sci. 2008, 56, 1992–2008. [Google Scholar] [CrossRef]
  20. Salamunićcar, G.; Lončarić, S.; Mazarico, E. LU60645GT and MA132843GT catalogues of Lunar and Martian impact craters developed using a Crater Shape-based interpolation crater detection algorithm for topography data. Planet. Space Sci. 2012, 60, 236–247. [Google Scholar] [CrossRef]
  21. Salamunićcar, G.; Lončarić, S.; Pina, P.; Bandeira, L.; Saraiva, J. MA130301GT catalogue of Martian impact craters and advanced evaluation of crater detection algorithms using diverse topography and image datasets. Planet. Space Sci. 2011, 59, 111–131. [Google Scholar] [CrossRef]
  22. Bandeira, L.; Ding, W.; Stepinski, T.F. Detection of sub-kilometer craters in high resolution planetary images using shape and texture features. Adv. Space Res. 2012, 49, 64–74. [Google Scholar] [CrossRef]
  23. Robbins, S.J.; Hynek, B.M. A new global database of Mars impact craters ≥ 1 km: 2. Global crater properties and regional variations of the simple-to-complex transition diameter. J. Geophys. Res. Planets 2012, 117, 1–21. [Google Scholar] [CrossRef]
  24. Robbins, S.J.; Hynek, B.M. A new global database of Mars impact craters ≥ 1 km: 1. Database creation, properties, and parameters. J. Geophys. Res. Planets 2012, 117, 1–18. [Google Scholar] [CrossRef]
  25. Salamunićcar, G.; Lončarić, S.; Pina, P.; Bandeira, L.; Saraiva, J. Integrated method for crater detection from topography and optical images and the new PH9224GT catalogue of Phobos impact craters. Adv. Space Res. 2014, 53, 1798–1809. [Google Scholar] [CrossRef]
  26. Tian, Y.; Yu, M.; Yao, M.; Huang, X. Crater Edge-based Flexible Autonomous Navigation for Planetary Landing. J. Navig. 2018, 72, 649–668. [Google Scholar] [CrossRef]
  27. Solarna, D.; Gotelli, A.; Le Moigne, J.; Moser, G.; Serpico, S.B. Crater Detection and Registration of Planetary Images Through Marked Point Processes, Multiscale Decomposition, and Region-Based Analysis. IEEE Trans. Geosci. Remote Sens. 2020, 58, 6039–6058. [Google Scholar] [CrossRef]
  28. Hanak, F.C. Lost in Low Lunar Orbit Crater Pattern Detection and Identification. Ph.D. Thesis, The University of Texas at Austin, Austin, TX, USA, 2009. [Google Scholar]
  29. Hanak, C.; Crain, T.; Bishop, R. Crater identification algorithm for the lost in low lunar orbit scenario. Adv. Astronaut. Sci. 2010, 137, 2010. [Google Scholar]
  30. Park, W.; Jung, Y.; Bang, H.; Ahn, J. Robust Crater Triangle Matching Algorithm for Planetary Landing Navigation. J. Guid. Control Dyn. 2019, 42, 402–410. [Google Scholar] [CrossRef]
  31. Christian, J.A.; Derksen, H.; Watkins, R. Lunar crater identification in digital images. J. Astronaut. Sci. 2021, 68, 1056–1144. [Google Scholar] [CrossRef] [PubMed]
  32. Doppenberg, W. Autonomous Lunar Orbit Navigation with Ellipse R-CNN. Master’s Thesis, Delft University of Technology, Delft, The Netherlands, 2021. [Google Scholar]
  33. Shao, W.; Xie, J.C.; Cao, L.; Leng, J.G.; Wang, B.N. Crater matching algorithm based on feature descriptor. Adv. Space Res. 2020, 65, 616–629. [Google Scholar] [CrossRef]
  34. Mortari, D.; Samaan, M.A.; Bruccoleri, C.; Junkins, J.L. The pyramid star identification technique. Navigation 2004, 51, 171–183. [Google Scholar] [CrossRef]
  35. Bandeira, L.; Saraiva, J.; Pina, P. Impact Crater Recognition on Mars Based on a Probability Volume Created by Template Matching. IEEE Trans. Geosci. Remote Sens. 2007, 45, 4008–4015. [Google Scholar] [CrossRef]
  36. Barata, T.; Alves, E.I.; Saraiva, J.; Pina, P. Automatic Recognition of Impact Craters on the Surface of Mars. In Image Analysis and Recognition; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2004; pp. 489–496. [Google Scholar]
  37. Chen, Z.; Jiang, J. Crater Detection and Recognition Method for Pose Estimation. Remote Sens. 2021, 13, 3467. [Google Scholar] [CrossRef]
  38. Maass, B.; Woicke, S.; Oliveira, W.M.; Razgus, B.; Krueger, H. Crater Navigation System for Autonomous Precision Landing on the Moon. J. Guid. Control Dyn. 2020, 43, 1414–1431. [Google Scholar] [CrossRef]
  39. Forsyth, D.; Mundy, J.L.; Zisserman, A.; Coelho, C.; Heller, A.; Rothwell, C. Invariant descriptors for 3 d object recognition and pose. IEEE Trans. Pattern Anal. 1991, 13, 971–991. [Google Scholar] [CrossRef]
  40. Quan, L.; Gros, P.; Mohr, R. Invariants of a pair of conics revisited. Image Vis. Comput. 1992, 10, 319–323. [Google Scholar] [CrossRef]
  41. Madsen, K.; Nielsen, H.B.; Tingleff, O. Methods for Non-Linear Least Squares Problems; DTU: Kongens Lyngby, Denmark, 2004. [Google Scholar]
  42. Eade, E. Gauss-Newton/Levenberg-Marquardt Optimization; Technical Report; UAB: Barcelona, Spain, 2013. [Google Scholar]
  43. Bradski, G. The openCV library. Dr. Dobb J. Softw. Tools Prof. Program. 2000, 25, 120–123. [Google Scholar]
  44. Wang, H.; Jiang, J.; Zhang, G. CraterIDNet: An End-to-End Fully Convolutional Neural Network for Crater Detection and Identification in Remotely Sensed Planetary Images. Remote Sens. 2018, 10, 1067. [Google Scholar] [CrossRef]
  45. Maki, J.; Gruel, D.; McKinney, C.; Ravine, M.; Morales, M.; Lee, D.; Willson, R.; Copley-Woods, D.; Valvo, M.; Goodsall, T. The Mars 2020 Engineering Cameras and microphone on the perseverance rover: A next-generation imaging system for Mars exploration. Space Sci. Rev. 2020, 216, 1–48. [Google Scholar] [CrossRef]
  46. Dong, W.; Isler, V. Ellipse Regression with Predicted Uncertainties for Accurate Multi-View 3D Object Estimation. arXiv 2020, arXiv:2101.05212. [Google Scholar]
  47. Cheng, Y.; Johnson, A.E.; Matthies, L.H.; Olson, C.F. Optical landmark detection for spacecraft navigation. In Proceedings of the 2003 AAS/AIAA Astrodynamics Specialist Conference, Ponce, PR, USA, 9–13 February 2003. [Google Scholar]
  48. Dong, W.B.; Roy, P.; Peng, C.; Isler, V. Ellipse R-CNN: Learning to Infer Elliptical Object From Clustering and Occlusion. IEEE Trans. Image Process 2021, 30, 2193–2206. [Google Scholar] [CrossRef] [PubMed]
  49. Wan, W.; Yu, T.; Di, K.; Wang, J.; Liu, Z.; Li, L.; Liu, B.; Wang, Y.; Peng, M.; Bo, Z. Visual Localization of the Tianwen-1 Lander Using Orbital, Descent and Rover Images. Remote Sens. 2021, 13, 3439. [Google Scholar] [CrossRef]
Figure 1. Block diagram of the proposed framework for (1) database establishment, (2) crater recognition, and (3) re-projection validation. In the first part, the navigation craters are selected to establish a database, and I i j and I j i are the invariants of crater pair (i, j). In the second part, the crater in the current sequence image is detected to obtain the ellipse parameters, and craters are recognized by an iterative pyramid algorithm. In the third part, the PNP problem is solved, and re-projection validation is performed on all navigation craters.
Figure 1. Block diagram of the proposed framework for (1) database establishment, (2) crater recognition, and (3) re-projection validation. In the first part, the navigation craters are selected to establish a database, and I i j and I j i are the invariants of crater pair (i, j). In the second part, the crater in the current sequence image is detected to obtain the ellipse parameters, and craters are recognized by an iterative pyramid algorithm. In the third part, the PNP problem is solved, and re-projection validation is performed on all navigation craters.
Remotesensing 14 06027 g001
Figure 2. Navigation craters are selected, and all navigation craters in the field of view (FOV) are combined as pairs. The figure shows navigation craters and the database of crater pairs. The record in ”Navigation Craters” includes the index of the navigation crater, the true serial number of the crater, coordinate x, coordinate y, and the radius. The record in “Database” includes the index of navigation crater i, index of navigation crater j, and invariants I i j and I j i .
Figure 2. Navigation craters are selected, and all navigation craters in the field of view (FOV) are combined as pairs. The figure shows navigation craters and the database of crater pairs. The record in ”Navigation Craters” includes the index of the navigation crater, the true serial number of the crater, coordinate x, coordinate y, and the radius. The record in “Database” includes the index of navigation crater i, index of navigation crater j, and invariants I i j and I j i .
Remotesensing 14 06027 g002
Figure 3. Flowchart of the LIS recognition algorithm.
Figure 3. Flowchart of the LIS recognition algorithm.
Remotesensing 14 06027 g003
Figure 4. Detection errors for overlapping craters: (a) when elliptical craters overlap, it is generally easier to detect only large craters; (b) When elliptical craters are close enough, it is generally easy to be mistakenly detected as red ellipse; (c) When elliptical craters are partial overlap, it is generally easy to be mistakenly detected as red ellipse.
Figure 4. Detection errors for overlapping craters: (a) when elliptical craters overlap, it is generally easier to detect only large craters; (b) When elliptical craters are close enough, it is generally easy to be mistakenly detected as red ellipse; (c) When elliptical craters are partial overlap, it is generally easy to be mistakenly detected as red ellipse.
Remotesensing 14 06027 g004
Figure 5. Description of dynamic threshold: (a) invariant distribution range Δ I i j of randomly selected crater pairs, (b) invariant I i j of same crater pairs in (a), (c) Δ I i j | I i j | for different crater pairs, where the red line is for factor = 0.3, and (d) invariant distribution of crater pairs of different sizes.
Figure 5. Description of dynamic threshold: (a) invariant distribution range Δ I i j of randomly selected crater pairs, (b) invariant I i j of same crater pairs in (a), (c) Δ I i j | I i j | for different crater pairs, where the red line is for factor = 0.3, and (d) invariant distribution of crater pairs of different sizes.
Remotesensing 14 06027 g005
Figure 6. Search the base tuple of the pyramid using the state table.
Figure 6. Search the base tuple of the pyramid using the state table.
Remotesensing 14 06027 g006
Figure 7. Fourth crater l is added, forming a pyramid to remove redundant tuples. If the set is reduced to only one tuple, the last matched crater set { l } is reserved.
Figure 7. Fourth crater l is added, forming a pyramid to remove redundant tuples. If the set is reduced to only one tuple, the last matched crater set { l } is reserved.
Remotesensing 14 06027 g007
Figure 8. The flow chart of iterative pyramid-matching method.
Figure 8. The flow chart of iterative pyramid-matching method.
Remotesensing 14 06027 g008
Figure 9. World coordinate system O xyz w , machine coordinate system O xyz m , camera coordinate system O xyz c , and image coordinate system O xy i m a g e . Pose is estimated from four recognized craters i, j, k, and l, which involves the rotation matrix R and translation matrix t.
Figure 9. World coordinate system O xyz w , machine coordinate system O xyz m , camera coordinate system O xyz c , and image coordinate system O xy i m a g e . Pose is estimated from four recognized craters i, j, k, and l, which involves the rotation matrix R and translation matrix t.
Remotesensing 14 06027 g009
Figure 10. Number of craters with different radius sizes in the Bandeira database.
Figure 10. Number of craters with different radius sizes in the Bandeira database.
Remotesensing 14 06027 g010
Figure 11. Red craters are small craters, and green craters are overlapping craters. Both the red and green craters were removed, while blue craters were the navigation craters that remained in the end.
Figure 11. Red craters are small craters, and green craters are overlapping craters. Both the red and green craters were removed, while blue craters were the navigation craters that remained in the end.
Remotesensing 14 06027 g011
Figure 12. Dynamic thresholds for different invariants with σ a , b increasing: (a) σ a , b = 2.5 % , (b) σ a , b = 5.0 % , (c) σ a , b = 7.5 % , and (d) σ a , b = 10.0 % .
Figure 12. Dynamic thresholds for different invariants with σ a , b increasing: (a) σ a , b = 2.5 % , (b) σ a , b = 5.0 % , (c) σ a , b = 7.5 % , and (d) σ a , b = 10.0 % .
Remotesensing 14 06027 g012
Figure 13. Dynamic thresholds for different invariants with σ θ increasing: (a) σ θ = 2.5 , (b) σ θ = 5.0 , (c) σ θ = 7.5 , and (d) σ θ = 10.0 .
Figure 13. Dynamic thresholds for different invariants with σ θ increasing: (a) σ θ = 2.5 , (b) σ θ = 5.0 , (c) σ θ = 7.5 , and (d) σ θ = 10.0 .
Remotesensing 14 06027 g013
Figure 14. Dynamic thresholds for different invariants with σ x , y increasing: (a) σ x , y = 0.5 , (b) σ x , y = 1.0 , (c) σ x , y = 1.5 , and (d) σ x , y = 2.0 .
Figure 14. Dynamic thresholds for different invariants with σ x , y increasing: (a) σ x , y = 0.5 , (b) σ x , y = 1.0 , (c) σ x , y = 1.5 , and (d) σ x , y = 2.0 .
Remotesensing 14 06027 g014
Figure 15. Matching rate and time consumed for different σ a , b ,   σ θ , and σ x , y with different dynamic factors. (a) Matching rate for different σ a , b ; (b) Time consumed for different σ a , b ; (c) Matching rate for different σ θ ; (d) Time consumed for different σ θ ; (e) Matching rate for different σ x , y ; (f) Time consumed for different σ x , y .
Figure 15. Matching rate and time consumed for different σ a , b ,   σ θ , and σ x , y with different dynamic factors. (a) Matching rate for different σ a , b ; (b) Time consumed for different σ a , b ; (c) Matching rate for different σ θ ; (d) Time consumed for different σ θ ; (e) Matching rate for different σ x , y ; (f) Time consumed for different σ x , y .
Remotesensing 14 06027 g015aRemotesensing 14 06027 g015b
Figure 16. Matching rate and time consumed for different values of σ a , b , σ θ , and σ x , y with different thresholds.
Figure 16. Matching rate and time consumed for different values of σ a , b , σ θ , and σ x , y with different thresholds.
Remotesensing 14 06027 g016aRemotesensing 14 06027 g016b
Figure 17. Matching percentage with different noise for five sequences.
Figure 17. Matching percentage with different noise for five sequences.
Remotesensing 14 06027 g017
Figure 18. Matching percentage with different noise for different heights. [4.2, 4.0] in the legend indicates that the altitude range was between 4.2–4 km.
Figure 18. Matching percentage with different noise for different heights. [4.2, 4.0] in the legend indicates that the altitude range was between 4.2–4 km.
Remotesensing 14 06027 g018
Figure 19. Angle errors of roll, pitch, and yaw when noise increasing.
Figure 19. Angle errors of roll, pitch, and yaw when noise increasing.
Remotesensing 14 06027 g019
Figure 20. Position errors with noise increasing.
Figure 20. Position errors with noise increasing.
Remotesensing 14 06027 g020
Table 1. Comparison of matching rates calculated by different methods.
Table 1. Comparison of matching rates calculated by different methods.
Methods a , b   ( % ) x, y θ Matching Rate (%)
Park’s method [30]N(0,1)N(0,0.5)N(0,5)41.70
Iterative pyramid
approach (factor = 0.3)
N(0,1)N(0,0.5)N(0,5)89.67
N(0,2)N(0,1)N(0,10)86.29
Iterative pyramid
approach (factor = 0.4)
N(0,1)N(0,0.5)N(0,5)89.67
N(0,2)N(0,1)N(0,10)78.16
Doppenberg’s method [32]N(0,1)N(0,1)u(−10,10)14.00
Iterative pyramid
approach (factor = 0.3)
N(0,1)N(0,1)u(−10,10)86.99
N(0,2)N(0,2)u(−20,20)79.93
Iterative pyramid
approach (factor = 0.4)
N(0,1)N(0,1)u(−10,10)78.82
N(0,2)N(0,2)u(−20,20)72.25
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Xu, L.; Jiang, J.; Ma, Y. Ellipse Crater Recognition for Lost-in-Space Scenario. Remote Sens. 2022, 14, 6027. https://doi.org/10.3390/rs14236027

AMA Style

Xu L, Jiang J, Ma Y. Ellipse Crater Recognition for Lost-in-Space Scenario. Remote Sensing. 2022; 14(23):6027. https://doi.org/10.3390/rs14236027

Chicago/Turabian Style

Xu, Liheng, Jie Jiang, and Yan Ma. 2022. "Ellipse Crater Recognition for Lost-in-Space Scenario" Remote Sensing 14, no. 23: 6027. https://doi.org/10.3390/rs14236027

APA Style

Xu, L., Jiang, J., & Ma, Y. (2022). Ellipse Crater Recognition for Lost-in-Space Scenario. Remote Sensing, 14(23), 6027. https://doi.org/10.3390/rs14236027

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop