Detection target acquisition method, medium and device based on Hilbert curve coding

Through Hilbert curve encoding, the point clouds in the airport environment are spatially encoded and matched, which solves the problem of low real-time performance in complex airport apron scenes and realizes efficient target detection.

CN115690508BActive Publication Date: 2025-08-08THE SECOND RES INST OF CIVIL AVIATION ADMINISTRATION OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211394270.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-08
Publication Date
2025-08-08
Estimated Expiration
2042-11-08

AI Technical Summary

Technical Problem

In complex scenarios such as airport aprons, the existing target detection methods are large in data and high in calculation complexity, resulting in low real-time performance and difficult to output detection results in a timely manner.

Method used

The Hilbert curve encoding is used to spatially encode the point clouds in the target area, and the background and the cloud clusters to be measured are encoded through the Hilbert curve. The preset accuracy value is set to determine the target spatial error value, and the encoding is performed to obtain the detection target.

Benefits of technology

It reduces the amount of data and calculation complexity, improves the calculation efficiency, can output detection results in a timely manner, and improves real-time performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115690508B_ABST
    Figure CN115690508B_ABST
Patent Text Reader

Abstract

The present invention discloses a method, medium and device for acquiring a detection target based on Hilbert curve coding. The method comprises the following steps: performing Hilbert curve spatial coding on a background point cloud set to obtain a background point cloud coding set A; performing Hilbert curve spatial coding on a target point cloud set to obtain a target point cloud coding set B; and determining a target spatial error value E according to a preset accuracy value c1. m The spatial error value E is determined from A and B respectively. m The first target encoding subset A m With the second target encoding subset B m . m Each code in A m Match the codes in B one by one. m All the codes that failed to match are put into the same set to obtain the target code set. Since the application uses less data when performing calculations and the algorithm is simpler and more efficient, it can greatly improve the calculation efficiency and output the calculation results more promptly to improve real-time performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of target detection, and in particular to a method, medium and device for acquiring a detection target based on Hilbert curve coding. Background Art

[0002] With the development of technical points, target detection technology has become more mature and has been widely used in many fields of life and production, such as the field of autonomous driving. The existing method of acquiring detection targets is: using a convolutional neural network to identify and detect 3D information in the corresponding scene, and after a large number of convolution operations in the convolutional neural network, the corresponding detection target can be found. Then, the purpose of indiscriminate detection of objects in any direction and any position in the entire three-dimensional space is achieved. However, it is limited by the computational complexity of the algorithm itself, the computing power of the hardware equipment, and the complexity of the image information in the actual application scene. When the amount of 3D information data input into the convolutional neural network is extremely large, this method requires a lot of time and resources for calculation, and cannot output the detection results in a timely manner.

[0003] In the field of airport apron security monitoring, the large size of aircraft creates a complex apron scene, along with numerous interfering objects such as light poles, fixed and mobile jet bridges. Consequently, the amount of 3D information generated in this scenario is enormous, making it difficult for existing detection methods to output detection results in a timely manner, resulting in low real-time performance. Summary of the Invention

[0004] In view of the above technical problems, the technical solution adopted by the present invention is:

[0005] According to one aspect of the present invention, a method for acquiring a detection target based on Hilbert curve coding is provided, the method comprising the following steps:

[0006] Obtain a background point cloud set for the target area. The background point cloud set includes a point cloud subset of fixed targets in the background and a position point cloud set of at least one movable target. The position point cloud set includes at least one position point cloud subset. The position point cloud subset is the point cloud set corresponding to the movable target at any position along the preset movement path.

[0007] The background point cloud set is coded by Hilbert curve space to obtain the background point cloud coding set A=(A1,A2,…,A i ,…,A n ), where A i The background coding subset corresponding to the background point cloud obtained after segmenting the target area using the i-th order Hilbert curve. i = 1, 2, …, n, where n is the total number of background coding subsets.

[0008] Obtain a set of points to be measured in the target area. The set of points to be measured includes a set of background points and a set of target points to be recognized. The set of target points to be recognized includes at least one target point cloud subset corresponding to a target to be recognized.

[0009] Perform Hilbert curve space encoding processing on the set of points to be measured to obtain a set of encoded points to be measured B=(B1, B2, …, B i , …, B n ). Among them, B i is the real-time encoded subset corresponding to the points to be measured obtained after the target area is segmented by the i-th order Hilbert curve.

[0010] Determine the target space error value E m according to the preset precision value c1. Among them, E m < c1, and c1 - E m ≤ Y1. Y1 is the first threshold. E m is the distance between any two adjacent construction points on the Hilbert curve after the target area is segmented by the m-th order Hilbert curve. m ∈ [1, n].

[0011] Respectively determine the first target encoded subset A m and the second target encoded subset B m with a space error value of E m from A and B.

[0012] Match each encoding in B m with the encodings in A m one by one. When any encoding in B m is not the same as all the encodings in A m , the encoding matching fails.

[0013] Put all the encodings in B m with failed matches into the same set to obtain the target encoding set.

[0014] According to the second aspect of the present invention, there is provided a non-transitory computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, it implements the above-mentioned method for obtaining a detection target based on Hilbert curve encoding.

[0015] According to the third aspect of the present invention, there is provided an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the above-mentioned method for obtaining a detection target based on Hilbert curve encoding.

[0016] The present invention has at least the following beneficial effects:

[0017] This application uses a Hilbert curve spatial encoding method to spatially encode the background point cloud of a target area in an airport environment to obtain a background point cloud code set; and to spatially encode the target area's test point cloud (i.e., the target area's real-time environment point cloud) to obtain a test point cloud code set. The Hilbert curve spatial encoding method used in this method encodes the point cloud within the target area. When using a Hilbert curve to encode space, each code in each order of the Hilbert curve corresponds to a cubic spatial region, and as the order of the Hilbert curve increases, the cubic spatial region corresponding to each order code gradually decreases. Accordingly, as the order of the Hilbert curve increases, the number of cubic spatial regions within the target area increases. This allows for more detailed segmentation of the target area, thereby improving the accuracy of the correspondence between codes and spatial locations. Furthermore, since each code corresponds to a cubic spatial region, a single code can represent all point clouds within that cubic spatial region. Therefore, encoding point clouds using this method can significantly reduce data volume.

