STEREOLABS

ZED SDK

3.0.3

What's New

2020-02-25

ZED SDK 3.0 is the first release that supports the brand new ZED 2 camera, improved in every way with wider angle optics, more accurate factory calibration, built-in new generation environmental and motion sensors and industrial grade mounting system and enclosure.

The SDK 3.0 also introduces new neural depth sensing, improved positional tracking, new AI-based object detection API that detects and tracks objects in 3D, image quality enhancement, performance improvements and a lot more features.

To update to 3.0 from previous versions, read the migration guide.

3.0.3

SDK
  • Fixed an issue with recording and streaming with ZED cameras that could lead to a crash of NVENC encoder.
  • Added support in 3.0 for ZED stereo cameras with firmware 1142 on Windows.
  • Fixed Ubuntu16 installer missing turbojpeg dependency.
  • Fixed Qt5 OpenGL/svg dependencies in Ubuntu installers.
Tools
  • Added minimum depth distance automatic adjustment in ZED Depth Viewer when GPU has less than 3GB memory.
  • Fixed unresponsive GUI in ZED Sensor Viewer when a ZED camera was connected.
  • Fixed ZED Calibration tool for IMU when using --cimu on Windows.

3.0.2

SDK
  • Improved Spatial mapping performance by up to 200% on desktop and Jetson embedded platforms. Depth fusion is now much faster and the resulting model now refreshes in real-time on most platforms.
  • Improved DEPTH_MODE::PERFORMANCE. It now benefits from neural depth estimation with improved accuracy, edges and cleaner data.
  • Increased DEPTH_MODE::PERFORMANCE speed with a performance boost of up to 15%.
  • Fixed a bug in resetTracking function. The yaw angle defined by the Transform parameter was not taken into account.
  • Eliminated flickering in VIEW::DEPTH image when the scene has very low depth content.
  • Fixed cuDNN reported version on Jetpack 4.2. The model failed to run due to an incorrect reported version. It now works correctly.
  • Removed libturbojpeg-0-dev dependency from Ubuntu16 installer since the package is only available in Ubuntu18.
Tools
  • Added new Sensor Viewer tool that lets you display accelerometer, gyroscope, barometer, magnetometer and temperature sensors charts for ZED 2.
  • Added new LiDAR mode view in Depth Viewer. LiDAR mode will be available in the API in ZED SDK 3.1.
  • Added new Confidence 50 view in Depth Viewer. It displays sparser but more confident depth maps.
  • Added new Texture Confidence slider in Depth Viewer. It lets you remove untextured areas such as the sky or white walls from the depth map.
  • Minimum distance settings in Depth Viewer is now saved. It is loaded when the tool is restarted.
Plugins
  • Updated Unity plugin to support ZED 2 and SDK 3.0.
  • Updated Unreal plugin to support ZED 2 and SDK 3.0 with custom engine based on 4.21.
  • Updated Matlab plugin to support ZED 2 and SDK 3.0.
  • Updated ROS plugin to support ZED 2 and SDK 3.0.
  • Updated ROS wiki with up to date topics, parameters and services for latest 3.0 wrapper.
App
  • Updated ZED World AR demo to support ZED 2 and ZED SDK 3.0.

3.0.1

Python
Tools
  • Updated minimum depth range in Depth Viewer to automatically adapt to available GPU memory.

3.0.0

New Features

Object Detection
  • Added a new module that detects and tracks objects in 2D and 3D, compatible with ZED 2.
  • Added enable / disableObjectDetection and retrieveObjects functions.
  • Added ObjectData class that contains detected object data, such as 2D and 3D bounding box, tracking information, dimensions and 2D mask.
Depth
  • Introduced neural networks for depth estimation in ULTRA mode to improve stereo depth accuracy. Other modes will be updated in following SDK updates.
  • Introduced new confidence filter that detects homogenous zones. Use textureness_confidence_threshold to remove noisy values in the depth map such as sky or untextured areas.
Video
  • Added image enhancement setting to provide more vivid and accurate colors. Enabled by default in 3.0.
  • Added image sharpness setting to improve sharpening of live and recorded videos.
  • Updated SVO video format to store new sensors data.
Sensors
  • Introduced new Sensor API to provide access to data from IMU, barometer, magnetometer and temperature sensors in the ZED 2.
  • Updated documentation and added tutorial to show how to use the different sensors.
Local Streaming
  • Improved local network streaming of video data between sending and receiving host computers.
  • Video Streaming API is not compatible between 2.8 and 3.0.
