Pose data adjustment method and device, storage medium and electronic device

By segmenting the point cloud data in the laser mapping algorithm and adjusting the fitting shape, the problems of large error and low accuracy in the laser mapping algorithm are solved, and more efficient mapping accuracy is achieved.

CN121639780APending Publication Date: 2026-03-10HAOMO TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-04
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing laser mapping algorithms suffer from large errors and low accuracy, failing to meet the needs of automated annotation algorithms.

Method used

By acquiring target data, including first point cloud data and first pose data, the first point cloud data is segmented based on the first pose data and a preset window to determine the point cloud fitting shape of the preset layer segmented data, and the first pose data is adjusted based on the point cloud fitting shape to obtain the second pose data.

Benefits of technology

Optimize the large-scale mapping process, correct errors at the sensor noise level, and improve mapping accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121639780A_ABST
    Figure CN121639780A_ABST
Patent Text Reader

Abstract

The invention discloses a pose data adjustment method and device, a storage medium and an electronic device, and relates to the technical field of laser point cloud. The method comprises the steps that target data are acquired, the target data comprise first point cloud data and first pose data, and the first pose data correspond to the first point cloud data; based on the first pose data and a preset window, performing block processing on the first point cloud data to obtain target block data, the target block data including multiple layers of block data, and any layer of block data including multiple blocks; determining a point cloud fitting form of the preset-layer block data, the preset-layer block data being the block data of the bottommost layer in the multi-layer block data, and the point cloud fitting form being used for representing a distribution state of the point cloud data of any block in the preset-layer block data; and adjusting the first pose data based on the point cloud fitting form to obtain second pose data. According to the invention, the technical problems of large error and low mapping precision of a laser mapping algorithm in the prior art are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of laser point cloud technology, and more specifically, to a pose data adjustment method, device, storage medium, and electronic device. Background Technology

[0002] Large-scale laser mapping (LSD) algorithms are a technique that uses lidar sensors to acquire environmental information and then transforms this information into maps. LSD algorithms typically consist of two phases: a single-pass phase and a multi-pass phase. The single-pass phase involves acquiring environmental information using the lidar sensor and creating a map in real time during a single movement. The multi-pass phase involves continuously accumulating and updating map information over multiple movements. By combining these two phases, LSD algorithms can achieve high-precision mapping of complex environments and have wide applications in robot navigation, environmental monitoring, and intelligent decision-making.

[0003] However, errors introduced in both stages affect mapping accuracy. Existing laser mapping algorithms suffer from accuracy losses due to various factors, including sensor inherent errors; drift errors caused by various degradation scenarios in iterative nearest point and its variants of laser odometry; positioning errors caused by conflicts between real-time dynamic positioning and absolute positioning measurements and laser odometry; and errors amplified by each individual pass during multi-pass fusion. These errors result in low accuracy in existing laser mapping algorithms, failing to meet the requirements of automated annotation algorithms.

[0004] There is currently no effective solution to the above problems. Summary of the Invention

[0005] This invention provides a pose data adjustment method, apparatus, storage medium, and electronic device to at least solve the technical problems of large errors and low mapping accuracy in laser mapping algorithms in related technologies.

[0006] According to one embodiment of the present invention, a pose data adjustment method is provided. The method may include: acquiring target data, wherein the target data includes first point cloud data and first pose data, the first pose data corresponding to the first point cloud data; performing block processing on the first point cloud data based on the first pose data and a preset window to obtain target block data, wherein the target block data includes multi-layer block data, and any layer of block data includes multiple blocks; determining the point cloud fitting shape of the preset layer block data, wherein the preset layer block data is the lowest layer block data in the multi-layer block data, and the point cloud fitting shape is used to represent the distribution state of the point cloud data in any block of the preset layer block data; and adjusting the first pose data based on the point cloud fitting shape to obtain second pose data.

[0007] Optionally, obtaining the target data includes: acquiring second point cloud data based on vehicle sensors; performing distortion correction and filtering on the second point cloud data to obtain first point cloud data; and using laser mapping to determine the pose corresponding to the first point cloud data to obtain first pose data.

[0008] Optionally, the first point cloud data is segmented based on the first pose data and a preset window to obtain target segmented data, including: determining change data based on the first pose data, wherein the change data is used to represent the distance and angle changes between single-frame pose data in the first pose data; and segmenting the first point cloud data based on the change data and a preset window to obtain target segmented data.

[0009] Optionally, determining the point cloud fitting shape of the preset layer block data includes: filtering the preset layer block data according to preset filtering conditions to obtain filtered block data, wherein the preset filtering conditions are used to filter blocks in the preset layer block data whose point cloud data is less than a preset point cloud threshold; determining the target value of any block in the filtered block data, wherein the target value includes the mean and covariance; determining the feature value and feature vector of any block based on the target value, wherein the feature value corresponds to the feature vector; and determining the point cloud fitting shape of any block according to the feature value and feature vector.

[0010] Optionally, the feature values ​​include a first feature value, a second feature value, and a third feature value. The first feature value is the feature value in the direction of the first feature vector, the second feature value is the feature value in the direction of the second feature vector, and the third feature value is the feature value in the direction of the third feature vector. Determining the point cloud fitting shape of any block based on the feature values ​​and feature vectors includes: in response to the feature values ​​and feature vectors satisfying a first feature condition, determining the point cloud fitting shape as a plane, wherein the first feature condition indicates that the error between the first feature value and the second feature value is within a first error range, the error between the third feature value and the first feature value and the second feature value is within a second error range, and the third feature value is less than the first feature value and the second feature value; or, in response to the feature values ​​and feature vectors satisfying a second feature condition, determining the point cloud fitting shape as a line segment, wherein the second feature condition indicates that the error between the first feature value and the second feature value is within a first error range, the error between the third feature value and the first feature value and the second feature value is within a second error range, and the third feature value is greater than the first feature value and the second feature value; or, in response to the feature values ​​and feature vectors not satisfying the first feature condition and the second feature condition, determining the point cloud fitting shape as invalid and filtering the corresponding block.

[0011] Optionally, adjusting the first pose data based on the point cloud fitting shape to obtain the second pose data includes: adjusting the first pose data layer by layer based on preset adjustment requirements to obtain the second pose data, wherein the preset adjustment requirements are used to indicate that the point cloud fitting shape is a planar block that keeps the point cloud fitting shape unchanged.

[0012] Optionally, adjusting the first pose data layer by layer based on preset adjustment requirements to obtain the second pose data includes: adjusting the first pose data layer by layer based on preset adjustment order and preset adjustment requirements to obtain the second pose data, wherein the preset update order is used to indicate that the pose of the point cloud data of the preset layer block data is adjusted first, and then the pose of the point cloud data other than the preset layer block data in the target block data is adjusted from the top layer of the multi-layer block data downwards.

