A computer-implemented method for tracking an object, a device for tracking an object, and a system for tracking an object

By receiving real-time video feeds and adjusting the probability threshold of existence, the proximity module and the tracking extension module continue to track the target when the detection module cannot detect it, solving the problem of image recognition failure when tracking the target at close range, and improving tracking accuracy and collision prevention capabilities.

CN119013696BActive Publication Date: 2025-08-01CONTINENTAL AUTONOMOUS MOBILITY GERMANY GMBH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380030769.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-03-02
Filing Date
2023-02-22
Publication Date
2025-08-01
Estimated Expiration
2043-02-22

AI Technical Summary

Technical Problem

When the prior art tracks targets at close range, image recognition technology fails, resulting in the vehicle being unable to effectively track targets and increasing the risk of collision.

Method used

By receiving real-time video feeds, the probability of the object's existence in the video frame is determined, the probability of existence is adjusted, and the probability threshold of the close-range module and the tracking extension module continue to track the target when the detection module cannot detect it. Various close-range conditions and collision time predictions are used to extend the tracking.

Benefits of technology

Improves the accuracy of target tracking at close range, reduces computing resource consumption, and can effectively track targets within 3 meters to 6 meters, prevents collisions, and reduces training costs. It is suitable for various camera-based tracking applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119013696B_ABST
    Figure CN119013696B_ABST
Patent Text Reader

Abstract

According to various embodiments, a computer-implemented method for tracking an object is provided. The method includes: receiving a real-time video feed. The method further includes, for each frame of the video feed: determining a probability of the object's presence in the frame; determining whether the probability of the object's presence in the frame is below a probability threshold; determining whether the object meets a set of proximity criteria based on determining that the presence probability is below the probability threshold; and generating an adjusted presence probability based on the determination of whether the object meets the set of proximity criteria.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Various embodiments relate to a computer-implemented method for tracking an object, an apparatus for tracking an object, and a system for tracking an object. Background Art

[0002] Tracking targets, such as vehicles ahead, is useful for avoiding collisions. Vehicles typically detect and track targets by applying image recognition technology to images captured by a vehicle-mounted camera. However, when a target approaches the camera, the vehicle may lose track of the target. When a target approaches the camera, the image of the target may become out of focus, or the target may be only partially captured in the image. This renders conventional image recognition technology ineffective in identifying the target and, consequently, impacts the vehicle's ability to track the target.

[0003] In view of the above, a solution is needed to address the challenge of tracking targets at close range. Summary of the Invention

[0004] According to various embodiments, a computer-implemented method for tracking an object is provided. The method includes receiving a real-time video feed. The method further includes determining, for each frame of the video feed, a probability of presence of the object in the frame; determining whether the probability of presence of the object in the frame is below a probability threshold; determining whether the object meets a set of proximity criteria based on determining that the probability of presence is below the probability threshold; and generating an adjusted probability of presence based on the determination of whether the object meets the set of proximity criteria.

[0005] According to various embodiments, a non-transitory computer-readable storage medium is provided, which includes instructions that, when executed by a processor, perform the above-described computer-implemented method.

[0006] According to various embodiments, a device for tracking an object is provided. The device includes the non-transitory computer-readable storage medium described above and at least one processor. The at least one processor can be coupled to the non-transitory computer-readable storage medium and can be configured to perform the computer-implemented method described above.

[0007] According to various embodiments, a system for tracking an object is provided. The system includes the above-mentioned device and a camera configured to capture the video feed.

[0008] Additional features of advantageous embodiments are provided in the dependent claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] In the accompanying drawings, throughout the different views, the same reference numerals generally refer to the same parts. The drawings are not necessarily to scale, but generally focus on showing the principles of the present invention. In the following description, various embodiments are described with reference to the following drawings, in which:

[0010] Figure 1 A conceptual diagram of a tracking device according to various embodiments is shown.

[0011] Figure 2 A conceptual diagram of a system for tracking an object according to various embodiments is shown.

[0012] Figure 3 A conceptual diagram of a storage medium according to various embodiments is shown.

[0013] Figure 4A and Figure 4B An example of an image processed to track a target according to various embodiments is shown.

[0014] Figure 5 A flowchart of a computer-implemented method for tracking an object according to various embodiments is shown.

[0015] Figure 6A and Figure 6B Collectively show a flowchart of a method for tracking an object according to various embodiments. Detailed Description

