DOC Skip to main content

Use Predefined Depth Presets

Update on 2025-07-25 02:40:40

1. Overview

The Orbbec Viewer tool and Orbbec SDK, as well as wrappers (for instance ROS 1 Wrapper, ROS 2 Wrapper, etc.), support diverse predefined depth presets that should be selected appropriately according to the dedicated use cases and can provide users with more favorable depth performance in comparison to using a universal depth configuration.
The predefined presets are listed in a table below. The table includes major features for each predefined depth preset, along with recommended use cases.

Users of Gemini 330 series cameras can also modify relevant depth settings and save a customized depth preset. All the settings can be selected via the tool’s menu of Orbbec Viewer. We use machine learning algorithms and capture of ground truth datasets to optimize presets for certain conditions, and we may add more presets in the future.
The key to obtaining a good depth performance is to start from our recommended depth defaults:

  • Gemini 335: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 330: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 336: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 335L: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 330L: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 336L: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.

If you have poor depth performance, please try manual exposure first and adjust the exposure value of the depth sensor. Keep the depth sensor gain value as low as possible (preferably 16) and adjust laser power as necessary.

2. Supported Devices

Gemini 330 series, including Gemini 335, Gemini 330, Gemini 336, Gemini 335L, Gemini 330L, Gemini 336L, and new cameras of this series coming up later.

3. Table of Predefined Presets

Preset Features Recommended use cases
Default ●   Best visual perception

●   Overall good performance in accuracy, fill rate, tiny objects, etc.

●   Generic

●   Robotics

Hand ●   Clear hand and finger edges ●   Gesture recognition
High Accuracy ●   Depth of high confidence

●   Barely noise depth values

●   Lower fill rate

●   Collision avoidance

●   Object scanning

High Density ●   Higher fill rate

●   More tiny objects

●   May suffer from noise depth values

●   Object recognition

●   Pick & place

●   Foreground & background manipulation

Medium Density ●   Balanced performance in fill rate and accuracy

●   In comparison to Default: lower fill rate, better edge quality

●   Generic and alternative to the Default
Custom ● User-defined Preset

● Derived from Presets above, with customized modifications, e.g. a new configuration for the post-processing pipeline, modified mean intensity set point of depth AE function, etc.

●   Better depth performance achieved using customized configurations in comparison to using predefined presets

●   For well-established custom configurations

AMR with IR-Pass ●   For Gemini 336 & Gemini 336L only

●   Reduce the impact of strong light and improve the depth issues caused by high visible light reflection

●   Overall good performance in accuracy, fill rate, tiny objects, etc.

●   Autonomous Mobile Robot

4. Example Captures under Diverse Presets

Please refer to the example captures below using the diverse presets. The depth presets are evaluated and compared based on a 3D scene including a variety of object types, materials, textures, reflectivities, and distances.

All images were acquired with the following settings/conditions:

Ambient fluorescent lighting: 150 – 200 Lux, approximately

  Depth RGB
Resolution 1280 x 800 1280 x 720
Frame Rate 30fps 30fps
Auto Exposure enabled enabled

4.1 Gemini 335 & 330 & 336

Gemini 335 & 330 & 336 3D Camera

Scene RGB Image
Scene Depth Image

 

@ Preset:

– Default

 

 

  • Good fill rate, most objects visible
  • Barely noise depth values
  • Edges of acceptable quality
  • Missing a significant part of the glass bottle
  • Merged fingers
Scene Depth Image

 

@ Preset:

– Hand

  • Outstanding edge quality for fingers and squares
  • No noise depth value
  • Significantly lower fill rate
  • Hardly visible glass bottle
Scene Depth Image

 

@ Preset:

– High Accuracy

  • Good edge quality for fingers and squares
  • No noise depth value
  • Slightly lower fill rate
  • Hardly visible glass bottle
Scene Depth Image

 

@ Preset:

– High Density

  • Clearly visible glass bottle
  • Full body of the tripod
  • Poor dege quality for fingers
  • Few noise depth values
Scene Depth Image

 

@ Preset:

– Medium Density

  • Good fill rate, most objects visible
  • Barely noise depth values
  • Good edge quality for fingers
  • Missing a significant part of the glass bottle
Scene Depth Image

 

@ Preset:

– AMR with IR-Pass

 

 

  •  Good fill rate, most objects visible
  • Barely noise depth values
  • Good edge quality for fingers
  • Missing a significant part of the glass bottle

4.2 Gemini 335L & 330L & 336L

Gemini 335L & 330L & 336L 3D Camera
Scene RGB Image
Scene Depth Image

 

@ Preset:

– Default

 

 

  • Acceptable fill rate, most objects visible
  • Barely noise depth values
  • Edges of acceptable quality
  • Missing a significant part of the glass bottle
  • Merged fingers
Scene Depth Image

 

@ Preset:

