Object detection in darkness during vehicle operation
Through the integration of a system of identifying, identifying and analyzing components on the vehicle, the accuracy and safety of object detection in dark or low-illumination environments are solved, and effective identification and risk assessment of objects on the road are achieved.
Patent Information
- Application Number
- CN202411149771.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-18
- Filing Date
- 2024-08-21
- Publication Date
- 2025-06-20
AI Technical Summary
The prior art is difficult to effectively and accurately detect objects near roads or on roads in dark or low-illumination environments, resulting in the failure of potential hazards in vehicle operations to be timely identified.
A system is designed including a processor, identification component, identification component and analysis component. The identification component detects objects on or next to the road. The identification component determines the illuminated area by detecting light from a vehicle and determines whether the object is in the area. The analysis component conducts risk assessment of the object based on the object's parameters.
The system is able to accurately identify objects on the road in dark or low-illumination environments and provide the risk level of the object through risk assessment, thereby improving safety in vehicle operation.
Smart Images

Figure CN120171534A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to object detection in the dark during vehicle operation. Background Art
[0002] There is a need in the art to mitigate or overcome some of the disadvantages of object detection in the dark during vehicle operation. Summary of the Invention
[0003] The following provides an overview to provide a basic understanding of one or more embodiments of the present invention. This summary is not intended to identify key or important elements, or to describe any scope of a particular embodiment or any scope of the claims. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description presented later. In one or more embodiments described herein, an apparatus, a system, a computer-implemented method, a device, or a computer program product facilitates object detection in the dark for vehicle operation.
[0004] According to an embodiment, a system includes a processor that executes computer-executable components stored in a non-transitory computer-readable memory, the computer-executable components including: an identification component that detects one or more objects on or beside a road; a recognition component that detects light from an approaching vehicle to determine an illumination area and determines whether the one or more objects are located in the illumination area; and an analysis component that, in response to determining that the one or more objects are not located in the illumination area, performs a risk assessment on the one or more objects based on parameters of the one or more objects.
[0005] According to an embodiment, a computer-implemented method includes: detecting one or more objects on or beside a road; detecting light from an approaching vehicle to determine an illumination area and determining whether the one or more objects are located in the illumination area; and in response to determining that the one or more objects are not located in the illumination area, performing a risk assessment on the one or more objects based on parameters of the one or more objects.
[0006] According to yet another embodiment, a computer program product includes a non-transitory computer-readable memory having program instructions embodied therewith, the program instructions executable by a processor to cause the processor: detect one or more objects on or beside a road; detect light from an approaching vehicle to determine an illumination area and determine whether the one or more objects are located in the illumination area; and in response to determining that the one or more objects are not located in the illumination area, perform a risk assessment on the one or more objects based on parameters of the one or more objects.
[0007] According to one or more embodiments, the above system may be implemented as a computer-implemented method or a computer program product. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1 A block diagram of an example non - limiting system is shown that facilitates object detection in the dark for vehicle operation, according to one or more embodiments described herein.
[0009] Figure 2 A block diagram of an example non - limiting system is shown that facilitates object detection in the dark for vehicle operation, according to one or more embodiments described herein.
[0010] Figure 3 A block diagram of an example non - limiting system is shown that facilitates object detection in the dark for vehicle operation, according to one or more embodiments described herein.
[0011] Figure 4 An example non - limiting diagram of tunnel detection and determination of external light conditions is shown, according to one or more embodiments described herein.
[0012] Figure 5 An example non - limiting light pollution map for risk assessment is shown, according to one or more embodiments described herein.
[0013] Figure 6 An example non - limiting depiction of object detection by a vehicle is shown, according to one or more embodiments described herein.
[0014] Figure 7 An example non - limiting depiction of vehicle detection by a vehicle is shown, according to one or more embodiments described herein.
[0015] Figure 8 An example non - limiting depiction of a vehicle light signature is shown, according to one or more embodiments described herein.
[0016] Figure 9 An example non - limiting depiction of a vehicle light signature is shown, according to one or more embodiments described herein.
[0017] Figure 10 An example non - limiting depiction of object and vehicle light detection by a vehicle is shown, according to one or more embodiments described herein.
[0018] Figure 11 An example non - limiting depiction of object and vehicle light detection by a vehicle is shown, according to one or more embodiments described herein.
[0019] Figure 12Shows an example non - restrictive depiction of object and headlight detection by a vehicle according to one or more embodiments described herein.
[0020] Figure 13 Shows an example non - restrictive depiction of object detection by a vehicle according to one or more embodiments described herein.
[0021] Figure 14 Shows an example non - restrictive depiction of object and headlight detection by a vehicle according to one or more embodiments described herein.
[0022] Figure 15 Shows an example non - restrictive depiction of the brightness level of an illumination area for risk assessment according to one or more embodiments described herein.
[0023] Figure 16 Shows an example non - restrictive graph of risk assessment parameters according to one or more embodiments described herein.
[0024] Figure 17 Shows an example non - restrictive depiction of other light source detection by a vehicle according to one or more embodiments described herein.
[0025] Figure 18 Shows an example non - restrictive depiction of other light source detection and object identification by a vehicle according to one or more embodiments described herein.
[0026] Figure 19 Shows an example non - restrictive depiction of other light source detection and object identification by a vehicle according to one or more embodiments described herein.
[0027] Figure 20 Shows an example non - restrictive graph of the risk assessment of a detected object according to one or more embodiments described herein.
[0028] Figure 21 Shows an example non - restrictive depiction of vehicle communication for object detection according to one or more embodiments described herein.
[0029] Figure 22 Shows an example non - restrictive depiction of vehicle notification of a detected object according to one or more embodiments described herein.
[0030] Figure 23 Shows an example non - restrictive depiction of object and headlight detection by a vehicle for risk assessment according to one or more embodiments described herein.
[0031] Figure 24Shows an example non - restrictive depiction of dynamic curve illumination for object detection by a vehicle, according to one or more embodiments described herein.
[0032] Figure 25 Shows an example non - restrictive depiction of notifying a vehicle near a detected object, according to one or more embodiments described herein.
[0033] Figure 26 Shows an example non - restrictive depiction of tunnel illumination detection and tunnel entrance or exit signage, according to one or more embodiments described herein.
[0034] Figure 27 Shows an example non - restrictive depiction of tunnel exit signage, according to one or more embodiments described herein.
[0035] Figure 28 Shows an example non - restrictive depiction of object detection in a tunnel, according to one or more embodiments described herein.
[0036] Figure 29 Shows an example non - restrictive depiction of light detection in a tunnel, according to one or more embodiments described herein.
[0037] Figure 30 Shows a flowchart of an example non - restrictive computer - implemented method for facilitating object detection in the dark during vehicle operation, according to one or more embodiments described herein.
[0038] Figure 31 Shows a block diagram of an example non - restrictive operating environment that can facilitate one or more embodiments described herein.
[0039] Figure 32 Shows an example network environment operable to execute various embodiments described herein. Detailed Description
[0040] The following detailed description is merely illustrative and is not intended to limit the embodiments or the application / use of the embodiments. Additionally, there is no intention to be bound by any information presented, whether expressed or implied, in the foregoing background or summary sections or the detailed description section.
[0041] One or more embodiments are now described with reference to the accompanying drawings, in which like reference numerals are always used to refer to like elements. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a more thorough understanding of one or more embodiments. However, it is apparent that in various instances, one or more embodiments may be practiced without these specific details.
[0042] Object detection while driving a vehicle plays a crucial role in enhancing road safety by identifying and tracking various objects such as vehicles, pedestrians, and obstacles near the vehicle. Object detection, typically achieved through sensors and cameras, enables real-time analysis of the vehicle's surroundings, providing necessary data for driver assistance systems, collision avoidance, and overall improving environmental perception. Thus, object detection can reduce the risk of collisions and improve overall visibility in challenging low-light conditions (e.g., at night, in a tunnel with insufficient light).
[0043] Unfortunately, for various reasons, the existing technologies for object detection in dark or low-illumination environments may be unreliable.
[0044] First, existing object detection systems rely on ambient light at night, such as moonlight or street illumination. In areas with poor illumination conditions, these systems may struggle to effectively and accurately detect objects near or on the road that could lead to potentially dangerous situations (e.g., a child running on the road, a large traffic cone in the road). Traditional headlights provide limited illumination in the dark, and their range is typically not sufficient to detect distant objects in the dark or at night. Additionally, the beam of the headlights may create shadows, making it difficult to identify partially occluded objects. Moreover, many vehicles use sensors for object detection. However, these sensors may have a limited detection range and may not be able to identify objects at sufficient distances, especially in complete darkness. Identifying wildlife in the dark also remains a challenge as the lack of ambient light and the variability of animal movement make it difficult for existing systems to reliably detect and classify animals.
[0045] Second, accidents in dark environments occur not only due to animals but also due to human error. When driving in a dark environment, the visibility of the driver is limited. For example, there may be a vehicle traveling at high speed on a highway and driving in a dark environment. Additionally, there may be a stopped vehicle in the lane, but the driver may not see it until it is too late to avoid the stopped vehicle or stop, thus resulting in a collision between two vehicles. In insufficient light conditions, it is challenging for the driver to detect objects at a distance or on the sides of the road. The farther the object, the darker the environment becomes as the intensity of light loss increases. For example, due to the darkness (e.g., due to lack of street illumination), the driver cannot see a deer running towards the road. The driver can only detect the animal until the deer is in front of the vehicle. Additionally, at high speeds, the chance of avoiding such an accident is quite low.
[0046] Third, some modern transportation vehicles (e.g., autonomous vehicles) are equipped with advanced sensors and technologies that enable more accurate and reliable object detection. However, most transportation vehicles still lack these features and sensors, and thus accidents can still occur in dark environments. Advanced technologies such as thermal imaging and high-performance lidar can improve object detection in the dark, but they are typically expensive, thus limiting their widespread adoption in transportation vehicles.
[0047] Accordingly, a system or technology that can solve one or more of these technical problems may be desirable.
[0048] The various embodiments described herein can solve one or more of these technical problems. One or more embodiments described herein can include a system, a computer-implemented method, an apparatus, or a computer program product that can facilitate object detection in the dark for vehicle operation. That is, the inventors recognize the various disadvantages associated with the prior art for performing object detection in the dark.
[0049] In various embodiments, an identification component can detect one or more objects on or beside a road. In various instances, the identification component can engage sensors on a vehicle to detect objects (e.g., animals, pedestrians, cyclists). In various aspects, the identification component can detect light from an approaching vehicle to determine an illumination area and determine whether one or more objects are located within the illumination area. For example, the identification component can determine whether a deer identified near a road is within the detected light from an approaching vehicle (e.g., visible to the approaching vehicle). In various embodiments, in response to determining that one or more objects are not located within the illumination area, an analysis component can perform a risk assessment on the one or more objects based on parameters of the one or more objects. For example, if the identified deer is not within the detected light from an approaching vehicle, the analysis component can perform a risk assessment to determine a risk level associated with the identified deer (e.g., higher risk if the deer is running towards the road, lower risk if the deer is standing away from the road). Accordingly, in various instances, an execution component can notify an approaching vehicle of the detected object or perform an action that can make the detected object visible to the approaching vehicle (e.g., change the light intensity of the approaching vehicle, change the headlight angle of the approaching vehicle). Thus, a vehicle equipped with appropriate sensors to perform object detection in a dark environment can enable other vehicles not equipped with such technology to have enhanced visibility and awareness.
[0050] It should be understood that the figures and descriptions herein provide non-limiting examples of the various embodiments and are not necessarily drawn to scale.
[0051] Figure 1FIG. 100 shows an example non - limiting block diagram of a vehicle system in accordance with one or more embodiments described herein, where such a vehicle can facilitate object detection in the dark for vehicle operation.
[0052] In various aspects, the vehicle can be any suitable vehicle or automobile (e.g., can be a car, truck, van, motorcycle, airplane, boat, helicopter). In various instances, the vehicle can have or otherwise present any suitable type of propulsion system (e.g., can be an electric vehicle, can be a gasoline - powered or diesel - powered vehicle, can be a hybrid vehicle). In some cases, the vehicle can travel at any suitable speed on any suitable road, street, lane, or highway. In other cases, the vehicle can be stopped at an intersection, traffic light, stop sign, crosswalk, or traffic congestion while driving. In other cases, the vehicle can be parked rather than driven (e.g., can be parked in a parking lot, on the side of the road, or in a driveway). In any case, the vehicle can include, have, or otherwise be equipped or outfitted with system 100. In other words, system 100 can be on the vehicle.
[0053] In various embodiments, system 100 can include a processor 102 (e.g., a computer processing unit, a microprocessor) and a non - transitory computer - readable memory 104 that is operably or functionally or communicatively connected or coupled to processor 102. The non - transitory computer - readable memory 104 can store computer - executable instructions that, when executed by processor 102, can cause processor 102 or other components of system 100 (e.g., identification component 106, recognition component 108, analysis component 110, context component 112) to perform one or more actions. In various embodiments, the non - transitory computer - readable memory 104 can store computer - executable components (e.g., identification component 106, recognition component 108, analysis component 110, context component 112), and processor 102 can execute the computer - executable components.
[0054] In various embodiments, system 100 can include an identification component 106. In various aspects, as described herein, the identification component 106 can detect one or more objects on or beside the road (e.g., a child walking towards the road, a construction cone in the middle of the lane, wildlife near the road).
[0055] In various embodiments, system 100 may include an identification component 108. In various instances, as described herein, the identification component 108 may detect light from an approaching vehicle to determine an illumination area and determine whether one or more objects are located within the illumination area. For example, the identification component 108 may determine whether a pedestrian near the road is located within the illumination area caused by the headlights of an approaching vehicle. In other words, the identification component 108 may determine whether one or more detected objects are visible to the driver of the approaching vehicle. In various aspects, the approaching vehicle may be any vehicle approaching from different directions or any vehicle from which the headlights are visible (e.g., a vehicle turning onto the road, a vehicle traveling in the oncoming lane).
[0056] In various embodiments, the identification component 108 may detect the illumination area from an approaching vehicle using computer vision algorithms. Computer vision algorithms that the identification component 108 may use, but are not limited to, are histogram analysis of images, thresholding, or color conversion (e.g., conversion to grayscale, conversion to black and white).
[0057] In various aspects, the identification component 108 may employ a timer condition to determine whether one or more objects are located within the illumination area. More specifically, if a detected object is located within the illumination area but moves out of the illumination area before a defined short time period, the identification component 108 may ultimately determine that the detected object is not within the illumination area. If a detected object is located outside the illumination area but moves into the illumination area after the defined short time period, the identification component 108 may ultimately determine that the detected object is within the illumination area. Conversely, if a detected object remains within the illumination area or outside the illumination area for longer than the defined short time period, the identification component 108 may assume with higher certainty that an object has been detected. In various instances, the timer condition may enforce the assurance that an object has been detected.
[0058] In various embodiments, system 100 may include an analysis component 110. In various cases, as described herein, in response to determining that one or more objects are not located within the illumination area (e.g., one or more objects are not visible to the approaching vehicle), the analysis component 110 may perform a risk assessment on one or more objects based on parameters of the one or more objects. More specifically, the analysis component 110 may employ information about the one or more detected objects (e.g., movement, object type, mobility, location) to determine a risk level assigned to the one or more objects (e.g., no risk, at risk, very much at risk).
[0059] In various embodiments, system 100 may include a background component 112. In various cases, as described herein, the background component 112 may determine whether external light conditions meet a defined darkness threshold. More specifically, the background component 112 may determine whether the external light conditions lack sufficient illumination such that approaching vehicles may not see objects on the road that could pose a danger (e.g., too dark to see a deer near the road). Accordingly, the identification component 106 may automatically begin detecting objects based on determining that the external light conditions meet the defined darkness threshold. For example, if a vehicle is driving during the day, the identification component 106 may avoid object detection because approaching vehicles can see objects on or beside the road. As another example, if a vehicle enters a dim tunnel, the background component 112 may determine that the light conditions meet the defined darkness threshold, and thus the identification component 106 may begin performing object detection in response to that determination.
[0060] Figure 2 FIG. shows a block diagram of an example non - limiting system 200 that may facilitate object detection in the dark for vehicle operation in accordance with one or more embodiments described herein. As shown, in some cases, system 200 may include the same components as system 100 and may also include an execution component 202.
[0061] In various embodiments, the execution component 202 may implement, initiate, facilitate, or otherwise perform any suitable electronic action in response to the analysis component 110 (e.g., in response to determining the risk level of one or more detected objects). Conversely, in various instances, the execution component 202 may avoid implementing, initiating, facilitating, or otherwise performing such electronic actions in response to the analysis component 110.
[0062] In various embodiments, the execution component 202 may display an electronic notification to the driver of an approaching vehicle on any type of vehicle display (e.g., dashboard display, heads - up display) in response to determining that one or more objects are at risk or very much at risk (e.g., a wild animal running onto the road, a cyclist riding onto the road). The electronic notification may include any corresponding warning message. For example, if the identification component 106 detects a negligent pedestrian walking across the street, the recognition component 108 may determine the illumination area from the detected approaching vehicle and may further determine that the pedestrian is not in the illumination area. Accordingly, in response to determining that the pedestrian is not in the illumination area, the analysis component 110 may perform a risk assessment to determine that the pedestrian is very dangerous due to the type and direction of movement of the object. Thus, the execution component 202 may, for example, instruct the driver of the approaching vehicle to slow down and increase the intensity of the headlights.
[0063] In addition, in response to determining that one or more objects are at risk or highly at risk, the actuator component 202 can change the driving of the vehicle or an approaching vehicle. For example, the actuator component 202 can perform a lane change, decelerate, or accelerate the vehicle to avoid a potential accident (e.g., avoid a collision with the object, or avoid a collision with the approaching vehicle if the approaching vehicle collides with the object). Additionally, if equipped with dynamic cornering illumination, the actuator component 202 can illuminate the object by turning the angle of the headlights towards the object, enabling the approaching vehicle to see the object. Further, the actuator component 202 can also increase the intensity of the lights on the vehicle to illuminate the object and allow the approaching vehicle to see the object.
[0064] Figure 3 A block diagram of an example non - limiting system 300 that can facilitate object detection in the dark for vehicle operation, in accordance with one or more embodiments described herein, is shown. In some cases, system 300 can include the same components as system 200, and can further include a sensor component 302, an inference component 318, and a deep learning neural network 320.
[0065] In various aspects, as described herein, the sensor component 302 can obtain nearby data 304 via any suitable sensors of the vehicle. In various cases, the nearby data 304 can be in any suitable format, size, or dimension. For example, the nearby data 304 can include one or more scalars, one or more vectors, one or more matrices, one or more tensors, one or more strings, or any suitable combination thereof.
[0066] In various embodiments, the sensor component 302 can electronically control, electronically execute, electronically activate, or otherwise electronically access any suitable sensors of the vehicle. In various aspects, such sensors can be external or road - facing. In other words, such sensors can be oriented or otherwise configured to monitor the vicinity (e.g., the surrounding environment of the vehicle) while the vehicle is moving around or parked.
[0067] As a non-limiting example, such a sensor can include a set of vehicle cameras 306. In various aspects, the set of vehicle cameras 306 can include any suitable number of any suitable type of camera (e.g., an image capture device). In various instances, the set of vehicle cameras 306 can be integrated into or onto the vehicle. In various cases, one or more of the set of vehicle cameras 306 can be forward-facing. For example, one or more such cameras can be integrated into or onto any suitable forward surface of the vehicle, whether internal or external (e.g., can be built into the vehicle's dashboard for viewing through the vehicle's front windshield, can be built around the vehicle's front windshield, can be built into the vehicle's front bumper, can be built around the vehicle's headlights, can be built into the vehicle's hood). Because one or more such cameras can be forward-facing, one or more such cameras can be configured to capture or otherwise record images or video frames of portions of the vicinity located in front of the vehicle. In various aspects, one or more of the set of vehicle cameras 306 can be rearward-facing. For example, one or more such cameras can be integrated into or onto any suitable rear surface of the vehicle, whether internal or external (e.g., can be built into or onto the vehicle's rearview mirror, can be built into or onto the vehicle's sideview mirror, can be built around the vehicle's rear windshield, can be built into the vehicle's rear bumper, can be built around the vehicle's taillights, can be built into the vehicle's trunk lid). Because one or more such cameras can be rearward-facing, one or more such cameras can be configured to capture or otherwise record images or video frames of portions of the vicinity located behind the vehicle. In various instances, one or more of the set of vehicle cameras 306 can be side-facing. For example, one or more such cameras can be integrated into or onto any suitable side surface of the vehicle, whether internal or external (e.g., can be built into or around the vehicle's door or door handle, can be built into or around the vehicle's fender). Because one or more such cameras can be side-facing, one or more such cameras can be configured to capture or otherwise record images or video frames of portions of the vicinity located beside the vehicle.
[0068] As another non-limiting example, such a sensor can include a set of vehicle microphones 308. In various aspects, the set of vehicle microphones 308 can include any suitable number of any suitable type of microphone (e.g., a sound capture device). In various instances, the set of vehicle microphones 308 can be integrated into or on the vehicle. In various cases, one or more of the set of vehicle microphones 308 can be forward-facing. For example, one or more such microphones can be integrated into or on any suitable forward surface of the vehicle, whether internal or external, to capture or otherwise record sounds or noises occurring in portions proximate to the front of the vehicle. In various aspects, one or more of the set of vehicle microphones 308 can be rear-facing. For example, one or more such microphones can be integrated into or on any suitable rear surface of the vehicle, whether internal or external, to capture or otherwise record sounds or noises occurring in portions proximate to the rear of the vehicle. In various instances, one or more of the set of vehicle microphones 308 can be side-facing. For example, one or more such microphones can be integrated into or on any suitable side surface of the vehicle, whether internal or external, to capture or otherwise record sounds or noises occurring in portions proximate to the side of the vehicle.
[0069] As yet another non-limiting example, such a sensor may include a set of vehicle proximity sensors 310. In various aspects, the set of vehicle proximity sensors 310 may include any suitable number of any suitable type of proximity sensors (e.g., radar, ultrasonic, lidar, sonar, or lidar sensors). Thus, sensors such as radar or lidar can enable object detection even when the object is not visible (e.g., can detect an object in an environment lacking sufficient illumination conditions). In various instances, the set of vehicle proximity sensors 310 may be integrated into or on the vehicle. In various cases, one or more of the set of vehicle proximity sensors 310 may be forward-facing. For example, one or more such proximity sensors may be integrated into or on any suitable forward surface of the vehicle, whether internal or external, to capture or otherwise record the proximity of tangible objects in the nearby portion located in front of the vehicle. In various aspects, one or more of the set of vehicle proximity sensors 310 may be rear-facing. For example, one or more such proximity sensors may be integrated into or on any suitable rear surface of the vehicle, whether internal or external, to capture or otherwise record the proximity of tangible objects in the nearby portion located behind the vehicle. In various instances, one or more of the set of vehicle proximity sensors 310 may be side-facing. For example, one or more such proximity sensors may be integrated into or on any suitable side surface of the vehicle, whether internal or external, to capture or otherwise record the proximity of tangible objects in the nearby portion located beside the vehicle.
[0070] In any case, the sensor component 302 may utilize such sensors to capture, record, or otherwise measure the nearby data 304.
[0071] For example, the set of vehicle cameras 306 may capture a set of nearby images 312 while the vehicle is in motion or parked. In various aspects, the set of nearby images 312 may include any suitable number of images or video frames (e.g., any suitable number of two-dimensional pixel arrays) that may depict nearby portions (e.g., nearby portions located in front of, behind, or beside the vehicle).
[0072] As another example, the set of vehicle microphones 308 may capture a set of nearby noises 314 while the vehicle is in motion or parked. In various cases, the set of nearby noises 314 may include any suitable number of audio segments that may represent noises occurring in nearby portions (e.g., in nearby portions located in front of, behind, or beside the vehicle).
[0073] As another example, the set of vehicle proximity sensors 310 can capture a set of nearby proximity detections 316 while the vehicle is in motion or parked. In various aspects, the set of nearby proximity detections 316 can include any suitable number of proximity detections (e.g., radar, sonar, or lidar detections) that can represent the distance between the vehicle and nearby objects in nearby portions (e.g., in nearby portions in front of, behind, or beside the vehicle).
[0074] In any case, the set of nearby images 312, the set of nearby noises 314, and the set of nearby proximity detections 316 can be collectively considered to be the nearby data 304.
[0075] In various embodiments, the system 500 can include an inference component 318. In various instances, as described herein, the inference component 318 can detect one or more objects or vehicles that appear in the nearby area based on the nearby data 304.
[0076] In various embodiments, the inference component 318 can electronically store, electronically maintain, electronically control, or otherwise electronically access a deep learning neural network 320. In various aspects, the deep learning neural network 320 can have or otherwise exhibit any suitable internal architecture. For example, the deep learning neural network 320 can have an input layer, one or more hidden layers, and an output layer. In various instances, any such layer can be coupled together by any suitable intermediate neuron connections or inter-layer connections, such as forward connections, skip connections, or recurrent connections. Additionally, in various cases, any such layer can be any suitable type of neural network layer having any suitable learnable or trainable internal parameters. For example, any one of such an input layer, one or more hidden layers, or output layer can be a convolutional layer, and its learnable or trainable parameters can be convolutional kernels. As another example, any one of such an input layer, one or more hidden layers, or output layer can be a dense layer, and its learnable or trainable parameters can be a weight matrix or a bias value. As yet another example, any one of such an input layer, one or more hidden layers, or output layer can be a batch normalization layer, and its learnable or trainable parameters can be a shift factor or a scale factor. Additionally, in various cases, any such layer can be any suitable type of neural network layer having any suitable fixed or non-trainable internal parameters. For example, any one of such an input layer, one or more hidden layers, or output layer can be a non-linear layer, a padding layer, a pooling layer, or a concatenation layer.
[0077] Regardless of the internal architecture of the deep learning neural network 320, the deep learning neural network 320 can be configured to detect surrounding objects or vehicles based on the input nearby data.
[0078] In various examples, the inference component 318 may perform a deep learning neural network 320 on nearby data 304 in various respects, and such performance may enable the deep learning neural network 320 to detect one or more nearby objects or vehicles. More specifically, the inference component 318 may feed the nearby data 304 (e.g., a set of nearby images 312, a set of nearby noise 314, or a set of nearby proximity detections 316) to an input layer of the deep learning neural network 320. In various examples, the nearby data 304 (e.g., the set of nearby images 312, the set of nearby noise 314, or the set of nearby proximity detections 316) may complete a forward pass through one or more hidden layers of the deep learning neural network 320. In various cases, an output layer of the deep learning neural network 320 may detect one or more objects or vehicles based on activation maps or intermediate features generated by the one or more hidden layers.
[0079] In various embodiments, the inference component 318 may perform a deep learning neural network 320 on nearby data 304 to detect objects on or beside a road. Additionally, the deep learning neural network 320 may be performed to detect surface road conditions (e.g., ice on the road, wet road due to rainfall, presence of snow), and such surface road conditions may be used to determine a risk level of a detected object. For example, the sensor component 302 may capture nearby data 304 while the vehicle is in motion, and the deep learning neural network 320 may be trained or otherwise configured to determine the surface condition of the road based on the nearby data 304. In other words, if such a condition occurs, some manifestation of such a condition may be communicated in the nearby data 304 (e.g., rainfall may be depicted in a set of nearby images 210), and the deep learning neural network 320 may identify such a manifestation of the condition (e.g., the presence and severity of rainfall). Thus, for example, if a nearby vehicle is traveling at high speed, and an animal is detected running into the road, and there is rainfall, the analysis component 110 may determine that the animal is very dangerous because sudden braking of the nearby vehicle may cause, for example, hydroplaning on the wet road.
[0080] Figure 4 A non-limiting example diagram of tunnel detection and determination of external light conditions in accordance with one or more embodiments described herein is shown.
[0081] As Figure 4As shown, images 402 and 404 depict situations in which background component 112 can determine whether external light conditions meet a defined darkness threshold. More specifically, image 492 depicts four images of a tunnel (e.g., the entrance of the tunnel, the interior of the tunnel, the exit of the tunnel), from which identification component 108 can detect the presence of a light source (e.g., light at the tunnel exit, light inside the tunnel) or the absence of light (e.g., lack of light at the tunnel entrance). Thus, background component 112 can use the determined illumination area to determine whether identification component 106 should participate for object detection. Background component 112 can also use GPS information and computer vision algorithms to predict an approaching tunnel or the end of a tunnel, and thus determine whether object detection is desired. For example, if vehicle one is driving during the day, background component 112 can determine that object detection is not necessary for enabling other vehicles to see objects on or beside the road. However, if vehicle one is approaching a tunnel, identification component 108 can detect the entrance of the tunnel due to the lack of illumination that occurs when transitioning from daylight conditions into the tunnel. Thus, background component 112 can cause identification component 106 to participate to activate object detection when entering the tunnel. Additionally, background component 112 can activate object detection for other situations of temporary darkness or lack of illumination (e.g., driving under a bridge, driving in a covered alleyway, driving in a dim parking garage).
[0082] As depicted in image 404, background component 112 can also use information about sunset time or twilight time to automatically activate object detection from identification component 106. Additionally, background component 112 can use latitude, season of the year, time of day, or the location of vehicle one to determine when object detection is needed. For example, vehicle one can use any suitable equipped sensor to determine the current angle of the sun, and thus decide to activate or deactivate object detection based on predefined settings. As an example, identification component 106 can be set to activate after nautical twilight each day, as depicted in image 404. Thus, if background component 112 determines via a sensor that the sun is 12 degrees below the horizon, background component 112 can cause identification component 106 to participate to automatically activate object detection.
[0083] Figure 5 An exemplary non - limiting light pollution map for risk assessment in accordance with one or more embodiments described herein is shown.
[0084] Image 502 depicts a light pollution map of Sweden. In various embodiments, the background component 112 can utilize the light pollution map to determine whether the external light conditions meet a defined darkness threshold. Accordingly, in response to determining that the external light conditions meet the defined darkness threshold, the identification component 106 can participate in detecting one or more objects on or beside the road. Additionally, the analysis component 110 can utilize the light pollution map to define the strictness of a risk assessment for determining the risk level of one or more identified objects. For example, by using the light pollution map, if an object is detected in a city, the analysis component 110 can assign the object as having no risk, but if an object is detected in a rural area, the analysis component 110 can assign the object as having risk.
[0085] Figure 6 Shows an example non - limiting depiction of object detection by a vehicle in accordance with one or more embodiments described herein.
[0086] In various embodiments, a vehicle 602 can travel on a road 604. As used herein, the vehicle 602 is an autonomous vehicle (AV). The identification component 106 of the system 100 on the vehicle 602 can detect an object 606 near the road 604. For example, as Figure 6 shown, the road 604 can be a two - lane road and the object 606 can be a cow standing outside the opposite lane of the vehicle 602. However, the road 604 can be any type of road and include any number of lanes.
[0087] In various embodiments, the identification component 106 can obtain information about the object 606, and this information can thus be used by the analysis component 110 for risk assessment. The identification component 106 can identify the type of the detected object via the inference component 318. For example, the type of the object can be a person, an animal, a vehicle, or a physical object (e.g., a pedestrian, a dog, a traffic cone). The identification component 106 can additionally identify whether the object 606 is moving and the direction in which it is moving. If the object 606 is not moving, the identification component 106 can determine whether the object 606 is capable of moving. For example, if the object 606 is not moving and the object 606 is identified as a large rock, the identification component 106 can conclude that the object 606 cannot move. In contrast, if the object 606 is not moving and the object 606 is identified as a child, the identification component 106 can infer that the object 606 is capable of moving. Additionally, if the object 606 is moving, the identification component 106 can determine whether the movement of the object 606 is predictable, unpredictable, or unknown. For example, if the object 606 is a cyclist riding straight beside a road, the movement can be determined to be predictable. As another example, if the object 606 is a deer, the movement can be determined to be unpredictable because the direction or speed at which the deer can move is unpredictable (e.g., an animal can move in any direction). As yet another example, if the type of the object is not identifiable (e.g., there are obstacles that make it difficult to identify the object), the movement can be determined to be unknown. Further still, the identification component 106 can use the coordinate system 608 to determine the position of the object relative to the lanes of the road 604. For example, the identification component 106 can measure how many meters the object 606 is away from the current position of the vehicle 602 in the y direction and how many meters away in the x direction. Additionally, if other vehicles are detected, the identification component 106 can determine the distance between the object 606 and the other detected vehicles in the x and y directions.
[0088] In various embodiments, the analysis component 110 can use such parameters (e.g., the type of the object, movement, movement direction, movement type, capable of moving, position) to assign a risk level to the object 602. Thus, the analysis component 110 can cause the execution component 202 to participate in notifying other nearby vehicles in response to determining the assigned risk level, or if the vehicle 602 is an AV, change the driving of the vehicle 602 (e.g., change lanes, decelerate, accelerate, turn on hazard lights, turn on high beams).
[0089] Figure 7 Shown is an example non - restrictive depiction of vehicle detection performed by a vehicle in accordance with one or more embodiments described herein.
[0090] In various aspects, the identification component 106 can detect and identify an approaching vehicle 702 via the inference component 318 while the vehicle 602 is traveling on the road 604. As used herein, the vehicle 702 is a non-autonomous vehicle (non-AV) and may lack sufficient sensors or technology to detect objects at night. However, the vehicle 702 can be any suitable type of vehicle (e.g., the vehicle 702 can be an AV). If the vehicle 702 is an AV, the notification or report sent by the vehicle 602 can be ignored because the vehicle 702 may include suitable sensors to detect objects in a less illuminated environment. Depending on the automation level of the vehicle 702, the vehicle 702 can also request driver control. If the vehicle 702 is an AV but is being driven in manual mode, the notification or report sent by the vehicle 602 can be displayed to the driver. In any case, the approaching vehicle 702 can approach the vehicle 602 from any direction and be traveling in any lane of the road 604. Additionally, the identification component 106 can detect more than one nearby vehicle. In various aspects, the recognition component 108 can detect light from the identified approaching vehicle 702 to determine the illumination area. For example, the recognition component 108 can determine the illuminated area created by the headlights of the approaching vehicle 702.
[0091] Figure 8 Shown is an example non-limiting depiction of vehicle light identification in accordance with one or more embodiments described herein.
[0092] Depicted at 802 is an image from the perspective of the vehicle 602, where there is an approaching vehicle 702. The image can be, for example, taken from the vehicle camera 306 in front of the vehicle 602. As depicted at 804, the recognition component 108 can use the conversion of the image at 802 to black and white to determine the illumination area caused by the lights on the approaching vehicle 702. As depicted in 804, the illumination area is visualized by the white areas on the image (e.g., the headlights of the vehicle 702, a small area in front of the vehicle 702). As previously mentioned, the recognition component 108 can employ other methods besides conversion to black and white to determine the illumination area from the lights on the vehicle 702.
[0093] Figure 9 Shown is an example non-limiting depiction of vehicle light identification in accordance with one or more embodiments described herein.
[0094] Visualized through 902 in Scenario 1, the illumination area (e.g., the brightest area) covers a smaller area. Visualized through 904 in Scenario 2, the illumination area (e.g., the brightest area) covers a larger area. The identified illumination area may be affected by various factors. For example, the activation of the lights set by the approaching vehicle 702 or the intensity of the lights can affect the size of the determined illumination area (e.g., if the high beams are activated on the approaching vehicle, the illumination area can be larger).
[0095] Figure 10 Shown is an example non - limiting depiction of object detection and vehicle light detection performed by a vehicle in accordance with one or more embodiments described herein.
[0096] As Figure 10 shown, the size of the illumination area from the approaching vehicle 702 affects the distance between the detected object and the illumination area based on the position and light intensity of the vehicle 702. For example, the approaching vehicle 702 with an illumination area 1002 having a length a is at a distance d from the object 606. The illumination area 1002 is small (e.g., due to the use of low - intensity light), so the object 606 may not be visible to the driver of the vehicle 702 because the object 606 is not within the illumination area 1002. Thus, the analysis component 110 can perform a risk assessment on the object 606 to determine a risk level to further determine whether to send a notification to the vehicle 702 or whether to take other safety measures (e.g., slowing down the vehicle 602). As another example, the approaching vehicle 702 with an illumination area 1004 having a length a is at a distance d from the object 606. The illumination area 1004 is large (e.g., due to the use of high - intensity light), so the object 606 may be visible to the driver of the vehicle 702 because the object 606 is within the illumination area 1004.
[0097] Figure 11 Shown is an example non - limiting depiction of object detection and vehicle light detection performed by a vehicle in accordance with one or more embodiments described herein.
[0098] In addition to determining the distance d between the object 1102 and the vehicle 702, the identification component 106 can also use the coordinate system 610 to determine the distance y of the object relative to the road or lane on which the approaching vehicle 702 is traveling. For example, if the position of the object 1102 indicates that it is further away from the road lane, the recognition component 108 can infer that the object 1102 is less likely to be visible to the driver of the vehicle 702. Therefore, the position of the object 1102 can be used in the risk assessment to determine how much risk the object 1102 poses. As another example, the position of the object 1104 can indicate that it is near the road and lane on which the approaching vehicle 702 is traveling, but not within the illumination area. Then, the recognition component 108 can infer that the object 1104 is also less likely to be visible to the driver of the vehicle 702.
[0099] Figure 12 An example non - limiting depiction of object detection and vehicle light detection by a vehicle in accordance with one or more embodiments described herein is shown.
[0100] In various aspects, the analysis component 110 can use the direction in which the object 606 is moving to determine the risk level associated with the object 606. For example, if the vehicle 1202 is approaching on the road 1204 and detects a pedestrian 1206 who is moving away from the road, the analysis component 110 can determine that the pedestrian 1206 poses less risk. As another example, if the vehicle 1202 is approaching on the road 1204 and detects a deer 1208 that is running towards the road, the analysis component 110 can determine that the deer 1208 is very risky. Additionally, the speed at which the object is moving can also be considered when determining the risk level. For example, a pedestrian walking towards the road at a slow pace can be less risky than a pedestrian running towards the road.
[0101] Figure 13 An example non - limiting depiction of object detection by a vehicle in accordance with one or more embodiments described herein is shown.
[0102] In various instances, the identification component 106 can detect a cyclist 1302 beside the road outside the illumination area from the vehicle 702. Additionally, the cyclist 1302 can signal a turn to the vehicle 602 (e.g., using a gesture). For example, as Figure 13As shown, the cyclist 1302 is signaling to turn left across the road, which will cause the cyclist 1302 to cross the vehicle 702. However, due to the illumination conditions, it can be assumed that the cyclist 1302 is not visible to the vehicle 702, so the vehicle 702 is not aware that the cyclist 1302 will cross the road. Therefore, the identification component 106 can detect and identify the direction in which the cyclist 1302 plans to turn. Based on the signaled direction, the analysis component 110 can perform a risk assessment on the cyclist 1302 and decide whether to involve the execution component 202 in sending an electronic notification to the vehicle 702 to inform the driver of the turning cyclist 1302. For example, if the cyclist 1302 is signaling to turn off the road and the determined risk level is risk-free, the analysis component 110 can avoid involving the execution component 202 in notifying the vehicle 702. Instead, and as Figure 13 shown, if the cyclist 1302 is signaling to enter the road and the determined risk level is risky, the execution component 202 can be involved in notifying the vehicle 702.
[0103] Figure 14 Shows an example non-limiting depiction of object and vehicle light detection by a vehicle according to one or more embodiments described herein.
[0104] Figure 14 An image of the angle of the vehicle 602 is depicted, which is converted to black and white to show the illumination area from the approaching vehicle 702. The illumination area 1402 from the vehicle 702 includes small areas that can be caused by various reasons, such as using low beam lights. In addition, the object 606 is far from the illumination area 1402. As shown by the object 606, the object 606 is not located in the white area of the image representing the illumination area 1402. Therefore, the recognition component 108 can conclude that the object 606 is not located within the illumination area 1402 and can assume that the vehicle 702 cannot see the object 606.
[0105] Conversely, the illumination area 1404 from the vehicle 702 includes a larger area that can be caused by various reasons, such as using high beam lights. In addition, the object 606 is located within the white area of the image representing the illumination area 1404. In addition, the section in front of the object 606 lacks illumination, meaning that the object 606 casts a shadow under the light from the vehicle 702. Therefore, the recognition component 108 can conclude that the object 606 is located within the illumination area 1404 and can assume that the vehicle 702 can see the object 606.
[0106] Figure 15 Shows an example non-limiting depiction of the brightness level of the illumination area for risk assessment according to one or more embodiments described herein.
[0107] In various embodiments, the recognition component 108 may define a brightness level of the illumination area, where the brightness level is based on the light intensity. The brightness level may be defined because light loses intensity as the distance from the light source increases. For example, and as used herein, the recognition component 108 may utilize three brightness levels to define the illumination area. However, any suitable number of brightness levels may be utilized. Figure 15 Shown is an example nearby image 312 from the forward-facing vehicle camera 306, which is converted to black and white to show the illumination area from the approaching vehicle 702. As an example, image 1502 shows level 1 brightness, image 1504 shows level 2 brightness, and image 1506 shows level 3 brightness, where level 1 brightness includes the highest intensity light and level 3 includes the lowest intensity light. Thus, level 1 brightness indicates a closer distance to vehicle 702 and level 3 brightness indicates a farther distance from vehicle 702. As shown in image 1506, if an object is outside the three brightness levels, the risk assessment may determine that the object is at higher risk because it is not visible to vehicle 702. As another example, image 1508 shows level 1 brightness, image 1510 shows level 2 brightness, and image 1512 shows level 3 brightness. As shown in image 1510, if an object is within level 2 brightness but outside level 1 brightness, the risk assessment may infer that the object is of medium risk. Thus, the execution component 202 may determine an appropriate action to perform in response to the determination of the risk level (e.g., activate dynamic curve illumination if the risk is medium, perform a lane change if the risk is high).
[0108] Figure 16 Shown is an example non-limiting diagram of risk assessment parameters in accordance with one or more embodiments described herein.
[0109] In various embodiments, the analysis component 110 can consider various factors in the risk assessment to determine the risk level of one or more objects. In various aspects, information about the identified object learned by the identification component 106 can be considered in the risk assessment. Depicted at 1610 are various examples of objects that can be detected by the identification component 106. For example, an object can be identified as a rock located in the middle of a road. The identification component 106 can also determine that the rock is not moving and cannot move. As another example, an object can be identified as an animal. The identification component 106 can also determine whether the animal is moving. The identification component 106 can also determine that the object can move and can exhibit unpredictable movement because the object is an animal. As yet another example, an object can be identified as a person. The identification component 106 can also determine whether the person is moving and the type of movement the person is exhibiting (e.g., predictable, unpredictable). When the object is a person, the identification component 106 can also determine that the object can move. As another example, an object can be identified as a vehicle. The identification component 106 can also determine whether the vehicle is moving and the type of movement the vehicle is exhibiting. When the object is a vehicle, the identification component 106 can also determine that the object can move. As yet another example, an object can be un-identified (e.g., an obstacle poses a challenge in identifying the object and the object is unknown). The identification component 106 can also determine whether the un-identified object is moving. The identification component 106 can also determine that the movement ability of the object is unknown and the movement type is unknown based on the object being un-identifiable.
[0110] In various aspects, the analysis component 110 can also consider the light pollution map and geographical location of the vehicle in the risk assessment. For example, the vehicle can be located in a rural area 1606 with a light pollution map 1608. Due to less light pollution, the analysis component 110 can determine that the object is at less risk in the rural area than in a city 1602 with more light pollution, as shown in the light pollution map 1604.
[0111] In various instances, the time of day can be considered in the risk assessment to determine the risk level of one or more objects. For example, a sun map 1612 can be used to determine the external light conditions, and thus the analysis component 110 can use the determined external light conditions to decide how much risk one or more objects are at (e.g., how visible one or more objects are to approaching vehicles).
[0112] In various situations, the speed of vehicle 702 can also affect what risk level is assigned to one or more objects, as speed can affect the reaction time of the driver of vehicle 702. For example, if an object is detected near the road and vehicle 702 is traveling at a high speed, analysis component 110 can determine that the object is very risky. Conversely, if the same object is detected but vehicle 702 is traveling at a low speed, analysis component 110 can determine that the object is low risk or risk-free.
[0113] Figure 17 An example non-limiting depiction of other light source detection performed by a vehicle in accordance with one or more embodiments described herein is shown.
[0114] In various embodiments, risk assessment can further consider other light sources in the vicinity to determine the risk level associated with a detected object. More specifically, identification component 108 can identify the illumination area from other light sources. For example, the other light sources can be streetlights or illumination from other nearby vehicles. Thus, identification component 108 can identify whether one or more detected objects are within the illumination area from other light sources. For example, depicted in 1702 is the perspective of vehicle 602, where a streetlight is detected beside the road. Identification component 108 can convert image 1702 to black and white, as shown in 1704, to identify the illumination area from the streetlight. Now referring Figure 18 , an object 1802 can be detected near the road. As shown, object 1802 is not near the streetlight or within the illumination area of the streetlight. Thus, identification component 108 can assume that object 1802 is not visible to nearby approaching vehicles. For example, if vehicle 702 is approaching vehicle 602 from the opposite direction and object 1802 is not within the illumination area of the lights of vehicle 702 as well as the streetlight, it can be assumed that object 1802 is not visible to the driver of vehicle 702. Figure 19 Another example is shown where object 1802 is located within the illumination area from the streetlight. Thus, if vehicle 702 is approaching, identification component 108 can assume that object 1802 is within the illumination area and is therefore likely to be visible to the driver of vehicle 702. Identification component 108 can also assume that object 1802 is visible to the driver of vehicle 702 even if object 1802 is not located within the illumination area of the lights of vehicle 702 because object 1802 is within the streetlight. In response to determining that object 1802 is within or not within the illumination area from the streetlight, analysis component 110 can assign a risk level to object 1802. Additionally, identification component 108 can determine the distance between the object and the illumination area. Thus, the determined distance (e.g., distance 1902, distance 1904) can be used as a parameter in the risk assessment to assign a risk level to the object.
[0115] Figure 20 Illustrates an example non - restrictive chart 2000 of the risk assessment of a detected object according to one or more embodiments described herein.
[0116] In various aspects, chart 2000 illustrates a risk assessment of various scenarios and parameters for determining a risk level. As shown in chart 2000, the risk assessment uses parameters including but not limited to object information (e.g., moving, capable of moving, type of movement), direction of movement of the object, current location of the object, location of vehicle 602, natural light conditions (e.g., night, astronomical twilight, nautical twilight), environment of the object (e.g., presence of other light sources), and speed of vehicle 702 to determine the risk level for each scenario. In various cases, weather conditions (e.g., ice on the road, rainfall, fog), road type (e.g., downhill road, curved road), or vehicle type (e.g., sedan, semi - truck, van) can also be considered in the risk assessment. For example, if the approaching vehicle 702 is traveling downhill in the rain and is a semi - truck, the risk assessment can assign a higher risk level. Conversely, if a sedan is traveling downhill in dry weather, the risk assessment can assign a lower risk level due to the smaller size of the sedan and the improved weather conditions. Thus, the likelihood of a dangerous collision with the detected object may be smaller.
[0117] In the four scenarios shown in chart 2000, it is assumed that the detected object is not within the illumination area from vehicle 702, so it is assumed that the driver of vehicle 702 cannot see the object. Additionally, chart 2000 depicts the degree of risk for each parameter of each scenario. More specifically, the dark - gray portions represent a higher risk, the light - gray portions represent a medium risk, and the white portions represent little to no risk.
[0118] As an example, in scenario 1, the identification component 106 can detect an animal moving in an unpredictable manner. Additionally, the animal can be close to the lane of the road and moving in a direction towards the road. Additionally, vehicles (e.g., vehicle 602 and vehicle 702) can be located in a rural area and driving at night (e.g., determined with reference to image 404). No other light sources are detected in scenario 1, and vehicle 702 is traveling at a high speed (e.g., over 70 km / h). Based on these parameters of scenario 1, the analysis component 110 can assign a risk level to the object.
[0119] In scenario 2, the identification component 106 can detect animals that do not move and can exhibit unpredictable movement. Additionally, the animals can be close to the lanes of a road. Further, the vehicle can be located in a city and be driven under civil twilight. Another light source is detected in scenario 2, however, the object is far from the other light source. Additionally, the vehicle 702 is traveling at a medium speed (e.g., 40 km / h). Based on these parameters of scenario 2, the analysis component 110 can assign a risk level of risk to the object.
[0120] In scenario 3, the identification component 106 can detect a person who is moving and exhibits predictable movement. Additionally, the person is far from the lanes of the road and is moving parallel to the road in the same direction as the vehicle 702. Further, the vehicle can be located in the countryside and be driven under nautical twilight. Another light source is detected, and the object is located near the other light source. Additionally, the vehicle 702 is traveling at a low speed (e.g., 20 km / h). Based on these parameters of scenario 3, the analysis component 110 can assign a risk level of no risk to the object.
[0121] In scenario 4, the identification component 106 can detect a vehicle that is not moving and is leaning near the lanes of a road. Since the vehicle is leaning against the roadside, the vehicle exhibits predictable movement. Further, the vehicle (e.g., vehicle 602, vehicle 702, and the detected vehicle) is located in a city and is driven at night. Another light source is detected, and the object is located near the other light source. Additionally, the vehicle 702 is traveling at a low speed (e.g., 20 km / h). Based on these parameters of scenario 4, the analysis component 110 can assign a risk level of no risk to the object.
[0122] Figure 21 An example non - restrictive depiction of vehicle communication for object detection in accordance with one or more embodiments described herein is shown.
[0123] In various embodiments, if the analysis component 110 determines that one or more objects have a risk level of risk, the execution component 202 can send an electronic report to the vehicle 702. The execution component 202 can send the electronic report through vehicle - to - vehicle (V2V) communication, as shown at 2102. To enable V2V communication, the vehicle 702 must be equipped with a wireless communication device (e.g., antenna, transceiver, communication protocol) that can support V2V communication.
[0124] In various embodiments, the execution component 202 may also send an electronic report to the vehicle 702 via the cloud system 2106. To enable communication via the cloud system 2106, the vehicle 702 must be equipped with GPS to allow the vehicle 602 to know the location of the vehicle 702, and with an Internet connection to allow the vehicle 702 to receive the report. The vehicle 602 may transmit the electronic report by first sending the report to the cloud system 2106. The report may include information about the detected object (e.g., the location of the object, the type of the object, the movement of the object) to notify the driver of the vehicle 702 of the detected object. Additionally, the location of the vehicle 702 is also known, so the report may also include the distance between the object and the vehicle 702. Further, the report may notify the vehicle 702 whether the object is moving closer or farther away from the location of the vehicle 702.
[0125] As an example, the vehicle 602 may detect the object 2104 (e.g., a deer), where the identification component 106 may use GPS to determine the location C of the vehicle 602 and the distance B between the vehicle 602 and the vehicle 702. Additionally, the identification component 106 may determine the distance A between the object 2104 and the vehicle 602, as well as the distance between the object 2104 and the vehicle 702. The recognition component 108 may determine that the object 2104 is not within the illumination area of the light identification of the vehicle 702, and thus the analysis component 110 may perform a risk assessment and conclude that the object 2104 is at risk. In response to determining that the object 2104 is at risk, the execution component 202 may send a report about the object 2104 to the vehicle 702 via the cloud system 2106. In this example, B = 400m and the distance between the object 2104 and the vehicle 702 is 200m. The report may include the distance between the object 2104 and the vehicle 702 and information about the object 2104 (e.g., the object 2104 is an animal, the object 2104 is in motion, the direction of movement of the object 2104).
[0126] As another example, in addition to vehicles 602 and 702 on road 604, there may also be vehicles 2108, 2110, and 2112. There may also be an object 2104 as in the previous example. The cloud system 2106 can distinguish which vehicles to send reports to based on the positions of the vehicles, the distances between the vehicles and the object, and the directions in which the vehicles are traveling. In this example, vehicle 2110 is at a horizontal distance of 200 m from object 2104 and is moving away from object 2104. Therefore, the report will not be sent to vehicle 2110. Similarly, vehicle 2108 is 200 m from object 2104 and is moving away from object 2104. Therefore, the report will not be sent to vehicle 2108. Vehicle 2112 is moving towards object 2104 behind vehicle 702; however, vehicle 2112 is 300 m away. Therefore, due to the large distance from object 2104, the report will not be sent to vehicle 2102. As in the previous example, vehicle 702 is 200 m from object 2104 and is moving towards object 2104. Therefore, vehicle 702 can receive the report via cloud system 2106. In various aspects, the same method for determining which vehicles receive the report can be applied in conjunction with V2V communication.
[0127] Figure 22 A non - limiting example depiction is shown of a vehicle notifying of a detected object in accordance with one or more embodiments described herein.
[0128] In Figure 21 the example referenced, object 2104 is 200 m in front of vehicle 702 and is moving towards the road. The report received from vehicle 602 can be displayed in vehicle 702, for example, as shown at 2202 and 2204. In various situations, if vehicle 602 detects an animal, an icon representing the animal can be displayed on any suitable display in vehicle 702 (e.g., a heads - up display, a dashboard display). The direction of movement and the current distance from the object can also be displayed. Depicted at 2202 is an icon representing the animal, an arrow pointing in the direction in which the animal is moving, and the current distance from the animal (e.g., 200 m) presented on a navigation display or application. As another example, as shown at 2204, the icon, direction arrow, and current distance can be displayed on the heads - up display of vehicle 702. The received report can be displayed in any suitable format, and any suitable information that can help the driver avoid the detected object or a potential collision can be displayed. For example, the notification can include further information about the speed of the object.
[0129] In addition, the risk assessment can be updated in real time, so that if the current situation changes, the notification can be updated in real time. For example, if the animal changes direction, the new direction can be updated in the risk assessment and received by the vehicle 702 for display to the driver. As another example, if the object starts moving closer to the vehicle 702, the distance can be updated simultaneously (e.g., the displayed distance will decrease as the object moves closer). In addition, an audible alert can be played in the vehicle 702 according to the risk level of the object. For example, if an animal runs into the road and the vehicle 702 is traveling at high speed, an audible alert can be played to quickly warn the driver of the vehicle 702 to avoid a collision.
[0130] Figure 23 An example non - limiting depiction of object detection by a vehicle and vehicle light detection for risk assessment in accordance with one or more embodiments described herein is shown.
[0131] In various embodiments, the identification component 106 can detect whether other vehicles are traveling behind the vehicle 602. After detecting the object 2104, if no vehicle is detected behind the vehicle 602 and the vehicle 602 has passed the approaching vehicle 702, as depicted in example 2301, the execution component 202 can notify and instruct the vehicle 702 to increase the intensity of the front lights, as depicted in 2303, so that the driver can achieve higher visibility or awareness. If no vehicle is detected behind the vehicle 602, the vehicle 702 can be instructed to increase the light intensity. Thus, the high - intensity light of the vehicle 702 will not impair the visibility of a vehicle that may be traveling behind the vehicle 602. In addition, as depicted at 2305, if other vehicles are detected behind the vehicle 602, the execution component 202 can send a notification to the vehicle 702 to temporarily activate the high - beam lights as long as the other vehicles are far enough away from the vehicle 702.
[0132] Figure 24 An example non - limiting depiction of dynamic curve illumination for object detection by a vehicle in accordance with one or more embodiments described herein is shown.
[0133] In various embodiments, in response to determining the risk level of object 2104, if the vehicle is equipped with dynamic cornering illumination, the execution component 202 can activate the dynamic cornering illumination. As shown in 2402, the dynamic cornering illumination can enable the vehicle's headlights to turn based on the angle of the steering wheel. For example, if the vehicle is turning, the headlights can turn in the turning direction to allow enhanced visibility on the road. In various aspects, the dynamic cornering illumination can be utilized to enable the driver of vehicle 702 to see object 2104. More specifically, the headlights can turn based on the distance between the detected object and the lane in which the approaching vehicle 702 is traveling. In Example 2401, object 2104 is located next to the lane. Therefore, the headlights of vehicle 702 can turn approximately 10 degrees to illuminate and allow the driver to see object 2104. In Example 2403, object 2104 is located several meters away from the lane. Therefore, the headlights of vehicle 702 can turn approximately 40 degrees to illuminate and allow the driver to see object 2104. In various instances, if the risk level of object 2104 is determined to be risky or very risky, the dynamic cornering illumination can be executed. Additionally, the execution component 202 can activate the dynamic cornering illumination on vehicle 602 to illuminate object 2104. Thus, if vehicle 702 cannot use the dynamic cornering illumination, object 2104 can still be illuminated and made visible to vehicle 702.
[0134] Figure 25 Shows an example non - restrictive depiction of notifying a vehicle near a detected object according to one or more embodiments described herein.
[0135] In various embodiments, the identification component 106 can detect a vehicle (e.g., vehicle 2502) traveling behind vehicle 702 and determine their distances from object 2104. For example, vehicle 2502 is located 250 m away from object 2104. Additionally, vehicle 702 is located 200 m away from object 2104. In this scenario, vehicle 702 may become a blind spot for vehicle 2502 and thus lead to a possibility of a collision (e.g., vehicle 2502 colliding with object 2104, vehicle 702 colliding with object 2104, which may result in a collision between vehicle 2502 and vehicle 702).
[0136] Depicted at 2501 is a perspective of vehicle 2502, where vehicle 2502 is traveling behind vehicle 702 and object 2104 is 250 m ahead. To enable vehicle 2502 to be aware of object 2104, vehicle 602 may send a notification to vehicle 2502 to inform the driver of object 2104. For example, a notification 2504 may be displayed in vehicle 2502, and the notification 2504 shows an icon representing object 2104, an arrow indicating the moving direction, and the distance between object 2104 and vehicle 2502. In the case where vehicle 702 suddenly applies brakes to avoid object 2104, the notification 2504 may prevent a collision between vehicle 702 and vehicle 2502 (e.g., the notification may warn vehicle 2502 to maintain a greater following distance or reduce speed). Additionally, when vehicle 2502 approaches object 2104, the displayed distance can be updated in real time.
[0137] In various instances, and as depicted at 2503, if vehicle 602 can no longer detect object 2104 (e.g., vehicle 602 has passed object 2104), then vehicle 2502 may receive a notification 2506 that includes the position of object 2104 since the last detection of object 2104 and how long ago object 2104 was detected. For example, if vehicle 602 passes object 2104, vehicle 2502 may receive a notification 2506 that indicates that object 2104 was last detected 3 seconds ago and was last detected 250 m in front of vehicle 2502. In various cases, the notification sent to vehicle 2502 or other vehicles with blind spots in the vicinity may include the distance between object 2104 and the road (e.g., the lane of the vehicle with the blind spot). For example, as depicted at 2505, the notification 2508 may show that object 2104 is 3 m away from the lane.
[0138] Figure 26 An example non - limiting depiction of tunnel illumination detection and tunnel entrance or exit identification in accordance with one or more embodiments described herein is shown.
[0139] When a vehicle approaches a tunnel, the interior of the tunnel may appear dark, especially when entering from a bright environment. For example, image 2602 depicts entering a tunnel from daytime, where the tunnel entrance appears dark. Additionally, the interior of the tunnel shown by image 2604 may have insufficient light. In such a case, it may be challenging for the driver's eyes to adapt to the drastic light change. Therefore, the recognition component 108 may detect the drastic light change from the tunnel and engage the analysis component 110 to perform a risk assessment. Now refer to Figure 27, Similarly, when the vehicle leaves the tunnel, a risk assessment can be performed, as shown in Image 2702. However, a drastic light change involves adapting from the dark illumination conditions inside the tunnel to bright light. An example of the drastic light change that occurs when leaving the tunnel can be illustrated by Image 2704.
[0140] Now turning to Figure 28 , once the vehicle enters or leaves the tunnel and experiences a drastic light change, the identification component 106 can perform object detection. Then, the recognition component 108 can determine whether the detected object is visible to the approaching vehicle. For example, Image 2802 can be from the perspective of the vehicle when it leaves the tunnel. The identification component 106 can detect an object 2804 (e.g., an animal) located in the tunnel. The identification component can also detect an approaching vehicle 2806 that is entering the tunnel when another vehicle leaves the tunnel. As shown, the object 2804 is located outside the identified illumination area caused by the daylight shining through the tunnel exit. Therefore, the analysis component 110 can perform a risk assessment on the object 2804 to determine the associated risk level. In response to determining that the object 2804 is at risk or highly at risk, the execution component 202 can send an electronic notification to the vehicle 2806 or perform any combination of suitable actions to avoid a collision (e.g., reducing the speed of the leaving vehicle, using dynamic curve illumination, activating the high beams on the vehicle 2806). Image 2808 depicts the perspective of the entering vehicle 2806. In various cases, the received notification 2810 can be displayed (e.g., on a heads-up display) an icon indicating where the object 2804 is located and the distance from the object 2804. The vehicle 2806 can receive the notification before entering the tunnel to allow the vehicle 2804 to take appropriate precautions when entering the tunnel.
[0141] Figure 29 Shows an example non-limiting depiction of light detection in a tunnel according to one or more embodiments described herein.
[0142] In various embodiments, the recognition component 108 can detect other light sources inside the tunnel. Therefore, the background component 112 can determine whether the illumination conditions inside the tunnel meet a defined darkness threshold (e.g., the tunnel is too dark to drive safely, the tunnel illumination is poor, the tunnel lights are not working properly). In response to determining that the light conditions inside the tunnel meet the defined darkness threshold, the identification component 106 can perform object detection. Thus, the vehicle can assist in the visibility and awareness of other vehicles in the tunnel, similar to the methods described herein for working outdoors under nighttime conditions (e.g., determining the illumination area, performing a risk assessment, determining the risk level, performing safety actions).
[0143] Figure 30FIG. 0 shows a flowchart of an example non - limiting computer - implemented method 3000 that can facilitate object detection in the dark for vehicle operation, according to one or more embodiments described herein. In various cases, system 100 can facilitate the computer - implemented method 3000.
[0144] In various embodiments, action 3002 can include determining external light conditions by a background component (e.g., via 112).
[0145] In various cases, action 3004 can include determining by a background component (e.g., via 112) whether the external light conditions meet a defined darkness threshold. If not (e.g., if the external light conditions do not meet the defined darkness threshold), the computer - implemented method 3000 can proceed to action 3002. If so (e.g., if the external light conditions meet the defined darkness threshold), the computer - implemented method 3000 can proceed to action 3006.
[0146] In various aspects, action 3006 can include performing object detection by an identification component (e.g., via 106).
[0147] In various cases, action 3008 can include determining by an identification component (e.g., via 106) whether one or more objects are detected. If not (e.g., if one or more objects are not detected), the computer - implemented method 3000 can proceed to action 3006. If so (e.g., if one or more objects are detected), the computer - implemented method 3000 can proceed to action 3010.
[0148] In various aspects, action 3010 can include identifying an approaching vehicle and an illumination area by an identification component (e.g., via 108).
[0149] In various cases, action 3012 can include determining by an identification component (e.g., via 108) whether one or more objects are in the illumination area. If not (e.g., if one or more objects are not in the illumination area), the computer - implemented method 3000 can proceed to action 3014. If so (e.g., if one or more objects are in the illumination area), the computer - implemented method 3000 can proceed to action 3006.
[0150] In various aspects, action 3010 can include performing a risk assessment by an analysis component (e.g., via 110).
[0151] In various aspects, action 3010 can include determining a risk level by an analysis component (e.g., via 110).
[0152] Although the present disclosure mainly describes various embodiments as implementing a deep learning neural network (e.g., 602), this is merely a non-limiting example. In various aspects, the teachings described herein can be implemented via any suitable machine learning model that exhibits any suitable artificial intelligence architecture (e.g., support vector machines, naive Bayes, linear regression, logistic regression, decision trees, random forests, reinforcement learning) or quantum computing architecture.
[0153] In various cases, machine learning algorithms or models can be implemented in any suitable manner to facilitate any suitable aspect described herein. To facilitate some of the above machine learning aspects of the various embodiments, consider the following discussion of artificial intelligence (AI). The various embodiments described herein can employ artificial intelligence to facilitate the automation of one or more features or functions. Components can employ various AI-based schemes to perform the various embodiments / examples disclosed herein. To provide or assist with many of the determinations (e.g., determine, detect, infer, calculate, assert, predict, prognose, estimate, derive, forecast, detect, compute) described herein, the components described herein can examine all or a subset of the data to which they are authorized access and can provide an inference or determination of the state of the system or environment from a set of observations captured via events or data. For example, a determination can be used to identify a particular context or action, or a probability distribution over states can be generated. A determination can be probabilistic; that is, a probability distribution over a state of interest is calculated based on a consideration of data and events. A determination can also refer to techniques for composing higher-level events from a set of events or data.
[0154] Such determinations can result in the construction of new events or actions from a set of observed events or stored event data, regardless of whether the events are temporally close and regardless of whether the events and data are from one or more events and data sources. The components disclosed herein can employ various classification (explicit training (e.g., via training data) and implicit training (e.g., via observed behavior, preferences, historical information, receiving extrinsic information, etc.)) schemes or systems (e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, data fusion engines, etc.) in conjunction with performing automated or determined actions related to the claimed subject matter. Thus, classification schemes or systems can be used to automatically learn and perform multiple functions, actions, or determinations.
[0155] A classifier can take an input attribute vector z = (z1, z2, z3, z4, z n)Mapped to the confidence that the input belongs to a class, such as by f(z)=confidence(class). This classification can employ probability- or statistics-based analysis (e.g., considering analysis utility and cost) to determine the action to be automatically performed. A support vector machine (SVM) can be an example of a classifier that can be employed. The SVM operates by finding a hypersurface in the space of possible inputs, where the hypersurface attempts to separate the triggering criteria from non-triggering events. Intuitively, this enables the classification to be correct for test data that is close to but not the same as the training data. Other directed and undirected model classification methods include, for example, naive Bayes, Bayesian networks, decision trees, neural networks, fuzzy logic models, or probability classification models that provide different independence patterns, and any of these can be employed. Classification as used herein also includes statistical regression for developing priority models.
[0156] The present disclosure describes non-limiting embodiments. For ease of description or explanation, when discussing various examples, each, every, or all parts of the present disclosure use the terms "each", "every", or "all". This usage of the terms "each", "every", or "all" is non-limiting. In other words, when the present disclosure provides a description of "each", "every", or "all" applied to a particular object or component, it should be understood that this is a non-limiting example, and it should further be understood that in various other examples, this description can apply to less than "each", "every", or "all" of that particular object or component.
[0157] To provide additional background for the various embodiments described herein, Figure 31 and the following discussion is intended to provide a brief general description of a suitable computing environment 3100 in which the embodiments described herein can be implemented. Although embodiments have been described above in the general context of computer-executable instructions that can run on one or more computers, those skilled in the art will recognize that the embodiments can also be implemented in combination with other program modules or as a combination of hardware and software.
[0158] Generally, program modules include routines, programs, components, data structures, etc. that perform specific tasks or implement specific abstract data types. In addition, those skilled in the art will understand that the methods of the present invention can be practiced with other computer system configurations, including single-processor or multi-processor computer systems, minicomputers, mainframe computers, Internet of Things (IoT) devices, distributed computing systems, and personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, etc., each of which can be operably coupled to one or more associated devices.
[0159] The illustrated embodiments of the present invention's examples can also be practiced in a distributed computing environment where certain tasks are performed by remote processing devices linked through a communication network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
[0160] Computing devices generally include various media, which can include computer-readable storage media, machine-readable storage media, or communication media, and these two terms are used differently from each other as follows in this document. Computer-readable storage media or machine-readable storage media can be any available storage media accessible by a computer, and include volatile and non-volatile media, removable and non-removable media. By way of example and not limitation, computer-readable storage media or machine-readable storage media can be implemented in conjunction with any method or technology for storing information such as computer-readable or machine-readable instructions, program modules, structured data, or unstructured data.
[0161] Computer-readable storage media can include, but are not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CDROM), digital versatile disc (DVD), Blu-ray disc (BD) or other optical disc storage devices, magnetic tape cartridges, tapes, magnetic disk storage devices or other magnetic storage devices, solid state drives or other solid state storage devices, or other tangible or non-transitory media that can be used to store the desired information. In this regard, the terms "tangible" or "non-transitory" as applied to storage devices, memory, or computer-readable media in this document should be understood as modifiers that only exclude propagating transitory signals themselves, and do not waive the rights to all standard storage devices, memory, or computer-readable media that do not only propagate transitory signals themselves.
[0162] Computer-readable storage media can include, but are not limited to, quantum memory or other tangible or non-transitory media that can be used to store the desired information. In this regard, the terms "tangible" or "non-transitory" as applied to storage devices, memory, or computer-readable media in this document should be understood as modifiers that only exclude propagating transitory signals themselves, and do not waive the rights to all standard storage devices, memory, or computer-readable media that do not only propagate transitory signals themselves.
[0163] Computer-readable storage media can be accessed by one or more local or remote computing devices, for example, via access requests, queries, or other data retrieval protocols, for various operations regarding the information stored by the media.
[0164] A communication medium typically embodies computer-readable instructions, data structures, program modules, or other structured or unstructured data in a data signal such as a modulated data signal (e.g., a carrier wave or other transmission mechanism), and includes any information delivery or transmission medium. The term "modulated data signal" or signal refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. 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, RF, infrared, and other wireless media).
[0165] Referring again to Figure 31 , an example environment 3100 for various embodiments for implementing the aspects described herein includes a computer 3102 that includes a processing unit 3104, a system memory 3106, and a system bus 3108. The system bus 3108 couples system components including, but not limited to, the system memory 3106 to the processing unit 3104. The processing unit 3104 can be any of a variety of commercially available processors. Dual microprocessors and other multi-processor architectures can also be used as the processing unit 3104.
[0166] The system bus 3108 can be any of several types of bus structures, which can further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory 3106 includes a ROM 3110 and a RAM 3112. A basic input / output system (BIOS) can be stored in a non-volatile memory such as ROM, erasable programmable read-only memory (EPROM), EEPROM, which contains basic routines that help transfer information between elements within the computer 3102, such as during startup. The RAM 3112 can also include high-speed RAM, such as static RAM for caching data.
[0167] The computer 3102 also includes an internal hard disk drive (HDD) 3114 (e.g., EIDE, SATA), one or more external storage devices 3116 (e.g., a magnetic floppy disk drive (FDD) 3116, a memory stick or flash drive reader, a memory card reader, etc.), and a drive 3120, e.g., a solid state drive, an optical disc drive, which can read from or write to a disc 3122 such as a CD-ROM disc, a DVD, a BD, etc. Although the internal HDD 3114 is shown as being located within the computer 3102, the internal HDD 3114 can also be configured for external use in a suitable chassis (not shown). Additionally, although not shown in the environment 3100, a solid state drive (SSD) can be used in addition to or in place of the HDD 3114. The HDD 3114, the (one or more) external storage devices 3116, and the drive 3120 can be connected to the system bus 3108 via an HDD interface 3124, an external storage interface 3126, and a drive interface 3128, respectively. The interface 3124 for external drive implementation can include at least one or both of the Universal Serial Bus (USB) and the Institute of Electrical and Electronics Engineers (IEEE) 1394 interface technologies. Other external drive connection technologies are contemplated within the embodiments described herein.
[0168] The drive and its associated computer-readable storage medium provide non-volatile storage of data, data structures, computer-executable instructions, etc. For the computer 3102, the drive and the storage medium accommodate the storage of any data in a suitable digital format. Although the above description of computer-readable storage media refers to corresponding types of storage devices, those skilled in the art should understand that other types of storage media that are computer-readable (whether currently existing or to be developed in the future) can also be used in the exemplary operating environment, and further, any such storage medium can contain computer-executable instructions for performing the methods described herein.
[0169] Multiple program modules can be stored in the drive and the RAM 3112, including an operating system 3130, one or more application programs 3132, other program modules 3134, and program data 3136. All or part of the operating system, applications, modules, or data can also be cached in the RAM 3112. The systems and methods described herein can be implemented using various commercially available operating systems or combinations of operating systems.
[0170] The computer 3102 can optionally include emulation technology. For example, a hypervisor (not shown) or other intermediary can simulate the hardware environment of the operating system 3130, and the simulated hardware can optionally be associated with Figure 31is different from the hardware shown. In such an embodiment, the operating system 3130 may include one of a plurality of virtual machines (VMs) hosted at the computer 3102. Additionally, the operating system 3130 may provide a runtime environment for the application 3132, such as a Java runtime environment or a.NET framework. The runtime environment is a consistent execution environment that allows the application 3132 to run on any operating system that includes the runtime environment. Similarly, the operating system 3130 may support containers, and the application 3132 may be in the form of a container, which is a lightweight, independent, executable software package that includes, for example, code, runtime, system tools, system libraries, and settings for the application.
[0171] In addition, the computer 3102 may enable a security module, such as a trusted processing module (TPM). For example, for the TPM, the boot component hashes the next boot component in time and waits for the result to match a security value before loading the next boot component. This process may occur at any layer in the code execution stack of the computer 3102, for example, applied at the application execution level or at the operating system (OS) kernel level, thereby achieving security for code execution at any level.
[0172] The user can input commands and information into the computer 3102 through one or more wired / wireless input devices (e.g., the keyboard 3138, the touch screen 3140, and a pointing device such as the mouse 3142). Other input devices (not shown) may include a microphone, an infrared (IR) remote control, a radio frequency (RF) remote control or other remote controls, a joystick, a virtual reality controller or virtual reality headset, a gamepad, a stylus, an image input device (e.g., a camera), a gesture sensor input device, a vision motion sensor input device, an emotion or face detection device, a biometric input device (e.g., a fingerprint or iris scanner), etc. These and other input devices are generally connected to the processing unit 3104 through an input device interface 3144 that may be coupled to the system bus 3108, but may be connected through other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, an interface, etc.
[0173] The monitor 3146 or other type of display device may also be connected to the system bus 3108 through an interface such as a video adapter 3148. In addition to the monitor 3146, the computer generally also includes other peripheral output devices (not shown), such as speakers, printers, etc.
[0174] The computer 3102 can operate in a networked environment using a logical connection via wired or wireless communication to one or more remote computers, such as remote computer 3150. The remote computer 3150 can be a workstation, server computer, router, personal computer, portable computer, microprocessor-based entertainment device, peer device, or other common network node, and typically includes many or all of the elements described relative to the computer 3102, but for simplicity only the memory / storage device 3152 is shown. The depicted logical connections include a wired / wireless connection to a local area network (LAN) 3154 or a larger network, such as a wide area network (WAN) 3156. Such LAN and WAN networking environments are common in offices and companies and facilitate enterprise-wide computer networks, such as intranets, all of which can be connected to a global communication network, such as the Internet.
[0175] The computer 3102 can operate in a networked environment using a logical connection via wireless communication based on GPRS, GSM, 5G, LTE, 6G protocols.
[0176] When used in a LAN networking environment, the computer 3102 can be connected to the local network 3154 through a wired or wireless communication network interface or adapter 3158. The adapter 3158 can facilitate wired or wireless communication to the LAN 3154, which can also include a wireless access point (AP) set on it for communicating with the adapter 3158 in wireless mode.
[0177] When used in a WAN networking environment, the computer 3102 can include a modem 3160 or can be connected to a communication server on the WAN 3156 via other means for establishing communication on the WAN 3156, such as through the Internet. The modem 3160 (which can be internal or external and a wired or wireless device) can be connected to the system bus 3108 via the input device interface 3144. In a networked environment, program modules depicted relative to the computer 3102 or parts thereof can be stored in the remote memory / storage device 3152. It should be understood that the shown network connections are examples, and other means for establishing communication links between computers can be used.
[0178] When used in a LAN or WAN networking environment, in addition to or instead of the external storage device 3116 as described above, the computer 3102 can also access a cloud storage system or other network-based storage systems, such as but not limited to network virtual machines that provide one or more aspects of information storage or processing. Generally, the connection between the computer 3102 and the cloud storage system can be established, for example, over the LAN 3154 or WAN 3156 through an adapter 3158 or a modem 3160 respectively. When connecting the computer 3102 to an associated cloud storage system, the external storage interface 3126 can manage the storage provided by the cloud storage system with the help of the adapter 3158 or the modem 3160, just like other types of external storage. For example, the external storage interface 3126 can be configured to provide access to cloud storage sources as if these sources were physically connected to the computer 3102.
[0179] The computer 3102 can communicate with any wireless device or entity operably arranged in wireless communication, such as printers, scanners, desktop or portable computers, portable data assistants, communication satellites, any device or location associated with a wireless detectable tag (e.g., self-service terminals, newsstands, store shelves, etc.) and telephones. This can include wireless fidelity (Wi-Fi) and Bluetooth wireless technologies. Thus, the communication can be of a predefined structure like a conventional network, or simply an ad hoc communication between at least two devices.
[0180] Figure 32 is a schematic block diagram of an example computing environment 3200 with which the disclosed subject matter can interact. The example computing environment 3200 includes one or more clients 3210. The clients 3210 can be hardware or software (e.g., threads, processes, computing devices). The example computing environment 3200 also includes one or more servers 3230. The servers 3230 can also be hardware or software (e.g., threads, processes, computing devices). For example, the servers 3230 can host threads to perform transformations by adopting one or more embodiments as described herein. A possible communication between the clients 3210 and the servers 3230 can be in the form of data packets suitable for transmission between two or more computer processes. The example computing environment 3200 includes a communication framework 3250, which can be used to facilitate communication between the clients 3210 and the servers 3230. The clients 3210 are operably connected to one or more client data stores 3220, which can be used to store information local to the clients 3210. Similarly, the servers 3230 are operably connected to one or more server data stores 3240, which can be used to store information local to the servers 3230.
[0181] The present invention can be a system, method, apparatus, or computer program product at any possible level of integration of technical details. The computer program product can include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to perform aspects of the present invention. The computer-readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer-readable storage medium can be, by way of example and not limitation, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer-readable storage medium can also include the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanically encoded device such as a punch card or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., an optical pulse through an optical fiber cable) or an electrical signal transmitted through a wire.
[0182] The computer-readable program instructions described herein can be downloaded to a corresponding computing / processing device from a computer-readable storage medium or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, or a wireless network). The network can include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the corresponding computing / processing device. The computer-readable program instructions for performing the operations of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuits, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network connection, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using an Internet service provider via the Internet). In some embodiments, an electronic circuit, including, for example, a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), can execute the computer-readable program instructions by utilizing the state information of the computer-readable program instructions to personalize the electronic circuit so as to perform aspects of the present invention.
[0183] Aspects of the present invention are described herein with reference to the flowcharts or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present invention. It should be understood that each block of the flowchart illustrations or block diagrams, and combinations of blocks in the flowchart illustrations or block diagrams, can be implemented by computer-readable program instructions. These computer-readable program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions executed via the processor of the computer or other programmable data processing apparatus create means for implementing the functions / acts specified in one or more blocks of the flowchart or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, or other device to function in a particular manner, such that the computer-readable storage medium storing the instructions comprises an article of manufacture including instructions for implementing aspects of the functions / acts specified in one or more blocks of the flowchart or block diagram. The computer-readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, such that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowchart or block diagram.
[0184] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart illustrations or block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It should also be noted that each block of the block diagram or flowchart illustrations, and combinations of blocks in the block diagram or flowchart illustrations, can be implemented by a system based on dedicated hardware that performs the specified functions or acts or a combination of dedicated hardware and computer instructions.
[0185] Although the subject matter has been described above in the general context of computer-executable instructions of a computer program product that runs on one or more computers, those skilled in the art will recognize that the present disclosure may also be implemented, or may be combined with other program modules. In general, program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Additionally, those skilled in the art will understand that the computer-implemented methods of the present invention may be practiced with other computer system configurations, including single-processor or multi-processor computer systems, small computing devices, mainframe computers, and computers, hand-held computing devices (e.g., PDAs, telephones), microprocessor-based or programmable consumer or industrial electronic products, etc. The aspects shown may also be practiced in a distributed computing environment where tasks are performed by remote processing devices linked through a communications network. However, some, if not all, aspects of the present disclosure may be practiced on a stand-alone computer. In a distributed computing environment, program modules may be located in local and remote memory storage devices.
[0186] As used in this application, the terms "component", "system", "platform", "interface", etc. may refer to, or may include, a computer-related entity or an entity related to an operating machine with one or more specific functions. The entities disclosed herein may be hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, or a computer. As an illustration, an application running on a server and the server can both be components. One or more components may reside within a process or execution thread, and a component may be located on one computer or distributed between two or more computers. In another example, various components may execute from various computer-readable media on which various data structures are stored. Components may communicate via local or remote processes, such as in accordance with signals having one or more data packets (e.g., data from one component interacting with another component in a local system, a distributed system, or across a network such as the Internet with other systems). As another example, a component may be a device having a specific function provided by a mechanical portion operated by an electrical or electronic circuit, which is operated by software or a hardware application executed by a processor. In such a case, the processor may be internal or external to the device and may execute at least a portion of the software or hardware application. As yet another example, a component may be a device having a specific function provided by an electronic component without a mechanical portion, where the electronic component may include a processor or other components to execute software or hardware that at least partially imparts the function of the electronic component. In one aspect, a component may be simulated via a virtual machine within, for example, a cloud computing system.
[0187] In addition, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified or clear from the context, "X employs A or B" is intended to mean any natural inclusive permutation. That is, if X employs A; X employs B; or X employs both A and B, then "X employs A or B" is satisfied under any of the foregoing instances. As used herein, the term "and / or" is intended to have the same meaning as "or". Further, the articles "a" and "an" as used in this specification and the drawings are generally to be construed to mean "one or more", unless otherwise specified or clear from the context that they are referring to the singular form. As used herein, the terms "example" or "exemplary" are used to mean serving as an example, instance, or illustration. To avoid doubt, the subject matter disclosed herein is not limited by these examples. Additionally, any aspect or design described herein as "example" or "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor does it imply the exclusion of equivalent exemplary structures and techniques known to those of ordinary skill in the art.
[0188] As used in this specification, the term "processor" may refer to substantially any computing processing unit or device, including but not limited to: a single-core processor; a single processor with software multithreaded execution capabilities; a multi-core processor; a multi-core processor with software multithreaded execution capabilities; a multi-core processor with hardware multithreaded technology; a parallel platform; and a parallel platform with distributed shared memory. Additionally, a processor may refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), discrete gate or transistor logic, discrete hardware components or any combination thereof designed to perform the functions described herein. Further, a processor may utilize nanoscale architectures such as, but not limited to, molecule and quantum dot based transistors, switches and gates, to optimize space usage or enhance the performance of a user device. A processor may also be implemented as a combination of computing processing units. In this disclosure, terms such as "repository", "storage device", "data repository", "data storage device", "database" and substantially any other information storage component related to the operation and functionality of a component are used to refer to a "memory component", an entity embodied in a "memory" or a component including a memory. It should be understood that the memory or memory component described herein may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. By way of illustration and not limitation, non-volatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory or non-volatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM)). Volatile memory may include RAM, which may, for example, act as an external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), direct Rambus RAM (DRRAM), direct Rambus dynamic RAM (DRDRAM) and Rambus dynamic RAM (RDRAM). Additionally, the memory components of the systems or computer implemented methods disclosed herein are intended to include, but not be limited to, including these and any other suitable types of memory.
[0189] The examples described above include only systems and computer-implemented methods. Of course, for the purposes of describing the present disclosure, it is not possible to describe every conceivable combination of components or computer-implemented methods, but many further combinations and permutations of the present disclosure are possible. In addition, insofar as the terms "comprising," "having," "owning," etc. are used in the detailed description, the claims, the appendices, and the drawings, these terms are intended to be inclusive in a manner similar to the term "comprising" as it is interpreted when used as a transitional word in the claims.
[0190] The description of the various embodiments has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent without departing from the scope and spirit of the described embodiments. The terms used herein were chosen to best explain the principles of the embodiments, the practical application, or the technical improvement of the technology found in the marketplace, or to enable other ordinary skilled artisans in the art to understand the embodiments disclosed herein.
[0191] The following clauses present various non-limiting aspects of the various embodiments described herein.
[0192] Clause 1: A system comprising: a processor that executes computer-executable components stored in a non-transitory computer-readable memory, the computer-executable components comprising: an identification component that detects one or more objects on or beside a road; a recognition component that detects light from an approaching vehicle to determine an illumination area and determines whether the one or more objects are located in the illumination area; and an analysis component that, in response to determining that the one or more objects are not located in the illumination area, performs a risk assessment on the one or more objects based on parameters of the one or more objects.
[0193] Clause 2: The system of any preceding clause, wherein the parameters of the one or more objects include object type, movement, mobility, or location.
[0194] Clause 3: The system of any preceding clause, wherein the analysis component determines a risk level of the one or more objects based on the risk assessment.
[0195] Clause 4: The system of any preceding clause, wherein the risk assessment determines the risk level of the one or more objects based on GPS data, a light pollution map, time of day, season, latitude, speed of the vehicle, type of the vehicle, road conditions, or environmental conditions.
[0196] Clause 5: The system of any preceding clause, wherein the recognition component identifies other light sources and determines whether the one or more objects are located in the other light sources.
[0197] Clause 6: The system according to any of the preceding clauses further includes an execution component that changes the light intensity of the headlights on the approaching vehicle in response to determining the risk level of the one or more objects.
[0198] Clause 7: The system according to any of the preceding clauses, wherein the execution component changes the headlight angle on the approaching vehicle based on the position of the one or more objects.
[0199] Clause 8: The system according to any of the preceding clauses, wherein the execution component sends an electronic notification to the approaching vehicle or other vehicles within a defined range in response to determining the risk level of the one or more objects.
[0200] Clause 9: The system of any of the preceding clauses further includes a background component that determines whether the external light conditions meet a defined darkness threshold.
[0201] Clause 10: The system according to any of the preceding clauses, wherein the execution component performs a lane change, increases the speed of the vehicle, or decreases the speed of the vehicle in response to determining the risk level of the one or more objects.
[0202] Clause 11: The system of any of the preceding clauses, wherein an identification component identifies the entrance or exit of a tunnel, and wherein the background component determines whether the light conditions in the tunnel meet a defined darkness threshold.
[0203] Clause 12: The system according to any of the preceding clauses, wherein the execution component activates the hazard lights on the approaching vehicle in response to determining the risk level of the one or more objects.
[0204] In various cases, any suitable combination of one or more of Clauses 1-12 can be implemented.
[0205] Clause 13: A computer-implemented method includes: detecting one or more objects on or beside a road; detecting light from an approaching vehicle to determine an illumination area, and determining whether the one or more objects are located in the illumination area; and in response to determining that the one or more objects are not located in the illumination area, performing a risk assessment on the one or more objects based on the parameters of the one or more objects.
[0206] Clause 14: The computer-implemented method of any of the preceding clauses further includes determining the risk level of the one or more objects based on the risk assessment.
[0207] Clause 15: A computer-implemented method of any of the foregoing clauses further includes determining a risk level of one or more objects based on GPS data, a light pollution map, time of day, season, latitude, speed of a vehicle, type of vehicle, road conditions, or environmental conditions.
[0208] Clause 16: The computer-implemented method according to any of the foregoing clauses further includes: sending an electronic notification to the approaching vehicle or other vehicles within a defined range in response to determining the risk level of the one or more objects.
[0209] Clause 17: A computer-implemented method of any of the foregoing clauses further includes changing the light intensity of the headlights on an approaching vehicle in response to determining the risk level of one or more objects.
[0210] Clause 18: A computer-implemented method of any of the foregoing clauses further includes changing the angle of the headlights on an approaching vehicle based on the location of one or more objects.
[0211] In various cases, any suitable one or more combinations of Clauses 13-18 can be implemented.
[0212] Clause 19: A computer program product includes a non-transitory computer-readable memory having program instructions implemented therewith, the program instructions executable by a processor to cause the processor to: detect one or more objects on or beside a road; detect light from an approaching vehicle to determine an illumination area and determine whether the one or more objects are located in the illumination area; and in response to determining that the one or more objects are not located in the illumination area, perform a risk assessment of the one or more objects based on parameters of the one or more objects.
[0213] Clause 20: The computer program product according to any of the foregoing clauses, wherein the program instructions are further executable to cause the processor to: determine whether external light conditions meet a defined darkness threshold.
[0214] In various cases, any suitable one or more combinations of Clauses 19-20 can be implemented.
[0215] In various cases, any suitable one or more combinations of Clauses 1-20 can be implemented.
Claims
1. A system comprising: a processor that executes computer executable components stored in a non-transitory computer readable memory, the computer executable components comprising: an identification component that detects one or more objects on or beside the road; an identification component that detects light from an approaching vehicle to determine an illumination area, and determines whether the one or more objects are located in the illumination area; and An analysis component, in response to determining that the one or more objects are not located in the illumination area, performs a risk assessment on the one or more objects based on parameters of the one or more objects.
2. The system according to claim 1, wherein: The parameters of the one or more objects include object type, movement, movement capability, or location. 3 . The system of claim 1 , wherein the analysis component determines a risk level for the one or more objects based on the risk assessment.
4. The system of claim 3, wherein the risk assessment determines the risk level of the one or more objects based on GPS data, light pollution maps, time of day, season, latitude, speed of the vehicle, type of vehicle, road conditions, or environmental conditions. 5 . The system of claim 1 , wherein the recognition component identifies other light sources and determines whether the one or more objects are located within the other light sources. 6 . The system of claim 3 , further comprising an actuation component that changes a light intensity of headlights on the approaching vehicle in response to determining the risk level of the one or more objects.
7. The system of claim 3, wherein the actuator changes an angle of headlights on the approaching vehicle based on the location of the one or more objects.
8. The system of claim 3, wherein the execution component sends an electronic notification to the approaching vehicle or other vehicles within a defined range in response to determining the risk level of the one or more objects.
9. The system of claim 1, further comprising a background component that determines whether external light conditions meet a defined darkness threshold.
10. The system of claim 3, wherein the actuating component performs a lane change, increases the speed of the vehicle, or decreases the speed of the vehicle in response to determining the risk level of the one or more objects.
11. The system of claim 9, wherein the recognition component identifies an entrance or exit of a tunnel, and wherein the background component determines whether light conditions in the tunnel meet a defined darkness threshold.
12. The system according to claim 3, wherein: The actuator activates hazard lights on the approaching vehicle in response to determining a risk level of the one or more objects.
13. A computer-implemented method comprising: Detecting one or more objects on or beside a road; detecting light from an approaching vehicle to determine an illumination area, and determining whether the one or more objects are located in the illumination area; as well as In response to determining that the one or more objects are not located in the illumination area, a risk assessment is performed on the one or more objects based on parameters of the one or more objects.
14. The computer-implemented method of claim 13, further comprising determining a risk level for the one or more objects based on the risk assessment.
15. The computer-implemented method of claim 14, further comprising determining a risk level for the one or more objects based on GPS data, light pollution maps, time of day, season, latitude, speed of the vehicle, type of vehicle, road conditions, or environmental conditions.
16. The computer-implemented method of claim 14, further comprising: In response to determining the risk level of the one or more objects, an electronic notification is sent to the approaching vehicle or other vehicles within a defined range. 17 . The computer-implemented method of claim 14 , further comprising varying a light intensity of headlights on the approaching vehicle in response to determining a risk level of the one or more objects.
18. The computer-implemented method of claim 14, further comprising changing an angle of headlights on the approaching vehicle based on the location of the one or more objects.
19. A computer program product comprising a non-transitory computer readable memory having program instructions embodied therewith, the program instructions being executable by a processor to cause the processor to: Detecting one or more objects on or beside a road; detecting light from an approaching vehicle to determine an illumination area, and determining whether the one or more objects are located in the illumination area; and In response to determining that the one or more objects are not located in the illumination area, a risk assessment is performed on the one or more objects based on parameters of the one or more objects.
20. The computer program product of claim 19, wherein the program instructions are further executable to cause the processor to: Determine whether external light conditions meet a defined darkness threshold.