Spacecraft three-dimensional pose estimation method and system based on high-precision ellipse detection

By using an ellipse detection method based on joint arc segment circumference, the accuracy problem of three-dimensional pose estimation of spacecraft in low-light environment is solved, and high-precision pose estimation is achieved, supporting on-orbit servicing and space target capture of spacecraft.

CN117541808BActive Publication Date: 2026-08-04EAST CHINA UNIV OF SCI & TECH
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
EAST CHINA UNIV OF SCI & TECH
Filing Date
2023-10-20
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

Existing spacecraft pose estimation methods struggle to achieve high-precision and robust 3D pose estimation in low-light environments. In particular, it is difficult to distinguish between targets and backgrounds in 2D images, resulting in blurred edge contours, holes in 3D point clouds, and errors in depth information, which affect the accuracy of ellipse detection.

Method used

An ellipse detection method based on joint arc segment circumference is adopted. By extracting edge points, searching spatial hierarchy and fitting ellipse, the ellipse equation in the two-dimensional image of the spacecraft is solved. The three-dimensional pose is solved by combining the spacecraft depth map and model point cloud. This includes edge point extraction by Canny operator, ROI initialization and spatial compression transformation in five-dimensional parameter space, multi-peak detection and least squares fitting.

Benefits of technology

High-precision three-dimensional pose estimation of spacecraft was achieved in low-light environments, enabling accurate acquisition of spacecraft pose, supporting on-orbit servicing and space target acquisition missions, and improving the accuracy of pose prediction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117541808B_ABST
    Figure CN117541808B_ABST
Patent Text Reader

Abstract

This invention provides a method and system for spacecraft 3D pose estimation based on high-precision ellipse detection, comprising: solving the ellipse equation of the spacecraft docking ring in an input 2D image of the spacecraft using an ellipse detection method based on joint arc segment circumference, wherein the ellipse detection based on joint arc segment circumference includes edge point extraction, spatial hierarchy search, and ellipse fitting; and calculating the 3D pose of the spacecraft relative to the model point cloud based on the solved ellipse equation, the input spacecraft depth map, and the spacecraft model point cloud. This invention, based on technologies related to spacecraft pose estimation, 3D point cloud registration, and 2D image shape recognition, can obtain accurate pose information of the spacecraft in low-light environments.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of space target pose measurement technology, specifically to a method and system for spacecraft three-dimensional pose estimation based on high-precision ellipse detection. Background Technology

[0002] With the continuous development of the space industry, countries are intensifying their exploration of space, and the number of spacecraft launched into space is increasing. Besides satellites and spacecraft already in orbit, some faulty or malfunctioning spacecraft occupy orbits, threatening not only the normal operation of other spacecraft in orbit but also significantly impacting future launch missions. To accurately acquire the attitude and position of spacecraft and achieve tasks such as on-orbit servicing and space target acquisition, accurate attitude prediction of spacecraft has become a hot research topic.

[0003] Patent document CN108387206A (application number: CN201810062481.7) discloses a method for obtaining the three-dimensional attitude of a carrier based on the horizon and polarized light. First, the horizon is detected using the carrier's forward-facing camera. Based on the horizon's position in the image and camera parameters, the carrier's roll and pitch angles can be calculated. Second, a sky polarization information image is obtained from a polarization camera. The neutral point of polarization is extracted from the polarization image using an ellipse fitting method. A three-dimensional attitude equation for the carrier is established based on the transformation relationship between the neutral point and the geographic coordinate system. Finally, the roll and pitch angles obtained from horizon navigation are substituted into the three-dimensional attitude equation to calculate the carrier's heading angle, thus obtaining the carrier's three-dimensional attitude.

[0004] Currently, spatial pose estimation methods mainly include two-dimensional image pose estimation methods, such as PCA and linemod, and three-dimensional point cloud pose estimation methods, such as PPF and ICP. Since the space environment is mostly low-light, it is difficult to distinguish between the target and background in two-dimensional images, resulting in blurred edge contours; three-dimensional point clouds may exhibit holes and depth information errors. Both of these methods struggle to obtain accurate spacecraft pose information in low-light environments. Ellipse detection is now widely used for three-dimensional pose estimation of space targets; however, spacecraft noise, occlusion, and uneven illumination all affect the accuracy of ellipse detection. These factors make the edge contours of spacecraft images more complex, and severe clutter can obscure the true elliptical contour, or lead to missing or fragmented elliptical contours, significantly impacting the effectiveness of ellipse detection and thus the accuracy of three-dimensional pose estimation.

[0005] In ellipse detection, there are currently methods based on the Hough transform, methods based on least squares, methods based on genetic algorithms, and methods based on edge tracking. Among them, the methods based on the Hough transform and edge tracking are two common ellipse detection methods. The ellipse detection method based on the Hough transform operates at the pixel level rather than the circular arc level, so fragmented ellipses can be detected. However, due to the high-dimensional parameter space and the voting process for a large number of edge pixels, this method requires a large amount of computation and memory. The ellipse detection method based on edge tracking searches for elliptical arc segments from the edge contour and merges the arc segments belonging to the same ellipse, which has higher computational efficiency and storage efficiency. Additionally, since the methods based on edge tracking are all carried out at the circular arc level and the elliptical arc segments are cut into small pieces by image noise, their reliability in detecting fragmented ellipses is relatively low.

[0006] From the above discussion, it can be seen that neither the common three-dimensional point cloud pose estimation methods nor the three-dimensional pose estimation methods based on the existing ellipse detection can meet the high-precision three-dimensional pose estimation requirements of space spacecrafts in low-light environments. Therefore, finding a high-precision and highly robust three-dimensional pose estimation method is of great significance for the attitude estimation of space targets. Summary of the Invention

[0007] Aiming at the defects in the prior art, the purpose of the present invention is to provide a three-dimensional pose estimation method and system for spacecrafts based on high-precision ellipse detection.

[0008] The three-dimensional pose estimation method for spacecrafts based on high-precision ellipse detection provided by the present invention includes: solving the ellipse equation of the docking ring of the spacecraft in the input two-dimensional image of the spacecraft through an ellipse detection method based on the circularity of the joint arc segment, where the ellipse detection based on the circularity of the joint arc segment includes edge point extraction, spatial hierarchical search, and ellipse fitting; calculating the three-dimensional pose of the spacecraft relative to the model point cloud according to the obtained ellipse equation, the input depth map of the spacecraft, and the model point cloud of the spacecraft.

[0009] Preferably, the edge point extraction includes:

[0010] Step 1: Use the Canny operator to extract the contour of the input two-dimensional image of the spacecraft to obtain the edge map of the two-dimensional image, and extract the UV coordinates of the edge points with pixel value 1 in the edge map to obtain the edge point set;

[0011] Step 2: Group the edge point set according to the connected components;

[0012] Step 3: Randomly downsample the edge points in each individual group, and the downsampling rate is k, 0 < k < 1. If the total number of points in the input data point set is n, then the total number of points in the output data point set is k × n.

[0013] Preferably, the spatial hierarchy search includes:

[0014] Step 4: Initialize the Region of Interest (ROI) in the five-dimensional parameter space using the two-dimensional image of the spacecraft. First, construct the parameter space of the ellipse and establish the ellipse parameter expression:

[0015]

[0016] In the formula, (x0, y0) is the center of the ellipse; r is the length of the semi-minor axis of the ellipse; ρ is pi, which is the ratio of the semi-major axis to the semi-minor axis, ρ≥1; θ is the roll angle of the ellipse, which is the angle between the major axis of the ellipse and the positive direction of the x-axis of the coordinate system.

[0017] The five dimensions of the five-dimensional parameter space represent: the first dimension: the x-coordinate of the center point of the ellipse (x0); the second dimension: the y-coordinate of the center point of the ellipse (y0); the third dimension: the roll angle of the ellipse (θ); the fourth dimension: the circumference of the ellipse (π); and the fifth dimension: the semi-minor axis (r) of the ellipse.

[0018] The ROI is initialized as a five-dimensional cube in a five-dimensional parameter space, with the following five dimensions: First dimension: from 0 to the width of the image; Second dimension: from 0 to the height of the image; Third dimension: from 0 to π; Fourth dimension: from 1 to 5; Fifth dimension: from 0 to half the diagonal of the image.

