Three-dimensional scanning image topology reconstruction based on curvature and region growth segmentation

By combining curvature-based segmentation and region-growing segmentation, the automation challenge of point cloud data topology reconstruction in existing technologies is solved, achieving efficient 3D topology reconstruction and tool path generation, which is suitable for automated manufacturing of industrial facilities.

CN121942012APending Publication Date: 2026-04-28SIMENS INDASTRI SOFTVEAR INK
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SIMENS INDASTRI SOFTVEAR INK
Filing Date
2023-09-29
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing technologies lack effective topology reconstruction methods when converting 3D scanned point cloud data into parametric surface representations, resulting in the inability to automatically generate optimized tool paths, relying on human knowledge and expertise, and existing methods cannot handle large datasets.

Method used

A combination of curvature-based segmentation and region-growing segmentation is adopted. The point cloud data generated by the 3D topology reconstruction engine is segmented and clustered, and the over-segmentation is corrected by the feature removal module to achieve automated topology reconstruction.

Benefits of technology

It enables automated 3D topology reconstruction, improving processing efficiency and quality, and supports automatic tool path generation, making it suitable for point cloud data processing in large factories or infrastructure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121942012A_ABST
    Figure CN121942012A_ABST
Patent Text Reader

Abstract

The invention relates to a computer-implemented method and system for extracting surface feature information from point cloud data. A 3D topology reconstruction engine receives point cloud data including one or more point cloud representations of an object and generates curvature-based segmentation and region growth segmentation of the point cloud data. A feature removal module identifies and removes the isolated clusters to correct for the over-segmentation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to 3D topology reconstruction of objects. More specifically, this application relates to 3D topology reconstruction of objects based on curvature-based segmentation and region-growing segmentation of a given point cloud representation of the object. Background Technology

[0002] The three-dimensional (3D) digitization of real-world objects (such as machine parts, tools, buildings, material structures, people, landscapes, etc.) is achieved through the use of optical and non-optical 3D scanning / measuring devices and X-ray tomography or other tomographic methods. These devices provide point cloud images as output data. Depending on the 3D scanning / measuring method used, the point cloud may describe only the surface of the digitized object or the entire volume. Point cloud data is a collection of measured points in 3D space, without further information about the connectivity of the individual points forming the surface or volume. To utilize this point cloud data in computer-aided design, engineering, and manufacturing (CAD, CAE, and CAM) software applications, it is necessary to convert the point cloud data into a surface representation (B-Rep or faceted / mesh model). Only in this way can the functionality provided in such software solutions be applied to the point cloud data. The fundamental reason is the need for the geometric kernel (e.g., Parasolid) of those applications that require a parametric surface representation of any object. In this case, any meaningful parametric surface reconstruction requires reconstructing the topology of the 3D scanned object.

[0003] Applications of object topology reconstruction include 3D modeling of the topology using CAD / CAM software tools, which can then be fed into a toolpath generator to automatically replicate the object via subtractive machining. Subtractive machining is a technique for manufacturing objects from a single piece of material by milling away unwanted material. Milling can be automated by developing programs for milling tools that guide the milling along the toolpath. Fully automated generation or planning (and optimization) of toolpaths for three-axis and five-axis machining operations, such as milling, remains a significant challenge for computer-aided manufacturing (CAM) software solutions. Significant human knowledge and expertise are required to obtain toolpaths that allow machining of components according to specified tolerances without damaging the machine tool or causing collisions. Most CAM software solutions today are based on surface representations of 3D part geometry (e.g., 3D boundary surface representations (B-rep)). However, the ability to reconstruct the topology of engineered objects, if subsequently performed with machining feature identification, offers the possibility of avoiding fully parametric reconstruction. Summary of the Invention

[0004] This disclosure describes a fully automated system and method for reconstructing object topology within 3D scan data of engineered objects, as well as buildings, facilities, infrastructure, and other manufactured objects. According to one aspect, a computer-implemented system includes a 3D topology reconstruction engine that receives point cloud data comprising one or more point cloud representations of objects and generates curvature-based segmentation and region growing segmentation of the point cloud data to generate distinct clusters within the one or more point clouds. Attached Figure Description

