A method and system for target real-time tracking of 3D point clouds
By combining Kalman filtering state prediction and Euclidean distance matching with trajectory library management, the robustness and accuracy issues of target tracking in autonomous driving are solved, achieving real-time target tracking with low latency and high efficiency, applicable to 3D point cloud environments.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- YAOYAO
- Filing Date
- 2023-04-13
- Publication Date
- 2026-07-21
Smart Images

Figure CN116452639B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of radar technology, and more specifically to a method and system for real-time target tracking of 3D point clouds. Background Technology
[0002] To achieve Level 4 autonomous driving, higher demands are placed on the accuracy, inference time, and frame rate of the perception system. Improving accuracy requires considering object size, positioning precision, whether objects are lost or added due to noise or other malfunctions, and whether the object's ID remains unchanged over time. A lack of accuracy will lead to serious safety risks, potentially even fatal collisions. Regarding inference time and frame rate, the sensor system, computing platform, and perception algorithm must be able to output the current state of the local environment surrounding the vehicle. To avoid frame skipping, a sufficient frequency (frame rate) is required, along with a real-time state delay (inference time). For example, for a target frame rate (e.g., 10Hz), the perception algorithm's inference time must be lower than the inference time caused by the frame rate (100ms in this case).
[0003] There are two main directions in existing target tracking technologies: detection-by-detection tracking and joint tracking.
[0004] Detection-based tracking represents a sequential design that completely separates object detection and object tracking. The tracking module relies on the latest output of the detection module, attempting to correlate bounding boxes from different frames belonging to the same real-world object. However, in the case of autonomous driving, the vehicle moves while the object moves, and the superposition of the object's trajectory with the vehicle's trajectory means that the trajectory observed in the LiDAR space cannot be modeled by a constant velocity (CV) motion model, resulting in low robustness.
[0005] Joint tracking methods represent a parallel design, meaning that detection and tracking are performed simultaneously. Based on spatiotemporal output, these algorithms allow the solver to be applied directly in the post-processing stage. While joint tracking methods can correctly associate objects across frames and handle noisy inputs (false positives) and temporal occlusion or detection failures (false negatives), they still face the challenge of bridging time intervals. Therefore, joint tracking methods based on Intersection over Union (IOU) matching algorithms struggle to match fast-moving objects, leading to tracking failures.
[0006] Therefore, a method is needed that can quickly and accurately track targets in real time under various conditions. Summary of the Invention
[0007] In view of this, the present disclosure provides a method and system for real-time target tracking of 3D point clouds, which at least partially solves the problems existing in the prior art.
[0008] In a first aspect, embodiments of this disclosure provide a method for real-time target tracking in 3D point clouds, including:
[0009] Based on a preset motion model, the Kalman filter state of each of the multiple trajectories in the trajectory library is predicted to the timestamp of the input detection box, and the corresponding prediction box of each of the multiple trajectories is output.
[0010] Based on a preset matching standard, the detection boxes and the predicted boxes are matched, and a matching result is output. The matching result includes at least one of the following: matched detection boxes and matched predicted boxes, unmatched detection boxes and unmatched predicted boxes, and no matching result.
[0011] When the matching result is the matched detection box and the matched prediction box, the Kalman filter state of the trajectory of the matched prediction box and the score of the trajectory are updated through the matched detection box;
[0012] When the matching result is an unmatched detection box and an unmatched prediction box, a new trajectory is generated based on the unmatched detection box, and the score of the trajectory is updated based on the unmatched prediction box.
[0013] According to a specific implementation of an embodiment of this disclosure, the method further includes:
[0014] The score of the trajectory is determined based on a preset trajectory score threshold, wherein...
[0015] The trajectory is confirmed when the score of the trajectory is greater than the preset trajectory score threshold.
[0016] According to a specific implementation of an embodiment of this disclosure, the method further includes:
[0017] The radar coordinate system of the input detection box is converted into the vehicle coordinate system, and the vehicle coordinate system is then converted into the map coordinate system.
[0018] According to a specific implementation of this disclosure, converting the radar coordinate system of the input detection frame to the vehicle coordinate system includes performing the conversion through calibration parameters.
[0019] According to one specific implementation of this disclosure, matching the detection box and the prediction box includes matching by calculating the Euclidean distance.
[0020] Secondly, embodiments of this disclosure provide a real-time target tracking system for 3D point clouds, the system comprising:
[0021] The prediction module is configured for use
[0022] Based on a preset motion model, the Kalman filter state of each of the multiple trajectories in the trajectory library is predicted to the timestamp of the input detection box, and the corresponding prediction box of each of the multiple trajectories is output.
[0023] The matching module is configured for use
[0024] The detection box and the prediction box are matched, and the matching result is output. The matching result includes at least one of the following: a matched detection box and a matched prediction box, an unmatched detection box and an unmatched prediction box, and no matching result.
[0025] The update module is configured for use
[0026] When the output matching result is the matched detection box and the matched prediction box, the Kalman filter state of the trajectory of the matched prediction box and the score of the trajectory are updated through the matched detection box;
[0027] The trajectory management module is configured for use
[0028] When the output matching result is an unmatched detection box and an unmatched prediction box, a new trajectory is generated based on the unmatched detection box, and the score of the trajectory is updated based on the unmatched prediction box.
[0029] According to a specific implementation of this disclosure, the system further includes a preprocessing module for converting the radar coordinate system of the detection frame into a vehicle coordinate system, and converting the vehicle coordinate system into a map coordinate system.
[0030] Thirdly, embodiments of this disclosure also provide an electronic device, the electronic device comprising:
[0031] At least one processor; and,
[0032] The memory is communicatively connected to the at least one processor; wherein,
[0033] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the real-time target tracking method for 3D point clouds in the first aspect or any implementation thereof.
[0034] Fourthly, embodiments of this disclosure also provide a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the real-time target tracking method for 3D point clouds in the first aspect or any implementation thereof.
[0035] Fifthly, embodiments of this disclosure also provide a computer program product, the computer program product including a computing program stored on a non-transitory computer-readable storage medium, the computer program including program instructions that, when executed by a computer, cause the computer to perform the target real-time tracking method for 3D point clouds in the first aspect or any implementation thereof.
[0036] The real-time target tracking method for 3D point clouds proposed in this invention can achieve real-time tracking with inference time below the maximum limit by using adaptive ordinary Kalman filtering, constant velocity motion model, tracking in map coordinate system and Euclidean distance matching. For perception schemes that include LiDAR 3D point cloud deep learning model, the inference time of this invention embodiment is in the millisecond range. Attached Figure Description
[0037] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0038] Figure 1 This is a schematic diagram illustrating the steps of a real-time target tracking method for 3D point clouds provided in an embodiment of the present disclosure.
[0039] Figure 2 This is a schematic flowchart of a real-time target tracking method for 3D point clouds provided in an embodiment of the present disclosure;
[0040] Figure 3 A schematic diagram of a real-time target tracking system for 3D point clouds provided in this disclosure embodiment; and
[0041] Figure 4 A schematic diagram of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0042] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.
[0043] The following specific examples illustrate the implementation of this disclosure. Those skilled in the art can easily understand other advantages and effects of this disclosure from the content disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. This disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this disclosure. It should be noted that, in the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0044] It should be noted that various aspects of embodiments within the scope of the appended claims are described below. It will be apparent that the aspects described herein can be embodied in a wide variety of forms, and any particular structure and / or function described herein is merely illustrative. Based on this disclosure, those skilled in the art will understand that one aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects set forth herein can be used to implement the device and / or practice the method. Additionally, this device and / or method can be implemented using structures and / or functionalities other than one or more of the aspects set forth herein.
[0045] It should also be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of this disclosure. The drawings only show the components related to this disclosure and are not drawn according to the number, shape and size of the components in actual implementation. In actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.
[0046] Furthermore, specific details are provided in the following description to facilitate a thorough understanding of the examples. However, those skilled in the art will understand that the described aspects can be practiced without these specific details.
[0047] The industry-standard solution for image bounding box detection is called the SORT algorithm, and its implementation details are as follows: It uses a common Kalman filter (KF) with a constant velocity motion model to calculate the overlap matrix to model the multi-target matching problem and solves it using the Hungarian algorithm, generating and deleting trajectories based on counting logic.
[0048] Humans possess a remarkable capacity for "object permanence," the memory of previously seen but temporarily unsensible objects and the prediction of their most likely location. This invention draws inspiration from this biological solution and bridges these gaps through motion prediction or descriptive appearance cues for re-identification after occlusion has ended.
[0049] Specifically, this invention, based on detection-by-detection, extends the single-target tracking process of traditional Kalman filtering technology through a multi-target tracking algorithm, such as... Figure 1 As shown, the algorithm process includes five steps: (0) preprocessing; (1) trajectory prediction; (2) detection box and prediction box matching; (3) trajectory update; (4) trajectory management. Steps (1) and (3) are Kalman filtering operations, and steps (2) and (4) are extensions of the multi-target tracking algorithm.
[0050] In this embodiment of the invention, considering that the inference time required by the ordinary Kalman filter (KF) is shorter than that of the extended Kalman filter (EKF) and the unscented Kalman filter (UKF), and that calculating the Euclidean distance is not only faster than calculating the intersection over union (IOU) in terms of matching, but also avoids the problem of two close bounding boxes not being able to match due to non-overlap, this invention preferably uses the matching criteria of ordinary Kalman filter (KF) and Euclidean distance. However, this does not constitute a limitation of the invention. The choice between KF, EKF, or UKF depends on the type of motion model (e.g., linear or nonlinear) and the raw data (the raw data of some sensors may also be linear or nonlinear). When the motion model and / or the raw data are nonlinear, EKF or UKF may be preferred.
[0051] Typically, a standard Kalman filter has 11 states. Among them, state The 11-dimensional state belongs to the associated bounding box, where x, y, and z are the center point positions of the bounding box, and θ is the angle of rotation of the bounding box around the z-axis. Let l, w, and h be the relevant first-order time derivatives, and l, w, and h be the dimensions of the trajectory frame (length, width, and height).
[0052] Furthermore, although the embodiments of the present invention are described using an 11-dimensional Kalman filter state, they are also applicable to various Kalman filter states such as 10-dimensional, 9-dimensional, 8-dimensional, 7-dimensional, 6-dimensional, 5-dimensional, and 4-dimensional (see Table 1).
[0053] Table 1
[0054]
[0055] Furthermore, since the speed and direction of traffic participants do not change significantly most of the time in practical applications, and the constant velocity (CV) motion model can model objects moving straight without accelerating or braking, it is the most suitable motion model in this situation. Even when the object turns or changes speed, the problem of decreased adaptability of the constant velocity (CV) motion model can be solved by using adaptive Kalman filtering. Therefore, the conventional Kalman filtering method of this invention can achieve fast and accurate real-time target tracking for 3D point clouds.
[0056] Figure 2 A flowchart of a real-time target tracking method 200 for 3D point clouds provided in an embodiment of this disclosure. Figure 2 Yes Figure 1 Further detailed explanation of the process shown.
[0057] like Figure 2 As shown, in step S210, based on a preset motion model, the Kalman filter state of each of the multiple trajectories in the trajectory library is predicted to the timestamp of the input detection box, and the corresponding prediction box of each of the multiple trajectories is output.
[0058] For example, preferably, based on a preset constant velocity (CV) motion model, the Kalman filter state of each trajectory in the trajectory library is predicted to the timestamp of the detection box, and the prediction box corresponding to each trajectory in the trajectory library is output.
[0059] In this embodiment of the invention, the radar coordinate system of the input detection box is converted into the vehicle coordinate system, and the vehicle coordinate system is converted into the map coordinate system.
[0060] By converting the radar coordinate system to the map coordinate system, the actual trajectory of the object can be observed, thereby solving the problem of the influence of the vehicle's movement trajectory on the trajectory detection of the object to be detected.
[0061] Furthermore, in this embodiment of the invention, converting the radar coordinate system of the detection box to the vehicle coordinate system includes conversion via calibration parameters. More specifically, a coordinate transformation is first performed using radar calibration parameters, such as radar extrinsic parameters, to convert the detection box from the radar coordinate system to the vehicle coordinate system, and then converting the vehicle coordinate system to the map coordinate system (world coordinate system).
[0062] For example, in an embodiment of the present invention, the conversion of the vehicle coordinate system to the map coordinate system can be achieved by the vehicle's positioning module providing the vehicle's posture in each frame, but this does not constitute a limitation of the present invention.
[0063] In this embodiment of the invention, the trajectory library contains multiple trajectory instances, wherein each trajectory instance contains a Kalman filter instance and other associated parameters, such as ID, trajectory score, category, etc., but this does not constitute a limitation of the invention.
[0064] Furthermore, in this embodiment of the invention, the radar used is a lidar, but this does not constitute a limitation of the invention.
[0065] Next, proceed to step S220.
[0066] In step S220, the detection box and the prediction box are matched based on a preset matching standard, and the matching result is output. The matching result includes at least one of the following: matched detection box and matched prediction box, unmatched detection box, unmatched prediction box, and no matching result.
[0067] In this embodiment of the invention, for example, the detection box and the predicted box are matched by calculating the Euclidean distance. More specifically, the matching is performed by calculating the Euclidean distance between the detection box and the predicted box based on Equation 1 below:
[0068]
[0069] Where metric is the Euclidean distance, Δx is the horizontal distance between the detection box and the prediction box in the world coordinate system, Δy is the vertical distance between the detection box and the prediction box in the world coordinate system, and Δz is the vertical distance between the detection box and the prediction box in the world coordinate system (i.e., the height difference). However, Δz is very small in most cases and can be ignored.
[0070] Next, proceed to step S230.
[0071] In step S230, when the matching result is the matched detection box and the matched prediction box, the Kalman filter state of the trajectory of the matched prediction box and the score of the trajectory are updated through the matched detection box.
[0072] Specifically, for the Kalman filter state of the updated trajectory, the noise Q of the Kalman filter process is automatically increased to make the trajectory biased towards the detection box. Although this temporarily reduces the stabilization effect of the Kalman filter, it can reduce the distortion of the tracked trajectory. This setting can compensate for the limitation of constant velocity motion models in modeling turning or variable-speed objects, and at the same time solve the problem that ordinary Kalman filtering cannot use more complex motion models.
[0073] Furthermore, it is possible to base the analysis on the Kalman filter residual r and the standard deviation of the observation error covariance. The weighted comparison determines whether to use the adaptive function of the Kalman filter. For example, the adaptive function of the Kalman filter is used when the following equation 2 is satisfied:
[0074]
[0075] Where α is the preset weight, and r is the residual of the Kalman filter. This represents the standard deviation of the observation error covariance.
[0076] Specifically, if the absolute value of the Kalman filter residual *r* in the current frame is greater than the product of the preset weights and the standard deviation of the observation error covariance, the noise *Q* in the Kalman filter process is increased. If this requirement is no longer met in the next frame, the noise *Q* reverts to its original value. Furthermore, increasing the noise *Q* also increases the Kalman filter state covariance *P*. When updating the Kalman filter state, the Kalman gain *K* is used to make the updated state result more biased towards the observed values, i.e., the detection boxes. Initially, the Kalman filter state covariance *P* is relatively high, which can lead to inaccurate predictions. Therefore, the adaptive function of the Kalman filter is only used when the trajectory score *s* is greater than the trajectory score threshold *β* and when the trajectory has been confirmed.
[0077] Next, proceed to step S240.
[0078] In step S240, when the matching result is the unmatched detection box and the unmatched prediction box, a new trajectory is generated based on the unmatched detection box, and the score of the trajectory is updated based on the unmatched prediction box.
[0079] Furthermore, in an embodiment of the present invention, the score of the trajectory is determined based on a preset trajectory score threshold, wherein the trajectory is confirmed when the score of the trajectory is greater than the preset trajectory score threshold.
[0080] Furthermore, if a trajectory has not been updated for a predetermined number of consecutive frames, the trajectory is deleted, regardless of whether the trajectory has been acknowledged. The predetermined number of frames is set according to actual needs, for example, it could be 3 consecutive frames, 4 consecutive frames, 5 consecutive frames, etc.
[0081] More specifically, the score is used to represent certainty and accuracy. A low score indicates a larger error and lower certainty, meaning no corresponding obstacle was detected (i.e., noise was detected). A higher score indicates higher accuracy and certainty, meaning the corresponding obstacle was detected and the detection box output result is accurate. In this embodiment of the invention, the score of the unconfirmed trajectory is judged based on a preset trajectory score threshold. When the score of the trajectory is greater than the preset trajectory score threshold, the trajectory is confirmed to be a real object and not noise, thereby avoiding emergency braking of the vehicle due to detected noise.
[0082] In this embodiment of the invention, when the raw data from the selected sensor or motion model is nonlinear, it can be resolved by selecting EKF or UKF. In this embodiment of the invention, when the output result is no match, it is assumed that there is no obstacle within the detection area.
[0083] Furthermore, in embodiments of the present invention, no matching result means no detection box and no prediction box, that is, there are no objects around the vehicle, and the input detection box and prediction box are both blank.
[0084] Figure 3 This is a schematic diagram illustrating the real-time target tracking system 300 for 3D point clouds provided by the present invention. (See attached diagram.) Figure 3 As shown, system 300 includes prediction module 310, matching module 320, update module 330 and trajectory management module 340.
[0085] The prediction module 310 is used to predict the Kalman filter state of the trajectory to the timestamp of the input detection box and output the predicted box.
[0086] The matching module 320 is used to match the detection box and the prediction box and output the matching result. The matching result includes the matched detection box and the matched prediction box, and the unmatched detection box and the unmatched prediction box.
[0087] The update module 330 is used to update the Kalman filter state of the trajectory of the matched prediction box and the score of the trajectory through the matched detection box when the output matching result is the matched detection box and the matched prediction box.
[0088] The trajectory management module 340 is used to generate a new trajectory based on the unmatched detection box when the output matching result is the unmatched detection box; and to update the score of the trajectory based on the unmatched prediction box when the output matching result is the unmatched prediction box.
[0089] Furthermore, in this embodiment of the invention, the trajectory management module 340 is also used to determine the score of the trajectory based on a preset trajectory score threshold, wherein when the score of the trajectory is greater than the preset trajectory score threshold, the trajectory management module 340 confirms the trajectory. In addition, when a trajectory has not been updated for a predetermined number of consecutive frames, the trajectory management module 340 deletes the trajectory, regardless of whether the trajectory has been confirmed. The predetermined number of frames is set according to actual needs, for example, it can be 3 consecutive frames, 4 frames, 5 frames, etc.
[0090] In this embodiment of the invention, the system further includes a preprocessing module for converting the radar coordinate system of the detection frame into the vehicle coordinate system and converting the vehicle coordinate system into the map coordinate system.
[0091] Furthermore, it should be noted that, although not shown, the above references Figure 2 The details and steps of the real-time target tracking method 200 for 3D point clouds also apply to Figure 3 The target real-time tracking system 300 is shown. To avoid unnecessary obfuscation of the invention, a detailed description thereof is omitted here.
[0092] This invention achieves real-time tracking with inference time below the maximum limit by using adaptive ordinary Kalman filtering, constant velocity motion model, tracking in map coordinate system, and Euclidean distance matching. For perception schemes that include LiDAR 3D point cloud deep learning models, the inference time of this invention embodiment is at the millisecond level, achieving a good balance between inference time and trajectory tracking accuracy.
[0093] Figure 4 A schematic diagram of an electronic device 400 according to an embodiment of the present disclosure is shown. The electronic device 400 in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 4 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0094] like Figure 4As shown, electronic device 400 may include a processing device (e.g., a central processing unit, a graphics processor, etc.) 401, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 402 or a program loaded from storage device 408 into random access memory (RAM) 403. RAM 403 also stores various programs and data required for the operation of electronic device 400. Processing device 401, ROM 402, and RAM 403 are interconnected via bus 404. Input / output (I / O) interface 405 is also connected to bus 404.
[0095] Typically, the following devices can be connected to I / O interface 405: input devices 406 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 407 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 408 including, for example, magnetic tapes, hard disks, etc.; and communication devices 409. Communication device 409 allows electronic device 400 to communicate wirelessly or wiredly with other devices to exchange data. Although an electronic device 400 with various devices is shown in the figure, it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0096] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 409, or installed from a storage device 408, or installed from a ROM 402. When the computer program is executed by the processing device 401, it performs the functions defined in the methods of embodiments of this disclosure.
[0097] This disclosure also provides a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the real-time target tracking method for 3D point clouds in the foregoing method embodiments.
[0098] This disclosure also provides a computer program product, which includes a computing program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions that, when executed by a computer, cause the computer to perform the real-time target tracking method for 3D point clouds in the foregoing method embodiments.
[0099] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. 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 a computer-readable storage medium may include, but are not limited to: 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 disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0100] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0101] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: acquire at least two Internet Protocol (IP) addresses; send a node evaluation request including the at least two IP addresses to a node evaluation device, wherein the node evaluation device selects an IP address from the at least two IP addresses and returns it; and receive the IP address returned by the node evaluation device; wherein the acquired IP address indicates an edge node in a content delivery network.
[0102] Alternatively, the aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: receive a node evaluation request including at least two Internet Protocol (IP) addresses; select an IP address from the at least two IP addresses; and return the selected IP address; wherein the received IP address indicates an edge node in the content delivery network.
[0103] Computer program code for performing the operations of this disclosure 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).
[0104] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0105] The units described in the embodiments of this disclosure can be implemented in software or in hardware. The name of a unit does not necessarily limit the unit itself; for example, the first acquisition unit can also be described as "a unit that acquires at least two Internet Protocol addresses".
[0106] It should be understood that the various parts of this disclosure can be implemented in hardware, software, firmware, or a combination thereof.
[0107] The above description is merely a specific embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.
Claims
1. A method for real-time target tracking in 3D point clouds, characterized in that, The method includes the following steps: Based on a preset motion model, the Kalman filter state of each of the multiple trajectories in the trajectory library is predicted to the timestamp of the input detection box, and the corresponding prediction box of each of the multiple trajectories is output. Based on a preset matching standard, the detection boxes and the predicted boxes are matched, and a matching result is output. The matching result includes at least one of the following: matched detection boxes and matched predicted boxes, unmatched detection boxes and unmatched predicted boxes, and no matching result. When the matching result is the matched detection box and the matched prediction box, the Kalman filter state of the trajectory of the matched prediction box and the score of the trajectory are updated through the matched detection box; When the matching result is an unmatched detection box and an unmatched prediction box, a new trajectory is generated based on the unmatched detection box, and the score of the trajectory is updated based on the unmatched prediction box; The method further includes: The radar coordinate system of the input detection box is converted to the vehicle coordinate system, and the vehicle coordinate system is then converted to the map coordinate system. The conversion of the radar coordinate system of the input detection box to the vehicle coordinate system includes conversion using calibration parameters. The matching of the detection box and the prediction box includes matching by calculating the Euclidean distance; and Updating the Kalman filter state of the trajectory of the matched predicted box by the matched detection box includes: Based on the standard deviation of Kalman filter residual r and observation error covariance The weighted comparison determines whether to use the adaptive function of the Kalman filter. When the following equation is satisfied, the adaptive function of the Kalman filter is used, causing the updated state to be more biased towards the observed values, i.e., the detection boxes: ; in, For the preset weights, r The residuals of the Kalman filter, The standard deviation of the covariance of observation errors; The method further includes: The score of the trajectory is determined based on a preset trajectory score threshold, wherein... When the score of the trajectory is greater than the preset trajectory score threshold, the trajectory is confirmed; Furthermore, if a trajectory is not updated for a predetermined number of consecutive frames, the trajectory is deleted.
2. A real-time target tracking system for 3D point clouds, characterized in that, The system includes: The prediction module is configured for use Based on a preset motion model, the Kalman filter state of each of the multiple trajectories in the trajectory library is predicted to the timestamp of the input detection box, and the corresponding prediction box of each of the multiple trajectories is output. The matching module is configured for use The detection box and the prediction box are matched, and the matching result is output. The matching result includes at least one of the following: a matched detection box and a matched prediction box, an unmatched detection box and an unmatched prediction box, and no matching result. The update module is configured for use When the output matching result is the matched detection box and the matched prediction box, the Kalman filter state of the trajectory of the matched prediction box and the score of the trajectory are updated using the matched detection box; and The trajectory management module is configured for use When the output matching result is an unmatched detection box and an unmatched predicted box, a new trajectory is generated based on the unmatched detection box, and the score of the trajectory is updated based on the unmatched predicted box; wherein The system further includes a preprocessing module that converts the radar coordinate system of the input detection box into a vehicle coordinate system, and then converts the vehicle coordinate system into a map coordinate system. The conversion of the radar coordinate system of the input detection box into the vehicle coordinate system includes the conversion using calibration parameters. The matching of the detection box and the prediction box includes matching by calculating the Euclidean distance; and Updating the Kalman filter state of the trajectory of the matched predicted box by the matched detection box includes: Based on the standard deviation of Kalman filter residual r and observation error covariance The weighted comparison determines whether to use the adaptive function of the Kalman filter. When the following equation is satisfied, the adaptive function of the Kalman filter is used, causing the updated state to be more biased towards the observed values, i.e., the detection boxes: ; in, For the preset weights, r The residuals of the Kalman filter, The standard deviation of the covariance of the observation error; and The trajectory management module also determines the score of the trajectory based on a preset trajectory score threshold, wherein... When the score of the trajectory is greater than the preset trajectory score threshold, the trajectory is confirmed; Furthermore, if a trajectory is not updated for a predetermined number of consecutive frames, the trajectory is deleted.
3. An electronic device comprising: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, cause the at least one processor to perform the real-time target tracking method for 3D point clouds as described in claim 1.
4. A non-transitory computer-readable storage medium storing computer instructions that, when executed by at least one processor, cause the at least one processor to perform the real-time target tracking method for 3D point clouds as described in claim 1.
5. A computer program product comprising a computing program stored on a non-transitory computer-readable storage medium, the computer program including program instructions that, when executed by a computer, cause the computer to perform the real-time target tracking method for 3D point clouds as described in claim 1.