Target detection method and device, electronic equipment and storage medium
By creating an initial point cloud trajectory in the target space and performing point cloud trajectory association processing, the problem of false targets caused by multipath interference is solved, and high accuracy of target detection is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN LUMIUNITED TECH CO LTD
- Filing Date
- 2023-07-04
- Publication Date
- 2026-05-19
AI Technical Summary
In complex environments, multipath interference can cause radar to detect false targets, affecting the accuracy of target detection.
An initial point cloud trajectory is created using an initial point cloud dataset based on the target space. The point cloud in the next frame's point cloud dataset is then associated with the initial point cloud trajectory to generate an updated point cloud trajectory. This trajectory association is continued until the target conditions are met, thus determining the true trajectory.
It improves the accuracy of point cloud trajectory and the recognition accuracy of real trajectory, effectively eliminates false targets, and improves the accuracy of target detection.
Smart Images

Figure CN117078987B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of signal processing technology, and more particularly to a target detection method, apparatus, electronic device, and storage medium. Background Technology
[0002] When electromagnetic waves encounter objects during propagation, they undergo reflection, refraction, and scattering. Different objects will produce different reflections, refractions, and scatterings, so at any receiving point, it is possible to receive electromagnetic waves from the same source from different paths, which is called multipath propagation.
[0003] In relatively open environments, electromagnetic waves reflected from a spatial target can be received by a receiver, which can then demodulate and calculate the target information; this target can be called the real target. In more complex environments, such as indoors, urban areas, or tunnels, the receiver receives not only the electromagnetic waves directly reflected from the target but also echoes generated by multiple reflections from the target and surrounding complex reflective surfaces. These echoes are called multipath waves. Due to the presence of multipath waves, the radar may detect a false target at a location where no real target exists. This false target can be called a multipath target corresponding to the real target. The presence of multipath targets interferes with the detection of real targets.
[0004] Application content
[0005] This application provides a target detection method, apparatus, electronic device, and storage medium, which realizes the detection of targets and improves the accuracy of detection.
[0006] In a first aspect, embodiments of this application provide a target detection method, the method comprising:
[0007] Based on the initial point cloud dataset in the target space, create initial point cloud trajectories for each target;
[0008] The point clouds in the next frame of the initial point cloud dataset are associated with the initial point cloud trajectories to generate updated point cloud trajectories.
[0009] Based on the updated point cloud trajectories, trajectory association processing is continuously performed on each point cloud in the adjacent next frame point cloud dataset until a target point cloud trajectory that meets the target conditions is obtained from each point cloud trajectory. Then, the true trajectory of each target in the target space is determined based on the target point cloud trajectory.
[0010] Secondly, embodiments of this application also provide a target detection device, the device comprising:
[0011] The initial point cloud trajectory creation module is used to create initial point cloud trajectories for each target based on the initial point cloud dataset in the target space.
[0012] The point cloud trajectory generation module is used to perform trajectory association processing between each point cloud in the next frame point cloud dataset of the initial point cloud dataset and each initial point cloud trajectory to generate updated point cloud trajectories.
[0013] The true trajectory determination module is used to continuously perform trajectory association processing on each point cloud in the adjacent next frame point cloud dataset based on the updated point cloud trajectories, until the target point cloud trajectory that meets the target conditions is obtained from each point cloud trajectory, and then the true trajectory of each target in the target space is determined according to the target point cloud trajectory.
[0014] In one embodiment, the point cloud trajectory generation module is further configured to: perform trajectory association processing on each point cloud in the next frame point cloud dataset of the initial point cloud dataset with each initial point cloud trajectory to obtain a first point cloud associated with any initial point cloud trajectory and a second point cloud not associated with any initial point cloud trajectory; update the initial point cloud trajectory corresponding to each first point cloud based on each first point cloud to obtain the corresponding first point cloud trajectory; create the corresponding second point cloud trajectory based on each second point cloud; and obtain the updated point cloud trajectory based on each first point cloud trajectory and each second point cloud trajectory.
[0015] In one embodiment, the point cloud trajectory generation module is further configured to: calculate the distance between each point cloud in the next frame point cloud dataset of the initial point cloud dataset and each initial point cloud trajectory to obtain the corresponding calculation result; if the calculation result meets the preset distance condition, then associate each point cloud that meets the preset distance condition with the initial point cloud trajectory.
[0016] In one embodiment, the point cloud trajectory generation module is further configured to: perform clustering processing on each second point cloud, remove second point clouds that do not meet the preset clustering conditions from the clustering results, and obtain clustered second point clouds; and create trajectories for each second point cloud based on the clustered second point clouds.
[0017] In one embodiment, the point cloud trajectory generation module is further configured to: classify the clustered second point clouds, remove the second point clouds that do not meet the preset classification conditions from the classification results, and obtain each classified second point cloud; and create each second point cloud trajectory based on each classified second point cloud.
[0018] In one embodiment, the real trajectory determination module is further configured to: perform trajectory association processing on each point cloud in the adjacent next frame point cloud dataset and the updated point cloud trajectory respectively, to obtain a third point cloud associated with any updated point cloud trajectory and a fourth point cloud not associated with any updated point cloud trajectory; update the updated point cloud trajectory associated with each third point cloud according to each third point cloud, to obtain each third point cloud trajectory; create corresponding fourth point cloud trajectories according to each fourth point cloud; and obtain the updated point cloud trajectories again based on each third point cloud trajectory and each fourth point cloud trajectory, so as to realize trajectory association processing on each point cloud in the adjacent next frame point cloud dataset.
[0019] In one embodiment, the true trajectory determination module is further configured to: if there is a point cloud trajectory in each point cloud trajectory that satisfies a preset distance condition with at least one point cloud for a consecutive first preset number of frames, and the true trajectory probability of the point cloud trajectory satisfies the trajectory probability condition for a consecutive second preset number of frames, then the point cloud trajectory is determined as the target point cloud trajectory; and the true trajectory of each target in the target space is determined based on the target point cloud trajectory.
[0020] In one embodiment, the true trajectory determination module is further configured to: for each point cloud trajectory, perform trajectory association processing on the point cloud trajectory and the point cloud within a preset target number of frames, and determine whether the point cloud trajectory satisfies a preset distance condition with at least one point cloud within a consecutive first preset number of frames in each trajectory association processing result; if the point cloud trajectory satisfies the preset distance condition with at least one point cloud, determine whether the true trajectory probability of the point cloud trajectory within a consecutive second preset number of frames satisfies the trajectory probability condition; if the true trajectory probability of the point cloud trajectory within a consecutive second preset number of frames satisfies the trajectory probability condition, determine the point cloud trajectory as the target point cloud trajectory; wherein the preset target number of frames is greater than the first preset number of frames and greater than the second preset number of frames.
[0021] Thirdly, embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the target detection method in any of the embodiments of this application.
[0022] Fourthly, embodiments of this application also provide a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by the processor, implements the target detection method in any of the embodiments of this application.
[0023] Fifthly, embodiments of this application also provide a computer program product or computer program, the computer program product or computer program including computer instructions, the computer instructions being stored in a computer-readable storage medium; the processor of the computer device reads the computer instructions from the computer-readable storage medium, and when the processor executes the computer instructions, it implements the steps in the target detection method of various embodiments of this application.
[0024] The technical solution of this application embodiment can create initial point cloud trajectories based on an initial candidate point cloud dataset in the target space. It then performs trajectory association processing on each point cloud in the next frame of the initial point cloud dataset with each initial point cloud trajectory to generate updated point cloud trajectories. This achieves frame-by-frame updating of the point cloud trajectories. Based on the updated point cloud trajectories, trajectory association processing is continuously performed on each point cloud in adjacent next frame point cloud datasets until a target point cloud trajectory satisfying the target conditions is obtained from each point cloud trajectory. This achieves the elimination of false target point cloud trajectories based on the target conditions, and determines the true trajectory of each target in the target space based on the target point cloud trajectory. The technical solution of this application embodiment achieves updated point cloud trajectories by performing trajectory association processing between point cloud trajectories and point clouds in the next frame point cloud dataset, improving the accuracy of point cloud trajectories. Furthermore, by obtaining target point cloud trajectories satisfying the target conditions from each point cloud trajectory, the true trajectory of each target in the target space is obtained, further improving the accuracy of the true trajectory. Attached Figure Description
[0025] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0026] in:
[0027] Figure 1 This is a schematic diagram of the application environment of a target detection method according to an embodiment of this application;
[0028] Figure 2 This is a flowchart illustrating a target detection method according to an embodiment of this application;
[0029] Figure 3 This is a schematic diagram of a process for creating a second point cloud trajectory in another embodiment of this application;
[0030] Figure 4 This is a schematic diagram of a process for determining the trajectory of a target point cloud in another embodiment of this application;
[0031] Figure 5 This is a schematic diagram of a process for determining the trajectory of a target point cloud in another embodiment of this application;
[0032] Figure 6 This is a flowchart illustrating another target detection method in this application embodiment;
[0033] Figure 7 This is a schematic diagram of the structure of a target detection device in another embodiment of this application.
[0034] Figure 8 This is a schematic diagram of the structure of an electronic device in another embodiment of this application. Detailed Implementation
[0035] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0036] Before describing the technical solutions of the embodiments of this application, the application scenarios of the embodiments of this application will be illustrated by example:
[0037] Because outdoor environments contain strong reflectors such as walls and tall buildings, and indoor environments have many items placed in unpredictable locations, the electromagnetic wave signals scattered by the target are prone to secondary and multiple scattering when encountering strong reflectors before being received by the radar receiver. Since the path difference between the echo signal after multiple scattering and the echo signal of the real target is inconsistent, multipath false targets are generated, affecting the accuracy of target detection.
[0038] The target detection method provided in this application embodiment realizes the trajectory association processing between the point cloud trajectory and the point cloud in the next frame point cloud dataset to obtain the updated point cloud trajectory, thereby improving the accuracy of the point cloud trajectory. Furthermore, it obtains the target point cloud trajectory that meets the target conditions from each point cloud trajectory, thereby obtaining the true trajectory of each target in the target space, which improves the accuracy of the true trajectory.
[0039] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0040] The target detection method provided in this application can be applied to, for example... Figure 1 The application environment shown. Among them, Figure 1A target detection system is provided, which includes a user terminal 1, a server 2, a radar device 3, and a network device 4 connected to the radar device 3. The network device 4 can be a gateway, a router, or other devices, and is not limited thereto.
[0041] In one implementation, the radar device 3 is connected to the gateway 4 via a local area network (LAN) or a wide area network (WAN) path, thereby being deployed within the network device 4. The LAN may include ZigBee or Bluetooth, while the WAN may include 2G / 3G / 4G / 5G / Wi-Fi, etc.
[0042] Network device 4 establishes a network connection with user terminal 1 or server 2 through a router. In one embodiment, network device 4 and user terminal 1 can establish a network connection through a local area network or wide area network path. Through this network connection, it interacts with user terminal 1, thereby enabling the user to control radar device 3 accessing gateway 4 to perform corresponding actions via user terminal 1.
[0043] User terminal 1 can be a smartphone, laptop, personal computer, tablet, smart control panel, or other network-connected electronic device, without limitation. Server 2 can be implemented as a standalone server 2 or a server 2 cluster consisting of multiple servers 2.
[0044] One embodiment of the application provides a target detection method. Figure 2 This is a schematic flowchart illustrating a target detection method provided in an embodiment of this application. The method is illustrated using an electronic device as an example; specifically, the electronic device may be... Figure 1 The user terminal in the middle.
[0045] like Figure 2 As shown, the target detection method of this application embodiment specifically includes the following steps:
[0046] S110. Based on the initial point cloud dataset in the target space, create initial point cloud trajectories for each target.
[0047] The target space can be set according to actual conditions, and the size and shape of the target area are not limited. For example, the target area can refer to an office, a residential house, or a residential community. A point cloud refers to a collection of point data on the surface of an object obtained through measuring instruments or equipment. For example, point cloud data for each target in the target space can be obtained through radar equipment. A target can refer to a person or animal with living characteristics, or it can refer to an object moving within the target area, such as an indoor robotic vacuum cleaner.
[0048] The initial point cloud dataset represents the initial point cloud dataset created for the current target when a new target is initially detected in the target space. For example, it could be the initial point cloud dataset for a person when they enter the target space. The point cloud trajectory refers to the movement trajectory of the target obtained from the point cloud. The initial point cloud trajectory refers to the initial movement trajectory of the target obtained from the point clouds of the initial point cloud dataset in the first frame.
[0049] Specifically, the electronic device creates initial point cloud trajectories for each target based on the initial point cloud dataset of each target in the target space. This can be achieved by randomly generating random point clouds and then creating the initial point cloud trajectory based on the random point clouds and the initial point clouds. Alternatively, it can involve processing each point cloud in the initial point cloud dataset using a preset algorithm to generate the trajectory, thus obtaining the initial point cloud trajectory. The preset algorithm could be, for example, a simultaneous localization and mapping (SLAM) algorithm. This step creates the initial point cloud trajectory, preparing for subsequent point cloud trajectory updates.
[0050] In this embodiment of the application, before creating the initial point cloud trajectory for each target based on the initial point cloud dataset in the target space, the method further includes: acquiring each point cloud in each frame to obtain the point cloud dataset for each frame. Optionally, the point cloud dataset can be acquired using Constant False Alarm Rate Detector (CFAR). The point cloud dataset includes real targets, multipath clutter targets, and false alarm targets.
[0051] S120. Perform trajectory association processing between each point cloud in the next frame point cloud dataset of the initial point cloud dataset and each initial point cloud trajectory to generate updated point cloud trajectories.
[0052] Trajectory association processing refers to the process by which group target tracking algorithms associate point clouds with their trajectories. For example, the distance between the point cloud trajectory of the next frame and the point cloud trajectory of the current frame can be used to determine whether the point cloud trajectory of the next frame is associated with that of the current frame. The initial point cloud trajectory is obtained from the initial point cloud data of one frame, while the updated point cloud trajectory is obtained by associating the initial point cloud trajectory with the point cloud dataset of the next frame. The updated point cloud trajectory can be obtained from point cloud data of two consecutive frames, or a new point cloud trajectory generated based on the point cloud dataset of the next frame from the initial point cloud trajectory.
[0053] Specifically, for each point cloud in the next frame of the initial point cloud dataset, the trajectory of each point cloud is associated with the trajectory of the initial point cloud by methods such as calculating the distance between points and lines. If a point cloud in the next frame is associated with an initial point cloud trajectory, the point cloud is added to the initial point cloud trajectory to obtain an updated point cloud trajectory. This step realizes the updating of the point cloud trajectory, which can update the position of the target.
[0054] S130. Based on the updated point cloud trajectories, continuously perform trajectory association processing on each point cloud in the adjacent next frame point cloud dataset until the target point cloud trajectory that meets the target conditions is obtained from each point cloud trajectory. Then, determine the true trajectory of each target in the target space based on the target point cloud trajectory.
[0055] The target condition can refer to a point cloud trajectory whose true trajectory probability is greater than a trajectory probability threshold for a consecutive preset number of frames. The adjacent next frame refers to the frame immediately following the current point cloud trajectory; for example, if the current point cloud trajectory corresponds to the second frame, then the adjacent next frame is the third frame. Each point cloud trajectory refers to the new point cloud trajectories obtained after trajectory association processing. The target point cloud trajectory refers to the point cloud trajectory that satisfies the target condition extracted from the existing point cloud trajectories. The true trajectory refers to the actual movement trajectory of the target within the target space.
[0056] Specifically, the electronic device performs trajectory association processing on each point cloud in the adjacent next frame point cloud dataset based on the updated point cloud trajectory, and obtains the updated point cloud trajectory again. The process of performing trajectory association processing on each point cloud in the adjacent next frame point cloud trajectory based on the updated point cloud trajectory is repeated. In each loop, the updated point cloud trajectory is used to determine the target conditions.
[0057] Having obtained the target point cloud trajectory that meets the target conditions from each point cloud trajectory, the step of associating the point clouds in the adjacent next frame point cloud dataset with the updated point cloud trajectories is stopped. The electronic device then obtains the true trajectory of each target in the target space based on the target point cloud trajectory. This achieves the process of obtaining the target point cloud trajectory from each point cloud trajectory and then determining the true trajectory of each target in the target space based on the target point cloud trajectory. Specifically, it can determine the true trajectory corresponding to the target from each target point cloud trajectory. Here, there can be one or more targets. In this way, the targets within the target area can be determined, and thus the true trajectory and true position of the targets can be determined, improving the accuracy of target trajectory recognition and target detection in the target space.
[0058] The technical solution of this application embodiment creates initial point cloud trajectories based on an initial candidate point cloud dataset in the target space. It then performs trajectory association processing on each point cloud in the next frame of the initial point cloud dataset with each initial point cloud trajectory to generate updated point cloud trajectories. Further, based on the updated point cloud trajectories, it continuously performs trajectory association processing on each point cloud in adjacent next frame point cloud datasets until a target point cloud trajectory satisfying the target conditions is obtained from each point cloud trajectory. Finally, the true trajectory of each target in the target space is determined based on the target point cloud trajectory. This achieves improved accuracy in point cloud trajectory recognition by performing trajectory association processing between point cloud trajectories and point clouds in the next frame point cloud dataset. Then, by obtaining target point cloud trajectories satisfying the target conditions from each point cloud trajectory, the true trajectory of each target is determined, significantly improving the accuracy of the true trajectory of the target.
[0059] In one embodiment, the process of associating each point cloud in the next frame of the initial point cloud dataset with each initial point cloud trajectory to generate updated point cloud trajectories includes: associating each point cloud in the next frame of the initial point cloud dataset with each initial point cloud trajectory to obtain a first point cloud associated with any initial point cloud trajectory and a second point cloud not associated with any initial point cloud trajectory; updating the initial point cloud trajectory corresponding to each first point cloud based on each first point cloud to obtain corresponding first point cloud trajectories; creating corresponding second point cloud trajectories based on each second point cloud; and obtaining updated point cloud trajectories based on each first point cloud trajectory and each second point cloud trajectory.
[0060] Here, the first point cloud refers to the point cloud in the next frame of the initial point cloud dataset that is associated with any initial point cloud trajectory. The second point cloud refers to the point cloud in the next frame of the initial point cloud dataset that is not associated with any initial point cloud trajectory. The first point cloud trajectory is the point cloud trajectory obtained after updating the initial point cloud trajectory based on the first point cloud. The second point cloud trajectory is the new point cloud trajectory created based on the second point cloud. The updated point cloud trajectories are the set of the first and second point cloud trajectories.
[0061] In this embodiment, after the electronic device acquires the initial point cloud dataset of each target in the target space, it performs trajectory association processing on each point cloud in the next frame of the initial point cloud dataset with each initial point cloud trajectory. Based on the result of the trajectory association processing, a first point cloud associated with any initial point cloud trajectory is obtained. Then, each first point cloud is added to the initial point cloud trajectory corresponding to the first point cloud to obtain each first point cloud trajectory.
[0062] The electronic device further obtains a second point cloud that is not associated with any of the initial point cloud trajectories based on the trajectory association processing results. Then, based on each second point cloud, a corresponding second point cloud trajectory is created. The method for creating the second point cloud trajectory can be the same as the method for creating the initial point cloud trajectory. By combining each first point cloud trajectory and each second point cloud trajectory, the updated point cloud trajectories are obtained.
[0063] It is understandable that the result of trajectory association processing includes either associating the point cloud with any initial point cloud trajectory, or not associating the point cloud with any initial point cloud trajectory.
[0064] In this embodiment, by processing the second point cloud that is not associated with the initial point cloud trajectory, a corresponding second point cloud trajectory is created. Then, based on the first point cloud associated with the initial point cloud trajectory, the initial point cloud trajectory is updated to obtain the first point cloud trajectory. This method ensures that no point cloud is missed, making the updated point cloud trajectory more comprehensive and accurate, thereby effectively improving the recognition accuracy of the target trajectory.
[0065] In another embodiment of the application, the point clouds in the next frame point cloud dataset of the initial point cloud dataset are associated with each initial point cloud trajectory, including: calculating the distance between each point cloud in the next frame point cloud dataset of the initial point cloud dataset and each initial point cloud trajectory to obtain the corresponding calculation result; if the calculation result meets the preset distance condition, then the point clouds that meet the preset distance condition are associated with the initial point cloud trajectory.
[0066] Distance calculation refers to calculating the distance between point clouds and their trajectories. Distance calculation methods include Euclidean distance calculation, Manhattan distance calculation, and Mahalanobis distance calculation. A preset distance condition is, for example, that the distance value is less than A meters.
[0067] Point clouds that meet the preset distance conditions can refer to point clouds in the next frame of the initial point cloud dataset. After calculating the distance to the initial point cloud trajectory, the electronic device selects point clouds whose calculation results meet the preset distance conditions. For example, point clouds that meet the preset distance conditions can specifically be point clouds in the next frame of the initial point cloud dataset whose distance to any initial point cloud trajectory is less than A meters.
[0068] Specifically, the electronic device calculates the distance between each point cloud in the next frame of the initial point cloud dataset and the trajectory of each initial point cloud, obtaining the corresponding calculation result. For example, the calculation result can be a calculated distance value. If the distance value meets a preset distance condition, then each point cloud that meets the preset distance condition is associated with the initial point cloud trajectory.
[0069] It should be understood that the trajectory correlation calculation between the point cloud trajectory corresponding to the current frame and the trajectory calculation between each point cloud in the next frame can be performed using the distance calculation method described above.
[0070] In this embodiment of the application, by calculating the correlation between the trajectory of the initial point cloud and the trajectory of the point cloud in the point cloud dataset of the next frame, it is possible to effectively filter out each point cloud that meets the preset distance condition and associate it with the initial point cloud trajectory, thereby obtaining a more accurate point cloud trajectory.
[0071] In another embodiment of the application, the creation of corresponding second point cloud trajectories based on each second point cloud includes: performing clustering processing on each second point cloud, removing second point clouds that do not meet the preset clustering conditions from the clustering results, and obtaining clustered second point clouds; and creating each second point cloud trajectory based on the clustered second point clouds.
[0072] Clustering refers to dividing a dataset into different clusters, aiming to maximize the similarity of data within the same cluster and the difference between clusters; the clusters are also known as cluster categories. Clustering is based on the similarity between data points. In this application, clustering is used to denoise the second point clouds. Clustering methods can include K-means clustering, DBSCAN density clustering, etc. Preset clustering conditions refer to conditions set in advance for the clustering results, which may include whether the second point clouds have cluster categories. The clustered second point clouds refer to the remaining second point clouds after clustering each second point cloud and removing those that do not meet the preset clustering conditions. The clustering results include the cluster category of the second point clouds or an identifier indicating whether they have no cluster category.
[0073] After the electronic device obtains second point clouds that are not associated with any of the initial point cloud trajectories, it further performs clustering processing on these second point clouds. Specifically, firstly, a preset number of second point clouds are selected as initial cluster centers, and the distances from the remaining second point clouds to each initial cluster center are calculated. Then, for each initial cluster center, second point clouds whose distance results meet preset conditions are assigned to the initial cluster center, resulting in a cluster, and the cluster center of the cluster is updated based on the individual second point clouds in the cluster. This process of calculating the distances between the remaining second point clouds and each cluster center is repeated until a preset number of iterations is reached, at which point clustering stops, and the clustering result for each second point cloud is obtained.
[0074] In this embodiment, second point clouds without cluster categories are removed from the clustering results. Deleting point clouds without cluster categories can eliminate clutter point clouds and improve the accuracy of second point cloud trajectories.
[0075] In another embodiment of the application, based on the clustered second point cloud, each second point cloud trajectory is created, including: classifying the clustered second point cloud, removing second point clouds that do not meet the preset classification conditions from the classification results, and obtaining each classified second point cloud; and creating each second point cloud trajectory based on each classified second point cloud.
[0076] In this context, classification refers to grouping points according to type, level, or property. In this application, classification processing is used to further denoise the clustered second point cloud. Classification processing methods include, but are not limited to, Bayesian methods, decision tree methods, and support vector machine methods. Preset classification conditions refer to custom conditions set for the classification results, which may include whether the second point cloud has a classification category. The classification result includes an identifier indicating whether the second point cloud has a classification category or not.
[0077] Specifically, the electronic device can classify the clustered second point clouds using a pre-trained classification model to obtain a classification result for each second point cloud. Then, second point clouds that do not meet the preset classification conditions are removed, resulting in classified second point clouds. Based on these classified second point clouds, trajectories are created, thus achieving the creation of second point cloud trajectories. By removing second point clouds that do not meet the preset classification conditions, the created second point cloud trajectories become more accurate.
[0078] For example, the classification model can refer to a Support Vector Machine (SVM), which can be trained on an initial model using a point cloud training set, with a loss function set. The point cloud training set includes individual sample point clouds, each carrying a standard classification label.
[0079] In each training process, the initial model processes each sample point cloud in the point cloud training set to obtain the predicted classification result for each sample point cloud. The predicted classification result of each point cloud and the standard classification label corresponding to the sample point cloud are substituted into the loss function to obtain the loss value. Then, the model parameters of the initial model are adjusted based on the loss value. Training stops when the loss value meets the preset loss condition or the preset number of training iterations is reached, and the trained initial model is used as the classification model.
[0080] In this embodiment of the application, since the dimensions of each point cloud may differ, preprocessing can be performed on each sample point cloud in the point cloud training set:
[0081] The number of sample point clouds to be extracted from the point cloud training set is K. These sample point clouds are then sorted in ascending order of their dimensionality. For example, if the number of sample point clouds in the training dataset is s, and s is greater than K, then the first K sample point clouds are extracted. If s is less than or equal to K, then the first Ks sample point clouds are extracted repeatedly until the total number of sample point clouds is K, thus obtaining the point cloud training set.
[0082] For example, such as Figure 3 As shown, the method for creating the second point cloud trajectory can be as follows:
[0083] S1. Read in each second point cloud n, and set the clustering radius a and density threshold b.
[0084] S2. Select data point p = p + 1.
[0085] S3. For each second point cloud n, determine the relationship between the second point cloud n and b within the region centered at p and with radius a.
[0086] S4. If n is greater than b, extract the second point cloud n after clustering and proceed to step 5. If n is not greater than b, remove the second point cloud n.
[0087] S5. Use SVM to determine whether the second point cloud n is the point cloud of the real target. If it is the point cloud of the real target, proceed to step S6. If it is not the point cloud of the real target, remove the second point cloud n.
[0088] S6. Create the second point cloud trajectory.
[0089] It should be noted that, optionally, the point cloud data for each point cloud includes x, y, z, vx, vy, vz, and snr, where x, y, and z represent the three-dimensional coordinates of each point cloud in the three-dimensional spatial coordinate system, vx, vy, and vz represent the velocities of the point cloud in each coordinate axis direction in the three-dimensional coordinate system, and snr represents the signal-to-noise ratio.
[0090] In this embodiment, by clustering the second point cloud and then classifying the clustered second point cloud, the second point cloud that does not meet the preset classification conditions can be removed. By making full use of the multipath target characteristics, multipath can be removed during the clustering process and during the tracking process, thereby effectively eliminating multipath target interference in target detection and thus effectively improving the accuracy of target detection.
[0091] Furthermore, the computational complexity of target clustering, target tracking, and SVM processing is relatively low, enabling real-time operation in embedded devices and effectively ensuring processing efficiency. It can also be processed through multi-threaded operation, which can effectively improve operating efficiency and achieve real-time target detection.
[0092] In another embodiment of the application, the method of creating a second point cloud trajectory based on each second point cloud can be the same as the method of creating a fourth point cloud trajectory based on each fourth point cloud.
[0093] In another embodiment of the application, a method for determining the trajectory of a target point cloud is provided, such as... Figure 4 As shown, this embodiment specifically includes the following steps:
[0094] S1001. The updated point cloud trajectory is associated with the point cloud dataset of the next adjacent frame.
[0095] S1002. Determine whether the point cloud trajectory is successfully associated with any point cloud. If yes, proceed to step 1003; otherwise, proceed to step S1008.
[0096] S1003. If a point cloud trajectory is successfully associated with any point cloud, then that point cloud is taken as the first point cloud that is successfully associated.
[0097] S1004. Process the first point cloud and the point cloud trajectory associated with the first point cloud using a group target tracking algorithm;
[0098] S1005. Determine whether the point cloud trajectory associated with the first point cloud is associated with the point cloud for a consecutive preset number of first frames. If yes, proceed to step S1006; otherwise, proceed to step S1007.
[0099] S1006. Use the point cloud trajectory as the target point cloud trajectory;
[0100] S1007, Delete point cloud trajectory;
[0101] S1008. The point cloud that is not associated with any point cloud trajectory is taken as the second point cloud that has failed to be associated. The point cloud that has failed to be associated is clustered to obtain the clustering result.
[0102] S1009. Determine whether there are point clouds in the clustering results that do not meet the preset clustering conditions. If yes, proceed to step S1010; otherwise, proceed to step S1011.
[0103] S1010, Delete point cloud;
[0104] S1011. Create a second point cloud trajectory using the second point cloud, and use the second point cloud trajectory as the updated point cloud trajectory. Then execute step S1001.
[0105] In this embodiment, a group target tracking algorithm is used to determine whether the point cloud trajectory is associated with any point cloud within a consecutive preset first preset number of frames. If not, it indicates that the point cloud trajectory was created by a multipath ghost target, and the point cloud trajectory is deleted to improve the accuracy of the target point cloud trajectory. For point clouds that fail to be associated with all point cloud trajectories, a portion of the point clouds can be removed through clustering. The remaining second point clouds can be used to create second point cloud trajectories, and then the trajectory association calculation between the second point cloud trajectory and the point cloud dataset of the next frame is performed. In this way, the comprehensiveness of the point cloud trajectory determination can be improved.
[0106] In another embodiment of the application, based on the updated point cloud trajectories, trajectory association processing is continuously performed on each point cloud in the adjacent next frame point cloud dataset, including: performing trajectory association processing on each point cloud in the adjacent next frame point cloud dataset with the updated point cloud trajectories to obtain a third point cloud associated with any updated point cloud trajectory and a fourth point cloud not associated with any updated point cloud trajectory; updating the updated point cloud trajectories associated with each third point cloud according to each third point cloud to obtain each third point cloud trajectory; creating corresponding fourth point cloud trajectories according to each fourth point cloud; and obtaining updated point cloud trajectories based on each third point cloud trajectory and each fourth point cloud trajectory, so as to realize trajectory association processing on each point cloud in the adjacent next frame point cloud dataset.
[0107] Here, the third point cloud refers to the point cloud associated with any updated point cloud trajectory in the current frame within the adjacent next frame point cloud dataset. The fourth point cloud refers to the point cloud not associated with any updated point cloud trajectory in the current frame within the adjacent next frame point cloud dataset. The third point cloud trajectory refers to the updated point cloud trajectory associated with the third point cloud, updated based on the third point cloud. The fourth point cloud trajectory refers to the new point cloud trajectory created based on the fourth point cloud. The subsequently updated point cloud trajectories refer to the set of the third and fourth point cloud trajectories.
[0108] In this embodiment, after the electronic device obtains the updated point cloud trajectories, it further performs trajectory association processing on each point cloud in the next frame's point cloud dataset adjacent to the current frame and on each updated point cloud trajectory. Based on the result of the trajectory association processing, a third point cloud associated with any updated point cloud trajectory is obtained. Then, by adding each third point cloud to the updated point cloud trajectory corresponding to the third point cloud, a third point cloud trajectory corresponding to each third point cloud is obtained.
[0109] Similarly, the electronic device can obtain a fourth point cloud that is not associated with any of the updated point cloud trajectories based on the results of trajectory association processing. Then, based on the motion trajectory of each fourth point cloud, the corresponding fourth point cloud trajectory is created.
[0110] The method for creating the fourth point cloud trajectory can be the same as the method for creating the initial point cloud trajectory. Based on the collection of each third and fourth point cloud trajectory, the updated point cloud trajectories are obtained to achieve trajectory association processing of each point cloud in the adjacent next frame point cloud dataset.
[0111] In this embodiment, the result of trajectory association processing includes either associating a point cloud with any updated point cloud trajectory or not associating a point cloud with any updated point cloud trajectory. This embodiment achieves trajectory association processing for each point cloud in the adjacent next frame point cloud dataset, without omitting any point cloud, effectively avoiding affecting the accuracy of the updated point cloud trajectory due to omitted point clouds.
[0112] In another embodiment of the application, until a target point cloud trajectory satisfying the target conditions is obtained from each point cloud trajectory, the true trajectory of each target in the target space is determined based on the target point cloud trajectory, including:
[0113] If there exists a point cloud trajectory in each point cloud trajectory that satisfies a preset distance condition with at least one point cloud for a consecutive first preset number of frames, and the true trajectory probability of the point cloud trajectory satisfies the trajectory probability condition for a consecutive second preset number of frames, then the point cloud trajectory is determined as the target point cloud trajectory, wherein the point cloud is located in any point cloud dataset for a consecutive first preset number of frames; the true trajectory of each target in the target space is determined based on the target point cloud trajectory.
[0114] The true trajectory probability refers to the probability that the point cloud trajectory is the true trajectory of the target. This probability can be calculated using a deep-learning neural network (DNN) on the point cloud trajectory. The point cloud trajectory is associated with the point cloud within a first preset number of consecutive frames. The first preset number of consecutive frames refers to a user-defined set of consecutive frames. The second preset number of consecutive frames also refers to a user-defined set of consecutive frames. The number of frames in the first and second preset number of consecutive frames can be the same or different; for example, both can be 3 frames. The trajectory probability condition refers to the custom condition that the true trajectory probability must satisfy. This condition can include the true trajectory probability of the point cloud trajectory being greater than a preset probability threshold, which can be 80%.
[0115] In this embodiment of the application, after the electronic device obtains the updated point cloud trajectories in each frame, it calculates the true trajectory probability of the point cloud trajectory and determines whether the updated point cloud trajectory satisfies the preset distance condition with at least one point cloud, and obtains the judgment result.
[0116] In each frame, the true trajectory probability of the point cloud trajectory is saved and the judgment result is determined. If the current frame reaches the maximum number of frames between the first preset number of frames and the second preset number of frames, it is determined whether each point cloud trajectory satisfies the preset distance condition with at least one point cloud for the first preset number of consecutive frames, and the true trajectory probability of the point cloud trajectory in the second preset number of consecutive frames is determined.
[0117] If, among all point cloud trajectories, there exists a point cloud trajectory that satisfies a preset distance condition with at least one point cloud for a consecutive first preset number of frames, and the true trajectory probability of this point cloud trajectory satisfies a trajectory probability condition for a consecutive second preset number of frames (i.e., the point cloud trajectory simultaneously satisfies both conditions), then this point cloud trajectory is determined as the target point cloud trajectory. Based on the target point cloud trajectory, the true trajectories of each target in the target space are determined. This step achieves the filtering of point cloud trajectories, eliminating point cloud trajectories that do not meet the preset distance condition or trajectory probability condition, making the obtained target point cloud trajectory more accurate.
[0118] In another embodiment of the application, a method for determining the trajectory of a target point cloud is provided, such as... Figure 5 As shown, the steps of this method include:
[0119] S11. Perform trajectory association processing on the updated point cloud trajectory and each point cloud in the point cloud dataset of the next adjacent frame.
[0120] Specifically, taking the estimated value of the point cloud trajectory as the center, the number of point clouds within a preset radius threshold is compared with the minimum threshold. That is, the relationship between the number of point clouds associated with the point cloud trajectory and the minimum threshold is determined.
[0121] S22. For each point cloud trajectory, determine the first preset number of consecutive frames and the point cloud trajectory. If they are, proceed to step S33; otherwise, proceed to step S66.
[0122] S33. Calculate the true trajectory probability by using DNN to analyze the point cloud trajectory;
[0123] If the number of point clouds in the first preset number of consecutive frames is greater than the minimum threshold, then the true trajectory probability is calculated by using a DNN to analyze the point cloud trajectory.
[0124] S44. If the probability of the true trajectory is greater than the preset probability threshold for the second consecutive preset number of frames, then proceed to S55; otherwise, proceed to step S66.
[0125] S55. Use the point cloud trajectory as the target point cloud trajectory;
[0126] S66. Delete point cloud trajectory.
[0127] If the number of points in the associated point cloud is greater than the minimum threshold, then delete the point cloud trajectory. Alternatively, if the probability of the true trajectory is less than or equal to the preset probability threshold for a consecutive second preset number of frames, then delete the point cloud trajectory.
[0128] In this embodiment, since multipath ghost targets are usually discontinuous, the correlation between the point cloud trajectory and the point cloud over a first preset number of consecutive frames is used to determine whether the target on the point cloud trajectory is a multipath ghost target. A multipath ghost target refers to a target that is incorrectly detected on multiple paths in an area where there is no moving target. If the probability of the true trajectory of the point cloud trajectory is less than a preset probability threshold over a second preset number of consecutive frames, the target on that point cloud trajectory can also be determined to be a multipath ghost target. This solution effectively eliminates multipath ghost targets, thereby greatly improving the accuracy of target detection.
[0129] In another embodiment of this application, if there exists a point cloud trajectory among the point cloud trajectories that satisfies a preset distance condition with at least one point cloud for a consecutive first preset number of frames, and the true trajectory probability of the point cloud trajectory satisfies the trajectory probability condition for a consecutive second preset number of frames, then the point cloud trajectory is determined as the target point cloud trajectory, including:
[0130] For each point cloud trajectory, within a preset target number of frames, trajectory association processing is performed on the point cloud trajectory and the point clouds in each point cloud dataset of the preset target number of frames. Given the results of each trajectory association processing, it is determined whether the point cloud trajectory satisfies a preset distance condition with at least one point cloud within a consecutive first preset number of frames. If the point cloud trajectory satisfies the preset distance condition with at least one point cloud, it is determined whether the true trajectory probability of the point cloud trajectory within a consecutive second preset number of frames satisfies the trajectory probability condition. If the true trajectory probability of the point cloud trajectory within a consecutive second preset number of frames satisfies the trajectory probability condition, the point cloud trajectory is determined to be the target point cloud trajectory. The preset target number of frames is greater than both the first and second preset number of frames.
[0131] The trajectory association processing result can include either a point cloud being associated with a point cloud trajectory, or a point cloud not being associated with a point cloud trajectory. An example is provided for the preset target frame number, the first preset frame number, and the second preset frame number: for example, the preset target frame number includes 5 frames, the first preset frame number includes 4 frames, and the second preset frame number includes 3 frames. The preset distance condition refers to a custom condition for the distance between the point cloud trajectory and the point cloud, such as the preset distance condition being that the distance between the point cloud trajectory and the point cloud is less than X meters. X can be a custom value. Trajectory association processing can refer to calculating the distance between the point cloud trajectory and the point cloud; if the distance meets the preset distance condition, the point cloud trajectory is associated with the point cloud. The preset distance condition can be that the distance between the point cloud trajectory and the point cloud is less than a preset distance threshold, etc. The trajectory association processing result includes either a point cloud and a point cloud trajectory distance meeting the preset distance condition, or a point cloud and a point cloud trajectory distance not meeting the preset distance condition.
[0132] In this embodiment of the application, the electronic device calculates the distance between each point cloud trajectory and the point clouds of each point cloud dataset within a preset target number of frames for each point cloud trajectory. The distance results between each point cloud trajectory and each point cloud in each point cloud dataset are compared with a preset distance threshold to obtain the trajectory association processing results. It is then determined whether the point cloud trajectory satisfies the preset distance condition with at least one point cloud within a consecutive first preset number of frames in the trajectory association processing results.
[0133] If a point cloud trajectory does not meet a preset distance condition with at least one point cloud for a consecutive first preset number of frames, the point cloud trajectory is discarded. If a point cloud trajectory meets the preset distance condition with at least one point cloud for a consecutive first preset number of frames, the next judgment is made: whether the true trajectory probability of the point cloud trajectory meets the trajectory probability condition for a consecutive second preset number of frames. If the true trajectory probability of the point cloud trajectory does not meet the trajectory probability condition for a consecutive second preset number of frames, the target of the point cloud trajectory is confirmed as a multipath ghost target, and the point cloud trajectory is discarded. If the true trajectory probability of the point cloud trajectory meets the trajectory probability condition for a consecutive second preset number of frames, the point cloud trajectory is determined as the target point cloud trajectory. Through the solution of this application embodiment, the determination of the target point cloud trajectory is realized, and the accuracy of the target point cloud trajectory determination is improved.
[0134] In another embodiment of this application, the target detection methods described in the above embodiments can be specifically applied to the detection of indoor people, that is, the target space is an indoor space, and the target within the target space can be indoor people. Technical terms that are the same as or similar to those in the foregoing embodiments will not be repeated.
[0135] like Figure 6 As shown, the target detection method in this application includes the following steps:
[0136] S11. The radar is powered on, and the point cloud dataset of each target in each frame is acquired through the radar.
[0137] Here, "radar" can refer to various devices with specific radar detection functions, such as millimeter-wave radar. Specifically, after acquiring each frame of point cloud data, the radar performs subsequent processing steps in real time.
[0138] S12. If the current frame is the first frame, an initial point cloud trajectory is created based on the point cloud dataset of the current frame, and trajectory association processing is performed between the initial point cloud trajectory and each point cloud in the point cloud dataset of the next frame; if the current frame is any other than the first frame, trajectory association processing is performed between each point cloud trajectory of the current frame and each point cloud in the point cloud dataset of the next frame.
[0139] Specifically, the methods for creating the initial point cloud trajectory and the trajectory association processing for the point cloud dataset of the first frame have been explained in detail in the above embodiments, and will not be repeated here.
[0140] S13. If the current frame is the first frame and the point cloud dataset of the next frame contains a second point cloud that is not associated with any of the initial point cloud trajectories, create a second point cloud trajectory based on the second point cloud; if there is a first point cloud associated with any initial point cloud trajectory, update the initial point cloud trajectory associated with the first point cloud based on the first point cloud to obtain the updated first point cloud trajectories; obtain the updated point cloud trajectories based on each first point cloud trajectory and each second point cloud trajectory.
[0141] Specifically, the method of creating the second point cloud trajectory based on the second point cloud can be the same as the method of creating the fourth point cloud trajectory based on the fourth point cloud in step S14 below. Here, we take the creation of the second point cloud trajectory based on the second point cloud as an example. First, the electronic device clusters each second point cloud to obtain each second point cloud that meets the preset clustering conditions. The second point clouds obtained after clustering are then classified to obtain each second point cloud that meets the preset classification conditions. Based on each second point cloud obtained after classification, the second point cloud trajectory is created. Through this method of clustering and reclassifying, noisy point clouds are removed, making the created second point cloud trajectory closer to the trajectory of the real target.
[0142] S14. If the current frame is any frame other than the first frame, and the point cloud dataset of the next adjacent frame contains a fourth point cloud that is not associated with any of the updated point cloud trajectories, then create a fourth point cloud trajectory based on the fourth point cloud. If the point cloud dataset of the next adjacent frame contains a third point cloud that is associated with any updated point cloud trajectory, then update the updated point cloud trajectory associated with the third point cloud based on the third point cloud to obtain each third point cloud trajectory. Based on each third point cloud trajectory and each fourth point cloud trajectory, obtain each updated point cloud trajectory.
[0143] S15. For each point cloud trajectory, within a preset target number of frames, perform trajectory association processing on the point cloud trajectory and the point clouds in each point cloud dataset of the preset target number of frames. Given the results of each trajectory association processing, determine whether the point cloud trajectory in each trajectory association processing result satisfies a preset distance condition with at least one point cloud within a consecutive first preset number of frames. If the point cloud trajectory satisfies the preset distance condition with at least one point cloud, then determine whether the true trajectory probability of the point cloud trajectory within a consecutive second preset number of frames satisfies the trajectory probability condition. If the true trajectory probability of the point cloud trajectory within a consecutive second preset number of frames satisfies the trajectory probability condition, then determine the point cloud trajectory as the target point cloud trajectory. It should be noted that the preset target number of frames is greater than the first preset number of frames and also greater than the second preset number of frames.
[0144] Specifically, after continuously associating the point cloud trajectory with the trajectories of each point cloud in the point cloud dataset for a preset target number of frames, the electronic device determines, within the preset target number of frames, whether there exists a point cloud trajectory for a consecutive first preset number of frames that satisfies a preset distance condition with at least one point cloud. If so, it determines whether the true trajectory probability of that point cloud trajectory satisfies the trajectory probability condition for a consecutive second preset number of frames. If so, the point cloud trajectory is determined to be the target point cloud trajectory. It should be noted that the calculation method for the true trajectory probability has been explained in the aforementioned embodiments and will not be repeated here.
[0145] The technical solution of this application embodiment realizes the trajectory association processing between the point cloud trajectory and the point cloud in the next frame point cloud dataset to obtain the updated point cloud trajectory, thereby improving the accuracy of the point cloud trajectory. Furthermore, the target point cloud trajectory that meets the target conditions is obtained from each point cloud trajectory, thereby obtaining the true trajectory of each target in the target space, which improves the accuracy of the true trajectory.
[0146] It should be understood that, although Figure 2-6 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 2-6 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0147] In another embodiment of this application, a target detection device is provided. The target detection device provided in this embodiment can execute the target detection method provided in any embodiment of this application, and has the corresponding functional modules and beneficial effects for executing the method. For example... Figure 7 As shown, the device includes: an initial point cloud trajectory creation module 410, a point cloud trajectory generation module 420, and a real trajectory determination module 430; wherein:
[0148] The initial point cloud trajectory creation module 410 is used to create initial point cloud trajectories for each target based on the initial point cloud dataset in the target space.
[0149] The point cloud trajectory generation module 420 is used to perform trajectory association processing between each point cloud in the next frame point cloud dataset of the initial point cloud dataset and each initial point cloud trajectory to generate updated point cloud trajectories.
[0150] The real trajectory determination module 430 is used to continuously perform trajectory association processing on each point cloud in the adjacent next frame point cloud dataset based on the updated point cloud trajectories, until the target point cloud trajectory that meets the target conditions is obtained from each point cloud trajectory, and then the real trajectory of each target in the target space is determined based on the target point cloud trajectory.
[0151] Furthermore, in this embodiment, the point cloud trajectory generation module 420 is further configured to: perform trajectory association processing on each point cloud in the next frame point cloud dataset of the initial point cloud dataset with each initial point cloud trajectory to obtain a first point cloud associated with any initial point cloud trajectory and a second point cloud not associated with any initial point cloud trajectory; update the initial point cloud trajectory corresponding to each first point cloud according to each first point cloud to obtain corresponding first point cloud trajectories; create corresponding second point cloud trajectories according to each second point cloud; and obtain updated point cloud trajectories based on each first point cloud trajectory and each second point cloud trajectory.
[0152] Furthermore, in this embodiment of the application, the point cloud trajectory generation module 420 is also used to: calculate the distance between each point cloud in the next frame point cloud dataset of the initial point cloud dataset and each initial point cloud trajectory to obtain the corresponding calculation result; if the calculation result meets the preset distance condition, then associate each point cloud that meets the preset distance condition with the initial point cloud trajectory.
[0153] Furthermore, in this embodiment of the application, the point cloud trajectory generation module 420 is also used to: perform clustering processing on each second point cloud, remove the second point clouds that do not meet the preset clustering conditions in the clustering results, and obtain the clustered second point clouds; and create the trajectory of each second point cloud based on the clustered second point clouds.
[0154] Furthermore, in this embodiment of the application, the point cloud trajectory generation module 420 is also used to: classify the clustered second point clouds, remove the second point clouds that do not meet the preset classification conditions in the classification results, and obtain each classified second point cloud; and create each second point cloud trajectory based on each classified second point cloud.
[0155] Furthermore, in this embodiment, the real trajectory determination module 430 is also used to: perform trajectory association processing on each point cloud in the adjacent next frame point cloud dataset and the updated point cloud trajectory respectively, to obtain a third point cloud associated with any updated point cloud trajectory and a fourth point cloud not associated with any updated point cloud trajectory; update the updated point cloud trajectory associated with each third point cloud according to each third point cloud to obtain each third point cloud trajectory; create corresponding fourth point cloud trajectories according to each fourth point cloud; and obtain updated point cloud trajectories based on each third point cloud trajectory and each fourth point cloud trajectory, so as to realize trajectory association processing on each point cloud in the adjacent next frame point cloud dataset.
[0156] Furthermore, in this embodiment, the real trajectory determination module 430 is also used to: if there is a point cloud trajectory in each point cloud trajectory that satisfies a preset distance condition with at least one point cloud for a consecutive first preset number of frames, and the real trajectory probability of the point cloud trajectory satisfies the trajectory probability condition for a consecutive second preset number of frames, then the point cloud trajectory is determined as the target point cloud trajectory; and the real trajectory of each target in the target space is determined according to the target point cloud trajectory.
[0157] Furthermore, in this embodiment, the true trajectory determination module 430 is also used to: for each point cloud trajectory, perform trajectory association processing on the point cloud trajectory and the point cloud within a preset target number of frames, and determine whether the point cloud trajectory satisfies a preset distance condition with at least one point cloud within a consecutive first preset number of frames in each trajectory association processing result; if the point cloud trajectory satisfies the preset distance condition with at least one point cloud, then determine whether the true trajectory probability of the point cloud trajectory within a consecutive second preset number of frames satisfies the trajectory probability condition; if the true trajectory probability of the point cloud trajectory within a consecutive second preset number of frames satisfies the trajectory probability condition, then determine the point cloud trajectory as the target point cloud trajectory; wherein, the preset target number of frames is greater than the first preset number of frames and greater than the second preset number of frames.
[0158] The target detection device in this embodiment can create initial point cloud trajectories based on an initial candidate point cloud dataset in the target space. It then performs trajectory association processing on each point cloud in the next frame of the initial point cloud dataset with each initial point cloud trajectory to generate updated point cloud trajectories. Based on these updated point cloud trajectories, it continuously performs trajectory association processing on each point cloud in adjacent next frame point cloud datasets until a target point cloud trajectory satisfying the target conditions is obtained from each point cloud trajectory. Finally, it determines the true trajectory of each target in the target space based on the target point cloud trajectory. The technical solution in this embodiment improves the accuracy of point cloud trajectories by performing trajectory association processing between point cloud trajectories and point clouds in the next frame point cloud dataset, and further improves the accuracy of the true trajectories by obtaining target point cloud trajectories satisfying the target conditions from each point cloud trajectory.
[0159] It is worth noting that the modules included in the above-mentioned device are divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional module are only for easy differentiation and are not used to limit the protection scope of the embodiments of this application.
[0160] In another embodiment of the application, an electronic device is also provided. Figure 8 A block diagram is shown of an exemplary electronic device 50 suitable for implementing embodiments of the present application. Figure 8 The electronic device 50 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0161] like Figure 8 As shown, the electronic device 50 is represented in the form of a general-purpose computing device. The components of the electronic device 50 may include, but are not limited to: one or more processors or processing units 501, system memory 502, and bus 503 connecting different system components (including system memory 502 and processing unit 501).
[0162] Bus 503 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. For example, these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.
[0163] Electronic device 50 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by electronic device 50, including volatile and non-volatile media, removable and non-removable media.
[0164] System memory 502 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 504 and / or cache memory 505. Electronic device 50 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 506 may be used to read and write non-removable, non-volatile magnetic media (… Figure 8 Not shown; usually referred to as a "hard drive"). Although Figure 8 As not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 503 via one or more data media interfaces. Memory 502 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of this application.
[0165] A program / utility 508 having a set (at least one) of program modules 507 may be stored, for example, in memory 502. Such program modules 507 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 507 typically perform the functions and / or methods described in the embodiments of this application.
[0166] Electronic device 50 can also communicate with one or more external devices 509 (e.g., keyboard, pointing device, display 510, etc.), and with one or more devices that enable a user to interact with electronic device 50, and / or with any device that enables electronic device 50 to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed via input / output (I / O) interface 511. Furthermore, electronic device 50 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 512. As shown, network adapter 512 communicates with other modules of electronic device 50 via bus 503. It should be understood that, although... Figure 8As not shown, other hardware and / or software modules may be used in conjunction with electronic device 50, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0167] The processing unit 501 executes various functional applications and data processing by running programs stored in the system memory 502, such as implementing the target detection method provided in the embodiments of this application.
[0168] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0169] In one embodiment, a computer-readable storage medium is provided storing a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0170] In another embodiment of this application, a storage medium containing computer-executable instructions is also provided, which, when executed by a computer processor, implement the steps in the above-described method embodiments.
[0171] In one embodiment, a computer program product or computer program is provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and executes the computer instructions, causing the computer device to perform the steps in the above method embodiments.
[0172] The computer storage medium in this application embodiment can be any combination of one or more computer-readable media. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0173] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.
[0174] The program code contained on a computer-readable medium may be transmitted using any suitable medium, including—but not limited to—wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0175] Computer program code for performing the operations of the embodiments of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0176] Note that the above are merely preferred embodiments and the technical principles employed in this application. Those skilled in the art will understand that this application is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of this application. Therefore, although this application has been described in detail through the above embodiments, this application is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of this application, the scope of which is determined by the scope of the appended claims.
[0177] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.
Claims
1. A target detection method, characterized in that, include: Based on the initial point cloud dataset in the target space, create initial point cloud trajectories for each target; The point clouds in the next frame of the initial point cloud dataset are associated with the initial point cloud trajectories to generate updated point cloud trajectories. The trajectory association processing refers to determining the association between the point cloud of the next frame and the point cloud trajectory of the current frame when the distance between the point cloud of the next frame and the point cloud trajectory of the current frame meets a preset distance condition. Based on the updated point cloud trajectories, trajectory association processing is continuously performed on each point cloud in the adjacent next frame point cloud dataset until a target point cloud trajectory that meets the target conditions is obtained from each point cloud trajectory. Then, the true trajectory of each target in the target space is determined according to the target point cloud trajectory. The target conditions include that the point cloud trajectory is associated with the point cloud within a consecutive preset number of frames, and the true trajectory probability of the point cloud trajectory meets the preset probability condition.
2. The target detection method according to claim 1, characterized in that, The step of associating each point cloud in the next frame of the initial point cloud dataset with each initial point cloud trajectory to generate updated point cloud trajectories includes: Each point cloud in the next frame point cloud dataset of the initial point cloud dataset is associated with each initial point cloud trajectory to obtain a first point cloud associated with any initial point cloud trajectory and a second point cloud not associated with any initial point cloud trajectory. Based on each of the first point clouds, update the initial point cloud trajectory corresponding to the first point cloud to obtain the corresponding first point cloud trajectory. Based on each of the second point clouds, create corresponding second point cloud trajectories; Based on the cloud trajectories of the first point and the cloud trajectories of the second point, the updated cloud trajectories of each point are obtained.
3. The target detection method according to claim 2, characterized in that, The step of associating each point cloud in the next frame of the initial point cloud dataset with the trajectory of each initial point cloud includes: For each point cloud in the next frame point cloud dataset of the initial point cloud dataset, the distance is calculated with each trajectory of the initial point cloud to obtain the corresponding calculation result; If the calculation result satisfies the preset distance condition, then each point cloud that satisfies the preset distance condition will be associated with the initial point cloud trajectory.
4. The target detection method according to claim 2, characterized in that, The step of creating corresponding second point cloud trajectories based on each second point cloud includes: Clustering is performed on each of the second point clouds, and the second point clouds that do not meet the preset clustering conditions are removed from the clustering results to obtain the clustered second point clouds; Based on the clustered second point cloud, create trajectories for each second point cloud.
5. The target detection method according to claim 4, characterized in that, The creation of trajectories for each second point cloud based on the clustered second point cloud includes: The clustered second point cloud is classified, and the second point cloud that does not meet the preset classification conditions is removed to obtain each classified second point cloud. Based on the classified second point clouds, create the trajectory of each second point cloud.
6. The target detection method according to claim 1, characterized in that, The step of continuously performing trajectory association processing on each point cloud in the adjacent next frame point cloud dataset based on the updated point cloud trajectories includes: Each point cloud in the adjacent next frame point cloud dataset is associated with each of the updated point cloud trajectories to obtain a third point cloud associated with any updated point cloud trajectory and a fourth point cloud not associated with any updated point cloud trajectory. Based on each of the third point clouds, the updated point cloud trajectory associated with the third point cloud is updated to obtain each third point cloud trajectory. Based on each of the aforementioned fourth point clouds, create corresponding fourth point cloud trajectories; Based on the third and fourth point cloud trajectories, updated point cloud trajectories are obtained to perform trajectory association processing on the point clouds in the adjacent next frame point cloud dataset.
7. The target detection method according to claim 1, characterized in that, Until the target point cloud trajectory that meets the target conditions is obtained from each point cloud trajectory, the true trajectory of each target in the target space is determined based on the target point cloud trajectory, including: If there exists a point cloud trajectory in each point cloud trajectory that satisfies a preset distance condition with at least one point cloud for a consecutive first preset number of frames, and the true trajectory probability of the point cloud trajectory satisfies the trajectory probability condition for a consecutive second preset number of frames, then the point cloud trajectory is determined as the target point cloud trajectory, wherein the point cloud is located in any point cloud dataset for a consecutive first preset number of frames. The true trajectory of each target in the target space is determined based on the target point cloud trajectory.
8. The target detection method according to claim 7, characterized in that, If, among the point cloud trajectories, there exists a point cloud trajectory that satisfies a preset distance condition with at least one point cloud for a consecutive first preset number of frames, and the true trajectory probability of the point cloud trajectory satisfies the trajectory probability condition for a consecutive second preset number of frames, then the point cloud trajectory is determined as the target point cloud trajectory, including: For each point cloud trajectory, within a preset target number of frames, trajectory association processing is performed on the point cloud trajectory and the point clouds in each point cloud dataset of the preset target number of frames. When obtaining the trajectory association processing results, it is determined whether the point cloud trajectory satisfies a preset distance condition with at least one point cloud within a consecutive first preset number of frames. If the point cloud trajectory satisfies a preset distance condition with at least one point cloud, then determine whether the true trajectory probability of the point cloud trajectory in a consecutive second preset number of frames satisfies the trajectory probability condition. If the true trajectory probability of the point cloud trajectory satisfies the trajectory probability condition for a consecutive second preset number of frames, then the point cloud trajectory is determined to be the target point cloud trajectory. Wherein, the preset target number of frames is greater than the first preset number of frames and greater than the second preset number of frames.
9. A target detection device, characterized in that, include: The initial point cloud trajectory creation module is used to create initial point cloud trajectories for each target based on the initial point cloud dataset in the target space. The point cloud trajectory generation module is used to perform trajectory association processing between each point cloud in the next frame point cloud dataset of the initial point cloud dataset and each initial point cloud trajectory to generate updated point cloud trajectories. The trajectory association processing refers to determining the association between the point cloud of the next frame and the point cloud trajectory of the current frame when the distance between the point cloud of the next frame and the point cloud trajectory of the current frame meets a preset distance condition. The real trajectory determination module is used to continuously perform trajectory association processing on each point cloud in the adjacent next frame point cloud dataset based on the updated point cloud trajectories, until the target point cloud trajectory that meets the target conditions is obtained from each point cloud trajectory, and then the real trajectory of each target in the target space is determined according to the target point cloud trajectory. The target conditions include: the point cloud trajectory is associated with the point cloud within a consecutive preset number of frames, and the true trajectory probability of the point cloud trajectory satisfies the preset probability condition.
10. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the target detection method according to any one of claims 1-8.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the target detection method according to any one of claims 1-8.