Distributed Computing System and Method for 3D Reconstruction

Through the distributed computing system management and allocation of three-dimensional reconstruction tasks, the problem of excessive computing resource consumption in high-precision three-dimensional reconstruction is solved, and efficient and economical three-dimensional reconstruction is achieved, which is suitable for low- and medium-performance computing platforms.

CN116204323BActive Publication Date: 2025-07-04SHANDONG INSPUR SCI RES INST CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310310708.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-28
Publication Date
2025-07-04
Estimated Expiration
2043-03-28

AI Technical Summary

Technical Problem

The existing technology has poor real-time performance due to excessive computing resource consumption in large scenarios and high-precision three-dimensional reconstruction, and the reconstruction work cannot be effectively carried out.

Method used

A distributed computing system is adopted, including a distributed data management framework and a multi-task parallel computing framework, and three-dimensional reconstruction data is stored in blocks using HDFS. The multi-task parallel computing framework is used to allocate tasks to different computing nodes based on the node load scheduling strategy, and perform image acquisition, feature extraction, motion structure recovery, dense reconstruction, surface reconstruction and texture mapping tasks.

Benefits of technology

It improves the real-time and efficiency of three-dimensional reconstruction, supports high scalability, reliability and economy, can handle large amounts of data and high concurrent tasks, reduces system costs, and is suitable for low- and medium-performance computing platforms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116204323B_ABST
    Figure CN116204323B_ABST
Patent Text Reader

Abstract

The present invention discloses a distributed computing system and method for 3D reconstruction, which relates to the technical field of data distributed computing systems; the distributed computing system includes a distributed data management framework and a multi-task parallel computing framework. The distributed data management framework manages 3D reconstruction data, stores the 3D reconstruction data in blocks using HDFS, provides 3D reconstruction data lookup for the multi-task parallel computing framework to perform distributed computing and 3D reconstruction task allocation. The multi-task parallel computing framework defines the 3D reconstruction tasks to be executed, classifies and summarizes them according to the characteristics and requirements of the 3D reconstruction tasks. The 3D reconstruction tasks include image acquisition tasks, feature extraction tasks, structure from motion recovery tasks, dense reconstruction tasks, surface reconstruction tasks, and texture mapping tasks. The multi-task parallel computing framework distributes the 3D reconstruction tasks to different computing nodes based on a scheduling strategy of node load.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention discloses a distributed computing system and method, relating to the technical field of data distributed computing systems, specifically a distributed computing system and method for three-dimensional reconstruction. Background Art

[0002] Virtualization scenario construction is a key technology and basic guarantee for building a digital world, and three-dimensional reconstruction is a key technology for depicting a real scene into a mathematical model that conforms to computer logic expression and establishing virtual reality that expresses the objective world in a computer. To more comprehensively understand the three-dimensional information of a scene and more completely express the details of the scene, dense reconstruction technology is usually used to achieve high-precision three-dimensional reconstruction of the scene. Dense reconstruction requires collecting and matching a large amount of scene depth information, and the information collection and processing process will consume a large amount of computing resources, seriously reducing the real-time performance of the three-dimensional reconstruction system or even causing it to be unable to work on medium- and low-performance computing platforms, thus restricting its practical application and promotion. Summary of the Invention

[0003] Aiming at the problems of the prior art, the present invention provides a distributed computing system and method for three-dimensional reconstruction, aiming to solve the problems such as poor real-time performance and inability to effectively carry out reconstruction work caused by excessive consumption of computing resources in large-scale and high-precision three-dimensional reconstruction.

[0004] The specific solution proposed by the present invention is as follows:

[0005] The present invention provides a distributed computing system for three-dimensional reconstruction. The distributed computing system includes a distributed data management framework and a multi-task parallel computing framework. The distributed data management framework manages three-dimensional reconstruction data, stores the three-dimensional reconstruction data in blocks using HDFS, and provides three-dimensional reconstruction data lookup for the multi-task parallel computing framework to perform distributed computing and three-dimensional reconstruction task allocation.