[0005] Non-limiting and non-exhaustive embodiments of this disclosure are described with reference to the following accompanying drawings, wherein, unless otherwise stated, the same reference numerals refer to the same elements throughout the drawings.

[0006] Figure 1 An example of a framework for generating 3D topology reconstruction from point cloud data according to embodiments of the present disclosure is shown.

[0007] Figure 2A A flowchart example of 3D topology reconstruction of a point cloud representation of an object according to an embodiment of the present disclosure is shown.

[0008] Figure 2B It shows in Figure 2A The flowchart shown is an example of the process for correcting oversegmentation during the topology reconstruction process.

[0009] Figure 3 and Figure 4 An example of a curvature histogram with a corresponding curvature-based point cloud segmentation according to an embodiment of the present disclosure is shown.

[0010] Figure 5 An example of Gaussian mixture of fitted point clusters according to embodiments of the present disclosure is shown.

[0011] Figure 6 Examples of computing environments in which embodiments of this disclosure may operate are shown. Detailed Implementation

[0012] Methods and systems for solving the technical problem of 3D topology reconstruction of objects or object systems generated from 3D scanned point cloud data are disclosed. The derived 3D topology is the basis of parametric surface representations (geometry), which have numerous applications. However, without topological information, any surface and / or primitive reconstruction of a given point cloud dataset is essentially meaningless, as it offers no benefit to reverse engineering, (re)manufacturing, simulation, quality control, and layout modeling workflows well supported by commercial software solutions such as Siemens NX. Such workflows can be summarized as classic design engineering workflows, layout generation workflows, and combinations thereof.

[0013] The solution presented in this disclosure describes a point cloud segmentation method and workflow based on a combination of curvature segmentation and region growing segmentation, which can be applied to classic reverse engineering applications as well as point clouds representing large factory or infrastructure objects. Examples of reverse engineering include generating optimized toolpaths for three-axis and five-axis machining operations (e.g., subtractive machining, milling) in the subtractive manufacturing of objects. Utilizing the improved 3D topology representation provided by this disclosure, automated toolpath generation workflows can be constructed and organized, resulting in improved efficiency and machining quality.

[0014] Figure 1 An example of a framework for generating 3D topology reconstruction from point cloud data according to embodiments of the present disclosure is shown. The parametric CAD / CAM model for one or more objects (e.g., objects to be manufactured, or objects used to model walls, floors, and other structures of an industrial facility for construction) is a 3D computer model characterized by the topology of the objects at each level of detail (e.g., large-scale details such as machines on a workshop floor, small-scale details such as machine parts (lids, motors, etc.)). However, in this example, such a parametric 3D model does not exist, so the object or industrial facility must first be scanned to generate a digital representation. For example, point cloud data 111 obtained from a 3D scanning process is provided as input to framework 100. A 3D topology reconstruction engine 112 is configured to generate curvature-based point cloud segmentation 115 and region growing segmentation 117. A feature removal module 116 is configured to identify and remove features used to correct over-segmentation. The resulting topology reconstruction 121 can be generated from an iterative segmentation process. The final topology 121 provides input for parametric geometry reconstruction, which can then be used by CAD / CAM and 3D layout software applications for a variety of technical solutions, including but not limited to toolpath generation in subtractive manufacturing.

[0015] Point cloud data 111 can be generated through a 3D scanning operation involving the digitization of objects such as machine parts, tools, or structures using optical or non-optical 3D scanning devices and tomographic processes (e.g., X-ray tomography). The output of the scan is one or more point clouds that can describe the surface or entire volume of an object as a collection of points in 3D space without further information about the connectivity of the individual points forming the surface or volume. For cylindrical objects, more than one scan from different poses may be required to capture the entire surface, resulting in the need to interpret and connect multiple point clouds for the 3D topology reconstruction process of frame 100. A point cloud is understood as a collection of points in three-dimensional space, typically represented by three coordinates for each such point. The points in a point cloud can theoretically have any spatial arrangement, but when generated by a surface scan of an object, they represent the surface of the object and are therefore arranged along a flat or curved two-dimensional form. A point cloud can have at least 10,000 points, or at least 100,000 points in some configurations, and more than one million points in some embodiments. To use this point cloud data111 in computer-aided design, engineering, and manufacturing (CAD, CAE, and CAM) software applications, the point cloud data needs to be converted into a surface representation (B-Rep or faceted / mesh model). Only in this way can the functionality provided in such software solutions be applied to point cloud data, because the geometric kernel of these applications (e.g., Parasolid) requires a parametric surface representation of any object. Reconstructing the topology from the point cloud data can be achieved as follows.