– Hand

  • Outstanding edge quality for fingers
  • No noise depth value
  • Significantly lower fill rate
  • Hardly visible glass bottle
Scene Depth Image

 

@ Preset:

– High Accuracy

  • Good edge quality for fingers
  • No noise depth value
  • Slightly lower fill rate
  • Hardly visible glass bottle
Scene Depth Image

 

@ Preset:

– High Density

  • Good fill rate, most objects visible
  • Few noise depth values
  • A significant part of the glass bottle visible
  • Poor dege quality for fingers
Scene Depth Image

 

@ Preset:

– Medium Density

  • Good fill rate, most objects visible
  • Less noise depth values
  • Hardly visible glass bottle
  • Good edge quality for fingers
Scene Depth Image

 

@ Preset:

– AMR with IR-Pass

 

 

  • Good fill rate, most objects visible
  • Less noise depth values
  • Hardly visible glass bottle
  • Good edge quality for fingers

5. Use Presets

5.1 Orbbec Viewer

Preset Default Default => High Accuracy High Accuracy
Orbbec

 

Viewer

In the table above, we illustrate how to switch the Depth Preset option from Default to High Accuracy. The drop-down box for the Depth Preset option is located at the left of Orbbec Viewer under the Device Control settings group. All depth presets available for selection are listed in the drop-down box and an arbitrary selection is valid if streams are all disabled. A switch between different depth presets while depth or IR streaming will lead to unexpected depth performance. This must be avoided under any conditions.

5.2 Orbbec SDK

5.2.1 C/C++ APIs

C++ APIs:

// header file: libobsensor\hpp\Device.hpp

/**
 * @brief Get current preset name
 * @brief The preset mean a set of parameters or configurations that can be applied to the device to achieve a specific effect or function.
 * @return const char* return the current preset name, it should be one of the preset names returned by @ref getAvailablePresetList.
 */
const char *getCurrentPresetName();

/**
 * @brief load the preset according to the preset name.
 * @attention After loading the preset, the settings in the preset will set to the device immediately. Therefore, it is recommended to re-read the device
 * settings to update the user program temporarily.
 * @param presetName The preset name to set. The name should be one of the preset names returned by @ref getAvailablePresetList.
 */
void loadPreset(const char *presetName);

 

C APIs:

// header file: libobsensor\Ddevice.h

/**
 * @breif Get the current preset name.
 * @brief The preset mean a set of parameters or configurations that can be applied to the device to achieve a specific effect or function.
 *
 * @param device The device object.
 * @param error  Log error messages.
 * @return  The current preset name, it should be one of the preset names returned by @ref ob_device_get_available_preset_list.
 */
const char *ob_device_get_current_preset_name(ob_device *device, ob_error **error);

/**
 * @brief Get the available preset list.
 * @attention After loading the preset, the settings in the preset will set to the device immediately. Therefore, it is recommended to re-read the device
 * settings to update the user program temporarily.
 *
 * @param device The device object.
 * @param preset_name  Log error messages. The name should be one of the preset names returned by @ref ob_device_get_available_preset_list.
 * @param error  Log error messages.
 */
void ob_device_load_preset(ob_device *device, const char *preset_name, ob_error **error);

 

5.2.2 C++ Code Sample

// Create a Context.
ob::Context ctx;

// Query the list of connected devices
auto devList = ctx.queryDeviceList();

// Create a device, 0 means the index of the first device
auto dev = devList->getDevice(0);

// Get the current preset name
auto devicePreset     = dev->getCurrentPresetName();

// Switch the preset to “High Accuracy”
auto newPreset = “High Accuracy”;
dev->loadPreset(newPreset);

 

5.3 ROS Wrapper

5.3.1 ROS 1

To configure the depth preset for RealSense cameras in ROS 1, update your launch file as demonstrated below. For detailed information about the available depth presets, refer to the Preset Table provided above. It is crucial to avoid switching depth presets online while streaming.

<launch>
    <!– Additional pre-existing configurations –>

    <!– Setting the depth preset for the camera –>
    <arg name=”device_preset” default=”Default”/>

    <!– Additional subsequent configurations –>
</launch>

5.3.2 ROS 2

For ROS 2 users, the procedure to set the depth preset involves using the DeclareLaunchArgument function within the launch file. Ensure to select the preset prior to streaming, as online switches between depth presets are not recommended.

# Other pre-existing configurations…

# Setting the depth preset for the camera
DeclareLaunchArgument(‘device_preset’, default_value=’Default’),

# Additional subsequent configurations…

ON THIS PAGE

Add

  • Name:

  • Link Address:

Cancel

Add

  • Name:

  • Link Address:

Cancel
Questions or
Feedback?

Feedback

  • Your feedback matters! Share your thoughts on this page, report errors, or let us know how we can improve to better support your needs. If applicable, please include the specific sentence or section to help us identify and address the issue.