[0006] The multi-task parallel computing framework defines the three-dimensional reconstruction tasks to be executed, classifies and summarizes them according to the characteristics and requirements of the three-dimensional reconstruction tasks. The three-dimensional reconstruction tasks include image acquisition tasks, feature extraction tasks, structure from motion recovery tasks, dense reconstruction tasks, surface reconstruction tasks, and texture mapping tasks.

[0007] The multi-task parallel computing framework allocates three-dimensional reconstruction tasks to different computing nodes based on a scheduling strategy of node load. The specific steps include:

[0008] Step 1: Allocate image acquisition tasks to image acquisition nodes, support the image acquisition nodes to parallelly acquire different image data, and transmit the acquired image data to the central node.

[0009] Step 2: Allocate the feature extraction task to the feature extraction nodes, support the parallel extraction of feature data from different image data by the feature extraction nodes, and transmit the feature data back to the central node for integration.

[0010] Step 3: Allocate the motion structure recovery task to the central node, support the central node to process the image pair matching work, and send the matched image pairs to the image matching nodes to carry out the feature pair matching work in parallel. Support the image matching nodes to transmit the completed matching feature pairs back to the central node, and the central node uses the motion estimation algorithm to carry out the motion structure recovery to obtain the camera pose and corresponding parameters.

[0011] Step 4: Allocate the dense reconstruction task to the dense reconstruction nodes, support the dense reconstruction nodes to carry out the dense reconstruction task for different image pairs in parallel using the stereo matching algorithm, and transmit the reconstructed depth data back to the central node to complete the depth data integration.

[0012] Step 5: Allocate the surface reconstruction task to the surface reconstruction nodes, support the surface reconstruction nodes to carry out the surface mesh reconstruction work for some of the depth data in parallel using the triangulation algorithm, and transmit the reconstructed mesh data back to the central node. Support the central node to splice each mesh data to form a complete mesh.

[0013] Step 6: Allocate the texture mapping task to the texture mapping nodes, support the texture mapping nodes to complete the texture mapping in parallel using the texture mapping algorithm.

[0014] Furthermore, in the distributed computing system for 3D reconstruction, the distributed data management framework manages the 3D reconstruction data, and further includes: managing data acquisition, data preprocessing, data format conversion, and data segmentation of the 3D reconstruction data.

[0015] Furthermore, in the distributed computing system for 3D reconstruction, the distributed data management framework uses HDFS to store the 3D reconstruction data in blocks, including:

[0016] Use the API provided by HDFS to upload the 3D reconstruction data to HDFS, divide the uploaded 3D reconstruction data into multiple data blocks, generate a unique identifier for each data block for 3D reconstruction task allocation, compress the data blocks using the LZ4 compression algorithm, and store the data blocks on different nodes in HDFS.

[0017] Furthermore, in the distributed computing system for 3D reconstruction, providing the search for 3D reconstruction data includes:

[0018] The distributed data management framework uses the metadata information of the data blocks of the 3D reconstruction data stored in HDFS to search for the data blocks. The metadata information includes the identifier, the number of the data block, the size, the storage location, and the creation time.

[0019] Furthermore, in the distributed computing system for 3D reconstruction, the multi-task parallel computing framework distributes 3D reconstruction tasks to different computing nodes based on the scheduling strategy of node load. The scheduling strategy takes into account the dependency relationships and execution order of 3D reconstruction tasks, and dynamically adjusts according to the node load situation and task execution priorities. The situation of node load is obtained by balancing the processing load of data blocks according to the data skew processing algorithm.

[0020] Furthermore, in the distributed computing system for 3D reconstruction, the multi-task parallel computing framework also monitors 3D reconstruction tasks, and real-time monitors the execution status of 3D reconstruction tasks, the situation of node load, and the resource usage of the distributed computing system.

