DUO Dashboard



Overview


This article outlines the usage of the DUO Dashboard application. Built with the DUO API and SDK the Dashboard allows for users to capture, configure and control their DUO devices. Before reading this tutorial you should make sure you have installed your DUO device and that your system properly recognizes your device. Only after you have successfully tested your device's functionality should you continue reading this article.


The Dashboard


By default the Camera App is shown which outputs the real-time data from your sensors.


The interface is split into 5 areas; Main Menu, Parameters Controls, Dynamic Controls, Output Windows and Status Bar.


Applications


The Dashboard acts as a host for the following applications:


  • Camera App - (Default App) Device output displays and real-time display of sensor data.
  • Dense3D App - Depth calculation based on stereo correlation and matching algorithms.
* Calibration App - Standard calibration process with the using a checkerboard pattern. * Media App - Recording and playback of sensor data to the file system. (April Update)

Controls


Before we review each App in detail we will do a summary of the common controls used through-out the Dashboard.

Switching Apps


   - You can switch applications at any time by using the Settings > Apps from the Main Menu.


Each application has its own settings that the Dashboard will remember as well as which application you opened last.

Parameter Controls


Within this area you can update parameter values using standard GUI elements (slider, dropdown, checkboxes etc...)


Applications exposes their own parameters, shown above are the Camera and Calibration parameters.

Status Bar



This area is reserved for the current Resolution, FPS and Data Rates. With the right containing notices specific to each app.

Camera App



The Camera application is the default application which allows for display of image and sensor data. If the device has motion sensors then a graph with three views (Accelerometer/Gyroscope/Angle) will be displayed in the Dynamic Controls area. The main output from the 2 CMOS sensors will be displayed in the Output Windows area.

The following parameters are shared across any application that uses the Camera Interface:

  • Gain - Updates the GAIN parameters on the camera. (Results in brighter image)
  • Exposure - Updates the EXPOSURE parameters on the camera. (Results in higher exposure)
  • LEDs - Updates the LED_PWM parameters on the camera. (Results in brighter LEDs)
  • Transform - Updates the HFLIP/VFLIP parameters on the camera. (Results in images being flipped)
  • Swap - Updates the SWAP_CAMERAS parameters on the camera. (Swaps images left/right)

Dense3D App



The Dense3D application runs algorithms for determining depth based from the image correspondence. You must first run the Calibration Utility and verify you have a proper stereo alignment data. After this you will be able to tune the algorithm using the exposed parameters. Your results may vary dependent on the environment, object and optics configurations. For best results make sure you have a valid calibration data.

Refer to the Dense3D API article which is a guide for developers to integrate this depth map into their own applications.

Dense3D Controls


The Dense3D application features the following options and parameters:

  • Rectified stereo images
  • Dense disparity map (d)
  • Dense depth map (x,y,z)
  • Show Undistort Images (calibrated)
  • Export to point cloud file (*.ply) with textures and depth map.
  • Configurable Parameters:
    • NumDisparities - Maximum disparity minus minimum disparity. The value is always greater than zero. In the current implementation.
    • SADWindowSize - Sets the matching window size.
    • P1 - The first parameter controlling the disparity smoothness.
    • P2 - The second parameter controlling the disparity smoothness. The larger the values are, the smoother the disparity is.
    • PreFilterCap - Truncation value for the pre-filtered image pixels. .
    • UniquenessRatio - For post-filtering noise based on correct matches.
    • SpeckleWindowSize - Maximum size of smooth disparity regions to consider their noise speckles and invalidate.
    • SpeckleRange - Maximum disparity variation within each connected component.
    • OverlayInputImage - Displays colorized depth map on top of input image.

The message No calibration data found will require you to calibrate.

Settings


You can view available applications, configure your device and get device information from the Settings menu item.


Settings Tabs


There are 3 available tabs; Apps, Camera and Devices which are shown below:


Apps Tab - Lists available applications and acts as main interface for switching between the active application.

Camera Tab - Full control over your camera sensors with resolution and binning interfaces.

Devices Tab - Lists available devices with related hardware, firmware and identification information.

Settings Files


Located in the Dashboard/Settings folder you will find these automatically generated settings file. They are created by the Dashboard application but can be opened with any text editor. With the Dashboard closed, one can edit any setting in the file, which the can be loaded on application initialization. Here is each file with its associated data:


DashboardSettings.cfg - Used by the host application as default global settings.

AppConfig : 
{
  Application : 
  {
    UseDarkSkin = true;
    CurrentApp = "Camera"; 
    LicenseKey = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX";
  };
  Duo : 
  {
    Width = 336;
    Height = 32;
    Binning = 9;
    Fps = 1063.0;
  };
};

CameraSettings.cfg - Specific to the camera/sensor capturing display.

AppConfig : 
{
  Duo : 
  {
    Gain = 5;
    Exposure = 32;
    Led = 17;
    Flip = 2;
    Swap = false;
    Undistort = false;
  };
};

Dense3DSettings.cfg - Default settings and parameters for stereo matching algorithm.

AppConfig : 
{
  Duo : 
  {
    Gain = 34;
    Exposure = 45;
    Led = 30;
    Flip = 2;
    Swap = false;
    Undistort = true;
  };
  Dense3D : 
  {
    NumberOfDisparities = 2;
    SADWindowSize = 1;
    P1 = 0;
    P2 = 3200;
    PreFilterCap = 0;
    UniquenessRatio = 72;
    SpeckleWindowSize = 41;
    SpeckleRange = 16;
    OverlayInputImage = false;
  };
};

Troubleshooting


Problem - Dashboard does not initialize properly.

Solutions:

  • Verify that your DUO device is recognized by the operating system
  • Unplug your DUO, wait 15 seconds and plug device back in.
  • Backup and clear any settings in the Calibration and Settings folders.
  • Verify device works with the DUO Testing Utility

Problem - Dashboard is sluggish and or crashes. (Due to the nature of image processing, algorithms could cause instability)

Solutions:

  • Use the Settings > Camera Tab and lower the FPS and retest.
  • Make sure your system specifications are up to par for desired results.
  • Unplug any DUO devices from the system before restarting the Dashboard.
  • Backup and clear any settings in the Calibration and Settings folders.
  • The host computer's performance dictates how stable of high resolution and FPS runs.

Problem - Application crashes on startup.

Solutions:

  • Delete/restore original Settings files as they may have been overwritten with bad files.
  • Use a dependency walker or (LDD on Linux) to assure all system requirements are met.
  • Verify your hardware is supported and working by compiling the examples or using the testing tools.

Resources


Related


How can we help?  

Was this helpful? 1



Home -  Company -  Products -  Solutions -  Showcase -  Support -  Contact © Copyright 2018 – DUO3D™ Code Laboratories, Inc.