[0013] Optionally, during the layer-by-layer adjustment process, if the adjustment amount of a single pose data is less than a preset adjustment threshold, the adjustment is stopped and the second pose data is output.

[0014] According to one embodiment of the present invention, a pose data adjustment device is also provided. The device may include: an acquisition module for acquiring target data, wherein the target data includes first point cloud data and first pose data, the first pose data corresponding to the first point cloud data; a segmentation module for segmenting the first point cloud data based on the first pose data and a preset window to obtain target segmented data, wherein the target segmented data includes multi-layer segmented data, and any layer of segmented data includes multiple segments; a determination module for determining the point cloud fitting shape of the preset layer segmented data, wherein the preset layer segmented data is the lowest layer segmented data in the multi-layer segmented data, and the point cloud fitting shape is used to represent the distribution state of the point cloud data in any segment of the preset layer segmented data; and an adjustment module for adjusting the first pose data based on the point cloud fitting shape to obtain second pose data.

[0015] Optionally, the acquisition module is also used to acquire second point cloud data based on vehicle sensors; perform distortion correction and filtering on the second point cloud data to obtain first point cloud data; and use laser mapping to determine the pose corresponding to the first point cloud data to obtain first pose data.

[0016] Optionally, the block module is also used to determine the change data based on the first pose data, wherein the change data is used to represent the distance and angle changes between single-frame pose data in the first pose data; and to perform block processing on the first point cloud data based on the change data and a preset window to obtain the target block data.

[0017] Optionally, the determining module is further configured to filter the preset layer block data according to preset filtering conditions to obtain filtered block data, wherein the preset filtering conditions are used to filter blocks in the preset layer block data whose point cloud data is less than a preset point cloud threshold; determine the target value of any block in the filtered block data, wherein the target value includes the mean and covariance; determine the feature value and feature vector of any block based on the target value, wherein the feature value corresponds to the feature vector; and determine the point cloud fitting shape of any block according to the feature value and feature vector.

[0018] Optionally, the feature values ​​include a first feature value, a second feature value, and a third feature value. The first feature value is the feature value in the direction of the first feature vector, the second feature value is the feature value in the direction of the second feature vector, and the third feature value is the feature value in the direction of the third feature vector. The determining module is further configured to determine the point cloud fitting shape as a plane in response to the feature values ​​and feature vectors satisfying the first feature condition, wherein the first feature condition indicates that the error between the first feature value and the second feature value is within a first error range, the error between the third feature value and the first feature value and the second feature value is within a second error range, and the third feature value is less than the first feature value and the second feature value; or, in response to the feature values ​​and feature vectors satisfying the second feature condition, determine the point cloud fitting shape as a line segment, wherein the second feature condition indicates that the error between the first feature value and the second feature value is within a first error range, the error between the third feature value and the first feature value and the second feature value is within a second error range, and the third feature value is greater than the first feature value and the second feature value; or, in response to the feature values ​​and feature vectors not satisfying the first feature condition and the second feature condition, determine the point cloud fitting shape as invalid and filter the corresponding block.

[0019] Optionally, the adjustment module is also used to adjust the first pose data layer by layer based on preset adjustment requirements to obtain the second pose data, wherein the preset adjustment requirements are used to indicate that the point cloud fitting shape is a plane or a line segment block that keeps the point cloud fitting shape unchanged.

[0020] Optionally, the adjustment module is also used to adjust the first pose data layer by layer based on the preset adjustment order and preset adjustment requirements to obtain the second pose data. The preset update order is used to indicate that the pose of the point cloud data of the preset layer block data is adjusted first, and then the pose of the point cloud data in the target block data other than the preset layer block data is adjusted from the top layer of the multi-layer block data downwards.

[0021] Optionally, the adjustment module is also used to stop the adjustment and output the second pose data in response to the adjustment amount of a single pose data being less than a preset adjustment threshold during the layer-by-layer adjustment process.

[0022] According to one embodiment of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored executable program, wherein, when the executable program is running, it controls the device where the computer-readable storage medium is located to execute the pose data adjustment method in the embodiment of the present invention.

[0023] According to one embodiment of the present invention, an electronic device is also provided, including a memory and a processor. The memory stores an executable program, and the processor is configured to run the program to execute the pose data adjustment method in the embodiments of the present invention.

[0024] In this embodiment of the invention, target data including first pose data and first point cloud data is acquired, with a one-to-one correspondence between the first point cloud data and the first pose data. Then, based on the first pose data and a preset window, the first point cloud data is segmented into multiple layers of segmented data, with each layer containing multiple sub-blocks, resulting in target segmented data. This facilitates subsequent processing of smaller sub-blocks, avoiding memory shortages due to excessive data volume, reducing processing complexity, and improving processing speed and efficiency. Next, the lowest-level segmented data in the target segmented data is fitted and analyzed to obtain the point cloud fitting shape of the lowest-level segmented data. Since the lowest-level segmented data better preserves the detailed information of the first point cloud data, determining the point cloud fitting shape of the lowest-level segmented data allows for a better understanding of the morphological features of the object or scene represented by the first point cloud data, achieving efficient processing and visualization of the first point cloud data, and facilitating subsequent adjustments to the pose data. Finally, the first pose data is adjusted based on the fitted point cloud shape to obtain the second pose data. This makes the first point cloud data more consistent with or match the actual scene, thereby optimizing the large-scale mapping process. Thus, the goal of optimizing the large-scale mapping process is achieved, correcting errors at the sensor noise level and improving mapping accuracy. This solves the technical problems of large errors and low mapping accuracy in related laser mapping algorithms. Attached Figure Description

[0025] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this invention, illustrate exemplary embodiments of the invention and are used to explain the invention, but do not constitute an undue limitation of the invention. In the drawings:

[0026] Figure 1 This is a flowchart of a pose data adjustment method according to one embodiment of the present invention;

[0027] Figure 2 This is a schematic diagram illustrating the steps of a pose data adjustment method according to one embodiment of the present invention;

[0028] Figure 3 This is a structural block diagram of a pose data adjustment device according to one embodiment of the present invention. Detailed Implementation

[0029] For ease of understanding, some concepts related to the embodiments of the present invention are explained by way of example for reference.

[0030] As shown below:

[0031] Large-scale laser mapping algorithm: a technology that uses lidar sensors to acquire environmental information and then uses algorithms to convert this information into maps. It is commonly used for the positioning and navigation of autonomous mobile devices such as unmanned vehicles and drones.

[0032] Automatic labeling algorithms: A technology that uses computer programs to automatically add labels or tags to data such as text, images, and audio. These labels can be part-of-speech tagging, entity tagging, sentiment classification, etc., used to describe the characteristics or attributes of the data, providing more convenient retrieval, classification, and analysis.

[0033] Iterative Closest Point (ICP) algorithm: A method that uses an iterative algorithm to find the nearest point in a given set of points. It typically involves calculating the distance between points and making multiple comparisons to find the nearest point.

