SAL3D Library Evaluation

This section will guide you through evaluation of the library's algorithms using the distributed precompiled example programs.

Evaluation of SAL3D Core

This is a GUI example for the evaluation of SAL3D main objects (Range Maps, COPs and ZMaps) and related functionalities.

screenshot_core_example.png

  Open Range Map data.

      Convert RangeMap to COP

        Load COPs from file.

        Display as points, wireframe or solid

      Export to PLY file format

      Obtain ZMaps from COPs

      Tune ZMapFactors

      Save ZMaps as image file

       


       

       


       

      Evaluation of the Peak Finder Tool using wxPeakFinderExample

      This GUI example will allow you to evaluate the sub-pixel accuracy of the SAL3D Peak Finder Tool. Pictures can be loaded (from files or cameras) and the detected points of the laser profile stored in a plain text file. The Peak Finder Tool works analyzing frames row by row, returning a laser stripe point for each picture row. Horizontal laser stripes cannot be detected using this tool.

       screenshot_peak_finder_example.png

        A Profile can be extracted from a Frame by converting the image file to a Frame (File > Open Image)

        Create a RangeMap (Grabber > Grab).

        Define Grab Parameters (threshold, time out, max profiles)

        Virtual frame grabber where Several files can be loaded to simulate the acquisition.

        Define the size of the Range Map with timeout and/or number of profiles

      In case of fileframegrabber, the number of profiles should correspond to the number of frames (files) used during the "virtual" acquisition. When acquiring from a real frame grabber, the number of profiles will depend on the camera trigger mode (free running, external trigger, the encoder, etc).

      User can stop the Grabbing (Grabber > Freeze). In that case, the RangeMap acquisition stops without returning the acquired profiles.

      Once a RangeMap is created, it can be viewed (View > Range Map). A color bi-dimensional representation of the RangeMap can be saved and use the Core Example for the next Range Map representations.

       

       peakfinder_orientation_a.png  peakfinder_orientation_b.png
      Peak finder tool analyzes pictures row by row, so, only vertical stripe orientations.

       

       

       

       


      Evaluation of the Metric Calibration Tool using wxLinearMetricExample and wxStaticMetricExample

      These GUI examples will allow you to evaluate the metric accuracy in the 3D reconstruction from a RangeMap. wxLinearMetricExample needs a RangeMap originated from the acquisition of a calibration pattern. The difference between the wxLinearMetric and the wxStaticMetric is the calibration pattern. The first one requires the linear scanning of the Linear Metric Calibration Pattern, while the wxMetricStatic only requires a single profile of the Static Metric Calibration Pattern (or a central profile of the Linear Pattern).

      Although the example RangeMaps distributed with SAL3D can be used, the results for every single acquisition system can be calculated by acquiring the RangeMap of a calibration pattern.

      WxLinearMetricExample

      screenshot_metric_example.png
       
      After importing the pattern picture (File > Load Pattern Range Map or File > Import Image as RangeMap ), the range map viewer shows the pattern, whose orientation should be like in the following figure
      correct_pattern_orientation.png wrong_pattern_orientation.png
       Expected orientation of the Linear Metric Calibration Pattern

      The metric calibration time depends on the RangeMap's size, and obtaining accurate results requires that pattern misorientation must be as small as possible. After calibration a metric report is obtained, containing 4 parameters:

      • Metric configuration: Parameters used to transform from RangeMap to metric coordinates and vice versa (not displayed on the example).
      • Accuracy Mean: Mean of the errors (X, Y, and Z) on the reconstruction of the metric calibration points.
      • Accuracy Stddev: Standard deviation of the errors (X, Y, and Z) on the reconstruction of the metric calibration points.
      • Pattern misorientation: Measure in pixels of the misorientation between the calibration pattern and the motion direction (in Y and Z axis)

       

      WxStaticMetricExample

      screenshot_metric_static_example.png

      This example needs a single profile for calibration, which is displayed on the top window.

      After the calibration, the metric reconstruction profile is represented on the bottom window. User can visualize the metric coordinates by pointing the metric profile. In addition, the metric report is obtained, containing 3 parameters:

      • Metric configuration: Parameters used to transform from RangeMap to metric coordinates and vice versa (not displayed on the example).
      • Accuracy Mean: Mean of the errors (Y, and Z) on the reconstruction of the metric calibration points.
      • Accuracy Stddev: Standard deviation of the errors (Y, and Z) on the reconstruction of the metric calibration points.

      For getting accurate results, be sure that the pattern misorientation is as small as possible. However, as a single profile is analyzed, it is not possible to compute the pattern misorientation.

      Evaluation of the Merger Tool using wxMergerExample

      This GUI example lets you evaluate the accuracy of merging two Profiles acquired simultaneously from different cameras. For a better understanding, in this example Profiles are taken one by one from existing Range Maps. Merger tool requires its own parameters to combine information from both cameras. Load two calibration pattern range maps; one corresponding to the base camera and the other one to the auxiliary camera. After that, parameters can be computed clicking Calibrate under Merger Menu. The Merger Tool calibration expects the calibration pattern parallel to the motion (see Description of the linear calibration pattern for more details).

       screenshot_merger_example.png

        Find example ARM files acquired from both cameras distributed with SAL3D.

        Load Merger Configuration, either from a file or calibrating.

        The bottom window displays the merged RangeMap.

        Get merged images from base and auxiliary cameras.

        Each profile of the RangeMap can be seen in the bottom window using the slider. 

      This tool requires the same number of profiles in both range maps (base and auxiliary). Because it is assumed that both cameras are simultaneously acquiring.

      After loading both RangeMaps, and obtained the Merger Configuration, the application displays an accuracy report (calibration time depends on the size of the RangeMaps).

        • Accuracy Mean: Mean of the errors (u, v, and g) merging of the calibration points.
        • Accuracy Stddev: Standard deviation of the errors (u, v, and g) merging the calibration points.
        • Pattern misorientation: Measure in pixels of the misorientation between the calibration pattern and the motion direction (in Y and Z axis)

      Evaluation of the Match3D Tool using wxMatch3DExample

      This GUI example lets you evaluate the alignment of two surfaces by loading a COP as a reference model, and a second COP related to the inspected part. After the alignment the right window displays both aligned surfaces. The bottom window displays the disparity map between both surfaces, and can be saved as a ZMap.

       screenshot_match3d_example.png

        See the alignment quality factor in the status bar.

        Get the status bar displays the x and y coordinates and also the metric disparity between model - part.

        Change the color scale of the disparity map (Disparity > Set Tolerance).

        Values between [-tolerance, tolerance] are scaled from blue to red.

        Higher or lower values are displayed in blue/red

      This example also permits the evaluation of the Match3DCoarse for aligning objects located one far from the other or big misoriented. Another option to align far objects is using an initial pre-alignment (Match > Set Initial Movement).

      Evaluate the Match3D Tool for your acquisitions with COPs obtained through the Core example.

       

      AQSENSE S.L.
      Parc Científic i Tecnològic de la UdG · Edifici Jaume Casademont, Porta A, Despatx 23
      C/ Pic de Peguera, 15 · 17003 Girona - Spain
      Phone : +34 972 183 215 · Fax : +34 972 487 487