Constructing a lane line map using a probability density bitmap
Patent Information
- Application Number
- CN202310088515.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-08-24
- Filing Date
- 2023-01-28
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2043-01-28
AI Technical Summary
然而,空中成像和卫星成像相当昂贵
Smart Images

Figure CN117629177B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to systems and methods for constructing high-definition (HD) maps, and more specifically to systems and methods for constructing lane line maps using probability density bitmaps. Background Technology
[0002] This background section provides the general context for this disclosure. To the extent described in this background section, the work of the currently identified inventors and aspects of the description that may not constitute prior art at the time of filing are neither explicitly nor implicitly considered prior art to this disclosure.
[0003] Currently, HD maps are created using aerial or satellite imaging. However, aerial and satellite imaging are quite expensive. Furthermore, building HD maps using aerial or satellite imaging may require manual labeling. Therefore, there is a need to develop a system and method for building HD maps using a cheap, efficient, and effective crowd-sourcing approach without manual labeling. Summary of the Invention
[0004] This disclosure describes a method for creating an HD map of a road. In one aspect of this disclosure, the method includes receiving sensor data from multiple sensors of multiple vehicles. The sensor data includes vehicle GPS data and sensed lane line data of the road. In this disclosure, the term "vehicle GPS data" refers to data indicating the location of a vehicle received by a controller from a GPS transceiver. The method also includes creating multiple multi-layer bitmaps for each of the multiple vehicles using the sensor data, and fusing the multiple multi-layer bitmaps of each of the multiple vehicles to create a fused multi-layer bitmap. Further, the method includes creating multiple multi-layer probability density bitmaps using the fused multi-layer bitmaps, and extracting lane line data from the multiple multi-layer probability density bitmaps to obtain extracted lane line data. Additionally, the method includes creating an HD map of the road using the multi-layer probability density bitmaps and the lane line data extracted from the multiple multi-layer probability density bitmaps. The HD map of the road includes multiple lane lines for each of the multiple lanes of the road. The above method improves technologies related to navigation of autonomous vehicles by creating improved HD maps including lane lines through crowdsourcing from many vehicles.
[0005] In one aspect of this disclosure, the method includes determining the vehicle attitude of each of a plurality of vehicles at different times to create a smooth trajectory for each of the plurality of vehicles using a Bayesian filter.
[0006] In one aspect of this disclosure, the method further includes determining a weight for each lane line sample observed by multiple sensors of each of the multiple vehicles. The weight is a function of the distance from the lane line sample to one of the multiple vehicles. The method includes filtering out lane line samples based on their weights.
[0007] In one aspect of this disclosure, for sensed lane line data collected by each of a plurality of vehicles, the method further includes converting the vehicle coordinate system of each of the plurality of vehicles into a geographic coordinate system.
[0008] In one aspect of this disclosure, the sensed lane line sample is one of a plurality of lane line samples. For sensed lane line data collected by each of a plurality of vehicles, the method further includes combining each lane line sample from the plurality of lane line samples collected at different times to create a plurality of consecutive and consistent lane line images.
[0009] In one aspect of this disclosure, for lane line data collected by each of the multiple vehicles, the method further includes drawing the lane lines onto a multi-layer bitmap for each of the multiple vehicles.
[0010] In one aspect of this disclosure, the method also includes using kernel density estimation to create multiple multilayer probability density bitmaps.
[0011] In one aspect of this disclosure, creating multiple multi-layer probability density bitmaps using fused multi-layer bitmaps includes creating multiple multi-layer probability density bitmaps using Gaussian Blur.
[0012] In one aspect of this disclosure, the method also includes extracting lane line attributes from multiple multi-layer probability density bitmaps.
[0013] In one aspect of this disclosure, lane line attributes include lane line color and lane line type. The lane line type can be a solid line or a dashed line (dotted line).
[0014] This disclosure also describes a tangible, non-transitory machine-readable medium comprising machine-readable instructions that, when executed by one or more processors, cause one or more processors to perform the methods described above.
[0015] Further applications of this disclosure will become apparent from the detailed description provided below. It should be understood that the detailed description and specific examples are for illustrative purposes only and are not intended to limit the scope of this disclosure.
[0016] The above-described features and advantages, as well as other features and advantages, of the currently disclosed systems and methods will become apparent from the detailed description, including exemplary embodiments, when taken in conjunction with the accompanying drawings. Attached Figure Description
[0017] This disclosure will become more readily understood based on the detailed description and accompanying drawings, wherein: Figure 1 It is a block diagram depicting a system that uses probability density bitmaps to construct lane line maps; Figure 2 It is a schematic diagram depicting multiple vehicles in an image taken of the lane markings of a road; Figure 3 It is a description of Figure 1 A schematic diagram of the HD map created by the system; Figure 4 This is a flowchart of a method for constructing lane line maps using probability density bitmaps; Figure 5 It is a flowchart of the process for processing sensor data from each individual vehicle; and Figure 6 It is a flowchart of the process of fusing or aggregating multi-layer bitmaps from sensor data from multiple vehicles. Detailed Implementation
[0018] Reference will now be made in detail to several examples of this disclosure shown in the accompanying drawings. Wherever possible, the same or similar reference numerals are used in the drawings and description to refer to the same or similar parts or steps.
[0019] refer to Figure 1System 100 includes multiple vehicles 10 and a system controller 34 communicating with each vehicle 10. As a non-limiting example, the vehicles 10 may be convertible pickup trucks, sedans, coupe-cars, sport utility vehicles (SUVs), recreational vehicles (RVs), etc. Each vehicle 10 may communicate wirelessly with the system controller 34 and includes one or more sensors 40. Sensors 40 collect information and generate sensor data indicative of the collected information. As a non-limiting example, sensors 40 may include a Global Positioning System (GPS) transceiver, a yaw sensor, a speed sensor, and a forward-facing camera 41. The GPS transceiver is configured to detect the position of each vehicle 10. The speed sensor is configured to detect the speed of each vehicle 10. The yaw sensor is configured to determine the heading of each vehicle 10. The camera 41 has a sufficiently large field of view 43 to capture an image of the road 62 in front of the vehicle 10. Specifically, camera 41 is configured to capture an image of lane lines 64 of road 62 ahead of vehicle 10, and thereby detect lane lines 64 of road 62 ahead of vehicle 10. Because vehicle 10 communicates with system controller 34, system controller 34 is programmed to receive sensor data (e.g., lane line data from camera 41) from sensor 40 of vehicle 10. Lane line data includes lane line geometry data and lane line attribute data detected by camera 41 of vehicle 10. Vehicle 10 is configured to transmit sensor data from sensor 40 to system controller 34 using, for example, a communication transceiver. Sensor data includes GPS data and lane line data. GPS data can be received from the GPS transceiver. Lane line data is not an image. More precisely, lane line data includes lane lines in the form of polynomial curves reported by camera 41 of vehicle 10 (e.g., a front-facing camera module). Lane line data initially comes from front-facing camera data of camera 41. However, in the currently disclosed method 100, the lane lines are processed data (polynomial curves), not camera images.
[0020] Each vehicle 10 may include one or more vehicle controllers 74 communicating with sensor 40. The vehicle controller 74 includes at least one processor and a non-transitory computer-readable storage device or medium. The processor may be a custom or commercially available processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among several processors associated with the vehicle controller 74, 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 46 may include, for example, volatile and non-volatile storage devices in read-only memory (ROM), random-access memory (RAM), and keep-alive memory (KAM). KAM is a permanent or non-volatile memory that can be used to store various operational variables when the processor 44 is powered off. The computer-readable storage device or medium of the vehicle controller 74 can be implemented using a variety of storage devices, such as programmable read-only memory (PROM), electrically powered PROM (EPROM), electrically erasable PROM (EEPROM), flash memory, or other electrical, magnetic, optical, or combined storage devices capable of storing data (some of which represents executable instructions used by the vehicle controller 74 in controlling the vehicle 10). For example, the vehicle controller 74 can be configured to autonomously control the movement of the vehicle 10.
[0021] Each vehicle in vehicle 10 may include an output device 76 that communicates with vehicle controller 74. The term "output device" is a device that receives data from vehicle controller 74 and transmits data that has been processed by vehicle controller 74 to the user. As a non-limiting example, output device 76 may be a display in vehicle 10.
[0022] refer to Figure 1 , Figure 2 and Figure 3The system controller 34 is programmed to receive sensor data (e.g., sensed lane line data and vehicle GPS data) from the vehicle 10 and can be configured as a cloud-based system. The sensed lane line data includes information about the lane lines 64 observed by the camera 41, such as lane line color, lane line type (e.g., solid or dashed lines), lane line geometry, etc. The vehicle GPS data indicates the location of the vehicle 10. The system controller 34 is configured to receive sensor data collected by the sensors 40 of the vehicle 10. The vehicle 10 sends the sensor data to the system controller 34. Using the sensor data from the vehicle 10, the system controller 34 is programmed to construct a lane line map using a probability density bitmap. The system controller 34 then outputs a high-definition (HD) map that includes details about the lane lines 64 of the road 62. In this disclosure, the term "HD map" refers to a highly accurate map used in autonomous driving that contains details at the centimeter level. Figure 3 As shown, HD map 70 includes a representation of road 62 and lane lines 64 within road 62. In this disclosure, the term "lane line" refers to a solid or dashed line or other marking that separates traffic lanes traveling in the same or opposite directions. HD map 70 can be displayed to a vehicle user via an output device 76 (e.g., a display).
[0023] System controller 34 includes at least one processor 44 and a non-transitory computer-readable storage device or medium 46. Processor 44 may be a custom or commercially available processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among several processors associated with system controller 34, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, a combination thereof, or generally a device for executing instructions. Computer-readable storage device or medium 46 may include, for example, volatile and non-volatile storage devices in read-only memory (ROM), random access memory (RAM), and keep-alive memory (KAM). KAM is a permanent or non-volatile memory that can be used to store various operational variables when processor 44 is powered off. Computer-readable storage device or medium 46 may be implemented using a variety of storage devices, such as programmable read-only memory (PROM), electrical PROM (EPROM), electrically erasable PROM (EEPROM), flash memory or other electrical storage devices capable of storing data (some of which represents executable instructions), magnetic storage devices, optical storage devices, or combined storage devices. System controller 34 can be programmed to execute methods described in detail below, such as method 200 ( Figure 4 ).
[0024] The instructions may include one or more separate programs, each including an ordered list of executable instructions for implementing logical functions. When executed by processor 44, the instructions receive and process signals from sensor 40, execute logic, calculations, methods, and / or algorithms for automatically controlling components of vehicle 10, and generate control signals to actuator system 30 to automatically control components of vehicle 10 based on logic, calculations, methods, and / or algorithms. Although Figure 1 A single system controller 34 is shown, but embodiments of system 100 may include multiple system controllers 34 that communicate via suitable communication media or combinations thereof and cooperate to process sensor signals, execute logic, perform calculations, methods, and / or algorithms, and generate control signals to automatically control features of system 100. In various embodiments, one or more instructions of system controller 34 are included in system 98. Non-transitory computer-readable storage device or medium 46 includes machine-readable instructions (e.g., in...). Figure 4 As shown in the diagram, machine-readable instructions, when executed by one or more processors, cause the processor to execute method 200 ( Figure 4 ).
[0025] Figure 4 This is a flowchart of method 200 for constructing a lane line map using a probability density bitmap. System controller 34 is programmed to execute method 200, and method 200 begins at block 202. At block 202, system controller 34 crowdsources sensor data about lane lines 64 of one or more roads 62. In other words, at block 202, system controller 34 receives sensor data about lane lines 64 from multiple vehicles 10 (e.g., thousands of vehicles 10). As discussed above, the sensor data is collected by sensors 40 of the vehicles 10. For example, the sensor data may include images (i.e., image data) captured by cameras 41 of the vehicles 10. These images show the lane lines 64 of road 62. Method 200 then proceeds to block 204.
[0026] At block 204, system controller 34 performs GPS offset correction. In other words, system controller 34 corrects for internal offsets in the GPS transceiver (i.e., one of the sensors 40) to output a more accurate position of vehicle 10. Method 200 then continues to block 206.
[0027] At block 206, system controller 34 performs a GPS random noise reduction process. In other words, system controller 34 can reduce noise from the GPS transceiver (i.e., one of the sensors 40) to output a more accurate location of vehicle 10. Method 200 then continues to block 208.
[0028] At box 208, system controller 34 constructs a bitmap-based lane line map using sensor data collected by sensors 40 of multiple vehicles 10. In this process, system controller 34 can use GPS data, lane line data, heading data, and speed data from the multiple vehicles 10. Specifically, system controller 34 uses sensor data to create multiple multi-layer bitmaps for each vehicle in the vehicles 10. System controller 34 then aggregates or fuses the multi-layer bitmaps created for each vehicle in the vehicles 10 to create a multi-layer probability density bitmap representing the observed lane lines. System controller 34 then extracts lane line data (e.g., the geometry, type (i.e., solid or dashed line), and color of lane line 64) from the multi-layer probability density bitmap to create an HD map 70 of road 62 using the multi-layer probability density bitmap. Next, method 200 continues to box 210.
[0029] At box 210, system controller 34 outputs an HD map 70 of road 62, which includes lane lines 64. System controller 34 can send the HD map 70 of road 62 to vehicle controller 74. Vehicle controller 74 can then command output device 76 (e.g., a display) to display the HD map 70 of road 62. Once vehicle controller 74 receives the HD map of road 62, it can autonomously control the movement of the vehicle using the HD map 70 of road 62. Box 208 also includes process 300 (… Figure 5 ) and process 400 ( Figure 6 Some or parts of ).
[0030] Figure 5 This is process 300, used to process sensor data from each individual vehicle 10. Before process 300 begins, refer to the above... Figure 4 As described, sensor data is collected from each of the vehicles in vehicle 10. Process 300 can be performed on the vehicle controller 74 and / or system controller 34 of each individual vehicle 10, which can be part of a cloud-based system. Therefore, the vehicle controller 74 and / or system controller 34 of each vehicle 10 can be programmed to execute process 300. Process 300 begins at block 302.
[0031] At box 302, the vehicle attitude of each vehicle in vehicle 10 is determined (e.g., estimated) using sensor data received from sensor 40 of vehicle 10. Specifically, this includes the position of vehicle 10 (i.e., GPS data received from a GPS transceiver), the speed of vehicle 10 collected from a speed sensor, and the heading of vehicle 10 collected or estimated from a yaw sensor. The raw sensor data of vehicle 10 may be collected at different times and may include the position of vehicle 10 (e.g., longitude and latitude of the position of vehicle 10), the heading of vehicle 10, the speed of vehicle 10, the yaw of vehicle 10, etc. At box 302, a Bayesian filter (e.g., Kalman, particle, etc.) may be used to filter the raw sensor data. The output of the step at box 302 is a smoothed vehicle trajectory (i.e., longitude, latitude, and heading for each timestamp). Process 300 then continues to box 304.
[0032] At box 304, the vehicle controller 74 and / or system controller 34 determine the weights of lane lines 64 with low weights observed by camera 41 at different times (i.e., timestamps) and filter out lane line observations with low weights. The timestamps can be the same as those for the vehicle's attitude described above. The vehicle controller 74 and / or system controller 34 can determine (i.e., calculate) weights based on different segments of lane lines 64. As a non-limiting example, the weights can be a function of the confidence value reported by camera 41 and / or the distance from the lane segment to the vehicle 10 (e.g., longitudinal distance, lateral distance, and / or radial distance). Once the weights are determined, the vehicle controller 74 and / or system controller 34 compares the weight of each lane line sample to a predetermined weight threshold. The vehicle controller 74 and / or system controller 34 then filters out lane line samples with weights less than the predetermined weight threshold. The output of box 304 is the lane segments with updated weights. Process 300 then continues to box 306.
[0033] At box 306, the vehicle controller 74 and / or system controller 34 transform the multiple lane lines 64 observed by the camera 41 at different times (i.e., timestamps) from the local vehicle coordinate system to a global coordinate system described by global longitude and latitude. Next, process 300 continues to box 308.
[0034] At box 308, the vehicle controller 74 and / or system controller 34 generate a continuous and consistent lane line image by combining lane line observations collected by camera 41 at different times (i.e., timestamps). Therefore, the output of box 308 is a consistent lane line image of the vehicle 10 throughout its journey. To generate a consistent lane line image, the vehicle controller 74 and / or system controller 34 determine the distance traveled by the vehicle 10 from a first time (i.e., the first timestamp when camera 41 observes the lane lines) to a second time (i.e., the second timestamp when camera 41 observes the lane lines). Next, the vehicle controller 74 and / or system controller 34 truncates the lane lines observed at the first timestamp. Then, the vehicle controller 74 and / or system controller 34 connects the lane lines truncated at different timestamps. The connection of two lane segments can be based on their positional offset, line color, line type, etc. Then, the vehicle controller 74 and / or system controller 34 run one or more clustering algorithms (such as unsupervised curve clustering using B-splines) to remove noise from lane line observations at different time stamps. Clustering can be based on line location, line type, line color, etc. A spline curve is then created for each line cluster. The spline curve is then saved as output (i.e., lane line 64). Process 300 then continues to box 310.
[0035] At box 310, the vehicle controller 74 and / or system controller 34 create a multi-layer bitmap for each of the multiple vehicles 10. To do this, the vehicle controller 74 and / or system controller 34 draw lane lines onto the multi-layer bitmap data structure. Specifically, box 310 begins with a geographic map representing a geographic region within a rectangular bounding box. Each pixel of the geographic region can be an integer or a floating-point number representing information about the geographic region within the rectangular bounding box. Lane lines are drawn onto the pixels, for example, changing values from 0.0 to 1.0. A pixel can be drawn from multiple lane lines. For example, a value of 2.0 can represent two lane lines. Pixel values can be increased, for example, in part based on the weights of lane lines 64. For example, based on the weights of lane lines 64, a pixel value can increase from 0.0 to 0.1. Therefore, the output of box 310 is a multi-layer bitmap for each individual vehicle 10. The multi-layer bitmap includes lane lines 64 and representations of multiple layers. These layers represent attributes of lane lines 64, such as line color and line type. Line colors can include, but are not limited to, white and yellow lines. Line types may include, but are not limited to, solid lines and dashed lines. For each of the multiple vehicles 10, the output of process 300 is used as the input of process 400.
[0036] Figure 6This is a flowchart of a process 400 for fusing or aggregating multi-layer bitmaps from sensor data of multiple vehicles 10. As input, process 400 uses the multi-layer bitmaps from sensor data of multiple vehicles 10 generated by process 300 and begins at block 402. At block 402, system controller 34 fuses the multi-layer bitmaps from sensor data of multiple vehicles 10 together to create a bitmap representing the individual layers. As discussed above, these layers can represent attributes of lane lines 64, such as lane color and lane type. The individual layers of the bitmap can be further fused into a bitmap of all layers. For example, system controller 34 can fuse all layers representing white lane lines 64 of different vehicles 10 to create a fused bitmap of all layers of the same type (e.g., white lines) of different vehicles 10. In another example, system controller 34 can fuse all layers representing yellow lane lines 64 of different vehicles 10 to create a fused bitmap of all layers of the same type (e.g., yellow lines) of different vehicles 10. Then, the bitmaps of each type of layer (e.g., white lines and yellow lines) are merged together to form a merged bitmap of all layers. The merge function is a function of multiple input bitmaps. An example is the following summation function:
[0037] in, This represents the pixel value (brightness) at (x, y) from the i-th input bitmap; n It is the number of input bitmaps; and ( , ) represents the blended pixel value (brightness) at (x, y).
[0038] This fusion function can be used to generate a fused bitmap for each layer and / or a fused bitmap for all layers. Then, process 400 continues to box 404.
[0039] At box 404, system controller 34 applies kernel density estimation (KDE) to the multi-layer fused bitmap to generate multi-layer probability density bitmaps. Each multi-layer probability density bitmap is a probability density function whose value at any given sample (or point) in the sample space (a set of possible values a random variable can take) can be interpreted as providing the relative probability that the value of the random variable is close to that sample. Other methods such as Gaussian blurring can be used instead of KDE. Procedure 400 then continues to box 406.
[0040] At box 406, system controller 34 constructs lane lines using a multi-layer probability density bitmap. For this, system controller 34 can use a local search algorithm, such as hill climbing. In the probability density bitmap, each pixel (x, y) represents the probability of observing a lane line at a certain location (longitude, latitude) via crowdsourced vehicle 10. Pixel coordinates (x, y) can be uniquely converted to or derived from global coordinates. The brightness of a pixel represents the probability of observing a lane line. A pixel brightness value of zero indicates that the probability of lane line 64 is zero, and a pixel brightness value of one indicates that the probability of lane line 64 is 100%. The output of box 404 will be multiple lane lines representing the points where lane lines are observed. Then, process 400 continues to box 408.
[0041] At box 408, system controller 34 extracts lane line attributes (e.g., line color, line type, etc.) from the multi-layer bitmap structure. For example, lane line attributes can be determined by analyzing the fused probability density bitmaps of each layer. For this purpose, system controller 34 can use the following equation: Layer j = argmax j (pixel(layer j , x i , y i ) in: Layer j It is a bitmap of the fusion probability density of each layer; (x i , y i ) These are points in the fusion probability density bitmap of each layer; pixel() The function returns from layer j Bitmap Points (x i , y i ) The pixel value at that location; and argmax j () The function returns the function with the maximum value. pixel() The number of layers in the value.
[0042] Then, at box 210, the system controller 34 uses the lane line attributes of box 408 and the lane lines constructed in box 406 to develop and output an HD map 70 of road 62, which includes lane lines 64.
[0043] While exemplary embodiments have been described above, they are not intended to describe all possible forms encompassed by the claims. The language used herein is descriptive and not restrictive, and it should be understood that various changes may be made without departing from the spirit and scope of this disclosure. As described above, features of various embodiments may be combined to form further embodiments of the currently disclosed systems and methods that may not be explicitly described or shown. While various embodiments may have been described as providing advantages or being preferred in terms of one or more desired characteristics relative to other embodiments or prior art implementations, those skilled in the art will recognize that one or more features or characteristics may be traded off to achieve desired overall system properties, depending on the specific application and implementation. These properties may include, but are not limited to, cost, strength, durability, life cycle cost, merchantability, appearance, packaging, size, suitability, weight, manufacturability, ease of assembly, etc. Therefore, embodiments described as less desirable than other embodiments or prior art implementations in one or more characteristics are not beyond the scope of this disclosure and may be ideal for a particular application.
[0044] The accompanying drawings are simplified and not to scale. For convenience and clarity only, directional terms such as top, bottom, left, right, upper, above, above, below, under, back, and front may be used in the drawings. These and similar directional terms should not be construed as limiting the scope of this disclosure in any way.
[0045] This document describes embodiments of the present disclosure. However, it should be understood that the disclosed embodiments are merely examples, and other embodiments may take various alternative forms. The drawings are not necessarily drawn to scale; some features may be enlarged or reduced to show details of particular components. Therefore, the specific structural and functional details disclosed herein should not be construed as limiting, but only as a representative basis for teaching those skilled in the art to adopt the currently disclosed systems and methods in various ways. As will be understood by those skilled in the art, various features shown and described with reference to any of the drawings may be combined with features shown in one or more other drawings to produce embodiments not explicitly shown or described. The combinations of features shown provide representative embodiments of typical applications. However, various combinations and modifications of features consistent with the teachings of this disclosure may be desired for particular applications or implementations.
[0046] This document describes embodiments of the present disclosure based on functional and / or logical block components and various processing steps. It should be understood that such block components can be implemented by a number of hardware, software, and / or firmware components configured to perform specified functions. For example, embodiments of the present disclosure may employ various integrated circuit components, such as memory elements, digital signal processing elements, logic elements, lookup tables, etc., which can perform various functions under the control of one or more microprocessors or other control devices. Furthermore, those skilled in the art will understand that embodiments of the present disclosure can be practiced in conjunction with a number of systems, and the systems described herein are merely exemplary embodiments of the present disclosure.
[0047] For the sake of brevity, techniques related to signal processing, data fusion, signal transmission, control, and other functional aspects of the system (as well as the various operating components of the system) are not described in detail herein. Furthermore, the connecting lines shown in the various figures included herein are intended to represent exemplary functional relationships and / or physical connections between the various elements. It should be noted that alternative or additional functional relationships or physical connections may exist in the embodiments of this disclosure.
[0048] This description is illustrative in nature and is in no way intended to limit the disclosure, its application, or its use. The broad teachings of this disclosure can be implemented in various forms. Therefore, while this disclosure includes specific examples, its true scope should not be so limited, as other modifications will become apparent upon examination of the drawings, description, and appended claims.
Claims
1. A method for creating a high-resolution (HD) map of a road, the method comprising: Sensor data is received from multiple sensors of multiple vehicles, wherein the sensor data includes vehicle GPS data and sensed lane line data of the road, the lane line data including polynomial curves; The sensor data is used to create multiple multi-layer bitmaps for each of the multiple vehicles. The multi-layer bitmaps are set up in layers according to the color and type attributes of lane lines, and each layer corresponds to a type of lane line data. Multiple multi-layer bitmaps for each of the multiple vehicles are merged to create a merged multi-layer bitmap; Multiple corresponding multi-layer probability density bitmaps are created using the fused multi-layer bitmap; Lane line data is extracted from the plurality of multi-layer probability density bitmaps to obtain extracted lane line data; and An HD map of the road is created using the multi-layer probability density bitmap and the extracted lane line data extracted from the multiple multi-layer probability density bitmap, wherein the HD map of the road includes multiple lane lines for each of the multiple lanes of the road.
2. The method of claim 1, further comprising determining the vehicle attitude of each of the plurality of vehicles at different times, to create a smooth trajectory for each of the plurality of vehicles using a Bayesian filter.
3. The method according to claim 2, further comprising: Determine the weight of each lane line sample observed by multiple sensors of each of the plurality of vehicles, wherein the weight is a function of the distance from the lane line sample to one of the plurality of vehicles; as well as The lane line data of the lane line samples are filtered out based on the weights of the sensed lane line data.
4. The method according to claim 3, wherein, For the sensed lane line data collected by each of the plurality of vehicles, the method further includes converting the vehicle coordinate system of each of the plurality of vehicles into a geographic coordinate system.
5. The method according to claim 4, wherein, The lane line sample is one of a plurality of lane line samples. For the sensed lane line data collected by each of the plurality of vehicles, the method further includes combining each of the plurality of lane line samples collected at the different times to create a plurality of continuous and consistent lane line images.
6. The method according to claim 5, wherein, For the sensed lane line data collected by each of the plurality of vehicles, the method further includes drawing the lane lines onto a multi-layer bitmap for each of the plurality of vehicles.
7. The method according to claim 6, wherein, Creating the plurality of multi-layer probability density bitmaps using the fused multi-layer bitmaps includes creating the plurality of multi-layer probability density bitmaps using kernel density estimation.
8. The method according to claim 6, wherein, Creating the plurality of multi-layer probability density bitmaps using the fused multi-layer bitmaps includes creating the plurality of multi-layer probability density bitmaps using Gaussian blur.
9. The method according to claim 7, wherein, Extracting the lane line data from the plurality of multi-layer probability density bitmaps includes extracting lane line attributes from the plurality of multi-layer probability density bitmaps.
10. The method according to claim 9, wherein, The lane line attributes include lane line color and lane line type, and the lane line type is at least one of solid line or dashed line.
Citation Information
Patent Citations
Localization and mapping methods using vast imagery and sensory data collected from land and air vehicles
US20200309541A1
Driving Environment Information Generation Method, Driving Control Method, Driving Environment Information Generation Device
US20210309231A1