Point cloud data processing method and device, storage medium and electronic equipment

By performing rotation mapping and fitting area calculation of cluster point sets in FPGA, point cloud data processing is simplified, and the problems of high-performance chip requirements and multi-chip collaborative processing are solved, thereby realizing low-cost and efficient point cloud data processing.

CN120375355APending Publication Date: 2025-07-25JINGWEI HIRAIN (TIANJIN) RES&DEV CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510499462.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-21
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

The prior art requires high-performance chips to support complex computing processes when point cloud data processing in vehicle autonomous driving, resulting in high data processing costs and real-time reduction, and the need for coordinated processing of different chips, resulting in wasted communication time.

Method used

FPGA field programmable logic gate array is adopted to determine the border vertex coordinates by rotating mapping and fitting area calculation of points in cluster points, simplifying the computing process, reducing the requirements for chips, and is suitable for chips with lower performance.

Benefits of technology

It reduces the cost and time of point cloud data processing, improves the real-timeness of data processing, reduces the system computing pressure, and realizes efficient point cloud data processing without the need for multi-chip collaborative processing in FPGAs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120375355A_ABST
    Figure CN120375355A_ABST
Patent Text Reader

Abstract

The invention provides a point cloud data processing method and device, a storage medium and electronic equipment, which are applied to an FPGA (Field Programmable Gate Array), and the method comprises the steps: carrying out the rotation mapping of each point in each obtained cluster point set, and obtaining the mapping coordinates of each point at different rotation angles; based on each mapping coordinate of each point of each cluster point set, obtaining a fitting area of each cluster point set at each rotation angle, for each cluster point set, determining a target fitting area in each fitting area of the cluster point set, and then applying the target fitting area to fit a frame vertex coordinate of the cluster point set. The whole operation process is simple, the requirement for chips is reduced, the method can be compatible with various chips with low performance, the cost of point cloud data processing is reduced, the operation process is simple, a large amount of calculation is not needed, the point cloud data processing can be achieved through a small amount of system computing power, the operation pressure of a system is reduced, and different chips do not need to be applied to process data; and the data processing efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of point cloud processing, and particularly relates to a method and device for processing point cloud data, a storage medium, and an electronic device. Background Art

[0002] In the field of autonomous driving of vehicles, the application of point clouds is very extensive. For example, vehicles usually use lidar or millimeter-wave radar to collect point cloud data related to the vehicle, and then perform fitting through the point cloud data to describe the heading and border of the vehicle.

[0003] Currently, the processing of point cloud data uses complex clustering algorithms for data processing, which requires high-performance chips to support complex computing processes. To support complex computing processes, different chips need to be used for collaborative processing. For example, the calculations related to clustering of point cloud data are placed in an MCU, DSP, or CPU for calculation, while the pre-processing of point clouds is completed in an FPGA. Such a processing method will cause a large amount of time to be wasted on communication between chips, resulting in a decrease in the real-time performance of data processing, a reduction in the speed of data processing, and an increase in the cost of point cloud data processing. Summary of the Invention

[0004] In view of this, embodiments of the present invention provide a method and device for processing point cloud data, a storage medium, and an electronic device, which are applied to an FPGA (Field Programmable Gate Array). The solution provided by the present invention is simple and not complex in the process of processing point cloud data, does not require the use of complex algorithms, reduces the requirements for chips, thereby reducing the cost of implementing point cloud data processing, and the entire process of processing point cloud data can be realized in an FPGA, without the need to use different chips for collaborative processing, saving the time for communication between different chips during data processing, thereby improving the rate of data processing.

[0005] To achieve the above object, embodiments of the present invention provide the following technical solutions:

[0006] The present invention discloses a method for processing point cloud data, which is applied to an FPGA (Field Programmable Gate Array), and includes:

[0007] Obtain a plurality of cluster point sets, where each cluster point set includes a plurality of points;

[0008] For each point, perform a rotation mapping on the point at each preset rotation angle to obtain the mapping coordinates of the point at each rotation angle;

[0009] Based on the respective mapping coordinates of the respective points of each cluster point set, obtain the fitting area of each cluster point set at each rotation angle;

[0010] For each of the cluster point sets, determine a target fitting area among the respective fitting areas of the cluster point set, and use the target fitting area to fit the border vertex coordinates of the cluster point set.

[0011] In the above method, optionally, the step of obtaining the fitting area of each cluster point set at each rotation angle based on the respective mapping coordinates of each point in each cluster point set includes:

[0012] Process the respective mapping coordinates of each point based on a preset fitting parameter processing rule to obtain the respective fitting coordinate parameters of each point;

[0013] For each cluster point set, determine the fitting area of the cluster point set at each rotation angle based on the respective fitting coordinate parameters of each point in the cluster point set.

[0014] In the above method, optionally, the step of processing the respective mapping coordinates of each point based on a preset fitting parameter processing rule to obtain the respective fitting coordinate parameters of each point includes:

[0015] Determine the target coordinate extreme value data of each mapping coordinate, where the target coordinate extreme value data is the preset coordinate extreme value data of the cluster point set corresponding to the mapping coordinate, and the coordinate extreme value data includes the maximum and minimum values of each coordinate axis;

[0016] For each mapping coordinate, use the respective coordinate parameters of the mapping coordinate and the target coordinate extreme value data to determine the fitting coordinate parameter of the point corresponding to the mapping coordinate.