[0016] The embodiments described below in the context of a device are similarly applicable to the corresponding methods, and vice versa. In addition, it should be understood that the embodiments described below can be combined. For example, a part of one embodiment can be combined with a part of another embodiment.

[0017] It should be understood that any property described herein for a particular device can also apply to any device described herein. It should be understood that any property described herein for a particular method can also apply to any method described herein. In addition, it should be understood that for any device or method described herein, not all of the described components or steps necessarily have to be included in that device or method, but only some (not all) of the components or steps can be included.

[0018] The term "coupled" (or "connected") herein can be understood as electrically coupled or mechanically coupled (e.g., attached or fixed), or merely in contact without any fixation, and it should be understood that both direct coupling and indirect coupling (in other words: coupling without direct contact) can be provided.

[0019] In this context, a device as described in this specification may include a memory, which is used, for example, in the processing executed in the device. The memory used in an embodiment may be a volatile memory such as DRAM (Dynamic Random Access Memory), or a non-volatile memory such as PROM (Programmable Read-Only Memory), EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), or flash memory such as floating-gate memory, charge-trapping memory, MRAM (Magnetoresistive Random Access Memory), or PCRAM (Phase-Change Random Access Memory). The memory may include a non-transitory storage medium.

[0020] The term "object" being tracked may also be interchangeably referred to as "target" herein.

[0021] To facilitate understanding of the present invention and put it into practice, various embodiments will now be described by way of example and not limitation with reference to the accompanying drawings.

[0022] Figure 1 A conceptual diagram of a tracking device 100 according to various embodiments is shown. The tracking device 100 may also be referred to herein as a device for tracking an object. The tracking device 100 may include a storage medium 102 and a processor 104. The tracking device 100 may include additional processors 104. The storage medium 102 may be a non-transitory computer-readable storage medium. The storage medium 102 may include at least one memory. The storage medium 102 and the processor 104 may be coupled to each other via a coupling line 110, such as electrically and / or communicatively coupled. The processor 104 may be configured to execute a method for tracking an object regarding Figure 5 and Figure 6A and Figure 6B described.

[0023] Figure 2 A conceptual diagram of a system 200 for tracking an object according to various embodiments is shown. The system 200 may include the device 100. The system 200 may further include a camera 306 configured to capture an image. The camera 306 may be configured to capture a video feed including a sequence of images. The device 100 and the camera 306 may be coupled to each other via a coupling line 130, such as electrically and / or communicatively coupled.

[0024] According to various embodiments, the device 100 may be provided on a vehicle (referred to herein as the present vehicle). In an alternative embodiment, the device 100 may be provided separately from the present vehicle, such as on a remote server or a cloud server.

[0025] According to various embodiments, the system 200 may be at least partially provided on the present vehicle.

[0026] Figure 3 FIG. 1 shows a conceptual diagram of a storage medium 102 according to various embodiments. The storage medium 102 may include a detection module 112, a tracking extension module 114, a probability of existence (PoE) module 116, and a proximity module 118. At least one of the detection module 112, the tracking extension module 114, the PoE module 116, and the proximity module 118 may be a computer algorithm stored on the storage medium 102 and executable by a processor 104. In alternative embodiments, at least one of the detection module 112, the tracking extension module 114, the PoE module 116, and the proximity module 118 may be stored on a different storage medium 102. The detection module 112 may be configured to detect and classify an object in an image captured by a camera (e.g., camera 306) based on image processing and recognition techniques. The PoE module 116 may be configured to determine the PoE of the object based on the output from the detection module 112. The PoE module 116 may further determine the PoE based on other information such as the age of the object and inputs from other sensors on the vehicle. The PoE indicates a measure of the certainty (i.e., probability) of the existence of the object. The proximity module 118 may be configured to determine whether the object is within a predefined distance of the vehicle. The tracking extension module 114 may be configured to modify the PoE determined by the PoE module 116 at least in part based on the output of the proximity module 118. The tracking extension module 114 may extend the duration of tracking the object 402 by the tracking device 100 at least in part based on determining that the object is in the proximity of the camera. The detection module 112, the tracking extension module 114, the PoE module 116, and the proximity module 118 may be coupled to each other via a coupling line 140, such as electrically and / or communicatively coupled.

[0027] Figure 4A and Figure 4B FIG. 2 shows an example of an image processed to track an object 402 according to various embodiments. The image may be captured by a camera (such as camera 306) on the vehicle. The tracking device 100 may receive the image from the camera 306 and may detect the object 402 based on the received image. For example, the detection module 112 of the tracking device 100 may discern the features of the object 402 in the image, thereby identifying the object 402 based on the discerned features. These features may include, for example, the contour of the object 402, the characteristic shape and color of parts of the object 402.

