Method, device, apparatus and medium for controlling three-dimensional scanning

The method automates 3D scanning by generating optimal viewpoints from object models, aligning point cloud data, and converting to executable commands, addressing inefficiencies in existing manual and calibration-dependent methods.

DE102026105883A1Pending Publication Date: 2026-04-02SHINING3D TECHNOLOGY GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2026-02-12
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Existing automated 3D scanning processes rely heavily on operator experience for scan path planning and require cumbersome calibration methods, leading to inefficient and inaccurate scanning of complex objects.

Method used

A method that generates optimal scan viewpoints based on a predefined object model, automatically aligns single-image point cloud data with the model, and converts these viewpoints into executable commands, eliminating the need for manual intervention and custom fixtures.

Benefits of technology

Enables fast, accurate, and flexible scanning of complex objects with improved automation, scan quality, and expanded application range by using geometric relationships and spatial transformations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present disclosure provides a method for controlling three-dimensional scanning, applicable in the field of three-dimensional scanning technology. It involves generating and evaluating the geometric relationship of candidate viewpoints based on a predefined model of the object to be scanned. This replaces manual adjustments with objective, optimal viewpoint planning, thereby ensuring controllable scan quality from the source. The single-image point cloud data acquired during the scan's initialization phase are then automatically aligned with the preset model to directly calculate the precise positional relationship between the scanning device and the object. This step eliminates the need for cumbersome calibration plate photography and reliance on custom-made clamping devices, enabling fast, accurate, and flexible initial calibration and positioning.The positional relationship determined in the previous steps is then used as a bridge for spatial transformation, automatically converting the optimal viewpoints planned in the preset coordinate system into directly executable physical control commands in the scanning device's coordinate system. The entire process requires no human intervention to control the scanning device and perform high-quality, automated scanning.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL AREA

[0001] The present disclosure relates to the field of three-dimensional scanning technology for components, in particular a method, a device, an apparatus and a medium for controlling three-dimensional scanning. STATE OF THE ART

[0002] High-precision, three-dimensional scanning technology is currently of crucial importance in various fields. For objects with complex structures, the ability to quickly, comprehensively, and accurately capture their three-dimensional surface data is essential for the accuracy of subsequent analysis, manufacturing, or quality control processes.

[0003] In existing automated 3D scanning processes, the planning of the scan path by the scanning devices is typically either heavily dependent on the operator's experience during manual teach-in or based on simple rules. The operator must manually define a series of scan viewpoints or a rough scan path based on the general shape of the object to be scanned. Simultaneously, establishing the precise positional relationship between the scanning device and the object during the scan initialization phase usually requires complex photography and calculations using special calibration plates to ensure the object is in the expected starting position.

[0004] The aforementioned state-of-the-art method suffers from a low degree of automation, leading to inefficient scanning and compromised scan quality assurance. Planning the viewpoint based on human experience is not only time-consuming and laborious but can also easily result in scan blind spots due to human error or insufficient expertise. Manually defined scan paths cannot intelligently adapt to the geometric features of complex objects. Furthermore, calibration and positioning methods based on calibration plates or custom-made clamping devices are cumbersome, require lengthy setup times, and lack flexibility. This significantly limits the scanning efficiency and the application range of scanning devices. CONTENT OF THE PRESENT DISCLOSURE

[0005] To remedy or at least partially solve the aforementioned technical problems, the present disclosure provides a method, a device, a apparatus and a medium for controlling three-dimensional scanning.

[0006] One embodiment of the present disclosure provides a method for controlling three-dimensional scanning, comprising the following: First, the geometric relationship of the candidate viewpoints (such as the shooting distance and the angle between the optical axis and the normal) is generated and evaluated based on a predefined model of the object to be scanned. This replaces subjective, experience-based manual adjustments with objective, optimal viewpoint planning, ensuring controllable scan quality from the source. The single-image point cloud data acquired during the scan's initialization phase are then automatically aligned with the preset model to directly calculate the precise positional relationship between the scanning device and the object. This step eliminates cumbersome calibration plate photography and the reliance on custom-made clamping devices, enabling fast, accurate, and flexible initial calibration and positioning.Based on this, the positional relationship determined in the previous steps is used as a bridge for spatial transformation, automatically converting the optimal viewpoints planned in the preset coordinate system into directly executable physical control commands in the scanner's coordinate system. Ultimately, the entire process requires no human intervention to control the scanner and perform high-quality, automated scanning. This improves the automation, scan quality, scan efficiency, and flexibility of three-dimensional scanning, thus expanding the application range of scanners.

[0007] The present disclosure further provides a device for controlling three-dimensional scanning, comprising the following: A first generation unit configured to generate multiple candidate viewpoints based on a preset model of an object to be scanned, and calculating a geometric relationship between each candidate viewpoint and the respective points on the surface of the object, wherein the geometric relationship includes the recording distance and the angle between the surface normal of the object and the direction of the optical axis of the camera emanating from the candidate viewpoint; A determination unit configured to determine the target scan viewpoint using the geometric relationship and multiple candidate viewpoints; A capture unit configured to align the single-image point cloud data of the object to be scanned with the predefined model in order to determine the positional relationship between the scanning device and the object to be scanned; A transformation unit configured to transform the target scan viewpoint in the coordinate system of the predefined model into the control viewpoint in the coordinate system of the scanning device, based on the positional relationship; A second generation unit configured to generate an operating command based on the control viewpoint, the operating command being used to control the scanning device during the execution of three-dimensional scanning operations. One embodiment of the present disclosure further provides a computing device comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to read the executable instructions from the memory and execute the instructions to implement the method for controlling three-dimensional scanning provided for in the present disclosure. One embodiment of the present disclosure further provides a computer-readable storage medium that stores a computer program, wherein the computer program is configured to execute the method for controlling the three-dimensional scanning provided for in the present disclosure. BRIEF DESCRIPTION OF THE DRAWING