[0019] Step 5: Perform uniform partitioning on the five-dimensional cube ROI, with each dimension being partitioned independently. The first dimension is uniformly partitioned into N... x Each segment is uniformly divided into N segments in the second dimension. y Each segment is uniformly divided into N segments in the third dimension. θ Each segment is uniformly divided into N segments in the fourth dimension. ρ Each segment is uniformly divided into N segments in the fifth dimension. t Each segment;

[0020] A spatial compression transformation is performed on the ROI, reducing its volume by utilizing extracted edge points. This spatial compression transformation includes voting based on the joint arc segment circumference, specifically:

[0021] Step 6: Extract all five-dimensional line segments from the segmented ROI. A five-dimensional line segment is a line segment in the five-dimensional parameter space. The two endpoints of the line segment are points on the mesh. Let the two endpoints be (a, b, c) and (a, b) respectively. x ,a y ,a θ ,a ρ ,r start ) and (a x ,a y ,a θ ,a ρ ,r end If the five-dimensional line segment is denoted as LS(a), then the five-dimensional line segment is denoted as LSx ,a y ,a θ ,a ρ ,r start ,r end );

[0022] Step 7: Based on the five-dimensional line segment LS(a) x ,a y ,a θ ,a ρ ,r start ,r end The elliptic parameter {a} in ) x ,a y ,a θ ,a ρ Construct the RAT operator, the expression is:

[0023]

[0024] Step 8: According to LS(a) x ,a y ,a θ ,a ρ ,r start ,r end The parameter range defined by (x) is used to filter the extracted edge points. i ,y i Let (x) be a point on the edge. i ,y i )satisfy:

[0025] r start ≤||RAT(a x ,a y ,a θ ,a ρ (x) i ,y i )||≤r end

[0026] Then point (x i ,y i ) in LS(a x ,a y ,a θ ,a ρ ,r stsrt ,r end If the parameter range is within the specified range, retain it; otherwise, discard it.

[0027] The filtered set of edge points still retains the previous grouping information. The set of all edge points in group i is denoted as the allowable edge SE. i SE of all different group numbers iThe set is denoted as the allowable edge set SES;

[0028] Step 9: A constructed set of permissible margins (SES) corresponds to a five-dimensional line segment (LS(a)). x ,a y ,a θ ,a ρ ,r start ,r end This five-dimensional line segment contains a coordinate point (a). x ,a y This point is the center of the ellipse. A set of permissible edges (SES) contains several permissible edges (SE). i This will allow edge SE i All points inside the circle and the center (a x ,a y Connect the lines and calculate their deflection angles relative to the positive x-axis of the coordinate system. Counterclockwise is positive, and clockwise is negative. Normalize all deflection angles to the interval [0, 2π]. Then decompose the interval [0, 2π] into N. close For each subinterval, score all subintervals: for a given subinterval, if an allowable edge SE exists... i If an edge point falls within a subinterval, the subinterval scores 1; otherwise, it scores 0. After scoring, a subinterval of length N is obtained. close A score list, where each element has a value of 0 or 1; after the above process, a permissible edge SE i This corresponds to a score list, denoted as the Minimal Allowable Edge (SSE). i Then, a set of permissive edges (SES) corresponds to several minimal permissive edges (SSE). i Then, the Non-Maximum Suppression (NMS) algorithm is used to apply the algorithm to all minimal allowable edges (SSE). i Perform a merge, and the resulting minimal allowable edge SSE i The set is called the minimal allowable edge set (SSES).

[0029] Step 10: Construct the nonlinear gain function NEI, satisfying:

[0030] Positive definiteness: if x≥0, NEI(x)≥0;

[0031] Order preservation: ifx1 <x2,NEI(x1)<NEI(x2);

[0032] Non-additivity:

[0033]

[0034] Among them, K base >1;

[0035] Step 11: First, calculate the stretching coefficient KEA from the circular arc segment to the elliptical arc segment. KEA is a variable with dimension N. close The column vector is expressed as:

[0036]

[0037]

[0038] Where, θ i It is the angle of inclination of the tangent line at the center point of the arc corresponding to each small interval, tan(θ). i ) represents the slope of the tangent line;

[0039] Minimal allowable edge SSE i The circumference of a circle is denoted as Circumference (SSE). i The expression is:

[0040] Circumference (SSE) i )=(SSES×KEA)(i)

[0041] The joint arc segment circumference NLC of the simplest allowable edge set SSES is denoted as NLC(SSES), and its expression is:

[0042]

[0043] Where, N se The simplest allowable edge (SSE) in the simplest allowable edge set (SSES) i The number of;

[0044] Step 12: A five-dimensional line segment LS corresponds to the joint arc circumference of a minimal allowable edge set. Define the joint arc circumference of the minimal allowable edge set as the vote count of the five-dimensional line segment. An ROI contains several five-dimensional line segments. Repeat steps 7 to 11 to calculate the vote count of all five-dimensional line segments in the ROI.

[0045] The spatial compression transformation includes multi-peak detection, specifically:

[0046] Step 13: Among all five-dimensional line segments, all r start and r end Identical line segments are grouped together, denoted as LS(*,r) start ,r end ), using peak detection to find LS(*,r start ,r end All peak values ​​in ) for all different (r start ,r end The LS(*,r) structure formed by ) start ,rend The above peak search is performed on all of them to obtain the five-dimensional line segments corresponding to several peaks; then non-maximum suppression (NMS) is applied to these line segments, and the five-dimensional line segments with the most votes in the top 50% are selected. The closure of these five-dimensional line segments is used as the final calculation result, and the ROI is output.

[0047] Step 14: Determine the size of the ROI. The ROI is a five-dimensional cube. Given thresholds dx, dy, dθ, dρ, and dr, if the following conditions are met simultaneously: the difference in the first dimension of the ROI ≤ dx, the difference in the second dimension of the ROI ≤ dy, the difference in the third dimension of the ROI ≤ dθ, the difference in the fourth dimension of the ROI ≤ dρ, and the difference in the fifth dimension of the ROI ≤ dr, then output the ROI; otherwise, return to step 5 to continue iterating.

[0048] Preferably, the ellipse fitting includes:

[0049] Step 15: Extract the points within the ROI from the edge points;

[0050] Step 16: Fit the extracted edge points using an ellipse fitting algorithm based on the least squares method to obtain the ellipse equation.

[0051] Preferably, calculating the three-dimensional pose of the spacecraft relative to the model point cloud includes:

[0052] Step 17: On the spacecraft's depth map, use the ellipse equation to segment the depth data of the docking ring. Specifically, iterate through each point on the depth map. If the point is inside the ellipse determined by the ellipse equation, keep it; otherwise, discard it. Finally, obtain the point cloud data of the docking ring.

[0053] Step 18: For the point cloud data of the docking ring, use the least squares method to fit the three-dimensional space plane and determine the normal vector of the plane;

[0054] Step 19: Based on the plane normal vector, determine the two radial rotational poses of the docking ring according to the point cloud of the spacecraft model;

[0055] Step 20: Obtain scene point cloud using spacecraft depth map, align the centroid of scene point cloud with model point cloud, and then rotate scene point cloud around centroid in the opposite direction according to the two rotation poses solved in the previous step; divide the range from 0 to 360 degrees into several sub-intervals, calculate the number of votes in each sub-interval, the number of votes is defined as the minimum root mean square error based on nearest neighbor, select the sub-interval with the smallest number of votes, repeat the above steps until the sub-interval is small enough, the angle corresponding to the sub-interval at this time is the required normal rotation pose.

[0056] The spacecraft three-dimensional pose estimation system based on high-precision ellipse detection provided by the present invention includes: solving the ellipse equation of the spacecraft docking ring in the input two-dimensional image of the spacecraft by an ellipse detection method based on the circularity of the joint arc segment, where the ellipse detection based on the circularity of the joint arc segment includes edge point extraction, spatial hierarchical search, and ellipse fitting; calculating the three-dimensional pose of the spacecraft relative to the model point cloud according to the obtained ellipse equation, the input depth map of the spacecraft, and the spacecraft model point cloud.

[0057] Preferably, the edge point extraction includes:

[0058] Module M1: Using the Canny operator to perform contour extraction on the input two-dimensional image of the spacecraft to obtain the edge map of the two-dimensional image, extracting the UV coordinates of the edge points with pixel value 1 in the edge map to obtain the edge point set;

[0059] Module M2: Grouping the edge point set according to connected components;

[0060] Module M3: Randomly downsampling the edge points in each individual group, with a downsampling rate of k, 0 < k < 1. If the total number of points in the input data point set is n, then the total number of points in the output data point set is k × n.

[0061] Preferably, the spatial hierarchical search includes:

[0062] Module M4: Initializing the region of interest ROI in the five-dimensional parameter space through the two-dimensional image of the spacecraft. First, construct the parameter space of the ellipse and establish the ellipse parameter expression:

[0063]

[0064] In the formula, (x0, y0) is the center of the ellipse; r is the length of the semi-minor axis of the ellipse; ρ is the ratio of the semi-major axis to the semi-minor axis, ρ ≥ 1; θ is the roll angle of the ellipse, which is the angle between the major axis of the ellipse and the positive direction of the x-axis of the coordinate system;

[0065] The five dimensions of the five-dimensional parameter space respectively represent: the first dimension: the x coordinate x0 of the center point of the ellipse; the second dimension: the y coordinate y0 of the center point of the ellipse; the third dimension: the roll angle θ of the ellipse; the fourth dimension: the ratio of the semi-major axis to the semi-minor axis ρ of the ellipse; the fifth dimension: the semi-minor axis r of the ellipse;

[0066] The ROI is initialized as a five-dimensional cube in the five-dimensional parameter space, and the ranges of its five dimensions are respectively: the first dimension: from 0 to the width of the image; the second dimension: from 0 to the height of the image; the third dimension: from 0 to π; the fourth dimension: from 1 to 5; the fifth dimension: from 0 to half of the diagonal of the image;

[0067] Module M5: Performs uniform partitioning on a five-dimensional cube ROI, where each dimension is partitioned independently. The first dimension is uniformly partitioned into N... x Each segment is uniformly divided into N segments in the second dimension. y Each segment is uniformly divided into N segments in the third dimension. θ Each segment is uniformly divided into N segments in the fourth dimension. ρ Each segment is uniformly divided into N segments in the fifth dimension. r Each segment;

[0068] A spatial compression transformation is performed on the ROI, reducing its volume by utilizing extracted edge points. This spatial compression transformation includes voting based on the joint arc segment circumference, specifically:

[0069] Module M6: Extracts all five-dimensional line segments from the segmented ROI. A five-dimensional line segment is a line segment in the five-dimensional parameter space, and the two endpoints of the line segment are points on the segmented grid. Let the two endpoints be (a, b, c) and (d, d) respectively. x ,a y ,a θ ,a ρ ,r start ) and (a x ,a y ,a θ ,a ρ ,r end If the five-dimensional line segment is denoted as LS(a), then the five-dimensional line segment is denoted as LS x ,a y ,a θ ,a ρ ,r start ,r end );

[0070] Module M7: Based on the five-dimensional line segment LS(a x ,a y ,a θ ,a ρ ,r start ,r end The elliptic parameter {a} in ) x ,a y ,a θ ,a ρ Construct the RAT operator, the expression is:

[0071]

[0072] Module M8: According to LS(a x ,a y ,a θ ,a ρ ,r start ,r end The parameter range defined by (x) is used to filter the extracted edge points.i ,y i Let (x) be a point on the edge. i ,y i )satisfy:

[0073] r start ≤||RAT(a x ,a y ,a θ ,a ρ (x) i ,y i )||≤r end

[0074] Then point (x i ,y i ) in LS(a x ,a y ,a θ ,a ρ ,r start ,r end If the parameter range is within the specified range, retain it; otherwise, discard it.

[0075] The filtered set of edge points still retains the previous grouping information. The set of all edge points in group i is denoted as the allowable edge SE. i SE of all different group numbers i The set is denoted as the allowable edge set SES;

[0076] Module M9: A constructed set of permissible edges SES corresponds to a five-dimensional line segment LS(a x ,a y ,a θ ,a ρ ,r start ,r end This five-dimensional line segment contains a coordinate point (a). x ,a y This point is the center of the ellipse. A set of permissible edges (SES) contains several permissible edges (SE). i This will allow edge SE i All points inside the circle and the center (a x ,a y Connect the lines and calculate their deflection angles relative to the positive x-axis of the coordinate system. Counterclockwise is positive, and clockwise is negative. Normalize all deflection angles to the interval [0, 2π]. Then decompose the interval [0, 2π] into N. close For each subinterval, score all subintervals: for a given subinterval, if an allowable edge SE exists... i If an edge point falls within a subinterval, the subinterval scores 1; otherwise, it scores 0. After scoring, a subinterval of length N is obtained. closeA score list, where each element has a value of 0 or 1; after the above process, a permissible edge SE i This corresponds to a score list, denoted as the Minimal Allowable Edge (SSE). i Then, a set of permissive edges (SES) corresponds to several minimal permissive edges (SSE). i Then, the Non-Maximum Suppression (NMS) algorithm is used to apply the algorithm to all minimal allowable edges (SSE). i Perform a merge, and the resulting minimal allowable edge SSE i The set is called the minimal allowable edge set (SSES).

[0077] Module M10: Constructs a nonlinear gain function NEI that satisfies:

[0078] Positive definiteness: if x≥0, NEI(x)≥0;

[0079] Order preservation: ifx1 <x2,NEI(x1)<NEI(x2);

[0080] Non-additivity:

[0081]

[0082] Among them, K base >1;

[0083] Module M11: First, calculate the stretching coefficient KEA from the circular arc segment to the elliptical arc segment. KEA is a variable with dimension N. cloee The column vector is expressed as:

[0084]

[0085]

[0086] Where, θ i It is the angle of inclination of the tangent line at the center point of the arc corresponding to each small interval, tan(θ). i ) represents the slope of the tangent line;

[0087] Minimal allowable edge SSE i The circumference of a circle is denoted as Circumference (SSE). i The expression is:

[0088] Circumference (SSE) i )=(SSES×KEA)(i)

[0089] The joint arc segment circumference NLC of the simplest allowable edge set SSES is denoted as NLC(SSES), and its expression is:

[0090]

[0091] Where, N se The simplest allowable edge (SSE) in the simplest allowable edge set (SSES) i The number of;

[0092] Module M12: A five-dimensional line segment LS corresponds to the joint arc circumference of a minimal allowable edge set. The joint arc circumference of the minimal allowable edge set is defined as the vote count of the five-dimensional line segment. An ROI contains several five-dimensional line segments. Modules M7 to M11 are triggered repeatedly to calculate the vote count of all five-dimensional line segments in the ROI.

[0093] The spatial compression transformation includes multi-peak detection, specifically:

[0094] Module M13: Among all five-dimensional line segments, all r start and r end Identical line segments are grouped together, denoted as LS(*,r) start ,r end ), using peak detection to find LS(*,r start ,r end All peak values ​​in ) for all different (r start ,r end The LS(*,r) structure formed by ) start ,r end The above peak search is performed on all of them to obtain the five-dimensional line segments corresponding to several peaks; then non-maximum suppression (NMS) is applied to these line segments, and the five-dimensional line segments with the most votes in the top 50% are selected. The closure of these five-dimensional line segments is used as the final calculation result, and the ROI is output.

[0095] Module M14: Determines the size of the ROI. The ROI is a five-dimensional cube. Given thresholds dx, dy, dθ, dρ, and dr, if the following conditions are met simultaneously: the difference in the first dimension of the ROI ≤ dx, the difference in the second dimension of the ROI ≤ dy, the difference in the third dimension of the ROI ≤ dθ, the difference in the fourth dimension of the ROI ≤ dρ, and the difference in the fifth dimension of the ROI ≤ dr, then the ROI is output; otherwise, module M5 is triggered to continue the iteration.

[0096] Preferably, the ellipse fitting includes:

[0097] Module M15: Extracts points from the edge points that fall within the ROI range;

[0098] Module M16: Fits the extracted edge points using an ellipse fitting algorithm based on the least squares method to obtain the ellipse equation.

[0099] Preferably, calculating the three-dimensional pose of the spacecraft relative to the model point cloud includes:

[0100] Module M17: On the spacecraft's depth map, the depth data of the docking ring is segmented using the ellipse equation. Specifically, each point on the depth map is traversed. If the point is within the ellipse defined by the ellipse equation, it is retained; otherwise, it is discarded. Finally, the point cloud data of the docking ring is obtained.

[0101] Module M18: For the point cloud data of the docking ring, the least squares method is used to fit the three-dimensional space plane to determine the normal vector of the plane;

[0102] Module M19: Based on the plane normal vector, it determines two radial rotational poses of the docking ring according to the point cloud of the spacecraft model;

[0103] Module M20: Obtain scene point cloud using spacecraft depth map, align the centroid of scene point cloud with model point cloud, and then rotate scene point cloud around centroid in the opposite direction according to the two rotation poses solved in the previous step; divide the range from 0 to 360 degrees into several sub-intervals, calculate the number of votes in each sub-interval, the number of votes is defined as the minimum root mean square error based on nearest neighbor, select the sub-interval with the smallest number of votes, until the sub-interval is small enough, the angle corresponding to the sub-interval at this time is the required normal rotation pose.

[0104] Compared with the prior art, the present invention has the following beneficial effects:

[0105] Based on technologies such as spacecraft pose estimation, 3D point cloud registration, and 2D image shape recognition, this invention can accurately acquire the pose of spacecraft, enabling on-orbit servicing and space target capture, and achieve accurate pose prediction of spacecraft. It can also obtain accurate pose information of spacecraft in low-light environments. Attached Figure Description

[0106] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:

[0107] Figure 1 This is an overall flowchart of the present invention;

[0108] Figure 2 The flowchart for ellipse detection based on the circumference of joint arc segments is shown below.

[0109] Figure 3 Here is a flowchart of the spatial compression transformation process;

[0110] Figure 4 This is a flowchart of pose estimation based on the ellipse equation. Detailed Implementation

[0111] The present invention will be described in detail below in conjunction with specific embodiments. The following embodiments will help those skilled in the art to further understand the present invention, but do not limit the present invention in any form. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present invention, several changes and improvements can still be made. These all fall within the protection scope of the present invention.

[0112] Embodiment 1:

[0113] The present invention aims to achieve high-precision pose estimation of space spacecrafts in low-light environments. As Figure 1 shown, the present invention is divided into two parts. One is to solve the elliptic equation of the spacecraft docking ring in the input two-dimensional image of the spacecraft through an elliptic detection method based on the circularity of the joint arc segment. The other is to calculate the three-dimensional pose of the spacecraft relative to the model point cloud according to the obtained elliptic equation, the input depth map of the spacecraft, and the spacecraft model point cloud. The specific steps are as follows:

[0114] 1 Elliptic detection based on the circularity of the joint arc segment <00,00651>As Figure 2 shown, the elliptic detection based on the circularity of the joint arc segment is mainly divided into three major parts, including edge point extraction, spatial hierarchical search, and elliptic fitting.

[0116] 1.1 Edge point extraction

[0117] Step 1: Canny edge extraction

[0118] Use the Canny operator to extract the contour of the input two-dimensional image of the spacecraft to obtain the edge map of the two-dimensional image. Extract the UV coordinates of the edge points (points with pixel value of 1) in the edge map to obtain the edge point set.

[0119] Step 2: Connected component grouping

[0120] Group the above edge point set according to the connected components.

[0121] Step 3: Uniform random downsampling

[0122] Randomly downsample the edge points in each individual group, and the downsampling rate is k (0 < k < 1). If the total number of points in the input data point set is n, then the total number of points in the output data point set is k × n.

[0123] 1.2 Spatial hierarchical search

[0124] Step 4: Initialization of ROI in the five-dimensional parameter space

[0125] Initialize the ROI (Region of Interest) of the five-dimensional parameter space through the two-dimensional image of the spacecraft.

[0126] First, ellipse detection is based on solving the equation of an ellipse, so it is necessary to construct the parameter space of the ellipse. The parametric expression of the ellipse is established based on the general ellipse formula:

[0127]

[0128] In the formula, (x0, y0) is the center of the ellipse; r is the length of the semi-minor axis of the ellipse; ρ is pi (i.e., the ratio of the semi-major axis to the semi-minor axis ρ≥1); θ is the roll angle of the ellipse (i.e., the angle between the major axis of the ellipse and the positive direction of the x-axis of the coordinate system).

[0129] Based on the definition of the ellipse equation above, a five-dimensional parameter space can be constructed. The five dimensions of the five-dimensional parameter space represent:

[0130] First dimension: x-coordinate of the center point of the ellipse, x0.

[0131] Second dimension: y-coordinate y0 of the center point of the ellipse.

[0132] The third dimension: the roll angle θ of the ellipse.

[0133] Fourth dimension: Pi (ρ) of the ellipse.

[0134] Fifth dimension: the semi-minor axis r of the ellipse.

[0135] The ROI is initialized as a five-dimensional cube in a five-dimensional parameter space, with the following ranges for its five dimensions:

[0136] First dimension: from 0 to the width of the image (in pixels).

[0137] Second dimension: from 0 to the height of the image (in pixels).

[0138] Third dimension: from 0 to π (unitless).

[0139] Fourth dimension: from 1 to 5 (unitless).

[0140] Fifth dimension: from 0 to half the diagonal of the image (in pixels).

[0141] Step 5: Uniform division of ROI

[0142] A five-dimensional cube ROI is uniformly partitioned, with each dimension being independent. The first dimension is uniformly partitioned into N... x Each segment is uniformly divided into N segments in the second dimension. y Each segment is uniformly divided into N segments in the third dimension. θ Each segment is uniformly divided into N segments in the fourth dimension. ρ Each segment is uniformly divided into N segments in the fifth dimension. r Each segment.

[0143] Spatial compression transformation takes one Region of Interest (ROI) as input and outputs another ROI, aiming to reduce the volume of the input ROI by utilizing extracted edge points. Spatial compression transformation consists of two parts: voting based on joint arc segment circumference and multi-peak detection. The flowchart of spatial compression transformation is shown below. Figure 3 As shown.

[0144] 1.2.1 Voting based on the circumference of the joint arc segment

[0145] Step 6: Construction of Five-Dimensional Line Segments

[0146] Extract all five-dimensional line segments from the segmented ROI. A five-dimensional line segment is a line segment in the five-dimensional parameter space, and its two endpoints are points on the segmented grid. Let the two endpoints be (a...). x ,a y ,a θ ,a ρ ,r start ) and (a x ,a y ,a θ ,a ρ ,r end If the five-dimensional line segment is denoted as LS(a), then the five-dimensional line segment is denoted as LS x ,a y ,a θ ,a ρ ,r start ,r wnd ).

[0147] Step 7: Construction of RAT Operator

[0148] According to the five-dimensional line segment LS(a) x ,a y ,a θ ,a ρ ,r start ,r end The elliptic parameter {a} in ) x ,a y ,a θ ,a ρ Construct the RAT operator.

[0149]

[0150] Step 8: Construction of the Permissive Edge Set (SES)

[0151] According to LS(a) x ,a y ,a θ ,a ρ ,r start ,r end The extracted edge points are filtered within the parameter range defined by (x). Specifically, let (x)i ,y i Let (x) be a point on the edge. i ,y i )satisfy:

[0152] r start ≤||RAT(a x ,a y ,a θ ,a ρ (x) i ,y i )||≤r end