[0018] At the same time, in this application, by setting Y1, the first target coding subset A whose spatial error value is closest to the preset precision value can be determined. m With the second target encoding subset B m Thus, the order of the Hilbert curve can be further reduced while ensuring the calculation accuracy, that is, the number of codes can be further reduced, thereby further reducing the amount of data used in the calculation.

[0019] In addition, this application obtains a target code set by matching the code set of the point cloud to be tested with the code set of the background point cloud one by one, and placing all codes that fail to match into the same set. This target code set is the detection target to be found, thus completing the acquisition of the detection target. Since the algorithm for matching the codes is simpler, its computational efficiency is higher and the calculation results can be output more promptly.

[0020] In summary, since the application uses a smaller amount of data when performing calculations and the algorithm is simpler and more efficient, the calculation efficiency can be greatly improved, and the calculation results can be output more promptly to improve real-time performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0022] Figure 1 A flowchart of a method for acquiring a detection target based on Hilbert curve coding is provided in an embodiment of the present invention.

[0023] Figure 2 A flowchart of a multi-stage Hilbert curve-based target square plane segmentation method provided by an embodiment of the present invention.

[0024] Reference numerals

[0025] 1. First-order construction point; 2. Second-order construction point; 3. Third-order construction point; 4. Target square plane. DETAILED DESCRIPTION

[0026] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without making any creative efforts shall fall within the scope of protection of the present invention.

[0027] As an embodiment of the present invention, a detection target acquisition method based on Hilbert curve coding is provided. Figure 1 As shown, this method includes the following steps:

[0028] Step S100: Acquire a background point cloud set of the target area, the background point cloud set including a point cloud subset of a fixed target in the background and a position point cloud set of at least one movable target, the position point cloud set including at least one position point cloud subset; the position point cloud subset is a point cloud set corresponding to the corresponding movable target at any position in the preset movement path;

[0029] Specifically, the target area can be a certain area in the apron. In the background point cloud of this target area, the fixed targets included can be fixed buildings, light poles, fixed ends of corridors, etc. The movable targets included can be mobile ends of corridors and some work vehicles.

[0030] When collecting background point clouds, you can do it through the following steps:

[0031] Step S101: Determine multiple target time points. These target time points are multiple time points throughout the day, such as every 30 minutes starting at 0:00. By setting multiple target time points throughout the day for point cloud collection, background point cloud data can be obtained under different sunlight conditions.

[0032] Step S102: Obtain background point cloud data frames for the target area at each target time point. Background point cloud data frames are point clouds of fixed and movable targets in the background at the target time point. Preferably, these are obtained using a LiDAR. More preferably, the LiDAR uses a LiDAR with a line of sight exceeding 450 meters, 180 lines, and a 180-degree field of view. This equipment can collect point cloud data on the apron at a rate of 10 frames, with each frame containing over 1 million points. This ensures a denser point cloud data, allowing for more detailed features of the object to be identified, ensuring accuracy in subsequent calculations.

[0033] Step S103: generating a background point cloud set of the target area according to the multiple background point cloud data frames.

[0034] Because LiDAR is more susceptible to the influence and interference of ambient light (primarily sunlight) during the background point cloud acquisition process, the background point cloud data collected by the LiDAR may contain errors. Therefore, by setting multiple target time points for point cloud acquisition, it is possible to obtain background point cloud data under different sunlight conditions. Then, using existing point cloud denoising methods, useless point cloud data is removed and the reliable parts are supplemented, resulting in a more complete and accurate background point cloud set.

[0035] Step S200: Perform Hilbert curve space coding on the background point cloud set to obtain a background point cloud coding set A=(A1, A2, ..., A i ,…,A n ), where A i The background coding subset corresponding to the background point cloud obtained after segmenting the target area by the i-th order Hilbert curve; i=1,2,…,n, n is the total number of background coding subsets;

[0036] A Hilbert curve is a curve that completely fills a square space. The specific methods for generating Hilbert curves of each order are known from existing techniques and will not be elaborated here. The generation of multi-scale Hilbert curves is also recursive. For example, the construction of an n-order Hilbert curve involves first generating an n-1-order Hilbert curve, then concatenating four n-1-order Hilbert curves end-to-end to form an n-order Hilbert curve.

[0037] Take the Hilbert curve to segment a target square plane 4 as an example. Figure 2As shown in the figure, from left to right, the generation process of the first-order, second-order, and third-order Hilbert curves is shown. Specifically, the target square plane 4 is first divided into four small squares by the horizontal center line and the vertical center line. Then, the center points of the four small squares are used as the first-order construction points 1. The four first-order construction points 1 are connected to form a first-order Hilbert curve. Then, the above operation is repeated for the squares corresponding to the four first-order construction points 1 in the first-order Hilbert curve to generate the second-order construction points 2 corresponding to the four small squares. At the same time, the first-order Hilbert curve corresponding to each small square is generated. Then, the four first-order Hilbert curves are connected end to end to generate a second-order Hilbert curve. After repeating the above operation, the third-order construction points 3 corresponding to the third-order Hilbert curve can be generated, and the corresponding third-order Hilbert curve can be generated.

[0038] Similarly, according to the above steps, a multi-order Hilbert curve in a direction perpendicular to the target square plane 4 can be generated. After combining two Hilbert curves in mutually perpendicular directions, a cubic space can be segmented.

[0039] Therefore, each construction point on the Hilbert curve of each order corresponds to a square space, and as the order of the Hilbert curve increases, the corresponding square space gradually decreases. When encoding, each construction point corresponds to a code, that is, each code corresponds to a square space.

[0040] Whenever there is a background point cloud in the corresponding square space, the code corresponding to the square space is added to the background point cloud code set, thereby establishing the background point cloud code set corresponding to each order Hilbert curve. Similarly, the test point cloud code set corresponding to each order Hilbert curve can be obtained in the same way.

[0041] In addition, the Hilbert curve space coding method can also be replaced by the octree space coding method. The Hilbert curve space coding method has better aggregation, so its coding accuracy is higher.