[0028] Reference Figure 4A, when the target 402 is far from the host vehicle, the camera 306 can capture an image 400A that includes the entire contour of the target 402. In this example, the target 402 is more than 10 meters away from the host vehicle. The detection module 112 can identify the overall shape of the target 402, thereby generating a bounding box 404 around the target 402 in the image 400A. The PoE module 116 may output a high PoE based on the detection result because the detection module 112 indicates a high confidence in detecting the target 402.

[0029] Reference Figure 4B , when the target 402 approaches the host vehicle, a part of the target 402 is outside the field of view of the camera 306. In this example, the target 402 is less than 10 meters away from the host vehicle. As the host vehicle and the target 402 move relative to each other such that the distance between them shortens, the features of the target 402 are magnified in the camera image (as shown in the image 400B). The overall shape of the target 402 cannot be seen in the image 400B. Therefore, the detection module 112 may not be able to detect and / or identify the target 402. Accordingly, the PoE module 116 may output a low PoE based on the detection result because the detection module 112 indicates a low confidence in detecting the target 402. When the target 402 moves even closer to the host vehicle, it may become increasingly difficult for the detection module 112 to detect the target 402, and thus, the PoE module 116 may further decrease the PoE it determines. If the PoE module 116 continues to decrease the PoE it determines until the PoE reaches a minimum threshold, the tracking device 100 may stop tracking the target 402. This can be a dangerous outcome because the target 402 not only exists but is also in the close proximity of the host vehicle and thus poses a collision threat to the host vehicle. To overcome this problem, the tracking device 100 can include a close - range module 118 and a tracking extension module 114. The close - range module 118 can determine whether the target 402 is within a predefined close - range of the host vehicle based on a plurality of close - range conditions. Figure 6A The 610 of will describe these close - range conditions. When the close - range module 118 determines that the target 402 is within the close - range, the tracking extension module 114 can modify or override the output PoE of the detection module 112 in order to continue tracking the target 402. The tracking extension module 114 can assist the tracking device 100 in tracking the target 402 for a longer duration by adjusting the PoE value of the target, even when there are no available detection results for multiple frames of the video feed.

[0030] Figure 5A flowchart of a computer-implemented method 500 for tracking an object according to various embodiments is shown. The object to be tracked may also be referred to as a target herein. The method 500 can address the lack of detection results at close range by further tracking the detection results even when the detection module 112 fails to detect or identify the target. The method 500 may include: determining whether the target is within the close range of the host vehicle, and then overriding the lack of detection results of the detection module when it is determined that the target is within the close range of the host vehicle within an extended prediction time limit.

[0031] The method 500 may include: receiving a real-time video feed at 502. The method 500 may further include determining the PoE of the object in each frame of the video feed at 504. The PoE indicates the confidence level of the object's presence and may be determined by the detection module 112. The detection module 112 may receive the video feed as input and may generate a detection result as output. The PoE module 116 may receive the detection result from the detection module 112 and may generate the PoE as output. The method 500 may further include: determining at 506 whether the PoE of the object in the frame is below a probability threshold (P T ). The method 500 may further include: determining at 508 whether the object meets a set of close-range criteria based on determining that the PoE is below P T . The method 500 may further include: generating an adjusted PoE at 510 based on the determination of whether the object meets the set of close-range criteria. Each of 504, 506, 508, 510 may be performed for each frame of the video feed and may be performed by the tracking extension module 114.

[0032] The method 500 can continuously track the object based on the current scene (as captured by the current frame of the video feed) rather than relying solely on the predicted future position. This improves the accuracy of tracking. Moreover, the computational cost in terms of resources and time is less because the algorithm involves simple arithmetic operations and can effectively track the object at very close ranges. The method 500 can be capable of tracking the target even when it is 3 to 6 meters or even closer to the host vehicle. The method 500 may not depend solely on the specific characteristics of the target and thus may not be limited to tracking a specific type of object. The method 500 may further determine the probability of the object's presence based on at least one of vehicle dynamics, cameras, environmental parameters, etc. The method 500 addresses the challenges faced in close-range tracking and can thus help prevent collisions.

[0033] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, generating the adjusted PoE can be further based on the difference between the adjusted probability of the object in the previous frame and the PoE of the object in the frame. In other words, the adjusted PoE can be generated at least in part based on the change in PoE since the previous time instance. For example, a sharp decrease in PoE may indicate a detection error that may require intervention from the tracking extension module 114.

