Data processing method and device, computer equipment and readable storage medium
By obtaining inertial guide angle and camera vibration offset values for inverse affine transformation, cross-dimensional conversion in rail wear and gauge detection is simplified, solving the problems of low efficiency and insufficient accuracy in traditional methods, and achieving faster and more accurate profile data generation.
Patent Information
- Application Number
- CN202510464391.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-14
- Publication Date
- 2025-08-26
AI Technical Summary
In traditional rail wear and gauge detection, the cross-dimensional conversion operation of point cloud data is complicated, resulting in long time to generate profile data, low efficiency and insufficient accuracy.
By acquiring the point cloud data set and the inertial navigation data set, the inertial navigation angle vibration value and the camera vibration offset value are determined, and one-to-one-dimensional data conversion is used to simplify cross-dimensional operations and generate contour data of the tangent section.
It improves the efficiency and accuracy of data processing, reduces the time to determine profile data, and improves the real-time and accuracy of detection.
Smart Images

Figure CN120543366A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of railway detection technology, and in particular to a data processing method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art
[0002] During rail wear and gauge inspection, the 3D camera vibrates during operation, causing affine transformations in the captured cross-sectional profile point cloud data. Therefore, a compensating transformation is required to obtain the rail's cross-sectional profile data. By comparing this cross-sectional profile data with a standard template, it is possible to determine if the rail is damaged.
[0003] Traditionally, the process for generating rail profile data for a normal section of a rail track involves simulating a point cloud dataset using an error function. The error function is generated based on the equations of a large arc ellipse and a small arc ellipse. This error function facilitates cross-dimensional data conversion from the camera dimension of the point cloud dataset to the real-world dimension of the profile data.
[0004] However, in traditional technologies, the cross-dimensional compensation transformation operation process is complicated, resulting in a long time to simulate and generate silhouette data. Therefore, the efficiency of current data processing methods is low. Summary of the Invention
[0005] Based on this, it is necessary to provide a data processing method, apparatus, computer equipment, computer-readable storage medium and computer program product to address the above technical issues.
[0006] In a first aspect, the present application provides a data processing method, comprising:
[0007] Obtain point cloud dataset and inertial navigation dataset;
[0008] Determine an inertial navigation angle vibration value and a camera vibration offset value according to the point cloud dataset and the inertial navigation dataset; the inertial navigation angle vibration value and the camera vibration offset value are verified based on an inverse affine transformation and an arc point cloud dataset in the point cloud dataset;
[0009] Determine the contour data of the normal section according to the inertial guidance angle vibration value, the camera vibration offset value and the point cloud data set.
[0010] In one embodiment, determining the inertial navigation angle vibration value and the camera vibration offset value based on the point cloud dataset and the inertial navigation dataset includes:
[0011] Determining an initial inertial navigation angle vibration value and an initial camera vibration offset value according to the point cloud dataset and the inertial navigation dataset, and determining an arc point cloud dataset in the point cloud dataset;
[0012] performing an inverse affine transformation on the arc point cloud dataset based on the initial inertial navigation angle vibration value and the initial camera vibration offset value to obtain a target arc point cloud dataset, and determining an update parameter based on the target arc point cloud dataset and a residual algorithm;
[0013] The initial inertial guidance angle vibration value and the initial camera vibration offset value are verified based on the updated parameters to obtain an inertial guidance angle vibration value and a camera vibration offset value.
[0014] In one embodiment, determining the initial inertial navigation angle vibration value and the initial camera vibration offset value based on the point cloud dataset and the inertial navigation dataset includes:
[0015] Determining an inertial navigation angle base value and an original inertial navigation angle value according to each of the inertial navigation data sets, and determining an initial inertial navigation angle vibration value based on the inertial navigation angle base value and the original inertial navigation angle value;
[0016] Determining an intermediate point cloud dataset in each of the point cloud datasets, and determining breakpoint coordinates in the intermediate point cloud dataset according to a preset breakpoint coordinate screening condition;
[0017] The static marker coordinates are acquired, and an initial camera shake offset value is determined based on the breakpoint coordinates and the static marker coordinates.
[0018] In one embodiment, determining an inertial navigation angle base value and an original inertial navigation angle value according to each inertial navigation data set, and determining an initial inertial navigation angle vibration value based on the inertial navigation angle base value and the original inertial navigation angle value, includes:
[0019] Performing a straight line fitting on the full amount of inertial navigation angles in each of the inertial navigation data sets to obtain a straight line fitting result, and determining an inertial navigation angle base value from the straight line fitting result;
[0020] Determining an intermediate inertial navigation data set from each of the inertial navigation data sets, and determining the inertial navigation angle in the intermediate inertial navigation data set as an initial inertial navigation angle value;
[0021] A difference between the inertial guidance angle base value and the initial inertial guidance angle value is determined as an initial inertial guidance angle vibration value.
[0022] In one embodiment, the arc point cloud dataset includes a large arc point cloud dataset and a small arc point cloud dataset, and determining the arc point cloud dataset in the point cloud dataset includes:
[0023] Determining the great circle point cloud dataset in the intermediate point cloud dataset according to the breakpoint coordinates and a preset great circle arc screening rule;
[0024] Determine the coordinates of the connection point between the large arc and the small arc according to the breakpoint coordinates;
[0025] The small arc point cloud dataset is determined in the intermediate point cloud dataset according to the connection point coordinates and a preset small arc screening rule.
[0026] In one embodiment, performing an inverse affine transformation on the arc point cloud dataset based on the initial inertial navigation angle vibration value and the initial camera vibration offset value to obtain a target arc point cloud dataset includes:
[0027] Performing an inverse affine transformation on the arc point cloud dataset according to an inverse simulation transformation algorithm, the initial inertial navigation angle vibration value, and the initial camera vibration offset value to obtain an initial target arc point cloud dataset;
[0028] The initial target arc point cloud dataset is subjected to coordinate transformation based on the arc center coordinates in the standard template to obtain a target arc point cloud dataset.
[0029] In one embodiment, determining the update parameters based on the target arc point cloud dataset and the residual algorithm includes:
[0030] Constructing a Jacobian matrix according to the target arc point cloud data set and the residual algorithm;
[0031] The update parameters are determined by solving the linear equations corresponding to the Jacobian matrix.
[0032] In one embodiment, the verifying the initial inertial guidance angle vibration value and the initial camera vibration offset value based on the updated parameter to obtain the inertial guidance angle vibration value and the camera vibration offset value includes:
[0033] Updating the number of iterations, and updating the initial inertial guidance angle vibration value and the initial camera vibration offset value based on the parameter increment in the update parameter to obtain the inertial guidance angle vibration value and the camera vibration offset value;
[0034] Based on the updated number of iterations and the update parameter, determining whether the inertial guidance angle vibration value and the camera vibration offset value meet a preset verification condition;
[0035] If the inertial guidance angle vibration value and the camera vibration offset value meet the verification condition, determining that the inertial guidance angle vibration value and the camera vibration offset value have passed verification;
[0036] If the inertial navigation angular vibration value and the camera vibration offset value do not meet the verification condition, the step of performing an inverse affine transformation on the arc point cloud data based on the initial inertial navigation angular vibration value and the initial camera vibration offset value is performed according to the inertial navigation angular vibration value and the camera vibration offset value until the inertial navigation angular vibration value and the camera vibration offset value meet the verification condition, and it is determined that the inertial navigation angular vibration value and the camera vibration offset value have passed verification.
[0037] In a second aspect, the present application further provides a data processing device, comprising:
[0038] Acquisition module, used to obtain point cloud data set and inertial navigation data set;
[0039] A first determining module is configured to determine an inertial navigation angular vibration value and a camera vibration offset value based on the point cloud dataset and the inertial navigation dataset, wherein the inertial navigation angular vibration value and the camera vibration offset value are verified based on an inverse affine transformation and an arc point cloud dataset in the point cloud dataset;
[0040] The second determining module is configured to determine the profile data of the normal section according to the inertial guidance angle vibration value, the camera vibration offset value and the point cloud data set.
[0041] In a third aspect, the present application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0042] Obtain point cloud dataset and inertial navigation dataset;
[0043] Determine an inertial navigation angle vibration value and a camera vibration offset value according to the point cloud dataset and the inertial navigation dataset; the inertial navigation angle vibration value and the camera vibration offset value are verified based on an inverse affine transformation and an arc point cloud dataset in the point cloud dataset;
[0044] Determine the contour data of the normal section according to the inertial guidance angle vibration value, the camera vibration offset value and the point cloud data set.
[0045] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:
[0046] Obtain point cloud dataset and inertial navigation dataset;
[0047] Determine an inertial navigation angle vibration value and a camera vibration offset value according to the point cloud dataset and the inertial navigation dataset; the inertial navigation angle vibration value and the camera vibration offset value are verified based on an inverse affine transformation and an arc point cloud dataset in the point cloud dataset;
[0048] Determine the contour data of the normal section according to the inertial guidance angle vibration value, the camera vibration offset value and the point cloud data set.
[0049] In a fifth aspect, the present application further provides a computer program product, comprising a computer program, which, when executed by a processor, implements the following steps:
[0050] Obtain point cloud dataset and inertial navigation dataset;
[0051] Determine an inertial navigation angle vibration value and a camera vibration offset value according to the point cloud dataset and the inertial navigation dataset; the inertial navigation angle vibration value and the camera vibration offset value are verified based on an inverse affine transformation and an arc point cloud dataset in the point cloud dataset;
[0052] Determine the contour data of the normal section according to the inertial guidance angle vibration value, the camera vibration offset value and the point cloud data set.
[0053] The above-mentioned data processing method, apparatus, computer device, computer-readable storage medium, and computer program product obtain a point cloud dataset and an inertial navigation dataset; determine an inertial navigation angular vibration value and a camera vibration offset value based on the point cloud dataset and the inertial navigation dataset; the inertial navigation angular vibration value and the camera vibration offset value are verified based on an inverse affine transformation and a circular arc point cloud dataset in the point cloud dataset; and determine the profile data of the orthogonal section based on the inertial navigation angular vibration value, the camera vibration offset value, and the point cloud dataset. Using this method, an inverse affine transformation is performed on the point cloud dataset from the inertial navigation angle and the camera angle using the inertial navigation angular vibration value and the camera vibration offset value to obtain the profile data, thereby achieving decoupling of the inverse affine transformation dimension. The inverse affine transformation is performed on the point cloud dataset using a one-to-one dimension. Compared with the prior art, this method simplifies the complex operations generated by converting dimensions in the simulation generation of the point cloud dataset, reduces the time required to determine the profile data, and improves the efficiency of the data processing method. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments of the present application or related technical descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying any creative work.
[0055] Figure 1 is a schematic diagram of the cross-section of a track in an exemplary embodiment;
[0056] Figure 2 A diagram of an application environment of a data processing method in one embodiment;
[0057] Figure 3 1 is a flow chart of a data processing method in one embodiment;
[0058] Figure 4 A schematic diagram of a process for determining an inertial guidance angle vibration value and a camera vibration offset value in one embodiment;
[0059] Figure 5 A schematic diagram of a process for determining an initial inertial guidance angle vibration value and an initial camera vibration offset value in one embodiment;
[0060] Figure 6 A schematic diagram of a process for determining an initial inertial guidance angle vibration value in one embodiment;
[0061] Figure 7 A schematic diagram of a process for determining an arc point cloud dataset in one embodiment;
[0062] Figure 8 A schematic diagram of a process for determining a target arc point cloud dataset in one embodiment;
[0063] Figure 9 A schematic diagram of a process for determining update parameters in one embodiment;
[0064] Figure 10 A schematic diagram of a process for verifying an initial inertial navigation angle vibration value and an initial camera vibration offset value in one embodiment;
[0065] Figure 11 is a structural block diagram of a data processing device in one embodiment;
[0066] Figure 12 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0067] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0068] With the continuous increase in speed and traffic density of modern railways, line equipment has been operating at full capacity for a long time. Under such circumstances, the original "planned maintenance" (planned maintenance of railways refers to the comprehensive adjustment and improvement of track spatial alignment and alignment, elimination of track structural defects, restoration of roadbed elasticity, replacement of failed sleepers and connecting parts, adjustment of track geometry, elimination of rail head defects, achievement of target rail profile, and repair of other structural components, based on the changing patterns of the line and its components, maintenance cycles and equipment status evaluation, with large-scale track maintenance machinery as the main means of operation, to restore the line to its intact technical condition, with the main contents of single or multiple repairs) of track equipment can no longer meet the needs. Condition-based maintenance (CBM) based on track conditions and maintenance history is a method of arranging maintenance plans based on the health of equipment. It aims to predict equipment failures through condition monitoring and diagnostic technologies, and rationally arrange maintenance projects and cycles. The core of condition-based maintenance is to use advanced condition monitoring and diagnostic technologies to provide real-time status information of equipment, thereby determining abnormal conditions of equipment, predicting failures, and performing targeted maintenance accordingly.) has emerged and is regarded as an advanced maintenance system. Track inspection refers to the inspection of the condition of railway tracks. Whether the tracks are working properly and in good condition is directly related to the safety, comfort, and stability of train operation.
[0069] Rail wear and gauge variation are inevitable in railway operations, but the hazards they pose cannot be ignored. First, rail wear and gauge inaccuracies can increase vehicle vibration, impacting passenger comfort and potentially causing additional wear on vehicle components, shortening their service life. Second, wear can also cause gauge variation, causing track widths to deviate from standard values and increasing the risk of train derailments. Furthermore, these gauge issues can lead to track irregularities and height irregularities, causing lateral sway or longitudinal pitch during train travel, further threatening operational safety and accelerating the wear and tear of both tracks and vehicles. Monitoring rail wear and gauge has significant positive implications. Regular monitoring can identify problems promptly, allowing repairs or replacements to be implemented, preventing the accumulation of faults that could lead to serious accidents. Accurate monitoring data can also help optimize track maintenance plans, extend track life, and reduce operating costs. Furthermore, monitoring results can provide a scientific basis for track design and material improvements, thereby improving the overall safety and operational efficiency of the railway system.
[0070] During rail wear and gauge inspection, the 3D camera used by the rail inspection vehicle vibrates during operation, causing affine transformations in the captured cross-sectional profile point cloud data. Therefore, a compensatory transformation is required to obtain the rail's orthogonal cross-sectional profile data. By comparing this orthogonal cross-sectional profile data with a standard template, it is possible to determine whether the rail is damaged. Therefore, compensatory transformation of the profile data is a crucial processing step in the rail wear and gauge detection algorithm and plays a crucial role in the subsequent template matching algorithm. The speed and matching accuracy of the profile transformation have significant positive implications. First, faster execution speed enables the algorithm to quickly process large amounts of rail surface data, achieving real-time or near-real-time inspection requirements. Second, efficient operation also enables the calculation results to achieve lower error thresholds while maintaining the same resource usage, improving the accuracy of vibration angle recognition and facilitating the subsequent accuracy of the template matching algorithm.
[0071] Traditionally, the process for generating rail profile data for a normal section of a rail track involves simulating a point cloud dataset using an error function. The error function is generated based on the equations of a large-circle ellipse and a small-circle ellipse. This error function facilitates cross-dimensional data conversion from the camera dimension of the point cloud dataset to the real-world dimension of the profile data.
[0072] Specifically, due to the irregular wear of the rail head, the current methods for calculating rail profile vibration compensation are basically based on the analysis and processing of two arcs on the rail waist, as follows Figure 1 shown. Figure 1 Schematic diagram of the cross section of the track in an exemplary embodiment. Figure 1 In the figure, the upper part of A1 and A2 is the rail head. The lower part of A1 and A2 is the rail waist and rail bottom. The current calculation method of rail profile vibration compensation is basically based on the Figure 1 A1 B1 (A2 B2) and B1 C1 (B2 C2) are analyzed and processed. A1 B1 (A2 B2) is a large arc, and B1 C1 (B2 C2) is a small arc.
[0073] Since the original circular arc on the rail waist undergoes affine transformation into an elliptical arc under the influence of the camera shooting angle, the two elliptical curves in the rail profile point cloud are fitted to simulate and generate the rail profile data of the normal cross section of the rail.
[0074] Equation of an ellipse There are 6 parameters in total , the equation of the great arc ellipse of the rail waist and the equation of the small arc ellipse of the rail waist Establish the error function of the unknown coefficient , taking partial derivatives of the undetermined coefficients and setting them to zero, yields a nonlinear system of equations. Since the rail waist large arc ellipse equation contains six unknown parameters and the rail waist small arc ellipse equation contains six positional parameters, this nonlinear system of equations contains 12 positional parameters. This nonlinear system of equations is then solved using an iterative method (such as the Gauss-Newton method) to obtain the ellipse equation parameters. Based on these ellipse equation parameters, the rail waist small arc ellipse equation and the rail waist large arc ellipse equation are updated. The updated rail waist large arc ellipse equation and the updated rail waist small arc ellipse equation are then used to determine the rail profile data for the normal section of the rail.
[0075] However, in traditional technologies, the cross-dimensional compensation transformation operation process is complicated, resulting in a long time to simulate and generate silhouette data. Therefore, the efficiency of current data processing methods is low.
[0076] Furthermore, conventional techniques involve a large number of parameters to be solved—a total of 12. This results in a high computational load for iterative operations when solving nonlinear equations. Interference between these parameters can lead to slow convergence or even trapping in local optimal solutions. The difficulty in selecting initial values during this iterative process further increases the computational load.
[0077] Furthermore, conventional techniques fail to consider the collective constraint relationship between the two large or small rail waist arcs. This results in deviations between the geometric positions of the two circle centers obtained after calculation and the standard template, which in turn affects the subsequent matching algorithm. Consequently, current data processing methods are also relatively inaccurate.
[0078] Therefore, based on the above-mentioned traditional technology, the present application provides a data processing method to obtain a point cloud dataset and an inertial navigation dataset; determine the inertial navigation angular vibration value and the camera vibration offset value based on the point cloud dataset and the inertial navigation dataset; the inertial navigation angular vibration value and the camera vibration offset value are verified based on the inverse affine transformation and the arc point cloud dataset in the point cloud dataset; determine the contour data of the positive cross section based on the inertial navigation angular vibration value and the camera vibration offset value; perform an inverse affine transformation on the point cloud dataset from the inertial navigation angle and the camera angle through the inertial navigation angular vibration value and the camera vibration offset value to obtain the contour data, thereby realizing the decoupling of the inverse affine transformation dimension, and performing an inverse affine transformation on the point cloud dataset through a one-to-one dimension. Compared with the existing technology, the complex operations generated by the conversion dimension in the simulation generation of the point cloud dataset are simplified, the time for determining the contour data is reduced, and the efficiency of the data processing method is improved.
[0079] The data processing method provided in the embodiment of the present application can be applied to Figure 2In the application environment shown, the acquisition device 210 communicates with the terminal 220 via a network. The acquisition device 210 includes a point cloud data acquisition device 211 and an inertial navigation data acquisition device 212. These devices are attached to a rail inspection vehicle and continuously collect point cloud and inertial navigation data sets of the rails as the vehicle moves forward. Because the point cloud data acquisition device 211 and the inertial navigation data acquisition device 212 are attached together, the inertial navigation angle of the inertial navigation data acquisition device 212 also reflects the inertial navigation angle of the point cloud data acquisition device 212. The point cloud data acquisition device 211 can be, but is not limited to, a lidar or a 3D camera, while the inertial navigation data acquisition device 212 can be, but is not limited to, a laser inertial navigation system, a fiber optic inertial navigation system, or a MEMS (Micro-Electro-Mechanical System Inertial Navigation System) inertial navigation system. The terminal 220 can be, but is not limited to, various personal computers, laptops, smartphones, and tablets.
[0080] In an exemplary embodiment, Figure 3 As shown, a data processing method is provided, which is applied to Figure 2 The terminal 220 (hereinafter referred to as the terminal) in FIG. 1 is taken as an example to illustrate the method, which includes the following steps 302 to 306. In which:
[0081] Step 302: Acquire a point cloud dataset and an inertial navigation dataset.
[0082] During implementation, the terminal acquires each initial point cloud dataset from the point cloud data acquisition device and each initial inertial navigation dataset from the inertial navigation data acquisition device, and establishes an initial sliding queue. The terminal preprocesses each initial point cloud dataset to obtain a point cloud dataset, and also preprocesses each initial inertial navigation dataset to obtain an inertial navigation dataset. The terminal then determines the inertial navigation dataset corresponding to each point cloud dataset based on the acquisition time of each point cloud dataset and each inertial navigation dataset, and adds each point cloud dataset and each inertial navigation dataset to the initial sliding queue, thereby forming a sliding queue.
[0083] Specifically, as the inspection vehicle continuously travels along the rails, the point cloud data acquisition equipment on the inspection vehicle collects initial point cloud datasets of the railway at a preset acquisition frequency and transmits each initial point cloud dataset to the terminal via the network. Simultaneously, the inertial navigation data acquisition equipment on the inspection vehicle collects initial inertial navigation datasets of the railway at a preset acquisition frequency and transmits each initial inertial navigation dataset to the terminal via the network. The terminal establishes an initial sliding queue. The terminal receives the initial point cloud datasets sent by the point cloud data acquisition equipment and the initial inertial navigation datasets collected by the inertial navigation data acquisition equipment. The terminal then performs preprocessing on each initial point cloud dataset, including point cloud downsampling, denoising, and coordinate transformation, to obtain a point cloud dataset. Simultaneously, the terminal performs preprocessing on each initial inertial navigation dataset, including denoising, integration, and interpolation, to obtain an inertial navigation dataset. The inertial navigation dataset contains attitude angle data from the point cloud data acquisition equipment (the inertial navigation data acquisition equipment). For each point cloud dataset, the terminal identifies the inertial navigation dataset with the same acquisition time as the point cloud dataset as the inertial navigation dataset corresponding to the point cloud dataset. Then, the terminal adds each point cloud dataset and each inertial navigation dataset corresponding to each point cloud dataset to the sliding queue.
[0084] In an optional embodiment, the length of the sliding queue is 41. If the number of point cloud datasets (inertial navigation datasets) in the sliding queue reaches 41, the terminal deletes the point cloud dataset (inertial navigation dataset) at the head of the sliding queue and adds the new point cloud dataset (inertial navigation dataset) to the tail of the sliding queue. In other words, the length of the sliding queue is always 41.
[0085] Optionally, the length of the sliding queue is determined according to the inspection requirements of the railway. The embodiment of the present application does not limit the length of the sliding queue.
[0086] Step 304 : determining an inertial navigation angle vibration value and a camera vibration offset value according to the point cloud data set and the inertial navigation data set.
[0087] Among them, the inertial navigation angle vibration value and the camera vibration offset value are verified based on the inverse affine transformation and the arc point cloud dataset in the point cloud dataset.
[0088] During implementation, the terminal determines the initial inertial navigation angular vibration value and the initial camera vibration offset value based on each point cloud dataset and each inertial navigation dataset. The terminal then determines the arc point cloud dataset within the point cloud dataset and verifies the initial inertial navigation angular vibration value and the initial camera vibration offset value based on the arc point cloud dataset and the inverse affine transformation, ultimately obtaining the inertial navigation angular vibration value and the camera vibration offset value.
[0089] Specifically, the terminal determines an initial inertial navigation angle vibration value and an initial camera vibration offset value based on each point cloud dataset and each inertial navigation dataset. The terminal then determines an intermediate point cloud dataset from each point cloud dataset and an arc point cloud dataset from the intermediate point cloud dataset. Based on the initial inertial navigation angle vibration value and the initial camera vibration offset value, the terminal performs an inverse affine transformation on the arc point cloud dataset to obtain a target arc point cloud dataset. The terminal then determines update parameters based on the target arc point cloud dataset and a residual algorithm, and verifies the initial inertial navigation angle vibration value and the initial camera vibration offset value based on the updated parameters to obtain the inertial navigation angle vibration value and the camera vibration offset value.
[0090] Step 306 : Determine the profile data of the normal section according to the inertial navigation angle vibration value, the camera vibration offset value, and the point cloud data set.
[0091] In practice, a standard template is pre-set in the terminal. This template contains the coordinates of the arc center. The terminal performs an inverse affine transformation on the point cloud dataset based on the inertial navigation angle vibration value, camera vibration offset value, and the arc center coordinates to obtain the outline data of the orthographic section.
[0092] Specifically, the point cloud data set contains each point cloud data, and each point cloud data is the edge coordinate of the rail obtained by shooting. The inertial navigation angular vibration value includes the inertial navigation pitch angle vibration value, the inertial navigation roll angle vibration value and the inertial navigation heading angle vibration value. The camera vibration offset value includes the camera lateral vibration offset value and the camera vertical vibration offset value. The terminal performs inverse affine transformation processing on each point cloud data in the point cloud data set according to the inverse affine transformation algorithm, the arc center coordinates, the inertial navigation angular vibration value and the camera vibration offset value to obtain the contour data of the orthogonal section. Among them, the inverse affine transformation algorithm is shown in the following formula (1) and formula (2):
[0093] (1)
[0094] (2)
[0095] In the above formulas (1) and (2), is the inertial navigation pitch angle vibration value, is the inertial navigation roll angle vibration value, is the inertial navigation heading angle vibration value, is the camera's lateral vibration offset value, The vertical vibration offset value of the camera. is the horizontal coordinate of the point cloud data, is the vertical coordinate of the point cloud data. is the horizontal coordinate of the arc center, is the ordinate of the arc center. is the horizontal coordinate of the profile data, is the vertical coordinate of the profile data.
[0096] In the above data processing method, the point cloud dataset is subjected to an inverse affine transformation from the inertial guidance angle and the camera angle through the inertial guidance angle vibration value and the camera vibration offset value to obtain the profile data, thereby realizing the decoupling of the inverse affine transformation dimension. The point cloud dataset is subjected to an inverse affine transformation through a one-to-one dimension. Compared with the existing technology, this method simplifies the complex operations generated by the conversion dimension in the simulation generation of the point cloud dataset, reduces the time for determining the profile data, and improves the efficiency of the data processing method.
[0097] In an exemplary embodiment, Figure 4 As shown, the specific processing process of step 304 includes steps 402 to 406. Among them:
[0098] Step 402 : determining an initial inertial navigation angle vibration value and an initial camera vibration offset value according to the point cloud dataset and the inertial navigation dataset, and determining an arc point cloud dataset in the point cloud dataset.
[0099] In implementation, the terminal determines the initial inertial navigation angle vibration value based on each inertial navigation dataset. It then identifies an intermediate point cloud dataset within the point cloud dataset and determines the initial camera vibration offset value based on the intermediate point cloud dataset and the static marker coordinates. The terminal then identifies an arc point cloud dataset within the intermediate point cloud dataset based on arc data filtering rules.
[0100] Specifically, the arc point cloud dataset includes a large arc point cloud dataset and a small arc point cloud dataset. The terminal determines an inertial navigation angle base value based on each inertial navigation dataset and determines an intermediate inertial navigation dataset from each inertial navigation dataset. The terminal determines the inertial navigation angle in the intermediate inertial navigation dataset as the initial inertial navigation angle value. The terminal then determines an initial inertial navigation angle vibration value based on the initial inertial navigation angle value and the inertial navigation angle base value. The terminal determines an intermediate point cloud dataset from each point cloud dataset and determines breakpoint coordinates based on the intermediate point cloud dataset. The terminal then obtains static marker coordinates and determines an initial camera vibration offset value based on the static marker coordinates and the breakpoint coordinates. The terminal then determines a large arc point cloud dataset from the intermediate point cloud dataset based on the determined coordinates and the large arc filtering rules in the arc data filtering rules. The terminal determines a small arc point cloud dataset from the intermediate point cloud dataset based on the determined coordinates and the small arc filtering rules in the arc data filtering rules.
[0101] Step 404 : Based on the initial inertial navigation angle vibration value and the initial camera vibration offset value, perform an inverse affine transformation on the arc point cloud dataset to obtain a target arc point cloud dataset, and determine update parameters based on the target arc point cloud dataset and a residual algorithm.
[0102] In implementation, the terminal is pre-installed with a standard rail template. Based on the standard template, initial inertial guidance angle vibration values, and initial camera vibration offset values, the terminal performs an inverse affine transformation on the arc point cloud dataset to obtain an initial target arc point cloud dataset. The terminal then performs a coordinate transformation on the initial target arc point cloud dataset based on the standard template to obtain a target arc point cloud dataset. Using the target arc point cloud dataset and a residual algorithm, the terminal constructs a Jacobian matrix and solves the Jacobian matrix to obtain updated parameters.
[0103] Specifically, the standard template of the railroad contains standard arc center coordinates. The terminal performs data calculations on the arc center coordinates, the initial inertial guidance angular vibration value, the initial camera vibration offset value and the arc point cloud data set according to the inverse affine transformation algorithm, thereby performing an anti-reflection transformation on the arc point cloud data set to obtain a target arc point cloud data set. The target arc point cloud data set is the arc profile data on the normal section generated based on the initial inertial guidance angular vibration value and the initial camera vibration offset value. Then, the terminal constructs a Jacobian matrix based on the target arc point cloud data set, the standard template and the residual algorithm, and solves the Jacobian matrix to obtain the updated parameters. By comparing the target arc profile data with the standard template, it can be determined whether the target arc profile data can accurately represent the railroad in the real dimension, thereby determining whether the initial inertial guidance angular vibration value and the initial camera vibration offset value are accurate.
[0104] Step 406 : Verify the initial inertial navigation angle vibration value and the initial camera vibration offset value based on the updated parameters to obtain the inertial navigation angle vibration value and the camera vibration offset value.
[0105] The update parameter represents the accuracy of the initial verification inertial guidance angle vibration value and the initial camera vibration offset value. A larger update parameter indicates a greater discrepancy between the target arc point cloud dataset and the actual rail waist, resulting in a larger error. A smaller update parameter indicates a closer match between the target arc point cloud dataset and the actual rail waist, resulting in a smaller error.
[0106] In implementation, the terminal pre-sets the number of iterations. The terminal updates the number of iterations and updates the initial inertial navigation angle vibration value and initial camera vibration offset value based on the updated parameters, obtaining an inertial navigation angle vibration value and a camera vibration offset value. The terminal then verifies the inertial navigation angle vibration value and the camera vibration offset value based on the updated number of iterations and the updated parameters, obtaining a verification result. If the verification result indicates a pass, the terminal obtains the inertial navigation angle vibration value and the camera vibration offset value.
[0107] Specifically, the terminal determines whether the inertial navigation angle vibration value and the camera vibration offset value meet the verification conditions based on the updated number of iterations and the updated parameters. If the inertial navigation angle vibration value and the camera vibration offset value meet the verification conditions, the terminal determines the verification result as passed. The terminal obtains the inertial navigation angle vibration value and the camera vibration offset value. If the inertial navigation angle vibration value and the camera vibration offset value do not meet the verification conditions, the terminal determines the verification result as failed.
[0108] In an optional embodiment, if the verification result is failure, the terminal executes step 402 above based on the inertial navigation angle vibration value and the camera vibration offset value until the verification result is passed, and the terminal obtains the inertial navigation angle vibration value and the camera vibration offset value. The specific processing process of step 402 has been described in detail in the above embodiment and will not be repeated in this embodiment of the present application.
[0109] In this embodiment, the initial inertial navigation angle vibration value and the initial camera vibration offset value are verified using the arc point cloud dataset, thereby obtaining more accurate inertial navigation angle vibration value and camera vibration offset value, thereby improving the accuracy of the inertial navigation angle vibration value and camera vibration offset value, and thereby improving the accuracy of the data processing method.
[0110] In an exemplary embodiment, Figure 5 As shown, the specific process of determining the initial inertial navigation angle vibration value and the initial camera vibration offset value based on the point cloud data set and the inertial navigation data set in step 402 includes steps 502 to 506.
[0111] Step 502: determining an inertial navigation angle base value and an original inertial navigation angle value according to each inertial navigation data set, and determining an initial inertial navigation angle vibration value based on the inertial navigation angle base value and the original inertial navigation angle value.
[0112] In implementation, the terminal determines the base IGN angle value by performing a linear fit on the IGN angles in each IGN data set. The terminal then determines an intermediate IGN data set from each IGN data set and determines the raw IGN angle value based on the intermediate IGN data set. The difference between the base IGN angle value and the raw IGN angle value is determined as the initial IGN angle vibration value.
[0113] Specifically, each INS data set contains various INS angles. The terminal performs a linear fit on each INS angle to obtain a linear fit result and determines an INS angle base value from the linear fit result. The terminal then determines an intermediate INS data set from each INS data set and determines the INS angle in the intermediate INS data set as the original INS angle value. The terminal performs a difference process between the original INS angle value and the INS angle base value to obtain an initial INS angle vibration value.
[0114] Step 504 : determining an intermediate point cloud dataset in each point cloud dataset, and determining breakpoint coordinates in the intermediate point cloud dataset according to a preset breakpoint coordinate screening condition.
[0115] The breakpoint coordinates are the coordinates of the breakpoint between the rail waist and the rail head.
[0116] In practice, breakpoint filtering conditions are pre-set in the terminal. Based on the positions of each point cloud dataset, the terminal determines an intermediate point cloud dataset. Then, based on the breakpoint filtering conditions, the terminal determines the breakpoint coordinates for each point cloud dataset within the intermediate point cloud dataset.
[0117] Specifically, the point cloud data is coordinate data. Since each point cloud data set is in a sliding queue, the terminal determines the point cloud data set in the middle position as the intermediate point cloud data set according to the position of the sliding queue. The breakpoint coordinate screening condition is that the X coordinate has a reverse mutation and the Y coordinate has a positive mutation. For each point cloud data in the intermediate point cloud data set, the terminal determines whether the X coordinate of the point cloud data has a reverse mutation, and determines whether the Y coordinate of the point cloud data has a positive mutation. If there is a reverse mutation in the X coordinate of the point cloud data and a positive mutation in the Y coordinate, the terminal determines the point cloud data as a breakpoint coordinate and calibrates the breakpoint coordinate. It should be noted that since the rails are opaque, the point cloud data acquisition equipment can generally only collect half of the point cloud data of the rails when collecting the point cloud data set of the rails. In addition, due to the structure of the rails, the point cloud data set generally has only one breakpoint coordinate.
[0118] Step 506 : Obtain the static marker coordinates, and determine an initial camera vibration offset value based on the breakpoint coordinates and the static marker coordinates.
[0119] During implementation, while the inspection vehicle is stationary, the inspector records the breakpoint locations captured by the point cloud data acquisition device on the rail web and enters these breakpoint locations as static marker coordinates into the terminal. The terminal then obtains the static marker coordinates entered by the inspector and performs a difference calculation between the breakpoint coordinates and the static marker coordinates to obtain the initial camera vibration offset value.
[0120] Specifically, the camera vibration offset value includes the camera lateral vibration offset value and the camera vertical vibration offset value. The terminal obtains the breakpoint position of the rail waist collected by the point cloud data acquisition device when the inspection vehicle is stationary, and determines the breakpoint position as the static marker coordinate. Then, the terminal performs difference processing on the breakpoint coordinates and the static marker coordinates to obtain a breakpoint difference result. The breakpoint difference result includes offset values in three directions: the offset value in the lateral direction, the offset value in the forward direction, and the offset value in the vertical direction. The terminal determines the offset value in the lateral direction as the camera lateral vibration offset value a, and determines the offset value in the vertical direction as the camera vertical vibration offset value b.
[0121] In this embodiment, initial inertial navigation angle offset values and initial camera vibration offset values are obtained by analyzing and processing the inertial navigation dataset and the point cloud dataset. Compared with the prior art method of randomly determining initial parameters, the obtained initial inertial navigation angle offset values and initial camera vibration offset values are closer to the actual values. Therefore, by verifying the initial inertial navigation angle offset values and initial camera vibration offset values, the amount of verification computation and the number of loops are reduced, the data processing time is shortened, and the efficiency of the data processing method is improved.
[0122] In an exemplary embodiment, Figure 6 As shown, the specific processing process of step 502 includes steps 602 to 606. Among them:
[0123] Step 602 : Perform a straight line fitting on the full amount of inertial navigation angles in each inertial navigation data set to obtain a straight line fitting result, and determine an inertial navigation angle base value from the straight line fitting result.
[0124] Each INS data set contains INS angles, including INS pitch angle, INS roll angle, and INS heading angle.
[0125] During implementation, the terminal performs a linear fit on the full set of inertial navigation angles in each inertial navigation data set to obtain a linear fit result. The terminal then determines the midpoint of the linear fit result as the inertial navigation angle base value.
[0126] Specifically, the inertial navigation angle base value includes an inertial navigation pitch angle base value, an inertial navigation roll angle base value, and an inertial navigation heading angle base value. Because each inertial navigation data set is in a sliding queue, there is a front-to-back positional relationship between the inertial navigation data sets. The terminal performs a linear fit on the full inertial navigation pitch angles in the sliding queue to obtain a pitch angle linear fit result. The terminal then determines the midpoint of the pitch angle linear fit result as the inertial navigation pitch angle base value. The terminal performs a linear fit on the full inertial navigation roll angles in the sliding queue to obtain a roll angle linear fit result. The terminal then determines the midpoint of the roll angle linear fit result as the inertial navigation roll angle base value. The terminal performs a linear fit on the full inertial navigation heading angles in the sliding queue to obtain a heading angle linear fit result. The terminal then determines the midpoint of the heading angle linear fit result as the inertial navigation heading angle base value.
[0127] Step 604: Determine an intermediate inertial navigation data set from each inertial navigation data set, and determine the inertial navigation angle in the intermediate inertial navigation data set as the initial inertial navigation angle value.
[0128] In implementation, the terminal determines an intermediate inertial navigation data set from each inertial navigation data set based on the position of each inertial navigation data set, and then determines the inertial navigation angle in the intermediate inertial navigation data set as the initial inertial navigation angle value.
[0129] Specifically, the inertial navigation angles include the inertial navigation pitch angle, inertial navigation roll angle, and inertial navigation heading angle. Since each inertial navigation dataset exists in a sliding queue, the terminal directly determines the inertial navigation dataset located in the middle of the sliding queue as the intermediate inertial navigation dataset. The terminal then determines the inertial navigation pitch angle of the intermediate inertial navigation dataset as the initial inertial navigation pitch angle value, and the inertial navigation roll angle of the intermediate inertial navigation dataset as the initial inertial navigation roll angle value. The terminal also determines the inertial navigation heading angle of the intermediate inertial navigation dataset as the initial inertial navigation heading angle value.
[0130] For example, if the sliding queue contains 41 inertial navigation data sets, the terminal determines the 21st inertial navigation data set in the sliding queue as the intermediate inertial navigation data set.
[0131] Step 606: Determine the difference between the IGN angle base value and the initial IGN angle value as the initial IGN angle vibration value.
[0132] The initial inertial navigation angle vibration value includes the initial inertial navigation pitch angle vibration value, the initial inertial navigation roll angle vibration value and the initial inertial navigation heading angle vibration value.
[0133] During implementation, the terminal performs a difference operation on the initial inertial guidance angle value and the inertial guidance angle base value to obtain the initial inertial guidance angle vibration value.
[0134] Specifically, the initial inertial navigation angle value includes an initial inertial navigation pitch angle value, an initial inertial navigation roll angle value, and an initial inertial navigation heading angle value. The inertial navigation angle base value includes an inertial navigation pitch angle base value, an inertial navigation roll angle base value, and an inertial navigation heading angle base value. The terminal performs difference processing on the initial inertial navigation pitch angle value and the inertial navigation pitch angle base value to obtain an initial inertial navigation pitch angle vibration value. The terminal performs difference processing on the initial inertial navigation roll angle value and the inertial navigation roll angle base value to obtain an initial inertial navigation roll angle vibration value. The terminal performs difference processing on the initial inertial navigation heading angle value and the inertial navigation heading angle base value to obtain an initial inertial navigation heading angle vibration value.
[0135] In this embodiment, the initial inertial navigation angle offset value is obtained by analyzing and processing the inertial navigation data set, which facilitates subsequent verification of the initial inertial navigation angle offset value, thereby obtaining the inertial navigation angle offset value.
[0136] In an exemplary embodiment, the arc point cloud dataset includes a large arc point cloud dataset and a small arc point cloud dataset, such as Figure 7 As shown, the specific processing process of determining the arc point cloud data set in the point cloud data set in step 402 includes steps 702 to 706. Among them:
[0137] Step 702 : Determine a great circle point cloud dataset in the intermediate point cloud dataset according to the breakpoint coordinates and a preset great circle screening rule.
[0138] In practice, the terminal pre-sets large-circle filtering rules. Based on the breakpoint coordinates and the pre-set large-circle filtering rules, the terminal determines the large-circle extraction range. In the intermediate point cloud dataset, the terminal identifies the point cloud data within the large-circle extraction range as large-circle point cloud data and constructs a large-circle point cloud dataset based on the large-circle point cloud data.
[0139] Specifically, the lateral direction of the inspection vehicle is the X coordinate, the vertical direction is the Y coordinate, and the forward direction is the Z coordinate. The large circle screening rule is that the difference between the Y coordinate of the large circle point cloud data and the Y coordinate of the breakpoint coordinate is within a first difference range, and the large circle point cloud data is located below the breakpoint coordinate. Starting from below the breakpoint coordinate, the terminal performs a distance calculation on the Y coordinate of the point cloud data and the Y coordinate of the breakpoint coordinate in the point cloud data set one by one, obtaining a first distance calculation result, until the Y coordinate of the point cloud data reaches the minimum value of the Y coordinate of the point cloud data set. If the first distance calculation result is within the first difference range, the terminal determines that the point cloud data is large circle point cloud data.
[0140] In an exemplary embodiment, the first difference ranges from 10 mm to 90 mm. The terminal starts from the breakpoint coordinate and selects point cloud data with a total length of 80 mm starting from 10 mm downward as the large arc point cloud data set.
[0141] Optionally, the first difference range is set according to the shape and type of the rail, and the embodiment of the present application does not limit the first difference range.
[0142] Step 704: Determine the coordinates of the connection point between the large arc and the small arc based on the breakpoint coordinates.
[0143] In practice, a standard template is pre-set in the terminal, and the terminal calculates the coordinates of the connection point between the large arc and the small arc based on the standard template and the breakpoint coordinates.
[0144] Specifically, the standard template includes the relationship between the connection point and the breakpoint. Based on the relationship between the connection point and the breakpoint and the breakpoint coordinates, the terminal calculates and records the coordinates of the connection point between the large arc and the small arc.
[0145] In an exemplary embodiment, Figure 1 As shown, the connection point between the large arc and the small arc is B1 or B2. The standard template is provided with a first distance between the connection point and the breakpoint. The terminal calculates the coordinates of the connection point between the large arc and the small arc based on the first distance and the breakpoint coordinates.
[0146] For example, the standard template includes a first vertical distance between the connection point and the breakpoint. The terminal determines the vertical coordinates of the connection point based on the first distance and the breakpoint coordinates, and then determines the coordinates of the connection point in the point cloud dataset based on the vertical coordinates of the connection point.
[0147] Step 706 : Determine a small arc point cloud dataset in the intermediate point cloud dataset according to the connection point coordinates and a preset small arc screening rule.
[0148] In practice, the terminal pre-sets small arc screening rules. Based on the connection point coordinates and the pre-set small arc screening rules, the terminal determines the small arc extraction range. In the intermediate point cloud dataset, the terminal identifies the point cloud data within the small arc extraction range as small arc point cloud data and constructs a small arc point cloud dataset based on each small arc point cloud data set.
[0149] Specifically, the lateral direction of the inspection vehicle is the X coordinate, the vertical direction is the Y coordinate, and the forward direction is the Z coordinate. The small arc screening rule is that the difference between the Y coordinate of the small arc point cloud data and the Y coordinate of the connection point coordinate is within the second difference range, and the small arc point cloud data is located below the connection point coordinate. Starting from below the connection point coordinate, the terminal performs distance calculation on the Y coordinate of the point cloud data and the Y coordinate of the breakpoint coordinate in the point cloud data set one by one to obtain a second distance calculation result until the Y coordinate of the point cloud data is the minimum value of the Y coordinate of the point cloud data set. If the second distance calculation result is within the second difference range, the terminal determines the point cloud data as small arc point cloud data.
[0150] In an exemplary embodiment, the second difference range is 10 mm to 70 mm. The terminal starts from the connection point coordinates and selects point cloud data with a total length of 60 mm starting from 10 mm downward as the small arc point cloud data set.
[0151] Optionally, the second difference range is set according to the shape and type of the rail, and the embodiment of the present application does not limit the second difference range.
[0152] In this embodiment, large and small arc screening rules are used to identify an arc point cloud dataset within the point cloud dataset. This facilitates subsequent verification of initial inertial navigation angle vibration values and initial camera vibration offset values based on the arc point cloud dataset, resulting in inertial navigation angle vibration values and camera vibration offset values. This improves the accuracy of these values, and thus the accuracy of the data processing method. Furthermore, the breakpoint and connection point coordinates strictly constrain the geometric relationship of the track profile segments, preventing the center points of the two circles from being inconsistent with the template after the compensation operation, which facilitates the accuracy of the subsequent matching algorithm.
[0153] In an exemplary embodiment, Figure 8 As shown, the specific processing process of performing inverse affine transformation on the arc point cloud data based on the initial inertial navigation angle vibration value and the initial camera vibration offset value in step 404 to obtain the target arc point cloud data set includes steps 802 to 804. Among them:
[0154] Step 802 : Perform inverse affine transformation on the arc point cloud dataset according to the inverse simulation transformation algorithm, the initial inertial navigation angle vibration value, and the initial camera vibration offset value to obtain an initial target arc point cloud dataset.
[0155] In practice, the terminal is equipped with an inverse simulation transformation algorithm and a pre-set standard template. Based on the inverse affine transformation algorithm and the standard template, the terminal performs an inverse affine transformation on the initial inertial navigation angle vibration values, initial camera vibration offset values, and the arc point cloud dataset to obtain the initial target arc point cloud dataset.
[0156] Specifically, the arc point cloud dataset includes a large arc point cloud dataset and a small arc point cloud dataset. The terminal determines the coordinates of the center of the arc according to the standard template. The coordinates of the center of the arc include the coordinates of the center of the large arc and the coordinates of the center of the small arc. The terminal performs an inverse affine transformation on the coordinates of the center of the large arc, the initial inertial guidance angle vibration value, the initial camera vibration offset value and the large arc point cloud dataset according to the inverse affine transformation algorithm to obtain the initial target large arc point cloud dataset. The terminal performs an inverse affine transformation on the coordinates of the center of the small arc, the initial inertial guidance angle vibration value, the initial camera vibration offset value and the small arc point cloud dataset according to the inverse affine transformation algorithm to obtain the initial target small arc point cloud dataset. Among them, the inverse affine transformation algorithm is shown in the following formula (3) and formula (4):
[0157] (3)
[0158] (4)
[0159] Among them, the initial inertial navigation angle vibration value includes the initial inertial navigation pitch angle vibration value, the initial inertial navigation roll angle vibration value and the initial inertial navigation heading angle vibration value. The initial camera vibration offset value includes the initial camera lateral vibration offset value and the initial camera vertical vibration offset value. In the above formulas (3) and (4), is the initial inertial navigation pitch angle vibration value, is the initial inertial navigation roll angle vibration value, is the initial inertial navigation heading angle vibration value, is the initial camera lateral vibration offset value, is the initial camera vertical vibration offset value. is the horizontal coordinate of the arc point cloud data, is the vertical coordinate of the arc point cloud data. If the arc point cloud data is a large arc point cloud data, then is the horizontal coordinate of the center of the great circle, is the ordinate of the center of the large arc. If the arc point cloud data is the small arc point cloud data, then is the horizontal coordinate of the center of the small arc, is the ordinate of the center of the small arc. is the horizontal coordinate of the initial target arc point cloud data, is the vertical coordinate of the initial target arc point cloud data. If the arc point cloud data is a large arc point cloud data, then is the horizontal coordinate of the initial target great circle point cloud data, is the horizontal coordinate of the initial target large arc point cloud data. If the arc point cloud data is small arc point cloud data, then is the horizontal coordinate of the initial target small arc point cloud data, is the horizontal coordinate of the initial target small arc point cloud data.
[0160] In one exemplary embodiment, the standard template includes the positional relationship between the center of the large arc and the breakpoints, and also includes the positional relationship between the center of the small arc and the breakpoints. The terminal calculates the coordinates of the center of the large arc based on the breakpoint coordinates and the positional relationship between the center of the large arc and the breakpoints. Simultaneously, the terminal calculates the coordinates of the center of the small arc based on the positional relationship between the center of the small arc and the breakpoints and the breakpoint coordinates.
[0161] Step 804 : performing coordinate transformation on the initial target arc point cloud dataset based on the arc center coordinates in the standard template to obtain the target arc point cloud dataset.
[0162] The arc center coordinates include the large arc center coordinates and the small arc center coordinates. The initial target arc point cloud dataset includes the initial target large arc point cloud dataset and the initial target small arc point cloud dataset. The target arc point cloud dataset includes the target large arc point cloud dataset and the target small arc point cloud dataset.
[0163] During implementation, the terminal performs coordinate transformation on the initial target large-circle point cloud dataset, using the coordinates of the center of the large-circle arc as the origin, to obtain the target large-circle point cloud dataset. Then, the terminal performs coordinate transformation on the initial target small-circle point cloud dataset, using the coordinates of the center of the small-circle arc as the origin, to obtain the target small-circle point cloud dataset.
[0164] In this embodiment, the arc point cloud dataset is subjected to an inverse affine transformation from the inertial guidance angle and the camera angle through the initial inertial guidance angle vibration value and the initial camera vibration offset value to obtain the target arc point cloud data, thereby realizing the decoupling of the inverse affine transformation dimension. The arc point cloud dataset is subjected to an inverse affine transformation through a one-to-one dimension. Compared with the prior art, this simplifies the complex operations generated by the conversion dimension in the simulation generation of the point cloud dataset, reduces the data verification time, and improves the efficiency of the data processing method.
[0165] In an exemplary embodiment, Figure 9As shown, the specific processing process of determining the update parameters based on the target arc point cloud data set and the residual algorithm in step 404 includes steps 902 to 904. Among them:
[0166] Step 902: construct a Jacobian matrix based on the target arc point cloud dataset and the residual algorithm.
[0167] In implementation, the terminal determines the residual algorithm based on the distance between the arc point and the arc radius in the standard template. The terminal constructs the Jacobian matrix based on the target arc point cloud dataset, the arc radius, and the residual algorithm.
[0168] Specifically, the terminal constructs an error function based on the distance between arc points and the radius of the arc in the standard template, and determines a residual algorithm based on the error function. Using the residual algorithm, the terminal processes the radius of the arc in the standard template and the target arc point cloud data in the target arc point cloud dataset. It then solves the partial differentials of the residual with respect to the initial inertial guidance angle vibration value and the camera vibration offset value to obtain the Jacobian matrix.
[0169] In an exemplary embodiment, since the arc includes a large arc and a small arc, the target arc point cloud dataset includes a target large arc point cloud dataset and a target small arc point cloud dataset, and the arc radius includes a large arc radius and a small arc radius. The square sum of the distance from the arc point to the center of the circle after the terminal inverse transformation and the standard radius is used as the error function. The error function is shown in the following formula (5):
[0170] (5)
[0171] In the above formula (5), is the radius of the large circle, is the radius of the small arc, The first The horizontal coordinate of the target great circle point cloud data. The first The horizontal coordinate of the target great circle point cloud data. is the number of target great circle point cloud data in the target great circle point cloud dataset. The first The horizontal coordinate of the target great circle point cloud data. The first The horizontal coordinate of the target small arc point cloud data. is the number of target great circle point cloud data in the target great circle point cloud dataset. is the error. Then, the terminal determines the residual algorithm based on the error function. The residual algorithm is shown in the following formula (6):
[0172] (6)
[0173] In the above formula (6), The target arc point cloud dataset The horizontal coordinate of the target arc point cloud data. The target arc point cloud dataset The horizontal coordinate of the target arc point cloud data. is the standard radius of the arc (arc radius). The residual is the difference between the distance from a point on the arc to the center of the arc and the standard radius of the arc.
[0174] The terminal performs data operations on the target large arc point cloud dataset and the large arc radius according to the residual algorithm, and solves the partial differentials of the initial inertial guidance angle vibration value and the initial camera vibration offset value to obtain the first partial differential set. The terminal performs data operations on the target small arc point cloud dataset and the small arc radius according to the residual algorithm, and solves the partial differentials of the initial inertial guidance angle vibration value and the initial camera vibration offset value to obtain the second partial differential set. The terminal constructs a Jacobian matrix based on each first partial differential set and each second partial differential set. The Jacobian matrix is obtained by solving the partial differentials of the residual relative to the initial inertial guidance angle vibration value and the initial camera vibration offset value (the vibration angle of the data acquisition device and the horizontal and vertical displacement). The Jacobian matrix is shown in the following formula (7):
[0175] ] (7)
[0176] In the above formula (7), is the partial differential of the first initial inertial navigation pitch angle vibration value, is the initial inertial navigation pitch angle vibration value, is the partial differential of the first initial inertial navigation roll angle vibration value, is the initial inertial navigation roll angle vibration value, is the partial differential of the first initial inertial navigation heading angle vibration value, is the initial inertial navigation heading angle vibration value. is the partial differential of the first initial camera lateral vibration offset value, is the initial camera lateral vibration offset value. The partial differential of the first initial camera vertical vibration offset value, is the initial vertical vibration offset value. For the The partial differential of the initial inertial navigation pitch angle vibration value.
[0177] Step 904: Determine update parameters by solving the linear equations corresponding to the Jacobian matrix.
[0178] In the implementation, the terminal establishes a linear equation system based on the Jacobian matrix and the residual vector, and solves the linear equation system to obtain the updated parameters. The linear equation system is shown in the following formula (8):
[0179] (8)
[0180] In the above formula (8), is the transpose of the Jacobian matrix, is the Jacobian matrix, is the parameter increment, is the residual vector, the residual vector and the parameter increment are the updated parameters. Δ p =[ Δ α, Δ β, Δ γ, Δ a, Δ b ] T ,in, is the increment of the inertial navigation pitch angle, is the increment of the inertial navigation roll angle, is the increment of the inertial navigation heading angle. is the increment of the camera's lateral vibration offset value, is the increment of the camera vertical vibration offset value. r =[ r 1 , r 2 ,…, r n ] T .in, is the value in the above formula (6) The residual is 1 , similarly, In the above formula (6) The residual of n .
[0181] In this embodiment, an inverse affine transformation is performed on the initial arc point cloud dataset using the initial inertial guidance angle vibration value and the initial camera vibration offset value to obtain a target arc point cloud dataset. This converts the unknown parameters in the target arc point cloud dataset into two parameters: the initial inertial guidance angle vibration value and the initial camera vibration offset value. Compared with the prior art method of simultaneously solving multiple (12) parameters, this method reduces the number of parameters, shortens data calculation time, and improves data processing efficiency.
[0182] In an exemplary embodiment, Figure 10 As shown, the specific processing process of step 406 includes steps 1002 to 1008. Among them:
[0183] Step 1002 : Update the number of iterations, and update the initial inertial guidance angle vibration value and the initial camera vibration offset value based on the parameter increment in the update parameter to obtain the inertial guidance angle vibration value and the camera vibration offset value.
[0184] The update parameters include parameter increments.
[0185] In implementation, the terminal is pre-set with an iteration number, and the terminal updates the iteration number and updates the parameter increment to update the initial inertial guidance angle vibration value and the initial camera vibration offset value to obtain the inertial guidance angle vibration value and the camera vibration offset value.
[0186] Specifically, the parameter increment includes an increment of the inertial navigation pitch angle, an increment of the inertial navigation roll angle, an increment of the inertial navigation heading angle, an increment of the camera lateral vibration offset value, and an increment of the camera vertical vibration offset value. The initial inertial navigation angle vibration value includes an initial inertial navigation pitch angle, an initial inertial navigation roll angle, and an initial inertial navigation heading angle. The initial camera vibration offset value includes an initial camera lateral vibration offset value and an initial camera vertical vibration offset value. The terminal updates the initial inertial navigation pitch angle based on the increment of the inertial navigation pitch angle to obtain an inertial navigation pitch angle, and updates the initial inertial navigation roll angle based on the increment of the inertial navigation roll angle to obtain an inertial navigation roll angle. The terminal updates the initial inertial navigation heading angle based on the increment of the inertial navigation heading angle to obtain an inertial navigation heading angle, and updates the initial camera lateral vibration offset value based on the increment of the camera lateral vibration offset value to obtain a camera lateral vibration offset value. The terminal updates the initial camera vertical vibration offset value based on the increment of the camera vertical vibration offset value to obtain a camera vertical vibration offset value. The updating process of the initial inertial guidance angle vibration value and the initial camera vibration offset value is shown in the following formulas (9), (10), (11), (12) and (13):
[0187] (9)
[0188] (10)
[0189] (11)
[0190] (12)
[0191] (13)
[0192] Among them, in the above formulas (9), (10), (11), (12) and (13), is the initial inertial navigation pitch angle, is the increment of the inertial navigation pitch angle, is the inertial navigation pitch angle. is the initial inertial navigation roll angle, is the increment of the inertial navigation roll angle, is the inertial navigation roll angle. is the initial inertial navigation heading angle, is the increment of the inertial navigation heading angle, is the inertial navigation heading angle. is the initial camera lateral vibration offset value, is the increment of the inertial navigation pitch angle, The camera's lateral vibration offset value. is the initial camera vertical vibration offset value, is the increment of the camera vertical vibration offset value, The vertical vibration offset value of the camera.
[0193] Step 1004 : Based on the updated number of iterations and the updated parameters, it is determined whether the inertial guidance angle vibration value and the camera vibration offset value meet a preset verification condition.
[0194] The update parameters include the residual vector and the parameter increment. The verification condition is that the number of iterations after the update reaches the iteration number threshold, the parameter increment is less than the preset parameter increment threshold, or the residual vector is less than the preset residual vector threshold.
[0195] In implementation, the terminal pre-sets an iteration count threshold, a parameter increment threshold, and a residual vector threshold. The terminal determines whether the updated iteration count is greater than or equal to the preset iteration count threshold, obtaining a first judgment result. It also determines whether the parameter increment is less than the preset parameter increment threshold, obtaining a second judgment result. Simultaneously, the terminal determines whether the residual vector is less than the residual vector threshold, obtaining a third judgment result. Based on the first, second, and third judgment results, the terminal determines whether the inertial guidance angle vibration value and the camera vibration offset value meet preset verification conditions.
[0196] Specifically, if the first judgment result is that the iteration number threshold is less than the iteration number threshold and the second judgment result is that the parameter increment is greater than or equal to the parameter increment threshold, and the third judgment result is that the residual vector is greater than or equal to the residual vector threshold, then the terminal determines that the inertial guidance angle vibration value and the camera vibration offset value do not meet the preset verification conditions. If the first judgment result is that the iteration number is greater than the iteration number threshold, or the second judgment result is that the parameter increment is less than the parameter increment threshold, or the third judgment result is that the residual vector is less than the residual vector threshold, the terminal determines that the inertial guidance angle vibration value and the camera vibration offset value meet the preset verification conditions.
[0197] Optionally, the iteration count threshold can be set to, but not limited to, 300 times; the residual vector threshold can be set to, but not limited to, 0.01; the incremental threshold for each inertial guidance angle in the parameter increment threshold can be set to, but not limited to, 0.01°; and the camera offset vibration threshold can be set to, but not limited to, 0.03 mm (millimeter). The iteration count threshold, parameter increment threshold, and residual vector threshold are set based on detection requirements. This embodiment of the application does not impose any restrictions on these thresholds.
[0198] Step 1006 : If the IGN angle vibration value and the camera vibration offset value meet the verification conditions, it is determined that the IGN angle vibration value and the camera vibration offset value have passed the verification.
[0199] During implementation, if the inertial guidance angle vibration value and the camera vibration offset value meet the verification conditions, the terminal determines that the inertial guidance angle vibration value and the camera vibration offset value reach the optimal solution, and determines that the inertial guidance angle vibration value and the camera vibration offset value are verified, that is, the verification result is verification passed.
[0200] In step 1008, if the IGN angular vibration value and the camera vibration offset value do not meet the verification conditions, the step of performing an inverse affine transformation on the arc point cloud data based on the initial IGN angular vibration value and the initial camera vibration offset value is executed according to the IGN angular vibration value and the camera vibration offset value until the IGN angular vibration value and the camera vibration offset value meet the verification conditions, thereby determining that the IGN angular vibration value and the camera vibration offset value have passed the verification.
[0201] During implementation, if the inertial navigation angle vibration value and the camera vibration offset value do not meet the verification conditions, the terminal executes the above step 404 according to the inertial navigation angle vibration value and the camera vibration offset value until the inertial navigation angle vibration value and the camera vibration offset value meet the verification conditions. The terminal determines that the inertial navigation angle vibration value and the camera vibration offset value have passed the verification, thereby obtaining the inertial navigation angle vibration value and the camera vibration offset value. Among them, the specific processing process of step 404 has been described in detail in the above embodiment, and the embodiments of this application will not be repeated here. In addition, it should be noted that the step of performing an inverse affine transformation on the arc point cloud data based on the initial inertial navigation angle vibration value and the initial camera vibration offset value according to the inertial navigation angle vibration value and the camera vibration offset value is essentially the step of performing an inverse affine transformation on the arc point cloud data based on the inertial navigation angle vibration value and the camera vibration offset value.
[0202] In this embodiment, the initial inertial navigation angle vibration value and the initial camera vibration offset value are updated by updating parameters to obtain the inertial navigation angle vibration value and the camera vibration offset value. The inertial navigation angle vibration value and the camera vibration offset value are then verified using verification conditions, resulting in inertial navigation angle vibration value and camera vibration offset value with smaller errors. This improves the accuracy of the inertial navigation angle vibration value and the camera vibration offset value, thereby improving the accuracy of the data processing method.
[0203] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0204] Based on the same inventive concept, the present application also provides a data processing device for implementing the aforementioned data processing method. The implementation solution provided by this device is similar to the implementation solution described in the aforementioned method. Therefore, the specific limitations in one or more data processing device embodiments provided below can be found in the above-mentioned limitations on the data processing method and will not be repeated here.
[0205] In an exemplary embodiment, Figure 11 As shown, a data processing device 1100 is provided, comprising: an acquisition module 1101, a first determination module 1102 and a second determination module 1103, wherein:
[0206] The acquisition module 1101 is used to acquire a point cloud dataset and an inertial navigation dataset.
[0207] The first determination module 1102 is used to determine the inertial navigation angular vibration value and the camera vibration offset value based on the point cloud dataset and the inertial navigation dataset; the inertial navigation angular vibration value and the camera vibration offset value are verified based on the inverse affine transformation and the arc point cloud dataset in the point cloud dataset.
[0208] The second determining module 1103 is configured to determine the profile data of the normal section according to the inertial navigation angle vibration value, the camera vibration offset value, and the point cloud data set.
[0209] In an exemplary embodiment, the first determining module 1102 includes:
[0210] The first determination submodule is used to determine an initial inertial navigation angle vibration value and an initial camera vibration offset value according to the point cloud dataset and the inertial navigation dataset, and to determine an arc point cloud dataset in the point cloud dataset.
[0211] The first transformation submodule is used to perform an inverse affine transformation on the arc point cloud dataset based on the initial inertial guidance angle vibration value and the initial camera vibration offset value to obtain a target arc point cloud dataset, and determine the update parameters based on the target arc point cloud dataset and the residual algorithm.
[0212] The first verification submodule is used to verify the initial inertial guidance angle vibration value and the initial camera vibration offset value based on the updated parameters to obtain the inertial guidance angle vibration value and the camera vibration offset value.
[0213] In an exemplary embodiment, the first determining submodule includes a second determining submodule and a third determining submodule. The second determining submodule includes:
[0214] The fourth determining submodule is configured to determine an inertial navigation angle base value and an original inertial navigation angle value according to each inertial navigation data set, and determine an initial inertial navigation angle vibration value based on the inertial navigation angle base value and the original inertial navigation angle value.
[0215] The fifth determining submodule is configured to determine an intermediate point cloud dataset in each point cloud dataset, and determine the breakpoint coordinates in the intermediate point cloud dataset according to a preset breakpoint coordinate screening condition.
[0216] The sixth determination submodule is configured to obtain the static marker coordinates and determine an initial camera vibration offset value based on the breakpoint coordinates and the static marker coordinates.
[0217] In an exemplary embodiment, the fourth determining submodule includes:
[0218] The first fitting submodule is used to perform straight line fitting on the full amount of inertial navigation angles in each inertial navigation data set to obtain a straight line fitting result, and determine the inertial navigation angle base value from the straight line fitting result.
[0219] The seventh determining submodule is configured to determine an intermediate inertial navigation data set from each inertial navigation data set, and determine the inertial navigation angle in the intermediate inertial navigation data set as the initial inertial navigation angle value.
[0220] The eighth determining submodule is configured to determine a difference between the inertial navigation angle base value and the initial inertial navigation angle value as the initial inertial navigation angle vibration value.
[0221] In an exemplary embodiment, the arc point cloud dataset includes a large arc point cloud dataset and a small arc point cloud dataset, and the third determining submodule includes:
[0222] The ninth determining submodule is configured to determine the great circle point cloud dataset in the intermediate point cloud dataset according to the breakpoint coordinates and a preset great circle arc screening rule.
[0223] The tenth determining submodule is used to determine the coordinates of the connection point between the large arc and the small arc according to the breakpoint coordinates.
[0224] The eleventh determining submodule is used to determine the small arc point cloud dataset in the intermediate point cloud dataset according to the connection point coordinates and the preset small arc screening rule.
[0225] In an exemplary embodiment, the first transformation submodule includes a second transformation submodule and a twelfth determination submodule. The second transformation submodule includes:
[0226] The third transformation submodule is used to perform inverse affine transformation on the arc point cloud dataset according to the inverse simulation transformation algorithm, the initial inertial guidance angle vibration value and the initial camera vibration offset value to obtain the initial target arc point cloud dataset.
[0227] The first conversion submodule is used to perform coordinate conversion on the initial target arc point cloud dataset based on the arc center coordinates in the standard template to obtain the target arc point cloud dataset.
[0228] In an exemplary embodiment, the first transformation submodule includes a second transformation submodule and a twelfth determination submodule. The twelfth determination submodule includes:
[0229] The first construction submodule is used to construct a Jacobian matrix according to the target arc point cloud dataset and the residual algorithm.
[0230] The thirteenth determination submodule is used to determine the update parameters by solving the linear equations corresponding to the Jacobian matrix.
[0231] In an exemplary embodiment, the first verification submodule includes:
[0232] The first updating submodule is used to update the number of iterations and update the initial inertial guidance angle vibration value and the initial camera vibration offset value based on the parameter increment in the update parameter to obtain the inertial guidance angle vibration value and the camera vibration offset value.
[0233] The first judgment submodule is used to judge whether the inertial guidance angle vibration value and the camera vibration offset value meet a preset verification condition based on the updated number of iterations and the update parameters.
[0234] The fourteenth determining submodule is configured to determine that the verification of the inertial guidance angle vibration value and the camera vibration offset value is passed if the inertial guidance angle vibration value and the camera vibration offset value meet the verification conditions.
[0235] The fifteenth determination submodule is used to, if the inertial guidance angular vibration value and the camera vibration offset value do not meet the verification conditions, execute the step of performing an inverse affine transformation on the arc point cloud data based on the initial inertial guidance angular vibration value and the initial camera vibration offset value according to the inertial guidance angular vibration value and the camera vibration offset value, until the inertial guidance angular vibration value and the camera vibration offset value meet the verification conditions, and determine that the inertial guidance angular vibration value and the camera vibration offset value have passed the verification.
[0236] Each module in the above-mentioned data processing device can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the corresponding operations of each module.
[0237] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as shown in FIG. Figure 12 As shown. The computer device includes a processor, memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are connected to the system bus via the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals via wired or wireless means, and the wireless means can be implemented via Wi-Fi, a mobile cellular network, near-field communication (NFC), or other technologies. When executed by the processor, the computer program implements a data processing method. The display unit of the computer device is used to form a visually visible image, and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device casing, or an external keyboard, touchpad or mouse.
[0238] Those skilled in the art will understand that Figure 12 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0239] In one embodiment, a computer device is further provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps in the above method embodiments when executing the computer program.
[0240] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0241] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0242] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. In particular, any reference to memory, database, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), quantum computing-based data processing logic devices, artificial intelligence (AI) processors, and the like.
[0243] The technical features of the above embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0244] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A data processing method, characterized in that: The method comprises: Obtain point cloud dataset and inertial navigation dataset; Determine an inertial navigation angle vibration value and a camera vibration offset value according to the point cloud dataset and the inertial navigation dataset; the inertial navigation angle vibration value and the camera vibration offset value are verified based on an inverse affine transformation and an arc point cloud dataset in the point cloud dataset; Determine the contour data of the normal section according to the inertial guidance angle vibration value, the camera vibration offset value and the point cloud data set.
2. The method according to claim 1, characterized in that The determining of the inertial navigation angle vibration value and the camera vibration offset value according to the point cloud data set and the inertial navigation data set includes: Determining an initial inertial navigation angle vibration value and an initial camera vibration offset value according to the point cloud dataset and the inertial navigation dataset, and determining an arc point cloud dataset in the point cloud dataset; performing an inverse affine transformation on the arc point cloud dataset based on the initial inertial navigation angle vibration value and the initial camera vibration offset value to obtain a target arc point cloud dataset, and determining an update parameter based on the target arc point cloud dataset and a residual algorithm; The initial inertial guidance angle vibration value and the initial camera vibration offset value are verified based on the updated parameters to obtain an inertial guidance angle vibration value and a camera vibration offset value.
3. The method according to claim 2, characterized in that The determining, based on the point cloud data set and the inertial navigation data set, an initial inertial navigation angle vibration value and an initial camera vibration offset value comprises: Determining an inertial navigation angle base value and an original inertial navigation angle value according to each of the inertial navigation data sets, and determining an initial inertial navigation angle vibration value based on the inertial navigation angle base value and the original inertial navigation angle value; Determining an intermediate point cloud dataset in each of the point cloud datasets, and determining breakpoint coordinates in the intermediate point cloud dataset according to a preset breakpoint coordinate screening condition; The static marker coordinates are acquired, and an initial camera shake offset value is determined based on the breakpoint coordinates and the static marker coordinates.
4. The method according to claim 3, characterized in that The determining of an inertial navigation angle base value and an original inertial navigation angle value according to each of the inertial navigation data sets, and determining an initial inertial navigation angle vibration value based on the inertial navigation angle base value and the original inertial navigation angle value, includes: Performing a straight line fitting on the full amount of inertial navigation angles in each of the inertial navigation data sets to obtain a straight line fitting result, and determining an inertial navigation angle base value from the straight line fitting result; Determining an intermediate inertial navigation data set from each of the inertial navigation data sets, and determining the inertial navigation angle in the intermediate inertial navigation data set as an initial inertial navigation angle value; A difference between the inertial guidance angle base value and the initial inertial guidance angle value is determined as an initial inertial guidance angle vibration value.
5. The method according to claim 3, characterized in that The arc point cloud dataset includes a large arc point cloud dataset and a small arc point cloud dataset, and determining the arc point cloud dataset in the point cloud dataset includes: Determining the great circle point cloud dataset in the intermediate point cloud dataset according to the breakpoint coordinates and a preset great circle arc screening rule; Determine the coordinates of the connection point between the large arc and the small arc according to the breakpoint coordinates; The small arc point cloud dataset is determined in the intermediate point cloud dataset according to the connection point coordinates and a preset small arc screening rule.
6. The method according to claim 2, characterized in that The step of performing an inverse affine transformation on the arc point cloud dataset based on the initial inertial navigation angle vibration value and the initial camera vibration offset value to obtain a target arc point cloud dataset includes: Performing an inverse affine transformation on the arc point cloud dataset according to an inverse simulation transformation algorithm, the initial inertial navigation angle vibration value, and the initial camera vibration offset value to obtain an initial target arc point cloud dataset; The initial target arc point cloud dataset is subjected to coordinate transformation based on the arc center coordinates in the standard template to obtain a target arc point cloud dataset.
7. The method according to claim 2, characterized in that The determining of update parameters based on the target arc point cloud dataset and the residual algorithm includes: Constructing a Jacobian matrix according to the target arc point cloud data set and the residual algorithm; The update parameters are determined by solving the linear equations corresponding to the Jacobian matrix.
8. The method according to claim 2, characterized in that The verifying the initial inertial guidance angle vibration value and the initial camera vibration offset value based on the updated parameter to obtain the inertial guidance angle vibration value and the camera vibration offset value includes: Updating the number of iterations, and updating the initial inertial guidance angle vibration value and the initial camera vibration offset value based on the parameter increment in the update parameter to obtain the inertial guidance angle vibration value and the camera vibration offset value; Based on the updated number of iterations and the update parameter, determining whether the inertial guidance angle vibration value and the camera vibration offset value meet a preset verification condition; If the inertial guidance angle vibration value and the camera vibration offset value meet the verification condition, determining that the inertial guidance angle vibration value and the camera vibration offset value have passed verification; If the inertial navigation angular vibration value and the camera vibration offset value do not meet the verification condition, the step of performing an inverse affine transformation on the arc point cloud data based on the initial inertial navigation angular vibration value and the initial camera vibration offset value is performed according to the inertial navigation angular vibration value and the camera vibration offset value until the inertial navigation angular vibration value and the camera vibration offset value meet the verification condition, and it is determined that the inertial navigation angular vibration value and the camera vibration offset value have passed verification.
9. A data processing device, characterized in that: The device comprises: Acquisition module, used to obtain point cloud data set and inertial navigation data set; A first determining module is configured to determine an inertial navigation angular vibration value and a camera vibration offset value based on the point cloud dataset and the inertial navigation dataset, wherein the inertial navigation angular vibration value and the camera vibration offset value are verified based on an inverse affine transformation and an arc point cloud dataset in the point cloud dataset; The second determining module is configured to determine the profile data of the normal section according to the inertial guidance angle vibration value, the camera vibration offset value and the point cloud data set.
10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
12. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.