[0153] Then point (x i ,y i ) in LS(a x ,a y ,a θ ,a ρ ,r start ,r end If the parameter range is within the specified range, it will be retained; otherwise, it will be discarded.

[0154] The filtered set of edge points still retains the previous grouping information. The set of all edge points in group i is denoted as the allowable edge SE. i SE of all different group numbers i The set of allowable edges is denoted as SES.

[0155] Step 9: Construction of the Minimal Allowable Edge Set (SSES)

[0156] A constructed set of permissible margins (SES) corresponds to a five-dimensional line segment (LS). x ,a y ,a θ ,a ρ ,r start ,r end This five-dimensional line segment contains a coordinate point (a). x ,a y This point is the center of the ellipse. A set of permissible edges (SES) contains several permissible edges (SE). i Will allow edge SE i All points inside the circle and the center (a x ,a y Connect the points and calculate their deflection angles relative to the positive x-axis of the coordinate system, with counterclockwise being positive and clockwise being negative. Normalize all deflection angles to the interval [0, 2π]. Then decompose the interval [0, 2π] into N... close Subintervals. Scoring all subintervals: For a given subinterval, if an allowable edge SE exists... iIf an edge point falls within a subinterval, the subinterval scores 1; otherwise, it scores 0. After scoring, a subinterval of length N is obtained. close The score list, where each element has a value of 0 or 1. After the above process, a permissible edge SE... i This corresponds to a score list, denoted as the Minimal Allowable Edge (SSE). i Therefore, a set of permissive edges (SES) corresponds to several minimal permissive edges (SSE). i Then, the Non-Maximum Suppression (NMS) algorithm is used to process all minimal allowable edges (SSEs). i Perform a merge, and the resulting minimal allowable edge SSE i The set of s is called the minimal allowable edge set SSES.

[0157] Step 10: Construction of the Nonlinear Gain Function (NEI)

[0158] A univariate function that satisfies the following three conditions is called a nonlinear gain function (NEI):

[0159] (1) Positive definiteness: if x≥0, NEI(x)≥0

[0160] (2) Order preservation: ifx1 <x2,NEI(x1)<NEI(x2)

[0161] (3) Non-additivity:

[0162] We use the following function as the specific implementation of the nonlinear gain function (NEI):

[0163]

[0164] Where K base >1.

[0165] Step 11: Calculate the joint arc circumference (NLC) of the Minimal Acceptable Edge Set (SSES).

[0166] First, calculate the stretching coefficient KEA from the circular arc segment to the elliptical arc segment. KEA is a variable with dimension N. close Column vectors.

[0167]

[0168]

[0169] Where θ i It is the angle of inclination of the tangent line at the center point of the arc corresponding to each small interval, tan(θ). i The slope of the tangent is denoted as . The minimum allowable edge SSE is... iThe circumference of a circle is denoted as Circumference (SSE). i The calculation process is as follows:

[0170] Circumference (SSE) i )=(SSES×KEA)(i)

[0171] The joint arc circumference (NLC) of the minimal allowable edge set (SSES) is denoted as NLC(SSES) and is defined as follows:

[0172]

[0173] Where, N se The simplest allowable edge (SSE) in the simplest allowable edge set (SSES) i The number of.

[0174] Step 12: Calculate the number of votes for all five-dimensional line segments.

[0175] The calculations from step 7 to step 11 show that: a five-dimensional line segment LS(a x ,a y ,a θ ,a ρ ,r start ,r end A RAT operator can be constructed to obtain a set of permissive margins (SES) and a set of minimal permissive margins (SSES). The joint arc circumference (NLC) of the minimal permissive margin set (SSES) is calculated using the constructed nonlinear gain function (NEI). Therefore, a five-dimensional line segment LS corresponds to the joint arc circumference of a minimal permissive margin set. The joint arc circumference of the minimal permissive margin set is defined as the vote count of the five-dimensional line segment.

[0176] In step 6, an ROI contains several five-dimensional segments, and the vote count of all five-dimensional segments in the ROI is calculated according to the process from step 7 to step 11.

[0177] 1.2.2 Multi-peak detection

[0178] Step 13: Perform multi-peak detection on the number of votes for all five-dimensional line segments.

[0179] In all five-dimensional line segments, all r start and r end Identical line segments are grouped together, denoted as LS(*,r) start ,r end Peak detection can be used to find LS(*,r). start ,r end All peak values ​​in (r). For all different (r) start ,rend The LS(*,r) structure formed by ) start ,r end The above peak search is performed on all of them to obtain the five-dimensional line segments corresponding to several peaks. Then, non-maximum suppression (NMS) is applied to these line segments, and the five-dimensional line segments with the largest number of votes in the top 50% are selected. The closure of these five-dimensional line segments (the smallest cube containing these line segments) is used as the final calculation result, that is, the output ROI.

[0180] Step 14: Determine the size of ROI

[0181] The ROI is a five-dimensional cube. Given thresholds dx, dy, dθ, dρ, and dr, if the following conditions are met:

[0182] (1) The difference in the first dimension of the ROI is less than or equal to dx.

[0183] (2) The difference in the second dimension of the ROI is less than or equal to dy.

[0184] (3) The difference in the third dimension of the ROI is less than or equal to dθ.

[0185] (4) The difference in the fourth dimension of ROI is less than or equal to dρ.

[0186] (5) The difference in the fifth dimension of ROI is less than or equal to dr.

[0187] If the ROI is not found, output the ROI; otherwise, return to step 5 to continue the iteration.

[0188] 1.3 Ellipse Fitting

[0189] Step 15: Obtain edge points from ROI

[0190] Extract the points within the ROI range from the edge points.

[0191] Step 16: Ellipse Fitting

[0192] The edge points extracted in the previous step are fitted using an ellipse fitting algorithm based on the least squares method to obtain the ellipse equation.

[0193] 2 Pose Estimation Based on Elliptic Equation

[0194] All modules for pose estimation based on elliptic equations, such as Figure 4 As shown.

[0195] Step 17: Extract spacecraft docking loop point cloud data

[0196] On the spacecraft's depth map, the depth data of the docking ring is segmented using an ellipse equation. Specifically, each point on the depth map is iterated over; if a point lies within the ellipse defined by the ellipse equation, it is retained; otherwise, it is discarded. This process ultimately yields the point cloud data for the docking ring.

[0197] Step 18: Normal Vector Estimation

[0198] For the point cloud data of the docking ring, the least squares method is used to fit the three-dimensional space plane to determine the normal vector of the plane.

[0199] Step 19: Radial rotation pose estimation

[0200] Using the normal vector obtained in the previous step, determine the two radial rotational poses of the docking ring based on the point cloud of the spacecraft model.

[0201] Step 20: Normal rotation pose estimation

[0202] The scene point cloud is obtained using the spacecraft depth map. The centroid of the scene point cloud is aligned with the model point cloud. Then, the scene point cloud is rotated around its centroid in the opposite direction of the two rotation poses obtained in the previous step. At this point, only the final normal rotation pose remains, which is then solved using a voting method. The area is divided into several sub-intervals within the 0-360 degree range, and the number of votes in each sub-interval is calculated. The number of votes is defined as the minimum root mean square error based on nearest neighbors. The sub-interval with the smallest number of votes is selected. The above steps are repeated until the sub-intervals are sufficiently small. The angle corresponding to this sub-interval is the required normal rotation pose.

[0203] Example 2:

[0204] The present invention also provides a spacecraft three-dimensional pose estimation system based on high-precision ellipse detection. The spacecraft three-dimensional pose estimation system based on high-precision ellipse detection can be implemented by executing the process steps of the spacecraft three-dimensional pose estimation method based on high-precision ellipse detection. That is, those skilled in the art can understand the spacecraft three-dimensional pose estimation method based on high-precision ellipse detection as a preferred embodiment of the spacecraft three-dimensional pose estimation system based on high-precision ellipse detection.

[0205] The spacecraft 3D pose estimation system based on high-precision ellipse detection provided by the present invention includes: solving the ellipse equation of the spacecraft docking ring in the input 2D image of the spacecraft by using an ellipse detection method based on joint arc segment circumference, wherein the ellipse detection based on joint arc segment circumference includes edge point extraction, spatial hierarchy search and ellipse fitting; and calculating the 3D pose of the spacecraft relative to the model point cloud based on the solved ellipse equation, the input spacecraft depth map and the spacecraft model point cloud.

[0206] The edge point extraction includes: Module M1: Using the Canny operator to extract the contour of the input two-dimensional image of the spacecraft, obtaining the edge map of the two-dimensional image, extracting the UV coordinates of the edge points with pixel value 1 in the edge map, and obtaining the edge point set; Module M2: Grouping the edge point set according to the connected components; Module M3: Randomly downsampling the edge points within each individual group, with a downsampling rate of k, where 0 < k < 1. If the total number of points in the input data point set is n, then the total number of points in the output data point set is k × n.

[0207] The spatial hierarchical search includes:

[0208] Module M4: Initializing the region of interest ROI in the five-dimensional parameter space through the two-dimensional image of the spacecraft. First, construct the parameter space of the ellipse and establish the ellipse parameter expression:

[0209]

[0210] In the formula, (x0, y0) is the center of the ellipse; r is the length of the semi-minor axis of the ellipse; ρ is the ratio of the semi-major axis to the semi-minor axis, ρ ≥ 1; θ is the roll angle of the ellipse, which is the angle between the major axis of the ellipse and the positive direction of the x-axis of the coordinate system;

[0211] The five dimensions of the five-dimensional parameter space respectively represent: The first dimension: the x coordinate x0 of the center point of the ellipse; The second dimension: the y coordinate y0 of the center point of the ellipse; The third dimension: the roll angle θ of the ellipse; The fourth dimension: the ratio ρ of the semi-major axis to the semi-minor axis of the ellipse; The fifth dimension: the semi-minor axis r of the ellipse;

[0212] The ROI is initialized as a five-dimensional cube in the five-dimensional parameter space, and the ranges of its five dimensions are respectively: The first dimension: from 0 to the width of the image; The second dimension: from 0 to the height of the image; The third dimension: from 0 to π; The fourth dimension: from 1 to 5; The fifth dimension: from 0 to half of the diagonal of the image;

[0213] Module M5: Uniformly dividing the five-dimensional cube ROI. The division of each dimension is independent. Among them, the first dimension is uniformly divided into N x segments, the second dimension is uniformly divided into N y segments, the third dimension is uniformly divided into N θ segments, the fourth dimension is uniformly divided into N ρ segments, and the fifth dimension is uniformly divided into N r segments;

[0214] Performing a spatial compression transformation on the ROI, and using the extracted edge points to reduce the volume of the input ROI. The spatial compression transformation includes voting based on the joint arc segment circularity, specifically:

[0215] Module M6: Extracts all five-dimensional line segments from the segmented ROI. A five-dimensional line segment is a line segment in the five-dimensional parameter space, and the two endpoints of the line segment are points on the segmented grid. Let the two endpoints be (a, b, c) and (d, d) respectively. x ,a y ,a θ ,a ρ ,r start ) and (a x ,a y ,a θ ,a ρ ,r end If the five-dimensional line segment is denoted as LS(a), then the five-dimensional line segment is denoted as LS x ,a y ,a θ ,a ρ ,r start ,r end );