[0008] With reference to the drawings and the following specific embodiments, the above-mentioned and other features, advantages, and aspects of the embodiments described in this disclosure will become clearer. In the drawings, identical or similar elements are identified by identical or similar reference numerals. It is understood that the drawings are schematic and that components and elements are not necessarily drawn to scale. Fig. Figure 1 is a flowchart of a method for controlling three-dimensional scanning, which is provided according to an embodiment of the present disclosure; Fig. Figure 2 is a schematic structural representation of a device for controlling three-dimensional scanning, which is provided according to an embodiment of the present disclosure; Fig. Figure 3 is a schematic structural representation of a computing device provided according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0009] The embodiments of the present disclosure are now described in more detail with reference to the drawings. Although certain embodiments of the present disclosure are illustrated in the drawings, it should be understood that the present disclosure can be implemented in various forms and is not to be understood as limited to the embodiments described here. Rather, these embodiments are provided to enable a more thorough and complete understanding of the present disclosure. It is understood that the drawings and embodiments of the present disclosure are only exemplary and do not serve to limit the scope of protection of the present disclosure.

[0010] It is understood that the various steps described in the method descriptions of this disclosure may also be carried out in a different order and / or in parallel. Furthermore, the method descriptions may include additional steps and / or omit the execution of the steps shown. The scope of this disclosure is not limited in this respect.

[0011] The terms “include” and their variants used herein constitute an open inclusion and mean “including, but not limited to.” The term “based on” means “at least partially based on.” The term “one embodiment” means “at least one embodiment”; the term “another embodiment” means “at least one further embodiment”; the term “some embodiments” means “at least some embodiments.” Relevant definitions for other terms are given in the following description.

[0012] It should be noted that the terms mentioned in this disclosure, such as "first", "second", etc., are used solely to distinguish between different devices, modules, or units. They do not serve to restrict the sequence of functions performed by these devices, modules, or units or their mutual dependencies.

[0013] It should be noted that the modifiers “one” and “several” mentioned in the present disclosure are illustrative rather than limiting. Experts in this field will understand that, unless expressly stated otherwise in the context, these should be interpreted as “one or more”.

[0014] The names of the messages or information exchanged between several devices in the embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0015] High-precision, three-dimensional scanning technology is currently of crucial importance in various fields. For objects with complex structures, the ability to quickly, comprehensively, and accurately capture their three-dimensional surface data is essential for the accuracy of subsequent analysis, manufacturing, or quality control processes.