[0034] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, method 500 can further include: determining a probability decrement value based on a determination of whether the object meets the set of proximity criteria. This allows for appropriately adjusting the PoE based on whether the object is within the proximity of the vehicle.

[0035] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, determining the probability decrement value includes assigning a first value to the probability decrement value based on a determination that the object meets the set of proximity criteria, and further includes assigning a second value to the probability decrement value based on a determination that the object does not meet the set of proximity criteria, where the first value is less than the second value. In other words, if the proximity module 118 determines that the object is within the proximity, the tracking extension module 114 can decrease the PoE to a lesser extent.

[0036] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, method 500 can further include: determining whether the difference between the adjusted PoE of the object in the previous frame and the PoE of the object in the frame exceeds the probability decrement value.

[0037] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, generating the adjusted PoE includes subtracting the probability decrement value from the adjusted probability of the previous frame based on a determination that the difference exceeds the probability decrement value.

[0038] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, generating the adjusted PoE includes setting the PoE of the object in the frame as the adjusted PoE based on a determination that the difference does not exceed the probability decrement value.

[0039] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, method 500 may further include: turning on an extended prediction flag based on determining that the object meets the set of proximity criteria; and incrementing an extended prediction time limit. In other words, when the proximity module 118 determines that the object is within proximity, the tracking extension module 114 may switch the tracking process to an extended prediction mode, in which the tracking extension module 114 may override the PoE calculated by the PoE module 116. The tracking extension module 114 may also extend the time window of operation in the extended prediction mode.

[0040] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, method 500 may further include: determining whether the duration of an object in the video feed exceeds the extended prediction time limit; and resetting the extended prediction time limit based on determining that the duration of the object in the video feed exceeds the extended prediction time limit.

[0041] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, method 500 may further include: setting a proximity extension counter based on determining that the object meets the set of proximity criteria and based on the time to collision between the object and the vehicle.

[0042] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, method 500 may further include: decrementing the proximity extension counter based on determining that the PoE is below a probability threshold.

[0043] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, method 500 may further include: further determining whether the object meets the set of proximity criteria based on determining that the proximity extension counter of the previous frame is greater than zero.

[0044] According to an embodiment that can be combined with the above embodiments or any of the embodiments further described below, method 500 may further include: determining the time to collision between the vehicle and the object based on the relative rate between the object and the vehicle and the distance between the object and the vehicle.

[0045] Figure 6A and Figure 6B collectively show a flowchart of a method 600 for tracking an object according to various embodiments. Figure 6A and Figure 6B The method 600 shown in may include method 500 or may be part of that method.

[0046] Refer to Figure 6A, method 600 may include: starting the method at 602. Method 600 may be executed by processor 104, which runs at least one of detection module 112, tracking extension module 114, proximity module 118, and PoE module 116 stored on storage medium 102. Method 600 may include: defining the values of the following at 604: (i) the PoE of the previous frame, denoted as "PoE_old", (ii) the PoE of the current frame calculated by PoE module 116, denoted as "PoE_curr", (iii) the difference between PoE_old and PoE_current, denoted as "PoE_delta". PoE_old may be updated with the value of the final adjusted PoE of the immediately previous frame. PoE_curr may be calculated by PoE module 116 at least in part based on the output of detection module 112. PoE_curr may be based on the associated measurements generated by detection module 112, in other words, based on whether detection module 112 can detect an object from the current frame. PoE_curr may further be based on the life cycle of object detection, in other words, based on the time since an object has been detected since the first frame of the video feed. The life cycle of object detection may be the duration of intermittent detection or may be the duration of continuous detection.

[0047] Method 600 may further include: determining at 606 whether the proximity extension counter of the target is greater than zero and whether PoE_curr is less than a probability threshold denoted as P T . The proximity extension counter is a counter of the number of frames for which the PoE needs to be adjusted to maintain tracking when the target is within the proximity of the vehicle.

[0048] If the proximity extension counter is not zero, and / or PoE_curr is equal to or greater than P T , then the method proceeds to output the final PoE of the current frame at 638 ( Figure 6B as shown in). In other words, the PoE generated by PoE module 116 is not adjusted, and the extended prediction mode may be terminated.

[0049] [[ID=IS]]If the proximity extension counter is greater than zero and PoE_curr is less than P T , then the proximity extension counter may be decremented at 608, for example, decreased by one count.

