Automatic three-dimensional scanning method and apparatus, and device and storage medium
By cyclically updating the scanning path and point positions, the problem of incomplete scanning in three-dimensional scanning is solved, and efficient and high-quality three-dimensional scanning effects are achieved.
Patent Information
- Application Number
- PCT/CN2024/134875
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-29
- Filing Date
- 2024-11-27
- Publication Date
- 2025-07-03
AI Technical Summary
In the existing three-dimensional scanning technology, incomplete scanning path planning results in low quality of three-dimensional scanning, making it difficult to achieve fully automated and efficient scanning.
By obtaining the current scan path, scanning based on the scan point pose, updating the three-dimensional model, and determining the next scan path based on the three-dimensional model, cyclically updating to achieve a globally complete three-dimensional scan.
The quality and efficiency of three-dimensional scanning are improved, ensuring that the three-dimensional model of the scanned object is more complete and accurate, and avoiding the problems of vicious cycles and incomplete scanning caused by local optimization.
Smart Images

Figure CN2024134875_03072025_PF_FP_ABST
Abstract
Description
Automated three-dimensional scanning method, device, equipment and storage medium
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on December 29, 2023, with application number 202311849130.8, and invention name “Automated three-dimensional scanning method, device, equipment and storage medium”, all contents of which are incorporated by reference into this application. Technical Field
[0002] The embodiments of the present disclosure relate to the field of computer technology, and in particular to an automated three-dimensional scanning method, apparatus, device, and storage medium. Background Art
[0003] In industrial applications of 3D scanning, scanning instruments are often required to be connected to robotic arms or equipped with AGVs to scan objects. In such 3D scanning scenarios, automatic scanning paths are usually required to achieve fully automated scanning.
[0004] Currently, in the 3D scanning process, the scanning path is usually automatically planned through heuristic methods or simulation methods. However, problems such as incomplete scanning often occur, resulting in low 3D scanning quality. Summary of the Invention
[0005] In order to solve the above technical problems or at least partially solve the above technical problems, the embodiments of the present disclosure provide an automated three-dimensional scanning method, device, equipment and storage medium.
[0006] A first aspect of an embodiment of the present disclosure provides an automated three-dimensional scanning method, the method comprising:
[0007] Obtaining a current scanning path, where the current scanning path includes at least one scanning point pose;
[0008] Scanning the scanned object based on the scanning point posture of the current scanning path to obtain a current three-dimensional model corresponding to the scanned object;
[0009] Determine a next scanning path based on the current three-dimensional model, where the next scanning path includes at least one scanning point pose;
[0010] updating the current scan path based on the next scan path;
[0011] The scan object is scanned based on the updated scan point pose of the current scan path, and the current three-dimensional model corresponding to the scanned object is updated.
[0012] A second aspect of the present disclosure provides an automated three-dimensional scanning device, the device comprising:
[0013] A first acquisition module is configured to acquire a current scanning path, where the current scanning path includes at least one scanning point posture;
[0014] A first scanning module is configured to scan the scanned object based on the scanning point posture of the current scanning path to obtain a current three-dimensional model corresponding to the scanned object;
[0015] A first determining module is configured to determine a next scanning path based on the current three-dimensional model, where the next scanning path includes at least one scanning point pose;
[0016] a first updating module configured to update the current scanning path based on the next scanning path;
[0017] The second updating module is configured to scan the scanned object based on the updated scanning point posture of the current scanning path, and update the current three-dimensional model corresponding to the scanned object.
[0018] A third aspect of an embodiment of the present disclosure provides an electronic device, comprising: a processor and a memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the method of the first aspect above.
[0019] A fourth aspect of an embodiment of the present disclosure provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the method of the first aspect described above can be implemented.
[0020] The technical solution provided by the embodiments of the present disclosure has the following advantages over the prior art:
[0021] The disclosed embodiments can obtain a current scanning path, which includes at least one scanning point pose; scan the scanned object based on the scanning point pose of the current scanning path to obtain a current three-dimensional model corresponding to the scanned object; determine a next scanning path based on the current three-dimensional model, which includes at least one scanning point pose; update the current scanning path based on the next scanning path; and scan the scanned object based on the updated scanning point pose of the current scanning path to update the current three-dimensional model corresponding to the scanned object. It can be seen that by adopting the above technical solution, multiple scans can be performed by updating the current scanning path to obtain a relatively complete three-dimensional scan of the scanned object, thereby improving the quality of the three-dimensional scan. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0023] In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0024] FIG1 is a flow chart of an automated three-dimensional scanning method provided by an embodiment of the present disclosure;
[0025] FIG2 is a partial schematic diagram of a revenue graph provided by an embodiment of the present disclosure;
[0026] FIG3 is a schematic structural diagram of an automated three-dimensional scanning device provided by an embodiment of the present disclosure;
[0027] FIG4 is a schematic structural diagram of an electronic device in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0028] In order to more clearly understand the above-mentioned objectives, features and advantages of the present disclosure, the scheme of the present disclosure will be further described below. It should be noted that the embodiments of the present disclosure and the features therein can be combined with each other in the absence of conflict.
[0029] In the following description, many specific details are set forth to facilitate a full understanding of the present disclosure, but the present disclosure may also be implemented in other ways different from those described herein; it is obvious that the embodiments in the specification are only part of the embodiments of the present disclosure, rather than all of the embodiments.
[0030] FIG1 is a flow chart of an automated three-dimensional scanning method provided by an embodiment of the present disclosure. The method can be performed by an electronic device and is applicable to scenarios where a scanner with a robotic arm scans an object, or a scanner with a loading platform (e.g., an AGV) scans an object. The electronic device can be exemplarily understood as a scanner with a robotic arm, a scanner with a loading platform, a tablet computer, a laptop computer, and the like. As shown in FIG1 , the method provided by this embodiment includes the following steps:
[0031] S110: Acquire a current scanning path, where the current scanning path includes at least one scanning point posture.
[0032] In the embodiment of the present disclosure, the scanned object can be scanned multiple times (ie, multiple scanning processes are required) to perform a relatively complete three-dimensional scan of the scanned object. The scanning path used in the current scanning process is the current scanning path.
[0033] Specifically, the scanning point posture of the current scanning path represents the relative scanning posture between the scanner and the scanned object.
[0034] S120 : Scan the scanned object based on the scan point positions of the current scan path to obtain a current three-dimensional model corresponding to the scanned object.
[0035] In the disclosed embodiment, for each scanning point position in the current scanning path, the scanner can scan the scanned object at that scanning point position, thereby obtaining scan data corresponding to that scanning point position. If the current scanning process is the first scan, the scan data corresponding to each scanning point position in the current scanning path together constitute the current scan data obtained in the current scanning process. If the current scanning process is not the first scan, the scan data corresponding to each scanning point position in the current scanning path, as well as the scan data obtained in the previous scanning process, together constitute the current scan data obtained in the current scanning process.
[0036] In some embodiments, the current scanning path includes a preset scanning path, and the preset scanning path includes at least one preset scanning point posture; wherein, S120 includes: S121, scanning the scanned object based on the preset scanning point posture of the preset scanning path to obtain a current three-dimensional model corresponding to the scanned object.
[0037] Specifically, to achieve 3D scanning of the object being scanned, a solution space containing multiple candidate scanning point poses can be pre-constructed for the object being scanned. Thus, during the first scan, at least one candidate scanning point pose from the solution space can be selected as the preset scanning point pose, thereby obtaining a preset scanning path.
[0038] In some examples, selecting at least one candidate scanning point posture from the solution space as a preset scanning point posture to obtain a preset scanning path may include: uniformly selecting multiple candidate scanning point postures from multiple candidate scanning point postures in the solution space as the preset scanning point posture to obtain the preset scanning path.
[0039] Specifically, the uniformity here means that the RTs corresponding to the preset scanning point pose pairs in the three-dimensional space are similar or the difference is within a preset range, where the preset scanning point pose pair refers to two adjacent preset scanning point poses, and RT is the rotation matrix and translation matrix between the two adjacent preset scanning point poses.
[0040] It can be understood that by obtaining the preset scanning path in a uniform manner, the risk of overlapping scanning data corresponding to different preset scanning point postures can be reduced, and the risk of a large area of the scanned object being unscanned can be reduced, thereby achieving the use of a relatively small number of preset scanning point postures to obtain relatively more scanning data, which is beneficial to reducing the total number of scans required to complete the scanned object.
[0041] In other embodiments, the current scanning path includes an updated scanning path, and the updated scanning path includes at least one updated scanning point posture; wherein, S120 includes: scanning the scanned object based on the updated scanning point posture of the updated scanning path, and updating the three-dimensional model obtained by the previous scan corresponding to the scanned object to obtain the current three-dimensional model corresponding to the scanned object.
[0042] Specifically, if the current scanning process is not the first scan, that is, at least one scan has been performed before the current scanning process, the current scanning path used in the current scanning process can be a scanning path updated based on the three-dimensional model obtained from the previous scan (i.e., an updated scanning path). The specific updating process of the scanning path is similar to S130 and S140 and will not be repeated here. In this way, the scanned object can be scanned based on the updated scanning point pose of the updated scanning path, and the three-dimensional model obtained from the previous scan corresponding to the scanned object can be updated to obtain the current three-dimensional model corresponding to the scanned object. The specific updating process of the three-dimensional model is similar to S150 and will not be repeated here.
[0043] In some embodiments, S121 may include: S121A: scanning the scanned object based on the scanning point posture of the current scanning path to obtain current scanning data; performing gridding processing based on the current scanning data, or performing gridding processing and hole filling processing based on the current scanning data to obtain the current three-dimensional model.
[0044] In one example, S121A includes: scanning the scanned object based on a preset scanning point posture of a preset scanning path to obtain current scanning data; performing gridding processing and hole filling processing based on the current scanning data to obtain a current three-dimensional model.
[0045] In another example, S121A includes: scanning the scanned object based on the updated scanning point posture of the updated scanning path to obtain current scanning data; performing gridding processing, or performing gridding processing and hole filling processing based on the current scanning data to obtain a current three-dimensional model.
[0046] Specifically, meshing is performed on the current scan data to obtain a current initial 3D model. If the current initial 3D model is a complete 3D model corresponding to the scanned object, the current initial 3D model is used as the current 3D model. If the current initial 3D model is not a complete 3D model corresponding to the scanned object, hole filling can be performed on the current initial 3D model to obtain the current 3D model. Of course, the current scan data can also be pre-processed before meshing, such as by deduplicating scan data corresponding to the same area of the scanned object, but the present invention is not limited thereto.
[0047] Specifically, the current initial three-dimensional model is a three-dimensional model corresponding to the scanned object and obtained by meshing the current scanning data.
[0048] It should be noted that any method known to those skilled in the art can be used to mesh the current scan data. The meshed faces obtained from the meshing process can be triangular faces, quadrilateral faces, etc., but are not limited thereto. Any hole-filling method known to those skilled in the art can be used to fill holes in the current initial 3D model, and this is not limited here.
[0049] It is understandable that some areas of the scanned object may not be able to obtain corresponding scanning data due to reasons such as material or lack of scanning point pose matching. Therefore, the current initial three-dimensional model may not be a complete three-dimensional model corresponding to the scanned object. The current initial three-dimensional model can be filled with holes to obtain a complete three-dimensional model corresponding to the scanned object (i.e., the current three-dimensional model).
[0050] Of course, for the current three-dimensional model, different types of identifiers can be used to distinguish between mesh patches obtained by meshing processing and mesh patches obtained based on hole filling processing.
[0051] Of course, the current three-dimensional model can also be visualized to present the complete three-dimensional model corresponding to the scanned object to the user in real time.
[0052] S130: Determine a next scanning path based on the current three-dimensional model, where the next scanning path includes at least one scanning point posture.
[0053] In some embodiments, S130 may include: inputting the current three-dimensional model, the scanning point poses of the current scanning path, and multiple candidate scanning point poses in the solution space into a trained path planning model to obtain the next scanning path.
[0054] In some other embodiments, S130 may include: S131, obtaining a preset solution space.
[0055] Specifically, the description of the preset solution space is given above and will not be repeated here.
[0056] S132. Based on the current three-dimensional model, determine current gain values corresponding to multiple candidate scanning point postures, wherein the current gain values are used to represent the degree of scanning completeness of the sub-area corresponding to the candidate scanning point posture on the current three-dimensional model.
[0057] In some embodiments, S132 may include: inputting the current three-dimensional model, multiple candidate scanning point poses in the solution space, and the type identifiers of each mesh face in the current three-dimensional model into a trained benefit value recognition model to obtain the current benefit values corresponding to the multiple candidate scanning point poses output by the benefit value recognition model.
[0058] In other embodiments, S132 may include: S13211, obtaining a current weight field, wherein the current weight field includes a plurality of voxel points and current weight values of the plurality of voxel points, and the current three-dimensional model is located in the current weight field.
[0059] Optionally, obtaining the current weight field includes: S132111, scanning the scanned object based on the scanning point posture of the current scanning path to obtain the current three-dimensional model corresponding to the scanned object; S132112, obtaining the initial weight field, wherein the initial weight field includes multiple voxel points and initial weight values of the multiple voxel points, and the current three-dimensional model is located in the initial weight field; S132113, updating the initial weight field based on the current three-dimensional model to obtain the current weight field.
[0060] Specifically, a preset weight field corresponding to the solution space can be pre-constructed. The preset weight field includes multiple voxel points and the weight values corresponding to each of the multiple voxel points. The smaller the weight value of a voxel point, the more the corresponding 3D point on the 3D model meets the scanning requirements and the less need for further scanning. The weight value in the preset weight field is generally the third weight value, indicating that further scanning is required.
[0061] Specifically, if the current scanning process is the first scan, the initial weight field is the preset weight field; if at least one scan has been performed before the current scanning process, the initial weight field is the weight field updated based on the three-dimensional model corresponding to the previous scan. The specific update process is similar to S132113 and will not be repeated here.
[0062] Further optionally, S132113 includes: for the part of the current three-dimensional model obtained by the camera scanning based on the scanning point posture located at the current scanning path, determining its voxel points in the initial weight field and reducing its corresponding initial weight value to a first weight value; for the current three-dimensional model, determining the voxel points through which the line connecting it and the camera at the scanning point posture located at the current scanning path passes in the initial weight field, and reducing the weight value corresponding to the passed voxel point to a second weight value; updating the initial weight field to obtain the current weight field.
[0063] Specifically, the second weight value is smaller than the first weight value, and the first weight value is smaller than the third weight value.
[0064] It should be noted that, for each three-dimensional point on the current three-dimensional model, the voxel point through which the line connecting it and the camera passes is determined. In essence, it means that the scanner (virtual scanner) is in a scanning point posture, and the current three-dimensional model is located in the field of view of the scanner. The weight value of the voxel point where the part of the current three-dimensional model surface is located in the field of view becomes the first weight value. The current three-dimensional model surface and the field of view space form a closed space (for example, a conical space), and the closed space forms an overlapping space with the weight field where the current three-dimensional model is located. The weight value of the voxel point located in the overlapping space becomes the second weight value.
[0065] For example, Figure 2 is a schematic diagram of a logic for updating an initial weight field according to an embodiment of the present disclosure. Referring to Figure 2 , the weight value of the voxel at which the 3D point on the current 3D model MX resides decreases from 9 to 1, while the weight values of the other voxels passed by the line connecting the camera WZ0 decrease from 9 to 0.
[0066] It is understandable that by updating the initial weight field in the above manner, the current gain value determined subsequently can be more accurate and more consistent with the current actual scanning situation.
[0067] S13112. For the mesh faces on the current three-dimensional model, the mesh faces obtained by the meshing processing of the current scan data are rendered as a preset first color. The mesh faces obtained by the hole filling processing are determined according to the preset coding principle based on their ID query and rendered as the corresponding color, wherein the color corresponding to each mesh face obtained by the hole filling processing is different from the colors corresponding to other mesh faces on the current three-dimensional model.
[0068] Specifically, those skilled in the art may set the first color according to actual conditions, for example, the first color is black, but it is not limited thereto.
[0069] Specifically, the color of each mesh patch obtained by the hole-filling process is determined by querying a preset coding principle based on its ID (identification). Any two mesh patches obtained by the hole-filling process have different colors, and the color of the mesh patch obtained by the hole-filling process is different from the first color. This allows the user to intuitively demonstrate the reliability of the current 3D model based on the rendered color of the model.
[0070] Exemplarily, for the mesh face on the current three-dimensional model, if the type of the mesh face is a mesh face obtained by hole filling processing, the corresponding color is determined by querying the mapping relationship between the identity of the mesh face and the color (that is, the preset encoding principle), for example, the color RGB value corresponding to the mesh face with identity 001 is (0, 0, 1), the color RGB value corresponding to the mesh face with identity 002 is (0, 0, 2), and the color RGB value corresponding to the mesh face with identity 003 is (0, 0, 3); if the type of the mesh face is obtained by meshing the current scan data, then its corresponding color is determined to be the first color, for example, the first color is black.
[0071] S13113. For the candidate scanning point pose, determine the corresponding sub-region on the current three-dimensional model, and generate a current gain map corresponding to the sub-region.
[0072] Specifically, the understanding of the sub-area is as follows: when the scanner's posture is a certain scanning point posture, the area on the scanned object within the scanner's field of view is presented on the current three-dimensional model as the sub-area corresponding to the scanning point posture.
[0073] Specifically, each candidate scanning point pose corresponds to a sub-region, and based on the sub-region, a current yield map corresponding to the candidate scanning point pose can be generated. The pixel points in the current yield map correspond to the mesh patches on the current three-dimensional model. Specifically, each pixel point contains the RGB value of the corresponding mesh patch color. The corresponding mesh patch ID can be determined by combining the RGB value with the preset coding principle, thereby determining the correspondence between each pixel point and the mesh patch ID. A mesh patch corresponds to several pixels (or a mesh patch is represented by several pixels), and the color of the pixel points corresponding to a mesh patch can be set by those skilled in the art according to actual conditions and is not limited here.
[0074] S13114. For the pixel points in the current profit map, determine the corresponding ID of the pixel point according to the color, determine the three-dimensional point corresponding to the pixel point in the current weight field based on the pixel point and the corresponding ID, and use the current weight value corresponding to the three-dimensional point in the current weight field as the weight value of the pixel point.
[0075] Specifically, a larger weight value of a pixel point indicates that its corresponding three-dimensional point is less reliable, and the object point corresponding to the three-dimensional point on the scanned object needs to be further scanned.
[0076] Optionally, for the pixel points in the current gain map, the corresponding ID of the pixel points is determined according to the color, and the three-dimensional point corresponding to the pixel point is determined in the current weight field based on the pixel point and the corresponding ID, including: for the pixel points in the current gain map, the grid surface ID corresponding to the pixel point is determined according to the color, and linear interpolation is performed on the grid surface of the corresponding ID based on the pixel coordinates of the pixel point to obtain the three-dimensional point corresponding to the pixel point.
[0077] Specifically, based on the ID of the corresponding mesh patch recorded behind the pixel point, the mesh patch corresponding to the pixel point is determined, and then, based on the pixel coordinates of the pixel point and the vertex coordinates of the corresponding mesh patch, linear interpolation is performed to obtain the three-dimensional point corresponding to the pixel point on the mesh patch. It should be noted that any linear interpolation method known to those skilled in the art can be used to linearly interpolate the pixel coordinates of the pixel point and the vertex coordinates of the corresponding mesh patch, without limitation. In this application, the mesh patch of the current three-dimensional model is rendered according to a preset rendering principle, and a scanner (virtual scanner) at a scanning point posture shoots the rendered current three-dimensional model to obtain a benefit map. Each pixel point of the benefit map contains the RGB value of the corresponding mesh patch rendering color. The corresponding mesh patch can be determined according to the RGB of the benefit map, and then a three-dimensional point is linearly interpolated in the corresponding mesh patch according to the pixel coordinates of the benefit map, thereby determining the voxel point where the mesh patch is located. Compared with the direct intersection calculation based on the current three-dimensional model and the camera parameters, a large amount of calculation is reduced, and the weight value is quickly updated, reducing the occupation of computing resources. The rendering principle refers to a rendering principle of a mesh surface obtained by meshing the current scan data and a rendering principle of a mesh surface obtained by hole filling (ie, a preset encoding principle).
[0078] S13115. Add the weight values of the pixel points in the current gain map corresponding to the mesh patches obtained by the hole filling process to obtain the gain value of the current gain map, and use the gain value of the current gain map as the current gain value of the corresponding candidate scanning point pose.
[0079] It can be understood that the reliability of the mesh surface obtained by gridding processing is higher, and the reliability of the mesh surface obtained by hole filling processing is lower. Therefore, in the embodiment of the present disclosure, the weight values of the three-dimensional points corresponding to the pixel points corresponding to the current gain map corresponding to the candidate scanning point posture and the mesh surface obtained by hole filling processing are added together to obtain the current gain value, so that the current gain value more accurately represents the reliability of the sub-area corresponding to the candidate scanning point posture.
[0080] In some further embodiments, S132 may include: S13221, obtaining a current weight field, wherein the current weight field includes a plurality of voxel points and current weight values of the plurality of voxel points, and the current three-dimensional model is located in the current weight field;
[0081] Specifically, S13221 is similar to S13211 and will not be repeated here.
[0082] S13222. For the candidate scanning point pose, determine the corresponding sub-region on the current three-dimensional model, and use the current weight value corresponding to the three-dimensional point in the sub-region in the current weight field as the weight value of the three-dimensional point.
[0083] Specifically, sampling may be performed on the mesh patch of the sub-region to obtain a plurality of three-dimensional points, and the current weight value corresponding to the three-dimensional point in the current weight field may be determined as the weight value of the three-dimensional point.
[0084] S13223. The weight values of the three-dimensional points in the sub-region and on the mesh patch obtained by the hole filling process are summed up to obtain the current benefit value of the candidate scanning point pose.
[0085] It can be understood that directly determining the corresponding weight value based on the current weight value corresponding to the three-dimensional point in the sub-area corresponding to the candidate scanning point posture in the current weight field has small calculation amount and fast processing speed, which is conducive to quickly obtaining the current benefit value of the candidate scanning point posture.
[0086] S133 , based on the current revenue values corresponding to the multiple candidate scanning point postures, select at least one from the multiple scanning point postures in the preset solution space as the scanning point posture of the next scanning path.
[0087] In some embodiments, S133 may include: sorting the current benefit values corresponding to multiple candidate scanning point postures to obtain a sorting result; based on the sorting result, at least taking the candidate scanning point posture corresponding to the maximum benefit value as the scanning point posture of the next scanning path.
[0088] Specifically, the current benefit values corresponding to multiple candidate scanning point poses are sorted from large to small (or small to large) to obtain a sorting result. Then, the candidate scanning point pose corresponding to the maximum benefit value is used as the scanning point pose of the next scanning path.
[0089] It can be understood that by setting at least the candidate scanning point posture corresponding to the maximum gain value as the scanning point posture of the next scanning path, the most unreliable sub-area of the current three-dimensional model can be rescanned to greatly improve the accuracy and completeness of the three-dimensional model corresponding to the scanned object.
[0090] In other embodiments, S133 may include: for multiple candidate scanning point postures, if the current gain value corresponding to each of the multiple candidate scanning point postures is greater than a third preset threshold, determining the corresponding candidate scanning point posture as the scanning point posture of the next scanning path.
[0091] S140: Update the current scanning path based on the next scanning path.
[0092] Specifically, the next scanning path is used as the current scanning path.
[0093] S150 : Scan the scan object based on the updated scan point poses of the current scan path, and update the current three-dimensional model corresponding to the scanned object.
[0094] Specifically, by scanning the scan object based on the updated scanning point posture of the current scanning path, updated current scanning data can be obtained. By performing gridding processing based on the updated current scanning data, or performing gridding processing and hole filling processing based on the updated current scanning data, an updated current three-dimensional model can be obtained.
[0095] Optionally, after S150, the method may further include: updating the current gain values corresponding to multiple candidate scanning point postures based on the updated current three-dimensional model; if the updated current gain values corresponding to multiple candidate scanning point postures meet the preset conditions, the scanning is ended, otherwise it returns to execute S130.
[0096] Specifically, the preset conditions may include: the maximum value of the updated current profit values corresponding to multiple candidate scanning point postures is less than the first preset profit value, and / or the average value of the updated current profit values corresponding to multiple candidate scanning point postures is less than the second preset profit value, etc., but are not limited to this.
[0097] It can be understood that in the relevant technologies for automatically planning scanning paths, the heuristic method generally starts from the nearest scanning point and performs scanning, and the posture of the next scan is searched near the posture of the previous scan. The goal of the search is to ensure that the next scan and the previous scan do not overlap, and other constraints. However, all existing technologies do not take into account the inherent characteristics of the scanned object. The object may not be able to obtain three-dimensional information through scanning due to problems such as material. In this case, the existing method may fall into an infinite loop or be unable to end the scanning process, or simply jump out of the loop by setting the maximum number of iterations, which often leads to incomplete scanning or repeated scanning of data. However, the embodiment of the present disclosure can control the global benefit value based on a global preset weight field and jump out of the local optimum. Therefore, it can reduce the risk of falling into an infinite loop or being unable to end the scan due to the inability to jump out of the local optimum, thereby improving the efficiency of three-dimensional scanning. In addition, it can automatically obtain the optimal scanning path and obtain the most complete three-dimensional model corresponding to the scanned object with the least scanning data.
[0098] The automated three-dimensional scanning method provided by the embodiment of the present disclosure is described below with reference to a specific example.
[0099] 1. Establish a global scanning solution space for the scanned object (i.e., the set of all candidate scanning point poses of the scanner) and a preset weight field under the solution space.
[0100] 2. During the first scanning process, multiple candidate scanning point poses are uniformly selected from multiple candidate scanning point poses to obtain the current scanning path.
[0101] 3. Scan the object based on the current scanning path to obtain the current three-dimensional model.
[0102] 4. Based on the current 3D model, determine the current revenue values corresponding to multiple candidate scanning point poses.
[0103] Specifically, the current 3D model is passed to the renderer for rendering (binocular simulation rendering, binocular scanning simulator based on shadow mapping), and the benefit graph under each candidate scanning point pose is rendered in turn according to the solution space.
[0104] 5. Sort the current benefit values corresponding to the multiple candidate scanning point postures to obtain a sorting result, and based on the sorting result, use at least the candidate scanning point posture corresponding to the maximum benefit value as the scanning point posture of the next scanning path.
[0105] 6. Update the current scan path based on the next scan path.
[0106] 7. Scan the scan object based on the updated scan point pose of the current scan path, and update the current three-dimensional model corresponding to the scanned object.
[0107] The disclosed embodiment controls the global benefit value through a global preset weight field to escape from the local optimum, establishes the relationship between color and three-dimensional space through color picking, and obtains a benefit graph based on a binocular occlusion rendering simulator based on shadow mapping. In this way, it is possible to automatically escape from situations where scanning is impossible due to material problems, and GPU-accelerated physical simulation of binocular scanning produces accurate and reliable results. The scanning process is fully automated and does not require human intervention and is not affected by the scanned object.
[0108] FIG3 is a schematic diagram of the structure of an automated three-dimensional scanning device provided by an embodiment of the present disclosure. The automated three-dimensional scanning device can be understood as the above-mentioned electronic device or a portion of the functional modules in the above-mentioned electronic device. As shown in FIG3 , the automated three-dimensional scanning device 300 includes:
[0109] A first acquisition module 310 is configured to acquire a current scanning path, where the current scanning path includes at least one scanning point pose;
[0110] The first scanning module 320 is configured to scan the scanned object based on the scanning point posture of the current scanning path to obtain a current three-dimensional model corresponding to the scanned object;
[0111] A first determination module 330 is configured to determine a next scanning path based on the current three-dimensional model, where the next scanning path includes at least one scanning point pose;
[0112] A first updating module 340 is configured to update the current scanning path based on the next scanning path;
[0113] The second updating module 350 is configured to scan the scanned object based on the updated scan point poses of the current scan path, and update the current three-dimensional model corresponding to the scanned object.
[0114] In another embodiment of the present disclosure, the current scanning path includes a preset scanning path, and the preset scanning path includes at least one preset scanning point posture;
[0115] The first scanning module 320 is specifically configured to scan the scanned object based on a preset scanning point posture of a preset scanning path to obtain a current three-dimensional model corresponding to the scanned object.
[0116] In another embodiment of the present disclosure, the first scanning module 320 is specifically configured to scan the scanned object based on a preset scanning point posture of a preset scanning path to obtain current scanning data; and perform gridding and hole filling processing based on the current scanning data to obtain the current three-dimensional model.
[0117] In yet another embodiment of the present disclosure, the current scan path includes an updated scan path, and the updated scan path includes at least one updated scan point pose;
[0118] The first scanning module 320 is specifically configured to scan the scanned object based on the updated scanning point posture of the updated scanning path, and update the three-dimensional model corresponding to the scanned object obtained in the previous scan to obtain the current three-dimensional model corresponding to the scanned object.
[0119] In yet another embodiment of the present disclosure, the first determining module 330 includes:
[0120] A first acquisition submodule is configured to acquire a preset solution space, wherein the solution space includes a plurality of candidate scanning point poses;
[0121] A first determination submodule is configured to determine, based on the current three-dimensional model, current gain values corresponding to a plurality of candidate scanning point poses, wherein the current gain values are used to represent a degree of scan completeness of a subregion corresponding to the candidate scanning point pose on the current three-dimensional model;
[0122] The first selection submodule is configured to select at least one as a scanning point posture of a next scanning path from a plurality of candidate scanning point postures based on current revenue values respectively corresponding to the plurality of candidate scanning point postures.
[0123] In another embodiment of the present disclosure, the first determining submodule includes:
[0124] A first acquisition unit is configured to acquire a current weight field, wherein the current weight field includes a plurality of voxel points and weight values of the plurality of voxel points, and the current three-dimensional model is located in the current weight field;
[0125] a rendering unit configured to render, for mesh facets on the current three-dimensional model, mesh facets obtained by meshing the current scan data into a preset first color, and to determine corresponding colors for mesh facets obtained by hole-filling processing according to a preset coding principle based on their IDs and render them into corresponding colors, wherein the color corresponding to each mesh facet obtained by hole-filling processing is different from the colors corresponding to other mesh facets on the current three-dimensional model;
[0126] A first determining unit is configured to determine, for each candidate scanning point pose, a subregion corresponding thereto on the current three-dimensional model, and generate a current gain map corresponding to the subregion, wherein pixels in the current gain map correspond to mesh patches on the current three-dimensional model;
[0127] The second determining unit is configured to determine, for a pixel in the current gain map, a corresponding ID of the pixel according to its color, determine a three-dimensional point corresponding to the pixel in the current weight field based on the pixel and the corresponding ID, and use a current weight value corresponding to the three-dimensional point in the current weight field as a weight value of the pixel;
[0128] The first adding unit is configured to add the weight values of the pixel points in the current gain map corresponding to the mesh patches obtained by the hole filling process to obtain the gain value of the current gain map, and use the gain value of the current gain map as the current gain value of the corresponding candidate scanning point posture.
[0129] In another embodiment of the present disclosure, the first determining submodule includes:
[0130] A first acquisition unit is configured to acquire a current weight field, wherein the current weight field includes a plurality of voxel points and current weight values of the plurality of voxel points, and the current three-dimensional model is located in the current weight field;
[0131] A third determining unit is configured to determine, for a candidate scanning point pose, a subregion corresponding thereto on the current three-dimensional model, and use a current weight value corresponding to the three-dimensional point in the subregion in the current weight field as a weight value of the three-dimensional point;
[0132] The second adding unit is configured to add the weight values of the three-dimensional points in the sub-region and on the mesh surface obtained by the hole filling process to obtain the current benefit value of the candidate scanning point posture.
[0133] In another embodiment of the present disclosure, the first acquiring unit may include:
[0134] A first scanning subunit is configured to scan the scanned object based on the scanning point posture of the current scanning path to obtain a current three-dimensional model corresponding to the scanned object;
[0135] A first acquisition subunit is configured to acquire an initial weight field, wherein the initial weight field includes a plurality of voxel points and initial weight values of the plurality of voxel points, and the current three-dimensional model is located in the initial weight field;
[0136] The first updating subunit is configured to update the initial weight field based on the current three-dimensional model to obtain a current weight field.
[0137] In another embodiment of the present disclosure, the first update subunit is specifically configured to determine the voxel points in the initial weight field and reduce the corresponding initial weight values of the parts of the current three-dimensional model obtained by the camera scanning based on the scanning point posture located in the current scanning path to the first weight value; for the current three-dimensional model, determine the voxel points in the initial weight field through which the line connecting it and the camera at the scanning point posture located in the current scanning path passes, and reduce the weight values corresponding to the passed voxel points to the second weight value; and update the initial weight field to obtain the current weight field.
[0138] In another embodiment of the present disclosure, for a pixel point in the current revenue map, a corresponding ID of the pixel point is determined according to the color, and a three-dimensional point corresponding to the pixel point is determined in the current weight field based on the pixel point and the corresponding ID, including:
[0139] For the pixel points in the current income map, the mesh patch ID corresponding to the pixel point is determined according to the color, and linear interpolation is performed on the mesh patch corresponding to the ID based on the pixel coordinates of the pixel point to obtain the 3D point corresponding to the pixel point.
[0140] In yet another embodiment of the present disclosure, the first determining submodule further includes:
[0141] The identification unit is configured to use different types of identifications to distinguish between mesh patches obtained by meshing processing and mesh patches obtained based on hole filling processing for the current three-dimensional model.
[0142] In another embodiment of the present disclosure, the first selection submodule is specifically configured to sort the current revenue values corresponding to the plurality of candidate scanning point postures to obtain a sorting result;
[0143] Based on the sorting result, at least the candidate scanning point pose corresponding to the maximum benefit value is used as the scanning point pose of the next scanning path.
[0144] The device provided in this embodiment can execute the method of any of the above embodiments, and its execution method and beneficial effects are similar, which will not be repeated here.
[0145] An embodiment of the present disclosure further provides an electronic device, which includes: a memory storing a computer program; a processor for executing the computer program, and when the computer program is executed by the processor, the method of any of the above embodiments can be implemented.
[0146] For example, FIG4 is a schematic diagram of the structure of an electronic device in an embodiment of the present disclosure. Specific reference is made below to FIG4 , which shows a schematic diagram of the structure of an electronic device 400 suitable for implementing an embodiment of the present disclosure. The electronic device 400 in the embodiment of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. The electronic device shown in FIG4 is merely an example and should not impose any limitations on the functions and scope of use of the embodiments of the present disclosure.
[0147] As shown in Figure 4, electronic device 400 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 402 or a program loaded from a storage device 408 into a random access memory (RAM) 403. Various programs and data required for the operation of electronic device 400 are also stored in RAM 403. Processing device 401, ROM 402, and RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to bus 404.
[0148] Typically, the following devices may be connected to the I / O interface 405: an input device 406 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 407 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 408 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 409. The communication device 409 may allow the electronic device 400 to communicate with other devices wirelessly or by wire to exchange data. Although FIG4 shows the electronic device 400 with various devices, it should be understood that not all of the devices shown are required to be implemented or present. More or fewer devices may alternatively be implemented or present.
[0149] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 409, or installed from the storage device 408, or installed from the ROM 402. When the computer program is executed by the processing device 401, the above-mentioned functions defined in the method of the embodiment of the present disclosure are performed.
[0150] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination of the above. 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, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, device, or component. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.
[0151] In some embodiments, the client and server can communicate using any currently known or later developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or later developed network.
[0152] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0153] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device is enabled to: obtain a current scanning path, where the current scanning path includes at least one scanning point posture;
[0154] Scanning the scanned object based on the scanning point posture of the current scanning path to obtain a current three-dimensional model corresponding to the scanned object;
[0155] Determine a next scanning path based on the current three-dimensional model, where the next scanning path includes at least one scanning point pose;
[0156] updating the current scan path based on the next scan path;
[0157] The scan object is scanned based on the updated scan point pose of the current scan path, and the current three-dimensional model corresponding to the scanned object is updated.
[0158] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including, but not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0159] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0160] The units involved in the embodiments described in this disclosure may be implemented in software or hardware, wherein the name of a unit does not necessarily limit the unit itself.
[0161] The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.
[0162] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0163] The embodiments of the present disclosure also provide a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the method of any of the above embodiments can be implemented. The execution method and beneficial effects are similar and will not be repeated here.
[0164] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device that includes the element.
[0165] The above are merely specific embodiments of the present disclosure, intended to enable those skilled in the art to understand and implement the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure is not limited to these embodiments, but is to be construed in the broadest manner consistent with the principles and novel features disclosed herein. Industrial Applicability
[0166] The automated 3D scanning method disclosed herein uses a globally preset weight field to control the global benefit value, thereby escaping local optima. This reduces the risk of being stuck in an infinite loop or unable to complete the scan due to being unable to escape the local optimum, thereby improving 3D scanning efficiency. Furthermore, it can automatically obtain the optimal scanning path, creating the most complete 3D model of the scanned object using the least amount of scan data, demonstrating its strong industrial applicability.
Claims
1. An automated three-dimensional scanning method, wherein, including: Obtain the current scanning path, where the current scanning path includes at least one scanning point pose; Scan the object to be scanned based on the scanning point poses of the current scanning path to obtain the current three-dimensional model corresponding to the object to be scanned; Determine the next scanning path based on the current three-dimensional model, where the next scanning path includes at least one scanning point pose; Update the current scanning path based on the next scanning path; Scan the scanning object based on the scanning point poses of the updated current scanning path to update the current three-dimensional model corresponding to the object to be scanned.
2. The method according to claim 1, wherein The current scanning path includes a preset scanning path, and the preset scanning path includes at least one preset scanning point pose; Among them, scanning the object to be scanned based on the scanning point poses of the current scanning path to obtain the current three-dimensional model corresponding to the object to be scanned includes: Scanning the object to be scanned based on the preset scanning point poses of the preset scanning path to obtain the current three-dimensional model corresponding to the object to be scanned.
3. The method according to claim 1, wherein, The current scanning path includes an updated scanning path, and the updated scanning path includes at least one updated scanning point pose; Among them, scanning the object to be scanned based on the scanning point poses of the current scanning path to obtain the current three-dimensional model corresponding to the object to be scanned includes: Scanning the object to be scanned based on the updated scanning point poses of the updated scanning path, and updating the three-dimensional model obtained from the previous scan corresponding to the object to be scanned to obtain the current three-dimensional model corresponding to the object to be scanned.
4. The method according to claim 1, wherein Scanning the object to be scanned based on the scanning point poses of the current scanning path to obtain the current three-dimensional model corresponding to the object to be scanned includes: Scanning the object to be scanned based on the preset scanning point poses of the preset scanning path to obtain the current scan data; Perform meshing processing and hole filling processing on the current scan data to obtain the current three-dimensional model.
5. The method according to claim 1, wherein Determining the next scanning path based on the current three-dimensional model includes: Obtain a preset solution space, where the solution space includes multiple candidate scanning point poses; Based on the current three-dimensional model, determine the current benefit values corresponding to the multiple candidate scanning point poses respectively, where the current benefit value is used to characterize the degree of completeness of the scan of the sub-region corresponding to the candidate scanning point pose on the current three-dimensional model; Based on the current benefit values corresponding to the multiple candidate scanning point poses respectively, select at least one from the multiple candidate scanning point poses as the scanning point pose of the next scanning path.
6. The method according to claim 5, wherein, Based on the current three-dimensional model, determining the current benefit values corresponding to the multiple candidate scanning point poses respectively includes: Obtain the current weight field, where the current weight field includes multiple voxel points and the current weight values of the multiple voxel points, and the current three-dimensional model is located in the current weight field; For the mesh patches on the current three-dimensional model, render the mesh patches obtained by meshing the current scan data into a preset first color, and for the mesh patches obtained by hole filling processing, determine their corresponding colors according to the preset coding principle based on their IDs and render them into the corresponding colors, where the color corresponding to each mesh patch obtained by hole filling processing is different from the colors corresponding to other mesh patches on the current three-dimensional model; For a candidate scanning pose, determine a corresponding sub-region on the current three-dimensional model, and generate a current benefit map corresponding to the sub-region, where the pixel points in the current benefit map have a corresponding relationship with the mesh patches on the current three-dimensional model; for the pixel points in the current benefit map, determine the corresponding ID of the pixel points according to the color, determine the three-dimensional points corresponding to the pixel points in the current weight field based on the pixel points and the corresponding IDs, and use the current weight value corresponding to the three-dimensional points in the current weight field as the weight value of the pixel points. Sum up the weight values of the pixel points in the current benefit map corresponding to the mesh patches obtained by hole filling processing to obtain the benefit value of the current benefit map, and use the benefit value of the current benefit map as the current benefit value of the corresponding candidate scanning pose.
7. The method according to claim 5, wherein Based on the current three-dimensional model, determine the current benefit values corresponding to multiple candidate scanning poses, including: Obtain the current weight field, where the current weight field includes multiple voxel points and the current weight values of the multiple voxel points, and the current three-dimensional model is located in the current weight field; For a candidate scanning pose, determine a corresponding sub-region on the current three-dimensional model, and use the current weight value corresponding to the three-dimensional points in the sub-region in the current weight field as the weight value of the three-dimensional points; Sum up the weight values of the three-dimensional points on the mesh patches obtained by hole filling processing in the sub-region to obtain the current benefit value of the candidate scanning pose.
8. The method according to claim 6 or 7, wherein Obtain the current weight field, including: Scan the scanned object based on the scanning poses of the current scanning path to obtain the current three-dimensional model corresponding to the scanned object; Obtain the initial weight field, where the initial weight field includes multiple voxel points and the initial weight values of the multiple voxel points, and the current three-dimensional model is located in the initial weight field; Update the initial weight field based on the current three-dimensional model to obtain the current weight field.
9. The method according to claim 8, wherein Update the initial weight field based on the current three-dimensional model to obtain the current weight field, including: For the part of the current three-dimensional model obtained by camera scanning based on the scanning poses on the current scanning path, determine the voxel points in the initial weight field corresponding to it and reduce their corresponding initial weight values to the first weight value; For the current three-dimensional model, determine the voxel points passed through by the connection line between the camera and the scanning poses on the current scanning path in the initial weight field, and reduce the weight values corresponding to the passed-through voxel points to the second weight value; Update the initial weight field to obtain the current weight field.
10. The method according to claim 6, wherein, For the pixel points in the current benefit map, determine the corresponding ID of the pixel points according to the color, and determine the three-dimensional points corresponding to the pixel points in the current weight field based on the pixel points and the corresponding IDs, including: For the pixel points in the current benefit map, determine the mesh patch ID corresponding to the pixel points according to the color, and perform linear interpolation on the mesh patch with the corresponding ID based on the pixel coordinates of the pixel points to obtain the three-dimensional points corresponding to the pixel points.
11. The method according to claim 6, wherein, Also include: For the current three-dimensional model, use different types of identifiers to distinguish the mesh patches obtained by meshing processing and the mesh patches obtained based on hole filling processing.
12. The method according to claim 6, wherein, Select at least one from multiple candidate scanning poses as the scanning pose of the next scanning path, including: Sort the current benefit values corresponding to multiple candidate scanning point poses to obtain a sorting result; Based on the sorting result, at least use the candidate scanning point pose corresponding to the maximum benefit value as the scanning point pose of the next scanning path.
13. An automated three-dimensional scanning device, wherein, Including: A first acquisition module configured to acquire a current scanning path, the current scanning path including at least one scanning point pose; A first scanning module configured to scan an object to be scanned based on the scanning point poses of the current scanning path to obtain a current three-dimensional model corresponding to the object to be scanned; A first determination module configured to determine a next scanning path based on the current three-dimensional model, the next scanning path including at least one scanning point pose; A first update module configured to update the current scanning path based on the next scanning path; A second update module configured to scan the scanning object based on the scanning point poses of the updated current scanning path and update the current three-dimensional model corresponding to the object to be scanned.
14. An electronic device, wherein, Including: A processor and a memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the method according to any one of claims 1-12.
15. A computer-readable storage medium, wherein, A computer program is stored in a computer-readable storage medium, and when the computer program is executed by a processor, the method according to any one of claims 1-12 is implemented.
Citation Information
Patent Citations
Point cloud three-dimensional model reestablishing method and system
CN104063894A
Three-dimensional scanning path planning method and device
CN111238366A
Three-dimensional reconstruction method and terminal equipment
CN116797713A
Automatic three-dimensional scanning method, device and equipment and storage medium
CN117499547A
APPARATUS AND METHOD FOR Generating A Scan Path Of A Scanner For A Model
KR102088307B1