[0016] In existing automated 3D scanning methods, the planning of the scan path (i.e., determining the scanner's observation positions and angles in space, also known as viewpoints) by the scanning equipment is typically either heavily dependent on the operator's experience during manual teach-in or based on simple rules. The operator must manually define a series of scan viewpoints or a rough scan path based on the general shape of the object to be scanned. Simultaneously, establishing the precise positional relationship (i.e., hand-eye calibration and initial object positioning) between the scanning device and the object during the scan initialization phase usually requires elaborate photography and calculations using specialized calibration plates to ensure the object is in the expected starting position.However, the aforementioned prior art method suffers from a low degree of automation, resulting in inefficient scanning and compromised scan quality assurance. Planning the viewpoint based on human experience is not only time-consuming and laborious but can also easily lead to scan blind spots due to human error or insufficient expertise. Manually defined scan paths cannot intelligently adapt to the geometric features of complex objects (such as deep holes, depressions, and other structures prone to self-occlusion). Furthermore, calibration and positioning methods based on calibration plates or custom-made fixtures are cumbersome, require lengthy setup times, and lack flexibility. This significantly limits the scanning efficiency and the applicability of scanning devices.

[0017] In light of this, the present application provides a method for controlling three-dimensional scanning. First, the geometric relationship of the candidate viewpoints (such as the scanning distance and the angle between the optical axis and the normal) is generated and evaluated based on a predefined model of the object to be scanned. This replaces subjective, experience-based manual adjustments with objective, optimal viewpoint planning, thereby ensuring controllable scan quality from the source. The single-image point cloud data acquired during the scan's initialization phase are then automatically aligned with the preset model to directly calculate the precise positional relationship between the scanning device and the object.This step eliminates the need for cumbersome calibration plate photography and custom-made clamping devices, enabling fast, accurate, and flexible initial calibration and positioning. Based on this, the positional relationship determined in the previous steps serves as a bridge for spatial transformation, automatically converting the optimal viewpoints planned in the preset coordinate system into directly executable physical control commands within the scanner's coordinate system. Ultimately, the entire process requires no human intervention to control the scanner and perform high-quality, automated scanning. This improves the automation, scan quality, scan efficiency, and flexibility of 3D scanning, thereby expanding the application range of scanners.

[0018] The following section describes the procedure in conjunction with specific examples of its implementation.

[0019] Fig. Figure 1 is a schematic flowchart of a method for controlling three-dimensional scanning, as provided by an embodiment of the present disclosure. The method can be executed by a device for controlling three-dimensional scanning, wherein the device can be implemented in software and / or hardware and can typically be integrated into a computing device. As shown in Figure 1, the method can be carried out by a device for controlling three-dimensional scanning. The device can be implemented in software and / or hardware and can typically be integrated into a computing device. Fig. As shown in 1, the procedure includes the following: S101. Generating multiple candidate viewpoints based on a predefined model of the object to be scanned and calculating the geometric relationship between each candidate viewpoint and the respective points on the surface of the object.

[0020] The computing device can capture the predefined model of the scanned object. In this example, the predefined model can be represented, for instance, by a CAD (Computer-Aided Design) model. This is for illustrative purposes only and does not represent a limitation.

[0021] The computing device can generate multiple candidate viewpoints from the CAD model of the object to be scanned and then calculate a geometric relationship between each candidate viewpoint and the respective points on the object's surface. This geometric relationship can include the scanning distance and the angle between the object's surface normal and the direction of the camera's optical axis originating from the candidate viewpoint. Each candidate viewpoint represents a potential position of the scanning device (e.g., a binocular camera) in three-dimensional space. Its geometric relationship to the respective points on the object's surface primarily comprises two important parameters: First, the scanning distance, which specifies the Euclidean distance from the candidate viewpoint to a particular point on the object's surface and is used to evaluate scan sharpness.Secondly, the angle between the object's surface normal and the direction of the camera's optical axis originating from the candidate viewpoint. This angle reflects the orientation of the recording direction relative to the surface perpendicular and directly influences the quality of the scan data.

[0022] In some possible implementations, the computing device can divide the CAD model into areas based on the type of CAD model of the object to be scanned, thereby generating a number of candidate viewpoints corresponding to the type of CAD model.

[0023] This means the computing device can identify the geometric type of the CAD model (e.g., cylinder, planar solid, and complex freeform surface, etc.) and then, based on type-specific features (e.g., axial symmetry and continuous surfaces for cylinders), invoke predefined strategies to subdivide the CAD model surface into multiple sub-areas (e.g., by grid subdivision along the axial and circumferential directions). It then generates a number of candidate viewpoints corresponding to the complexity of the model type (e.g., more viewpoints can be generated for complex CAD models to cover details, while the number is optimized for simpler CAD models to improve efficiency). This ensures both scan coverage and accuracy while significantly optimizing computing resources for path planning.

[0024] S102. Determine, using the geometric relationship and several candidate viewpoints, the target scan viewpoint.

[0025] The computing device can determine the target scan viewpoint using the geometric relationship and multiple candidate viewpoints.

[0026] In some possible implementations, the computing device can calculate a score for each candidate point based on the recording distance and the angle between the object's surface normal and the direction of the camera's optical axis originating from the candidate viewpoint. It then determines the target area corresponding to the initial target scan viewpoint based on these scores, traverses the scan viewpoints within the target area, and identifies the target scan viewpoint.

[0027] In some possible implementations, calculating the score for each candidate point may specifically involve the computing device subdividing the scan area and the background area of ​​the CAD model, calculating the scanning distance from each candidate viewpoint to the object's surface and the angle between the object's surface normal and the direction of the camera's optical axis, thereby determining the respective base score for each candidate point. The scan beam for each candidate viewpoint can then be determined. The path length traveled by the scan beam through the background area is calculated to determine the respective background occlusion score for each candidate point. Finally, the base score and the background occlusion score for the same candidate viewpoint can be weighted and summed to determine the score for each candidate point.

[0028] For example, the computing device can preprocess the CAD model and delineate the scan area from the background. Based on this, the computing device can initiate the scoring process for each generated candidate viewpoint. This part can include a weighted sum of two core elements: First, the base score, which is calculated based on the scanning distance from each candidate viewpoint to the object's surface and the angle between the object's surface normal and the direction of the camera's optical axis. The scanning distance must be within the scanner's optimal working range, while a smaller angle generally indicates that the scan beam is nearly perpendicular to the object's surface, facilitating the capture of more precise three-dimensional data. Consequently, these parameters are quantified as the base score for a positive contribution.Secondly, there is the background occlusion score. Using ray-tracing algorithms, the computing device can simulate the scan beam emitted by the candidate viewpoint and precisely calculate the path length of the scan beam through the background area before it reaches the scan area. The longer the path, the greater the risk of background noise or occlusion during the scan, and the lower the corresponding background occlusion score. Finally, the computing device can add the base score and the background occlusion score for the same candidate viewpoint, weighted according to predefined weights, thus determining a total score for that candidate viewpoint. In this way, the score for each candidate viewpoint can be determined.This quantifies the scanning distance and the angle between the object's surface normal and the camera's optical axis to generate a base score. It ensures that each viewpoint meets optimal optical capture conditions (i.e., the scan viewpoint lies within the 3D scanner's optimal working area, and the camera's optical axis is as parallel as possible to the object's surface normal, meaning the angle between them is as small as possible, close to 0 degrees). This guarantees the geometric accuracy of the point cloud data right from the source. By using the ray tracing algorithm to calculate the scan beam's path length through the background as a background occlusion score, the computational device gains the ability to work around occlusion disturbances.This significantly improves scan success rates and robustness under complex operating conditions. Dynamically weighing different dimensions of the scores using weighted summation achieves a compromise between scan quality and efficiency. Furthermore, by converting multidimensional influencing factors into computable optimization goals, the computing device possesses the capability for automated viewpoint planning, precise path planning, and occlusion handling.

