Method and device for generating map information
By using vehicle flow data to automatically generate map information, the problems of high production cost and low efficiency of map vector elements in the prior art are solved, and more efficient and accurate map information generation is achieved.
Patent Information
- Application Number
- CN202410110313.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-25
- Publication Date
- 2025-08-01
AI Technical Summary
The method of generating map vector elements in the prior art relies on manual annotation or sensor data, resulting in high cost, long time and low efficiency.
By using traffic data to generate road topology information, intersection information and lane information, intelligent driving equipment or cloud servers are used for automated processing, reducing dependence on manual annotation.
The cost of map information production is reduced, production efficiency is improved, and the degree of compatibility between the generated map information and the actual road conditions is improved.
Smart Images

Figure CN120403671A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of intelligent vehicles, and more specifically, to a method and device for generating map information. Background Art
[0002] Map vector elements are a manifestation of static environment information, including road vectors, lane vectors, intersection vectors, etc. Map vector elements can provide prior information for the navigation of intelligent driving vehicles and improve the perception, positioning, prediction, and planning performance of intelligent driving vehicles. Specifically, map vector elements can: provide accurate road information to assist intelligent driving vehicles in avoiding obstacles; provide accurate road condition information to assist intelligent driving vehicles in making early predictions and reasonable decisions; or provide accurate route information to assist intelligent driving vehicles in planning the global driving route in advance.
[0003] However, current map vector elements are generally extracted based on data obtained by vehicle sensors (such as images, laser point clouds, etc.) using manual annotation or semi-manual annotation methods. The processing process is relatively complex and the labor cost is high, resulting in high extraction costs and long time consumption for map vector elements.
[0004] In view of this, the present application provides a solution for generating map information that can reduce production costs and improve production efficiency. Summary of the Invention
[0005] The present application provides a method and device for generating map information, which helps to reduce the production cost of map information and improve production efficiency.
[0006] In a first aspect, a method for generating map information is provided. This method can be executed by an intelligent driving device, such as by a computing platform in the intelligent driving device, or by a chip or processor in the intelligent driving device. The above intelligent driving device can be a vehicle. Alternatively, this method can also be executed by a cloud server or a component (such as a chip or processor) of the cloud server.
[0007] The method includes: obtaining a traffic flow data set, where the traffic flow data set includes data of multiple driving paths in a target road, and the target road includes at least a first road and a second road; determining map information according to the traffic flow data set, where the map information includes topological information of the target road, and the topological information indicates the topological relationship between the first road and the second road.
[0008] In the above technical solution, generating road topological information through traffic flow data without extracting road vectors through manual annotation helps to reduce the production cost of map information and improve the production efficiency of map information.
[0009] In combination with the first aspect, in certain implementations of the first aspect, the target road further includes a third road. The first road, the second road, and the third road intersect at the first intersection. The multiple driving paths include: a driving path from a section of the first road, the second road, and the third road via the first intersection to any remaining section of the first road, the second road, and the third road; the map information includes target intersection information, and the target intersection information indicates the location and boundary of the first intersection. Determining the map information according to the traffic flow data set includes: determining at least one vector point of each section of at least three roads according to the traffic flow data set, and at least one vector point indicates the area where each section of the road is connected to the first intersection; determining the target intersection information according to at least one vector point of each section of the road.
[0010] In the above technical solution, the position and boundary of the road intersection can be determined according to the information of the vehicle driving path. Since there are no markings such as lane center lines, lane boundary lines, or lane dividing lines at real intersections, and there are generally stop lines at real intersections, and each stop line can form the boundary of the intersection. Therefore, the intersection information including the intersection boundary is helpful to improve the coincidence degree between the generated map information and the actual road conditions. And the above generation process does not require manual participation, which is helpful to reduce the production cost of the map information and improve the production efficiency of the map information.
[0011] In combination with the first aspect, in certain implementations of the first aspect, the map information includes lane information, and the lane information indicates the position of the center line of each lane in the first sub-road. The first sub-road is the road in the first road with the drivable direction being the first direction; the traffic flow data set includes multiple driving paths in the first sub-road. Determining the map information according to the traffic flow data set includes: determining the width of the first sub-road according to the multiple driving paths in the first sub-road; determining the lane information according to the multiple driving paths in the first sub-road and the width of the first sub-road.
[0012] In the above technical solution, determining the position of the center line of each sub-road lane according to the driving path rather than the lane boundary can reduce the influence of inaccurate lane boundary information on the accuracy of the map information.
[0013] In combination with the first aspect, in certain implementations of the first aspect, the first end of the first sub-road is connected to the first intersection. The method further includes: determining the first road information according to the traffic flow data set, and the first road information indicates the position and drivable direction of the first sub-road; determining the position of the first end of the first sub-road according to the first road information and the target intersection information; determining the lane information, including: determining the lane information according to the position of the first end of the first sub-road.
[0014] Since the road vector or path vector indicated by the road information may invade the intersection, resulting in the lane information determined according to the road information invading the intersection, but there are no markings such as lane centerlines, lane boundary lines, or lane demarcation lines in the actual intersection. Therefore, in the above technical solution, the area where the lane meets the intersection is determined according to the intersection information, and then the end of the lane can be determined, which helps to determine more accurate lane information.
[0015] Combined with the first aspect, in some implementation manners of the first aspect, determining lane information includes: clustering the intersections between multiple driving paths in the first sub-road and the first perpendicular line, and determining the number of lanes in the first sub-road, where the first perpendicular line is the perpendicular line of the first sub-road; and determining lane information according to the number of lanes and the width of the first sub-road.
[0016] In the above technical solution, determining the position of the lane centerline based on the intersection of the driving path and the road perpendicular line helps to reduce the positioning accuracy and the influence of cross-lane traffic flow on the accuracy of the lane centerline position.
[0017] Combined with the first aspect, in some implementation manners of the first aspect, the method further includes: the topological information includes second road information, the second road information indicates the topological relationship between the second sub-road and the third sub-road, and the driving directions of the second sub-road and the third sub-road, the second road includes the second sub-road, and the first road includes the third sub-road; determining map information according to the traffic flow data set includes: segmenting multiple driving paths according to the curvature change of each driving path in the multiple driving paths; clustering the segmented driving paths according to the positions and driving directions of the segmented driving paths to determine a first path vector and a second path vector; where the first path vector indicates the position and drivable direction of the second sub-road, and the second path vector indicates the position and drivable direction of the third sub-road, and determining the second road information according to the first path vector and the second path vector.
[0018] Combined with the first aspect, in some implementation manners of the first aspect, the traffic flow data set includes multiple traffic flow data, each traffic flow data in the multiple traffic flow data includes at least one traffic flow point information, each traffic flow point information in the at least one traffic flow point information indicates a driving path, and each traffic flow point information includes the position information of a traffic flow point in the driving path.
[0019] In the above technical solution, the traffic flow data only includes the traffic flow point information indicating the driving path, which helps to reduce the communication overhead required for transmitting the traffic flow data, the memory overhead required for storing the traffic flow data, and also helps to reduce the computational complexity of generating map information.
[0020] In a second aspect, a device for generating map information is provided. The device includes: an acquisition unit configured to acquire a traffic flow data set, where the traffic flow data set includes data of multiple driving paths in a target road, and the target road includes at least a first road and a second road; and a processing unit configured to determine map information according to the traffic flow data set, where the map information includes topological information of the target road, and the topological information indicates the topological relationship between the first road and the second road.
[0021] In combination with the second aspect, in some implementation manners of the second aspect, the processing unit is further configured to: the target road further includes a third road, the first road, the second road, and the third road meet at a first intersection, and the multiple driving paths include: driving paths from a section of the first road, the second road, and the third road through the first intersection to any remaining section of the first road, the second road, and the third road; the map information includes target intersection information, and the target intersection information indicates the position and boundary of the first intersection, and the processing unit is configured to: determine at least one vector point of each section of the first road, the second road, and the third road according to the traffic flow data set, where the at least one vector point indicates the area where each section of the road is connected to the first intersection; and determine the target intersection information according to the at least one vector point of each section of the road, where the target intersection information indicates the position and boundary of the first intersection.
[0022] In combination with the second aspect, in some implementation manners of the second aspect, the map information includes lane information, and the lane information indicates the position of the center line of each lane in a first sub-road, where the first sub-road is a road in the first road with a drivable direction of a first direction; the traffic flow data set includes multiple driving paths in the first sub-road, and the processing unit is configured to: determine the width of the first sub-road according to the multiple driving paths in the first sub-road; and determine the lane information according to the multiple driving paths in the first sub-road and the width of the first sub-road.
[0023] In combination with the second aspect, in some implementation manners of the second aspect, the first end of the first sub-road is connected to the first intersection, and the processing unit is further configured to: determine first road information according to the traffic flow data set, where the first road information indicates the position and drivable direction of the first sub-road; determine the position of the first end of the first sub-road according to the first road information and the target intersection information; and determine the lane information according to the position of the first end of the first sub-road.
[0024] In combination with the second aspect, in some implementation manners of the second aspect, the processing unit is configured to: cluster the intersections of the multiple driving paths in the first sub-road with a first perpendicular line, where the first perpendicular line is a perpendicular line of the first sub-road, to determine the number of lanes in the first sub-road; and determine the lane information according to the number of lanes and the width of the first sub-road.
[0025] In combination with the second aspect, in some implementation manners of the second aspect, the first end of the first sub-road is connected to the first intersection, and the processing unit is further configured to: determine first road information according to the traffic flow data set, where the first road information indicates the position and the drivable direction of the first sub-road; determine the position of the first end of the first sub-road according to the first road information and the target intersection information; and determine lane information according to the position of the first end of the first sub-road.
[0026] In combination with the second aspect, in some implementation manners of the second aspect, the traffic flow data set includes a plurality of traffic flow data, each of the plurality of traffic flow data includes at least one traffic flow point information, each of the at least one traffic flow point information indicates a driving path, and each traffic flow point information includes the position information of a traffic flow point in the driving path.
[0027] In a third aspect, there is provided an apparatus for generating map information, the apparatus including: a memory for storing a computer program; and a processor for executing the computer program stored in the memory, so that the apparatus executes the method in any possible implementation manner of the first aspect.
[0028] In a fourth aspect, there is provided an intelligent driving device, the intelligent driving device including the apparatus in any possible implementation manner of the second aspect or the third aspect.
[0029] In combination with the fourth aspect, in some implementation manners of the fourth aspect, the intelligent driving device is a vehicle.
[0030] In a fifth aspect, there is provided a computer program product, the computer program product including: computer program code, when the computer program code runs on a computer, enabling the computer to execute the method in any possible implementation manner of the first aspect.
[0031] It should be noted that the above computer program code may be stored in whole or in part on a first storage medium, where the first storage medium may be packaged together with the processor or separately packaged from the processor.
[0032] In a sixth aspect, there is provided a computer-readable medium, the computer-readable medium storing instructions, when the instructions are executed by a processor, enabling the processor to implement the method in any possible implementation manner of the first aspect.
[0033] In a seventh aspect, there is provided a chip, the chip including a circuit for executing the method in any possible implementation manner of the first aspect. Description of the Drawings
[0034] Figure 1 is a schematic diagram of a system for generating map information provided by an embodiment of the present application;
[0035] Figure 2 Schematic block diagram of the device for generating map information provided by an embodiment of the present application;
[0036] Figure 3 Schematic flowchart of the method for generating map information provided by an embodiment of the present application;
[0037] Figure 4 Schematic diagram of the segmented and clustered results of traffic flow data provided by an embodiment of the present application;
[0038] Figure 5 Schematic diagram of the merged and generated road vector results of traffic flow data provided by an embodiment of the present application;
[0039] Figure 6 Another schematic flowchart of the method for generating map information provided by an embodiment of the present application;
[0040] Figure 7 Schematic diagram of the results of the generated initial intersection information and target intersection information provided by an embodiment of the present application;
[0041] Figure 8 Another schematic flowchart of the method for generating map information provided by an embodiment of the present application;
[0042] Figure 9 Schematic diagram of the results of determining the intersection points of vehicle trajectories and road perpendicular lines provided by an embodiment of the present application;
[0043] Figure 10 Schematic diagram of the clustering results of the intersection points of vehicle trajectories and road perpendicular lines provided by an embodiment of the present application;
[0044] Figure 11 A schematic diagram of lane information provided by an embodiment of the present application;
[0045] Figure 12 Another schematic diagram of lane information provided by an embodiment of the present application;
[0046] Figure 13 Another schematic flowchart of the method for generating map information provided by an embodiment of the present application;
[0047] Figure 14 Schematic diagram of the device for generating map information provided by an embodiment of the present application.
[0048] Figure 15 Another schematic diagram of the device for generating map information provided by an embodiment of the present application. Detailed implementation manners
[0049] For the convenience of understanding the technical solutions of the present application, the following introduces the technical terms involved in the present application.
[0050] 1. Vectorized map: A map formed by using vector data to represent the locations and shapes of geographical entities. Among them, the vector data can include at least one of points, lines, and planes.
[0051] 2. Map vector elements: The locations or shapes of geographical entities identified by vector data, including road vectors, lane vectors, intersection vectors, etc.
[0052] 3. Traffic flow data: Data collected by vehicles or roadside units (RSUs) and containing the driving paths of at least one vehicle. Among them, when the traffic flow data is collected by a vehicle, the driving paths of at least one vehicle include the driving path of at least one own vehicle and / or the driving paths of at least one other vehicle. The traffic flow data consists of a traffic flow identifier (ID) and traffic flow point information. Among them, the traffic flow ID can uniquely identify a set of traffic flow data, and the traffic flow point information contains the information of several traffic flow points. The information of each traffic flow point indicates the coordinates of a point on the driving path. In some implementation manners, the information of each traffic flow point also indicates the timestamp of a point on the driving path, and this timestamp can indicate the moment when the vehicle travels to this point.
[0053] In the current technical background, the technologies for extracting map vector elements mainly include: manual annotation, remote sensing image extraction, and sensor data (such as data output by sensors such as images and laser point clouds) extraction. Among them, manual annotation can be drawn in detail, depends on few resources, and can be produced independently. However, the disadvantage is that the human input is huge, the production process is cumbersome, and it is difficult to ensure the accuracy of the extraction results. Remote sensing image extraction has a wide coverage area and depends on fewer sources. Map vector elements can be quickly extracted only relying on remote sensing images. However, the disadvantage is that the acquisition of data sources and data processing require large resource overheads, and there are cases where areas are blocked. Sensor data extraction has high data source accuracy and strong applicability. This method is applicable to different road environments. However, the disadvantages are that the data acquisition cycle is long, the data volume is large, the cost is high, the difficulty is great, and the data processing process is complex. The currently commonly used method for extracting map vector elements is to extract based on the data obtained by sensors and adopt the method of manual / semi-manual annotation. The processing flow is relatively complex, and the human cost is relatively large, resulting in high extraction cost and long time consumption for map vector information.
[0054] As a kind of lightweight vehicle-end data, traffic flow data has the advantages of multiple sources, easy acquisition, fast data processing efficiency, etc., and has great data mining value. In view of this, the embodiments of the present application provide a method and device for generating map information, which can generate road vectors, intersection vectors, and lane vectors based on traffic flow data, helps to improve the extraction efficiency of map vector information, and reduces the extraction cost.
[0055] The technical solutions in the present application will be described below in conjunction with the accompanying drawings.
[0056] Figure 1 It is a schematic diagram of the system architecture for generating map information provided by an embodiment of the present application. The system includes a vehicle 100, or may further include a server 200. As Figure 1 shown, the vehicle 100 may include a perception system 120, a communication system 130, and a computing platform 150. Among them, the perception system 120 may include several sensors for sensing information about the environment around the vehicle 100. For example, the perception system 120 may include a positioning system, which may be a global positioning system (GPS), or a Beidou system or other positioning systems. Additionally, for example, the perception system 120 may further include one or more of an inertial measurement unit (IMU), lidar, millimeter-wave radar, ultrasonic radar, and a camera device.
[0057] The communication system 130 is used for information interaction between the vehicle 100 and the server 200, other vehicles, and roadside devices. For example, when the vehicle 100 is driving on the current road, it can receive at least one of the following through the communication system 130: traffic flow data of the current road collected by other vehicles, traffic flow data of the current road collected by roadside devices of the current road, and historical traffic flow data of the current road saved by the server 200. Alternatively, the vehicle 100 can also report the traffic flow data it has collected to the server 200 through the communication system, or send it to other vehicles or roadside devices. Exemplarily, the communication system 130 can communicate with the server 200, other vehicles, roadside devices, etc. based on the vehicle network, where the vehicle network includes but is not limited to: vehicle-to-vehicle (V2V) communication network, vehicle-to-infrastructure (V2I) communication network, and vehicle-to-network (V2N) communication network.
[0058] Some or all functions of vehicle 100 can be controlled by computing platform 150. Computing platform 150 may include processors 151 to 15n. A processor is a circuit with signal processing capabilities. In one implementation, a processor can be a circuit with the ability to read and execute instructions, such as a central processing unit (CPU), a microprocessor, a graphics processing unit (GPU) (which can be understood as a type of microprocessor), or a digital signal processor (DSP), etc.; in another implementation, a processor can achieve certain functions through the logical relationship of hardware circuits, and the logical relationship of the hardware circuits is fixed or can be reconfigured. For example, the processor is a hardware circuit implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), such as a field programmable gate array (FPGA). In a reconfigurable hardware circuit, the process of a processor loading a configuration document to implement the configuration of the hardware circuit can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units. In addition, the processor can also be a hardware circuit designed for artificial intelligence, which can be understood as a type of ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc. In addition, computing platform 150 may also include a memory for storing instructions, and some or all of processors 151 to 15n can call the instructions in the memory to achieve corresponding functions.
[0059] Exemplarily, the computing platform 150 may be one or more of a vehicle domain controller (VDC), an advanced driving domain controller (ADC), and a cockpit domain controller (CDC). For another example, the computing platform 150 may also be an in-car application-server (ICAS) controller, a body domain controller (BDC), a special equipment system (SAS), a media graphics unit (MGU), a body super core (BSC), an advanced driving assistant system super core (ADAS super core), etc. The present application does not limit this. Among them, ICAS may include at least one of the following: a vehicle control server ICAS1, an intelligent driving server ICAS2, an intelligent cockpit server ICAS3, and an infotainment server ICAS4.
[0060] The vehicle 100 may include an advanced driving assistant system (ADAS). The ADAS uses various sensors on the vehicle (including but not limited to: lidar, millimeter-wave radar, camera devices, ultrasonic sensors, global positioning system, inertial measurement unit) to obtain information from around the vehicle, and analyzes and processes the obtained information to implement functions such as obstacle perception, target recognition, vehicle positioning, path planning, driver monitoring / reminder, etc., thereby improving the safety, automation level, and comfort of vehicle driving.
[0061] Logically, the ADAS system generally includes three main functional modules: a perception module, a decision-making module, and an execution module. The perception module senses the surrounding environment of the vehicle body through sensors and inputs corresponding real-time data to the decision-making layer processing center. The perception module mainly includes in-vehicle cameras / ultrasonic radars / millimeter-wave radars / lidar, etc.; the decision-making module makes corresponding decisions using computing devices and algorithms based on the information obtained by the perception module; the execution module takes corresponding actions after receiving the decision signal from the decision-making module, such as driving, lane changing, steering, braking, warning, etc.
[0062] Under different levels of autonomous driving (L0 - L5), based on the information obtained by artificial intelligence algorithms and multi - sensors, ADAS can achieve different levels of autonomous driving assistance. The above - mentioned levels of autonomous driving (L0 - L5) are based on the grading standards of the Society of Automotive Engineers (SAE). Among them, Level L0 is no automation; Level L1 is driving assistance; Level L2 is partial automation; Level L3 is conditional automation; Level L4 is highly automated; Level L5 is fully automated. For the tasks of monitoring road conditions and making responses at Levels L1 to L3, they are jointly completed by the driver and the system, and the driver needs to take over the dynamic driving tasks. Levels L4 and L5 can completely transform the driver into the role of a passenger. Currently, the functions that ADAS can achieve mainly include but are not limited to: adaptive cruise control, automatic emergency braking, automatic parking, blind spot monitoring, traffic warning / braking at the front intersection, traffic warning / braking at the rear intersection, forward collision warning, lane departure warning, lane - keeping assistance, rear - vehicle collision warning, traffic sign recognition, traffic congestion assistance, highway assistance, etc. It should be understood that the above - mentioned various functions can have specific modes under different levels of autonomous driving (L0 - L5), and the higher the level of autonomous driving, the more intelligent the corresponding mode is.
[0063] In the embodiment of the present application, the computing platform 150 can generate map information based on the traffic flow data of a certain section of the road obtained by the perception system 120 and / or the traffic flow data of the same section of the road obtained through the communication system 130. The map information can include road vectors, intersection vectors, and lane vectors. Alternatively, the server 200 can generate the above - mentioned map information based on the traffic flow data of a certain section of the road reported by each vehicle or roadside device.
[0064] Figure 2 The schematic block diagram of the device for generating map information provided by the embodiment of the present application is shown. The device can be set in Figure 1 the vehicle 100 shown. More specifically, it can be set in the computing platform 150; or it can also be set in Figure 1 the server 200 shown. As Figure 2As shown, the device includes a traffic flow data preprocessing module, a road information generation module, an intersection information generation module, a lane information generation module, and a map information generation module. Among them, the traffic flow data preprocessing module is used to clean and smooth the traffic flow data to remove missing traffic flow, abnormal traffic flow, duplicate traffic flow, and chaotic traffic flow data, and obtain preprocessed traffic flow data; the road information generation module is used to generate a road vector based on the preprocessed traffic flow data, and this road vector can indicate the location of a certain section of the road, or can also indicate the topological relationship between roads, that is, the connectivity relationship between two or more roads, including information such as road bifurcations and road intersections; the intersection information generation module is used to generate an intersection vector based on the road vector and the preprocessed traffic flow data, and the intersection vector indicates the location and boundary of the intersection; the lane information generation module is used to generate a lane vector based on the road vector, the intersection vector, and the preprocessed traffic flow data, and the lane vector indicates the roadway where various vehicles can drive mixed within the same road surface width, or the lane vector can also indicate the position of each lane of a certain section of the road in this section of the road; the map information generation module is used to generate map information based on the road vector, the intersection vector, and the lane vector, and the map information indicates the location of at least one section of the road, the location and boundary of the intersection associated with at least one section of the road, and the number of lanes of each section of the road in at least one section of the road and the position of each lane in the road.
[0065] It should be understood that the above modules are only an example. In actual applications, the above modules may be added or deleted according to actual needs. For example, Figure 2 in the device shown in, the road information generation module and the intersection information generation module can be combined into one module.
[0066] The device and system provided by the present application have been introduced above. The method provided by the present application will be introduced in detail below with reference to the accompanying drawings.
[0067] Figure 3 A schematic flowchart of a method for generating map information provided by an embodiment of the present application is shown. Method 300 is an expanded description of the method for generating a road vector. This method 300 can be executed by Figure 1 the computing platform 150 or the server 200 in, or can also be executed by Figure 2 the road information generation module in, and this method 300 includes S301 to S304.
[0068] S301, obtain segmented path data according to the preprocessed traffic flow data.
[0069] Exemplarily, the preprocessed traffic flow data can be obtained after performing processing such as cleaning and smoothing on the traffic flow data. Among them, when the method 300 is executed by a vehicle, the acquisition methods of the traffic flow data can include at least one of the following: the vehicle collects by itself, the vehicle obtains from other vehicles, the vehicle obtains from the server, and the vehicle obtains from roadside devices; when the method 300 is executed by the server, the acquisition methods of the traffic flow data can include at least one of the following: the server obtains from the vehicle, and the server obtains from roadside devices.
[0070] Exemplarily, performing preprocessing on the traffic flow data includes sequentially cleaning missing traffic flow data, abnormal traffic flow data, duplicate data, and messy traffic flow data. Among them, the missing traffic flow data refers to traffic flow data in which part or all of the information of the traffic flow point is missing and / or the traffic flow ID is missing; the abnormal traffic flow data refers to traffic flow data with abnormal data acquisition time, sudden change in the coordinates of the traffic flow point, or violation of vehicle kinematic constraints; the duplicate data refers to traffic flow data with duplicate traffic flow IDs and / or duplicate traffic flow point coordinates; the messy traffic flow data refers to traffic flow data with too short a path, too little information, or too large a path deviation.
[0071] Exemplarily, obtaining the segmented path data based on the preprocessed traffic flow data may include: dividing the path into multiple segments according to the curvature change of each vehicle driving path (hereinafter referred to as the path) indicated by the preprocessed traffic flow data, to obtain the segmented path data. Taking the path including Figure 4 the path 410 to the path 480 shown in (a) in it as an example, where the curvature of the path 410 changes significantly starting from the point 411 and the point 412 respectively. For example, the curvature changes before and after the points 411 and 412 respectively exceed the preset threshold, then the path 410 can be divided into three segments with the points 411 and 412 as the demarcation points. By analogy, the paths 420 to 480 can be segmented respectively. More specifically, the paths 420, 430, and 440 can all be divided into three segments. Since the curvature of the paths 450 to 480 does not change significantly, they can all remain as one segment.
[0072] It can be understood that since the traffic flow data includes coordinate and timestamp information, therefore, the path indicated by the traffic flow data also carries direction information, such as Figure 4 the direction of the dashed arrow in (a) in it indicates the direction of its adjacent path, and this direction can indicate the drivable direction of the vehicle on the road. That is to say, the segmented path data also carries direction information.
[0073] S302. Perform clustering and merging on the segmented path data to obtain at least one path vector, and each path vector in the at least one path vector indicates the position and direction of a section of the road.
[0074] Exemplarily, the segmented path data is clustered according to the position and direction of the path by a clustering algorithm, and paths with the same position and the same vehicle driving direction are clustered into one category. For example, for Figure 4 the segmented path data shown in (a) in Figure 4 clustering can obtain
[0075] a total of 9 categories of paths, namely a to i, shown in (b) in
[0076] where the path segments with the same color are in one category. Among them, the clustering algorithm can be the k-means clustering algorithm, or it can also be the Gaussian mixture model algorithm, or it can also be other clustering algorithms.
[0077]
[0078] x = x0P0 + x1P1 + … + x n P n , y = y0P0 + y1P1 + … + y n P n , (2)
[0079] where, is the direction vector of each path in the same category of paths. The direction vector of a path can be the vector from the starting vector point of the path to the ending vector point of the path, is the average direction vector, x and y are the coordinates of the representative path point respectively, x i , y i are the coordinates of the intersection point of the perpendicular line of the average direction vector and each path in the same category of paths respectively, I i is the weight coefficient of each path in the same category of paths, Pi is the normalized weight coefficient for each path in the same type of paths, i.e., ∑ i P i = 1.
[0080] In some implementation manners, the same type of paths can also be merged by other methods. For example, using the average scan line distance function as the consensus function, comparing the similarity between representative paths through the consensus function, and finally merging the similar representative paths; or, other artificial intelligence algorithms are also used to merge the same type of paths.
[0081] Exemplarily, after merging the clustering results a to i shown in (b) of Figure 4 , the merging result shown in (a) of Figure 5 can be obtained. Among them, the clustering results a to i correspond to the merging results in sequence, that is, the path vectors 501 to 509. It should be understood that the direction of each path vector in the path vectors 501 to 509 is consistent with the direction information of the path shown in (a) of Figure 4 , that is, the direction of the dotted arrow in (a) of Figure 5 indicates the direction of its adjacent path.
[0082] S303. Determine at least one road vector according to the position and direction of at least one path vector, and each road vector in the at least one road vector indicates the position of the road and / or the topological relationship of the road.
[0083] Exemplarily, according to the position and direction of each path vector in at least one path vector, connect the paths with matching directions and close distances to obtain a road vector. Among them, the matching direction can be understood as that the direction of one path is the same as that of another adjacent path. For example, taking the path vector 505 as an example, the path vector 505 includes end ① and end ②. The path vectors adjacent to end ① of the path vector 505 include the path vector 503 and the path vector 504. Among them, the direction of the path vector 503 is the same as the direction of end ① of the path vector 505. Therefore, the direction of the path vector 505 matches the direction of the path vector 503. Similarly, based on the direction of end ② of the path vector 505, among the path vectors 501 and 502, the direction of the path vector 501 matches the direction of the path vector 505.
[0084] Furthermore, path vectors with matching directions and close positions can be connected to obtain a road vector. For example, as shown in (b) of Figure 5 , the dots are connection points, and dot A and dot B are the connection points of the path vector 505 with the path vectors 501 and 503 respectively.
[0085] More specifically, taking the connected path vectors as path vector 505 and path vector 501 (and / or path vector 509) as an example, path vector 501 can indicate that the direction of the road it is on is north-south, and the drivable direction of the vehicle is from north to south; end ① of path vector 505 can indicate that the direction of the road where end ① is located is east-west, and the drivable direction of the vehicle is from east to west. Then the road vector obtained by connecting path vector 505 and path vector 501 can indicate the topological relationship between the above two sections of roads and the positions of the two sections of roads.
[0086] It can be understood that when a certain road is a two-way road, the road vector indicates the topological relationship between a sub-road in one direction of the road and another road or a sub-road in one direction of another road. For example, Figure 5 the north-south road shown includes a sub-road with a drivable direction from south to north and a sub-road with a drivable direction from north to south, Figure 5 the east-west road shown includes a sub-road with a drivable direction from east to west and a sub-road with a drivable direction from west to east. Then the road vector obtained by connecting path vector 505 and path vector 501 indicates the topological relationship between the sub-road with a drivable direction from north to south in the north-south road and the sub-road with a drivable direction from east to west in the east-west road.
[0087] The method for generating map information provided by the embodiments of the present application can generate road information (i.e., road vector) indicating the drivable direction, so that the road information can be directly used for road navigation.
[0088] The methods for generating path vectors and road vectors are introduced above. The following introduces the methods for generating intersection information and lane information based on path vectors and / or road vectors.
[0089] Figure 6 Fig. shows another schematic flowchart of the method for generating map information provided by the embodiments of the present application. Method 600 is an expanded description of the method for generating intersection vectors, and method 600 can be executed after method 300. This method 600 can be executed by Figure 1 the computing platform 150 or the server 200 in, or can also be executed by Figure 2 the intersection information generation module in. This method 600 includes S601 and S602.
[0090] S601, determine the path vectors at the intersection from at least one path vector, and obtain the initial intersection vector according to the path vectors at the intersection.
[0091] Exemplarily, taking the intersection of road 711, road 712, and road 713 as an example, this road 711 is Figure 5The east-west roads, i.e., Road 711, include a sub-road with a drivable direction from east to west and a sub-road with a drivable direction from west to east; Road 712 and Road 713 are Figure 5 north-south roads, both including a sub-road with a drivable direction from south to north and a sub-road with a drivable direction from north to south.
[0092] Exemplarily, the specific implementation of determining the path vector at the intersection from at least one path vector can refer to the description in S303. For example, the path vector at the intersection includes, as Figure 5 shown in (a) of, 505 to 508.
[0093] In some implementation manners, if at least one path vector includes path vectors at intersections corresponding to multiple intersections, before obtaining the initial intersection vector based on the path vectors at intersections, all the path vectors at intersections may be clustered to obtain the path vectors at intersections corresponding to each intersection among the multiple intersections.
[0094] Exemplarily, the initial intersection vector can be represented by a vector surface (hereinafter referred to as the intersection surface), and obtaining the initial intersection vector based on the path vectors at intersections may include: processing the path vectors at intersections corresponding to each intersection using the convex hull algorithm to obtain an initial intersection surface. Taking Figure 5 the intersection where the path vectors 505 to 508 in (a) are located as an example, all the path vectors at intersections corresponding to this intersection are the path vectors 505 to 508. Then, processing the path vectors 505 to 508 using the convex hull algorithm, that is, generating the minimum circumscribed convex polygon based on the endpoints of the path vectors 505 to 508 is the initial intersection surface, as Figure 7 the convex polygon 710 shown in (a) of.
[0095] S602. Optimize the initial intersection vector according to at least one path vector and the preprocessed traffic flow data to obtain the target intersection vector.
[0096] Exemplarily, the preprocessed traffic flow data can be the preprocessed traffic flow data in S301.
[0097] Exemplarily, optimizing the initial intersection vector according to at least one path vector and the preprocessed traffic flow data may include the following three steps a) to c):
[0098] a) Determine the path vectors at non-intersection locations according to at least one path vector, and draw perpendicular lines to the path vectors at non-intersection locations based on the vertices of the initial intersection surface. For example, draw perpendicular lines to the path vectors at non-intersection locations (such as straight path vectors) in sequence based on the vertices of the convex polygon 710 to obtain Figure 7 the six perpendicular lines shown in (b) of.
[0099] b) Determine the intersection points of the perpendicular lines and the path indicated by the preprocessed traffic flow data. Taking the path indicated by the preprocessed traffic flow data including paths 410 to 480 as an example as shown in Figure 7 , determine the intersection points of six perpendicular lines and paths 410 to 480 in sequence.
[0100] c) Use the convex hull algorithm to optimize the initial intersection vector according to the intersection points determined in step b) to obtain the target intersection vector. For example, optimize the convex polygon 710 according to the intersection points of six perpendicular lines and paths 410 to 480, and the convex polygon 720 shown in Figure 7 can be obtained. It can be understood that this convex polygon 720 can indicate the position and boundary of the intersection, and the boundary of the intersection indicates the area where the road is connected to the intersection.
[0101] In some implementation manners, the initial road surface information can also be determined according to the road vector obtained by method 300 in S601. Further, the path at non-intersection locations is determined according to the road vector in S602.
[0102] The method for generating map information provided by the embodiments of the present application can generate intersection information that better fits the actual intersection boundary, without manual annotation, which helps to improve the generation efficiency of map information and reduce production costs.
[0103] Figure 8 shows another schematic flowchart of the method for generating map information provided by the embodiments of the present application. Method 800 is an expanded description of the method for generating lane vectors, and method 800 can be executed after method 600. This method 800 can be executed by Figure 1 the computing platform 150 or the server 200 in Figure 2 , or can also be executed by the lane information generation module in
[0104] S801, determine multiple road segments according to the target intersection vector and the road vector.
[0105] Exemplarily, the target intersection vector can include the target intersection vector obtained by method 600, and the road vector can include the road vector obtained by method 300. Specifically, the intersection area part in the road vector can be removed according to the target intersection vector to obtain multiple road segments.
[0106] It should be noted that the above multiple road segments include multiple one-way roads with the same or different drivable directions, and the one-way road can be determined according to the direction information of the traffic flow data. For example, the multiple road segments can include Figure 7 the sub-road with the drivable direction from east to west in road 711 and the sub-road with the drivable direction from west to east in road 711 in
[0107] S802. Determine the width of each section of the multi-section road based on the preprocessed traffic flow data and the multi-section road.
[0108] Exemplarily, the preprocessed traffic flow data may be the preprocessed traffic flow data in S301.
[0109] Exemplarily, determining the width of a section of road based on the preprocessed traffic flow data and a section of road may include: drawing a perpendicular line from the vector points of the section of road to the road vector of the section of road to obtain the intersection points of the perpendicular line and the path in the section of road indicated by the preprocessed traffic flow data, and then determining the width of the section of road based on the above intersection points. For example, Figure 9 In (a), the vector points of a section of road, the perpendicular line of the road vector of the section of road generated based on the vector points, and the path in the section of road are shown. Figure 9 In (b), the intersection points of the path corresponding to the section of road and the perpendicular line are shown. Further, the width of the section of road may be determined based on the two intersection points farthest apart on the perpendicular line. It can be understood that the road vector may be composed of multiple vector points, and the above vector points of the road may include the endpoints of the road vector, or may also include one or more vector points in the middle of the road vector.
[0110] S803. Determine the lane vector of the sub-road based on the width of the sub-road and the preprocessed traffic flow data corresponding to the sub-road, where the sub-road is any road in the multi-section road.
[0111] Exemplarily, the intersection points of the perpendicular line of the sub-road and the path of the sub-road may be determined based on the preprocessed traffic flow data corresponding to the sub-road, and clustering processing may be performed on the intersection points to determine the number of lanes of the sub-road. For example, as Figure 10 shown, four types of intersection points may be obtained by clustering the intersection points, and each type of intersection point corresponds to one lane, so it can be determined that the road has four lanes. Then, dividing the width of the road determined in S802 by the number of lanes can preliminarily determine the width of each lane.
[0112] Further, based on the lane width and the road width, the positions of the intersection points (hereinafter referred to as lane points) of the center lines of each of the four lanes and the perpendicular line of the road vector can be determined, and the lane points corresponding to adjacent two perpendicular lines can be connected to obtain the lane representation line, and the lane representation line indicates the position of the center line of one lane. For example, Figure 11 shows the relationship between the lane points, the lane representation line and the perpendicular line of the road vector.
[0113] Further, perform processing such as smoothing and thinning on the generated lanes, and output the final lane vector. For example, as Figure 12As shown in (a) therein, the position information of the lane representation line is initially obtained according to the width of the road and the pre-processed traffic flow data corresponding to the road. Among them, the blue circles indicate the lane point positions, and the red short lines indicate the lane representation line positions. Through smoothing processing, the result shown in (b) in Figure 12 can be obtained, and then thinning processing is performed on the smoothed result to obtain the result shown in (c) in Figure 12 to reduce the number of coordinates in the lane vector. Exemplarily, the smoothing processing can adopt a seven-point linear smoothing method, and the thinning processing adopts the Douglas-Peuker (DP) algorithm.
[0114] Since the path vector may invade the intersection, such as Figure 5 the path vector 503 in, resulting in the lane information determined according to the path vector invading the intersection. However, there are no lanes at the real intersection. Therefore, the method for generating map information provided by the embodiments of the present application can determine the starting and / or ending positions of the lanes in the road according to the intersection information, avoiding the lane vector in the straight part from invading the intersection, which helps to make the generated lane information more accurate; in addition, in the present application, the center line position of the lane is determined according to the clustering result of the intersection points of the vehicle driving path and the road perpendicular line, so that the determination result of the lane center line position is not affected by the positioning accuracy and the cross-lane traffic flow.
[0115] Figure 13 shows another exemplary flowchart of the method for generating map information provided by the embodiments of the present application. This method 1300 can be executed by Figure 1 the computing platform 150 or the server 200 in, or can also be executed by Figure 2 the modules in the device shown in. This method 1300 includes S1310 and S1320.
[0116] S1310, obtain a traffic flow data set, where the traffic flow data set includes data of multiple driving paths in the target road, and the target road includes at least a first road and a second road.
[0117] Exemplarily, the traffic flow data set can include the pre-processed traffic flow data in the above embodiments. The first road and the second road can include Figure 7 any two of the roads 711, 712, and 713 shown in (a) in. The multiple driving paths can include multiple driving paths that cross the first road and the second road. For example, taking the first road and the second road as the roads 712 and 713 respectively, the multiple driving paths can include Figure 4 the paths 450, 460, 470, and 480 in.
[0118] It should be noted that each road in the target road can be a one-way road or a two-way road.
[0119] S1320. Determine map information according to the traffic flow data set. The map information includes the topological information of the target road, and the topological information indicates the topological relationship between the first road and the second road.
[0120] Exemplarily, the topological information of the target road may include the road vectors in the above embodiments. The specific implementation of determining the topological relationship between the first road and the second road may refer to the description in method 300.
[0121] In some implementation manners, the topological information includes second road information, the second road information indicates the topological relationship between the second sub-road and the third sub-road, and the driving directions of the second sub-road and the third sub-road. The second road includes the second sub-road, and the first road includes the third sub-road. Determining map information according to the traffic flow data set includes: segmenting multiple driving paths according to the curvature change of each driving path in the multiple driving paths; clustering the segmented driving paths according to the positions and driving directions of the segmented driving paths to determine a first path vector and a second path vector; wherein, the first path vector indicates the position and drivable direction of the second sub-road, the second path vector indicates the position and drivable direction of the third sub-road, and according to the first path vector and the second path vector, determine the second road information.
[0122] Exemplarily, the first path vector may be Figure 5 the path vector 503 shown, and the second path vector may be Figure 5 the path vector 501 shown, then the second road information may be the vector obtained by connecting the path vector 501, the path vector 505, and the path vector 503.
[0123] In some implementation manners, the target road further includes a third road. The first road, the second road, and the third road meet at the first intersection. The multiple driving paths include: the driving paths from a section of the first road, the second road, and the third road through the first intersection to any remaining section of the first road, the second road, and the third road. The map information includes target intersection information, and the target intersection information indicates the position and boundary of the first intersection. Determining map information according to the traffic flow data set includes: determining at least one vector point of each section of at least three roads according to the traffic flow data set, and the at least one vector point indicates the area where each section of the road is connected to the first intersection; determining the target intersection information according to the at least one vector point of each section of the road.
[0124] Exemplarily, the first intersection may be an n-way intersection, where n is an integer greater than or equal to 3. Taking the first intersection as a 3-way intersection as an example, the first road, the second road, and the third road may be respectively Figure 7The roads 711, 712, and 713 shown in (a) therein. Further, multiple driving paths may include the path 410 from road 713 to road 711 via an intersection; alternatively, it may also include the path 440 from road 711 to road 712 via an intersection; or, it may further include the path 430 from road 711 to road 713 via an intersection; or, it may further include the paths 470 and 480 from road 712 to road 713 via an intersection. That is, multiple driving paths may include Figure 4 one or more of the paths 410 to 480 shown therein.
[0125] Exemplarily, the target intersection information may include the target intersection vector in method 600. Each of at least one vector point indicates the area where a sub-road in this section of the road meets the first intersection. For example, taking road 711 as an example, at least one vector point may include vector point ① and vector point ②. Vector point ① indicates the area where the sub-road from east to west meets the intersection, and vector point ② indicates the area where the sub-road from west to east meets the intersection.
[0126] In some implementation manners, determining at least one vector point for each section of at least three roads according to the traffic flow data set includes: determining a road vector or a path vector according to the traffic flow data set, determining a path vector at the intersection according to the road vector or the path vector, and determining at least one vector point according to the path vector at the intersection.
[0127] In certain scenarios, a vector point may be an end point of a road vector. More specifically, the method for determining the vector point may refer to the description in method 600, which will not be elaborated here.
[0128] Exemplarily, determining the target intersection information according to at least one vector point of each section of the road includes: determining initial intersection information according to at least one vector point of each section of the road, and optimizing the initial intersection information according to the traffic flow data set to obtain the target intersection information. Among them, the initial intersection information may be the initial intersection vector in method 600. The specific methods for determining the initial intersection information according to at least one vector point of each section of the road and optimizing the initial intersection information to obtain the target intersection information may refer to the description in method 600, which will not be elaborated here.
[0129] In some implementation manners, the map information includes lane information, and the lane information indicates the position of the center line of each lane in the first sub-road. The first sub-road is a road in the first road with a drivable direction of the first direction; the traffic flow data set includes multiple driving paths in the first sub-road. Determining the map information according to the traffic flow data set includes: determining the width of the first sub-road according to the multiple driving paths in the first sub-road; and determining the lane information according to the multiple driving paths in the first sub-road and the width of the first sub-road.
[0130] Exemplarily, the lane information may include the lane vector in Method 800. Determining the width of the first sub-road includes: determining the width of the first sub-road according to the intersection points of multiple driving paths of the first sub-road and the perpendicular line of the road vector of the first sub-road. For a more specific implementation, reference may be made to the description in S802, which will not be elaborated here.
[0131] In some implementations, the first end of the first sub-road is connected to the first intersection. The method further includes: determining first road information according to the traffic flow data set, where the first road information indicates the position and drivable direction of the first sub-road; determining the position of the first end of the first sub-road according to the first road information and the target intersection information; determining the lane information, including: determining the lane information according to the position of the first end of the first sub-road.
[0132] Exemplarily, the first road information may include the path vector in the above embodiments.
[0133] In some implementations, the above second road information may include the first road information.
[0134] Exemplarily, the method for determining the position of the first end of the first sub-road may refer to the description in S801, which will not be elaborated here.
[0135] In some implementations, determining the lane information includes: clustering the intersection points between multiple driving paths in the first sub-road and the first perpendicular line to determine the number of lanes in the first sub-road, where the first perpendicular line is the perpendicular line of the first sub-road; determining the lane information according to the number of lanes and the width of the first sub-road.
[0136] For a more specific method for determining the lane information, reference may be made to the description in Method 800, which will not be elaborated here.
[0137] In some implementations, the traffic flow data set includes multiple traffic flow data, and each traffic flow data in the multiple traffic flow data includes at least one traffic flow point information. Each traffic flow point information in the at least one traffic flow point information indicates a driving path, and each traffic flow point information includes the position information of a traffic flow point in the driving path.
[0138] In some implementations, each traffic flow point information further includes the time information of a traffic flow point in the driving path, and the time information indicates the relative time or absolute time when the vehicle travels to the traffic flow point along the above driving path.
[0139] The method for generating map information provided by the embodiments of the present application can generate road information and intersection information indicating the boundaries of intersections through traffic flow data, and then generate lane information based on the road information and intersection information. That is to say, map information including road information, intersection information, and lane information can be generated through traffic flow data, which helps to reduce the production cost of high-precision maps and improve the generation efficiency.
[0140] In various embodiments of the present application, if there is no special description and logical conflict, the terms and / or descriptions among the various embodiments are consistent and can be referenced to each other, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0141] As described above in conjunction with Figures 1 to 13 The method for generating map information provided by the embodiments of the present application is described in detail. Next, the device provided by the embodiments of the present application will be described in detail in conjunction with Figure 14 and Figure 15 It should be understood that the description of the device embodiments corresponds to the description of the method embodiments. Therefore, the content not described in detail can be referred to the above method embodiments. For the sake of brevity, it will not be repeated here.
[0142] Figure 14 Fig. shows a schematic block diagram of a device 2000 for generating map information provided by the embodiments of the present application. The device 2000 may include units for executing the methods in Figure 3 , Figure 6 , Figure 8 , Figure 11 . And each unit in the device 2000 is for implementing the corresponding processes of the above method embodiments. The device 2000 includes an acquisition unit 2010, and the acquisition unit 2010 can be used to implement the corresponding data acquisition or transceiver functions. The device 2000 further includes a processing unit 2020, and the processing unit 2020 can be used to implement the corresponding processing functions.
[0143] Optionally, the device 2000 further includes a storage unit, and the storage unit can be used to store instructions and / or data. The processing unit 2020 can read the instructions and / or data in the storage unit so that the device can implement the relevant actions in the foregoing method embodiments.
[0144] It should be understood that the specific processes of each unit executing the above corresponding steps have been described in detail in the above method embodiments. For the sake of brevity, they will not be repeated here.
[0145] It should also be understood that the device 2000 herein is embodied in the form of functional units. The term "module" or "unit" herein may refer to an application-specific ASIC, an electronic circuit, a processor (such as a shared processor, a proprietary processor, or a group of processors, etc.) for executing one or more software or firmware programs, and a memory, a combined logic circuit, and / or other suitable components that support the described functions.
[0146] The device 2000 of each of the above solutions has the function of implementing the corresponding steps executed by the computing platform 150 or the server 200 in the above method. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions; for example, the acquisition unit can be replaced by a transceiver (for example, the acquisition unit can be replaced by a receiver), and other units, such as the processing unit, etc., can be replaced by a processor for performing the relevant processing operations in each method embodiment.
[0147] Exemplarily, the acquisition unit 2010 and the processing unit 2020 can be provided in Figure 2 the system shown. More specifically, the above acquisition unit 2010 may include a traffic flow data preprocessing module, and the processing unit 2020 may include a road information generation module, an intersection information generation module, and a lane information generation module, or the processing unit 2020 may further include a map information generation module. Exemplarily, the operations performed by the above acquisition unit 2010 and the processing unit 2020 can be executed by one processor, or can also be executed by different processors. In a specific implementation process, the above one or more processors may be processors provided in Figure 1 the vehicle 100 shown; or, the above device 2000 may be a chip provided in the vehicle 100.
[0148] In a specific implementation process, each unit in the above device may be integrated in whole or in part, or may also be independently implemented. In one implementation, these units are integrated together and implemented in the form of a system-on-a-chip (SoC).
[0149] Figure 15 It is another schematic block diagram of the device for generating map information provided by an embodiment of the present application. Figure 15The device 2100 for generating map information shown in the figure may include: a processor 2110, a transceiver 2120, and a memory 2130. Among them, the processor 2110, the transceiver 2120, and the memory 2130 are connected through an internal connection path. The memory 2130 is used to store instructions, and the processor 2110 is used to execute the instructions stored in the memory 2130 to implement the methods in the above embodiments. Optionally, the memory 2130 can be coupled to the processor 2110 through an interface or integrated with the processor 2110.
[0150] It should be noted that the above transceiver 2120 may include, but is not limited to, a transceiver device such as an input / output interface to implement communication between the device 2100 and other devices or communication networks.
[0151] The memory 2130 may be a volatile memory and / or a non-volatile memory. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM). For example, the RAM can be used as an external cache. By way of example and not limitation, the RAM includes the following various forms: static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0152] The transceiver 2120 uses a transceiver device such as, but not limited to, a transceiver to implement communication between the device 2100 and other devices or communication networks to receive / send data / information for implementing the methods in the above embodiments.
[0153] An embodiment of the present application further provides an intelligent driving device, which includes the device 2000 for generating map information or the device 2100 for generating map information in the above embodiments.
[0154] The intelligent driving device involved in the embodiments of the present application can be a vehicle in a broad sense, which can be a means of transportation (such as commercial vehicles, passenger vehicles, motorcycles, flying vehicles, trains, etc.), industrial vehicles (such as forklifts, trailers, tractors, etc.), engineering vehicles (such as excavators, bulldozers, cranes, etc.), agricultural equipment (such as lawn mowers, harvesters, etc.), amusement equipment, toy vehicles, etc. The embodiments of the present application do not specifically limit the type of vehicle.
[0155] An embodiment of the present application further provides a computer program product, which includes computer program code. When the computer program code runs on a computer, the computer implements the methods in the above embodiments of the present application.
[0156] An embodiment of the present application further provides a computer-readable storage medium, which stores computer instructions. When the computer instructions run on a computer, the computer implements the methods in the above embodiments of the present application.
[0157] An embodiment of the present application further provides a chip, which includes a circuit for executing the methods in the above embodiments of the present application.
[0158] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.
[0159] In the description of the embodiments of the present application, unless otherwise specified, " / " means "or". For example, A / B can represent A or B; herein, "and / or" is an association relationship describing associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In the present application, "at least one" means one or more, and "a plurality" means two or more. "At least one (item)" or a similar expression thereof refers to any combination of these items, including any combination of single (item) or plural (items). For example, at least one (item) of a, b, or c can represent: a, b, c, a - b, a - c, b - c, or a - b - c, where a, b, c can be single or multiple.
[0160] In the embodiments of the present application, prefix words such as "first" and "second" are only used to distinguish different described objects, and have no restrictive effect on the position, order, priority, quantity, content, etc. of the described objects. The use of prefix words such as ordinal numbers for distinguishing described objects in the embodiments of the present application does not constitute a restriction on the described objects. For the statements of the described objects, refer to the descriptions in the claims or the context of the embodiments. There should be no redundant restrictions due to the use of such prefix words.
[0161] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.
[0162] In each embodiment of the present application, if there is no special explanation and logical conflict, the terms and / or descriptions between the embodiments are consistent and can be referenced to each other. The technical features in different embodiments can be combined to form new embodiments according to their internal logical relationships.
[0163] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0164] In addition, in each embodiment of the present application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.
[0165] As described above, it is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A method for generating map information, characterized in that, Including: Obtain a traffic flow data set, where the traffic flow data set includes data of multiple driving paths in a target road, and the target road includes at least a first road and a second road; Determine map information according to the traffic flow data set, where the map information includes topological information of the target road, and the topological information indicates the topological relationship between the first road and the second road.
2. The method according to claim 1, wherein The target road further includes a third road, the first road, the second road, and the third road meet at a first intersection, and the multiple driving paths include: driving paths from a section of the first road, the second road, and the third road through the first intersection to any remaining section of the first road, the second road, and the third road; The map information includes target intersection information, and the target intersection information indicates the position and boundary of the first intersection. Determining the map information according to the traffic flow data set includes: Determine at least one vector point of each section of the first road, the second road, and the third road according to the traffic flow data set, and the at least one vector point indicates the area where each section of the road is connected to the first intersection; Determine the target intersection information according to at least one vector point of each section of the road.
3. The method according to claim 1 or 2, characterized in that, The map information includes lane information, and the lane information indicates the position of the center line of each lane in a first sub-road, and the first sub-road is a road in the first road with a drivable direction of a first direction; The traffic flow data set includes multiple driving paths in the first sub-road. Determining the map information according to the traffic flow data set includes: Determine the width of the first sub-road according to the multiple driving paths in the first sub-road; Determine the lane information according to the multiple driving paths in the first sub-road and the width of the first sub-road.
4. The method according to claim 3, wherein The first end of the first sub-road is connected to the first intersection, and the method further includes: Determine first road information according to the traffic flow data set, and the first road information indicates the position and drivable direction of the first sub-road; Determine the position of the first end of the first sub-road according to the first road information and the target intersection information; The determining the lane information includes: Determine the lane information according to the position of the first end of the first sub-road.
5. The method according to claim 3 or 4, characterized in that, The determining the lane information includes: Cluster the intersections between the multiple driving paths in the first sub-road and a first perpendicular line, where the first perpendicular line is a perpendicular line of the first sub-road, to determine the number of lanes in the first sub-road; Determine the lane information according to the number of lanes and the width of the first sub-road.
6. The method according to any one of claims 1 to 5, characterized in that The topological information includes second road information, and the second road information indicates the topological relationship between a second sub-road and a third sub-road, and the driving directions of the second sub-road and the third sub-road. The second road includes the second sub-road, and the first road includes the third sub-road; Determining the map information according to the traffic flow data set includes: Segment the multiple driving paths according to the curvature change of each driving path in the multiple driving paths; Cluster the segmented driving paths according to the positions and driving directions of the segmented driving paths to determine a first path vector and a second path vector; Wherein, the first path vector indicates the position and drivable direction of the second sub-road, and the second path vector indicates the position and drivable direction of the third sub-road; Determine the second road information according to the first path vector and the second path vector.
7. The method according to any one of claims 1 to 6, characterized in that, The traffic flow data set includes multiple traffic flow data, each traffic flow data in the multiple traffic flow data includes at least one traffic flow point information, each traffic flow point information in the at least one traffic flow point information indicates a driving path, and each traffic flow point information includes the position information of a traffic flow point in the driving path.
8. An apparatus for generating map information, characterized in that, Including: An acquisition unit, configured to acquire a traffic flow data set, where the traffic flow data set includes data of multiple driving paths in a target road, and the target road includes at least a first road and a second road; A processing unit, configured to determine map information according to the traffic flow data set, where the map information includes topological information of the target road, and the topological information indicates the topological relationship between the first road and the second road.
9. The device according to claim 8, characterized in that, The target road further includes a third road, the first road, the second road and the third road meet at a first intersection, and the multiple driving paths include: driving paths from a section of road among the first road, the second road and the third road through the first intersection to any remaining section of road among the first road, the second road and the third road; The map information includes target intersection information, and the target intersection information indicates the position and boundary of the first intersection. The processing unit is configured to: Determine at least one vector point of each section of road in the first road, the second road and the third road according to the traffic flow data set, where the at least one vector point indicates the area where each section of road is connected to the first intersection; Determine target intersection information according to the at least one vector point of each section of road, where the target intersection information indicates the position and boundary of the first intersection.
10. The device according to claim 8 or 9, characterized in that, The map information includes lane information, and the lane information indicates the position of the center line of each lane in a first sub-road, and the first sub-road is a road in the first road with a drivable direction of a first direction; The traffic flow data set includes multiple driving paths in the first sub-road, and the processing unit is configured to: Determine the width of the first sub-road according to the multiple driving paths in the first sub-road; Determine the lane information according to the multiple driving paths in the first sub-road and the width of the first sub-road.
11. The device according to claim 10, characterized in that, The first end of the first sub-road is connected to the first intersection, and the processing unit is further configured to: Determine first road information according to the traffic flow data set, where the first road information indicates the position and drivable direction of the first sub-road; Determine the position of the first end of the first sub-road according to the first road information and the target intersection information. Determine the lane information according to the position of the first end of the first sub-road.
12. The device according to claim 10 or 11, wherein The processing unit is configured to: Cluster the intersections between multiple driving paths in the first sub-road and a first perpendicular line, where the first perpendicular line is a perpendicular line of the first sub-road, to determine the number of lanes in the first sub-road; Determine the lane information according to the number of lanes and the width of the first sub-road.
13. The device according to any one of claims 8 to 12, characterized in that, The topological information includes second road information, where the second road information indicates the topological relationship between a second sub-road and a third sub-road, and the driving directions of the second sub-road and the third sub-road. The second road includes the second sub-road, and the first road includes the third sub-road; The processing unit is configured to: Segment the multiple driving paths according to the curvature change of each driving path in the multiple driving paths; Cluster the segmented driving paths according to the positions and driving directions of the segmented driving paths to determine a first path vector and a second path vector; Wherein, the first path vector indicates the position and drivable direction of the second sub-road, and the second path vector indicates the position and drivable direction of the third sub-road; Determine the second road information according to the first path vector and the second path vector.
14. The device according to any one of claims 8 to 13, characterized in that The traffic flow data set includes a plurality of traffic flow data, and each traffic flow data in the plurality of traffic flow data includes at least one traffic flow point information. Each traffic flow point information in the at least one traffic flow point information indicates a driving path, and each traffic flow point information includes the position information of a traffic flow point in the driving path.
15. A device for generating map information, characterized in that, Comprising: A memory for storing a computer program; A processor for executing the computer program stored in the memory, so that the device executes the method according to any one of claims 1 to 7.
16. An intelligent driving device, characterized in that, Comprising the device according to any one of claims 8 to 15.
17. A computer-readable storage medium, characterized in that, Instructions are stored thereon, and when the instructions are executed by a processor, the method according to any one of claims 1 to 7 is implemented.
18. A computer program product, characterized in that, The computer program product includes: computer program code, and when the computer program code is run, the method according to any one of claims 1 to 7 is implemented.
19. A chip, characterized in that, The chip includes a circuit for executing the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Map generation method and system based on crowdsourcing data open scene
CN110599570A
Method of lane extraction
KR102371849B1
Cited By
Method and apparatus for generating map information
WO2025157033A1