Obstacle detection target list generation method, device, storage medium

By performing frame-by-frame matching and detection on the current frame image, and updating the target list based on the visible state obtained from AI and RB detection, the problem of missed detection in target detection is solved, ensuring the completeness and accuracy of the target list.

CN116453011BActive Publication Date: 2026-03-31ZHIDAO NETWORK TECH (BEIJING) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-17
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

In existing target detection processes, AI detection and RB detection are prone to missing detections, resulting in omissions in target collection. There is an urgent need for a method to generate an obstacle detection target list that can detect all targets without missing any.

Method used

By acquiring the current frame image and the list of detected targets, matching previous and subsequent frames is performed to determine the tracker identifier of the target. The target list is then updated by combining the visibility status of AI detection and RB detection to ensure that each target is detected and output.

Benefits of technology

It achieves complete collection of targets, ensuring that only one detection status is output for each actual target, avoiding redundancy from multiple detections and improving detection accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116453011B_ABST
    Figure CN116453011B_ABST
Patent Text Reader

Abstract

The application provides an obstacle detection target list generation method, device and storage medium, which comprises the following steps: acquiring a current frame image and a current detection target list; performing front and back frame matching on the current frame image through a matching algorithm, and determining the tracker identifier of the matched target based on the current detection target list; performing target detection on the current frame image; determining the tracker identifier and visible state of the target detected by the target detection; and updating the detection target list according to the tracker identifier and the visible state. The method provided by the application updates the detection target list according to the tracker identifier and the visible state, ensures that each target is detected, tracked and outputted, guarantees that the target is not missed, and realizes that only one detection state is collected for an actual target, that is, only one detection state is outputted for an actual target which may have multiple detections.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of target detection technology, and in particular to a method, device, and storage medium for generating a list of obstacle detection targets. Background Technology

[0002] In the existing target detection process, it is achieved through AI (Artificial Intelligence) detection or RB (Rule Base) detection.

[0003] Taking the detection of a target vehicle in a road scenario as an example, if AI detection is performed, and the target vehicle is detected, the AI ​​detection result is "Target vehicle detected"; if the target vehicle is not detected, the AI ​​detection result is "Target vehicle not detected". Similarly, if RB detection is performed, and the target vehicle is detected, the RB detection result is "Target vehicle detected"; if the target vehicle is not detected, the RB detection result is "Target vehicle not detected".

[0004] However, both AI detection and RB detection can result in missed detections. That is, the target car may be present in the detection list, but AI detection might yield a result indicating that the target car was not detected, or RB detection might yield a result indicating that the target car was not detected. Missed detections lead to omissions in the final target collection; therefore, a solution is urgently needed that can obtain a target list without missing any targets. Summary of the Invention

[0005] To address one of the aforementioned technical deficiencies, this application provides a method, apparatus, and storage medium for generating an obstacle detection target list.

[0006] In a first aspect, this application provides a method for generating a list of obstacle detection targets, the method comprising:

[0007] Get the current frame image and the current list of detected targets;

[0008] The matching algorithm is used to match the current frame image with the previous and next frames, and the tracker identifier of the matched target is determined based on the current list of detected targets.

[0009] Perform target detection on the current frame image;

[0010] Determine the tracker identifier and visibility status of the detected target;

[0011] The list of detected targets is updated based on the tracker identifier and visibility status.

[0012] Optionally, the list of detected targets includes one or more targets, each target corresponding to a tracker identifier;

[0013] The step of performing frame-by-frame matching on the current frame image using a matching algorithm, and determining the tracker identifier of the matched target based on the current list of detected targets, includes:

[0014] The Hungarian matching algorithm is used to match the current frame with the previous frame and find the same target as the previous frame.

[0015] If the current target detection list includes the matched target, then the tracker identifier corresponding to the matched target in the current target detection list will be determined as the tracker identifier of the matched target.

[0016] Optionally, the tracker includes an artificial intelligence (AI) tracker and a rule-based (RB) tracker;

[0017] The step of performing target detection on the current frame image includes:

[0018] Simultaneously perform AI detection and RB detection on the current frame image to obtain AI targets and RB targets;

[0019] Each AI target is tracked by a unique AI tracker, and each RB target is tracked by a unique RB tracker.

[0020] Optionally, determining the tracker identifier of the detected target includes:

[0021] For each AI target, if it already has a tracker identifier and the existing tracker identifier is different from the identifier of the AI ​​tracker tracking it, or if it does not have a tracker identifier, then its tracker identifier is determined to be the identifier of the AI ​​tracker tracking it.

[0022] For each RB target, if it is not detected by AI detection and there is no tracker identifier, then its tracker identifier is determined to be the identifier of the RB tracker that tracks it.

[0023] Optionally, the visibility status of the detected target is determined, including:

[0024] For any AI target, if it meets the following first condition, then its visibility state for AI detection is determined to be invisible; otherwise, its visibility state for AI detection is determined to be visible.

[0025] For any RB target, if it satisfies the following second condition, then its visibility state for RB detection is determined to be invisible; otherwise, its visibility state for RB detection is determined to be visible.

[0026] in,

[0027] The first condition is:

[0028] Among the i-1 to i-n+1 frames, there are frames where AI detection did not detect a target corresponding to the AI ​​target, where i is the frame number of the current frame and n is a preset threshold.

[0029] or,

[0030] The AI ​​target was not detected by RB detection;

[0031] or,

[0032] The AI ​​target is when the number of image frames continuously lost before the current frame exceeds a threshold.

[0033] The second condition is:

[0034] The deletion conditions are met, and the RB target has not been detected by the AI ​​detection.

[0035] or,

[0036] The RB target was detected by AI detection.

[0037] Optionally, the AI ​​tracker includes a counter, and the counter is initially set to 0;

[0038] For any frame of image, if no target tracked by the AI ​​tracker is detected when performing AI detection on the frame of image, the counter is incremented by 1; if a target tracked by the AI ​​tracker is detected, the counter is reset to 0.

[0039] The number of image frames that the AI ​​target continuously loses before the current frame image is the value of the counter in the AI ​​tracker that tracks the AI ​​target.

[0040] Optionally, updating the list of detected targets based on the tracker identifier and visibility status includes:

[0041] For any AI target, if its visibility status for AI detection is visible, and the number of consecutive frames detected by RB exceeds a preset frame threshold, and the current target detection list includes the AI ​​target, then its latest status information is obtained, the latest status information is updated to the target detection list, and if the tracker identifier corresponding to the AI ​​target in the current target detection list is different from the tracker identifier of the AI ​​target, the tracker identifier of the AI ​​target is also updated to the target detection list.

[0042] For any RB target, if its visibility status for RB detection is visible and the current target detection list includes the RB target, then obtain its latest status information and update the target detection list with the latest status information.

[0043] Optionally, updating the list of detected targets based on the tracker identifier and visibility status includes:

[0044] For any AI target, if its visibility status for AI detection is visible, and the number of consecutive frames detected by RB exceeds a preset frame threshold, and the current target detection list does not include the AI ​​target, then obtain its latest status information and add the AI ​​target, tracker identifier, and its latest status information to the target detection list.

[0045] For any RB target, if its visibility status for RB detection is visible and the current target detection list does not include any RB target, then obtain its latest status information and add any RB target, tracker identifier, and its latest status information to the target detection list.

[0046] Optionally, the status information includes one or more of the following: size, center point, direction, and type.

[0047] A second aspect of this application provides an electronic device, comprising:

[0048] Memory;

[0049] Processor; and

[0050] Computer programs;

[0051] The computer program is stored in the memory and configured to be executed by the processor to implement the method described in the first aspect above.

[0052] A third aspect of this application provides a computer-readable storage medium having a computer program stored thereon; the computer program is executed by a processor to implement the method described in the first aspect above.

[0053] This application provides a method, device, and storage medium for generating an obstacle detection target list. The method includes: acquiring a current frame image and a current target list; performing frame-to-frame matching on the current frame image using a matching algorithm, and determining the tracker identifier of the matched target based on the current target list; performing target detection on the current frame image; determining the tracker identifier and visibility state of the detected target; and updating the target list based on the tracker identifier and visibility state. The method provided in this application updates the target list based on the tracker identifier and visibility state, ensuring that each target is detected, tracked, and output, guaranteeing no target is missed. It achieves the goal of collecting and outputting only one detection state for a single actual target, meaning that even if a single actual target may have multiple detections, only one detection state is output. Attached Figure Description

[0054] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0055] Figure 1 A flowchart illustrating a method for generating an obstacle detection target list provided in an embodiment of this application;

[0056] Figure 2 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0057] To make the technical solutions and advantages of the embodiments of this application clearer, the exemplary embodiments of this application will be described in further detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not an exhaustive list of all embodiments. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be combined with each other.

[0058] In developing this application, the inventors discovered that in existing target detection processes, such as detecting cars in road scenes, the car is typically perceived and identified using AI (Artificial Intelligence) methods, yielding an AI recognition result. Simultaneously, the car is perceived and identified using RB (Rule Base) methods, yielding an RB recognition result. That is, for the same target, both perception methods produce a single perception result. Therefore, it is necessary to collect all targets processed in each frame without duplication or omission, ensuring complete information, into a target list that can be output downstream.

[0059] To address the aforementioned issues, this application provides a method, device, and storage medium for generating an obstacle detection target list. The method includes: acquiring a current frame image and a current target list; performing frame-to-frame matching on the current frame image using a matching algorithm, and determining the tracker identifier of the matched target based on the current target list; performing target detection on the current frame image; determining the tracker identifier and visibility state of the detected target; and updating the target list based on the tracker identifier and visibility state. The method provided in this application updates the target list based on the tracker identifier and visibility state, ensuring that each target is detected, tracked, and output, guaranteeing no target is missed. It achieves the goal of collecting and outputting only one detection state for each actual target, meaning that while there may be multiple detections for an actual target, only one detection state is output.

[0060] See Figure 1 This embodiment provides a method for generating an obstacle detection target list, the implementation process of which is as follows:

[0061] The method in this embodiment can generate a list of obstacle detection targets for a segment of image. At this time, it will perform the following steps for each frame of the image: Figure 1 The method shown updates the obstacle detection target list for each frame of the image, and the final obstacle detection target list is obtained after the last frame is completed.

[0062] Therefore, this embodiment will use any frame in the image (referred to as the current frame in this embodiment and subsequent embodiments, such as the i-th frame) as an example for explanation.

[0063] 101. Obtain the current frame image and the current list of detected targets.

[0064] In this step, the current list of detection targets is based on the image from the previous frame (i.e., frame i-1). Figure 1 The method shown yields the list of detected targets obtained after performing steps 101 to 105 on the (i-1)th frame image.

[0065] If the current frame is the first frame, then the current list of detected targets is empty.

[0066] For a non-empty list of detection targets, it includes one or more targets that have been executed. Figure 1 The method shown identifies objects (such as cars; this embodiment and subsequent embodiments do not limit the targets) in each frame of the image. Each target also includes state information to obtain a complete target detection state.

[0067] Status information includes, but is not limited to, one or more of the following: size, center point, direction, and type.

[0068] In addition, each target corresponds to a tracker identifier, track id.

[0069] 102. The matching algorithm is used to match the previous and next frames of the current frame image, and the tracker identifier of the matched target is determined based on the current list of detected targets.

[0070] For example, the Hungarian matching algorithm can be used to match the current frame with the previous frame and find the same target as the previous frame.

[0071] If the current target detection list includes the matched target, then the tracker identifier corresponding to the matched target in the current target detection list will be determined as the tracker identifier of the matched target.

[0072] In step 102, the Hungarian matching algorithm is used to match targets based on their state information, identifying targets identical to those in the previous frame. If the current image is the i-th frame, then targets that appear simultaneously in both the (i-1)-th and i-th frames are matched.

[0073] If it is the first frame, since there is no previous frame, the target cannot be matched using the Hungarian matching algorithm.

[0074] For the matched target, since it also appears in frame i-1, therefore, when performing [the following steps] on frame i-1... Figure 1 Following the method shown, the target is updated in the final detection target list. That is, the current detection target list obtained in step 101 will contain a matched target. The matched target will also record its corresponding status information and track ID in the current detection target list. The track ID recorded by the matched target in the current detection target list will be determined as the track ID of the matched target.

[0075] 103. Perform target detection on the current frame image.

[0076] During object detection, both AI (Artificial Intelligence) detection and RB (Rule Base) detection are performed simultaneously. Each detection method uses its own tracker to track the detected object. In other words, AI detection and RB detection are performed on the same image simultaneously, and each detection method uses its own tracker to track the object, resulting in its own detection results.

[0077] For example, AI detection uses an AI tracker to track targets identified during the AI ​​detection process, with each AI tracker uniquely tracking one AI-detected target. Similarly, RB detection uses an RB tracker to track targets identified during the RB detection process, with each RB tracker uniquely tracking one RB-detected target. If a car exists in an image, if it is detected by AI, it will be tracked by the AI ​​tracker during the AI ​​detection process; if it is also detected by RB, it will be tracked by the RB tracker during the RB detection process. In this case, the car is both an AI-detected target and an RB-detected target, and is tracked by a single, unique AI tracker and a single, unique RB tracker.

[0078] Each tracker (such as an RB tracker or an AI tracker) has two identifiers: one is its own identifier, and the other is the identifier of other trackers tracking the same target.

[0079] For example,

