OptoInspect3D Inline  2.5
Library for measured 3D data processing
OptoInspect3D Inline Interface Description

Library for In-process 3D Data Analysis

logo
logo
logo
logo
logo

Non-contact optical methods of 3D digitization have replaced conventional methods in many applications. Regardless of whether the triangulation sensors operate with points, lines or planes - many millions of measured 3D data are generated in a few seconds. These data deliver a description of a digitized component's surface topography. After digitization, verification of dimensional accuracy for quality assurance tasks requires methods and algorithms that evaluate and analyze the 3D data in order, for instance, to ascertain deviations of dimensions, shape and position from a standard model.

Established programs for 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.

OptoInspect3D Inline provides robust and efficient methods for:

  • Point cloud alignment (registration)
  • CAD comparison of point clouds and CAD models
  • Approximation of nominal geometric primitives (3D, 2D)
  • Filtering, smoothing, outlier removal
  • Feature detection
  • Segmentation
  • Geometric Dimensioning and Tolerancing

The OptoInspect3D Inline package contains:

  • OptoInspect3D Inline function library:
    • Rapid algorithms optimized by multicore support
    • Efficient data structures and algorithms
    • C-Interface, which can be easily wrapped to a C++-interface
  • OptoInspect3D Inline UI as test and demo application:
    • Interactive graphical tool for development, testing and parameterization of functions based on proprietary measured data
    • Custom selection modes to apply individual algorithms to a predefined subarea of the total volume of data

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:

  • Microsoft Windows 7 SP1 and higher, 64-Bit
  • Installation of the supplied MS Visual Studio runtimes (vc_redist.exe, 64-Bit)


Algorithms

logo
logo

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.

This function 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.

See: Algorithms for 3D Pointclouds
logo
logo

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.

See: Best-fit Approximation Algorithms

logo

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.

See: Algorithms for 3D Pointclouds

logo

Analytical Geometry

Metrology often requires to determine deviations between geometric elements and primitives. This module provides geometric functionality for:

  • distance computations between points and geometric primitives,
  • projections of points to geometric primitives,
  • intersections of geometric primitives,
  • principle components analysis.
See: Analytical Geometry Algorithms

logo

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.

See: Algorithms for 3D Pointclouds

logo

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.

See: Algorithms for 3D Pointclouds

logo

Outlier Removal and Segmentation

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 independent regions and segments them from each other.

See: Algorithms for 3D Pointclouds

logo

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.

See: Algorithms for 3D Pointclouds

logo

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.

See: Algorithms for 3D Pointclouds


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 measurement and testing technology of the Fraunhofer Institute for Factory Operation and Automation in Magdeburg, Germany.

scapos AG

scapos AG
Schloss Birlinghoven
53754 Sankt Augustin, Germany
Phone: +49 2241 14-2820
E-Mail info@.nosp@m.scap.nosp@m.os.co.nosp@m.m

Web Pages
http://www.scapos.com/products/digitale-fabrik/optoinspect3d-inline.html

Fraunhofer IFF Magdeburg

Fraunhofer Institute for Factory Operation and Automation IFF
Measurement and Testing Technology
Sandtorstrasse 22, 39106 Magdeburg, Germany

Contact
Dr. Christian Teutsch
Phone: +49 391 4090-239
E-Mail: chris.nosp@m.tian.nosp@m..teut.nosp@m.sch@.nosp@m.iff.f.nosp@m.raun.nosp@m.hofer.nosp@m..de

Dr. Dirk Berndt
Phone: +49 391 4090-224
E-Mail: dirk..nosp@m.bern.nosp@m.dt@if.nosp@m.f.fr.nosp@m.aunho.nosp@m.fer..nosp@m.de

Ralf Warnemünde
Phone: +49 391 4090-225
E-Mail: ralf..nosp@m.warn.nosp@m.emuen.nosp@m.de@i.nosp@m.ff.fr.nosp@m.aunh.nosp@m.ofer..nosp@m.de

Web Pages
http://www.iff.fraunhofer.de/en/mpt