[0017] In the above method, optionally, the step of using the target coordinate extreme value data and the respective coordinate parameters of the mapping coordinate to determine the fitting coordinate parameter of the point corresponding to the mapping coordinate includes:

[0018] For each coordinate parameter in the mapping coordinate, when the coordinate parameter is greater than the maximum value of the coordinate axis corresponding to the coordinate parameter in the target coordinate extreme value data of the mapping coordinate, update the coordinate parameter to the maximum value of the coordinate axis corresponding to the coordinate parameter in the target extreme value data of the mapping coordinate; when the coordinate parameter is less than the minimum value of the coordinate axis corresponding to the coordinate parameter in the target coordinate extreme value data of the mapping coordinate, update the coordinate parameter to the minimum value of the coordinate axis corresponding to the coordinate parameter in the target extreme value data of the mapping coordinate; and use the processed target extreme value data as the fitting coordinate parameter of the point corresponding to the mapping coordinate.

[0019] In the above method, optionally, the step of determining the fitting area of the cluster point set at each rotation angle based on the respective fitting coordinate parameters of each point in the cluster point set includes:

[0020] For each point in the cluster point set, perform operations on the fitting coordinate parameters of the point at each of the rotation angles to obtain the operation area of the point at each of the rotation angles;

[0021] For each of the rotation angles, use the operation area with the smallest value among the respective operation areas belonging to that rotation angle as the fitting area of the cluster point set at that rotation angle.

[0022] In the above method, optionally, determining the target fitting area among the respective fitting areas of the cluster point set includes:

[0023] Use the fitting area with the smallest value as the target fitting area of the cluster point set.

[0024] A second aspect of the present invention discloses a point cloud data processing device, which is applied to an FPGA (Field Programmable Gate Array) and includes:

[0025] A first acquisition unit, configured to acquire a plurality of cluster point sets, where each cluster point set includes a plurality of points;

[0026] A mapping unit, configured to perform rotation mapping on each of the points at each preset rotation angle to obtain the mapped coordinates of the points at each of the rotation angles;

[0027] A second acquisition unit, configured to obtain the fitting area of each cluster point set at each of the rotation angles based on the respective mapped coordinates of the points in each cluster point set;

[0028] A determination unit, configured to, for each cluster point set, determine the target fitting area among the respective fitting areas of the cluster point set, and use the target fitting area to fit the border vertex coordinates of the cluster point set.

[0029] In the above device, optionally, the second acquisition unit includes:

[0030] A processing sub-unit, configured to process the respective mapped coordinates of each of the points based on a preset fitting parameter processing rule to obtain the respective fitting coordinate parameters of each of the points;

[0031] A determination sub-unit, configured to, for each cluster point set, determine the fitting area of the cluster point set at each of the rotation angles based on the respective fitting coordinate parameters of the points in the cluster point set.

[0032] In the above device, optionally, the processing sub-unit includes:

[0033] A first determination module, configured to determine the target coordinate extreme value data of each of the mapping coordinates, where the target coordinate extreme value data is the preset coordinate extreme value data of the cluster point set corresponding to the mapping coordinates, and the coordinate extreme value data includes the maximum and minimum values of each coordinate axis;

[0034] A second determination module, configured to, for each of the mapping coordinates, apply each coordinate parameter of the mapping coordinates and the target coordinate extreme value data to determine the fitting coordinate parameters of the point corresponding to the mapping coordinates.

[0035] For the above-mentioned device, optionally, the second determination module includes:

[0036] A processing sub-module, configured to, for each coordinate parameter in the mapping coordinates, when the coordinate parameter is greater than the maximum value of the coordinate axis corresponding to the coordinate parameter in the target coordinate extreme value data of the mapping coordinates, update the coordinate parameter to the maximum value of the coordinate axis corresponding to the coordinate parameter in the target extreme value data of the mapping coordinates; when the coordinate parameter is less than the minimum value of the coordinate axis corresponding to the coordinate parameter in the target coordinate extreme value data of the mapping coordinates, update the coordinate parameter to the minimum value of the coordinate axis corresponding to the coordinate parameter in the target extreme value data of the mapping coordinates; and use the processed target extreme value data as the fitting coordinate parameters of the point corresponding to the mapping coordinates.

[0037] For the above-mentioned device, optionally, the determination sub-unit includes:

[0038] An operation module, configured to, for each point of the cluster point set, perform an operation on the fitting coordinate parameters of the point at each of the rotation angles to obtain the operation area of the point at each of the rotation angles;

[0039] A third determination module, configured to, for each of the rotation angles, use the operation area with the smallest value among the operation areas belonging to the rotation angle as the fitting area of the cluster point set at the rotation angle.

[0040] For the above-mentioned device, optionally, the determination unit includes:

[0041] A fourth determination module, configured to use the fitting area with the smallest value as the target fitting area of the cluster point set.

[0042] A third aspect of the present invention discloses a storage medium, where the storage medium includes stored instructions, and when the instructions are running, the device where the storage medium is located is controlled to execute the point cloud data processing method as described above.

[0043] A fourth aspect of the present invention discloses an electronic device, including a memory, and one or more instructions, where the one or more instructions are stored in the memory and are configured to be executed by one or more processors to perform the point cloud data processing method as described above.

[0044] Compared with the prior art, the present invention has the following advantages:

[0045] The present invention provides a point cloud data processing method, device, storage medium, and electronic device, which are applied to an FPGA (Field Programmable Gate Array), and include: performing rotation mapping on each point in each cluster point set obtained to obtain the mapping coordinates of each point at different rotation angles; based on the respective mapping coordinates of each point in each cluster point set, obtaining the fitting area of each cluster point set at each rotation angle, and for each cluster point set, determining the target fitting area among the respective fitting areas of the cluster point set, and then applying to fit the border vertex coordinates of the cluster point set in the target fitting area. The entire operation process is simple, reducing the requirements for the chip, being compatible with various chips with lower performance, reducing the cost of implementing point cloud data processing. After the operation process is simple, a large amount of calculation is not required, and it can be implemented with a small amount of system computing power, reducing the operation pressure of the system; the solution provided by the present application can implement the entire processing flow of point cloud data in the FPGA, without using multiple chips to coordinate the processing of point cloud data. Therefore, there is no need to communicate between various chips during the process of processing point cloud data, making the processing of point cloud data more real-time and accelerating the speed of point cloud data processing. Description of the Drawings

[0046] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only the embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained according to the provided drawings without creative efforts.

[0047] Figure 1 It is a flowchart of a method for processing cluster point set data provided by an embodiment of the present invention;

[0048] Figure 2 It is a flowchart of obtaining the fitting area of each cluster point set at each rotation angle based on the respective mapping coordinates of each point in each cluster point set provided by an embodiment of the present invention;

[0049] Figure 3 It is a method flowchart for determining the fitting area of a cluster point set at each rotation angle based on the respective fitting coordinate parameters of each point in the cluster point set provided by an embodiment of the present invention;

[0050] Figure 4Scenario example diagram for point cloud data processing provided by an embodiment of the present invention;

[0051] Figure 5 Schematic structural diagram of a point cloud data processing device provided by an embodiment of the present invention;

[0052] Figure 6 Schematic structural diagram of an electronic device provided by an embodiment of the present invention. Detailed implementation manners

[0053] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

[0054] In this application, the term "including", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article or device including the said element.

[0055] Term explanation:

[0056] MCU: Microcontroller Unit, microcontroller unit, also known as single-chip microcomputer (Single Chip Microcomputer) or single-chip microcontroller, is to appropriately reduce the frequency and specifications of the central processing unit (Central Process Unit; CPU), and integrate peripherals such as memory, counter (Timer), USB, A / D conversion, UART, PLC, DMA, and even LCD driver circuits on a single chip to form a chip-level computer for different combinations of control for different application scenarios.

[0057] DSP: DSP (Digital Signal Processing) is digital signal processing technology, and a DSP chip refers to a chip that can implement digital signal processing technology.

[0058] CPU: Central Processing Unit, central processing unit, a computer processor is a functional unit that interprets and executes instructions, also known as the central processing unit or CPU.

[0059] FPGA: Field Programmable Gate Array, a field programmable gate array, is a further development product based on programmable devices such as PAL (Programmable Array Logic) and GAL (Generic Array Logic).

[0060] BRAM: BRAM is Block RAM, that is, the dedicated RAM (Random Access Memory) resource in the FPGA, which is fixedly distributed at specific positions inside the FPGA.

[0061] As can be seen from the background art, currently, when fitting point cloud data, complex clustering algorithms are used for processing. Complex clustering algorithms require high-performance chips to support, resulting in high data processing costs. In addition, in order to support complex fitting processes, different chips are also used for collaborative processing. For example, the calculations related to the clustering of point cloud data are performed in an MCU, DSP, or CPU, while the pre-processing of the point cloud is completed in the FPGA. Such a solution will cause a large amount of time to be wasted on communication between chips, resulting in even higher data processing costs, and the real-time performance of data processing will decline, reducing the data processing speed.

[0062] To solve the above problems, the present invention provides a point cloud data processing solution. In this solution, each point of each cluster point set is mapped at different rotation angles, and then the mapped coordinates of the points at different rotation angles are obtained. For each cluster point set, based on the mapped coordinates of each point of the cluster point set, the fitting area of the cluster point set at each rotation angle is determined, and then the target fitting area is determined from each fitting area. Finally, the border vertex coordinates of the cluster point set are back-calculated from the target fitting area. The entire fitting process has simple operations, does not require complex operations, has low requirements for chips, is compatible with chips with lower performance, effectively reduces the implementation conditions for point cloud data processing, can complete the data processing process without high-performance chips, reduces data processing costs, and the data processing process is simple, reducing the amount of operations and the operation burden of the system.

[0063] The present invention can be used in many general or special computing device environments or configurations. For example: personal computers, server computers, handheld devices or portable devices, tablet devices, multi-processor devices, distributed computing environments including any of the above devices or equipment, and so on.

[0064] The method provided by the embodiment of the present invention can be applied to FPGA chips. In other words, the FPGA chips can complete the data processing solution provided by the present invention. The present invention uses the L-Shape fitting algorithm to implement the processing of point cloud data.

[0065] Refer to Figure 1, which is a flowchart of a method for processing cluster point set data provided by an embodiment of the present invention. The S101 - S104 in the figure will be described, and the specific description is as follows.

[0066] S101. Obtain a plurality of cluster point sets, where each cluster point set includes a plurality of points.

[0067] Obtain a plurality of cluster point sets from a point cloud. The point cloud is usually a frame of point set sent by a radar. Dividing a frame of point set into multiple clusters can obtain a plurality of cluster point sets. Each cluster point set contains a plurality of points. Preferably, a cluster point set can also be understood as a point cloud set.