[0042] Step S300: obtaining a target point cloud set in the target area, wherein the target point cloud set includes a background point cloud set and a target point cloud set to be identified, and the target point cloud set to be identified includes at least one target point cloud subset corresponding to the target to be identified;

[0043] Step S400: Perform Hilbert curve space coding on the point cloud set to be tested to obtain the point cloud coding set B=(B1, B2,…, B i ,…,B n ); among them, B iThe real-time coding subset corresponding to the point cloud to be measured obtained after the target area is segmented by the i-th order Hilbert curve;

[0044] Step S500: Determine the target space error value E according to the preset precision value c1 m ; where E m <c1, and c1 - E m ≤Y1; Y1 is the first threshold; E m is the distance between any two adjacent constructed points on the Hilbert curve after the target area is segmented by the m-th order Hilbert curve; m ∈ [1, n].

[0045] In this application, the background point cloud of the target area in the airport environment is spatially encoded by the spatial encoding method of the Hilbert curve to obtain a background point cloud encoding set; and the point cloud to be measured in the target area (that is, the real-time environmental point cloud of the target area) is spatially encoded to obtain a point cloud to be measured encoding set. The spatial encoding method of the Hilbert curve used in this method encodes the point cloud in the target area. Since when using the Hilbert curve to encode space, each encoding in each order of the Hilbert curve will have a corresponding cubic space area, and as the order of the Hilbert curve increases, the cubic space area corresponding to each encoding in each order gradually shrinks. Correspondingly, as the order of the Hilbert curve increases, the number of cubic space areas existing in the target area will increase. Thus, the target area can be segmented more finely, and further improve the corresponding accuracy between the encoding and the spatial position. And because each encoding will correspond to a cubic space area, so one encoding can represent all the point clouds in this cubic space area. Thus, encoding the point cloud by this method can greatly reduce the data volume.

[0046] At the same time, in this application, by setting Y1, the first target encoding subset A m and the second target encoding subset B m with the space error value closest to the preset precision value can be determined. Thus, on the basis of ensuring the calculation accuracy, the order of the Hilbert curve can be further reduced, that is, the number of encodings can be further reduced, and further reduce the data volume used in the calculation.

[0047] Step S600: Respectively determine the first target encoding subset A m and the second target encoding subset B m with the space error value of E m from A and B;

[0048] Step S700: Match each encoding in B m with the encoding in A m one by one; when B mAny code in A m If all the codes in are different, the code matching fails;

[0049] Step S800: B m All the codes that failed to match are put into the same set to get the target code set.

[0050] In addition, this application obtains a target code set by matching the code set of the point cloud to be tested with the code set of the background point cloud one by one, and placing all codes that fail to match into the same set. This target code set is the detection target to be found, thus completing the acquisition of the detection target. Since the algorithm for matching the codes is simpler, its computational efficiency is higher and the calculation results can be output more promptly.

[0051] In summary, since the application uses a smaller amount of data when performing calculations and the algorithm is simpler and more efficient, the calculation efficiency can be greatly improved, and the calculation results can be output more promptly to improve real-time performance.

[0052] As another embodiment of the present invention, the method is applied to a first system, the first system including a first cache space and a second cache space, the first cache space and the second cache space being independently configured;

[0053] The first cache space is used to perform Hilbert curve space encoding processing on the background point cloud set and store the background point cloud encoding set A;

[0054] The second cache space is used to perform Hilbert curve space coding processing on the point cloud set to be measured obtained in real time, and store the point cloud coding set B to be measured at the corresponding moment.

[0055] In this embodiment, when this method is applied to the first system, it is necessary to open up two independent cache spaces in the memory. The two cache spaces perform Hilbert curve space coding on the background point cloud set and the test point cloud set obtained in real time, respectively, to obtain and store the corresponding coding sets. This facilitates the subsequent matching of the coding. Since the background point cloud set corresponding to a target area is usually fixed, it can be stored in the first cache space after one encoding for use in the subsequent coding matching. Since there is no need to re-encode the background point cloud set when matching the coding in the later stage, a large amount of computing resources can be allocated to the process of Hilbert curve space coding on the test point cloud set, thereby improving the efficiency of the Hilbert curve space coding on the test point cloud set; further improving the computing efficiency, the calculation results can be output more timely to improve real-time performance.

[0056] As another embodiment of the present invention, step S500: determining the target spatial error value E according to the preset accuracy value c1. m ,include:

[0057] Step S501: Obtain the spatial error values d1, d2, ..., d corresponding to the segmentation of the target area by each order Hilbert curve. i ,…,d n , where d i is the spatial error value corresponding to the segmentation of the target area by the i-th order Hilbert curve;

[0058] Step S502: Whenever d i When ≤c1, determine d i is the initial target space error value;

[0059] Step S503: From all initial target space error values d c1 ,d c2 ,…,d cv ,…,d cu In the example, determine the target spatial error value E m , E m The following conditions must be met:

[0060] E m =Max(d c1 ,d c2 ,…,d cv ,…,d cu );

[0061] Among them, Max() is the maximum value function; d cv is the vth initial target space error value; u is the total number of initial target space error values; v=1,2,…,u, u≤n.

[0062] Preferably, d i The following conditions must be met:

[0063] ;

[0064] Among them, X i1 、Y i1 and Z i1 X is the coordinate value of the spatial coordinate of the target construction point corresponding to the segmentation of the target area by the i-th order Hilbert curve; i2 、Y i2 and Z i2 is the coordinate value of the spatial coordinates of any point adjacent to the target construction point on the i-th order Hilbert curve; the target construction point is any construction point on the i-th order Hilbert curve.

[0065] The distance between any two adjacent construction points on each order Hilbert curve is taken as the corresponding spatial error value. And the order of the Hilbert curve corresponding to the largest spatial error value is selected from multiple initial target spatial error values as the target order. And the first target coding subset A corresponding to the target order is determined from A and B respectively. m With the second target encoding subset B m Therefore, the number of A can be further reduced while ensuring the accuracy requirement is met. m With B m The number of codes in the calculation can be reduced, thereby reducing the amount of data used in the calculation, thereby greatly improving the calculation efficiency and outputting the calculation results more promptly to improve real-time performance.