[0080] For an RB tracker, it has two identifiers: an RB identifier, which serves as a unique identifier for all trackers used in the RB detection process, allowing identification of each RB tracker; and an AI identifier. If a target identified by an RB tracker is also detected by AI, and is subsequently tracked by another AI tracker, then the AI ​​identifier of that RB tracker becomes the identifier of the AI ​​tracker tracking it simultaneously. If a target identified by an RB tracker is not detected by AI, then the AI ​​identifier of that RB tracker can be empty. The AI ​​identifier of the RB tracker indicates whether the target has also been detected by AI, and which AI tracker was tracking the target during AI detection.

[0081] Similarly, each AI tracker has two identifiers: an AI identifier, which uniquely identifies all trackers used in the AI ​​detection process, allowing identification of each AI tracker; and an RB identifier. If a target identified by an AI tracker is also detected by an RB tracker, then that target is being tracked by an RB tracker, and the RB identifier of the AI ​​tracker is the identifier of the RB tracker tracking it simultaneously. If a target identified by an AI tracker is not detected by an RB tracker, then the RB identifier of that AI tracker can be empty. The RB identifier of an AI tracker indicates whether the target was also detected by an RB tracker, and which RB tracker was tracking that target during RB detection.

[0082] Since there are two trackers, namely the AI ​​tracker and the RB tracker, the principle for determining the track ID corresponding to a target in the target detection list is as follows: If a target is tracked by the AI ​​tracker (it may also be tracked by the RB tracker, or it may not be tracked by the RB tracker), then the track ID is the AI ​​tracker's identifier. If a target is not tracked by the AI ​​tracker but is tracked by the RB tracker, then the track ID is the RB tracker's identifier. In other words, after each AI and RB detection, the target in the image is labeled with its corresponding track ID. If it is detected by the AI, the track ID of that target in the image is the identifier of the AI ​​tracker that tracked it; if it is not detected by the AI ​​but is detected by the RB, the track ID of that target in the image is the identifier of the RB tracker that tracked it.

[0083] For a target (such as a car) in an image, after AI detection and RB detection, the following situation may occur:

[0084] 1. The vehicle is equipped with a track ID.

[0085] 2. If the car is detected by AI, it will appear in the AI ​​detection results and be tracked by a single AI tracker (e.g., tracker x). Tracker x has an AI identifier (e.g., track AIx).

[0086] 2.1 If the car is not detected by RB, it will not appear in the RB detection results, and the RB identifier of tracker x will be empty.

[0087] At this point, the track identifier track id is track AIx.

[0088] 2.2 If the car is detected by RB, it will appear in the RB detection results and be tracked by a single RB tracker (e.g., tracker y). The RB identifier of tracker x is the identifier of tracker y (e.g., track RBy). For tracker y, its RB identifier is track RBy, and its AI identifier is track AIx.

[0089] At this point, the track ID is track AIx. In other words, if a target is detected by AI, regardless of whether it is detected by RB, its track ID will be the identifier of the AI ​​tracker that is tracking it.

[0090] 3. If the car is not detected by AI, it will not appear in the AI ​​detection results.

[0091] 3.1 If the car is not detected by RB, it will not appear in the RB detection results, meaning that neither AI nor RB has detected the car. In this case, neither AI nor RB has detected the car in the image, and both detection methods have missed detecting the actual target. In practical applications, this scenario is extremely unlikely, so situation 3.1 is almost non-existent and is not considered in the method of this embodiment.

[0092] 3.2 If the car is detected by RB, it will appear in the RB detection results and be tracked by a single RB tracker (e.g., tracker y). The RB identifier of tracker y is the identifier of tracker y (e.g., track RBy). Since it was not detected by AI, the AI ​​identifier of tracker y is empty.

[0093] At this point, the track identifier track id is track RBy.

[0094] In other words, if a target is detected by the RB (Rapid Detection) tracker, its tracker identifier could be either the AI ​​tracker's identifier or the RB tracker's identifier. Which one it is depends on whether the AI ​​also detects the target. If the AI ​​also detects the target (i.e., a target is detected by both AI and RB), then its tracker identifier will be the AI ​​tracker's identifier. If the AI ​​does not detect the target (i.e., only the RB detects the target), then its tracker identifier will be the RB tracker's identifier.

[0095] In summary, for a target, the tracker identifier of the target is the RB tracker identifier only if it is detected by RB alone. Otherwise (i.e., detected by AI alone, or detected by both AI and RB simultaneously), the tracker identifier of the target is the AI ​​tracker identifier.

[0096] The above analysis shows that the trackers include AI trackers and RB trackers.

[0097] The execution process of step 103 is as follows: AI detection and RB detection are performed simultaneously on the current frame image to obtain AI targets and RB targets.

[0098] Each AI target is tracked by a unique AI tracker, and each RB target is tracked by a unique RB tracker.

[0099] 104. Determine the tracker identifier and visibility status of the detected target.

[0100] In step 103, the target in the image is identified by a corresponding track ID. If the target is detected by AI, the track ID is the identifier of the AI ​​tracker tracking the target. If the target is not detected by AI but is detected by RB, the track ID is the identifier of the RB tracker tracking the target.

[0101] This step will then determine the tracker identifier and visibility status of each target detected by the AI, as well as the tracker identifier and visibility status of each target detected by the RB.

[0102] 1. Regarding tracker identification,

[0103] Since step 102 involves matching the current frame image against previous frames using a matching algorithm and determining the tracker identifier of the matched target based on the current target detection list, it means that in step 102, the same target (e.g., the same car appearing in both frames) is identified in the current frame image (e.g., the i-th frame image) and the previous frame image (e.g., the (i-1)-th frame image). For this same target (e.g., the car), the tracker identifier (track id) corresponding to the car in the (i-1)-th frame is directly assigned to the tracker identifier (track id) of the car in the i-th frame. Therefore, before executing step 104, the following situations may exist for targets in the image:

[0104] In the first case, no target is matched in step 102. In this case, no target in the current frame image corresponds to the tracker identifier track id.

[0105] In the second scenario, if a target is matched in step 102, then in the current frame image, the target matched in step 102 already corresponds to the tracker identifier track id, while the target not matched in step 102 does not correspond to the tracker identifier track id.

[0106] Therefore, when step 104 is started, the target in the current frame image may or may not correspond to a track ID.

[0107] When performing step 104,

[0108] For each AI target, if it already has a tracker identifier and the existing tracker identifier is different from the identifier of the AI ​​tracker tracking it, or if it does not have a tracker identifier, then its tracker identifier is determined to be the identifier of the AI ​​tracker tracking it.

[0109] For each RB target, if it is not detected by AI detection and there is no tracker identifier, then its tracker identifier is determined to be the identifier of the RB tracker that tracks it.

[0110] By executing step 104, a tracker identifier will be determined for each target detected by AI and each target detected by RB.