[0068] When obtaining each cluster point set, it can be obtained in a disordered manner. Each point in the cluster point set contains its coordinate information in the 2D Cartesian coordinate system and the ID number of the cluster to which it belongs.

[0069] Exemplarily, the cluster point set is represented as: , where R represents the cluster and n represents the number of points in the cluster.

[0070] S102. For each point, perform a rotation mapping on the point at each preset rotation angle to obtain the mapping coordinates of the point at each rotation angle.

[0071] It should be noted that when performing rotation mapping on each point in each cluster point set to obtain the mapping coordinates of each point, each cluster point set is processed in parallel. Thus, the mapping coordinates of each point in each cluster point set can be obtained quickly, accelerating the data processing speed.

[0072] Preferably, the preset rotation angles can be set to 45, specifically such as: 0°, 2°, 4°, 6°,..., 88°. Each rotation angle can be regarded as an arithmetic sequence with a difference of 2. The number of rotation angles can be set according to actual needs. The rotation angles can be regular with each other, thus forming a special sequence, such as an arithmetic sequence. The rotation angles can also be irregular with each other and can be set according to actual needs. Preferably, when the rotation angles are regular with each other, it is more convenient for developers to write the corresponding control code and can reduce the workload of developers.

[0073] The present invention can use the CORDIC (Coordinate Rotation Digital Computer) algorithm to complete the rotation mapping processing of points. The way of performing rotation mapping processing on points in the present invention is not limited to using the CORDIC algorithm. The present invention also supports other ways that can implement rotation mapping processing.

[0074] S103. Based on the mapping coordinates of each point in each cluster point set, obtain the fitting area of each cluster point set at each rotation angle.

[0075] Reference Figure 2 , it is a flowchart for obtaining the fitting area of each cluster point set at each rotation angle based on the respective mapping coordinates of each point in each cluster point set provided by the embodiment of the present invention. S201 - S202 in the figure will be described, and the specific description is as follows.

[0076] S201. Process the respective mapping coordinates of each point based on a preset fitting parameter processing rule to obtain the respective fitting coordinate parameters of each point.

[0077] It should be noted that the respective fitting coordinate parameters of each point correspond one - to - one with the respective rotation angles. In other words, for each point, there is a fitting coordinate parameter at each rotation angle.

[0078] The fitting parameter processing rule includes the specific process of processing the mapping coordinates. After processing the mapping coordinates using the fitting parameter processing rule, the fitting coordinate parameters of each point at each rotation angle are obtained.

[0079] The process of obtaining the respective fitting coordinate parameters of each point is as follows: Determine the target coordinate maximum - minimum data of each mapping coordinate. The target coordinate maximum - minimum data is the preset coordinate maximum - minimum data of the cluster point set corresponding to the mapping coordinate, and the coordinate maximum - minimum data includes the maximum and minimum values of each coordinate axis;

[0080] For each mapping coordinate, apply the respective coordinate parameters of the mapping coordinate and the target coordinate maximum - minimum data to determine the fitting coordinate parameter of the point corresponding to the mapping coordinate.

[0081] Furthermore, the coordinate maximum - minimum data of different cluster point sets is different and can be set according to actual needs. For example, for cluster point set 1, the coordinate maximum - minimum data can be expressed as , where represents the coordinate maximum - minimum data of cluster point set 1. Among them, the superscript of K can be the ID identifier of the cluster point set, represents the minimum value of the X - axis, represents the maximum value of the X - axis, represents the minimum value of the Y - axis, represents the maximum value of the Y - axis.

[0082] Preferably, the coordinate maximum - minimum data of the cluster point set can be expressed as , where R is the identity identifier of the cluster point set, and the fitting coordinate parameter can be expressed as , is the fitting coordinate parameter of point n in cluster point set R at rotation angle i.

[0083] When determining the fitting coordinate parameters of the points corresponding to the mapping coordinates, the process is as follows: for each coordinate parameter in the mapping coordinates, when the coordinate parameter is greater than the maximum value of the axis corresponding to the coordinate parameter in the target coordinate maximum and minimum data of the mapping coordinates, update the coordinate parameter to the maximum value of the axis corresponding to the coordinate parameter in the target maximum and minimum data of the mapping coordinates; when the coordinate parameter is less than the minimum value of the axis corresponding to the coordinate parameter in the target coordinate maximum and minimum data of the mapping coordinates, update the coordinate parameter to the minimum value of the axis corresponding to the coordinate parameter in the target maximum and minimum data of the mapping coordinates; and use the processed target maximum and minimum data as the fitting coordinate parameters of the points corresponding to the mapping coordinates.

[0084] Exemplarily, assume that the coordinate maximum and minimum data of cluster point set 1 is , and the mapping coordinates of point 1 at rotation angle 2 are (4, 5). Since the abscissa in the mapping coordinates is 4, which is equal to the maximum value of the coordinate maximum and minimum data, it can be regarded as being between the maximum and minimum values of the abscissa in the coordinate maximum and minimum data. Therefore, the maximum and minimum values of the abscissa in the coordinate maximum and minimum data remain unchanged. Since the ordinate in the mapping coordinates is 5, which is greater than the maximum value of the ordinate in the coordinate maximum and minimum data, the ordinate value of the mapping coordinates is used as the maximum value of the ordinate in the coordinate maximum and minimum data. Thus, the processed coordinate maximum and minimum data is the fitting coordinate parameters of the points corresponding to the mapping coordinates, that is, the fitting coordinate parameters of point 1 at rotation angle 1 are (2, 4, 1, 5). Another example is that the mapping coordinates of point 2 at rotation angle 2 are (1, 0), and the fitting coordinate parameters of point 2 at rotation angle 2 can be obtained as (1, 4, 0, 3). The acquisition process of the fitting coordinate parameters of other mapping coordinates can refer to the content described above, and the present invention will not give further examples.

