WO2021223465A1 - 一种高精度地图构建方法及系统 - Google Patents

一种高精度地图构建方法及系统 Download PDF

Info

Publication number
WO2021223465A1
WO2021223465A1 PCT/CN2021/072513 CN2021072513W WO2021223465A1 WO 2021223465 A1 WO2021223465 A1 WO 2021223465A1 CN 2021072513 W CN2021072513 W CN 2021072513W WO 2021223465 A1 WO2021223465 A1 WO 2021223465A1
Authority
WO
WIPO (PCT)
Prior art keywords
pose
point cloud
local
map
data
Prior art date
Application number
PCT/CN2021/072513
Other languages
English (en)
French (fr)
Inventor
王民康
王飞
Original Assignee
北京嘀嘀无限科技发展有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京嘀嘀无限科技发展有限公司 filed Critical 北京嘀嘀无限科技发展有限公司
Publication of WO2021223465A1 publication Critical patent/WO2021223465A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
    • G09B29/007Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes using computer methods

Definitions

  • This application relates to the field of maps, and in particular to a method and system for constructing a high-precision map.
  • maps have provided great help for people to travel.
  • the information it provides includes but is not limited to road information, building information, traffic information, etc. Due to the huge amount of map data, both storage, processing and construction have higher requirements for cloud servers. Therefore, a distributed cloud processing technology is proposed to increase the storage, management, and processing capabilities of map data, and solve the problem of a large amount of global high-precision map construction tasks.
  • One of the embodiments of the present application provides a method for constructing a high-precision map.
  • the method includes: constructing a local map, and obtaining a global map based on a plurality of the local maps; wherein, the construction of the local map includes: obtaining vehicle pose data and point cloud data related to lidar; based on the pose data And the point cloud data to obtain a local point cloud set; perform registration and optimization processing based on the local point cloud set to obtain an optimized pose node and a local point cloud set corresponding to the optimized pose node; The optimized pose node and the local point cloud set corresponding to the optimized pose node generate a local map.
  • the system includes: an acquisition module to acquire vehicle pose data and point cloud data related to lidar; a local point cloud set generation module to obtain a local point cloud set based on the pose data and the point cloud data;
  • the quasi-optimization module is used to perform registration and optimization processing based on the local point cloud set to obtain the optimized pose node and the local point cloud set corresponding to the optimized pose node;
  • the local map generation module is based on the The optimized pose node and the local point cloud set corresponding to the optimized pose node generate a local map;
  • a global map construction module is used to obtain a global map based on a plurality of the local maps.
  • One of the embodiments of the present application provides a device for constructing a high-precision map.
  • the device includes a processor and a memory; the memory is used to store instructions that, when executed by the processor, cause the device to implement One or more operations in the method of high-precision map construction.
  • One of the embodiments of the present application provides a computer-readable storage medium that stores computer instructions. After the computer reads the computer instructions in the storage medium, the computer executes the method described in any embodiment of the present application.
  • Fig. 1 is a schematic diagram of an application scenario of a high-precision map construction system according to some embodiments of the present application
  • Fig. 2 is a schematic diagram of an exemplary computing device according to some embodiments of the present application.
  • Fig. 3 is a schematic diagram of exemplary hardware and/or software components of an exemplary mobile device according to some embodiments of the present application
  • Fig. 4 is a block diagram of a high-precision map construction system according to some embodiments of the present application.
  • Fig. 5 is an exemplary flowchart of a method for constructing a high-precision map according to some embodiments of the present application.
  • Fig. 6 is a logical relationship diagram corresponding to a high-precision map construction process according to some embodiments of the present application.
  • system is a method for distinguishing different components, elements, parts, parts, or assemblies of different levels.
  • the words can be replaced by other expressions.
  • the embodiments of this application can be applied to map service systems, navigation systems, and so on. For example, one or more combinations of electronic maps, terminal navigation, AR maps, and VR maps.
  • the embodiments of the present application can also be applied to different transportation service systems, which include, but are not limited to, one or a combination of land, river, lake, ocean, aviation, and the like.
  • rickshaws transportation vehicles, automobiles (e.g., small cars, buses, large transport vehicles, etc.), rail transit (e.g., trains, high-speed trains, subways, etc.), ships, unmanned vehicles, and delivery/delivery
  • transportation vehicles e.g., small cars, buses, large transport vehicles, etc.
  • rail transit e.g., trains, high-speed trains, subways, etc.
  • ships unmanned vehicles, and delivery/delivery
  • the application scenarios of different embodiments of the present application include, but are not limited to, one or a combination of web pages, browser plug-ins, clients, customized systems, enterprise internal analysis systems, artificial intelligence robots, and the like. It should be understood that the application scenarios of the system and method of the present application are only some examples or embodiments of the present application. For those of ordinary skill in the art, they can also be based on these drawings without creative work. Apply this application to other similar scenarios. For example, other similar guidance users to park systems.
  • the technology used in the map construction in this application is laser SLAM, and the point cloud data used is obtained by lidar. Compared with visual SLAM, laser SLAM is relatively mature in theory, technology, and product implementation. Mature positioning and navigation solutions.
  • Fig. 1 is a schematic diagram of an application scenario of a high-precision map construction system 100 according to some embodiments of the present application.
  • the high-precision map construction system 100 can be applied to a map service system, a navigation system, a transportation system, a traffic service system, and the like.
  • the high-precision map construction system 100 can be applied to an online service platform that provides Internet services.
  • the high-precision map construction system 100 can be applied to an online transportation service platform for transportation services.
  • the high-precision map construction system 100 can be applied to two-dimensional road display, three-dimensional road display, navigation route planning, and the like.
  • the high-precision map construction system 100 can be applied to the path planning of unmanned driving.
  • the unmanned vehicle can accurately match the vehicle to the electronic map according to the perceived surrounding environment.
  • the decision-making system of the driving vehicle can plan the movement path in advance based on the matched information in the electronic map, and select the most reasonable lane to drive, thereby improving the intelligence and comfort of the vehicle.
  • the high-precision map construction system 100 can be applied to online car-hailing services, such as taxi calls, express calls, private car calls, minibus calls, carpooling, bus services, driver hire, and pick-up services.
  • the high-precision map construction system 100 can also be applied to driving services, express delivery, takeaway, and the like.
  • the high-precision map construction system 100 may be an online service platform, including a server 110, a network 120, a terminal 130, and a database 140.
  • the server 110 may be used to process information and/or data related to determining the construction of a high-precision map.
  • the server 110 may be a single server or a group of servers.
  • the server group may be centralized or distributed (for example, the server 110 may be a distributed system).
  • the server 110 may be local or remote.
  • the server 110 may access information and/or data stored in the terminal 130 and the database 140 through the network 120.
  • the server 110 may be directly connected to the terminal 130 and the database 140 to access stored information and/or data.
  • the server 110 may be implemented on a cloud platform.
  • the cloud platform may include private cloud, public cloud, hybrid cloud, community cloud, distributed cloud, inter-cloud, multiple clouds, etc., or any combination of the foregoing examples.
  • the server 110 may be implemented on the computing device shown in FIG. 2 of the present application.
  • the server 110 may be implemented on a computing device 200 as shown in FIG. 2, and includes one or more components in the computing device 200.
  • the server 110 may include a processing engine 112.
  • the processing engine 112 may process data and/or information related to high-precision map construction to perform one or more functions described in this application. For example, the processing engine 112 may obtain vehicle pose data and point cloud data related to lidar from the database 140, construct a corresponding local map based on the pose data and point cloud data, and obtain a global map based on the local map. In some embodiments, the processing engine 112 may obtain the pose data of the vehicle and the point cloud data related to the lidar. In some embodiments, the processing engine 112 may obtain a local point cloud set based on the pose data and the point cloud data.
  • the processing engine 112 may perform registration and optimization processing based on the local point cloud set to obtain an optimized pose node and a local point cloud set corresponding to the optimized pose node. In some embodiments, the processing engine 112 may generate a local map based on the optimized pose node and a local point cloud set corresponding to the optimized pose node. In some embodiments, the processing engine 112 may obtain a global map based on a plurality of the local maps. In some embodiments, the processing engine 112 may include one or more processing engines (for example, a single-chip processing engine or a multi-chip processor).
  • the processing engine 112 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), an application specific instruction set processor (ASIP), an image processing unit (GPU), a physical operation processing unit (PPU), and digital signal processing.
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • ASIP application specific instruction set processor
  • GPU graphics processing unit
  • PPU physical operation processing unit
  • DSP Controller
  • FPGA Field Programmable Gate Array
  • PLD Programmable Logic Device
  • Controller Microcontroller Unit, Reduced Instruction Set Computer (RISC), Microprocessor, etc. or any combination of the above.
  • the network 120 may facilitate the exchange of information and/or data.
  • one or more components in the high-precision map construction system 100 can send/receive to/from other components in the high-precision map construction system 100 via the network 120 Information and/or data.
  • the server 110 may obtain vehicle pose data and point cloud data from the database 140 via the network 120.
  • the network 120 may be any form of wired or wireless network or any combination thereof.
  • the network 120 may include a cable network, a wired network, an optical fiber network, a telecommunication network, an internal network, the Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a metropolitan area network (MAN), Wide Area Network (WAN), Public Switched Telephone Network (PSTN), Bluetooth Network, Zigbee Network, Near Field Communication (NFC) Network, Global System for Mobile Communications (GSM) Network, Code Division Multiple Access (CDMA) Network, Time Division Multiple Access ( TDMA) network, general packet radio service (GPRS) network, enhanced data rate GSM evolution (EDGE) network, wideband code division multiple access (WCDMA) network, high-speed downlink packet access (HSDPA) network, long-term evolution (LTE) Network, user datagram protocol (UDP) network, transmission control protocol/Internet protocol (TCP/IP) network, short message service (SMS) network, wireless application protocol (WAP) network, ultra-wideband (UWB) network, infrared
  • the high-precision map construction system 100 may include one or more network access points.
  • the high-precision map construction system 100 may include wired or wireless network access points, such as base stations and/or wireless access points 120-1, 120-2, ..., one or more components of the high-precision map construction system 100 It can be connected to the network 120 through it to exchange data and/or information.
  • the user of the terminal 130 may be a service provider.
  • the service provider may send GPS trajectory data in the original map data, such as location information, altitude, etc., to the high-precision map construction system 100 through the terminal 130.
  • the service provider may be a ride-hailing driver, a food delivery person, a courier, and so on.
  • the user of the terminal 130 may also be a service user.
  • the service user may include a map service user, a navigation service user, a transportation service user, and so on.
  • the user of the terminal 130 may be any user who owns (or uses) a GPS track data collection device.
  • the user of the terminal 130 may be an unmanned vehicle for collecting GPS trajectory data.
  • the terminal 130 may include a mobile device 130-1, a tablet computer 130-2, a notebook computer 130-3, an in-vehicle device 130-4 in a motor vehicle, etc., or any combination thereof.
  • the mobile device 130-1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, etc., or any combination thereof.
  • smart home devices may include smart lighting devices, smart electrical appliance control devices, smart monitoring devices, smart TVs, smart cameras, walkie-talkies, etc., or any combination thereof.
  • the wearable device may include smart bracelets, smart footwear, smart glasses, smart helmets, smart watches, smart wearers, smart backpacks, smart accessories, etc., or any combination thereof.
  • the smart mobile device may include a smart phone, a personal digital assistant (PDA), a gaming device, a navigation device, a point of sale (POS), etc., or any combination thereof.
  • the virtual reality device and/or augmented reality device may include a virtual reality helmet, virtual reality glasses, virtual reality goggles, augmented virtual reality helmets, augmented reality glasses, augmented reality goggles, etc., or any combination thereof.
  • the virtual reality device and/or the augmented reality device may include Google Glass, Oculus Rift, HoloLens, Gear VR, or the like.
  • the vehicle-mounted device 130-4 in the motor vehicle may include a vehicle-mounted navigator, a vehicle-mounted locator, a driving recorder, etc., or any combination thereof.
  • the terminal 130 may include a device with a positioning function to determine the location of the user and/or the terminal 130.
  • the terminal 130 may perform rendering based on the vehicle pose data and point cloud data issued by the server 110, and display a map of the road.
  • the database 140 may store data and/or instructions. In some embodiments, the database 140 may store information obtained from the terminal 130. In some embodiments, the database 140 may store information and/or instructions for execution or use by the server 110 to perform the exemplary methods described in this application. In some embodiments, the database 140 may store point cloud data, pose data, trajectory data, road network data, and the like. In some embodiments, the database 140 may also store the coordinates (such as latitude and longitude) of each road point on the road in a certain coordinate system. In some embodiments, the database 140 may include mass memory, removable memory, volatile read-write memory (for example, random access memory RAM), read-only memory (ROM), etc., or any combination thereof. In some embodiments, the database 140 may be implemented on a cloud platform. For example, the cloud platform may include private cloud, public cloud, hybrid cloud, community cloud, decentralized cloud, internal cloud, etc. or any combination of the above.
  • the database 140 may be connected to the network 120 to communicate with one or more components of the high-precision map construction system 100 (for example, the server 110, the terminal 130, etc.).
  • One or more components of the high-precision map construction system 100 can access data or instructions stored in the database 140 via the network 120.
  • the server 110 may read point cloud data, pose data, trajectory data, road network data, etc. from the database 140 and perform corresponding processing.
  • the database 140 may directly connect or communicate with one or more components (eg, the server 110 and the terminal 130) in the high-precision map construction system 100.
  • the database 140 may be part of the server 110.
  • Fig. 2 is a schematic diagram of an exemplary computing device 200 according to some embodiments of the present application.
  • the server 110 and/or the terminal 130 may be implemented on the computing device 200.
  • the processing engine 112 may be implemented on the computing device 200 and configured to implement the functions disclosed in this application.
  • the computing device 200 may include a bus 210, a processor 220, a read-only memory 230, a random access memory 240, a communication port 250, an input/output interface 260, and a hard disk 270.
  • the processor 220 can execute calculation instructions (program codes) and perform the functions of the high-precision map construction system 100 described in this application.
  • the calculation instructions may include programs, objects, components, data structures, procedures, modules, and functions (the functions refer to specific functions described in this application).
  • the processor 220 may process image or text data obtained from any other components of the high-precision map construction system 100.
  • the processor 220 may include a microcontroller, a microprocessor, a reduced instruction set computer (RISC), an application specific integrated circuit (ASIC), an application specific instruction set processor (ASIP), a central processing unit (CPU) , Graphics processing unit (GPU), physical processing unit (PPU), microcontroller unit, digital signal processor (DSP), field programmable gate array (FPGA), advanced RISC machine (ARM), programmable logic device, and Any circuit, processor, etc. that perform one or more functions, or any combination thereof.
  • RISC reduced instruction set computer
  • ASIC application specific integrated circuit
  • ASIP application specific instruction set processor
  • CPU central processing unit
  • GPU Graphics processing unit
  • PPU physical processing unit
  • DSP digital signal processor
  • FPGA field programmable gate array
  • ARM advanced RISC machine
  • the memory of the computing device 200 may store data/information acquired from any other components of the high-precision map construction system 100.
  • exemplary ROMs may include mask ROM (MROM), programmable ROM (PROM), erasable programmable ROM (PEROM), electrically erasable programmable ROM (EEPROM), compact disk ROM (CD-ROM), and digital Universal disk ROM, etc.
  • Exemplary RAM may include dynamic RAM (DRAM), double rate synchronous dynamic RAM (DDR SDRAM), static RAM (SRAM), thyristor RAM (T-RAM), zero capacitance (Z-RAM), and the like.
  • the input/output interface 260 may be used to input or output signals, data or information. In some embodiments, the input/output interface 260 may allow the user to communicate with the high-precision map construction system 100. In some embodiments, the input/output interface 260 may include an input device and an output device. Exemplary input devices may include a keyboard, a mouse, a touch screen, a microphone, etc., or any combination thereof. Exemplary output devices may include display devices, speakers, printers, projectors, etc., or any combination thereof. Exemplary display devices may include liquid crystal displays (LCD), light emitting diode (LED) based displays, flat panel displays, curved displays, television equipment, cathode ray tubes (CRT), etc., or any combination thereof.
  • LCD liquid crystal displays
  • LED light emitting diode
  • CRT cathode ray tubes
  • the communication port 250 can be connected to a network for data communication.
  • the connection may be a wired connection, a wireless connection, or a combination of both.
  • Wired connections can include cables, optical cables, telephone lines, etc., or any combination thereof.
  • the wireless connection may include Bluetooth, Wi-Fi, WiMax, WLAN, ZigBee, mobile networks (for example, 3G, 4G, or 5G, etc.), etc., or any combination thereof.
  • the communication port 250 may be a standardized port, such as RS232, RS485, and so on. In some embodiments, the communication port 250 may be a specially designed port.
  • Fig. 3 is a schematic diagram of exemplary hardware and/or software components of a mobile device according to some embodiments of the present application.
  • the mobile device 300 may include a communication unit 310, a display unit 320, a graphics processing unit (GPU) 330, a central processing unit (CPU) 340, an input/output device 350, a memory 360, and a storage 370.
  • the CPU 340 may include an interface circuit and a processing circuit similar to the processor 220.
  • any other suitable components including but not limited to a system bus or a controller (not shown), may also be included in the mobile device 300.
  • the mobile operating system 362 for example, IOS TM , Android TM , Windows Phone TM, etc.
  • the application program 364 may include a browser or any other suitable mobile application program for receiving and presenting information related to a service request or other information from a location-based service providing system on the mobile device 300.
  • the user's interaction with the information stream can be implemented through the input/output device 350 and provided to the processing engine 112 and/or other components of the high-precision map construction system 100 through the network 120.
  • a computer hardware platform may be used as a hardware platform for one or more elements (for example, the modules of the server 110 described in FIG. 2). Since these hardware components, operating systems, and programming languages are common, it can be assumed that those skilled in the art are familiar with these technologies and that they can provide the information required in route planning based on the technologies described in this article.
  • a computer with a user interface can be used as a personal computer (PC) or other types of workstations or terminal devices. After proper programming, a computer with a user interface can be used as a server. It can be considered that those skilled in the art can also be familiar with this structure, program or general operation of this type of computer equipment. Therefore, no additional explanation is described with respect to the drawings.
  • Fig. 4 is an exemplary block diagram of a high-precision map construction system according to some embodiments of the present application.
  • the high-precision map construction system 400 may include an acquisition module 410, a local point cloud generation module 420, a registration optimization module 430, a local map generation module 440, and a global map construction module 450.
  • the acquisition module 410 may be used to acquire the pose data of the vehicle and the point cloud data related to the lidar.
  • the pose data of the vehicle and the point cloud data related to lidar may be stored in a distributed file system.
  • the local point cloud set generating module 420 may be used to obtain a local point cloud set based on pose data and point cloud data.
  • the local point cloud set generation module 420 may segment the pose data and point cloud data according to certain segmentation rules to obtain one or more data segments, and perform parallel processing on the one or more data segments to obtain One or more pose nodes and their corresponding point clouds corresponding to the one or more data fragments.
  • the local point cloud set generating module 420 may also obtain an initial pose map and its corresponding local point cloud set based on one or more pose nodes and their corresponding point cloud aggregation.
  • the segmentation rule may be segmentation according to a fixed length of time. For more details about the generation of the local point cloud set, please refer to FIG. 5 and its related description, which will not be repeated here.
  • the registration optimization module 430 may be used to perform registration and optimization processing based on a local point cloud set to obtain an optimized pose node and a local point cloud set corresponding to the optimized pose node.
  • the registration optimization module 430 may establish a matching connection between one or more pose nodes based on the space and/or time information between the point cloud data; and based on the one or more pose nodes
  • the first algorithm is used to calculate the conversion relationship between the two pose nodes corresponding to the matching connection to obtain the registered pose node and the relationship between the pose node.
  • the first algorithm may be an Iterative Closest Point (ICP) algorithm and/or a Normal Distributions Transform (NDT) algorithm.
  • ICP Iterative Closest Point
  • NDT Normal Distributions Transform
  • the registration optimization module 430 may also optimize the initial pose graph based on the registered pose node and the relationship between the pose node, and obtain the optimized pose graph and the optimized pose graph.
  • the local point cloud set corresponding to the pose map For more details of the registration optimization calculation between the local point cloud sets, please refer to FIG. 5 and its related descriptions, which will not be repeated here.
  • the local map generating module 440 may be used to generate a local map based on the optimized pose node and a local point cloud set corresponding to the optimized pose node. In some embodiments, the local map generation module 440 may divide the local map into grid blocks with a certain size. In some embodiments, the local map generation module 440 may aggregate the optimized pose nodes belonging to the same block and the local point cloud sets corresponding to the optimized pose nodes to generate multiple block maps. In some embodiments, the local map generating module 440 may also generate a local map based on aggregating a plurality of tiled maps. For more details about the generation of the local map, please refer to FIG. 5 and its related description, which will not be repeated here.
  • the global map construction module 450 may be used to obtain a global map based on multiple local maps. For more details about merging local maps to generate a global map, please refer to the related description of FIG. 5, which will not be repeated here.
  • the registration optimization module 430 may be divided into two sub-modules, a registration module and an optimization module, which are respectively used to implement the registration and optimization processing of a local point cloud set.
  • Fig. 5 is an exemplary flowchart of a method for constructing a high-precision map according to some embodiments of the present application.
  • the high-precision map construction method 500 may be executed by the high-precision map construction system 400.
  • the high-precision map construction method 500 can be stored in a storage device (such as the database 140 and the processor 220) in the form of a program or instruction.
  • the high-precision map construction system 400 executes the program or instruction, the high-precision map construction can be realized.
  • Method 500 As shown in FIG. 5, the high-precision map construction method 500 may include:
  • Step 510 Obtain the pose data of the vehicle and the point cloud data related to the lidar. Specifically, step 510 may be executed by the obtaining module 410.
  • the pose data of the vehicle refers to a collection of attribute feature data of the vehicle itself acquired at certain time intervals during the driving process, and may include various information such as the position, posture, speed, acceleration of the vehicle, and so on.
  • the location information of the vehicle can be the latitude and longitude value under the geographic coordinate system, the horizontal and vertical coordinate values under the two-dimensional map coordinate system, or the polar coordinate value, spherical coordinate value, and so on.
  • the direction information of the vehicle may be the traveling direction of the vehicle and the like.
  • the attitude information of the vehicle may be the speed, acceleration, pitch angle, yaw angle, and roll angle of the vehicle.
  • the pose data of the vehicle may be acquired by sensors, such as IMU devices.
  • Point cloud data refers to the three-dimensional point set of the surrounding environment of the vehicle measured during the driving process, which can include road surfaces, street lights, signs, traffic lights, flower beds, etc.
  • the point cloud data can be obtained by Lidar.
  • the Lidar scans the surrounding environment in real time to obtain the relative coordinates of the surrounding three-dimensional world.
  • a laser corresponding to the vehicle pose can be obtained.
  • Radar point cloud data results.
  • the point cloud data can also be obtained through a camera.
  • Each vehicle pose corresponds to the image data of the surrounding environment at the time. The data of multiple cameras at the same time can be recovered by using the relative relationship of the cameras to obtain the corresponding three-dimensional points. Cloud data.
  • the pose data and point cloud data of the vehicle can be stored in a distributed file system.
  • each distributed file system at least one segment of the pose data and point cloud data of the vehicle can be stored, which is convenient for map data. manage.
  • the obtaining module 410 may obtain vehicle pose data and point cloud data from the network 120 or the database 140.
  • Step 520 Obtain a local point cloud set based on the pose data and the point cloud data. Specifically, step 520 may be performed by the local point cloud generation module 420.
  • the local point cloud set generation module 420 may divide the acquired pose data and point cloud data into one or more data segments according to certain segmentation rules, and perform parallel operations on the one or more data segments. Through processing, one or more pose nodes corresponding to the one or more data fragments and their corresponding point clouds are obtained.
  • the segmentation rule may be segmentation according to a fixed time length of the collected data, for example, 5 min, 10 min, 15 min, and so on.
  • each segmented segment in the original map data may include information such as GPS pose, IMU information, Lidar point cloud, image data, detection and tracking data.
  • a fusion algorithm may be used to optimize one or more data segments to obtain locally optimized pose data and corresponding point cloud data.
  • the fusion algorithm may include a laser ranging (Lidar Oodometry) algorithm, an inertial measurement unit (Inertial Measurement Unit, IMU) pre-integration algorithm, a point cloud registration algorithm, an image matching algorithm, etc., or a combination thereof.
  • a laser ranging (Lidar Oodometry) algorithm for each segment in the original map data, in the process of constructing the pose map based on GPS pose, one or more algorithms (for example, laser ranging (Lidar Oodometry) algorithm, inertial Each algorithm in the measurement unit (Inertial Measurement Unit, IMU) pre-integration algorithm, point cloud registration algorithm, image matching algorithm, etc.) can be a constraint condition.
  • each point cloud set is a set of point clouds corresponding to a certain number of optimized pose nodes.
  • the segmented pose data and point cloud data can be stored in a distributed file system.
  • the distributed computing platform can process the segmented data in parallel. Distributed saved pose data and point cloud data.
  • the distributed computing platform can take one or more data fragments after segmentation as input, using a combination of laser ranging (Lidar Oodometry) algorithm, inertial measurement unit (Inertial Measurement Unit, IMU) pre-integration algorithm, and point cloud registration Fusion algorithms such as algorithms and image matching algorithms process one or more data fragments, and finally output the locally optimized pose data and its corresponding point cloud data.
  • laser ranging Lidar Oodometry
  • IMU Inertial Measurement Unit
  • point cloud registration Fusion algorithms such as algorithms and image matching algorithms process one or more data fragments, and finally output the locally optimized pose data and its corresponding point cloud data.
  • Step 530 Perform registration and optimization processing based on the local point cloud set to obtain an optimized pose node and a local point cloud set corresponding to the optimized pose node. Specifically, step 530 may be performed by the registration optimization module 430.
  • the registration optimization module 430 may establish a matching connection between one or more pose nodes based on the space and/or time information between the point cloud data. Based on the matching connection between the one or more pose nodes, the first algorithm is used to calculate the conversion relationship between the two pose nodes corresponding to the matching connection, so as to obtain the registered pose node and the relationship between the pose nodes. relation.
  • the first algorithm may be an Iterative Closest Point (ICP) algorithm and/or a Normal Distributions Transform (NDT) algorithm.
  • ICP Iterative Closest Point
  • NDT Normal Distributions Transform
  • the essence of registration refers to transforming three-dimensional point cloud data sets under different coordinates to the same coordinate system, and searching for differences between point cloud data sets by matching different point cloud data sets with partial overlaps.
  • the complementation between the point cloud data sets is realized, and the complete point cloud data of the scanned object is obtained.
  • the key to point cloud registration is to obtain matrix transformation.
  • the scanned object information obtained by a single scan is not complete.
  • the point cloud data set is unified to the same coordinate system to obtain a complete result, but because of the error of the measured point cloud set (such as spatial position error, rotation error, etc.), it is necessary to register the point cloud set to obtain the smallest error between the point cloud sets The complete result of the transformation.
  • the registration optimization module 430 may perform non-processing on the obtained initial pose graph based on the relationship between the registered pose node, the point cloud corresponding to the registered pose node, and the pose node. Linear optimization, thereby obtaining an optimized pose map and a local point cloud set corresponding to the optimized pose map.
  • the pose graph is composed of pose nodes and edges, and the relationship between the pose nodes constitutes the edges. For example, the mileage relationship between time t and t+1 constitutes an edge. After the initial pose map is completed, adjust the pose node to meet the constraints of the edge as much as possible, and finally get the optimized pose map and the local point cloud set corresponding to the optimized pose map.
  • the calculation of the relationship between individual pose nodes requires a certain amount of computing resources.
  • the registration optimization module 430 can perform parallel calculations on all local point clouds that need to be registered and optimized. At the same time, by assigning the registration optimization that relies on the same local point cloud set to the same computing platform, the network I/O of this process is effectively reduced.
  • FIG. 6 and its related description please refer to FIG. 6 and its related description, which will not be repeated here.
  • Step 540 Generate a local map based on the optimized pose node and a local point cloud set corresponding to the optimized pose node. Specifically, step 540 may be performed by the local map generating module 440.
  • the local map can be divided into many small blocks, and each small block corresponds to a block map. No matter which geographic location is located, as long as each terminal stores several block maps near the current location, it can be Use the map normally.
  • the local map generation module 440 can divide the local map into grid blocks of a certain size (for example, 200m*200m, 400m*400m, 600m*600m, etc.), and divide the optimized vehicle pose nodes and the components that belong to the same block.
  • the local point cloud sets corresponding to the optimized pose nodes are aggregated to generate the corresponding block map.
  • the partial map generation module 440 may allocate the tasks of the divided multiple tiled maps to the distributed computing platform to different computing platforms for completion, so that the multiple tiled maps can be completed in parallel.
  • the calculation of multiple tiled maps may rely on the same local point cloud set (for example, the local point cloud set is a point cloud set that crosses the map tiles).
  • adjacent tiled maps can be Calculate on the same computing platform to reduce network I/O.
  • the high-precision map construction method may further include merging and updating local maps to obtain a global map, and this step may be performed by the global map construction module 450.
  • the data collected in a single time can be used to generate a corresponding local map through the map construction method in the above steps. If the physical world has not changed, the local map can be merged into the global map; if the physical world has changed, the local map merge operation needs to be performed after deleting the changed area data.
  • the merging of partial maps includes constraint calculation and optimization of overlapping regions, and calculation of partial data of the partial map itself. These processes are similar to the corresponding processes in the above-mentioned map construction method, and will not be repeated here.
  • the merging of the local maps further includes that the optimized local map needs to be merged and calculated in the same data block as the global map.
  • the combined calculation may also be processed in parallel in units of blocks.
  • the correspondingly collected original map data will be synchronously updated to the database, so that the corresponding map will be synchronously updated.
  • step 530 can be divided into two sub-steps.
  • the first sub-step is used to realize the registration of the pose node and its corresponding point cloud data set
  • the second sub-step is used to realize the pose node and the pose based on the registration.
  • Fig. 6 is a logical relationship diagram corresponding to a high-precision map construction process according to some embodiments of the present application.
  • the construction of the global map may be the construction of one or more local maps and then merge or update them into the global map.
  • One-time local map construction can be called a one-time mapping task, and each local map-building task can be divided into multiple mapping subtasks. In some embodiments, it can be viewed from top to bottom according to the logical diagram shown in FIG. 6, and the construction task of the global map can be divided into multiple construction tasks of local maps according to methods such as administrative area and geographic scope.
  • Each partial map construction task can be divided into partial point cloud set construction sub-task, pose point cloud set registration sub-task, position Pose map optimization subtasks and block map construction subtasks.
  • each construction subtask can be divided into multiple substeps and processed in parallel.
  • the acquired vehicle pose data and point cloud data can be divided according to the length of time to obtain multiple data fragments.
  • This subtask can correspond to multiple tasks, and each task is responsible for processing The corresponding data fragments are executed by a computing platform, and each task can be executed simultaneously in a distributed manner.
  • the pose point cloud set registration subtask you can establish a matching connection between one or more corresponding pose nodes based on the space, time and other information in the point cloud data, and use ICP, NDT and other algorithms Calculate the conversion relationship between the two pose nodes corresponding to the matching connection, use the calculation of these matching connections as the basic calculation unit, divide it according to the correlation between the space and the pose node, and divide it into different tasks.
  • This subtask can correspond to multiple tasks. Each task is responsible for processing the registration calculation between nodes of different poses, and is performed by a computing platform. Each task can be executed simultaneously in a distributed manner.
  • the sub-task of building a block map can divide the local map into grid blocks of a certain size, and collect the optimized vehicle pose nodes belonging to the same block and the local point clouds corresponding to the optimized pose nodes. Aggregate to generate the corresponding tile map.
  • the block map construction subtask may include multiple distributed parallel processing block map construction subtasks.
  • the possible beneficial effects brought by the embodiments of the present application include but are not limited to: (1) Divide the construction task of the global map into one or more sub-tasks of the construction of the local map, and then perform multiple distributed sub-steps in the sub-tasks Processing can quickly complete high-precision map construction, improve efficiency and reduce costs; (2) The distributed storage of original map data solves the large storage requirements of map data and the difficulty of dynamic update, which is convenient for map data management and can be realized. Large-scale merge processing of map data. It should be noted that different embodiments may have different beneficial effects. In different embodiments, the possible beneficial effects may be any one or a combination of the above, or any other beneficial effects that may be obtained.
  • this application uses specific words to describe the embodiments of the application.
  • “one embodiment”, “an embodiment”, and/or “some embodiments” mean a certain feature, structure, or characteristic related to at least one embodiment of the present application. Therefore, it should be emphasized and noted that “one embodiment” or “one embodiment” or “an alternative embodiment” mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. .
  • some features, structures, or characteristics in one or more embodiments of the present application can be appropriately combined.
  • the computer storage medium may contain a propagated data signal containing a computer program code, for example on a baseband or as part of a carrier wave.
  • the propagated signal may have multiple manifestations, including electromagnetic forms, optical forms, etc., or a suitable combination.
  • the computer storage medium may be any computer readable medium other than the computer readable storage medium, and the medium may be connected to an instruction execution system, device, or device to realize communication, dissemination, or transmission of the program for use.
  • the program code located on the computer storage medium can be transmitted through any suitable medium, including radio, cable, fiber optic cable, RF, or similar medium, or any combination of the above medium.
  • the computer program codes required for the operation of each part of this application can be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python Etc., conventional programming languages such as C language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages.
  • the program code can be run entirely on the user's computer, or run as an independent software package on the user's computer, or partly run on the user's computer and partly run on a remote computer, or run entirely on the remote computer or server.
  • the remote computer can be connected to the user's computer through any network form, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (for example, via the Internet), or in a cloud computing environment, or as a service Use software as a service (SaaS).
  • LAN local area network
  • WAN wide area network
  • SaaS service Use software as a service
  • numbers describing the number of ingredients and attributes are used. It should be understood that such numbers used in the description of the embodiments use the modifier "about”, “approximately” or “substantially” in some examples. Retouch. Unless otherwise stated, “approximately”, “approximately” or “substantially” indicates that the number is allowed to vary by ⁇ 20%.
  • the numerical parameters used in the specification and claims are approximate values, and the approximate values can be changed according to the required characteristics of individual embodiments. In some embodiments, the numerical parameter should consider the prescribed effective digits and adopt the method of general digit retention. Although the numerical ranges and parameters used to confirm the breadth of the range in some embodiments of the present application are approximate values, in specific embodiments, the setting of such numerical values is as accurate as possible within the feasible range.

