Skip to content

Releases: luxonis/depthai-core

Release v3.0.0-rc.4

31 Jul 22:26
4adc1df
Compare
Choose a tag to compare

Features

  • Added ObjectTracker node on RVC4 which can also run as a host node.
    • Based on OC-Sort algorithm
    • Improved performance compared to the RVC2 implementation
    • Examples
  • Added support for runtime calibration changes on RVC4
  • Support for undistorted outputs in Camera node on RVC4
  • Added ToF Filtering
    • Greatly reduces noise and improves quality
    • Filtering is enabled by default on the ToF node
    • The filters currently run on the host
    • The filtering can also be used independently with the new ImageFilters node
    • Example

Bug fixes

  • Fixed an issue where using OV9728 at resolutions smaller than 640x400 forced a mono-only sensor config on RVC2
  • Stabilized internal camera clock and monotonic clock syncing
  • Fixed the Camera->IMU extrinsics setting in BasaltVIO node
  • Fixed an edge case where dai.Device constructor could get stuck indefinitely if the device lost connection at the wrong time by adding a timeout internally

Misc

  • Removed the deprecated imageIn input on DetectionParser which has been replaced by using ImgTransformations
  • Skipped file locking for Zoo model downloads when filesystem is read-only
  • getCalibration always returns the current active calibration, even when not set by setCalibration
  • Changed the RGBD autocreate logic to use ToF depth on OAK-ToF instead of stereo.
  • Added ToF RGB align example
  • Added a convenience getNNArchive getter to NeuralNetwork node

RVC4 OS comaptibility

  • Integration tested on Luxonis OS 1.6.0-debug, 1.14.1-debug and 1.15.0-debug

Known issues / caveats:

  • On release flavors of the OS on RVC4, the camera stack can get stuck in a bad state, where cameras don't start streaming again and a reboot is needed
    • It is recommended to use -debug versions of the OS, until this is resolved

Release v3.0.0-rc.3

11 Jul 08:52
5883dab
Compare
Choose a tag to compare

Features

  • Optimized XLink memory usage on RVC2 allowing for larger pipelines without running out of memory
  • Added support for the latest revision of the OAK-ToF (R4)

Bug fixes

  • Edge case in ToF decoding overflow fixed
  • Fixed a regression on DSP post-processing in Stereo node on RVC4
  • Addressed the camera timestamp drift on RVC4
  • CalibrationHandler.getCameraExtrinsics() regression fixed by flipping the matrix multiplication order
  • Fixed a possible race condition in ImageManip in LOW_POWER mode on RVC4

Misc

  • Added missing bindings for RotatedRect in Script node on RVC2
  • Switched to standardized access for EEPROM on RVC4 platform
  • Switched to std::filesystem::path from dai::Path throughout the codebase
  • Added unique input names by default making multi-input host nodes work without the need to explicitly name inputs/outputs
  • Added examples for EdgeDetector and SystemLogger (RVC2 only)
  • Added filesystem locks for Zoo model downloading for multi-process usage
  • Added support for parallel Debug and Release builds on Windows (previous limitation due to vcpkg)

RVC4 OS comaptibility

  • Integration tested on Luxonis OS 1.2, 1.6.0-debug and 1.14.1-debug

Known issues / caveats:

  • On release flavors of the OS on RVC4, the camera stack can get stuck in a bad state, where cameras don't start streaming again and a reboot is needed
    • It is recommended to use -debug versions of the OS, until this is resolved

Release v3.0.0-rc.2

11 Jun 16:15
Compare
Choose a tag to compare

DepthAI v3.0.0 release candidate is out 🎉

We’re proud to announce a new major revision of the DepthAI library is now in release candidate stage and ready to be used.

Simplified API

We've simplified and unified the API to lower the barrier to entry and make development more intuitive. Core tasks like setting up camera streams, running neural networks, and building spatial pipelines are now streamlined with fewer lines of code.

We have removed many deprecated functions and simplified node constructors, creating a cleaner, more consistent, and easier-to-use library for newcomers as well as more experienced users.

Refreshed nodes