[0016] In one embodiment, the 3D topology reconstruction engine 112 is configured to generate a topological representation that can be interpreted as surfaces with different geometric features, characterized as watertight surfaces (i.e., closed surfaces without anomalous pores), and tailored to the consumption of CAD / CAE / CAM software applications. Topology reconstruction enables engineering designs with various parametric modeling capabilities, including walls and floors of building layouts and objects for manufacturing.

[0017] As a benchmark for comparison, existing topology reconstruction methods are described below. As a first method, a triangular polygon mesh (triangulation / faceted topology) can be generated from individual points, allowing the generation of closed or open surfaces. The resulting mesh is not considered an analytical / parametric geometry because the surface is still based on individual points; only their connections are defined (i.e., discrete reconstruction). No primitive features (such as planes and other geometric primitives) are reconstructed in this way.

[0018] Another available approach is to generate a complex analytic implicit topology as a function describing the entire surface of the object. This method can be applied to point clouds and various surface representations. Implicit topology uses points in the point cloud as seed points to combine specific analytic functions located at or around these seed points to generate a composite implicit function as a combination of the individual functions used. In many cases, locally supported radial basis functions or signed distance fields are applied. However, for this topology to be used in computer-aided design engineering software applications (CAD, CAE, and CAM), this topology representation needs to be approximated again by a classic B-rep representation or faceted / mesh model to ensure compatibility with the geometric kernel.

[0019] Neither of these methods inherently considers the topology of the real-world objects behind the point cloud data 111. As a remedy, in this embodiment, the 3D topology reconstruction engine 112 is configured to generate curvature-based segmentation 115 of the point cloud data 111 by implementing curvature-based segmentation methods such as Hough transform, RANSAC fitting, and machine learning-based methods for topological or surface feature reconstruction of point cloud segmentation, which can recover the design intent and / or bring the (layout) structure back into the data. While manual segmentation and fitting procedures (i.e., manual reverse engineering) are widely used, they are not considered here because they do not allow for automated workflows, cannot scale to large datasets, and rely on user judgment.

[0020] In an embodiment, the 3D topology reconstruction engine 112 is configured to perform point cloud segmentation based on a combination of curvature-based segmentation and region growing segmentation 117 during the iteration process.

[0021] Figure 2A A flowchart example of 3D topology reconstruction of a point cloud representation of an object according to an embodiment of the present disclosure is shown. In the embodiment, a 3D topology reconstruction engine 112 performs a topology reconstruction process including the following steps. At step 201, the 3D topology reconstruction engine 112 estimates the surface normal (at the point cloud level) for each surface represented by the point cloud. Subsequently, at 202, the 3D topology reconstruction engine 112 determines the local principal curvature of each point in the cloud and reads the point cloud into an octree data structure for further segmentation processing. The principal curvature is the rate at which the surface normal angle changes as it moves along the surface. Next, the 3D topology reconstruction engine 112 performs an iterative sequence of segmentation steps according to the desired granularity and accuracy, starting with curvature-based segmentation 203, followed by region growing segmentation 204, to generate different clusters within the point cloud. These clusters can be object surface features, such as primitives and free-form regions, or entire objects, such as machines, equipment, factory infrastructure, etc. One challenge arising from this segmentation is correcting for oversegmentation.