[0066] As another embodiment of the present invention, step S501: obtaining the spatial error value corresponding to each order Hilbert curve segmenting the target area includes:

[0067] Step S511: establishing a mapping relationship table between the Hilbert segmentation order of the target area and the corresponding spatial error value;

[0068] Step S521: According to the mapping relationship table and the Hilbert segmentation order, the spatial error value corresponding to each order of the Hilbert curve after segmenting the target area is determined.

[0069] In this embodiment, the spatial error value corresponding to each order Hilbert curve after segmenting the target area is determined through a mapping relationship table. The mapping relationship table can be prepared in advance and stored in a database. Since the mapping relationship table does not require a large amount of calculation, the spatial error value corresponding to each order Hilbert curve after segmenting the target area can be determined more quickly.

[0070] As another embodiment of the present invention, after step S800, the method further includes:

[0071] Step S810: Obtain the spatial coordinates e1, e2, ..., e corresponding to each code in the target code set b ,…,e q , where e b is the spatial coordinate corresponding to the bth code in the target code set; b=1,2,…,q, q is the total number of codes in the target code set;

[0072] Step S820: For e1, e2, ..., e b ,…,e q Performing point cloud segmentation processing to generate multiple fractal cloud clusters; each fractal cloud cluster is composed of multiple points corresponding to spatial coordinates;

[0073] Step S830: determining a target fractal cloud from the multiple fractal clouds; the number of corresponding spatial coordinates in the target fractal cloud is greater than a second threshold.

[0074] According to the spatial coordinates corresponding to each code, a point cloud corresponding to the target code set can be generated in the same coordinate system. Usually, there is at least one fractal cloud cluster with a relatively dense cluster in the point cloud. Each fractal cloud cluster can be segmented out by the existing point cloud segmentation processing method. Since objects of different sizes will correspond to different numbers of fractal clouds. Therefore, when the number of point clouds in a fractal cloud cluster is significantly different from the volume of the corresponding target object, it can be determined that it is noise and should be removed. Therefore, the noise cloud cluster in multiple fractal clouds can be removed by setting a second threshold, and the target fractal cloud cluster is retained.

[0075] Taking an airplane as an example, since vehicles not considered part of the background point cloud may appear on the apron, such as temporary rescue vehicles, the multiple fractal clouds identified will include a fractal cloud corresponding to the rescue vehicle. However, due to the significant difference in volume between the rescue vehicle and the airplane, the number of point clouds contained in their respective fractal clouds will also differ significantly. Therefore, setting a second threshold can remove the fractal cloud corresponding to the rescue vehicle. This allows for faster noise removal and more accurate acquisition of the target fractal cloud.

[0076] As an embodiment of the present application, a method for determining target attributes based on Hilbert coding is provided, and the method comprises the following steps:

[0077] Step A100: Generate a k-order Hilbert curve in the target area to obtain the construction point information set F=(F1, F2, ..., F j ,…,F k ), F j =(F j1 ,F j2 ,…,F ja ,…,F je ). Among them, F j is the spatial coordinate set of the construction points for constructing the j-th order Hilbert curve. k is the total order of the Hilbert curves generated in the target area. ja F j The spatial coordinates of the a-th construction point in F. j The total number of spatial coordinates of the construction points. f=4 e. f is F j+1 The total number of spatial coordinates of the construction points.

[0078] Step A200: Configure a code for each construction point in F to generate a code set G=(G1, G2, ..., Gj ,…,G k ), G j =(G j1 ,G j2 ,…,G ja ,…,G je ). Among them, G j F j The corresponding code set. G ja F ja The corresponding encoding.

[0079] Step A300: Generate a mapping relationship set H = (H1, H2, ..., H) between the spatial coordinates of the target area and the encoding according to F and G. j ,…,H k ). Among them, H j A first mapping relationship table between the spatial coordinates of the construction points corresponding to the j-th order Hilbert curve and the codes.

[0080] Specifically, after each order Hilbert curve is generated in the target area, all construction points on that order Hilbert curve are encoded. Simultaneously, the spatial position information of all construction points on that order Hilbert curve is obtained, and the corresponding relationship between the spatial position information and the encoding of the same construction point is stored in the corresponding first mapping relationship table. The above operation is repeated until the corresponding relationship between the spatial position information and the encoding of all construction points on that order Hilbert curve is established. At this point, the first mapping relationship table corresponding to that order Hilbert curve is generated. The spatial position information of the construction point can be spatial position information composed of the longitude, latitude, and altitude of the construction point.

[0081] Step A400: Obtain a target code set I of the target region, where I includes target codes corresponding to the point clouds of all the targets to be measured in the target region. The target codes are obtained by encoding the point clouds of the targets to be measured in the target region using a Hilbert curve. I∈F.

[0082] The target code included in I is also obtained by encoding the point cloud of the target to be measured in the target area through the Hilbert curve using the above encoding method, so I∈F.

[0083] In this step, the target code set of the target area is obtained, which can be obtained according to the method of steps S100 to S800.

[0084] Step A500: Determine the spatial coordinates corresponding to each target code in I according to the first mapping relationship table in H, so as to generate a target spatial coordinate set J of the target area.

[0085] Step A600: Determine the attributes of the target to be measured according to J.

[0086] Specifically, the attributes of the target to be measured corresponding to the coordinate group in J can be determined based on the shapes of the multiple coordinate groups formed by the spatial coordinates. The attributes can be determined based on the attributes of the target to be measured that may exist in the specific usage scenario. For example, using the usage scenario of detecting objects on the apron as an example, the attributes of the target to be measured in this scenario can include large passenger aircraft, small passenger aircraft, and vehicles.