[0216] Module M7: Based on the five-dimensional line segment LS(a x ,a y ,a θ ,a ρ ,r start ,r end The elliptic parameter {a} in ) x ,a y ,a θ ,a ρ Construct the RAT operator, the expression is:

[0217]

[0218] Module M8: According to LS(a x ,a y ,a θ ,a ρ ,r start ,r end The parameter range defined by (x) is used to filter the extracted edge points. i ,y i Let (x) be a point on the edge. i ,y i )satisfy:

[0219] r start ≤||RAT(a x ,a y ,a θ ,a ρ (x) i ,y i )||≤r end

[0220] Then point (x i ,yi ) in LS(a x ,a y ,a θ ,a ρ ,r start ,r end If the parameter range is within the specified range, retain it; otherwise, discard it.

[0221] The filtered set of edge points still retains the previous grouping information. The set of all edge points in group i is denoted as the allowable edge SE. i SE of all different group numbers i The set is denoted as the allowable edge set SES;

[0222] Module M9: A constructed set of permissible edges SES corresponds to a five-dimensional line segment LS(a x ,a y ,a θ ,a ρ ,r start ,r end This five-dimensional line segment contains a coordinate point (a). x ,a y This point is the center of the ellipse. A set of permissible edges (SES) contains several permissible edges (SE). i This will allow edge SE i All points inside the circle and the center (a x ,a y Connect the lines and calculate their deflection angles relative to the positive x-axis of the coordinate system. Counterclockwise is positive, and clockwise is negative. Normalize all deflection angles to the interval [0, 2π]. Then decompose the interval [0, 2π] into N. close For each subinterval, score all subintervals: for a given subinterval, if an allowable edge SE exists... i If an edge point falls within a subinterval, the subinterval scores 1; otherwise, it scores 0. After scoring, a subinterval of length N is obtained. close A score list, where each element has a value of 0 or 1; after the above process, a permissible edge SE i This corresponds to a score list, denoted as the Minimal Allowable Edge (SSE). i Then, a set of permissive edges (SES) corresponds to several minimal permissive edges (SSE). i Then, the Non-Maximum Suppression (NMS) algorithm is used to apply the algorithm to all minimal allowable edges (SSE). i Perform a merge, and the resulting minimal allowable edge SSE i The set is called the minimal allowable edge set (SSES).

[0223] Module M10: Constructs a nonlinear gain function NEI that satisfies:

[0224] Positive definiteness: if x≥0, NEI(x)≥0;

[0225] Order preservation: ifx1 <x2,NEI(x1)<NEI(x2);

[0226] Non-additivity:

[0227]

[0228] Among them, K base >1;

[0229] Module M11: First, calculate the stretching coefficient KEA from the circular arc segment to the elliptical arc segment. KEA is a variable with dimension N. close The column vector is expressed as:

[0230]

[0231]

[0232] Where, θ i It is the angle of inclination of the tangent line at the center point of the arc corresponding to each small interval, tan(θ). i ) represents the slope of the tangent line;

[0233] Minimal allowable edge SSE i The circumference of a circle is denoted as Circumference (SSE). i The expression is:

[0234] Circumference (SSE) i )=(SSES×KEA)(i)

[0235] The joint arc segment circumference NLC of the simplest allowable edge set SSES is denoted as NLC(SSES), and its expression is:

[0236]

[0237] Where, N se The simplest allowable edge (SSE) in the simplest allowable edge set (SSES) i The number of;

[0238] Module M12: A five-dimensional line segment LS corresponds to the joint arc circumference of a minimal allowable edge set. The joint arc circumference of the minimal allowable edge set is defined as the vote count of the five-dimensional line segment. An ROI contains several five-dimensional line segments. Modules M7 to M11 are triggered repeatedly to calculate the vote count of all five-dimensional line segments in the ROI.

[0239] The spatial compression transformation includes multi-peak detection, specifically:

[0240] Module M13: Among all five-dimensional line segments, all r start and r end Identical line segments are grouped together, denoted as LS(*,r) start ,r end ), using peak detection to find LS(*, r start r end All peak values ​​in ) for all different (r start r end The LS(*, r) structure formed by ) start r end The above peak search is performed on all of them to obtain the five-dimensional line segments corresponding to several peaks; then non-maximum suppression (NMS) is applied to these line segments, and the five-dimensional line segments with the most votes in the top 50% are selected. The closure of these five-dimensional line segments is used as the final calculation result, and the ROI is output.

[0241] Module M14: Determines the size of the ROI. The ROI is a five-dimensional cube. Given thresholds dx, dy, dθ, dρ, and dr, if the following conditions are met simultaneously: the difference in the first dimension of the ROI ≤ dx, the difference in the second dimension of the ROI ≤ dy, the difference in the third dimension of the ROI ≤ dθ, the difference in the fourth dimension of the ROI ≤ dρ, and the difference in the fifth dimension of the ROI ≤ dr, then the ROI is output; otherwise, module M5 is triggered to continue the iteration.

[0242] The ellipse fitting includes: module M15: extracting points within the ROI range from the edge points; module M16: fitting the extracted edge points using an ellipse fitting algorithm based on the least squares method to obtain the ellipse equation.

[0243] The calculation of the spacecraft's 3D pose relative to the model point cloud includes: Module M17: On the spacecraft's depth map, the depth data of the docking ring is segmented using an ellipse equation. Specifically, each point on the depth map is traversed; if the point is within the ellipse defined by the ellipse equation, it is retained; otherwise, it is discarded, ultimately obtaining the point cloud data of the docking ring; Module M18: The point cloud data of the docking ring is fitted to a 3D space plane using the least squares method to determine the plane's normal vector; Module M19: Based on the plane's normal vector, according to the spacecraft model... The point cloud determines two rotational poses in the radial direction of the docking ring; Module M20: Obtain the scene point cloud using the spacecraft depth map, align the centroid of the scene point cloud with the model point cloud, and then rotate the scene point cloud around the centroid in the opposite direction according to the two rotational poses solved in the previous step; Divide the range from 0 to 360 degrees into several sub-intervals, calculate the number of votes in each sub-interval, the number of votes is defined as the minimum root mean square error based on the nearest neighbor, select the sub-interval with the smallest number of votes, until the sub-interval is small enough, and the angle corresponding to the sub-interval at this time is the required normal rotational pose.

