The present invention generally relates to computer-aided design, and more specifically, to reconstructing an object.
Computer-aided design (CAD) involves the use of a processing system (i.e., a computer) to aid in digitally creating, modifying, and visualizing designs of an object, such as an object, machine, or device, or a component thereof. In some situations, it is desirable to scan, using a three-dimensional scanner, an object to enable the object to be represented in a digital form. The object can then be digitally modified and/or visualized in a CAD software program.
Embodiments of the present invention are directed to a computer-implemented method for reconstructing an object. A non-limiting example of the computer-implemented method includes identifying, by a processing device, a transition feature of the object based at least in part on point cloud data corresponding to the object. The method further includes performing, by the processing device, a geometric analysis on the transition feature of the object based at least in part on a curvature deviation. The method further includes generating a fitted parametric surface for the object based at least in part on the transition feature of the object and results of the geometric analysis on the transition feature of the object.
Embodiments of the present invention are directed to a system. A non-limiting example of the system includes a memory comprising computer readable instructions and a processing device for executing the computer readable instructions for performing a method for reconstructing an object. A non-limiting example of the method includes identifying, by a processing device, a transition feature of the object based at least in part on point cloud data corresponding to the object. The method further includes performing, by the processing device, a geometric analysis on the transition feature of the object based at least in part on a curvature deviation. The method further includes generating a fitted parametric surface for the object based at least in part on the transition feature of the object and results of the geometric analysis on the transition feature of the object.
Embodiments of the invention are directed to a computer program product. A non-limiting example of the computer program product includes a computer readable storage medium having program instructions embodied therewith. The program instructions are executable by a processor to cause the processor to perform a method for reconstructing an object. A non-limiting example of the method includes identifying, by a processing device, a transition feature of the object based at least in part on point cloud data corresponding to the object. The method further includes performing, by the processing device, a geometric analysis on the transition feature of the object based at least in part on a curvature deviation. The method further includes generating a fitted parametric surface for the object based at least in part on the transition feature of the object and results of the geometric analysis on the transition feature of the object.
Additional technical features and benefits are realized through the techniques of the present invention. Embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed subject matter. For a better understanding, refer to the detailed description and to the drawings.
The specifics of the exclusive rights described herein are particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features and advantages of the embodiments of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The diagrams depicted herein are illustrative. There can be many variations to the diagram or the operations described therein without departing from the spirit of the invention. For instance, the actions can be performed in a differing order or actions can be added, deleted or modified. Also, the term “coupled” and variations thereof describes having a communications path between two elements and does not imply a direct connection between the elements with no intervening elements/connections between them. All of these variations are considered a part of the specification.
In the accompanying figures and following detailed description of the disclosed embodiments, the various elements illustrated in the figures are provided with two or three digit reference numbers. With minor exceptions, the leftmost digit(s) of each reference number correspond to the figure in which its element is first illustrated.
Various embodiments of the invention are described herein with reference to the related drawings. Alternative embodiments of the invention can be devised without departing from the scope of this invention. Various connections and positional relationships (e.g., over, below, adjacent, etc.) are set forth between elements in the following description and in the drawings. These connections and/or positional relationships, unless specified otherwise, can be direct or indirect, and the present invention is not intended to be limiting in this respect. Accordingly, a coupling of entities can refer to either a direct or an indirect coupling, and a positional relationship between entities can be a direct or indirect positional relationship. Moreover, the various tasks and process steps described herein can be incorporated into a more comprehensive procedure or process having additional steps or functionality not described in detail herein.
The following definitions and abbreviations are to be used for the interpretation of the claims and the specification. As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” “contains” or “containing,” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a composition, a mixture, process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but can include other elements not expressly listed or inherent to such composition, mixture, process, method, article, or apparatus.
Additionally, the term “exemplary” is used herein to mean “serving as an example, instance or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms “at least one” and “one or more” may be understood to include any integer number greater than or equal to one, i.e. one, two, three, four, etc. The terms “a plurality” may be understood to include any integer number greater than or equal to two, i.e. two, three, four, five, etc. The term “connection” may include both an indirect “connection” and a direct “connection.”
The terms “about,” “substantially,” “approximately,” and variations thereof, are intended to include the degree of error associated with measurement of the particular quantity based upon the equipment available at the time of filing the application. For example, “about” can include a range of ±8% or 5%, or 2% of a given value.
For the sake of brevity, conventional techniques related to making and using aspects of the invention may or may not be described in detail herein. In particular, various aspects of computing systems and specific computer programs to implement the various technical features described herein are well known. Accordingly, in the interest of brevity, many conventional implementation details are only mentioned briefly herein or are omitted entirely without providing the well-known system and/or process details.
Turning now to an overview of technologies that are more specifically relevant to aspects of the invention, the technical solutions described herein solve the technical problem concerned with accurate reconstruction of geometric surfaces, including but not limited to in the area of feature identification, extraction, curvature estimation, interactive visualization, and optimization semantics for geometry surface creation. One of the main advantages of the present techniques is that prior knowledge of geometry is not necessarily required to implement the technical solutions described herein.
Turning now to a more detailed description of aspects of the present invention,
The various components, modules, engines, etc. described regarding
According to one or more embodiments described herein, the feature identification engine 110, the geometric analysis engine 112, and/or the CAD engine 114 can be implemented on the processing system 100. Additionally, a cloud computing system can be in wired or wireless electronic communication with one or all of the elements of the processing system 100. Cloud computing can supplement, support, and/or replace some or all of the functionality of the elements of the processing system 100. Additionally, some or all of the functionality of the elements of the processing system 100 can be implemented as a node of a cloud computing system. A cloud computing node is only one example of a suitable cloud computing node and is not intended to suggest any limitation as to the scope of use or functionality of embodiments described herein.
According to one or more embodiments described herein, the engines 110, 112, 114 can also be implemented as so-called classifiers. In one or more embodiments of the invention, the features of the various engines/classifiers (110, 112, 114) described herein can be implemented on the processing system 100 shown in
According to one or more embodiments described herein where the engines/classifiers 110, 112, 114 are implemented as neural networks, a resistive switching device (RSD) can be used as a connection (synapse) between a pre-neuron and a post-neuron, thus representing the connection weight in the form of device resistance. Neuromorphic systems are interconnected processor elements that act as simulated “neurons” and exchange “messages” between each other in the form of electronic signals. Similar to the so-called “plasticity” of synaptic neurotransmitter connections that carry messages between biological neurons, the connections in neuromorphic systems such as neural networks carry electronic messages between simulated neurons, which are provided with numeric weights that correspond to the strength or weakness of a given connection. The weights can be adjusted and tuned based on experience, making neuromorphic systems adaptive to inputs and capable of learning. For example, a neuromorphic/neural network for handwriting recognition is defined by a set of input neurons, which can be activated by the pixels of an input image. After being weighted and transformed by a function determined by the network's designer, the activations of these input neurons are then passed to other downstream neurons, which are often referred to as “hidden” neurons. This process is repeated until an output neuron is activated. Thus, the activated output neuron determines (or “learns”) which character was read. Multiple pre-neurons and post-neurons can be connected through an array of RSD, which naturally expresses a fully-connected neural network.
One example of a reconstruction flow is depicted in
The technical solutions described herein address the technical problem of deviation between the geometry of the actual physical object surface and the recreated CAD surface. The concept of the problem is visualized in
This technical problem is amplified by the fact that more challenging to reconstruct features (e.g., convex/concave fillet, sharp corner, edge fillet, etc.) are treated the same as easy-to-model features (e.g., a plane, etc.). Features that are more difficult to reconstruct from PC data are usually in transition areas between easy-to-model features (e.g., a fillet between two planes). These features are referred to as “transition features.” Examples of transition features are depicted in
Existing approaches for solving the technical problem described herein are inadequate. For example, existing approaches rely on manual creation of CAD surfaces by engineers. This approach is inefficient and prone to inaccuracies due to human error, for example. Other approaches for CAD surface recreation are parametric splice surfaces. Adjustable parameters in splice surfaces usually include degree of spline, a location of control vertices (CVs), a smoothness parameter, a number of surface patches, etc. An illustration of a fitted parametric curve in 2D is depicted in
Techniques for reducing error for reconstructed CAD surfaces are based on several quantitative and qualitative evaluations. The prevailing quantitative evaluation is based on distance deviation between PC data and fitted CAD surface, as illustrated in
The qualitative evaluation is based on a human operator's assessment of geometrical similarity between target data points and a fitted surface as well as the operator's own interpretation of underlying geometrical features. The operator's evaluation is also based on his/her domain knowledge, which can vary among operators. This can result in inconsistencies, inaccuracies, and inefficiencies when recreating an object.
Turning now to an overview of the aspects of the invention, one or more embodiments described herein address the above-described shortcomings of the prior art by utilizing the geometrical properties of point cloud data and stereo lithography data to aid the generation of a more accurate CAD surface. The described techniques identify transition features and perform geometric analysis of transaction features to generate the more accurate CAD surface.
Transition feature identification is performed by the transition feature identification engine 110 and includes identifying transition features, which are predominantly curved or abrupt areas that connect two or more planar surface patches. Transition features are identified using an automated, data-driven classification technique. Initially, a training set of features is developed using a computation simulation, which populates a library (stored in a data store, such as the data store 121) that contains geometric characteristics of many possible transition features. A machine learning algorithm utilizes this prior training set of features to classify new point cloud data from point cloud scans (e.g., stored in the data store 121, received from the 3D scanner 120, etc.). After identification of features, the library of features is updated with the classified features. Additionally, according to one or more embodiments described herein, the classified features that do not belong to a certain class (e.g., fillet, chamfer, etc.) are classified or removed from library, for example, by expert opinion of the user.
The transition feature identification engine 110 first performs characterization of geometrical features. To identify a feature by geometric characteristics in point cloud data and STL data, the transition feature identification engine 110 utilizes surface orientation information. A surface can be defined by its normal vector orientation in space, as shown for a 2D example in
In
In
The same concept can be expanded in three-dimensions and is shown for a planar and a smooth corner features in
The transition feature identification engine 110 plots the unique orientations for each of the surfaces of
The orientation distributions 800b, 800d define the characteristics of various transition features and provide a distinctive orientation pattern as can be seen
The transition feature identification engine 110 then utilizes a machine learning algorithm for automated classification and selection of transition features. The machine learning algorithm can be, for example, a classification algorithm, evidence based reasoning on feature identification (i.e., placing confidence intervals on results), and the like.
Once a library of simulated features is established from simulated or real scanned data, the transition feature identification engine 110 defines distribution metrics that correspond to each transition feature type. This problem can be solved using several classification approaches in the machine learning field. To provide an example, a simple classification approach is described that analyzes the angle deviation of normal surface vectors with respect to the reference surface vector for the generated shape depicted in
In the example of
The angle deviation values of
The method 1100 begins classification at block 1102. At block 1104, the transition feature identification engine 110 calculates angle deviations according to the equations used to derive the deviation values of the table 1000. At blocks 1106 and 1108, the transition feature identification engine 110 calculates values for parameters X1 and X2 as shown. At decision block 1110, the transition feature identification engine 110 determines whether X1 and X2 are less than a first threshold (e.g., 0.05). If so, the transition feature is determined to be a smooth fillet at block 1112; however, if not, the method 1100 continues to blocks 1114 and 1116.
At blocks 1114 and 1116, the transition feature identification engine 110 calculates values for parameters X3 and X4 as shown. At decision block 1118, the transition feature identification engine 110 determines whether X3 is less than the first threshold (0.05) and whether X4 is greater than a second threshold (e.g., 0.5). If so, the transition feature is determined to be a sharp edge at block 1120; however, if not, the method 1100 continues to decision block 1122.
At decision block 1122, the transition feature identification engine 110 determines whether X2 is less than the first threshold (e.g., 0.05) and whether X3 is less than the first threshold (e.g., 0.05). If so, the transition feature is determined to be a concave/convex fillet at block 1124; however, if not, the method 1100 continues to block 1126. At block 1126, any remaining transition features are gathered and determined to be “other” classification types at block 1128. The method 1100 terminates at block 1130. It should be appreciated that the technique described in
After the spatial distribution of features is classified by the method 1100 or another suitable classification technique, the transition feature identification engine 110 stores spatial distributions for the identified features in a library of features, such as in the data store 121.
Once a trained classification model is implemented on real or simulated test data, the classified features populate back into the library of features 1302 for the training set. The transition feature identification engine 110 can perform a supervised learning technique to modify the library of features 1302 by updating database structuring of features, automatically updating features, incorporating expert opinions in feature selection, etc.
After the transition feature identification engine 110 identifies and classifies the transition features, a visual labelling to the object can be applied. An illustration is shown in
Subsequent to transition feature identification, the geometric analysis engine 112 of the processing system 100 of
CDM=KPC−KCAD
where KPC is the curvature of the PC data 1601 at the specific point and KCAD is the curvature of the fitted parametric surface 1600 at the specific point.
The geometric analysis engine 112 can performed a CDM-based optimization technique to minimize the CDM between the PC data 1601 and the fitted parametric surface 1600 at the specific point. To improve the fit of the fitted parametric surface 1600, the location of control vertices is determined by an optimization of an objective function that minimizes the error between the curvature of the PC data 1601 and the fitted parametric surface 1600. Such a function can be defined as follows:
l(κ(xi|θ),κPCi)=(κ(xi|θ)−κPCi)2
In this objective function, curvature of the PC data 1601 “K” is the target because it is the collected experimental locations “x.” The parameters “θ” are the locations on the control vertices of the fitted parametric surface 1600 and are the perturbed parameters in this optimization problem.
The CAD engine 114 of the processing system 100 of
The geometric analysis engine 112 can also measure volumetric deviation of a fitted parametric surface.
At block 1902, the transition feature identification engine 110 identifies a transition feature of the object based at least in part on point cloud data corresponding to the object. Identifying a transition feature of the object can include determining an orientation and a frequency of at least one vector associated with a facet surface of the object. Further, identifying a transition feature of the object can include calculating an angle deviation value between at least one vector extending perpendicularly from a facet surface of the object relative to a normal vector extending perpendicularly from a reference point on the object. The angle deviation value can be one of a plurality of angle deviation values selected from the following: a zero angle deviation value, a minimum angle deviation value, a maximum angle deviation value, a mean angle deviation value, and a median angle deviation value. Identifying a transition feature of the object can also include classifying the transition feature of the object based at least in part on the angle deviation value. Classifying the transition feature can include classifying the transition feature as one of a smooth fillet, a smooth fillet/corner, a sharp edge, and other. Classifying the transition feature can also include comparing the angle deviation value to a plurality of threshold values. Further, identifying the transition feature of the object can include storing a spatial distribution for the transition feature in a library of transition features.
At block 1904, the geometric analysis engine 112 performs a geometric analysis on the transition feature of the object based at least in part on a curvature deviation. Performing the geometric analysis on the transition feature can include calculating a curvature deviation metric based at least in part on a curvature of the point cloud data and a curvature of a fitted parametric surface. Generating the fitted parametric surface for the object can include generating a surface fit confidence index color map on the fitted parametric surface.
At block 1906, the CAD engine 114 generates a fitted computer-aided drawing (CAD) surface for the object based at least in part on the transition feature of the object and results of the geometric analysis on the transition feature of the object. According to one or more embodiments described herein, generating the fitted parametric surface for the object comprises generated a new file readable by a CAD application and containing data that causes the CAD application to generate a digital representation of the object.
Additional processes also may be included. For example, the method 1900 can include performing a volumetric deviation analysis on the fitted parametric surface by comparing a volume of the point cloud data and a volume of the fitted parametric surface. It should be understood that the process depicted in
It is understood that the technical solutions described herein are capable of being implemented in conjunction with any other type of computing environment now known or later developed. For example,
Further depicted are an input/output (I/O) adapter 2027 and a network adapter 2026 coupled to system bus 2033. I/O adapter 2027 may be a small computer system interface (SCSI) adapter that communicates with a hard disk 2023 and/or a tape storage drive 2025 or any other similar component. I/O adapter 2027, hard disk 2023, and tape storage device 2025 are collectively referred to herein as mass storage 2034. Operating system 2040 for execution on processing system 2000 may be stored in mass storage 2034. The network adapter 2026 interconnects system bus 2033 with an outside network 2036 enabling processing system 2000 to communicate with other such systems.
A display (e.g., a display monitor) 2035 is connected to system bus 2033 by display adaptor 2032, which may include a graphics adapter to improve the performance of graphics intensive applications and a video controller. In one aspect of the present disclosure, adapters 2026, 2027, and/or 232 may be connected to one or more I/O busses that are connected to system bus 2033 via an intermediate bus bridge (not shown). Suitable I/O buses for connecting peripheral devices such as hard disk controllers, network adapters, and graphics adapters typically include common protocols, such as the Peripheral Component Interconnect (PCI). Additional input/output devices are shown as connected to system bus 2033 via user interface adapter 2028 and display adapter 2032. A keyboard 2029, mouse 2030, and speaker 2031 may be interconnected to system bus 2033 via user interface adapter 2028, which may include, for example, a Super I/O chip integrating multiple device adapters into a single integrated circuit.
In some aspects of the present disclosure, processing system 2000 includes a graphics processing unit 2037. Graphics processing unit 2037 is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display. In general, graphics processing unit 2037 is very efficient at manipulating computer graphics and image processing, and has a highly parallel structure that makes it more effective than general-purpose CPUs for algorithms where processing of large blocks of data is done in parallel.
Thus, as configured herein, processing system 2000 includes processing capability in the form of processors 2021, storage capability including system memory (e.g., RAM 2024), and mass storage 2034, input means such as keyboard 2029 and mouse 2030, and output capability including speaker 2031 and display 2035. In some aspects of the present disclosure, a portion of system memory (e.g., RAM 2024) and mass storage 2034 collectively store an operating system to coordinate the functions of the various components shown in processing system 2000.
The above-described technical solutions address the shortcomings of the prior art by providing improved surface representation of object compared to conventional techniques. For example, automated identification of transition features provides more efficient feature identification. Geometric analysis provides enhanced metrics, such as CDM, volume, etc., of error provide additional confidence in surface fitting accuracy. Visual representation of transition features provides improved qualitative display for faster and more accurate evaluation of large amounts of geometric data. Automatic selection of features that are likely to cause higher fitting errors provides a more efficient approach for operators to focus on areas that might be more difficult to reconstruct. Recommendations for surface control points through the CDM metric enhances conventional techniques of fit quality and manual adjustment of spline surfaces. Visual representation of curvature fit error between point cloud data and the fitted parametric surface enhances evaluation of large amounts of geometric data.
The following are some of the technical features that contribute to and provide for the advantages described above. For example, automated identification of transition features is achieved through characterization of geometric features and classification using machine learning techniques. Enhanced metrics (CDM, volume) of error are achieved through curvature comparison of PC and CAD data in multiple data points, as well as volumetric differences between PC, STL and CAD data. Visual representation of transition features is achieved by color-coded display of the earlier identified transition features. Automatic selection of transition features that are likely to cause higher fitting error is achieved by selecting from the classified features that have low probability/frequency of being classified into a known feature. Recommendation for surface control points through CDM metric is achieved by the objective function for optimizing the locations of control vertices for spline surface fitting. Visual representation of curvature fit error between PC data and the fitted parametric surface is achieved by color-coded display of the values of the objective function identified for CDM metric. These technical features represent improvements over conventional modeling techniques and therefore improve computer functionality and CAD reconstruction technologies.
Example embodiments of the disclosure include or yield various technical features, technical effects, and/or improvements to technology for reconstructing objects. Example embodiments of the disclosure provide techniques for reconstructing an object by identifying transition features using point cloud data corresponding to the object, performing a geometric analysis on the transition feature using a curvature deviation, and generating a fitted pitted parametric surface for the object based on the transition feature and the results of the geometric analysis on the transition feature. These aspects of the disclosure constitute technical features that yield the technical effect of enabling an object to be recreated more efficiently and accurately than existing CAD approaches. As a result of these technical features and technical effects, the present techniques represent improvements over conventional modeling techniques and therefore improve computer functionality and CAD reconstruction technologies. It should be appreciated that the above examples of technical features, technical effects, and improvements to technology of example embodiments of the disclosure are merely illustrative and not exhaustive.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments described herein.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2018/047016 | 8/20/2018 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62659315 | Apr 2018 | US |