[0085] Furthermore, each point has corresponding fitting coordinate parameters at different rotation angles. Table 1 is an example table of the fitting coordinate parameters of each point in cluster point set 1 provided by the present invention, as shown in the following table.

[0086] Table 1

[0087]

[0088] Preferably, after obtaining the fitting coordinate parameters of each point at each rotation angle, the fitting coordinate parameters can be stored in the BRAM of the FPGA, and when the fitting coordinate parameters are needed later, they can be extracted from the BRAM at one time.

[0089] S202. For each cluster point set, based on the fitting coordinate parameters of each point in the cluster point set, determine the fitting area of the cluster point set at each rotation angle.

[0090] Refer to Figure 3, which is a flowchart of a method for determining the fitting area of a cluster point set at each rotation angle based on the fitting coordinate parameters of each point in the cluster point set of the embodiment of the present invention. The S301 - S302 in the figure will be described as follows.

[0091] S301. For each point in the cluster point set, perform operations on the fitting coordinate parameters of the point at each rotation angle to obtain the operation area of the point at each rotation angle.

[0092] Exemplarily, using the formula the operation area of the point at each rotation angle can be obtained, where represents the operation area of point n in the cluster point set R at rotation angle i, represents the minimum value of the abscissa in the fitting coordinate parameters of point n in the cluster point set R at rotation angle i, represents the maximum value of the abscissa in the fitting coordinate parameters of point n in the cluster point set R at rotation angle i, represents the maximum value of the ordinate in the fitting coordinate parameters of point n in the cluster point set R at rotation angle i, represents the minimum value of the ordinate in the fitting coordinate parameters of point n in the cluster point set R at rotation angle i.

[0093] S302. For each rotation angle, use the operation area with the smallest value among the operation areas belonging to that rotation angle as the fitting area of the cluster point set at the rotation angle.

[0094] For each cluster point set, determine the fitting area of the cluster point set at each rotation angle. Specifically, for any rotation angle, the fitting area of the cluster point set at that rotation angle is the operation area with the smallest value of the cluster point set at that rotation angle.

[0095] S104. For each cluster point set, determine the target fitting area among the fitting areas of the cluster point set, and use the target fitting area to fit the border vertex coordinates of the cluster point set.

[0096] After determining the fitting area of each cluster point set at each rotation angle, for each cluster point set, use the fitting area with the smallest value among the fitting areas of the cluster point set as the target fitting area of the cluster point set, and then reverse - rotate back to the original coordinates through the CORDIC algorithm, so as to obtain the border vertex coordinates of the cluster point set.

[0097] Further, when performing the steps shown in Figure 3 to step S104, the data of each cluster point set can be processed in a pipeline manner, so that the border vertex fitting coordinates of each degree click can be obtained one by one.

[0098] Exemplarily, based on the fitting coordinate parameters of each point in the cluster point set 1 at each rotation angle, determine the operation area of each point in the cluster point set 1 at each rotation angle. Then, for each rotation angle, take the operation area with the smallest value among the operation areas at this rotation angle as the fitting area of the cluster point set 1 at this rotation angle, so as to obtain the fitting area of the cluster point set 1 at each rotation angle. Then, take the fitting area with the smallest value as the target fitting area of the cluster point set 1, and then perform back-calculation on the target fitting area to fit the border vertex coordinates of the cluster point set 1. Then, sequentially determine the border vertex coordinates of other cluster point sets such as the cluster point set 2 and the cluster point set 3.

[0099] In the method provided by the embodiments of the present invention, perform rotation mapping on each point in each obtained cluster point set to obtain the mapping coordinates of each point at different rotation angles; based on the mapping coordinates of each point in each cluster point set, obtain the fitting area of each cluster point set at each rotation angle. For each cluster point set, determine the target fitting area among the fitting areas of this cluster point set, and then apply the target fitting area to fit the border vertex coordinates of the cluster point set. The entire operation process is simple, reducing the requirements for the chip, being compatible with various chips with lower performance, reducing the cost of implementing point cloud data processing. After the operation process is simple, there is no need to perform a large amount of calculations, and it can be achieved with a small amount of system computing power, reducing the operation pressure of the system; in addition, the solution provided in this application can implement the entire processing flow of point cloud data in the FPGA. This application does not need to use multiple chips to coordinate the processing of point cloud data. Therefore, there is no need to communicate between various chips during the process of processing point cloud data, making the processing of point cloud data more real-time and accelerating the speed of processing point cloud data.

[0100] Refer to Figure 4 , which is a scenario example diagram of point cloud data processing provided by the embodiments of the present invention. Explain the figure. S1-S8 in the figure represent the steps of processing data. The specific content of S1-S8 will be described later. Exemplarily, the input points 1 to n in the figure are all points in a cluster point set.