[0087] In this application, the target code set is obtained by encoding the point cloud of the target to be measured in the target area through the Hilbert curve. Because, when the Hilbert curve is used to encode the space, each code in each order of the Hilbert curve will have a corresponding cubic space area, and as the order of the Hilbert curve increases, the cubic space area corresponding to the code in each order gradually shrinks. Correspondingly, as the order of the Hilbert curve increases, the number of cubic space areas existing in the target area will increase, thereby making it possible to segment the target area more finely, thereby improving the accuracy of the correspondence between the code and the spatial position. Moreover, since each code corresponds to a cubic space area, one code can represent all the point clouds in the cubic space area. Therefore, encoding the point cloud by this method can greatly reduce the amount of data. This can greatly improve the computing efficiency and output the calculation results more timely to improve real-time performance.

[0088] At the same time, the prior art uses an inverse operation to determine the position coordinates corresponding to a certain code. However, since each cubic space region corresponds to a code in the process of encoding the space using the Hilbert curve, the position coordinates obtained by the inverse operation are the coordinates of any position in the cubic space region, and there is a high possibility that they will be different from the actual position coordinates of the point cloud, resulting in a certain error. Compared with the prior art, the present application establishes a mapping relationship set between the spatial coordinates of the target area and the code. Thus, the spatial coordinates corresponding to each code can be directly found based on the mapping relationship set. Since the spatial coordinates are the actual coordinates of the point cloud, the spatial coordinates obtained through the code and the mapping relationship set are the actual position coordinates of the point cloud, rather than the coordinates of other positions in the cubic space region. Thus, the accuracy of the position coordinates corresponding to each code is improved. At the same time, since there is no need to go through the inverse operation, the speed of obtaining the spatial coordinates corresponding to the code through the mapping relationship set is faster and more efficient, and the calculation results can be output more promptly.

[0089] As another possible embodiment of the present application, after step A500, the method further includes:

[0090] Step A510: Determine the point at the corresponding position in the target coordinate system according to each spatial coordinate in J to generate a point cloud corresponding to J.

[0091] Step A520: Perform point cloud segmentation processing on the point cloud image to generate multiple fractal cloud clusters. Each fractal cloud cluster is composed of multiple points corresponding to spatial coordinates.

[0092] Step A530: Determine a target fractal cloud from the multiple fractal clouds. The number of corresponding spatial coordinates in the target fractal cloud is greater than a second threshold.

[0093] According to the spatial coordinates corresponding to each target code, a point cloud corresponding to the target spatial coordinate set J can be generated in the same coordinate system. Usually, there is at least one fractal cloud cluster with a relatively dense cluster in the point cloud. Each fractal cloud cluster can be segmented out by the existing point cloud segmentation processing method. Since objects of different sizes correspond to different numbers of fractal clouds, when the number of point clouds in a fractal cloud cluster differs greatly from the volume of the corresponding target object, it can be determined that it is noise and should be removed. Therefore, the noise cloud cluster in multiple fractal clouds can be quickly removed by setting a second threshold, and the target fractal cloud cluster is retained.

[0094] Taking an airplane as an example, since vehicles not considered part of the background point cloud may appear on the apron, such as temporary rescue vehicles, the multiple fractal clouds identified will include a fractal cloud corresponding to the rescue vehicle. However, due to the significant difference in volume between the rescue vehicle and the airplane, the number of point clouds contained in their respective fractal clouds will also differ significantly. Therefore, setting a second threshold can remove the fractal cloud corresponding to the rescue vehicle. This allows for faster noise removal and more accurate acquisition of the target fractal cloud.

[0095] As another possible embodiment of the present application, step A600: determining the attributes of the target to be measured according to J, includes:

[0096] Step A601: establishing a second mapping relationship table between the total number of spatial coordinates in the fractal cloud and attribute labels.

[0097] Step A602: Determine the attribute label corresponding to each target fractal cloud according to the second mapping relationship table.

[0098] Step A603: Determine the attributes of the target to be measured corresponding to the target fractal cloud according to the attribute label corresponding to the target fractal cloud.

[0099] Since the total number of spatial coordinates in a fractal cloud is generally proportional to the volume of the target being measured, the total number of spatial coordinates in the fractal cloud can be used as a characteristic value to determine the properties of the target being measured. Since the volume difference between an airplane and other objects on the tarmac is significant, the total number of spatial coordinates in the corresponding fractal cloud also varies significantly, making the difference more obvious. Therefore, when an airplane is the target object being measured, it is easier to accurately determine the range of the total number of coordinates corresponding to the airplane. This, in turn, improves the accuracy of determining the properties of the target being measured corresponding to the target fractal cloud.

[0100] According to a possible embodiment of the present invention, a target clustering method based on Hilbert coding is provided, and the method includes the following steps:

[0101] Step B100: Obtain the point cloud code set M corresponding to the target of interest in the target area = (M g 1,M g 2,…,M g h ,…,M g z ). Among them, M g h The target point cloud code for the hth laser point constituting the target of interest. Each target point cloud code in M is obtained by encoding the target of interest within the target region using a g-order Hilbert curve. h = 1, 2, …, z, where z is the total number of point cloud codes in M. The target of interest can contain multiple sub-targets.

[0102] In this step, the point cloud code set corresponding to the target of interest in the target area is obtained, which can be obtained according to the method of steps S100 to S800.

[0103] Step B200: Obtain the labeling code corresponding to each target point cloud code in M to obtain the labeling code set N corresponding to M = (N g-1 1,N g-1 2,…,N g-1 h ,…,N g-1 z ). Among them, N g-1 h M g h Corresponding labeling code. Each labeling code is the g-1 order Hilbert code of the corresponding target point cloud code.

[0104] Step B300: Generate multiple labeled subsets O1, O2, ..., O corresponding to the target of interest based on N and M. m ,…,O y , O m =(Om 1 ,O m 2 ). Among them, O m is the mth labeled subset corresponding to the target of interest. y is the total number of labeled subsets corresponding to the target of interest. m=1,2,…,y, y≤z. m 1 O m The corresponding assignment code. m 2 O m The corresponding point cloud encoding array. m 2 =(M gm 1,M gm 2,…,M gm p ,…,M gm f(m) ). M gm p O m 2 The p-th target point cloud encoding in . p=1,2,…,f(m), f(m) is O m 2 The total number of target point cloud codes in f(m)≤z. m 2 The labeling code corresponding to each target point cloud code is O m 1 .

