OptoInspect3D Inline - alg3Dlib
3.4.0
Library for measured 3D data processing
|
Library for In-process 3D Data Analysis
Introduction Established programs for 3D point cloud processing that determine the desired geometric parameters manually and interactively are available for offline analysis. Systems integrated in production require rapid, automatic and integrated data evaluation, however. The OptoInspect3D Inline package for measured 3D data processing was developed for this purpose. This library was designed to support developers and application engineers that need sophisticated 3D data processing for their own applications. With it's C-interface this library easily integrates into 3rd party software solutions. Precise 3D scan data processing OptoInspect3D Inline provides robust and efficient methods for:
The OptoInspect3D Inline package contains:
The library provides a generic C-Interface for an integration into a wide variety of applications and systems. C++ wrappers can be easily written since the style of C-interface is based on the standard STL-algorithms with STL vectors. A simple Ready-To-Run test application is provided with this package. System Requirements:
The library is splitted into three modules:
The page Overview of the modules provides a detailed overview of the functions that belong to each module. |
Algorithms
Best-fit Registration with 3D Point Sets The registration function makes it possible to determine the alignment of two sets of points to one another or of one set of points to a CAD model. One set of points acts as a static reference and remains unchanged. The translation and rotation are varied for the second dynamic set of points until a predefined minimum deviation between the two is obtained. The library provides a set of functions that perform this registration task with different approaches. Thesw functions can be used, for instance, to compare measured data with a CAD reference or a golden sample or to link the data from independent partial measurements. A point distance calculation (proximity search) can determine the degree of the data sets' congruence.
| |||
Best-fit Approximation of Standard Geometric Elements The specification of a component's geometric quality is usually based on standard geometric shapes, e.g. straight lines, circles, ellipses, planes, spheres, cylinders and cones, which serve as reference elements. Deviations in components, e.g. deviations in dimensions, shape and position, can be ascertained from the standard geometry's parameters or the parameters' interrelationship. Furthermore, standard geometries are employed to define component or reference coordinate systems. A standard geometry is stipulated by selecting the pertinent domains of the digitized 3D data. The latest numeric methods that minimize the deviations between the measured points and the standard geometry are employed to produce the best fit. The parameters are selectively definable. Thus, for example, the spatial position of a cylinder with a defined radius can be determined once it has been fit. An iterative best-fit automatically segments or selects the set of points belonging to the standard geometry. This eliminates interfering points and removes points from the calculation, which do not belonging to the geometry. All of the best-fit methods utilize intelligent error weighting, thus ensuring that the tolerance for interfering data is particularly high. A function that locates adjacent regions of point data can also be used to eliminate interfering data. The library provides methods with different minimization criteria, depending on the measurement task and norms required. At first the well-known Least Squares (Gaussian) minimizer is implemented that benefits from a type of Levenberg-Marquardt optimization. Furthermore, Minimum Zone (Chebyshev) problems can be solved, e.g. to compute the planarity, roundness and cylindricity or even Minimum Enclosing geometries (hull shapes) to compute ISO/DIN compliant straightness and thickness measures.
| |||
Distance Computation In quality assurance a frequent task is to determine the difference between measured data and given nominal data, e.g. from CAD, reference pieces or golden samples. In the case of 3D point clouds this requires the efficient computation of local neighbourhoods in order to get the distance of a point to a point cloud. The same task applies to compute the distances between a 3D point cloud and a polygonal mesh. Therefore, the library provides a set of highly efficient functionality to perform distance computations between 3D point sets and triangle meshes.
| |||
Analytical Geometry Metrology often requires to determine deviations between geometric elements and primitives. This module provides geometric functionality for:
| |||
Thinning/Homogenization Different surface topologies and scanning strategies produce sets of points of differing density and redundancy. Once the local proximity has been analyzed, a thinning function eliminates and redistributes redundant points so that the resulting set of points has a homogeneous density. Both the density and an acceptable displacement tolerance can be specified. Weighted smoothing of the points can minimize high frequency noise. Data corruption can be prevented by specifying a tolerance margin.
| |||
Intelligent Smoothing Depending on the measuring principle, environmental conditions, object surfaces and material properties the resulting 3d point set may contain noise. Smoothing algorithms are required that minimize high frequency noise. The library provides intelligent smoothing algorithms that are adaptive to the local curvature and preserve features at sharp corners while smoothing more in planar regions.
| |||
Segmentation The segmentation or region growing function splits the measurement data into spatially separated parts. This is useful if the scan contains multiple objects that should be processed individually. Furthermore the segmentation can be used to easily remove larger artifacts from the measmurement data.
| |||
Outlier Removal Typically, real 3D measurement data is effected by noise and artefacts. Especially with metal items under production conditions the shininess of the surface and interfering speckles may influence the measurement. The outlier removal functions detects such artifacts and removes them from the point cloud.
| |||
Surface normals for pointcloud shading The visualization of an unstructured sets of 3d points benefits from artificial lighting that produces a shading depending on local surface orientation described by the surface normal vectors. Normal vectors are also used to analyze the structure of the underlying topology.
| |||
Surface curvatures for pointcloud analysis Surface curvatures can used to analyze the structure and distribution of the underlying topology, e.g. for edges and discontinuities. Furthermore, surface curvature can be used to adaptively apply point cloud filters in different manner for planar regions or sharp corners and edges.
|
Licensing and contact information
The OptoInspect3D Inline library is distributed by the software experts of scapos AG. Please get in contact with scapos AG for questions and licensing information. The software is developed and maintained by the department of Industrial Metrology and Digital Assistance Systems of the Fraunhofer Institute for Factory Operation and Automation in Magdeburg, Germany.
scapos AG Web Pages | |
Fraunhofer Institute for Factory Operation and Automation IFF Contact Dr. Dirk Berndt Web Pages |