[0034] Real-time kinematic positioning (RTK) is a technology that can acquire and track the location information of moving objects, people, or vehicles in real time. This positioning technology typically uses the Global Positioning System (GPS), mobile communication networks, or other sensor technologies to help monitor and manage the location of moving targets, and to provide real-time location information and tracking services.

[0035] An Inertial Measurement Unit (IMU) is a device used to measure the acceleration and angular velocity of an object in space. It typically consists of an accelerometer, a gyroscope, and a magnetometer, and can monitor the motion state of an object in real time and output corresponding data.

[0036] Octree: A data structure used for spatial partitioning, commonly used in computer graphics, computer games and other fields.

[0037] Principal Component Analysis (PCA): A commonly used data dimensionality reduction technique that projects the original data into a new coordinate system through linear transformation in order to discover the inherent structure and patterns of the data.

[0038] PoseGraph: A graphical structure used to build and maintain the position and orientation of a robot or mobile device in its environment, enabling real-time tracking of the robot's position and the creation of an environmental map. PoseGraph forms a graphical structure by representing the robot's pose and sensor data as nodes and using edges to represent the connections between those nodes.

[0039] Simultaneous Localization and Mapping (SLAM) is a technology that enables autonomous localization and mapping in unknown environments. It is commonly used in fields such as autonomous driving, robot navigation, and augmented reality.

[0040] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0041] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0042] According to one embodiment of the present invention, an embodiment of a pose data adjustment method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0043] This method embodiment can be executed in an electronic device, similar control device, or system that includes a memory and a processor, located in a vehicle. Taking an electronic device as an example, the electronic device may include one or more processors and a memory for storing data. Optionally, the electronic device may also include a communication device for communication functions. Those skilled in the art will understand that the above structural description is merely illustrative and does not limit the structure of the electronic device. For example, the electronic device may include more or fewer components than described above, or have a different configuration than described above.

[0044] A processor may include one or more processing units. For example, a processor may include a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processing (DSP) chip, a microcontroller unit (MCU), a field-programmable gate array (FPGA), a neural network processing unit (NPU), a tensor processing unit (TPU), or an artificial intelligence (AI) processor. Different processing units may be independent components or integrated into one or more processors. In some instances, electronic devices may also include one or more processors.

[0045] The memory can be used to store computer programs, such as the computer program corresponding to the vehicle behavior control method in this embodiment of the invention. The processor implements the vehicle behavior control method by running the computer program stored in the memory. The memory may include high-speed random access memory and non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory remotely located relative to the processor, and these remote memories can be connected to electronic devices via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0046] Communication equipment is used to receive or send data via a network. Specific examples of the network mentioned above may include a wireless network provided by the vehicle terminal's communication provider. In one example, the communication equipment includes a network interface controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the communication equipment may be a radio frequency (RF) module, used for wireless communication with the Internet.

[0047] This embodiment provides a method for adjusting pose data in an electronic device. Figure 1 This is a flowchart of a pose data adjustment method according to one embodiment of the present invention, such as... Figure 1 As shown, the process includes the following steps:

[0048] Step S10: Obtain target data, which includes first point cloud data and first pose data, with the first pose data corresponding to the first point cloud data.

[0049] Point cloud data is a dataset of numerous discrete points collected by sensors such as LiDAR or cameras. It typically consists of multiple frames acquired by the sensor at different times, representing the 3D information of the surrounding environment. Each single frame of point cloud data contains spatial location information and other possible attributes, such as color and reflectivity, and is commonly used for applications such as 3D model building, map generation, and object detection. Pose data, on the other hand, refers to the pose information of point cloud data, specifically its position and orientation in 3D space. Pose data typically includes the coordinates, rotation angles, and translation amounts of any single frame of point cloud data, describing its position and orientation in the world coordinate system or camera coordinate system. This pose data plays a crucial role in point cloud data processing, registration, reconstruction, and localization applications.

[0050] The target data can be understood as the data required to achieve pose data adjustment, including the first point cloud data and the first pose data. The first point cloud data can be understood as any single frame of point cloud data, and the first pose data can be understood as the single frame of point cloud pose data corresponding to the single frame of point cloud data, that is, the first pose data and the first point cloud data have a one-to-one correspondence.

[0051] For example, the pose data adjustment method proposed in this embodiment of the invention first requires acquiring target data. This target data can include point cloud data from map generation, target detection, and autonomous driving scenarios, such as vehicle point cloud data, road point cloud data, and obstacle point cloud data. Furthermore, any single frame of point cloud data corresponds to the pose data of that single frame. For instance, in an autonomous driving scenario, when the vehicle is driving, it collects point cloud datasets of surrounding roads, buildings, and vehicles (i.e., target data) using LiDAR. Then, it uses a SLAM algorithm to estimate the vehicle's position and orientation, thereby constructing a real-time 3D map to help the vehicle plan and decide on its driving path. In an automatic parking scenario, the vehicle collects point cloud datasets of surrounding parking spaces and obstacles (i.e., target data) using a camera. Then, it uses a point cloud pose estimation algorithm to calculate the vehicle's position and orientation relative to the surrounding environment, helping the vehicle to perform precise parking operations.

[0052] Step S11: Based on the first pose data and the preset window, the first point cloud data is segmented to obtain target segmented data. The target segmented data includes multi-layer segmented data, and any layer of segmented data includes multiple segments.

[0053] The preset window can be a pre-set window for block processing. It should be noted that the size of the preset window needs to be set. The window size setting depends on the actual situation and is not limited here. It is usually a cube with a side length of 1.0 meter, that is, a cube with a volume of 1 cubic meter.

[0054] The target block data can be understood as data obtained by dividing the first point cloud data into blocks based on the first pose data and a preset window. This includes multi-level block data, with each level comprising multiple blocks. The purpose of block processing of the first point cloud data is to spatially divide the data according to the pose after laser mapping, resulting in smaller units for processing. This avoids memory shortages due to excessive data volume, reduces processing complexity, and better utilizes the advantages of parallel computing. Furthermore, block processing improves the visualization and analysis efficiency of the first point cloud data, allowing users to quickly obtain the information they need. Finally, block processing reduces memory usage and computational load during the processing of first point cloud data, improving processing speed and efficiency, and enabling more efficient processing and management of large-scale first point cloud data.

[0055] For example, after acquiring the target data, the first point cloud data is segmented based on the first pose data and a preset window to obtain segmented first point cloud data, so as to better process and analyze large-scale first point cloud data.

[0056] Step S12: Determine the point cloud fitting shape of the preset layer block data, wherein the preset layer block data is the block data at the lowest level of the multi-layer block data, and the point cloud fitting shape is used to represent the distribution state of the point cloud data of any block in the preset layer block data.