[0021] The present invention also provides a distributed computing method for 3D reconstruction, constructs the distributed computing system, which includes a distributed data management framework and a multi-task parallel computing framework. The 3D reconstruction data is managed by the distributed data management framework, and the 3D reconstruction data is stored in blocks using HDFS, and 3D reconstruction data lookup is provided so that the multi-task parallel computing framework can perform distributed computing and 3D reconstruction task allocation.

[0022] The 3D reconstruction tasks to be executed are defined by the multi-task parallel computing framework, and classified and summarized according to the characteristics and requirements of the 3D reconstruction tasks. The 3D reconstruction tasks include image acquisition tasks, feature extraction tasks, structure from motion recovery tasks, dense reconstruction tasks, surface reconstruction tasks, and texture mapping tasks.

[0023] The 3D reconstruction tasks are distributed to different computing nodes by the multi-task parallel computing framework based on the scheduling strategy of node load. The specific steps include:

[0024] Step 1: Allocate the image acquisition task to the image acquisition node, support the image acquisition node to parallelly acquire different image data, and transmit the acquired image data to the central node.

[0025] Step 2: Allocate the feature extraction task to the feature extraction node, support the feature extraction node to parallelly extract the feature data of different image data, and transmit the feature data back to the central node for integration.

[0026] Step 3: Allocate the structure from motion recovery task to the central node, support the central node to process the image pair matching work, and send the matched image pairs to the image matching node to parallelly carry out the feature pair matching work. Support the image matching node to transmit the completed matched feature pairs back to the central node, and the central node uses the motion estimation algorithm to carry out the structure from motion recovery to obtain the camera pose and corresponding parameters.

[0027] Step 4: Allocate the dense reconstruction task to the dense reconstruction nodes, support the dense reconstruction nodes to parallelly utilize the stereo matching algorithm to carry out the dense reconstruction task for different image pairs, and transmit the reconstructed depth data back to the central node to complete the integration of the depth data.

[0028] Step 5: Allocate the surface reconstruction task to the surface reconstruction nodes, support the surface reconstruction nodes to parallelly utilize the triangulation algorithm to carry out the surface mesh reconstruction work for part of the depth data, and transmit the reconstructed mesh data back to the central node, support the central node to splice each mesh data to form a complete mesh.

[0029] Step 6: Allocate the texture mapping task to the texture mapping nodes, support the texture mapping nodes to parallelly utilize the texture mapping algorithm to complete the texture mapping.

[0030] The present invention also provides a distributed computing device for 3D reconstruction, including: at least one memory and at least one processor.

[0031] The at least one memory is used for storing machine-readable programs.

[0032] The at least one processor is used for calling the machine-readable programs and executing the distributed computing method for 3D reconstruction as described above.

[0033] The beneficial effects of the present invention are as follows:

[0034] Compared with the existing single-machine 3D reconstruction system, the distributed computing system for high-precision 3D reconstruction proposed by the present invention has the advantages of high scalability, high reliability, high flexibility and high economy. The system of the present invention can expand the computing power by adding computing nodes, and can process a large amount of data and high-concurrency task requests; by using multiple computing nodes for parallel computing, the processing speed and efficiency of tasks can be greatly improved, and the processing time of tasks can be shortened; through data backup and fault tolerance mechanisms, the security and reliability of data are guaranteed, and even if a certain node fails, it will not affect the normal operation of the system; the system of the present invention can be flexibly configured and adjusted according to different task types and data volumes, and can be expanded or reduced according to needs; by using low-cost hardware resources to build a distributed system, the usage cost of the system can be reduced, the economy of the system can be improved, and the application and popularization of the system are facilitated. Description of the Drawings

[0035] Figure 1 It is a schematic diagram showing the functions of the system framework of the present invention.

[0036] Figure 2 It is a schematic diagram showing the calculation process of the method of the present invention. Detailed Embodiments

