Intrusion-based collision avoidance
By intruding into the system, the problem of inaccurate position of traditional collision avoidance systems in complex traffic scenarios is solved, the accuracy and reliability of the system are improved, and the driver's responsiveness is enhanced.
Patent Information
- Application Number
- CN202510104564.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-30
- Filing Date
- 2025-01-23
- Publication Date
- 2025-08-01
AI Technical Summary
The traditional collision avoidance system is inaccurate in dense and complex traffic scenarios, resulting in false alarms, affecting system reliability and driver response, and reducing the effectiveness of the collision avoidance system.
By intrusion system, quantify the extent to which the object occupies or does not occupy the lane, generate a bounding box, calculate the distance ratio of the vertex to the lane line, select the minimum ratio as the intrusion ratio, and compare it with the threshold to trigger the collision avoidance response.
Reduce false alarms, improve the accuracy and reliability of the collision avoidance system, enhance the driver's response to warnings, and improve the overall performance of the system.
Smart Images

Figure CN120396943A_ABST
Abstract
Description
Technical Field
[0001] Aspects described herein relate to collision avoidance for vehicles. More specifically, these aspects relate to identifying obstacles within a traffic lane and triggering measures to avoid or mitigate a collision. Background Art
[0002] Collision avoidance systems are designed to prevent collisions between vehicles based on sensor data that monitors the vehicle's surrounding environment. Radar or other sensors can collect real-time data about the proximity of other vehicles, pedestrians, and obstacles. The collected data can be analyzed to assess potential collision risks. If a threat is identified, the collision avoidance system can intervene in various ways, such as triggering an alarm or initiating corrective measures, such as applying vehicle brakes. Summary of the Invention
[0003] In accordance with one aspect, a method is disclosed that includes generating a bounding box that captures the size and location of an object in a lane that includes a left lane line and a right lane line, calculating a metric that captures the degree to which the object intrudes into the lane based on one or more vertices of the bounding box, determining that the metric meets a threshold, and triggering a collision avoidance response.
[0004] In accordance with another aspect, a method is disclosed that includes generating a bounding box that captures the size and location of an object in a lane that includes a left lane line and a right lane line, projecting each vertex of the bounding box onto the left lane line and the right lane line, determining the distance of each vertex to the left lane line and the right lane line, generating a ratio for each vertex that represents the distance relationship of that vertex relative to the left lane line and the right lane line, identifying a first ratio associated with the vertex having the greatest distance from the left lane line and a second ratio associated with the vertex having the greatest distance from the right lane line, selecting the minimum of the first ratio and the second ratio as the intrusion ratio, determining that the intrusion ratio meets a threshold, and triggering a collision avoidance response.
[0005] Other aspects provide systems associated with the above methods; non-transitory computer-readable media containing instructions that, when executed by a processor of a processing system, cause the processing system to perform the methods; and computer program products embodied on a computer-readable storage medium that includes code for performing the above methods and the methods further described herein.
[0006] The following description and the related drawings detail certain illustrative features of one or more aspects of the present disclosure. Brief Description of the Drawings
[0007] The embodiments illustrated in the accompanying drawings are illustrative and exemplary in nature and are not intended to limit the subject matter defined by the claims. The following detailed description of illustrative embodiments can be understood when read in conjunction with the following drawings, in which like structures are indicated by like reference numerals, and in which:
[0008] Figure 1 Depicts an example implementation of intrusion-based avoidance in accordance with one or more embodiments shown and described herein;
[0009] Figure 2 Illustrates an example intrusion system in accordance with one or more embodiments shown and described herein;
[0010] Figure 3 Depicts an example scenario involving lane obstacles and vertex calculations in accordance with one or more embodiments shown and described herein;
[0011] Figure 4A -B Illustrates an example lane extension in accordance with one or more embodiments shown and described herein;
[0012] Figure 5 Depicts an example intrusion system operation for lane obstacles in an intersection in accordance with one or more embodiments shown and described herein;
[0013] Figure 6 Is a flowchart of an example method for collision avoidance in accordance with one or more embodiments shown and described herein;
[0014] Figure 7 Is a flowchart of an example method for determining a metric that describes how an object blocks a lane.
[0015] Figure 8A -D Illustrates an example intersection with various object intrusions in accordance with one or more embodiments shown and described herein; and
[0016] Figure 9 Is a block diagram of an example operating environment in which various aspects of the present disclosure can be performed in accordance with one or more embodiments shown and described herein. Detailed Description
[0017] The various aspects described herein provide apparatuses, methods, processing systems, and computer-readable media for collision avoidance based on measurements of lane intrusion.
[0018] Traditional collision avoidance systems utilize sensors such as radar to determine the proximity of a vehicle to other vehicles, pedestrians, or obstacles. However, radar may be inaccurate in determining relative positions, especially in dense and complex traffic scenarios. This inaccuracy can lead to false alarms, which refer to situations where a potential collision threat is identified, but the potential collision threat does not exist. In other words, the collision avoidance system may unnecessarily generate warnings or trigger avoidance actions. False alarms can have several negative impacts, including a loss of trust in the system's reliability, leading the operator to ignore or turn off the system, driver distraction, and affecting the driver's ability to focus on the road and other important tasks. Additionally, if false alarms occur frequently, the driver may become desensitized to the warnings and not respond appropriately to real warnings to avoid collisions, thus reducing the effectiveness of the collision avoidance system.
[0019] The various aspects described herein provide technical solutions to the above-mentioned technical problems associated with false alarms in collision avoidance systems. A collision avoidance system can determine the extent to which an object blocks the lane in which a vehicle is traveling. For example, an object may partially or completely block the lane. Additionally, a small object may only block a portion of the lane but be located in a central position, thus blocking an important part of the lane. A metric can be calculated that quantifies the extent to which the lane is occupied or unoccupied by an object, such as another vehicle or a pedestrian. It can be checked whether the object occupies the lane, and if so, the metric can be calculated. The value of the metric can be compared with a threshold, and when the metric meets the threshold, the collision avoidance system can be triggered to intervene with warnings and / or corrective measures. Additionally, the metric can be one of several factors considered by the collision avoidance system for appropriate triggering of an intervention.
[0020] Thus, the various aspects described herein provide many beneficial technical effects compared to conventional techniques and provide technical solutions to the above-mentioned technical problems in the art.
[0021] These systems and methods are described in more detail below with reference to the accompanying drawings, in which like reference numerals refer to like structures.
[0022] Example implementation of intrusion-based collision avoidance
[0023] Figure 1 A high-level overview of an example implementation 100 of various aspects associated with collision avoidance or mitigation is depicted. Example implementation 100 includes a vehicle 110, a computing device 112, sensors 114, a lane 120, a bounding box 122, an intrusion system 140, a map 142, and a collision avoidance system 150.
[0024] Vehicle 110 is a machine designed to transport people or goods from one place to another. An internal combustion engine or an electric motor can power vehicle 110. Types of vehicles include cars, trucks, and motorcycles, among others. Although not limited thereto, in one example embodiment, the vehicle can be an autonomous vehicle capable of operating with little or no human input. Vehicle 110 can include a computing device 112 and one or more sensors 114.
[0025] The computing device 112 includes one or more processors configured to execute one or more instructions stored in a memory to perform various functions. According to one embodiment, the computing device 112 can correspond to an electronic control unit (ECU) or an engine control module (ECM) dedicated to managing and controlling various functions of vehicle operation, such as engine control, transmission control, anti-lock braking, airbags, stability control, climate control, and driver assistance systems. Although a single device is depicted, it should be appreciated that vehicle 110 can include multiple electronic control units dedicated to various subsystems. The computing device 112 can receive and utilize inputs from one or more sensors 114 to affect vehicle performance and overall functionality. Further details regarding the computing device 112 will be provided later herein with reference to Figure 9 give further details about the computing device 112.
[0026] The sensors 114 collect data about the vehicle's surrounding environment or internal components and provide the data to the computing device 112. Example vehicle sensors 114 include proximity sensors, cameras, radar sensors, LiDAR sensors, ultrasonic sensors, accelerometers, wheel slip sensors, temperature sensors, and global positioning system (GPS). The sensors 114 together contribute to enabling responses to various situations and providing an improved driving experience.
[0027] In operation, vehicle 110 can travel on a road within a lane 120. A lane 120 refers to a marked or designated path on a road for the movement of vehicles within a defined space. Lanes 120 are typically marked with lines or lane lines (e.g., solid lines, dashed lines, double lines, lines of different colors) painted on the road surface to help organize and regulate traffic flow. There are various types of lanes, including traffic lanes, turning lanes, and bus lanes. According to one embodiment, the lane 120 can correspond to a traffic lane on a road for controlling general traffic flow by predictably guiding drivers.
[0028] Collision avoidance system 150 is a technology designed to help prevent or mitigate collisions between a vehicle and an object, such as another vehicle or a pedestrian. Collision avoidance system 150 is embodied as software, hardware, or a combination of software and hardware, and is executed by computing device 112. According to one embodiment, collision avoidance system 150 may be executed by a dedicated electronic control unit and optionally integrated into or be part of an advanced driver assistance system. Collision avoidance system 150 can detect an object, provide visual or audible warnings to alert the driver, and automatically apply vehicle braking. For example, collision avoidance system 150 can detect the presence of an object in lane 120 and automatically apply braking to avoid or limit the severity of a collision. However, traditional collision avoidance systems lack precision or accuracy and may have serious false alarms.
[0029] Intrusion system 140 is configured to quantify the extent to which an object occupies or does not occupy lane 120. In other words, intrusion system 140 can determine the extent to which lane 120 is blocked or unblocked and thus available. As shown, intrusion system 140 can be a subsystem or component of collision avoidance system 150. Alternatively, intrusion system 140 can be a separate system or component that can interact with collision avoidance system 150.
[0030] In one instance, intrusion system 140 can generate a bounding box 122 that captures the size and location of an object detected within lane 120 based on sensor data from sensors 114 on vehicle 110, other vehicles, a third party (e.g., a traffic camera), or a combination thereof. The object can be another vehicle, a pedestrian, or other obstacle detected by at least one sensor 114, such as a camera or a radar sensor. Lane 120 can be determined based on a reference to map 142 and / or data obtained from one or more sensors 114. For example, the vehicle position can be determined by a global positioning system (GPS), and lane 120 on which vehicle 110 is traveling can be determined by referring to map 142. Additionally, camera data can be analyzed to confirm or further identify the lane on which the vehicle is traveling among multiple lanes. According to one embodiment, the collision avoidance system can determine the lane or generate the bounding box 122, and intrusion system 140 can receive such information from collision avoidance system 150.
[0031] After determining the bounding box 122, the bounding box 122 can be used to calculate the extent to which an object or obstacle occupies lane 120. Each vertex of the bounding box 122 can be analyzed to determine the distances from the left and right sides of lane 120. More specifically, the vertices can be projected onto the left and right lane lines. In one instance, a ratio can be determined that captures the extent to which a vertex intrudes into the lane from the left and / or right side. The vertex ratio can then be used to calculate a metric, such as an intrusion metric, that quantifies the extent to which the lane is occupied or unoccupied by the object.
[0032] The intrusion system 140 can utilize the calculated metric, either alone or in combination with other factors, as a basis for intervention, either alone or in combination with the collision avoidance system 150. For example, the metric can be compared to a threshold and used to trigger a visual or audible alert, or to intervene to apply brakes or perform an intervention steering. In one example, the metric can be used as an additional factor considered by the collision avoidance system 150, which improves the performance of the collision avoidance system by at least reducing false alarms.
[0033] Example implementation of the intrusion system
[0034] Figure 2 Diagrammatic illustration Figure 1 A block diagram of an example implementation of the intrusion system 140 briefly described in. In the depicted example, the intrusion system 140 includes a boundary component 210, a vertex component 220, a metric component 230, an action threshold component 240, and a lane boundary extension component 250. The boundary component 210, the vertex component 220, the metric component 230, the action threshold component 240, and the lane boundary extension component 250 can be implemented by at least one processor coupled to at least one memory storing instructions that, when executed by the at least one processor, cause the processor to perform the functions of each component during execution. Thus, the computing device can be configured as a dedicated device or apparatus for implementing the functions of the intrusion system 140. Additionally, all or part of the intrusion system 140 can be distributed across computing devices or can be accessed via a network service.
[0035] The boundary component 210 is configured to generate a bounding box 122 that encloses an object or obstacle, such as a vehicle or a pedestrian. The bounding box 122 can be generated based on an analysis of local vehicle sensor data, including camera images or video, and / or external sensor data. For example, the shape, size, and orientation of the object can be determined through image processing of images provided by cameras mounted on the vehicle as well as traffic cameras or other sensors. In one example, the boundary component 210 employs object detection, and the boundary component 210 uses computer vision and image processing techniques to detect specific objects, such as instances of vehicles or humans, in digital images and videos. Once an object is detected, the boundary component 210 can determine the size and orientation of the box that contains the object. For example, one or more imaging depth cameras capable of capturing depth measurements can be employed. Although the term "box" is used herein for clarity, any polygon (e.g., a geometric object including any number of sides and vertices) can be used to generate a boundary polygon.
[0036] The vertex component 210 is configured to analyze the vertices of a bounding box or polygon. More specifically, the vertex component 210 is configured to calculate the distances of each vertex of the bounding box 122 from the left and right sides of the lane. The vertices can be projected onto the lane lines in a straight line perpendicular or substantially perpendicular to the lane lines. The difference between the original vertices and the projected vertices can be, for example, a distance determined based on the Euclidean distance between the points. According to one embodiment, the vertex component 210 can generate a ratio for each vertex, such as a right - left ratio and / or a left - right ratio.
[0037] Turning attention to Figure 3 , an example scenario 300 is shown in the figure for clarity and understanding. As shown, the example scenario 300 includes a vehicle 110 traveling upward in a lane 120. Additionally, the example scenario 300 shows an object or obstacle in the road enclosed within a bounding box 122. For example, the bounding box 122 can represent other vehicles entering or exiting the roadway. The bounding box 122 has 4 vertices: the upper - left vertex "A", the lower - left vertex "B", the upper - right vertex "C", and the lower - right vertex "D". The upper - left vertex "A" and the lower - left vertex "B" are within the lane, while the upper - right vertex "C" and the lower - right vertex "D" are outside the lane 120. The vertex component 210 can first process vertex A by projecting vertex A onto points on the left lane line and the right lane line, and determining the left - right ratio as 0.7 or 70% and the right - left ratio as 0.3 or 30% based on distance calculations. Next, vertex "B" can be projected onto the left and right lane lines. The vertex component 220 can also determine the left - right ratio as 0.6 or 60% and the right - left ratio as 0.4 or 40% based on distance calculations. For the vertices "C" and "D" outside the lane 120, the projection can point to the right lane line. As a result, for both vertices "C" and "D", the left - right ratio can be 1.0 or 100% and the right - left ratio can be 0.0 or 0%.
[0038] Returning to Figure 2 , the metric component 230 is configured to determine a metric such as an intrusion metric based on the input from the vertex component 220. In one embodiment, the metric can be a percentage of the total lane width corresponding to the degree to which an object or obstacle intrudes into the lane. In this case, the metric component 220 can analyze the ratios associated with the vertices to produce an intrusion ratio as the metric. For example, the intrusion ratio of an object can be the minimum of the intrusion from the left lane line to the right - most point and the intrusion from the right lane line to the left - most point. The intrusion from the left lane line to the right - most point can correspond to the maximum left - right ratio. The intrusion from the right lane line to the left - most point can correspond to the right - left ratio. In one instance, the determination can ignore vertices outside the lane.
[0039] In Figure 3In example scenario 300, the intrusion from the left lane to the rightmost point corresponds to 0.7, and the intrusion from the right lane line to the leftmost point corresponds to 0.4. The metric component 230 may select the minimum of 0.4, or 40% as a percentage, as the metric. In this case, the metric captures the extent to which an object intrudes into lane 120 relative to the total lane width. Alternatively, the metric may correspond to the amount of available space remaining in the case where an object intrudes into the lane. In this case, the minimum of 0.4 may be subtracted from 1.0, returning 0.6 or 60% as the metric. In other words, the object intrudes 40% of the lane width, while 60% of the lane width remains open or unoccupied.
[0040] The action threshold component 240 is configured to initiate or trigger an action based on the metric and one or more predetermined thresholds corresponding to one or more actions. Example actions include driver alerts or warnings, as well as interventions such as applying brakes or performing evasive steering. For example, if the metric specifies that less than 90% of the lane width is available due to an obstacle, a warning may be generated and presented. Additionally or alternatively, if the metric specifies that half or less of the lane is available, automatic braking may be used. As another example, if the metric specifies that more than 90% of the lane width is available, evasive steering may be performed to bypass an obstacle in the lane.
[0041] The lane boundary extension component 250 is configured to extend the length of the lane lines considered under different conditions. One condition involves a road intersection that includes lanes passing through the intersection. In one instance, the extended length may be a predetermined value.
[0042] Turning attention to Figure 4A -B, two intersection scenarios are depicted in the figure. In Figure 4A it, an intersection lane 410 with a bounding box 122 representing an object or obstacle at the lower right is shown. In this condition, when processed by Figure 2 the vertex component 220, the lower left vertex may project to the lower right of the intersection lane 410. This projection may be inaccurate and have a negative impact on the generated metric, such as the intrusion ratio. To address this issue, the lane boundary extension component 250 may extend the lane lines a predetermined distance beyond the intersection. Figure 4B Illustrates the extended lane lines. As shown, the lower left vertex of the bounding box 122 may project perpendicularly to the extended lane lines. In this way, errors in metric calculations can be avoided.
[0043] Figure 5Graphically depict an example operation of the intrusion system 140 for an object in an intersection. At number 1, an intersection lane 410 with a bounding box 122 and a vehicle 110 traveling upward towards the intersection is depicted. At number 2, the lane boundary extension component 250 extends the lane lines. At number 3, the vertex component 220 processes the vertices of the bounding box 122 by projecting the vertices onto the lane lines and calculating one or more ratios associated with each vertex. At number 4, the metric component 230 generates a metric based on the output of the vertex component 220. As shown, the intrusion from the left to the rightmost point is identified as approximately 80%, while the intrusion from the right to the leftmost point is approximately 40%. The minimum of these two values can be selected as 40% and returned as a metric representing the degree to which the object intrudes or occupies the lane width. Alternatively, the minimum of 40% can be subtracted from 100%, thereby returning 60% as a metric representing the available lane width space not occupied by the object.
[0044] Example method for collision avoidance based on intrusion
[0045] Go to Figure 6 , the illustrative flowchart depicts an example method 600 for avoiding or mitigating a collision. Method 600 can be performed by Figure 1 the collision avoidance system 150.
[0046] By identifying an object or obstacle in a lane, method 600 begins at block 610. The object can be identified based on data from one or more sensors. The sensors can correspond to cameras, light detection and ranging (LiDAR) systems, radar, or a combination thereof. Additionally, machine learning and computer vision techniques can be used to analyze the data collected by the sensors to identify objects such as other vehicles, pedestrians, and bicyclists.
[0047] By determining a metric that describes how the object blocks the lane, method 600 continues at block 620. The object may partially or completely block the lane. Additionally, the object may be small and only block a portion of the lane, but may be located in a central position, thereby blocking an important portion of the lane. According to one embodiment, given the presence, size, and location of an object in a lane, the metric can capture the available space in terms of the lane width. In this way, the metric can quantify how the object blocks the lane. Further details regarding metric determination are presented in Figure 7 the following flowchart.
[0048] Next, method 600 proceeds to block 630 to determine whether the metric meets one or more thresholds. One or more thresholds can be predetermined. The metric value can be compared with one or more thresholds to determine whether the thresholds are met or not. For example, the threshold can quantify that an object occupies more than 90% of the lane. The metric value can be compared with the threshold to determine whether the threshold is met. If the threshold is met, method 600 can continue to block 640. If the threshold is not met, method 600 can terminate.
[0049] When the threshold is met, method 600 can proceed to block 640. At block 640, method 600 triggers an intervention. The intervention can take the form of a driver warning or alert, or a corrective action such as applying vehicle brakes or performing an evasive steering, etc. Different thresholds can be specified for different forms of intervention or combinations. For example, thresholds associated with alerting the driver and / or automatically applying vehicle brakes can be specified, while different thresholds can be associated with evasive steering.
[0050] Note that Figure 6 This is just an example of a method, and other methods consistent with the present disclosure, including fewer steps, additional steps, or alternative steps, are also possible.
[0051] Figure 7 An illustrative flowchart depicting an example method 700 for determining a metric that describes how an object blocks a lane. Method 600 can be performed by Figure 1 and Figure 2 the intrusion system 140, which includes a boundary component 210, a vertex component 220, a metric component 230, and a lane boundary extension component 250.
[0052] Method 700 begins at block 710 by identifying the traffic lane in which the vehicle is currently traveling. According to one embodiment, a global positioning system associated with the vehicle can be employed to receive coordinates that provide an accurate geographical location. The coordinates can be analyzed with reference to a digital map that identifies traffic lanes and intersections, etc., to identify the traffic lane. Additionally or alternatively, sensor data such as images or videos can be analyzed to determine, for example, a particular traffic lane among many traffic lanes of a road based on the analysis of lane lines painted on the road.
[0053] Method 700 continues at block 720 by extending the lane boundary lines. If the vehicle is approaching an intersection, only the lane portion passing through the intersection may not provide sufficient data for accurate further processing. Thus, the lane lines under consideration can be extended before and after the intersection. For example, the lane lines under consideration can be 10 meters before and after the intersection.
[0054] Method 700 may proceed to block 730 to determine a bounding box of an object detected to be present in the lane in which the vehicle is traveling. The bounding box can be a rectangle, square, or any other polygon around the object. The bounding box can capture the size, shape, and position of the object relative to the lane. The bounding box can be generated by a machine learning model trained to detect objects in an image or video. Additional sensor data from radar, LIDAR, or an imaging depth camera can also be utilized to refine the bounding box. The bounding box can be specified relative to the center of the object and at least the length and width of the object.
[0055] Method 700 continues at block 740 by determining a ratio for each vertex of the bounding box. Each vertex can be projected substantially vertically onto the left and right lane lines. Subsequently, Euclidean distance calculations can be performed to determine two points, i.e., the distances between the vertex and the left lane line projection and between the vertex and the right lane line projection. A ratio can be determined based on the distances to quantify the degree of object incursion into the lane as a percentage of the total lane width. More specifically, a left-to-right ratio representing the distance between the left lane line and the vertex can be determined. In one instance, vertices of the bounding box that are outside the lane need not be considered, or for vertices that extend beyond the right lane line, a left-to-right ratio of 1.0 and a right-to-left ratio of 0.0 can be assigned, and vice versa for vertices that extend beyond the left lane line. Additionally, a left-to-right ratio representing the relative distance between the right lane line and the vertex can be determined. According to one embodiment, one of the left-to-right ratio or the right-to-left ratio can be determined, and the other ratio can be determined by subtracting the ratio from 1.0 or 100 (if the ratio is represented as a percentage). For example, if the left-to-right ratio is 0.6 (or 60%), then the right-to-left ratio is "1.0 - 0.6" or 0.4 (or 40%).
[0056] Method 700 continues at block 750 by identifying the ratio associated with the rightmost vertex. This ratio can be identified by locating the largest left-to-right ratio among the vertices of the bounding box.
[0057] Next, method 700 continues at block 760 by identifying the ratio associated with the leftmost vertex. This ratio can be determined by identifying the largest right-to-left ratio among the vertices of the bounding box.
[0058] Method 700 proceeds to block 770 by selecting the minimum of the rightmost ratio and the leftmost ratio as the incursion ratio. For example, consider an object that is completely contained within the lane (e.g., with no part outside the lane) where the rightmost point ratio is 60% and the leftmost point ratio is 90%. In this scenario, the incursion ratio is 60%, meaning the object occupies 40% of the lane width and 60% of the lane is available. Subsequently, method 700 can terminate.
[0059] Note that Figure 7This is just one example of a method. Consistent with the present disclosure, other methods including fewer steps, additional steps, or alternative steps are also possible.
[0060] Example Intrusion Ratio Determination
[0061] Figure 8A -D diagrams illustrate example intersections with object intrusions to assist in clarifying and understanding the determination of the intrusion ratio. Each diagram depicts an intersection 410 with extended lane lines and a specific bounding box 122. Figure 8A A bounding box 122 that depicts an object extending beyond the intersection lane lines on both sides. In this scenario, the intrusion ratio as a percentage is 100%. Figure 8B Illustrates a bounding box 122 that is half inside the right lane line of the intersection and half outside the right lane line of the intersection. Here, the intrusion ratio as a percentage of the lane width is 50%. Figure 8C Depicts Figure 8A and Figure 8B a smaller bounding box than the one in Figure 8D but the bounding box is located in the middle of the intersection lane lines. The intrusion ratio as a percentage for this small bounding box 122 in the center is also 50%.
[0062] For simplicity and clarity, the bounding boxes are depicted and discussed for a single object or obstacle that typically moves from right to left. It should be appreciated that the metric is independent of the intrusion direction. Additionally, the metric can be a composite metric considering more than one object or obstacle in the lane or intersection.
[0063] Example Processing System for Collision Avoidance Based on Intrusion
[0064] Figure 9 Depicts an example processing system configured to perform the various aspects described herein, such as including the methods described above with respect to Figure 7 and FIG. 8.
[0065] To provide context for the disclosed subject matter, Figure 9 and the following discussion is intended to provide a brief overview of a suitable environment in which the various aspects of the disclosed subject matter can be implemented. This suitable environment is merely an example and is not meant to imply any limitation on the scope of use or functionality.
[0066] Refer to Figure 9, an example of a computing device 112 is illustrated in the figure. The computing device 112 includes one or more processors 910, a memory 920, a bus 930, a storage device 940, an input device 950, an output device 960, and a network interface 970. The bus 930 communicatively couples at least the above system components. However, in its simplest form, the computing device 112 can include one or more processors 910 coupled to at least one memory 920, where the one or more processors 910 execute various computer-executable actions, instructions, and / or components retrieved from the storage device 940 and stored in the memory 920.
[0067] The bus 930 can be formed by any medium capable of transmitting signals, such as conductive wires, conductive traces, optical waveguides, connectors, etc. In one embodiment, the bus 930 includes a combination of conductive traces, conductive wires, and connectors, and is configured to allow the transmission of electrical data signals to components such as the processor 910, the memory 920, the storage device 940, the input device 950, the output device 960, and the network interface 970.
[0068] The processor 910 can be implemented using a general-purpose processor, a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination thereof for performing the functions described herein. The general-purpose processor can be a microprocessor, but alternatively, the processor can be any processor, controller, microcontroller, or state machine. The processor 910 can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, a multi-core processor, one or more microprocessors combined with a DSP core, or any other such configuration. In one embodiment, the processor 910 can be a graphics processing unit (GPU) that performs computations related to digital image processing and computer graphics.
[0069] The computing device 112 can include various computer-readable media, or otherwise interact with various computer-readable media, to facilitate the control of the computing device 112 to implement one or more aspects of the disclosed subject matter. The computer-readable media can be any available media accessible to the computing device 112, including volatile and non-volatile media, as well as removable and non-removable media. The computer-readable media can include two different and mutually exclusive types: storage media and communication media.
[0070] A storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Storage media include memory devices (e.g., random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM)), magnetic storage devices (e.g., hard disks, floppy disks, magnetic tape cartridges, magnetic tapes), optical disks (e.g., compact discs (CDs), digital versatile discs (DVDs)), and solid state devices (e.g., solid state drives (SSDs), flash drives (e.g., cards, sticks, key drives)), or any other similar medium that stores rather than transmits or communicates the information accessible to computing device 112. Thus, storage media do not include modulated data signals and data signals described with respect to communication media.
[0071] A communication medium embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery medium. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.
[0072] Memory 920 and storage device 940 are examples of computer-readable storage media. Depending on the configuration and type of the computing device, memory 920 can be volatile (e.g., random access memory (RAM)), non-volatile (e.g., read-only memory (ROM), flash memory...), or some combination of both. For example, the basic input / output system (BIOS), including basic routines that transfer information between elements within computing device 112 during startup, can be stored in non-volatile memory. In contrast, volatile memory can act as an external cache memory to facilitate processing by processor 910, etc.
[0073] Storage device 940 includes removable / non-removable, volatile / non-volatile storage media for storing large amounts of data relative to memory 920. For example, storage device 940 includes, but is not limited to, one or more devices such as disk or optical disk drives, floppy disk drives, flash memory, solid state drives, or memory sticks.
[0074] The memory 920 and the storage device 940 may include or store therein an operating system 980, one or more applications 986, one or more program modules 984, and data 982. The operating system 980 may control and allocate the resources of the computing device 112. The applications 986 include system and / or application software, and may perform one or more actions by utilizing the operating system 980's management of resources through the program modules 984 and data 982 stored in the memory 920 and / or the storage device 940. Thus, the applications 986 may turn a general-purpose computer into a special-purpose machine according to the provided logic.
[0075] All or portions of the disclosed subject matter may be implemented using standard programming and / or engineering techniques to produce software, firmware, hardware, or any combination thereof to control the computing device 112 to implement the disclosed functionality. By way of example, and not limitation, Figure 1 and Figure 2 all or part of the intrusion system 140 may be an application 986 or form part of an application 986, and includes one or more modules 984 and data 982 stored in the memory and / or the storage device 940, which when executed by one or more processors 910 may implement its functionality.
[0076] According to a particular embodiment, the processor 910 may correspond to a system-on-chip (SOC) or a similar architecture that includes or, in other words, integrates both hardware and software on a single integrated circuit substrate. Here, the processor 910 may include one or more processors and memory, at least similar to the processor 910 and the memory 920, etc. Conventional processors include minimal hardware and software and rely extensively on external hardware and software. In contrast, the SOC implementation of a processor is more powerful because it embeds hardware and software therein, which enables the implementation of specific functions with minimal or no dependence on external hardware and software. For example, the intrusion system 140 or functions associated therewith may be embedded within the hardware of the SOC architecture.
[0077] Input device 950 and output device 960 can be communicatively coupled to computing device 112. For example, input device 950 can include a pointing device (such as a mouse, trackball, stylus, pen, touchpad), keyboard, joystick, microphone, voice user interface system, camera, sensor, and global positioning satellite (GPS) receiver and transmitter, etc. For example, output device 960 can correspond to a display device (such as a liquid crystal display (LCD), light emitting diode (LED), plasma, organic light emitting diode display (OLED)…), speaker, voice user interface system, printer, and vibration motor, etc. Input device 950 and output device 960 can be connected to computing device 112 through a wired connection (such as a bus), wireless connection (such as Wi-Fi, Bluetooth), or a combination thereof.
[0078] Computing device 112 can also include network interface 970 to be able to communicate with at least a second computing device 902 using network 990. Network interface 970 can include a wired or wireless communication mechanism to support network communication. Network 990 can correspond to a personal area network (PAN), local area network (LAN), or wide area network (WAN), such as the Internet. In one instance, computing device 112 can correspond to a first computing device that executes intrusion system 140 associated with collision avoidance system 150. Second computing device 1102 can correspond to a server that provides a map or external sensor data for use by intrusion system 140.
[0079] According to a particular embodiment, computing device 112 can correspond to an electronic controller, such as an electronic control unit (ECU) associated with a vehicle including an autonomous vehicle. The ECU can be specifically designed for dedicated real-time control of vehicle functions under harsh conditions (such as temperature variations, vibrations, electromagnetic interference). In one instance, the ECU implements an advanced driver assistance system, including collision avoidance system 150 and intrusion system 140. In this case, the ECU can include one or more processors 910 that execute machine-executable code stored in memory 920 to perform the logic described regarding intrusion system 140. Additionally, one or more processors 910 can be communicatively coupled through bus 930 to input devices such as one or more cameras.
[0080] A camera can be any device having an array of sensing devices (such as pixels) capable of detecting radiation in the ultraviolet, visible, or infrared bands. The camera can be, for example, an omnidirectional camera or a panoramic camera. In some embodiments, the camera can be an imaging depth camera, such as RGB-D (e.g., RealSense TMA depth camera, or other device that can capture depth measurements in the environment or capture image data that can be analyzed to determine depth in the environment based on the image data. In some embodiments, one or more optical components, such as mirrors, fisheye lenses, or any other lens type, can be optically coupled to each camera.
[0081] The functional blocks and / or flowchart elements described herein can be translated into machine-readable instructions. As a non-limiting example, the machine-readable instructions can be written using any programming protocol, such as: (i) descriptive text to be parsed (e.g., such as Hypertext Markup Language, Extensible Markup Language, etc.), (ii) assembly language, (iii) object code generated from source code by a compiler, (iv) source code written using the syntax of any suitable programming language for execution by an interpreter, (v) source code compiled and executed by a just-in-time compiler, etc. Alternatively, the machine-readable instructions can be written in a hardware description language (HDL), such as logic implemented via a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or their equivalents. Thus, the functions described herein can be implemented as pre-programmed hardware elements in any conventional computer programming language or as a combination of hardware components and software components.
[0082] Other considerations
[0083] The foregoing description is provided to enable a person skilled in the art to practice the various embodiments described herein. The examples discussed herein are not intended to limit the scope, applicability, or embodiments set forth in the claims. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be applied to other embodiments. For example, various changes can be made in the function and arrangement of the elements discussed, without departing from the scope of the disclosure, and various processes or components can be appropriately omitted, replaced, or added in each example. For example, the methods described can be performed in a different order than described, and various steps can be added, omitted, or combined. Additionally, the features described with respect to some examples can be combined in some other examples. For example, a device can be implemented using any number of aspects set forth herein, or a method can be practiced. Further, the scope of the disclosure is intended to cover such devices or methods practiced using other structures, functions, or combinations of structures and functions in addition to or different from the various aspects of the disclosure set forth herein. It should be understood that any aspect of the disclosure herein can be embodied by one or more elements of the claims.
[0084] The phrase "at least one of" in a list of reference items used herein refers to any combination of these items, including a single member. For example, "at least one of a, b, or c" is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination having multiple identical elements (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, and c-c-c, or any other ordering of a, b, and c).
[0085] The term "determine" as used herein encompasses a variety of actions. For example, "determine" may include operations, calculations, processing, derivation, investigation, lookup (e.g., looking up in a table, database, or other data structure), ascertaining, etc. Additionally, "determine" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), etc. Further, "determine" may include resolving, selecting, picking, establishing, etc.
[0086] The terms "substantially" and "about" may be used herein to represent the degree of inherent uncertainty that may be attributable to any quantitative comparison, value, measurement, or other representation. These terms may also be used herein to represent the degree to which a quantitative representation may vary from a stated reference without causing a change in the basic function of the subject matter being discussed.
[0087] The methods disclosed herein include one or more steps or actions for implementing these methods. Without departing from the scope of the claims, the method steps or actions may be interchanged with one another. In other words, unless a specific order of the steps or actions is specified, the order or use of the specific steps or actions may be modified without departing from the scope of the claims. Additionally, the various operations of the above methods may be performed by any suitable means capable of performing the corresponding functions. The means may include various hardware or software components or modules, including but not limited to circuits, application specific integrated circuits (ASICs), or processors. Generally, where operations are shown in a figure, these operations may have corresponding paired means + functional components with similar numbers.
[0088] The following claims are not intended to be limited to the embodiments shown herein but should be accorded the full scope consistent with the claim language. In a claim, unless expressly stated otherwise, the singular form of an element does not mean "one and only one" but "one or more." The term "some," unless expressly stated otherwise, means one or more. Any claim element is not to be construed under the provisions of 35 U.S.C. § 112(f) unless the element is expressly recited using the phrase "means for" or, in the case of a method claim, the phrase "step for." All structural and functional equivalents of the elements of the various aspects described in this disclosure that are known or later become known to those of ordinary skill in the art are hereby expressly incorporated by reference and are intended to be covered by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public, whether or not such disclosure is expressly recited in the claims.
Claims
1. A method, comprising: Generating a bounding box that captures the size and position of an object in a lane that includes a left lane line and a right lane line; Calculating a metric that captures the degree to which the object intrudes into the lane based on one or more vertices of the bounding box; Determining that the intrusion metric meets a threshold; And Triggering a collision avoidance response.
2. The method according to claim 1, wherein calculating the intrusion metric further comprises: Projecting each of the one or more vertices of the bounding box onto the left lane line and the right lane line; Determining the distance of each vertex to the left lane line and the right lane line; And Generating, for each vertex, a ratio representing the distance relationship of the vertex with respect to the left lane line and the right lane line.
3. The method according to claim 2, further comprising: Identifying a first ratio associated with the vertex having the maximum distance from the left lane line; Identifying a second ratio associated with the vertex having the maximum distance from the right lane line; And Selecting the minimum value of the first ratio and the second ratio as the intrusion metric.
4. The method according to claim 1, wherein generating the bounding box captures an object in a lane at an intersection.
5. The method according to claim 4, further comprising extending the right lane line and the left lane line a predetermined distance before and after the intersection.
6. The method according to claim 1, further comprising detecting an object in the lane before generating the bounding box.
7. The method according to claim 1, wherein calculating the intrusion metric includes calculating the intrusion metric that captures the available space in the lane.
8. The method according to claim 1, wherein the collision avoidance response includes automatic braking.
9. A system, comprising: At least one processor; And At least one memory coupled to the at least one processor, the memory including instructions that, when executed by the at least one processor, cause the system to: Generate a bounding box that captures the size and position of an object in a lane that includes a left lane line and a right lane line; Calculate an intrusion metric that captures the degree to which the object intrudes into the lane based on one or more vertices of the bounding box; Determine that the intrusion metric meets a threshold; And Trigger a collision avoidance response.
10. The system according to claim 9, wherein the instructions further cause the system to: Project each of the one or more vertices of the bounding box onto the left lane line and the right lane line; Determine the distance of each vertex to the left lane line and the right lane line; and Generate, for each vertex, a ratio representing the distance relationship of the vertex with respect to the left lane line and the right lane line.
11. The system according to claim 10, wherein the instructions further cause the system to: Identify a first ratio associated with the vertex having the maximum distance from the left lane line; Identify a second ratio associated with the vertex having the maximum distance from the right lane line; and Select the minimum value of the first ratio and the second ratio as the intrusion metric.
12. The system according to claim 9, wherein the bounding box captures an object in a lane at an intersection.
13. The system according to claim 12, wherein the instructions further cause the processor to extend the lane lines a predetermined distance before and after the intersection.
14. The system according to claim 9, wherein the instructions further cause the processor to detect an object in the lane before generating the bounding box.
15. The system according to claim 9, wherein an intrusion metric is calculated, the intrusion metric capturing the available space in the lane.
16. The system according to claim 9, wherein the collision avoidance response includes automatic braking.
17. A method, comprising: generating a bounding box that captures the size and position of an object in a lane that includes a left lane line and a right lane line; projecting each vertex of a boundary polygon onto the left lane line and the right lane line; determining the distance of each vertex to the left lane line and the right lane line; and generating, for each vertex, a ratio representing the distance relationship of the vertex with respect to the left lane line and the right lane line; identifying a first ratio associated with the vertex having the greatest distance from the left lane line and a second ratio associated with the vertex having the greatest distance from the right lane line; and selecting the minimum of the first ratio and the second ratio as the intrusion ratio; determining that the intrusion ratio meets a threshold; and triggering a collision avoidance response.
18. The method according to claim 17, wherein generating the bounding box further includes capturing an object in the lane at an intersection.
19. The method according to claim 18, further comprising extending the lane lines a predetermined distance before and after the intersection.
20. The method according to claim 17, wherein triggering the collision avoidance response includes generating at least one of a driver alert, automatic braking, or evasive steering.