[0057] Point cloud morphology fitting refers to using mathematical models or algorithms to fit and analyze point cloud data, thereby obtaining the morphological features of the objects or scenes represented by the point cloud data. This method can be used to identify the shape, surface features, and contours of objects, and is commonly used in fields such as 3D reconstruction, object recognition, and machine vision. Common point cloud fitting shapes include planes, curved surfaces, cylinders, and spheres. By performing morphological fitting on point cloud data, we can better understand the morphological features of the objects or scenes represented by the point cloud data.

[0058] Preset layered data can be understood as the lowest-level block data in a multi-layered block data structure obtained by dividing the first point cloud data into blocks. The lowest level represents the entire point cloud data; dividing the point cloud data to the lowest level better preserves the detailed information of the point cloud, allowing for a more accurate representation of the original data's features and shape during subsequent processing or visualization. Furthermore, point cloud layering can help reduce computational load and improve processing speed, making the processing of large-scale point cloud data more efficient. Therefore, dividing the point cloud layer to the lowest level allows for more efficient processing and visualization of point cloud data.

[0059] For example, the point cloud fitting shape is used to represent the distribution shape of point cloud data in any block of the preset layer block data. By performing shape analysis on the point cloud data of any block of the preset layer block data, the distribution state of the point cloud data is determined, thereby enabling a better understanding and description of the distribution of the point cloud data and effectively identifying objects or scenes in the point cloud data.

[0060] Step S13: Adjust the first pose data based on the point cloud fitting shape to obtain the second pose data.

[0061] Adjusting the pose data based on the fitted shape of the point cloud involves adjusting the pose data of the point cloud based on the fitted shape of the existing point cloud data. This usually involves using fitting shape algorithms, such as least squares fitting and maximum likelihood fitting, to analyze and fit the morphological features of the point cloud. Then, the pose data of the point cloud is adjusted based on the fitting results to make the point cloud more consistent with or match the actual scene, thereby optimizing the large-scale mapping process.

[0062] As can be seen, this invention acquires target data including first pose data and first point cloud data, with a one-to-one correspondence between the first point cloud data and the first pose data. Then, based on the first pose data and a preset window, the first point cloud data is segmented into multiple layers of segmented data, with each layer containing multiple sub-blocks, resulting in target segmented data. This facilitates subsequent processing of smaller sub-blocks, avoiding memory shortages due to excessive data volume, while reducing processing complexity and improving processing speed and efficiency. Next, the lowest-level segmented data in the target segmented data is fitted and analyzed to obtain the point cloud fitting shape of the lowest-level segmented data. Since the lowest-level segmented data better preserves the detailed information of the first point cloud data, determining the point cloud fitting shape of the lowest-level segmented data allows for a better understanding of the morphological features of the object or scene represented by the first point cloud data, achieving efficient processing and visualization of the first point cloud data, and facilitating subsequent adjustments to the pose data. Finally, the first pose data is adjusted based on the fitted shape of the point cloud to obtain the second pose data, which makes the first point cloud data more consistent with or match the actual scene, thereby optimizing the large-scale mapping process and further effectively solving the problem of low mapping accuracy caused by large errors in laser mapping algorithms due to the noise level of the sensor.

[0063] Through the above steps, target data including first pose data and first point cloud data is acquired, with a one-to-one correspondence between the first point cloud data and the first pose data. Then, based on the first pose data and a preset window, the first point cloud data is segmented into multiple layers of segmented data, with each layer containing multiple sub-blocks, resulting in target segmented data. This facilitates subsequent processing of smaller sub-blocks, avoiding memory shortages due to excessive data volume, reducing processing complexity, and improving processing speed and efficiency. Next, the lowest-level segmented data in the target segmented data is fitted and analyzed to obtain the point cloud fitting shape of the lowest-level segmented data. Since the lowest-level segmented data better preserves the detailed information of the first point cloud data, determining the point cloud fitting shape of the lowest-level segmented data allows for a better understanding of the morphological features of the object or scene represented by the first point cloud data, achieving efficient processing and visualization of the first point cloud data, and facilitating subsequent adjustments to the pose data. Finally, the first pose data is adjusted based on the fitted point cloud shape to obtain the second pose data. This makes the first point cloud data more consistent with or match the actual scene, thereby optimizing the large-scale mapping process. Thus, the goal of optimizing the large-scale mapping process is achieved, thereby correcting errors at the sensor noise level and improving mapping accuracy. This solves the technical problems of large errors and low mapping accuracy in related laser mapping algorithms.

[0064] Optionally, in step S10, obtaining the target data includes the following execution steps:

[0065] Step S100: Acquire second point cloud data based on vehicle sensors;

[0066] Step S101: Perform distortion removal and filtering on the second point cloud data to obtain the first point cloud data;

[0067] Step S102: Use laser mapping to determine the pose corresponding to the first point cloud data to obtain the first pose data.

[0068] For example, vehicle sensors may include, but are not limited to, vision sensors, distance sensors, radar sensors, inertial sensors, and environmental sensors. Vision sensors are used to capture image information about the vehicle's surroundings, including cameras and infrared sensors. Distance sensors are used to measure the distance between the vehicle and obstacles, including ultrasonic sensors, lidar, and cameras. Radar sensors are used to detect objects and obstacles around the vehicle, including microwave radar and millimeter-wave radar. Inertial sensors are used to detect changes in the vehicle's acceleration, velocity, and direction, typically including accelerometers, gyroscopes, and magnetometers. Environmental sensors are used to monitor environmental conditions around the vehicle, including temperature sensors, humidity sensors, and gas sensors.

[0069] The second point cloud data can be understood as the point cloud data continuously collected by sensors in a three-dimensional spatial environment, i.e., the original point cloud. Distortion removal and filtering are performed on the second point cloud data to obtain the first point cloud data. Distortion removal addresses point cloud data that may be distorted due to equipment inherent distortion or environmental factors. A distortion model is used to correct the distortion, converting the point cloud data into data in a real-world coordinate system. Filtering removes noise and invalid points from the collected point cloud data, retaining only valid points. Common filtering methods include voxel filtering, Gaussian filtering, and statistical filtering. These methods can be selected and adjusted based on the density, distribution, and application scenario of the point cloud data. Distortion removal and filtering improve the quality and accuracy of the point cloud data. For example, using wheel speed sensors, odometer errors caused by small-scale vehicle swaying during forward and reverse transitions can be filtered out; using an IMU (Imaging and Measurement Unit) system, data from sudden braking can be filtered out.

[0070] For example, distortion-reducing and filtering processes are performed on the second point cloud data acquired by various vehicle sensors to obtain the first point cloud data. Laser mapping is then used to determine the pose corresponding to the first point cloud data, thus obtaining the first pose data. Here, the transformation of each single-frame point cloud to the initial pose can be understood as follows: the vehicle sensors continuously acquire point cloud data, and the initial pose is the pose corresponding to the point cloud in frame 0. The purpose of transforming to the initial pose is to unify the coordinate system; subsequent pose transformations in each frame are based on the coordinate system of frame 0.