[0029] In some possible implementations, the computing device can determine the target area that corresponds to the initial target scan viewpoint with the highest score.

[0030] The computing device can divide the surface of the object into several scan sub-areas based on the geometric curvature properties of the CAD model and define the sub-area covered by the initial target scan viewpoint as the target area.

[0031] For example, the computing device can analyze the geometric curvature properties of the CAD model. These properties are important mathematical characteristics that describe the degree of curvature of a surface. By calculating the geometric properties at every point on the model's surface, planar, convex, and concave areas and edges, as well as other areas with significant geometric changes, can be identified. Based on these curvature properties, the entire surface of the object can be divided into multiple scan sub-areas. For instance, continuous surfaces with gradual changes in curvature can be divided into larger sub-areas, while areas with complex depressions or sharp edges can be divided into smaller, finer sub-areas. This ensures that these critical details are fully captured during subsequent scanning.After the area subdivision is complete, the computing device identifies the specific sub-area covered by the initial target scan viewpoint with the highest score—previously defined during global viewpoint planning—as the target area. This initial viewpoint can be considered a high-quality scan starting point due to its highest overall score in terms of acquisition distance, angle between the optical axis and the normal, background occlusion, and other factors. Designating the area it covers as the target area means that subsequent optimization efforts will focus on this most promising local region.

[0032] This combines global optimality with local optimization. Subdividing the scan areas according to the geometric curvature properties of the CAD model allows for capturing the object's geometric complexity and targeted processing. Defining the sub-area covered by the initial target scan viewpoint as the target area enables a more intensive traversal of candidate viewpoints and iterative optimization within the target area (e.g., increasing viewpoint density for identified self-obscuring structures). This significantly improves scan coverage and accuracy for complex feature areas while maintaining scan efficiency.

[0033] In some possible implementations, iterating through the candidate viewpoints within the target area to determine the specific target scan viewpoint may specifically involve identifying the self-obscuring structures present within the target area, iteratively increasing the density of candidate viewpoints within the target area based on these self-obscuring structures, calculating the scores of all current candidate viewpoints and determining the expected coverage of the object's surface in each iteration until the expected coverage reaches a preset threshold, and then selecting the candidate viewpoint with the highest score from the last iteration as the final target scan viewpoint.

[0034] For example, the computing device can identify self-obscuring structures present within the preliminary target area. Self-obscuring structures refer to situations where, due to irregularities, deep holes, or complex contours of the object's surface, even scanning from certain candidate viewpoints causes specific parts of the object to block the scan beam. This prevents the surface area behind or to the side from being captured, creating a scan blind zone. Once the self-obscuring structures have been identified, the computing device can initiate an iterative optimization algorithm. This algorithm iteratively increases the density of candidate viewpoints within the target area based on the self-obscuring structures.This means that a larger number of candidate viewpoints are dynamically and selectively generated around the identified occlusion areas or at specific angles to find new viewpoints that can circumvent occlusions and effectively cover the blind zone. With each iteration, the algorithm can calculate scores for all current candidate viewpoints (including newly added ones). These scores take into account factors such as the acquisition distance, the angle between the surface normal and the optical axis, and background occlusion. Simultaneously, based on the current set of candidate viewpoints, the algorithm determines the expected coverage of the object surface using techniques such as ray projection. This corresponds to the estimated percentage of the object surface that these candidate viewpoints can capture.This iterative loop continues until the expected coverage reaches a preset threshold. This threshold represents a predefined quality target that experts in the field can set in advance according to requirements, e.g., a surface coverage of 99.5%. Once this condition is met, the iteration ends. The viewpoint with the highest score from the last iteration is set as the final target scan viewpoint.

[0035] S103, Aligning the single-image point cloud data of the object to be scanned with the preset model to determine the positional relationship between the scanning device and the object to be scanned.

[0036] The computing device can align the single-image point cloud data of the object to be scanned with the CAD model in order to determine the positional relationship between the scanning device and the object to be scanned.

[0037] In some possible implementations, the single-image point cloud data represents the point cloud data of the first image, acquired during the scan's initialization phase. The computing device can perform a registration between the point cloud data of the first image and the CAD model to determine the positional relationship of the object to be scanned within the scanner's coordinate system.

[0038] The core objective of this process is to establish a precise spatial position and orientation relationship—namely, the positional relationship—between the scanning device and the object being scanned. For example, during the initialization phase of a scan task, the scanning device can first acquire single-image point cloud data of the object to be scanned. This data typically refers specifically to the point cloud data of the first image acquired during the scan initialization phase. The point cloud data of this image comprises a three-dimensional spatial set of points representing portions of the surface of the object being scanned within the scanning device's coordinate system. The processing unit can then perform a registration between this point cloud data of the first image and a pre-imported ideal digital model located within the coordinate system of the CAD model.This registration process can be achieved using point cloud registration algorithms such as the Iterative Closest Point (ICP) algorithm. The core principle is to compute an optimal spatial transformation matrix that aligns the point cloud of the initial image and the CAD model in an optimal state of correspondence within three-dimensional space. The optimal spatial transformation matrix obtained through the aforementioned registration operation precisely characterizes the positional relationship of the object to be scanned within the coordinate system of the scanning device. This positional relationship explicitly defines the relative position and orientation between the coordinate system of the CAD model and the coordinate system of the scanning device.

[0039] Consequently, the present application enables automatic alignment of the initial positions, thus eliminating the dependence on custom-made clamping devices required in conventional methods. The direct three-dimensional registration between a single-image point cloud and the CAD model not only improves calibration accuracy but also robustness against deviations in object placement and increases operational flexibility.

