A VR large space mapping accuracy evaluation method
By detecting and correcting ‘bright drift’ and ‘dark drift’ in large VR space, multiple hypothesis branch generation and local reprojection residual optimization are used to solve the problems of short-term mutations and long-term error accumulation in traditional SLAM, and the accuracy and stability of the system are improved.
Patent Information
- Application Number
- CN202510653640.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-21
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2045-05-21
AI Technical Summary
Traditional SLAM technology cannot effectively take into account short-term mutations and long-term cumulative errors in VR large-space mapping, resulting in positioning abnormalities and map distortions, affecting system accuracy and robustness.
By detecting the instantaneous jump of ‘bright drift’ and compensating the sensor bias of ‘dark drift’, multiple hypothesis branch generation, local reprojection residual optimization, time-temperature coupling bias evolution and absolute anchor point global constraints, VR large space mapping accuracy evaluation method is constructed.
It realizes synchronous suppression of short-term positioning abnormalities and long-term map distortion, improves the accuracy and robustness of VR large space, and ensures that the system maintains high-precision tracking and interaction stability over a large range.
Smart Images

Figure CN120180058B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of VR large space technology, and more specifically, to a VR large space spatial mapping accuracy assessment method. Background Art
[0002] VR large-space spatial mapping refers to the construction of a high-precision, continuous, and stable spatial coordinate system in a large-scale virtual environment through multi-sensor data fusion and real-time calculation to support users' precise positioning and interaction in the virtual environment. This mapping usually relies on SLAM technology, combining vision, IMU, LiDAR and other sensors to obtain environmental features, and constructing a globally consistent three-dimensional spatial model through optimization algorithms to ensure that the VR system can maintain high-precision tracking and interactive stability over a large range.
[0003] In the accuracy evaluation of large-scale VR spatial mapping, pose estimation and environment reconstruction are usually performed based on SLAM. However, traditional SLAM lacks a comprehensive drift control mechanism for short-term mutations and long-term cumulative errors. In other words, it has deficiencies in the instantaneous jump detection of "bright drift" and the long-term compensation of sensor bias of "dark drift". Therefore, in practical applications, it is easy to cause short-term positioning anomalies, long-term map distortion and global coordinate system instability, affecting the accuracy and robustness of the system. Summary of the Invention
[0004] In order to overcome the above-mentioned defects of the prior art, an embodiment of the present invention provides a VR large-space spatial mapping accuracy evaluation method, which overcomes the deficiency of traditional SLAM that cannot take into account both short-term mutations and long-term error accumulation by detecting the instantaneous jump of "bright drift" in the short term and compensating the sensor bias of "dark drift" in the long term, so as to solve the problems raised in the above-mentioned background technology.
[0005] To achieve the above objectives, the present invention provides the following technical solution: a method for evaluating the accuracy of VR large-scale spatial mapping, comprising:
[0006] The front end collects raw sensor data in real time, performs feature extraction and time synchronization, and generates preliminary pose estimation, observation factors, and key frames;
[0007] The front end stores the packaged key frame data and sensor metadata into a ring buffer and transmits it to the back end according to the timestamp;
[0008] After receiving the keyframe package data, the backend constructs the pose, velocity, bias and environment feature state nodes for each keyframe in the factor graph;
[0009] By monitoring the observation residuals at the back end, multiple hypothesis branches are generated. After independently building the branches, the residuals are compared, the target branch is selected, and the data of other branches is discarded to correct the "clear drift" problem of instantaneous positioning jumps.
[0010] The backend generates snapshots containing factor graphs and observation information at fixed keyframe intervals for subsequent fallback mechanism calls;
[0011] When the backend detects that the residual value exceeds the preset residual threshold and the pose state has not converged, the system will fall back to the pre-stored snapshot and load the corresponding observation data from the ring buffer;
[0012] The backend constructs time- and temperature-dependent bias function nodes for the sensor in the factor graph to correct sensor parameters and suppress the "dark drift" problem of long-term drift.
[0013] During the back-end nonlinear optimization iteration process, the sensor bias function nodes are updated in real time based on temperature and time-related observation factors, and the global state estimation is adjusted synchronously.
[0014] In a preferred embodiment, the front end acquires raw data from sensors and generates preliminary pose estimates and observation factors using feature extraction and time synchronization; the raw data includes camera images, IMU readings, and laser point clouds;
[0015] The front end selects key frames in the image sequence based on motion amplitude and / or feature distribution, and packages the key frames with the corresponding preliminary pose estimate and observation factors;
[0016] The front end uses a ring buffer to store the packed keyframe data and retain the timestamp index for subsequent backtracking or branching operations;
[0017] The front-end sends the key frame packaged data and sensor metadata to the back-end as the input source for the back-end global optimization.
[0018] In a preferred embodiment, the residual of the key frame in the observation factor is monitored by the backend, and if the residual value exceeds a preset residual threshold, multiple hypothesis branches are generated;
[0019] The backend allows multiple hypothesis branches to share previous keyframe nodes at divergence and independently create new keyframes and constraint factors after divergence;
[0020] The backend compares the overall residuals of each branch in a parallel or round-robin graph optimization process to determine the target branch solution;
[0021] After selecting the target branch, the backend marks the remaining inferior branches as discarded and recycles the relevant nodes and factor storage.
[0022] In a preferred embodiment, a health assessment model is established for each characteristic factor through the backend to quantify its observation quality, and its weight is gradually reduced and / or marked for removal when observation failures accumulate;
[0023] The backend regularly scans the feature factors that are determined to be inefficient by the health assessment model in the background thread, and clears them in batches. At the same time, it performs a local reoptimization process after the clearing.
[0024] The backend configures anchor nodes in the factor graph and periodically applies global constraints based on the absolute coordinate measurement factors;
[0025] After receiving the backend factor graph update or branch merge signal, the frontend refreshes the index of the key frame and its corresponding observation factor reference in the ring buffer.
[0026] In a preferred embodiment, a comprehensive cost function for multiple hypothesis branches is established based on Formula 1. Multiple hypothesis branches are comprehensively scored to identify and correct positioning mutations caused by "bright drift". When the backend detects a transient jump in the system, the overall cost of each branch is calculated based on Formula 1 to compare the performance of each branch in terms of observation residual, transient jump amplitude, feature quality, and branch duration.
[0027] Formula 1 is:
[0028] ;
[0029] in is the branch comprehensive cost; For branches The set of keyframe indices included; Keyframe The observation residual vector of ; Keyframe The residual difference between its adjacent key frames; Keyframe The time weight coefficient of is the residual surge factor; Keyframe The corresponding characteristic health value; Refers to the health decay function; Indicates the time span that the branch lasts; is the branch duration penalty term.
[0030] In a preferred embodiment, the characteristic health and observation failure function is constructed based on formula 2; formula 2 is characteristic Provides a quantified healthiness measure to reflect the feature's adaptability under different viewing angles and appearances. The system uses the value of Formula 2 to filter feature factors and adjusts the feature weights based on healthiness during backend optimization.
[0031] Formula 2:
[0032] ;
[0033] in Features health; is the cumulative amount of visual angle difference; Used to describe the sub-deviation; , are the weight coefficients of viewing angle and appearance deviation respectively; , is the nonlinear index;
[0034] Based on formula 3, the observation failure function is constructed; during system operation, if the characteristic If it continues to fail to match the observation, then its observation failure degree If the value of the feature increases, the backend is prompted to reduce the weight of the feature or remove its factor. Formula 3 combines time with health and matching confidence to amplify or reduce the "failure trend" and maintain the dynamic cleanliness of the optimization graph.
[0035] Formula 3 is:
[0036] ;
[0037] in is the observation failure degree; Features the length of time the failure has lasted since the last successful observation; is the time factor function; Features The health degree is based on formula 2; is the confidence level of the last match; is the comprehensive amplification function.
[0038] In a preferred embodiment, a local reoptimization and snapshot fallback residual model is constructed based on Formula 4; the residual sum of the metric subgraph or keyframe subset when performing "local reoptimization" by Formula 4 is ,After switching multiple hypothesis branches or rolling back to a previous snapshot, the system ,reprojects the affected key frames and features to repair the ,“bright drift” deviation that has occurred;
[0039] Formula 4 is expressed as:
[0040] ;
[0041] in is the total value of the local reprojection residual; Represents the set of feature or keyframe indices covered by this local reoptimization; For features or keyframes The corresponding status; For the moment Sensor bias; represents the real measurement in the observation space; is the projection function; represents the robust norm with Huber kernel, is the nuclear threshold; is the residual power;
[0042] The time-temperature bias evolution equation is constructed based on Equation 5, where Equation 5 is used to combat “dark drift” by and 、 as well as Combined with Equation 5, the sensor bias is continuously estimated and updated. In addition, the local reoptimization in Equation 4 operates simultaneously, making the system able to resist both instantaneous drift and long-term drift.
[0043] Formula 5 is:
[0044] ;
[0045] in For the moment The sensor bias vector of is the time derivative of the bias vector; For the moment temperature; Indicates at time The residual vector obtained by comprehensive statistics; is the instantaneous residual change; is the temperature coupling matrix; is the residual amplification function; is the bias attenuation function.
[0046] In a preferred embodiment, an absolute anchor point global constraint is formed based on Equation 6; Equation 6 is expressed as the absolute anchor point residual, and Equation 6 is used to introduce the known external reference coordinates into the system to form a global constraint, thereby correcting the global coordinate system offset caused by "dark drift". By continuously minimizing , allowing the system to maintain alignment with a real-world reference over large spaces or long periods of time;
[0047] Formula 6 is:
[0048] ;
[0049] in is the anchor factor residual vector; is the global state; b is the current sensor bias; for external benchmark observations; Calculate the function for the anchor point residual.
[0050] In a preferred embodiment, the final state fusion update equation is constructed based on Equation 7; the calculation results of Equations 1 to 6 are merged into a unified state update process through Equation 7 to generate the global state at the next moment ;
[0051] Formula 7 is expressed as:
[0052] ;
[0053] in , Respectively represent Frame and The global state of the frame; is the state composition operator; is the fusion function; is a local incremental solution; For sensor bias at keyframes The value of the corresponding moment.
[0054] Technical effects and advantages of the present invention:
[0055] By detecting the transient jumps of "bright drift" in the short term and compensating the sensor bias of "dark drift" in the long term, this overcomes the shortcomings of traditional SLAM that cannot balance short-term mutations and long-term error accumulation. It can achieve the simultaneous suppression of short-term positioning anomalies and long-term map distortion, thereby improving the accuracy and robustness of VR large-scale space.
[0056] By leveraging multiple hypothesis branch generation and local reprojection residual optimization, when the observed residual suddenly increases, a reliable branch can be quickly selected and local corrections performed to prevent errors from propagating to the entire factor graph. Global consistency is maintained by distinguishing reliable keyframes from abnormal keyframes.
[0057] By establishing health and failure functions for feature factors and removing failed features in batches in the background thread, the interference of invalid or abnormal features on the optimization process is reduced, improving overall optimization efficiency and state estimation quality.
[0058] Based on the time-temperature coupled bias evolution equation, adaptive correction is made for temperature fluctuations and drift caused by long-term use. By dynamically updating the bias node during nonlinear optimization iterations, sensor parameters are continuously calibrated, enabling the system to achieve high pose estimation accuracy after long-term operation.
[0059] By introducing absolute anchor point global constraints and combining them with bias correction, the system can maintain alignment with the real coordinate system over a large range, relatively avoiding large-scale drift in large-space VR applications. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] Figure 1Flowchart of the present invention. DETAILED DESCRIPTION
[0061] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0062] Refer to the instruction manual Figure 1 A method for evaluating the accuracy of VR large-space spatial mapping according to an embodiment of the present invention includes:
[0063] The front end collects raw sensor data in real time, performs feature extraction and time synchronization, and generates preliminary pose estimation, observation factors, and key frames;
[0064] The front end stores the packaged key frame data and sensor metadata into a ring buffer and transmits it to the back end according to the timestamp;
[0065] After receiving the keyframe package data, the backend constructs the pose, velocity, bias and environment feature state nodes for each keyframe in the factor graph;
[0066] By monitoring the observation residuals at the back end, multiple hypothesis branches are generated. After independently building the branches, the residuals are compared, the target branch is selected, and the data of other branches is discarded to correct the "clear drift" problem of instantaneous positioning jumps.
[0067] The backend generates snapshots containing factor graphs and observation information at fixed keyframe intervals for subsequent fallback mechanism calls;
[0068] When the backend detects that the residual value exceeds the preset residual threshold and the pose state has not converged, the system will fall back to the pre-stored snapshot and load the corresponding observation data from the ring buffer;
[0069] The backend constructs time- and temperature-dependent bias function nodes for the sensor in the factor graph to correct sensor parameters and suppress the "dark drift" problem of long-term drift.
[0070] During the back-end nonlinear optimization iteration process, the sensor bias function nodes are updated in real time based on temperature and time-related observation factors, and the global state estimation is adjusted synchronously.
[0071] The front end acquires raw data from sensors and generates preliminary pose estimates and observation factors using feature extraction and time synchronization; the raw data includes camera images, IMU readings, and laser point clouds;
[0072] The front end selects key frames in the image sequence based on motion amplitude and / or feature distribution, and packages the key frames with the corresponding preliminary pose estimate and observation factors;
[0073] The front end uses a ring buffer to store the packed keyframe data and retain the timestamp index for subsequent backtracking or branching operations;
[0074] The front-end sends the key frame packaged data and sensor metadata to the back-end as the input source for the back-end global optimization.
[0075] The residual of the key frame in the observation factor is monitored by the backend. If the residual value exceeds the preset residual threshold, the generation of multiple hypothesis branches is triggered;
[0076] The backend allows multiple hypothesis branches to share previous keyframe nodes at divergence and independently create new keyframes and constraint factors after divergence;
[0077] The backend compares the overall residuals of each branch in a parallel or round-robin graph optimization process to determine the target branch solution;
[0078] After selecting the target branch, the backend marks the remaining inferior branches as discarded and recycles the relevant nodes and factor storage.
[0079] A health assessment model is established for each characteristic factor through the backend to quantify its observation quality, and its weight is gradually reduced and / or marked for removal as observation failures accumulate;
[0080] The backend periodically scans the feature factors that are determined to be inefficient by the health assessment model in the background thread, and clears them in batches. At the same time, a local reoptimization process is performed after the clearing, which is used to reduce the local reprojection error and improve the state estimation accuracy;
[0081] The backend configures anchor nodes in the factor graph and periodically applies global constraints based on the absolute coordinate measurement factors to prevent pose accumulation offsets.
[0082] After receiving the backend factor graph update or branch merge signal, the front end refreshes the index of the key frame and its corresponding observation factor reference in the ring buffer, which is used to ensure real-time consistency of the overall system.
[0083] It should be noted that in the formula structure involved in this solution, dimensionless terms can serve as proportionality or structural adjustment factors. When combined with quantities with units, they only play a numerical scaling role and do not introduce new physical dimensions. Therefore, they will not change or confuse the overall unit system of expression. This combination of "dimensionless terms and units" can be understood as a composite structural expression commonly used in mathematical and physical modeling, conforming to the principle of dimensional consistency and having a clear physical interpretation basis.
[0084] Secondly, in the formula structure of this scheme, if multiple variables with different physical units are involved, including but not limited to time, mass or energy variables, their joint appearance is to express the collaborative modeling relationship of multiple physical mechanisms. Each variable can be formed into a unified structure through function mapping, ratio combination or normalization adjustment. The units and meanings are clear, and the overall expression conforms to the principle of dimensional consistency and the common formula of engineering modeling.
[0085] In this solution, any design constants, weights, adjustment factors, threshold parameters, and proportional coefficients are adjustable control parameters for different application environments. Their values depend on the target device configuration, data input characteristics, and performance optimization goals. During the implementation phase, they are set within a reasonable range through model verification, performance constraints, or engineering calibration. Although these parameters do not have unique preset values, they have clear adjustment logic and calculation paths, and are part of the deterministic setting process in engineering implementation. The purpose of such setting is to ensure that the solution is both universally adaptable, reproducible, and operable, without affecting its technical clarity and feasibility.
[0086] This solution includes instantaneous and long-term drift compensation in VR large-space environment mapping; drift compensation includes drift processing, dark drift processing, and fusion update;
[0087] In bright drift processing, multiple hypothesis branch cost evaluation, local reprojection residual minimization, and snapshot fallback mechanism are used to detect and correct instantaneous positioning jump problems.
[0088] In dark drift processing, the sensor bias is dynamically corrected through the time-temperature coupled bias evolution equation and the absolute anchor point global constraint, and all correction information is integrated into the global state estimation through fusion update.
[0089] A comprehensive cost function for multiple hypothesis branches is established based on Equation 1. Multiple hypothesis branches are comprehensively scored to identify and correct positioning mutations caused by "clear drift." When the backend detects a transient jump in the system, it calculates the overall cost of each branch based on Equation 1 to compare their performance in terms of observation residuals, transient jump amplitude, feature quality, and branch duration. The optimal branch, i.e., the one with the lowest cost, is considered the current credible solution, while the remaining branches are marked as discarded or rolled back. This stabilizes the system position estimate in the shortest possible time, mitigating the impact of large jumps on global mapping and tracking accuracy.
[0090] Formula 1 is:
[0091] ;
[0092] in is the branch synthesis cost, The larger the value of , the more serious transient jump or characteristic degradation may occur in the branch; For branches The set of keyframe indices included; Keyframe The observation residual vector is used to measure the gap between the measurement and estimation of the frame; Keyframe The residual difference between its adjacent keyframes, Used to capture short-term drift; Keyframe The time weight coefficient can be used to give a relatively high weight to the recent key frames in practical applications; is the residual surge factor, which amplifies the impact of instantaneous jumps on the cost through nonlinearity; Keyframe The corresponding characteristic health value; Refers to the health decay function, where the keyframes with lower health contribute more to the cost; Indicates the time span that the branch lasts; This is the branch duration penalty item. If the branch lasts too long, the penalty value of this item will increase.
[0093] It should be noted that the formation of Formula 1 includes:
[0094] Keyframe weighted integration: accumulate all keyframe residuals in the branch and use the importance of distinguishing early from recent frames;
[0095] Transient jump detection: passed Transmit short-term residual changes. If the jump amplitude is large, it will be transmitted through Strengthen the cost of this keyframe;
[0096] Feature quality correction: If the health of the keyframe Lower, Increase the penalty for the keyframe accordingly;
[0097] Time constraint: Pass Limit branches to indefinite delays;
[0098] Comprehensive assignment: Add the above factors to get , used for multi-branch comparison and selecting the best one.
[0099] Based on formula 2, the characteristic health and observation failure function are constructed; formula 2 is the characteristic Provides a quantified measure of healthiness, reflecting the feature's adaptability under different viewing angles and appearances. The system uses the value of Equation 2 to screen stable feature factors and adjusts the feature weights based on healthiness during back-end optimization. Furthermore, features with low healthiness are susceptible to changes in lighting or viewing angle, and can be removed from the back-end if they subsequently fail to observe correctly.
[0100] Formula 2:
[0101] ;
[0102] in Features health, The value of is in the interval (0, 1]; As a feature identifier to indicate a map point or keyframe feature; Cumulative value of viewing angle difference, which is used for statistical features The difference in shooting angles across multiple frames; Used to describe the sub-deviation, which is also a measure of the characteristics Difference in appearance descriptors; , are the weight coefficients of viewing angle and appearance deviation respectively. In addition, in the above formula , All are positive values; , is the nonlinear index, , Used to amplify or suppress the impact of corresponding deviations on health;
[0103] It should be noted that the formation of Formula 2 includes:
[0104] Viewpoint data aggregation: record the observation angles of features under multiple camera positions, and accumulate the differences to obtain ;
[0105] Descriptor comparison: compare the descriptors of features in different frames and calculate To quantify appearance changes;
[0106] Deviation overlay: weighted overlay and And add it to 1;
[0107] Reciprocal mapping: Take the reciprocal so that when both deviations are low, Close to 1, otherwise the value drops sharply;
[0108] Health Output: Final For backend optimization and formula calling;
[0109] Based on formula 3, the observation failure function is constructed; during system operation, if the characteristic If it continues to fail to match the observation, then its observation failure degree If the value of the feature increases, the backend is prompted to reduce the weight of the feature or remove its factor. Formula 3 combines time with health and matching confidence to amplify or reduce the "failure trend" and maintain the dynamic cleanliness of the optimization graph.
[0110] Formula 3 is:
[0111] ;
[0112] in is the observation failure degree. The larger the value of the observation failure degree, the higher the probability of feature failure. Features the length of time the failure has lasted since the last successful observation; is the time factor function, which varies with increase and rise; Features The health degree is based on formula 2; is the confidence level of the last match, Associated with feature descriptor similarity; is the comprehensive amplification function, when Low, When it is not high, it will increase ;
[0113] It should be noted that the formation of Formula 3 includes:
[0114] Continuous Failure Tracking: System Cumulative Statistics and through Zoom in on time;
[0115] Health Interaction: If The original low, the failure rate will pass And rise faster;
[0116] Matching confidence association: The lower, The larger it is, the more serious the failure accumulation will be.
[0117] Failure mark: When If the preset threshold is exceeded, the backend can remove the feature node or lower its optimization weight.
[0118] Based on Equation 4, a local reoptimization and snapshot fallback residual model is constructed; when performing "local reoptimization" through Equation 4, the residual sum of the subgraph or keyframe subset is measured After multiple hypothesis branches are switched or rolled back to the previous snapshot, the system reprojects the affected keyframes and features to repair the "bright drift" deviation that has occurred. In practical applications, Minimize, so that the local state can be restored to a credible position and posture as quickly as possible;
[0119] Formula 4 is expressed as:
[0120] ;
[0121] in is the total value of the local reprojection residual; Represents the set of feature or keyframe indices covered by this local reoptimization; For features or keyframes The corresponding state, including posture, velocity, bias and environmental feature state; For the moment The sensor bias is dynamically updated by Equation 5; Represents the actual measurement in the observation space, which includes image coordinates or laser ranging; is the projection function, which is used to Mapping to the observation domain; represents the robust norm with Huber kernel, is the kernel threshold; in formula 4, is the residual power, Used for nonlinear enhancement or suppression of error values within a certain range;
[0122] It should be noted that the formation of Formula 4 includes:
[0123] Local index determination: based on the key frame set covered by multiple hypothesis branches or fallback snapshots ;
[0124] Projection error calculation: For each , with the projection function Estimate the observed value and Compare;
[0125] Robust kernel correction: through Suppress extreme abnormal interference;
[0126] Nonlinearity: Pass Moderately amplify medium errors or weaken small noises;
[0127] Local minimization: By Perform iterative solution to obtain the updated state With bias , and fix the impact of bright drift on local maps;
[0128] The time-temperature bias evolution equation is constructed based on Equation 5, where Equation 5 is used to combat “dark drift” by and 、 as well as Combined with the above, the sensor bias is continuously estimated and updated, reducing the accumulation of long-term errors at the hardware level. In addition, the local reoptimization in Equation 5 and Equation 4 operates simultaneously, enabling the system to resist both instantaneous drift and long-term drift.
[0129] Formula 5 is:
[0130] ;
[0131] in For the moment The sensor bias vector of is the time derivative of the bias vector; For the moment temperature; Indicates at time The residual vector obtained by comprehensive statistics; is the instantaneous residual variation, which is used to capture the instantaneous information coupled with the “bright drift”; is the temperature coupling matrix, which represents the influence of temperature deviation on bias change; is the residual amplification function, which combines the long-term With short-term Make appropriate adjustments to the bias; is the bias attenuation function, which is used to prevent the bias vector from growing unbounded;
[0132] It should be noted that the formation of Formula 5 includes:
[0133] Temperature coupling: Mapping the effects of temperature differences on bias;
[0134] Residual injection: through At the same time absorb and Information, allowing the bias to perceive overall errors and instantaneous changes;
[0135] Self-attenuation mechanism: To prevent the bias from developing towards infinity, once the bias value is too high, it will be offset by the negative feedback term;
[0136] Discrete update: In the optimization iteration of the backend, Discretization, gradually correcting the bias value, thus suppressing dark drift in the long term; Represents the time step in the discrete optimization iteration.
[0137] Based on Equation 6, the absolute anchor point global constraint is formed; Equation 6 is expressed as the absolute anchor point residual. Equation 6 is used to introduce the known external reference coordinates into the system to form a global constraint, thereby correcting the global coordinate system offset caused by "dark drift". By continuously minimizing , so that the system can maintain alignment with the real-world reference in large spaces or for long periods of time, avoiding long-term posture loss;
[0138] Formula 6 is:
[0139] ;
[0140] in is the anchor factor residual vector, which is used to quantify the deviation between the current estimate and the absolute reference coordinate; is the global state, which includes posture, velocity, bias and environmental feature state; b is the current sensor bias, which is given by Equation 5; for external benchmark observations; The anchor residual calculation function is calculated by Mapped to the global coordinate system and comparison;
[0141] It should be noted that the formation of Formula 6 includes:
[0142] Anchor data acquisition: measure the absolute position / attitude at a specified location or marker ;
[0143] System projection: The system's current estimate Convert to the same world coordinates;
[0144] Comparison of residuals: Reflects the difference between the system estimate and the actual anchor value;
[0145] Global correction: Backend optimization Minimize and correct for deviations caused by dark drift accumulation.
[0146] The final state fusion update equation is constructed based on Equation 7. The calculation results of Equations 1 to 6 are merged into a unified state update process through Equation 7 to generate the global state at the next moment. , which is equivalent to the system's "master control fusion" step, integrating the correction information of "bright drift" and "dark drift" so that the overall pose and map structure remain highly consistent in each keyframe iteration;
[0147] Formula 7 is expressed as:
[0148]
[0149] in , Respectively represent Frame and The global state of the frame; is a state composition operator, including position superposition in quaternions or Lie groups; is a fusion function that integrates local increments, bias corrections, anchor point constraints, local residuals, and branch costs; It is a local incremental solution, which comes from the pose or velocity update after local reoptimization; For sensor bias at keyframes The value of the corresponding moment, Dynamically update and estimate its value by formula 5; From formula 6, we get: From formula 4, we can get: From formula 1, we can get:
[0150] It should be noted that the formation of Formula 7 includes:
[0151] Input integration: The backend will 、 、 、 and Input to the fusion function ;
[0152] Fusion strategy: according to Select the best branch and use Make local corrections to the posture and then use Improve global constraints and correct Impact on observation residuals;
[0153] State synthesis: passed The operation accumulates the above fusion results into , generating a new state ;
[0154] Iterative loop: The system repeats this process to achieve dynamic detection and correction of "bright drift" and "dark drift", enabling continuous environmental mapping and positioning in large VR spaces.
[0155] Another thing that needs further explanation is;
[0156] In processing bright drift, or transient jumps, the multiple hypothesized branch costs in Equation 1 are used to filter out sudden increases in residuals. Combined with the local residuals in Equation 4, this allows for rapid reoptimization after snapshot rollback or branch switching. Furthermore, the feature health (Equation 2) and failure rate (Equation 3) dynamically eliminate or downgrade unreliable features, further reducing the impact of transient anomalies on the global system.
[0157] In dark drift processing, also known as long-term accumulation processing, the sensor bias is continuously tracked differentially over time and temperature using Equation 5 to avoid long-term accumulation of internal drift. External anchor points are introduced as absolute constraints based on Equation 6 to correct for offsets in the global coordinate system, maintaining relative accuracy in large spaces or over long periods of time.
[0158] In the fusion update, it is used to maintain overall consistency. By integrating the multi-branch cost, local residual, bias correction, anchor point constraint and local increment into the fusion function in Equation 7, a final global update of the system state is formed, thereby achieving both timely repair of "bright drift" and continuous suppression of "dark drift", ensuring the relative stability and accuracy of mapping and positioning in the VR large space environment.
[0159] As a further embodiment of the above solution, it includes:
[0160] When the difference in observation residuals between adjacent keyframes exceeds a preset threshold and the health of the same candidate feature factor is lower than the corresponding preset threshold, the system triggers a multi-hypothesis branch evaluation based on the combined judgment result and decides whether to perform local reoptimization based on the threshold comparison to timely correct the instantaneous positioning jump;
[0161] When the same candidate feature factor fails to be successfully matched within a preset time period and its deviation from the absolute anchor point exceeds the preset limit, the system considers this feature factor invalid based on the combined judgment result, and corrects the overall pose through the absolute anchor point global constraint. At the same time, the sensor bias node is updated in subsequent nonlinear optimization iterations to suppress long-term drift.
[0162] The above two groups of combined judgments are used to deal with short-term mutation and long-term degradation respectively;
[0163] The first set of judgment conditions requires both the residual difference between adjacent keyframes being greater than a threshold and the health of the same candidate feature factor being less than a threshold. When these two conditions coexist, it indicates that the feature factor may have experienced a transient jump within a short period of time. The system triggers multiple hypothesis branch evaluations and decides whether to perform local reoptimization based on the threshold comparison, thereby quickly correcting for "obvious drift."
[0164] The second set of judgment conditions is the coexistence of "the same candidate feature factor continues to fail to successfully match within the preset time length" and "its deviation from the absolute anchor point exceeds the preset limit". This situation means that the feature factor has undergone irreparable degradation or offset during long-term use. At this time, the system will determine that it has failed and re-correct the overall posture based on the global constraints of the absolute anchor point. At the same time, the sensor bias node is updated in subsequent nonlinear optimization iterations to suppress the further accumulation of long-term drift. By distinguishing these two sets of combined judgments, the algorithm can not only capture instantaneous jumps in a timely manner, but also detect long-term drift, thereby taking into account the synchronous control of bright drift and dark drift in large VR spaces.
[0165] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A method for evaluating the accuracy of large-scale VR spatial mapping, comprising: The front end collects raw sensor data in real time, performs feature extraction and time synchronization, and generates preliminary pose estimation, observation factors, and key frames; The front end stores the packaged key frame data and sensor metadata into a ring buffer and transmits it to the back end according to the timestamp; Its characteristics are: After receiving the keyframe package data, the backend constructs the pose, velocity, bias and environment feature state nodes for each keyframe in the factor graph; The back-end monitors the observation residuals to trigger the generation of multiple hypothesis branches. After independently building the branches, the residuals are compared, the target branch is selected, and the data of other branches are discarded to correct the "clear drift" problem of instantaneous positioning jumps. The backend generates snapshots containing factor graphs and observation information at fixed keyframe intervals for subsequent fallback mechanism calls; When the backend detects that the residual value exceeds the preset residual threshold and the pose state has not converged, the system will fall back to the pre-stored snapshot and load the corresponding observation data from the ring buffer; The backend constructs time- and temperature-dependent bias function nodes for the sensor in the factor graph to correct sensor parameters and suppress the "dark drift" problem of long-term drift. During the back-end nonlinear optimization iteration process, the sensor bias function nodes are updated in real time based on temperature and time-related observation factors, and the global state estimation is adjusted synchronously. A health assessment model is established for each characteristic factor through the backend to quantify its observation quality, and its weight is gradually reduced and / or marked for removal as observation failures accumulate; The backend regularly scans the feature factors that are determined to be inefficient by the health assessment model in the background thread, and clears them in batches. At the same time, it performs a local reoptimization process after the clearing. The backend configures anchor nodes in the factor graph and periodically applies global constraints based on the absolute coordinate measurement factors; After receiving the backend factor graph update or branch merge signal, the frontend refreshes the keyframe index and its corresponding observation factor reference in the ring buffer; A comprehensive cost function for multiple hypothesis branches is established based on Equation 1. Multiple hypothesis branches are comprehensively scored to identify and correct positioning mutations caused by "bright drift." When the backend detects a transient jump in the system, it calculates the overall cost of each branch based on Equation 1 to compare their performance in terms of observation residuals, transient jump amplitude, feature quality, and branch duration. Formula 1 is: ; in is the branch comprehensive cost; For branches The set of keyframe indices included; Keyframe The observation residual vector of ; Keyframe The residual difference between its adjacent key frames; Keyframe The time weight coefficient of is the residual surge factor; Keyframe The corresponding characteristic health value; Refers to the health decay function; Indicates the time span that the branch lasts; is the branch duration penalty term.
2. A VR large space spatial mapping accuracy assessment method according to claim 1, characterized in that: The front end acquires raw data from sensors and generates preliminary pose estimates and observation factors using feature extraction and time synchronization; the raw data includes camera images, IMU readings, and laser point clouds; The front end selects key frames in the image sequence based on motion amplitude and / or feature distribution, and packages the key frames with the corresponding preliminary pose estimate and observation factors; The front end uses a ring buffer to store the packed keyframe data and retain the timestamp index for subsequent backtracking or branching operations; The front-end sends the key frame packaged data and sensor metadata to the back-end as the input source for the back-end global optimization.
3. The VR large space mapping accuracy assessment method according to claim 2, characterized in that: The residual of the key frame in the observation factor is monitored by the backend. If the residual value exceeds the preset residual threshold, the generation of multiple hypothesis branches is triggered; The backend allows multiple hypothesis branches to share previous keyframe nodes at divergence and independently create new keyframes and constraint factors after divergence; The backend compares the overall residuals of each branch in a parallel or round-robin graph optimization process to determine the target branch solution; After selecting the target branch, the backend marks the remaining inferior branches as discarded and recycles the relevant nodes and factor storage.
4. The VR large space mapping accuracy assessment method according to claim 3, characterized in that: Based on formula 2, the characteristic health and observation failure function are constructed; formula 2 is the characteristic Provides a quantified healthiness measure to reflect the feature's adaptability under different viewing angles and appearances. The system uses the value of Formula 2 to filter feature factors and adjusts the feature weights based on healthiness during backend optimization. Formula 2: ; in Characterized by health; is the cumulative amount of visual angle difference; Used to describe the sub-deviation; , are the weight coefficients of viewing angle and appearance deviation respectively; , is the nonlinear index; Based on formula 3, the observation failure function is constructed; during system operation, if the characteristic If it continues to fail to match the observation, then its observation failure degree If it increases, the backend will be prompted to reduce the weight of the feature or remove its factor; Formula 3 combines time with health and matching confidence to amplify or reduce the "failure trend" and maintain the dynamic cleanliness of the optimization graph. Formula 3 is: ; in is the observation failure degree; Characterized by the length of time the failure has lasted since the last successful observation; is the time factor function; Characterized by The health degree is based on formula 2; is the confidence level of the last match; is the comprehensive amplification function.
5. The VR large space mapping accuracy assessment method according to claim 4, characterized in that: Based on Equation 4, a local reoptimization and snapshot fallback residual model is constructed; when performing "local reoptimization" through Equation 4, the residual sum of the subgraph or keyframe subset is measured After switching multiple hypothesis branches or rolling back to a previous snapshot, the system reprojects the affected keyframes and features to fix the "bright drift" deviation that has occurred; Formula 4 is expressed as: ; in is the total value of the local reprojection residual; Represents the set of feature or keyframe indices covered by this local reoptimization; For features or keyframes The corresponding status; For the moment Sensor bias; represents the real measurement in the observation space; is the projection function; represents the robust norm with Huber kernel, is the nuclear threshold; is the residual power; The time-temperature bias evolution equation is constructed based on Equation 5; Formula 5 is used to combat "dark drift" by and 、 as well as Combined with Equation 5, the sensor bias is continuously estimated and updated. In addition, the local reoptimization in Equation 4 operates simultaneously, making the system able to resist both instantaneous drift and long-term drift. Formula 5 is: ; in For the moment The sensor bias vector of is the time derivative of the bias vector; For the moment temperature; Indicates at time The residual vector obtained by comprehensive statistics; is the instantaneous residual change; is the temperature coupling matrix; is the residual amplification function; is the bias attenuation function.
6. The VR large space mapping accuracy assessment method according to claim 5, characterized in that: Based on Equation 6, the absolute anchor point global constraint is formed; Equation 6 is expressed as the absolute anchor point residual. Equation 6 is used to introduce the known external reference coordinates into the system to form a global constraint, thereby correcting the global coordinate system offset caused by "dark drift". By continuously minimizing , allowing the system to maintain alignment with a real-world reference over large spaces or long periods of time; Formula 6 is: ; in is the anchor factor residual vector; is the global state; b is the current sensor bias; for external benchmark observations; Calculate the function for the anchor point residual.
7. The VR large space mapping accuracy assessment method according to claim 6, characterized in that: The final state fusion update equation is constructed based on Equation 7. The calculation results of Equations 1 to 6 are merged into a unified state update process through Equation 7 to generate the global state at the next moment. ; Formula 7 is expressed as: ; in , Respectively represent Frame and The global state of the frame; is the state composition operator; is the fusion function; is a local incremental solution; For sensor bias at keyframes The value of the corresponding moment.
Citation Information
Patent Citations
Fusion positioning mapping method using single anchor point external confidence source
CN119902225A
Cited By
VR large space mapping precision evaluation method
CN122196477A