Marker point calibration method and device, storage medium and tracking three-dimensional scanning system
By collecting multi-view data with a tracker and using projection geometric constraints to determine the three-dimensional coordinates of the scanner marker points, the problem of reduced measurement accuracy caused by physical deformation of the marker points is solved, achieving high-precision marker point calibration and avoiding reliance on high-cost third-party tools.
Patent Information
- Application Number
- CN202610894843.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-18
- Publication Date
- 2026-11-03
AI Technical Summary
In existing technologies, the measurement accuracy is reduced due to physical deformation of the marker points on the scanning device, and the reliance on high-precision third-party tools for calibration presents error and cost issues.
By collecting multi-view observation data through a tracker, and utilizing the projection correspondence between the three-dimensional coordinates and two-dimensional coordinates of the marker points in different poses, the three-dimensional coordinates of the target in the scanner coordinate system are determined, and a marker point model file is generated, thus avoiding dependence on high-precision third-party tools.
It improves the measurement accuracy of 3D scanning systems, simplifies the calibration process, reduces costs, and minimizes system errors.
Smart Images

Figure CN123032802A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of 3D scanning technology, and in particular to a marker point calibration method, apparatus, storage medium, and tracking 3D scanning system. Background Technology
[0002] A tracking-based 3D scanning system typically includes one or more tracking devices and one or more scanning devices. During the scanning process, multiple reflective markers are fixed on the scanning devices. The tracking devices acquire images of these markers in real time, calculate the spatial pose of the scanning devices, and based on this, achieve 3D reconstruction of the object being measured. The marker model file records the 3D coordinates of all markers on the scanning devices within the scanning devices' own coordinate system. Its accuracy directly determines the tracking precision of the system and the reliability of the final measurement results.
[0003] In practical use, the marker points on the scanning device may undergo slight deformations or displacements in their physical structure due to factors such as long-term use, accidental collisions, temperature changes, or mechanical stress. This can lead to deviations between the 3D coordinates recorded in the marker point model file and their actual physical positions, thereby reducing the measurement accuracy of the entire system. Currently, the common solution is to recreate the marker point model file using third-party high-precision measurement tools, such as binocular photogrammetry systems or monocular photogrammetry systems. However, this places high demands on the accuracy of the third-party high-precision measurement tools, which must match or even exceed the accuracy of the tracking device itself; otherwise, additional systematic errors will be introduced. Moreover, high-precision measurement equipment is usually expensive and difficult to obtain.
[0004] The calibration of marker point model parameters in related technologies relies on third-party measurement tools, which leads to difficulties in accuracy matching and the easy introduction of systematic errors. Currently, no effective solution has been proposed. Summary of the Invention
[0005] In view of this, this application provides a marker point calibration method, apparatus, storage medium, and tracking 3D scanning system, which eliminates the need for matching high-precision third-party tools for marker point calibration, thereby reducing system errors.
[0006] Firstly, this embodiment provides a marker point calibration method, including:
[0007] The observation data is obtained by the tracker observing the marked points on the scanner; the observation data is collected when the scanner is in multiple different poses relative to the tracker, including the three-dimensional coordinate information of each marked point in the tracker coordinate system and the two-dimensional coordinate information on the tracker image;
[0008] Based on the observation data, the target three-dimensional coordinates of each marker point in the scanner coordinate system are determined by utilizing the projection correspondence between the three-dimensional coordinate information and the two-dimensional coordinate information of the same marker point under different poses.
[0009] Calibration results are generated based on the target's three-dimensional coordinates.
[0010] Secondly, this embodiment provides a marker point calibration device, including:
[0011] The observation module is used to acquire observation data obtained by the tracker observing the marked points on the scanner; the observation data is collected when the scanner is in multiple different poses relative to the tracker, including the three-dimensional coordinate information of each marked point in the tracker coordinate system and the two-dimensional coordinate information on the tracker image;
[0012] The calibration module is used to determine the target three-dimensional coordinates of each marker point in the scanner coordinate system based on the observation data and by utilizing the projection correspondence between the three-dimensional coordinate information and two-dimensional coordinate information of the same marker point in different poses.
[0013] The calibration module is also used to generate calibration results based on the target's three-dimensional coordinates.
[0014] Thirdly, this embodiment provides a tracking-type 3D scanning system, including: a scanner, a tracker, and a processor;
[0015] The processor is used to implement the marker point calibration method described in the first aspect.
[0016] Fourthly, this embodiment provides a storage medium storing a computer program that, when executed by a processor, implements the marker point calibration method described in the first aspect above.
[0017] Compared with related technologies, the marker point calibration method, device, storage medium, and tracking-type 3D scanning system provided in this embodiment acquire observation data obtained by a tracker observing marker points on a scanner. This observation data is collected when the scanner is in multiple different poses relative to the tracker, including the 3D coordinates of each marker point in the tracker's coordinate system and its 2D coordinates on the tracker's image. Based on this observation data, the target 3D coordinates of each marker point in the scanner's coordinate system are determined using the projection correspondence between the 3D and 2D coordinates of the same marker point in different poses. A calibration result is generated based on the target 3D coordinates. Through this embodiment, multi-view observation data can be collected using a tracker, and with the projection geometric constraints of the observation data as the core, marker point calibration results adapted to the accuracy of 3D scanning can be output.
[0018] Details of one or more embodiments of this application are set forth in the following drawings and description to make other features, objects and advantages of this application more readily apparent. Attached Figure Description
[0019] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0020] Figure 1 A flowchart of an embodiment of the marker point calibration method provided in this application;
[0021] Figure 2 A schematic diagram illustrating the visualization of marker observations provided in this application;
[0022] Figure 3 A flowchart of Embodiment 2 of the marker point calibration method provided in this application;
[0023] Figure 4 A flowchart of Embodiment 3 of the marker point calibration method provided in this application;
[0024] Figure 5 A flowchart of Embodiment 4 of the marker point calibration method provided in this application;
[0025] Figure 6 A hardware structure diagram of the computer device containing the marker calibration device provided in this application;
[0026] Figure 7 This is a schematic diagram of the marker calibration device provided in this application. Detailed Implementation
[0027] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application.
[0028] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used herein are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0029] It should be understood that although the terms first, second, third, etc., may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0030] The following specific embodiments are given to illustrate the technical solution of this application in detail.
[0031] Figure 1 This is a flowchart of an embodiment of the marker point calibration method provided in this application. (Refer to...) Figure 1 The method provided in this embodiment may include:
[0032] Step S101: Obtain observation data obtained by the tracker observing the marked points on the scanner; the observation data is collected when the scanner is in multiple different poses relative to the tracker, including the three-dimensional coordinate information of each marked point in the tracker coordinate system and the two-dimensional coordinate information on the tracker image.
[0033] Specifically, initialize the equipment and set up the calibration environment. Fix the tracker's position to ensure that the tracker's (binocular) field of view completely covers the scanner's activity space, and enable the tracker's 3D reconstruction and image acquisition functions. Move the scanner to multiple different spatial poses manually or mechanically, keeping the scanner stationary in each pose, while the tracker simultaneously acquires observation data from all visible marker points on the scanner. Optionally, the scanner can be fixed in place, and data can be acquired from different positions by moving the tracker, achieving the same acquisition effect when the scanner is in multiple different poses relative to the tracker.
[0034] The tracker continuously acquires images at a fixed frame rate. For each frame, it synchronously detects marker points in the tracker's images (left and right images) using algorithms such as grayscale centroid detection or edge detection, obtaining two-dimensional pixel coordinates (i.e., two-dimensional coordinate information). Using pre-calibrated intrinsic parameters, distortion parameters, and relative pose of the tracker's binocular camera, it calculates the disparity of each marker point through stereo matching, reconstructing its three-dimensional coordinates (i.e., three-dimensional coordinate information) in the tracker's coordinate system. The tracker's coordinate system is a right-handed Cartesian coordinate system with the optical center of the left camera as the origin, the optical axis as the Z-axis, and the baseline direction as the X-axis.
[0035] Each frame obtained at all acquisition times (i.e., different scanner poses) is stored as an observation data record: each record contains the timestamp of the frame, the three-dimensional coordinate information of each marker point in the frame, and the two-dimensional coordinate information on the corresponding tracker image.
[0036] Step S102: Based on the observation data, the projected correspondence between the three-dimensional coordinate information and the two-dimensional coordinate information of the same marker point under different scanner poses is used to determine the target three-dimensional coordinates of each marker point in the scanner coordinate system.
[0037] Specifically, for marker points, by stitching together 3D point cloud models between frames of different poses, marker points with the same name are identified, and the data correspondence of the same marker point under different scanner poses is established, so as to classify multiple sets of observation data for a single marker point.
[0038] When the number of observations at each marker point reaches the corresponding target observation threshold, the target 3D coordinates of each marker point are calculated. In calibration scenarios optimized from existing calibration files, the target observation threshold for each marker point is relatively low (hundreds of observations), while in newly modeled calibration scenarios, the target observation threshold for each marker point is relatively high (thousands of observations). Specifically, for each marker point, its 3D and 2D coordinate information across all scanner poses is integrated to establish a projection geometric constraint from its 3D spatial position to the 2D image pixels. Under this multi-pose projection geometric constraint, the spatial position of the marker point is iteratively corrected using a bundle adjustment (BA) optimization algorithm, thereby solving for the optimal target 3D coordinates of each marker point in the scanner coordinate system.
[0039] The scanner coordinate system is a coordinate system defined by the scanner's own structure and is usually fixed to the scanner's measuring head; the final calibration coordinates of the marker points are uniformly assigned to this coordinate system and are used to generate standard equipment marker point model files.
[0040] Step S103: Generate calibration results based on the target's three-dimensional coordinates.
[0041] Specifically, the target 3D coordinates of all marked points are written to a file (such as XML or a binary file) according to a predetermined format. This file becomes the new marked point model file, yielding the calibration results. This file can then be loaded during subsequent scans for real-time pose calculation.
[0042] This embodiment abandons the traditional third-party measurement equipment calibration scheme, and uses the system's original binocular tracker to collect multi-view observation data. It utilizes multiple sets of two-dimensional-three-dimensional matching data under multiple poses of the scanner, with projection geometric constraints as the core, and optimizes and eliminates single-frame observation noise and pose error to transform the coordinates of the marker points from the tracker coordinate system to the scanner coordinate system. The operation is simple and can output high-precision marker point calibration results that are compatible with the three-dimensional scanning equipment itself.
[0043] Optionally, as a possible embodiment, after acquiring the observation data obtained by the tracker observing the marked points on the scanner, the method further includes the step of identifying the same marked point:
[0044] Based on the observation data, the observation data belonging to the same marker point under different poses are associated, and a unique identifier is assigned to each marker point.
[0045] Specifically, when a marker point first appears, it is assigned a globally unique identifier, which will be used for data aggregation of that marker point in all subsequent frames. For the current pose, the point cloud registration result between the current pose and a reference pose (e.g., the previously processed previous pose or the first pose) is used to determine the marker point corresponding to each 3D coordinate information in the current pose. Finally, all observation data belonging to the same marker point are associated with the same unique identifier, forming the observation dataset for that marker point.
[0046] Optionally, as a possible implementation, associating observation data belonging to the same marker point under different poses based on the observation data may include:
[0047] The three-dimensional coordinate information of the marker points under adjacent poses is modeled and stitched together to obtain the spatial transformation relationship between adjacent poses; the spatial transformation relationship is used to transform the marker points under the previous pose to the coordinate system of the next pose, and the spatial distance between the marker points after transformation is calculated; marker points whose spatial distance is less than a preset threshold are determined to be the same marker point.
[0048] Specifically, the three-dimensional coordinate lists of the marker points corresponding to the previous pose (denoted as pose A) and the next pose (denoted as pose B) are extracted from the collected observation data. Each list contains the spatial positions of all marker points reconstructed by the tracker in that pose, and these points are not yet associated with real physical marker points.
[0049] Point cloud registration algorithms, such as Iterative Closest Point (ICP) or singular value decomposition based on least squares, are used to calculate the optimal rotation angle and translation amount required to transform the point set of pose A into the point set of pose B. The registration process typically begins by establishing initial corresponding point pairs based on the spatial distance between points, and then iteratively optimizes the transformation parameters to maximize the overall overlap between the transformed point sets of pose A and pose B. The final rotation and translation parameters represent the spatial transformation relationship between adjacent poses.
[0050] For each 3D point in pose A, apply the above spatial transformation relationship to calculate the new coordinates of that point in the next pose coordinate system. If the measurement and registration are accurate enough, then two points belonging to the same physical marker should almost coincide after this transformation.
[0051] For each 3D point in pose B, find the point with the closest spatial distance in the transformed pose A point set, record this closest distance, and then compare this distance with a preset threshold. This preset threshold is an empirical value or a value dynamically determined based on the measurement accuracy of the tracker, such as 0.5 mm or 1 mm. If the closest distance is less than or equal to the preset threshold, the point in pose B is considered to belong to the same marker point as the corresponding point in pose A; if the closest distance is greater than the preset threshold, the point in pose B is considered to be a newly appeared marker point that has not been recorded before.
[0052] Point pairs identified as belonging to the same marker are recorded, and these points are assigned the same unique identifier (such as an ID number) in subsequent processing. For newly appearing points, a new identifier is assigned. By repeating the above process frame by frame, each point in all observation data obtains the unique identifier of the marker to which it belongs, thus completing cross-pose data association.
[0053] In this embodiment, by model stitching (point cloud registration) and spatial distance threshold determination, it is possible to accurately associate the marker points observed under different scanner poses with the same physical entity, laying a correct foundation for subsequent allocation of unique identifiers, collection of observation data, and final projection optimization calibration.
[0054] Optionally, as a possible embodiment, the above method may further include the following visualization observation scheme:
[0055] (1) In the process of acquiring observation data, a threshold for the number of target observations is set differently for each marker point.
[0056] Specifically, before calibration begins, a target observation threshold is individually set for each marker point on the scanner. Optionally, in calibration scenarios optimized based on existing calibration files, the target observation threshold for each marker point is lower (hundreds of times), while in calibration scenarios with newly modeled data, the target observation threshold for each marker point is higher (thousands of times). Furthermore, differentiated threshold configurations can adapt to the recognition difficulty and location differences of different marker points. For example, edge marker points can be configured with higher thresholds to improve stability, while center marker points can have lower thresholds to improve efficiency, balancing calibration accuracy and speed.
[0057] (2) Monitor the actual number of times each marker point has been observed in real time and display the observation progress of each marker point in real time.
[0058] Specifically, during the data acquisition process, the effective identification count of each marker point is counted in real time, and the actual observation count data is dynamically updated.
[0059] The scanner's 3D model is displayed using a 3D rendering engine (such as OpenGL). Figure 2A schematic diagram illustrating the visualization of marker observations provided in this application. (Refer to...) Figure 2 The position of each marker point on the model is represented by a sphere or a dot. If the number of valid recognitions of a marker point does not reach the corresponding target observation threshold, the marker point is displayed in red. If the number of valid recognitions of a marker point reaches the corresponding target observation threshold, the marker point is displayed in white or reddish-white. White indicates that the marker point has not been observed yet, and reddish-white indicates that the marker point has been observed, but the number of observations has not reached the corresponding threshold.
[0060] Optionally, the tooltip can display the specific values of the number of valid identifications and the preset threshold, such as "632 / 1000", and the overall observation progress bar "Number of points that have reached the target / Total number of points" can be displayed in the corner of the interface.
[0061] (3) When the actual number of observations of all marker points reaches the corresponding target observation threshold, the step of determining the target three-dimensional coordinates of each marker point in the scanner coordinate system is started.
[0062] Specifically, when the actual number of observations for all marker points reaches their respective target observation thresholds, the system indicates that data acquisition is complete and automatically triggers the subsequent steps of determining the target 3D coordinates of each marker point in the scanner coordinate system.
[0063] The visualization interface provided in this embodiment allows users to intuitively understand the data collection progress, reduce blind movement, avoid modeling deviations caused by insufficient data at some points, and ensure that easily obscured markers can also obtain sufficient observations by using differentiated thresholds, thereby improving the final calibration accuracy.
[0064] Figure 3 This is a flowchart of Embodiment 2 of the marker point calibration method provided in this application. (Refer to...) Figure 3 Based on the above embodiments, the step of determining the target three-dimensional coordinates of each marker point in the scanner coordinate system by utilizing the projection correspondence between the three-dimensional coordinate information and two-dimensional coordinate information of the same marker point in different poses, based on observation data, may include:
[0065] Step S301: Determine the initial spatial position of each marker point in the scanner coordinate system.
[0066] Specifically, the initial spatial position is the preliminary estimated three-dimensional coordinates of the marker point in the scanner coordinate system. The initial coordinates can be inherited from the existing marker point model file or obtained by averaging the values of multiple frames of three-dimensional observations, providing iterative initial values for subsequent accurate correction.
[0067] Optionally, as a possible embodiment, when there is no prior marker point model file, or the model file is damaged, or the marker points themselves are physically damaged, the above determination of the initial spatial position of each marker point in the scanner coordinate system may include:
[0068] The three-dimensional coordinate information of the same marker point under different poses is transformed to the reference coordinate system, and the center position of the multiple three-dimensional coordinate information after transformation is calculated as the initial spatial position.
[0069] Specifically, since the 3D coordinates of the marker points reconstructed by the tracker in different poses are located in the tracker's own coordinate system, while the scanner is in motion, it is necessary to transform the point clouds in all poses to a common reference system in order to fuse multiple observations of the same marker point. Typically, the scanner coordinate system in the first observation pose is used as the reference coordinate system.
[0070] The point clouds of adjacent poses are stitched together to calculate the rigid body transformation relationship from one pose to the next. Starting from the reference pose, the point cloud of each subsequent pose is sequentially transformed to the reference coordinate system through cumulative rigid body transformation. For example, the point cloud of the second pose is transformed to the reference system through the inverse transformation from the first pose to the second pose; the point cloud of the third pose is first transformed to the second pose, then to the reference system, and so on.
[0071] For each marker point, the transformed 3D coordinates under different poses will cluster within a small region in space. These coordinates are grouped into a point set, and the center position of this point set is calculated. This center position is used as the initial spatial position of the marker point in the scanner coordinate system. The center position can be calculated as the arithmetic mean of all coordinates in the point set, or it can be the median of all coordinates; the specific method is not limited. It should be noted that in this newly modeled calibration scenario, the threshold for the number of target observations required for each marker point is relatively high (on the order of thousands).
[0072] Optionally, since this initial spatial location has eliminated most of the random noise, it can be used directly as the final calibration result in some application scenarios.
[0073] In this embodiment, the initial spatial position of the marker point is determined based on the observation data, thereby achieving the first calibration without the need for any historical model files. It is also suitable for situations where the marker point itself is physically damaged. Furthermore, by averaging the three-dimensional coordinates of multiple frames to determine the initial spatial position, the random noise and small pose errors of a single observation are effectively filtered out, thereby improving the accuracy of the initial spatial position.
[0074] Optionally, as a possible embodiment, when a marker point model file already exists, determining the initial spatial position of each marker point in the scanner coordinate system may include:
[0075] Obtain the existing marker point model file from the scanner, and use the 3D coordinates in the marker point model file as the initial spatial position.
[0076] Specifically, when marker points undergo only minor displacement (e.g., thermal expansion and contraction or slight impact), existing marker point model files can still provide good initial values. Therefore, directly using existing marker point model files as initial spatial positions, reading XML or binary format model files from system storage, and parsing the ID and corresponding 3D coordinates of each marker point can reduce on-site acquisition time (requiring only a few hundred observations per marker point instead of thousands). Simultaneously, subsequent projection correction can correct minor deformations and maintain high accuracy. It should be noted that this embodiment does not limit the generation method of existing marker point model files; they can be generated using third-party measurement tools calibrated before the equipment leaves the factory, or they can be generated using other algorithms.
[0077] Step S302: Based on the projection correspondence between the three-dimensional coordinate information and the two-dimensional coordinate information, the initial spatial position is corrected to obtain the target three-dimensional coordinates.
[0078] Specifically, the initial spatial position is nonlinearly optimized using the coordinates of the 2D images acquired under all poses as constraints. In practice, the initial spatial position under each pose is projected onto the tracker image through the spatial transformation relationship of that pose to obtain the predicted 2D coordinates. Then, the initial spatial position is adjusted so that the sum of the deviations between the predicted 2D coordinates and the actual observed 2D coordinates under all poses continuously decreases until the convergence condition is met. The final optimized coordinates are the target's 3D coordinates.
[0079] This embodiment divides the calibration process into two stages: initial value acquisition and correction. This approach can either utilize existing model information to reduce acquisition time or restart reconstruction. This step-by-step processing reduces optimization difficulty and improves the algorithm's stability and convergence speed. Furthermore, the correction process fully utilizes all 2D image observations to obtain high-precision target 3D coordinates, meeting the accuracy requirements of tracking scanning systems.
[0080] Figure 4 This is a flowchart of Embodiment 3 of the marker point calibration method provided in this application. (Refer to...) Figure 4 The steps described above for correcting the initial spatial position based on the projection correspondence between three-dimensional coordinate information and two-dimensional coordinate information to obtain the target's three-dimensional coordinates may include:
[0081] Step S401: The three-dimensional coordinate information of the marker point under each pose is stitched together with the initial spatial position to determine the relative positional relationship between the three-dimensional coordinate information of each marker point under that pose and the initial spatial position.
[0082] Specifically, for each scanner pose, the three-dimensional coordinates of the marker points acquired in that pose are stitched and registered with the predetermined initial spatial position. The rigid body transformation between the two sets of point clouds is calculated by the point cloud registration algorithm, so that the point cloud at the initial spatial position can be optimally aligned with the real-time observed three-dimensional point cloud after this transformation, thereby determining the unique relative position transformation relationship RT in that pose.
[0083] Step S402: The initial spatial position of each marker point is transformed by relative position relationship and then projected onto the tracker image to obtain the predicted two-dimensional coordinates.
[0084] Specifically, each marker point in the initial spatial position is transformed into the tracker's coordinate system. Then, based on the intrinsic parameters and distortion parameters of the tracker's left and right cameras, the transformed 3D point is projected onto the left and right image planes, and the predicted 2D coordinates of the 3D point on the image are calculated.
[0085] Step S403: Adjust the initial spatial position to minimize the sum of the deviations between the predicted two-dimensional coordinates and the two-dimensional coordinate information of all marker points under all poses, and use the adjusted spatial position as the target three-dimensional coordinates.
[0086] Specifically, the predicted 2D coordinates and actual observed 2D coordinates of all marker points in all poses are collected, and the deviation between the two is calculated (e.g., the square of the Euclidean distance). A nonlinear optimization algorithm is used to continuously adjust the 3D coordinates in the initial spatial position, gradually reducing the sum of all deviations. During the optimization process, the relative position transformation relationship RT of each frame pose remains constant. Optimization stops when the sum of deviations converges to a minimum value (or the number of iterations reaches its upper limit), and the 3D coordinates at this point are the target 3D coordinates.
[0087] This embodiment utilizes point cloud stitching to obtain the pose transformation relationship for each frame. Then, by fixing the transformation relationship and minimizing reprojection deviation, the 3D point coordinates are optimized. By constructing and solving linear or nonlinear problems that optimize only points, the computational process is simple, and computational efficiency and stability are improved. The final target 3D coordinates have sub-pixel accuracy, meeting the requirements of high-precision tracking scanning systems.
[0088] Figure 5 A flowchart of Embodiment 4 of the marker point calibration method provided in this application. (Refer to...) Figure 5 The method may include:
[0089] Step S501: The tracker continuously observes the marker points on the scanner and acquires observation data of the scanner in multiple different poses relative to the tracker.
[0090] Step S502: During the observation process, a target observation count threshold is set for each marker point; the actual number of times each marker point has been observed is monitored in real time; when the actual number of observations for all marker points reaches their respective target observation count thresholds, the subsequent calibration steps are executed.
[0091] Step S503: The three-dimensional coordinate information of the marker points under adjacent poses is modeled and stitched together to obtain the spatial transformation relationship between adjacent poses; the spatial transformation relationship is used to transform the marker points under the previous pose to the coordinate system of the next pose, and the spatial distance between the marker points after transformation is calculated; the marker points with a spatial distance less than a preset threshold are determined to be the same marker point.
[0092] If a marker point model file already exists, proceed to step S504; if no marker point model file exists, proceed to step S505.
[0093] Step S504: Obtain the existing marker point model file of the scanner, and use the three-dimensional coordinates in the marker point model file as the initial spatial position.
[0094] Step S505: Transform the three-dimensional coordinate information of the same marker point under different poses to the reference coordinate system, and calculate the center position of the multiple three-dimensional coordinate information after transformation as the initial spatial position.
[0095] Step S506: The three-dimensional coordinate information of the marker point under each pose is stitched together with the initial spatial position to determine the relative positional relationship between the three-dimensional coordinate information of each marker point under that pose and the initial spatial position.
[0096] Step S507: The initial spatial position of each marker point is transformed by relative position relationship and then projected onto the tracker image to obtain the predicted two-dimensional coordinates.
[0097] Step S508: Adjust the initial spatial position to minimize the sum of the deviations between the predicted two-dimensional coordinates and the two-dimensional coordinate information of all marker points under all poses, and use the adjusted spatial position as the target three-dimensional coordinates to generate the calibration result.
[0098] Specifically, the implementation principles and processes of steps S501 to S508 can be found in the descriptions in the previous embodiments, and will not be repeated here.
[0099] The method provided in this embodiment allows operators to simply move a handheld scanner slowly within the field of view of a fixed tracker. The system then collects observation data in real time from different poses and displays the observation progress of each marker point using red and green colors on a visual interface. Once the observation count for all marker points reaches a preset threshold, the system automatically triggers subsequent processing. Furthermore, the initial spatial position determination method is flexibly selected based on the availability of an existing model file. On this basis, nonlinear optimization continuously adjusts the 3D coordinates of the marker points to minimize the sum of deviations between the predicted coordinates and the actual observed 2D coordinates across all poses, ultimately obtaining high-precision target 3D coordinates and generating a new marker point model file. Compared to existing technologies that rely on third-party photogrammetric tools for recalibration, this method utilizes the system's own tracker to complete data acquisition and model calculation, avoiding the stringent requirement that the accuracy of third-party tools must match that of the tracker. It eliminates cumbersome operations such as coordinate system transformation and file import / export. Moreover, since calibration and subsequent use are based on the same equipment, no additional system errors are introduced. Visualized progress guidance and automatic triggering mechanisms significantly reduce the operational threshold, enabling efficient and accurate completion of both calibration for minor deformations and initial calibration without any prior model, thus significantly improving the measurement reliability of the tracking scanning system.
[0100] It should be noted that the steps shown in the above process or in the flowchart of the accompanying figures can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.
[0101] Corresponding to the aforementioned embodiment of a marker point calibration method, this application also provides an embodiment of a marker point calibration device.
[0102] An embodiment of the marker point calibration device disclosed in this application can be applied to a computer device. The device embodiment can be implemented through software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by the processor of the computer device loading the corresponding computer program instructions from non-volatile memory into memory for execution. From a hardware perspective, such as... Figure 6 The diagram shown is a hardware structure diagram of a computer device containing the marker calibration device provided in this application. Except for... Figure 6 In addition to the processor, memory, network interface, and non-volatile memory shown, the computer device in which the device is located in the embodiment may also include other hardware, which will not be described in detail here.
[0103] Figure 7 This is a schematic diagram of the marker calibration device provided in this application. (Refer to...) Figure 7 The apparatus provided in this embodiment includes:
[0104] The observation module 10 is used to acquire observation data obtained by the tracker observing the marked points on the scanner. The observation data is collected when the scanner is in multiple different poses relative to the tracker, including the three-dimensional coordinate information of each marked point in the tracker coordinate system and the two-dimensional coordinate information on the tracker image.
[0105] The calibration module 20 is used to determine the target three-dimensional coordinates of each marker point in the scanner coordinate system based on the observation data and the projection correspondence between the three-dimensional coordinate information and the two-dimensional coordinate information of the same marker point in different poses.
[0106] The calibration module 20 is also used to generate calibration results based on the target's three-dimensional coordinates.
[0107] The apparatus of this embodiment can be used to perform... Figure 1 The steps of the method embodiment shown are similar in principle and process, and will not be repeated here.
[0108] Optionally, as one possible embodiment, the calibration module 20 is also used for:
[0109] Determine the initial spatial position of each marker point in the scanner coordinate system;
[0110] The initial spatial position is corrected based on the projection correspondence between the three-dimensional coordinate information and the two-dimensional coordinate information to obtain the target's three-dimensional coordinates.
[0111] Optionally, as one possible embodiment, the calibration module 20 is also used for:
[0112] The three-dimensional coordinate information of the same marker point under different poses is transformed to the reference coordinate system, and the center position of the multiple three-dimensional coordinate information after transformation is calculated as the initial spatial position.
[0113] Optionally, as one possible embodiment, the calibration module 20 is also used for:
[0114] Obtain the existing marker point model file from the scanner, and use the 3D coordinates in the marker point model file as the initial spatial position.
[0115] Optionally, as one possible embodiment, the calibration module 20 is also used for:
[0116] The three-dimensional coordinate information of the marker point under each pose is stitched together with the initial spatial position to determine the relative positional relationship between the three-dimensional coordinate information of each marker point under that pose and the initial spatial position.
[0117] The initial spatial position of each marker point is transformed into a relative position relationship and then projected onto the tracker image to obtain the predicted two-dimensional coordinates;
[0118] The initial spatial position is adjusted to minimize the sum of the deviations between the predicted 2D coordinates and the 2D coordinate information of all marker points under all poses, and the adjusted spatial position is used as the target 3D coordinates.
[0119] Optionally, as one possible embodiment, the observation module 10 is also used for:
[0120] Based on the observation data, the observation data belonging to the same marker point under different poses are associated, and a unique identifier is assigned to each marker point.
[0121] Optionally, as one possible embodiment, the observation module 10 is also used for:
[0122] By stitching together the 3D coordinate information of the marker points in adjacent poses, the spatial transformation relationship between adjacent poses can be obtained.
[0123] The spatial transformation relationship is used to transform the marker points in the previous pose to the coordinate system of the next pose, and the spatial distance between the marker points after transformation is calculated.
[0124] Marker points whose spatial distance is less than a preset threshold are identified as the same marker point.
[0125] Optionally, as one possible embodiment, the observation module 10 is also used for:
[0126] During the acquisition of observation data, a target observation count threshold is set for each marker point;
[0127] Real-time monitoring of the actual number of times each marker point has been observed, and real-time display of the observation progress of each marker point;
[0128] When the actual number of observations for all marker points reaches their respective target observation thresholds, the step of determining the target 3D coordinates of each marker point in the scanner coordinate system begins.
[0129] Please continue to refer to Figure 6 This application also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the method in any of the embodiments provided in this application.
[0130] This application also provides a tracking-type 3D scanning system, including: a scanner, a tracker, and a processor; the processor may be disposed in the tracker and is used to execute the steps of the method in any of the embodiments provided in this application.
[0131] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the methods in any of the embodiments provided in this application.
[0132] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this application according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0133] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A method for calibrating marker points, characterized in that, include: Acquire observation data obtained by the tracker observing the marked points on the scanner; The observation data is collected when the scanner is in multiple different poses relative to the tracker, including the three-dimensional coordinate information of each marker point in the tracker coordinate system and the two-dimensional coordinate information on the tracker image; Based on the observation data, the target three-dimensional coordinates of each marker point in the scanner coordinate system are determined by utilizing the projection correspondence between the three-dimensional coordinate information and the two-dimensional coordinate information of the same marker point under different poses. Calibration results are generated based on the target's three-dimensional coordinates.
2. The marker point calibration method according to claim 1, characterized in that, The step of determining the target 3D coordinates of each marker point in the scanner coordinate system based on the observation data, using the projection correspondence between the 3D and 2D coordinate information of the same marker point in different poses, includes: Determine the initial spatial position of each of the marked points in the scanner coordinate system; The initial spatial position is corrected based on the projection correspondence between the three-dimensional coordinate information and the two-dimensional coordinate information to obtain the target three-dimensional coordinates.
3. The marker point calibration method according to claim 2, characterized in that, Determining the initial spatial position of each marker point in the scanner coordinate system includes: The three-dimensional coordinate information of the same marker point under different poses is transformed to the reference coordinate system, and the center position of the multiple three-dimensional coordinate information after transformation is calculated as the initial spatial position.
4. The marker point calibration method according to claim 2, characterized in that, Determining the initial spatial position of each marker point in the scanner coordinate system includes: Obtain the existing marker point model file of the scanner, and use the three-dimensional coordinates in the marker point model file as the initial spatial position.
5. The marker point calibration method according to claim 2, characterized in that, The step of correcting the initial spatial position based on the projection correspondence between the three-dimensional coordinate information and the two-dimensional coordinate information to obtain the target three-dimensional coordinates includes: The three-dimensional coordinate information of the marker point in each pose is stitched together with the initial spatial position to determine the relative positional relationship between the three-dimensional coordinate information of the marker point in that pose and the initial spatial position. The initial spatial position of each marker point is transformed by the relative position relationship and then projected onto the tracker image to obtain the predicted two-dimensional coordinates; The initial spatial position is adjusted to minimize the sum of the deviations between the predicted two-dimensional coordinates and the two-dimensional coordinate information of all the marked points under all poses, and the adjusted spatial position is used as the target three-dimensional coordinates.
6. The marker point calibration method according to claim 1, characterized in that, After acquiring the observation data obtained by the tracker observing the marked points on the scanner, the method further includes: Based on the observation data, the observation data belonging to the same marker point under different poses are associated, and a unique identifier is assigned to each marker point.
7. The marker point calibration method according to claim 6, characterized in that, The step of associating observation data belonging to the same marker point under different poses based on the observation data includes: By stitching together the 3D coordinate information of the marker points in adjacent poses, the spatial transformation relationship between adjacent poses can be obtained. The spatial transformation relationship is used to transform the marker points in the previous pose to the coordinate system of the next pose, and the spatial distance between the marker points after transformation is calculated. Marker points whose spatial distance is less than a preset threshold are determined to be the same marker point.
8. The marker point calibration method according to claim 1, characterized in that, The method further includes: During the acquisition of the observation data, a target observation count threshold is set for each of the marked points; The actual number of times each marker point has been observed is monitored in real time, and the observation progress of each marker point is displayed in real time. When the actual number of observations for all the marked points reaches their respective target observation thresholds, the step of determining the target three-dimensional coordinates of each marked point in the scanner coordinate system is started.
9. A marker point calibration device, characterized in that, include: The observation module is used to acquire observation data obtained by the tracker observing the marked points on the scanner; The observation data is collected when the scanner is in multiple different poses relative to the tracker, including the three-dimensional coordinate information of each marker point in the tracker coordinate system and the two-dimensional coordinate information on the tracker image; The calibration module is used to determine the target three-dimensional coordinates of each marker point in the scanner coordinate system based on the observation data and by utilizing the projection correspondence between the three-dimensional coordinate information and two-dimensional coordinate information of the same marker point in different poses. The calibration module is also used to generate calibration results based on the target's three-dimensional coordinates.
10. A tracking-type three-dimensional scanning system, characterized in that, include: Scanner, tracker, and processor; The processor is used to implement the marker point calibration method according to any one of claims 1 to 8.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the marker point calibration method according to any one of claims 1 to 8.