[0040] S104: Transform, based on the positional relationship, of the target scan viewpoint in the coordinate system of the predefined model into the control viewpoint in the coordinate system of the scan device.

[0041] Based on the positional relationship, the computing device can transform the target scan viewpoint in the coordinate system of the CAD model into the control viewpoint in the coordinate system of the scanning device.

[0042] For example, the positional relationship is the spatial transformation matrix, which is determined in step S103 by registering the point cloud data of the first image with the CAD model. This matrix precisely defines the mathematical relationship between the coordinate system of the CAD model and the coordinate system of the scanning device. That is, it includes a translation vector, which allows the origin of the model's coordinate system to be moved to the origin of the device's coordinate system, and a rotation matrix, which allows the axis directions of the model's coordinate system and the axis directions of the device's coordinate system to be aligned with each other by rotation. Based on this positional relationship, the computing device can perform coordinate transformations. The basic principle is to apply the inverse operation of the spatial transformation matrix.The individual steps are as follows: The coordinate data for each target scan viewpoint, calculated within the CAD model's coordinate system (where the viewpoint's position can be represented by three-dimensional coordinates and orientation), are multiplied by the inverse transformation matrix corresponding to the positional relationship. This mathematical operation precisely transforms the scan viewpoint's positional and orientation information from the virtual coordinate system centered on the object model to the scan device's coordinate system, based on the scan device's physical location. The scan viewpoint obtained after this transformation becomes the control viewpoint. The control viewpoint represents a physical positional instruction that the scan device (e.g., a robotic arm) can directly understand and execute.It serves to specify the exact position that the scanner should reach in real three-dimensional space, as well as the orientation of its optical lens.

[0043] This enables a seamless transition from idealized path planning based on CAD models to physically executable actions in the real world. Precise coordinate transformation ensures that the optimal scan angle planned in the virtual environment can be reproduced with high accuracy in the real environment. This provides accurate inputs for generating the final operating command to control the coordinated movement of the scanning device.

[0044] S105: Generating an operating command based on the control viewpoint.

[0045] The computing device can generate an operating command based on the control point. This operating command can then be used to control the scanning device during the execution of three-dimensional scanning operations. Such a scanning device can include a turntable and a robotic arm.

[0046] For example, the computing device can use operating commands to control the turntable when performing rotational operations on the object, to control the robot arm when performing scanner movements, and to adjust the motion parameters of the turntable and robot arm based on the CAD model features. An operating command is a digitized set of commands generated from the control viewpoints obtained in the preceding steps. The computing device can use these commands to control different hardware units within the scanning device so that they operate in a coordinated manner.

[0047] For example, the turntable can be controlled to perform rotational operations on the object: a command directs the turntable to rotate around its axis by a specific angle, thereby changing the spatial orientation of the object it supports and is to be scanned. This process presents the scanner with different facets of the object in succession. This ensures comprehensive surface coverage, which is particularly advantageous for data acquisition along the object's circumference.

[0048] Controlling the robot arm to execute scanner movements: a command directs the robot arm, equipped with a 3D scanner, so that its end effector (i.e., the scanner) moves precisely to the predefined position of the control viewpoint. The flexible, multi-degree-of-freedom movement of the robot arm allows the scanner to align itself with the object from optimal angles and distances, particularly for detailed scanning of complex structures or areas requiring specific viewing angles.

[0049] It is important to note that the operating commands are generated based on the CAD model features to adjust the motion parameters of the turntable and the robot arm. This means that the computing device can analyze the geometric features of the CAD model (such as dimensions, curvature distribution, the presence of deep holes or thin walls, etc.) and dynamically adjust the motion parameters accordingly. For example, with large objects, the turntable can be controlled to rotate in smaller increments to ensure sufficient overlap between adjacent scan areas; in areas with drastic changes in surface curvature, the robot arm can be controlled to move more slowly and smoothly, or the density of control viewpoints can be increased in that area to ensure the quality of the scan data.

[0050] Intelligent adjustments based on CAD model features enable not only a highly efficient collaborative scanning strategy between the turntable and the robot arm, but also adaptive adjustment to the geometric properties of different objects. Scan accuracy is maintained while scan efficiency and path smoothness are optimized. This significantly improves the degree of automation, robustness, and application range of the entire 3D scanning process.

[0051] In this embodiment, candidate viewpoints are generated based on the CAD model of the object to be scanned. The acquisition distance and the angle between the object's surface normal and the camera's optical axis are also calculated. By determining the target scan viewpoint using weighted base point scores and background occlusion point scores, the geometric accuracy of the point cloud data is ensured from the source. Simultaneously, the ability to circumvent occlusion disturbances is available. This significantly improves scan success rates and robustness under complex operating conditions. The density of candidate viewpoints is iteratively increased by subdividing the scan areas and processing self-occluding structures. This ensures that the expected coverage of the object surface reaches a preset threshold.This improves scan coverage and accuracy for complex feature areas. By aligning the single-image point cloud data with the CAD model, the positional relationship is determined via registration. This eliminates the need for custom-made clamping fixtures. This increases calibration accuracy and simultaneously improves robustness against deviations in object placement as well as operational flexibility. By converting the target scan viewpoint into a control viewpoint based on the positional relationship, it is ensured that the optimal viewing angle from the virtual design is reproduced with high precision in the real environment. Finally, an operating command is generated based on the control viewpoint to control the coordinated movement of the turntable and the robot arm.By adjusting the motion parameters based on the CAD model features, an efficient collaborative scanning strategy is achieved, enabling adaptive adjustment to the geometric properties of different objects. Scan accuracy is maintained while scan efficiency and path smoothness are optimized. This significantly improves the degree of automation, robustness, and application range of the entire 3D scanning process.

