Calibration data acquisition method and system, and storage medium
By dynamically adjusting the angles of the scanning head and the stage in a 3D scanner, images that meet quality requirements are acquired, solving the problem of low calibration success rate caused by hardware wear and tear, improving calibration efficiency and accuracy, and reducing manual maintenance costs.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHINING 3D TECH CO LTD
- Filing Date
- 2026-04-08
- Publication Date
- 2026-07-10
AI Technical Summary
In existing technologies, hardware wear and tear on 3D scanners leads to low calibration success rates, and the fixed calibration paths result in low fault tolerance, making them sensitive to slight hardware deviations and increasing manual maintenance costs.
By controlling the continuous rotation of the scanner's rotating components based on a preset relative angle sequence, images that meet quality requirements are acquired, and calibration data is constructed, including the dynamic adjustment of the scanning head and the stage.
It improves the efficiency and accuracy of calibration data acquisition, dynamically adjusts the acquisition angle, avoids errors caused by hardware wear and tear, and reduces manual maintenance costs.
Smart Images

Figure CN122350902A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of 3D scanning, and in particular to a method, system and storage medium for acquiring calibration data. Background Technology
[0002] In the field of digital dentistry, desktop 3D scanners are used to acquire high-precision 3D data from dental models. With use, the hardware suffers wear and tear, such as optical-mechanical deterioration and Z-axis deviation, leading to the invalidation of original calibration parameters and a decrease in scanning accuracy, thus requiring recalibration. However, hardware wear itself interferes with the calibration and image acquisition process, reducing the success rate. Current scanning software generally uses fixed preset calibration paths, causing worn-out equipment to continue operating with initial parameters, significantly reducing the calibration success rate. This system has low fault tolerance and is sensitive to slight hardware deviations; failure requires manual adjustments by technicians on-site, increasing maintenance and operational costs. Summary of the Invention
[0003] This application discloses a method, system, and storage medium for collecting calibration data, which solves the technical problem in related fields where collecting calibration data through a fixed path affects the calibration success rate.
[0004] This application provides a method for acquiring calibration data. The method includes: controlling a rotating component of a scanner to rotate sequentially and continuously by multiple relative angles based on a preset relative angle sequence; wherein the rotating component includes a scanning head and a support stage, and the support stage is used to support the scanned object; after controlling the scanning head or the support stage to rotate based on any relative angle, the scanning head is used to acquire an image corresponding to the scanned object; if the image does not meet preset quality requirements, the scanning head or the support stage is controlled to rotate based on a preset rotation strategy to acquire an image that meets the quality requirements; based on at least one image that meets the quality requirements, calibration data for calibrating the scanner is constructed.
[0005] In some embodiments of this application, controlling the rotating component of the scanner to rotate sequentially and continuously by multiple relative angles based on a preset relative angle sequence includes: obtaining a first angle sequence, a second angle sequence, and a third angle sequence from the relative angle sequence, wherein the first angle sequence includes multiple relative angles for controlling the carrier platform to rotate sequentially and continuously around a first coordinate axis of the carrier platform, the second angle sequence includes multiple relative angles for controlling the carrier platform to rotate sequentially and continuously around a second coordinate axis of the carrier platform, and the third angle sequence includes multiple relative angles for controlling the scanning head to rotate sequentially and continuously around a third coordinate axis of the scanning head; controlling the carrier platform to rotate continuously by multiple relative angles around the first coordinate axis based on the first angle sequence; controlling the carrier platform to rotate continuously by multiple relative angles around the second coordinate axis based on the second angle sequence; and controlling the scanning head to rotate continuously by multiple relative angles around the third coordinate axis based on the third angle sequence.
[0006] In some embodiments of this application, controlling the rotating component of the scanner to rotate sequentially and continuously at multiple relative angles based on a preset relative angle sequence includes: controlling the rotating component to rotate sequentially and continuously at multiple relative angles based on at least two sequences of the first angle sequence, the second angle sequence, and the third angle sequence.
[0007] In some embodiments of this application, if the image does not meet preset quality requirements, the carrier platform is controlled to rotate based on a preset rotation strategy, including: when any relative angle is determined to be the i-th relative angle in the first angle sequence, obtaining the i-th actual angle, the i-th actual angle corresponding to the actual angular position reached by the carrier platform after rotating based on the i-th relative angle, i≥2; and obtaining the (i-1)-th target angle determined based on the (i-1)-th relative angle, the (i-1)-th target angle corresponding to the actual angular position reached by the carrier platform when acquiring an image that meets the quality requirements; calculating a first angle difference between the i-th actual angle and the (i-1)-th target angle, determining a first angle step based on the first angle difference; and controlling the carrier platform to rotate around the first coordinate axis based on at least one first angle step.
[0008] In some embodiments of this application, the method further includes: determining the i-th target angle corresponding to the actual angular position reached by the carrier platform after acquiring an image that meets the quality requirements based on the rotation of at least one first angular step; determining an angle compensation value based on the angle difference between the i-th actual angle and the i-th target angle; and controlling the carrier platform to rotate around the first coordinate axis based on the angle compensation value and the (i+1)-th relative angle.
[0009] In some embodiments of this application, if the image does not meet the preset quality requirements, the carrier platform is controlled to rotate based on a preset rotation strategy, including: when the any relative angle is determined to be the first relative angle in the first angle sequence, the carrier platform is controlled to rotate around the second coordinate axis based on at least one preset second angle step; when an image that meets the quality requirements is acquired, the origin value of the second coordinate axis at the calibration origin is updated based on the at least one second angle step.
[0010] In some embodiments of this application, the method further includes: updating the first relative angle in the second angle sequence based on the at least one second angle step size.
[0011] In some embodiments of this application, the method further includes: if the origin value of the second coordinate axis of the updated calibration origin is greater than a preset angle, updating the first relative angle in the second angle sequence based on the upper limit value of rotation corresponding to the second coordinate axis.
[0012] In some embodiments of this application, if the image does not meet the preset quality requirements, the carrier platform is controlled to rotate based on a preset rotation strategy, including: when the any relative angle is determined to be the j-th relative angle in the second angle sequence, the carrier platform is controlled to rotate around the second coordinate axis based on at least one preset third angle step, where j is a positive integer.
[0013] In some embodiments of this application, the method further includes: determining the j-th target angle corresponding to the actual angular position reached by the carrier platform when an image meeting the quality requirements is acquired after rotating based on the at least one third angle step; calculating a second angle difference between the j-th target angle and a preset reference value, wherein the reference value is a reference coordinate value corresponding to the second coordinate axis; and updating at least one remaining relative angle in the second angle sequence based on the second angle difference.
[0014] In some embodiments of this application, if the image does not meet preset quality requirements, the scanning head is controlled to rotate based on a preset rotation strategy, including: when any relative angle is determined to be the k-th relative angle in the third angle sequence, obtaining the k-th actual angle, the k-th actual angle corresponding to the actual angular position reached by the scanning head after rotating based on the k-th relative angle, where k≥2; and obtaining the (k-1)-th target angle determined based on the (k-1)-th relative angle, the (k-1)-th target angle corresponding to the actual angular position reached by the scanning head when acquiring an image that meets the quality requirements; calculating the third angle difference between the k-th actual angle and the (k-1)-th target angle; determining a fourth angle step based on the third angle difference; and controlling the scanning head to rotate around the third coordinate axis based on at least one fourth angle step.
[0015] In some embodiments of this application, the method further includes: the second angle sequence and the third angle sequence have at least one common relative angle.
[0016] In some embodiments of this application, the second angle sequence and the third angle sequence have at least one common relative angle, including: the last relative angle in the second angle sequence and the first relative angle in the third angle sequence are the same relative angle.
[0017] In some embodiments of this application, the method further includes: if the number of times the rotating component is controlled to rotate based on the rotation strategy reaches a preset number of rotations, outputting a prompt message to indicate that the calibration data acquisition has failed.
[0018] In some embodiments of this application, the method further includes: calculating calibration parameters based on the calibration data; and calibrating the scanner's intrinsic parameters, extrinsic parameters, and axis parameters based on the calibration parameters.
[0019] This application also provides a calibration data acquisition system, the calibration data acquisition system comprising: a scanner, the scanner including a rotatable scanning head and a carrier stage; the scanning head being used to acquire an image corresponding to a scanned object carried on the carrier stage; the carrier stage being used to carry the scanned object and carry the scanned object to change different postures; and a computer device being used to execute the calibration data acquisition method.
[0020] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the calibration data acquisition method described above.
[0021] In the calibration data acquisition method provided in this application, based on a preset relative angle sequence, the rotating component of the scanner is controlled to rotate sequentially and continuously by multiple relative angles. This rotating component includes a scanning head and a platform, with the platform supporting the scanned object. By rotating multiple relative angles, the scanning head can subsequently observe the scanned object on the platform from different angles. After controlling the rotation of the scanning head or platform based on any relative angle, the scanning head acquires an image corresponding to the scanned object, allowing the determination of whether further rotation is necessary based on the images acquired at different relative angles. If the image does not meet the preset quality requirements, it indicates an error in the relative angles provided in the relative angle sequence. In this case, the scanning head or platform can be controlled to rotate based on a preset rotation strategy to acquire an image that meets the quality requirements. After acquiring at least one image that meets the quality requirements in the above manner, calibration data for calibrating the scanner is constructed. The above embodiment balances the efficiency and accuracy of calibration data acquisition, achieves dynamic adjustment of the acquisition angle corresponding to the image, and avoids errors caused by hardware wear and tear. Attached Figure Description
[0022] Figure 1 This is a schematic diagram of the structure of the calibration data acquisition system provided in the embodiments of this application.
[0023] Figure 2 This is a flowchart of the calibration data acquisition method provided in the embodiments of this application.
[0024] Figure 3 This is a schematic diagram of the relative angle sequence provided in the embodiments of this application.
[0025] Figure 4 This is a control flowchart provided in the embodiments of this application for controlling the rotation of the bearing platform based on the first angle sequence.
[0026] Figure 5 This is a control flowchart provided in the embodiments of this application for controlling the rotation of the bearing platform based on the second angle sequence.
[0027] Figure 6 This is a control flowchart provided in the embodiments of this application for controlling the rotation of the scanning head based on the third angle sequence.
[0028] Figure 7 This is a schematic diagram of the structure of the computer device provided in the embodiments of this application. Detailed Implementation
[0029] For ease of understanding, some concepts related to the embodiments of this application are illustrated and explained by way of example for reference.
[0030] It should be noted that in this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The terms "first," "second," "third," "fourth," etc. (if present) in the specification, claims, and drawings of this application are used to distinguish similar objects, not to describe a specific order or sequence.
[0031] In the field of digital dentistry, desktop 3D scanners are the core equipment for digitizing dental models. Their ability to consistently acquire high-precision 3D data is fundamental to ensuring the quality of subsequent restorations or orthodontic appliances. However, with frequent use, the internal hardware inevitably undergoes gradual wear and tear, such as attenuation of light source intensity, slight lens shifts, or minute Z-axis deviations in the mechanical guides. The direct consequence of this wear is that the ideal optical and geometric parameters upon which the scanner was based at the factory or during its last calibration gradually deviate from reality, leading to a subtle decrease in scanning accuracy. Therefore, periodic recalibration of the equipment to recalibrate parameters and compensate for wear is a necessary maintenance measure to maintain its measurement accuracy.
[0032] However, while hardware degradation is something that needs to be calibrated and compensated for, its very existence can interfere with the smooth execution of the calibration process. Calibration typically requires acquiring a series of high-precision, high-contrast images of a specific scanned object. When the device has experienced optical-mechanical degradation, its ability to execute preset mechanical movements and image quality have already decreased, directly leading to frequent image acquisition failures or poor image quality. Currently, the calibration modules used in mainstream scanning software typically have their motion paths (such as the position sequence of the scanned object, the camera's shooting angle, and step size) pre-programmed. This means that a device that has already experienced degradation is still required to perform a set of complex actions designed for its ideal state, with extremely high requirements for positioning accuracy and imaging stability, just like a new device.
[0033] This rigid calibration mechanism results in extremely low system fault tolerance, making it exceptionally sensitive to even the slightest hardware deviation. Even minor wear and tear that hasn't yet affected daily scanning tasks can become the "last straw" leading to calibration failure. Once calibration fails, the entire device becomes unusable. At this point, solutions often require specialized technicians to go to the site for manual diagnosis, attempting to adjust the placement of the scanned object or camera parameters based on experience, and even temporarily modifying the motion path. This process not only disrupts normal production processes but also incurs high costs for manual intervention and operational downtime. Essentially, this maintenance model transforms a problem that could be solved through intelligent system adaptation into a continuous investment of human resources and operational risk, highlighting the inadequacy and inefficiency of the current technological framework in dealing with the natural aging of equipment.
[0034] Therefore, to address the technical problem of reduced calibration success rate due to fixed-path data acquisition in related fields, this application proposes a calibration data acquisition method, system, and storage medium. This method dynamically updates the image acquisition perspective based on a relative angle sequence, thereby acquiring images that meet quality requirements and improving the efficiency and accuracy of calibration data acquisition. This significantly improves calibration efficiency.
[0035] To better understand the calibration data acquisition method, system, and storage medium provided in the embodiments of this application, the structure of the calibration data acquisition system is described below.
[0036] Figure 1 This is a schematic diagram of the structure of the calibration data acquisition system provided in the embodiments of this application. Figure 1 As shown, the calibration data acquisition system includes a computer device 10 and a scanner 20.
[0037] The computer device 10 and scanner 20 are communicatively connected, and the communication connection can be either wired or wireless. Wired communication connections can include one or more of the following: Universal Serial Bus (USB), Controller Area Network (CAN), etc. Wireless communication connections can include one or more of the following: Wireless Fidelity (Wi-Fi), Bluetooth (BT), mobile communication networks, Frequency Modulation (FM), Near Field Communication (NFC), Infrared (IR), etc.
[0038] The computer device 10 can be a mobile phone, tablet computer, smart wearable device, augmented reality (AR) / virtual reality (VR) device, laptop computer, netbook, or other electronic device. This application embodiment does not limit the specific type of computer device 10.
[0039] The scanner 20 can be an oral scanning device, a facial scanning device, a CT (Computed Tomography) scanning device or a CBCT (Cone Beam Computer Tomography) scanning device, a professional scanner, an industrial scanner, etc. Oral scanning devices include intraoral scanners and extraoral scanners. The scanner 20 can be a handheld scanning device or a fixed desktop scanning device. The scanner 20 can realize three-dimensional reconstruction of objects or scenes such as teeth, faces, bodies, industrial products, industrial equipment, cultural relics, works of art, prostheses, medical instruments, and buildings. This application does not impose specific limitations in this regard.
[0040] like Figure 1 As shown, the scanner 20 includes a rotating component 210 capable of changing different postures. This rotating component 210 includes a scanning head 2101 and a support stage 2102. The scanning head 2101 houses a camera module and may also include an optical projection module. The support stage 2102 can be a controllable rotary table, used to support and rotate the scanned object (e.g., ...) with multiple degrees of freedom. Figure 1 As shown in Figure A), a positioning device is used to acquire data from its entire circumference surface. The scanning object (such as...) is supported on the stage 2102. Figure 1 As shown in A), during the calibration process, the scanning object can be a calibration plate, while during the application process, the scanning object can be a dental model or other human body or object that requires measurement of three-dimensional data.
[0041] In one embodiment, the computer device 10 can control the scanning head 2101 and / or the stage 2102 to rotate at different angles to change different postures. The computer device 10 can also receive images of the scanned object acquired by the scanning head 2101, and evaluate whether the acquisition of calibration data has been completed by analyzing the images.
[0042] In another embodiment, a built-in processing unit with edge computing capabilities can be integrated into the scanner 20. This unit can integrate a computing chip, a real-time operating system, and control firmware to perform calculations and analysis on the images acquired by the scanning head 2101, and control the rotation of the scanning head 2101 and / or the stage 2102 based on the results of the calculations and analysis.
[0043] Indication Figure 1This is merely an example and does not constitute a limitation on the calibration data acquisition system. It may include more or fewer components than illustrated, or combine certain components, or use different components. In one example, the computer device 10 may also include input / output devices, network access devices, etc. In another example, an additional auxiliary component for rotating the platform 2102 may be mounted on the scanner 20. This auxiliary component itself can also change different postures to achieve fine-grained control over the rotation of the platform 2102.
[0044] Figure 2 This is a flowchart of a calibration data acquisition method provided in an embodiment of this application, applied to a computer device (e.g., in a calibration data acquisition system). Figure 1 In another embodiment, a scanner (e.g., a computer device 10) may also be used in a calibration data acquisition system. Figure 1 (Scanner 20). Depending on different needs, the order of steps in this flowchart can be changed, and some steps can be omitted.
[0045] Step S201: Based on a preset relative angle sequence, control the rotating parts of the scanner to rotate sequentially by multiple relative angles.
[0046] In some embodiments of this application, the relative angle sequence may be a pre-constructed set of multiple relative angles, and this application is not limited thereto. The relative angle sequence may be stored in the form of a file, as described below. Figure 3 Describe it.
[0047] like Figure 3 The relative angle sequence shown in (a) is denoted as the first file (calibration_xyz.ph), which has 15 rows and 4 columns. The first file includes a first angle sequence comprising multiple relative angles (e.g., 8 relative angles) controlling the stage to rotate sequentially around a first coordinate axis (e.g., the X-axis). This sequence is used to coordinate with the camera module of the scanning head to acquire 8 images for subsequent construction of calibration X-axis data. In one example, (-45 0 0 0) represents a -45° rotation around the X-axis, while the Y-axis, Z-axis, and A-axis remain at 0° rotation.
[0048] The first document also includes a second angle sequence, which comprises multiple relative angles (e.g., 5 relative angles) controlling the stage to rotate sequentially around a second coordinate axis (e.g., the Y-axis). This sequence is used to coordinate with the camera module of the scanning head to acquire 5 images for subsequent construction of calibration data for the Y-axis. In one example, (0 -15 0 0) represents a 0° rotation around the X-axis, a -15° rotation around the Y-axis, and a 0° rotation around the Z-axis and A-axis.
[0049] The first document also includes a third angle sequence, which comprises multiple relative angles (e.g., three relative angles) controlling the sequential rotation of the scanning head around its third coordinate axis (e.g., the Z-axis). This sequence is used in conjunction with the camera module of the scanning head to acquire three images for subsequent construction of Z-axis calibration data. In one example, (0 0 10 0) represents a rotation of 0° around the X and Y axes, a rotation of 10° around the Z-axis, and a rotation of 0° around the A-axis.
[0050] Among them, the second angle sequence and the third angle sequence share at least one common relative angle, combined with Figure 3 As shown in (a), the last relative angle in the second angle sequence is the same relative angle as the first relative angle in the third angle sequence, as... Figure 3 As shown in (a), (0 -5 0 0) is used to calibrate both the Y and Z axes, meaning that this relative angle is used for both Y-axis and Z-axis calibration of the acquired image. Therefore, the first file contains 15 relative angles. Figure 3 (a) is merely an example. In practical applications, fewer or more relative angles or calibration axes than those in the first document can be set, and this application does not limit this.
[0051] like Figure 3 The relative angle sequence shown in (b) is denoted as the second file (calibration_xy.ph), which has 13 rows and 4 columns. The second file includes both the first and second angle sequences. The difference between the first and second files is that the first file includes a third angle sequence, while the second file does not. The first file can be used to control the rotation of the scanning head and the stage, while the second file can be used to control the rotation of the stage.
[0052] The second file contains a total of 13 relative angles, such as... Figure 3 The example shown in (b) is merely an example. In practical applications, fewer or more relative angles or calibration axes than those in the first file can be set, and this application does not impose any limitations on this. It should be noted that the numerical signs of the relative angles in the first and second files are related to the direction; for example, a negative sign indicates reversal, and a positive sign (i.e., the part without a negative sign) indicates forward rotation. The direction of reversal and forward rotation can be set according to actual needs, such as clockwise rotation around the rotation axis being forward rotation, and counterclockwise rotation being reversal; this application does not impose any limitations on this. Furthermore, the original file corresponding to the sequence remains unchanged; only the file data extracted by the software is adjusted, so different scanners can still use the original file for reading and adaptation.
[0053] In some embodiments of this application, the support stage can be a controllable rotary stage, a positioning device used to support and rotate the scanning object with multiple degrees of freedom to achieve full-circumference surface data acquisition. Alternatively, the scanning head can also rotate, allowing it to acquire data about the scanning object at different angles based on its rotated posture.
[0054] In the calibration process, the scanning object carried on the platform can be a calibration board, which is equipped with at least one coded structured light pattern (also known as a marker point). For example, multiple large circular marker points and multiple small circular marker points (such as...) can be set on the calibration board simultaneously. Figure 1 As shown in A). Additionally, the scanning object can also be an LED light, a dedicated calibration device, etc.
[0055] In the application process after the calibration process is completed, taking a desktop scanner used in the dental field as an example, the scanning objects carried on the platform can be dental impressions, plaster / resin models, wax patterns, temporary restorations, implant scanning bodies, abutments, surgical guides, orthodontic models, retainers, and various permanent restorations (such as crowns, bridges, inlays, veneers), etc.
[0056] In some embodiments of this application, after constructing a relative angle sequence, multiple relative angles can be rotated sequentially according to the relative angle sequence, thereby controlling the carrier stage to change different postures, so as to drive the scanning object (e.g., calibration plate) to change posture through the carrier stage, and also control the scanning head to change different postures to collect scanning objects from different perspectives.
[0057] The sequential rotation of multiple relative angles can be performed in the order of the first angle sequence, the second angle sequence, and the third angle sequence, or in the order of the first angle sequence and the second angle sequence. In practical applications, the rotation order can be set according to specific needs, and this application does not impose any restrictions on it.
[0058] In one example, such as Figure 3 As shown in (a), (-45 50 0 0) and (0 -15 0 0) are included. The execution order of (-45 50 0 0) is before (0 -15 0 0). In this example, the execution order is that (0 -15 0 0) is executed if the image acquired based on (-45 50 0 0) meets the quality requirements.
[0059] Step S202: After controlling the rotation of the scanning head or the platform based on any relative angle, the scanning head is used to acquire the image corresponding to the scanned object.
[0060] In some embodiments of this application, both the scanning head and the carrier stage support rotation. The carrier stage can rotate about a first coordinate axis (such as the X-axis) and a second coordinate axis (such as the Y-axis) of the carrier stage, and the scanning head rotates about a third coordinate axis (such as the Z-axis) of the scanning head.
[0061] To avoid the effects of mechanical wear, optical component performance drift, or environmental disturbances, after each change of posture of the scanning head or platform based on the relative angle, it is necessary to use the scanning head's camera module to acquire an image of the scanned object for calibration. In one example, assuming the platform is rotated 45° around its X-axis, after this rotation, the scanning head's camera module acquires an image of the scanned object on the platform.
[0062] Step S203: If the image does not meet the preset quality requirements, control the scanning head or the stage to rotate based on the preset rotation strategy in order to acquire an image that meets the quality requirements.
[0063] In some embodiments of this application, if the scanning object is a calibration board, and the calibration board includes multiple marker points, then if multiple marker points in the image fail to be extracted due to exposure or other reasons, the image is determined to not meet the preset quality requirements. Additionally, if any marker point in the image is incomplete or the number of marker points does not meet the preset quantity requirement, the image is determined to not meet the preset quality requirements. The above are merely examples; at least one quality requirement can be set according to actual needs to acquire a high-precision image.
[0064] Once it is determined that the image acquired at any relative angle does not meet the quality requirements, the scanning head or stage can be rotated based on a preset rotation strategy. This preset rotation strategy can involve adding or subtracting a certain angle from the given relative angle to change the orientation of the scanned object relative to the camera module of the scanning head. This allows the camera module to acquire an image of the scanned object at the updated orientation, and the quality requirements are then reassessed based on this image, ultimately resulting in an image that meets the quality requirements.
[0065] Any of the aforementioned relative angles can be any one of the first angle sequence, the second angle sequence, and the third angle sequence.
[0066] In some embodiments of this application, if any relative angle belongs to a first angle sequence or a second angle sequence, the stage can be controlled to rotate based on a preset rotation strategy. If any relative angle belongs to a third angle sequence, the scanning head can be controlled to rotate based on a preset rotation strategy. The specific control process for controlling the scanning head or stage rotation according to the preset rotation strategy can be described below. Figure 4 , Figure 5 as well as Figure 6 The illustrated embodiment.
[0067] In some other embodiments of this application, if any relative angle belongs to the second angle sequence and the third angle sequence, the scanning head or the platform can be controlled to rotate based on a preset rotation strategy.
[0068] Alternatively, any relative angle can also be an angle used to control the rotation of the auxiliary component around axis A.
[0069] In other embodiments of this application, after determining that the image acquired at any relative angle does not meet the quality requirements and starting to rotate according to a preset rotation strategy, counting begins. If the scanning head or platform rotates multiple times based on the preset rotation strategy, and the number of rotations reaches the preset number of rotations, and the image acquired by the scanning head still does not meet the quality requirements, then it is determined that the scanner is severely worn and cannot be recalibrated. The preset number of rotations can be set according to actual needs, for example, it could be 2 times, 3 times, etc.
[0070] In one example, assuming the preset number of rotations is 3, if the image acquired after 3 rotations according to the preset rotation strategy still does not meet the quality requirements, it is determined that the scanner is severely worn and cannot be recalibrated.
[0071] If the number of rotations of the rotating component controlled by the rotation strategy reaches the preset number of rotations, and the image acquired by the scanning head does not meet the quality requirements, a prompt message is output. This prompt message is used to indicate that the calibration data acquisition has failed.
[0072] In this application, the computer device establishes a communication connection with the user's corresponding client. The computer device can send prompt messages to the client, or it can output the prompt messages as pop-ups on its own display screen, or it can display the prompt messages at a designated location on the application interface. This application does not limit the presentation format of the prompt messages.
[0073] Step S204: Based on at least one image that meets the quality requirements, construct calibration data for calibrating the scanner.
[0074] In some embodiments of this application, at least one image that meets the quality requirements is used as calibration data through the above acquisition method. Calibration parameters are calculated based on the calibration data. These calibration parameters include the intrinsic and extrinsic parameters of the camera module in the scanner, the intrinsic and extrinsic parameters of the optical projection module (also known as the projector) in the scanner, and the axis parameters of the scanner.
[0075] The intrinsic parameters of the camera module are calculated based on calibration data. Feature point extraction and optimization algorithms can be used to calculate the intrinsic parameters (matrix) of the camera module, which are used to determine the internal geometry and optical characteristics of the camera module. The intrinsic parameters of the camera module include at least: focal length parameter, principal point coordinates, distortion coefficients, and pixel size. Specifically, the focal length parameter determines the imaging focal length and lens characteristics of the camera module; the principal point coordinates determine the optical center position of the image plane; the distortion coefficients correct for meridional and tangential distortions caused by the lens; and the pixel size establishes the relationship between pixel coordinates and physical dimensions.
[0076] The intrinsic parameters of the optical projection module are calculated based on calibration data. Using a camera module as an intermediate observation medium, the intrinsic parameters of the projector (optical projection module) can be inversely solved by analyzing the projection deformation and phase information of the coded structured light pattern on the calibration board. The intrinsic parameters of the optical projection module are used to establish the correspondence between the projector coordinate system and the projection physical coordinate system. The intrinsic parameters of the optical projection module include at least: projection pattern parameters, projection distortion correction parameters, and brightness uniformity. Specifically, the projection pattern parameters determine the phase and frequency characteristics of the structured light projection; the projection distortion correction parameters determine the distortion compensation of the projection optical system; and the brightness uniformity determines the brightness distribution correction of the projection light field.
[0077] The extrinsic parameters of the camera module and the optical projection module are calculated based on calibration data. These parameters can be calculated using multiple images from the calibration data and the coordinate relationships of corresponding points. Calculating the extrinsic parameters of the camera module and the optical projection module is used to establish the relative positional relationship between the camera coordinate system and the projector coordinate system (also known as the projection physical coordinate system) (their positions and orientations in the world coordinate system). The extrinsic parameters of the camera module and the optical projection module include at least: relative pose, reference plane, and system calibration. The relative pose is used to determine the rotational and translational relationship between the camera module and the projector; the reference plane is used to establish a unified measurement reference coordinate system; and system calibration is used to integrate the camera module and the projector into a complete measurement system.
[0078] The scanner's axis parameters are calculated based on calibration data. These parameters establish a mapping between the rotation angles of each axis and the extrinsic parameters of the camera module, unifying the vision system and the mechanical system into the same world coordinate system. The axis parameters include at least the parameters corresponding to the X-axis, Y-axis, Z-axis, and A-axis. Specifically, the X-axis parameters are used to achieve circular scanning of the object (such as a calibration plate or dental model); the Z-axis parameters are used to adjust the scanning height of the scanning head, allowing the stage to adapt to objects of different sizes; the Y-axis parameters are used to adjust the scanning angle of the stage to avoid occlusion; and the A-axis parameters are used to assist rotation and optimize the scanning path.
[0079] In the above embodiments, based on a preset relative angle sequence, the rotating component of the scanner is controlled to rotate sequentially and continuously by multiple relative angles. This rotating component includes a scanning head and a platform, with the platform supporting the scanned object. By rotating multiple relative angles, the scanning head can subsequently observe the scanned object on the platform from different angles. After controlling the rotation of the scanning head or platform based on any relative angle, the scanning head acquires an image corresponding to the scanned object. The images acquired at different relative angles are then used to determine whether further rotation is necessary. If the image does not meet the preset quality requirements, it indicates an error in the relative angles provided in the relative angle sequence. In this case, the scanning head or platform can be controlled to rotate based on a preset rotation strategy to acquire an image that meets the quality requirements. After acquiring at least one image that meets the quality requirements in the above manner, calibration data for calibrating the scanner is constructed. The above embodiments can balance the efficiency and accuracy of calibration data acquisition, achieve dynamic adjustment of the acquisition angle corresponding to the image, and avoid errors caused by hardware wear and tear.
[0080] Furthermore, high-precision calibration parameters are fundamental for maintaining the scanner's scanning accuracy. Accurate calibration results effectively improve the scanning system's robustness to minor hardware aging and slight deviations, ensuring stable output accuracy in subsequent scanning jobs and reducing rescanning and operational interventions caused by inaccuracy. This indirectly helps maintain the long-term availability and reliability of the equipment.
[0081] Figure 4 This is a control flowchart provided in an embodiment of this application, showing the control of the rotation of the support platform based on a first angle sequence. The support platform is controlled to rotate around a first coordinate axis based on the first angle sequence, which may be the X-axis of the support platform.
[0082] Step S401: If any relative angle is determined to be the i-th relative angle in the first angle sequence, obtain the i-th actual angle.
[0083] In some embodiments of this application, combined with Figure 3 (a) or Figure 3 In (b), in the first angle sequence, there are 8 relative angles that control the rotation of the bearing platform around the first coordinate axis corresponding to the bearing platform. The i-th relative angle can be any one of the 8, that is, i=1,…,8.
[0084] When i ≥ 2, if any relative angle is determined to be the i-th relative angle in the first angle sequence, it means that the acquired image does not meet the quality requirements after rotating the carrier platform according to the i-th relative angle. In this case, the i-th actual angle is obtained according to the preset rotation strategy, which corresponds to the actual angular position reached by the carrier platform after rotating based on the i-th relative angle.
[0085] In one example, combining Figure 3 (a) If the i-th relative angle is determined to be the second relative angle (-45 0 0 0) in the first angle sequence, then the i-th actual angle corresponds to the position of the bearing platform after rotating -45° around the X-axis.
[0086] If the i-th relative angle is the third relative angle (-45° 0° 0°) in the first angle sequence, then the i-th actual angle corresponds to the position of the bearing platform after rotating -90° around the X-axis.
[0087] Step S402: Obtain the (i-1)th target angle determined based on the (i-1)th relative angle.
[0088] In some embodiments of this application, the (i-1)th target angle corresponds to the actual angular position reached by the carrier when the carrier acquires an image that meets the quality requirements.
[0089] In one example, combining Figure 3 In (a), assume the (i-1)th relative angle is the second relative angle in the first angle sequence (-45 0 0 0), and the (i-1)th target angle is recorded as (-40 0 0 0). Taking the origin as (0 0 0 0), (-40 0 0 0) indicates that after the platform rotates according to the (i-1)th relative angle and according to the preset rotation strategy (5° forward rotation), the image acquired when the platform rotates around the first coordinate axis to -40° meets the quality requirements. The rotation direction has the same sign as the relative angle; a negative sign indicates reverse rotation, and a positive sign indicates forward rotation. Furthermore, the direction of rotation can be set according to actual needs.
[0090] Step S403: Calculate the first angle difference between the i-th actual angle and the (i-1)-th target angle.
[0091] In some embodiments of this application, the (i-1)th target angle is denoted as X_last, and the image acquired at the (i-1)th target angle meets the quality requirements. The ith actual angle is denoted as X_new. The first angle difference D1 between the ith actual angle and the (i-1)th target angle is calculated, expressed by the formula D1 = X_new - X_last.
[0092] Step S404: Determine the first angle step size based on the first angle difference.
[0093] In some embodiments of this application, after determining the first angle difference D1, the first angle step S1 can be calculated using the following formula: S1 = D1 / 4. It should be noted that the step size can be positive or negative; a negative sign indicates reverse rotation, and a positive sign indicates forward rotation. Furthermore, the direction of rotation can be set according to actual needs.
[0094] In other embodiments of this application, the first angle step size can be pre-set based on empirical values or other calculation strategies, and this application does not limit this.
[0095] Step S405: Based on at least one first angle step, control the bearing platform to rotate around the first coordinate axis.
[0096] In some embodiments of this application, the carrier stage rotates around a first coordinate axis in a preset first rotation direction. If it is determined that the image acquired at the i-th actual angle does not meet the quality requirements, then at this angle, the carrier stage can be controlled to rotate around the first coordinate axis by at least a first angular step. The rotation direction of the first angular step can be the same as or different from the first rotation direction. That is, the rotation direction of the step can be consistent with the numerical sign of the step, such as a positive sign for forward rotation and a negative sign for reverse rotation. Alternatively, the step can be reversed to obtain a new step direction before rotation. It should be noted that the direction of forward or reverse rotation can be determined according to actual needs, such as clockwise rotation based on the rotation axis being positive and counterclockwise rotation being negative; this embodiment does not limit this.
[0097] In one example, taking the i-th actual angle as -90°, the first angle step as -6°, and the rotation direction of the first angle step as the same as the first rotation direction (i.e., the numerical sign of the first angle step is negative, and both the first rotation direction and the step direction are reversed), the current position of the platform corresponds to a position rotated 90° in the first direction. From this current position, rotating 6° in the first direction reaches the position corresponding to -96°. The scanning head can then be used to acquire an image of the object being scanned. If the acquired image does not meet the quality requirements, the platform can continue to rotate 6° in the first direction to reach the position corresponding to -102°, and the scanning head can then continue to acquire an image of the object being scanned.
[0098] In another example, taking the i-th actual angle as -90°, the first angle step size as 6°, and the rotation direction of the first angle step size opposite to the first rotation direction as an example (i.e., the numerical sign of the first angle step size is positive, the first rotation direction is reversed, and the step size direction is forward), the current position of the platform corresponds to a position rotated 90° in the first direction (the sign is negative, the first direction is reversed). Based on the current position, rotating 6° in the second direction opposite to the first direction (the sign is positive, the second direction is forward) will reach the position corresponding to -84°. The scanning head can then be used to acquire an image of the object being scanned. If the acquired image does not meet the quality requirements, it can be rotated another 6° in the second direction to reach the position corresponding to -78°, and the scanning head can continue to acquire an image of the object being scanned.
[0099] In some embodiments of this application, during the process of controlling the support platform to rotate around the first coordinate axis by at least one first angular step, the number of rotations in the same direction and the number of rotations in the opposite direction are recorded.
[0100] In one embodiment, if the number of rotations in the same direction reaches a preset number and the acquired image does not meet the quality requirements, the platform can be controlled to rotate around the first coordinate axis to the position corresponding to the i-th actual angle, and then rotate in the opposite direction by at least one first angular step. Here, the number of rotations in the same direction refers to the number of times the rotation direction is the same as the relative angle, and the number of rotations in the opposite direction refers to the rotation direction being opposite to the relative angle.
[0101] In one example, assuming the preset number of rotations in the same direction is 3, where the numerical sign of the first angular step is negative, and both the first rotation direction and the step direction are reversed, and the first angular step is -6°, the platform starts from -90° and rotates around the first coordinate axis 3 times in 3 first angular steps to reach -108°. When the platform is at the position corresponding to -108°, the image acquired by the scanning head does not meet the preset requirements, so the platform is controlled to rotate in the second direction to the position of -90°. Furthermore, starting from -90°, it rotates around the first coordinate axis in the second direction by at least one first angular step, that is, rotating after reversing the sign of the rotation step. Here, the numerical sign of the first angular step is positive, and the step direction is forward rotation; for example, rotating by 6° to reach -84°.
[0102] In another embodiment, if the number of reverse rotations reaches a preset number of reverse rotations and the acquired image does not meet the quality requirements, the platform can be controlled to rotate around the first coordinate axis to the position corresponding to the i-th actual angle, and then rotate in the same direction by at least one first angular step. That is, the sign of the rotation step is reversed before rotation.
[0103] In one example, assuming the preset number of reversals is 3 and the first angular step is 6°, the platform rotates 3 times around the first coordinate axis from -90° to -72° in 3 steps of the first angular step. The first angular step is positive, indicating forward rotation. When the platform is at the position corresponding to -72°, the image acquired by the scanning head does not meet the preset requirements, so the platform is controlled to rotate in the first direction to the position of -90°. Furthermore, starting from -90°, it rotates around the first coordinate axis in the first direction by at least one first angular step, for example, rotating by -6° to -96°. The direction of rotation of the step is related to the sign of the step; a negative sign indicates reverse rotation, and a positive sign indicates forward rotation.
[0104] If the number of rotations in the same direction reaches the preset number of rotations in the same direction, and the number of rotations in the opposite direction both reach the preset number of rotations in the opposite direction, it is determined that the number of rotations of the rotating component controlled by the rotation strategy has reached the preset number of rotations. This indicates that there is significant hardware wear inside the scanner (e.g., camera / optical projection module) or on the carrier stage of the scanner. A prompt message can be output to indicate that the calibration data acquisition has failed, and also to prompt the user to check the scanner or replace the component on the scanner.
[0105] In some embodiments of this application, if the number of rotations in the same direction does not reach a preset number of rotations in the same direction, or the number of rotations in the opposite direction does not reach a preset number of rotations in the opposite direction, and an image meeting the quality requirements is acquired, then it is determined that an image meeting the quality requirements was acquired after controlling the rotation of the carrier stage according to at least one first angular step. For example, if the i-th image meeting the quality requirements is acquired, then the i-th target angle corresponding to the actual angular position reached by the carrier stage is determined. It should be noted that the direction corresponding to the number of rotations in the same direction and the opposite direction refers to the same as or opposite to the relative angle. In addition, the direction can also be set according to actual needs.
[0106] To ensure that the platform is in its initial position after rotating in the first direction (e.g., 360° around the X-axis) according to the first angle sequence, an angle compensation value can be calculated based on the angle difference between the i-th actual angle and the i-th target angle. That is, the angle to be compensated for in subsequent rotations is determined based on the difference between the actual angles reached by the platform before and after the strategy adjustment. For example, if the i-th actual angle is -90° and the i-th target angle is -95°, then the angle compensation value is 5°.
[0107] Based on the angle compensation value and the (i+1)th relative angle, the platform is controlled to rotate around the first coordinate axis. For example, if the (i+1)th relative angle is (-45° 0° 0°) and the angle compensation value is 5°, then the platform is controlled to rotate -40° around the first coordinate axis, thereby compensating for the 5° over-rotation caused by previous adjustments. Furthermore, the sign of the compensation value can be set based on the rotation direction according to actual needs.
[0108] The above embodiments ensure that the images acquired around the first coordinate axis (the X-axis of the support platform) meet the quality requirements, providing accurate data for subsequent equipment calibration.
[0109] In other embodiments of this application, before rotating around the first coordinate axis of the support platform, the origin coordinates can be calibrated. The origin coordinates can be calibrated by the relative angle corresponding to i=1. The device configuration file contains an initial value for calibrating the origin, such as (0 0 0 0), or other set origin coordinates. The updated calibration origin value is determined by calculation based on the calibration origin. If the acquired image does not meet the quality requirements under the current posture (e.g., the current actual angle position determined by the relative angle corresponding to i=1), it indicates that reflections may occur. Since the reflection is more severe the more directly the calibration plate on the support platform faces the camera, the reflection problem can be solved by adjusting the second coordinate axis (the Y-axis of the support platform). For example, the platform can be rotated +5° from the current angle on the Y-axis, and the image after the +5° rotation can be acquired. If the reflection problem still exists, the platform can be rotated another +5°. When the maximum number of rotations is reached (e.g., 3 times), the subsequent calibration data acquisition process stops, and a prompt message is output to indicate that there is significant hardware wear and tear on the scanner's internal components (e.g., camera / optical projection module) or the platform on the scanner, making recalibration impossible. If the acquired image meets the quality requirements before the maximum number of rotations is reached, the relevant steps of rotating around the first coordinate axis can continue, and the current posture of the platform is used as the posture corresponding to the origin coordinates (e.g., (0 0 0 0)).
[0110] In other embodiments of this application, if the origin coordinates are not calibrated before rotating around the first coordinate axis, and the rotation is started directly from a relative angle of i=1, a glare problem may occur at i=1.
[0111] If i=1, the image acquired at the first relative angle of rotation of the control platform around the first coordinate axis does not meet the quality requirements, indicating a possible reflection problem. The control platform rotates around the corresponding second coordinate axis according to at least one preset second angle step. The first relative angle can be (0 0 0 0), and the second angle step S2 can be a custom angle, for example, S2 is -5°.
[0112] If the scanning head acquires an image that meets the quality requirements after the control platform rotates around the second coordinate axis of the control platform by at least a second angular step, then the original value of the second coordinate axis of the calibration origin can be updated using at least a second angular step.
[0113] In one example, the first relative angle is (0 0 0 0), and after rotating by a second angle step, it becomes (0 -5 00). Taking the calibration origin as (0 0 0 0) as an example, the original value of the second coordinate axis of the calibration origin is updated to (0 -5 00); taking the calibration origin as (90 30 0 0) as an example, the original value of the second coordinate axis of the calibration origin is updated to (90 250 0).
[0114] If the images acquired after repeatedly controlling the stage to rotate around the corresponding second coordinate axis according to the second angle step size do not meet the quality requirements, and the number of control operations reaches the preset number, then the subsequent calibration data acquisition process will stop, and a prompt message will be output to indicate that there is significant hardware wear and tear on the scanner's internal components (e.g., camera / optical projection module) or the stage on the scanner, making recalibration impossible. The preset number of control operations can be set according to the actual application; for example, it could be 3 times.
[0115] In other embodiments of this application, when a reflection problem occurs when acquiring the first image at the calibration origin or around the first coordinate axis, it is necessary to adjust the angle of the second coordinate axis. The first relative angle in the second angle sequence is updated according to at least one second angle step size. Specifically, if the origin value of the second coordinate axis of the updated calibration origin is greater than a preset angle, the first relative angle in the second angle sequence can be updated according to the upper limit value of the rotation that prevents overexposure on the Y-axis. The upper limit value of the rotation that prevents overexposure on the Y-axis can be 80°. From a hardware design perspective, 90° on the Y-axis is the angle directly facing the camera module, and the reflection on the calibration plate is most severe when directly facing the camera module. To avoid overexposure of the markers on the calibration plate, the upper limit value of the rotation is set to 80° when acquiring images rotated along the Y-axis. The preset angle can be set according to this upper limit value, such as 80°. This application does not limit the setting of the upper limit value of the rotation and the preset angle.
[0116] In one example, assuming the updated calibration origin is (90 45 0 0), the first relative angle in the second angle sequence is (-45 50 0 0), and the preset angle is 30°, the origin value of the second coordinate axis, 45°, is greater than the preset angle. Therefore, the difference between the upper limit of rotation corresponding to the Y-axis and the origin value of the second coordinate axis can be calculated, for example, 80° - 45° = 35°. The first relative angle in the second angle sequence is then updated using this difference. Based on this difference update, the first relative angle in the updated second angle sequence is (-45 35 0 0). Furthermore, the Y-axis rotation values for the subsequent four paths (all used to acquire Y-axis rotation images) can be adjusted accordingly, for example, to -8, -8, -8, and -11 respectively (35 divided by 4 and rounded down, with an additional remainder added to the fourth image, the direction being opposite to the 35° rotation to return to the updated origin value of 45°). The rotation angles of the subsequent four images can also be set according to actual needs, so that the angle values of the second coordinate axis gradually return to the vicinity of the origin.
[0117] It should be noted that the preset angle can be determined based on the upper limit of rotation corresponding to the Y-axis and the first relative angle in the second angle sequence. As in the example above, the first relative angle in the second angle sequence controls the Y-axis rotation by 50°, and the upper limit of Y-axis rotation is 80°. Therefore, the preset angle is determined by 80° - 50° = 30°. If the origin is greater than the preset angle, rotating another 50° will exceed the upper limit of rotation. The first relative angle in the second angle sequence needs to be adjusted so that the final rotation does not exceed the upper limit of rotation.
[0118] Figure 5 This is a control flowchart provided in an embodiment of this application, showing the control of the platform rotation based on a second angle sequence. (In conjunction with...) Figure 3 As shown in (a), after rotating around the first coordinate axis according to the first angular sequence, eight images meeting the quality requirements were acquired. Next, the platform can be controlled to rotate around the second coordinate axis according to the second angular sequence to continue acquiring images as shown in (a). Figure 3 The five images shown in (a) are as follows. Figure 5 As shown, the steps include the following.
[0119] Step S501: If any relative angle is determined to be the j-th relative angle in the second angle sequence, the carrier platform is controlled to rotate around the second coordinate axis based on at least one preset third angle step size.
[0120] In some embodiments of this application, j is a positive integer, combined with Figure 3As shown in (a), j can be equal to 1 to 5, used to acquire 5 images. If any relative angle is determined to be the j-th relative angle in the second angle sequence, it means that after rotating the platform according to the j-th relative angle, the acquired image does not meet the quality requirements. In this case, the platform can be controlled to rotate around the second coordinate axis according to at least one third angle step. The third angle step can be set according to the actual situation; for example, the third angle step can be -5°.
[0121] In one example, combining Figure 3 As shown in (a), when j=2, the second relative angle is (0 -15 0 0). If it is determined that the image acquired after rotating according to (0 -15 0 0) does not meet the preset quality requirements, the carrier stage is controlled to rotate by -5°, and the image is acquired again using the scanning head to determine whether the image meets the quality requirements.
[0122] If an image that does not meet the quality requirements is acquired after rotating based on at least one third angle step, and the third angle step is used a preset number of times (e.g., 3 times), then the calibration data acquisition is determined to have failed.
[0123] Step S502: Based on the acquisition of an image that meets the quality requirements after rotating at least one third angle step, determine the j-th target angle corresponding to the actual angular position reached by the carrier platform.
[0124] In some embodiments of this application, if an image meeting the quality requirements is acquired after rotating based on at least one third angle step, in this case, the j-th target angle is obtained according to a preset rotation strategy. The j-th target angle corresponds to the actual angular position reached when the carrier stage acquires an image meeting the quality requirements after rotating according to at least one third angle step. For example, the j-th target angle is (-45 65 0 0).
[0125] Step S503: Calculate the second angle difference between the j-th target angle and the preset reference value.
[0126] In some embodiments of this application, the reference value is the reference coordinate value corresponding to the second coordinate axis, for example, the reference coordinate value is (0 30 0 0). Taking j=1 as an example, if the first target angle is determined to be (-45 65 0 0), then the second angle difference is 35°.
[0127] Step S504: Update at least one remaining relative angle in the second angle sequence based on the second angle difference.
[0128] In some embodiments of this application, at least one remaining relative angle in the second angle sequence includes relative angles for which no rotation operation has been performed. For example, if j=1, then at least one remaining relative angle includes the relative angles corresponding to j=2,...,5.
[0129] Assuming there are m remaining relative angles, we can divide the difference of the second angle by m and round it down, then add the remainder to the fourth relative angle. Figure 3 As shown in (a), the m remaining relative angles of the second angle sequence include (0 -15 0 0), (0 -15 0 0), (0 -10 0 0), and (0 -5 0 0), which can be updated to (0 -8 0 0), (0 -8 0 0), (0 -8 0 0), and (0 -11 0 0). Using at least one of the updated remaining relative angles, the platform is controlled to rotate sequentially around the second coordinate axis.
[0130] The above is just an example. The remaining relative angles can be updated according to different strategies. For example, (0 -150 0), (0 -15 0 0), (0 -10 0 0), (0 -5 0 0) can be updated to (0 -11 0 0), (0 -8 0 0), (0 -8 00), (0 -8 0 0).
[0131] The above embodiments can improve the smoothness and fault tolerance of the calibration process. By automatically adjusting the angle around the second coordinate axis (the Y-axis of the platform), even if the scanner hardware is damaged or affected by other external factors, the scanner can actively adjust the path to acquire images that meet the quality requirements, providing accurate data for subsequent equipment calibration.
[0132] Figure 6 This is a control flowchart provided in an embodiment of this application, showing the control of the scanning head rotation based on a third angle sequence. (In conjunction with...) Figure 3 As shown in (a), after controlling the stage to rotate around the second coordinate axis according to the second angle sequence, five images meeting the quality requirements are acquired. Next, the scanning head can be controlled to rotate around the third coordinate axis of the scanning head (e.g., the Z-axis) to continue acquiring images as shown in (a). Figure 3 The three images shown in (a) are as follows. Figure 6 As shown, the steps include the following.
[0133] Step S601: If any relative angle is determined to be the kth relative angle in the third angle sequence, obtain the kth actual angle.
[0134] In some embodiments of this application, combined with Figure 3As shown in (a), the third angle sequence includes (0 -5 0 0), (00 10 0), and (0 0 10 0). The k-th relative angle can be any relative angle in the third angle sequence.
[0135] When k=1, the corresponding relative angle is (0 -5 0 0), combined with Figure 3 As shown in (a), (0 -5 0 0) is also used to calibrate the Y-axis. Since the rotating component is controlled to rotate sequentially according to the first angle sequence, the second angle sequence, and the third angle sequence, when it is the turn of the third angle sequence, it means that the image acquired when rotating according to the last relative angle (0 -5 0 0) of the second angle sequence meets the quality requirements. Therefore, when k = 1, the image acquired by the scanning head also meets the quality requirements.
[0136] When k≥2, and it is determined that the image acquired at the kth relative angle does not meet the quality requirements (the marker image acquired at the kth relative angle may be incomplete), in this case, the kth actual angle is obtained according to the preset rotation strategy. The kth actual angle corresponds to the actual angle position reached by the scanning head after rotating based on the kth relative angle.
[0137] In one example, combining Figure 3 If (a) is determined to be the second relative angle in the third angle sequence (0 0 10 0), then the kth actual angle corresponds to the position of the scanning head after rotating 10° around the Z-axis.
[0138] If the kth relative angle is the 3rd relative angle in the third angle sequence (0 0 10 0), then the kth actual angle corresponds to the position of the scanning head after rotating 20° around the Z-axis.
[0139] Step S602: Obtain the (k-1)th target angle determined based on the (k-1)th relative angle.
[0140] In some embodiments of this application, the (k-1)th target angle corresponds to the actual angular position reached by the scanning head when the carrier stage acquires an image that meets the quality requirements.
[0141] In one example, combining Figure 3 In (a), assume the (k-1)th relative angle is the second relative angle in the third angle sequence (0 0 10 0), and the (k-1)th target angle is recorded as (0 0 8 0). Then (0 0 8 0) indicates that after the scanning head rotates according to the (k-1)th relative angle and according to the preset rotation strategy (rotating 2° in the opposite direction), the image acquired when the scanning head rotates to 8° around the third coordinate axis meets the quality requirements.
[0142] Step S603: Calculate the third angle difference between the k-th actual angle and the (k-1)-th target angle.
[0143] In some embodiments of this application, the (k-1)th target angle is denoted as Z_last, and the image acquired at this (k-1)th target angle meets the quality requirements. The kth actual angle is denoted as Z_new. The third angle difference D3 between the kth actual angle and the (k-1)th target angle is calculated, expressed by the formula D3 = Z_new - Z_last.
[0144] Step S604: Determine the fourth angle step size based on the third angle difference.
[0145] In some embodiments of this application, after determining the third angle difference D3, the fourth angle step S4 can be calculated using the following formula: S4 = D3 / 3.
[0146] In other embodiments of this application, the fourth angle step size can be pre-set based on empirical values or other calculation strategies, and this application does not limit this.
[0147] Step S605: Based on at least one fourth angle step, control the scanning head to rotate around the third coordinate axis.
[0148] In some embodiments of this application, if the scanning head rotates around a third coordinate axis and it is determined that the image acquired at the k-th actual angle does not meet the quality requirements, then at this angle, the scanning head can be controlled to rotate around the third coordinate axis by at least a fourth angular step. The rotation direction of the fourth angular step can be opposite to the rotation direction of the scanning head.
[0149] In one example, if the kth actual angle is (0 -5 10 0) and the fourth angle step size is 6°, then after controlling the scanning head to rotate 6° around the third coordinate axis, the current position of the scanning head corresponds to the position of (0 -5 4 0).
[0150] Record the number of times the scanning head rotates. If the number of rotations reaches the preset number and no image meeting the quality requirements is acquired, it indicates that there is significant hardware wear inside the scanner (e.g., camera / optical projection module) or on the scanner's stage. A prompt message can be output to remind the user to check the scanner or replace the component on the scanner, and to confirm that the calibration data acquisition has failed.
[0151] If the scanning head rotates less than the preset number of times, but an image that meets the quality requirements is acquired, then the k-th image that meets the quality requirements is obtained.
[0152] The above embodiments ensure that the images acquired around the third coordinate axis (the Z-axis of the scanning head) meet the quality requirements, providing accurate data for subsequent equipment calibration.
[0153] Figure 7 This is a schematic diagram of the structure of the computer device provided in an embodiment of this application. Figure 7 As shown, the computer device 10 may include a display device 100, a communication module 101, a memory 102, a processor 103, an input / output (I / O) interface 104, and a bus 105. The processor 103 is coupled to the display device 100, the communication module 101, the memory 102, and the I / O interface 104 via the bus 105.
[0154] The display device 100 may be a touch screen, specifically a touch-sensitive liquid crystal display device. Alternatively, the display device 100 may be a non-touch screen. The display device 100 is used to display images captured by the scanner 20.
[0155] Communication module 101 may include a wired communication module and / or a wireless communication module. The wired communication module may provide one or more wired communication solutions such as Universal Serial Bus (USB) and Controller Area Network (CAN). The wireless communication module may provide one or more wireless communication solutions such as Wireless Fidelity (Wi-Fi), Bluetooth (BT), mobile communication networks, Frequency Modulation (FM), Near Field Communication (NFC), and Infrared (IR). The memory 102 may include one or more random access memory (RAM) and one or more non-volatile memory (NVM). The RAM can be directly read and written by the processor 103, and can be used to store executable programs (such as machine instructions) of the operating system or other running programs, as well as user and application data.
[0156] Random access memory can include static random-access memory (SRAM), dynamic random-access memory (DRAM), synchronous dynamic random-access memory (SDRAM), double data rate synchronous dynamic random-access memory (DDR SDRAM), etc.
[0157] Non-volatile memory can also store executable programs and user and application data, and can be pre-loaded into random access memory for direct reading and writing by the processor 103. Non-volatile memory can include disk storage devices and flash memory.
[0158] The memory 102 is used to store one or more computer programs. The one or more computer programs are configured to be executed by the processor 103. The one or more computer programs include multiple instructions, which, when executed by the processor 103, enable a method for acquiring calibration data that is executed on the computer device 10.
[0159] In other embodiments, the computer device 10 also includes an external memory interface for connecting to an external memory to expand the storage capacity of the computer device 10.
[0160] Processor 103 may include one or more processing units, such as an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU). These different processing units may be independent devices or integrated into one or more processors.
[0161] The processor 103 provides computing and control capabilities. For example, the processor 103 is used to execute computer programs stored in the memory 102 to implement the above-described method for acquiring calibration data.
[0162] I / O interface 104 is used to provide a channel for user input or output. For example, I / O interface 104 can be used to connect various input and output devices, such as mouse, keyboard, touch device, display screen, etc., so that users can enter information or visualize information.
[0163] Bus 105 is used at least to provide a channel for communication between display device 100, communication module 101, memory 102, processor 103 and I / O interface 104 in computer device 10.
[0164] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the computer device 10. In other embodiments of this application, the computer device 10 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0165] This application also provides a computer-readable storage medium storing a computer program, which includes program instructions. When the program instructions are executed, the method implemented can refer to the methods in the above embodiments of this application.
[0166] The computer-readable storage medium can be the internal memory of the electronic device described in the above embodiments, such as the hard disk or memory of the electronic device. Alternatively, the computer-readable storage medium can be an external storage device of the electronic device, such as a plug-in hard disk, smart media card (SMC), secure digital card (SD), flash card, etc., provided on the electronic device.
[0167] In some embodiments, a computer-readable storage medium may include a stored program area and a stored data area, wherein the stored program area may store an operating system, an application program required for at least one function, etc.; and the stored data area may store data created based on the use of the electronic device, etc.
[0168] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0169] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0170] In the embodiments provided in this application, it should be understood that the disclosed apparatus / terminal devices and methods can be implemented in other ways. For example, the apparatus / terminal device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0171] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0172] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A method for acquiring calibration data, characterized in that, The method includes: Based on a preset sequence of relative angles, the rotating components of the scanner are controlled to rotate sequentially and continuously at multiple relative angles; wherein, the rotating components include a scanning head and a support platform, and the support platform is used to support the object being scanned; After controlling the rotation of the scanning head or the support stage based on any relative angle, the scanning head is used to acquire the image corresponding to the scanned object. If the image does not meet the preset quality requirements, the scanning head or the platform is controlled to rotate based on a preset rotation strategy in order to acquire an image that meets the quality requirements. Based on at least one image that meets the quality requirements, calibration data for calibrating the scanner is constructed.
2. The method for acquiring calibration data according to claim 1, characterized in that, The method of controlling the rotating components of the scanner to rotate sequentially and continuously by multiple relative angles based on a preset relative angle sequence includes: A first angle sequence, a second angle sequence, and a third angle sequence are obtained from the relative angle sequence. The first angle sequence includes multiple relative angles that control the carrier platform to rotate sequentially around a first coordinate axis of the carrier platform. The second angle sequence includes multiple relative angles that control the carrier platform to rotate sequentially around a second coordinate axis of the carrier platform. The third angle sequence includes multiple relative angles that control the scanning head to rotate sequentially around a third coordinate axis of the scanning head. Based on the first angle sequence, the carrier platform is controlled to rotate continuously around the first coordinate axis by multiple relative angles; Based on the second angle sequence, the support platform is controlled to rotate continuously around the second coordinate axis by multiple relative angles; Based on the third angle sequence, the scanning head is controlled to rotate continuously around the third coordinate axis by multiple relative angles.
3. The method for acquiring calibration data according to claim 2, characterized in that, The method of controlling the rotating components of the scanner to rotate sequentially and continuously by multiple relative angles based on a preset relative angle sequence includes: Based on at least two of the first angle sequence, the second angle sequence, and the third angle sequence, the rotating component is controlled to rotate sequentially and continuously by multiple relative angles.
4. The method for acquiring calibration data according to claim 2, characterized in that, If the image does not meet the preset quality requirements, the platform is controlled to rotate based on a preset rotation strategy, including: If any relative angle is determined to be the i-th relative angle in the first angle sequence, then the i-th actual angle is obtained, where the i-th actual angle corresponds to the actual angular position reached by the platform after rotation based on the i-th relative angle, i ≥ 2; and, Obtain the (i-1)th target angle determined based on the (i-1)th relative angle, where the (i-1)th target angle corresponds to the actual angular position reached when the carrier platform acquires an image that meets the quality requirements; Calculate the first angle difference between the i-th actual angle and the (i-1)-th target angle; Based on the first angle difference, determine the first angle step size; Based on at least one first angular step, the carrier platform is controlled to rotate around the first coordinate axis.
5. The method for acquiring calibration data according to claim 4, characterized in that, The method further includes: Based on the acquisition of an image that meets the quality requirements after rotating at least one first angle step, the i-th target angle corresponding to the actual angular position reached by the carrier platform is determined. An angle compensation value is determined based on the angle difference between the i-th actual angle and the i-th target angle. Based on the angle compensation value and the (i+1)th relative angle, the carrier platform is controlled to rotate around the first coordinate axis.
6. The method for acquiring calibration data according to claim 2, characterized in that, If the image does not meet the preset quality requirements, the platform is controlled to rotate based on a preset rotation strategy, including: When any relative angle is determined to be the first relative angle in the first angle sequence, the carrier platform is controlled to rotate around the second coordinate axis based on at least one preset second angle step size; If an image that meets the quality requirements is acquired, the origin value of the second coordinate axis of the calibration origin is updated based on the at least one second angle step size.
7. The method for acquiring calibration data according to claim 6, characterized in that, The method further includes: The first relative angle in the second angle sequence is updated based on the at least one second angle step size.
8. The method for acquiring calibration data according to claim 7, characterized in that, The method further includes: If the origin value of the second coordinate axis of the updated calibration origin is greater than the preset angle, the first relative angle in the second angle sequence is updated based on the upper limit value of rotation corresponding to the second coordinate axis.
9. The method for acquiring calibration data according to claim 2, characterized in that, If the image does not meet the preset quality requirements, the platform is controlled to rotate based on a preset rotation strategy, including: When any relative angle is determined to be the j-th relative angle in the second angle sequence, the carrier platform is controlled to rotate around the second coordinate axis based on at least one preset third angle step size, where j is a positive integer.
10. The method for acquiring calibration data according to claim 9, characterized in that, The method further includes: Based on the image that meets the quality requirements acquired after rotating at least one third angle step, the j-th target angle corresponding to the actual angular position reached by the carrier platform is determined. Calculate the second angle difference between the j-th target angle and a preset reference value, where the reference value is the reference coordinate value corresponding to the second coordinate axis; Update at least one remaining relative angle in the second angle sequence based on the second angle difference.
11. The method for acquiring calibration data according to claim 2, characterized in that, If the image does not meet the preset quality requirements, the scanning head is controlled to rotate based on a preset rotation strategy, including: When any relative angle is determined to be the k-th relative angle in the third angle sequence, the k-th actual angle is obtained, where the k-th actual angle corresponds to the actual angular position reached by the scanning head after rotating based on the k-th relative angle, k ≥ 2; and, Obtain the (k-1)th target angle determined based on the (k-1)th relative angle, where the (k-1)th target angle corresponds to the actual angular position reached when the scanning head acquires an image that meets the quality requirements; Calculate the third angle difference between the k-th actual angle and the (k-1)-th target angle; Based on the third angle difference, determine the fourth angle step size; The scanning head is controlled to rotate around the third coordinate axis based on at least one fourth angle step.
12. The method for acquiring calibration data according to claim 2, characterized in that, The method further includes: The second angle sequence and the third angle sequence share at least one common relative angle.
13. The method for acquiring calibration data according to claim 12, characterized in that, The second angle sequence and the third angle sequence share at least one common relative angle, including: The last relative angle in the second angle sequence is the same relative angle as the first relative angle in the third angle sequence.
14. The method for acquiring calibration data according to claim 1, characterized in that, The method further includes: If the number of rotations of the rotating component controlled by the rotation strategy reaches the preset number of rotations, a prompt message is output to indicate that the calibration data acquisition has failed.
15. The method for acquiring calibration data according to claim 1, characterized in that, The method further includes: Based on the calibration data, calculate the calibration parameters; Based on the calibration parameters, the scanner's intrinsic parameters, extrinsic parameters, and axis parameters are calibrated.
16. A calibration data acquisition system, characterized in that, The calibration data acquisition system includes: A scanner, comprising a rotatable scanning head and a platform; the scanning head is used to acquire an image corresponding to a scanned object mounted on the platform; the platform is used to carry the scanned object and carry the scanned object to change different postures; A computer device for performing the calibration data acquisition method as described in any one of claims 1 to 15.
17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one instruction, which, when executed by a processor, implements the calibration data acquisition method as described in any one of claims 1 to 15.