[0101] Step S1, perform rotation mapping on each input point in parallel at different scanning angles to obtain the mapping coordinates at different scanning angles. Here, the scanning angle is equivalent to the rotation angle above.

[0102] Exemplarily, the present invention uses 45 scanning angles, namely 0°, 2°, 3°,...., 88°; the rotation calculation can be completed using the CORDIC (Coordinate Rotation Digital Computer) algorithm.

[0103] Step S2, after obtaining the mapping coordinates of each point at each scanning angle, based on the preset maximum and minimum values of the x-axis and y-axis of the cluster point set and the coordinate data of each mapping coordinate, obtain the maximum and minimum values of the x-axis and y-axis of each mapping coordinate. At this time, the maximum and minimum values of the x-axis and y-axis of each point at each scanning angle can be obtained.

[0104] Preferably, the preset maximum and minimum values of the x-axis and y-axis of the cluster point set are pre-stored in the BRAM. The preset maximum and minimum values of the x-axis and y-axis of the cluster point set are equivalent to the preset coordinate maximum and minimum data of the cluster point set above.

[0105] When determining the maximum and minimum values of the x-axis and y-axis of a point at a scanning angle, compare the mapping coordinates of the point at the scanning angle with the preset maximum and minimum values of the x-axis and y-axis. When the x-axis coordinate value in the mapping coordinates is less than the preset minimum value of the x-axis, update the x-axis coordinate value in the mapping coordinates to the minimum value of the x-axis; otherwise, do not update the preset minimum value of the x-axis. When the x-axis coordinate value in the mapping coordinates is greater than the preset maximum value of the x-axis, update the x-axis coordinate value in the mapping coordinates to the maximum value of the x-axis; otherwise, do not update the preset maximum value of the x-axis. Similarly, the same processing is done for the preset maximum and minimum values of the y-axis. In this way, finally, the coordinate maximum and minimum data of the point at the scanning angle (equivalent to the fitting coordinate parameters above) can be obtained. The coordinate maximum and minimum data includes the maximum and minimum values of the x-axis and y of the point at the scanning angle.

[0106] Step S3, store the maximum and minimum values of the x-axis and y-axis of each point at each scanning angle in the BRAM.

[0107] There are coordinate maximum and minimum data of different points at different scanning angles stored in different positions. As shown in the figure, the coordinate maximum and minimum data of point 1 at a scanning angle of 0° is stored in BRAM1, and the coordinate maximum and minimum data of point 1 at a scanning angle of 2° is stored in BRAM2, and so on. No further examples are given here.

[0108] Preferably, the BRAM divides multiple storage spaces according to the number of cluster point sets. The storage spaces correspond to the scanning angles one by one. Then each storage space divides multiple sub-spaces according to the number of scanning angles. The sub-spaces in the storage space correspond to the scanning angles one by one.

[0109] The storage space is used to store the coordinate maximum and minimum data of all points of the corresponding cluster point set; for the sub-spaces in the storage space, they are used to store all the coordinate maximum and minimum data of the cluster point set corresponding to the storage space at the scanning angle corresponding to the sub-space.

[0110] Exemplary, Figure 4BRAM1 in it is used to store the coordinate maximum and minimum value data of points 1 to n at a scanning angle of 0°; BRAM2 is used to store the coordinate maximum and minimum value data of points 1 to n at a scanning angle of 2°. No more examples are given here.

[0111] Step S4: For the maximum and minimum values at different rotation angles of the same cluster taken out, calculate the area fitted at each rotation angle in parallel.

[0112] For a certain cluster point set, at any scanning angle, apply the coordinate maximum and minimum value data of each point in this cluster point set at this scanning angle to determine the area of each point at this scanning angle (equivalent to the operation area above), and then take the area with the smallest value as the fitted area of this cluster point set at this scanning angle. Thus, the fitted area of the cluster point set at each scanning angle can be obtained.

[0113] Step S5: According to the calculation result of S4, perform the selection of the minimum area. This step is a process of selecting the area with the smallest value.

[0114] In this part, considering the design of the pipeline, the embodiment of the present invention adopts the method of parallel comparison by the dichotomy. For example, for the selection of the minimum area of 45 areas in the present invention, 6 beats are used to complete.

[0115] Step S6: Take the area finally output in Step S5 as the target fitted area.

[0116] Step S7: Reverse-rotate the target fitted area back to the original coordinate system through the CORDIC algorithm to obtain the coordinates of the fitted border vertices.

[0117] Step S8: Complete storing the vertex coordinates of each cluster into the BRAM.

[0118] In the present invention, the above calculation processes of S1, S2 and S3 are performed when receiving data. When the data reception is completed, this part of the calculation is completed. What is stored in the BRAM is the x and y maximum and minimum values of each cluster in the current multiple point cloud clusters at different rotation angles. These steps can all be implemented by a pipeline. Data can be sent to the calculation module one by each clock to achieve the maximum rate. When the data reception is completed, start the remaining calculations of the L-Shape fitting algorithm, that is, steps S4, S5, S6, S7, S8. This part is also implemented by a pipeline, and the maximum and minimum values at different rotation angles of each cluster are taken out from the BRAM in turn to select the best rotation angle. The above S5, S6, S7 and S8 can all be implemented by a pipeline. After the pipeline is started, the fitting result of one cluster can be output per clock, greatly accelerating the calculation speed of the L-Shape fitting.