[0111] For targets detected by AI, if they have already been matched in step 102, then a corresponding tracker identifier has been assigned in step 102. If the assigned tracker identifier is the same as the identifier of the AI ​​tracker that tracked the target during AI detection, it means that the same AI tracker is tracking the target, and no processing is required. If the assigned tracker identifier is different from the identifier of the AI ​​tracker that tracked the target during AI detection, it means that two AI trackers are tracking the same target. This situation should theoretically not happen (because a target is either not detected or identified by AI, and therefore does not correspond to an AI tracker, or it is identified by AI and will be tracked by a single AI tracker; it is impossible for multiple AI trackers to track the same target). To address this anomaly, the assigned tracker identifier will be changed to the identifier of the AI ​​tracker that tracked the target during the current AI detection. If a target is not matched in step 102, then in step 104, its tracker identifier will be determined to be the identifier of the AI ​​tracker that tracked the target during AI detection.

[0112] For each RB target, if it has already been matched in step 102, then a tracker identifier has been assigned to it in step 102, and no further processing is required. If it has not been matched in step 102, it may have been detected by AI detection. If it has been detected by AI detection, a tracker identifier has been assigned to it during AI target processing, and therefore no further processing is required. Only when it is neither matched in step 102 nor detected by AI detection (i.e., neither detected by AI detection nor has a tracker identifier), will its tracker identifier be determined as the identifier of the RB tracker that tracked the target during RB detection.

[0113] Step 104 ensures the uniqueness of the tracker identifier for each detected target. Specifically, the identifier of the AI ​​tracker that is tracking it is prioritized. If the target is not tracked by the AI ​​tracker but is tracked by the RB tracker, then the identifier of the RB tracker is used.

[0114] 2. For the visible state,

[0115] Step 104 determines the visibility state of the AI ​​target and the visibility state of the RB target respectively. If a target is detected by both AI and RB, it has two visibility states: one for AI detection and one for RB detection.

[0116] Specifically,

[0117] For any AI target, if it meets the following first condition, its visibility state for AI detection is determined to be invisible; otherwise, its visibility state for AI detection is determined to be visible.

[0118] For any RB target, if it satisfies the following second condition, its visibility state for RB detection is determined to be invisible; otherwise, its visibility state for RB detection is determined to be visible.

[0119] in,

[0120] The first condition is: among frames i-1 to i-n+1, ​​there exists a frame where AI detection fails to detect the target corresponding to the AI ​​target, where i is the frame number of the current frame and n is a preset threshold. Alternatively, the AI ​​target is not detected by RB detection. Or, the number of consecutively lost frames before the current frame for the AI ​​target exceeds the threshold.

[0121] The following is a detailed explanation of each of the cases in the first condition.

[0122] 1) For frames i-1 to i-n+1, ​​there exist frames where AI detection fails to detect a target corresponding to the AI ​​target.

[0123] If the first condition is met, then among frames i-1 to i-n+1, ​​there exists a frame in which AI detection did not detect a target corresponding to the AI ​​target, and any AI target (e.g., AI target u) is the target obtained by AI detection in the current frame (e.g., the i-th frame). In other words, when performing AI detection on the i-th frame, AI target u is detected. However, when performing AI detection on frames i-1, i-2, ..., i-n+1, ​​there exists at least one frame in which the AI ​​detection result does not contain AI target u.

[0124] In other words, if the number of consecutively detected frame images for AI target u is less than n, then AI target u is considered to meet the first condition.

[0125] For example, with n=3, for any AI target (such as AI target u), since it is the AI ​​target of the current frame image (i.e., the i-th frame image), the i-th frame image must have detected AI target u during AI detection. If, in the i-1 and i-2 frames, there is one or more frames where AI target u was not detected during AI detection (e.g., AI target u was not detected during AI detection of the i-1 frame image, and / or, AI target u was not detected during AI detection of the i-2 frame image), then AI target u is considered to satisfy the first condition. If AI target u is detected during AI detection of the i-1 frame image, and also detected during AI detection of the i-2 frame image (at this point, including the i-th frame, AI target u has been detected by AI in 3 consecutive frames), then AI target u is considered not to satisfy the first condition that there exists a frame image condition where AI detection failed to detect the target corresponding to the AI ​​target in the i-1 to i-n+1 frames.

[0126] The above analysis shows that among frames i-1 to i-n+1, ​​there are frames where AI detection failed to detect the target corresponding to the AI ​​target. This indicates that the number of consecutively detected AI target u is less than the preset threshold n. Therefore, the preset threshold n limits the number of consecutive frames that can detect a certain target. If the number is less than this threshold, the number of consecutively detected AI target frames is relatively small, which is considered to meet the first condition and is considered invisible. If the number is not less than this threshold, it is determined that the condition in the first condition of "there are frames among frames i-1 to i-n+1 where AI detection failed to detect the target corresponding to the AI ​​target" is not met, but it is possible that other conditions in the first condition are met.

[0127] 2) For conditions where the AI ​​target is not detected by RB detection,

[0128] If any AI target (such as AI target u) is detected by AI but not by RB, then it satisfies the first condition, and the visibility state of AI target u in relation to AI detection is determined to be invisible.

[0129] 3) For the condition that the number of image frames continuously lost before the current frame exceeds a threshold,

[0130] If the current frame image is the i-th frame image, for any AI target (such as AI target u), although it is detected in the AI ​​detection of the i-th frame image, it is not detected in the AI ​​detection of the (i-1)-th frame image, not detected in the AI ​​detection of the (i-2)-th frame image, not detected in the AI ​​detection of the (i-3)-th frame image, ..., and is still not detected in the AI ​​detection of the i-th threshold frame image, then it is also considered to satisfy the first condition, that is, the visible state of AI target u in relation to AI detection is invisible.

[0131] The second condition is: the deletion condition is met, and the RB target is not detected by AI detection. Alternatively, the RB target is detected by AI detection.

[0132] The following is a detailed explanation of each of the cases in the second condition.

[0133] 1) For conditions that meet the deletion criteria and the RB target is not detected by AI detection,

[0134] The deletion conditions are preset, such as the target being too high or too low, too small, or exceeding the detection range. This embodiment does not limit the deletion conditions.

[0135] If an RB target (such as RB target v) is detected by RB but not by AI, then if RB target v meets the deletion condition, its visibility status relative to RB detection is invisible; if RB target v does not meet the deletion condition, its visibility status relative to RB detection is invisible.

[0136] 2) Regarding the conditions under which RB targets are detected by AI detection,

[0137] If a target is detected by Redundancy Detection (RB), then that target is an RB target. If the target is also detected by AI (AI), then that target is also an AI target. Therefore, the target will be treated as an AI target, and its visibility state for RB detection will be invisible.

[0138] When performing step 104, for a target detected by AI (i.e., the AI ​​target), if the number of consecutively detected frames is less than a preset difference threshold, or if there is no AI target matched by RB (i.e., the AI ​​target is not detected by RB detection), or if the number of AI targets recently lost exceeds the threshold (i.e., the number of image frames continuously lost by the AI ​​target before the current frame exceeds the threshold), then its visibility state for the AI-detected target is invisible. Otherwise, its visibility state for the AI-detected target is visible.

