Three-dimensional scanning control method, device, equipment and medium
By generating candidate viewpoints and automatically aligning them using point cloud data, the problem of low scanning efficiency and difficulty in ensuring quality caused by reliance on human experience in existing technologies is solved, enabling fast, accurate, and flexible 3D scanning and expanding the applicability of the equipment.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Filing Date
- 2026-03-06
- Publication Date
- 2026-07-14
AI Technical Summary
Existing automated 3D scanning methods rely on human experience to plan viewpoints, resulting in low scanning efficiency and difficulty in guaranteeing quality. Furthermore, calibration and positioning methods based on calibration plates or custom fixtures are cumbersome, time-consuming, and lack flexibility, thus limiting the applicability of scanning equipment.
Candidate viewpoints are generated based on the preset model of the object to be scanned. The target scanning viewpoint is determined by calculating geometric relationships. Single-frame point cloud data is automatically aligned with the preset model to directly calculate the pose relationship. This eliminates the need for cumbersome calibration board shooting and customized fixtures, achieving fast, accurate and flexible initial calibration and positioning.
It improves the automation, scanning quality, scanning efficiency and flexibility of 3D scanning, expands the scope of application of scanning equipment, and ensures that the scanning quality is controllable from the source and that it can efficiently cover complex objects.
Smart Images