Abstract

一种高精度地图构建方法(500)及系统(100,400),高精度地图构建方法(500)包括:构建局部地图,基于多个局部地图得到全局地图;其中,局部地图的构建包括:获取车辆的位姿数据和与激光雷达相关的点云数据(510),基于位姿数据和点云数据得到局部点云集(520);基于局部点云集进行配准和优化处理,得到优化后的位姿节点和与优化后的位姿节点相对应的局部点云集(530),并基于优化后的位姿节点和与优化后的位姿节点对应的局部点云集生成局部地图(540)。将全局地图的构建任务划分多个局部地图的构建子任务,再将子任务多个子步骤进行多次分布式处理,可以快速完成高精度地图构建,提高了效率、降低了成本。

Description

一种高精度地图构建方法及系统
交叉引用
本申请要求于2020年5月6日提交的中国专利申请No.202010373749.6的优先权,其全部内容通过引用结合于此。
技术领域
本申请涉及地图领域,特别涉及一种高精度地图构建方法和系统。
背景技术
随着计算机及通信技术的不断发展,地图为人们出行提供了很大帮助,其提供的信息包括但不限于道路信息、楼宇信息、交通信息等。由于地图数据量庞大,不论存储、处理还是构建对于云端服务器来说都有较高的要求。因此,提出一种分布式云端处理技术,增加对于地图数据的存储、管理以及处理能力,解决全局高精度地图构建任务量大的问题。
发明内容
本申请实施例之一提供一种高精度地图构建的方法。所述方法包括:构建局部地图,基于多个所述局部地图得到全局地图;其中,局部地图的构建包括:获取车辆的位姿数据和与激光雷达相关的点云数据;基于所述位姿数据和所述点云数据得到局部点云集;基于所述局部点云集进行配准和优化处理,得到优化后的位姿节点和与所述优化后的位姿节点相对应的局部点云集;基于所述优化后的位姿节点和与所述优化后的位姿节点对应的局部点云集生成局部地图。
本申请实施例之一提供一种高精度地图构建的系统。所述系统包括:获取模块,获取车辆的位姿数据和与激光雷达相关的点云数据;局部点云 集生成模块,用于基于所述位姿数据和所述点云数据得到局部点云集;配准优化模块,用于基于所述局部点云集进行配准和优化处理,得到优化后的位姿节点和与所述优化后的位姿节点相对应的局部点云集;局部地图生成模块,基于所述优化后的位姿节点和与所述优化后的位姿节点对应的局部点云集生成局部地图;全局地图构建模块,用于基于多个所述局部地图得到全局地图。
本申请实施例之一提供一种高精度地图构建的装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述指令被所述处理器执行时,导致所述装置实现如高精度地图构建的方法中一个或多个操作。
本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行本申请任一实施例所述方法。
附图说明
本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请的一些实施例所示的高精度地图构建系统的应用场景示意图;
图2是根据本申请的一些实施例所示的示例性计算设备的示意图;
图3是根据本申请的一些实施例所示的示例性移动设备的示例性硬件和/或软件组件的示意图;
图4是根据本申请一些实施例所示的高精度地图构建系统的模块图;
图5是根据本申请一些实施例所示的高精度地图构建方法的示例性流程图;以及
图6是根据本申请一些实施例所示的一种高精度地图构建过程对应 的逻辑关系图。
具体实施方式
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本申请的实施例可以应用于地图服务系统、导航系统等。例如,电子地图、终端导航、AR地图、VR地图等一种或多种的组合。本申请的实施例还可以应用于不同的交通服务系统,不同的交通服务系统包括但不限于陆地、河道、湖泊、海洋、航空等中的一种或几种的组合。例如,人力车、代步工具、汽车(例如,小型车、巴士、大型运输车等)、轨道交通(例如, 火车、动车、高铁、地铁等)、船舶、无人驾驶的交通工具、收/送快递等应用了管理和/或分配的运输系统等。本申请的不同实施例应用场景包括但不限于网页、浏览器插件、客户端、定制系统、企业内部分析系统、人工智能机器人等中的一种或几种的组合。应当理解的是,本申请的系统及方法的应用场景仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。例如,其他类似的引导用户停车系统。
本申请中地图构建所使用的技术是激光SLAM,所使用的点云数据是通过激光雷达获取的,因为激光SLAM相比于视觉SLAM,在理论、技术和产品落地上都相对成熟,是目前比较成熟的定位导航方案。
图1是根据本申请的一些实施例所示的高精度地图构建系统100的应用场景示意图。高精度地图构建系统100可以应用于地图服务系统、导航系统、运输系统、交通服务系统等。例如,该高精度地图构建系统100可以应用于提供互联网服务的线上服务平台。例如,该高精度地图构建系统100可以应用于运输服务的线上运输服务平台。在一些实施例中,该高精度地图构建系统100可以应用于二维道路显示、三维道路显示、导航路径规划等。例如,该高精度地图构建系统100可以应用于无人驾驶的路径规划,在获取高精度的地图之后,无人驾驶车辆可以根据感知的周围环境,将车辆准确地匹配到电子地图中,无人驾驶车辆的决策系统可以基于电子地图中匹配到的信息,提前规划好运动路径,选择最合理的车道行驶,从而提高车辆的智能性和舒适性。在一些实施例中,该高精度地图构建系统100可以应用于网约车服务,例如出租车呼叫、快车呼叫、专车呼叫、小巴呼叫、拼车、公交服务、司机雇佣和接送服务等。在一些实施例中,该高精度地图构建系统100还可以应用于代驾服务、快递、外卖等。具体的,高精度地图构建系统100可以是一个线上服务平台,包括服务器110、网络120、终 端130以及数据库140。
在一些实施例中,服务器110可以用于处理与确定高精度地图构建相关的信息和/或数据。在一些实施例中,服务器110可以是单个的服务器或者服务器群组。所述服务器群可以是集中式的或分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可以通过网络120访问存储在终端130、数据库140中的信息和/或数据。再例如,服务器110可以直接连接到终端130、数据库140以访问存储的信息和/或数据。在一些实施例中,服务器110可以在一个云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、云之间、多重云等或上述举例的任意组合。在一些实施例中,服务器110可以在与本申请图2所示的计算设备上实现。例如,服务器110可以在如图2所示的一个计算设备200上实现,包括计算设备200中的一个或多个部件。
在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可处理与高精度地图构建有关的数据和/或信息以执行一个或多个本申请中描述的功能。例如,处理引擎112可以从数据库140中获取车辆位姿数据和与激光雷达相关的点云数据,基于所述位姿数据和点云数据构建对应的局部地图,基于局部地图得到全局地图。在一些实施例中,处理引擎112可以获取车辆的位姿数据和与激光雷达相关的点云数据。在一些实施例中,处理引擎112可以基于所述位姿数据和所述点云数据得到局部点云集。在一些实施例中,处理引擎112可以基于所述局部点云集进行配准和优化处理,得到优化后的位姿节点和与所述优化后的位姿节点相对应的局部点云集。在一些实施例中,处理引擎112可以基于所述优化后的位姿节点和与所述优化后的位姿节点对应的局部点云集生成局部地图。在一些实施例中,处理引擎112可以基于多个所述局部地图得到全局地图。在一些实施例中, 处理引擎112可以包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理器)。仅作为示例,处理引擎112可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图像处理单元(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可程序门阵列(FPGA)、可程序逻辑装置(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或以上任意组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,高精度地图构建系统100中的一个或以上组件(例如,服务器110、终端130和数据库140)可以通过网络120向/从高精度地图构建系统100中的其他组件发送/接收信息和/或数据。例如,服务器110可以通过网络120从数据库140中获取车辆位姿数据和点云数据。在一些实施例中,网络120可以为任意形式的有线或无线网络或其任意组合。仅作为示例,网络120可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络、近场通讯(NFC)网络、全球移动通讯系统(GSM)网络、码分多址(CDMA)网络、时分多址(TDMA)网络、通用分组无线服务(GPRS)网络、增强数据速率GSM演进(EDGE)网络、宽带码分多址接入(WCDMA)网络、高速下行分组接入(HSDPA)网络、长期演进(LTE)网络、用户数据报协议(UDP)网络、传输控制协议/互联网协议(TCP/IP)网络、短讯息服务(SMS)网络、无线应用协议(WAP)网络、超宽带(UWB)网络、红外线等或其任意组合。在一些实施例中,高精度地图构建系统100可以包括一个或以上网络接入点。例如,高精度地图构建系统100可以包括有线或无线网络接入点,例如基站和/或无线接入点120-1、120-2、...,高精度地图构建系统100的一个或以上组件可以通过其连接到网络120以交换数 据和/或信息。
在一些实施例中,终端130的用户可以是服务提供者。例如,服务提供者可以通过终端130向高精度地图构建系统100发送原始地图数据中的GPS轨迹数据,例如位置信息、海拔高度等。在一些实施例中,服务提供者可以是网约车司机、外卖送餐员、快递员等等。在一些实施例中,终端130的用户也可以是服务使用者,例如,服务使用者可以包括地图服务使用者、导航服务使用者、运输服务使用者等。在一些实施例中,终端130的用户可以是拥有(或使用)GPS轨迹数据采集设备的任意用户。例如,终端130的用户可以是无人驾驶车辆,用于采集GPS轨迹数据。在一些实施例中,终端130可以包括移动设备130-1、平板电脑130-2、笔记本电脑130-3、以及机动车辆中的车载设备130-4等或其任意组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等或其任意组合。在一些实施例中,可穿戴设备可以包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能穿着、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等或其任意组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强型虚拟现实头盔、增强现实眼镜、增强现实眼罩等或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google Glass、Oculus Rift、HoloLens或Gear VR等。在一些实施例中,机动车辆中的车载设备130-4可以包括车载导航仪、车载定位仪、行车记录仪等或其任意组合。在一些实施例中,终端130可包括具有定位功能的装置,以确定用户和/或终端130的位置。在一些实施例 中,终端130可以根据服务器110下发的车辆位姿数据和点云数据进行渲染,显示道路的地图。
数据库140可存储资料和/或指令。在一些实施例中,数据库140可存储从终端130获取的资料。在一些实施例中,数据库140可存储供服务器110执行或使用的信息和/或指令,以执行本申请中描述的示例性方法。在一些实施例中,数据库140可以存储点云数据、位姿数据、轨迹数据、路网数据等。在一些实施例中,数据库140还可以存储道路上各道路点在某坐标系下的坐标(如经纬度)等。在一些实施例中,数据库140可包括大容量存储器、可移动存储器、挥发性读写存储器(例如,随机存取存储器RAM)、只读存储器(ROM)等或以上任意组合。在一些实施例中,数据库140可在云平台上实现。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等或以上任意组合。
在一些实施例中,数据库140可与网络120连接以与高精度地图构建系统100的一个或多个组件(例如,服务器110、终端130等)通讯。高精度地图构建系统100的一个或多个组件可通过网络120访问存储于数据库140中的资料或指令。例如,服务器110可以从数据库140中读取点云数据、位姿数据、轨迹数据、路网数据等并进行相应处理。在一些实施例中,数据库140可直接与高精度地图构建系统100中的一个或多个组件(如,服务器110、终端130)连接或通讯。在一些实施例中,数据库140可以是服务器110的一部分。
图2是根据本申请的一些实施例所示的示例性计算设备200的示意图。在一些实施例中,服务器110和/或终端130可以在计算设备200上实现。例如,处理引擎112可以在计算设备200上实现并被配置为实现本申请中所披露的功能。如图2所示,计算设备200可以包括总线210、处理器220、只读存储器230、随机存取存储器240、通信端口250、输入/输出接 口260和硬盘270。
处理器220可以执行计算指令(程序代码)并执行本申请描述的高精度地图构建系统100的功能。所述计算指令可以包括程序、对象、组件、数据结构、过程、模块和功能(所述功能指本申请中描述的特定功能)。例如,处理器220可以处理从高精度地图构建系统100的其他任何组件获取的图像或文本数据。在一些实施例中,处理器220可以包括微控制器、微处理器、精简指令集计算机(RISC)、专用集成电路(ASIC)、应用特定指令集处理器(ASIP)、中央处理器(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高级RISC机(ARM)、可编程逻辑器件以及能够执行一个或多个功能的任何电路和处理器等,或其任意组合。仅为了说明目的,图2中的计算设备200只描述了一个处理器,但需要注意的是,本申请中的计算设备200还可以包括多个处理器。
计算设备200的存储器(例如,只读存储器(ROM)230、随机存取存储器(RAM)240、硬盘270等)可以存储从高精度地图构建系统100的任何其他组件获取的数据/信息。示例性的ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(PEROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字通用盘ROM等。示例性的RAM可以包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容(Z-RAM)等。
输入/输出接口260可以用于输入或输出信号、数据或信息。在一些实施例中,输入/输出接口260可以使用户与高精度地图构建系统100进行联系。在一些实施例中,输入/输出接口260可以包括输入装置和输出装置。示例性输入装置可以包括键盘、鼠标、触摸屏和麦克风等,或其任意组合。 示例性输出装置可以包括显示设备、扬声器、打印机、投影仪等或其任意组合。示例性显示装置可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲面显示器、电视设备、阴极射线管(CRT)等或其任意组合。通信端口250可以连接到网络以便数据通信。所述连接可以是有线连接、无线连接或两者的组合。有线连接可以包括电缆、光缆或电话线等或其任意组合。无线连接可以包括蓝牙、Wi-Fi、WiMax、WLAN、ZigBee、移动网络(例如,3G、4G或5G等)等或其任意组合。在一些实施例中,通信端口250可以是标准化端口,如RS232、RS485等。在一些实施例中,通信端口250可以是专门设计的端口。
图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图。如图3所示,移动设备300可以包括通信单元310、显示单元320、图形处理单元(GPU)330、中央处理单元(CPU)340、输入/输出设备350、内存360和存储器370。CPU340可以包括接口电路和类似于处理器220的处理电路。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。在一些实施例中,移动操作系统362(例如,IOS TM、Android TM、Windows Phone TM等)和一个或以上应用程序364可以从存储器370加载到内存360中,以便由CPU 340执行。应用程序364可以包括浏览器或任何其他合适的移动应用程序,用于从移动设备300上的基于位置的服务提供系统接收和呈现与服务请求或其他信息有关的信息。用户与信息流的交互可以通过输入/输出设备350实现,并通过网络120提供给处理引擎112和/或高精度地图构建系统100的其他组件。
为了实现上述各种模块、单元及其功能,计算机硬件平台可以用作一个或以上元件(例如,图2中描述的服务器110的模块)的硬件平台。由于这些硬件元件、操作系统和程序语言是常见的,因此可以假设本领域 技术人员熟悉这些技术并且他们能够根据本文中描述的技术提供路线规划中所需的信息。具有用户界面的计算机可以用作个人计算机(PC)或其他类型的工作站或终端设备。在正确编程之后,具有用户界面的计算机可以用作服务器。可以认为本领域技术人员也可以熟悉这种类型的计算机设备的这种结构、程序或一般操作。因此,没有针对附图描述额外的解释。
图4是根据本申请一些实施例所示的高精度地图构建系统的示例性框图。如图4所示,高精度地图构建系统400可以包括获取模块410、局部点云集生成模块420、配准优化模块430、局部地图生成模块440和全局地图构建模块450。
获取模块410可以用于获取车辆的位姿数据和与激光雷达相关的点云数据。关于车辆位姿数据、与激光雷达相关的点云数据以及获取位姿数据和点云数据方式的更多细节可以参见图5及其相关描述,此处不再赘述。在一些实施例中,车辆的位姿数据和与激光雷达相关的点云数据可以存储于分布式文件系统中。
局部点云集生成模块420可以用于基于位姿数据和点云数据得到局部点云集。在一些实施例中,局部点云集生成模块420可以将位姿数据和点云数据按照一定的切分规则进行切分得到一个或多个数据片段,对一个或多个数据片段进行并行处理,得到与该一个或多个数据片段对应的一个或多个位姿节点及其对应的点云。在一些实施例中,局部点云集生成模块420还可以基于一个或多个位姿节点及其对应的点云聚合得到初始位姿图及其对应的局部点云集。在一些实施例中,切分规则可以为按照固定时间长度切分。关于局部点云集生成的更多细节可以参见图5及其相关描述,此处不再赘述。
配准优化模块430可以用于基于局部点云集进行配准和优化处理,得到优化后的位姿节点和与优化后的位姿节点相对应的局部点云集。在一 些实施例中,配准优化模块430可以基于点云数据之间的空间和/或时间信息,建立一个或多个位姿节点之间的匹配连接;并基于一个或多个位姿节点之间的匹配连接,利用第一算法计算匹配连接对应的两个位姿节点间的转换关系,得到配准后的位姿节点、位姿节点之间的关系。在一些实施例中,所述第一算法可以为迭代最近点(Iterative Closest Point,ICP)算法和/或正态分布转换(Normal Distributions Transform,NDT)算法。在一些实施例中,配准优化模块430还可以基于配准后的位姿节点和位姿节点之间的关系,对初始位姿图进行优化,得到优化后的位姿图和与优化后的位姿图对应的局部点云集。关于局部点云集之间配准优化计算的更多细节可以参见图5及其相关描述,此处不再赘述。
局部地图生成模块440可以用于基于优化后的位姿节点和与优化后的位姿节点对应的局部点云集生成局部地图。在一些实施例中,局部地图生成模块440可以将局部地图以一定大小进行栅格分块。在一些实施例中,局部地图生成模块440可以将属于同一个分块的优化后的位姿节点和与优化后的位姿节点对应的局部点云集进行聚合,生成多个分块地图。在一些实施例中,局部地图生成模块440还可以基于多个分块地图聚合生成局部地图。关于局部地图的生成的更多细节可以参见图5及其相关描述,此处不再赘述。
全局地图构建模块450,可以用于基于多个局部地图得到全局地图。关于局部地图合并生成全局地图的更多细节可以参见图5的相关描述,此处不再赘述。
应该注意的是,上述关于高精度地图构建系统400的描述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的修正和改变。然而,这些修正和改变不会背离本申请的范围。在一些实施例中,可以添加至少一个 附加模块,或者可以将高精度地图构建系统400的多个模块组合成一个模块。例如,配准优化模块430可以划分为配准模块和优化模块两个子模块,分别用于实现对局部点云集的配准和优化处理。
图5是根据本申请一些实施例所示的高精度地图构建方法的示例性流程图。具体的,高精度地图构建方法500可以由高精度地图构建系统400执行。例如,高精度地图构建方法500可以以程序或指令的形式存储在存储装置(如数据库140、处理器220)中,当高精度地图构建系统400执行该程序或指令时,可以实现高精度地图构建方法500。如图5所示,高精度地图构建方法500可以包括:
步骤510,获取车辆的位姿数据和与激光雷达相关的点云数据。具体的,步骤510可以由获取模块410执行。
在一些实施例中,车辆的位姿数据是指车辆在行驶过程中以一定时间间隔获取的车辆自身的属性特征数据集合,可以包括车辆所处的位置、姿态、速度、加速度等各种信息。车辆的位置信息可以是地理坐标系统下的经纬度值,也可以是二维地图坐标系下的横纵坐标值,还可以是极坐标值、球面坐标值等。车辆的方向信息可以是车辆的行驶方向等。车辆的姿态信息可以是车辆的速度、加速度、俯仰角、偏航角、翻转角等。在一些实施例中,车辆的位姿数据可以通过传感器获取,例如IMU设备。点云数据是指车辆在行驶过程中测量得到的车辆周围环境的三维点集,可以包括路面、路灯、标志牌、红绿灯、花坛等。在一些实施例中,点云数据可以通过激光雷达获取,在车辆行驶过程中,激光雷达实时扫描周边环境,得到周围三维世界的相对坐标,经过运动补偿后,可以得到一个车辆位姿对应的激光雷达的点云数据结果。在一些实施例中,点云数据也可以通过相机获得,每个车辆位姿会对应当时周边环境的图像数据,同一时刻多个相机的数据,利用相机的相对关系,可以恢复得到对应的三维点云数据。在一些 实施例中,车辆的位姿数据和点云数据可以存储于分布式文件系统中,在每一个分布式文件系统中可以存储至少一段车辆的位姿数据和点云数据,便于地图数据的管理。在一些实施例中,获取模块410可以从网络120或数据库140中获取车辆位姿数据和点云数据。
步骤520,基于所述位姿数据和所述点云数据得到局部点云集。具体的,步骤520可以由局部点云集生成模块420执行。
在一些实施例中,局部点云集生成模块420可以将获取的位姿数据和点云数据按照一定的切分规则切分为一个或多个数据片段,并对该一个或多个数据片段进行并行处理,得到与该一个或多个数据片段对应的一个或多个位姿节点及其对应的点云。具体的,切分规则可以是按照采集数据的固定时间长度进行切分,例如,5min、10min、15min等。在一些实施例中,原始地图数据中每一个切分出来的片段可以包括GPS pose、IMU信息、Lidar点云、图片数据、检测和跟踪数据等信息。在一些实施例中,可以利用融合算法对一个或多个数据片段进行优化,得到局部优化后的位姿数据及其对应的点云数据。在一些实施例中,融合算法可以包括激光测距(Lidar Oodometry)算法、惯性测量单元(Inertial Measurement Unit,IMU)预积分算法、点云配准算法、图像匹配算法等或其组合。在一些实施例中,对于原始地图数据中的每一个片段,在基于GPS pose构建位姿图的过程中,所用到的一种或多种算法(例如,激光测距(Lidar Oodometry)算法、惯性测量单元(Inertial Measurement Unit,IMU)预积分算法、点云配准算法、图像匹配算法等)中每一种算法都可以是一项约束条件,基于此,对每一项约束条件赋予不同的权重,进行非线性优化,从而起到融合的效果。在一些实施例中,每一个点云集是一定数量优化后的位姿节点对应的点云的集合。
在一些实施例中,切分后的位姿数据和点云数据可以存储于分布式 文件系统中,当收到服务器发送生成局部点云集生成指令时,分布式计算平台可以并行处理切分后并分布式保存的位姿数据和点云数据。例如,分布式计算平台可以将切分后的一个或多个数据片段作为输入,利用结合激光测距(Lidar Oodometry)算法、惯性测量单元(Inertial Measurement Unit,IMU)预积分算法、点云配准算法、图像匹配算法等的融合算法对一个或多个数据片段进行处理,最终输出得到局部优化之后的位姿数据以及其对应的点云数据。
步骤530,基于所述局部点云集进行配准和优化处理,得到优化后的位姿节点和与所述优化后的位姿节点相对应的局部点云集。具体的,步骤530可以由配准优化模块430执行。
在一些实施例中,配准优化模块430可以基于点云数据之间的空间和/或时间信息,建立一个或多个位姿节点之间的匹配连接。基于该一个或多个位姿节点之间的匹配连接,利用第一算法计算匹配连接对应的两个位姿节点间的转换关系,从而得到配准后的位姿节点、位姿节点之间的关系。在一些实施例中,第一算法可以是迭代最近点(Iterative Closest Point,ICP)算法和/或正态分布转换(Normal Distributions Transform,NDT)算法。在一些实施例中,配准的本质是指将不同坐标下的三维点云数据集变换到同一坐标系下,通过匹配具有部分重合的不同的点云数据集,寻找点云数据集之间的对应关系,实现点云数据集之间的互补,得到被扫描物体完整的点云数据。点云配准的关键在于求取矩阵变换。实际应用中,针对同一被扫描物体,单次扫描获得的被扫描物体信息不全,为了得到完整的被扫描物体信息,往往需要通过多视角扫描来获得不同视角的点云数据集,并把不同的点云数据集统一到同一坐标系下得到完整结果,但是因为测量的点云集的误差(例如空间位置误差、旋转误差等等),所以需要对点云集配准,以得到点云集之间误差最小化的完整结果。
在一些实施例中,配准优化模块430可以基于配准后的位姿节点、与配准后位姿节点对应的点云和位姿节点之间的关系,对得到的初始位姿图进行非线性优化,从而得到优化后的位姿图和与优化后的位姿图对应的局部点云集。在一些实施例中,位姿图是由位姿节点和边构成,位姿节点之间的关系构成边。例如,t时刻与t+1时刻之间的里程关系构成边。初始位姿图完成后,调整位姿节点尽量满足边的约束,最后得到优化后的位姿图和与优化后的位姿图对应的局部点云集。
在一些实施例中,由于单个位姿节点之间的关系的计算需要消耗一定的计算资源配准优化模块430可以将所有的需要配准优化的局部点云集进行并行计算。同时,通过将依赖同一个局部点云集的配准优化分配到同一个计算平台的方式,有效减少这个过程的网络I/O。关于局部点云集配准优化过程对应的逻辑关系的更多细节可以参见图6及其相关描述,此处不再赘述。
步骤540,基于所述优化后的位姿节点和与所述优化后的位姿节点对应的局部点云集生成局部地图。具体的,步骤540可以由局部地图生成模块440执行。
在一些实施例中,局部地图可以分成很多个小块,每个小块对应一个分块地图,无论位于哪个地理位置,只要每个终端里存储着当前位置附近的若干个分块地图,都能够正常使用该地图。局部地图生成模块440可以将局部地图以一定大小(例如,200m*200m、400m*400m、600m*600m等)进行栅格分块,将属于同一个分块的优化后的车辆位姿节点和与优化后的位姿节点对应的局部点云集进行聚合,生成对应的分块地图。在一些实施例中,局部地图生成模块440可以将划分后的多个分块地图的任务分配到分布式计算平台中给不同的计算平台来完成,从而使得多个分块地图并行完成。在一些实施例中,多个分块地图的计算可能会依赖相同的局部 点云集(例如,该局部点云集是一个跨地图分块的点云集),并行计算时可以将相邻的分块地图放在同一个计算平台上计算,以减少网络I/O。在一些实施例中,高精度地图构建方法还可以包括对局部地图进行合并与更新得到全局地图,该步骤可以由全局地图构建模块450执行。在一些实施例中,单次采集的数据(即一个trip)可以通过上述步骤中的地图构建方法生成对应的局部地图。若物理世界没有发生变化,局部地图可以被合并到全局地图中;若物理世界发生变化,则需要在删除变更区域数据的基础上再进行局部地图合并的操作。在一些实施例中,局部地图的合并包括重叠区域的约束计算和优化、局部地图自身分块数据的计算,这些过程与上述地图构建方法中对应的过程相似,此处不再赘述。在一些实施例中,局部地图的合并还包括优化后的局部地图需要与全局地图进行的同一个数据分块进行合并计算。在一些实施例中,合并计算也可以分块为单位进行并行化的处理。在一些实施例中,当物理世界发生变化时,对应采集的原始地图数据将同步更新到数据库中,从而使对应的地图同步更新。
应当注意的是,以上关于流程500及其描述,仅出于说明的目的而提供,并非旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的修正和改变。然而,这些修正和改变不会背离本申请的范围。例如,步骤530可以划分为两个子步骤,子步骤一用于实现对位姿节点及其对应的点云数据集的配准,子步骤二用于实现基于配准后的位姿节点和位姿节点之间的关系,对初始位姿图的优化。
图6是根据本申请一些实施例所示的一种高精度地图构建过程对应的逻辑关系图。在一些实施例中,全局地图的构建可以是由一个或多个局部地图的构建然后合并或更新到全局地图中。一次的局部地图的构建可以称为一次建图任务,而每一次的局部地图的建图任务又可以分成多个建图子任务。在一些实施例中,可以按照图6所示的逻辑图从上往下看,全局 地图的构建任务可以按照行政区域、地理范围等方法将其划分为多个局部地图的构建任务,局部地图构建任务1、局部地图构建任务2、......、局部地图构建任务n,每一个局部地图的构建任务又可以分为局部点云集构建子任务、位姿点云集配准子任务、位姿图优化子任务以及分块地图构建子任务。关于前述子任务的详细过程,可以参见图5各步骤的相关说明,在此不再赘述。在一些实施例中,每一个构建子任务中,又可以分为多个子步骤并行处理。例如,在局部点云集构建子任务中,可以将获取的车辆位姿数据和点云数据按照时间长度进行数据划分,得到多个数据片段,该子任务可以对应多个任务,每个任务负责处理对应的几个数据片段,由一个计算平台负责执行,每个任务可分布式同时执行。又例如,在位姿点云集配准子任务中,可以根据点云数据中的空间、时间等信息,建立一个或多个对应的位姿节点之间的匹配连接,并利用ICP、NDT等算法计算匹配连接对应的两个位姿节点间的转换关系,将这些匹配连接的计算作为基本计算单元,按照空间和位姿节点的相关性进行划分,划分给不同的任务,该子任务可以对应多个任务,每个任务负责处理不同位姿节点之间的配准计算,由一个计算平台负责执行,每个任务可分布式同时执行。又例如,分块地图构建子任务可以将局部地图以一定大小进行栅格分块,将属于同一个分块的优化后的车辆位姿节点和与优化后的位姿节点对应的局部点云集进行聚合,生成对应的分块地图。分块地图构建子任务可以包括多个分布式并行处理的分块地图的建图子任务。
本申请实施例可能带来的有益效果包括但不限于:(1)将全局地图的构建任务划分一个或多个局部地图的构建子任务,再将子任务中的多个子步骤进行多次分布式处理,可以快速完成高精度地图构建,提高了效率、降低了成本;(2)原始地图数据的分布式存储解决了地图数据的存储需求大和动态更新的困难,便于地图数据的管理,以及能够实现地图数据大规 模的合并处理。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除 计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不 意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。

Claims (18)

  1. 一种高精度地图构建方法,其特征在于,包括:
    构建局部地图,基于多个所述局部地图得到全局地图;
    其中,局部地图的构建包括:
    获取车辆的位姿数据和与激光雷达相关的点云数据;
    基于所述位姿数据和所述点云数据得到局部点云集;
    基于所述局部点云集进行配准和优化处理,得到优化后的位姿节点和与所述优化后的位姿节点相对应的局部点云集;
    基于所述优化后的位姿节点和与所述优化后的位姿节点对应的局部点云集生成局部地图。
  2. 如权利要求1所述的方法,其特征在于,所述基于所述位姿数据和所述点云数据得到局部点云集包括:
    将所述位姿数据和所述点云数据按照一定的切分规则进行切分得到一个或多个数据片段,对所述一个或多个数据片段进行并行处理,得到与所述一个或多个数据片段对应的一个或多个位姿节点及其对应的点云;
    基于所述一个或多个位姿节点及其对应的点云聚合得到初始位姿图及其对应的局部点云集。
  3. 如权利要求2所述的方法,其特征在于,所述切分规则为按照固定时间长度切分。
  4. 如权利要求1所述的方法,其特征在于,所述基于所述局部点云集进行配准处理包括:
    基于所述点云数据之间的空间和/或时间信息,建立所述一个或 多个位姿节点之间的匹配连接;
    基于所述一个或多个位姿节点之间的匹配连接,利用第一算法计算所述匹配连接对应的两个位姿节点间的转换关系,得到配准后的位姿节点、位姿节点之间的关系。
  5. 如权利要求4所述的方法,其特征在于,所述第一算法为迭代最近点算法和/或正态分布转换算法。
  6. 如权利要求1所述的方法,其特征在于,所述基于所述局部点云集进行优化处理包括:
    基于所述配准后的位姿节点和位姿节点之间的关系,对所述初始位姿图进行优化,得到优化后的位姿图和与所述优化后的位姿图对应的局部点云集。
  7. 如权利要求1所述的方法,其特征在于,所述基于所述优化后的位姿节点和与所述优化后的位姿节点对应的局部点云集生成局部地图包括:
    将地图以一定大小进行栅格分块;
    将属于同一个分块的优化后的所述位姿节点和与所述优化后的位姿节点对应的局部点云集进行聚合,生成多个分块地图;
    基于所述多个分块地图聚合生成局部地图。
  8. 如权利要求1所述的方法,其特征在于,所述获取的车辆位姿数据和与激光雷达相关的点云数据存储于分布式文件系统中。
  9. 一种高精度地图构建系统,其特征在于,包括:
    获取模块,获取车辆的位姿数据和与激光雷达相关的点云数据;
    局部点云集生成模块,用于基于所述位姿数据和所述点云数据得到局部点云集;
    配准优化模块,用于基于所述局部点云集进行配准和优化处理,得到优化后的位姿节点和与所述优化后的位姿节点相对应的局部点云集;
    局部地图生成模块,基于所述优化后的位姿节点和与所述优化后的位姿节点对应的局部点云集生成局部地图;
    全局地图构建模块,用于基于多个所述局部地图得到全局地图。
  10. 如权利要求9所述的系统,其特征在于,所述局部点云集生成模块进一步用于:
    将所述位姿数据和所述点云数据按照一定的切分规则进行切分得到一个或多个数据片段,对所述一个或多个数据片段进行并行处理,得到与所述一个或多个数据片段对应的一个或多个位姿节点及其对应的点云;
    基于所述一个或多个位姿节点及其对应的点云聚合得到初始位姿图及其对应的局部点云集。
  11. 如权利要求10所述的系统,其特征在于,所述切分规则为按照固定时间长度切分。
  12. 如权利要求9所述的系统,其特征在于,所述配准优化模块进一步用于:
    基于所述点云数据之间的空间和/或时间信息,建立所述一个或多个位姿节点之间的匹配连接;
    基于所述一个或多个位姿节点之间的匹配连接,利用第一算法计算所述匹配连接对应的两个位姿节点间的转换关系,得到配准后的位姿节点、位姿节点之间的关系。
  13. 如权利要求12所述的系统,其特征在于,所述第一算法为迭代最近点算法和/或正态分布转换算法。
  14. 如权利要求9所述的系统,其特征在于,所述配准优化模块进一步用于:
    基于所述配准后的位姿节点和位姿节点之间的关系,对所述初始位姿图进行优化,得到优化后的位姿图和与所述优化后的位姿图对应的局部点云集。
  15. 如权利要求9所述的系统,其特征在于,所述局部地图生成模块进一步用于:
    将地图以一定大小进行栅格分块;
    将属于同一个分块的优化后的所述位姿节点和与所述优化后的位姿节点对应的局部点云集进行聚合,生成多个分块地图;
    基于所述多个分块地图聚合生成局部地图。
  16. 如权利要求9所述的系统,其特征在于,所述获取的车辆位姿数据和与激光雷达相关的点云数据存储于分布式文件系统中。
  17. 一种高精度地图构建装置,其特征在于,所述装置包括至少一个处理器和至少一个存储设备,所述存储设备用于存储指令,当所述至少一个处理器执行所述指令时,实现如权利要求1~8中任一项所 述的方法。
  18. 一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取所述存储介质中的所述计算机指令后,所述计算机执行如权利要求1~8中任一项所述的方法。
PCT/CN2021/072513 2020-05-06 2021-01-18 一种高精度地图构建方法及系统 WO2021223465A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010373749.6 2020-05-06
CN202010373749.6A CN111882977B (zh) 2020-05-06 2020-05-06 一种高精度地图构建方法及系统

Publications (1)

Publication Number Publication Date
WO2021223465A1 true WO2021223465A1 (zh) 2021-11-11

Family

ID=73154028

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/072513 WO2021223465A1 (zh) 2020-05-06 2021-01-18 一种高精度地图构建方法及系统

Country Status (2)

Country Link
CN (1) CN111882977B (zh)
WO (1) WO2021223465A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114326744A (zh) * 2021-12-31 2022-04-12 安徽海博智能科技有限责任公司 一种基于全局地图更新的矿山卡车路径规划方法
CN114322987A (zh) * 2021-12-27 2022-04-12 北京三快在线科技有限公司 一种构建高精地图的方法及装置
CN115017578A (zh) * 2022-05-26 2022-09-06 深圳大学 一种建筑的智能实测实量方法、装置、ugv及存储介质
CN116309002A (zh) * 2022-05-19 2023-06-23 北京百度网讯科技有限公司 图数据存储、访问、处理方法、训练方法、设备及介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882977B (zh) * 2020-05-06 2022-04-29 北京嘀嘀无限科技发展有限公司 一种高精度地图构建方法及系统
CN113094457B (zh) * 2021-04-15 2023-11-03 成都纵横自动化技术股份有限公司 一种数字正射影像地图的增量式生成方法及相关组件
CN113503883B (zh) * 2021-06-22 2022-07-19 北京三快在线科技有限公司 采集用于构建地图的数据的方法、存储介质及电子设备
CN113379915B (zh) * 2021-07-05 2022-12-23 广东工业大学 一种基于点云融合的行车场景构建方法
CN113671460B (zh) * 2021-08-20 2024-03-22 上海商汤临港智能科技有限公司 一种地图生成方法、装置、计算机设备及存储介质
CN115359203B (zh) * 2022-09-21 2023-06-27 智城数创(西安)科技有限公司 一种三维高精度地图生成方法、系统及云平台

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160063754A1 (en) * 2014-08-26 2016-03-03 The Boeing Company System and Method for Detecting a Structural Opening in a Three Dimensional Point Cloud
CN105758408A (zh) * 2016-01-05 2016-07-13 福州华鹰重工机械有限公司 局部地图构建方法及装置
CN106127739A (zh) * 2016-06-16 2016-11-16 华东交通大学 一种结合单目视觉的rgb‑d slam方法
CN106199626A (zh) * 2016-06-30 2016-12-07 上海交通大学 基于摆动激光雷达的室内三维点云地图生成系统及方法
CN108088444A (zh) * 2016-11-22 2018-05-29 广州映博智能科技有限公司 基于三维激光的室内点云地图生成系统及方法
CN108732584A (zh) * 2017-04-17 2018-11-02 百度在线网络技术(北京)有限公司 用于更新地图的方法和装置
CN109807933A (zh) * 2019-01-29 2019-05-28 江苏通佑视觉科技有限公司 一种能力图点云更新方法、装置、设备及存储介质
CN109903386A (zh) * 2017-12-10 2019-06-18 广州映博智能科技有限公司 一种室内点云地图自动生成系统
CN111080682A (zh) * 2019-12-05 2020-04-28 北京京东乾石科技有限公司 点云数据的配准方法及装置
CN111882977A (zh) * 2020-05-06 2020-11-03 北京嘀嘀无限科技发展有限公司 一种高精度地图构建方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9488492B2 (en) * 2014-03-18 2016-11-08 Sri International Real-time system for multi-modal 3D geospatial mapping, object recognition, scene annotation and analytics
CN103279987B (zh) * 2013-06-18 2016-05-18 厦门理工学院 基于Kinect的物体快速三维建模方法
CN107764270A (zh) * 2017-10-19 2018-03-06 武汉工控仪器仪表有限公司 一种激光扫描式室内地图生成和更新装置及方法
CN109992809B (zh) * 2017-12-29 2023-03-10 深圳市优必选科技有限公司 一种建筑模型的构建方法、装置及存储装置
US10769840B2 (en) * 2018-02-27 2020-09-08 Nvidia Corporation Analysis of point cloud data using polar depth maps and planarization techniques
CN110859044B (zh) * 2018-06-25 2023-02-28 北京嘀嘀无限科技发展有限公司 自然场景中的集成传感器校准
WO2020006667A1 (en) * 2018-07-02 2020-01-09 Beijing DIDI Infinity Technology and Development Co., Ltd Vehicle navigation system using pose estimation based on point cloud
CN110322492B (zh) * 2019-07-03 2022-06-07 西北工业大学 一种基于全局优化的空间三维点云配准方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160063754A1 (en) * 2014-08-26 2016-03-03 The Boeing Company System and Method for Detecting a Structural Opening in a Three Dimensional Point Cloud
CN105758408A (zh) * 2016-01-05 2016-07-13 福州华鹰重工机械有限公司 局部地图构建方法及装置
CN106127739A (zh) * 2016-06-16 2016-11-16 华东交通大学 一种结合单目视觉的rgb‑d slam方法
CN106199626A (zh) * 2016-06-30 2016-12-07 上海交通大学 基于摆动激光雷达的室内三维点云地图生成系统及方法
CN108088444A (zh) * 2016-11-22 2018-05-29 广州映博智能科技有限公司 基于三维激光的室内点云地图生成系统及方法
CN108732584A (zh) * 2017-04-17 2018-11-02 百度在线网络技术(北京)有限公司 用于更新地图的方法和装置
CN109903386A (zh) * 2017-12-10 2019-06-18 广州映博智能科技有限公司 一种室内点云地图自动生成系统
CN109807933A (zh) * 2019-01-29 2019-05-28 江苏通佑视觉科技有限公司 一种能力图点云更新方法、装置、设备及存储介质
CN111080682A (zh) * 2019-12-05 2020-04-28 北京京东乾石科技有限公司 点云数据的配准方法及装置
CN111882977A (zh) * 2020-05-06 2020-11-03 北京嘀嘀无限科技发展有限公司 一种高精度地图构建方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114322987A (zh) * 2021-12-27 2022-04-12 北京三快在线科技有限公司 一种构建高精地图的方法及装置
CN114322987B (zh) * 2021-12-27 2024-02-23 北京三快在线科技有限公司 一种构建高精地图的方法及装置
CN114326744A (zh) * 2021-12-31 2022-04-12 安徽海博智能科技有限责任公司 一种基于全局地图更新的矿山卡车路径规划方法
CN116309002A (zh) * 2022-05-19 2023-06-23 北京百度网讯科技有限公司 图数据存储、访问、处理方法、训练方法、设备及介质
CN116309002B (zh) * 2022-05-19 2024-03-01 北京百度网讯科技有限公司 图数据存储、访问、处理方法、训练方法、设备及介质
CN115017578A (zh) * 2022-05-26 2022-09-06 深圳大学 一种建筑的智能实测实量方法、装置、ugv及存储介质

Also Published As

Publication number Publication date
CN111882977A (zh) 2020-11-03
CN111882977B (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
WO2021223465A1 (zh) 一种高精度地图构建方法及系统
JP6862409B2 (ja) 地図生成及び移動主体の位置決めの方法及び装置
US11738770B2 (en) Determination of lane connectivity at traffic intersections for high definition maps
CN110869981B (zh) 用于自主车辆的高清晰度地图数据的向量数据编码
WO2020073936A1 (zh) 地图要素提取方法、装置及服务器
US20190219700A1 (en) Iterative closest point process based on lidar with integrated motion estimation for high definition maps
WO2021121306A1 (zh) 视觉定位方法和系统
US11151394B2 (en) Identifying dynamic objects in a point cloud
WO2018157777A1 (en) Systems and methods for recommending a pick-up location
JP6876071B2 (ja) 推定された到着時間を決定するためのシステムおよび方法
US20220003557A1 (en) Task management system for high-definition maps
US20210199443A1 (en) Dynamic map rendering
CN109493407A (zh) 实现激光点云稠密化的方法、装置及计算机设备
AU2017411198B2 (en) Systems and methods for route planning
US11967006B2 (en) Systems and methods for generating road map based on level of nodes and target links
US11580451B2 (en) Systems and methods for determining estimated time of arrival
TW201920904A (zh) 用於確定地圖中的新路線的系統和方法
US20230121226A1 (en) Determining weights of points of a point cloud based on geometric features
CN116518960B (zh) 路网更新方法、装置、电子设备和存储介质
CN111275807A (zh) 一种3d道路建模的方法和系统
Marchetta et al. A map-based platform for smart mobility services
CN110832886B (zh) 确定位置标识符的系统和方法
TWI720390B (zh) 最佳化空間大數據分區的系統、方法和非暫時性電腦可讀取媒體
US20230023255A1 (en) Controlled ingestion of map update data
CN116698013A (zh) 三维地图构建方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21800545

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21800545

Country of ref document: EP

Kind code of ref document: A1