Docker
  • Improved Docker support for all ZED SDK versions.
  • Introduced lightweight runtime Docker images for deployment of Docker applications using the ZED SDK.
  • Updated Stereolabs DockerHub repository with the new images.
Performance
  • Improved speed of the Depth module by carefully optimizing critical functions on desktop and embedded platforms.
  • Optimized image rectification pipeline.
Software Support
  • Updated to C++14 (previously C++11)
  • The new Object Detection module uses TensorRT and cuDNN to run efficiently on embedded platforms. The module is dynamically loaded from a separate sl_ai library to avoid the explicit dependency when using sl_zed.
Platforms
  • Added support CUDA 10.2 and JetPack 4.3.
  • Dropped support for JetPack 3.3 and Windows 7. While ZED may still be used on Windows 7, it is not officially supported.

Major 3.0 API Changes

  • Since there are a lot of changes compared to ZED SDK v2, a migration guide is available to help you switch easily from 2.8 to 3.0.
General
  • Each enum is now an enum class (forced using TYPE::VALUE, instead of the current TYPE::TYPE_VALUE or even TYPE_VALUE).
  • All deprecated functions / parameters / options have been removed.
  • All libs are now merged into sl_zed for clarity and ease of deployment.
  • All headers are now merged into a single sl/Camera.hpp.
  • Camera::grab is now blocking (guaranteed to return a new frame).
Functions
  • SaveAs functions have been replaced by Mat::save().
  • Added getter functions to retrieve any module parameter from Camera, such as getPositionalTrackingParameters.
  • Added static function Camera::reboot() to perform a hardware reset of the camera.
Video
  • Resolution and FPS information have been moved to Camera::getCameraInformation.
  • The CAMERA_SETTINGS enum is renamed to VIDEO_SETTINGS.
  • Added InitParameters::image_enhancement for better black level correction, AWB adjustment and improved gamma curve
  • Added VIDEO_SETTINGS::SHARPNESS, a digital two-pass sharpening control that improves image quality.
  • Video recording is now automatically handled by the grab function, without having to explicitly call the record() function (now removed).
  • Added a new pauseRecording function.
  • Added RecordingParameters structure.
  • Deprecated RAW and LOSSY compression modes. They have been removed from SDK recording options.
  • AVCHD and HEVC have been renamed into H264 and H265.
Sensors
  • Added SensorsData class to store the data of all the other sensors present in the new ZED 2 which includes BarometerData, TemperatureData, MagnetometerData and IMUData. It also includes a state; CAMERA_MOTION_STATE which indicates if the camera is static, moving or falling.
  • Camera::getIMUData() has been replaced by Camera::getSensorsData() to reflect the class update. It provides access to all the sensor values.
Depth
  • Depth range and confidence parameters have been moved into InitParameters.
  • Improved ULTRA mode with better accuracy and contours.
Positional Tracking
  • Positional Tracking module function have been renamed to include "Positional" to differentiate it from object tracking. For instance: Camera::enableTracking is now Camera::enablePositionalTracking.
  • Spatial memory has been renamed to Area memory for consistency with Area files (enable_area_memory, saveAreaMap`)
Streaming
  • Added StreamingParameters::chunk_size to select the maximum size of each transmitted packet and improve packet transmission.
Spatial Mapping
  • Removed all deprecated Mesh functions. The overloaded SpatialMap functions that include support for both Mesh and FusedPointCloud should now be used.
  • extractWholeSpatialMap is now smarter if a previously retrieved map is passed as an argument. It will retrieve only the difference between the initial and updated mesh.
Compatibility
  • Streaming module is not compatible between 2.8 and 3.0.
  • Due to a change in SVO metadata, SVOs recorded with 3.0 will only be compatible with SDK 2.8.4 and upwards.

Legacy

For older releases and changelog, see the ZED SDK release archive.

SDK Downloads

The ZED SDK allows you to add depth, motion sensing and spatial AI to your application. Available as a standalone installer, it includes applications, tools and sample projects with source code. Please check out our GitHub page and SDK documentation for additional resources.

Legacy

For older releases and changelog, see the ZED SDK release archive.

Plugins

Build applications with your favorite tools and development environments using these standalone packages, which provide access to the complete feature set of the ZED SDK.

App

ZED World is a standalone application that allows you to experience mixed reality with stereo pass-through in VR headsets. Requires ZED Mini, Oculus Rift or HTC Vive.