We've revisited some of the most fundamental nodes to make them more powerful and flexible.

  • Camera

    • The ColorCamera and MonoCamera nodes have been replaced by a single, generic Camera node that works across all platforms.
    • It supports a variable number of outputs, where each can have an independent:
      • Type (NV12, RGB interleaved or planar, ...)
      • Size
      • FPS
    • Python and C++ examples.
  • ImageManip

    • The ImageManip node has been revised for more robust and predictable behavior (we now track the order of operations to make the output fully deterministic).
    • It now supports relative crops and can be used as a host-side node in addition to running on RVC2 and RVC4 devices.
    • Python and C++ examples.

New nodes

DepthAI v3 introduces new high-level nodes to simplify working with high level concepts (RGBD pointclouds, SLAM)

  • RGBD: This node makes it easy to work with synchronized and aligned color and depth data. It features an "autocreate" mode that automatically constructs the required input pipeline, delivering a ready-to-use RGBD message or a colored point cloud.
  • VSLAM: We've added SLAM and VIO as host nodes, enabling advanced spatial AI applications. These are currently available on Linux and macOS and are in early preview.

Support for host nodes

DepthAI v3 now supports custom host nodes, allowing you to run parts of your pipeline on the host with custom logic while keeping the rest on-device. Whether you need to run complex post-processing in Python or integrate with external libraries, it’s all part of the same unified pipeline. See the Python and C++ examples.

Visualizer

Debugging and development just got easier with our new integrated visualizer. You can now visualize camera streams, neural network outputs, and detection overlays in real-time. The visualizer is also able to display the pipeline graph, making it a great tool for understanding and debugging your application's data flow.
See the Python and C++ examples.

A lot of nice to have features:

  • Auto reconnect: If a device has a flaky connection and crashes, the library will now automatically try to reconnect instead of exiting, making your applications more resilient.
  • Unified Coordinate System: We’ve standardized all coordinate systems. Camera, IMU, and spatial data now use the RDF (Right-Down-Forward) convention, eliminating inconsistencies when fusing data from multiple sensors.
  • Native Model Zoo Support: Take advantage of the new Luxonis Model Zoo, which integrates natively into v3. Loading and deploying models is now seamless, with no boilerplate required.
  • Remapping points between different frames: We've much improved the developer experience where detections from one image in the pipeline (on the input of the NN for example) need to be remapped to another image in the pipeline, that's still in full resolution by internally tracking all of the image operations that are made to streams. See Python and C++ examples.

Support for RVC4 devices

DepthAI v3 brings support for both RVC2 and RVC4 devices, with a unified codebase that runs on both platforms. This allows you to prototype on one and deploy on another without code changes in most cases.

Migration from v2.x version of the library

We've prepared a porting guide to speed up the migration here.

Known issues

  • On release flavors of the Luxonis OS on RVC4, the camera stack can get stuck in a bad state where cameras do not restart streaming, requiring a device reboot. It is recommended to use -debug versions of the OS until this is resolved.

Release v2.30.0

18 Mar 17:55
Compare
Choose a tag to compare

Features

  • Add RVC4 discovery to point users to v3 version of the library for OAK4 devices
  • Add support for a new VCM enabling autofocus on new IMX378 CCMs

Bug fixes

  • Fix an edge case in ImageManip to make https://github.com/geaxgx/depthai_hand_tracker run in edge mode again
  • Fix an edge case when sending MessageGroup from host to device and using more than 4 messages
  • Fix a bug where standolone logging would cause a memory leak

Release v2.29.0

26 Nov 20:58
d6a37a5
Compare
Choose a tag to compare

