ZED SDK 3.4
Release notes of the ZED SDK 3.4 series. Patch releases are listed newest first. Download links and the full changelog, including ZED Tools and integrations, are available on the ZED SDK 3.4 release page.
What’s New
The new ZED SDK 3.4 brings major improvements to positional tracking area recognition and ZEDfu spatial mapping application, along with many other fixes and SDK enhancements.
This release also adds support for JetPack 4.5.
3.4.2
General Improvements
- Improved local streaming on receiver side by optimizing the frame packet reception rate. This greatly reduces the number of frames dropped on the receiver.
Bug Fixes
- Fixed a random crash that would occur when using
sl::ObjectDetectionParameters::enable_mask_output = true. - Fixed a random crash that would occur when changing
sl::ObjectDetectionRuntimeParameters::object_class_detection_confidence_threshold. - Fixed
sl::Camera::getStreamingDeviceList()when using multiple sub-network. - Improved API Documentation of
sl::FLIP_MODE.
3.4.1
General Improvements
- Improved local streaming on server side that should reduce packet drops.
Bug Fixes
-
Fixed a bug when using
sl::SENSING_MODE::FILLon Jetson, causing a black depth image in fill mode. -
Added missing
texture_confidence_thresholdinsl::RuntimeParameters::save/loadfunctions. This parameter can now be correctly saved and loaded. -
Fixed
sl::Mat::write()function when usingU16_C1sl::Matformat (provided bysl::MEASURE::DEPTH_U16_MMandsl::MEASURE::DEPTH_U16_MM_RIGHT). -
Fixed an issue in SVO real time mode where
grab()returns ansl::ERROR_CODE::CAMERA_NOT_INITIALIZEDwhen next image in SVO was not available in the next 2 seconds.
This is fixed by waiting for the next image without considering a timeout of 2 seconds.
This only affects SVO real time mode. -
Fixed memory address sanitizer issue in Object Detection module.
-
Fixed a bug with
sl::InitParameters::load/savefunctions when using streaming input type. The IP/port was not properly saved in the .yml file and load function was therefore returning false. It is now correctly saved and therefore will be properly parsed during load. -
Fixed a bug with IMU online bias correction that leads to corrupted stored bias values. Maximum correction has been decreased to avoid wrong orientation for IMU. It only affects ZED Mini and ZED 2.
-
Fixed missing
sl::SensorsData::imu::pose_covarianceandsl::CameraInformation::sensors_configuration::camera_imu_transformwhen using Streaming or SVO input mode. -
Fixed a bug in
sl::FusedPointCloud::save()when trying to save a fused point cloud as an OBJ file.
3.4.0
New Features
Positional Tracking
- Positional Tracking with area memory is now faster and more accurate, leading to improved global tracking accuracy.
Previously, camera re-localization and loop closures required the camera to be close to the image and position saved in the database. It is now more robust and accurate, and will recognize places even if the camera is not close to the saved position in the database.
SDK
Depth
- Added a new depth format
sl::MEASURE::DEPTH_U16_MMandsl::MEASURE::DEPTH_U16_MM_RIGHT.
Retrieved depth maps can now have asl::MAT_TYPE::U16_C1type with values stored in millimeters. This is useful for applications and integrations that require a 16-bit depth format.
Camera
- Added a parameter to import external OpenCV calibration files with
sl::InitParameters::optional_opencv_calibration_file.
This allows users to calibrate their stereo cameras with OpenCV stereo calibration module, and provide an XML/YAML/JSON calibration file to the ZED SDK. - Added
sl::Camera::updateSelfCalibration()function to launch a camera self calibration update process at runtime.
This allows to run self-calibration while the camera is running, improving depth estimation in rare cases where mechanical shocks or thermal changes might have impacted left/right image alignment. Self-calibration can be called anytime aftersl::Camera::open()has been successfully called. This function is similar toresetSelfCalibration()that was removed in 3.0. - Added
sl::Resolution getResolution(RESOLUTION resolution)function.
You can now get the actual resolution (width and height) of a specific camera video mode. - Increased image timestamp adjustment speed when the system clock changes (when using NTP/PTP synchronization).
Previously, the maximum allowed correction for the image timestamp was 500μs for a single frame. Now it is at a maximum of 4ms per frame.
Therefore, the correction should be much faster when a sudden jump happens in system clock.
Streaming
- Fixed an issue with
sl::SensorsData::imuthat provided different data between LIVE input and STREAMING input. This issue was reported on GitHub.
Nowsl::Camera::getSensorsData()will provide the same values if usingLIVEorSTREAMINGinput.
Object Detection
- Added skeletons keypoints confidence in
sl::ObjectData::keypoint_confidence.
It is now possible to get the confidence of every skeleton keypoint. This can be used to filter low confidence keypoints, or to help fusing keypoints seen by multiple stereo cameras. - Added a max range parameter for Object Detection module using
sl::ObjectDetectionParameters::max_range.
You can now set a maximum distance for 3D object detection. This allows to limit the 3D tracking space and remove detections outside a given range.
Bug Fixes
- Fixed magnetometer data coordinate frame.
Previously it was given in the coordinate frame of the magnetometer. It is now given in the coordinate frame of the IMU, so that the gyroscope, accelerometer and magnetometer on the ZED 2 share the same coordinate frame. - Fixed an issue with Tegra encoder limiting the number of calls to the recording module.
Previously, it was limited to around 900-1000enableRecording()/disableRecording()calls due to a bug in the Tegra encoder. Calls are now unlimited.