[0105] Using N and M, we generate multiple labeled subsets corresponding to the target of interest. Then, based on the labeled codes corresponding to each labeled subset, we generate multiple spatially clustered subsets corresponding to the target of interest. Consequently, subsequent clustering is performed based on the labeled codes. Furthermore, because the labeled codes are g-1-order Hilbert codes of the corresponding target point cloud codes, the amount of data used in clustering can be further reduced, further improving computational efficiency.

[0106] Step B400: Generate multiple spatial cluster subsets Q1, Q2, ..., Q corresponding to the target of interest according to the labeling code corresponding to each labeling subset. q ,…,Q x Among them, Q q is the qth spatial cluster subset corresponding to the target of interest. x is the total number of spatial cluster subsets corresponding to the target of interest. q=1,2,…,x,x≤y. Q q =(Q q 1 ,Q q 2 ,…,Q qr ,…,Q q f(q) ) and Q q 1 q 2 <… q r <… q f(q) .Q q r Q q The rth assignment code in r = 1, 2, ..., f (q), f (q) ≤ y. f (q) is Q q The total number of assigned codes. q f(q) The following conditions are met: Q q f(q) -Q q 1 ≤R. Wherein, R is the preset distance radius. Preferably, R=5.

[0107] The subscript codes in this embodiment are decimal codes, starting with Q q 1 =50, R=5 as an example, the numerical range of the assigned codes included in the corresponding spatial aggregation subset is 50-55.

[0108] Specifically, step B400 includes the following steps:

[0109] Step B401: performing a second matching process on the labeled codes corresponding to the remaining labeled subsets multiple times to generate multiple spatial clustering subsets.

[0110] The second matching process includes:

[0111] Step B402: Select the smallest assignment code in the currently remaining assignment subset as the target assignment code T.

[0112] Step B403: Create a corresponding spatial cluster subset and store the target labeling code in the spatial cluster subset.

[0113] Step B404: Match the target labeling code with the labeling code corresponding to each remaining labeling subset.

[0114] Step B405: Whenever any of the remaining assigned codes and the target assigned code meet the first condition, the assigned code is stored in the spatial cluster subset.

[0115] The first condition is: |T t -T|≤R. Where, T t Encode any label in the current remaining subset of labels. ​​​

[0116] Step B406: The assigned codes added to the spatial cluster subset are deleted from the assigned codes corresponding to the currently remaining assigned subsets, so as to update the assigned codes corresponding to the remaining assigned subsets.

[0117] Repeating steps B402 to B406 multiple times can quickly cluster multiple labeled subsets. In this embodiment, since the difference between any two Hilbert codes can reflect the distance between the points corresponding to these two codes in space. Therefore, the numerical proximity of the above codes can be used to quickly determine whether the g-1 order Hilbert codes corresponding to the labeled subsets are spatially close. This is also in line with Q q f(q) -Q q 1 Multiple labeled codes with a value ≤ R are placed into the same spatial cluster subset. Since the distance between each two aircraft on the apron is greater than the width of the fault zone in the target point cloud, by controlling the size of R, not only can the point clouds corresponding to different aircraft be segmented, but also the point clouds corresponding to the same aircraft can be avoided from being separated from the fault location and clustered into different targets. This can improve the accuracy of the final clustering result.

[0118] Step B500: Obtain the spatial aggregation code set S1, S2, ..., S corresponding to each spatial aggregation subset q ,…,S x Among them, S q Q q The corresponding spatial clustering code set. S q =(S q 1 ,S q 2 ,…,S q r ,…,S q f(q) ). S q r Q q r Corresponding spatial clustering codes. Each spatial clustering code is a g-2 order Hilbert code of the corresponding target point cloud code.

[0119] Step B600: Perform data cleaning processing on each spatial clustering code set to obtain a target point cloud code set corresponding to each sub-target.

[0120] Step B700: Determine the attributes of the sub-targets corresponding to each target point cloud code set according to the number of target point cloud codes in each target point cloud code set.

[0121] Data cleaning processing includes:

[0122] Step B601: Obtain the total number of codes for each type of spatial aggregation coding in the spatial aggregation coding set.

[0123] Step B601 can be implemented by the following steps:

[0124] Step B6011: Obtain the first spatial aggregation code in the current spatial aggregation code set as the target spatial aggregation code;

[0125] Step B6012: record the total number of codes corresponding to the target spatial clustering code as 0;

[0126] Step B6013: Match the target spatial aggregation code with each unmarked spatial aggregation code in the current spatial aggregation code set;

[0127] Step B6014: After each matching of an identical spatial aggregation code, add 1 to the total number of codes corresponding to the target spatial aggregation code, and add a mark to the corresponding spatial aggregation code;

[0128] Step B6015: Repeat steps B6011 to B6014 to obtain the total number of codes for each type of spatial aggregation coding in the spatial aggregation coding set.

[0129] Step B602: Whenever the total number of codes is less than the cleaning threshold, the spatially clustered codes corresponding to the total number of codes are removed from the spatially clustered code set to obtain an initial target point cloud code set corresponding to the spatially clustered code set.

[0130] Step B603: adding the target point cloud code in the labeled subset corresponding to each spatial clustering code in the initial target point cloud code set to the corresponding target point cloud code set to generate the target point cloud code set of the corresponding sub-target.

[0131] In this step, Q q f(q) -Q q 1 In the spatial cluster subset filtered by the condition of ≤R, in addition to the target point cloud data corresponding to the sub-target, there will also be some noise point cloud data. The noise point cloud is usually distributed at a position far away from the target point cloud, that is, Q q f(q) -Q q 1=R point cloud. Therefore, the spatial clustering code corresponding to the noise point cloud data is usually different from the spatial clustering code corresponding to the target point cloud data. At the same time, the distribution of the target point cloud has a higher clustering property than that of the noise point cloud. Therefore, there will be multiple target point clouds with labeled codes corresponding to the same spatial clustering code. However, since the distribution of the noise point cloud is relatively discrete and the spatial distance between any two noise point clouds is large, the spatial clustering codes corresponding to different noise point clouds are basically different. Therefore, the noise point cloud data in the spatial clustering subset can be quickly removed through data cleaning processing. This makes the number of target point cloud codes corresponding to each sub-target more accurate, thereby further improving the accuracy of the clustering results ultimately determined by the number of target point cloud codes.