Features

  • Add the ability to change the calibration on the device in runtime with the new dai::Device.setCalibration() method and to retrieve it with the dai::Device.getCalibration().
  • New StereoDepth presets:
    • DEFAULT
    • FACE
    • HIGH_DETAIL
    • ROBOTICS
  • Multiple camera improvements (more details in #972):
    • Expose more downsampling modes when picking a lower than native resolutions
    • Expose more binning modes when binning is picked on IMX582/586 (sum and avg)
    • HDR on IMX582/586
    • Option to bypass 3A for having manual expose/ISO take effect faster
    • Initial support for new Sony 4K Starvis sensors: IMX678 and IMX715
    • Option to set the main camera to drive auto-exposure and auto-white-balance in multi-camera configurations
  • Improved StereoDepth filtering and an option to use a set a custom order of filters
    • Disparity is first scaled to 13 bit before going through filtering, which results in filters being more effective.

Misc

  • Remove false reports on crashes that happened on device destruction
  • Add getWidth() and getHeight() API to EncodedFrame

Release v2.28.0

19 Aug 20:22
12158a5
Compare
Choose a tag to compare

Features

  • Changed the automatic crashdump collection to always on unless DEPTHAI_DISABLE_CRASHDUMP_COLLECTION is set.
  • Added DEPTHAI_ENABLE_ANALYTICS_COLLECTION environment varialbe - when set, analytic data (pipeline schema) is sent to Luxonis which will be used to further improve the library.
  • Undistort both outputs of ToF by default.
  • Improved 3A syncing on OAK-D-LR
  • Added support for YoloV10

Bug fixes

  • Fix Camera node to correctly allocate resources for undistortion
  • Fix StereoDepth node when decimation filter and depth alignment are used
  • Fix host timestamps of thermal frames to be synced

Misc

  • Updated XLink to support clangd and shared libraries on Windows:
  • Remove a custom assert to always produce a crash dump to improve the UX with the automatic crashdump collection
  • Increased watchdog priority on device side to improve stability during high load

Release v2.27.0

27 Jun 10:23
729e478
Compare
Choose a tag to compare

Features

  • Automatic crash dump collection when DEPTHAI_ENABLE_FEEDBACK_CRASHDUMP is set.

Bug fixes

  • Fix PointCloud generation when depth comes out of the ImageAlign node
  • Fix IMX214 (OAK Lite) potential crash on init with more complex pipelines
  • Fix a rare bug on a crash if a camera stream is closed after 1 second while AF is running

Release v2.26.0

25 May 18:57
9048745
Compare
Choose a tag to compare

Features

  • ImageAlign node
    • it can align depth to any other sensor on the device - works for ToF too.
    • it can align two sensors with a static depth (default at infinity), useful for thermal-rgb alignment
  • Cast node
    • Cast NNData message to ImgFrame
    • Useful in case apps need to use outputs from NeuralNetwork node to be fed into nodes that only accept ImgFrame
  • Full ToF support
    • Running live at 30 FPS
    • Measuring range of 20cm - 6m
    • < 1% error across the range
  • Support for ToF in spatial nodes
  • Add an option to limit bandwidth over XLink setXLinkRateLimit(int maxRateBytesPerSecond, int burstSize, int delayUs)

Stability improvements and bug fixes

  • Improved PoE stability on reboots - eliminate the case where powercycle of the device was sometimes needed
  • Improved runtime stability of heavy pipelines by increasing priority of the cameras in the NoC
  • Improved ImageManip stability
  • Improved XLink communication to be able to detect memory corruption and avoid it
  • Fix a bug where stereo rectification was inaccurate when the calibration data didn't contain direct link between the two inputs
    • Relevant for custom setups on FFC devices

Misc

  • Improve numerical stability of the rectification algorithm
    • Improves stereo quality on wide FOV sensors

Release v2.25.1

23 Apr 11:18
c21bdd3
Compare
Choose a tag to compare

Features

  • Added DeviceBootloader::getFlashedVersion to retrieve the bootloader version that is flashed on device.

Bug Fixes

  • Fixed fsync on OAK-D-SR.
  • Fixed boot issue on OAK-D-SR-POE and OAK-T.
  • Fixed compilation in same cases, because of problems with jsoncpp. (#980)

Misc

Release v2.25.0

09 Mar 11:10
eba7400
Compare
Choose a tag to compare

Features

  • PointCloud node along with the PointCloudData message
    • On device pointcloud generation
    • Native conversion to PCL message type - similar to getCvFrame()
  • Support for the OAK Thermal
  • New setManualFocusRaw() API with more granularity for setting manual focus position
  • New getStereoPairs() and getAvailableStereoPairs() API to allow more device agnostic programming
  • Add the intensity output to the ToF node
  • Add the crop sensor configs in getConnectedCameraFeatures() now contain how each of the resolutions is cropped from the native sensor resolution

Bug fixes

  • Bug fix for v2.24.0 regression with flashing the bootloader link
  • Bug fix in message groups for large resolution frames when going through XLinkOut node
  • Bug fix to apply AE limit during AF lens movement (before the fix, the AE limit wasn't applied during active AF movements)
  • Bug fix for grayscale VideoEncoder node with 2 inputs of different sizes

Misc

  • Fix timings for IMX214 4K resolution, which were slightly off