[0139] For a target detected by RB (i.e. RB target), if it meets the deletion condition and there is no RB target that AI matches it (i.e., it meets the deletion condition and the RB target is not detected by AI detection), or if it matches the corresponding RB target that AI detects (i.e., the RB target is detected by AI detection), then its visibility state for RB detection is invisible. Otherwise, its visibility state for RB detection is visible.

[0140] In other words, for any target in the image,

[0141] If an AI target is detected by AI, then it is considered an AI target. If the number of frames in which AI consistently detects the target is less than a preset difference threshold, or if recent detection loss exceeds the threshold, or if it is not detected by the RB (Real Target Detection), then it is considered invisible. Otherwise, it is visible. Therefore, a visible AI target will always be detected by the RB.

[0142] If a target is detected by Redundancy Detection (RB), meaning it is an RB target, and is also an AI target (i.e., detected by AI), then that target is invisible to RB detection. It may be invisible to AI detection (less than 3 consecutive frames, or recent detection loss exceeds a threshold), or it may be visible (at least 3 consecutive frames, and recent detection loss does not exceed a threshold). If the RB target is not detected by AI targets, then if the deletion condition is met, it is invisible to RB detection; otherwise, it is visible. Therefore, for an RB target, if it is also an AI target, it is invisible to RB detection; if it is not an AI target, it is only invisible if the deletion condition is met; otherwise, it is visible. Thus, RB targets visible to RB targets are not detected by AI.

[0143] Additionally, for each tracker, whether it's an AI tracker or a RB tracker, a corresponding counter (e.g., vanish time) is set, and the counter's initial value is 0. When performing AI detection on each frame, if no target being tracked is detected (i.e., the AI-detected target is lost), the AI ​​tracker's counter increments by 1; if a target being tracked is detected, the counter resets to 0. Similarly, when performing RB detection on each frame, if no target being tracked is detected (i.e., the RB-detected target is lost), the RB tracker's counter increments by 1; if a target being tracked is detected, the counter resets to 0. Therefore, the number of continuously lost image frames can be determined from the tracker's counter value; that is, the number of continuously lost image frames before the current frame is the counter value in the AI ​​tracker tracking the AI ​​target.

[0144] 105. Update the list of detected targets based on tracker identifiers and visibility status.

[0145] After executing step 104, every AI target visible to AI is also detected by RB. Conversely, every RB target visible to RB is not detected by AI.

[0146] So when executing step 105,

[0147] For any AI target, if its visibility status for AI detection is visible, and the number of consecutive frames detected by the RB exceeds a preset frame threshold, and the current target detection list includes any AI target, then its latest status information is obtained and updated in the target detection list. Furthermore, if the tracker identifier corresponding to any AI target in the current target detection list is different from the tracker identifier of any AI target, then the tracker identifier of any AI target is also updated in the target detection list. Alternatively, if any AI target's visibility status for AI detection is visible, and the number of consecutive frames detected by the RB exceeds a preset frame threshold, and the current target detection list does not include any AI target, then its latest status information is obtained, and any AI target, its tracker identifier, and its latest status information are added to the target detection list.

[0148] For any RB target, if its visibility status for RB detection is visible, and the current target detection list includes any RB target, then its latest status information is obtained and updated in the target detection list. Alternatively, if any RB target's visibility status for RB detection is visible, and the current target detection list does not include any RB target, then its latest status information is obtained, and any RB target, the tracker identifier, and its latest status information are added to the target detection list.

[0149] The status information includes, but is not limited to, one or more of the following: size, center point, direction, and type.

[0150] In other words, for any AI target, its visibility status for AI detection can be either visible or invisible. If its visibility status for AI detection is invisible, it is not processed. If its visibility status for AI detection is visible, it is also not processed if the number of consecutive frames detected by the RB does not exceed a preset frame threshold. Processing only occurs when its visibility status for AI detection is visible and the number of consecutive frames detected by the RB exceeds the preset frame threshold. The processing procedure is as follows: obtain its latest status information and then update the detection target list. The process of updating the detection target list is as follows: 1) If the current detection target list does not include any AI target, add any AI target, its tracker identifier, and its latest status information to the detection target list. 2) If the current detection target list includes any AI target, and the tracker identifier corresponding to any AI target in the current detection target list is the same as the tracker identifier of any AI target, update the latest status information to the detection target list. 3) If the current target detection list includes any AI target, and the tracker identifier corresponding to any AI target in the current target detection list is different from the tracker identifier of any AI target, update the tracker identifier of any AI target and the latest status information to the target detection list.

[0151] For any RB target, its visibility status for RB detection can be either visible or invisible. If its visibility status for RB detection is invisible, it is not processed. If its visibility status for RB detection is visible, the following processing is performed: obtain its latest status information, and then update the target detection list. The process of updating the target detection list is as follows: 1) If the current target detection list does not include any RB target, add any RB target, its tracker identifier, and its latest status information to the target detection list. 2) If the current target detection list includes any RB target, update the latest status information to the target detection list.

[0152] During step 105, the latest status of valid targets in the current frame image is updated to the detection target list, ensuring that the detection target list after each step 105 is the latest detection target list. This frame-by-frame update ensures that the final detection target list contains no duplicates, no omissions, and that the information is up-to-date.

[0153] During the update process,

[0154] A. If an object in the image is detected by AI, i.e., it is an AI target, then...

[0155] A.1 If it is visible to AI detection (because in step 104, a target visible to AI detection will definitely be detected by RB, so the AI ​​target must also be an RB target at this time), and the number of consecutive frames detected by RB detection is less than a preset frame threshold (e.g., the preset frame threshold is 3, that is, its visible state to AI detection is visible, and it is detected when performing RB detection on the i-1 frame image and the i-2 frame image), then it is a valid target, and its latest state information will be obtained.

[0156] a. If the target already exists in the current target detection list (i.e., the target has already been identified), then

[0157] If the tracker identifier corresponding to the target in the current target detection list is the same as the tracker identifier determined in step 104, then only the status information (such as size, center point, direction, type) needs to be updated. Therefore, the status information of the target in the target detection list will be updated to the latest status information.

[0158] If the tracker identifier corresponding to the target in the current detection target list is different from the tracker identifier determined in step 104, the tracker identifier and status information need to be updated to ensure that the tracker identifier of each target is the identifier of the AI ​​tracker that tracks it. Therefore, the status information of the target in the detection target list will be updated to the latest status information, and the tracker identifier of the target will be updated to the tracker identifier determined in step 104.

[0159] b. If the target does not exist in the current target detection list (i.e., a newly identified target), then the target should be added to the target detection list, that is, the target, the tracker identifier and its latest status information should be added to the target detection list.

[0160] A.2. If it is not visible to AI detection, it means it is not a valid target and will not be processed.

[0161] B. If a target in the image is detected by RB, i.e., it is an RB target, then...