[0050] After decrementing the proximity extension counter at 608, a proximity check is performed at 610. Proximity module 118 may determine whether the tracked object is within a predefined proximity of the vehicle. Checking whether the object is within the predefined proximity may involve determining whether the following conditions are met:

[0051] (a) The speed of the object in the first direction is less than the first speed limit;

[0052] (b) The speed of the object in the second direction is less than the second speed limit;

[0053] (c) The relative speed between the vehicle and the object is less than the third speed limit;

[0054] (d) The decrease in PoE between consecutive frames by the PoE module 116 is greater than the decrease threshold;

[0055] (e) The size of the object in the image is large;

[0056] (f) The distance between the object and the vehicle is less than a predefined close distance;

[0057] (g) The classification of the object is a determined known category;

[0058] (h) The speed of the vehicle in the first direction is below the fourth limit; and

[0059] (i) The speed of the vehicle is greater than the minimum threshold for ensuring that the vehicle is moving.

[0060] For (a) and (b), the first direction may be orthogonal to the second direction. In (d), the decrease threshold may be, for example, about 0.19. A significant drop in the PoE generated by the PoE module 116 between consecutive frames may indicate the absence of a detection result by the detection module 112. For (e), the object size may be determined by the number of pixels occupied by the object in the image. For at least one of (a), (b), (c), and (f), the speed and / or distance may be obtained from another sensor (e.g., a radar sensor or a lidar sensor).

[0061] If at least a predefined number of the above conditions are met, or if all of the above conditions are met, the close - range module 118 may determine that the object is within close range. In 610, the close - range module 118 may also continue to monitor the output of the detection module 112. If the detection module 112 can detect the object, the close - range module 118 may set the close - range condition to false and reset the close - range extension counter to zero. Otherwise, the close - range module 118 sets the close - range condition to true, and the tracking extension module 114 calculates the close - range extension counter in 612. The tracking extension module 114 may calculate the close - range extension counter based on the estimated time - to - collision between the vehicle and the target. The tracking extension module 114 may estimate the time - to - collision between the vehicle and the target based on the distance between the vehicle and the target (as determined in (f)) and their relative speed (as determined in (c)).

[0062] The close - range extension counter can define the number of frames to be extended to track an object within a close range. As an example, if the relative speed between the host vehicle and the object is less than a speed threshold, the close - range extension counter can be set to a predefined number, such as 30. If the close - range extension counter exceeds the predefined number, the tracking extension module 114 can assume that the number of frames to be tracked cannot be greater than the predefined number and reduce it to the predefined number.

[0063] If the relative speed between the host vehicle and the object exceeds the speed threshold, the close - range extension counter can be calculated based on the object duration measured in frames, the distance between the object and the host vehicle, further based on the relative speed between the host vehicle and the object, and further based on the frame rate. For example, the close - range extension counter can be calculated as follows:

[0064]

[0065] In other words, considering that both the host vehicle and the object are moving, the close - range extension counter can be calculated based on the number of frames that can pass in one second. For example, the speed threshold can be 0.001 m / s.

[0066] Next, in 64, the tracking extension module 114 can set the Extend_prediction flag to on, and can reduce the parameter PoE_decrease to a value lower than the default value, for example, 0.01. PoE_decrease is also referred to as the "probability decrease value" in this document. Setting Extend_prediction to on indicates that the extended prediction mode is turned on, and thus the object can continue to be tracked within the extended prediction time limit even if the detection module does not detect the object. PoE_decrease can be set to a smaller value so that PoE does not decrease abruptly, enabling the tracking device 100 to continue tracking the object for a longer time.

[0067] If in 610, the close - range module 118 determines that the object is not within the close range, the method can proceed to 616. In 616, the Extend_prediction flag can be set to off, while the PoE_decrease value can be set to the default value, for example, 0.2.

[0068] Next, the method proceeds to "A" 620 leading to Figure 6B 622.

[0069] Refer to Figure 6B, in 622, the tracking extension module 114 can determine whether PoE_delta defined in 604 exceeds PoE_decrease calculated in 614 or 616. If PoE_delta is greater than PoE_decrease, then in 624, a new PoE value represented as PoE_new is set to the difference between PoE_old and PoE_decrease. The new PoE value may also be referred to herein as "adjusted PoE". In other words, PoE_new = PoE_old - PoE_decrease. Otherwise, if PoE_delta is equal to or less than PoE_decrease, then in 626, the tracking extension module 114 can define PoE_new to be equal to PoE_curr.