[0022] Figure 2BAn embodiment of the present disclosure is shown for use in... Figure 2A The flowchart shown is an example of the process for correcting oversegmentation during topology reconstruction. Figure 2B In step 203, curvature segmentation is broken down into sub-steps 203a, 203b, 203c, and 203d. In step 203a, a curvature histogram is generated from the local principal curvatures. The histogram shows the curvature distribution of the point cloud. Within this distribution, certain object features (such as planes, cylinders, pipes, walls, etc.) manifest themselves as characteristic peaks within a sequence in the curvature histogram. Examples of histograms and segmentation are provided in... Figure 3 and Figure 4 As shown in the image. Figure 3 An example of a curvature histogram 302 with a corresponding segment 301 is shown in a graphical user interface. In this example, an industrial system (e.g., a manufacturing line in a factory workshop) has been scanned to generate a point cloud representation, and a 3D topology reconstruction engine 112 has generated curvature-based segments 301 according to a selected octree resolution. As shown in histogram 302, objects with a normalized curvature value of 4.5 are most frequently presented in the segments. Figure 4 An example of segmentation of an object to be manufactured, with surface features to be identified (e.g., holes to be drilled), is shown to create toolpaths for an automated cutting / milling machine. Histogram 402 reflects the curvature associated with the surface edges of the scanned object, with segmentation 401 presented on the graphical user interface. The segmentation sequence of segmentation renders 301, 401 is defined by curvature degrees, ranging from flat (planar) areas (possibly representing the floor of the scanned industrial facility) to the outermost regions of the point cloud (potentially candidates for machine or part edges). The sharpness of the distribution is determined by the scanning device resolution and the processing resolution of the selected octree. The dependence of the histogram's "sharpness" or "expressiveness" (i.e., showing typical peaks) is used to automatically calculate the optimal octree resolution, which is typically lower than the native point cloud resolution. Since edges are known to constitute the highest curvature and planar regions constitute the lowest curvature, the distribution can always be normalized through this range, regardless of the octree resolution.

[0023] Figure 5An example of a Gaussian mixture model according to an embodiment of the present disclosure is shown. In one embodiment, a 3D topology reconstruction engine 112 is configured to fit a Gaussian mixture model 511 to decompose a curvature distribution 512 into its individual components (in step 203b), which represent different objects or object features. In this example, there are four features with corresponding individual curvature components 501, 502, 503, and 504. The parameter u represents the center of a single component, the parameter σ represents the width, and the parameter w represents the height. Using those individual curvature components, a curvature threshold (e.g., parameter w) can be established for curvature-based segmentation, such that curvature-based segmentation of the entire point cloud will generate different clusters in the point cloud based on different curvature regions defined by the set threshold. Of course, the threshold can also be changed and set by the user, but this is considered optional rather than required. Then, in step 203c, the cluster belonging to the highest curvature value in the distribution is isolated from other clusters (identified by the threshold). The clusters correspond to the edges of real-world objects. Therefore, this isolation results in the spatial separation of the remaining curvature segmentation clusters.

[0024] To correct oversegmentation, at 203d, feature removal module 116 identifies one or more clusters and removes the segments corresponding to one or more identified clusters, allowing the remaining segments to be further processed for refinement. For the industrial facility example, feature removal module 116 can identify isolated planar clusters as the facility's floor and remove the segmentation of that cluster (i.e., background removal), allowing the remaining segments to be processed by another iteration of region growing segmentation and curvature segmentation without interference from the floor segmentation. Similarly, other isolated clusters (e.g., machinery, pipes) can subsequently be isolated and identified for removal until only walls remain for topology reconstruction. This process is useful for 3D scanning of existing industrial facilities where machinery and pipes cannot be removed to perform a clean 3D scan of only the walls, ceilings, and floors intended for modeling and construction.

[0025] Following curvature-based segmentation steps 203a, 203b, 203c, and 203d, the 3D topology reconstruction engine 112 performs a region growing algorithm in step 204 to separate curvature clusters into distinct regions based on the spatial separation of the curvature clusters. This region growing segmentation also allows for the discarding of clusters with relatively few points, which helps remove artifacts typically present in the scanned data of point cloud 111. The segmentation result after region growing step 204 then represents distinct features of the object or scene mixed with various other clusters that do not have this direct meaning. For example, all planar and cylindrical regions can be grouped into clusters separately. These clusters can already be considered as the final segmentation result because they directly represent the features of the underlying objects and are thus classified based on RANSAC classification and / or user interaction. Additional iterations of steps 204 and 203 can be repeated until the final topology 121 is obtained. In some embodiments, step 203d can be repeated to remove clusters isolated and identified by region growing segmentation step 204.