[0162] B.1 If its visible state for RB detection is visible (because in step 104, a target visible for RB detection will definitely not be detected by RB, so at this time the RB target is definitely not an AI target, and in the above 1 processing of AI targets, the RB target visible for RB detection will not be processed), then it is also a valid target, and its latest state information will be obtained.

[0163] a. If the target already exists in the current target detection list (i.e., the target has already been identified), then update the latest status information to the target detection list.

[0164] In this situation, because the target was not detected by the AI ​​(i.e., it's only a Replica Tracker (RB) target), but it exists in the current target detection list, it means that the target was detected before the current frame. This detection could have been by the AI ​​(in which case the tracker identifier corresponding to the target in the current target detection list should be the identifier of the AI ​​tracker that tracked the target, but the target was not detected by the AI ​​in the current frame, meaning the AI ​​tracker did not track the target. If the AI ​​had detected the target in at least one previous frame, the tracker identifier corresponding to the target in the current target detection list would be the identifier of the AI ​​tracker that tracked the target), or it could have been detected by the RB (in which case the tracker identifier corresponding to the target in the current target detection list should be the identifier of the RB tracker that tracked the target. This situation means that no AI detected the target in any frame before the current frame, but at least one RB detected the target).

[0165] If the target was previously detected by AI, then the tracker identifier corresponding to that target in the current target detection list will be the identifier of the AI ​​tracker that tracked the target. However, the tracker identifier determined in step 104 is the identifier of the RB tracker, and the two are definitely different. But in order to ensure that the tracker of the target in the tracking image is preferably the AI ​​tracker, in this case, the tracker identifier will not be updated. This is because once updated, the correct identifier (the tracker identifier corresponding to the target in the current target detection list, i.e., the identifier of the AI ​​tracker that previously tracked the target) will be updated to the identifier of the RB tracker (i.e., the tracker identifier determined in step 104).

[0166] If the target was previously detected only by RB, then the tracker identifier corresponding to the target in the current target list is the identifier of the RB tracker that tracks the target. The tracker identifier determined in step 104 is also the identifier of the RB tracker. Since they are the same, there is no need to update the tracker identifier.

[0167] Therefore, if the target already exists in the current target detection list, the tracker identifier will not be updated. Instead, the latest status information will be updated to the target detection list. In other words, the target's status information in the target detection list will be updated to the latest status information.

[0168] In practical implementation, this situation can also be implemented in another way, namely, based on the AI ​​identifier of the RB tracker. Specifically, for an RB tracker, it has two identifiers: an RB identifier and an AI identifier. If the RB tracker corresponding to the tracker identifier of the target is determined in step 104, and the AI ​​identifier of the corresponding RB tracker is not empty, it means that the target was detected by both AI detection and RB detection in the current frame. Then, compare whether the AI ​​identifier of the corresponding RB tracker is consistent with the tracker identifier corresponding to the target in the current detection target list. If they are consistent, only the latest state information needs to be updated to the detection target list, that is, the state information of the target in the detection target list is updated to the latest state information. If they are inconsistent, the tracker identifier and state information can be updated to ensure that the tracker identifier of each target is the identifier of the AI ​​tracker tracking it. Therefore, the state information of the target in the detection target list will be updated to the latest state information, and the tracker identifier of the target will be updated to the AI ​​identifier of the RB tracker corresponding to the tracker identifier determined in step 104.

[0169] b. If the target does not exist in the current target detection list (i.e., a newly identified target), then the target should be added to the target detection list, that is, the target, the tracker identifier and its latest status information should be added to the target detection list.

[0170] B.2. If it is not visible to RB detection, it means that it is not a valid target and no processing is performed.

[0171] At this point in the execution, for a target in the current frame image, there are four possible scenarios:

[0172] The first scenario: The target is detected by both AI and RB.

[0173] In the first case, when it is visible to AI, its latest information will be updated in the list of detected targets.

[0174] The second scenario: The target was detected by AI, but not by RB.

[0175] In the second case, the target will be considered invisible to the AI ​​in step 104, and its information will not be updated in the list of detected targets.

[0176] The third scenario: The target was not detected by AI, but was detected by RB.

[0177] In the third case, when it is visible to RB, its latest information will be updated in the list of detected targets.

[0178] The fourth scenario is that the target was neither detected by the AI ​​nor by the RB.

[0179] In the fourth scenario, the target is not detected, and therefore its information will not be updated in the list of detected targets.

[0180] The list of detection targets obtained after step 105 is the latest complete list of detection targets without duplicates.

[0181] The obstacle detection target list generation method provided in this embodiment acquires the current frame image and the current target list; performs frame-to-frame matching on the current frame image using a matching algorithm, and determines the tracker identifier of the matched target based on the current target list; performs target detection on the current frame image; determines the tracker identifier and visibility state of the detected target; and updates the target list based on the tracker identifier and visibility state. This method updates the target list based on the tracker identifier and visibility state, ensuring that each target is detected, tracked, and output, guaranteeing no target is missed. It achieves the goal of collecting and outputting only one detection state for each actual target, meaning that even if there are multiple detections for an actual target, only one detection state is output.

[0182] Based on the same inventive concept as the obstacle detection target list generation method, this embodiment provides an electronic device, which, as... Figure 2 As shown, it includes: a memory 201, a processor 202, and a computer program.

[0183] The computer program is stored in memory 201 and configured to be executed by processor 202 to implement the obstacle detection target list generation method described above.

[0184] Specifically,

[0185] Get the current frame image and the current list of detected targets.

[0186] The matching algorithm performs frame-by-frame matching on the current frame image, and determines the tracker identifier of the matched target based on the current list of detected targets.

[0187] Perform object detection on the current frame image.

[0188] Determine the tracker identifier and visibility status of the detected target.

[0189] Update the list of detected targets based on tracker identifiers and visibility status.

[0190] Optionally, the list of detected targets includes one or more targets, each target corresponding to a tracker identifier.

[0191] The matching algorithm performs frame-by-frame matching on the current frame image, and based on the current list of detected targets, determines the tracker identifier of the matched target, including:

[0192] The Hungarian matching algorithm is used to match the current frame with the previous frame, and the target that is the same as the target in the previous frame is matched.

[0193] If the current target detection list includes the matched target, then the tracker identifier corresponding to the matched target in the current target detection list will be determined as the tracker identifier of the matched target.

[0194] Optionally, the trackers include artificial intelligence (AI) trackers and rule-based (RB) trackers.

[0195] Perform object detection on the current frame image, including:

[0196] Simultaneously perform AI detection and RB detection on the current frame image to obtain AI targets and RB targets.

[0197] Each AI target is tracked by a unique AI tracker, and each RB target is tracked by a unique RB tracker.

[0198] Optionally, the tracker identifier of the detected target is determined, including:

[0199] For each AI target, if it already has a tracker identifier and the existing tracker identifier is different from the identifier of the AI ​​tracker tracking it, or if it does not have a tracker identifier, then its tracker identifier is determined to be the identifier of the AI ​​tracker tracking it.

[0200] For each RB target, if it is not detected by AI detection and there is no tracker identifier, then its tracker identifier is determined to be the identifier of the RB tracker that tracks it.

[0201] Optionally, the visibility status of the detected target is determined, including:

[0202] For any AI target, if it meets the following first condition, its visibility state for AI detection is determined to be invisible; otherwise, its visibility state for AI detection is determined to be visible.

[0203] For any RB target, if it satisfies the following second condition, its visibility state for RB detection is determined to be invisible; otherwise, its visibility state for RB detection is determined to be visible.

[0204] in,

[0205] The first condition is:

[0206] Among the i-1 to i-n+1 frames, there are frames where AI detection did not detect the target corresponding to the AI ​​target, where i is the frame number of the current frame and n is a preset threshold.

[0207] or,

[0208] The AI ​​target was not detected by RB detection.

[0209] or,

[0210] The AI ​​target is when the number of image frames continuously lost before the current frame exceeds a threshold.

[0211] The second condition is:

[0212] The deletion conditions are met, and the RB target was not detected by AI detection.

[0213] or,

[0214] The RB target was detected by AI detection.

[0215] Optionally, the AI ​​tracker includes a counter, with an initial value of 0.

[0216] For any given frame, if no target tracked by the AI ​​tracker is detected during AI detection, the counter is incremented by 1. If a target tracked by the AI ​​tracker is detected, the counter is reset to 0.

[0217] The number of image frames that the AI ​​target continuously loses before the current frame image is the value of a counter in the AI ​​tracker that tracks the AI ​​target.

[0218] Optionally, the list of detected targets is updated based on the tracker identifier and visibility status, including:

[0219] For any AI target, if its visibility status for AI detection is visible, and the number of consecutive frames detected by RB exceeds a preset frame threshold, and the current target detection list includes any AI target, then its latest status information is obtained, and the latest status information is updated to the target detection list. Furthermore, if the tracker identifier corresponding to any AI target in the current target detection list is different from the tracker identifier of any AI target, the tracker identifier of any AI target is also updated to the target detection list.

[0220] For any RB target, if its visibility status for RB detection is visible and the current target detection list includes any RB target, then obtain its latest status information and update the target detection list with the latest status information.

[0221] Optionally, the list of detected targets is updated based on the tracker identifier and visibility status, including:

[0222] For any AI target, if its visibility status for AI detection is visible, and the number of consecutive frames detected by RB exceeds a preset frame threshold, and the current target detection list does not include any AI target, then its latest status information is obtained, and any AI target, tracker identifier, and its latest status information are added to the target detection list.

[0223] For any RB target, if its visibility status for RB detection is visible and the current target detection list does not include any RB target, then obtain its latest status information and add any RB target, tracker identifier, and its latest status information to the target detection list.

[0224] Optionally, the status information includes one or more of the following: size, center point, orientation, and type.

[0225] The electronic device provided in this embodiment has a computer program executed by a processor to obtain the current frame image and the current list of detected targets; it performs frame-by-frame matching on the current frame image using a matching algorithm, and determines the tracker identifier of the matched target based on the current list of detected targets; it performs target detection on the current frame image; it determines the tracker identifier and visibility status of the detected targets; and it updates the list of detected targets based on the tracker identifier and visibility status. Updating the list of detected targets based on the tracker identifier and visibility status ensures that each target is detected, tracked, and output, guaranteeing that no target is missed. This achieves the goal of collecting and outputting only one detection status for each actual target, meaning that even if there are multiple detections for an actual target, only one detection status is output.

[0226] Based on the same inventive concept as the obstacle detection target list generation method, this embodiment provides a computer on which a computer program is stored. The computer program is executed by a processor to implement the above-described obstacle detection target list generation method.

[0227] Specifically,

[0228] Get the current frame image and the current list of detected targets.

[0229] The matching algorithm performs frame-by-frame matching on the current frame image, and determines the tracker identifier of the matched target based on the current list of detected targets.

[0230] Perform object detection on the current frame image.

[0231] Determine the tracker identifier and visibility status of the detected target.

[0232] Update the list of detected targets based on tracker identifiers and visibility status.

[0233] Optionally, the list of detected targets includes one or more targets, each target corresponding to a tracker identifier.

[0234] The matching algorithm performs frame-by-frame matching on the current frame image, and based on the current list of detected targets, determines the tracker identifier of the matched target, including:

[0235] The Hungarian matching algorithm is used to match the current frame with the previous frame, and the target that is the same as the target in the previous frame is matched.

[0236] If the current target detection list includes the matched target, then the tracker identifier corresponding to the matched target in the current target detection list will be determined as the tracker identifier of the matched target.

[0237] Optionally, the trackers include artificial intelligence (AI) trackers and rule-based (RB) trackers.

[0238] Perform object detection on the current frame image, including:

[0239] Simultaneously perform AI detection and RB detection on the current frame image to obtain AI targets and RB targets.

[0240] Each AI target is tracked by a unique AI tracker, and each RB target is tracked by a unique RB tracker.

[0241] Optionally, the tracker identifier of the detected target is determined, including:

[0242] For each AI target, if it already has a tracker identifier and the existing tracker identifier is different from the identifier of the AI ​​tracker tracking it, or if it does not have a tracker identifier, then its tracker identifier is determined to be the identifier of the AI ​​tracker tracking it.

[0243] For each RB target, if it is not detected by AI detection and there is no tracker identifier, then its tracker identifier is determined to be the identifier of the RB tracker that tracks it.

[0244] Optionally, the visibility status of the detected target is determined, including:

[0245] For any AI target, if it meets the following first condition, its visibility state for AI detection is determined to be invisible; otherwise, its visibility state for AI detection is determined to be visible.

[0246] For any RB target, if it satisfies the following second condition, its visibility state for RB detection is determined to be invisible; otherwise, its visibility state for RB detection is determined to be visible.

[0247] in,

[0248] The first condition is:

[0249] Among the i-1 to i-n+1 frames, there are frames where AI detection did not detect the target corresponding to the AI ​​target, where i is the frame number of the current frame and n is a preset threshold.

[0250] or,

[0251] The AI ​​target was not detected by RB detection.

[0252] or,

[0253] The AI ​​target is when the number of image frames continuously lost before the current frame exceeds a threshold.

[0254] The second condition is:

[0255] The deletion conditions are met, and the RB target was not detected by AI detection.

[0256] or,

[0257] The RB target was detected by AI detection.

[0258] Optionally, the AI ​​tracker includes a counter, with an initial value of 0.

[0259] For any given frame, if no target tracked by the AI ​​tracker is detected during AI detection, the counter is incremented by 1. If a target tracked by the AI ​​tracker is detected, the counter is reset to 0.

[0260] The number of image frames that the AI ​​target continuously loses before the current frame image is the value of a counter in the AI ​​tracker that tracks the AI ​​target.

[0261] Optionally, the list of detected targets is updated based on the tracker identifier and visibility status, including:

[0262] For any AI target, if its visibility status for AI detection is visible, and the number of consecutive frames detected by RB exceeds a preset frame threshold, and the current target detection list includes any AI target, then its latest status information is obtained, and the latest status information is updated to the target detection list. Furthermore, if the tracker identifier corresponding to any AI target in the current target detection list is different from the tracker identifier of any AI target, the tracker identifier of any AI target is also updated to the target detection list.

[0263] For any RB target, if its visibility status for RB detection is visible and the current target detection list includes any RB target, then obtain its latest status information and update the target detection list with the latest status information.

[0264] Optionally, the list of detected targets is updated based on the tracker identifier and visibility status, including:

[0265] For any AI target, if its visibility status for AI detection is visible, and the number of consecutive frames detected by RB exceeds a preset frame threshold, and the current target detection list does not include any AI target, then its latest status information is obtained, and any AI target, tracker identifier, and its latest status information are added to the target detection list.

[0266] For any RB target, if its visibility status for RB detection is visible and the current target detection list does not include any RB target, then obtain its latest status information and add any RB target, tracker identifier, and its latest status information to the target detection list.

[0267] Optionally, the status information includes one or more of the following: size, center point, orientation, and type.

[0268] The computer-readable storage medium provided in this embodiment contains a computer program executed by a processor to obtain a current frame image and a current list of detected targets; it performs frame-by-frame matching on the current frame image using a matching algorithm, and determines the tracker identifier of the matched target based on the current list of detected targets; it performs target detection on the current frame image; it determines the tracker identifier and visibility state of the detected targets; and it updates the list of detected targets based on the tracker identifier and visibility state. The method provided in this application updates the list of detected targets based on the tracker identifier and visibility state, ensuring that each target is detected, tracked, and output, guaranteeing no target is missed. It achieves the goal of collecting and outputting only one detection state for a single actual target, meaning that even if a single actual target may have multiple detections, only one detection state is output.

[0269] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. The solutions in the embodiments of this application can be implemented in various computer languages, such as the object-oriented programming language Java and the interpreted scripting language JavaScript.

[0270] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0271] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0272] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0273] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.

