Method and apparatus for generating map information
By using traffic data to generate map information, the topological information of roads, intersections and lanes is automatically determined, which solves the problems of high cost and time-consuming in the existing technology, and achieves efficient and accurate map information generation.
Patent Information
- Application Number
- PCT/CN2025/072198
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-25
- Filing Date
- 2025-01-14
- Publication Date
- 2025-07-31
AI Technical Summary
The prior art methods of generating map vector elements rely on manual annotation or sensor data, resulting in high cost, time-consuming and inefficient.
By obtaining the set of traffic data, using the computing platform or server to generate topological information of roads, intersections and lanes, using the clustering method of vehicle driving paths and vertical line intersections, map information is automatically determined, and manual participation is reduced.
The production cost of map information is reduced, the generation efficiency and accuracy are improved, and the generated information is highly consistent with the actual road conditions.
Smart Images

Figure CN2025072198_31072025_PF_FP_ABST
Abstract
Description
Method and device for generating map information
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on January 25, 2024, with application number 202410110313.6 and invention name “Method and Device for Generating Map Information”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of smart cars, and more specifically, to a method and device for generating map information. Background Art
[0003] Map vector elements are a representation of static environmental information, including road vectors, lane vectors, and intersection vectors. These elements can provide prior information for intelligent vehicle navigation, improving their perception, positioning, prediction, and planning capabilities. Specifically, they can provide precise road information to assist intelligent vehicles in avoiding obstacles; provide accurate road condition information to help them make informed decisions; or provide precise route information to assist them in planning their overall route.
[0004] However, current map vector elements are generally extracted based on data obtained by vehicle sensors (such as images, laser point clouds, etc.) using manual or semi-manual annotation methods. The processing flow is relatively complex and the manpower expenditure is high, resulting in high cost and time-consuming extraction of map vector elements.
[0005] 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
[0006] The present application provides a method and apparatus for generating map information, which helps to reduce the production cost of map information and improve production efficiency.
[0007] In a first aspect, a method for generating map information is provided. This method can be executed by an intelligent driving device, such as a computing platform within the intelligent driving device, or by a chip or processor within the intelligent driving device. The intelligent driving device can be a vehicle. Alternatively, the method can be executed by a cloud server or a component of a cloud server (such as a chip or processor).
[0008] The method includes: obtaining a traffic flow data set, the traffic flow data set including data of multiple driving paths in a target road, the target road including at least a first road and a second road; determining map information based on the traffic flow data set, the map information including topological information of the target road, the topological information indicating a topological relationship between the first road and the second road.
[0009] In the above technical solution, road topology information is generated through traffic flow data, and there is no need to extract road vectors through manual annotation, which helps to reduce the production cost of map information and improve the production efficiency of map information.
[0010] In combination with the first aspect, in certain implementations of the first aspect, the target road also includes a third road, the first road, the second road, and the third road intersect at a first intersection, and the multiple driving paths include: a driving path 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, the target intersection information indicates the position and boundary of the first intersection, and the map information is determined based on the traffic data set, including: determining at least one vector point for each of the at least three sections of road based on the traffic data set, the at least one vector point indicating the area where each section of road connects with the first intersection; and determining the target intersection information based on at least one vector point of each section of road.
[0011] In the above technical solution, the location and boundaries of road intersections can be determined based on vehicle path information. Since real intersections lack markings such as lane centerlines, lane boundaries, or lane dividers, and generally have stop lines, these stop lines can constitute the intersection's boundaries. Therefore, the intersection information determined, including the intersection's boundaries, helps improve the alignment of generated map information with actual road conditions. Furthermore, this generation process requires no human intervention, helping to reduce the cost of map production and improve its efficiency.
[0012] In combination with the first aspect, in certain implementations of the first aspect, the map information includes lane information, the lane information indicates the position of the center line of each lane in the first sub-road, and the first sub-road is a road in the first road whose drivable direction is the first direction; the traffic data set includes multiple driving paths in the first sub-road, and the map information is determined based on the traffic data set, including: determining the width of the first sub-road based on the multiple driving paths in the first sub-road; and determining the lane information based on the multiple driving paths in the first sub-road and the width of the first sub-road.
[0013] In the above technical solution, the position of the lane centerline of each sub-road is determined based on the driving path rather than the lane boundary, which can reduce the impact of inaccurate lane boundary information on the accuracy of map information.
[0014] 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, and the method also includes: determining first road information based on a traffic data set, the first road information indicating the position and drivable direction of the first sub-road; determining the position of the first end of the first sub-road based on the first road information and the target intersection information; determining lane information, including: determining the lane information based on the position of the first end of the first sub-road.
[0015] Since the road vector or path vector indicated by the road information may invade the intersection, causing the lane information determined based on the road information to invade the intersection, however, there are no lane center lines, lane boundary lines, or lane dividing lines in the real intersection. Therefore, in the above technical solution, the area where the lane and the intersection are connected is determined based on the intersection information, and then the end of the lane can be determined, which helps to determine more accurate lane information.
[0016] In combination with the first aspect, in certain implementations of the first aspect, determining lane information includes: clustering the intersections between multiple driving paths in the first sub-road and the first vertical line to determine the number of lanes in the first sub-road, where the first vertical line is the vertical line of the first sub-road; determining the lane information based on the number of lanes and the width of the first sub-road.
[0017] In the above technical solution, the position of the lane centerline is determined based on the intersection of the driving path and the road vertical line, which helps to reduce the positioning accuracy and the impact of cross-lane traffic on the accuracy of the lane centerline position.
[0018] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: the topology 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 based on the traffic data set, including: segmenting the 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 position and driving direction 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 the second road information is determined based on the first path vector and the second path vector.
[0019] In combination with the first aspect, in certain implementations 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 location information of a traffic flow point in the driving path.
[0020] In the above technical solution, the traffic flow data only includes traffic flow point information indicating the driving path, which helps to reduce the communication overhead required for transmitting traffic flow data, the memory overhead required for storing traffic flow data, and helps to reduce the computational complexity of generating map information.
[0021] In a second aspect, a device for generating map information is provided, which includes: an acquisition unit for acquiring a traffic data set, the traffic data set including data of multiple driving paths in a target road, the target road including at least a first road and a second road; a processing unit for determining map information based on the traffic data set, the map information including topological information of the target road, the topological information indicating a topological relationship between the first road and the second road.
[0022] In combination with the second aspect, in certain implementations of the second aspect, the processing unit is further used to: the target road also includes a third road, the first road, the second road and the third road intersect at a first intersection, and the multiple driving paths include: a driving path 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; the processing unit is used to: determine at least one vector point for each section of the first road, the second road and the third road based on the traffic data set, and at least one vector point indicates the area where each section of the road connects with the first intersection; determine the target intersection information based on at least one vector point of each section of the road, and the target intersection information indicates the position and boundary of the first intersection.
[0023] In combination with the second aspect, in certain implementations of the second aspect, the map information includes lane information, the lane information indicates the position of the centerline of each lane in the first sub-road, and the first sub-road is a road in the first road whose drivable direction is the first direction; the traffic data set includes multiple driving paths in the first sub-road, and the processing unit is used to: determine the width of the first sub-road based on the multiple driving paths in the first sub-road; determine the lane information based on the multiple driving paths in the first sub-road and the width of the first sub-road.
[0024] In combination with the second aspect, in certain implementations of the second aspect, the first end of the first sub-road is connected to the first intersection, and the processing unit is further used to: determine the first road information based on the traffic data set, the first road information indicating the position and drivable direction of the first sub-road; determine the position of the first end of the first sub-road based on the first road information and the target intersection information; determine the lane information based on the position of the first end of the first sub-road.
[0025] In combination with the second aspect, in certain implementations of the second aspect, the processing unit is used to: cluster the intersections between multiple driving paths in the first sub-road and the first vertical line to determine the number of lanes in the first sub-road, where the first vertical line is the vertical line of the first sub-road; and determine the lane information based on the number of lanes and the width of the first sub-road.
[0026] In combination with the second aspect, in certain implementations of the second aspect, the first end of the first sub-road is connected to the first intersection, and the processing unit is further used to: determine the first road information based on the traffic data set, the first road information indicating the position and drivable direction of the first sub-road; determine the position of the first end of the first sub-road based on the first road information and the target intersection information; determine the lane information based on the position of the first end of the first sub-road.
[0027] In combination with the second aspect, in certain implementations of the second 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 location information of a traffic flow point in the driving path.
[0028] In a third aspect, a device for generating map information is provided, the device comprising: a memory for storing a computer program; and a processor for executing the computer program stored in the memory, so that the device performs a method as in any possible implementation of the first aspect.
[0029] In a fourth aspect, an intelligent driving device is provided, which includes the apparatus in any possible implementation of the second aspect or the third aspect.
[0030] In combination with the fourth aspect, in some implementations of the fourth aspect, the intelligent driving device is a vehicle.
[0031] In a fifth aspect, a computer program product is provided, comprising: a computer program code, which, when executed on a computer, enables the computer to execute the method in any one of the possible implementations of the first aspect.
[0032] It should be noted that the above-mentioned computer program code may be stored in whole or in part on a first storage medium, wherein the first storage medium may be packaged together with the processor or separately from the processor.
[0033] In a sixth aspect, a computer-readable medium is provided, wherein the computer-readable medium stores instructions. When the instructions are executed by a processor, the processor implements the method in any possible implementation of the first aspect.
[0034] In a seventh aspect, a chip is provided, which includes a circuit for executing the method in any possible implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] FIG1 is a schematic diagram of a system for generating map information provided by an embodiment of the present application;
[0036] FIG2 is a schematic block diagram of an apparatus for generating map information provided in an embodiment of the present application;
[0037] FIG3 is a schematic flow chart of a method for generating map information provided in an embodiment of the present application;
[0038] FIG4 is a schematic diagram of the segmentation and clustering results of traffic flow data provided in an embodiment of the present application;
[0039] FIG5 is a schematic diagram of a road vector result obtained by merging traffic flow data and generating the road vector according to an embodiment of the present application;
[0040] FIG6 is another schematic flowchart of a method for generating map information provided in an embodiment of the present application;
[0041] FIG7 is a schematic diagram of the results of generating initial intersection information and target intersection information provided by an embodiment of the present application;
[0042] FIG8 is another schematic flowchart of the method for generating map information provided in an embodiment of the present application;
[0043] FIG9 is a schematic diagram of a result of determining the intersection of a vehicle trajectory and a perpendicular line of a road provided by an embodiment of the present application;
[0044] FIG10 is a schematic diagram of the clustering results of the intersections of vehicle trajectories and road vertical lines provided in an embodiment of the present application;
[0045] FIG11 is a schematic diagram of lane information provided by an embodiment of the present application;
[0046] FIG12 is another schematic diagram of lane information provided in an embodiment of the present application;
[0047] FIG13 is another schematic flowchart of a method for generating map information provided in an embodiment of the present application;
[0048] FIG14 is a schematic diagram of a device for generating map information provided in an embodiment of the present application.
[0049] FIG15 is another schematic diagram of the apparatus for generating map information provided in an embodiment of the present application. DETAILED DESCRIPTION
[0050] In order to facilitate understanding of the technical solution of this application, the technical terms involved in this application are introduced below.
[0051] 1. Vectorized map: A map that uses vector data to represent the location and shape of geographic entities. Vector data can include at least one of points, lines, and surfaces.
[0052] 2. Map vector elements: The location or shape of geographic entities identified using vector data, including road vectors, lane vectors, intersection vectors, etc.
[0053] 3. Traffic flow data: data collected by a vehicle or roadside unit (RSU) containing the driving path of at least one vehicle, wherein, when the traffic flow data is collected for a vehicle, the driving path of at least one vehicle includes at least one driving path of the vehicle itself and / or at least one driving path of another vehicle. Traffic flow data consists of a traffic flow identifier (ID) and traffic flow point information, wherein the traffic flow ID can uniquely identify a set of traffic flow data, and the traffic flow point information contains information of several traffic flow points, and the information of each traffic flow point indicates the coordinates of a point in the driving path. In some implementations, the information of each traffic flow point also indicates a timestamp of a point in the driving path, and the timestamp can indicate the moment when the vehicle travels to that point.
[0054] In the current technological landscape, the main techniques for extracting map vector elements include manual annotation, remote sensing image extraction, and sensor data extraction (such as images, laser point clouds, and other sensor output data). Manual annotation allows for detailed rendering, requires minimal resources, and can be independently produced. However, its drawbacks include significant labor investment, a cumbersome production process, and difficulty ensuring the accuracy of the extraction results. Remote sensing image extraction covers a wide area and relies on fewer sources, allowing for rapid extraction of map vector elements solely based on remote sensing imagery. However, its drawbacks include significant resource overhead in data source acquisition and processing, and the risk of obscured areas. Sensor data extraction offers high data source accuracy and wide applicability, making this method suitable for diverse road environments. However, its drawbacks include long data acquisition cycles, large data volumes, high costs, difficulty, and complex data processing. Currently, commonly used methods for extracting map vector elements rely on manual or semi-manual annotation of sensor data. This results in a complex processing flow and significant labor overhead, resulting in high cost and time-consuming extraction of map vector information.
[0055] Traffic flow data, as a lightweight vehicle-side data source, offers advantages such as diverse sources, ease of acquisition, and efficient data processing, and thus possesses significant data mining value. In light of this, embodiments of the present application provide a method and apparatus for generating map information, capable of generating road vectors, intersection vectors, and lane vectors based on traffic flow data. This helps improve the efficiency of extracting map vector information and reduce extraction costs.
[0056] The technical solution in this application will be described below with reference to the accompanying drawings.
[0057] Figure 1 is a schematic diagram of the system architecture for generating map information provided in an embodiment of the present application, and the system includes a vehicle 100, or may further include a server 200. As shown in Figure 1, the vehicle 100 may include a perception system 120, a communication system 130, and a computing platform 150, wherein the perception system 120 may include several sensors for sensing information about the environment surrounding the vehicle 100. For example, the perception system 120 may include a positioning system, and the positioning system may be a global positioning system (GPS), a BeiDou system, or other positioning systems. For another example, the perception system 120 may also include one or more of an inertial measurement unit (IMU), a lidar, a millimeter-wave radar, an ultrasonic radar, and a camera device.
[0058] The communication system 130 is used for information exchange between the vehicle 100 and the server 200, other vehicles, and roadside equipment. For example, when the vehicle 100 is traveling 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 collected by the roadside equipment of the current road, and historical traffic flow data of the current road stored by the server 200. Alternatively, the vehicle 100 can also report the traffic flow data it collects to the server 200 through the communication system, or send it to other vehicles or roadside equipment. Exemplarily, the communication system 130 can communicate with the server 200, other vehicles, roadside equipment, etc. based on the Internet of Vehicles, where the Internet of Vehicles 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.
[0059] Some or all functions of vehicle 100 may be controlled by computing platform 150. Computing platform 150 may include processors 151 to 15n. A processor is a circuit capable of processing signals. In one implementation, the processor may be a circuit capable of reading and executing instructions, such as a central processing unit (CPU), a microprocessor, a graphics processing unit (GPU) (which can be understood as a microprocessor), or a digital signal processor (DSP). In another implementation, the processor may implement certain functions through the logical relationships of hardware circuits. The logical relationships of the hardware circuits may be fixed or reconfigurable. For example, the processor may be 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 the processor loading a configuration file to implement the hardware circuit configuration 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 may also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc. In addition, the computing platform 150 may also include a memory for storing instructions, and some or all of the processors 151 to 15n may call the instructions in the memory to implement corresponding functions.
[0060] 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 one or more of 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), and an advanced driving assistant system super core (ADAS super core), and this application does not limit this. The 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.
[0061] Vehicle 100 may include an advanced driving assistant system (ADAS). ADAS utilizes a variety of sensors on the vehicle (including but not limited to: lidar, millimeter-wave radar, camera, ultrasonic sensor, global positioning system, inertial measurement unit) to obtain information from the vehicle's surroundings, and analyzes and processes the obtained information to implement functions such as obstacle perception, target recognition, vehicle positioning, path planning, driver monitoring / reminders, etc., thereby improving the safety, automation and comfort of vehicle driving.
[0062] From a logical function perspective, ADAS systems generally include three main functional modules: perception module, decision module and execution module. The perception module perceives 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 on-board cameras / ultrasonic radars / millimeter-wave radars / lidars, etc.; the decision module uses computing devices and algorithms to make corresponding decisions based on the information obtained by the perception module; the execution module takes corresponding actions after receiving the decision signal from the decision module, such as driving, changing lanes, steering, braking, warnings, etc.
[0063] ADAS can provide varying degrees of automated driving assistance at different levels of automation (L0-L5), based on artificial intelligence algorithms and information from multiple sensors. These levels are based on the Society of Automotive Engineers (SAE) grading standards. L0 is no automation; L1 is driving assistance; L2 is partial automation; L3 is conditional automation; L4 is high automation; and L5 is full automation. At L1-L3, monitoring and responding to road conditions are performed jointly by the driver and the system, with the driver taking over dynamic driving tasks. At L4 and L5, the driver transitions completely to the role of passenger. Currently, ADAS features include, but are not limited to, adaptive cruise control, automatic emergency braking, automated parking, blind spot monitoring, front cross-traffic alert / braking, rear cross-traffic alert / braking, forward collision warning, lane departure warning, lane keep assist, rear collision warning, traffic sign recognition, traffic jam assistance, and highway assistance. It should be understood that the various functions described above may have specific modes at different autonomous driving levels (L0-L5). The higher the autonomous driving level, the smarter the corresponding mode.
[0064] In this embodiment of the present application, computing platform 150 can generate map information based on traffic flow data for a certain road section acquired by perception system 120 and / or traffic flow data for the same road section acquired via communication system 130. The map information may include road vectors, intersection vectors, and lane vectors. Alternatively, server 200 can generate the aforementioned map information based on traffic flow data for a certain road section reported by each vehicle or roadside device.
[0065] FIG2 shows a schematic block diagram of a device for generating map information provided by an embodiment of the present application. The device can be provided in the vehicle 100 shown in FIG1 , more specifically, in the computing platform 150; or it can also be provided in the server 200 shown in FIG1 . As shown in FIG2 , the device includes a traffic 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 data preprocessing module is used to perform cleaning, smoothing, and other processing on the traffic data to remove traffic data with missing traffic, abnormal traffic, repeated traffic, and chaotic traffic to obtain preprocessed traffic data; the road information generation module is used to generate a road vector based on the preprocessed traffic data, and the road vector can indicate the location of a certain section of road, or can also indicate the topological relationship between roads, that is, the connectivity relationship between two or more roads, including road bifurcations, road intersections, and other information; the intersection information generation module is used to generate an intersection vector based on the road vector and the preprocessed traffic data, and the intersection vector indicates the location of the intersection. The lane information generation module is used to generate lane vectors based on the road vectors, intersection vectors and pre-processed traffic flow data, where the lane vectors indicate the road width (roadway) for mixed travel of various vehicles within the same road width, or the lane vectors may also indicate the position of each lane of a certain road section within the road section; the map information generation module is used to generate map information based on the road vectors, intersection vectors and lane vectors, where the map information indicates the position of at least one road section, the position and boundaries of intersections associated with the at least one road section, and the number of lanes in each road section of the at least one road section and the position of each lane on the road.
[0066] It should be understood that the above modules are only examples, and in actual applications, the above modules may be added or deleted according to actual needs. For example, in the device shown in FIG2 , the road information generation module and the intersection information generation module may be combined into one module.
[0067] The above describes the device and system provided by the present application. The following describes the method provided by the present application in detail with reference to the accompanying drawings.
[0068] Figure 3 shows a schematic flowchart of a method for generating map information provided in an embodiment of the present application. Method 300 is an expanded description of the method for generating road vectors. Method 300 can be executed by the computing platform 150 or server 200 in Figure 1, or can also be executed by the road information generation module in Figure 2. Method 300 includes S301 to S304.
[0069] S301: Obtain segmented path data based on pre-processed traffic flow data.
[0070] For example, the pre-processed traffic flow data may be obtained after performing cleaning, smoothing, and other processing on the traffic flow data. When method 300 is performed by a vehicle, the traffic flow data may be acquired in at least one of the following ways: by the vehicle itself, by the vehicle from other vehicles, by the vehicle from a server, or by the vehicle from roadside equipment. When method 300 is performed by a server, the traffic flow data may be acquired in at least one of the following ways: by the server from the vehicle, or by the server from roadside equipment.
[0071] Exemplarily, preprocessing traffic flow data includes sequentially cleaning missing traffic flow data, abnormal traffic flow data, duplicate data, and cluttered traffic flow data. Missing traffic flow data refers to traffic flow data with partial or complete missing traffic flow point information and / or missing traffic flow IDs; abnormal traffic flow data refers to traffic flow data with abnormal data collection time, jumps in traffic flow point coordinates, or violations of vehicle kinematic constraints; duplicate data refers to traffic flow data with duplicate traffic flow IDs and / or duplicate traffic flow point coordinates; and cluttered traffic flow data refers to traffic flow data with short paths, insufficient information, or excessive path deviations.
[0072] Exemplarily, obtaining segmented path data based on preprocessed traffic flow data may include: dividing each vehicle driving path (hereinafter referred to as path) into multiple segments based on the curvature change of each vehicle driving path indicated by the preprocessed traffic flow data, thereby obtaining segmented path data. For example, the path indicated by the preprocessed traffic flow data includes paths 410 to 480 shown in (a) of FIG. 4 , where the curvature of path 410 changes significantly starting from points 411 and 412, respectively. For example, the curvature change before and after points 411 and 412 exceeds a preset threshold. Then, path 410 can be divided into three segments with points 411 and 412 as dividing points. Similarly, paths 420 to 480 can be segmented. More specifically, paths 420, 430, and 440 can each be divided into three segments. Since the curvature of paths 450 to 480 does not change significantly, they can each be maintained as one segment.
[0073] It is understood that because traffic flow data includes coordinate and timestamp information, the paths indicated by the traffic flow data also carry directional information. For example, the direction of the dashed arrow in Figure 4 (a) indicates the direction of its adjacent path, which can indicate the possible travel direction of the vehicle on the road. In other words, the segmented path data also carries directional information.
[0074] S302 : Clustering and merging the segmented path data to obtain at least one path vector, where each path vector in the at least one path vector indicates the position and direction of a section of road.
[0075] Exemplarily, a clustering algorithm is used to cluster the segmented path data based on the path's location and direction, grouping paths with the same location and vehicle travel direction into one category. For example, clustering the segmented path data shown in Figure 4 (a) yields the clustering results a through i shown in Figure 4 (b), which contain nine path categories, with paths of the same color belonging to one category. The clustering algorithm can be a k-means clustering algorithm, a Gaussian mixture model algorithm, or other clustering algorithms.
[0076] Furthermore, each type of path after clustering is merged, and a representative path vector of the type of path vector is determined based on the path vectors of the same type, and the at least one path vector includes the representative path vector of each type of path.
[0077] Exemplarily, the average direction vector of the same type of path can be determined based on the direction vector of the same type of path, and then the intersection point of the perpendicular line of the average direction vector and each path in the same type of path can be determined, and the representative path vector can be determined based on the intersection point. For example, the average direction vector of the same type of path can be determined according to formula (1), and then the intersection point of multiple perpendicular lines of the average direction vector and each path in the same type of path can be determined, and the intersection point of each perpendicular line with each path can be processed according to formula (2) to obtain the coordinates of the representative path point. Among them, the multiple perpendicular lines can be perpendicular lines made by multiple points selected at a certain interval in the average direction vector, that is, one of the multiple perpendicular lines can be located in the middle of the same type of path, or can also be located at one end of the same type of path, or can also be located at other positions of the same type of path. Further, the representative path vector is determined based on the coordinates of the representative path points corresponding to the multiple perpendicular lines, and the direction of the vector is the direction of the same type of path. x=x0P0+x1P1+…+x n P n , y=y0P0+y1P1+…+y n P n , (2)
[0078] in, is the direction vector of each path in the same type of path. The direction vector of a path can be a vector pointing 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 points, x i 、y i are the coordinates of the intersection of the perpendicular line of the average direction vector and each path of the same type, I i is the weight coefficient of each path in the same type of path, P i is the normalized weight coefficient of each path in the same type of path, That is ∑ i P i=1.
[0079] In some implementations, similar paths can also be merged through other methods, such as using the average scan line distance function as a consensus function, comparing the similarities between representative paths through the consensus function, and finally merging similar representative paths; or, other artificial intelligence algorithms can be used to merge similar paths.
[0080] For example, after merging the clustering results a to i shown in FIG4(b), a merged result as shown in FIG5(a) can be obtained. The clustering results a to i correspond to the merged results, i.e., path vectors 501 to 509. It should be understood that the direction of each path vector in path vectors 501 to 509 is consistent with the direction information of the path shown in FIG4(a), i.e., the direction of the dotted arrow in FIG5(a) indicates the direction of its adjacent path.
[0081] S303: Determine at least one road vector according to the position and direction of the at least one path vector, where each road vector in the at least one road vector indicates the position of a road and / or a topological relationship of the road.
[0082] Exemplarily, based on the position and direction of each path vector in at least one path vector, paths with matching directions and close distances are connected to obtain a path vector. Direction matching can be understood as a path having the same direction as another path in its immediate vicinity. For example, taking path vector 505 as an example, path vector 505 includes end ① and end ②. Path vectors adjacent to end ① of path vector 505 include path vector 503 and path vector 504. The direction of path vector 503 is the same as the direction of end ① of path vector 505, so the directions of path vector 505 and path vector 503 match. Similarly, based on the direction of end ② of path vector 505, the directions of path vector 501 and path vector 505 match.
[0083] Furthermore, path vectors with matching directions and similar positions can be connected to obtain road vectors. For example, as shown in (b) in FIG5 , the circles are connection points, and circles A and B are the connection points between path vector 505 and path vector 501 and path vector 503, respectively.
[0084] More specifically, taking path vector 505 and path vector 501 (and / or path vector 509) as examples, path vector 501 can indicate that the road it is on is north-south, and that the vehicle can travel from north to south. End ① of path vector 505 can indicate that the road end ① is east-west, and that the vehicle can travel from east to west. The road vector resulting from the connection of path vector 505 and path vector 501 can then indicate the topological relationship between the two road segments and their locations.
[0085] It is understood that when a road is bidirectional, a road vector indicates the topological relationship between a sub-road in one direction of the road and a sub-road in one direction of another road or a sub-road in one direction of a road. For example, the north-south road shown in Figure 5 includes a sub-road with a drivable direction from south to north and a sub-road with a drivable direction from north to south. The east-west road shown in Figure 5 includes a sub-road with a drivable direction from east to west and a sub-road with a drivable direction from west to east. 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 on the north-south road and the sub-road with a drivable direction from east to west on the east-west road.
[0086] The method for generating map information provided in the embodiment of the present application can generate road information (i.e., road vectors) indicating drivable directions, so that the road information can be directly used for road navigation.
[0087] The above describes a method for generating a path vector and a road vector. The following describes a method for generating intersection information and lane information based on the path vector and / or the road vector.
[0088] FIG6 shows another schematic flow chart of a method for generating map information provided in an embodiment of the present application. Method 600 is an expanded description of a method for generating intersection vectors. Method 600 may be performed after method 300. Method 600 may be performed by the computing platform 150 or server 200 in FIG1 , or may be performed by the intersection information generation module in FIG2 . Method 600 includes S601 and S602.
[0089] S601: Determine a path vector at an intersection from at least one path vector, and obtain an initial intersection vector according to the path vector at the intersection.
[0090] For example, taking the intersection of roads 711, 712, and 713 as an example, road 711 is the east-west road in Figure 5, that is, road 711 includes 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 the north-south roads in Figure 5, both of which include a sub-road with a drivable direction from south to north and a sub-road with a drivable direction from north to south.
[0091] For example, the specific implementation of determining the path vector at the intersection from at least one path vector may refer to the description in S303. For example, the path vector at the intersection includes 505 to 508 as shown in (a) of FIG5.
[0092] In some implementations, at least one path vector includes intersection path vectors corresponding to multiple intersections. Before obtaining the initial intersection vector based on the intersection path vectors, all intersection path vectors can also be clustered to obtain the intersection path vector corresponding to each of the multiple intersections.
[0093] Exemplarily, the initial intersection vector can be represented by a vector surface (hereinafter referred to as the intersection surface). Obtaining the initial intersection vector based on the path vector at the intersection may include: processing the path vector corresponding to each intersection using a convex hull algorithm to obtain the initial intersection surface. Taking the intersection at which path vectors 505 to 508 are located in FIG5(a) as an example, all the path vectors at the intersection corresponding to the intersection are path vectors 505 to 508. Path vectors 505 to 508 are then processed using a convex hull algorithm, i.e., a minimum circumscribed convex polygon is generated based on the endpoints of path vectors 505 to 508, which is the initial intersection surface, such as convex polygon 710 shown in FIG7(a).
[0094] S602: Optimize the initial intersection vector according to at least one path vector and pre-processed traffic flow data to obtain a target intersection vector.
[0095] Exemplarily, the pre-processed traffic flow data may be the pre-processed traffic flow data in S301 .
[0096] Exemplarily, optimizing the initial intersection vector based on at least one path vector and pre-processed traffic flow data may include the following three steps a) to c):
[0097] a) Determine a non-intersection path vector based on at least one path vector, and draw perpendicular lines to the non-intersection path vector based on the vertices of the initial intersection surface. For example, perpendicular lines are drawn sequentially to the non-intersection path vector (e.g., the straight path vector) based on the vertices of convex polygon 710, resulting in six perpendicular lines as shown in FIG7(b).
[0098] b) Determine the intersection points of the vertical lines with the path indicated by the preprocessed traffic flow data. As shown in (c) in FIG. 7 , taking the path indicated by the preprocessed traffic flow data including paths 410 to 480 as an example, determine the intersection points of the six vertical lines with paths 410 to 480 in sequence.
[0099] c) Using a convex hull algorithm, the initial intersection vector is optimized based on the intersection points determined in step b) to obtain a target intersection vector. For example, by optimizing convex polygon 710 based on the intersection points of the six perpendicular lines and paths 410 to 480, convex polygon 720 shown in FIG7(d) can be obtained. It will be understood that convex polygon 720 can indicate the location and boundary of the intersection, and the boundary of the intersection indicates the area where the road and the intersection meet.
[0100] In some implementations, initial road surface information may be determined according to the road vector obtained in method 300 in S601 , and further, a non-intersection path may be determined according to the road vector in S602 .
[0101] The method for generating map information provided in the embodiment of the present application can generate intersection information that is more consistent with the actual intersection boundaries without the need for manual labeling, which helps to improve the efficiency of map information generation and reduce production costs.
[0102] FIG8 shows another schematic flowchart of a method for generating map information provided in an embodiment of the present application. Method 800 is an expanded description of the method for generating lane vectors. Method 800 may be performed after method 600. Method 800 may be performed by computing platform 150 or server 200 in FIG1 , or by the lane information generation module in FIG2 . Method 800 includes S801 to S803.
[0103] S801: Determine multiple road segments according to a target intersection vector and a road vector.
[0104] Illustratively, the target intersection vector may include the target intersection vector obtained according to method 600, and the road vector may include the road vector obtained according to method 300. Specifically, the intersection region portion in the road vector may be removed according to the target intersection vector to obtain multiple road segments.
[0105] It should be noted that the aforementioned multiple road segments include multiple one-way roads with the same or different drivable directions. The one-way roads may be determined based on the direction information of the traffic flow data. For example, the multiple road segments may include a sub-road in road 711 in Figure 7 with a drivable direction from east to west, and a sub-road in road 711 with a drivable direction from west to east.
[0106] S802: Determine the width of each of the multiple road sections based on the pre-processed traffic flow data and the multiple road sections.
[0107] Exemplarily, the pre-processed traffic flow data may be the pre-processed traffic flow data in S301 .
[0108] Exemplarily, determining the width of a section of road based on preprocessed traffic data and a section of road may include: drawing a perpendicular line to the road vector of the section of road using the vector points of the section of road, obtaining the intersection of the perpendicular line and the path in the section of road indicated by the preprocessed traffic data, and then determining the width of the section of road based on the above-mentioned intersection. For example, (a) in Figure 9 shows the vector points of a section of road, the perpendicular line to the road vector of the section of road generated based on the vector points, and the path in the section of road, and (b) in Figure 9 shows the intersection of the path corresponding to the section of road and the perpendicular line. Furthermore, the width of the section of road may be determined based on the two intersection points on the perpendicular line that are the farthest apart. It is understandable that a road vector may be composed of multiple vector points, and the above-mentioned road vector points may include the endpoints of the road vector, or may also include one or more vector points in the middle of the road vector.
[0109] S803 : Determine a lane vector of the sub-road according to the width of the sub-road and pre-processed traffic flow data corresponding to the sub-road, where the sub-road is any road in the plurality of road segments.
[0110] For example, based on the pre-processed traffic flow data corresponding to the sub-road, the intersections of the sub-road's perpendicular line and the sub-road's path can be determined, and the intersections can be clustered to determine the number of lanes on the sub-road. For example, as shown in Figure 10, the intersections can be clustered to obtain four types of intersections, each corresponding to a lane. Therefore, it can be determined that the road has four lanes. Furthermore, the width of each lane can be preliminarily determined by dividing the width of the road determined in S802 by the number of lanes.
[0111] Furthermore, the location of the intersection of the centerline of each of the four lanes and the perpendicular to the road vector (hereinafter referred to as the lane point) can be determined based on the lane width and road width. By connecting the corresponding lane points on two adjacent perpendicular lines, a lane marking line can be obtained. The lane marking line indicates the location of the centerline of a lane. For example, Figure 11 shows the relationship between lane points, lane marking lines, and the perpendicular to the road vector.
[0112] Furthermore, the generated lanes are smoothed, thinned, and other processes are performed to output the final lane vector. For example, as shown in (a) in FIG12 , the position information of the lane marking line is initially obtained based on the width of the road and the pre-processed traffic flow data corresponding to the road, where the black circle indicates the lane point position and the white short line indicates the lane marking line position. Through the smoothing process, the result shown in (b) in FIG12 can be obtained, and then the smoothed result is thinned to obtain the result shown in (c) in FIG12 , so as to reduce the number of coordinates in the lane vector. Exemplarily, the smoothing process can use a seven-point linear smoothing method, and the thinning process can use the Douglas-Peuker (DP) algorithm.
[0113] Since the path vector may invade the intersection, such as the path vector 503 in Figure 5, the lane information determined based on the path vector invades the intersection. However, there is no lane at the actual intersection. Therefore, the method for generating map information provided in the embodiment of the present application can determine the starting and / or ending position of the lane in the road based on the intersection information, avoiding the lane vector of the straight part from invading the intersection, which helps to make the generated lane information more accurate; in addition, in the present application, the centerline position of the lane is determined based on the clustering result of the intersection of the vehicle's driving path and the vertical line of the road, so that the determination result of the lane centerline position is not affected by the positioning accuracy and cross-lane traffic.
[0114] Figure 13 shows another exemplary flowchart of the method for generating map information provided in an embodiment of the present application. The method 1300 can be executed by the computing platform 150 or the server 200 in Figure 1, or can also be executed by the module in the device shown in Figure 2. The method 1300 includes S1310 and S1320.
[0115] S1310: Acquire a traffic flow data set, where the traffic flow data set includes data of multiple driving paths in a target road, where the target road includes at least a first road and a second road.
[0116] Exemplarily, the traffic flow data set may include the preprocessed traffic flow data in the above-described embodiment. The first road and the second road may include any two of road 711, road 712, and road 713 shown in FIG7(a). The multiple driving paths may include multiple driving paths that span the first road and the second road. For example, taking the first road and the second road as road 712 and road 713, respectively, the multiple driving paths may include path 450, path 460, path 470, and path 480 in FIG4.
[0117] It should be noted that each of the target roads may be a one-way road or a two-way road.
[0118] S1320: Determine map information based on the traffic flow data set, where the map information includes topology information of the target road, and the topology information indicates a topological relationship between a first road and a second road.
[0119] For example, the topology information of the target road may include the road vector in the above embodiment. For the specific implementation of determining the topological relationship between the first road and the second road, reference may be made to the description of method 300 .
[0120] In some implementations, the topology 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 the map information based on the traffic data set includes: segmenting the 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 position and driving direction 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 the second road information is determined based on the first path vector and the second path vector.
[0121] Exemplarily, the first path vector may be path vector 503 shown in FIG. 5 , and the second path vector may be path vector 501 shown in FIG. 5 . The second road information may be a vector obtained by connecting path vector 501 , path vector 505 , and path vector 503 .
[0122] In some implementations, the target road also includes a third road, the first road, the second road, and the third road intersect at a first intersection, and the multiple driving paths include: a driving path 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, the target intersection information indicates the position and boundary of the first intersection, and the map information is determined based on the traffic data set, including: determining at least one vector point for each of the at least three sections of road based on the traffic data set, at least one vector point indicating the area where each section of road connects with the first intersection; and determining the target intersection information based on at least one vector point of each section of road.
[0123] Exemplarily, the first intersection may be an n-fork intersection, where n is an integer greater than or equal to 3. Taking the first intersection as a three-fork intersection as an example, the first road, the second road, and the third road may be road 711, road 712, and road 713 shown in (a) of Figure 7 , respectively. Furthermore, the multiple driving paths may include path 410 from road 713 via the intersection to road 711; or, may include path 440 from road 711 via the intersection to road 712; or, may also include path 430 from road 711 via the intersection to road 713; or, may also include paths 470 and 480 from road 712 via the intersection to road 713. That is, the multiple driving paths may include one or more of paths 410 to 480 shown in Figure 4 .
[0124] Illustratively, the target intersection information may include the target intersection vector in method 600. Each vector point in the at least one vector point indicates an area where a sub-road in the road section connects with the first intersection. For example, taking road 711 as an example, the at least one vector point may include vector point ① and vector point ②. Vector point ① indicates an area where a sub-road running from east to west connects with the intersection, and vector point ② indicates an area where a sub-road running from west to east connects with the intersection.
[0125] In some implementations, determining at least one vector point for each of at least three road segments based on a traffic data set includes: determining a road vector or a path vector based on the traffic data set, determining a path vector at an intersection based on the road vector or the path vector, and determining at least one vector point based on the path vector at the intersection.
[0126] In some scenarios, a vector point may be an endpoint of a road vector. More specifically, the method for determining a vector point may refer to the description in method 600 and will not be repeated here.
[0127] Illustratively, determining target intersection information based on at least one vector point for each road segment includes: determining initial intersection information based on at least one vector point for each road segment; and optimizing the initial intersection information based on the traffic flow data set to obtain target intersection information. The initial intersection information may include the initial intersection vectors described in method 600. The specific methods for determining the initial intersection information based on at least one vector point for each road segment and optimizing the initial intersection information to obtain target intersection information can be found in the description of method 600 and are not further described here.
[0128] In some implementations, the map information includes lane information, which indicates the position of the center line of each lane in the first sub-road, and the first sub-road is a road in the first road whose drivable direction is the first direction; the traffic data set includes multiple driving paths in the first sub-road, and the map information is determined based on the traffic data set, including: determining the width of the first sub-road based on the multiple driving paths in the first sub-road; and determining the lane information based on the multiple driving paths in the first sub-road and the width of the first sub-road.
[0129] For example, 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 based on intersections of multiple driving paths of the first sub-road and a perpendicular line to the road vector of the first sub-road. For more specific implementations, please refer to the description in S802 and will not be repeated here.
[0130] In some implementations, the first end of the first sub-road is connected to the first intersection, and the method further includes: determining first road information based on a traffic data set, the first road information indicating the position and drivable direction of the first sub-road; determining the position of the first end of the first sub-road based on the first road information and the target intersection information; determining lane information, including: determining the lane information based on the position of the first end of the first sub-road.
[0131] Exemplarily, the first road information may include the path vector in the above embodiment.
[0132] In some implementations, the second road information may include the first road information.
[0133] For example, the method for determining the position of the first end of the first sub-road may refer to the description in S801 and will not be repeated here.
[0134] In some implementations, determining lane information includes: clustering intersections between multiple driving paths in a first sub-road and a first perpendicular line to determine the number of lanes in the first sub-road, where the first perpendicular line is a perpendicular line of the first sub-road; and determining the lane information based on the number of lanes and a width of the first sub-road.
[0135] For a more specific method of determining lane information, please refer to the description in method 800, which will not be repeated here.
[0136] In some implementations, 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 location information of a traffic flow point in the driving path.
[0137] In some implementations, each traffic point information further includes time information of a traffic point in the driving path, where the time information indicates the relative time or absolute time when the vehicle travels to the traffic point along the driving path.
[0138] The method for generating map information provided in the embodiments of the present application can generate road information and intersection information indicating intersection boundaries from traffic flow data, and further generate lane information based on the road and intersection information. In other words, map information including road, intersection, and lane information can be generated from traffic flow data, helping to reduce the production cost of high-precision maps and improve production efficiency.
[0139] In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between the various embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0140] The method for generating map information provided by the embodiment of the present application is described in detail above with reference to Figures 1 to 13 . The apparatus provided by the embodiment of the present application will be described in detail below with reference to Figures 14 and 15 . It should be understood that the description of the apparatus embodiment corresponds to the description of the method embodiment. Therefore, for matters not described in detail, reference can be made to the method embodiment above, and for the sake of brevity, no further description will be given here.
[0141] Figure 14 shows a schematic block diagram of an apparatus 2000 for generating map information according to an embodiment of the present application. The apparatus 2000 may include units for executing the methods described in Figures 3, 6, 8, and 11. Furthermore, the units in the apparatus 2000 implement the corresponding processes of the aforementioned method embodiments. The apparatus 2000 includes an acquisition unit 2010, which can be used to implement corresponding data acquisition or transceiver functions. The apparatus 2000 also includes a processing unit 2020, which can be used to implement corresponding processing functions.
[0142] Optionally, the device 2000 also includes a storage unit, which 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 implements the relevant actions in the aforementioned method embodiments.
[0143] It should be understood that the specific process of each unit executing the above corresponding steps has been described in detail in the above method embodiment, and for the sake of brevity, it will not be repeated here.
[0144] It should also be understood that the apparatus 2000 herein is embodied in the form of functional units. The term "module" or "unit" herein may refer to an application-specific ASIC, electronic circuitry, a processor (e.g., a shared processor, a dedicated processor, or a group of processors, etc.) and memory for executing one or more software or firmware programs, combined logic circuitry, and / or other suitable components that support the described functionality.
[0145] The apparatus 2000 of each of the above-described solutions has the function of implementing the corresponding steps performed by the computing platform 150 or the server 200 in the above-described methods. The functions can be implemented by hardware, or by hardware executing corresponding software implementations. The hardware or software includes one or more modules corresponding to the above-described 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, can be replaced by a processor to perform the relevant processing operations in each method embodiment.
[0146] Exemplarily, the acquisition unit 2010 and the processing unit 2020 may be provided in the system shown in FIG2 . More specifically, the acquisition unit 2010 may include a traffic 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. Alternatively, the processing unit 2020 may further include a map information generation module. Exemplarily, the operations performed by the acquisition unit 2010 and the processing unit 2020 may be performed by a single processor, or by different processors. In a specific implementation, the one or more processors may be processors provided in the vehicle 100 shown in FIG1 ; alternatively, the device 2000 may be a chip provided in the vehicle 100 .
[0147] In a specific implementation process, the various units in the above apparatus may be fully or partially integrated together, or may also be implemented independently. In one implementation, these units are integrated together and implemented in the form of a system-on-a-chip (SoC).
[0148] Figure 15 is another schematic block diagram of an apparatus for generating map information provided in an embodiment of the present application. The apparatus 2100 for generating map information shown in Figure 15 may include: a processor 2110, a transceiver 2120, and a memory 2130. The processor 2110, the transceiver 2120, and the memory 2130 are interconnected via an internal connection path. The memory 2130 is configured to store instructions, and the processor 2110 is configured to execute the instructions stored in the memory 2130 to implement the methods described in the aforementioned embodiments. Optionally, the memory 2130 may be coupled to the processor 2110 via an interface or may be integrated with the processor 2110.
[0149] It should be noted that the 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 a communication network.
[0150] Memory 2130 may be a volatile memory and / or a non-volatile memory. The non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM). For example, RAM may be used as an external cache. By way of example and not limitation, RAM includes the following 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), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0151] 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 used to implement the methods in the above embodiments.
[0152] 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 embodiment.
[0153] 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 cars, motorcycles, flying cars, trains, etc.), industrial vehicles (such as forklifts, trailers, tractors, etc.), engineering vehicles (such as excavators, bulldozers, cranes, etc.), agricultural equipment (such as mowers, harvesters, etc.), amusement equipment, toy vehicles, etc. The embodiments of the present application do not specifically limit the type of vehicle.
[0154] 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.
[0155] An embodiment of the present application further provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed on a computer, the computer implements the methods in the above embodiments of the present application.
[0156] An embodiment of the present application also provides a chip, including a circuit, for executing the methods in the above embodiments of the present application.
[0157] Those skilled in the art will 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 aforementioned method embodiments and will not be repeated here.
[0158] In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is a kind of association relationship that describes associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In this application, "at least one" refers to one or more, and "more than one" refers to two or more. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.
[0159] In the embodiments of this application, prefixes such as "first" and "second" are used only to distinguish different description objects and have no limiting effect on the position, order, priority, quantity, or content of the described objects. The use of prefixes such as ordinal numbers in the embodiments of this application to distinguish description objects does not constitute a limitation on the described objects. For a statement of the described objects, please refer to the description in the context of the claims or embodiments, and the use of such prefixes should not constitute an unnecessary limitation.
[0160] In the several embodiments provided in this 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 merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as 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 mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0161] In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between the various embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0162] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0163] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0164] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection 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 first driving 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 multiple driving paths in the first sub-road; Determine the lane information according to 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 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; The 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 among 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. A device 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, 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 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 among 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 road is connected to the first intersection; Determine target intersection information according to the at least one vector point of each section of road, and 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, 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. 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, characterized in that, 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 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.
15. An apparatus 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, and the circuit is used to execute the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Method and device for generating map information
CN120403671A
Crowdsourcing big data-based high-precision map topology automatic construction method and system
CN110634291A
Construction method of automatic driving map and related device
CN113405558A
Road topology information determination method, electronic map data processing method and electronic equipment
CN116734828A
Topological graph generation method and device, computer equipment and storage medium
CN116958316A