[0037] The present invention will be further described below in conjunction with the accompanying drawings and specific embodiments, so that those skilled in the art can better understand the present invention and be able to implement it, but the exemplified embodiments are not intended to limit the present invention.

[0038] The present invention provides a distributed computing system for 3D reconstruction. The distributed computing system includes a distributed data management framework and a multi-task parallel computing framework. The distributed data management framework manages 3D reconstruction data, stores the 3D reconstruction data in blocks using HDFS, and provides 3D reconstruction data lookup for the multi-task parallel computing framework to perform distributed computing and 3D reconstruction task allocation.

[0039] The multi-task parallel computing framework defines the 3D reconstruction tasks to be executed, classifies and summarizes them according to the characteristics and requirements of the 3D reconstruction tasks. The 3D reconstruction tasks include image acquisition tasks, feature extraction tasks, structure from motion recovery tasks, dense reconstruction tasks, surface reconstruction tasks, and texture mapping tasks.

[0040] The multi-task parallel computing framework distributes the 3D reconstruction tasks to different computing nodes based on a scheduling strategy of node load. The specific steps include:

[0041] Step 1: Allocate the image acquisition task to the image acquisition nodes, support the image acquisition nodes to parallelly acquire different image data, and transmit the acquired image data to the central node.

[0042] Step 2: Allocate the feature extraction task to the feature extraction nodes, support the feature extraction nodes to parallelly extract the feature data of different image data, and transmit the feature data back to the central node for integration.

[0043] Step 3: Allocate the structure from motion recovery task to the central node, support the central node to process the image pair matching work, and send the matched image pairs to the image matching nodes to parallelly carry out the feature pair matching work. Support the image matching nodes to transmit the completed matched feature pairs back to the central node, and the central node uses the motion estimation algorithm to carry out the structure from motion recovery to obtain the camera pose and corresponding parameters.

[0044] Step 4: Allocate the dense reconstruction task to the dense reconstruction nodes, support the dense reconstruction nodes to parallelly use the stereo matching algorithm to carry out the dense reconstruction task for different image pairs, and transmit the reconstructed depth data back to the central node to complete the depth data integration.

[0045] Step 5: Allocate the surface reconstruction task to the surface reconstruction nodes, support the surface reconstruction nodes to parallelly use the triangulation algorithm to carry out the surface mesh reconstruction work for part of the depth data, and transmit the reconstructed mesh data back to the central node. Support the central node to splice the grid data to form a complete grid.

[0046] Step 6: Assign the texture mapping task to the texture mapping node, and support the texture mapping node to complete the texture mapping in parallel using the texture mapping algorithm.

[0047] Furthermore, in specific applications, based on the technical solution of the system of the present invention, in some embodiments of the system of the present invention, the distributed computing system includes a distributed data management framework and a multi-task parallel computing framework.

[0048] The distributed data management framework manages the 3D reconstruction data, stores the 3D reconstruction data in blocks using HDFS, and provides 3D reconstruction data lookup for the multi-task parallel computing framework to perform distributed computing and 3D reconstruction task allocation.

[0049] Among them, the distributed data management framework stores data using the distributed file system HDFS. The data mainly includes relevant 3D reconstruction data, and can specifically manage operations such as data acquisition, data preprocessing, data format conversion, data segmentation, and data storage to ensure that the data can be correctly read and processed by the system.

[0050] Specifically, for the data storage process, the following can be referred to: Use the API provided by HDFS to upload the 3D reconstruction data to HDFS, divide the uploaded 3D reconstruction data into multiple data blocks. The size of the data blocks can be adjusted according to the actual situation. Generate a unique identifier for each data block for 3D reconstruction task allocation. Use the LZ4 compression algorithm to compress the data blocks and store the data blocks on different nodes in HDFS to ensure the high availability and data security of the system, and achieve data backup and redundancy.