[0132] This application uses Hilbert coding to encode the target of interest and obtains clustering results by processing the g-1 and g-2 order Hilbert codes of the target point cloud. Because a Hilbert code can represent all point clouds within a corresponding cubic spatial region, encoding the point cloud using this method can significantly reduce the amount of data. This can significantly improve computational efficiency and output computational results more promptly, thereby improving real-time performance.

[0133] At the same time, by using the numerical proximity of Hilbert codes, we can determine whether the point clouds corresponding to the target point cloud codes in multiple labeled subsets are spatially close by judging whether the g-1 order Hilbert codes corresponding to the labeled subsets are close. q f(q) -Q q 1 Multiple labeled codes with a value less than or equal to R are placed into the same spatial cluster subset. Therefore, by controlling the size of R, not only can the point clouds corresponding to different aircraft be segmented, but also the point clouds corresponding to the same aircraft can be avoided from being separated at the break position and clustered into different targets. This can improve the accuracy of the final clustering result.

[0134] As a possible embodiment of the present invention, step B300: generating multiple labeled subsets corresponding to the target of interest based on N and M, including:

[0135] Step B301: Perform the first matching process on the remaining labeled codes in N multiple times to generate multiple labeled subsets.

[0136] The first matching process includes:

[0137] Step B302: Select the smallest assignment code among the current N as the target assignment code.

[0138] Step B303: Create a corresponding labeling subset, use the target labeling code as the labeling code of the labeling subset, and store the target point cloud code corresponding to the target labeling code in M into the point cloud code array of the labeling subset.

[0139] Step B304: Match the target assigned code with each of the remaining assigned codes in N.

[0140] Step B305: Whenever any of the remaining labeled codes successfully matches the target labeled code, the target point cloud code corresponding to the labeled code in M is stored in the point cloud code array of the labeled subset.

[0141] Step B306: Delete all the assignment codes in the current N that are the same as the target assignment code to update the remaining assignment codes in N.

[0142] Repeating steps B302 to B306 multiple times can store the same labeling codes in N in the same labeling subset. Since the labeling code is the g-1 order Hilbert code of the corresponding target point cloud code. If multiple target point cloud codes correspond to the same g-1 order Hilbert code, it can be known that the above-mentioned multiple target point cloud codes are clustered in the same spatial area, that is, the point clouds corresponding to the multiple target point cloud codes belong to the point cloud of the same sub-target. Therefore, this embodiment can quickly complete the preliminary clustering of the point clouds of multiple sub-targets in the target area.

[0143] As a possible embodiment of the present invention, step B500: obtaining a spatially aggregated code set corresponding to each spatially aggregated subset includes:

[0144] Step B501: Perform a third matching process on each spatially clustered subset to generate a corresponding spatially clustered code set.

[0145] The third matching process includes:

[0146] Step B502: Obtain the binary code corresponding to each labeled code in the spatial clustering subset.

[0147] Step B503: The first w-2 bits of the binary code corresponding to each assigned code are used as the parent code of each corresponding assigned code, where w is the total number of bits of each binary code.

[0148] A Hilbert curve is a curve that completely fills a square space. The specific methods for generating Hilbert curves of each order are known from existing techniques and will not be elaborated here. The generation of multi-scale Hilbert curves is also recursive. For example, the construction of a g-order Hilbert curve involves first generating a g-1-order Hilbert curve, then concatenating four g-1-order Hilbert curves end-to-end to form a g-order Hilbert curve.

[0149] The corresponding multi-order Hilbert codes are also formed recursively. For example, if a g-2 Hilbert code is 000010, then its four corresponding g-1 Hilbert codes are 00001000, 00001001, 00001010, and 00001011. Similarly, the four g-order Hilbert codes corresponding to a g-1 Hilbert code 00001000 are 0000100000, 0000100001, 0000100010, and 0000100011. The g-2 Hilbert code 000010 is the parent code of the four corresponding g-1 Hilbert codes.

[0150] Step B504: Match the first parent code in the spatial cluster subset with each of the remaining parent codes.

[0151] Step B505: When any remaining parent code fails to match the first parent code, the labeled code corresponding to the remaining parent code is deleted from the spatial aggregation subset.

[0152] Step B506: After the matching is completed, all the remaining labeled codes in the spatial clustering subset are added to the corresponding spatial clustering code set.

[0153] Since the parent code determination method in this embodiment is simpler and faster, the third matching process can be performed on each spatially aggregated subset more quickly to generate a corresponding spatially aggregated code set.

[0154] As a possible embodiment of the present invention, step B700: determining the attributes of the sub-target corresponding to each target point cloud code set according to the number of target point cloud codes in each target point cloud code set, including:

[0155] Step B701: taking a target point cloud code set whose target point cloud code quantity is greater than a second threshold as a target code set to be identified.

[0156] Step B702: Determine the attributes of the sub-target corresponding to each target code set to be identified based on the mapping relationship between the number of point cloud codes and the attributes of the sub-target.

[0157] Since objects of different sizes correspond to different numbers of point clouds, and therefore different numbers of target point cloud codes, when the number of point clouds in a fractal cloud significantly differs from the volume of the corresponding target object, it can be determined to be noise and should be removed. Therefore, a second threshold can be set to quickly remove the noise point clouds from multiple fractal clouds, leaving only the target fractal cloud.

[0158] Taking an airplane as an example, since vehicles not considered part of the background point cloud may appear on the apron, such as temporary rescue vehicles, the multiple fractal clouds identified will include a fractal cloud corresponding to the rescue vehicle. However, due to the significant difference in volume between the rescue vehicle and the airplane, the number of point clouds contained in their respective fractal clouds will also differ significantly. Therefore, setting a second threshold can remove the fractal cloud corresponding to the rescue vehicle. This allows for faster noise removal and more accurate acquisition of the target fractal cloud.