[0052] To implement the above embodiments, the present disclosure further proposes a device for controlling the three-dimensional scanning.

[0053] Fig. Figure 2 is a schematic structural representation of a device for controlling three-dimensional scanning, which is provided according to an embodiment of the present disclosure, wherein the device can be implemented in software and / or hardware and can usually be integrated into a computing device. As in Fig. As shown in 2, the device includes the following: A first generation unit 200 configured to generate multiple candidate viewpoints based on a preset model of an object to be scanned, and to calculate a geometric relationship between each candidate viewpoint and the respective points on the surface of the object, wherein the geometric relationship includes the recording distance and the angle between the surface normal of the object and the direction of the optical axis of the camera emanating from the candidate viewpoint; A determination unit 210 configured to determine the target scan viewpoint using the geometric relationship and multiple candidate viewpoints; A 220 acquisition unit configured to align the single-image point cloud data of the object to be scanned with the predefined model in order to determine the positional relationship between the scanning device and the object to be scanned; A transformation unit 230 configured to transform the target scan viewpoint in the coordinate system of the predefined model into the control viewpoint in the coordinate system of the scan device based on the positional relationship; A second generation unit 240, configured to generate an operating command based on the control viewpoint, the operating command being used to control the scanning device during the execution of three-dimensional scanning operations.

[0054] In some possible implementations, the destination unit is specifically configured to perform the following steps: Calculating a score for each candidate point based on the shooting distance and angle; Determining the target area that corresponds to the initial target scan viewpoint, based on the scores; Passing through the scan viewpoints within the target area to determine the target scan viewpoint.

[0055] In some possible implementations, the destination unit is specifically configured to perform the following steps: Subdividing the scan area and the background area of ​​the preset model; Calculating the recording distance from each candidate viewpoint to the surface of the object and the angle between the surface normal of the object and the direction of the optical axis of the camera in order to determine the respective base score for each candidate point; Determining the scan beam for each candidate viewpoint, calculating the path length traveled by the scan beam through the background area to determine the respective background occlusion point count for each candidate point;

[0056] Weighting and summing the base score and the background obscuration score for the same candidate viewpoint determines the score for each candidate viewpoint.

[0057] In some possible implementations, the destination unit is specifically configured to perform the following steps: Subdividing the surface of the object into several scan sub-areas based on the geometric curvature properties of the predefined model and defining the sub-area covered by the initial target scan viewpoint as the target area; Identifying self-concealing structures that are present within the target area; Iteratively increasing the density of candidate viewpoints within the target area based on the self-obscuring structures; wherein in each iteration the scores of all current candidate viewpoints are calculated and the expected coverage of the object's surface is determined until the expected coverage reaches a preset threshold, and the candidate viewpoint with the highest score from the last iteration is set as the final target scan viewpoint.

[0058] In some possible implementations, the single-image point cloud data represents the point cloud data of the first image, acquired during the scan's initialization phase. The acquisition unit is specifically configured to perform the following steps: Determine, based on registering the point cloud data of the first image with the preset model, the positional relationship of the object to be scanned within the coordinate system of the scanning device.

[0059] In some possible implementations, the first generation unit is specifically configured to perform the following steps: Dividing the preset model into areas based on the type of the preset model of the object to be scanned and generating a number of candidate viewpoints corresponding to the type.

[0060] In some possible implementations, the scanning device includes a turntable and a robotic arm. The device further includes the following: A control unit configured to control the turntable during rotation operations of the object using operating commands, to control the robot arm during scanner movements, and to adjust the motion parameters of the turntable and robot arm based on predefined model features. A device for controlling three-dimensional scanning, provided according to an embodiment of the present disclosure, can execute the method for controlling three-dimensional scanning, provided according to one of the embodiments of the present disclosure, and has the corresponding functional modules and advantageous effects for carrying out the method.

[0061] To implement the above-mentioned embodiments, this disclosure further proposes a computer program product, including a computer program / instruction which, when executed by a processor, implements the method for controlling the three-dimensional scanning in the above-mentioned embodiments.

[0062] Fig. Figure 3 is a schematic structural representation of a computing device provided according to an embodiment of the present disclosure.

[0063] With reference to Fig. Figure 3 shows a schematic structural representation of a computing device 300 suitable for implementing embodiments of the present disclosure. The computing device 300 in an embodiment of the present disclosure can, but is not limited to, include mobile devices such as mobile phones, laptops, digital radio receivers, PDAs (Personal Digital Assistants), PADs (tablets), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as stationary devices such as digital televisions and desktop computers. The Fig. The computing device shown in Figure 3 is merely an example and should not impose any limitations regarding the functionality or scope of the embodiments of the present disclosure.

[0064] As in Fig. As shown in Figure 3, the computing device 300 can include a processor (e.g., a central processing unit, a graphics processing unit, etc.) 301, which can perform various suitable actions and processing based on programs stored in a read-only memory (ROM) 302 or loaded from a memory 308 into a random-access memory (RAM) 303. Various programs and data required for the operation of the computing device 300 are also stored in the RAM 303. The processor 301, the ROM 302, and the RAM 303 are interconnected via a bus 304. The input / output interface (I / O interface) 305 is also connected to the bus 304.