[0070] Next, in 628, the tracking extension module 114 can determine whether the Extend_prediction flag is on. If the Extend_prediction flag is on, then in 632, the tracking extension module 114 can increment the predicted extension maximum duration. For the extended prediction mode, the predicted extension maximum duration is an upper limit imposed on the maximum duration of the object. It is a safety interval during which the predicted extension is active. The predicted extension maximum duration can be initialized based on the duration of the object (i.e., the duration for which the object is detected) plus the calculated number of frames. The calculated number of frames can be the result of a factor multiplied by the number of frames the object is tracked in the extended prediction mode. The factor can be, for example, 0.5. The calculated number of frames can be limited to a range, for example, from 3 to 10. When the result of the factor multiplied by the number of frames the object is tracked in the extended prediction mode is below the lower limit of the range (e.g., the result is 2), the calculated number of frames can be adjusted to the lower limit value (e.g., 3). Also, when the result of the factor multiplied by the number of frames the object is tracked in the extended prediction mode exceeds the upper limit of the range (e.g., the result is 11), the calculated number of frames can be adjusted to the upper limit value (e.g., 10).

[0071] Next, in 638, the tracking extension module 114 can continue to output PoE_new as the final PoE for the current frame. In other words, the adjusted PoE for the current frame = PoE_new. The adjusted PoE for the current frame can be the output of methods 500 and 600.

[0072] Otherwise, if the Extend_prediction flag is off, in 634, the tracking extension module 114 may determine whether the target duration is greater than the predicted extension maximum duration. If the target duration is greater than the predicted extension maximum duration, the tracking extension module 114 may reset the PoE extension information in 636 and then proceed to output the final PoE of the current frame in 638. In other words, if the target duration is greater than the predicted extension maximum duration, the tracking extension module 114 may terminate the extended prediction mode. For example, when the object is too close to the host vehicle such that the close-range module 118 fails to confirm that the close-range condition is satisfied, and thus the ExtendPrediction flag is off and the predicted extension maximum duration no longer increases, the target duration may become greater than the predicted extension maximum duration. In this scenario, the target duration increases until it is greater than the predicted extension maximum duration. Then, the tracking extension module 114 may quickly reduce the PoE, for example, by subtracting 0.2 from the PoE value, to terminate the extended prediction mode.

[0073] The PoE extension information reset in 636 may include data for handling PoE extension, which includes: (a) the number of frames for which the prediction has been extended, (b) the predicted extension maximum duration, (c) the satisfaction of the close-range criteria, and (d) the close-range extension counter.

[0074] The above methods 500 and 600 may provide several advantages.

[0075] The training process of the classification neural network for close range is usually expensive and resource intensive. By improving the accuracy of PoE determination, methods 500 and 600 can reduce the training cost required for the classification neural network to perform close-range detection.

[0076] Moreover, method 500 or 600 can prevent close-range collisions by tracking the target at close range. When either of methods 500, 600 determines that a collision is about to occur between the host vehicle and the tracked target, the host vehicle can activate its emergency braking assistance to prevent the collision.

[0077] Further, method 500 or 600 can assist in determining whether the target is moving towards or away from the host vehicle, since the target can continue to be tracked closely. This in turn can be useful information for determining whether the target should continue to be tracked.

[0078] Methods 500 and 600 can be applicable to any camera-based tracking application. These methods 500, 600 can further assist in detecting road conditions based on the kinematic changes of the tracked object. These methods 500, 600 can be used to improve the continuity of tracking when the target enters a tunnel such that the sensors on the host vehicle are temporarily unable to detect the target.

[0079] The following examples describe further technical aspects of the above devices, systems, and methods and should not be construed as claims.

[0080] The following examples may alternatively be combined with any of the devices, systems, and methods described above or with any of the claims in the originally filed claims.

[0081] Example 1 is a computer-implemented method for tracking an object, the method comprising: receiving a real-time video feed; for each frame of the video feed: determining the PoE of the object in the frame; determining whether the PoE of the object in the frame is below a probability threshold; determining whether the object meets a set of proximity criteria based on determining that the PoE is below the probability threshold; and generating an adjusted PoE based on the determination of whether the object meets the set of proximity criteria.

[0082] In Example 2, the subject matter as described in Example 1 may optionally include: generating the adjusted PoE further based on a difference between the adjusted probability of the previous frame and the PoE of the object in the frame.

[0083] In Example 3, the subject matter as described in any of Examples 1 to 2 may optionally include: determining a probability decrement value based on the determination of whether the object meets the set of proximity criteria.