Figure CN122386751A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of three-dimensional scanning technology for components, and in particular to a three-dimensional scanning control method, device, equipment and medium. Background Technology
[0002] Currently, high-precision 3D scanning technology plays a crucial role in several fields. For objects with complex structures, the ability to quickly, completely, and accurately acquire their surface 3D data is key to ensuring the accuracy of subsequent analysis, manufacturing, or quality control processes.
[0003] Existing automated 3D scanning methods typically rely heavily on operator experience for manual teaching or simple rules when planning the scanning path. Operators need to manually set a series of scanning viewpoints or a rough scanning path based on the approximate shape of the object to be scanned. Furthermore, during the scanning initialization phase, to determine the precise pose relationship between the scanning device and the object, a common practice is to use a specific calibration board for tedious imaging and calculations to ensure the object is in the expected initial position.
[0004] The problems with the aforementioned existing technologies are low automation, resulting in low scanning efficiency and difficulty in guaranteeing scanning quality. Relying on manual experience to plan the viewpoint is not only time-consuming and labor-intensive, but also prone to blind spots due to human error or lack of experience. Manually set scanning paths cannot intelligently adapt to the geometric features of complex objects. Furthermore, calibration and positioning methods based on calibration plates or custom fixtures are cumbersome, time-consuming, and lack flexibility. These limitations significantly restrict the scanning efficiency and applicability of the scanning equipment. Summary of the Invention
[0005] In order to solve the above-mentioned technical problems, or at least partially solve the above-mentioned technical problems, this disclosure provides a three-dimensional scanning control method, apparatus, device and medium.
[0006] This disclosure provides a three-dimensional scanning control method, the method comprising: First, based on a preset model of the object to be scanned, the geometric relationships of candidate viewpoints (such as shooting distance and the angle between the optical axis and the normal) are generated and evaluated. This replaces subjective and experience-based manual settings with objective and optimal viewpoint planning, ensuring that the scanning quality is controllable from the outset. Then, the single-frame point cloud data acquired during the scanning initialization phase is automatically aligned with the preset model to directly calculate the precise pose relationship between the scanning device and the object. This step eliminates the reliance on cumbersome calibration board photography and custom fixtures, achieving fast, accurate, and flexible initial calibration and positioning. Based on this, the pose relationship obtained in the preceding steps is used as a bridge for spatial transformation, automatically converting the optimal viewpoint planned in the preset coordinate system into directly executable physical control commands in the scanning device's coordinate system. Ultimately, the entire process can drive the scanning device to complete high-quality automated scanning without manual intervention. This improves the automation level, scanning quality, scanning efficiency, and flexibility of 3D scanning, increasing the applicability of the scanning device.
[0007] This disclosure also provides a three-dimensional scanning control device, the device comprising: The first generation unit is used to generate multiple candidate viewpoints based on a preset model of the object to be scanned, and to calculate the geometric relationship between each candidate viewpoint and each point on the surface of the object to be scanned. The geometric relationship includes the shooting distance and the angle between the normal of the object surface and the direction of the camera optical axis emanating from the candidate viewpoint. A determining unit is used to determine the target scanning viewpoint using the geometric relationship and the plurality of candidate viewpoints; The acquisition unit is used to align the single-frame point cloud data of the object to be scanned with the preset model to obtain the pose relationship between the scanning device and the object to be scanned. The conversion unit is used to convert the target scanning viewpoint in the preset model coordinate system into the control viewpoint in the scanning device coordinate system based on the pose relationship. The second generation unit is used to generate operation instructions based on the control viewpoint, the operation instructions being used to control the scanning device to perform a three-dimensional scanning operation.
[0008] This disclosure also provides a computing device, the computing device comprising: a processor; a memory for storing executable instructions of the processor; the processor being configured to read the executable instructions from the memory and execute the instructions to implement the three-dimensional scanning control method provided in this disclosure.
[0009] This disclosure also provides a computer-readable storage medium storing a computer program for executing the three-dimensional scanning control method provided in this disclosure. Attached Figure Description
[0010] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0011] Figure 1 A flowchart of a three-dimensional scanning control method provided in this disclosure embodiment; Figure 2 This is a schematic diagram of the structure of a three-dimensional scanning control device provided in an embodiment of the present disclosure; Figure 3 This is a schematic diagram of the structure of a computing device provided in an embodiment of the present disclosure. Detailed Implementation
[0012] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0013] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0014] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "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 additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0015] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0016] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0017] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0018] Currently, high-precision 3D scanning technology plays a crucial role in several fields. For objects with complex structures, the ability to quickly, completely, and accurately acquire their surface 3D data is key to ensuring the accuracy of subsequent analysis, manufacturing, or quality control processes.
[0019] Existing automated 3D scanning methods often rely heavily on operator experience for manual teaching or simple rules when planning the scanning path (i.e., determining the scanner's observation position and angle in space, also known as the viewpoint). Operators need to manually set a series of scanning viewpoints or a rough scanning path based on the approximate shape of the object to be scanned. Simultaneously, during the scanning initialization phase, to determine the precise pose relationship between the scanning device and the object (i.e., hand-eye calibration and initial object positioning), the common practice is to use specific calibration boards for tedious photography and calculations to ensure the object is in the expected initial position. However, the problems with these existing methods are low automation, resulting in low scanning efficiency and difficulty in guaranteeing scanning quality. Relying on manual experience to plan viewpoints is not only time-consuming and laborious but also prone to blind spots due to human error or lack of experience. Manually set scanning paths cannot intelligently adapt to the geometric features of complex objects (such as deep holes, grooves, and other structures prone to self-occlusion). Furthermore, calibration and positioning methods based on calibration boards or custom fixtures are cumbersome, time-consuming, and lack flexibility. This greatly limits the scanning efficiency and applicability of scanning equipment.
[0020] In view of this, this application provides a 3D scanning control method. First, based on a preset model of the object to be scanned, the geometric relationships of candidate viewpoints (such as shooting distance and the angle between the optical axis and the normal) are generated and evaluated. This replaces subjective, experience-based manual settings with objective and optimal viewpoint planning, ensuring controllable scanning quality from the outset. Then, the single-frame point cloud data obtained during the scanning initialization phase is automatically aligned with the preset model to directly calculate the precise pose relationship between the scanning device and the object. This step eliminates the reliance on cumbersome calibration board photography and customized fixtures, achieving fast, accurate, and flexible initial calibration and positioning. Based on this, the pose relationship obtained in the aforementioned steps is used as a bridge for spatial transformation, automatically converting the optimal viewpoint planned in the preset coordinate system into directly executable physical control commands in the scanning device's coordinate system. Ultimately, the entire process requires no manual intervention, driving the scanning device to complete high-quality automated scanning. This improves the automation level, scanning quality, scanning efficiency, and flexibility of 3D scanning, increasing the applicability of the scanning device.
[0021] The method will be described below with reference to specific embodiments.
[0022] Figure 1 This is a flowchart illustrating a three-dimensional scanning control method provided in an embodiment of this disclosure. The method can be executed by a three-dimensional scanning control device, which can be implemented using software and / or hardware, and is generally integrated into a computing device. Figure 1 As shown, the method includes: S101. Generate multiple candidate viewpoints based on the preset model of the object to be scanned, and calculate the geometric relationship between each candidate viewpoint and each point on the surface of the object to be scanned.
[0023] The computing device can acquire a preset model of the scanned object. In this embodiment, the preset model can be described as a computer-aided design (CAD) model. Of course, this is just an example and is not a limitation.
[0024] The computing device can generate multiple candidate viewpoints based on the CAD model of the object to be scanned. Then, it can calculate the geometric relationship between each candidate viewpoint and various points on the object's surface. This geometric relationship can include the shooting distance and the angle between the object's surface normal and the camera's optical axis emanating from the candidate viewpoint. Each candidate viewpoint represents a potential position of the scanning device (such as a binocular camera) in three-dimensional space. Its geometric relationship with various points on the object's surface mainly includes two key parameters: first, the shooting distance, i.e., the Euclidean distance from the candidate viewpoint to a point on the object's surface, used to evaluate the scan's sharpness; and second, the angle between the object's surface normal and the camera's optical axis emanating from the candidate viewpoint. This angle reflects the alignment of the shooting direction with the surface's perpendicularity, directly affecting the quality of the scanned data.
[0025] In some possible implementations, the computing device can divide the CAD model into regions based on the type of the CAD model of the object to be scanned, and generate a number of candidate viewpoints corresponding to the type of the CAD model.
[0026] In other words, the computational device can identify the geometric type of the CAD model (e.g., cylinder, planar body, or complex freeform surface), and then, based on the characteristics of the type (e.g., axisymmetry of a cylinder and continuous surface), it can invoke a preset strategy to divide the CAD model surface into several sub-regions (e.g., meshing along the axial and circumferential directions), and generate a number of candidate viewpoints corresponding to the complexity of the type (e.g., more viewpoints can be generated for complex CAD models to cover details, while the number is optimized for simple CAD models to improve efficiency). This significantly optimizes the computational resources for path planning while ensuring scan coverage and accuracy.
[0027] S102. Using geometric relationships and multiple candidate viewpoints, determine the target scanning viewpoint.
[0028] The computing device can determine the target scanning viewpoint by utilizing geometric relationships and multiple candidate viewpoints.
[0029] In some possible implementations, the computing device can calculate a score for each candidate point based on the shooting distance, the angle between the object surface normal and the direction of the camera optical axis emanating from the candidate viewpoint, determine the target region corresponding to the initial target scanning viewpoint based on the score, and traverse the scanning viewpoints in the target region to determine the target scanning viewpoint.
[0030] In some possible implementations, the calculation of the score for each candidate point can specifically involve the computing device dividing the scanning area and background area of the CAD model, calculating the shooting distance from each candidate viewpoint to the object surface, and the angle between the object surface normal and the camera optical axis, to obtain the basic score corresponding to each candidate point. Then, the scanning ray of each candidate viewpoint can be determined, and the path length of the scanning ray through the background area can be calculated to obtain the background occlusion score corresponding to each candidate point. Finally, the basic score and background occlusion score of the same candidate viewpoint can be weighted and summed to determine the score of each candidate viewpoint.
[0031] For example, the computing device can preprocess the CAD model, dividing it into a scanning area and a background area. Based on this, for each generated candidate viewpoint, the computing device can initiate a scoring calculation process. This part can consist of a weighted sum of two core components: the first is the base score, calculated based on the shooting distance from each candidate viewpoint to the object surface and the angle between the object surface normal and the camera's optical axis. The shooting distance must be within the scanner's optimal operating range, and a smaller angle generally means the scanning light is closer to perpendicularly incident on the object surface, contributing to higher precision 3D data; therefore, these parameters are quantified as the positive contribution of the base score. The second is the background occlusion score. The computing device can simulate the scanning light emitted from the candidate viewpoint using a ray tracing algorithm and accurately calculate the path length of the scanning light tracing through the background area before reaching the scanning area. The longer this path length, the greater the risk of background interference or occlusion during the scanning process, and therefore the lower the corresponding background occlusion score. Finally, the computing device can weight and sum the base score and background occlusion score of the same candidate viewpoint according to preset weights to obtain the comprehensive score of the candidate viewpoint, thus determining the score of each candidate viewpoint. By quantifying the shooting distance and the angle between the object surface normal and the camera optical axis, the base score is generated, ensuring that each viewpoint meets the optimal optical acquisition conditions (i.e., the scanning viewpoint is within the optimal working range of the 3D scanner and the camera optical axis is as parallel as possible to the object surface normal, meaning the angle between them is as small as possible, close to 0 degrees), guaranteeing the geometric accuracy of the point cloud data from the source. A ray tracing algorithm is used to calculate the path length of the scanning light rays through the background area as the background occlusion score, enabling it to avoid occlusion interference and significantly improving the scanning success rate and robustness under complex conditions. By dynamically balancing different scoring dimensions through a weighted summation method, a trade-off between scanning quality and efficiency is achieved. Furthermore, by transforming multi-dimensional influencing factors into calculable optimization objectives, it truly possesses the capabilities of automated viewpoint planning, fine path planning, and occlusion handling.
[0032] In some possible implementations, the computing device can determine the target region corresponding to the initial target scanning viewpoint with the highest score.
[0033] The computing device can divide the surface of an object into multiple scanning sub-regions based on the geometric curvature characteristics of the CAD model, and determine the sub-region covered by the initial target scanning viewpoint as the target region.
[0034] For example, the computing device can analyze the geometric curvature features of a CAD model. Geometric curvature features are important mathematical properties used to describe the degree of surface curvature. By calculating the geometric curvature features of each point on the model's surface, areas with significant geometric changes, such as flat areas, raised areas, recessed areas, and edges, can be identified. Based on these curvature features, the entire object surface can be divided into multiple scanning sub-regions. For example, a continuous curved surface with gentle curvature changes may be divided into a larger sub-region, while areas with complex recesses or sharp edges will be divided into smaller, more refined sub-regions to ensure that subsequent scans can fully capture these critical details. After completing the region division, the computing device can identify the specific sub-region covered by the initial target scanning viewpoint with the highest score determined in the previous global viewpoint planning as the target region. This initial viewpoint is considered a high-quality scanning starting point because it has the best comprehensive score in terms of shooting distance, the angle between the optical axis and the normal, and background occlusion. Using the area covered by this viewpoint as the target region means that subsequent optimization efforts are concentrated on this most promising local area.
[0035] This approach combines global optimization with local optimization. By dividing the scanning sub-regions according to the geometric curvature characteristics of the CAD model, the geometric complexity of the object can be understood, allowing for targeted processing. Defining the sub-region covered by the initial target scanning viewpoint as the target region enables denser candidate viewpoint traversal and iterative optimization within the target region (e.g., increasing viewpoint density for identified self-occluding structures). This significantly improves scanning coverage and accuracy for complex feature regions while maintaining scanning efficiency.
[0036] In some possible implementations, traversing candidate viewpoints in the target region to determine the target scanning viewpoint can specifically involve identifying self-occluding structures in the target region, iteratively increasing the density of candidate viewpoints in the target region based on the self-occluding structures, calculating the score of all current candidate viewpoints in each iteration, and determining the expected coverage of the object surface until the expected coverage meets a preset threshold, and determining the candidate viewpoint with the highest score in the last iteration as the final target scanning viewpoint.
[0037] For example, the computing device can identify self-occluding structures within a pre-determined target area. Self-occluding structures refer to areas where, due to the object's surface irregularities, deep holes, or complex contours, a portion of the object blocks scanning light when scanned from certain candidate viewpoints, preventing the acquisition of surface areas behind or to the side, creating blind spots. After identifying self-occluding structures, 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-occluding structures. This means that more candidate viewpoints are dynamically and selectively generated around the identified occluding areas or at specific angles to find new perspectives that can bypass the occlusion and effectively cover the blind spots. In each iteration, the algorithm calculates a score for all current candidate viewpoints (including newly added ones). This score integrates factors such as shooting 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 can determine the expected coverage of the object's surface using techniques such as light projection, i.e., the estimated percentage of the object's surface area that these candidate viewpoints can acquire. This iterative cycle will continue until the expected coverage meets a preset threshold. This threshold is a pre-set quality target, which can be preset according to needs, such as requiring 99.5% surface coverage. Once this condition is met, the iteration stops. The candidate viewpoint with the highest score in the last iteration is determined as the final target scanning viewpoint.
[0038] S103. Align the single-frame point cloud data of the object to be scanned with the preset model to obtain the pose relationship between the scanning device and the object to be scanned.
[0039] The computing device can align the single-frame point cloud data of the object to be scanned with the CAD model to obtain the pose relationship between the scanning device and the object to be scanned.
[0040] In some possible implementations, the single-frame point cloud data is the first frame of point cloud data acquired during the scanning initialization phase. The computing device can register the first frame of point cloud data with the CAD model to determine the pose relationship of the object to be scanned in the coordinate system of the scanning device.
[0041] The core objective of this process is to establish a precise spatial position and orientation relationship, or pose relationship, between the scanning device and the object to be scanned. For example, during the initialization phase of a scanning task, the scanning device can first capture a single frame of point cloud data of the object to be scanned. This data typically refers specifically to the first frame of point cloud data acquired during the initialization phase. This frame of point cloud data includes a set of three-dimensional spatial points on a portion of the surface of the object to be scanned in the scanning device's coordinate system. The computing device can then register this first frame of point cloud data with a pre-imported ideal digital model in the CAD model's coordinate system. This registration process can be achieved using iterative nearest-point registration algorithms, the core of which is calculating an optimal spatial transformation matrix that aligns the first frame of point cloud data with the CAD model in three-dimensional space to achieve the best fit. The optimal spatial transformation matrix obtained through the above registration operation precisely characterizes the pose relationship of the object to be scanned in the scanning device's coordinate system. This pose relationship explicitly defines the relative position and orientation between the CAD model's coordinate system and the scanning device's coordinate system.
[0042] This allows for automatic initial pose alignment, eliminating the reliance on customized fixtures found in traditional methods. Direct 3D registration between a single-frame point cloud and the CAD model not only improves calibration accuracy but also significantly enhances robustness against object placement deviations and operational flexibility.
[0043] S104. Based on the pose relationship, the target scanning viewpoint in the preset model coordinate system is converted into the control viewpoint in the scanning device coordinate system.
[0044] The computing device can convert the target scanning viewpoint in the CAD model coordinate system into the control viewpoint in the scanning device coordinate system based on the pose relationship.
[0045] For example, the pose relationship is the spatial transformation matrix obtained in step S103 by registering the first frame point cloud data with the CAD model. This matrix precisely defines the mathematical relationship between the CAD model coordinate system and the scanning device coordinate system, including the translation vector from the origin of the model coordinate system to the origin of the device coordinate system, and the rotation matrix that aligns the axes of the model coordinate system to the axes of the device coordinate system. Based on this pose relationship, the computing device can perform coordinate transformation. The basic principle is to apply the inverse operation of the spatial transformation matrix. The specific steps are: multiply the coordinate data of each target scanning viewpoint (whose position can be represented by three-dimensional coordinates and orientation) calculated in the CAD model coordinate system by the inverse transformation matrix corresponding to the pose relationship. Through this mathematical operation, the position and orientation information of the scanning viewpoint is accurately transformed from the virtual coordinate system centered on the object model to the scanning device coordinate system based on the physical position of the scanning device. The scanning viewpoint obtained after this transformation becomes the control viewpoint. The control viewpoint is the physical pose command that the scanning device (such as a robotic arm) can directly understand and execute. It is used to indicate the specific location that the scanner should reach in real three-dimensional space and the orientation of its optical lens.
[0046] Seamlessly connecting idealized path planning based on CAD models to executable actions in the physical world. Through precise coordinate transformation, the optimal scanning perspective planned in the virtual environment can be reproduced with high accuracy in the real environment, thus providing accurate input for generating the final operational commands to control the coordinated movement of the scanning equipment.
[0047] S105. Generate operation instructions based on the control viewpoint.
[0048] The computing device can generate operation commands based on control points. These operation commands can be used to control the scanning device to perform 3D scanning operations. The scanning device may include a turntable and a robotic arm.
[0049] For example, the computing device can use operation commands to control the turntable to perform object rotation operations, control the robotic arm to perform scanner movement operations, and adjust the motion parameters of the turntable and robotic arm based on CAD model features. The operation commands are a set of digital commands generated from the control viewpoint obtained in the preceding steps. The computing device can use these commands to drive different hardware units in the scanning device to work collaboratively.
[0050] For example, a turntable can be controlled to perform object rotation: commands control the turntable to rotate around its axis by a specific angle, thereby changing the spatial orientation of the object to be scanned. This operation aims to present different sides of the object to the scanner sequentially to ensure that the object's surface is fully covered, and is particularly suitable for acquiring data in the circumferential direction of the object.
[0051] Controlling the robotic arm to perform scanner movement operations: Commands guide the robotic arm equipped with a 3D scanner, causing its end effector (i.e., the scanner) to move precisely to the specified control viewpoint position. The robotic arm's flexible, multi-degree-of-freedom movement allows the scanner to align with objects from the optimal angle and distance, especially for detailed scanning of complex structures or areas requiring specific perspectives.
[0052] It should be noted that the generation of operation commands is based on adjusting the turntable and robotic arm motion parameters according to the features of the CAD model. 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, for large objects, the turntable may be controlled to rotate with smaller step angles to ensure sufficient overlap between adjacent scanning areas; for areas with drastic changes in surface curvature, the robotic arm can be controlled to move more slowly and smoothly, or the density of control viewpoints may be increased in that area to ensure the quality of the scanned data. By intelligently adjusting based on CAD model features, not only is an efficient collaborative scanning strategy between the turntable and the robotic arm realized, but it can also adapt to the geometric characteristics of different objects. While ensuring scanning accuracy, it optimizes scanning efficiency and trajectory smoothness, significantly improving the automation level, robustness and applicability of the entire 3D scanning process.
[0053] This embodiment generates candidate viewpoints based on the CAD model of the object to be scanned, calculates the shooting distance and the angle between the object's surface normal and the camera's optical axis, and determines the target scanning viewpoint through weighted basic scoring and background occlusion scoring. This ensures the geometric accuracy of the point cloud data from the source and has the ability to avoid occlusion interference, significantly improving the scanning success rate and robustness under complex working conditions. By dividing the scanning sub-region and processing self-occlusion structures, the density of candidate viewpoints is iteratively increased, ensuring that the expected coverage of the object's surface meets the preset threshold, thereby improving the scanning coverage and accuracy of complex feature areas. Single-frame point cloud data is aligned with the CAD model, and the pose relationship is obtained through registration, eliminating the dependence on customized fixtures, improving calibration accuracy, and enhancing robustness and operational flexibility in the face of object placement deviations. Based on the pose relationship, the target scanning viewpoint is converted into a control viewpoint, ensuring high-precision reproduction of the optimal viewpoint planned in the virtual environment. Finally, operation instructions are generated based on the control viewpoint to control the coordinated movement of the turntable and robotic arm. Motion parameters are adjusted based on the features of the CAD model, realizing an efficient collaborative scanning strategy that adapts to the geometric characteristics of different objects. While ensuring scanning accuracy, scanning efficiency and trajectory smoothness are optimized, significantly improving the automation level, robustness, and applicability of the entire 3D scanning process.
[0054] To implement the above embodiments, this disclosure also proposes a three-dimensional scanning control device.
[0055] Figure 2 This is a schematic diagram of a three-dimensional scanning control device provided in an embodiment of this disclosure. The device can be implemented by software and / or hardware, and is generally integrated into a computing device. Figure 2 As shown, the device includes: The first generation unit 200 is used to generate multiple candidate viewpoints based on a preset model of the object to be scanned, and to calculate the geometric relationship between each candidate viewpoint and each point on the surface of the object to be scanned. The geometric relationship includes the shooting distance and the angle between the normal of the object surface and the direction of the camera optical axis emanating from the candidate viewpoint. The determining unit 210 is used to determine the target scanning viewpoint using the geometric relationship and the plurality of candidate viewpoints; The obtaining unit 220 is used to align the single-frame point cloud data of the object to be scanned with the preset model to obtain the pose relationship between the scanning device and the object to be scanned. The conversion unit 230 is used to convert the target scanning viewpoint in the preset model coordinate system into the control viewpoint in the scanning device coordinate system based on the pose relationship. The second generation unit 240 is used to generate operation instructions based on the control viewpoint, the operation instructions being used to control the scanning device to perform a three-dimensional scanning operation.
[0056] In some possible implementations, the unit is determined specifically for: Calculate the score for each candidate point based on the shooting distance and the included angle; The target area corresponding to the initial target scanning viewpoint is determined based on the score. Traverse the scanning viewpoints in the target region to determine the target scanning viewpoint.
[0057] In some possible implementations, the unit is determined specifically for: The scanning area and background area of the preset model are divided; Calculate the shooting distance from each candidate viewpoint to the surface of the object, and the angle between the normal of the object surface and the direction of the camera optical axis, to obtain the basic score corresponding to each candidate point; Determine the scanning ray of each candidate viewpoint, calculate the path length of the scanning ray through the background region, and obtain the background occlusion score corresponding to each candidate point; The base score and the background occlusion score of the same candidate viewpoint are weighted and summed to determine the score of each candidate viewpoint.
[0058] In some possible implementations, the unit is determined specifically for: Based on the geometric curvature characteristics of the preset model, the surface of the object is divided into multiple scanning sub-regions, and the sub-region covered by the initial target scanning viewpoint is determined as the FRD target region. Identify self-occluding structures present in the target region; Based on the self-occlusion structure, the density of candidate viewpoints within the target area is iteratively increased; In each iteration, the scores of all current candidate viewpoints are calculated, and the expected coverage of the object surface is determined until the expected coverage meets a preset threshold. The candidate viewpoint with the highest score in the last iteration is then determined as the final target scanning viewpoint.
[0059] In some possible implementations, the single-frame point cloud data is the first frame point cloud data acquired during the scan initialization phase, and the acquisition unit is specifically used for: Based on the registration of the first frame point cloud data and the preset model, the pose relationship of the object to be scanned in the coordinate system of the scanning device is determined.
[0060] In some possible implementations, the first generating unit is specifically used for: Based on the type of the preset model of the object to be scanned, the preset model is divided into regions, and a number of candidate viewpoints corresponding to the type are generated.
[0061] In some possible implementations, the scanning device includes a turntable and a robotic arm, and the apparatus further includes: The control unit is used to control the turntable to perform object rotation operations, control the robotic arm to perform scanner movement operations, and adjust the motion parameters of the turntable and robotic arm based on preset model features using the operation commands.
[0062] The three-dimensional scanning control device provided in this disclosure can execute the three-dimensional scanning control method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects of executing the method.
[0063] To implement the above embodiments, this disclosure also proposes a computer program product, including a computer program / instructions, which, when executed by a processor, implements the three-dimensional scanning control method in the above embodiments.
[0064] Figure 3 This is a schematic diagram of the structure of a computing device provided in an embodiment of the present disclosure.
[0065] The following is a detailed reference. Figure 3The diagram illustrates a structural schematic suitable for implementing the computing device 300 in the embodiments of this disclosure. The computing device 300 in the embodiments of this disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 3 The computing device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0066] like Figure 3 As shown, the computing device 300 may include a processor (e.g., a central processing unit, a graphics processing unit, etc.) 301, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 302 or a program loaded from memory 308 into random access memory (RAM) 303. The RAM 303 also stores various programs and data required for the operation of the computing device 300. The processor 301, ROM 302, and RAM 303 are interconnected via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.
[0067] Typically, the following devices can be connected to I / O interface 305: input devices 306 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 307 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; memory devices 308 including, for example, magnetic tapes, hard disks, etc.; and communication devices 309. Communication device 309 allows computing device 300 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 3 A computing device 300 with various devices is shown, but it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or have alternatively.
[0068] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 309, or installed from memory 308, or installed from ROM 302. When the computer program is executed by processor 301, it performs the functions defined in the three-dimensional scanning control method of embodiments of this disclosure.
[0069] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having 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), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0070] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0071] The aforementioned computer-readable medium may be included in the aforementioned computing device; or it may exist independently and not assembled into the computing device.
[0072] The aforementioned computer-readable medium carries one or more programs, which, when executed by the computing device, cause the computing device to perform the aforementioned three-dimensional scanning control method.
[0073] The computing device can be programmed with computer program code in one or more programming languages or a combination thereof to perform the operations of this disclosure. These programming languages 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 the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0074] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0075] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.
[0076] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.
[0077] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0078] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0079] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0080] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.
Claims
1. A three-dimensional scanning control method, characterized in that, include: Multiple candidate viewpoints are generated based on a preset model of the object to be scanned. The geometric relationship between each candidate viewpoint and each point on the surface of the object to be scanned is calculated. The geometric relationship includes the shooting distance and the angle between the surface normal of the object and the direction of the camera optical axis emanating from the candidate viewpoint. The target scanning viewpoint is determined using the geometric relationships and the multiple candidate viewpoints. Align the single-frame point cloud data of the object to be scanned with the preset model to obtain the pose relationship between the scanning device and the object to be scanned. Based on the aforementioned pose relationship, the target scanning viewpoint in the preset model coordinate system is converted into the control viewpoint in the scanning device coordinate system; Operation instructions are generated based on the control viewpoint, and these instructions are used to control the scanning device to perform a three-dimensional scanning operation.
2. The method according to claim 1, characterized in that, Determining the target scanning viewpoint using the aforementioned geometric relationships and the multiple candidate viewpoints includes: Calculate the score for each candidate point based on the shooting distance and the included angle; The target area corresponding to the initial target scanning viewpoint is determined based on the score. Traverse the scanning viewpoints in the target region to determine the target scanning viewpoint.
3. The method according to claim 2, characterized in that, The method further includes: The scanning area and background area of the preset model are divided; The step of calculating a score for each candidate viewpoint based on the shooting distance and the included angle includes: Calculate the shooting distance from each candidate viewpoint to the surface of the object, and the angle between the normal of the object surface and the direction of the camera optical axis, to obtain the basic score corresponding to each candidate point; Determine the scanning ray of each candidate viewpoint, calculate the path length of the scanning ray through the background region, and obtain the background occlusion score corresponding to each candidate point; The base score and the background occlusion score of the same candidate viewpoint are weighted and summed to determine the score of each candidate viewpoint.
4. The method according to claim 2, characterized in that, The step of determining the target region corresponding to the initial target scanning viewpoint based on the score includes: Based on the geometric curvature characteristics of the preset model, the surface of the object is divided into multiple scanning sub-regions, and the sub-region covered by the initial target scanning viewpoint is determined as the target region; The step of traversing candidate viewpoints in the target region to determine the target scanning viewpoint includes: Identify self-occluding structures present in the target region; Based on the self-occlusion structure, the density of candidate viewpoints within the target area is iteratively increased; In each iteration, the scores of all current candidate viewpoints are calculated, and the expected coverage of the object surface is determined until the expected coverage meets a preset threshold. The candidate viewpoint with the highest score in the last iteration is then determined as the final target scanning viewpoint.
5. The method according to any one of claims 1-4, characterized in that, The single-frame point cloud data is the first frame of point cloud data acquired during the scanning initialization phase. The step of aligning the single-frame point cloud data with the preset model to obtain the pose relationship between the scanning device and the object to be scanned includes: The first frame of point cloud data is registered with the preset model to determine the pose relationship of the object to be scanned in the coordinate system of the scanning device.
6. The method according to any one of claims 1-4, characterized in that, The process of generating multiple candidate viewpoints based on a preset model of the object to be scanned includes: Based on the type of the preset model, the preset model is divided into regions, and a number of candidate viewpoints corresponding to the type are generated.
7. The method according to claim 1, characterized in that, The scanning device includes a turntable and a robotic arm, and the method further includes: The operation commands are used to control the turntable to perform object rotation, control the robotic arm to perform scanner movement, and adjust the motion parameters of the turntable and robotic arm based on preset model features.
8. A three-dimensional scanning control device, characterized in that, include: The first generation unit is used to generate multiple candidate viewpoints based on a preset model of the object to be scanned, and to calculate the geometric relationship between each candidate viewpoint and each point on the surface of the object to be scanned. The geometric relationship includes the shooting distance and the angle between the normal of the object surface and the direction of the camera optical axis emanating from the candidate viewpoint. A determining unit is used to determine the target scanning viewpoint using the geometric relationship and the plurality of candidate viewpoints; The acquisition unit is used to align the single-frame point cloud data of the object to be scanned with the preset model to obtain the pose relationship between the scanning device and the object to be scanned. The conversion unit is used to convert the target scanning viewpoint in the preset model coordinate system into the control viewpoint in the scanning device coordinate system based on the pose relationship. The second generation unit is used to generate operation instructions based on the control viewpoint, the operation instructions being used to control the scanning device to perform a three-dimensional scanning operation.
9. A computing device, characterized in that, The computing device includes: a processor; a memory for storing executable instructions of the processor; the processor for reading the executable instructions from the memory and executing the instructions to implement the method as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The storage medium stores a computer program for performing the method as described in any one of claims 1-7.