[0274] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. An obstacle detection target list generation method characterized by comprising: The method comprises: obtaining a current frame image and a current detection target list; performing front and back frame matching on the current frame image through a matching algorithm, and determining a tracker identifier of a matched target based on the current detection target list; the tracker comprises an artificial intelligence (AI) tracker and a rule base (RB) tracker; performing target detection on the current frame image, comprising: simultaneously performing AI detection and RB detection on the current frame image to obtain AI targets and RB targets; wherein each AI target is tracked by a unique AI tracker, and each RB target is tracked by a unique RB tracker; determining a tracker identifier and a visible state of a target detected by target detection; wherein determining the visible state of the target detected by target detection comprises: for any AI target, if the AI target satisfies the following first condition, determining that the visible state of the AI target for AI detection is invisible, otherwise determining that the visible state of the AI target for AI detection is visible; for any RB target, if the RB target satisfies the following second condition, determining that the visible state of the RB target for RB detection is invisible, otherwise determining that the visible state of the RB target for RB detection is visible; wherein the first condition is that among i-1 frame images to i-n+1 frame images, there is a frame image in which a target corresponding to the AI target is not detected by AI detection, wherein i is a frame number of the current frame image, and n is a preset threshold; or the AI target is not detected by RB detection; or the number of image frames in which the AI target is continuously lost before the current frame image exceeds a threshold; the second condition is that a deletion condition is satisfied, and the RB target is not detected by AI detection; or the RB target is detected by AI detection; updating the detection target list according to the tracker identifier and the visible state.

