A method and apparatus for clustering
By determining the velocity vector values of the data point set, and utilizing the velocity vector characteristics of the target for preliminary separation and spatial clustering, the problem of high parameter sensitivity in existing technologies is solved, and the accuracy and reliability of clustering are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- YINWANG INTELLIGENT TECHNOLOGIES CO LTD
- Filing Date
- 2020-04-30
- Publication Date
- 2026-04-28
AI Technical Summary
Existing density-based clustering algorithms are highly sensitive to parameters when processing sensor data, making it difficult to accurately separate extended targets, especially when dealing with datasets containing both position and velocity components.
By determining the velocity vector values of the data point set, and utilizing the velocity vector characteristics of the target, preliminary target data point separation is performed, and further clustering is carried out in terms of spatial location, thereby reducing the sensitivity to spatial location-related input parameters.
It improves the accuracy and reliability of clustering, reduces the sensitivity to spatial location-related input parameters, and enhances the stability of clustering results.
Smart Images

Figure CN113591890B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing, and more specifically, to a clustering method and apparatus. Background Technology
[0002] Advanced driver assistance systems (ADAS) or autonomous driving (AD) systems typically employ multiple sensors, such as radar, sonar, ultrasonic sensors, and visual sensors like cameras, to perceive the surrounding environment and target information. Using the information acquired by these sensors, functions such as classification, identification, and tracking of the surrounding environment and objects can be achieved. With the improvement of sensor capabilities, especially spatial resolution, for a target relatively close to the sensor, the sensor will generate multiple measurement data points during a single scan. These targets are often called extended targets. Unlike point targets, extended targets span the resolution units of multiple sensors. Furthermore, a single sensor scan may include multiple extended targets, where the data for each target can include position and radial velocity or velocity component information. Identifying and separating the measurement data from each extended target is a prerequisite / foundation for subsequent processing such as tracking or classification. Therefore, it is essential to cluster the dataset from the sensors using clustering methods to identify and separate the measurement data from each extended target.
[0003] Density-based clustering algorithms are currently widely used. For example, DBSCAN (density-based spatial clustering of applications with noise) and its extensions such as HDBSCAN (Hierarchical DBSCAN) or OPTICS (ordering points to identify the clustering structure) can cluster extended targets based on the spatial location information of data points. However, these density-based clustering methods face the following problems when applied to datasets from sensors: First, these methods are sensitive to input parameters, requiring different parameter configurations for different targets, making it difficult for them to achieve the desired results. For example, if the parameter threshold is too small, the same cluster is easily split; if the threshold is too large, different clusters are easily merged. Second, the data points in the datasets applicable to these methods are usually of the same class, such as 2D or 3D spatial location vectors. When the extension is used for data that simultaneously contains position and velocity components, directly calculating the vector differences between different points usually results in large discrepancies, leading to poor clustering performance.
[0004] Therefore, how to effectively utilize position and radial velocity or velocity component data to perform effective clustering of the dataset is an urgent problem to be solved. Summary of the Invention
[0005] This application provides a clustering method and apparatus to improve the accuracy and reliability of clustering.
[0006] Firstly, a clustering method is provided, which includes:
[0007] Obtain a first set of data points, which includes at least two data points, and the information of each data point in the first set of data points includes position data and radial velocity data;
[0008] Determine the velocity vector value v of this first set of data points;
[0009] A second set of data points is determined based on the velocity vector value v. The second set of data points is included in the first set of data points. The position data and radial velocity data of the data points in the second set of data points satisfy the compatibility condition with the velocity vector value v.
[0010] At least one cluster C is determined based on the location data of the data points in the second set of data points.
[0011] Based on the above scheme, by determining the velocity vectors of possible targets in the first set of data points, and using these velocity vectors to determine the second set of data points, the position and velocity data of the second set of data points meet the compatibility conditions. This fully utilizes the characteristic that targets, especially rigid targets, have similar velocity vectors, and achieves preliminary target data point separation in the velocity vector space. On this basis, clustering is performed on the data points within the group, i.e., within the second set of data points. This is equivalent to further clustering targets with similar velocities in terms of spatial location, which can effectively reduce the sensitivity of clustering to spatial location-related input parameters, thereby effectively improving the accuracy and reliability of clustering.
[0012] In conjunction with the first aspect, in some implementations of the first aspect,
[0013] The velocity vector value v is a predefined velocity vector value; or,
[0014] The velocity vector value v is determined based on the data points contained in the first set of data points.
[0015] In conjunction with the first aspect, in some implementations of the first aspect,
[0016] The velocity vector value v is determined based on the data points contained in the first data point set, including:
[0017] Based on the information of two or more data points within the first data point set, determine at least one candidate velocity vector value for the first data point set;
[0018] The velocity vector value v is determined based on the at least one candidate velocity vector value.
[0019] In conjunction with the first aspect, in some implementations of the first aspect,
[0020] The determination of at least one candidate velocity vector value for the first data point set based on information from two or more data points within the first data point set includes:
[0021] Based on the position and radial velocity data of data point q within the first data point set, and the position and radial velocity data of at least one data point within the neighborhood N(q) of data point q, the at least one candidate velocity vector value is determined based on the following relationship:
[0022]
[0023] Among them, v c Let q be the c-th candidate velocity vector of the first set of data points, where c ≥ 1; t is the velocity vector contained in the neighborhood N(q) of the data point q used to determine the velocity vector. cThe data points, where the neighborhood N(q) of the data point q is a predefined neighborhood; The radial velocity data is for data point t; n t To and The corresponding error; h t h is the direction cosine vector; where h t This is obtained based on the location data of data point t.
[0024] In conjunction with the first aspect, in certain implementations of the first aspect, determining the velocity vector value v based on the at least one candidate velocity vector value includes:
[0025] The weight of the at least one candidate velocity vector value is determined based on the position data and radial velocity data of one or more data points included in the first data point set;
[0026] The velocity vector value v is determined based on the weight of the at least one candidate velocity vector value.
[0027] In conjunction with the first aspect, in some implementations of the first aspect,
[0028] The weight of the at least one candidate velocity vector value is the sum of the weights of the data points in the first data point set relative to the at least one candidate velocity vector value;
[0029] The weights of the data points in the first set of data points relative to the at least one candidate velocity vector value are obtained based on the position data and radial velocity data of the data points in the first set of data points.
[0030] In conjunction with the first aspect, in some implementations of the first aspect,
[0031] The velocity vector value v is determined based on the data points contained in the first data point set, including:
[0032] Based on the position data and radial velocity data of some or all data points in the first data point set, determine the weight of at least one candidate velocity vector value, wherein the at least one candidate velocity vector value belongs to the first candidate velocity vector set.
[0033] The velocity vector value v is determined based on the weight of the at least one candidate velocity vector value.
[0034] In conjunction with the first aspect, in some implementations of the first aspect,
[0035] The candidate velocity vector values in the first candidate velocity vector set are predefined candidate velocity vector values; or...
[0036] The candidate velocity vector values in this first candidate velocity vector set are determined based on the velocity vector values of interest; or,
[0037] The candidate velocity vector values in the first candidate velocity vector set are determined based on the range of velocity vector values of interest.
[0038] In conjunction with the first aspect, in some implementations of the first aspect,
[0039] The candidate velocity vector value among the at least one candidate velocity vector value is represented as the candidate velocity vector value v. c The candidate velocity vector value v c The weights are determined based on the candidate velocity vector value v. c The data points in the support set are used to determine the candidate velocity vector value v. c The support set is a subset of the first data point set, and the candidate velocity vector value v c The support set contains radial velocity data of data point s and the candidate velocity vector value v. c The difference between the radial projection components of the data point s satisfies the second predefined threshold.
[0040] In conjunction with the first aspect, in some implementations of the first aspect,
[0041] The candidate velocity vector value v c The weight is based on the candidate velocity vector value v. c The support set contains data points relative to the candidate velocity vector value v c The sum of the weighted values;
[0042] Where the candidate velocity vector value v c The support set contains data points relative to the candidate velocity vector value v c The weighting value is based on the candidate velocity vector value v c The support set contains the position data and radial velocity data of the data points.
[0043] In conjunction with the first aspect, in some implementations of the first aspect,
[0044] The velocity vector value v is the candidate velocity vector value with the largest weight among the at least one candidate velocity vector values; or...
[0045] The velocity vector value v is a candidate velocity vector value among the at least one candidate velocity vector values whose weight is greater than or equal to a third predefined threshold.
[0046] In conjunction with the first aspect, in some implementations of the first aspect,
[0047] The compatibility condition is:
[0048] The radial projection component of the velocity vector value v of the data point in the second data point set satisfies the fourth predefined threshold with the radial velocity data of the data point in the second data point set, wherein the radial projection component of the velocity vector value v of the data point in the second data point set is obtained based on the velocity vector value v and the position data of the data point in the second data point set.
[0049] In conjunction with the first aspect, in some implementations of the first aspect,
[0050] The determination of at least one cluster C based on the location data of data points in the second data point set includes:
[0051] The at least one cluster C is determined based on the distance between data points in the second data point set, wherein the distance between data points in the second data point set is obtained based on the position data of the data points in the second data point set, or the distance between data points in the second data point set is obtained based on the position data and radial velocity data of the data points in the second data point set.
[0052] Secondly, a clustering apparatus is provided, the apparatus comprising:
[0053] A transceiver unit is used to acquire a first set of data points, the first set of data points including at least two data points, and the information of each data point in the first set of data points including position data and radial velocity data;
[0054] The processing unit is used to determine the velocity vector value v of the first data point set;
[0055] The processing unit is further configured to determine a second set of data points based on the velocity vector value v, the second set of data points being included in the first set of data points, wherein the position data and radial velocity data of the data points in the second set of data points satisfy the compatibility condition with the velocity vector value v;
[0056] The processing unit is also configured to determine at least one cluster C based on the location data of the data points in the second data point set.
[0057] In conjunction with the second aspect, in some implementations of the second aspect,
[0058] The velocity vector value v is a predefined velocity vector value; or,
[0059] The velocity vector value v is determined based on the data points contained in the first set of data points.
[0060] In conjunction with the second aspect, in some implementations of the second aspect, the processing unit is also used for:
[0061] Based on the information of two or more data points within the first data point set, determine at least one candidate velocity vector value for the first data point set;
[0062] The velocity vector value v is determined based on the at least one candidate velocity vector value.
[0063] In conjunction with the second aspect, in some implementations of the second aspect, the processing unit is also used for:
[0064] Based on the position and radial velocity data of data point q within the first data point set, and the position and radial velocity data of at least one data point contained in the neighborhood N(q) of data point q, the at least one candidate velocity vector value is determined based on the following relationship:
[0065]
[0066] Among them, v c Let q be the c-th candidate velocity vector value of the first set of data points, where c ≥ 1; t is the value of the data point q or its neighborhood N(q) used to determine the velocity vector. c The data points, where the neighborhood N(q) of the data point q is a predefined neighborhood; The radial velocity data is for data point t; n t To and The corresponding error; h t h is the direction cosine vector; where h t This is obtained based on the location data of data point t.
[0067] In conjunction with the second aspect, in some implementations of the second aspect, the processing unit is also used for:
[0068] The weight of the at least one candidate velocity vector value is determined based on the position data and radial velocity data of one or more data points included in the first data point set;
[0069] The velocity vector value v is determined based on the weight of the at least one candidate velocity vector value.
[0070] In conjunction with the second aspect, in some implementations of the second aspect,
[0071] The weight of the at least one candidate velocity vector value is the sum of the weights of the data points in the first data point set relative to the at least one candidate velocity vector value;
[0072] The weights of the data points in the first set of data points relative to the at least one candidate velocity vector value are obtained based on the position data and radial velocity data of the data points in the first set of data points.
[0073] In conjunction with the second aspect, in some implementations of the second aspect, the processing unit is also used for:
[0074] Based on the information of some or all of the data points in the first data point set, determine the weight of at least one candidate velocity vector value, wherein the at least one candidate velocity vector value belongs to the first candidate velocity vector set.
[0075] The velocity vector value v is determined based on the weight of the at least one candidate velocity vector value.
[0076] In conjunction with the second aspect, in some implementations of the second aspect,
[0077] The candidate velocity vector values in the first candidate velocity vector set are predefined candidate velocity vector values; or...
[0078] The candidate velocity vector values in this first candidate velocity vector set are determined based on the velocity vector values of interest; or,
[0079] The candidate velocity vector values in the first candidate velocity vector set are determined based on the range of velocity vector values of interest.
[0080] In conjunction with the second aspect, in some implementations of the second aspect, any one of the at least one candidate velocity vector values is represented as a candidate velocity vector value v. c The candidate velocity vector value v c The weights are determined based on the candidate velocity vector value v. c The data points in the support set are used to determine the candidate velocity vector value v. c The support set is a subset of the first data point set, and the candidate velocity vector value v c The support set contains radial velocity data of data point s and the candidate velocity vector value v. c The difference between the radial projection components of the data point s satisfies the second predefined threshold.
[0081] In conjunction with the second aspect, in some implementations of the second aspect, the candidate velocity vector value v c The weight is based on the candidate velocity vector value v. c The support set contains data points relative to the candidate velocity vector value v c The sum of the weighted values;
[0082] Where the candidate velocity vector value v c The support set contains data points relative to the candidate velocity vector value v c The weighting value is based on the candidate velocity vector value v c The support set contains the position data and radial velocity data of the data points.
[0083] In conjunction with the second aspect, in some implementations of the second aspect,
[0084] The velocity vector value v is the candidate velocity vector value with the largest weight among the at least one candidate velocity vector values; or...
[0085] The velocity vector value v is a candidate velocity vector value among the at least one candidate velocity vector values whose weight is greater than or equal to a third predefined threshold.
[0086] In conjunction with the second aspect, in some implementations of the second aspect,
[0087] The compatibility condition is:
[0088] The radial projection component of the velocity vector value v of the data point in the second data point set satisfies the fourth predefined threshold with the radial velocity data of the data point in the second data point set, wherein the radial projection component of the velocity vector value v of the data point in the second data point set is obtained based on the velocity vector value v and the position data of the data point in the second data point set.
[0089] In conjunction with the second aspect, in some implementations of the second aspect, the processing unit is also used for:
[0090] The at least one cluster C is determined based on the distance between data points in the second data point set, wherein the distance between data points in the second data point set is obtained based on the position data of the data points in the second data point set, or the distance between data points in the second data point set is obtained based on the position data and radial velocity data of the data points in the second data point set.
[0091] Thirdly, an apparatus is provided, comprising a memory and a processor, the memory for storing instructions and the processor for reading the instructions stored in the memory, causing the apparatus to perform the methods described in the first aspect and any possible implementation thereof.
[0092] Fourthly, a processor is provided, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, such that any of the methods in the first aspect, and any possible implementation thereof, is implemented.
[0093] In specific implementation, the processor can be a chip, the input circuit can be an input pin, the output circuit can be an output pin, and the processing circuit can be a transistor, gate circuit, flip-flop, and various logic circuits. The input signal received by the input circuit can be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit can be output to, for example, but not limited to, a transmitter and transmitted by the transmitter. Furthermore, the input circuit and the output circuit can be the same circuit, which is used as the input circuit and the output circuit at different times. This application does not limit the specific implementation of the processor and various circuits.
[0094] Fifthly, a processing apparatus is provided, including a processor and a memory. The processor is configured to read instructions stored in the memory and to receive signals via a receiver and transmit signals via a transmitter to execute the methods of the first aspect and any possible implementation thereof.
[0095] Optionally, the processor may be one or more, and the memory may be one or more.
[0096] Optionally, the memory may be integrated with the processor, or the memory may be separated from the processor.
[0097] In specific implementation, the memory can be a non-transitory memory, such as read-only memory (ROM), which can be integrated with the processor on the same chip or set on different chips. The embodiments of this application do not limit the type of memory or the way the memory and processor are set.
[0098] It should be understood that the relevant data interaction process, such as sending indication information, can be the process of outputting indication information from the processor, and receiving capability information can be the process of the processor receiving input capability information. Specifically, the processed output data can be output to the transmitter, and the input data received by the processor can come from the receiver. Here, the transmitter and receiver can be collectively referred to as a transceiver.
[0099] In a sixth aspect, a computer-readable storage medium is provided for storing a computer program including instructions for performing the methods described in the first aspect and any possible implementation thereof.
[0100] In a seventh aspect, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform the methods described in the first aspect and any possible implementation thereof.
[0101] Eighthly, a chip is provided, including at least one processor and an interface; the at least one processor is configured to invoke and run a computer program to cause the chip to perform the methods described in the first aspect and any possible implementation thereof. Attached Figure Description
[0102] Figure 1 This is a schematic flowchart of a clustering method 100 provided in an embodiment of this application.
[0103] Figure 2 This is a schematic flowchart of the clustering method 200 provided in the embodiments of this application.
[0104] Figure 3 This is a schematic diagram of a data point set provided in an embodiment of this application.
[0105] Figure 4 This is a schematic diagram of another set of data points provided in an embodiment of this application.
[0106] Figure 5 This is a schematic diagram of another set of data points provided in the embodiments of this application.
[0107] Figure 6 This is a schematic structural diagram of the clustering apparatus 600 provided in the embodiments of this application.
[0108] Figure 7 A schematic structural diagram of the clustering device 700 provided in this application embodiment. Detailed Implementation
[0109] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0110] This application will present various aspects, embodiments, or features relating to systems comprising multiple devices, components, modules, etc. It should be understood and appreciated that individual systems may include additional devices, components, modules, etc., and / or may not include all devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these approaches are also possible.
[0111] Traditional clustering methods, such as the traditional DBSCAN algorithm, directly cluster a first set of data points based on their position and radial velocity data. Specifically, the position and radial velocity data of each data point in the first set are used to construct a vector corresponding to that data point. Then, the first set of data points is clustered by calculating the vector distance between different data points. However, position and velocity have different dimensions and scales, and are not inherently comparable. Therefore, the vector corresponding to each data point simultaneously contains both position and velocity components. The calculated vector difference between different data points often shows significant differences in the position and velocity components, causing the effects of position differences and radial velocity differences to potentially cancel each other out, thus greatly affecting the clustering results. Improved DBSCAN algorithms attempt to improve upon this traditional approach by introducing different dimensions of scaling and using different thresholds for different dimensions. However, this improvement requires training or validation with a large amount of data to obtain the scaling or threshold. However, the scaling or threshold varies greatly depending on the target characteristics in different scenarios, and when clustering the data point set, there are still problems with inaccurate and unreliable clustering results.
[0112] This application provides a clustering method to improve the accuracy and reliability of clustering. The clustering method provided in this application can be used to cluster data points in a dataset. For example, it can be used to cluster data acquired in application scenarios such as assisted driving and autonomous driving, drones, shipborne and spaceborne sensors and robots.
[0113] The following is combined Figures 1 to 5 This application provides a detailed description of a clustering method. Figure 1 This diagram illustrates a schematic flowchart of a clustering method 100 provided in an embodiment of this application. The executing entity of this method 100 can be a sensor system, a fusion perception system, or a planning / control system integrating the above systems, such as an assisted driving or autonomous driving system. Alternatively, the executing entity of this method 100 can also be software or hardware (such as a data processing device connected or integrated with corresponding sensors wirelessly or wiredly). The following different execution steps can be implemented centrally, or they can be implemented in a distributed manner.
[0114] like Figure 1 As shown, the clustering method 100 includes steps 110 to 130, which will be described in detail below.
[0115] Step 110: Obtain a first data point set, which includes at least two data points. The information of each data point in the first data point set includes position data and radial velocity data.
[0116] In this embodiment of the application, the method of obtaining the first data point set is not specifically limited.
[0117] The first set of data points can be acquired from one or more sensors, or from the cloud via wired or wireless means. This first set of data points is a set obtained directly from one or more sensors, and it is also a set processed by the aforementioned one or more sensors.
[0118] In the embodiments of this application, the sensor can be a radar sensor, such as a millimeter-wave radar or lidar. Alternatively, the sensor can be a sonar or ultrasonic sensor. Alternatively, the sensor can also be a vision sensor or imaging sensor, such as a camera or video camera. Alternatively, the sensor can also be an imaging radar, such as lidar, synthetic aperture radar, etc. Alternatively, the sensor can also be a direction-finding sensor with frequency shift measurement capability. This direction-finding sensor, in addition to obtaining azimuth angle or azimuth and elevation angle data, can also obtain radial velocity data by measuring the frequency shift of the received signal relative to a known frequency.
[0119] The sensor platform can be a mobile device. For example, it can be a vehicle-mounted platform, such as a car, motorcycle, or bicycle. Alternatively, it can be a ship-mounted platform, such as a vessel, ship, or speedboat. It can also be an airborne platform, such as a drone, helicopter, jet aircraft, or balloon. Finally, it can be a spaceborne platform, such as a satellite.
[0120] In this embodiment, the data processing device can be deployed within the sensor platform, meaning it can be integrated with the sensor platform. Alternatively, the data processing device can be deployed outside the sensor platform, and the data processing device and the sensor platform can communicate via a wireless network.
[0121] It should be further noted that the physical composition of the sensor here can be one or more physical sensors. For example, each of the one or more physical sensors can measure the azimuth angle, pitch angle, and radial velocity respectively, or the azimuth angle, pitch angle, and radial velocity can be derived from the measurement data of the one or more physical sensors. No specific limitation is made here.
[0122] For example, a radar sensor can calculate the position data of a data point by acquiring the distance, elevation angle, and azimuth angle between the data point and the radar sensor.
[0123] For example, a radar sensor can acquire the radial velocity of a data point relative to the radar sensor by directly measuring it.
[0124] In this embodiment of the application, the format of the location data is not specifically limited.
[0125] For example, location data can be represented using rectangular coordinates. For instance, the location data could include two-dimensional rectangular coordinate components, such as (x, y). Alternatively, the location data could include three-dimensional rectangular coordinate components, such as (x, y, z).
[0126] For example, location data can be represented using polar coordinates. For instance, this location data can be represented as (ρ, θ), where ρ represents distance and θ represents azimuth.
[0127] For example, location data can be represented using spherical coordinates. For instance, this location data can be represented as... Where r represents distance and θ represents azimuth. Indicates the angle of elevation.
[0128] Step 120: Determine the velocity vector value v of the first data point set.
[0129] As one implementation method, the velocity vector value v is a predefined velocity vector value.
[0130] For example, a velocity vector value v for a first set of data points can be predefined by a sensor B that communicates with sensor A, where sensor A is the sensor that acquires the core point q.
[0131] For example, a predefined velocity vector value v can be obtained from the first set of data points by using data input from other sensors or a fusion system.
[0132] Specifically, the data input from the other sensors or fusion system mentioned above may include state vector data X, or state vector data X and its covariance matrix X, wherein the state vector X may include position data and velocity data. Based on the state vector X, a data point is selected from the first data point set as a core point q, and the velocity data contained in the state vector X is used as the velocity vector value v(q) of the core point q. The core point q can be the data point in the first data point set that is closest to the position data and velocity data in the state vector.
[0133] Using the above method, we can quickly and flexibly obtain the core point q of interest in the first set of data points and the velocity vector value v(q) of the core point q.
[0134] As an alternative implementation, the velocity vector value v is determined based on the data points contained in the first set of data points.
[0135] Below, two schemes for "determining the velocity vector value v based on data points contained in the first data point set" provided by embodiments of this application are introduced. It should be understood that the following methods are merely illustrative and do not constitute any limitation on this application. For example, the velocity vector value v of the first data point set can also be obtained according to variations of the following methods.
[0136] Option 1:
[0137] The velocity vector value v is determined based on the data points contained in the first data point set, including:
[0138] Based on the position data and radial velocity data of two or more data points in the first data point set, determine at least one candidate velocity vector value for the first data point set;
[0139] Determine the velocity vector value v based on at least one candidate velocity vector value.
[0140] It should be noted that the multiple candidate velocity vector values of the first data point set can be determined based on the position data and radial velocity data of two data points in the first data point set, or based on the position data and radial velocity data of multiple (two or more) data points in the first data point set. Different candidate velocity vector values correspond to different combinations of data points in the first data point set.
[0141] Specifically, the first set of data points contains data point p. i Let i = 1, ..., N. Multiple candidate velocity vector values in the first data point set can be determined based on combinations of different data points in the first data point set, for example, based on two different data points p in the first data point set. n and p m The position and radial velocity data are used to determine the position; alternatively, they can be determined based on different combinations of K data points from the first data point set, where K <= N, and these combinations are not listed here.
[0142] For example, data point set A includes only two data points, namely data point 1 and data point 2, and the candidate velocity vector value of data point set A can be determined based on data point 1 and data point 2.
[0143] Specifically, one or more candidate velocity vector values for the first data point set can be determined based on the position data and radial velocity data of multiple data points in the first data point set.
[0144] For example, the data point set C includes three data points: data point 1, data point 2, and data point 3. Based on data point 1, data point 2, and data point 3, only one candidate velocity vector value can be determined for the data point set C.
[0145] For example, data point set B includes three data points: data point 1, data point 2, and data point 3. The first candidate velocity vector value of data point set B can be determined based on data point 1 and data point 2. The second candidate velocity vector value can be determined based on data point 1 and data point 3. The third candidate velocity vector value can be determined based on data point 2 and data point 3. A fourth candidate velocity vector value can also be determined based on data point 1, data point 2, and data point 3. These first, second, third, and fourth candidate velocity vector values are merely examples and not limitations. For instance, the candidate velocity vector value determined based on data point 2 and data point 3 can be denoted as the first candidate velocity vector value of data point set B. Similarly, the candidate velocity vector value determined based on data point 1 and data point 3 can be denoted as the fourth candidate velocity vector value of data point set B.
[0146] In this embodiment of the application, determining at least one candidate velocity vector value for the first data point set based on the position data and radial velocity data of two or more data points within the first data point set includes:
[0147] Based on the position and radial velocity data of data point q within the first data point set, and the position and radial velocity data of at least one data point within the neighborhood N(q) of data point q, the at least one candidate velocity vector value is determined based on the following relationship:
[0148]
[0149] Among them, v c Let be the c-th candidate velocity vector of the first set of data points, where c ≥ 1; t is the value of the data point q or its neighborhood N(q) used to determine the velocity vector. c The data points, wherein the neighborhood N(q) of the data point q is a predefined neighborhood; The radial velocity data is for data point t; n t To and The corresponding error; h t h is the direction cosine vector; where h t It is obtained based on the position data of the data point t.
[0150] Specifically, taking two-dimensional rectangular coordinates or polar coordinates as an example, the direction cosine vector h t It can be represented as:
[0151] h t =[cosθ t sinθ t ]
[0152] Or, the direction cosine vector h s It can be represented as:
[0153]
[0154] Specifically, taking three-dimensional rectangular coordinates or spherical coordinates as an example, the direction cosine vector h t It can be represented as:
[0155]
[0156] Alternatively, the direction cosine vector h t It can be represented as:
[0157]
[0158] in, θ t All data points are location data for data point t. Specifically, θ t Let be the azimuth angle of data point t. x is the elevation angle of data point t; t ,y t ,z t Here are the rectangular coordinates of data point t.
[0159] In this embodiment of the application, the method for determining the candidate velocity vector values of the first data point set is not specifically limited.
[0160] For example, based on the above relational formula, a candidate velocity vector value of the first data point set can be obtained by using least squares (LS), weighted least squares (WLS), minimum mean squared error (MMSE), or Wiener filtering, etc., based on the data points in the first data point set.
[0161] As one implementation method, the candidate velocity vector of the core point q can be determined using data points pi, i = 1, ..., M in the first data point set, where 1 ≤ M.
[0162] Taking the least squares (LS) method as an example, the candidate velocity vector values of the first data point set are determined according to LS. The candidate velocity vector values of the first data point set satisfy the following expression:
[0163]
[0164] Among them, v c h represents the c-th candidate velocity vector in the first set of data points, where c ≥ 1;pi Represents data point p i The direction cosine vector; Representing data p i Radial velocity data, i = 1, ..., M.
[0165] Taking the Weighted Least Squares (WLS) method as an example, the candidate velocity vector values of the first data point set are determined according to WLS. The candidate velocity vector values of the first data point set satisfy the following expression:
[0166]
[0167] in, Represents data point p i The error variance of the radial velocity data, i = 1, ..., M; other variables are as described above and will not be repeated here.
[0168] Similarly, based on the MMSE criterion or Wiener filtering, candidate velocity vector values for the first set of data points can be obtained, which will not be elaborated here.
[0169] It should be noted that different candidate velocity vector values can be obtained by using different data points or combinations of data points within the first data point set.
[0170] In this application, no specific limitation is made on the method of obtaining the neighborhood N(q) of the above data point q.
[0171] As one implementation, the neighborhood N(q) of data point q is a predefined neighborhood that can include data point q and a subset of data points in the support set of the first data set. Specifically, for the support set of the first data set, which includes M data points, j data points among the M data points can be specified as data points included in the neighborhood N(q) of data point q, where M≥2 and 1≤j≤M.
[0172] For example, the data point set A includes 6 data points, namely data point 1, data point 2, data point 3, data point 4, data point 5, and data point 6. Two data points in the data point set A can be specified as data points contained in the neighborhood N(q) of data point q, or three data points in the data point set A can be specified as data points contained in the neighborhood N(q) of data point q, or four data points in the data point set A can be specified as data points contained in the neighborhood N(q) of data point q.
[0173] As an alternative implementation, the neighborhood N(q) of data point q is a predefined neighborhood that can be determined based on external input.
[0174] For example, based on the externally input position or velocity vector value and the error covariance matrix, the data point q can be determined from the first set of data points that is closest to the externally input position or velocity vector value.
[0175] The data points within a predefined probability range of the position or velocity vector value of the external input are defined as the neighborhood N(q) of the data point q. The data points within the predefined probability range are determined based on the position or velocity vector value of the external input and the error covariance matrix. The predefined probability can be 90%, 95%, 99%, etc., and is not limited here.
[0176] For example, the externally input position or velocity vector values and error covariance matrix can be obtained from other sensors such as radar or sensor fusion systems; the position or velocity vector values and error covariance matrix can be obtained from the state vectors and their covariance matrices obtained from other sensors or fusion systems.
[0177] For example, based on the external input bounding box, the data points that are in the same bounding box as the data point q can be determined as the data points in the neighborhood N(q) of the data point q; for example, the external input bounding box can be obtained from a visual sensor or a LiDAR sensor.
[0178] It should be understood that the above-described neighborhood N(q) of data point q is merely illustrative and does not constitute any limitation on this application. In this application, other methods can also be used to obtain the neighborhood N(q) of data point q.
[0179] In this embodiment of the application, determining the velocity vector value v based on at least one candidate velocity vector value includes:
[0180] The weight of at least one candidate velocity vector value is determined based on at least one candidate velocity vector value and information about one or more data points included in the first data point set.
[0181] The velocity vector value v is determined based on the weight of at least one candidate velocity vector value.
[0182] In this embodiment, the weight of at least one candidate velocity vector value is the sum of the weights of the data points in the first data point set relative to the at least one candidate velocity vector value; wherein the weight of the data points in the first data point set relative to the at least one candidate velocity vector value is obtained based on the position data and radial velocity data of the data points in the first data point set.
[0183] Optionally, it can be based on the candidate velocity vector value v c The candidate velocity vector value v is obtained from the data points in the support set. c Weights, the candidate velocity vector values vc The support set is a subset of the first data point set, wherein the radial velocity data of data point s in the subset of the first data point set are related to the candidate velocity vector value v. c The difference between the radial projection components of the data point s satisfies a predefined threshold, wherein the candidate velocity vector value v c The radial projection component of the data point s is based on the candidate velocity vector value v c The location data of the data point s are obtained.
[0184] Specifically, the weight of at least one candidate velocity vector value included in the first data point set is the sum of the weights of one or more data points within the first data point set relative to that at least one candidate velocity vector value. Taking a first data point set containing N data points as an example, the c-th candidate velocity vector value v in the first data point set... c weight w c (v c It can satisfy the following expression:
[0185] w c (v c )=∑Δw c,i (v c ), i = 1, 2, ..., N, N ≥ 1
[0186] Where, Δw c,i (v c ) represents the data point with index i in the first data point set relative to v. c The weights of the candidate velocity vectors in data point set A are given. For example, data point set A includes data point 1, data point 2, and data point 3, and the candidate velocity vector value of data point set A is v1. In this case, the weights of the candidate velocity vector value v1 in data point set A can satisfy the following expression:
[0187] w1(v1)=Δw 1,1 (v1)+Δw 1,2 (v1)+Δw 1,3 (v1)
[0188] Where w1(v1) is the weight of the candidate velocity vector value v1 in the data point set A; Δw 1,1 (v1) represents the weight of data point 1 relative to v1; Δw 1,2 (v1) represents the weight of data point 2 relative to v1; Δw 1,3 (v1) represents the weight of data point 3 relative to v1.
[0189] Optionally, the weight of the candidate velocity vector value v1 can be obtained based on the data points in the support set of the candidate velocity vector value v1. For example, if the support set of the candidate velocity vector value v1 contains data point 1, then the weight of the candidate velocity vector value v1 is...
[0190] w1(v1)=Δw 1,1 (v1)
[0191] For example, if the support set of the candidate velocity vector value v1 includes data point 1 and data point 2, then the weight of the candidate velocity vector value v1 is...
[0192] w1(v1)=Δw 1,1 (v1)+Δw 1,2 (v1)
[0193] As one implementation, a data point s within the first set of data points is relative to the candidate velocity vector value v. c The weight can be the radial velocity data of data point s. With candidate velocity vector value v c Velocity projection component at data point s The function; specifically, it can be the difference between the two. The function is a function of probability density. For example, the function can be an exponential function, a Gaussian density function, or other similar probability density functions.
[0194] Optionally, in some embodiments, a data point s within the first data point set is relative to the candidate velocity vector value v. c The weights can be determined based on the radial velocity data of data point s. With candidate velocity vector value v c Velocity projection component at data point s The difference is achievable.
[0195] For example, the weight satisfies the following expression:
[0196]
[0197] Alternatively, the weight satisfies the following expression:
[0198]
[0199] Alternatively, the weight satisfies the following expression:
[0200]
[0201] Alternatively, the weights satisfy the following expression:
[0202]
[0203] In the above expression, Candidate velocity vector value v c The radial projection component of data point s; This represents the radial velocity data at data point s; σ 2 For data point s and radial velocity projection components The variance of the error. a0 and β0 are configuration parameters. For example, a0 = 1, or... And so on, β0 = 1, 2, ... etc.
[0204] in, Based on the candidate velocity vector value v c And the location data of data point s are obtained.
[0205] For example, Satisfy the following expression:
[0206]
[0207] Or, v c,x Satisfy the following expression:
[0208]
[0209] Among them, v c,x Represents the candidate velocity vector value v c Components on the x-axis; v c,x Represents the candidate velocity vector value v c Components on the y-axis; v c,z Represents the candidate velocity vector value v c The component along the z-axis.
[0210] Where, σ 2 For data point s and radial velocity projection component v c,x The variance of the error.
[0211] Specifically, σ 2 Satisfy the following expression:
[0212]
[0213] in, The variance of the radial velocity error at data point s is represented by Δ, which is a compensation term. Δ can also represent the variance of the radial velocity error caused by other factors, such as the variance caused by azimuth or the combination of azimuth and pitch angles. Δ can be a pre-defined constant. Alternatively, Δ can be based on the candidate velocity vector value v. c,x Sure.
[0214] Taking a two-dimensional velocity vector as an example, Δ satisfies the following expression:
[0215]
[0216] As another implementation, the c-th candidate velocity vector value v in the first data point set... c The weight is the product of the weight factors of one or more data points in the first data point set with respect to the at least one candidate velocity vector value.
[0217] Specifically, the weight of at least one candidate velocity vector value included in the first data point set is the sum of the weights of one or more data points within the first data point set relative to that at least one candidate velocity vector value. Taking a first data point set containing N data points as an example, the c-th candidate velocity vector value v in the first data point set... c weight w c (v c It can satisfy the following expression:
[0218] w c (v c )=Δw c,1 (v c )×Δw c,i (v c )×......×Δw c,N (v c ), i = 1, 2, ..., N, N ≥ 1
[0219] Where, Δw c,i (v c ) represents the data point with index i in the first data point set relative to v. c The weight.
[0220] Optionally, the weight of the candidate velocity vector value v1 can be obtained based on the data points in the support set of the candidate velocity vector value v1. For example, if the support set of the candidate velocity vector value v1 contains data point 1, then the weight of the candidate velocity vector value v1 is...
[0221] w1(v1)=Δw 1,1 (v1)
[0222] For example, if the support set of the candidate velocity vector value v1 includes data point 1 and data point 2, then the weight of the candidate velocity vector value v1 is...
[0223] w1(v1)=Δw 1,1 (v1)×Δw 1,2 (v1)
[0224] In this embodiment of the application, the determination of Δw c,i (v c The method is not specifically limited.
[0225] For example, the s-th data point in the first data point set is relative to the candidate velocity vector value v c The weighting factors satisfy the following expression:
[0226]
[0227] Alternatively, the s-th data point in the first set of data points relative to the candidate velocity vector value v c The weighting factors satisfy the following expression:
[0228]
[0229] In the above expression, Candidate velocity vector value v c The radial projection component at the s-th data point; The radial velocity data is for the s-th data point; σ 2 For the s-th data point and the radial velocity projection component The variance of the error. a0 and β0 are configuration parameters. For example, a0 = 1, or... And so on, β0 = 1, 2, ... etc.
[0230] In the embodiments of this application, the velocity vector value v is the candidate velocity vector value with the largest weight among at least one candidate velocity vector value; or, the velocity vector value v is the candidate velocity vector value with a weight greater than or equal to a third predefined threshold among at least one candidate velocity vector value.
[0231] Specifically, according to the aforementioned method, at least one candidate velocity vector value and the weight of the at least one candidate velocity vector value can be obtained from the first data point set. The candidate velocity vector value corresponding to the weight of the largest candidate velocity vector value among the weights of the at least one candidate velocity vector value is determined as the velocity vector value v; or, the candidate velocity vector value corresponding to the weight of the candidate velocity vector value whose weight is greater than or equal to a first predefined threshold among the weights of the at least one candidate velocity vector value is determined as the velocity vector value v.
[0232] The following section introduces how to determine the candidate velocity vector value corresponding to the weight of the largest candidate velocity vector value among the weights in the candidate velocity vectors, and use it as the velocity vector value v of the first data point set.
[0233] Specifically, based on two data points in the first data point set, a candidate velocity vector value and its weight can be determined, and this candidate velocity vector value is then identified as the velocity vector value v of the first data point set.
[0234] For example, in a data point set A (which includes at least data point 1 and data point 2), one candidate velocity vector value v1 can be obtained from the data point set A through calculation, and the weight corresponding to v1 is w1(v1). In this case, v1 can be determined as the velocity vector value v of the first data point set.
[0235] Specifically, based on multiple data points within the first data point set, multiple candidate velocity vector values and the weight of each candidate velocity vector value can be determined. The candidate velocity vector value with the largest weight among these multiple candidate velocity vector values is determined as the velocity vector value v of the first data point set.
[0236] For example, in a data point set A (which includes at least data point 1, data point 2, and data point 3), three candidate velocity vector values can be obtained through calculation. These three candidate velocity vector values are v1, v2, and v3, where v1 is the first candidate velocity vector determined based on data point 1 and data point 2, v2 is the second candidate velocity vector determined based on data point 1 and data point 3, and v3 is the third candidate velocity vector determined based on data point 2 and data point 3. The weight corresponding to v1 is w1(v1), the weight corresponding to v2 is w2(v2), and the weight corresponding to v3 is w3(v3), and w1(v1) > w2(v2) > w3(v3). In this case, v1 can be determined as the velocity vector value v of the first data point set.
[0237] The following section introduces the weight of the velocity vector value v of the first data point set being greater than or equal to the first predefined threshold.
[0238] As one implementation, based on two or more data points in the first data point set, multiple candidate velocity vector values of the first data point set can be determined. These multiple candidate velocity vector values correspond to multiple weights. The candidate velocity vector value corresponding to the weight of the candidate velocity vector value that is greater than or equal to a first predefined threshold among the multiple candidate velocity vector values is determined as the velocity vector value v of the first data point set.
[0239] For example, in data point set A (data point set A includes at least data point 1, data point 2, and data point 3), two candidate velocity vector values can be obtained through calculation. These two candidate velocity vector values are v1 and v2, where v1 is the first candidate velocity vector of the first data point set determined based on data point 1 and data point 2, and v2 is the second candidate velocity vector of the first data point set determined based on data point 1 and data point 3. The weight corresponding to v1 is w1(v1), and the weight corresponding to v2 is w2(v2), where w1(v1) is less than a first predefined threshold, and w2(v2) is greater than the first predefined threshold. In this case, v2 can be determined as the velocity vector value v of the first data point set.
[0240] It should be noted that if there are at least two candidate velocity vector values whose weights are greater than or equal to the first predefined threshold among the weights of multiple candidate velocity vector values in the first data point set, the candidate velocity vector value corresponding to the weight of any one of these two candidate velocity vector values can be determined as the velocity vector value v of the first data point set.
[0241] Alternatively, if at least two of the candidate velocity vector values have weights greater than or equal to a first predefined threshold, the candidate velocity vector value closest to the external input can be selected from these two candidates and determined as the velocity vector value v of the first data point set. "Closest" can be understood as having the smallest vector distance.
[0242] For example, in data point set A (data point set A includes at least core point q, data point 1, data point 2, and data point 3), only three candidate velocity vector values for core point q in data point set A are obtained through calculation. These three candidate velocity vector values are v1, v2, and v3, where v1 is the first candidate velocity vector of the first data point set determined based on data point 1 and data point 2, v2 is the second candidate velocity vector of the first data point set determined based on data point 1 and data point 3, and v3 is the third candidate velocity vector of the first data point set determined based on data point 2 and data point 3. The weight corresponding to v1 is w1(v1), the weight corresponding to v2 is w2(v2), and the weight corresponding to v3 is w3(v3), and w1(v1) is less than a first predefined threshold, while w2(v2) and w3(v3) are both greater than the first predefined threshold. In this case, v2 can be determined as the velocity vector value v of the first data point set, or v3 can be determined as the velocity vector value v of the first data point set. Alternatively, v2 and v3 can be compared with the nearest candidate velocity vector value from the external input to determine v2 or v3 as the velocity vector value v of the first data point set.
[0243] Option 2:
[0244] The velocity vector value v is determined based on the data points contained in the first data point set, including:
[0245] Based on the position data and radial velocity data of some or all data points in the first data point set, determine the weight of at least one candidate velocity vector value, wherein at least one candidate velocity vector value belongs to the first candidate velocity vector set.
[0246] The velocity vector value v is determined based on the weight of at least one candidate velocity vector value.
[0247] In this embodiment of the application, the method for determining the candidate velocity vector values in the first candidate velocity vector set is not specifically limited.
[0248] As one implementation, the candidate velocity vector values in the first candidate velocity vector set are predefined candidate velocity vector values.
[0249] For example, a first candidate velocity vector set can be predefined by a sensor B that communicates with sensor A, where v is the velocity vector value of interest, and sensor A is the sensor that acquires the first candidate velocity vector set.
[0250] For example, a velocity vector value v can be obtained from a predefined first candidate velocity vector set by using data input from other sensors or a fusion system, where v is the velocity vector value of interest.
[0251] Specifically, the data input from the other sensors or fusion system mentioned above may include state vector data X, or state vector data X and its covariance matrix X, wherein the state vector X may include position data and velocity data. Based on the state vector X, a velocity vector value v is selected from the first candidate velocity vector set.
[0252] Using the above method, the velocity vector value v of interest in the first set of data points can be obtained quickly and flexibly.
[0253] As an alternative implementation, the candidate velocity vector values in the first candidate velocity vector set are determined based on the velocity vector values of interest.
[0254] The velocity vector value of interest can be the velocity vector value of pedestrians, vehicles, stationary obstacles, road edges, guardrails, etc., and this application does not make specific limitations on it.
[0255] For example, if the velocity vector value of interest is the velocity vector value of a vehicle, and the velocity vector value of vehicle 1 is known to be v1, and the velocity vector value of vehicle 2 is known to be v2, then v1 and v2 are candidate velocity vector values for the first data point set, belonging to the first candidate velocity vector set. Similarly, if the velocity vector value of interest is the velocity vector value of a vehicle, and the velocity vector value of vehicle 1 is known to be v1, the velocity vector value of vehicle 2 is known to be v2, and the velocity vector value of vehicle 3 is known to be v3, then v1, v2, and v3 are candidate velocity vector values for the first data point set, belonging to the first candidate velocity vector set.
[0256] When clustering the first set of data points, the candidate velocity vector value v of the first set of data points can be determined based on the candidate velocity vectors v1, v2 and v3 in the first candidate velocity vector set.
[0257] As another implementation, the candidate velocity vector values in the first candidate velocity vector set are determined based on the range of velocity vector values of interest.
[0258] Specifically, the range of the velocity vector value v of interest can be determined by the minimum or maximum value of each component of the velocity vector and the size of its resolution unit; for example, taking a two-dimensional velocity vector as an example, the candidate velocity vector determined based on the velocity vector range is expressed by the following expression:
[0259] N vx It is a positive number;
[0260] N vy It is a positive number;
[0261] Among them, vx Let v be the x-component of v; y The y-component of v; velocity component v x_res For the velocity component v x Resolution unit size; velocity components v y_res For the velocity component v y The size of the resolution unit.
[0262] Specifically, taking the range of speed vector values of interest as the speed vector values of vehicles as an example, the candidate speed vector values can be determined by the resolution unit based on the minimum and maximum values of the vehicle speed, without further limitation here.
[0263] The range of the target's movement speed can be determined based on the sensor platform and the range of the target's movement speed within the sensor's field of view.
[0264] For example, velocity components For example Wherein, the velocity component v x The size of the resolving unit is v x_res For example, v x_res =0.25m / s.
[0265] velocity components For example Wherein, the velocity component v y The size of the resolving unit is v y_res For example, v y_res =0.25m / s.
[0266] The candidate velocity vectors determined above based on the range of the velocity vector values of interest belong to the first set of candidate velocity vectors;
[0267] When clustering the first set of data points, the candidate velocity vector value v of the first set of data points can be determined based on the candidate velocity vectors in the first candidate velocity vector set, thereby determining the candidate velocity vector value v of the first set of data points for velocity vectors within the range of the velocity vectors of interest.
[0268] In this embodiment of the application, any one of the at least one candidate velocity vector values is represented as a candidate velocity vector value v. c Candidate velocity vector value v c The weights are determined based on the candidate velocity vector value v. c The data points in the support set are determined, and the candidate velocity vector value v is obtained. c The support set is a subset of the first data point set, and the candidate velocity vector value v c The support set contains radial velocity data of data point s and candidate velocity vector value vc The difference between the radial projection components of data point s satisfies the second predefined threshold.
[0269] It should be noted that the position data of data point s can also be in rectangular coordinates. In this case, the cosine and sine of the azimuth of data point s can be determined from the rectangular coordinates (x, y, s) of the data point. s ,y s The details are as follows, and will not be elaborated further here.
[0270] In this embodiment of the application, the size of the second predefined threshold can be set based on experience or application scenario.
[0271] Specifically, the second predefined threshold can be determined based on the standard deviation of the radial velocity data of the data point or the standard deviation of the error between the radial velocity data of the data point and the radial velocity projection component.
[0272] For example, the second predefined threshold can be the standard deviation of the radial velocity data error or m times the standard deviation of the radial velocity data of the data point and the radial velocity projection component error. For example, m can be 1.5, 2, 3, etc.; or m can be determined according to predefined probabilities such as 90%, 95%, 97%, 99%, etc.
[0273] In this embodiment of the application, the candidate velocity vector value v c The weights are based on the candidate velocity vector value v c The support set contains data points relative to the candidate velocity vector value v c The sum of the weighted values;
[0274] Among them, the candidate velocity vector value v c The support set contains data points relative to the candidate velocity vector value v c The weighting value is based on the candidate velocity vector value v c The support set contains the position data and radial velocity data of the data points.
[0275] Specifically, the candidate velocity vector value v c The support set contains data points s relative to the candidate velocity vector value v c The weighted value is based on the candidate velocity vector value v c The difference between the radial projection component of the data point s and the radial velocity data of the data point s is obtained, wherein the candidate velocity vector value v c The radial projection component of the data point s is based on the candidate velocity vector value v c And the location data of data point s are obtained.
[0276] As one implementation method, candidate velocity vector value v c For a two-dimensional vector [vx ,v y Taking the location data of the data points as polar coordinates as an example, the candidate velocity vector value v c The radial velocity data of data point s in the support set and the candidate velocity vector value v c The difference between the radial projection components of data point s satisfies the following expression:
[0277]
[0278] Among them, v x Candidate velocity vector value v c The component in the x-axis direction; v y Candidate velocity vector value v c The component in the y-axis direction; θ s This represents the azimuth angle of data point s; D1 represents the radial velocity of data point s; D2 is the second predefined threshold.
[0279] It should be noted that the position data of data point s can also be in rectangular coordinates. In this case, the cosine and sine of the azimuth of data point s can be determined from the rectangular coordinates (x, y, s) of the data point. s ,y s The details are as follows, and will not be elaborated further here.
[0280] As another implementation, candidate velocity vector value v c For a three-dimensional vector [v x ,v y ,v z Taking the location data of the data points as polar coordinates as an example, the candidate velocity vector value v c The radial velocity data of data point s in the support set and the candidate velocity vector value v c The difference between the radial projection components of data point s satisfies the following expression:
[0281]
[0282] Among them, v x Candidate velocity vector value v c The component in the x-axis direction; v y Candidate velocity vector value v c The component in the y-axis direction; v z Candidate velocity vector value v c The component in the z-axis direction; θ s This represents the azimuth angle of data point s; D1 represents the radial velocity of data point s; D2 is the second predefined threshold.
[0283] It should be noted that the position data of data point s can also be in three-dimensional rectangular coordinates. In this case, the cosine and sine values of the pitch and azimuth angles of data point s can be determined based on the rectangular coordinates (x, y, s) of the data point's position. s ,y s ,z s The details are as follows, and will not be elaborated further here.
[0284] As one implementation, the candidate velocity vector value v c The support set contains a data point s relative to the candidate velocity vector value v. c The weight can be the radial velocity data of data point s. With candidate velocity vector value v c The function of the velocity projection component at data point s; specifically, it can be based on the radial velocity data of data point s. With candidate velocity vector value v c The difference between the velocity projection components at data point s is obtained. This function can be an exponential function, a Gaussian density function, or other similar probability density functions.
[0285] Optionally, in some embodiments, a data point s within the first data point set is relative to the candidate velocity vector value v. c The weights can be determined based on the radial velocity data of data point s. With v c With candidate velocity vector value v c Velocity projection component at data point s The difference is achievable.
[0286] For example, the weight satisfies the following expression:
[0287]
[0288] Alternatively, the weight satisfies the following expression:
[0289]
[0290] Alternatively, the weight satisfies the following expression:
[0291]
[0292] Alternatively, the weights satisfy the following expression:
[0293]
[0294] In the above expression, Candidate velocity vector value v c The radial projection component of data point s; σ represents the radial velocity of data point s; 2For data point s and radial velocity projection components The variance of the error. a0 and β0 are configuration parameters. For example, a0 = 1, or... And so on, β0 = 1, 2, ... etc.
[0295] in, Based on the candidate velocity vector value v c And the location data of data point s are obtained.
[0296] For example, Satisfy the following expression:
[0297]
[0298] or, Satisfy the following expression:
[0299]
[0300] Among them, v c,x Represents the candidate velocity vector value v c Components on the x-axis; v c,y Represents the candidate velocity vector value v c Components on the y-axis; v c,z Represents the candidate velocity vector value v c The component along the z-axis.
[0301] Where, σ 2 For data point s and radial velocity projection components The variance of the error.
[0302] Specifically, σ 2 Satisfy the following expression:
[0303]
[0304] in, The variance of the radial velocity error at data point s is represented by Δ; Δ is a compensation term, which can represent the variance of the radial velocity error caused by other factors, such as the variance caused by azimuth angle or azimuth and pitch angles. Δ can be a pre-defined constant. Alternatively, Δ can be based on the candidate velocity vector value v. c,x Sure.
[0305] Taking a two-dimensional velocity vector as an example, Δ satisfies the following expression:
[0306]
[0307] Optionally, in some embodiments, the weight of the candidate velocity vector value is the product of the weight factors of one or more data points in the first data point set relative to the candidate velocity vector value.
[0308] For example, the weight factor satisfies the following expression:
[0309]
[0310] Alternatively, the weight factor satisfies the following expression:
[0311]
[0312] In an embodiment of the present application, the speed vector value v is the candidate speed vector value with the largest weight among at least one candidate speed vector value; or, the speed vector value v is the candidate speed vector value among at least one candidate speed vector value whose weight is greater than or equal to a third predefined threshold.
[0313] As an implementation manner, when determining the speed vector value of the first data point set according to the candidate speed quantity value, it depends on the information of the data points in the first data point set.
[0314] Specifically, according to one or more candidate speed vectors in the first candidate speed vector set, and the position data and radial speed data of the data points in the first data point set, the weight of each candidate speed vector value is determined, and the speed vector value of the first data point set is determined according to the weight of each candidate speed vector value. For the specific method, refer to Solution 1, which will not be elaborated here.
[0315] Exemplarily, the first candidate speed vector set includes: v1, v2, v3. According to v1, v2, v3 and data point 1 and data point 2 in the first data point set, the weights corresponding to these 3 candidate speed vector values can be determined as: w1(v1), w2(v2), w3(v3), and w1(v1) < w2(v2) < w3(v3). In this case, v3 can be determined as the candidate speed vector value.
[0316] As another implementation manner, when determining the speed vector value of the first data point set according to the candidate speed quantity value, it does not depend on the information of the data points in the first data point set.
[0317] Specifically, according to one or more candidate speed vectors in the first candidate speed vector set, the weights of the one or more candidate speed vectors are determined. The candidate speed vector value with the largest weight can be used as the vector value of the first data point set, or the candidate speed vector value whose weight is greater than or equal to the third predefined threshold can be used as the vector value of the first data point set.
[0318] Exemplarily, the first set of candidate velocity vectors includes: v1, v2, v3. According to v1, v2, v3, the weights corresponding to these 3 candidate velocity vector values can be determined as: w1(v1), w2(v2), w3(v3), and w2(v2) < w3(v3) < w1(v1). In this case, v1 can be determined as the candidate velocity vector value.
[0319] In the embodiments of the present application, the compatibility condition is: the radial projection component of the velocity vector value v at the data points in the second data point set and the radial velocity data of the data points in the second data point set satisfy a fourth predefined threshold, where the radial projection component of the velocity vector value v at the data points in the second data point set is obtained based on the velocity vector value v and the position data and radial velocity data of the data points in the second data point set. The specific method is the same as that in Solution 1 and will not be elaborated here.
[0320] Optionally, the compatibility condition is: the difference between the radial projection component of the velocity vector value v at the data points in the second data point set and the radial velocity data of the data points in the second data point set satisfies a fourth predefined threshold, where the radial projection component of the velocity vector value v at the data points in the second data point set is obtained based on the velocity vector value v and the position data and radial velocity data of the data points in the second data point set. The specific method is the same as that in Solution 1 and will not be elaborated here.
[0321] By determining the velocity vector values in the data point set through the above two different methods, the clustering method provided by the embodiments of the present application can be applicable to various application scenarios. For example, it is applicable to scenarios where the data points in the data point set are sparse. For example, it is applicable to scenarios where the data points in the data point set are dense, etc.
[0322] Step 130, determine a second data point set according to the velocity vector value v. The second data point set is included in the first data point set, and the positions and radial velocities of the data points in the second data point set satisfy the compatibility condition with the velocity vector value v.
[0323] In the embodiments of the present application, the compatibility condition is:
[0324] The radial projection component of the velocity vector value v at the data points in the second data point set and the radial velocity data of the data points in the second data point set satisfy a fourth predefined threshold. The radial projection component of the velocity vector value v at the data points in the second data point set is obtained based on the velocity vector value v and the position data and radial velocity data of the data points in the second data point set.
[0325] Specifically, the first data point set contains M data points, M ≥ 2, and the data point p iLet p be a data point in the first set of data points that satisfies the above compatibility conditions, i = 1, ..., N, 2 ≤ N ≤ M. i , i = 1, ..., N, 2 ≤ N ≤ M, are the data points contained in the second data point set.
[0326] As one implementation method, the velocity vector value v of the first data point set is used as a two-dimensional vector [v x ,v y Taking the position data of the data points as polar coordinates as an example, the velocity vector value v of the first set of data points is at data point p. i The radial projection components and data point p i Satisfying the fourth predefined threshold, the corresponding compatibility neighborhood can be represented as:
[0327]
[0328] Wherein, K(M) rrc K(M) is the neighborhood formed by the data points in the first set of data points that satisfy the compatibility condition. rrc K(M) is the second set of data points; K(M) is the first set of data points; v x The velocity vector value v of the first data point set is the component along the x-axis; v y The velocity vector value v of the first set of data points is represented by the component along the y-axis. Represents data point p i The azimuth angle; Represents data point p i The radial velocity, i = 1, ..., N, 2 ≤ N ≤ M; D4 is the fourth predefined threshold.
[0329] It should be noted that data point p i The location data can also be in rectangular coordinates, in which case the data point p i The cosine and sine of the azimuth can be derived from the rectangular coordinates of the data points. The details are omitted here.
[0330] In this embodiment of the application, the value of the fourth predefined threshold can be set based on experience and / or application scenarios.
[0331] Specifically, the fourth predefined threshold can be determined based on the standard deviation of the radial velocity data of the data point or the standard deviation of the error between the radial velocity data of the data point and the radial velocity projection component. For example, the fourth predefined threshold can be m times the standard deviation of the radial velocity data or the standard deviation of the error between the radial velocity data of the data point and the radial velocity projection component, such as m can be 1.5, 2, 3, etc.; or, m can be determined according to predefined probabilities such as 90%, 95%, 97%, 99%, etc.
[0332] As another implementation, the velocity vector value v of the first data point set is used as the three-dimensional vector [v x ,v y ,v z Taking the position data of the data points as polar coordinates as an example, the velocity vector value v of the first set of data points is at data point p. i The radial projection components and data point p i Satisfying the fourth predefined threshold, the corresponding compatibility neighborhood can be represented as:
[0333]
[0334] Wherein, K(M) rrc K(M) is the neighborhood formed by the data points in the first set of data points that satisfy the compatibility condition. rrc K(M) is the second set of data points; K(M) is the first set of data points; v x The velocity vector value v of the first data point set is the component along the x-axis; v y The velocity vector value v of the first set of data points is represented by the component along the y-axis. Represents data point p i The azimuth angle; Represents data point p i The angle of elevation; Represents data point p i The radial velocity, i = 1, ..., N, 2 ≤ N ≤ M; D4 is the fourth predefined threshold.
[0335] It should be noted that data point p i The location data can also be in three-dimensional rectangular coordinates, in which case the data point p i The pitch angle, azimuth cosine, and azimuth sine values can be obtained from the rectangular coordinates of the data points. The details are omitted here.
[0336] Step 140: Determine at least one cluster C based on the position of the data points in the second data point set.
[0337] Determine at least one cluster C based on the positions of data points in the second data point set, including:
[0338] At least one cluster C is determined based on the distance between data points in the second data point set, wherein the distance between data points in the second data point set is obtained based on the position data of the data points in the second data point set, or the distance between data points in the second data point set is obtained based on the position data and radial velocity data of the data points in the second data point set.
[0339] In the embodiments of this application, the method for determining at least one cluster C from the second set of data points is not specifically limited.
[0340] As one implementation, at least one cluster C can be determined from the second data point set based on the DBSCAN algorithm and the position data and radial velocity data of the data points in the second data point set.
[0341] As an alternative implementation, at least one cluster C can be determined in the second set of data points using the k-means clustering algorithm.
[0342] It should be understood that the method for determining at least one cluster C based on the position of data points in the second data point set provided above is merely illustrative and does not constitute any limitation on this application. For example, at least one cluster C can also be determined in the second data point set based on a Gaussian mixture model (probabilistic clustering). Alternatively, at least one cluster C can also be determined in the second data point set based on a hierarchical clustering algorithm. Furthermore, at least one cluster C can be obtained using the above clustering methods and their variations.
[0343] It should be noted that after steps 110-130, a third set of data points can be obtained, and another cluster can be determined from the third set of data points using the methods of step 120 and the methods described above in step 140. The data points included in the third set of data points are the data points in the first set other than the data points included in the second set of data points.
[0344] For example, in a data point set A, candidate velocity vector values for data point set A are determined. Based on these candidate velocity vector values, a data point set B is determined from data point set A, where data point set B is contained within data point set A. Data point set B is then clustered based on the positions of the data points within it. In this case, a data point set C can be obtained, where data point set C is the difference between data point set A and data point set B. Candidate velocity vector values for data point set C are then obtained. Based on these candidate velocity vector values, a data point set D is determined from data point set A, where data point set D is contained within data point set C. Data point set D is then clustered based on the positions of the data points within it. The specific method for obtaining the candidate velocity vector values for data point set C is the same as the method for obtaining the candidate velocity vector values for data point set A.
[0345] The clustering method provided in this application determines the velocity vectors of possible targets in a first set of data points, and uses these velocity vectors to determine a second set of data points. The position and velocity data of this second set of data points satisfy compatibility conditions, fully utilizing the characteristic that targets, especially rigid targets, have similar velocity vectors to achieve initial target data point separation in the velocity vector space. Based on this, clustering is performed on the data points within the group, i.e., within the second set of data points. This is equivalent to further clustering targets with similar velocities in terms of spatial location, effectively reducing the sensitivity of clustering to spatially related input parameters, thereby significantly improving the accuracy and reliability of clustering. Furthermore, in the embodiments of this application, the velocity vector values in the data point set can be determined in different ways, thus making it suitable for various application scenarios. For example, it is suitable for scenarios where the data points in the data point set are sparse, or scenarios where the data points in the data point set are dense, etc. Figure 2 A schematic flowchart of a clustering method 200 provided in an embodiment of this application is shown.
[0346] like Figure 2 As shown, the clustering method 200 includes steps 210 to 250, which will be described below.
[0347] To facilitate understanding, we will first present a schematic diagram of a data point set provided in an embodiment of this application.
[0348] Figure 3 A schematic diagram of a data point set provided in an embodiment of this application is shown.
[0349] like Figure 3 As shown, the data point set #1 (i.e., an example of the first data point set in method 100) includes 13 data points, namely data point 1, data point 2, data point 3, data point 4, data point 5, data point 6, data point 7, data point 8, data point 9, data point 10, data point 11, data point 12 and data point 13.
[0350] The distances between different data points are not all the same. For example, the distance between data point 1 and data point 9 is greater than the distance between data point 1 and data point 6. Similarly, the distance between data point 2 and data point 4 is approximately equal to the distance between data point 1 and data point 2.
[0351] According to the clustering method provided in this application, data point set #2 (i.e., an example of the second data point set in method 100) can be determined based on the velocity vector value v of data point set #1. Data point set #2 is contained within data point set #1. Data point set 2# contains data point 1, data point 2, data point 4, data point 5, data point 6, data point 9, and data point 10 from data point set #1.
[0352] It should be understood that Figure 3 This is for illustrative purposes only and does not constitute any limitation on the first and second data point sets in this application. For example, the first and / or second data point sets may include more or fewer data points. Also, the data points in the first and / or second data point sets may be closer or farther apart.
[0353] Below, in conjunction with Figure 3 The provided data point set introduces the clustering method 200 provided in the embodiments of this application.
[0354] For ease of understanding, the following uses the method of determining the candidate velocity vector value v of the first data point set in method 100 as an example to introduce a specific embodiment of the clustering method 100 provided in this application. It should be understood that a specific embodiment of the clustering method 100 provided in this application can also be introduced using the method of determining the candidate velocity vector value v of the first data point set in method 100 as an example.
[0355] Step 210: Obtain information about the data points in data point set #1 (i.e., an example of the first data point set in method 100).
[0356] The information for each data point includes position data and radial velocity data.
[0357] The method for obtaining data point information in step 210 is the same as the method for obtaining data point information in step 110. For the sake of brevity, it will not be described in detail here.
[0358] Step 220: Determine the velocity vector value v of data point set #1.
[0359] To facilitate understanding, the process of determining the candidate velocity vector value v of data point set #1 will be described in detail below according to the method of Scheme 1 in step 110.
[0360] In this embodiment of the application, the velocity vector value v of data point set #1 can be determined based on the three data points (data point 1, data point 3, and data point 5) in data point set #1.
[0361] Specifically, according to the relevant formula in method 100, four candidate velocity vector values in data point set #1 can be obtained through calculation. These four candidate velocity vector values are: v1, v2, v3, and v4. Among them, v1 is the first candidate velocity vector of the first data point set determined based on data point 1 and data point 3; v2 is the second candidate velocity vector of the first data point set determined based on data point 1 and data point 5; v3 is the third candidate velocity vector of the first data point set determined based on data point 3 and data point 5; and v4 is the fourth candidate velocity vector of the first data point set determined based on data point 1, data point 3, and data point 5. The weight corresponding to v1 is w1(v1), the weight corresponding to v2 is w2(v2), the weight corresponding to v3 is w3(v3), and the weight corresponding to v4 is w4(v4), and w2(v2)>w1(v1)>w3(v3)>w4(v4). In this case, v2 can be defined as the velocity vector value v of data point set #1.
[0362] To facilitate understanding, the method for determining v2 is described in detail below. Similarly, the method for determining v2 described below can also be used to determine v1, v3, and v4 mentioned above.
[0363] Based on the position and radial velocity data of data point 1 and data point 5 in data point set #1, v2 can be obtained in the following way:
[0364]
[0365] Where v2 represents the second candidate velocity vector value of data point set #1; h1 represents the direction cosine vector of data point 1; and h5 represents the direction cosine vector of data point 5. This represents the radial velocity data for data point 1. This represents the radial velocity data for data point 5.
[0366] Taking the weighted least squares (WLS) method as an example, v2 is determined according to WLS, and v2 satisfies the following expression:
[0367]
[0368] in, This represents the error variance of the radial velocity data at data point 1. This represents the error variance of the radial velocity data at data point 5; other variables are as described above and will not be repeated here.
[0369] Based on data points 7 and 9 in data point set #1, the weight w2(v2) of v2 can be determined, and w2(v2) satisfies the following expression:
[0370] w2(v2)=Δw 2,7 (v2)+Δw 2,9 (v2)
[0371] Where, Δw 2,7 (v2) represents the weight of data point 7 relative to the candidate velocity vector value v2; Δw 2,9 (v2) represents the weight of data point 9 relative to the candidate velocity vector value v2.
[0372] Among them, the weight Δw of data point 7 relative to the candidate velocity vector value v2 2,7 (v2) satisfies the following expression:
[0373]
[0374] In the above expression, The radial projection component of the candidate velocity vector value v2 at data point 7; σ represents the radial velocity of data point 7. 2 For data point 7 and the radial velocity projection component The variance of the error. a0 and β0 are configuration parameters. For example, a0 = 1, or... And so on, β0 = 1, 2, ... etc.
[0375] Similarly, the weight Δw of data point 9 relative to the candidate velocity vector value v2 can also be obtained using the above method. 2,9 (v2).
[0376] Step 230: Determine data point set #2 from data point set #1 based on candidate velocity vector value v.
[0377] According to step 220, the velocity vector value of data point set #1 is v2.
[0378] Based on the radial projection formula in step 130, the following can be calculated:
[0379] Within data point set #1, the radial projection components of v2 at data point 1, data point 2, data point 4, data point 5, data point 6, data point 9, and data point 10 satisfy the second predefined threshold. Therefore, data points in data point set #2 that are included in data point set #1 are: data point 1, data point 2, data point 4, data point 5, data point 6, data point 9, and data point 10.
[0380] Specifically, let v2 be a two-dimensional vector [v 2x ,v 2y When using polar coordinates as an example, the radial projection component of v2 at data point 1 satisfies the following expression:
[0381]
[0382] Among them, v 2x This represents the component of the velocity vector v2 at data point 2 along the x-axis; v 2y θ2 represents the y-component of the velocity vector v2 of data point 2; θ2 represents the azimuth angle of data point 1. D1 represents the radial velocity of data point 1; D2 is the second threshold value. For the specific setting method of D2, please refer to step 130 in method 100.
[0383] Similarly, the radial projection component of v2 at data point i can be obtained in the same way as described above, i = 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13.
[0384] Through calculation, it can be determined that the neighborhood formed by the data points that satisfy the compatibility conditions in the first data point set can be represented as:
[0385]
[0386] Wherein, K(M) rrc K(M) is the neighborhood formed by the data points in the first set of data points that satisfy the compatibility condition. rrc K(M) is the second set of data points; K(M) is the first set of data points; v x The velocity vector value v of the first data point set is the component along the x-axis; v y The velocity vector value v of the first set of data points is represented by the component along the y-axis. This represents the azimuth angle of data point pi; D1 represents the radial velocity of data point pi, where i = 1, 2, 4, 5, 6, 9, 10; D2 is the second predefined threshold.
[0387] Step 240: Determine at least one cluster from data point set #2 based on the positions of the data points in data point set #2.
[0388] After steps 210-230, data point set #2 can be obtained, and the data points in data point set #1 contained in data point set #2 are: data point 1, data point 2, data point 4, data point 5, data point 6, data point 9 and data point 10.
[0389] In this embodiment of the application, at least one cluster C can be determined from data point set #2 based on the DBSCAN algorithm and the position data and radial velocity data of data points in data point set #2. For example... Figure 3 As shown, the data points in cluster C, set #2, are: data point 1, data point 2, and data point 4.
[0390] Alternatively, a similar method to determining cluster C can be used to cluster the remaining data points (data points 5, 6, 9, and 10) in data point set #2.
[0391] Step 250: Obtain data point set #3, and cluster the data points in data point set #3 using the methods from Steps 220 to 240.
[0392] Among them, data point set #3 is the difference between data point set #1 and data point set #2.
[0393] As one implementation method, it can be determined in step 240. Figure 3 Data point set #2 contains the following data points from data point set #1: data point 1, data point 2, data point 4, data point 5, data point 6, data point 9, and data point 10. In this case, data point set #3 includes the following data points: data point 3, data point 7, data point 8, data point 11, data point 12, and data point 13. See details... Figure 4 .
[0394] In this embodiment of the application, the data points in data point set #3 can be clustered using the methods of steps 220 to 240. For the sake of brevity, these steps will not be described in detail here.
[0395] The clustering method provided in this application obtains the velocity vectors of possible targets in data point set #1 by utilizing radial velocity measurement data of data points in data point set #1. These velocity vectors are then used to perform preliminary classification of data point set #1 to obtain a second data point set, achieving more accurate coarse clustering of targets along the velocity vector dimension. Furthermore, the positional data of data points in data point set #2 are used for further clustering. This clustering method exhibits high accuracy and reliability. In addition, in the embodiments of this application, the velocity vector value v in the data point set can be determined in different ways, thus making it suitable for various application scenarios. For example, it is suitable for scenarios where the data point set is sparse, or scenarios where the data point set is dense, etc.
[0396] The above combination Figures 1 to 5 The clustering method provided in this application is described in detail. It should be understood that... Figures 1 to 5The method described is for illustrative purposes only and does not constitute any limitation on this application.
[0397] Below, in conjunction with Figure 6 and Figure 7 This application provides a detailed description of the clustering apparatus and equipment.
[0398] Figure 6 A schematic structural diagram of a clustering apparatus 600 provided in an embodiment of this application is shown.
[0399] The clustering apparatus 600 includes a transceiver unit 610 and a processing unit 620. The transceiver unit 610 and the processing unit 620 communicate with each other through an internal connection path to transmit control and / or data signals.
[0400] The transceiver unit 610 is used to acquire a first data point set, which includes at least two data points, and the information of each data point in the first data point set includes position data and radial velocity data;
[0401] Processing unit 620 is used to determine the velocity vector value v of the first data point set;
[0402] The processing unit 620 is further configured to determine a second set of data points based on the velocity vector value v, the second set of data points being included in the first set of data points, wherein the position data and radial velocity data of the data points in the second set of data points satisfy compatibility conditions with the velocity vector value v;
[0403] The processing unit 620 is also configured to determine at least one cluster C based on the location data of the data points in the second data point set.
[0404] Optionally, in some implementations,
[0405] The velocity vector value v is a predefined velocity vector value; or,
[0406] The velocity vector value v is determined based on the data points contained in the first set of data points.
[0407] Optionally, in some implementations,
[0408] Based on the information of two or more data points within the first data point set, determine at least one candidate velocity vector value for the first data point set;
[0409] The velocity vector value v is determined based on the at least one candidate velocity vector value.
[0410] Optionally, in some implementations, the processing unit 620 is also used for:
[0411] Based on the position and radial velocity data of data point q within the first data point set, and the position and radial velocity data of at least one data point within the neighborhood N(q) of data point q, the at least one candidate velocity vector value is determined based on the following relationship:
[0412]
[0413] Among them, v c Let q be the c-th candidate velocity vector value of the first set of data points, where c ≥ 1; t is the value of the data point q or its neighborhood N(q) used to determine the velocity vector. c The data points, where the neighborhood N(q) of the data point q is a predefined neighborhood; The radial velocity data is for data point t; n t To and The corresponding error; h t h is the direction cosine vector; where h t This is obtained based on the location data of data point t.
[0414] Optionally, in some implementations,
[0415] The weight of the at least one candidate velocity vector value is the sum of the weights of the data points in the first data point set relative to the at least one candidate velocity vector value;
[0416] The weights of the data points in the first set of data points relative to the at least one candidate velocity vector value are obtained based on the position data and radial velocity data of the data points in the first set of data points.
[0417] Optionally, in some implementations, the processing unit 620 is also used for:
[0418] Based on the information of some or all of the data points in the first data point set, determine the weight of at least one candidate velocity vector value, wherein the at least one candidate velocity vector value belongs to the first candidate velocity vector set.
[0419] The velocity vector value v is determined based on the weight of the at least one candidate velocity vector value.
[0420] Optionally, in some implementations,
[0421] The candidate velocity vector values in the first candidate velocity vector set are predefined candidate velocity vector values; or...
[0422] The candidate velocity vector values in this first candidate velocity vector set are determined based on the velocity vector values of interest; or,
[0423] The candidate velocity vector values in the first candidate velocity vector set are determined based on the range of velocity vector values of interest.
[0424] Optionally, in some implementations, any one of the at least one candidate velocity vector values is represented as a candidate velocity vector value v. c The candidate velocity vector value v c The weights are determined based on the candidate velocity vector value v. c The data points in the support set are used to determine the candidate velocity vector value v. c The support set is a subset of the first data point set, and the candidate velocity vector value v c The support set contains radial velocity data of data point s and the candidate velocity vector value v. c The difference between the radial projection components of the data point s satisfies the second predefined threshold.
[0425] Optionally, in some implementations,
[0426] The candidate velocity vector value v c The weight is based on the candidate velocity vector value v. c The support set contains data points relative to the candidate velocity vector value v c The sum of the weighted values;
[0427] Where the candidate velocity vector value v c The support set contains data points relative to the candidate velocity vector value v c The weighting value is based on the candidate velocity vector value v c The support set contains the position data and radial velocity data of the data points.
[0428] Optionally, in some implementations,
[0429] The velocity vector value v is the candidate velocity vector value with the largest weight among the at least one candidate velocity vector values; or...
[0430] The velocity vector value v is a candidate velocity vector value among the at least one candidate velocity vector values whose weight is greater than or equal to a third predefined threshold.
[0431] Optionally, in some implementations, this compatibility condition is:
[0432] The difference between the radial projection component of the velocity vector value v of the data point in the second data point set and the radial velocity data of the data point in the second data point set satisfies a fourth predefined threshold, wherein the radial projection component of the velocity vector value v of the data point in the second data point set is obtained based on the velocity vector value v and the position data and radial velocity data of the data point in the second data point set.
[0433] Optionally, in some implementations, the processing unit 620 is also used for:
[0434] The at least one cluster C is determined based on the distance between data points in the second data point set, wherein the distance between data points in the second data point set is obtained based on the position data of the data points in the second data point set, or the distance between data points in the second data point set is obtained based on the position data and radial velocity data of the data points in the second data point set.
[0435] Figure 7 A schematic structural diagram of a clustering device 700 provided in an embodiment of this application is shown.
[0436] The clustering device 700 includes a transceiver 710, a processor 720, and a memory 730. The transceiver 710, processor 720, and memory 730 communicate with each other via internal connections to transmit control and / or data signals. The memory 730 stores computer programs, and the processor 710 retrieves and runs the computer programs from the memory 730 to control the transceiver 720 to transmit and receive signals.
[0437] Specifically, the functions of transceiver 710 are... Figure 6 The specific functions of the transceiver unit 610 shown are as follows, and will not be described in detail here.
[0438] Specifically, the functions of the processor 720 are... Figure 6 The specific functions of the processing unit 620 shown are as follows, and will not be described in detail here.
[0439] It should be understood that the processor in the embodiments of this application can be a central processing unit (CPU), but it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0440] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0441] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.
[0442] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. A and B can be singular or plural. Additionally, the character " / " in this article generally indicates an "or" relationship between the preceding and following related objects, but it can also represent an "and / or" relationship. Please refer to the context for a more accurate understanding.
[0443] In this application, "at least one" means one or more, and "more than one" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0444] It should be understood that, in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0445] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software 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 beyond the scope of this application.
[0446] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0447] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0448] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0449] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0450] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0451] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A clustering method, characterized in that, The method includes: Obtain a first set of data points, which includes at least two data points, and the information of each data point in the first set of data points includes spatial position data and radial velocity data; Based on the information of two or more data points in the first data point set, determine at least one candidate velocity vector value for the first data point set; The weight of the at least one candidate velocity vector value is determined based on the spatial position data and radial velocity data of some or all data points in the first data point set. The velocity vector value is determined based on the weights of the at least one candidate velocity vector value. v The velocity vector value v Used to indicate the components of velocity in multiple directions; According to the velocity vector value v A second set of data points is determined, which is included in the first set of data points. The spatial position data and radial velocity data of the data points in the second set are compared with the velocity vector value. v The compatibility condition is met, and the compatibility condition is: the velocity vector value v The radial projection components of the data points in the second data point set and the radial velocity data of the data points in the second data point set satisfy a fourth predefined threshold, wherein the velocity vector value v The radial projection component of the data points in the second data point set is based on the velocity vector value. v The spatial position data and radial velocity data of the data points in the second data point set are obtained; At least one cluster C is determined based on the spatial location data of the data points in the second set of data points.
2. The method according to claim 1, characterized in that, The step of determining at least one candidate velocity vector value for the first data point set based on information from two or more data points within the first data point set includes: Based on the spatial position data and radial velocity data of data point q within the first data point set, and the spatial position data and radial velocity data of at least one data point within the neighborhood N(q) of data point q, the at least one candidate velocity vector value is determined based on the following relationship: in, Let c be the c-th candidate velocity vector of the first set of data points, where c ≥ 1; t is the value of the data point q or its neighborhood N(q) used to determine the... The data points, wherein the neighborhood N(q) of the data point q is a predefined neighborhood; The radial velocity data is for data point t; To and The corresponding error; Here, is the direction cosine vector; where It is obtained based on the spatial location data of the data point t.
3. The method according to claim 2, characterized in that, The weight of the at least one candidate velocity vector value is the sum of the weights of the data points in the first data point set relative to the at least one candidate velocity vector value; The weights of the data points in the first set of data points relative to the at least one candidate velocity vector value are obtained based on the spatial position data and radial velocity data of the data points in the first set of data points.
4. The method according to claim 1, characterized in that, The at least one candidate velocity vector value belongs to the first candidate velocity vector set; The candidate velocity vector values in the first candidate velocity vector set are predefined candidate velocity vector values; or, The candidate velocity vector values in the first candidate velocity vector set are determined based on the velocity vector values of interest; or, The candidate velocity vector values in the first candidate velocity vector set are determined based on the range of velocity vector values of interest.
5. The method according to claim 1 or 4, characterized in that, The candidate velocity vector value among the at least one candidate velocity vector value is represented as a candidate velocity vector value. The candidate velocity vector value The weights are determined based on the candidate velocity vector values. The data points in the support set are determined, and the candidate velocity vector values are... The support set is a subset of the first data point set, and the candidate velocity vector values The support set contains radial velocity data of data point s and the candidate velocity vector value. The difference between the radial projection components of the data point s satisfies a second predefined threshold.
6. The method according to claim 5, characterized in that, The candidate velocity vector value The weights are based on the candidate velocity vector values. The support set contains data points relative to the candidate velocity vector values. The sum of the weighted values; The candidate velocity vector value The support set contains data points relative to the candidate velocity vector values. The weighted value is based on the candidate velocity vector value. The support set contains spatial location data and radial velocity data of the data points.
7. The method according to any one of claims 3-6, characterized in that, The velocity vector value v The candidate velocity vector value with the largest weight among the at least one candidate velocity vector values; or, The velocity vector value v The candidate velocity vector value whose weight is greater than or equal to a third predefined threshold is among the at least one candidate velocity vector values.
8. The method according to any one of claims 1-7, characterized in that, The step of determining at least one cluster C based on the spatial location data of data points in the second data point set includes: The at least one cluster C is determined based on the distance between data points in the second data point set, wherein the distance between data points in the second data point set is obtained based on the spatial location data of the data points in the second data point set, or the distance between data points in the second data point set is obtained based on the spatial location data and radial velocity data of the data points in the second data point set.
9. A clustering apparatus, characterized in that, The device includes: The transceiver unit is used to acquire a first data point set, which includes at least two data points. The information of each data point in the first data point set includes spatial position data and radial velocity data. The processing unit is configured to: determine at least one candidate velocity vector value for the first data point set based on information from two or more data points within the first data point set; determine the weight of the at least one candidate velocity vector value based on spatial position data and radial velocity data of some or all data points within the first data point set; and determine the velocity vector value based on the weight of the at least one candidate velocity vector value. v The velocity vector value v Used to indicate the components of velocity in multiple directions; The processing unit is further configured to, based on the velocity vector value v A second set of data points is determined, which is included in the first set of data points. The spatial position data and radial velocity data of the data points in the second set are compared with the velocity vector value. v The compatibility condition is met, and the compatibility condition is: the velocity vector value v The radial projection components of the data points in the second data point set and the radial velocity data of the data points in the second data point set satisfy a fourth predefined threshold, wherein the velocity vector value v The radial projection component of the data points in the second data point set is based on the velocity vector value. v The spatial position data and radial velocity data of the data points in the second data point set are obtained; The processing unit is further configured to determine at least one cluster C based on the spatial location data of the data points in the second data point set.
10. The apparatus according to claim 9, characterized in that, The processing unit is also used for: Based on the spatial position data and radial velocity data of data point q within the first data point set, and the spatial position data and radial velocity data of at least one data point within the neighborhood N(q) of data point q, the at least one candidate velocity vector value is determined based on the following relationship: in, Let be the c-th candidate velocity vector value of the first set of data points, where c ≥ 1; t is the value of the data point q or the neighborhood N(q) of the data point q used to determine the... The data points, wherein the neighborhood N(q) of the data point q is a predefined neighborhood; The radial velocity data is for data point t; To and The corresponding error; Here, is the direction cosine vector; where It is obtained based on the spatial location data of the data point t.
11. The apparatus according to claim 10, characterized in that, The weight of the at least one candidate velocity vector value is the sum of the weights of the data points in the first data point set relative to the at least one candidate velocity vector value; The weights of the data points in the first set of data points relative to the at least one candidate velocity vector value are obtained based on the spatial position data and radial velocity data of the data points in the first set of data points.
12. The apparatus according to claim 9, characterized in that, The at least one candidate velocity vector value belongs to the first candidate velocity vector set; The candidate velocity vector values in the first candidate velocity vector set are predefined candidate velocity vector values; or, The candidate velocity vector values in the first candidate velocity vector set are determined based on the velocity vector values of interest; or, The candidate velocity vector values in the first candidate velocity vector set are determined based on the range of velocity vector values of interest.
13. The apparatus according to claim 9 or 12, characterized in that, The processing unit is also used for: Based on information from some or all of the data points in the first data point set, determine the at least one candidate velocity vector value; Based on the at least one candidate velocity vector value, determine the weight of the at least one candidate velocity vector value; Wherein, any one of the at least one candidate velocity vector values is represented as a candidate velocity vector value. The candidate velocity vector value The weights are determined based on the candidate velocity vector values. The data points in the support set are determined, and the candidate velocity vector values are... The support set is a subset of the first data point set, and the candidate velocity vector values The support set contains radial velocity data of data point s and the candidate velocity vector value. The difference between the radial projection components of the data point s satisfies a second predefined threshold.
14. The apparatus according to claim 13, characterized in that, The candidate velocity vector value The weights are based on the candidate velocity vector values. The support set contains data points relative to the candidate velocity vector values. The sum of the weighted values; The candidate velocity vector value The support set contains data points relative to the candidate velocity vector values. The weighted value is based on the candidate velocity vector value. The support set contains spatial location data and radial velocity data of the data points.
15. The apparatus according to any one of claims 11-14, characterized in that, The velocity vector value v The candidate velocity vector value with the largest weight among the at least one candidate velocity vector values; or, The velocity vector value v The candidate velocity vector value whose weight is greater than or equal to a third predefined threshold is among the at least one candidate velocity vector values.
16. The apparatus according to any one of claims 9-15, characterized in that, The processing unit is also used for: The at least one cluster C is determined based on the distance between data points in the second data point set, wherein the distance between data points in the second data point set is obtained based on the spatial location data of the data points in the second data point set, or the distance between data points in the second data point set is obtained based on the spatial location data and radial velocity data of the data points in the second data point set.
17. A clustering apparatus, characterized in that, It includes a processor and a memory, the memory being used to store instructions, and the processor being used to read the instructions stored in the memory to perform the method of any one of claims 1 to 8.
18. A computer-readable storage medium, characterized in that, Includes a computer program, which, when run on a computer, performs the method according to any one of claims 1 to 8.
19. A chip, characterized in that, Includes at least one processor and interface; The at least one of the processors is configured to invoke and run a computer program to cause the chip to perform the method as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Method for countering deception false target by utilizing netted radar system
CN103018722A
Combined SAR image moving target clustering method based on amplitude and radial speed
CN105913074A