Pose correction method, electronic equipment, storage medium and program product
By extracting the reference and point cloud data to be corrected in the vehicle-road collaboration system, the ground and static target point clouds were extracted respectively, and the pose change matrix was obtained using the point cloud registration method, and the point cloud data was corrected, which solved the dynamic The problem of degradation of position correction accuracy caused by target interference improves positioning accuracy.
Patent Information
- Application Number
- CN202411561259.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-04
- Publication Date
- 2025-02-18
AI Technical Summary
The prior art in vehicle-road collaboration systems causes the accuracy of lidar position correction to decrease due to interference from dynamic targets, affecting positioning accuracy.
By obtaining single-frame point cloud data timing of the device as the reference point cloud data, as well as the single-frame point cloud data to be corrected during the device operation, the ground point cloud and non-ground point clouds of static targets are extracted respectively, and point cloud registration is used Methods obtain the relative pose change matrix and correct the corrected point cloud data.
Reduces the impact of dynamic targets on position correction accuracy in the scene, improves the accuracy of point cloud registration, realizes automatic correction of lidar position, ensures positioning accuracy, and provides more reliable and accurate vehicle-road collaboration system. location information.
Smart Images

Figure CN119478042A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a posture correction method, electronic equipment, storage medium and program product. Background Art
[0002] Vehicle-road collaboration achieves this by installing various sensors in road infrastructure, such as cameras, millimeter-wave radars, and lidars. Lidars have higher positioning accuracy and can achieve higher positioning accuracy than other sensors. However, in actual use, vibrations and other reasons may cause fasteners to loosen, causing the lidar to have a certain posture change relative to the initial calibration, which in turn causes changes in positioning accuracy.
[0003] However, in actual use, the installation status of the LiDAR may be affected by various factors, such as road vibration, temperature changes, or human error. These factors may cause the fasteners of the LiDAR to loosen, causing the LiDAR to change its position relative to its initial calibration state, thereby causing a change in positioning accuracy.
[0004] In order to deal with this problem, existing technologies usually adopt point cloud registration methods such as ICP or NTP to correct the posture of the lidar. In actual scenes, dynamic targets (such as moving vehicles, pedestrians, etc.) are ubiquitous. These dynamic targets will generate a large amount of change information in the point cloud data, thereby interfering with the calculation results of point cloud registration algorithms such as ICP or NTP. When there are many dynamic targets, the accuracy of the algorithm will be seriously affected, resulting in poor posture correction effect. Summary of the invention
[0005] In view of the shortcomings of the prior art, the present invention provides a posture correction method, an electronic device, a storage medium and a program product, which aim to solve the problem of decreased positioning accuracy caused by posture changes in the prior art, improve the accuracy of point cloud registration, and provide more reliable and accurate positioning information for the vehicle-road cooperative system.
[0006] In order to achieve the above purpose and other advantages, the present invention adopts the following technical solutions:
[0007] In a first aspect, the present invention provides a posture correction method, comprising:
[0008] Obtain single-frame point cloud data during equipment calibration as reference point cloud data, as well as single-frame point cloud data to be corrected during equipment operation;
[0009] Based on the reference point cloud data and the point cloud data to be corrected, respectively extracting a ground point cloud and a non-ground point cloud of a static target;
[0010] Based on the ground point cloud and the non-ground point cloud, a relative pose change matrix between the reference point cloud data and the point cloud data to be corrected is obtained by a point cloud registration method;
[0011] Based on the relative posture change matrix, the point cloud data to be corrected is corrected.
[0012] According to a posture correction method provided by the present invention, the step of respectively extracting a ground point cloud and a non-ground point cloud of a static target based on the reference point cloud data and the point cloud data to be corrected comprises:
[0013] Downsampling the reference point cloud data and the point cloud data to be corrected;
[0014] Perform ground segmentation on the downsampled point cloud and obtain the ground equation;
[0015] Based on the ground equation, the ground point cloud and the non-ground point cloud of the static object are obtained.
[0016] According to a posture correction method provided by the present invention, the step of performing ground segmentation on the downsampled point cloud data and obtaining a ground equation comprises:
[0017] Based on the installation height of the device, a plane fitting algorithm is used to perform ground segmentation on the downsampled point cloud to determine the plane equation;
[0018] Using PCA principal component analysis on the ground points to determine the normal vector of the ground;
[0019] Determining parameters of the plane equation based on the normal vector;
[0020] The determined parameters are substituted into the plane equation to obtain the ground equation.
[0021] According to a posture correction method provided by the present invention, the step of obtaining the ground point cloud and the non-ground point cloud of the static target based on the ground equation includes:
[0022] Based on the ground equation, calculating the distance from each point in the point cloud to the fitting plane;
[0023] The distance is compared with a set threshold, and points whose distance is less than or equal to the threshold are considered as ground points, and points whose distance is greater than the threshold are considered as non-ground points, thereby extracting the ground point cloud and the non-ground point cloud;
[0024] Based on the iconic static objects on the ground, a point cloud cluster with stable shape and unchanged position is obtained from the non-ground point cloud to serve as the non-ground point cloud of the static target.
[0025] According to a posture correction method provided by the present invention, the step of obtaining a point cloud cluster with stable shape and unchanged position from the non-ground point cloud based on a static object with landmarks on the ground as a non-ground point cloud of a static target includes:
[0026] Using a clustering algorithm to perform clustering processing on the static objects of the non-ground point cloud to divide them into multiple independent point cloud clusters;
[0027] Applying the PCA principal component analysis method to each of the point cloud clusters to obtain the characteristic values of each of the point cloud clusters in three orthogonal main directions;
[0028] The acquired feature values are analyzed based on shape features of the rod-shaped object, thereby confirming and identifying the rod-shaped object point cloud from the non-ground point cloud.
[0029] According to a posture correction method provided by the present invention, the step of obtaining a relative posture change matrix between the reference point cloud data and the point cloud data to be corrected by a point cloud registration method based on the ground point cloud and the non-ground point cloud comprises:
[0030] Based on the offset between the ground point cloud and the non-ground point cloud, an iterative closest point algorithm is used to align the reference point cloud data and the point cloud data to be corrected;
[0031] The relative posture change matrix between two frames of point clouds is outputted by the iterative closest point algorithm, and the relative posture change matrix includes a rotation matrix and a translation matrix.
[0032] According to a posture correction method provided by the present invention, the step of correcting the point cloud data to be corrected based on the relative posture change matrix includes:
[0033] Obtaining a first coordinate value of a point cloud point in the point cloud data to be corrected;
[0034] Based on the rotation matrix and the translation matrix of the relative posture change matrix, the first coordinate value is subjected to posture correction calculation to obtain a second coordinate value, and the point cloud data corrected by the point cloud data to be corrected is obtained according to the second coordinate value of the point cloud point.
[0035] In a second aspect, the present invention provides an electronic device, the electronic device comprising:
[0036] One or more processors; and a memory storing computer program instructions, wherein when the computer program instructions are executed, the processor performs the steps of any of the above-described posture correction methods.
[0037] In a third aspect, the present invention provides a computer-readable storage medium having a computer program / instruction stored thereon, which, when executed by a processor, implements the steps of any of the posture correction methods described above.
[0038] In a fourth aspect, the present invention provides a computer program product, comprising a computer program / instruction, which, when executed by a processor, implements the steps of any of the posture correction methods described above.
[0039] The present invention provides a posture correction method, electronic device, storage medium and program product, which obtains single-frame point cloud data during device calibration as reference point cloud data and single-frame point cloud data to be corrected during device operation; extracts ground point cloud and non-ground point cloud of static target respectively based on reference point cloud data and point cloud data to be corrected; obtains relative posture change matrix between reference point cloud data and point cloud data to be corrected based on ground point cloud and non-ground point cloud through point cloud registration method; and corrects point cloud data to be corrected based on relative posture change matrix. The present invention uses point cloud data of static target on the ground and ground point cloud data as the basis for registration of two frames of point cloud data, reduces the influence of dynamic targets in the scene on the accuracy of posture correction, and thus improves the accuracy of point cloud registration. Therefore, the automatic correction of posture changes caused by various reasons during the use of laser radar is realized, thereby ensuring the positioning accuracy of laser radar and providing more reliable and accurate positioning information for vehicle-road cooperative system. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other implementation methods can be obtained based on these drawings without paying any creative work.
[0041] Figure 1 It is one of the flow charts of the posture correction method provided by an embodiment of the present invention;
[0042] Figure 2 This is a second flow chart of the posture correction method provided by an embodiment of the present invention;
[0043] Figure 3 is a reference point cloud map provided by an embodiment of the present invention;
[0044] Figure 4 is a ground segmentation map of point cloud data provided by an embodiment of the present invention;
[0045] Figure 5 is a feature point cloud segmentation result diagram provided by an embodiment of the present invention;
[0046] Figure 6 is an offset comparison diagram of the reference point cloud data and the point cloud data to be corrected provided by an embodiment of the present invention;
[0047] Figure 7 is a pose correction result diagram of the point cloud data to be corrected provided by an embodiment of the present invention;
[0048] Figure 8 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION
[0049] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the following specifically cites a preferred embodiment and describes it in detail with the accompanying drawings as follows.
[0050] It should be noted that it is explicitly and implicitly understood by those of ordinary skill in the art that the embodiments described in the present invention can be combined with other embodiments without conflict. Unless otherwise defined, the technical terms or scientific terms involved in the present invention should be the usual meanings understood by people with ordinary skills in the technical field to which the present invention belongs. The words "one", "a", "a", "the" and the like involved in the present invention do not indicate a quantitative limitation and may represent the singular or plural. The terms "including", "comprising", "having" and any of their variations involved in the present invention are intended to cover non-exclusive inclusions; the terms "first", "second", "third", etc. involved in the present invention are merely to distinguish similar objects and do not represent a specific ordering of objects.
[0051] To facilitate understanding of the embodiments of the present invention, the following is an explanation of the key terms / technical abbreviations in the present invention:
[0052] DBSCAN algorithm: full name Density-Based Spatial Clustering of Applications with Noise, which is a typical density-based spatial clustering algorithm. The algorithm divides areas with sufficient density into clusters and can find clusters of any shape in noisy data (a cluster is the largest set of density-connected points). The DBSCAN algorithm is widely used in spatial data analysis, image segmentation, anomaly detection, IoT data analysis, and recommendation systems.
[0053] ICP algorithm: full name Iterative Closest Point, iterative closest point algorithm. It is an algorithm used to calculate the best alignment between two sets of point cloud data. It is widely used in computer vision, robotics and 3D modeling. The main goal is to align one point cloud data to another point cloud data in an iterative way to minimize the distance between them.
[0054] PCA: PCA stands for Principal Component Analysis. PCA is an important data dimensionality reduction technique that converts raw data into a new coordinate system through linear transformation to achieve data dimensionality reduction and feature extraction. PCA algorithm is widely used in data compression, feature extraction, image processing, denoising, and data visualization. For example, in image processing, PCA can be used for image compression and feature extraction to reduce data storage and computational complexity by retaining the main features.
[0055] Reference Figure 1 , Figure 2 As shown, an embodiment of the present invention provides a posture correction method, comprising:
[0056] Step S1: Acquire single-frame point cloud data during device calibration as reference point cloud data, as well as single-frame point cloud data to be corrected during device operation.
[0057] In this step, the devices that generate point cloud data include depth cameras, 3D scanners, stereo vision systems, etc. in addition to LiDAR. Point cloud data is generated by emitting laser beams and receiving reflected light to measure the distance and shape of the surface of an object. Each point cloud data point contains three coordinate values, X, Y, and Z, which determine the position of the point in three-dimensional space. During the scanning process, the device can generate a large number of dense point cloud data points, thereby providing more detailed spatial information. By processing and analyzing point cloud data, useful information can be extracted to support various application requirements.
[0058] When these devices generate point cloud data, they may be affected by factors such as the external environment and the device's own status, resulting in changes in posture. Therefore, posture correction is of great significance to improving the measurement accuracy and stability of these devices.
[0059] Taking LiDAR as an example, after the LiDAR is installed, a representative and accurate point cloud data is collected as the reference point cloud data through a specific calibration process. This reference point cloud data Target will be used as the target point cloud for subsequent posture correction. The purpose of calibration is to ensure that the initial state of the LiDAR is accurately recorded, so that in the subsequent use process, when the LiDAR changes its posture due to vibration or other reasons, its posture can be corrected by comparing and aligning it with the reference point cloud data, thereby maintaining positioning accuracy. In this embodiment, a point cloud data is collected as the reference point cloud data during LiDAR calibration, such as Figure 3 shown.
[0060] During the operation of the device, the LiDAR will continue to collect point cloud data of the surrounding environment. Due to various reasons (such as vibration, temperature change, etc.), these data may have posture differences with the reference point cloud data collected during the initial calibration, and need to be corrected to match the posture of the reference point cloud data collected during the initial calibration. Therefore, when the LiDAR posture deviation occurs, the collected point cloud is called the point cloud to be corrected Current.
[0061] Step S2: Based on the reference point cloud data and the point cloud data to be corrected, extract the ground point cloud and the non-ground point cloud of the static target respectively.
[0062] In this embodiment, step S2 specifically includes:
[0063] Step S201: downsampling the reference point cloud data and the point cloud data to be corrected.
[0064] It should be noted that the number of points in a single frame of point cloud data is too large. Directly using the point cloud registration algorithm for pose calculation is time-consuming, and the point cloud contains many dynamic target points and noise points, which will affect the registration accuracy of the point cloud. Therefore, the point cloud data is preprocessed to extract linear features and ground points in the point cloud as the basis for point cloud registration.
[0065] In this step, the collected single-frame point cloud data is downsampled to reduce the number of points in the point cloud. The downsampling methods include voxel grid filtering, random downsampling, etc. Voxel filtering divides the point cloud data into a three-dimensional voxel grid and replaces all points in each voxel with the centroid of the point cloud in the voxel, thereby achieving downsampling. The voxel filtering algorithm is used to downsample the collected single-frame point cloud data to reduce the number of points in the point cloud and remove some sparse noise points, thereby reducing the computational complexity of the subsequent algorithm and improving processing efficiency.
[0066] Step S202: performing ground segmentation on the downsampled point cloud and obtaining a ground equation.
[0067] In this embodiment, step S202 specifically includes:
[0068] Step S2021: Based on the installation height of the device, a plane fitting algorithm is used to perform ground segmentation on the downsampled point cloud to determine a plane equation;
[0069] Step S2022: using PCA principal component analysis on the ground points to determine the normal vector of the ground;
[0070] Step S2023: Determine the parameters of the plane equation based on the normal vector;
[0071] Step S2024: Substitute the determined parameters into the plane equation to obtain the ground equation.
[0072] Specifically, we first need to consider the installation height of the LiDAR or other point cloud acquisition equipment, and set a threshold based on the installation height. This threshold is used to distinguish ground points (points below the threshold) and non-ground points (points above the threshold) in the point cloud data. The ground segmentation algorithm can use the RANSAC (Random Sample Consensus) algorithm or a similar plane fitting algorithm. The plane is fitted by randomly selecting sample points from the ground point cloud data, and the optimal plane parameters are found through iterative optimization. According to the ground segmentation results, the downsampling parameters, the threshold or parameters of the ground segmentation algorithm, etc. can be adjusted according to the actual situation to obtain better segmentation effects.
[0073] The constructed plane equation is usually expressed in the form of Ax+By+Cz+D=0, where A, B, and C are the normal vector components of the plane, and D is a constant term. PCA analysis is performed on the data classified as ground points to obtain the principal component direction of the ground points, and the eigenvector corresponding to the maximum eigenvalue is selected as the normal vector of the ground. The parameters of the plane equation can be determined by using the normal vector of the ground and combining it with the average position of the ground points in the point cloud data. By substituting the parameters, a specific ground equation is obtained, which can accurately represent the spatial position of the ground. Therefore, in point cloud processing, ground segmentation is performed on the downsampled point cloud, which helps to accurately distinguish the ground and non-ground parts from a complex environment, and provides important information for subsequent tasks such as object detection. Through plane fitting and PCA analysis, the accuracy and robustness of ground segmentation can be improved.
[0074] Step S203: Based on the ground equation, a ground point cloud and a non-ground point cloud of a static target are obtained.
[0075] In this embodiment, step S203 specifically includes:
[0076] Step S2031: Calculate the distance from each point in the point cloud to the fitting plane based on the ground equation;
[0077] Step S2032: Compare the distance with the set threshold, and the points with a distance less than or equal to the threshold are considered to be ground points, and the points with a distance greater than the threshold are considered to be non-ground points, thereby extracting ground point clouds and non-ground point clouds.
[0078] Specifically, according to the ground equation, the vertical distance from any point in the point cloud to the fitting plane can be calculated. Traverse the point cloud points of the entire point cloud data, apply the point-to-plane distance formula to each point cloud point, and obtain the precise distance from each point to the ground. Preset a reasonable threshold, which is usually determined based on the accuracy of the lidar, environmental factors, and specific application scenarios. Compare the distance from each point to the ground with this threshold: points with a distance less than or equal to the threshold are classified as ground points, and points with a distance greater than the threshold are considered non-ground points. Figure 4 As shown, the blue ones are the ground points after segmentation, and the green ones are the point clouds of objects on the ground.
[0079] Step S2033: Based on the iconic static objects on the ground, a point cloud cluster with stable shape and unchanged position is obtained from the non-ground point cloud as the non-ground point cloud of the static target.
[0080] In this embodiment, step S2033 specifically includes:
[0081] Step S20331: clustering the static objects of the non-ground point cloud using a clustering algorithm to divide them into multiple independent point cloud clusters;
[0082] Step S20332: applying the PCA principal component analysis method to each point cloud cluster, and obtaining the characteristic values of each point cloud cluster in three orthogonal main directions respectively;
[0083] Step S20333: performing feature value analysis on the acquired feature values based on the shape features of the rod-shaped object, and then confirming and identifying the rod-shaped object point cloud from the non-ground point cloud.
[0084] Specifically, the point cloud of objects on the ground includes static objects, such as trees, vertical poles and other landmarks, as well as dynamic objects such as motor vehicles and pedestrians. The positions of dynamic objects are constantly changing. Their position information may change during multiple scans or observations, which increases the complexity and uncertainty of posture correction. The position of static objects is unchanged, providing consistency of position information during multiple scans or observations. Therefore, stable static landmarks that are not easily affected by environmental changes, not easily confused with other objects, and can maintain their position and shape for a long time are selected as reliable reference points, which helps to accurately perform posture correction.
[0085] In non-ground point clouds, clustering algorithms (such as Euclidean distance clustering, DBSCAN density clustering, etc.) are used to identify and extract point cloud clusters with stable shapes and unchanged positions. Clustering algorithms classify adjacent points into one category based on the spatial distance or density relationship between points in the point cloud to form point cloud clusters. Each point cloud cluster represents an independent object or part of an object.
[0086] Apply principal component analysis (PCA) to each point cloud cluster and calculate the eigenvalues in three orthogonal principal directions (usually called X, Y, and Z axes). The eigenvalue reflects the extent or importance of the point cloud cluster in each principal direction. These three eigenvalues correspond to the variance of the data in the three orthogonal principal directions. The larger the eigenvalue, the greater the data variation in the principal direction. Since rod-shaped objects (such as long strips, upright shapes, etc.) usually have a higher height and a smaller width, they often show a larger first eigenvalue in the eigenvalue analysis, while the second and third eigenvalues are relatively small. Therefore, based on this rule, point cloud clusters whose first eigenvalues are significantly larger than the second and third eigenvalues can be screened out. These point cloud clusters are rod-shaped point clouds. The extracted rod-shaped point clouds can be used to build a more accurate pose conversion model.
[0087] Through comparison and verification, the rod point cloud in the scene can be confirmed and identified. Figure 5 In the figure, the blue point cloud represents the found rod-shaped object point cloud clusters, which clearly show the characteristics of the rod-shaped objects; the red point cloud represents the ground point cloud cluster; and the green point cloud is other point cloud clusters that do not participate in the point cloud registration.
[0088] Step S3: Based on the ground point cloud and the non-ground point cloud, a relative pose change matrix between the reference point cloud data and the point cloud data to be corrected is obtained through a point cloud registration method.
[0089] In this embodiment, step S3 specifically includes:
[0090] Step S301: based on the offset between the ground point cloud and the non-ground point cloud, an iterative closest point algorithm is used to align the reference point cloud data and the point cloud data to be corrected;
[0091] Step S302: Output the relative pose change matrix between two frames of point clouds through the iterative closest point algorithm. The relative pose change matrix includes a rotation matrix and a translation matrix.
[0092] like Figure 6As shown in the figure, two frames of point clouds of the same scene are shown, where the green one is the single frame point cloud p1 during calibration, and the red one is the point cloud p2 of the current frame after the posture change. The point clouds p1 and p2 are preprocessed respectively to obtain the ground point cloud and the rod point cloud in the two frames of point clouds, and the two frames of point clouds are registered using the ICP algorithm in the Open3D algorithm library. The ICP algorithm has multiple parameters that can be adjusted, such as the maximum number of iterations, the tolerance of the transformation estimation, the distance threshold, etc. These parameters need to be set according to the specific point cloud data and registration requirements. The ICP algorithm continuously optimizes the matching error between the two point clouds through iterative calculation until the error is minimized. After the ICP algorithm iteration is completed, the final rotation matrix and translation matrix are output. These matrices constitute the relative posture change matrix between the two frames of point clouds. It is denoted as transMatrix. The matrix transMatrix contains the rotation matrix R and the translation matrix T. The point cloud p2 is transformed into the coordinate system of the point cloud p1 using the rotation matrix R and the translation matrix T to achieve point cloud alignment.
[0093] Step S4: Based on the relative posture change matrix, correct the point cloud data to be corrected.
[0094] In this embodiment, step S4 specifically includes:
[0095] Step S401: obtaining the first coordinate value of the point cloud point in the point cloud data to be corrected;
[0096] Step S402: Based on the rotation matrix and translation matrix of the relative posture change matrix, perform posture correction calculation on the first coordinate value to obtain a second coordinate value, and obtain the corrected point cloud data according to the second coordinate value of the point cloud point.
[0097] Specifically, based on the rotation matrix R and translation matrix T of the matrix transMatrix, the point cloud after the posture change is corrected using the following calculation formula:
[0098]
[0099] Where (x2, y2, z2) is the coordinate of the point in the current frame point cloud, (x2 ′ , y2 ′ , z2) is the coordinate of the point in the current frame point cloud after pose correction, R is the rotation matrix of pose correction, and T is the translation matrix of pose correction.
[0100] The effect of the current frame point cloud correction is as follows Figure 7As shown in the figure, the static markers overlap, and red and green represent the calibration point cloud p1 and the current frame point cloud p2 respectively. Therefore, using the ground point cloud and the rod-shaped feature point cloud in the scene for point cloud registration effectively reduces the impact of dynamic targets in the scene, improves the accuracy of point cloud registration, and then realizes the automatic correction of the LiDAR posture, improving the accuracy and reliability of the LiDAR scanning data.
[0101] The error between the registered point clouds can be evaluated by using indicators such as the root mean square error (RMSE). Alternatively, the registered point clouds can be superimposed to check the point cloud alignment effect in a visual way. Based on the registration results, the two frames of point clouds can be fused into a unified point cloud model, providing a data basis for subsequent point cloud fusion, map construction and other tasks.
[0102] In summary, the present invention provides a posture correction method, which obtains single-frame point cloud data during device calibration as reference point cloud data, and single-frame point cloud data to be corrected during device operation; based on the reference point cloud data and the point cloud data to be corrected, respectively extracts the ground point cloud and the non-ground point cloud of the static target; based on the ground point cloud and the non-ground point cloud, obtains the relative posture change matrix between the reference point cloud data and the point cloud data to be corrected through the point cloud registration method; based on the relative posture change matrix, corrects the point cloud data to be corrected. The present invention uses the point cloud data of the static target on the ground and the ground point cloud data as the basis for the registration of the two frames of point cloud data, which reduces the influence of the dynamic targets in the scene on the posture correction accuracy, thereby improving the accuracy of the point cloud registration. Therefore, the automatic correction of the posture changes caused by various reasons during the use of the laser radar is realized, thereby ensuring the positioning accuracy of the laser radar and providing more reliable and accurate positioning information for the vehicle-road cooperative system.
[0103] Those skilled in the art will appreciate that, in the above method of specific implementation, the order in which the steps are written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of the steps should be determined by their functions and possible internal logic.
[0104] In addition, some embodiments of the present application also provide an electronic device. The electronic device may be a digital computer in various forms, such as a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, etc. The electronic device may also be a mobile device in various forms, such as a personal digital processing, a cellular phone, a smart phone, a wearable device, and other similar computing devices.
[0105] The electronic device includes: one or more processors; and a memory storing computer program instructions, and when the computer program instructions are executed, the processor executes the steps of the posture correction method provided in any one or more of the above embodiments. Figure 8 An exemplary structural diagram of the electronic device is disclosed. Figure 8 As shown, the electronic device includes: one or more processors 1101, memory 1102, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses and can be installed on a common mainboard or installed in other ways as needed. The processor can process instructions executed in the electronic device, including instructions stored in or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some other embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple electronic devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Among them, the components shown in this article, their connections and relationships, and their functions are only used as examples, and are not intended to limit the implementation of the present application described and / or required herein.
[0106] The electronic device may further include: an input device 1103 and an output device 1104. The processor 1101, the memory 1102, the input device 1103 and the output device 1104 may be connected via a bus or other means. Figure 8 The example of connecting through bus is taken in the following.
[0107] The input device 1103 can receive input digital or character information, and generate key signal input related to the user settings and function control of the electronic device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick and other input devices. The output device 1104 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The display device may include, but is not limited to, a liquid crystal display (LCD), a light emitting diode (LED) display and a plasma display. In some embodiments, the display device may be a touch screen.
[0108] To provide interaction with a user, the electronic device may be a computer. The computer has: 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 a pointing device (e.g., a mouse or a trackball), through which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0109] In an embodiment of the present application, a computer program / instruction is stored on a computer-readable medium, and when the computer program / instruction is executed by a processor, the steps of the posture correction method provided by any one or more of the above embodiments are implemented. The computer-readable medium may be included in the electronic device described in the above embodiments; or it may exist independently without being assembled into the device. The above computer-readable medium carries one or more computer-readable instructions.
[0110] The memory 1102 can be used as a non-transient computer-readable storage medium, which can be used to store non-transient software programs, non-transient computer executable programs and modules. The processor 1101 executes various functional applications and data processing of the server by running the non-transient software programs, instructions and modules stored in the memory 1102, so as to implement the program instructions / modules corresponding to the method provided by any one or more embodiments in the embodiments of the present application.
[0111] The memory 1102 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 1102 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory 1102 may optionally include a memory remotely arranged relative to the processor 1101, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0112] It should be noted that more specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, 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 thereof. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0113] Computer readable storage media include permanent and non-permanent, removable and non-removable media, and can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, modules of programs or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
[0114] Computer program code for performing the operations of the present application may be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0115] In the above-described embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. For example, it can be implemented by using an application specific integrated circuit (ASIC), a general-purpose computer or any other similar hardware device. In certain embodiments, the software program of the present application can be executed by a processor to implement the above steps or functions. Similarly, the software program of the present application (including relevant data structures) can be stored in a computer-readable recording medium, for example, a RAM memory, a magnetic or optical drive or a floppy disk and similar devices. In addition, some steps or functions of the present application can be implemented by hardware, for example, as a circuit that cooperates with a processor to perform each step or function.
[0116] The computer program product provided in the embodiment of the present application includes one or more computer programs / instructions, and when the computer program / instructions are executed by the processor, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from a computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.
[0117] The flow chart or block diagram in the accompanying drawings shows the possible architecture, function and operation of the equipment, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated system for hardware that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0118] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily mention changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims, and the above embodiments should be regarded as exemplary and non-restrictive.
Claims
1. A posture correction method, characterized in that: include: Obtain single-frame point cloud data during equipment calibration as reference point cloud data, as well as single-frame point cloud data to be corrected during equipment operation; Based on the reference point cloud data and the point cloud data to be corrected, respectively extracting a ground point cloud and a non-ground point cloud of a static target; Based on the ground point cloud and the non-ground point cloud, a relative pose change matrix between the reference point cloud data and the point cloud data to be corrected is obtained by a point cloud registration method; Based on the relative posture change matrix, the point cloud data to be corrected is corrected.
2. The posture correction method according to claim 1, characterized in that: The step of respectively extracting a ground point cloud and a non-ground point cloud of a static target based on the reference point cloud data and the point cloud data to be corrected comprises: Downsampling the reference point cloud data and the point cloud data to be corrected; Perform ground segmentation on the downsampled point cloud and obtain the ground equation; Based on the ground equation, the ground point cloud and the non-ground point cloud of the static object are obtained.
3. The posture correction method according to claim 2, characterized in that: The step of performing ground segmentation on the downsampled point cloud data and obtaining a ground equation comprises: Based on the installation height of the device, a plane fitting algorithm is used to perform ground segmentation on the downsampled point cloud to determine the plane equation; Using PCA principal component analysis on the ground points to determine the normal vector of the ground; Determining parameters of the plane equation based on the normal vector; The determined parameters are substituted into the plane equation to obtain the ground equation.
4. The posture correction method according to claim 2, characterized in that: The step of obtaining the ground point cloud and the non-ground point cloud of the static target based on the ground equation comprises: Based on the ground equation, calculating the distance from each point in the point cloud to the fitting plane; The distance is compared with a set threshold, and points whose distance is less than or equal to the threshold are considered as ground points, and points whose distance is greater than the threshold are considered as non-ground points, thereby extracting the ground point cloud and the non-ground point cloud; Based on the iconic static objects on the ground, a point cloud cluster with stable shape and unchanged position is obtained from the non-ground point cloud to serve as the non-ground point cloud of the static target.
5. The posture correction method according to claim 4, characterized in that: The step of obtaining a point cloud cluster with a stable shape and unchanged position from the non-ground point cloud based on a static object with landmarks on the ground as a non-ground point cloud of a static target includes: Using a clustering algorithm to perform clustering processing on the static objects of the non-ground point cloud to divide them into multiple independent point cloud clusters; Applying the PCA principal component analysis method to each of the point cloud clusters to obtain the characteristic values of each of the point cloud clusters in three orthogonal main directions; The acquired feature values are analyzed based on shape features of the rod-shaped object, thereby confirming and identifying the rod-shaped object point cloud from the non-ground point cloud.
6. The posture correction method according to claim 1, characterized in that: The step of obtaining a relative pose change matrix between the reference point cloud data and the point cloud data to be corrected by a point cloud registration method based on the ground point cloud and the non-ground point cloud comprises: Based on the offset between the ground point cloud and the non-ground point cloud, an iterative closest point algorithm is used to align the reference point cloud data and the point cloud data to be corrected; The relative posture change matrix between two frames of point clouds is outputted by the iterative closest point algorithm, and the relative posture change matrix includes a rotation matrix and a translation matrix.
7. The posture correction method according to claim 1 or 6, characterized in that: The step of correcting the point cloud data to be corrected based on the relative posture change matrix includes: Obtaining a first coordinate value of a point cloud point in the point cloud data to be corrected; Based on the rotation matrix and the translation matrix of the relative posture change matrix, the first coordinate value is subjected to posture correction calculation to obtain a second coordinate value, and the point cloud data after correction of the point cloud data to be corrected is obtained according to the second coordinate value of the point cloud point.
8. An electronic device, characterized in that: The electronic device comprises: One or more processors; and a memory storing computer program instructions, wherein when the computer program instructions are executed, the processor performs the steps of the posture correction method as described in any one of claims 1-7.
9. A computer-readable storage medium having a computer program / instruction stored thereon, characterized in that: When the computer program / instructions are executed by a processor, the steps of the posture correction method as described in any one of claims 1 to 7 are implemented.
10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the posture correction method as described in any one of claims 1-7 are implemented.
Citation Information
Cited By
Method and device for calculating deformation of coal mine tunnel
CN120182384A