[0026] Using the proposed method described above, additional information (e.g., size and orientation) from the segmented clusters is utilized to automatically identify each individual cluster (e.g., complex structures) and isolate it from the remaining clusters. As an example of the size and orientation information used in the implementation of 3D topology reconstruction related to larger objects (such as floor plans of industrial systems), clusters belonging to wall structures are more likely to exhibit greater height in the z-direction compared to the remaining clusters. Furthermore, the principal axis orientation of the clusters may be oriented in the z-direction. Therefore, if insufficient segmentation is observed, additional information from the clusters related to the original design intent can be applied to redefine the results. This additional classification can also be obtained from neighborhood relationships if any CAD model is available.

[0027] To prevent any oversegmentation, the results classified as final clusters are isolated before performing the next region growing segmentation. For example, isolated clusters corresponding to the first element allow the previously isolated high-curvature clusters to be recombined with the remaining clusters of the object.

[0028] The isolation of clusters that facilitates spatial separation in the reorganized cluster set is crucial to the quality of the results achieved regarding undersegmentation. Region growing algorithms reconnection do not exhibit spatial separation across all clusters. The actual margin will be defined by the chosen octree resolution for processing the segmentation results, making this parameter ideally suited to support automated methods.

[0029] If further segmentation is not possible, RGB information (if available) can be used to achieve further segmentation. Alternatively, manual separation can be applied.

[0030] In summary, the following principles are applied to the curvature-based segmentation and region growing segmentation process performed by Frame 100. A curvature histogram is defined as having distinct regions corresponding to the geometric entities of an object (e.g., planes, holes, cylinders, polygons, etc.). It is assumed that at least some oversegmentation exists, and correction of oversegmentation is included as a natural part of the workflow (e.g., merging via region growing). Segmentation topology is searched to find “superclusters,” and any superclusters are decomposed. For example, if the bounding box volume of a supercluster is greater than 30% of the total dataset volume, the segmentation of that region will be reprocessed. The bounding box method can be used to determine “cluster overlap,” identify superclusters, and automatically group non-supercluster asset clusters. Clustering classification can be performed automatically or by the user.

[0031] The following description illustrates an exemplary workflow for reconstructing an industrial system layout from a 3D scanned point cloud topology. For curvature-based segmentation, floors, as well as floor and planar walls (if any), are separated from the scene based on a curvature histogram. Planar entities are grouped into separate clusters (floors, walls, etc.) using region growing segmentation. This includes isolating “floor” and “wall” clusters, as well as all clusters that do not belong to a single asset or infrastructure. The original points behind the clusters are saved to a file. To isolate clusters, curvature-based segmentation and region growing segmentation are performed iteratively. The second operation of curvature-based segmentation and region growing segmentation is performed as follows. Roofs and building structures (high curvature / edge curvature) are separated from infrastructure (e.g., pipes) and workshop assets (e.g., machines). Assets and infrastructure in lower curvature areas are segmented using region growing segmentation. This includes isolating all clusters (if any) that do not belong to a single asset or infrastructure. The original points behind the clusters are saved to a file. Roofs and building structures in higher curvature areas are segmented using region growing segmentation. This includes isolating all clusters that do not belong to a single asset or infrastructure, such as roofs (only if the correct design intent has been achieved). The original points following the cluster are saved to a file.

[0032] Generate individual low-resolution octree representations of clusters corresponding to the background structure (e.g., "floor and wall" clusters). Using a higher octree resolution model, noise in the point cloud data can become dominant and disrupt the design intent (e.g., floors are no longer clustered). Alternatively, a higher octree resolution or original point representation can be generated solely for visualization purposes. Generate a high octree resolution or original point representation (higher than the segmentation resolution) of the merged "infrastructure and asset" clusters of all curvature-based segmentation results. The remaining "floor and wall clusters" are separated.