[0084] In Example 4, the subject matter as described in Example 3 may optionally include: determining the probability decrement value includes assigning a first value to the probability decrement value based on determining that the object meets the set of proximity criteria, and further includes assigning a second value to the probability decrement value based on determining that the object does not meet the set of proximity criteria, wherein the first value is less than the second value.

[0085] In Example 5, the subject matter as described in any of Examples 3 to 4 may optionally include: determining whether a difference between the adjusted probability of the previous frame and the PoE of the object in the frame exceeds the probability decrement value.

[0086] In Example 6, the subject matter as described in Example 5 may optionally include: generating the adjusted PoE includes subtracting the decrement value from the adjusted probability of the previous frame based on determining that the difference exceeds the probability decrement value.

[0087] In Example 7, the subject matter as described in any of Examples 5 to 6 may optionally include: generating the adjusted PoE includes setting the PoE of the object in the frame as the adjusted PoE based on determining that the difference does not exceed the probability decrement value.

[0088] In Example 8, the subject matter as described in any one of Examples 1 to 7 may optionally include: turning on an extended prediction flag based on determining that the object meets the set of proximity criteria; and incrementing an extended prediction time limit.

[0089] In Example 9, the subject matter as described in Example 8 may optionally include: determining whether the duration of the object in the video feed exceeds the extended prediction time limit; and resetting the extended prediction time limit based on determining that the duration of the object in the video feed exceeds the extended prediction time limit.

[0090] In Example 10, the subject matter as described in any one of Examples 1 to 9 may optionally include: setting a proximity extension counter based on determining that the object meets the set of proximity criteria and based on the time to collision between the object and the vehicle.

[0091] In Example 11, the subject matter as described in Example 10 may optionally include: decrementing the proximity extension counter based on determining that the PoE is below the probability threshold.

[0092] In Example 12, the subject matter as described in any one of Examples 10 to 11 may optionally include: further determining whether the object meets the set of proximity criteria based on determining that the proximity extension counter of the previous frame is greater than zero.

[0093] Example 13 is a non-transitory computer-readable storage medium that includes instructions that, when executed by a processor, perform the computer-implemented method as described in any one of Examples 1 to 12.

[0094] Example 14 is a device for tracking an object, the device including: the non-transitory computer-readable storage medium as described in Example 13; and at least one processor coupled to the non-transitory computer-readable storage medium, wherein the at least one processor is configured to perform the computer-implemented method as described in any one of Examples 1 to 12.

[0095] Example 15 is a system for tracking an object, the system including: the device as described in Example 14; and a camera configured to capture the video feed.

[0096] In Example 16, the subject matter as described in any one of Examples to 12 may optionally include: identifying the object in the frame; and determining the confidence level of the identification.

[0097] In Example 17, the subject matter as described in Example 16 may optionally include: determining the PoE of the object in the frame based on the confidence level of the identification and further based on the number of frames in which the object is detected.

[0098] In Example 18, the subject matter as described in any one of Examples 1 to 12 and 16 may optionally include: setting the determined PoE of the object in the frame to the adjusted PoE based on determining that the determined PoE of the object in the frame is not lower than the probability threshold.

[0099] In Example 19, the subject matter as described in Example 10 may optionally include: determining the time to collision based on the relative speed between the object and the vehicle and the distance between the object and the vehicle.

[0100] While embodiments of the present invention have been specifically shown and described with reference to particular embodiments, those skilled in the art should understand that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention as defined by the appended claims. Accordingly, the scope of the present invention is indicated by the appended claims and is therefore intended to cover all changes falling within the meaning and scope of the equivalents of the claims. It should be understood that common numerals used in the relevant drawings refer to components for like or the same purpose.

[0101] Those skilled in the art should understand that the terms used herein are for the purposes of the various embodiments only and are not intended to limit the present invention. As used herein, unless the context clearly dictates otherwise, the singular forms "a / an" and "the" are intended to also include the plural forms. It will be further understood that the terms "comprises" and / or "comprising" used in this specification specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0102] It should be understood that the specific order or hierarchy of the blocks in the disclosed process / flowchart is an illustration of an exemplary method. It should be understood that the specific order or hierarchy of the blocks in the process / flowchart may be rearranged based on design preferences. Further, some blocks may be combined or omitted. The appended method claims present the elements of the various blocks in a sample order and are not intended to be limited to the specific order or hierarchy presented.