[0051] The distributed data management framework also provides 3D reconstruction data lookup, including: The distributed data management framework uses the metadata management tool or API provided by HDFS to maintain the metadata information of the data blocks, and performs data block lookup according to the metadata information. The metadata information includes the identifier, the number, size, storage location, and creation time of the data block, etc. The distributed data management framework realizes the management of the distributed computing system and the lookup of data blocks. And to ensure the reliability and security of the data, data backup is performed in the distributed file system in a block-based manner. During the data storage process, in order to effectively reduce the size of the data during network transmission and storage, the LZ4 compression algorithm is used to compress the data.

[0052] The multi-task parallel computing framework defines the 3D reconstruction tasks to be executed, classifies and summarizes them according to the characteristics and requirements of the 3D reconstruction tasks, uses an efficient task scheduling algorithm to allocate tasks, and dynamically adjusts the task allocation during the task execution process to complete tasks such as image acquisition, feature extraction, structure from motion recovery, dense reconstruction, surface reconstruction, and texture mapping in the high-precision 3D reconstruction workflow.

[0053] The multi-task parallel computing framework distributes 3D reconstruction tasks to different computing nodes based on a scheduling strategy for node load. The scheduling strategy takes into account the dependency relationships and execution order of 3D reconstruction tasks to ensure that each 3D reconstruction task can be executed in the correct order and produce correct results. It is dynamically adjusted according to the node load situation and task execution priorities to improve the task execution efficiency of the system. Data skew handling algorithms such as data randomization are used to balance the processing load of data blocks to obtain the node load situation, avoiding excessive processing time for some data blocks, which may lead to an extended execution time for the entire task.

[0054] For the specific process of high-precision 3D reconstruction, please refer to the following:

[0055] Step 1: Allocate image acquisition tasks to image acquisition nodes, support the parallel acquisition of different image data by image acquisition nodes, and transmit the acquired image data to the central node. The image acquisition nodes can use network and sensor technologies for coordination and transmit the acquired image data to the central node;

[0056] Step 2: Allocate feature extraction tasks to feature extraction nodes, support the parallel extraction of feature data from different image data by feature extraction nodes, and transmit the feature data back to the central node for integration. The feature extraction nodes can use the CUDA-based SIFT algorithm for feature extraction and transmit the extracted feature data back to the central node for integration;

[0057] Step 3: Allocate structure from motion recovery tasks to the central node, support the central node to handle image pair matching work, and send the matched image pairs to image matching nodes to carry out feature pair matching work in parallel. Support the image matching nodes to transmit the completed matched feature pairs back to the central node, and the central node uses motion estimation algorithms to carry out structure from motion recovery to obtain the camera pose and corresponding parameters;

[0058] Step 4: Allocate dense reconstruction tasks to dense reconstruction nodes, support the dense reconstruction nodes to parallelly use stereo matching algorithms to carry out dense reconstruction tasks for different image pairs, and transmit the reconstructed depth data back to the central node to complete depth data integration;

[0059] Step 5: Allocate surface reconstruction tasks to surface reconstruction nodes, support the surface reconstruction nodes to parallelly use triangulation algorithms to carry out surface mesh reconstruction work for some depth data, and transmit the reconstructed mesh data back to the central node. Support the central node to splice each mesh data to form a complete mesh;

[0060] Step 6: Allocate texture mapping tasks to texture mapping nodes, support the texture mapping nodes to parallelly use texture mapping algorithms to complete texture mapping.

[0061] Meanwhile, the multi-task parallel computing framework also monitors the 3D reconstruction task, and real-time monitors the execution status of the 3D reconstruction task, the node load situation, and the resource usage of the distributed computing system.

[0062] By using the distributed computing system to complete tasks such as image acquisition, feature extraction, structure from motion recovery, dense reconstruction, surface reconstruction, and texture mapping in the high-precision 3D reconstruction workflow, the processing speed and efficiency of the tasks can be greatly improved, and powerful computing support can be provided for high-precision 3D reconstruction, improving the real-time performance of the system.

