While not providing all SAL3D functionality, 3DExpress offers a wide range of tools to acquire and manipulate cloud of points enabling users to perform some of the most useful 3D machine vision tasks such as generate a metrically calibrated Cloud-of-Points (COP) from a laser triangulation system, fit a plane from a desired ROI, rotate the COP to meet a desired view or generate a 2D representation containing 3D data.
All this functionality is readily available in the 3DExpress base package, but some of the more advanced tools, such as the linear metric calibration of match3d, require a separate license. Here is a list of the tools:
3DExpress base package:
- Acquisition Drivers
- COG (center of gravity) Laser Detector
- Presence Detection
- Static Linear Calibration
- Plane Fitting / Alignment
- C/C++ Interface
- .NET Interface
- Sherlock plugin
- Lens Distortion Calibration
- SAL3D Peak Detector (laser detector)
- Linear Metric Calibration
- Match3D Alignment
Following is a diagram of the current 3DExpress use workflow, for the features available in the base package composition:
3DExpress use is as easy as it could be thanks to its graphic interface which guides the user through all the steps. Thus, following the above workflow, the first steps would be selecting the camera and its driver.
Several cameras are currently supported through the available camera drivers or through the supported framegrabbers (Except Time of Flight cameras):
Moreover, GigaBit-Ethernet framegrabbers are also supported if Stemmer Imaging's Common Vision Blox is installed on the computer.
Depending on the selected camera, the wizard will lead the user to different configurations. For instance, 2D cameras will need to configure the peak detection and range map acquisition while 3D cameras will directly jump to the metric calibration. A special case are Photonfocus cameras which internally use SAL3D Peak Detector returning the profiles instead of the full RangeMap.
Using a 2D camera in a laser triangulation system means that the user need to, somehow, obtain the laser position. 3DExpress current version provides an easy way to do it thanks to an inbuilt Center of Gravity (COG) laser detection system. Only some parameters have to be adjusted like the threshold or the Region of Interest (ROI).
Once the laser profiles are obtained from the camera, accumulating a RangeMap is not a straightforward task for those programming a 3D machine vision application. In addition to the construction of the object itself, some limits have to be adjusted in order to detect when the RangeMap is finished and start building the next one. Amongst other conditions, 3DExpress provides a feature to only accumulate profiles when a certain amount of laser points are detected in a specified region.
a) Coordinates in the peak position in the current frame
b) Current profile in (u, v, g) coordinates
c) Set of consecutive profiles
3DExpress provides an easy way to acquire the RangeMap while providing several custom limits such as maximum number of profiles, timeout or minimum number of detected points in the desired range.
Resulting Paper Static Metric Calibration Pattern being scanned with a laser line and its 3D reconstruction overlapped
3DExpress offers a Metric Calibration Tool which, after the scan of a specific calibration pattern, provides the required data to generate cloud of points without perspective distortion and real metric units.
The current version of 3DExpress contains the Static Metric Calibration which is suitable for projects where the laser is perpendicular to the movement. Once again, other calibrations such as the Lineal Metric Calibration or the Angular Metric Calibration will be added to 3DExpress in the future.
In order to get started, a Paper Calibration Pattern can be downloaded and handcrafted providing a rough calibration system for testing purposes.
One of the most useful 3D cloud of points manipulation is tilting an object to meet a desired view and thus be able to perform operations such as:
- Obtain measures (like a circumference radius) without the distortion introduced by the object being tilted (like the example shown at the Geometric Tool webpage)
- Position all the points near the same plane so that we have a greater Z axis resolution when exporting to a 8-bits image (shown in the diagram below)
For this purpose, 3DExpress provides a plane fitting option to export a tilted ZMap with the desired plane corresponding to the Z=0. This functionality, based on the Geometric Tool, can detect a plane based on 3 selected points or by defining a Region of Interest where the plane must be located.
This diagram shows one of the benefits of the plane fitting functionality. If the cookie is exported as it has been scanned (the tilted rangemap above) there is a big variation in the Z axis positions of the points and therefore the achieved resolution in the 8-bits image is low.
On the other hand, if the cookie is tilted so that it fits the Z=0 plane, all the points are positioned about this plane and thus, small Z variations (like scratches, defects or the imprinted letters) have a greater resolution on the 8bits image.
3DExpress provides several outputs which can be easily connected with standard 2D processing tools (Sherlock, OpenCV, MIL...) or SAL3D for further processing:
- Extra Frame
- Aligned Zmap
- Cloud of points (COP)
3DExpress internally works with 32-bits and thus RangeMaps, Zmaps or Extra Frames are 32 floating-points images. Most of the current 2D processing tools work with 8-bit images and, for this reason, 3DExpress provides normalized outputs which convert the 32-bits to 8-bits images.
The extra Frame output contains additional information extracted during the laser line detection. This information depends on the input (COG detector, AQSENSE Peak Detector, 3D camera...) and can provide data such as the laser width or the detected intensity.