[0119] In another possible embodiment, the present application uses a search idea to find the best rotation angle of a rectangle. Each time, the original coordinate system is rotated downward at the searched angle, the point cloud is projected onto the rotated coordinate system axis, and a score for this rotation angle is calculated through the CalculateArea evaluation function, that is, the fitted area at the current angle is calculated. After searching all angles, the angle with the smallest score is selected as the best rotation angle, and then the maximum and minimum values at this angle are selected to inversely solve the coordinates of the four vertices of the border. Thus, the border fitting operation of the point cloud cluster is realized.

[0120] The point cloud data processing solution proposed by the present invention can be implemented on an FPGA. Based on the FPGA-based acceleration method for border fitting calculation of point cloud clusters, compared with processors such as MCUs and DSPs, through pipeline and parallel computing methods on the FPGA, the speed of the entire point cloud data processing can be accelerated. Even the DSP chip specialized for computing can be removed, saving costs. And for lidar or millimeter-wave radar, it provides a solution support for deploying the clustering tracking algorithm in the FPGA.

[0121] Corresponding to Figure 1 the method shown, the present invention also provides a point cloud data processing device, which is used to support Figure 1 the specific implementation of the method shown, and this device can be applied in an FPGA.

[0122] Referring to Figure 5 , which is a schematic structural diagram of a point cloud data processing device provided by an embodiment of the present invention, is specifically described as follows:

[0123] The first acquisition unit 501 is used to acquire a plurality of cluster point sets, and each of the cluster point sets includes a plurality of points;

[0124] The mapping unit 502 is used to perform rotation mapping on each of the points at each preset rotation angle to obtain the mapping coordinates of the points at each of the rotation angles;

[0125] The second acquisition unit 503 is used to acquire the fitted area of each cluster point set at each rotation angle based on the mapping coordinates of each point of each cluster point set;

[0126] The determination unit 504 is used to determine the target fitted area among the fitted areas of each cluster point set for each cluster point set, and use the target fitted area to fit the border vertex coordinates of the cluster point set.

[0127] In the device provided by the embodiment of the present invention, each point in each obtained cluster point set is rotationally mapped to obtain the mapping coordinates of each point at different rotation angles; based on the respective mapping coordinates of each point in each cluster point set, the fitting area of each cluster point set at each rotation angle is obtained. For each cluster point set, a target fitting area is determined among the respective fitting areas of the cluster point set, and then the border vertex coordinates of the cluster point set are fitted in the target fitting area. The entire operation process is simple, the requirements for the chip are reduced, it can be compatible with various chips with low performance, the cost of implementing point cloud data processing is reduced, and since the operation process is simple, a large amount of calculation is not required, and it can be achieved with a small amount of system computing power, reducing the operation pressure of the system.

[0128] In another embodiment provided by the present invention, the second acquisition unit of the device includes:

[0129] A processing subunit, configured to process the respective mapping coordinates of each point based on a preset fitting parameter processing rule to obtain the respective fitting coordinate parameters of each point;

[0130] A determination subunit, configured to, for each cluster point set, determine the fitting area of the cluster point set at each rotation angle based on the respective fitting coordinate parameters of each point in the cluster point set.

[0131] In another embodiment provided by the present invention, the processing subunit of the device includes:

[0132] A first determination module, configured to determine the target coordinate maximum and minimum data of each mapping coordinate, where the target coordinate maximum and minimum data is the preset coordinate maximum and minimum data of the cluster point set corresponding to the mapping coordinate, and the coordinate maximum and minimum data includes the maximum and minimum values of each coordinate axis;

[0133] A second determination module, configured to, for each mapping coordinate, apply the respective coordinate parameters of the mapping coordinate and the target coordinate maximum and minimum data to determine the fitting coordinate parameters of the point corresponding to the mapping coordinate.

[0134] In another embodiment provided by the present invention, the second determination module of the device includes:

[0135] A processing sub-module, for each coordinate parameter in the mapped coordinates, when the coordinate parameter is greater than the maximum value of the axis corresponding to the coordinate parameter in the target coordinate extreme value data of the mapped coordinates, update the coordinate parameter to the maximum value of the axis corresponding to the coordinate parameter in the target extreme value data of the mapped coordinates; when the coordinate parameter is less than the minimum value of the axis corresponding to the coordinate parameter in the target coordinate extreme value data of the mapped coordinates, update the coordinate parameter to the minimum value of the axis corresponding to the coordinate parameter in the target extreme value data of the mapped coordinates; and use the processed target extreme value data as the fitting coordinate parameter of the point corresponding to the mapped coordinates.

[0136] In another embodiment provided by the present invention, the determination sub-unit of the device includes:

[0137] An operation module, for each point in the cluster point set, perform operations on the fitting coordinate parameters of the point at each rotation angle to obtain the operation area of the point at each rotation angle;

[0138] A third determination module, for each rotation angle, use the operation area with the smallest value among the operation areas belonging to the rotation angle as the fitting area of the cluster point set at the rotation angle.

[0139] In another embodiment provided by the present invention, the determination unit of the device includes:

[0140] A fourth determination module, for using the fitting area with the smallest value as the target fitting area of the cluster point set.

[0141] An embodiment of the present invention further provides a storage medium, the storage medium includes stored instructions, wherein when the instructions run, the device where the storage medium is located is controlled to execute the above-mentioned point cloud data processing method.