[0065] Typically, the following devices can be connected to the I / O interface 305: input devices 306, which include, for example, a touchscreen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 307, which include, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 308, which include, for example, magnetic tape, hard disk, etc.; and a communication device 309. The communication device 309 enables the computing device 300 to communicate wirelessly or via cable with other devices for data exchange. Fig. Since Figure 3 depicts the computing device 300 with various devices, it should be clear that the implementation or inclusion of all depicted devices is not required. Alternatively, more or fewer devices can be implemented or included.

[0066] In particular, according to one embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, one embodiment of the present disclosure comprises a computer program product containing a computer program stored on a non-transient, computer-readable medium, wherein the computer program contains program code for executing the method illustrated in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication device 309 or installed from memory 308 or from ROM 302. When executed by the processor 301, this computer program performs the functions mentioned above, which are defined in the method for controlling three-dimensional scanning according to one embodiment of the present disclosure.

[0067] It should be noted that the computer-readable medium described in the present disclosure can be a computer-readable signaling medium, a computer-readable storage medium, or any combination of both. Computer-readable storage media can, without limitation, include, for example, electrical, magnetic, optical, electromagnetic, infrared, or semiconducting systems, devices, or equipment, or any combination thereof.More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection with one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any physical medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, device, or apparatus.In the present disclosure, a computer-readable signaling medium may comprise a data signal transmitted in the baseband or as part of a carrier wave and carrying computer-readable program code. Such a transmitted data signal may take various forms, including, but not limited to, an electromagnetic signal, an optical signal, or any suitable combination thereof. A computer-readable signaling medium may also be any computer-readable medium other than a computer-readable storage medium, provided that the computer-readable signaling medium is capable of transmitting, propagating, or disseminating a program for use by or in conjunction with an instruction execution system, device, or apparatus. Program code stored on a computer-readable medium may be transmitted via any suitable medium, including, but not limited to, cables, optical fibers, radio frequencies (RF), etc.or any suitable combination thereof.

[0068] In some implementations, the client and server can communicate using any currently known or future network protocol, such as HTTP (Hypertext Transfer Protocol), and connect to digital data communication (e.g., communication networks) of any form or on any medium. Examples of communication networks include local area networks (LANs), wide area networks (WANs), internet networks (such as the internet), and peer-to-peer networks (e.g., ad-hoc peer-to-peer networks), as well as any other currently known or future networks.

[0069] The aforementioned computer-readable medium may be integrated into the aforementioned computing device; alternatively, it may exist separately and not be built into the computing device.

[0070] The aforementioned computer-readable medium carries one or more programs which, when executed by the computing device, cause the computing device to execute the aforementioned method for controlling three-dimensional scanning.

[0071] The computing device may be programmed in one or more programming languages, or combinations thereof, to execute computer program code for performing the operations of this disclosure. The programming languages ​​mentioned above include, but are not limited to, object-oriented programming languages—such as Java, Smalltalk, and C++—as well as conventional procedural programming languages—such as C or similar programming languages. The program code may be executed entirely on the user computer, partially on the user computer, as a standalone software package, partially on the user computer and partially on a remote computer, or entirely on a remote computer or server. If remote computers are involved, they may be connected to the user computer via any type of network—including local area networks (LANs) or wide area networks (WANs)—or be connected to external computers (e.g.,via the Internet using an Internet service provider).

[0072] The flowcharts and block diagrams in the drawings illustrate possible implementations of architecture, functionality, and operations according to the systems, methods, and computer program products in various embodiments of the present disclosure. In this sense, each box in a flowchart or block diagram can represent a module, a program segment, or a portion of code containing one or more executable instructions for implementing a particular logical function. It should also be noted that in some alternative implementations, the functions labeled in the boxes may occur in a different order than shown in the drawings. For example, two boxes shown consecutively may actually be executed essentially in parallel and sometimes in reverse order, depending on the functions involved.It should also be noted that each box in the block diagram and / or flowchart, as well as combinations of boxes in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or by a combination of dedicated hardware and computer instructions.

[0073] The units described in the embodiments of this disclosure can be implemented in software or in hardware. In certain cases, the designation of a unit does not constitute a limitation of the unit itself.

[0074] The functions described above in this document can be performed, at least partially, by one or more hardware logic components. For example, the following exemplary types of hardware logic components can be used without restriction: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-chips (SOCs), and complex programmable logic devices (CPLDs).

[0075] In the context of this disclosure, a machine-readable medium can be a physical medium capable of containing or storing a program for use by or in conjunction with an instruction execution system, device, or apparatus. A machine-readable medium can be a machine-readable signaling medium or a machine-readable storage medium. Machine-readable media can, without limitation, include electronic, magnetic, optical, electromagnetic, infrared, or semiconducting systems, devices, or apparatus, or any suitable combination thereof.More specific examples of machine-readable storage media include an electrical connection with one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0076] The foregoing description merely presents preferred embodiments of the present disclosure and an explanation of the underlying technical principles. Those skilled in the art will recognize that the scope of the present disclosure is not limited to technical solutions formed by specific combinations of the technical features described above, but also includes other technical solutions formed by any combination of the technical features described above or their equivalent features, without deviating from the concept disclosed above. For example, technical solutions formed by the mutual exchange of the aforementioned features with (but not limited to) technical features with similar functions disclosed in the present disclosure.