[0159] An embodiment of the present invention also provides a non-transitory computer-readable storage medium, which can be set in an electronic device to store at least one instruction or at least one program related to implementing a method in a method embodiment. The at least one instruction or the at least one program is loaded and executed by the processor to implement the method provided in the above embodiment.

[0160] An embodiment of the present invention further provides an electronic device including a processor and the aforementioned non-transitory computer-readable storage medium.

[0161] An embodiment of the present invention further provides a computer program product, which includes program code. When the program product is run on an electronic device, the program code is used to enable the electronic device to execute the steps of the method according to various exemplary embodiments of the present invention described above in this specification.

[0162] Although some specific embodiments of the present invention have been described in detail by way of example, it will be understood by those skilled in the art that the above examples are for illustration only and are not intended to limit the scope of the present invention. It will also be understood by those skilled in the art that various modifications may be made to the embodiments without departing from the scope and spirit of the present invention. The scope of the present invention is defined by the appended claims.

Claims

1. A detection target acquisition method based on Hilbert curve coding, characterized in that: The method comprises the following steps: Acquire a background point cloud set of the target area, the background point cloud set including a point cloud subset of a fixed target in the background and a position point cloud set of at least one movable target, the position point cloud set including at least one position point cloud subset; the position point cloud subset is a point cloud set corresponding to the corresponding movable target at any position in a preset movement path; The background point cloud set is subjected to Hilbert curve space coding to obtain a background point cloud coding set A=(A1, A2, ..., A i ,…,A n ), where A i The background coding subset corresponding to the background point cloud obtained after segmenting the target area by the i-th order Hilbert curve; i=1,2,…,n, where n is the total number of background coding subsets; Acquire a target point cloud set to be measured in the target area, wherein the target point cloud set to be measured includes the background point cloud set and the target point cloud set to be identified, and the target point cloud set to be identified includes at least one target point cloud subset corresponding to the target to be identified; The Hilbert curve space coding process is performed on the point cloud set to obtain the point cloud coding set B=(B1, B2,…, B i ,…,B n ); among them, B i A real-time coding subset corresponding to the point cloud to be measured is obtained after segmenting the target area by the i-th order Hilbert curve; Determine the target spatial error value E according to the preset precision value c1 m ; where E m < c1, and c1 - E m ≤ Y1; Y1 is the first threshold; E m is the distance between any two adjacent constructed points on the Hilbert curve after the target area is segmented by the m-th order Hilbert curve; m ∈ [1, n]; Determine the spatial error value E from A and B respectively m The first target encoding subset A m With the second target encoding subset B m ; B m Each code in A m The codes in B are matched one by one; when B m Any code in A m If all the codes in are different, the code matching fails; B m All the codes that failed to match are put into the same set to get the target code set.

2. The method according to claim 1, characterized in that Applied to a first system, the first system includes a first cache space and a second cache space, the first cache space and the second cache space are independently configured; The first cache space is used to perform Hilbert curve space coding processing on the background point cloud set and store the background point cloud coding set A; The second cache space is used to perform Hilbert curve space coding processing on the point cloud set to be measured obtained in real time, and store the point cloud coding set B to be measured.

3. The method according to claim 1, characterized in that According to the preset accuracy value c1, the target spatial error value E is determined m ,include: Obtain the spatial error values d1, d2, ..., d corresponding to the segmentation of the target area by each order Hilbert curve i ,…,d n , where d i is the spatial error value corresponding to the segmentation of the target area by the i-th order Hilbert curve; Whenever d i When ≤c1, determine d i is the initial target space error value; From all the initial target space error values d c1 ,d c2 ,…,d cv ,…,d cu In the example, determine the target spatial error value E m , E m The following conditions must be met: E m =Max(d c1 ,d c2 ,…,d cv ,…,d cu ); Among them, Max() is the maximum value function; d cv is the vth initial target space error value; u is the total number of initial target space error values; v=1,2,…,u, u≤n.

4. The method according to claim 3, characterized in that d i The following conditions are met: ; Among them, X i1 、Y i1 and Z i1 X is the spatial coordinate value of the target construction point corresponding to the segmentation of the target area by the i-th order Hilbert curve; i2 、Y i2 and Z i2 is the coordinate value of the spatial coordinates of any point on the i-th order Hilbert curve adjacent to the target construction point; the target construction point is any construction point on the i-th order Hilbert curve.

5. The method according to claim 3, characterized in that Obtaining the spatial error value corresponding to each order Hilbert curve segmenting the target area, including: Establishing a mapping relationship table between the Hilbert segmentation order of the target area and the corresponding spatial error value; According to the mapping relationship table and the Hilbert segmentation order, a spatial error value corresponding to each order of the Hilbert curve segmenting the target area is determined.

6. The method according to claim 1, characterized in that After obtaining the target code set, the method further includes: Get the spatial coordinates e1, e2, ..., e corresponding to each code in the target code set b ,…,e q , where e b is the spatial coordinate corresponding to the bth code in the target code set; b=1,2,…,q, q is the total number of codes in the target code set; For e1, e2, …, e b ,…,e q Performing point cloud segmentation processing to generate a plurality of fractal cloud clusters; each of the fractal cloud clusters is composed of a plurality of points corresponding to spatial coordinates; A target fractal cloud cluster is determined from the multiple fractal cloud clusters; the number of corresponding spatial coordinates in the target fractal cloud cluster is greater than a second threshold.

7. The method according to claim 1, characterized in that Get the background point cloud set of the target area, including: Identify multiple target time points; Acquire a background point cloud data frame of the target area at each target time point; the background point cloud data frame is a position point cloud set of fixed targets and movable targets in the background at the target time point; A background point cloud set of the target area is generated according to the multiple background point cloud data frames.

8. The method according to claim 7, characterized in that The background point cloud data frame of the target area at each target time point is obtained by laser radar.

9. A non-transitory computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method for acquiring a detection target based on Hilbert curve coding according to any one of claims 1 to 8 is implemented.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the method for acquiring a detection target based on Hilbert curve coding according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Point cloud coding method, point cloud decoding method, point cloud coding device, point cloud decoding device and storage medium

    CN114793484A

  • Decoding and coding methods based on point cloud attribute prediction, decoder and encoder

    CN115086660A