[0071] Optionally, in step S11, the first point cloud data is divided into blocks based on the first pose data and a preset window to obtain the target block data, including the following steps:

[0072] Step S110: Determine change data based on the first pose data, wherein the change data is used to represent the distance and angle changes between single frame pose data in the first pose data;

[0073] Step S111: Based on the changing data and the preset window, the first point cloud data is divided into blocks to obtain the target block data.

[0074] In this embodiment of the invention, when dividing the first point cloud data into blocks based on the first pose data and a preset window to obtain the target block data, the change data can be determined first based on the first pose data. It can be understood that the change data determined based on the first pose data includes the distance and angle between pose data within a single frame of the first pose data. The distance change between point cloud pose data refers to the positional difference between point cloud data acquired at different times or spatial locations, which can be achieved by calculating the Euclidean distance or other distance metrics between point clouds. The angle change refers to the rotational difference between point cloud data acquired at different times or spatial locations, which can be achieved by calculating the difference between the rotation matrices or Euler angles between point clouds. In summary, the distance and angle changes between point cloud pose data can be used to describe the changes in point cloud data.

[0075] After determining the changing data, the first point cloud data is segmented according to the determined changing data and a preset window to obtain the target segmented data. For example, the segmentation level can be determined based on the distance and angle changes between single-frame pose data in the first pose data. For instance, if the distance or angle changes between single-frame pose data exceed a certain threshold, they can be divided into different levels, thereby segmenting the single-frame point cloud data into different parts for easier subsequent processing and analysis. After determining the levels, the point cloud data in each level is segmented according to the preset window to obtain the target segmented data.

[0076] For example, methods for segmenting point cloud data typically include: gridded segmentation, which divides the point cloud data into grids according to coordinates; Kd-tree segmentation, which uses a Kd-tree data structure to segment the point cloud data; voxel-based segmentation, which segments the point cloud data according to a certain voxel size; clustering-based segmentation, which uses a clustering algorithm to segment the point cloud data; and geometric feature-based segmentation, which segments the point cloud data according to its geometric features (such as curvature, normal direction, etc.).

[0077] The method for segmenting point cloud data in this invention is octree meshing. Octree hierarchical partitioning refers to dividing the three-dimensional space layer by layer, with each layer dividing the space into eight equal-sized cubes. In octree hierarchical partitioning, the entire space is first divided into a large cube, then this large cube is divided into eight smaller cubes, each representing one-eighth of the entire space. This same partitioning is then performed on each smaller cube until the desired level is reached, i.e., the bottom-level mesh. In each layer of partitioning, the octree recursively partitions the space as needed until certain conditions are met, such as reaching a specified level or the number of objects within the space reaching a certain threshold. Octree hierarchical partitioning can help quickly locate and process objects in space, as well as perform spatial queries and collision detection operations.

[0078] After the first point cloud data is segmented based on the changing data and the preset window, the target segmented data is obtained. The target segmented data includes multi-level segmented data, and each level of segmented data includes multiple segments.

[0079] Optionally, in step S12, determining the point cloud fitting shape of the preset layer block data includes the following steps:

[0080] Step S120: Filter the preset layer block data according to preset filtering conditions to obtain filtered block data. The preset filtering conditions are used to filter blocks in the preset layer block data whose point cloud data is less than a preset point cloud threshold.

[0081] Step S121: Determine the target value of any block in the filtered block data, wherein the target value includes the mean and covariance;

[0082] Step S122: Determine the feature value and feature vector of any block based on the target value, wherein the feature value corresponds to the feature vector;

[0083] Step S123: Determine the point cloud fitting shape of any block based on the feature values ​​and feature vectors.

[0084] The preset filtering conditions can be pre-set processing conditions for filtering data in preset layer blocks. The preset point cloud threshold can be understood as a pre-set lower limit for the number of point cloud data in each grid. The preset point cloud threshold can be determined according to the actual situation and is not limited here. For example, in this invention, the filtering conditions are set to filter out grids with too few point cloud data, that is, to filter out grids with fewer than 20 point cloud data.

[0085] The target value can be the target value of any block in the filtered data, including the mean and covariance. The mean of a grid represents the average location of points within that grid, while the covariance represents the distribution of points within that grid. By analyzing the mean and covariance, we can understand the concentration and distribution of point cloud data within the grid, which is helpful for analyzing and processing point cloud data.

[0086] Based on the target value, the eigenvalues ​​and eigenvectors of any block are determined. Eigenvalues ​​and eigenvectors are mathematical concepts used to describe the geometric features of a point cloud mesh. Eigenvalues ​​describe the curvature of the point cloud mesh, representing the degree of data variation in a certain direction, while eigenvectors describe the direction of curvature, representing the direction of data variation in that direction. Based on the eigenvalues ​​and eigenvectors, the local shape features of the point cloud mesh, such as edges and corners, can be determined. The eigenvalues ​​and eigenvectors correspond to each other.

[0087] For example, the preset layer block data is filtered according to preset filtering conditions, removing grids with fewer than 20 point cloud data points to obtain filtered block data. Then, the mean and covariance of any block in the filtered block data are determined. Eigenvalues ​​and eigenvectors are calculated based on the mean and covariance of the grid, and the point cloud fitting shape of any block is determined based on the eigenvalues ​​and eigenvectors. The eigenvalues ​​and eigenvectors can be obtained by calculating the PCA distribution of the point set. For example, the original data is first centered by subtracting the mean of the corresponding feature in the original data from the mean of each feature, resulting in centered data. Then, the covariance matrix of the centered data is calculated. Finally, eigenvalue decomposition is performed on the covariance matrix to obtain eigenvalues ​​and corresponding eigenvectors. Finally, shape analysis is performed on any point cloud grid based on the eigenvalues ​​and eigenvectors to determine the point cloud fitting shape of any block.

[0088] Optionally, in step S122, the feature values ​​include a first feature value, a second feature value, and a third feature value. The first feature value is the feature value in the direction of the first feature vector, the second feature value is the feature value in the direction of the second feature vector, and the third feature value is the feature value in the direction of the third feature vector. Determining the point cloud fitting shape of any block based on the feature values ​​and feature vectors includes the following execution steps:

[0089] Step S1220: In response to the eigenvalues ​​and eigenvectors satisfying the first feature condition, the point cloud fitting shape is determined to be planar, wherein the first feature condition is used to indicate that the error between the first eigenvalue and the second eigenvalue is within a first error range, the error between the third eigenvalue and the first eigenvalue and the second eigenvalue is within a second error range, and the third eigenvalue is less than the first eigenvalue and the second eigenvalue; or,

[0090] Step S1221: In response to the eigenvalues ​​and eigenvectors satisfying the second feature condition, the point cloud fitting shape is determined to be a line segment, wherein the second feature condition is used to indicate that the error between the first and second eigenvalues ​​is within a first error range, the error between the third eigenvalue and the first and second eigenvalues ​​is within a second error range, and the third eigenvalue is greater than the first and second eigenvalues; or,

