> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.stereolabs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.stereolabs.com/_mcp/server.

# Depth Modes

StereoLabs AI Depth leverages advanced neural networks to generate high-quality depth maps from stereo images, delivering reliable results even in challenging scenarios. Compared to traditional approaches, AI Depth provides superior accuracy in low-texture and low-light environments. This makes it especially well-suited for applications such as robotics, augmented reality (AR), and 3D mapping, where dependable depth perception is critical.

The ZED SDK provides multiple AI-powered depth modes, allowing you to tailor depth sensing to your application's requirements. Each mode offers a different balance of accuracy, range, and computational speed, so you can optimize for precision, performance, or a mix of both depending on your use case.

## Which depth mode should I use?

The three neural modes described below are the ones to choose between in ZED SDK v5. The legacy `PERFORMANCE`, `QUALITY`, and `ULTRA` modes are still available in the API but are deprecated in favor of them (see [Legacy depth modes](#legacy-depth-modes)). Two other values of `DEPTH_MODE` are not depth modes in the same sense: `NONE` disables depth computation entirely, and `CUSTOM` (experimental, ZED SDK 5.4 and later) lets you feed the SDK your own disparity or depth estimation (see the [custom depth ingestion sample](https://github.com/stereolabs/zed-sdk/tree/master/depth%20sensing/custom%20depth)).

| If your situation is...                                                                    | Recommended mode                                                                                                                                                                                   |
| ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Good balance of speed and accuracy, for general-purpose robotics, AR, or navigation        | `NEURAL`                                                                                                                                                                                           |
| Highest accuracy, for inspection, 3D reconstruction, or detecting small or distant objects | `NEURAL_PLUS`                                                                                                                                                                                      |
| `NEURAL` does not reach the frame rate your application needs                              | `NEURAL_LIGHT`                                                                                                                                                                                     |
| Several cameras on the same device                                                         | Platform-dependent, check the performance tables below. An Orin AGX sustains 30 FPS on 4 cameras in `NEURAL`, while an Orin Nano 4 GB already drops to 5 FPS on 2 cameras and needs `NEURAL_LIGHT` |
| Resource-constrained embedded device                                                       | `NEURAL_LIGHT` on an Orin Nano 4 GB. On Orin Nano 8 GB and Orin NX 8, `NEURAL` still runs at 30 FPS with a single camera, while `NEURAL_PLUS` stays below 10 FPS                                   |
| Your application does not need depth                                                       | `NONE`                                                                                                                                                                                             |

> **Note**
>
> The depth mode is not a property of a recording. SVO files store only the raw unrectified images, so a sequence recorded with `DEPTH_MODE::NONE` can be replayed later with any depth mode, and depth is computed at that moment. See [What an SVO File Contains](/docs/development/zed-sdk/modules/camera/recording#what-an-svo-file-contains).

## Legacy depth modes

`PERFORMANCE`, `QUALITY`, and `ULTRA` are the computer vision depth modes of earlier ZED SDK versions. They are deprecated since [ZED SDK 5.0](/docs/development/zed-sdk/release-notes/5-x/5-0) but still available in the API.

The neural modes are not all new in v5: `NEURAL` was introduced in [ZED SDK 3.7](/docs/development/zed-sdk/release-notes/3-x/3-7), `NEURAL_PLUS` in [ZED SDK 4.1](/docs/development/zed-sdk/release-notes/4-x/4-1), and `NEURAL_LIGHT` in ZED SDK 5.0, which also updated the `NEURAL` and `NEURAL_PLUS` models.

There is no one-to-one replacement for each legacy mode. When migrating, pick the neural mode from the [table above](#which-depth-mode-should-i-use) according to your accuracy and frame rate needs, and validate it on your target platform: even `NEURAL_LIGHT` has a different resource profile than the legacy modes.

## NEURAL

The `NEURAL` depth mode uses AI-powered disparity estimation to deliver a strong balance of depth accuracy and processing speed. It is ideal for applications that require reliable depth perception without sacrificing real-time performance.

`NEURAL` is also the only depth mode that supports `INT8` inference precision, which trades a small amount of accuracy for faster, lower-memory depth computation. See [Depth Precision](/docs/development/zed-sdk/modules/depth-sensing/depth-settings#depth-precision).

![Neural depth mode outdoor example](/_fern-files/stereolabs.docs.buildwithfern.com/cd95678ef29cb8d967e02b9e611ef2abff4c7049d5e1495ec671e116bd535a4e/docs/development/zed-sdk/modules/depth-sensing/images/neural_outdoor.gif)

### Neural Depth Computational Performance on embedded devices

#### Orin AGX

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 30  | 5       | 26      |
| 2       | 30  | 6       | 50      |
| 4       | 30  | 26      | 53      |

#### Orin NX 16

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 30  | 9       | 59      |
| 2       | 23  | 20      | 94      |
| 4       | 10  | 39      | 96      |

#### Nano 4 GB

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 12  | 22      | 90      |
| 2       | 5   | 25      | 93      |
| 4       | OOM | OOM     | OOM     |

#### Nano 8 GB

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 30  | 14      | 88      |
| 2       | 18  | 20      | 98      |
| 4       | 9   | 38      | 98      |

#### Orin NX 8

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 30  | 12      | 70      |
| 2       | 17  | 18      | 96      |
| 4       | 6   | 35      | 98      |

> **Note**
>
> Performance obtained with ZED SDK v5.0.1 RC, ZED X Driver v1.3.0, and ZED X camera using the [multicamera code example available on GitHub](https://github.com/stereolabs/zed-sdk/tree/master/depth%20sensing/multi%20camera).

### Neural Depth Accuracy (ZED X)

| Distance Range (m) | Mean Error | Standard Deviation\* |
| ------------------ | ---------- | -------------------- |
| \[0.3 - 4]         | \< 1%      | Low                  |
| \[4 - 6]           | \< 2.5%    | Low                  |
| \[6 - 9 ]          | \< 4%      | Medium               |
| \[10 - 12 ]        | \< 6%      | High                 |

(\*) *A lower standard deviation indicates more stable and accurate depth estimation, resulting in smoother and more reliable 3D point clouds. Higher deviation can lead to noise and distortion, producing wavy or unstable point clouds.*

### Enabling the NEURAL depth mode in the API

**`C++`**

```cpp C++
// Set depth mode in NEURAL
InitParameters init_parameters;
init_parameters.depth_mode = DEPTH_MODE::NEURAL;
```

**`Python`**

```python Python
# Set depth mode in NEURAL
init_parameters = sl.InitParameters()
init_parameters.depth_mode = sl.DEPTH_MODE.NEURAL
```

**`C#`**

```csharp C#
// Set depth mode in NEURAL
InitParameters init_parameters = new InitParameters();
init_parameters.depthMode = DEPTH_MODE.NEURAL;
```

## NEURAL LIGHT

The `NEURAL_LIGHT` depth mode provides AI-powered disparity estimation optimized for speed and efficiency. It enables real-time depth sensing with lower computational load, making it ideal for multi-camera setups and applications where fast processing is prioritized over maximum depth accuracy.

![Neural Light depth mode outdoor example](/_fern-files/stereolabs.docs.buildwithfern.com/0d28ce04d3d573a6f2388815bdfb2f535acfad58ddb6af1b85bba882838d0d58/docs/development/zed-sdk/modules/depth-sensing/images/neural_light_outdoor.gif)

### Neural Light Depth Computational Performance on embedded devices

#### Orin AGX

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 30  | 5       | 11      |
| 2       | 30  | 6       | 23      |
| 4       | 30  | 22      | 46      |

#### Orin NX 16

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 30  | 2       | 23      |
| 2       | 30  | 5       | 47      |
| 4       | 30  | 14      | 81      |

#### Nano 4 GB

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 30  | 24      | 80      |
| 2       | 13  | 27      | 80      |
| 4       | OOM | OOM     | OOM     |

#### Nano 8 GB

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 30  | 14      | 36      |
| 2       | 30  | 25      | 64      |
| 4       | 21  | 45      | 84      |

#### Orin NX 8

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 30  | 15      | 28      |
| 2       | 30  | 25      | 55      |
| 4       | 19  | 40      | 90      |

> **Note**
>
> Performance obtained with ZED SDK v5.0.1 RC, ZED X Driver v1.3.0, and ZED X camera using the [multicamera code example available on GitHub](https://github.com/stereolabs/zed-sdk/tree/master/depth%20sensing/multi%20camera).

### Neural Light Depth Accuracy (ZED X)

| Distance Range (m) | Mean Error | Standard Deviation\* |
| ------------------ | ---------- | -------------------- |
| \[0.3 - 3]         | \< 1%      | Low                  |
| \[3 - 5]           | \< 3%      | Medium               |
| \[5 - 12 ]         | \< 8%      | High                 |

(\*) *A lower standard deviation indicates more stable and accurate depth estimation, resulting in smoother and more reliable 3D point clouds. Higher deviation can lead to noise and distortion, producing wavy or unstable point clouds.*

### Enabling the NEURAL LIGHT depth mode in the API

**`C++`**

```cpp C++
// Set depth mode in NEURAL_LIGHT
InitParameters init_parameters;
init_parameters.depth_mode = DEPTH_MODE::NEURAL_LIGHT;
```

**`Python`**

```python Python
# Set depth mode in NEURAL_LIGHT
init_parameters = sl.InitParameters()
init_parameters.depth_mode = sl.DEPTH_MODE.NEURAL_LIGHT
```

**`C#`**

```csharp C#
// Set depth mode in NEURAL_LIGHT
InitParameters init_parameters = new InitParameters();
init_parameters.depthMode = DEPTH_MODE.NEURAL_LIGHT;
```

## NEURAL PLUS

The `NEURAL_PLUS` depth mode provides the highest depth accuracy and detail among all AI-powered modes. It is designed for applications that demand maximum precision and robustness, such as advanced robotics, inspection, and 3D reconstruction. While it requires more computational resources and delivers lower frame rates compared to other modes, `NEURAL_PLUS` excels in challenging environments and when capturing fine object details is critical.

![Neural Plus depth mode outdoor example](/_fern-files/stereolabs.docs.buildwithfern.com/53285ebcf4b9f704d987cd17f74add0e8f012b2552a5f7122d515050c0528b2c/docs/development/zed-sdk/modules/depth-sensing/images/neural_plus_outdoor.gif)

### Neural Plus Depth Computational Performance on embedded devices

#### Orin AGX

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 29  | 7       | 90      |
| 2       | 17  | 11      | 90      |
| 4       | 8   | 21      | 97      |

#### Orin NX 16

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 12  | 2       | 92      |
| 2       | 5   | 4       | 98      |
| 4       | 2   | 14      | 98      |

#### Nano 4 GB

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 3   | 20      | 97      |
| 2       | 1.3 | 25      | 98      |
| 4       | OOM | OOM     | OOM     |

#### Nano 8 GB

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 8   | 12      | 95      |
| 2       | 4   | 18      | 97      |
| 4       | 2   | 35      | 98      |

#### Orin NX 8

| Cameras | FPS | CPU (%) | GPU (%) |
| ------- | --- | ------- | ------- |
| 1       | 8   | 10      | 94      |
| 2       | 3   | 19      | 98      |
| 4       | 1   | 34      | 98      |

> **Note**
>
> Performance obtained with ZED SDK v5.0.1 RC, ZED X Driver v1.3.0, and ZED X camera using the [multicamera code example available on GitHub](https://github.com/stereolabs/zed-sdk/tree/master/depth%20sensing/multi%20camera).

### Neural Plus Accuracy (ZED X)

| Distance Range (m) | Mean Error | Standard Deviation\* |
| ------------------ | ---------- | -------------------- |
| \[0.3 - 9]         | \< 1%      | Low                  |
| \[9 - 12]          | \< 2%      | Medium               |

(\*) *A lower standard deviation indicates more stable and accurate depth estimation, resulting in smoother and more reliable 3D point clouds. Higher deviation can lead to noise and distortion, producing wavy or unstable point clouds.*

### Enabling the NEURAL PLUS depth mode in the API

**`C++`**

```cpp C++
// Set depth mode in NEURAL_PLUS
InitParameters init_parameters;
init_parameters.depth_mode = DEPTH_MODE::NEURAL_PLUS;
```

**`Python`**

```python Python
# Set depth mode in NEURAL_PLUS
init_parameters = sl.InitParameters()
init_parameters.depth_mode = sl.DEPTH_MODE.NEURAL_PLUS
```

**`C#`**

```csharp C#
// Set depth mode in NEURAL_PLUS
InitParameters init_parameters = new InitParameters();
init_parameters.depthMode = DEPTH_MODE.NEURAL_PLUS;
```

## Depth Modes Comparison

| Depth Mode    | Ideal Range | Benefits                                                                                                                                                                            | Limitations                                                                                                       |
| ------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| NEURAL\_LIGHT | \[0.3-5]    | - Fastest depth mode - Best for multi-camera setup - Suited for mid-range obstacle avoidance                                                                                        | - Smallest ideal depth range - May miss small objects/details - Slightly less robust to light changes than NEURAL |
| NEURAL        | \[0.3-9]    | - Balanced depth and performance - Better object detail than NEURAL\_LIGHT - Suitable for most multi-camera applications - Same robustness to environmental changes as NEURAL\_PLUS | - Slower than NEURAL\_LIGHT - Less detail than NEURAL\_PLUS                                                       |
| NEURAL\_PLUS  | \[0.3-12]   | - Highest object details - Highest ideal depth range and stability - Best for detecting near, far, and small objects - Most robust to environmental changes and reflections         | - Slowest depth mode - May not be suited for multi-camera setup                                                   |

> **Note**
>
> * The depth range is highly dependent on the camera baseline and optics. A bigger baseline increases the maximum depth range but also raises the minimum working distance, while a smaller baseline does the opposite. Here, tests were conducted with a ZED X (2.2 mm lens) whose stereo baseline is 120 mm.
> * Jetson Power Profile: Tests were conducted using MAXN without Super mode.