[0063] The present invention also provides a distributed computing method for 3D reconstruction, constructs the distributed computing system, the distributed computing system includes a distributed data management framework and a multi-task parallel computing framework, manages 3D reconstruction data through the distributed data management framework, stores the 3D reconstruction data in blocks using HDFS, provides 3D reconstruction data lookup for the multi-task parallel computing framework to perform distributed computing and 3D reconstruction task allocation.

[0064] Define the 3D reconstruction tasks to be executed through the multi-task parallel computing framework, classify and summarize according to the characteristics and requirements of the 3D reconstruction tasks, and the 3D reconstruction tasks include image acquisition tasks, feature extraction tasks, structure from motion recovery tasks, dense reconstruction tasks, surface reconstruction tasks, and texture mapping tasks.

[0065] Allocate the 3D reconstruction tasks to different computing nodes through the scheduling strategy of the multi-task parallel computing framework based on node load, and the specific steps include:

[0066] Step 1: Allocate the image acquisition task to the image acquisition node, support the image acquisition node to parallelly acquire different image data, and transmit the acquired image data to the central node.

[0067] Step 2: Allocate the feature extraction task to the feature extraction node, support the feature extraction node to parallelly extract the feature data of different image data, and transmit the feature data back to the central node for integration.

[0068] Step 3: Allocate the structure from motion recovery task to the central node, support the central node to process the image pair matching work, and send the matched image pairs to the image matching node to parallelly carry out the feature pair matching work, support the image matching node to transmit the completed matched feature pairs back to the central node, and the central node uses the motion estimation algorithm to carry out structure from motion recovery to obtain the camera pose and corresponding parameters.

[0069] Step 4: Allocate the dense reconstruction task to the dense reconstruction nodes, support the dense reconstruction nodes to parallelly utilize the stereo matching algorithm to carry out the dense reconstruction task for different image pairs, and transmit the reconstructed depth data back to the central node to complete the integration of depth data.

[0070] Step 5: Allocate the surface reconstruction task to the surface reconstruction nodes, support the surface reconstruction nodes to parallelly utilize the triangulation algorithm to carry out the surface mesh reconstruction work for part of the depth data, and transmit the reconstructed mesh data back to the central node, support the central node to splice each mesh data to form a complete mesh.

[0071] Step 6: Allocate the texture mapping task to the texture mapping nodes, support the texture mapping nodes to parallelly utilize the texture mapping algorithm to complete the texture mapping.

[0072] In the method of the present invention, for the content such as information interaction and execution process using the distributed computing system, since it is based on the same concept as the system embodiment of the present invention, the specific content can be referred to the description in the system embodiment of the present invention and will not be elaborated here.

[0073] Similarly, compared with the existing single-machine 3D reconstruction method, the method of the present invention can perform a 3D reconstruction process with high scalability, high reliability, high flexibility and high economy by using a distributed computing system for high-precision 3D reconstruction. The method of the present invention can expand the computing power by adding computing nodes, can process a large amount of data and high-concurrency task requests; utilize multiple computing nodes for parallel computing, can greatly improve the processing speed and efficiency of tasks, and shorten the processing time of tasks; ensure the security and reliability of data through data backup and fault tolerance mechanisms, even if a certain node fails, it will not affect the normal operation of the system; the method of the present invention can be flexibly configured and adjusted according to different task types and data volumes, and can be expanded or contracted according to requirements; utilize low-cost hardware resources to construct a distributed system.

[0074] The present invention also provides a distributed computing device for 3D reconstruction, including: at least one memory and at least one processor;

[0075] The at least one memory is used to store machine-readable programs;

[0076] The at least one processor is used to call the machine-readable program and execute the distributed computing method for 3D reconstruction described above.