[0091] Step S1222: In response to the fact that the feature values ​​and feature vectors do not satisfy the first feature condition and the second feature condition, the point cloud fitting shape is determined to be invalid and the corresponding block is filtered.

[0092] The first, second, and third eigenvalues ​​are calculated from the mean and covariance of the point cloud mesh. The first eigenvalue corresponds to the first eigenvector, the second eigenvalue to the second eigenvector, and the third eigenvalue to the third eigenvector. Each eigenvalue represents the local curvature of the point cloud data at a given point. For example, the first eigenvalue is the maximum value of the principal curvature, representing the maximum degree of curvature at that point; the second eigenvalue is the median value of the principal curvature, representing the moderate degree of curvature at that point; and the third eigenvalue is the minimum value of the principal curvature, representing the minimum degree of curvature at that point. By analyzing the magnitudes of these three eigenvalues ​​and their corresponding eigenvectors, the curvature of the point cloud data at a given point can be described, thus determining whether the surface containing that point is a plane, a curve, or another shape.

[0093] When the eigenvalues ​​satisfy the first eigenvalue condition, the fitted shape of the point cloud is determined to be planar. The first eigenvalue condition can be understood as the condition that the first, second, and third eigenvalues ​​must satisfy to determine that the fitted shape of the point cloud is planar. It indicates that the error between the first and second eigenvalues ​​is within a first error range, the error between the third eigenvalue and the first and second eigenvalues ​​is within a second error range, and the third eigenvalue is smaller than both the first and second eigenvalues. In other words, the first and second eigenvalues ​​are close with relatively small errors, while the third eigenvalue has relatively large errors compared to both the first and second eigenvalues, and is smaller than both. Specifically, the first error range can be understood as the relatively small error between two eigenvalues, and the second error range as the relatively large error between two eigenvalues.

[0094] When the eigenvalues ​​satisfy the second eigenvalue condition, the fitted shape of the point cloud is determined to be a line segment. The second eigenvalue condition can be understood as the condition that the first, second, and third eigenvalues ​​must satisfy when determining that the fitted shape of the point cloud is a line segment. It is used to indicate that the error between the first and second eigenvalues ​​is within the first error range, the error between the third eigenvalue and the first and second eigenvalues ​​is within the second error range, and the third eigenvalue is greater than the first and second eigenvalues. That is, the first and second eigenvalues ​​are close and their errors are relatively small, the error between the third eigenvalue and the first and second eigenvalues ​​is relatively large, and the third eigenvalue is greater than the first and second eigenvalues.

[0095] When the feature value does not meet the first feature condition and the second feature condition, the point cloud fitting shape is determined to be invalid and the corresponding block is filtered. That is, when the fitting shape of the point cloud is not a plane or a line segment, the feature distribution is closer to a sphere, and the changes in all directions are relatively uniform with no obvious directionality. The optimization algorithm may have difficulty finding obvious gradient directions or optimization directions, making the optimization process difficult. Therefore, the corresponding block grid is filtered.

[0096] Optionally, in step S13, adjusting the first pose data based on the point cloud fitting shape to obtain the second pose data includes:

[0097] The first pose data is adjusted layer by layer based on the preset adjustment requirements to obtain the second pose data. The preset adjustment requirements are used to indicate that the point cloud fitting shape is planar and the block segmentation keeps the point cloud fitting shape unchanged.

[0098] The preset adjustment requirements can be understood as pre-set point cloud pose adjustment requirements. These requirements indicate that the planar shape of the point cloud should remain unchanged; that is, when adjusting the first pose data, the first pose data within the planar shape block should not be adjusted. Since planar point cloud data accurately reflects the shape and position of the actual object and preserves the local structural features of the point cloud, maintaining its integrity and validity, the preset adjustment requirements are used to ensure that the planar shape of the point cloud remains unchanged.

[0099] When the point cloud fitting shape is a line segment, the fitting shape of that block is adjusted to a plane first. That is, the first pose data within the block where the point cloud fitting shape is a line segment is adaptively adjusted so that the point cloud fitting shape of the adjusted block is planar. Alternatively, when the point cloud fitting shape is a line segment, the point cloud fitting shape is kept as a line segment, that is, the first pose data within the block where the point cloud fitting shape is a line segment is not adjusted.

[0100] When the fitted shape of a point cloud is invalid, its pose can be adjusted as much as possible to transform it into a line segment or plane. However, since point cloud data with invalid fitted shapes lacks obvious directionality, optimization algorithms may struggle to find a clear gradient or optimization direction. Therefore, it is usually difficult to adjust and optimize. So, if the fitted shape cannot be transformed into a line segment or plane, the point cloud data should be discarded.

[0101] In this embodiment of the invention, the purpose of the preset adjustment requirements is to maintain the pose of point cloud data with a planar fitting shape unchanged. This is achieved by adjusting the pose of point cloud data with a line segment fitting shape, changing its fitting shape from a line segment to a plane, or by not adjusting the pose of point cloud data with a line segment fitting shape, thus maintaining its line segment fitting shape. Furthermore, the pose of invalid point cloud data with an invalid fitting shape is adjusted as much as possible, changing its fitting shape to a line segment or a plane. However, since invalid point cloud data is usually difficult to adjust and optimize, if its fitting shape cannot be adjusted to a line segment or a plane, the point cloud data is discarded. Adjustments are performed layer by layer according to the preset adjustment requirements, maintaining the pose of point cloud data with a planar fitting shape unchanged. This ensures that the adjusted pose accurately reflects the shape and position of the actual object, preserves the local structural features of the point cloud, and maintains the integrity and validity of the point cloud data.

[0102] Optionally, in step S13, the first pose data is adjusted layer by layer based on preset adjustment requirements to obtain the second pose data, including:

[0103] The first pose data is adjusted layer by layer based on the preset adjustment order and preset adjustment requirements to obtain the second pose data. The preset update order is used to indicate that the pose of the point cloud data of the preset layer block data is adjusted first, and then the pose of the point cloud data of the target block data other than the preset layer block data is adjusted from the top of the multi-layer block data downwards.

[0104] The preset adjustment order can be a pre-defined sequence for adjusting the first pose data layer by layer. This indicates that the pose of the point cloud data in the preset layer block data is adjusted first, and then the pose of the point cloud data in the target block data, excluding the preset layer block data, is adjusted from the top layer down through the multi-layer block data. That is, during the layer-by-layer adjustment, the bottom layer block is adjusted first, and then the multi-layer block data is adjusted in a top-down order.

[0105] For example, after obtaining the fitted shape of the point cloud, the first pose data is adjusted layer by layer based on the preset adjustment order and preset adjustment requirements to obtain the second pose data, thereby realizing the optimization adjustment of the point cloud data.