[0103] The foregoing description is provided to enable a person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein can be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but are to be accorded the full scope consistent with the language of the claims, where the mention of an element in the singular is not intended to mean "one and only one" (unless specifically so stated) but rather "one or more." The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any aspect described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects. Unless specifically stated otherwise, the term "some" means one or more. Combinations such as "at least one of A, B, or C," "one or more of A, B, or C," "at least one of A, B, and C," "one or more of A, B, and C," and "any combination of A, B, C, or the like" include any combination of A, B, and / or C and may include multiple As, multiple Bs, or multiple Cs. In particular, combinations such as "at least one of A, B, or C," "one or more of A, B, or C," "at least one of A, B, and C," "one or more of A, B, and C," and "any combination of A, B, C, or the like" can be A only, B only, C only, A and B, A and C, B and C, or A and B and C, where any such combination can include one or more members of A, B, or C. All structural and functional equivalents of the elements of the various aspects described throughout this disclosure that are known or later become known to those of ordinary skill in the art are hereby expressly incorporated by reference herein and are intended to be covered by the claims.

Claims

1. A computer-implemented method (500) for tracking an object, the method (500) comprising: Receiving a real-time video feed (502); For each frame of the video feed: Determining a probability of presence of the object in the frame (504); Determining whether the probability of presence of the object in the frame is below a probability threshold (506); Based on determining that the probability of presence is below the probability threshold, determining whether the object meets a set of proximity criteria (508); and Based on the determination of whether the object meets the set of proximity criteria, generating an adjusted probability of presence (510).

2. The computer-implemented method (500) according to claim 1, wherein, Generating the adjusted probability of presence (510) is further based on a difference between the adjusted probability of presence of the object in a previous frame and the probability of presence of the object in the frame.

3. The computer-implemented method (500) according to claim 1, further comprising: Determining a probability decrement value based on the determination of whether the object meets the set of proximity criteria.

4. The computer-implemented method (500) according to claim 3, wherein, Determining the probability decrement value includes assigning a first value to the probability decrement value based on determining that the object meets the set of proximity criteria, and further includes assigning a second value to the probability decrement value based on determining that the object does not meet the set of proximity criteria, wherein the first value is less than the second value.

5. The computer-implemented method (500) according to claim 3, further comprising: Determining whether a difference between the adjusted probability of presence of the previous frame and the probability of presence of the object in the frame exceeds the probability decrement value.

6. The computer-implemented method (500) according to claim 5, wherein, Generating the adjusted probability of presence includes subtracting the decrement value from the adjusted probability of the previous frame based on determining that the difference exceeds the probability decrement value.

7. The computer-implemented method (500) according to claim 5, wherein, Generating the adjusted probability of presence includes setting the probability of presence of the object in the frame as the adjusted probability of presence based on determining that the difference does not exceed the probability decrement value.

8. The computer-implemented method (500) according to claim 1, further comprising: Enabling an extended prediction flag based on determining that the object meets the set of proximity criteria; And Incrementing an extended prediction time limit.

9. The computer-implemented method (500) according to claim 8, further comprising: Determining whether a duration of the object in the video feed exceeds the extended prediction time limit; And Resetting the extended prediction time limit based on determining that the duration of the object in the video feed exceeds the extended prediction time limit.

10. The computer-implemented method (500) according to claim 1, further comprising: Based on determining that the object meets the set of proximity criteria, setting a proximity extension counter based on a time to collision between the object and a vehicle.

11. The computer-implemented method (500) according to claim 10, further comprising: Decrementing the proximity extension counter based on determining that the probability of presence is below the probability threshold.

12. The computer-implemented method (500) according to claim 10, further comprising: Further determining whether the object meets the set of proximity criteria based on determining that the proximity extension counter of the previous frame is greater than zero.

13. A non-transitory computer-readable storage medium (102) comprising instructions that, when executed by a processor, perform a computer-implemented method (500) as recited in any one of claims 1 to 12.

14. A device (100) for tracking an object, the device (100) Comprising: The non-transitory computer-readable storage medium (102) as recited in claim 13; and At least one processor (104) coupled to the non-transitory computer-readable storage medium (t02), wherein the at least one processor (104) is configured to perform a computer-implemented method (500) as recited in any one of claims 1 to 12.

15. A system (200) for tracking an object, the system (200) comprising: The device (100) as recited in claim 14; And A camera (306) configured to capture the video feed.

Citation Information

Patent Citations

  • A method and a system for detecting an object in a video

    CN108885684A

  • Object detection in videos

    US9830503B1