Global pose correction method and device for point cloud stitching in high-precision map production
By calculating the local rotation offset, the global pose information is corrected, and the overlapping problem during point cloud splicing in high-precision maps is solved, the mapping accuracy is improved, and hardware cost and error problems are avoided.
Patent Information
- Application Number
- CN202210771681.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-30
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2042-06-30
AI Technical Summary
In high-precision map production, overlap caused by local rotation offset during point cloud splicing affects the mapping accuracy. Existing solutions such as adding GNSS antennas or using odometer calculations have problems such as high hardware costs or large errors.
By obtaining the global pose information of the first trajectory point to be corrected, multiple pairs of second trajectory points are determined, and estimation information and measurement information of the relative poses of each pair of second trajectory points are obtained, and the first trajectory point is calculated based on this information. The local rotation offset at the location is corrected to correct the global position information and reduce the overlap of point cloud splicing.
It effectively improves the mapping accuracy of high-precision maps, reduces the overlap of point cloud splicing, and does not require increasing hardware costs, and the error is controlled within an acceptable range.
Smart Images

Figure CN115164936B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, in particular to the field of autonomous driving, high-precision maps, and navigation technology, and specifically to a global pose correction method, device, electronic device, computer-readable storage medium, and computer program product for point cloud stitching. Background Art
[0002] High-precision maps, also known as high-precision maps, are maps used by self-driving cars. High-precision maps have accurate vehicle location information and rich road element data information, which can help cars predict complex road information, such as slope, curvature, heading, etc., so as to better avoid potential risks.
[0003] In the production of high-precision maps, point cloud data is usually collected for a certain section of road first. At the same time, data is collected through the Global Navigation Satellites System (GNSS) and the Inertial Measurement Unit (IMU). Based on the above data, global pose information is estimated, and then the global pose of the point cloud data acquisition device is obtained based on the estimation result, and the point cloud data is spliced based on this.
[0004] The methods described in this section are not necessarily methods that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any method described in this section is considered to be prior art simply because it is included in this section. Similarly, unless otherwise indicated, the issues mentioned in this section should not be considered to have been recognized in any prior art. Summary of the invention
[0005] The present disclosure provides a global pose correction method, device, electronic device, computer-readable storage medium and computer program product for point cloud stitching.
[0006] According to one aspect of the present disclosure, a global pose correction method for point cloud stitching is provided, comprising: obtaining global pose information of a first trajectory point; determining at least one pair of second trajectory points based on the global pose information, wherein the at least one pair of second trajectory points and the first trajectory point are located on the same trajectory; obtaining relative pose estimation information and relative pose measurement information of each pair of second trajectory points in the at least one pair of second trajectory points, wherein the relative pose estimation information is obtained based on the global pose information corresponding to each second trajectory point in the pair of second trajectory points, and the relative pose measurement information is obtained through an odometer; and calculating a local rotation offset at the first trajectory point based on the relative pose estimation information and the relative pose measurement information of each pair of second trajectory points in the at least one pair of second trajectory points to correct the global pose information.
[0007] According to another aspect of the present disclosure, a global pose correction device for point cloud stitching is provided, comprising: a first acquisition unit, configured to acquire global pose information of a first trajectory point; a first determination unit, configured to determine at least one pair of second trajectory points based on the global pose information, wherein the at least one pair of second trajectory points and the first trajectory point are located on the same trajectory; a second acquisition unit, configured to acquire relative pose estimation information and relative pose measurement information of each pair of second trajectory points in the at least one pair of second trajectory points, wherein the relative pose estimation information is acquired based on the global pose information corresponding to each second trajectory point in the pair of second trajectory points, and the relative pose measurement information is acquired through an odometer; and a calculation unit, configured to calculate a local rotation offset at the first trajectory point based on the relative pose estimation information and relative pose measurement information of each pair of second trajectory points in the at least one pair of second trajectory points, so as to correct the global pose information.
[0008] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned global pose correction method for point cloud stitching.
[0009] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable a computer to execute the above-mentioned global pose correction method for point cloud stitching.
[0010] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program implements the above-mentioned global pose correction method for point cloud stitching when executed by a processor.
[0011] According to one or more embodiments of the present disclosure, by obtaining the global pose information of the first trajectory point to be corrected, and determining multiple pairs of second trajectory points based on the information, and respectively obtaining the estimated information and measurement information of the relative pose of each pair of second trajectory points, and solving the local rotation offset at the first trajectory point based on the conversion relationship between the above two types of information, the global pose information can be corrected based on the local rotation offset to reduce the overlapping phenomenon of point cloud splicing and improve the mapping accuracy of high-precision maps.
[0012] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary implementation of the embodiments. The embodiments shown are for illustrative purposes only and do not limit the scope of the claims. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.
[0014] Figure 1 A schematic diagram showing an exemplary system in which the various methods described herein may be implemented according to an embodiment of the present disclosure;
[0015] Figure 2 A flow chart of a global pose correction method for point cloud stitching according to an embodiment of the present disclosure is shown;
[0016] Figure 3 A schematic diagram showing a trajectory of a data collection device according to an exemplary embodiment of the present disclosure;
[0017] Figure 4 A flow chart of calculating a local rotation offset at a first trajectory point according to an embodiment of the present disclosure is shown;
[0018] Figure 5 A flowchart of constructing equations based on a relative rotation estimation matrix, a relative rotation measurement value matrix, and a conversion relationship matrix according to an embodiment of the present disclosure is shown;
[0019] Figure 6 A structural block diagram of a global pose correction device for point cloud stitching according to an embodiment of the present disclosure is shown;
[0020] Figure 7 A structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0021] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0022] In the present disclosure, unless otherwise specified, the use of the terms "first", "second", etc. to describe various elements is not intended to limit the positional relationship, temporal relationship, or importance relationship of these elements, and such terms are only used to distinguish one element from another element. In some examples, the first element and the second element may refer to the same instance of the element, and in some cases, based on the description of the context, they may also refer to different instances.
[0023] The terms used in the description of various examples in this disclosure are only for the purpose of describing specific examples and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element can be one or more. In addition, the term "and / or" used in this disclosure covers any one of the listed items and all possible combinations.
[0024] In the production of high-precision maps, the information on which the stitched point cloud data is based includes the global pose information of the point cloud data acquisition device, which is usually calculated through coordinate system transformation based on the global pose information of the IMU unit. The global pose information of the IMU unit is obtained by combining and solving the data collected by the GNSS system and the IMU unit, where the global pose information includes position information and rotation information.
[0025] In the process of solving the global pose information combination, there may be a phenomenon that the local solution process cannot converge. At this time, the global pose information obtained has a deviation from the local rotation information, that is, the local rotation offset. The local rotation offset usually does not affect the smoothness of the trajectory, but it will cause the point cloud data to overlap when splicing at the corresponding position, affecting the mapping accuracy.
[0026] In the related technology, more data can be obtained at the same location by adding global measurements (for example, adding GNSS antennas) so that the solution process can converge faster, but the hardware cost of this solution is high and the application scenarios are limited. In another solution, the global pose information with local rotation offset can be replaced by the data inferred by the odometer, but when the deviation distance is long, this solution will produce large errors.
[0027] An embodiment of the present disclosure provides a global pose correction method for point cloud stitching, which obtains the global pose information of a first trajectory point to be corrected, determines multiple pairs of second trajectory points based on the information, and respectively obtains estimation information and measurement information of the relative pose of each pair of second trajectory points, and solves the local rotation offset at the first trajectory point based on the conversion relationship between the above two types of information, so that the global pose information can be corrected based on the local rotation offset to reduce the overlapping phenomenon of point cloud stitching and improve the mapping accuracy of high-precision maps.
[0028] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0029] Figure 1 FIG. 1 is a schematic diagram of an exemplary system 100 in which various methods and apparatuses described herein may be implemented according to an embodiment of the present disclosure. Figure 1, the system 100 includes a motor vehicle 110 , a server 120 , and one or more communication networks 130 coupling the motor vehicle 110 to the server 120 .
[0030] In an embodiment of the present disclosure, the motor vehicle 110 may include a computing device according to an embodiment of the present disclosure and / or be configured to perform a method according to an embodiment of the present disclosure.
[0031] The server 120 may run one or more services or software applications for the global pose correction method for point cloud stitching. In some embodiments, the server 120 may also provide other services or software applications, which may include non-virtual environments and virtual environments. Figure 1 In the configuration shown, the server 120 may include one or more components that implement the functions performed by the server 120. These components may include software components, hardware components, or a combination thereof that can be executed by one or more processors. A user of the motor vehicle 110 may in turn utilize one or more client applications to interact with the server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from the system 100. Therefore, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
[0032] Server 120 may include one or more general purpose computers, dedicated server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain a server's virtual storage device). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.
[0033] The computing units in the server 120 may run one or more operating systems including any of the above operating systems and any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and / or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.
[0034] In some embodiments, server 120 may include one or more applications to analyze and consolidate data feeds and / or event updates received from motor vehicle 110. Server 120 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of motor vehicle 110.
[0035] The network 130 may be any type of network known to those skilled in the art that may support data communications using any of a variety of available protocols, including, but not limited to, TCP / IP, SNA, IPX, etc. By way of example only, the one or more networks 110 may be a satellite communications network, a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a blockchain network, a public switched telephone network (PSTN), an infrared network, a wireless network (including, for example, Bluetooth, WiFi), and / or any combination of these and other networks.
[0036] The system 100 may also include one or more databases 150. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 150 may be used to store information such as audio files and video files. The data repository 150 may reside in various locations. For example, the data repository used by the server 120 may be local to the server 120, or may be remote from the server 120 and may communicate with the server 120 via a network-based or dedicated connection. The data repository 150 may be of different types. In some embodiments, the data repository used by the server 120 may be a database, such as a relational database. One or more of these databases may store, update, and retrieve data to and from the database in response to a command.
[0037] In some embodiments, one or more of the databases 150 may also be used by an application to store application data. The databases used by the application may be different types of databases, such as a key-value store, an object store, or a conventional store backed by a file system.
[0038] The motor vehicle 110 may include a sensor 111 for sensing the surrounding environment. The sensor 111 may include one or more of the following sensors: a visual camera, an infrared camera, an ultrasonic sensor, a millimeter wave radar, and a laser radar (LiDAR). Different sensors may provide different detection accuracy and range. The camera may be installed at the front, rear, or other location of the vehicle. The visual camera may capture the situation inside and outside the vehicle in real time and present it to the driver and / or passengers. In addition, by analyzing the images captured by the visual camera, information such as traffic light indications, intersection conditions, and the operating status of other vehicles may be obtained. The infrared camera may capture objects under night vision conditions. Ultrasonic sensors may be installed around the vehicle to measure the distance of objects outside the vehicle from the vehicle using the characteristics of strong ultrasonic directionality. Millimeter wave radars may be installed at the front, rear, or other location of the vehicle to measure the distance of objects outside the vehicle from the vehicle using the characteristics of electromagnetic waves. Laser radars may be installed at the front, rear, or other location of the vehicle to detect object edges and shape information, thereby identifying and tracking objects. Due to the Doppler effect, the radar device may also measure the speed change of the vehicle and the moving object.
[0039] The motor vehicle 110 may also include a communication device 112. The communication device 112 may include a satellite positioning module capable of receiving satellite positioning signals (e.g., Beidou, GPS, GLONASS, and GALILEO) from satellites 141 and generating coordinates based on these signals. The communication device 112 may also include a module for communicating with a mobile communication base station 142, and the mobile communication network may implement any suitable communication technology, such as GSM / GPRS, CDMA, LTE, and other current or evolving wireless communication technologies (e.g., 5G technology). The communication device 112 may also have a vehicle-to-vehicle or vehicle-to-everything (V2X) module, which is configured to implement, for example, vehicle-to-vehicle (V2V) communication with other vehicles 143 and vehicle-to-infrastructure (V2I) communication with infrastructure 144. In addition, the communication device 112 may also have a module configured to communicate with a user terminal 145 (including but not limited to a smartphone, a tablet computer, or a wearable device such as a watch) by, for example, using a wireless LAN or Bluetooth of the IEEE802.11 standard. Using the communication device 112, the motor vehicle 110 may also access the server 120 via the network 130.
[0040] The motor vehicle 110 may also include a control device 113. The control device 113 may include a processor that communicates with various types of computer-readable storage devices or media, such as a central processing unit (CPU) or a graphics processing unit (GPU), or other dedicated processors. The control device 113 may include an automatic driving system for automatically controlling various actuators in the vehicle. The automatic driving system is configured to control the powertrain, steering system, and braking system of the motor vehicle 110 (not shown) via multiple actuators in response to inputs from multiple sensors 111 or other input devices to control acceleration, steering, and braking, respectively, without human intervention or limited human intervention. Some processing functions of the control device 113 can be implemented through cloud computing. For example, some processing can be performed using an on-board processor, while other processing can be performed using computing resources in the cloud. The control device 113 can be configured to perform a method according to the present disclosure. In addition, the control device 113 can be implemented as an example of a computing device on the motor vehicle side (client) according to the present disclosure.
[0041] Figure 1 The system 100 may be configured and operated in various ways to enable the application of various methods and apparatuses described in the present disclosure.
[0042] According to the embodiments of the present disclosure, Figure 2 As shown, a global pose correction method for point cloud stitching is provided, including: step S201, obtaining global pose information of a first trajectory point; step S202, determining at least one pair of second trajectory points based on the global pose information, wherein the at least one pair of second trajectory points and the first trajectory point are located on the same trajectory; step S203, obtaining relative pose estimation information and relative pose measurement information of each pair of second trajectory points in at least one pair of second trajectory points, wherein the relative pose estimation information is obtained based on the global pose information corresponding to each second trajectory point in the pair of second trajectory points, and the relative pose measurement information is obtained through an odometer; and step S204, calculating a local rotation offset at the first trajectory point based on the relative pose estimation information and relative pose measurement information of each pair of second trajectory points in at least one pair of second trajectory points, so as to correct the global pose information.
[0043] Therefore, by obtaining the global pose information of the first trajectory point to be corrected, and determining multiple pairs of second trajectory points based on the information, and respectively obtaining the estimated information and measurement information of the relative pose of each pair of second trajectory points, and solving the local rotation offset at the first trajectory point based on the conversion relationship between the above two types of information, the global pose information can be corrected based on the local rotation offset to reduce the overlapping phenomenon of point cloud splicing and improve the mapping accuracy of high-precision maps.
[0044] In some embodiments, when performing a combined solution based on data collected by the GNSS system and the IMU unit, there may be a situation where the local solution process cannot converge at certain trajectory points, causing the global pose information at the trajectory point to produce a local rotation offset, and the above-mentioned trajectory point is the first trajectory point.
[0045] In some embodiments, while determining the first trajectory point, global pose information of the first trajectory point obtained by combining a GNSS system and an IMU unit can be obtained, wherein the global pose information includes global position information and rotation angle information of the first trajectory point.
[0046] In some embodiments, at least one pair of second trajectory points may be determined based on the global position information in the global pose information of the first trajectory point.
[0047] According to some embodiments, determining at least one pair of second trajectory points based on the global pose information may include: determining a first range based on position information in the global pose information and a first distance threshold; and determining at least one pair of second trajectory points within the first range.
[0048] Since the local rotation offset corresponding to the trajectory points within a certain range is constant for a certain trajectory, the selection range of the second trajectory point (i.e., the first range) is determined according to the global position information of the first trajectory point to be corrected, and the second trajectory point is selected within the range, which can further improve the calculation accuracy of the local rotation offset.
[0049] Figure 3 A schematic diagram of a trajectory of a data acquisition device according to an exemplary embodiment of the present disclosure is shown, wherein the data acquisition device may be, for example, an IMU unit.
[0050] In some exemplary embodiments, Figure 3 As shown, the data acquisition device trajectory 301 includes a first trajectory point 302. Based on the first trajectory point 302 and the first distance threshold, a first range 303 can be determined, and then the second trajectory point can be selected on the trajectory 301 within the first range 303, for example, the second trajectory point 304 and the second trajectory point 305 can be selected.
[0051] In some embodiments, the first distance threshold may be, for example, 1 to 30 meters. It is understandable that relevant technical personnel may set the first distance threshold based on actual conditions, and no limitation is made here.
[0052] Since the relative pose measurement information of each pair of second trajectory points can be obtained by measuring the mileage measurement equipment (such as radar inertial odometer), the measurement accuracy cannot be guaranteed when the distance between the two trajectory points exceeds a certain range.
[0053] According to some embodiments, for each pair of second trajectory points in at least one pair of second trajectory points, the distance between the two second trajectory points in the pair of second trajectory points may be less than or equal to a second distance threshold.
[0054] In some exemplary embodiments, Figure 3 As shown, for a pair of second trajectory points (ie, second trajectory point 304 and second trajectory point 305), the distance between the two second trajectory points needs to satisfy the condition of being less than or equal to the second distance threshold.
[0055] In some embodiments, the second distance threshold may be, for example, 1 to 30 meters. It is understandable that relevant technical personnel may set the second distance threshold based on actual conditions, and no limitation is made here.
[0056] Therefore, by limiting the distance between the two second trajectory points, the accuracy of the relative posture measurement information of the pair of second trajectory points can be ensured, thereby improving the accuracy of the local rotation offset.
[0057] In some embodiments, the relative pose measurement information of each pair of second trajectory points can be obtained by an odometer.
[0058] In some embodiments, for the relative pose estimation information of each pair of second trajectory points, the global pose information of each second trajectory point in the pair of second trajectory points can be first obtained through the above-mentioned combined solution method, and then the relative pose estimation information of the pair of second trajectory points can be obtained based on the global pose information of the two second trajectory points.
[0059] According to some embodiments, Figure 4 As shown, based on the relative pose estimation information and relative pose measurement information of each pair of second trajectory points in at least one pair of second trajectory points, calculating the local rotation offset at the first trajectory point may include: step S401, determining the transformation relationship matrix between the relative pose estimation information and the relative pose measurement information of each pair of second trajectory points in at least one pair of second trajectory points, the transformation relationship matrix including the local rotation offset to be solved; step S402, based on the relative pose estimation information, the relative pose measurement information and the transformation relationship matrix of each pair of second trajectory points in at least one pair of second trajectory points, constructing an equation for solving the local rotation offset; and step S403, calculating the local rotation offset based on the equation.
[0060] Thus, a transformation relationship matrix is constructed based on the local rotation offset, and based on the matrix, a relationship between the relative pose estimation value and the relative pose measurement value is established, thereby obtaining an equation for solving the local rotation offset. In this way, the local rotation offset at the location can be accurately obtained based on the relative pose measurement value.
[0061] In some exemplary embodiments, Figure 3 As shown, the actual value of the global pose of the second trajectory point 304 (that is, the corrected global pose information) is assumed to be The actual value of the global pose of the second trajectory point 305 (i.e., the corrected global pose information) is: Wherein, t1 and t2 are the times corresponding to when the data acquisition device passes through the second trajectory point 304 and the second trajectory point 305, respectively. Correspondingly, the global posture information of the second trajectory point 304 and the second trajectory point 305 are recorded as
[0062] The local rotation offset to be solved at this location (i.e., the first trajectory point) is recorded as ΔR (i.e., the transformation relationship matrix), then the corrected global pose information of the second trajectory points 304 and 305 is And its global pose information They have the following relationships respectively:
[0063]
[0064]
[0065] And, the relative pose estimation information between the two second trajectory points It can be obtained by the following formula:
[0066]
[0067] Similarly, the relative pose measurement information between the two second trajectory points The corrected global pose information of the second trajectory points 304 and 305 Has the following relationship:
[0068]
[0069] For the relative pose estimation information between the two second trajectory points Relative pose measurement information Has the following relationship:
[0070]
[0071] Thus, the equation for solving the local rotation offset shown in the above formula is obtained, and the relative pose estimation information can be used to estimate the local rotation offset. Relative pose measurement information Solve for the local rotation offset.
[0072] According to some embodiments, the relative pose estimation information may include a relative position estimation vector, the relative pose measurement information may include a relative position measurement value vector, the at least one pair of second trajectory points may include at least three pairs of second trajectory points, and wherein, based on the relative pose estimation information, the relative pose measurement information and the transformation relationship matrix of each pair of second trajectory points in the at least one pair of second trajectory points, constructing an equation for solving the local rotation offset may include: constructing an equation based on the relative position estimation vector, the relative position measurement value vector and the transformation relationship matrix of each pair of second trajectory points in the at least one pair of second trajectory points.
[0073] Therefore, the local rotation offset is solved by using the position information in the relative posture information, so as to further simplify the calculation, save computing resources and improve computing efficiency.
[0074] In some embodiments, since the relative pose estimation information Relative pose measurement information Includes position information and rotation information respectively, so it can be They are expressed as follows:
[0075]
[0076]
[0077] in, is the relative pose estimation information The relative position estimate vector in , Relative pose measurement information The relative position measurement vector in ; is the relative pose estimation information The relative rotation estimate matrix in is, Relative pose measurement information The matrix of relative rotation measurements in .
[0078] Furthermore, based on the above equation, the following relationship can be obtained:
[0079]
[0080] In some embodiments, the local rotation offset may be solved only through the equation relationship of the position information part, thereby simplifying the solution process.
[0081] In some embodiments, n different pairs of second trajectory points (where n≥3) can be obtained respectively, and the relative position estimation vector and the relative position measurement value vector of each pair of second trajectory points can be obtained respectively, and linear non-homogeneous equations can be constructed based on the above relationship respectively, and their least squares solutions can be solved to obtain the local rotation offset.
[0082] In some exemplary embodiments, the relative position estimate vector Relative position measurement vector For example, they can be recorded as:
[0083]
[0084]
[0085] ΔR T (i.e. the inverse of the transformation relationship matrix) can be recorded as:
[0086]
[0087] To further simplify the calculation, the above matrices and vectors can be transformed to obtain the following relationship:
[0088]
[0089] Note that
[0090]
[0091] Then, the relative position estimation vector and the relative position measurement value vector of each pair of the n pairs of second trajectory points are stacked respectively to obtain the following formula:
[0092]
[0093] in,
[0094]
[0095] Therefore, by solving the least squares solution of the above linear non-homogeneous equation, ΔR can be obtained. T .
[0096] In some embodiments, since a strictly orthogonal matrix cannot be obtained by the above method, ΔR can be decomposed by matrix QR or by using the following formula: T Perform an orthogonal transformation to obtain the orthogonalized ΔR:
[0097]
[0098] Thus, the local rotation offset ΔR at the first track point can be obtained.
[0099] In some embodiments, the global pose information at the first trajectory point can be calculated based on the local rotation offset ΔR. Make the following corrections to obtain the corrected global pose information
[0100]
[0101] Among them, t i is the time when the data acquisition device corresponding to each trajectory point within the first range passes.
[0102] According to some embodiments, the relative pose estimation information may include a relative rotation estimation matrix, the relative pose measurement information may include a relative rotation measurement value matrix, and wherein, based on the relative pose estimation information, the relative pose measurement information and the transformation relationship matrix of each pair of second trajectory points in at least one pair of second trajectory points, constructing an equation for solving the local rotation offset may include: constructing an equation based on the relative rotation estimation matrix, the relative rotation measurement value matrix and the transformation relationship matrix of each pair of second trajectory points in at least one pair of second trajectory points.
[0103] Therefore, by calculating the local rotation offset based on the rotation information in the relative posture information, the operation can be further simplified, computing resources can be saved, and computing efficiency can be improved.
[0104] From the above formula (1), it can be obtained that the equation of the rotation information part is as follows:
[0105]
[0106] In some embodiments, different n pairs of second trajectory points (where n≥3) can be obtained respectively, and the relative rotation estimation matrix and the relative rotation measurement value matrix of each pair of second trajectory points can be obtained respectively, and linear non-homogeneous equations are constructed based on the above relationship respectively, and their least squares solutions are solved to obtain the local rotation offset.
[0107] According to some embodiments, Figure 5 As shown, based on the relative rotation estimation matrix, relative rotation measurement value matrix and transformation relationship matrix of each pair of second trajectory points in at least one pair of second trajectory points, constructing the equation may include: step S501, for each pair of second trajectory points in at least one pair of second trajectory points, logarithmically mapping the relative rotation estimation matrix and relative rotation measurement value matrix corresponding to the pair of second trajectory points to obtain the relative rotation estimation vector and relative rotation measurement value vector corresponding to the pair of second trajectory points; step S502, logarithmically mapping the transformation relationship matrix to obtain the transformation relationship vector; and step S503, based on the relative rotation estimation vector, relative rotation measurement value vector and transformation relationship vector of each pair of second trajectory points in at least one pair of second trajectory points, constructing a first equation as an equation for solving the local rotation offset.
[0108] Therefore, by logarithmically mapping the rotation matrix and the offset matrix (ie, the conversion relationship matrix), the corresponding rotation vector and the conversion relationship vector are obtained, thereby simplifying the operation, saving computing resources, and improving computing efficiency.
[0109] In some embodiments, to further simplify the operation, the relative rotation estimation matrix, the relative rotation measurement value matrix and the conversion relationship matrix can be logarithmically mapped respectively. Take as an example, logarithmic mapping is performed on both sides of the above formula (2):
[0110]
[0111] The relative rotation estimation vector is recorded as The relative rotation measurement vector is recorded as The conversion relationship vector is recorded as δ, and the above three vectors can be expressed by the following formulas:
[0112]
[0113]
[0114] δ=Log(ΔR)
[0115] The above equation can be further expressed as:
[0116]
[0117] Further transform the above formula to obtain the following equation:
[0118]
[0119] in,
[0120]
[0121]
[0122] Where θ is a three-dimensional vector, [θ] × Used to find the antisymmetric matrix of θ, where θ is the scalar corresponding to the vector θ.
[0123] Therefore, according to the above equation, the transformation relationship vector at the first trajectory point can be solved through a pair of relative rotation estimation vectors and relative rotation measurement value vectors of the second trajectory point, and then the corresponding transformation relationship matrix can be obtained by logarithmic mapping. The specific formula is as follows:
[0124] ΔR=Exp(δ)
[0125] In some embodiments, the relative rotation estimation vector and the relative rotation measurement value vector of each pair of second trajectory points in the plurality of pairs of second trajectory points may be obtained respectively, and based on the constraint relationship of formula (3) and a stacking method similar to the above operation, a linear non-homogeneous equation is constructed, and its least squares solution is solved. By solving the equation based on the rotation information of the plurality of pairs of second trajectory points, the obtained transformation relationship matrix can be made more accurate.
[0126] In some embodiments, since a strictly orthogonal matrix cannot be obtained by the above method, the orthogonal transformation of ΔR can be further performed by matrix QR decomposition or by using the following formula to obtain the orthogonalized ΔR:
[0127]
[0128] Thus, the local rotation offset ΔR at the first track point can be obtained.
[0129] In some embodiments, the global pose information at the first trajectory point can be calculated based on the local rotation offset ΔR. Make the following corrections to obtain the corrected global pose information
[0130]
[0131] Among them, t i is the time when the data acquisition device corresponding to each trajectory point within the first range passes.
[0132] According to some embodiments, Figure 6 As shown, a global pose correction device 600 for point cloud stitching is provided, comprising: a first acquisition unit 610, configured to acquire global pose information of a first trajectory point; a first determination unit 620, configured to determine at least one pair of second trajectory points based on the global pose information, wherein the at least one pair of second trajectory points and the first trajectory point are located on the same trajectory; a second acquisition unit 630, configured to acquire relative pose estimation information and relative pose measurement information of each pair of second trajectory points in at least one pair of second trajectory points, wherein the relative pose estimation information is acquired based on the global pose information corresponding to each second trajectory point in the pair of second trajectory points, and the relative pose measurement information is acquired through an odometer; and a calculation unit 640, configured to calculate a local rotation offset at the first trajectory point based on the relative pose estimation information and relative pose measurement information of each pair of second trajectory points in at least one pair of second trajectory points, so as to correct the global pose information.
[0133] Among them, the operations of units 610 to 640 in the global pose correction device 600 for point cloud stitching are similar to the operations of steps S201 to S204 of the above-mentioned global pose correction method for point cloud stitching, and are not repeated here.
[0134] According to some embodiments, the computing unit may include: a first determining subunit, configured to determine a transformation relationship matrix between relative pose estimation information and relative pose measurement information of each pair of second trajectory points in at least one pair of second trajectory points, the transformation relationship matrix including a local rotation offset to be solved; a constructing subunit, configured to construct an equation for solving the local rotation offset based on the relative pose estimation information, relative pose measurement information and the transformation relationship matrix of each pair of second trajectory points in at least one pair of second trajectory points; and a computing subunit, configured to calculate the local rotation offset based on the equation.
[0135] According to some embodiments, the relative pose estimation information may include a relative position estimation vector, the relative pose measurement information may include a relative position measurement value vector, the at least one pair of second trajectory points includes at least three pairs of second trajectory points, and wherein the construction subunit may be configured to construct an equation based on the relative position estimation vector, the relative position measurement value vector and the transformation relationship matrix of each pair of second trajectory points in the at least one pair of second trajectory points.
[0136] According to some embodiments, the relative pose estimation information may include a relative rotation estimation matrix, the relative pose measurement information may include a relative rotation measurement value matrix, and wherein the construction subunit may be configured to construct an equation based on the relative rotation estimation matrix, the relative rotation measurement value matrix and the transformation relationship matrix of each pair of second trajectory points in at least one pair of second trajectory points.
[0137] According to some embodiments, the construction subunit can be further configured to: for each pair of second trajectory points in at least one pair of second trajectory points, logarithmically map the relative rotation estimation matrix and the relative rotation measurement value matrix corresponding to the pair of second trajectory points to obtain the relative rotation estimation vector and the relative rotation measurement value vector corresponding to the pair of second trajectory points; logarithmically map the transformation relationship matrix to obtain the transformation relationship vector; and construct a first equation based on the relative rotation estimation vector, the relative rotation measurement value vector and the transformation relationship vector of each pair of second trajectory points in at least one pair of second trajectory points as an equation for solving the local rotation offset.
[0138] According to some embodiments, the first determination unit may include: a second determination subunit, configured to determine the first range based on position information in the global pose information and a first distance threshold; and a third determination subunit, configured to determine at least one pair of second trajectory points within the first range.
[0139] According to some embodiments, for each pair of second trajectory points in at least one pair of second trajectory points, the distance between the two second trajectory points in the pair of second trajectory points may be less than or equal to a second distance threshold.
[0140] According to an embodiment of the present disclosure, an electronic device, a readable storage medium and a computer program product are also provided.
[0141] refer to Figure 7 , a block diagram of an electronic device 700 that can be used as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0142] like Figure 7 As shown, the electronic device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the electronic device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0143] Multiple components in the electronic device 700 are connected to the I / O interface 705, including: an input unit 706, an output unit 707, a storage unit 708, and a communication unit 709. The input unit 706 can be any type of device that can input information to the electronic device 700. The input unit 706 can receive input digital or character information and generate key signal input related to user settings and / or function control of the electronic device, and can include but is not limited to a mouse, a keyboard, a touch screen, a track pad, a track ball, a joystick, a microphone, and / or a remote controller. The output unit 707 can be any type of device that can present information, and can include but is not limited to a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 708 can include but is not limited to a disk, an optical disk. The communication unit 709 allows the electronic device 700 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and can include but is not limited to a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.
[0144] The computing unit 701 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 701 performs the various methods and processes described above, such as the global pose correction method for point cloud stitching described above. For example, in some embodiments, the global pose correction method for point cloud stitching described above may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the global pose correction method for point cloud stitching described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to execute the above-mentioned global pose correction method for point cloud stitching in any other appropriate manner (for example, by means of firmware).
[0145] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0146] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0147] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0148] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0149] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0150] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0151] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0152] Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples, but only by the claims after authorization and their equivalent scope. Various elements in the embodiments or examples can be omitted or replaced by their equivalent elements. In addition, each step can be performed in an order different from that described in the present disclosure. Further, the various elements in the embodiments or examples can be combined in various ways. It is important that with the evolution of technology, many elements described herein can be replaced by equivalent elements that appear after the present disclosure.
Claims
1. A global pose correction method for point cloud stitching, the method comprising: Get the global pose information of the first trajectory point; Based on the global pose information, determining at least one pair of second trajectory points, wherein the at least one pair of second trajectory points and the first trajectory point are located on the same trajectory; Obtaining relative pose estimation information and relative pose measurement information of each pair of second trajectory points in the at least one pair of second trajectory points, wherein the relative pose estimation information is obtained based on the global pose information corresponding to each second trajectory point in the pair of second trajectory points, and the relative pose measurement information is obtained by an odometer; as well as Based on the relative pose estimation information and the relative pose measurement information of each pair of second trajectory points in the at least one pair of second trajectory points, a local rotation offset at the first trajectory point is calculated to correct the global pose information.
2. The method according to claim 1, wherein: The calculating the local rotation offset at the first trajectory point based on the relative pose estimation information and the relative pose measurement information of each pair of second trajectory points in the at least one pair of second trajectory points comprises: Determine a conversion relationship matrix between relative pose estimation information and relative pose measurement information of each pair of the at least one pair of second trajectory points, wherein the conversion relationship matrix includes the local rotation offset to be solved; constructing an equation for solving the local rotation offset based on the relative pose estimation information, the relative pose measurement information and the transformation relationship matrix of each pair of second trajectory points in the at least one pair of second trajectory points; and Based on the equation, the local rotation offset is calculated.
3. The method according to claim 2, wherein: The relative pose estimation information includes a relative position estimation vector, the relative pose measurement information includes a relative position measurement value vector, the at least one pair of second trajectory points includes at least three pairs of second trajectory points, and wherein, based on the relative pose estimation information of each pair of second trajectory points in the at least one pair of second trajectory points, the relative pose measurement information and the transformation relationship matrix, constructing an equation for solving the local rotation offset includes: The equation is constructed based on the relative position estimation vector, the relative position measurement value vector and the transformation relationship matrix of each pair of second trajectory points in the at least one pair of second trajectory points.
4. The method according to claim 2, wherein: The relative pose estimation information includes a relative rotation estimation matrix, the relative pose measurement information includes a relative rotation measurement value matrix, and wherein, based on the relative pose estimation information of each pair of second trajectory points in the at least one pair of second trajectory points, the relative pose measurement information and the transformation relationship matrix, constructing an equation for solving the local rotation offset includes: The equation is constructed based on the relative rotation estimation matrix of each pair of second trajectory points in the at least one pair of second trajectory points, the relative rotation measurement value matrix and the transformation relationship matrix.
5. The method according to claim 4, wherein: The constructing of the equation based on the relative rotation estimation matrix of each pair of second trajectory points in the at least one pair of second trajectory points, the relative rotation measurement value matrix and the transformation relationship matrix comprises: For each pair of second trajectory points in the at least one pair of second trajectory points, logarithmically mapping the relative rotation estimation matrix and the relative rotation measurement value matrix corresponding to the pair of second trajectory points to obtain a relative rotation estimation vector and a relative rotation measurement value vector corresponding to the pair of second trajectory points; Performing logarithmic mapping on the conversion relationship matrix to obtain a conversion relationship vector; and Based on the relative rotation estimation vector of each pair of second trajectory points in the at least one pair of second trajectory points, the relative rotation measurement value vector and the conversion relationship vector, a first equation is constructed as the equation for solving the local rotation offset.
6. The method according to any one of claims 1 to 5, wherein: The determining at least one pair of second trajectory points based on the global pose information comprises: Determining a first range based on the position information in the global pose information and a first distance threshold; and The at least one pair of second trajectory points is determined within the first range.
7. The method according to any one of claims 1 to 5, wherein: For each pair of second trajectory points in the at least one pair of second trajectory points, a distance between two second trajectory points in the pair of second trajectory points is less than or equal to a second distance threshold.
8. A global pose correction device for point cloud stitching, the device comprising: A first acquisition unit is configured to acquire global pose information of a first trajectory point; A first determining unit is configured to determine at least one pair of second trajectory points based on the global pose information, wherein the at least one pair of second trajectory points and the first trajectory point are located on the same trajectory; A second acquisition unit is configured to acquire relative pose estimation information and relative pose measurement information of each pair of second trajectory points in the at least one pair of second trajectory points, wherein the relative pose estimation information is obtained based on the global pose information corresponding to each second trajectory point in the pair of second trajectory points, and the relative pose measurement information is obtained by an odometer; as well as The calculation unit is configured to calculate the local rotation offset at the first trajectory point based on the relative pose estimation information and the relative pose measurement information of each pair of second trajectory points in the at least one pair of second trajectory points, so as to correct the global pose information.
9. The device according to claim 8, wherein: The computing unit comprises: A first determining subunit is configured to determine a conversion relationship matrix between relative pose estimation information and relative pose measurement information of each pair of second trajectory points in the at least one pair of second trajectory points, wherein the conversion relationship matrix includes the local rotation offset to be solved; A construction subunit configured to construct an equation for solving the local rotation offset based on the relative pose estimation information, the relative pose measurement information and the transformation relationship matrix of each pair of second trajectory points in the at least one pair of second trajectory points; and The calculation subunit is configured to calculate the local rotation offset based on the equation.
10. The device according to claim 9, wherein: The relative pose estimation information includes a relative position estimation vector, the relative pose measurement information includes a relative position measurement value vector, the at least one pair of second trajectory points includes at least three pairs of second trajectory points, and wherein the construction subunit is configured as follows: The equation is constructed based on the relative position estimation vector, the relative position measurement value vector and the transformation relationship matrix of each pair of second trajectory points in the at least one pair of second trajectory points.
11. The device according to claim 9, wherein: The relative pose estimation information includes a relative rotation estimation matrix, the relative pose measurement information includes a relative rotation measurement value matrix, and wherein the construction subunit is configured as follows: The equation is constructed based on the relative rotation estimation matrix of each pair of second trajectory points in the at least one pair of second trajectory points, the relative rotation measurement value matrix and the transformation relationship matrix.
12. The device according to claim 11, wherein The construction subunit is further configured as follows: For each pair of second trajectory points in the at least one pair of second trajectory points, logarithmically mapping the relative rotation estimation matrix and the relative rotation measurement value matrix corresponding to the pair of second trajectory points to obtain a relative rotation estimation vector and a relative rotation measurement value vector corresponding to the pair of second trajectory points; Performing logarithmic mapping on the conversion relationship matrix to obtain a conversion relationship vector; as well as Based on the relative rotation estimation vector of each pair of second trajectory points in the at least one pair of second trajectory points, the relative rotation measurement value vector and the conversion relationship vector, a first equation is constructed as the equation for solving the local rotation offset.
13. The device according to any one of claims 8 to 12, wherein: The first determining unit includes: A second determining subunit is configured to determine a first range based on the position information in the global posture information and a first distance threshold; and The third determining subunit is configured to determine the at least one pair of second trajectory points within the first range.
14. The device according to any one of claims 8 to 12, wherein: For each pair of second trajectory points in the at least one pair of second trajectory points, a distance between two second trajectory points in the pair of second trajectory points is less than or equal to a second distance threshold.
15. An electronic device, comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; in The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 7.
16. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-7.
17. A computer program product comprising a computer program, wherein: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Drawing method and device, electronic equipment and readable storage medium
CN111784835A
Trajectory optimization method and device
CN111862163A