Radar point cloud classification method and device
By generating a parallel traversal Doppler velocity distribution table, the problem of low efficiency in radar point cloud classification is solved, and efficient dynamic and static type judgment is achieved.
Patent Information
- Application Number
- CN202411817458.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-11
- Publication Date
- 2025-04-04
AI Technical Summary
When the prior art judges and classifies dynamic and static types of radar point cloud data, the calculation complexity is high, resulting in low classification efficiency.
By obtaining Doppler velocity information in radar point cloud data, multiple Doppler velocity distribution tables of different levels are generated, and traversing these distribution tables in parallel for accumulation, determining the quantile value of Doppler velocity, thereby dividing dynamic and static types.
While ensuring the accuracy of classification results, the efficiency of radar point cloud classification is significantly improved and the dependence on cumulative distribution functions is avoided.
Smart Images

Figure CN119762855A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of data processing technology, and in particular, relates to a radar point cloud classification method and device. Background Art
[0002] Radar is widely used in vehicle driving fields such as autonomous driving. The point cloud data collected by radar includes static point cloud and dynamic point cloud. In order to ensure that autonomous driving can be achieved through obstacle detection, it is necessary to judge and classify the dynamic and static types of radar point clouds.
[0003] At present, the dynamic and static classification of radar point clouds is usually achieved by accumulating or integrating the probability density function (PDF) obtained by statistically analyzing the radar point cloud data to obtain the cumulative distribution function (CDF), so as to obtain the classification result based on the cumulative distribution function. Since the calculation of the probability density function usually requires traversing and counting the data, and the calculation of the cumulative distribution function requires traversing and accumulating the probability density function, a large number of clock cycles are spent on traversing the data and traversing the probability density function, resulting in high computational complexity and thus low efficiency in radar point cloud classification. Summary of the invention
[0004] The embodiments of the present application provide a radar point cloud classification method and device, which can improve the classification efficiency while ensuring the accuracy of radar point cloud classification results.
[0005] In a first aspect, an embodiment of the present application provides a radar point cloud classification method, the method comprising:
[0006] Acquire radar point cloud data, wherein the radar point cloud data includes Doppler velocity information corresponding to each of the plurality of points;
[0007] According to the Doppler velocity information corresponding to each of the plurality of points, a plurality of Doppler velocity distribution tables of different levels are generated respectively, each of the Doppler velocity distribution tables comprises a table index and a first count value of a corresponding point, the table index is obtained by truncating a binary code of the Doppler velocity information of each point, and the level of the Doppler velocity distribution table is inversely correlated with the number of rows in the table;
[0008] Parallel traversal of the first count values in each Doppler velocity distribution table, and accumulation of the first count values in each Doppler velocity distribution table to obtain an accumulated count value corresponding to each Doppler velocity distribution table;
[0009] Determine, according to the first preset condition and the accumulated count value, a first table index corresponding to the Doppler velocity distribution table with the lowest level among the multiple Doppler velocity distribution tables;
[0010] Determine, according to the first table index, a quantile value of the Doppler velocity corresponding to a preset quantile;
[0011] According to the percentile value of the Doppler velocity, multiple points in the radar point cloud data are classified into dynamic and static types.
[0012] In a second aspect, an embodiment of the present application provides a radar point cloud classification device, the device comprising:
[0013] An acquisition module, used to acquire radar point cloud data, wherein the radar point cloud data includes Doppler velocity information corresponding to each of a plurality of points;
[0014] A generating module, configured to generate a plurality of Doppler velocity distribution tables of different levels respectively according to the Doppler velocity information corresponding to the plurality of points, each of the Doppler velocity distribution tables comprising a table index and a first count value of a corresponding point, the table index being obtained by truncating a binary code of the Doppler velocity information of each point, and the level of the Doppler velocity distribution table being inversely correlated with the number of rows in the table;
[0015] A traversal module is used to traverse the first count values in each Doppler velocity distribution table in parallel, and accumulate the first count values in each Doppler velocity distribution table to obtain the accumulated count values corresponding to each Doppler velocity distribution table;
[0016] A first determining module, configured to determine a first table index corresponding to a Doppler velocity distribution table with the lowest level among a plurality of Doppler velocity distribution tables according to a first preset condition and the accumulated count value;
[0017] A second determination module, configured to determine a quantile value of the Doppler velocity corresponding to a preset quantile according to the first table index;
[0018] The classification module is used to classify the multiple points in the radar point cloud data into dynamic and static types according to the percentile value of the Doppler velocity.
[0019] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the steps of the radar point cloud classification method described in any one of the embodiments of the first aspect are implemented.
[0020] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the steps of the radar point cloud classification method described in any one of the embodiments of the first aspect are implemented.
[0021] In a fifth aspect, an embodiment of the present application provides a computer program product, which is stored in a storage medium and is executed by at least one processor to implement the steps of the radar point cloud classification method provided in the first aspect of the embodiment of the present application.
[0022] The radar point cloud classification method and device of the embodiment of the present application establishes multiple Doppler velocity distribution tables with different precisions in parallel based on the Doppler velocity information corresponding to each of the multiple points of the acquired radar point cloud data, and traverses and accumulates the multiple Doppler velocity distribution tables at the same time, so as to obtain the quantile value of the Doppler velocity based on the Doppler velocity distribution table with the highest precision, thereby realizing the classification of the multiple points in the radar point cloud data into dynamic and static types according to the quantile value of the Doppler velocity, without relying on the cumulative distribution function of the Doppler velocity to solve, thereby improving the classification efficiency while ensuring the accuracy of the radar point cloud classification result. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0024] Figure 1 It is a flowchart of a radar point cloud classification method provided in an embodiment of the present application;
[0025] Figure 2 It is a flowchart of a method for generating a plurality of Doppler velocity distribution tables of different levels provided in an embodiment of the present application;
[0026] Figure 3 is a schematic diagram of exemplary Doppler velocity distribution tables of multiple different levels provided in an embodiment of the present application;
[0027] Figure 4 It is a flowchart diagram of an execution method of iterating until there is one Doppler velocity distribution table that has not been traversed yet provided in an embodiment of the present application;
[0028] Figure 5 It is a structural schematic diagram of a radar point cloud classification device provided in an embodiment of the present application;
[0029] Figure 6 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0030] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.
[0031] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0032] Radar is widely used in vehicle driving fields such as autonomous driving. The point cloud data collected by radar includes static point cloud and dynamic point cloud. In order to ensure that autonomous driving can be achieved through obstacle detection, it is necessary to judge and classify the dynamic and static types of radar point clouds.
[0033] At present, the dynamic and static classification of radar point clouds is usually performed by accumulating or integrating the probability density function (PDF) obtained by statistically analyzing the radar point cloud data to obtain the cumulative distribution function (CDF), so as to obtain the classification result based on the cumulative distribution function. Since the calculation of the probability density function usually requires traversing and counting the data, and the calculation of the cumulative distribution function requires traversing and accumulating the probability density function, a large number of clock cycles are spent on traversing the data and traversing the probability density function, resulting in high computational complexity and thus low efficiency of radar point cloud classification.
[0034] In order to solve the problems of the related art, the embodiments of the present application provide a radar point cloud classification method and device.
[0035] The radar point cloud classification method provided in the embodiment of the present application is described in detail below through specific embodiments and their application scenarios in conjunction with the accompanying drawings.
[0036] Figure 1 FIG. 1 is a flow chart of a radar point cloud classification method 100 according to an embodiment of the present application. Figure 1 As shown, the radar point cloud classification method 100 may specifically include the following steps:
[0037] S101, acquiring radar point cloud data, where the radar point cloud data includes Doppler velocity information corresponding to each of a plurality of points;
[0038] S102, generating a plurality of Doppler velocity distribution tables of different levels respectively according to the Doppler velocity information corresponding to the plurality of points, each Doppler velocity distribution table including a table index and a first count value of a corresponding point, the table index being obtained by truncating a binary code of the Doppler velocity information of each point, and the level of the Doppler velocity distribution table being inversely correlated with the number of rows in the table;
[0039] S103, traversing the first count values in each Doppler velocity distribution table in parallel, and accumulating the first count values in each Doppler velocity distribution table to obtain the accumulated count value corresponding to each Doppler velocity distribution table;
[0040] S104, determining a first table index corresponding to a Doppler velocity distribution table with the lowest level among a plurality of Doppler velocity distribution tables according to a first preset condition and an accumulated count value;
[0041] S105, determining a quantile value of the Doppler velocity corresponding to a preset quantile according to the first table index;
[0042] S106. Classify the multiple points in the radar point cloud data into dynamic and static types according to the percentile values of the Doppler velocity.
[0043] Therefore, based on the Doppler velocity information corresponding to each of the multiple points of the acquired radar point cloud data, multiple Doppler velocity distribution tables with different accuracies are established in parallel and the multiple Doppler velocity distribution tables are traversed and accumulated at the same time, so as to solve the Doppler velocity quantile value based on the Doppler velocity distribution table with the highest accuracy, so as to realize the classification of the dynamic and static types of the multiple points in the radar point cloud data according to the quantile value of the Doppler velocity, without relying on the cumulative distribution function of the Doppler velocity to solve, thereby improving the classification efficiency while ensuring the accuracy of the radar point cloud classification result.
[0044] The specific implementation methods of the above steps are introduced below.
[0045] In some embodiments, in S101, the acquired radar point cloud data is point cloud data collected by a vehicle-mounted radar, such as but not limited to a millimeter wave radar and a lidar, so as to classify the radar point cloud based on the point cloud data and determine the dynamic and static types of the point cloud, thereby realizing obstacle detection of target objects in the vehicle's surrounding environment based on the result of dividing the dynamic and static types of multiple points in the radar point cloud data to realize autonomous driving.
[0046] In some embodiments, the radar point cloud data includes static point clouds and dynamic point clouds. The static point clouds can be point clouds collected by the radar through scanning static objects such as the ground and curbstones, that is, the target objects are static objects in the vehicle's surroundings; the dynamic point clouds can be point clouds collected by the radar through scanning dynamic objects such as moving vehicles and walking pedestrians, that is, the target objects are dynamic objects in the vehicle's surroundings.
[0047] Specifically, the radar point cloud data includes Doppler velocity information corresponding to each of the multiple points. The Doppler velocity information can be obtained through Doppler velocity compensation. It can be understood that since the azimuth angle of radar detection will cause the collected Doppler velocity information to be a component of the actual velocity of the target object, it is necessary to compensate the collected raw data.
[0048] It should be noted that the radar point cloud classification method of the embodiment of the present application can be implemented based on FPGA (Field Programmable Gate Array). In this way, based on the characteristics of hardware programmability and parallel computing of FPGA, the following steps can be performed in parallel: storing the acquired frame of point cloud data in the on-chip memory BRAM or the off-chip storage DDR; counting the number of points in a frame of point cloud data to obtain the point cloud length; determining the maximum value (maximum value and minimum value) of the Doppler velocity information corresponding to each of the multiple points of the point cloud data. Thus, the computing efficiency is improved through parallel computing.
[0049] In addition, refer to Figure 2 , is a flow chart of a method 200 for generating a plurality of Doppler velocity distribution tables of different levels. That is, S102 can be performed by Figure 2 The S201 to S205 shown implement:
[0050] S201. Determine the corresponding number of table rows according to the level of the Doppler velocity distribution table.
[0051] In some embodiments, the level of the Doppler velocity distribution table is inversely correlated with the number of rows in the table. It can be understood that the more rows in the Doppler velocity distribution table, the higher the accuracy of the quantile value of the Doppler velocity obtained based on the Doppler velocity distribution table, and thus the higher the accuracy of the radar point cloud classification result. In other words, the level of the Doppler velocity distribution table is also inversely correlated with the number of rows in the table.
[0052] In addition, in some embodiments, for a plurality of Doppler velocity distribution tables of different levels, the ratio between the number of table rows corresponding to any two adjacent Doppler velocity distribution tables is a first preset value. For example, the ratio between the number of table rows corresponding to any two adjacent Doppler velocity distribution tables is 2 k , and the value range of the integer k is 1≤k≤n-1.
[0053] It should be understood that since the Doppler velocity information of each point is a fixed-point number, in order to map it to a table index that is compatible with the number of table rows, a truncation operation needs to be performed on it, that is, S202 is executed.
[0054] S202: According to the number of rows in the table, the binary code of the Doppler velocity information of each point is truncated from high bits to low bits, so that the bit width of the truncated Doppler velocity information and the number of rows in the table meet a second preset condition.
[0055] Specifically, if the number of table rows is defined as d, and the bit width of the truncated Doppler velocity information is n, then the bit width n is kept to be compatible with the number of table rows d, that is, the second preset condition is satisfied: d=2 n .
[0056] In some embodiments, a left truncation function LeftCut(x1,x2) may be used, that is, the binary code of x1 is truncated from high to low, and the truncation width is x2, so as to obtain the truncated Doppler velocity information. Furthermore, since the Doppler velocity information is a fixed-point number and a binary signed number, and the FPGA internal table index is a fixed-point number and an unsigned number, S203 needs to be executed.
[0057] S203: Add a preset offset to the truncated Doppler velocity information to obtain a table index corresponding to the Doppler velocity information, wherein the preset offset is determined according to the number of table rows, and the preset offset may be half of the number of table rows.
[0058] In this way, by adding a preset offset (ie, half of the number of table rows) to the truncated Doppler velocity information, negative numbers can be mapped to the first half of the table index and positive numbers can be mapped to the second half of the table index.
[0059] Specifically, the mapping process from Doppler velocity information to table index can be implemented by the following formula (1):
[0060] T=LeftCut(v, n)+2 n-1 ; (1)
[0061] Wherein, T represents the table index; v represents the Doppler velocity information; n represents the reserved bit width of the Doppler velocity information after truncation, and n≤N, and N represents the initial bit width of the Doppler velocity information.
[0062] S204: Determine a first count value of a point corresponding to the table index according to the Doppler velocity information of each point. That is, the first count value is the number of points corresponding to the same Doppler velocity in the point cloud data.
[0063] S205: Obtain a Doppler velocity distribution table according to the table index and the first count value of the corresponding point. In this way, the generated Doppler velocity distribution table includes the table index and the first count value of the corresponding point, and the table index corresponds to the Doppler velocity information of each point.
[0064] In another embodiment, in the process of mapping the Doppler velocity information corresponding to each of the multiple points to a table index, the second count value is updated so that the second count value increases by 1, and the initial value of the second count value is 0. That is, the second count value C(T) is read cyclically, and the second count value is added by 1 and then written back, that is, C(T)=C(T)+1. In this way, when the second count value reaches the number of points in the radar point cloud data, the loop ends, and the reception of a frame of point cloud data is completed, and the Doppler velocity distribution table is created.
[0065] refer to Figure 3 , is a schematic diagram of exemplary Doppler velocity distribution tables of multiple different levels. Figure 3 As shown, the level of the Doppler velocity distribution table is defined as m, and the value range of the integer m is 0≤m≤(n-1) / k. The number of rows in each Doppler velocity distribution table is d. m The ratio between the number of rows in the Doppler velocity distribution tables of two adjacent levels is 2 k , and the value range of integer k is 1≤k≤n-1. Then, d m Satisfaction:d m =2 n-mk That is, with the number of rows in the table d m The corresponding table index T m The bit width is n-mk. And the table index of the m-th level Doppler velocity distribution table is: T m =LeftCut(v,n-mk)+2 n-mk-1 .
[0066] Further, in some embodiments, S103 can be implemented in the following manner: determine the minimum Doppler velocity value in the Doppler velocity information corresponding to each of the multiple points; perform the following operations in parallel for each Doppler velocity distribution table: determine the lower limit boundary index of the Doppler velocity distribution table based on the minimum Doppler velocity value; and traverse the first count value in the Doppler velocity distribution table from the lower limit boundary index.
[0067] Specifically, the minimum Doppler velocity in a frame of point cloud is defined as v min , the maximum value is v max , define the boundary index of the m-th level Doppler velocity distribution table as the lower boundary index T m,b1 and the upper boundary index T m,b2 Then, we can calculate the Doppler velocity minimum value v min , maximum value v max , the boundary index T is determined by the following equations (2) and (3): m,b1 、T m,b2 :
[0068] T m,b1 =LeftCut(v min ,n-mk)+2 n-mk-1 ; (2)
[0069] T m,b2 =LeftCut(v max ,n-mk)+2 n-mk-1 (3)
[0070] In this way, the introduction of boundary indexes avoids traversing invalid tables with count values of 0, and can also significantly reduce the time consumption of traversal in the case where data distribution is relatively concentrated.
[0071] Further, in some embodiments, in S104, iteration is performed until there is one Doppler velocity distribution table that has not been traversed yet, so as to determine the corresponding table index when the accumulated count value of the Doppler velocity distribution table with the lowest level among the multiple Doppler velocity distribution tables meets the first preset condition. Figure 4 .
[0072] like Figure 4 As shown, the following steps are iteratively performed: S401 to S404, until there is one Doppler velocity distribution table that has not been traversed yet.
[0073] S401. When the accumulated count value of the first Doppler velocity distribution table satisfies a first preset condition, the traversal of the first Doppler velocity distribution table is terminated, and a first table index last traversed before the traversal of the first Doppler velocity distribution table is terminated is determined, wherein the first Doppler velocity distribution table is any one of a plurality of Doppler velocity distribution tables of different levels.
[0074] In some embodiments, the first preset condition is that the accumulated count value is greater than or equal to the second preset value, and the second preset value is determined according to the number of points in the radar point cloud data and the preset quantile. Specifically, the number of points in the radar point cloud data is defined as L, and the preset quantile is defined as α, then the second preset value S corresponding to the preset quantile is α For: S α =L*α. Wherein, for the preset quantile α, 0<α<0.5, its specific value range can be determined according to the actual characteristics of the radar point cloud and experimental experience.
[0075] That is to say, the table index in the process of traversing the m-th level Doppler velocity distribution table is defined as T m,s , the accumulated count value is S m,s , S m,s The value of delaying one beat is S m,s,dly When the accumulated count value S m,s ≥S α When , the traversal and accumulation of the m-th level Doppler velocity distribution table ends, and the traversal result is output. Define the first table index that was traversed before the end of the traversal of the m-th level Doppler velocity distribution table as T m,α , the accumulated count value at the end of the traversal is S m,α , the accumulated count value of the previous cycle before the traversal ends is S m,α,dly .
[0076] S402: Determine a second table index corresponding to the first table index from the table index of the second Doppler velocity distribution table, the second Doppler velocity distribution table being a Doppler velocity distribution table at a level lower than the first Doppler velocity distribution table.
[0077] It should be understood that, for multiple Doppler velocity distribution tables of different levels, the Doppler velocity distribution table with the highest level (i.e., the least number of table rows) among the multiple Doppler velocity distribution tables that first meets the first preset condition. In addition, the time when the traversal accumulation of the Doppler velocity distribution table with lower precision, i.e., the higher level, ends is not later than the time when the traversal accumulation of the Doppler velocity distribution table with higher precision, i.e., the lower level, ends.
[0078] In addition, there is a certain relationship between the mapping indexes of the same Doppler velocity in the Doppler velocity distribution tables of different levels. Assume that the table index of the same Doppler velocity information mapped to the i-th level Doppler velocity distribution table is T i, the table index mapped to the j - th level Doppler velocity distribution table is T j , where 0 ≤ i < j ≤ m. Then, T i and T j satisfy the relationship shown in Equation (4):
[0079] (2 k ) i-j T j ≤ T i ≤ (2 k ) i-j (T j +1)-1. (4)
[0080] S403. For the second Doppler velocity distribution table, continue traversing from the second table index, and continue traversing other Doppler velocity distribution tables in multiple Doppler velocity distribution tables except the second Doppler velocity distribution table and the first Doppler velocity distribution table.
[0081] In some embodiments, for the second Doppler velocity distribution table, update the current cumulative count value of the second Doppler velocity distribution table to the first cumulative count value of the first Doppler velocity distribution table. The first cumulative count value is the cumulative count value obtained by accumulating the previous first count value before the end of traversing the first Doppler velocity distribution table; continue traversing the first count value in the second Doppler velocity distribution table from the second table index.
[0082] Specifically, define the last traversed first table index before the end of traversing the j - th level Doppler velocity distribution table as T j,α , the cumulative count value at the end of traversing is S j,α , and the cumulative count value in the previous cycle before the end of traversing (i.e., the first cumulative count value) is S j,α,dly ; define the table index during traversing the i - th level Doppler velocity distribution table as T i,s , and the cumulative count value is S i . In the case of 0 ≤ i < j, if the traversing of the i - th level Doppler velocity distribution table has not ended when the traversing of the j - th level Doppler velocity distribution table ends, the traversing index T i,s (i.e., the second table index corresponding to the first table index) jumps according to Equation (5):
[0083] T i,s =(2 k ) i-j T j,α , i = 0, …, j - 1; (5)
[0084] The cumulative count value S i,s is updated according to Equation (6), that is, the current cumulative count value of the second Doppler velocity distribution table is updated to:
[0085] S i,s =S j,α,dly ,i=0,…,j-1. (6)
[0086] In this way, when the low-precision Doppler velocity distribution table is finished traversing, the table index and the accumulated count value are passed to the high-precision Doppler velocity distribution table, so as to realize the index jump of the high-precision Doppler velocity distribution table. While ensuring the accuracy of the solution of the quantile value, the traversal time of the Doppler velocity distribution table is greatly reduced, and the calculation efficiency is improved.
[0087] S404: Remove the first Doppler velocity distribution table from the multiple Doppler velocity distribution tables to obtain multiple updated Doppler velocity distribution tables, and update the second Doppler velocity distribution table to the first Doppler velocity distribution table.
[0088] Therefore, at the highest accuracy (i.e. Figure 3 When the traversal and accumulation of the Doppler velocity distribution table (level 0 in the table) is completed, the entire traversal and accumulation process is also completed. The traversal index of level 0 at this time is defined as T 0,α , that is, obtaining the first table index corresponding to the Doppler velocity distribution table with the lowest level among the multiple Doppler velocity distribution tables.
[0089] Further, in some embodiments, S105 can be implemented by: padding the first table index with the lowest bit of the binary code of the first table index to obtain the Doppler velocity lower quantile value and the Doppler velocity upper quantile value corresponding to the preset quantile. In other words, the Doppler velocity quantile value includes the Doppler velocity lower quantile value and the Doppler velocity upper quantile value.
[0090] In specific implementation, the right padding function FillRight(x1,x2,x3) can be used, that is, padding is performed after the lowest bit of the binary code of x1, x2 is the padding width, and x3 is the padding bit filling value, which can be 0 or 1. Then, the percentile value of the Doppler velocity can be obtained according to the following formula (7):
[0091] v α =FillRight(T 0,α -2 n-1 , Nn, 0). (7)
[0092] Therefore, in some embodiments, in S106, a first threshold and a second threshold for classifying the static and dynamic types are determined according to the Doppler velocity lower quantile value and the Doppler velocity upper quantile value; for multiple points in the radar point cloud data, according to the Doppler velocity information corresponding to each of the multiple points, when the Doppler velocity information is greater than the second threshold or less than the first threshold, the corresponding point is determined to be a motion type, so as to classify the static and dynamic types of multiple points in the radar point cloud data according to the quantile value of the Doppler velocity.
[0093] Specifically, the lower quantile value of Doppler velocity and the upper quantile value of Doppler velocity are defined as and The first threshold is v th_down , the second threshold is v th_up , the first threshold v can be determined according to the following equations (8) and (9) respectively: th_down and the second threshold v th_up :
[0094]
[0095] Among them, the coefficient a and the offset b can prevent When the first threshold v th_down and the second threshold v th_up equal to avoid the situation where the static interval length is 0. In addition, the specific values of the coefficient a and the offset can be determined according to the characteristics of the radar point cloud and experimental experience.
[0096] Then, for the Doppler velocity, v th_down ≤v≤v th_up is a static point cloud, v>v th_up or v <v th_down The point cloud is a dynamic point cloud. That is, the classification results of the dynamic and static types of multiple points in the radar point cloud data are obtained.
[0097] In this way, the saved point cloud data is read from BRAM or DDR, and dynamic and static labels are added to the corresponding points according to equations (8) and (9), and then the point cloud data with dynamic and static labels are output, so that the point cloud data with dynamic and static labels are obtained.
[0098] In addition, in some embodiments, the resource required to establish the Doppler velocity distribution table is defined as R. When the point cloud Doppler velocity bit width is constant, the R value is calculated as shown in formula (10):
[0099]
[0100] The lower and upper limits of the R value can be obtained, as shown in formula (11):
[0101] 2 n≤R≤2 n+1 ; (11)
[0102] Define the number of clock cycles spent on traversing the distribution table as D, and the upper limit of D is calculated as shown in formula (12):
[0103]
[0104] When k=1, D=2n, that is, the ratio between the number of table rows corresponding to any two adjacent levels of Doppler velocity distribution tables is 2, and this is a binary traversal. It can be seen that the radar point cloud classification method of this embodiment can reduce the time complexity of traversing the Doppler velocity distribution table to log(R) without significantly increasing the resource occupancy R of the Doppler velocity distribution table.
[0105] It should be noted that the above describes some embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0106] Based on the same technical concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a radar point cloud classification device 500.
[0107] like Figure 5 As shown, the radar point cloud classification device 500 may include:
[0108] An acquisition module 501 is used to acquire radar point cloud data, where the radar point cloud data includes Doppler velocity information corresponding to each of a plurality of points;
[0109] A generating module 502 is used to generate a plurality of Doppler velocity distribution tables of different levels according to the Doppler velocity information corresponding to the plurality of points, each of the Doppler velocity distribution tables comprising a table index and a first count value of a corresponding point, the table index being obtained by truncating a binary code of the Doppler velocity information of each point, and the level of the Doppler velocity distribution table being inversely correlated with the number of rows in the table;
[0110] A traversal module 503 is used to traverse the first count values in each Doppler velocity distribution table in parallel, and accumulate the first count values in each Doppler velocity distribution table to obtain the accumulated count values corresponding to each Doppler velocity distribution table;
[0111] A first determining module 504 is used to determine a first table index corresponding to a Doppler velocity distribution table with the lowest level among a plurality of Doppler velocity distribution tables according to a first preset condition and the accumulated count value;
[0112] A second determination module 505 is used to determine a quantile value of the Doppler velocity corresponding to a preset quantile according to the first table index;
[0113] The classification module 506 is used to classify the multiple points in the radar point cloud data into dynamic and static types according to the percentile value of the Doppler velocity.
[0114] In some embodiments, the generating module 502 is specifically used to determine the corresponding number of table rows according to the level of the Doppler velocity distribution table; according to the number of table rows, truncate the binary code of the Doppler velocity information of each point from high bit to low bit, so that the bit width of the truncated Doppler velocity information and the number of table rows meet the second preset condition; add a preset offset to the truncated Doppler velocity information to obtain a table index corresponding to the Doppler velocity information, and the preset offset is determined according to the number of table rows; according to the Doppler velocity information of each point, determine the first count value of the point corresponding to the table index; according to the table index and the first count value of the corresponding point, obtain the Doppler velocity distribution table.
[0115] In some embodiments, for the multiple Doppler velocity distribution tables of different levels, a ratio between the number of table rows corresponding to any two adjacent levels of Doppler velocity distribution tables is a first preset value.
[0116] In some embodiments, the traversal module 503 is specifically used to determine the minimum Doppler velocity value in the Doppler velocity information corresponding to each of the multiple points; perform the following operations in parallel for each Doppler velocity distribution table: determine the lower limit boundary index of the Doppler velocity distribution table according to the minimum Doppler velocity value; and traverse the first count value in the Doppler velocity distribution table from the lower limit boundary index.
[0117] In some embodiments, the first determining module 504 is specifically configured to iteratively perform the following steps until there is one Doppler velocity distribution table that has not been traversed yet:
[0118] When the accumulated count value of the first Doppler velocity distribution table satisfies the first preset condition, the traversal of the first Doppler velocity distribution table is terminated, and the first table index last traversed before the traversal of the first Doppler velocity distribution table is terminated is determined, wherein the first Doppler velocity distribution table is any one of the multiple Doppler velocity distribution tables of different levels;
[0119] Determine a second table index corresponding to the first table index from the table index of a second Doppler velocity distribution table, wherein the second Doppler velocity distribution table is a Doppler velocity distribution table at a level below the first Doppler velocity distribution table;
[0120] For the second Doppler velocity distribution table, continue traversing from the second table index, and continue traversing the other Doppler velocity distribution tables among the multiple Doppler velocity distribution tables except the second Doppler velocity distribution table and the first Doppler velocity distribution table;
[0121] The first Doppler velocity distribution table is removed from the multiple Doppler velocity distribution tables to obtain multiple updated Doppler velocity distribution tables, and the second Doppler velocity distribution table is updated to the first Doppler velocity distribution table.
[0122] In some embodiments, the first preset condition is that the accumulated count value is greater than or equal to a second preset value, and the second preset value is determined according to the number of points in the radar point cloud data and the preset quantile.
[0123] In some embodiments, the first determination module 504 is further specifically used to update the current accumulated count value of the second Doppler velocity distribution table to the first accumulated count value of the first Doppler velocity distribution table for the second Doppler velocity distribution table, wherein the first accumulated count value is the accumulated count value obtained by accumulating the first count value traversed in the previous time before the traversal of the first Doppler velocity distribution table ends; and continue to traverse the first count value in the second Doppler velocity distribution table from the second table index.
[0124] In some embodiments, the Doppler velocity quantile values include a Doppler velocity lower quantile value and a Doppler velocity upper quantile value.
[0125] In some embodiments, the second determination module 505 is specifically configured to fill the first table index with the least significant bit of the binary code of the first table index to obtain a Doppler velocity lower quantile value and a Doppler velocity upper quantile value corresponding to a preset quantile.
[0126] In some embodiments, the classification module 506 is specifically used to determine a first threshold and a second threshold for classifying dynamic and static types according to the Doppler velocity lower quantile value and the Doppler velocity upper quantile value; for multiple points in the radar point cloud data, according to the Doppler velocity information corresponding to each of the multiple points, when the Doppler velocity information is greater than the second threshold or less than the first threshold, determine that the corresponding point is a motion type.
[0127] Therefore, the radar point cloud classification device 500 utilizes the parallel computing characteristics of FPGA to generate multiple Doppler velocity distribution tables with different precisions in parallel and traverse and accumulate multiple Doppler velocity distribution tables at the same time, so that the quantile value can be quickly solved by using the inverse cumulative distribution function method (ICDF) without relying on the cumulative distribution function (CDF) of the Doppler velocity, and the radar dynamic and static point cloud discrimination threshold can be quickly solved. While ensuring the solution accuracy of the quantile value, the traversal time of the Doppler velocity distribution table is greatly reduced, the radar point cloud classification efficiency is greatly improved, and the resource consumption will not increase significantly. In addition, the radar point cloud classification device 500 can not only be used to solve the radar point cloud Doppler velocity quantile value, but also can be used to solve the data quantile of other scenes, with high versatility and strong flexibility.
[0128] It should be noted that, for the convenience of description, the above device is described in various modules according to their functions. Of course, when implementing this application, the functions of each module can be implemented in the same or multiple software and / or hardware.
[0129] The device of the above embodiment is used to implement the corresponding radar point cloud classification method in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.
[0130] Based on the same technical concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides an electronic device.
[0131] Figure 6 A more specific schematic diagram of the hardware structure of an electronic device provided by this embodiment is shown.
[0132] The electronic device 600 may include a processor 601 and a memory 602 storing computer program instructions.
[0133] Specifically, the processor 601 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0134] The memory 602 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 602 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 602 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 602 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 602 is a non-volatile solid-state memory.
[0135] In certain embodiments, the memory may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Thus, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to one aspect of the present application.
[0136] The processor 601 implements any one of the radar point cloud classification methods in the above embodiments by reading and executing computer program instructions stored in the memory 602 .
[0137] In some examples, the electronic device 600 may further include a communication interface 603 and a bus 610. Figure 6 As shown, the processor 601, the memory 602, and the communication interface 603 are connected via a bus 610 and communicate with each other.
[0138] The communication interface 603 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0139] Bus 610 includes hardware, software or both, and the parts of online data flow billing equipment are coupled to each other. For example, but not limitation, bus 610 may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front-end bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 610 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the present application considers any suitable bus or interconnection.
[0140] Exemplarily, the electronic device 600 may be a mobile phone, a tablet computer, a laptop computer, a PDA, an in-vehicle electronic device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA).
[0141] Based on the same technical concept, corresponding to any of the above-mentioned embodiments, the present application also provides a non-transitory computer-readable storage medium. The computer-readable storage medium stores computer program instructions; when the computer program instructions are executed by the processor, any of the radar point cloud classification methods in the above-mentioned embodiments is implemented. Examples of computer-readable storage media include non-transitory computer-readable storage media, such as portable disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, etc.
[0142] Based on the same technical concept, corresponding to any of the above-mentioned embodiments, the present application also provides a computer program product, which includes computer program instructions. In some embodiments, the computer program instructions can be executed by one or more processors of a computer so that the computer and / or the processor execute the radar point cloud classification method. Corresponding to the execution subject corresponding to each step in each embodiment of the radar point cloud classification method, the processor that executes the corresponding step can belong to the corresponding execution subject.
[0143] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0144] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0145] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0146] The above reference is according to the method of the embodiment of the present application, the flow chart of the device (system) and the computer program product and / or the block diagram described various aspects of the present application.It should be understood that each square box in the flow chart and / or the block diagram and the combination of each square box in the flow chart and / or the block diagram can be realized by computer program instructions.These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the realization of the function / action specified in one or more square boxes of the flow chart and / or the block diagram.Such a processor can be but is not limited to a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit.It can also be understood that each square box in the block diagram and / or the flow chart and the combination of the square boxes in the block diagram and / or the flow chart can also be realized by the dedicated hardware that performs the specified function or action, or can be realized by the combination of dedicated hardware and computer instructions.
[0147] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A radar point cloud classification method, characterized in that: include: Acquire radar point cloud data, wherein the radar point cloud data includes Doppler velocity information corresponding to each of the plurality of points; According to the Doppler velocity information corresponding to each of the plurality of points, a plurality of Doppler velocity distribution tables of different levels are generated respectively, each of the Doppler velocity distribution tables comprises a table index and a first count value of a corresponding point, the table index is obtained by truncating a binary code of the Doppler velocity information of each point, and the level of the Doppler velocity distribution table is inversely correlated with the number of rows in the table; Parallel traversal of the first count values in each Doppler velocity distribution table, and accumulation of the first count values in each Doppler velocity distribution table to obtain an accumulated count value corresponding to each Doppler velocity distribution table; Determine, according to the first preset condition and the accumulated count value, a first table index corresponding to the Doppler velocity distribution table with the lowest level among the multiple Doppler velocity distribution tables; Determine, according to the first table index, a quantile value of the Doppler velocity corresponding to a preset quantile; According to the percentile value of the Doppler velocity, multiple points in the radar point cloud data are classified into dynamic and static types.
2. The method according to claim 1, characterized in that The step of determining, according to the first preset condition and the accumulated count value, a first table index corresponding to a Doppler velocity distribution table with the lowest level among the plurality of Doppler velocity distribution tables comprises: Iterate the following steps until there is one Doppler velocity distribution table left that has not been traversed: When the accumulated count value of the first Doppler velocity distribution table satisfies the first preset condition, the traversal of the first Doppler velocity distribution table is terminated, and the first table index last traversed before the traversal of the first Doppler velocity distribution table is terminated is determined, wherein the first Doppler velocity distribution table is any one of the multiple Doppler velocity distribution tables of different levels; Determine a second table index corresponding to the first table index from the table index of a second Doppler velocity distribution table, wherein the second Doppler velocity distribution table is a Doppler velocity distribution table at a level below the first Doppler velocity distribution table; For the second Doppler velocity distribution table, continue traversing from the second table index, and continue traversing the other Doppler velocity distribution tables among the multiple Doppler velocity distribution tables except the second Doppler velocity distribution table and the first Doppler velocity distribution table; The first Doppler velocity distribution table is removed from the multiple Doppler velocity distribution tables to obtain multiple updated Doppler velocity distribution tables, and the second Doppler velocity distribution table is updated to the first Doppler velocity distribution table.
3. The method according to claim 1, characterized in that The generating of a plurality of Doppler velocity distribution tables of different levels respectively according to the Doppler velocity information corresponding to the plurality of points comprises: According to the level of the Doppler velocity distribution table, determining the corresponding number of table rows; According to the number of rows in the table, the binary code of the Doppler velocity information of each point is truncated from high bit to low bit, so that the bit width of the truncated Doppler velocity information and the number of rows in the table meet the second preset condition; Adding a preset offset to the truncated Doppler velocity information to obtain a table index corresponding to the Doppler velocity information, wherein the preset offset is determined according to the number of rows in the table; Determine a first count value of the point corresponding to the table index according to the Doppler velocity information of each point; A Doppler velocity distribution table is obtained according to the table index and the first count value of the corresponding point.
4. The method according to claim 1, characterized in that: For the multiple Doppler velocity distribution tables of different levels, a ratio between the number of table rows corresponding to any two adjacent Doppler velocity distribution tables is a first preset value.
5. The method according to claim 1, characterized in that The parallel traversal of the first count values in each Doppler velocity distribution table includes: Determine the minimum Doppler velocity value in the Doppler velocity information corresponding to each of the plurality of points; The following operations are performed in parallel for each Doppler velocity distribution table: determining a lower limit boundary index of the Doppler velocity distribution table according to the Doppler velocity minimum value; and traversing the first count value in the Doppler velocity distribution table from the lower limit boundary index.
6. The method according to claim 2, characterized in that The step of continuing to traverse the second Doppler velocity distribution table from the second table index includes: For the second Doppler velocity distribution table, updating the current accumulated count value of the second Doppler velocity distribution table to the first accumulated count value of the first Doppler velocity distribution table, where the first accumulated count value is the accumulated count value obtained by accumulating the first count value traversed in the previous traversal before the first Doppler velocity distribution table ends traversal; Continue traversing the first count value in the second Doppler velocity distribution table from the second table index.
7. The method according to claim 2, characterized in that The first preset condition is that the accumulated count value is greater than or equal to a second preset value, and the second preset value is determined according to the number of points in the radar point cloud data and the preset quantile.
8. The method according to claim 1, characterized in that The quantile value of the Doppler velocity includes a lower quantile value of the Doppler velocity and an upper quantile value of the Doppler velocity; The step of determining the quantile value of the Doppler velocity corresponding to the preset quantile according to the first table index includes: The first table index is padded with the least significant bit of the binary code of the first table index to obtain a Doppler velocity lower quantile value and a Doppler velocity upper quantile value corresponding to a preset quantile.
9. The method according to claim 8, characterized in that The step of classifying the multiple points in the radar point cloud data into dynamic and static types according to the percentile value of the Doppler velocity includes: Determining a first threshold and a second threshold for classifying the dynamic and static types according to the Doppler velocity lower quantile value and the Doppler velocity upper quantile value; For multiple points in the radar point cloud data, according to Doppler velocity information corresponding to each of the multiple points, when the Doppler velocity information is greater than the second threshold or less than the first threshold, it is determined that the corresponding point is a motion type.
10. A radar point cloud classification device, characterized in that: The device comprises: An acquisition module, used to acquire radar point cloud data, wherein the radar point cloud data includes Doppler velocity information corresponding to each of a plurality of points; A generating module, configured to generate a plurality of Doppler velocity distribution tables of different levels respectively according to the Doppler velocity information corresponding to the plurality of points, each of the Doppler velocity distribution tables comprising a table index and a first count value of a corresponding point, the table index being obtained by truncating a binary code of the Doppler velocity information of each point, and the level of the Doppler velocity distribution table being inversely correlated with the number of rows in the table; A traversal module is used to traverse the first count values in each Doppler velocity distribution table in parallel, and accumulate the first count values in each Doppler velocity distribution table to obtain the accumulated count values corresponding to each Doppler velocity distribution table; A first determining module, configured to determine a first table index corresponding to a Doppler velocity distribution table with the lowest level among a plurality of Doppler velocity distribution tables according to a first preset condition and the accumulated count value; A second determination module, configured to determine a quantile value of the Doppler velocity corresponding to a preset quantile according to the first table index; The classification module is used to classify the multiple points in the radar point cloud data into dynamic and static types according to the percentile value of the Doppler velocity.