A target tracking method and device based on radar
Through the matching and update mechanism of the radar target list, the radar is solved when tracking the distance between stationary or stationary targets is small, and the accuracy and stability of target detection are improved.
Patent Information
- Application Number
- CN202210130100.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-11
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2042-02-11
AI Technical Summary
Radars are prone to target loss when tracking targets, especially when the target is stationary or the distance between stationary targets is small, making it difficult to distinguish and track.
By obtaining the detection target list of the current frame of the radar to match the tracking target list, if the tracking target speed is less than or equal to the minimum detection speed, it is marked as a stationary target; if the speed is greater than the minimum detection speed but the number of continuous matching failures is within a certain range, The target position is updated; if the maximum number of missing frames exceeds the maximum number of missing frames, the target is determined to be lost and deleted.
It effectively avoids the loss of the radar when tracking the target, improves the accuracy of target detection and tracking stability, especially when the distance between stationary or stationary targets is small.
Smart Images

Figure CN114509751B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of information processing technology, and in particular to a radar-based target tracking method and device. Background Art
[0002] Traffic collection technology is an important common basic technology for the development of intelligent transportation. Since radar, especially millimeter-wave radar, has high detection accuracy and is less affected by environmental conditions (such as rain, dust, smoke and glare), the technology of detecting the distance and relative speed of the target through radar is being continuously used and promoted.
[0003] Radar is more sensitive to moving targets, but not easy to detect stationary targets, especially when the targets are concentrated in an area, it is difficult to distinguish different target individuals. For example, in a traffic jam or when waiting at a traffic light at an intersection, the vehicle targets are stationary and the distance between them is small. At this time, the radar may not be able to distinguish the vehicle targets and then lose the vehicle targets.
[0004] Therefore, there is an urgent need for a solution to avoid the situation where the target is lost when the radar is tracking the target. Summary of the invention
[0005] The present application provides a radar-based target tracking method and device, which are used to avoid the situation where the target is lost when the radar is tracking the target.
[0006] In a first aspect, an embodiment of the present application provides a radar-based target tracking method, the method comprising: obtaining a detection target list of a current frame of the radar, the detection target list including multiple real-time targets detected by the radar from the current frame; matching a tracking target in the tracking target list with a real-time target in the detection target list, the tracking target list including one or more tracking targets being tracked; for each tracking target in the tracking target list that is not matched with the real-time target in the detection target list, if the speed of the tracking target is less than or equal to the minimum detection speed of the radar, keeping the tracking target in the tracking target list and marking the tracking target as a stationary target.
[0007] In the above technical solution, the tracking targets in the radar's tracking target list are matched with the real-time targets in the detection target list. For the tracking targets that are not matched with any detection targets, if the speed of the tracking target is less than or equal to the minimum detection speed of the radar when identifying dynamic targets, it can be considered that the tracking target is stationary and not really lost, and then the tracking target can be marked as a stationary target in the tracking target list. In this way, the existence of the target can be maintained when the radar tracking target is stationary.
[0008] Optionally, the method also includes: if the speed of the tracked target is greater than the minimum detection speed of the radar, and the number of consecutive matching failure frames of the tracked target is less than or equal to the maximum number of lost frames, then updating the position coordinates of the tracked target according to the current position coordinates, speed and frame interval of the tracked target.
[0009] In the above technical solution, for a tracking target in the tracking target list that does not match the real-time target in the detection target list, and whose speed is greater than the minimum detection speed of the radar, and whose number of consecutive matching failure frames is less than or equal to the maximum number of lost frames, it can be considered that the tracking target is not actually lost, but is not detected in the current frame due to reasons such as frame loss, or dynamic target loss has occurred. In this case, the coordinate position of the tracking target can be predicted, thereby achieving the retention of the radar dynamic lost target.
[0010] Optionally, the method also includes: if the speed of the tracked target is greater than the minimum detection speed of the radar, and the number of consecutive matching failure frames of the tracked target is greater than the maximum number of lost frames, then determining that the tracked target is lost, and deleting the tracked target from the tracked target list.
[0011] In the above technical solution, for a tracking target in the tracking target list that does not match the real-time target in the detection target list, and whose speed is greater than the minimum detection speed of the radar, and whose number of consecutive matching failure frames is greater than the maximum number of lost frames, the tracking target can be considered lost and then deleted from the tracking target list.
[0012] Optionally, matching the tracking targets in the tracking target list with the real-time targets in the detection target list includes: if the absolute value of the difference between the position coordinates of the first tracking target in the tracking target list and the position coordinates of the first detection target in the detection target list is less than a threshold value, determining that the first tracking target matches the first detection target; otherwise, it is determined that the first tracking target does not match.
[0013] In the above technical solution, the detection targets in the detection target list are matched with the tracking targets in the tracking target list, so as to facilitate the subsequent analysis and prediction of the static lost targets and the dynamic lost targets according to the matching results.
[0014] Optionally, the method further includes: if the first tracking target matches the first detection target, updating the position coordinates and speed of the first tracking target in the tracking target list to the position coordinates and speed of the first detection target in the detection target list.
[0015] In the above technical solution, if the first tracking target in the tracking target list matches the first detection target in the detection target list, it can be considered that the first tracking target and the first detection target are the same target tracked by the radar, and the position coordinates and speed of the first tracking target in the tracking target list are updated according to the real-time position coordinates and speed of the first detection target, thereby achieving the retention of dynamic targets and ensuring that the latest position coordinates and speed of the dynamic targets are recorded in the tracking target list.
[0016] Optionally, the threshold value is determined according to an average speed and a frame interval of the detected target.
[0017] Optionally, the method further includes: for multiple tracking targets in the tracking target list that are in the same lane, if the distance between two adjacent tracking targets in a stationary state is greater than a preset threshold, determining that there is a static lost target between the two adjacent tracking targets, and adding the static lost target to the tracking target list; the preset threshold is obtained based on the average length of the tracking targets and the average distance between the tracking targets.
[0018] In the above technical solution, static lost targets that may exist in the stationary queue waiting targets are supplemented, which can improve the accuracy of target detection.
[0019] In a second aspect, an embodiment of the present application provides a radar-based target tracking device, comprising:
[0020] An acquisition module, used to acquire a detection target list of a current frame of the radar, wherein the detection target list includes a plurality of real-time targets detected by the radar from the current frame;
[0021] A processing module, used for matching a tracking target in a tracking target list with a real-time target in the detection target list, wherein the tracking target list includes one or more tracking targets being tracked;
[0022] The processing module is further used to, for each tracked target in the tracked target list that does not match the real-time target in the detection target list, if the speed of the tracked target is less than or equal to the minimum detection speed of the radar, keep the tracked target in the tracked target list and mark the tracked target as a stationary target.
[0023] Optionally, the processing module is also used to update the position coordinates of the tracked target according to the current position coordinates, speed and frame interval of the tracked target if the speed of the tracked target is greater than the minimum detection speed of the radar and the number of consecutive matching failure frames of the tracked target is less than or equal to the maximum number of lost frames.
[0024] Optionally, the processing module is also used to determine that the tracked target is lost and delete the tracked target from the tracked target list if the speed of the tracked target is greater than the minimum detection speed of the radar and the number of consecutive matching failure frames of the tracked target is greater than the maximum number of lost frames.
[0025] Optionally, the processing module is also used to determine that the first tracking target matches the first detection target if the absolute value of the difference between the position coordinates of the first tracking target in the tracking target list and the position coordinates of the first detection target in the detection target list is less than a threshold value, otherwise, it is not a match.
[0026] Optionally, the processing module is further configured to update the position coordinates and speed of the first tracking target in the tracking target list to the position coordinates and speed of the first detection target in the detection target list if the first tracking target matches the first detection target.
[0027] Optionally, the threshold value is determined according to an average speed and a frame interval of the detected target.
[0028] Optionally, the processing module is further used to, for multiple tracking targets in the tracking target list that are in the same lane, determine that there is a static lost target between the two adjacent tracking targets in a stationary state if the distance between the two adjacent tracking targets is greater than a preset threshold, and add the static lost target to the tracking target list; the preset threshold is obtained based on the average length of the tracking targets and the average distance between the tracking targets.
[0029] In a third aspect, an embodiment of the present application further provides an electronic device, including:
[0030] A memory for storing program instructions;
[0031] The processor is used to call the program instructions stored in the memory and execute the method described in various possible designs of the first aspect according to the obtained program instructions.
[0032] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, in which computer-readable instructions are stored. When a computer reads and executes the computer-readable instructions, the method described in the above-mentioned first aspect or any possible design of the first aspect is implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0034] Figure 1 A schematic diagram of an application scenario provided in an embodiment of the present application;
[0035] Figure 2 A schematic diagram of a flow chart of a radar-based target tracking method provided in an embodiment of the present application;
[0036] Figure 3 A schematic diagram of a specific process of target matching provided in an embodiment of the present application;
[0037] Figure 4 A schematic diagram of a specific process of target loss processing provided in an embodiment of the present application;
[0038] Figure 5 A schematic diagram of a radar-based target tracking device provided in an embodiment of the present application;
[0039] Figure 6 A schematic diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0040] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0041] In the embodiments of the present application, a plurality refers to two or more than two. The words "first", "second" and the like are only used for the purpose of distinguishing descriptions and cannot be understood as indicating or implying relative importance or order.
[0042] Figure 1 An application scenario to which the embodiments of the present application are applicable is exemplarily shown. Figure 1As shown, the radar equipment is set at a certain distance on both sides of the road to collect target information of vehicle targets traveling on the road and vehicle targets stationary at traffic intersections. The processor further tracks the vehicle targets on the road based on the target information of the vehicle targets collected by the radar equipment in each frame (coordinate position, speed, road information of the vehicle targets, and length and width of the vehicle targets themselves, etc.).
[0043] Figure 2 The present invention exemplarily shows a radar-based target tracking method provided in an embodiment of the present invention. The method can be applied to tracking vehicle targets, such as Figure 2 As shown, the method comprises the following steps:
[0044] Step 201: Obtain a detection target list of a current frame of the radar, wherein the detection target list includes multiple real-time targets detected by the radar from the current frame.
[0045] In the embodiment of the present application, the radar may include but is not limited to a millimeter wave radar. The target (such as a real-time detection target, a tracking target, etc.) may include but is not limited to a vehicle target.
[0046] For each frame of data detected by the radar, a detection target list can be created, which is used to record the target information of multiple real-time targets detected from the current frame. The target information may include, for example, the coordinate position, speed, and length and width of the real-time target itself. Among them, the coordinate position may include the x-axis coordinate and the y-axis coordinate, and the speed may include the speed in the x-axis direction and the speed in the y-axis direction. Moreover, the coordinate position and speed may be the coordinate position and speed relative to the radar, or the converted coordinate position and speed relative to a specified coordinate system (such as a geodetic coordinate system), which is not specifically limited in this application.
[0047] Step 202: Match the tracking targets in the tracking target list with the real-time targets in the detection target list, where the tracking target list includes one or more tracking targets being tracked.
[0048] In an embodiment of the present application, a tracking target list can be created when performing target tracking to save target information of one or more tracking targets being tracked by the radar. The target information may include, for example, the coordinate position, speed, and length and width of the tracking target itself.
[0049] Furthermore, for each frame of the detection target list, the position coordinates of the tracking target in the tracking target list can be matched with each real-time target in the detection target list. Specifically, taking the first tracking target in the tracking target list as an example, if the absolute value of the difference between the position coordinates of the first tracking target in the tracking target list and the position coordinates of the first detection target in the detection target list is less than the threshold value, it can be determined that the first tracking target matches the first detection target, otherwise, it is not matched. The threshold value can be determined according to the average speed of the detection target and the frame interval.
[0050] Exemplarily, the position coordinate matching may specifically include: taking the absolute value of the x-coordinate of the first tracked target minus the x-coordinate of the first detected target, taking the absolute value of the y-coordinate of the first tracked target minus the y-coordinate of the first detected target, and if the absolute value of the x-coordinate difference is less than the threshold value in the x-direction, and the absolute value of the y-coordinate difference is less than the threshold value in the y-direction, then determining that the first tracked target matches the first detected target. The threshold value in the x-direction is equal to the average speed of the detected target in the x-axis direction multiplied by the frame interval, and the threshold value in the y-direction is equal to the average speed of the detected target in the y-axis direction multiplied by the frame interval.
[0051] It should be noted that the above judgment standard can also be that the absolute value of the difference in position coordinates is less than or equal to the threshold value, which can be set according to actual conditions, and this application does not make specific limitations on this.
[0052] Furthermore, if the first tracking target matches the first detection target, then it can be considered that the first tracking target and the first detection target are the same target tracked by the radar, and the first tracking target moves to the position coordinates of the first detection target in the current frame after one or more frame intervals, then the position coordinates and speed of the first tracking target in the tracking target list are updated to the position coordinates and speed of the first detection target in the detection target list. In this way, the dynamic tracking target can be maintained, and it is ensured that the latest position coordinates and speed of the dynamic tracking target are recorded in the tracking target list.
[0053] If there is a first detected target in the detected target list that does not match any tracked target in the tracked target list, then the first detected target can be considered to be a target newly detected by the radar in the current frame, and the first detected target can be added to the tracked target list, and the position coordinates, speed, length and width of the first detected target and other target information can be recorded.
[0054] In a possible implementation, a matching flag bit of each tracking target may also be provided in the tracking target list, for recording the matching status of each tracking target in the tracking target list and the detection target in the detection target list, wherein the initial value of the preset flag bit is 0, and after matching, it will be set to 1. If the first tracking target matches the first detection target, the position coordinates and speed of the first tracking target in the tracking target list may be updated to the position coordinates and speed of the first detection target in the detection target list, and the matching flag bit of the first tracking target is set to 1; if the first detection target in the detection target list does not match the first tracking target in the tracking target list, the first detection target is added to the tracking target list, and the matching flag bit of the newly added tracking target is set to 1.
[0055] Step 203: For each tracked target in the tracked target list that does not match the real-time target in the detected target list, if the speed of the tracked target is less than or equal to the minimum detection speed of the radar, the tracked target is kept in the tracked target list and marked as a stationary target.
[0056] In the embodiment of the present application, there may be two situations of target loss during the radar target detection process, one is static target loss, and the other is dynamic target loss.
[0057] Taking into account that there is a minimum detection speed that the radar can identify when identifying dynamic targets, in this application, for a tracking target that does not match any detection target, if the speed of the tracking target is less than or equal to the minimum detection speed, the tracking target can be considered to be stationary and not actually lost. Then, the tracking target can be marked as a stationary target in the tracking target list, for example, its speed can be updated to 0 to achieve the retention of the static target.
[0058] For dynamic target loss, it may be due to environmental interference that the radar temporarily fails to detect the target, and it is not really lost. It is also possible that the target was originally a false alarm target (false alarm means that the radar thinks that the target is detected when there is no target). Now the false alarm target disappears, so it should be removed from the tracking list. Therefore, for a tracked target that does not match any detected target, if the speed of the tracked target is greater than the minimum detection speed, it is necessary to further determine whether the tracked target is really lost.
[0059] For example, the specific determination method is as follows:
[0060] If the speed of the tracked target is greater than the minimum detection speed of the radar, and the number of consecutive matching failure frames of the tracked target is less than or equal to the maximum number of lost frames, it is considered that the tracked target is not really lost, and it may temporarily lose a few frames due to interference from the surrounding environment. In this case, the position coordinates of the tracked target are predicted and updated according to the current position coordinates, speed and frame interval of the tracked target. Among them, the current position coordinates of the tracked target are the position coordinates recorded in the tracked target list at this time. Since the tracked target has not matched the detected target, the position coordinates of the tracked target have not been updated during the target matching process. It can be considered that the position coordinates recorded in the tracked target list are still the position coordinates of the previous frame, and the position coordinates of the tracked target in the current frame need to be predicted and updated. The maximum number of lost frames can be determined according to the detection accuracy of the radar. The updated position coordinates of the tracked target can be determined by the following formula.
[0061] Updated position coordinates = current position coordinates + speed × frame interval formula 1
[0062] If the speed of the tracked target is greater than the minimum detection speed of the radar, and the number of consecutive matching failure frames of the tracked target is greater than the maximum number of lost frames, the tracked target is determined to be lost and the tracked target is deleted from the tracked target list.
[0063] There may be a situation where there are lost targets in the queues at traffic intersections or congested sections. Therefore, it is necessary to complete the possible lost targets. The specific method is as follows: for multiple tracking targets in the same lane in the tracking target list, if the distance between two adjacent tracking targets in a stationary state is greater than a preset threshold, it is determined that there is a static lost target between the two adjacent tracking targets, and the static lost target is added to the tracking target list.
[0064] The preset threshold is obtained according to the average length of the tracking target and the average distance between the tracking targets. When the distance between two adjacent tracking targets is greater than the preset threshold, it can be considered that there should be another tracking target between the two adjacent tracking targets, and the tracking target is not detected by the radar for some reason and is not recorded in the tracking target list, that is, the tracking target is statically lost, and it is necessary to add it to the tracking target list, and record the target information such as the coordinate position, speed, length and width of the target. Specifically, the speed of the statically lost target added is 0, the horizontal coordinate is the horizontal coordinate of the center line of the road where the target is located, and the vertical coordinate is the vertical coordinate of the previous target adjacent to the target plus the length of the previous target plus the average vehicle spacing (here the coordinates of the target's head are used as the position coordinates of the target).
[0065] Specifically, the preset threshold can be determined by the following formula.
[0066] Preset threshold = average length of the target + average distance between targets × 2 Formula 2
[0067] It should be noted that there may be more than one static lost target between two adjacent tracking targets, and there may be multiple static lost targets. In this case, the distance between the two adjacent tracking targets can be compared with multiple preset thresholds to determine the number of static lost targets. For example, if the distance between two adjacent tracking targets in a stationary state is greater than the preset threshold 2 and less than the preset threshold 3, it is determined that there are two static lost targets between the two adjacent tracking targets, and the two static lost targets are added to the tracking target list. Among them, the preset thresholds 2 and 3 can be determined by the following formula.
[0068] Preset threshold 2 = average length of the target × 2 + average distance between targets × 3 Formula 3 Preset threshold 3 = average length of the target × 3 + average distance between targets × 4 Formula 4
[0069] For the convenience of statistics, for stationary targets entering the traffic intersection and queuing, the tracking targets can also be classified by lane. Assuming that there are n lanes on the road, all the tracking targets in the tracking target list that are stationary at the traffic intersection are divided into n corresponding lists according to the position coordinates of the targets and the coordinates of each lane, where each list includes the tracking targets in the corresponding lane, and the tracking targets in each list are sorted according to the coordinate position, and then the coordinate difference between two adjacent targets after sorting is calculated to determine whether there is a static lost target between the two adjacent targets.
[0070] Furthermore, the difference between the ordinates of the last target and the first target in the list corresponding to each lane plus the length of the last target is the queue length of the lane. The number of targets in each list is the number of queued targets in the corresponding lane.
[0071] In a possible implementation, to ensure that the number of each tracking target in the tracking target list is unique, a global variable gNumber may be set in the tracking target list to store the target number of the tracking target most recently added to the tracking target list. Assuming that the initial value of gNumber is 0, when a new target is to be added, the following steps are performed:
[0072] a)gNumber=gNumber+1.
[0073] b) Determine whether gNumber is greater than the maximum number. If it is greater than the maximum number, gNumber = 1.
[0074] c) Traverse the target IDs of each tracking target in the tracking target list to check whether gNumber duplicates with the existing target IDs in the tracking target list. If not, set the target ID newly added to the tracking target list as gNumber and end the numbering; if it duplicates, execute a).
[0075] To better explain the embodiments of the present application, Figure 3 exemplarily shows a specific process of target matching provided by the embodiments of the present application. As Figure 3 shown, this process includes the following steps:
[0076] Step 301: Take out a target a from list1; set the auxiliary variable temp = 0.
[0077] Take out a detection target a from the detection target list (list1) and set the auxiliary variable temp of this detection target to 0, where the auxiliary variable temp is used to indicate whether there is a tracking target in the tracking target list (list2) that matches the detection target a.
[0078] Step 302: Take out a target b from list2.
[0079] Take out a tracking target b from the tracking target list.
[0080] Step 303: Judge whether |Xb - Xa| < c and |Yb - Ya| < d?
[0081] Judge whether the absolute value of the difference in the abscissa between the tracking target and the detection target is less than the threshold value c, and whether the absolute value of the difference in the ordinate is less than the threshold value d. Among them, the threshold value c is equal to the average speed of the detection target in the x-axis direction multiplied by the frame interval, and the threshold value d is equal to the average speed of the detection target in the y-axis direction multiplied by the frame interval. If |Xb - Xa| < c and |Yb - Ya| < d, execute Step 304; otherwise, execute Step 305.
[0082] Step 304: b = a; b.flag = 1; temp = 1.
[0083] Update the position coordinates and speed of the tracking target b in the tracking target list to the position coordinates and speed of the detection target a in the detection target list, set the matching flag bit of the tracking target b to 1, and set the auxiliary variable temp to 1.
[0084] Step 305: Judge whether list2 has been traversed completely.
[0085] If the traversal of the tracking targets in the tracking target list is completed, execute Step 306; otherwise, execute Step 302.
[0086] Step 306: Determine whether the value of temp is 0.
[0087] Determine whether the detection target a matches the tracking target in the tracking target list. If temp=0, it means that the tracking target in the tracking target list is not matched, and execute step 307; if temp=1, it means that the tracking target in the tracking target list is matched, and execute step 308.
[0088] Step 307: Add a new target newb to list2; newb=a; newb.flag=1.
[0089] The detected target a is added as a new tracking target to the tracking target list, and the position coordinates, speed, length and width of the target are recorded. The target's flag position is set to 1, and the target number corresponding to the target is assigned.
[0090] Step 308: Determine whether list1 has been traversed.
[0091] If list1 is traversed, the process ends; otherwise, the process goes to step 301.
[0092] In order to better explain the embodiments of this application, Figure 4 The specific process of target loss processing provided by the embodiment of the present application is exemplarily shown. Figure 4 As shown, the process includes the following steps:
[0093] Step 401: Take out a target b from list2.
[0094] Take out a tracking target b from the tracking target list (list2).
[0095] Step 402: Determine whether the value of b.flag is 0.
[0096] Determine whether the matching flag of the tracking target b is 0. If b.flag=0, it means that the tracking target b does not match the target in the detection target list of the current frame, and execute step 403; otherwise, execute step 404.
[0097] Step 403: Determine whether bV is greater than Vmin.
[0098] Determine whether the speed of the tracking target b is greater than the minimum detection speed. If so, execute step 405; otherwise, execute step 406.
[0099] Step 404, b.nun=0; b.flag=0.
[0100] The unmatched count of the tracking target b is set to 0, the matching flag is set to 0, and then step 410 is executed. The unmatched count num indicates the number of frames in which the tracking target fails to match continuously.
[0101] Step 405, b.num++
[0102] Increase the unmatched count of tracking target b by 1.
[0103] Step 406, bV=0; num=0
[0104] The speed of the tracking target b is set to 0, the unmatched count is set to 0, and then step 410 is executed.
[0105] Step 407: Determine whether num is greater than Nmax.
[0106] If the unmatched count of the tracking target b is greater than the maximum number of lost frames, execute step 408; otherwise, execute step 409.
[0107] Step 408: Delete b from list2.
[0108] The tracking target b is considered lost, and is deleted from the tracking target list, and then step 410 is executed.
[0109] Step 409, bx=b.x+b.Vx·t; by=b.y+b.Vy·t.
[0110] The current x-axis coordinate of the tracking target b is added with the x-direction velocity multiplied by the frame interval, and the y-axis coordinate is added with the y-direction velocity multiplied by the frame interval to predict the position of the tracking target b.
[0111] Step 410: Determine whether list2 has been traversed.
[0112] If list2 traversal is complete, the process ends; otherwise, the process goes to step 401.
[0113] The present application provides a radar-based target tracking method, which achieves the maintenance of the radar's static tracking target and dynamic tracking target by matching the real-time target in the detection target list of each frame with the tracking target in the tracking target list, thereby improving the accuracy of target tracking.
[0114] Based on the same technical concept, Figure 5 A radar-based target tracking device provided in an embodiment of the present application is exemplarily shown, and the device is used to implement the radar-based target tracking method in the above method embodiment. Figure 5 As shown, the device 500 includes:
[0115] An acquisition module 501 is used to acquire a detection target list of a current frame of the radar, wherein the detection target list includes a plurality of real-time targets detected by the radar from the current frame;
[0116] A processing module 502 is used to match a tracking target in a tracking target list with a real-time target in the detection target list, wherein the tracking target list includes one or more tracking targets being tracked;
[0117] The processing module 502 is further configured to, for each tracked target in the tracked target list that does not match a real-time target in the detected target list, keep the tracked target in the tracked target list if the speed of the tracked target is less than or equal to the minimum detection speed of the radar, and mark the tracked target as a stationary target.
[0118] Optionally, the processing module 502 is also used to update the position coordinates of the tracked target according to the current position coordinates, speed and frame interval of the tracked target if the speed of the tracked target is greater than the minimum detection speed of the radar and the number of consecutive matching failure frames of the tracked target is less than or equal to the maximum number of lost frames.
[0119] Optionally, the processing module 502 is also used to determine that the tracked target is lost and delete the tracked target from the tracked target list if the speed of the tracked target is greater than the minimum detection speed of the radar and the number of consecutive matching failure frames of the tracked target is greater than the maximum number of lost frames.
[0120] Optionally, the processing module 502 is also used to determine that the first tracking target matches the first detection target if the absolute value of the difference between the position coordinates of the first tracking target in the tracking target list and the position coordinates of the first detection target in the detection target list is less than a threshold value, otherwise, it is not a match.
[0121] Optionally, the processing module 502 is further configured to update the position coordinates and speed of the first tracking target in the tracking target list to the position coordinates and speed of the first detection target in the detection target list if the first tracking target matches the first detection target.
[0122] Optionally, the threshold value is determined according to an average speed and a frame interval of the detected target.
[0123] Optionally, the processing module 502 is further used to determine that there is a static lost target between multiple tracking targets in the tracking target list that are in the same lane if the distance between two adjacent tracking targets in a stationary state is greater than a preset threshold, and add the static lost target to the tracking target list; the preset threshold is obtained based on the average length of the tracking targets and the average distance between the tracking targets.
[0124] Based on the same technical concept, the embodiment of the present application provides an electronic device, such as Figure 6 As shown, it includes at least one processor 601 and a memory 602 connected to the at least one processor. The specific connection medium between the processor 601 and the memory 602 is not limited in the embodiment of the present application. Figure 5 For example, the processor 601 and the memory 602 are connected via a bus. The bus can be divided into an address bus, a data bus, a control bus, etc.
[0125] In the embodiment of the present application, the memory 602 stores instructions that can be executed by at least one processor 601, and the at least one processor 601 can perform the steps of the above-mentioned radar-based target tracking method by executing the instructions stored in the memory 602.
[0126] The processor 601 is the control center of the computer device, and can use various interfaces and lines to connect various parts of the computer device, and perform resource settings by running or executing instructions stored in the memory 602 and calling data stored in the memory 602. Optionally, the processor 601 may include one or more processing units, and the processor 601 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 601. In some embodiments, the processor 601 and the memory 602 may be implemented on the same chip, and in some embodiments, they may also be implemented separately on independent chips.
[0127] Processor 601 can be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware processor for execution, or can be executed by a combination of hardware and software modules in the processor.
[0128] The memory 602 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 602 may include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (Random Access Memory, RAM), a static random access memory (Static Random Access Memory, SRAM), a programmable read-only memory (Programmable Read Only Memory, PROM), a read-only memory (Read Only Memory, ROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a magnetic memory, a disk, an optical disk, etc. The memory 602 is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 602 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.
[0129] Based on the same technical concept, an embodiment of the present application also provides a computer-readable storage medium, which stores a computer-executable program, and the computer-executable program is used to enable a computer to execute the radar-based target tracking method listed in any of the above methods.
[0130] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0131] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0132] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0133] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0134] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0135] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A radar-based target tracking method, characterized in that: The method comprises: Acquire a detection target list of a current frame of the radar, wherein the detection target list includes a plurality of real-time targets detected by the radar from the current frame; Matching a tracking target in a tracking target list with a real-time target in the detection target list, wherein the tracking target list includes one or more tracking targets being tracked; For each tracked target in the tracked target list that is not matched with a real-time target in the detected target list, if the speed of the tracked target is less than or equal to the minimum detection speed of the radar, the tracked target is kept in the tracked target list and marked as a stationary target; For multiple tracking targets in the same lane in the tracking target list, the stationary tracking targets are classified according to different lanes to obtain multiple lists, the tracking targets in each list are sorted according to the coordinate positions, and the coordinate difference between two adjacent tracking targets after sorting is determined to obtain the distance between the two adjacent tracking targets. If the distance between the two adjacent tracking targets in a stationary state is greater than a preset threshold, it is determined that there is a static lost target between the two adjacent tracking targets, and the static lost target is added to the tracking target list; the preset threshold is obtained according to the average length of the tracking targets and the average distance between the tracking targets.
2. The method according to claim 1, characterized in that The method further comprises: If the speed of the tracked target is greater than the minimum detection speed of the radar, and the number of consecutive matching failure frames of the tracked target is less than or equal to the maximum number of lost frames, the position coordinates of the tracked target are updated according to the current position coordinates, speed and frame interval of the tracked target.
3. The method according to claim 2, characterized in that The method further comprises: If the speed of the tracked target is greater than the minimum detection speed of the radar, and the number of consecutive matching failure frames of the tracked target is greater than the maximum number of lost frames, it is determined that the tracked target is lost and the tracked target is deleted from the tracked target list.
4. The method according to claim 1, characterized in that: The matching of the tracking target in the tracking target list with the real-time target in the detection target list includes: If the absolute value of the difference between the position coordinates of the first tracking target in the tracking target list and the position coordinates of the first detection target in the detection target list is less than a threshold value, it is determined that the first tracking target matches the first detection target, otherwise, they do not match.
5. The method according to claim 4, characterized in that The method further comprises: If the first tracking target matches the first detection target, the position coordinates and the speed of the first tracking target in the tracking target list are updated to the position coordinates and the speed of the first detection target in the detection target list.
6. The method according to claim 4, characterized in that The threshold value is determined according to the average speed of the detection target and the frame interval.
7. A radar-based target tracking device, characterized in that: include: An acquisition module, used to acquire a detection target list of a current frame of the radar, wherein the detection target list includes a plurality of real-time targets detected by the radar from the current frame; A processing module, used for matching a tracking target in a tracking target list with a real-time target in the detection target list, wherein the tracking target list includes one or more tracking targets being tracked; The processing module is further configured to, for each tracked target in the tracked target list that is not matched with the real-time target in the detected target list, if the speed of the tracked target is less than or equal to the minimum detection speed of the radar, keep the tracked target in the tracked target list and mark the tracked target as a stationary target; For multiple tracking targets in the tracking target list that are in the same lane, the stationary tracking targets are classified according to different lanes to obtain multiple lists, the tracking targets in each list are sorted according to the coordinate positions, and the coordinate difference between two adjacent tracking targets after sorting is determined to obtain the distance between the two adjacent tracking targets. If the distance between the two adjacent tracking targets in a stationary state is greater than a preset threshold, it is determined that there is a static lost target between the two adjacent tracking targets, and the static lost target is added to the tracking target list; The preset threshold is obtained according to the average length of the tracked targets and the average distance between the tracked targets.
8. An electronic device, characterized in that: include: A memory for storing program instructions; A processor is used to call the program instructions stored in the memory, and execute the method according to any one of claims 1 to 6 according to the obtained program instructions.
9. A computer-readable storage medium, characterized in that: The method comprises computer-readable instructions, and when a computer reads and executes the computer-readable instructions, the computer is caused to execute the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Water surface multi-target rapid identification tracking method based on laser radar
CN111239766A
Rapid super-resolution tracking system and method for automobile millimeter-wave radar
CN111896947A
Static target tracking and optimizing method based on millimeter wave radar
CN113740836A