[0077] Although the operations are described in a specific order, this should not be interpreted as requiring that these operations be performed in the specific order shown or in sequential order. Multitasking and parallel processing may be advantageous under certain circumstances. Likewise, several specific implementation details included in the preceding discussion should not be interpreted as limiting the scope of this disclosure. Certain features described in connection with separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in connection with a single embodiment may also be implemented individually or in any suitable subsets in multiple embodiments.

[0078] Although the subject matter has been described using language specific to structural features and / or methodological logical operations, it should be understood that the subject matter defined in the attached claims is not necessarily limited to the specific features or operations described above. Rather, the specific features and operations described above merely represent exemplary forms of claim realization.

Claims

[1] Method for controlling three-dimensional scanning, characterized by , that it includes the following: Generating multiple candidate viewpoints from a preset model of an object to be scanned, calculating the geometric relationship between each candidate viewpoint and respective points on the surface of the object; wherein the geometric relationship includes the recording distance and the angle between the surface normal of the object and the direction of the optical axis of the camera originating from the candidate viewpoint; Determine, using the geometric relationship and several candidate viewpoints, the target scan viewpoint; Aligning the single-image point cloud data of the object to be scanned with the preset model to determine the positional relationship between the scanning device and the object to be scanned; Transform, based on the positional relationship, the target scan viewpoint in the coordinate system of the predefined model into the control viewpoint in the coordinate system of the scanning device; Generating an operating command is based on the control viewpoint, with the operating command being used to control the scanning device during the execution of three-dimensional scanning operations. [2] Method according to claim 1, characterized by , that determining the target scan viewpoint using the geometric relationship and multiple candidate viewpoints is comprehensive: Calculating a score for each candidate point based on the shooting distance and angle; Determining the target area that corresponds to the initial target scan viewpoint, based on the scores; Passing through the scan viewpoints within the target area to determine the target scan viewpoint. [3] Method according to claim 2, characterized by, that the procedure further includes the following: Subdividing the scan area and the background area of ​​the preset model; Calculating a score for each candidate's viewpoint based on the shooting distance and angle includes the following: Calculating the recording distance from each candidate viewpoint to the surface of the object and the angle between the surface normal of the object and the direction of the optical axis of the camera in order to determine the respective base score for each candidate point; Determining the scan beam for each candidate viewpoint, calculating the path length traveled by the scan beam through the background area to determine the respective background occlusion point count for each candidate point; Weighting and summing the base score and the background obscuration score for the same candidate viewpoint determines the score for each candidate viewpoint. [4] Method according to claim 2, characterized by , that determining the target area corresponding to the initial target scan viewpoint based on the scores includes the following: Subdividing the surface of the object into several scan sub-areas based on the geometric curvature properties of the predefined model and defining the sub-area covered by the initial target scan viewpoint as the target area; The process of scanning through the candidate viewpoints within the target area to determine the target scan viewpoint includes the following: Identifying self-obscuring structures that exist within the target area; iteratively increasing the density of candidate viewpoints within the target area based on the self-obscuring structures; wherein in each iteration the scores of all current candidate viewpoints are calculated and the expected coverage of the object's surface is determined until the expected coverage reaches a preset threshold, and the candidate viewpoint with the highest score from the last iteration is set as the final target scan viewpoint. [5] Method according to any one of claims 1 to 4, characterized by, that the single-image point cloud data represent the point cloud data of the first image acquired during the initialization phase of the scan, wherein aligning the single-image point cloud data with the preset model to determine the positional relationship between the scanning device and the object to be scanned includes the following: Registering the point cloud data of the first image with the preset model, determining the positional relationship of the object to be scanned within the coordinate system of the scanning device. [6] Method according to any one of claims 1 to 4, characterized by , that generating multiple candidate viewpoints based on a preset model of the object to be scanned includes the following: Dividing the preset model into areas based on the type of the preset model and generating a number of candidate views corresponding to the type. [7] Method according to claim 1, characterized by that the scanning device comprises a turntable and a robotic arm, the method further comprising the following: Controlling the turntable during the execution of rotation operations of the object, controlling the robot arm during the execution of movements of the scanner, and adjusting the movement parameters of the turntable and robot arm based on the predefined model features using operating commands. [8] Device for controlling three-dimensional scanning, characterized by that it includes the following: a first generation unit configured to generate multiple candidate viewpoints based on a preset model of an object to be scanned, and calculating a geometric relationship between each candidate viewpoint and the respective points on the surface of the object, wherein the geometric relationship includes the recording distance and the angle between the surface normal of the object and the direction of the optical axis of the camera emanating from the candidate viewpoint; a determination unit configured to determine the target scan viewpoint using the geometric relationship and multiple candidate viewpoints; a capture unit configured to align the single-image point cloud data of the object to be scanned with the predefined model in order to determine the positional relationship between the scanning device and the object to be scanned; a transformation unit configured to transform the target scan viewpoint in the coordinate system of the predefined model into the control viewpoint in the coordinate system of the scanning device, based on the positional relationship; a second generation unit configured to generate an operating command based on the control viewpoint, the operating command being used to control the scanning device during the execution of three-dimensional scanning operations. [9] Calculating device, characterized by , that the computing device includes the following: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to read the executable instructions from the memory and execute the instructions to implement the method for controlling three-dimensional scanning according to any one of claims 1 to 7. [10] Computer-readable storage medium, characterized by that the storage medium stores a computer program, wherein the computer program is configured to execute the method according to any one of claims 1 to 7.