[0244] Those skilled in the art will understand that, in addition to implementing the system, apparatus, and their modules provided by this invention in purely computer-readable program code, the same program can be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, the system, apparatus, and their modules provided by this invention can be considered a hardware component, and the modules included therein for implementing various programs can also be considered structures within the hardware component; alternatively, modules for implementing various functions can be considered both software programs implementing the method and structures within the hardware component.

[0245] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.

Claims

1. A spacecraft three-dimensional pose estimation method based on high-precision ellipse detection, characterized in that, include: The ellipse equation of the spacecraft docking ring in the input two-dimensional image of the spacecraft is solved by an ellipse detection method based on joint arc segment circumference. The ellipse detection based on joint arc segment circumference includes edge point extraction, spatial hierarchy search and ellipse fitting. The three-dimensional pose of the spacecraft relative to the model point cloud is calculated based on the solved ellipse equation, the input spacecraft depth map and the spacecraft model point cloud. The spatial hierarchy search includes: Step 4: Initialize the Region of Interest (ROI) in the five-dimensional parameter space using the two-dimensional image of the spacecraft. First, construct the parameter space of the ellipse and establish the ellipse parameter expression: wherein is the center of the ellipse; is the semi-minor axis of the ellipse; is the ratio of the semi-major axis to the semi-minor axis, ; is the roll angle of the ellipse, which is the angle between the major axis of the ellipse and the positive x-axis of the coordinate system; The five dimensions of the five-dimensional parameter space represent: first dimension: x coordinate of the center point of the ellipse ; second dimension: y coordinate of the center point of the ellipse ; third dimension: roll angle of the ellipse ; fourth dimension: circularity of the ellipse ; fifth dimension: half minor axis of the ellipse ; The ROI is initialized as a five-dimensional cube in a five-dimensional parameter space, with the following five dimensions: First dimension: from 0 to the width of the image; Second dimension: from 0 to the height of the image; Third dimension: from 0 to... Fourth dimension: from 1 to 5; Fifth dimension: from 0 to half the diagonal of the image; Step 5: Perform uniform partitioning on the five-dimensional cube ROI. The partitioning of each dimension is independent. The first dimension is uniformly partitioned as follows: Each segment is uniformly divided into two dimensions. Each segment is uniformly divided into three dimensions. Each segment is uniformly divided into four dimensions. Each segment is uniformly divided into five dimensions. Each segment; A spatial compression transformation is performed on the ROI, reducing its volume by utilizing extracted edge points. This spatial compression transformation includes voting based on the joint arc segment circumference, specifically: Step 6: Extract all five-dimensional line segments from the segmented ROI. A five-dimensional line segment is a line segment in the five-dimensional parameter space. The two endpoints of the line segment are points on the mesh. Let the two endpoints be denoted as _____. and Then the five-dimensional line segment is denoted as ; Step 7: Based on the five-dimensional line segment Ellipse parameters in structure The operator, expressed as: Step 8: According to The defined parameter range is used to filter the extracted edge points. Let be a point on the edge, if satisfy: Then point exist If the parameter falls within the specified range, retain it; otherwise, discard it. The filtered set of edge points still retains the previous grouping information, with group number [group number missing]. The set of all edge points is denoted as the allowable edge. All different group numbers The set is denoted as the allowable edge set. ; Step 9: A constructed set of permissible edges Corresponding to a five-dimensional line segment This five-dimensional line segment contains a coordinate point. This point is the center of the ellipse, an allowable edge set. Contains several allowable edges This will allow the edge All points inside the circle and the center of the circle Connect the lines and calculate their deflection angles relative to the positive x-axis of the coordinate system. Counterclockwise is positive, and clockwise is negative. Normalize all deflection angles to an interval. Within, then divide the interval Decomposed into For each subinterval, score it: for a given subinterval, if an allowable edge exists... If an edge point falls within a subinterval, the subinterval scores 1; otherwise, it scores 0. After scoring, a subinterval of length is obtained. A score list, where each element has a value of 0 or 1; after the above process, a permissible edge... This corresponds to a score list, which is denoted as the minimal allowable margin. Then a permissible edge set Corresponding to several minimal allowable edges Then, the Non-Maximum Suppression (NMS) algorithm is used to process all the simplest allowable edges. Merge the elements, and the resulting minimal allowable edge will be... The set of boundaries is called the minimal allowable edge set. ; Step 10: Construct the nonlinear gain function NEI, satisfying: Positive definiteness: ; Order preservation: ; Non-additivity: ; in, ; Step 11: First, calculate the stretching coefficient from the circular arc segment to the elliptical arc segment. , It is a dimension of The column vector is expressed as: in, It is the angle of inclination of the tangent line at the center point of the arc corresponding to each small interval. The slope of the tangent line; Minimal allowable edge The circumference is denoted as The expression is: The joint arc segment circumference NLC of the simplest allowable edge set SSES is denoted as The expression is: in, The simplest allowable edge in the simplest allowable edge set (SSES) The number of; Step 12: A five-dimensional line segment The circumference of the joint arc segment corresponding to a minimal allowable edge set is defined as the voting number of the five-dimensional line segment. An ROI contains several five-dimensional line segments. Steps 7 to 11 are repeated to calculate the voting number of all five-dimensional line segments in the ROI. The spatial compression transformation includes multi-peak detection, specifically: Step 13: Among all five-dimensional line segments, all Identical line segments are grouped together, denoted as Using peak detection to find All peak values ​​in, for all different The composition The above peak search is performed to obtain the five-dimensional line segments corresponding to several peaks; then, non-maximum suppression (NMS) is applied to these line segments, and the five-dimensional line segments with the most votes in the top 50% are selected. The closure of these five-dimensional line segments is used as the final calculation result, and the ROI is output. Step 14: Determine the size of the ROI. The ROI is a five-dimensional cube, given a threshold. , , , , If simultaneously satisfying: the difference in the first dimension of ROI And the difference in the second dimension of ROI And the difference in the third dimension of ROI And the difference in the fourth dimension of ROI And the difference in the fifth dimension of ROI If the result is positive, output the ROI; otherwise, return to step 5 to continue iterating.

2. The spacecraft three-dimensional pose estimation method based on high-precision ellipse detection according to claim 1, characterized in that, The edge point extraction includes: Step 1: Use the Canny operator to extract the contour of the input spacecraft 2D image to obtain the edge map of the 2D image. Extract the UV coordinates of the edge points with a pixel value of 1 in the edge map to obtain the edge point set. Step 2: Group the edge point set according to the connected components; Step 3: Randomly downsample the edge points within each individual group, with a downsampling rate of... , If the total number of points in the input data point set is Then the total number of points in the output data point set is .

3. The spacecraft three-dimensional pose estimation method based on high-precision ellipse detection according to claim 2, characterized in that, The ellipse fitting includes: Step 15: Extract the points within the ROI from the edge points; Step 16: Fit the extracted edge points using an ellipse fitting algorithm based on the least squares method to obtain the ellipse equation.

4. The spacecraft three-dimensional pose estimation method based on high-precision ellipse detection according to claim 3, characterized in that, Solving the 3D pose of the spacecraft relative to the model point cloud includes: Step 17: On the spacecraft's depth map, use the ellipse equation to segment the depth data of the docking ring. Specifically, iterate through each point on the depth map. If the point is inside the ellipse determined by the ellipse equation, keep it; otherwise, discard it. Finally, obtain the point cloud data of the docking ring. Step 18: For the point cloud data of the docking ring, use the least squares method to fit the three-dimensional space plane and determine the normal vector of the plane; Step 19: Based on the plane normal vector, determine the two radial rotational poses of the docking ring according to the point cloud of the spacecraft model; Step 20: Obtain scene point cloud using spacecraft depth map, align the centroid of scene point cloud with model point cloud, and then rotate scene point cloud around centroid in the opposite direction according to the two rotation poses solved in the previous step; divide the range from 0 to 360 degrees into several sub-intervals, calculate the number of votes in each sub-interval, the number of votes is defined as the minimum root mean square error based on nearest neighbor, select the sub-interval with the smallest number of votes, repeat the above steps until the sub-interval is small enough, the angle corresponding to the sub-interval at this time is the required normal rotation pose.