[0106] Optionally, in step S13, during the layer-by-layer adjustment process, in response to the adjustment amount of a single pose data being less than a preset adjustment threshold, the adjustment is stopped and the second pose data is output.

[0107] The preset adjustment threshold can be understood as the amount of adjustment to the pose data in each round of optimization. Essentially, the preset adjustment threshold is the value of the pose adjustment during each round of optimization. If this value is very small—for example, the change in position and orientation is less than a very small value, meaning the pose no longer changes—the optimization stops. In other words, when the adjustment amount of the pose data is greater than the preset adjustment threshold, the first pose data continues to be adjusted layer by layer; when the adjustment amount of the pose data is less than the preset adjustment threshold, layer-by-layer adjustment stops and the second pose data is output.

[0108] Figure 2 This is a schematic diagram illustrating the steps of a pose data adjustment method according to one embodiment of the present invention, as shown below. Figure 2 As shown, pose data adjustment first involves acquiring preprocessed point cloud and pose data. Then, based on the first pose data, a preset window size, and an octree mesh structure, the point cloud data is hierarchically divided and processed into blocks. Next, the bottom layer of the divided mesh is fitted to determine whether the fitted point cloud shape is planar or linear. The bottom layer is then bundled and adjusted. This bundled adjustment refers to optimizing various line and surface features (plane normals, line orientations) of the assembled point cloud associated with the pose while optimizing the pose itself, aiming to improve the accuracy of the initial pose estimation. Then, PoseGraph optimization is performed on the multi-layered block data (excluding the bottom layer) in a top-down order. After the bottom layer's bundled adjustment, the bottom layer's pose is updated. Finally, the hierarchical generation of the PoseGraph yields the adjusted poses of all frames. It is then determined whether the iterative optimization has reached a threshold. If not, hierarchical division continues; if the threshold has been reached, the adjusted poses are output.

[0109] This invention acquires target data, including first point cloud data and first pose data, with the first pose data corresponding to the first point cloud data. Based on the first pose data and a preset window, the first point cloud data is segmented to obtain target segmented data, which includes multi-layered segmented data, with each layer comprising multiple blocks. A point cloud fitting shape is determined for the preset layer segmented data, where the preset layer segmented data is the lowest layer of the multi-layered data, and the point cloud fitting shape represents the distribution state of the point cloud data in any block within the preset layer segmented data. Based on the point cloud fitting shape, the first pose data is adjusted to obtain second pose data. This achieves the goal of optimizing the large-scale mapping process, thereby correcting errors at the sensor noise level and improving mapping accuracy, thus solving the technical problems of large errors and low mapping accuracy in related laser mapping algorithms.

[0110] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause the air pressure adjustment system of a vehicle or air conditioner to execute the methods described in the various embodiments of the present invention.

[0111] This embodiment also provides a pose data adjustment device for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0112] Figure 3 This is a structural block diagram of a pose data adjustment device according to one embodiment of the present invention, such as... Figure 3 As shown, taking the pose data adjustment device 40 as an example, the device includes: an acquisition module 41, used to acquire target data, wherein the target data includes first point cloud data and first pose data, and the first pose data corresponds to the first point cloud data; a block segmentation module 42, used to perform block processing on the first point cloud data based on the first pose data and a preset window to obtain target block data, wherein the target block data includes multi-layer block data, and any layer of block data includes multiple blocks; a determination module 43, used to determine the point cloud fitting shape of the preset layer block data, wherein the preset layer block data is the lowest layer block data in the multi-layer block data, and the point cloud fitting shape is used to represent the distribution state of the point cloud data of any block in the preset layer block data; and an adjustment module 44, used to adjust the first pose data based on the point cloud fitting shape to obtain second pose data.

[0113] Optionally, the acquisition module 41 is further configured to acquire second point cloud data based on vehicle sensors; perform distortion removal and filtering processing on the second point cloud data to obtain first point cloud data; and use laser mapping to determine the pose corresponding to the first point cloud data to obtain first pose data.

[0114] Optionally, the segmentation module 42 is further configured to determine change data based on the first pose data, wherein the change data is used to represent the distance and angle changes between single-frame pose data in the first pose data; and to perform segmentation processing on the first point cloud data based on the change data and a preset window to obtain target segmented data.

[0115] Optionally, the determining module 43 is further configured to filter the preset layer block data according to preset filtering conditions to obtain filtered block data, wherein the preset filtering conditions are used to filter blocks in the preset layer block data whose point cloud data is less than a preset point cloud threshold; determine the target value of any block in the filtered block data, wherein the target value includes the mean and covariance; determine the feature value and feature vector of any block based on the target value, wherein the feature value corresponds to the feature vector; and determine the point cloud fitting shape of any block according to the feature value and feature vector.

[0116] Optionally, the feature values ​​include a first feature value, a second feature value, and a third feature value. The first feature value is the feature value in the direction of the first feature vector, the second feature value is the feature value in the direction of the second feature vector, and the third feature value is the feature value in the direction of the third feature vector. The determining module 43 is further configured to determine the point cloud fitting shape as a plane in response to the feature values ​​and feature vectors satisfying the first feature condition, wherein the first feature condition indicates that the error between the first feature value and the second feature value is within a first error range, the error between the third feature value and the first feature value and the second feature value is within a second error range, and the third feature value is less than the first feature value and the second feature value; or, in response to the feature values ​​and feature vectors satisfying the second feature condition, determine the point cloud fitting shape as a line segment, wherein the second feature condition indicates that the error between the first feature value and the second feature value is within a first error range, the error between the third feature value and the first feature value and the second feature value is within a second error range, and the third feature value is greater than the first feature value and the second feature value; or, in response to the feature values ​​and feature vectors not satisfying the first feature condition and the second feature condition, determine the point cloud fitting shape as invalid and filter the corresponding block.

[0117] Optionally, the adjustment module 44 is further configured to adjust the first pose data layer by layer based on preset adjustment requirements to obtain the second pose data, wherein the preset adjustment requirements are used to indicate that the point cloud fitting shape is a plane or a line segment, and the block segmentation of the point cloud fitting shape remains unchanged.

[0118] Optionally, the adjustment module 44 is further configured to adjust the first pose data layer by layer based on a preset adjustment order and preset adjustment requirements to obtain the second pose data. The preset update order is used to indicate that the pose of the point cloud data of the preset layer block data is adjusted first, and then the pose of the point cloud data other than the preset layer block data in the target block data is adjusted from the top layer of the multi-layer block data downwards.

[0119] Optionally, the adjustment module 44 is also used to stop the adjustment and output the second pose data in response to the adjustment amount of a single pose data being less than a preset adjustment threshold during the layer-by-layer adjustment process.

[0120] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0121] Embodiments of the present invention also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to perform the steps in any of the above method embodiments when run on a computer or processor.