2. The method of claim 1, wherein, The detection target list comprises one or more targets, and each target corresponds to a tracker identifier; The method comprises: performing front and back frame matching on the current frame image through a Hungarian matching algorithm to match the same target as the previous frame; if the current detection target list comprises the matched target, determining the tracker identifier corresponding to the matched target in the current detection target list as the tracker identifier of the matched target.

3. The method of claim 1, wherein, The method comprises: for each AI target, if the AI target already has a tracker identifier, and the existing tracker identifier is different from the identifier of the AI tracker tracking the AI target, or the AI target does not have a tracker identifier, determining the tracker identifier of the AI target as the identifier of the AI tracker tracking the AI target; for each RB target, if the RB target is not detected by AI detection and does not have a tracker identifier, determining the tracker identifier of the RB target as the identifier of the RB tracker tracking the RB target.

4. The method of claim 1, wherein, The AI tracker comprises a counter, and the initial value of the counter is 0. For any frame image, if the AI tracker does not detect the target tracked by the AI tracker when performing AI detection on the any frame image, the counter is incremented by 1; if the AI tracker detects the target tracked by the AI tracker, the counter is reset to 0. The number of image frames for which the AI target is continuously lost before the current frame image is the value of the counter in the AI tracker tracking the AI target.

5. The method of claim 1, wherein, The updating of the detection target list according to the tracker identifier and the visible state comprises: For any AI target, if the visible state thereof for AI detection is visible, and the number of frames in which the AI target is continuously detected by the RB exceeds a preset frame threshold, and the current detection target list includes the AI target, the latest state information of the AI target is obtained, and the latest state information is updated to the detection target list; and if the tracker identifier of the AI target in the current detection target list is different from the tracker identifier of the AI target, the tracker identifier of the AI target is also updated to the detection target list. For any RB target, if the visible state thereof for RB detection is visible, and the current detection target list includes the RB target, the latest state information of the RB target is obtained, and the latest state information is updated to the detection target list.

6. The method of claim 1, wherein, The updating of the detection target list according to the tracker identifier and the visible state comprises: For any AI target, if the visible state thereof for AI detection is visible, and the number of frames in which the AI target is continuously detected by the RB exceeds a preset frame threshold, and the current detection target list does not include the AI target, the latest state information of the AI target is obtained, and the AI target, the tracker identifier, and the latest state information of the AI target are added to the detection target list. For any RB target, if the visible state thereof for RB detection is visible, and the current detection target list does not include the RB target, the latest state information of the RB target is obtained, and the RB target, the tracker identifier, and the latest state information of the RB target are added to the detection target list.

7. The method according to claim 5 or 6, characterized in that, The state information comprises one or more of the following: size, center point, direction, and type.

8. An electronic device, comprising: The method comprises: a memory; a processor; and a computer program; wherein the computer program is stored in the memory and configured to be executed by the processor to implement the method of any one of claims 1-7.

9. A computer-readable storage medium, characterized in that, a computer program is stored in the memory and configured to be executed by the processor to implement the method of any one of claims 1-7.

Citation Information

Patent Citations

  • Real-time water surface ship visual tracking system and method thereof

    CN110992403A

  • Floating obstacle detection method and device, electronic equipment and storage medium

    CN115792945A