5. A spacecraft three-dimensional pose estimation system based on high-precision ellipse detection, characterized in that, include: The ellipse equation of the spacecraft docking ring in the input two-dimensional image of the spacecraft is solved by an ellipse detection method based on joint arc segment circumference. The ellipse detection based on joint arc segment circumference includes edge point extraction, spatial hierarchy search and ellipse fitting. The three-dimensional pose of the spacecraft relative to the model point cloud is calculated based on the solved ellipse equation, the input spacecraft depth map and the spacecraft model point cloud. The spatial hierarchy search includes: Module M4: Initializes the Region of Interest (ROI) in the five-dimensional parameter space using two-dimensional images of the spacecraft. First, it constructs the parameter space of an ellipse and establishes the ellipse parameter expression: In the formula, Center of the ellipse; It is the length of the semi-minor axis of the ellipse; Pi is the mathematical constant of a circle, representing the ratio of its semi-major axis to its semi-minor axis. ; Let be the roll angle of the ellipse, which is the angle between the major axis of the ellipse and the positive direction of the x-axis of the coordinate system; The five dimensions of the five-dimensional parameter space represent: First dimension: x-coordinate of the center point of the ellipse. Second dimension: y-coordinate of the center point of the ellipse. Third dimension: Roll angle of the ellipse Fourth dimension: Pi of the ellipse Fifth dimension: the semi-minor axis of the ellipse ; The ROI is initialized as a five-dimensional cube in a five-dimensional parameter space, with the following five dimensions: First dimension: from 0 to the width of the image; Second dimension: from 0 to the height of the image; Third dimension: from 0 to... Fourth dimension: from 1 to 5; Fifth dimension: from 0 to half the diagonal of the image; Module M5: Performs uniform partitioning on a five-dimensional cube ROI, where the partitioning of each dimension is independent. The first dimension is uniformly partitioned as follows: Each segment is uniformly divided into two dimensions. Each segment is uniformly divided into three dimensions. Each segment is uniformly divided into four dimensions. Each segment is uniformly divided into five dimensions. Each segment; A spatial compression transformation is performed on the ROI, reducing its volume by utilizing extracted edge points. This spatial compression transformation includes voting based on the joint arc segment circumference, specifically: Module M6: Extracts all five-dimensional line segments from the segmented ROI. A five-dimensional line segment is a line segment in the five-dimensional parameter space, and the two endpoints of the line segment are points on the segmented grid. Let the two endpoints be denoted as... and Then the five-dimensional line segment is denoted as ; Module M7: Based on five-dimensional line segments Ellipse parameters in structure The operator, expressed as: Module M8: According to The defined parameter range is used to filter the extracted edge points. Let be a point on the edge, if satisfy: Then point exist If the parameter falls within the specified range, retain it; otherwise, discard it. The filtered set of edge points still retains the previous grouping information, with group number [group number missing]. The set of all edge points is denoted as the allowable edge. All different group numbers The set is denoted as the allowable edge set. ; Module M9: A pre-built set of permissible edges Corresponding to a five-dimensional line segment This five-dimensional line segment contains a coordinate point. This point is the center of the ellipse, an allowable edge set. Contains several allowable edges This will allow the edge All points inside the circle and the center of the circle Connect the lines and calculate their deflection angles relative to the positive x-axis of the coordinate system. Counterclockwise is positive, and clockwise is negative. Normalize all deflection angles to an interval. Within, then divide the interval Decomposed into For each subinterval, score it: for a given subinterval, if an allowable edge exists... If an edge point falls within a subinterval, the subinterval scores 1; otherwise, it scores 0. After scoring, a subinterval of length is obtained. A score list, where each element has a value of 0 or 1; after the above process, a permissible edge... This corresponds to a score list, which is denoted as the minimal allowable margin. Then a permissible edge set Corresponding to several minimal allowable edges Then, the Non-Maximum Suppression (NMS) algorithm is used to process all the simplest allowable edges. Merge the elements, and the resulting minimal allowable edge will be... The set of boundaries is called the minimal allowable edge set. ; Module M10: Constructs a nonlinear gain function NEI that satisfies: Positive definiteness: ; Order preservation: ; Non-additivity: ; in, ; Module M11: First, calculate the stretching coefficient from the circular arc segment to the elliptical arc segment. , It is a dimension of The column vector is expressed as: in, It is the angle of inclination of the tangent line at the center point of the arc corresponding to each small interval. The slope of the tangent line; Minimal allowable edge The circumference is denoted as The expression is: The joint arc segment circumference NLC of the simplest allowable edge set SSES is denoted as The expression is: in, The simplest allowable edge in the simplest allowable edge set (SSES) The number of; Module M12: A five-dimensional line segment The circumference of the joint arc segment of the simplest allowable edge set is defined as the voting number of the five-dimensional line segment. An ROI contains several five-dimensional line segments. Modules M7 to M11 are repeatedly triggered to calculate the voting number of all five-dimensional line segments in the ROI. The spatial compression transformation includes multi-peak detection, specifically: Module M13: Among all five-dimensional line segments, all Identical line segments are grouped together, denoted as Using peak detection to find All peak values ​​in, for all different The composition The above peak search is performed to obtain the five-dimensional line segments corresponding to several peaks; then, non-maximum suppression (NMS) is applied to these line segments, and the five-dimensional line segments with the most votes in the top 50% are selected. The closure of these five-dimensional line segments is used as the final calculation result, and the ROI is output. Module M14: Determines the size of the ROI, which is a five-dimensional cube, given a threshold. , , , , If simultaneously satisfying: the difference in the first dimension of ROI And the difference in the second dimension of ROI And the difference in the third dimension of ROI And the difference in the fourth dimension of ROI And the difference in the fifth dimension of ROI If the result is positive, the ROI is output; otherwise, module M5 is triggered to continue iteration.

6. The spacecraft three-dimensional pose estimation system based on high-precision ellipse detection according to claim 5, characterized in that, The edge point extraction includes: Module M1: Uses the Canny operator to extract the contour of the input spacecraft 2D image, obtains the edge map of the 2D image, extracts the UV coordinates of the edge points with a pixel value of 1 in the edge map, and obtains the set of edge points; Module M2: Groups the set of edge points according to the connected components; Module M3: Randomly downsamples the edge points within each individual group, with a downsampling rate of , If the total number of points in the input data point set is Then the total number of points in the output data point set is .

7. The spacecraft three-dimensional pose estimation system based on high-precision ellipse detection according to claim 6, characterized in that, The ellipse fitting includes: Module M15: Extracts points from the edge points that fall within the ROI range; Module M16: Fits the extracted edge points using an ellipse fitting algorithm based on the least squares method to obtain the ellipse equation.

8. The spacecraft three-dimensional pose estimation system based on high-precision ellipse detection according to claim 7, characterized in that, Solving the 3D pose of the spacecraft relative to the model point cloud includes: Module M17: On the spacecraft's depth map, the depth data of the docking ring is segmented using the ellipse equation. Specifically, each point on the depth map is traversed. If the point is within the ellipse defined by the ellipse equation, it is retained; otherwise, it is discarded. Finally, the point cloud data of the docking ring is obtained. Module M18: For the point cloud data of the docking ring, the least squares method is used to fit the three-dimensional space plane to determine the normal vector of the plane; Module M19: Based on the plane normal vector, it determines two radial rotational poses of the docking ring according to the point cloud of the spacecraft model; Module M20: Obtain scene point cloud using spacecraft depth map, align the centroid of scene point cloud with model point cloud, and then rotate scene point cloud around centroid in the opposite direction according to the two rotation poses solved in the previous step; divide the range from 0 to 360 degrees into several sub-intervals, calculate the number of votes in each sub-interval, the number of votes is defined as the minimum root mean square error based on nearest neighbor, select the sub-interval with the smallest number of votes, until the sub-interval is small enough, the angle corresponding to the sub-interval at this time is the required normal rotation pose.