[0122] Optionally, in this embodiment, the computer-readable storage medium may be configured to store a computer program for performing the following steps:

[0123] Step S10: Obtain target data, wherein the target data includes first point cloud data and first pose data, and the first pose data corresponds to the first point cloud data;

[0124] Step S11: Based on the first pose data and the preset window, the first point cloud data is divided into blocks to obtain target block data. The target block data includes multi-layer block data, and any layer of block data includes multiple blocks.

[0125] Step S12: Determine the point cloud fitting shape of the preset layer block data, wherein the preset layer block data is the block data at the lowest level of the multi-layer block data, and the point cloud fitting shape is used to represent the distribution state of the point cloud data of any block in the preset layer block data.

[0126] Step S13: Adjust the first pose data based on the point cloud fitting shape to obtain the second pose data.

[0127] Optionally, in this embodiment, the computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0128] Embodiments of the present invention also provide an electronic device including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0129] Optionally, in this embodiment, the processor in the above-described electronic device may be configured to run a computer program to perform the following steps:

[0130] Step S10: Obtain target data, wherein the target data includes first point cloud data and first pose data, and the first pose data corresponds to the first point cloud data;

[0131] Step S11: Based on the first pose data and the preset window, the first point cloud data is divided into blocks to obtain target block data. The target block data includes multi-layer block data, and any layer of block data includes multiple blocks.

[0132] Step S12: Determine the point cloud fitting shape of the preset layer block data, wherein the preset layer block data is the block data at the lowest level of the multi-layer block data, and the point cloud fitting shape is used to represent the distribution state of the point cloud data of any block in the preset layer block data.

[0133] Step S13: Adjust the first pose data based on the point cloud fitting shape to obtain the second pose data.

[0134] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated here.

[0135] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0136] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0137] In the several embodiments provided by this invention, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection can be through some interfaces; the indirect coupling or communication connection of units or modules can be electrical or other forms.

[0138] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0139] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0140] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0141] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A pose data adjustment method, characterized in that, The method comprises: obtaining target data, wherein the target data comprises first point cloud data and first pose data corresponding to the first point cloud data; performing block processing on the first point cloud data based on the first pose data and a preset window to obtain target block data, wherein the target block data comprises a plurality of layers of block data, and any layer of block data comprises a plurality of blocks; determining a point cloud fitting form of preset layer block data, wherein the preset layer block data is the bottom layer of block data in the plurality of layers of block data, and the point cloud fitting form is used to represent the distribution state of the point cloud data of any block in the preset layer block data; adjusting the first pose data based on the point cloud fitting form to obtain second pose data.

2. The method of claim 1, wherein, The obtaining target data comprises: obtaining second point cloud data based on a vehicle sensor; performing distortion removal and filtering processing on the second point cloud data to obtain first point cloud data; determining the pose corresponding to the first point cloud data by laser mapping to obtain the first pose data.

3. The method of claim 1, wherein, The block processing on the first point cloud data based on the first pose data and the preset window to obtain the target block data comprises: determining change data based on the first pose data, wherein the change data is used to represent the distance and angle change between single frame pose data in the first pose data; performing block processing on the first point cloud data based on the change data and the preset window to obtain the target block data.

4. The method of claim 1, wherein, The determination of the point cloud fitting form of the preset layer block data comprises: performing filtering processing on the preset layer block data according to a preset filtering condition to obtain filtered block data, wherein the preset filtering condition is used to filter the blocks in the preset layer block data whose point cloud data is less than a preset point cloud threshold; determining a target value of any block in the filtered block data, wherein the target value comprises a mean value and a covariance; determining an eigenvalue and an eigenvector of any block based on the target value, wherein the eigenvalue corresponds to the eigenvector; determining the point cloud fitting form of any block according to the eigenvalue and the eigenvector.

5. The method of claim 4, wherein, The eigenvalue comprises a first eigenvalue, a second eigenvalue and a third eigenvalue, the first eigenvalue is an eigenvalue in the direction of a first eigenvector, the second eigenvalue is an eigenvalue in the direction of a second eigenvector, and the third eigenvalue is an eigenvalue in the direction of a third eigenvector, and the determination of the point cloud fitting form of any block according to the eigenvalue and the eigenvector comprises: in response to the eigenvalue and the eigenvector satisfying a first feature condition, determining that the point cloud fitting form is a plane, wherein the first feature condition is used to represent that the error of the first eigenvalue and the second eigenvalue is within a first error range, the error of the third eigenvalue and the first eigenvalue and the second eigenvalue is within a second error range, and the third eigenvalue is less than the first eigenvalue and the second eigenvalue; or in response to the feature value and the feature vector satisfying a second feature condition, determining that the point cloud fitting form is a line segment, wherein the second feature condition is used to represent that errors of the first feature value and the second feature value are within the first error range, an error of the third feature value and the first feature value and the second feature value is within the second error range, and the third feature value is greater than the first feature value and the second feature value; or in response to the feature value and the feature vector not satisfying the first feature condition and the second feature condition, determining that the point cloud fitting form is invalid and filtering the corresponding block.

6. The method of claim 5, wherein, The adjusting the first pose data based on the point cloud fitting form to obtain second pose data includes: adjusting the first pose data layer by layer based on a preset adjustment requirement to obtain the second pose data, wherein the preset adjustment requirement is used to represent that a block with a point cloud fitting form being a plane keeps the point cloud fitting form unchanged.

7. The method of claim 6, wherein the adjusting the first pose data layer by layer based on a preset adjustment requirement to obtain the second pose data includes: adjusting the first pose data layer by layer based on a preset adjustment sequence and the preset adjustment requirement to obtain the second pose data, wherein the preset update sequence is used to represent that the pose of the point cloud data of the preset layer block data is adjusted first, and then the pose of the point cloud data of the target block data except the preset layer block data is adjusted from the top layer to the bottom layer in the multi-layer block data.

8. A pose data adjustment apparatus, characterized by comprising: comprising: an acquisition module configured to acquire target data, wherein the target data includes first point cloud data and first pose data corresponding to the first point cloud data; a block module configured to perform block processing on the first point cloud data based on the first pose data and a preset window to obtain target block data, wherein the target block data includes multi-layer block data, and any layer block data includes a plurality of blocks; a determination module configured to determine a point cloud fitting form of preset layer block data, wherein the preset layer block data is the block data of the bottom layer in the multi-layer block data, and the point cloud fitting form is used to represent a distribution state of point cloud data of any block in the preset layer block data; an adjustment module configured to adjust the first pose data based on the point cloud fitting form to obtain second pose data.

9. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, wherein the computer program is configured to execute the pose data adjustment method described in any one of claims 1 to 7 when running on a computer or a processor. 10.An electronic device comprising a memory and a processor, the electronic device characterized by, The memory stores a computer program, and the processor is configured to execute the pose data adjustment method described in any one of claims 1 to 8 by running the computer program.