Dynamically updating vehicle road map
By installing multiple sensors and controllers in the vehicle, collecting and processing data about the vehicle's surrounding environment, and using machine learning algorithms to generate updated lane boundary and road condition labels, the problem of existing autonomous driving systems being difficult to dynamically update road maps. Achieve higher navigation accuracy and security.
Patent Information
- Application Number
- CN202410556832.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-31
- Filing Date
- 2024-05-07
- Publication Date
- 2025-02-14
AI Technical Summary
The existing autonomous driving system is difficult to update the vehicle road map dynamically and cannot effectively deal with possible obstacles on the road, such as motor vehicle accidents, road bumps and water accumulation caused by weather.
By installing multiple sensors and controllers in the vehicle, input data for the vehicle's surroundings, including remote vehicle location history, lane boundary locations, and abnormal flow mode indications. Use machine learning algorithms to generate input tag maps and vehicle output tag maps, and update lane boundary location and road condition tags.
It realizes dynamic updates to the vehicle road map, can effectively deal with dynamically changing obstacles on the road, and improves the navigation accuracy and safety of the autonomous driving system.
Smart Images

Figure CN119437259A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to advanced driver assistance systems and automated driving systems and methods for vehicles, and more particularly, to systems and methods for updating vehicle road maps. Background Art
[0002] To improve occupant awareness and convenience, vehicles may be equipped with advanced driver assistance systems (ADAS) and / or automated driving systems (ADS). ADAS systems can use various sensors such as cameras, radars, and lidars to detect and identify objects around the vehicle, including other vehicles, pedestrians, road configurations, and traffic signs. ADAS systems can also retrieve road configuration information using detailed road maps stored inside and / or outside the vehicle. ADAS systems can take actions based on environmental conditions around the vehicle, such as braking or alerting vehicle occupants. However, current ADS systems may not take into account obstacles that may appear dynamically on the road, resulting in a road configuration that is different from the predetermined detailed road map. For example, obstacles may appear on the road due to motor vehicle accidents, road conditions such as potholes, accumulation of precipitation due to adverse weather conditions, etc.
[0003] Therefore, although current ADAS and ADS systems and methods achieve their intended purposes, a new and improved system and method is still needed for updating vehicle road maps. Summary of the invention
[0004] According to several aspects, the present disclosure provides a system for updating a vehicle road map. The system includes a plurality of vehicle sensors and a vehicle controller in electrical communication with the plurality of vehicle sensors. The vehicle controller is programmed to collect input data about the vehicle's surroundings using the plurality of vehicle sensors. The input data includes at least one abnormal traffic pattern indication. The vehicle controller is also programmed to generate an input label map based at least in part on the input data. The vehicle controller is also programmed to generate a vehicle output label map based at least in part on the input label map. The vehicle output label map is generated using a machine learning algorithm. The vehicle controller is also programmed to perform a first action based at least in part on the vehicle output label map.
[0005] In another aspect of the present disclosure, the plurality of vehicle sensors include at least one of a perception sensor and a vehicle communication system. To collect input data, the vehicle controller is further programmed to receive input data using at least one of the perception sensor and the vehicle communication system.
[0006] In another aspect of the present disclosure, the input data includes at least one or more remote vehicle position histories, one or more lane boundary locations, and at least one abnormal traffic pattern indication.
[0007] In another aspect of the present disclosure, the at least one abnormal traffic pattern indication includes at least one of: a deviation of one or more remote vehicle position histories from one or more lane boundary locations and one or more tire tracks in the vehicle surroundings.
[0008] In another aspect of the present disclosure, the input label map is a two-dimensional matrix of multiple cells. Each of the multiple cells represents a portion of the vehicle's surroundings. Each of the multiple cells includes a label based at least in part on the input data.
[0009] In another aspect of the present disclosure, in order to generate a vehicle output label map, the vehicle controller is also programmed to provide an input label map to an input layer of a machine learning algorithm. The machine learning algorithm is a generative adversarial network (GAN) algorithm, which is configured to generate a vehicle output label map based on the input label map. In order to generate the vehicle output label map, the vehicle controller is also programmed to receive the vehicle output label map from the output layer of the machine learning algorithm. The vehicle output label map includes one or more updated lane boundary locations based at least in part on at least one abnormal traffic pattern indication and one or more road surface condition labels. Each of the one or more updated lane boundary locations includes a lane boundary confidence level.
[0010] In another aspect of the present disclosure, a machine learning algorithm is trained using a plurality of training input label maps, each of which has been generated based at least in part on a heuristic evaluation of a plurality of training input data.
[0011] In another aspect of the present disclosure, the system may further include an autonomous driving system in electrical communication with the vehicle controller. To perform the first action, the vehicle controller is further programmed to adjust the operation of the autonomous driving system based at least in part on the vehicle output label map.
[0012] In another aspect of the present disclosure, the plurality of vehicle sensors further comprises a vehicle communication system. To perform the first action, the vehicle controller is further programmed to transmit the input data to the remote server system using the vehicle communication system. To perform the first action, the vehicle controller is further programmed to transmit the vehicle output tag map to the remote server system using the vehicle communication system.
[0013] In another aspect of the present disclosure, a remote server system includes a server communication system and a server controller in electrical communication with the server communication system. The server controller is programmed to receive multiple input data from one or more vehicles using the server communication system. The server controller is also programmed to receive multiple vehicle output label maps from one or more vehicles using the server communication system. The server controller is also programmed to generate a server output label map based at least in part on the multiple input data from one or more vehicles. The server controller is also programmed to generate a combined output label map based at least in part on the multiple vehicle output label maps from one or more vehicles and the server output label map. The server controller is also programmed to transmit the combined output label map to one or more vehicles using the server communication system.
[0014] According to several aspects, the present disclosure provides a method for updating a road map. The method includes collecting input data. The method also includes generating an input label map based at least in part on the input data. The method also includes generating a vehicle output label map based at least in part on the input label map. The vehicle output label map is generated using a machine learning algorithm. The method also includes performing a first action based at least in part on the vehicle output label map.
[0015] In another aspect of the present disclosure, collecting input data may further include performing a plurality of measurements using a plurality of vehicle sensors. The plurality of vehicle sensors include at least one perception sensor.
[0016] In another aspect of the present disclosure, collecting input data may further include receiving input data from one or more remote vehicles.
[0017] In another aspect of the present disclosure, collecting input data may further include collecting input data, wherein the input data includes at least one or more remote vehicle position histories, one or more lane boundary locations, and at least one abnormal traffic pattern indication. The abnormal traffic pattern indication includes at least one of the following: a deviation of the one or more remote vehicle position histories from the one or more lane boundary locations and one or more tire tracks in the vehicle surroundings.
[0018] In another aspect of the present disclosure, generating an input label map may further include generating an input label map, wherein the input label map is a two-dimensional matrix of multiple cells. Each of the multiple cells represents a portion of the vehicle's surroundings. Each of the multiple cells includes a label based at least in part on the input data.
[0019] In another aspect of the present disclosure, generating a vehicle output label map may also include providing an input label map to an input layer of a machine learning algorithm. The machine learning algorithm is a generative adversarial network algorithm configured to generate a vehicle output label map based on the input label map. Generating a vehicle output label map may also include receiving a vehicle output label map from an output layer of the machine learning algorithm. The vehicle output label map includes one or more updated lane boundary locations based at least in part on at least one abnormal traffic pattern indication and one or more road surface condition labels based at least in part on at least one abnormal traffic pattern indication. Each of the one or more updated lane boundary locations includes a lane boundary confidence level.
[0020] In another aspect of the present disclosure, in order to generate a vehicle output label map, the vehicle controller is also programmed to provide an input label map to an input layer of a machine learning algorithm. The machine learning algorithm is a generative adversarial network algorithm, which is configured to generate a vehicle output label map based on the input label map. In order to generate a vehicle output label map, the vehicle controller is also programmed to receive a vehicle output label map from an output layer of the machine learning algorithm. The vehicle output label map includes one or more updated lane boundary positions based at least in part on at least one abnormal traffic pattern indication and one or more road surface condition labels based at least in part on at least one abnormal traffic pattern indication. Each of the one or more updated lane boundary positions includes a lane boundary confidence level. In order to generate a vehicle output label map, the vehicle controller is also programmed to generate a server output label map, and the server controller is also programmed to provide an input label map to the input layer of the machine learning algorithm. The machine learning algorithm is a generative adversarial network algorithm, which is configured to generate a server output label map based on the input label map. In order to generate a vehicle output label map, the vehicle controller is also programmed to receive a server output label map from the output layer of the machine learning algorithm. The server output label map includes one or more updated lane boundary locations based at least in part on at least one abnormal traffic pattern indication and one or more road surface condition labels based at least in part on at least one abnormal traffic pattern indication. Each of the one or more updated lane boundary locations includes a lane boundary confidence level.
[0021] According to several aspects, the present disclosure provides a system for updating a vehicle road map. The system includes: a vehicle system including a plurality of vehicle sensors, the plurality of vehicle sensors including at least a perception sensor and a vehicle communication system; an autonomous driving system; and a vehicle controller in electrical communication with the plurality of vehicle sensors and the autonomous driving system. The vehicle controller is programmed to collect input data about the vehicle's surroundings using the plurality of vehicle sensors. The input data includes at least one or more remote vehicle position histories, one or more lane boundary positions, and at least one abnormal traffic pattern indication. The abnormal traffic pattern indication includes at least one of the following: a deviation of one or more remote vehicle position histories from one or more lane boundary positions from one or more tire tracks in the vehicle's surroundings. The vehicle controller is programmed to generate an input label map based at least in part on the input data. The input label map is a two-dimensional matrix of a plurality of cells. Each of the plurality of cells represents a portion of the vehicle's surroundings. Each of the plurality of cells includes a label based at least in part on the input data. The vehicle controller is also programmed to generate a vehicle output label map based at least in part on the input label map. The vehicle output label map is generated using a machine learning algorithm. The vehicle controller is also programmed to adjust the operation of the autonomous driving system based at least in part on the vehicle output label map. The vehicle controller is programmed to transmit the input data to the remote server system using the vehicle communication system. The vehicle controller is also programmed to transmit the vehicle output tag map to the remote server system using the vehicle communication system.
[0022] In another aspect of the present disclosure, the remote server system may further include a server communication system and a server controller in electrical communication with the server communication system. The server controller is programmed to receive a plurality of input data from a vehicle system using the server communication system. The server controller is also programmed to receive a plurality of vehicle output label maps from the vehicle system using the server communication system. The server controller is also programmed to generate a server output label map based at least in part on the plurality of input data from the vehicle system. The server controller is also programmed to generate a combined output label map based at least in part on the plurality of vehicle output label maps from the vehicle system and the server output label map. The server controller is also programmed to transmit the combined output label map to the vehicle system using the server communication system.
[0023] In another aspect of the present disclosure, in order to generate a vehicle output label map, the vehicle controller is also programmed to provide an input label map to an input layer of a machine learning algorithm. The machine learning algorithm is a generative adversarial network algorithm, which is configured to generate a vehicle output label map based on the input label map. In order to generate a vehicle output label map, the vehicle controller is also programmed to receive a vehicle output label map from an output layer of the machine learning algorithm. The vehicle output label map includes one or more updated lane boundary positions based at least in part on at least one abnormal traffic pattern indication and one or more road surface condition labels based at least in part on at least one abnormal traffic pattern indication. Each of the one or more updated lane boundary positions includes a lane boundary confidence level. In order to generate a vehicle output label map, the vehicle controller is also programmed to generate a server output label map, and the server controller is also programmed to provide an input label map to the input layer of the machine learning algorithm. The machine learning algorithm is a generative adversarial network algorithm, which is configured to generate a server output label map based on the input label map. In order to generate a vehicle output label map, the vehicle controller is also programmed to receive a server output label map from the output layer of the machine learning algorithm. The server output label map includes one or more updated lane boundary locations based at least in part on at least one abnormal traffic pattern indication and one or more road surface condition labels based at least in part on at least one abnormal traffic pattern indication. Each of the one or more updated lane boundary locations includes a lane boundary confidence level.
[0024] Further areas of applicability will become apparent from the description provided herein.It should be understood that the description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.
[0026] Figure 1 is a schematic diagram of a system for updating a road map of a vehicle according to an exemplary embodiment.
[0027] Figure 2 is a flowchart of a method for updating a vehicle road map according to an exemplary embodiment.
[0028] Figure 3 is a schematic diagram of an exemplary road environment according to an exemplary embodiment;
[0029] Figure 4 is a schematic diagram of an exemplary input label map according to an exemplary embodiment;
[0030] Figure 5 is a schematic diagram of an exemplary output label map according to an exemplary embodiment;
[0031] Figure 6 According to an exemplary embodiment Figure 5 A schematic diagram of an exemplary visual presentation of an output label map is shown;
[0032] Figure 7 is a flow chart of a method for training a machine learning algorithm according to an exemplary embodiment;
[0033] Figure 8 is an exemplary heuristic slippage decision tree according to an exemplary embodiment; and
[0034] Fig. 9 is an exemplary heuristic confidence decision tree according to an exemplary embodiment. DETAILED DESCRIPTION
[0035] The following description is merely exemplary in nature and is not intended to limit the present disclosure, application, or uses.
[0036] In some cases, obstacles such as road defects (e.g., potholes on or near the road), foreign objects (e.g., debris from a vehicle collision on or near the road), traffic-related obstacles (e.g., a disabled vehicle parked on or near the road), construction-related obstacles (e.g., a construction area that closes and / or reroutes lanes), weather-related obstacles (e.g., snow piles on or near the road), and / or the like may dynamically appear on the road. Detailed road maps stored in and / or outside the vehicle may not account for these obstacles. Therefore, the present disclosure provides a new and improved system and method for updating and / or rebuilding a vehicle road map to incorporate dynamic changes in road conditions.
[0037] refer to Figure 1 , a system for updating a vehicle road map is illustrated and generally designated by reference numeral 10. The system 10 is shown with an exemplary vehicle 12. Although a passenger vehicle is illustrated, it should be understood that the vehicle 12 may be any type of vehicle without departing from the scope of the present disclosure. The system 10 generally includes a vehicle controller 14, a plurality of vehicle sensors 16, and an autonomous driving system 18.
[0038] The vehicle controller 14 is used to implement a method 100 for updating a vehicle road map, as described below. The vehicle controller 14 includes at least one processor 20 and a non-transitory computer-readable storage device or medium 22. The processor 20 can be a custom or commercially available processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor in several processors associated with the vehicle controller 14, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, a combination thereof, or generally a device for executing instructions. The computer-readable storage device or medium 22 may include, for example, volatile and non-volatile storage devices in a read-only memory (ROM), a random access memory (RAM), and a keep-alive memory (KAM). KAM is a persistent or non-volatile memory that can be used to store various operating variables when the processor 20 is powered off. The computer readable storage device or medium 22 may be implemented using a number of storage devices, such as a PROM (Programmable Read Only Memory), an EPROM (Electrical PROM), an EEPROM (Electrically Erasable PROM), flash memory, or other electrical, magnetic, optical, or combination storage device capable of storing data, some of which represents executable instructions used by the vehicle controller 14 to control the various systems of the vehicle 12. The vehicle controller 14 may also be comprised of multiple vehicle controllers that are in electrical communication with each other. The vehicle controller 14 may be interconnected with additional systems and / or vehicle controllers of the vehicle 12, thereby allowing the vehicle controller 14 to access data, such as the speed, acceleration, braking, and steering angle of the vehicle 12.
[0039] The vehicle controller 14 is in electrical communication with a plurality of vehicle sensors 16 and an autonomous driving system 18. In an exemplary embodiment, the electrical communication is established using, for example, a CAN network, a FLEXRAY network, a local area network (e.g., WiFi, Ethernet, etc.), a serial peripheral interface (SPI) network, etc. It should be understood that various additional wired and wireless technologies and communication protocols for communicating with the vehicle controller 14 are within the scope of the present disclosure.
[0040] The plurality of vehicle sensors 16 are used to acquire information related to the vehicle 12 . In the exemplary embodiment, the plurality of vehicle sensors 16 include at least a camera system 24 and a vehicle communication system 26 .
[0041] In another exemplary embodiment, the plurality of vehicle sensors 16 further include sensors to determine performance data about the vehicle 12. In a non-limiting example, the plurality of vehicle sensors 16 further include at least one of a motor speed sensor, a motor torque sensor, an electric drive motor voltage and / or current sensor, an accelerator pedal position sensor, a brake position sensor, a coolant temperature sensor, a cooling fan speed sensor, and a transmission oil temperature sensor.
[0042] In another exemplary embodiment, the plurality of vehicle sensors 16 also include sensors to determine information about the environment within the vehicle 12. In a non-limiting example, the plurality of vehicle sensors 16 also include at least one of a seat occupancy sensor, a cabin air temperature sensor, a cabin motion detection sensor, a cabin camera, a cabin microphone, etc.
[0043] In another exemplary embodiment, the plurality of vehicle sensors 16 also include sensors to determine information about the environment surrounding the vehicle 12. In a non-limiting example, the plurality of vehicle sensors 16 also include at least one of an ambient air temperature sensor, an air pressure sensor, a global navigation satellite system (GNSS), and / or a photo and / or video camera positioned to view the environment in front of the vehicle 12.
[0044] In another exemplary embodiment, at least one of the plurality of vehicle sensors 16 is a perception sensor capable of sensing objects in the environment surrounding the vehicle 12 and / or measuring distances. In a non-limiting example, the plurality of vehicle sensors 16 include a stereo camera with distance measurement capabilities. In one example, at least one of the plurality of vehicle sensors 16 is fixed inside the vehicle 12, such as in the roof lining of the vehicle 12, and viewed through the windshield of the vehicle 12. In another example, at least one of the plurality of vehicle sensors 16 is fixed outside the vehicle 12, such as on the roof of the vehicle 12, and has a view of the environment surrounding the vehicle 12. It should be understood that various additional types of sensing devices, such as LiDAR sensors, ultrasonic ranging sensors, radar sensors, and / or time of flight sensors are within the scope of the present disclosure. The plurality of vehicle sensors 16 are in electrical communication with the vehicle controller 14, as described above.
[0045] The camera system 24 is a perception sensor for capturing images and / or video of the environment surrounding the vehicle 12. In an exemplary embodiment, the camera system 24 includes a photo and / or video camera positioned to view the environment surrounding the vehicle 12. In a non-limiting example, the camera system 24 includes a camera fixed to the interior of the vehicle 12 (e.g., in the headliner of the vehicle 12) with a view through the windshield. In another non-limiting example, the camera system 24 includes a camera fixed to the exterior of the vehicle 12 (e.g., fixed to the roof of the vehicle 12) with a view of the environment in front of the vehicle 12.
[0046] In another exemplary embodiment, the camera system 24 is a surround view camera system that includes multiple cameras (also referred to as satellite cameras) arranged to provide views of the environment adjacent to all sides of the vehicle 12. In a non-limiting example, the camera system 24 includes a front camera (e.g., mounted in the front grille of the vehicle 12), a rear camera (e.g., mounted on the rear tailgate of the vehicle 12), and two side cameras (e.g., mounted below each of the two side view mirrors of the vehicle 12). In another non-limiting example, the camera system 24 also includes an additional rear view camera mounted near the center high mounted brake light of the vehicle 12.
[0047] It should be understood that camera systems with additional cameras and / or additional mounting locations are within the scope of the present disclosure. It should also be understood that cameras with various sensor types, including, for example, charge coupled device (CCD) sensors, complementary metal oxide semiconductor (CMOS) sensors, and / or high dynamic range (HDR) sensors, are within the scope of the present disclosure. In addition, cameras with various lens types, including, for example, wide angle lenses and / or narrow angle lenses, are also within the scope of the present disclosure.
[0048] The vehicle controller 14 uses the vehicle communication system 26 to communicate with other systems external to the vehicle 12. For example, the vehicle communication system 26 includes the ability to communicate with vehicles ("V2V" communication), infrastructure ("V2I" communication), remote systems at a remote call center (e.g., General Motors' ON-STAR), and / or personal devices. In general, the term vehicle-to-everything communication ("V2X" communication) refers to communication between the vehicle 12 and any remote system (e.g., vehicle, infrastructure, and / or remote system). In some embodiments, the vehicle communication system 26 is a wireless communication system that is configured to communicate via a wireless local area network (WLAN) using the IEEE 802.11 standard or by using cellular data communication (e.g., using GSMA standards such as SGP.02, SGP.22, SGP.32, etc.). Therefore, the vehicle communication system 26 may also include an embedded universal integrated circuit card (eUICC) that is configured to store at least one cellular connection configuration profile, such as an embedded subscriber identity module (eSIM) profile. The vehicle communication system 26 is also configured to communicate via a personal area network (e.g., Bluetooth) and / or near field communication (NFC). However, additional or alternative communication methods such as dedicated short-range communication (DSRC) channels and / or mobile telecommunication protocols based on the third generation partnership project (3GPP) standard are also considered to be within the scope of the present disclosure. A DSRC channel refers to a one-way or two-way short-range to medium-range wireless communication channel designed specifically for automotive use and a set of corresponding protocols and standards. 3GPP refers to a partnership between multiple standard organizations that develop mobile telecommunication protocols and standards. The structure of the 3GPP standard is "version". Therefore, communication methods based on 3GPP versions 14, 15, 16 and / or future 3GPP versions are considered to be within the scope of the present disclosure. Therefore, the vehicle communication system 26 may include one or more antennas and / or communication transceivers for receiving and / or transmitting signals, such as collaborative sensing messages (CSM). The vehicle communication system 26 is configured to wirelessly transmit information between the vehicle 12 and another vehicle. In addition, the vehicle communication system 26 is configured to wirelessly transmit information between the vehicle 12 and infrastructure or other vehicles. It should be appreciated that the vehicle communication system 26 may be integrated with the vehicle controller 14 (eg, on the same circuit board as the vehicle controller 14 or otherwise integrated as part of the vehicle controller 14 ) without departing from the scope of the present disclosure.
[0049] The automated driving system 18 is used to provide assistance to the occupants of the vehicle 12 to increase the occupants' awareness and / or control the behavior of the vehicle 12. Within the scope of the present disclosure, the automated driving system 18 encompasses systems that provide any level of assistance to the occupants (e.g., blind spot warning, lane departure warning, etc.) as well as systems that are capable of autonomously driving the vehicle 12 under some or all conditions (e.g., automatic lane keeping, adaptive cruise control, fully autonomous driving, etc.). It should be understood that all levels of driving automation (i.e., SAE LEVEL 0, SAE LEVEL 1, SAE LEVEL 2, SAE LEVEL 3, SAE LEVEL 4, and SAE LEVEL 5), for example, as defined by SAE J3016, are within the scope of the present disclosure.
[0050] In an exemplary embodiment, the autopilot system 18 is configured to detect and / or receive information about the environment surrounding the vehicle 12 and process the information to provide assistance to the occupants. In some embodiments, the autopilot system 18 is a software module executed on the vehicle controller 14. In other embodiments, the autopilot system 18 includes a separate autopilot system controller similar to the vehicle controller 14 that is capable of processing information about the environment surrounding the vehicle 12. In an exemplary embodiment, the autopilot system 18 can operate in a manual operation mode, a partially automated operation mode, and a fully automated operation mode.
[0051] Within the scope of the present disclosure, manual operation mode refers to the autonomous driving system 18 providing warnings or notifications to the occupants, but not directly intervening or controlling the vehicle 12. In a non-limiting example, the autonomous driving system 18 receives information from a plurality of vehicle sensors 16. Using techniques such as computer vision, the autonomous driving system 18 understands the environment around the vehicle 12 and provides assistance to the occupants. For example, if the autonomous driving system 18 identifies that the vehicle 12 may collide with a remote vehicle based on data from the plurality of vehicle sensors 16, the autonomous driving system 18 may use a display (not shown) of the vehicle 12 to issue a warning to the occupants.
[0052] Within the scope of the present disclosure, a partially automated mode of operation means that the autonomous driving system 18 provides warnings or notifications to the occupants and can directly intervene or control the vehicle 12 in certain circumstances. In a non-limiting example, the autonomous driving system 18 is additionally in electrical communication with components of the vehicle 12, such as the braking system, propulsion system, and / or steering system of the vehicle 12, so that the autonomous driving system 18 can control the behavior of the vehicle 12. In a non-limiting example, the autonomous driving system 18 can control the behavior of the vehicle 12 by applying the brakes of the vehicle 12 to avoid an imminent collision. In another non-limiting example, the autonomous driving system 18 can control the steering system of the vehicle 12 to provide an automatic lane keeping feature. In another non-limiting example, the autonomous driving system 18 can control the braking system, propulsion system, and steering system of the vehicle 12 to temporarily drive the vehicle 12 toward a predetermined destination. However, occupant intervention may be required at any time. In an exemplary embodiment, the autonomous driving system 18 may include additional components, such as an eye tracking device configured to monitor the occupant's attention level and ensure that the occupant is ready to take over control of the vehicle 12.
[0053] Within the scope of the present disclosure, a fully automated mode of operation refers to the automated driving system 18 using data from the plurality of vehicle sensors 16 to understand the environment and control the vehicle 12 to drive the vehicle 12 to a predetermined destination without requiring control or intervention by an occupant.
[0054] The automated driving system 18 operates using a path planning algorithm that is configured to generate a safe and efficient trajectory for the vehicle 12 to navigate the environment around the vehicle 12. In an exemplary embodiment, the path planning algorithm is a machine learning algorithm that is trained to output control signals for the vehicle 12 based on input data collected from the plurality of vehicle sensors 16. In another exemplary embodiment, the path planning algorithm is a deterministic algorithm that has been programmed to output control signals for the vehicle 12 based on data collected from the plurality of vehicle sensors 16.
[0055] In a non-limiting example, the path planning algorithm generates a series of waypoints or a continuous path that the vehicle 12 should follow to reach the destination while complying with rules, regulations, and safety constraints. The sequence of waypoints or continuous paths is generated based at least in part on a detailed map and the current state of the vehicle 12 (i.e., the position, speed, and direction of the vehicle 12). The detailed map includes, for example, information about lane boundaries, road geometry, speed limits, traffic signs, and / or other relevant features. In an exemplary embodiment, the detailed map is stored in the medium 22 of the vehicle controller 14 and / or on a remote database or server. In another exemplary embodiment, the path planning algorithm performs perception and mapping tasks to interpret data collected from a plurality of vehicle sensors 16 and create, update, rebuild, and / or enhance the detailed map, as will be discussed in more detail below.
[0056] It should be understood that the autonomous driving system 18 may include any software and / or hardware modules configured to operate in a manual operating mode, a partially automated operating mode, or a fully automated operating mode as described above.
[0057] Continue to refer Figure 1 , a remote server system is illustrated and generally indicated by reference numeral 30. The remote server system 30 includes a server controller 32 in electrical communication with a server database 34 and a server communication system 36. In a non-limiting example, the remote server system 30 is located in a server farm, a data center, etc., and is connected to the Internet.
[0058] The server controller 32 includes at least one server processor 38 and a server non-transitory computer-readable storage device or server medium 40. The descriptions of types and configurations given above for the vehicle controller 14 also apply to the server controller 32. In some examples, the server controller 32 differs from the vehicle controller 14 in that the server controller 32 can have a higher processing speed, include more memory, include more inputs / outputs, etc. In a non-limiting example, the server processor 38 and server medium 40 of the server controller 32 are similar in structure and / or function to the processor 20 and medium 22 of the vehicle controller 14, as described above.
[0059] The server database 34 is used to store detailed maps of roads, including, for example, information about lane boundaries, road geometry, speed limits, traffic signs, and / or other relevant features. In an exemplary embodiment, the server database 34 includes one or more mass storage devices, such as hard disk drives, tape drives, magneto-optical drives, optical disks, solid-state drives, and / or additional devices operable to store data in a persistent and machine-readable manner. In some examples, one or more mass storage devices may be configured to provide redundancy in the event of hardware failure and / or data corruption using, for example, a redundant array of independent disks (RAID). In a non-limiting example, the server controller 32 may execute software such as a database management system (DBMS), thereby allowing organization and access to data stored on one or more mass storage devices.
[0060] The server communication system 36 is used to communicate with external systems (e.g., the vehicle controller 14) via the vehicle communication system 26. In a non-limiting example, the server communication system 36 is similar in structure and / or function to the vehicle communication system 26, as described above. In some examples, the server communication system 36 differs from the vehicle communication system 26 in that the server communication system 36 is capable of higher power signal transmission, more sensitive signal reception, higher bandwidth transmission, additional transmission / reception protocols, etc.
[0061] refer to Figure 2 , a flow chart of a method 100 for updating a vehicle road map is shown. The method 100 starts at box 102a and proceeds to box 104. At box 104, a machine learning algorithm is trained, as will be discussed in more detail below. After box 104, the method 100 proceeds to boxes 106 and 108.
[0062] At blocks 106 and 108, the vehicle controller 14 collects input data about the environment surrounding the vehicle 12. Within the scope of the present disclosure, the input data includes, for example, one or more remote vehicle position histories (i.e., past positions of remote vehicles traversing the environment), one or more lane boundary positions (i.e., the position, type, color, etc. of lane edge and / or centerline markings), and at least one abnormal traffic pattern indication. Within the scope of the present disclosure, at least one abnormal traffic pattern indication is one or more aspects of the input data that indicate that traffic flow deviates from an expected traffic flow based on lane boundaries, traffic signs, road configuration, etc.
[0063] refer to Figure 3 , a schematic diagram of an exemplary road environment 50 is shown. The exemplary road environment 50 includes an outer lane boundary 52a and an inner lane boundary 52b (i.e., a center lane line). The exemplary road environment 50 also includes a vehicle 12 and a remote vehicle position history 54 represented by a plurality of vehicles. Each of the plurality of vehicles represents a past position of the remote vehicle. The exemplary road environment 50 also includes tire marks 56 on the road. The exemplary road environment 50 also includes obstacles 58 on the road. Within the scope of the present disclosure, obstacles 58 are any objects or conditions that may hinder traffic and / or cause the driver to exhibit unexpected behavior. In a non-limiting example, obstacles 58 may be road defects (e.g., potholes on or near the road), foreign objects (e.g., debris from a vehicle collision on or near the road), traffic-related obstacles (e.g., a disabled vehicle parked on or near the road), weather-related obstacles (e.g., snow piles on or near the road), etc.
[0064] like Figure 3As shown, remote vehicle position history 54 shows that the remote vehicle has deviated from one or more lane boundaries (i.e., left the correct lane of travel and invaded the oncoming lane) to avoid obstacle 58. Therefore, in the exemplary road environment 50, remote vehicle position history 54 is an example of at least one abnormal traffic pattern indication. Tire marks 56 indicate a loss of traction due to, for example, sudden braking, acceleration, and / or turning. Tire marks 56 can also indicate a portion of the road surface that has reduced traction due to environmental conditions, road surface conditions, etc. Therefore, in the exemplary road environment 50, tire marks 56 is another example of at least one abnormal traffic pattern indication.
[0065] It should be understood that Figure 3 and exemplary road environment 50 are merely examples, and various additional road configurations, conditions, and situations (eg, roads including multiple lanes of travel, intersections, traffic control devices, etc.) are within the scope of the present disclosure.
[0066] Reference again Figure 2 At box 106, the vehicle controller 14 uses at least one perception sensor (e.g., camera system 24) of the plurality of vehicle sensors 16 to collect input data. In an exemplary embodiment, the vehicle controller 14 uses the camera system 24 to capture a plurality of images of the environment surrounding the vehicle 12. The vehicle controller 14 then uses a computer vision algorithm to analyze the plurality of images and extract the input data. In an exemplary embodiment, the computer vision algorithm uses machine learning techniques to analyze pixel-level information of the plurality of images to detect and classify objects or patterns of interest. In a non-limiting example, the computer vision algorithm begins by preprocessing the plurality of images to reduce noise through techniques such as image resizing, normalization, and / or filtering. Subsequently, the computer vision algorithm extracts relevant features from the plurality of images using methods such as edge detection, corner detection, texture analysis, and the like. The computer vision algorithm can then classify and label relevant features of the plurality of images (i.e., one or more remote vehicle location histories, one or more lane boundary locations, and at least one abnormal traffic pattern indication) based on learned patterns and associations using a machine learning model (e.g., a convolutional neural network (CNN)). Following block 106 , the method 100 proceeds to block 110 , as will be discussed in greater detail below.
[0067] At box 108, the vehicle controller 14 uses the vehicle communication system 26 of the plurality of vehicle sensors 16 to collect input data. In an exemplary embodiment, the vehicle controller 14 uses the vehicle communication system 26 to receive one or more vehicle-to-vehicle (V2V) messages from one or more remote vehicles. The one or more V2V messages include the input data. In a non-limiting example, one or more remote vehicles may collect input data using perception sensors and then transmit the input data to the vehicle communication system 26 using one or more V2V messages. In another exemplary embodiment, the vehicle controller 14 uses the vehicle communication system 26 to receive one or more vehicle-to-infrastructure (V2I) messages from one or more remote systems (e.g., a remote server system 30). The one or more V2I messages include the input data. After box 108, the method 100 proceeds to box 110.
[0068] refer to Figure 4 , a schematic diagram of an exemplary input label map 60 corresponding to an exemplary road environment 50 is shown. Figure 4 And continue to refer to Figure 2 , at box 102, the vehicle controller 14 generates an input label map 60. In an exemplary embodiment, the input label map 60 is a two-dimensional matrix of a plurality of cells 62 that represent the input data collected at boxes 106 and 108. Each of the plurality of cells 62 represents a portion of an environment. Each of the plurality of cells 62 includes a label based at least in part on the input data collected at boxes 106 and 108. In an exemplary embodiment, the label of each of the plurality of cells 62 indicates the presence of an object and / or road condition within the portion of the environment represented by each of the plurality of cells 62.
[0069] exist Figure 4 , the label of each of the plurality of cells 62 is represented by the fill pattern of each of the plurality of cells 62. The solid black filled cell 64a represents the location of the vehicle and / or the remote vehicle location history 54. The cross-hatched filled cell 64b represents the outer lane boundary 52a. The dashed filled cell 64c represents the inner lane boundary 52b. The zigzag filled cell 64d represents the tire track 56. It should be understood that Figure 4 The labels depicted in are merely exemplary in nature, and various additional labels may be applied to the plurality of units 62, including, for example, labels indicating traffic control devices, intersection types, road surface conditions, lane designations (e.g., right turn lane only), etc., within the scope of the present disclosure. It should also be understood that each of the plurality of units 62 may include multiple labels without departing from the scope of the present disclosure.
[0070] In an exemplary embodiment, the vehicle controller 14 generates the input label map 60 using a computer vision algorithm similar to the computer vision algorithms described above to segment the environment into a plurality of cells 62 and assign labels to each of the plurality of cells 62. After frame 110, the method 100 proceeds to frame 112.
[0071] refer to Figure 5 , a schematic diagram of an exemplary vehicle output label map 70 corresponding to the exemplary input label map 60 is shown. Figure 5 And continue to refer to Figure 2 At box 112, the vehicle controller 14 generates a vehicle output label map 70. In an exemplary embodiment, the vehicle output label map 70 is similar to the input label map 60 in that the vehicle output label map 70 is a two-dimensional matrix of a plurality of cells 62. Each of the plurality of cells 62 represents a portion of the environment. Each of the plurality of cells 62 includes a label.
[0072] However, compared to the input label map 60, the vehicle output label map 70 includes one or more updated lane boundary locations based at least in part on at least one abnormal traffic pattern indication. Figure 5 As shown, the positions of the outer lane boundary 52a and the inner lane boundary 52b have been adjusted based on the abnormal traffic pattern indication in the input data (i.e., the remote vehicle position history 54 shows that the remote vehicle has deviated from one or more lane boundaries). Each of the one or more updated lane boundary positions includes a lane boundary confidence level. The lane boundary confidence level is an additional label for each of the plurality of cells 62 corresponding to one of the one or more updated lane boundary positions. The lane boundary confidence level indicates a confidence level of the one or more updated lane boundary positions, as will be discussed in more detail below. The vehicle output label map 70 also includes one or more road surface condition labels based at least in part on at least one abnormal traffic pattern indication. For example, Figure 5 As shown, some of the plurality of cells 62 have been marked with a slippery condition label 72 due to the presence of tire tracks 56. It is within the scope of the present disclosure that the slippery condition label 72 indicates the relative slipperiness of the road surface, as will be discussed in greater detail below.
[0073] refer to Figure 6 , a schematic diagram of an exemplary visual representation 80 of the vehicle output label map 70 is shown. The exemplary visual representation 80 of the vehicle output label map 70 includes an updated lane boundary position 82 that avoids the obstacle 58.
[0074] Reference again Figure 2In an exemplary embodiment, the vehicle output label map 70 is generated using the machine learning algorithm trained at box 104. In a non-limiting example, the input label map 60 is provided to the input layer of the machine learning algorithm, and the vehicle output label map 70 is received from the output layer of the machine learning algorithm. The function of the machine learning algorithm will be discussed in more detail below. After box 112, the method 100 proceeds to boxes 114 and 116.
[0075] At box 114, the vehicle controller 14 adjusts the operation of the autonomous driving system 18 based at least in part on the vehicle output label map 70. In an exemplary embodiment, one or more updated lane boundary locations and / or one or more road surface condition labels are used to update a detailed map used by a path planning algorithm of the autonomous driving system 18, as described above. Therefore, based on the one or more updated lane boundary locations and / or one or more road surface condition labels, the operation of the autonomous driving system 18 is adjusted. In a non-limiting example, the lane departure warning and / or automatic lane keeping features of the autonomous driving system 18 are adjusted based on the one or more updated lane boundary locations. In another non-limiting example, the fully automatic operating mode of the autonomous driving system 18 is adjusted based on the updated detailed map so that the autonomous driving system 18 avoids obstacles 58 and takes into account unexpected behavior of remote vehicles on the road. After box 114, the method 100 proceeds to box 118, as will be discussed in more detail below.
[0076] At box 116, the vehicle controller 14 transmits the input data collected at boxes 106 and 108 and the vehicle output tag map 70 to the remote server system 30 using the vehicle communication system 26. In the exemplary embodiment, the remote server system 30 receives the input data and the vehicle output tag map 70 using the server communication system 36. In a non-limiting example, the server controller 32 saves the received input data and the vehicle output tag map 70 in the server database 34. In the exemplary embodiment, many vehicles are executing the method 100. Therefore, the server database 34 accumulates multiple input data and multiple vehicle output tag maps from one or more vehicles. After box 116, the method proceeds to box 118.
[0077] At box 118, the remote server system 30 uses the server controller 32 to generate a server output label map based at least in part on the plurality of input data in the server database 34. The server output label map is generated in a manner similar to the process of generating a vehicle output label map, including the steps discussed above with reference to boxes 110 and 112. However, the server output label map is generated based on the plurality of input data in the server database 34. After box 118, the method 100 proceeds to box 120.
[0078] At box 120, the server controller 32 generates a combined output label map. The combined output label map is based on the multiple vehicle output label maps in the server database 34 and the server output label map generated at box 118. In an exemplary embodiment, the combined output label map is one of the multiple vehicle output label maps in the server database 34 and the server output label map generated at box 118 with the highest overall lane boundary confidence level. In another exemplary embodiment, the combined output label map is a fusion, concatenation, or other combination of one or more of the multiple vehicle output label maps in the server database 34 and the server output label map generated at box 118. After box 120, the method 100 proceeds to box 122.
[0079] At box 122, the server controller 32 transmits the combined output tag map generated at box 120 to one or more vehicles (e.g., vehicle 12) using the server communication system 36. In an exemplary embodiment, the combined output tag map is received by the vehicle communication system 26, stored in the medium 22 of the vehicle controller 14, and used to adjust the operation of the autonomous driving system 18. After box 122, the method 100 continues to enter the standby state at box 124.
[0080] In an exemplary embodiment, method 100 is repeatedly executed. In a non-limiting example, in a subsequent execution of method 100, method 100 does not start at box 102a, but instead starts at box 102b. This is because the training step performed at box 104 must only be performed once to initially train the machine learning model. In an exemplary embodiment, method 100 exits standby state 124 and restarts method 100 at regular intervals (e.g., every three hundred milliseconds) at box 102b.
[0081] refer to Figure 7, a flow chart of an exemplary embodiment 104a of box 104 for training a machine learning algorithm is shown. In an exemplary embodiment, the following method steps of the exemplary embodiment 104a are performed by one or more components of the system 10 and / or the remote server system 30. The exemplary embodiment 104a begins at box 702. At box 702, a plurality of training input data is collected. The training input data is similar to the input data collected at boxes 106 and 108, as described above. Thus, the training input data includes, for example, one or more remote vehicle position histories (i.e., past positions of remote vehicles traversing the environment), one or more lane boundary positions (i.e., the position, type, color, etc. of lane edge and / or centerline markings), and at least one abnormal traffic pattern indication. The at least one abnormal traffic pattern indication is one or more aspects of the training input data that indicate that the traffic flow deviates from the expected traffic flow based on lane boundaries, traffic signs, road configurations, etc. In an exemplary embodiment, the plurality of training input data includes training input data collected from one or more vehicles. After collecting the training input data, a plurality of training input label maps are generated. As described above, each of the plurality of training input label maps is generated in a manner similar to the input label map generated at box 110. After block 702 , the exemplary embodiment 104 a proceeds to blocks 704 and 706 .
[0082] At block 704, a slippery condition label is determined for each of a plurality of cells of each of a plurality of training input label maps. Within the scope of the present disclosure, the slippery condition label indicates a relative slipperiness of a road surface. In a non-limiting example, the slippery condition label includes one of: low slipperiness, medium slipperiness, and high slipperiness. In an exemplary embodiment, the slippery condition label is determined using a heuristic (i.e., rule-based) evaluation of a plurality of training input data.
[0083] refer to Figure 8 , an exemplary heuristic slippery decision tree 800 for determining a slippery condition label for a given cell (hereinafter referred to as a "given cell") of a plurality of cells of one of a plurality of training input label maps is shown. The slippery decision tree 800 begins at box 802 and proceeds to box 804. At box 804, if a tire mark (e.g., tire mark 56) is present in the given cell, the slippery decision tree 800 proceeds to box 806. If a tire mark is not present in the given cell, the slippery decision tree 800 proceeds to box 808, as will be discussed in more detail below.
[0084] At block 806, if the tire tracks present in the given cell are organized (i.e., arranged in a consistent pattern, e.g., parallel to adjacent tire tracks), the slippery condition label for the given cell is determined to be medium slippery at block 810. If the tire tracks present in the given cell are not organized, the slippery decision tree 800 proceeds to block 812. At block 812, if the tire tracks present in the given cell are disorganized (i.e., arranged in an inconsistent pattern, e.g., where many of the tire tracks are partially or completely perpendicular to other tire tracks), the slippery condition label for the given cell is determined to be high slippery at block 814.
[0085] Otherwise, if the tire marks present in the given cell are not disorganized, for example, if the tire marks are sporadic, sparse, or faded, the slip condition label for the given cell is determined to be medium slip at block 810 .
[0086] At box 808, if the vehicle is observed to move within the given cell, the slip condition label for the given cell is determined to be low slip at box 816. If the vehicle is not observed to move within the given cell, the slip decision tree 800 proceeds to box 818. At box 818, if the vehicle is observed to slip (i.e., lose traction) within the given cell, the slip condition label for the given cell is determined to be high slip at box 814. If the vehicle is not observed to slip within the given cell, the slip decision tree 800 proceeds to box 820.
[0087] At box 820, if the vehicle is observed to be significantly spinning (i.e., moving in an unintended rotational manner) within the given cell, the slip condition label for the given cell is determined to be high slip at box 814. If the vehicle is not observed to be significantly spinning within the given cell, the slip decision tree 800 proceeds to box 822. At box 822, if the vehicle is observed to be developing a spinning condition (i.e., developing an unintended rotation) within the given cell, the slip condition label for the given cell is determined to be medium slip at box 810. If the vehicle is not observed to be developing a spinning condition within the given cell, the slip condition label for the given cell is determined to be low slip at box 816.
[0088] Reference again Figure 3 , after block 704, the exemplary embodiment 104a proceeds to block 708, as will be discussed in more detail below.
[0089] At box 706, one or more updated lane boundary locations are determined. In an exemplary embodiment, one or more updated lane boundary locations are determined based at least in part on the training input data collected at box 702. For example, if the training input data includes one or more remote vehicle position histories that deviate from one or more lane boundary locations detected on the road, the one or more updated lane boundary locations reflect a "new path" of the road, which takes into account unexpected circumstances of the travel path of the one or more remote vehicles. Each of the one or more updated lane boundary locations includes an associated lane boundary confidence level. Within the scope of the present disclosure, the lane boundary confidence level represents the confidence that the updated lane boundary position based at least in part on the training input data is correct, as will be discussed in more detail below. After box 706, the exemplary embodiment 104a proceeds to box 710.
[0090] At block 710, a lane boundary confidence level is determined for each of a plurality of cells of each of a plurality of training input label maps. In a non-limiting example, the lane boundary confidence level includes one of: no confidence level, low confidence level, medium confidence level, high confidence level, and neutral confidence level. In an exemplary embodiment, the lane boundary confidence level is determined using a heuristic (ie, rule-based) evaluation of a plurality of training input data.
[0091] refer to Fig. 9 , an exemplary heuristic confidence decision tree 900 for determining a lane boundary confidence level for a given cell (hereinafter referred to as a "given cell") in a plurality of cells of one of a plurality of training input label maps is shown. The confidence level decision tree 900 begins at box 902 and proceeds to box 904. At box 904, if a vehicle accident has occurred in the given cell, the lane boundary confidence level of the given cell is determined to be no confidence level at box 906. If no vehicle accident has occurred in the given cell, the confidence level decision tree 900 proceeds to box 908.
[0092] At box 908, if at least one vehicle is observed in the given cell, the confidence decision tree 900 proceeds to box 910. If no vehicle is observed in the given cell, the confidence decision tree 900 proceeds to box 912, as will be discussed in more detail below. At box 910, if no adverse weather is observed in the given cell, the lane boundary confidence level for the given cell is determined to be a high confidence level at box 914. If adverse weather is observed in the given cell, the confidence decision tree 900 proceeds to box 916.
[0093] At box 916, if multiple vehicles are observed within the training input data, the lane boundary confidence level for the given cell is determined to be a high confidence level at box 914. If only a single vehicle is observed within the training input data, the confidence decision tree 900 proceeds to box 918. At box 918, if an intersection is observed within the given cell, the lane boundary confidence level for the given cell is determined to be a low confidence level at box 920. If no intersection is observed within the given cell, the confidence decision tree 900 proceeds to box 922.
[0094] At box 922, if an outer lane boundary (e.g., outer lane boundary 52a) is observed within the given cell, the lane boundary confidence level for the given cell is determined to be a neutral confidence level at box 924. If no outer lane boundary is observed within the given cell, confidence decision tree 900 proceeds to box 926. At box 926, if an inner lane boundary (e.g., inner lane boundary 52b) is observed within the given cell, the lane boundary confidence level is determined to be a medium confidence level at box 928.
[0095] At box 912, if adverse weather is not observed in the given cell, the lane boundary confidence level for the given cell is determined to be a medium confidence level at box 928. If adverse weather is observed in the given cell, the confidence decision tree 900 proceeds to box 930. At box 930, if tire marks (e.g., tire marks 56) are present in the given cell, the confidence decision tree 900 proceeds to box 932. If tire marks are not present in the given cell, the confidence decision tree 900 proceeds to box 934, as will be discussed in more detail below.
[0096] At box 932, if the tire tracks present in the given cell are organized (i.e., arranged in a consistent pattern, e.g., parallel to adjacent tire tracks), the lane boundary confidence level for the given cell is determined to be a medium confidence level at box 928. If the tire tracks present in the given cell are not organized, the confidence decision tree 900 proceeds to box 936. At box 936, if the tire tracks present in the given cell are disorganized (i.e., arranged in an inconsistent pattern, e.g., where many of the tire tracks are partially or completely perpendicular to other tire tracks), the lane boundary confidence level for the given cell is determined to be a neutral confidence level at box 924.
[0097] At box 934, if an inner lane boundary (e.g., inner lane boundary 52b) is observed within the given cell, the lane boundary confidence level is determined to be a neutral confidence level at box 924. If no inner lane boundary is observed within the given cell, the confidence decision tree 900 proceeds to box 938. At box 938, if an outer lane boundary (e.g., outer lane boundary 52a) is observed within the given cell, the lane boundary confidence level for the given cell is determined to be a low confidence level at box 920. If no outer lane boundary is observed within the given cell, the confidence level decision tree 900 proceeds to box 940.
[0098] At box 940 , if an intersection is observed within the given cell, the lane boundary confidence level for the given cell is determined to be no confidence level at box 906 .
[0099] Reference again Figure 3 , after box 710, the exemplary embodiment 104a proceeds to box 708. At box 708, a plurality of training output label maps are generated based at least in part on the training input data collected at box 702, the slip condition label determined at box 704, the one or more updated lane boundary positions determined at box 706, and the lane boundary confidence level determined at box 710. Each of the plurality of training output label maps corresponds to one of the plurality of training input label maps generated at box 702 and represents an expected output of the machine learning algorithm based on the corresponding training input label map. After box 708, the exemplary embodiment 104a proceeds to box 712.
[0100] At box 712, a machine learning algorithm is trained using multiple training input label maps and multiple training output label maps. In a non-limiting example, the machine learning algorithm includes multiple layers, including an input layer and an output layer, and one or more hidden layers. The input layer receives the input label map as input. The input is then passed to the hidden layer. Each hidden layer applies a transformation (e.g., a nonlinear transformation) to the data and passes the result to the next hidden layer until the last hidden layer. The output layer generates an output label map based on the input label map.
[0101] To train a machine learning algorithm, a dataset is used that includes multiple training input label maps and their corresponding training output label maps. The algorithm is trained by adjusting the internal weights between nodes in each hidden layer to minimize the prediction error. During training, an optimization technique (e.g., gradient descent) is used to adjust the internal weights to reduce the prediction error. The training process is repeated for the entire dataset until the prediction error is minimized, and the resulting trained model is then used to generate an output label map based on the new input label map.
[0102] After the machine learning algorithm is sufficiently trained, it is able to accurately and precisely generate an output label map based on the input label map. By adjusting the weights between the nodes in each hidden layer during training, the algorithm "learns" to recognize patterns in the input label map that indicate characteristics of the output label map.
[0103] It should be understood that without departing from the scope of the present disclosure, the machine learning algorithm can be any type of machine learning algorithm configured to generate an output label map based on an input label map, including, for example, a generative model algorithm for learning, such as a generative adversarial network (GAN) algorithm, a convolutional neural network (CNN) algorithm, a reinforcement learning algorithm, etc.
[0104] After block 712, the exemplary embodiment 104a ends and the method 100 continues as described above.
[0105] The system 10 and method 100 of the present disclosure have several advantages. For example, due to dynamic road conditions, detailed maps of roads stored on the vehicle (e.g., in the medium 22 of the vehicle controller 14) and / or outside the vehicle (e.g., in the server database 34) may become outdated. In some cases, obstacles such as road defects (e.g., potholes on or near the road), foreign objects (e.g., debris from vehicle collisions on or near the road), traffic-related obstacles (e.g., a broken-down vehicle stopped on or near the road), weather-related obstacles (e.g., snow piles on or near the road), etc. may appear dynamically on the road. In severe weather conditions, the likelihood of obstacles appearing on the road may increase. Therefore, by updating detailed maps using the system 10 and method 100 of the present disclosure, the accuracy and performance of the autonomous driving system that utilizes detailed maps are improved.
[0106] The description of the present disclosure is merely exemplary in nature, and variations that do not depart from the gist of the present disclosure are intended to fall within the scope of the present disclosure. These variations should not be regarded as departing from the spirit and scope of the present disclosure.
Claims
1. A system for updating a vehicle road map, the system comprising: Multiple vehicle sensors; as well as a vehicle controller in electrical communication with the plurality of vehicle sensors, wherein the vehicle controller is programmed to: collecting input data regarding the vehicle's surroundings using the plurality of vehicle sensors, wherein the input data includes at least one indication of an abnormal traffic pattern; generating an input label map based at least in part on the input data; generating a vehicle output label map based at least in part on the input label map, wherein the vehicle output label map is generated using a machine learning algorithm; as well as A first action is performed based at least in part on the vehicle output tag map.
2. The system of claim 1, wherein the plurality of vehicle sensors comprises at least one of: a perception sensor and a vehicle communication system, and wherein to collect the input data, the vehicle controller is further programmed to: The input data is received using at least one of: the perception sensor and the vehicle communication system.
3. The system according to claim 1, wherein the input data comprises at least: One or more remote vehicle position histories, one or more lane boundary locations, and at least one abnormal traffic pattern indication.
4. The system of claim 3, wherein the at least one abnormal traffic pattern indication comprises at least one of: a deviation of the one or more remote vehicle position histories from the one or more lane boundary locations and one or more tire tracks in the vehicle surroundings.
5. The system of claim 1 , wherein the input label map is a two-dimensional matrix of a plurality of cells, wherein each of the plurality of cells represents a portion of the vehicle surroundings, and wherein each of the plurality of cells includes a label based at least in part on the input data.
6. The system of claim 1 , wherein to generate the vehicle output label map, the vehicle controller is further programmed to: Providing the input label map to an input layer of the machine learning algorithm, wherein the machine learning algorithm is a generative adversarial network (GAN) algorithm configured to generate the vehicle output label map based on the input label map; and The vehicle output label map is received from an output layer of the machine learning algorithm, wherein the vehicle output label map includes one or more updated lane boundary locations and one or more road surface condition labels based at least in part on the at least one abnormal traffic pattern indication, and wherein each of the one or more updated lane boundary locations includes a lane boundary confidence level.
7. The system of claim 6, wherein the machine learning algorithm is trained using a plurality of training input label maps, wherein each of the plurality of training input label maps has been generated based at least in part on a heuristic evaluation of a plurality of training input data.
8. The system of claim 1 , wherein the system further comprises an autopilot system in electrical communication with the vehicle controller, and wherein to perform the first action, the vehicle controller is further programmed to: Adjusting operation of the autonomous driving system based at least in part on the vehicle output label map.
9. The system of claim 1 , wherein the plurality of vehicle sensors further comprises a vehicle communication system, and wherein to perform the first action, the vehicle controller is further programmed to: transmitting the input data to a remote server system using the vehicle communication system; and The vehicle output tag map is transmitted to the remote server system using the vehicle communication system.
10. The system of claim 9, wherein the remote server system comprises: Server communication system; a server controller in electrical communication with the server communication system, wherein the server controller is programmed to: receiving a plurality of input data from one or more vehicles using the server communication system; receiving a plurality of vehicle output label maps from the one or more vehicles using the server communication system; generating a server output label map based at least in part on the plurality of input data from the one or more vehicles; generating a combined output label map based at least in part on the plurality of vehicle output label maps from the one or more vehicles and the server output label map; as well as The combined output tag map is transmitted to the one or more vehicles using the server communication system.