[0077] In the device of the present invention, the hardware support for the content such as information interaction and execution process provided by the distributed computing method, since it is based on the same concept as the method and system embodiments of the present invention, the specific content can be referred to the description in the system embodiment of the present invention and will not be elaborated here.

[0078] It should be noted that not all steps and framework modules in the above-mentioned processes and system structures are necessary, and some steps or framework modules can be ignored according to actual needs. The execution order of each step is not fixed and can be adjusted as needed. The system structures described in the above embodiments can be physical structures or logical structures, that is, some framework modules may be implemented by the same physical entity, or some modules may be implemented by multiple physical entities separately, or some components in multiple independent devices may be jointly implemented.

[0079] The above-mentioned embodiments are only preferred embodiments given to fully illustrate the present invention, and the protection scope of the present invention is not limited thereto. Equivalent substitutions or transformations made by those skilled in the art on the basis of the present invention are within the protection scope of the present invention. The protection scope of the present invention shall be subject to the claims.

Claims

1. A distributed computing system for three-dimensional reconstruction, characterized in that The distributed computing system includes a distributed data management framework and a multi-task parallel computing framework. The distributed data management framework manages 3D reconstruction data, stores the 3D reconstruction data in chunks using HDFS, and provides 3D reconstruction data lookup for the multi-task parallel computing framework to perform distributed computing and 3D reconstruction task allocation. The multi-task parallel computing framework defines the 3D reconstruction tasks to be executed, classifies and summarizes them according to the characteristics and requirements of the 3D reconstruction tasks. The 3D reconstruction tasks include image acquisition tasks, feature extraction tasks, structure from motion recovery tasks, dense reconstruction tasks, surface reconstruction tasks, and texture mapping tasks. The multi-task parallel computing framework distributes the 3D reconstruction tasks to different computing nodes based on a node load scheduling strategy. The specific steps are as follows: Step 1: Allocate the image acquisition tasks to image acquisition nodes, support the image acquisition nodes to parallelly acquire different image data, and transmit the acquired image data to the central node. Step 2: Allocate the feature extraction tasks to feature extraction nodes, support the feature extraction nodes to parallelly extract the feature data of different image data, and transmit the feature data back to the central node for integration. Step 3: Allocate the structure from motion recovery tasks to the central node, support the central node to process the image pair matching work, and send the matched image pairs to the image matching nodes to parallelly carry out the feature pair matching work. Support the image matching nodes to transmit the completed matched feature pairs back to the central node, and the central node uses the motion estimation algorithm to carry out the structure from motion recovery to obtain the camera pose and corresponding parameters. Step 4: Allocate the dense reconstruction tasks to dense reconstruction nodes, support the dense reconstruction nodes to parallelly use the stereo matching algorithm to carry out the dense reconstruction tasks for different image pairs, and transmit the reconstructed depth data back to the central node to complete the depth data integration. Step 5: Allocate the surface reconstruction tasks to surface reconstruction nodes, support the surface reconstruction nodes to parallelly use the triangulation algorithm to carry out the surface mesh reconstruction work for part of the depth data, and transmit the reconstructed mesh data back to the central node. Support the central node to splice the mesh data to form a complete mesh. Step 6: Allocate the texture mapping tasks to texture mapping nodes, support the texture mapping nodes to parallelly use the texture mapping algorithm to complete the texture mapping.

2. The distributed computing system for three-dimensional reconstruction according to claim 1, characterized in that The distributed data management framework manages 3D reconstruction data, and also includes: managing the data acquisition, data preprocessing, data format conversion, and data segmentation of 3D reconstruction data.

3. The distributed computing system for three-dimensional reconstruction according to claim 1 or 2, characterized in that The distributed data management framework stores the 3D reconstruction data in chunks using HDFS, including: Using the API provided by HDFS to upload the 3D reconstruction data to HDFS, dividing the uploaded 3D reconstruction data into multiple data chunks, generating a unique identifier for each data chunk for 3D reconstruction task allocation, compressing the data chunks using the LZ4 compression algorithm, and storing the data chunks on different nodes in HDFS.