[0033] Region growing segmentation is used, and all planar and edge clusters are merged using a lower octree resolution (principal curvature estimation run from the input from the workspace). For this, the original points are a choice (i.e., for most cases, the initial segmentation resolution is a good starting point). As a result, all edges and planes of the spatially separated assets are recombined.

[0034] Next, detection is performed on "superclusters" (e.g., roof and column combinations) and asset clusters (e.g., machines). Bounding box comparisons produce two separate groups, asset clusters and superclusters. Additional runs of the superclusters are performed using the growth bounding box as the growth stopping criterion.

[0035] Figure 6 Examples of computing environments in which embodiments of the present disclosure may operate are shown. Computing device 610 includes a processor 615 and a memory 611 (e.g., a non-transitory computer-readable medium) on which various computer applications, modules, or executable programs are stored. In embodiments, memory 611 includes one or more of the following modules: as referenced Figure 1 The 3D topology reconstruction engine module 112 and feature removal module 116 are described.

[0036] Network 660, such as a local area network (LAN), wide area network (WAN), or Internet-based network, connects remote computing device 641 to modules 112, 116 of computing device 610 to enable remote access computing.

[0037] User interface module 614 provides an interface between modules 112, 116 and user interface devices 630 (such as display device 631 and user input device 632). Graphical user interface (GUI) engine 613 drives the display of an interactive user interface on display device 631, allowing users to receive visualizations of analysis results and assisting users in inputting optional parameters for modules 112, 116.

[0038] Point cloud representation 111 can be stored in local storage 622 or in remote storage 642 accessible via network 660.

[0039] Computer-readable medium instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, etc., and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on a user's computer, partially on a user's computer, as a standalone software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to execute the computer-readable program instructions, thereby implementing various aspects of this disclosure.

[0040] This document describes aspects of the disclosure with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable medium instructions.

[0041] Figure 6 The description of program modules, applications, computer-executable instructions, code, etc., stored in system memory 611 is merely illustrative and not exhaustive, and the description of processing supported by any particular module may alternatively be distributed across multiple modules or executed by different modules. Furthermore, various program modules, scripts, plug-ins, application programming interfaces (APIs), or any other suitable computer-executable code locally hosted on computer system 610, remote network device 641, remote storage device 642, and / or hosted on other computing devices accessible via one or more of the network 660, may be provided to support the functionality and / or additional or alternative functionality provided by the program modules, applications, or computer-executable code. Moreover, functionality may be modularized differently, such that what is described as being supported by... Figure 6The processing collectively supported by the set of program modules described herein can be executed by fewer or more modules, or a function described as being supported by any particular module can be at least partially supported by another module. Furthermore, the program modules supporting the functionality described herein can form part of one or more applications executable on any number of systems or devices according to any suitable computing model (e.g., client-server model, peer-to-peer model, etc.). Additionally, the processing described as being supported by... Figure 6 Any functionality supported by any program module described herein can be implemented, at least in part, in the hardware and / or firmware of any number of devices.

[0042] It should also be understood that, without departing from the scope of this disclosure, computer system 610 may include alternative and / or additional hardware, software, or firmware components other than those described or depicted. More specifically, it should be understood that the software, firmware, or hardware components depicted as part of computer system 610 are merely illustrative, and some components may be absent or additional components may be available in various embodiments. While various illustrative program modules have been depicted and described as software modules stored in system memory 611, it should be understood that the functionality described as being supported by program modules can be implemented by any combination of hardware, software, and / or firmware. It should also be understood that, in various embodiments, each of the above modules may represent a logical division of supported functionality. This logical division is depicted for ease of interpretation of the functionality and may not represent the structure of the software, hardware, and / or firmware used to implement the functionality. Therefore, it should be understood that, in various embodiments, the functionality described as being provided by a particular module may be provided at least partially by one or more other modules. Furthermore, in some embodiments, one or more depicted modules may be absent, while in other embodiments, additional modules not depicted may be present and may support at least a portion of the described functionality and / or additional functionality. Furthermore, while some modules may be described and depicted as submodules of another module, in some embodiments such modules may be provided as independent modules or submodules of other modules.