[0142] An embodiment of the present invention further provides an electronic device, the schematic structural diagram of which is as Figure 6 shown, specifically including a memory 601, and one or more instructions 602, wherein one or more instructions 602 are stored in the memory 601 and are configured to be executed by one or more processors 603 to execute the above-mentioned point cloud data processing method.

[0143] It should be noted that the information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data need to comply with relevant laws, regulations, and standards of relevant countries and regions.

[0144] The specific implementation processes and their derivative methods of the above-mentioned embodiments are all within the protection scope of the present invention.

[0145] Each embodiment in this specification is described in a progressive manner. For the same or similar parts among the embodiments, reference can be made to each other. Each embodiment focuses on the differences from other embodiments. In particular, for a system or system embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For the relevant parts, reference can be made to the description of the method embodiment. The systems and system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. A person of ordinary skill in the art can understand and implement it without creative work.

[0146] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.

[0147] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be obvious to those skilled in the art. The general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but will be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for processing point cloud data, characterized in that, Applied to FPGA (Field Programmable Gate Array), including: Obtain multiple cluster point sets, where each cluster point set includes multiple points; For each of the points, perform rotational mapping on the point at each preset rotation angle to obtain the mapped coordinates of the point at each of the rotation angles; Based on the mapped coordinates of each point in each cluster point set, obtain the fitting area of each cluster point set at each of the rotation angles; For each cluster point set, determine the target fitting area among the fitting areas of the cluster point set, and use the target fitting area to fit the border vertex coordinates of the cluster point set.

2. The method according to claim 1, wherein The step of obtaining the fitting area of each cluster point set at each of the rotation angles based on the mapped coordinates of each point in each cluster point set includes: Process the mapped coordinates of each point based on a preset fitting parameter processing rule to obtain the fitting coordinate parameters of each point; For each cluster point set, determine the fitting area of the cluster point set at each of the rotation angles based on the fitting coordinate parameters of each point in the cluster point set.

3. The method according to claim 2, wherein The step of processing the mapped coordinates of each point based on a preset fitting parameter processing rule to obtain the fitting coordinate parameters of each point includes: Determine the target coordinate extreme value data of each mapped coordinate, where the target coordinate extreme value data is the preset coordinate extreme value data of the cluster point set corresponding to the mapped coordinate, and the coordinate extreme value data includes the maximum and minimum values of each coordinate axis; For each mapped coordinate, use the coordinate parameters of the mapped coordinate and the target coordinate extreme value data to determine the fitting coordinate parameters of the point corresponding to the mapped coordinate.

4. The method according to claim 3, characterized in that, The step of using the coordinate parameters of the mapped coordinate and the target coordinate extreme value data to determine the fitting coordinate parameters of the point corresponding to the mapped coordinate includes: For each coordinate parameter in the mapped coordinate, when the coordinate parameter is greater than the maximum value of the coordinate axis corresponding to the coordinate parameter in the target coordinate extreme value data of the mapped coordinate, update the coordinate parameter to the maximum value of the coordinate axis corresponding to the coordinate parameter in the target extreme value data of the mapped coordinate; when the coordinate parameter is less than the minimum value of the coordinate axis corresponding to the coordinate parameter in the target coordinate extreme value data of the mapped coordinate, update the coordinate parameter to the minimum value of the coordinate axis corresponding to the coordinate parameter in the target extreme value data of the mapped coordinate; and use the processed target extreme value data as the fitting coordinate parameters of the point corresponding to the mapped coordinate.

5. The method according to claim 2, characterized in that The step of determining the fitting area of the cluster point set at each of the rotation angles based on the fitting coordinate parameters of each point in the cluster point set includes: For each point in the cluster point set, perform an operation on the fitting coordinate parameters of the point at each of the rotation angles to obtain the operation area of the point at each of the rotation angles; For each rotation angle, use the operation area with the smallest value among the operation areas belonging to that rotation angle as the fitting area of the cluster point set at the rotation angle.

6. The method according to claim 1, characterized in that, Determining a target fitting area among the respective fitting areas of the cluster point set includes: Taking the fitting area with the smallest value as the target fitting area of the cluster point set.

7. A point cloud data processing device, characterized in that, Applied to the FPGA (Field Programmable Gate Array), it includes: A first acquisition unit for acquiring a plurality of cluster point sets, where each cluster point set includes a plurality of points; A mapping unit for rotating and mapping each point at each preset rotation angle to obtain the mapping coordinates of the point at each rotation angle; A second acquisition unit for obtaining the fitting area of each cluster point set at each rotation angle based on the respective mapping coordinates of the points of each cluster point set; A determination unit for, for each cluster point set, determining a target fitting area among the respective fitting areas of the cluster point set and using the target fitting area to fit the border vertex coordinates of the cluster point set.

8. The device according to claim 7, characterized in that The second acquisition unit includes: A processing subunit for processing the respective mapping coordinates of each point based on a preset fitting parameter processing rule to obtain the respective fitting coordinate parameters of each point; A determination subunit for, for each cluster point set, determining the fitting area of the cluster point set at each rotation angle based on the respective fitting coordinate parameters of the points of the cluster point set.

9. A storage medium, characterized in that, The storage medium includes stored instructions, wherein when the instructions run, they control the device where the storage medium is located to execute the point cloud data processing method according to any one of claims 1-6.

10. An electronic device, characterized in that, It includes a memory and one or more instructions, where one or more instructions are stored in the memory and are configured to be executed by one or more processors to execute the point cloud data processing method according to any one of claims 1-6.