4. The distributed computing system for three-dimensional reconstruction according to claim 1, wherein The providing 3D reconstruction data lookup includes: The described distributed data management framework uses HDFS to store the metadata information of the data blocks of the 3D reconstruction data for data block lookup. The metadata information includes identifiers, data block numbers, sizes, storage locations, and creation times.

5. The distributed computing system for three-dimensional reconstruction according to claim 1, characterized in that The multi-task parallel computing framework distributes 3D reconstruction tasks to different computing nodes based on the scheduling strategy of node loads. The scheduling strategy considers the dependency relationships and execution orders of 3D reconstruction tasks, and dynamically adjusts according to the node load conditions and task execution priorities. The node load conditions are obtained by balancing the processing loads of data blocks according to the data skew processing algorithm.

6. The distributed computing system for three-dimensional reconstruction according to claim 1, characterized in that The multi-task parallel computing framework also monitors 3D reconstruction tasks, and real-time monitors the execution status of 3D reconstruction tasks, the node load conditions, and the resource usage of the distributed computing system.

7. A distributed computing method for three-dimensional reconstruction, characterized in that Build a distributed computing system. The distributed computing system includes a distributed data management framework and a multi-task parallel computing framework. Manage 3D reconstruction data through the distributed data management framework, store the 3D reconstruction data in blocks using HDFS, and provide 3D reconstruction data lookup for the multi-task parallel computing framework to perform distributed computing and 3D reconstruction task distribution. Define the 3D reconstruction tasks to be executed through the multi-task parallel computing framework, classify and summarize them according to the characteristics and requirements of the 3D reconstruction tasks. The 3D reconstruction tasks include image acquisition tasks, feature extraction tasks, structure from motion recovery tasks, dense reconstruction tasks, surface reconstruction tasks, and texture mapping tasks. Distribute 3D reconstruction tasks to different computing nodes through the multi-task parallel computing framework based on the scheduling strategy of node loads. The specific steps are as follows: Step 1: Allocate the image acquisition task to the image acquisition node, support the image acquisition node to parallelly acquire different image data, and transmit the acquired image data to the central node. Step 2: Allocate the feature extraction task to the feature extraction node, support the feature extraction node to parallelly extract the feature data of different image data, and transmit the feature data back to the central node for integration. Step 3: Allocate the structure from motion recovery task to the central node, support the central node to process the image pair matching work, and send the matched image pairs to the image matching node to parallelly carry out the feature pair matching work. Support the image matching node to transmit the completed matched feature pairs back to the central node, and the central node uses the motion estimation algorithm to carry out the structure from motion recovery to obtain the camera poses and corresponding parameters. Step 4: Allocate the dense reconstruction task to the dense reconstruction node, support the dense reconstruction node to parallelly use the stereo matching algorithm to carry out the dense reconstruction task for different image pairs, and transmit the reconstructed depth data back to the central node to complete the depth data integration. Step 5: Allocate the surface reconstruction task to the surface reconstruction node, support the surface reconstruction node to parallelly use the triangulation algorithm to carry out the surface mesh reconstruction work for part of the depth data, and transmit the reconstructed mesh data back to the central node. Support the central node to splice each mesh data to form a complete mesh. Step 6: Assign the texture mapping task to the texture mapping node, and support the texture mapping node to complete the texture mapping in parallel by using the texture mapping algorithm.

8. A distributed computing device for three-dimensional reconstruction, characterized in that Including: At least one memory and at least one processor; The at least one memory is used for storing machine-readable programs; The at least one processor is used for calling the machine-readable program and executing the distributed computing method for 3D reconstruction according to claim 7.

Citation Information

Patent Citations

  • Three-dimensional reconstruction algorithm parallelization method based on GPU cluster

    CN111968218A

  • Three-dimensional scene reconstruction

    US10282898B1