[0043] Although specific embodiments of this disclosure have been described, those skilled in the art will recognize that many other modifications and alternative embodiments are within the scope of this disclosure. For example, any functionality and / or processing capability described with respect to a particular device or component can be performed by any other device or component. Furthermore, while various illustrative implementations and architectures have been described according to embodiments of this disclosure, those skilled in the art will understand that many other modifications to the illustrative implementations and architectures described herein are also within the scope of this disclosure. Additionally, it should be understood that any operation, element, component, data, etc., described herein as being based on another operation, element, component, data, etc., may be additionally based on one or more other operations, elements, components, data, etc. Therefore, the phrase "based on" or variations thereof should be interpreted as "at least partially based on".

[0044] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which includes one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions mentioned in the blocks may not occur in the order shown in the figures. For example, two blocks shown consecutively may actually be executed substantially simultaneously, or these blocks may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

Claims

1. A computer-implemented system for generating topological reconstructions of 3D scanned objects, the system comprising: processor; and A memory having modules stored thereon, the modules having instructions to be executed by the processor, the modules comprising: A 3D topology reconstruction engine, which is configured to: Receive point cloud data including one or more point cloud representations of objects; Curvature-based segmentation of the point cloud data is generated; and The region growing segmentation of the point cloud data is used to generate different clusters within the one or more point clouds; The point cloud data is read into an octree data structure; and Generate a histogram of curvature distribution for the one or more point cloud representations, wherein the histogram is defined by a unique region corresponding to the geometric entity of the object, and wherein the peak value of the histogram is used to automatically calculate the optimal octree resolution; Specifically, the curvature-based segmentation and region growing segmentation are performed iteratively to generate the topology reconstruction.

2. The system according to claim 1, wherein, The 3D modeling topology reconstruction engine is also configured to: The curvature distribution is decomposed into components by applying Gaussian mixture fitting.

3. The system according to claim 1, wherein, The curvature-based segmentation is implemented as a Hough transform or RANSAC fitting.

4. The system according to claim 1, wherein, The 3D topology reconstruction engine is also configured to: Isolate clusters belonging to the highest curvature values ​​in the curvature distribution to identify spatial separation between clusters.

5. The system according to claim 4, further comprising: The feature removal module is configured to identify and remove isolated clusters to correct oversegmentation.

6. The system according to claim 1, wherein, The curvature-based segmentation includes: A low-resolution octree resolution is set for clustering corresponding to the background structure, wherein the octree resolution is lower than the native point cloud resolution.

7. The system according to claim 1, wherein, The region growth segmentation allows for the discarding of clusters with a relatively small number of points.

8. The system according to claim 1, wherein, The region growth segmentation and reconnection did not show spatial separation in all clusters.

9. A computer-implemented method for generating topological reconstructions of 3D scanned objects, the method comprising: Receive point cloud data including one or more point cloud representations of objects; Curvature-based segmentation of the point cloud data is generated; and The region growing segmentation of the point cloud data is used to generate different clusters within the one or more point clouds; The point cloud data is read into an octree data structure; and Generate a histogram of curvature distribution for the one or more point cloud representations, wherein the histogram is defined by a unique region corresponding to the geometric entity of the object, and wherein the peak value of the histogram is used to automatically calculate the optimal octree resolution. Specifically, the curvature-based segmentation and region growing segmentation are performed iteratively to generate the topology reconstruction.

10. The method of claim 9, further comprising: The curvature distribution is decomposed into components by applying Gaussian mixture fitting.

11. The method of claim 9, further comprising: Isolate clusters belonging to the highest curvature value in the curvature distribution to identify spatial separation between clusters.

12. The method of claim 11, further comprising: Identify and remove isolated clusters to correct oversegmentation.

13. The method according to claim 11, wherein, The curvature-based segmentation includes: A low-resolution octree resolution is set for clustering corresponding to the background structure, wherein the octree resolution is lower than the native point cloud resolution.

14. The method according to claim 9, wherein, The region growth segmentation allows for the discarding of clusters with a relatively small number of points.

15. The method according to claim 9, wherein, The region growth segmentation and reconnection did not show spatial separation in all clusters.