Features
- [Beta] Stitching node
- Stitches frames from two different sensors based on matching features in the overlap of the images
- Supports two stitching modes:
- Panorama stitching based on the image overlap
- Planar projection onto a configurable plane
- A panorama example and a planar projection example are available
- [RVC4] Align node
- A generic way to align
Transformablemessages orImgFrames with each other in any order - Can align an
ImgFrameto any transformable message type - Supports transforming custom messages if they override the
transformTofunction and the node runs on the host. A Python example and a C++ example are available ImgDetectionsalignment is shown in a C++ example and a Python example
- A generic way to align
- Message save and load functions
- DepthAI messages can be written to a file and then read back with the new API:
msg.save("name.dai")andmsg.load("name.dai") - The saved file is a binary protobuf envelope
- The following messages are supported:
ImgFrame,NNData,ImgDetections,SpatialImgDetections,SegmentationMask,PointCloudData,RGBDData,IMUData, andImgAnnotations
- DepthAI messages can be written to a file and then read back with the new API:
- [RVC4] ToF undistortion
setOutputUndistortionlets you undistort the ToF depth frame
- Extrinsics now carry a
toDeviceIdfield- Used together with
toCameraSocketfor better transformation handling in multi-device setups - The field is automatically populated with the ID of the device that created the message, because that is the device
toCameraSocketrefers to
- Used together with
Bug fixes
- [RVC2] VideoEncoder checks parameter coherency
- Unvalidated parameters caused significant performance degradation when rendering a video stream with incorrect parameters
- [RVC2] The LEON OS unwind section now uses the standard
.eh_framenaming, so the linker cleans up stale unwind records getMaskDatabindings forSpatialImgDetectionsandImgDetectionsnow return a genericpy::object- Device discovery functions (for example
getAllConnectedDevices) now release the GIL, which prevents stuttering of a running pipeline - Four-point transform in ImageManip now properly handles normalized coordinates
- Rotation is now properly applied to
addCropRotatedRectwhen coordinates are normalized - Stricter intrinsics matrix validation
- The device health check is now more robust when the device is in use
- DetectionParser only considers outputs with
_yoloin the name when validating the number of strides
Misc
- [RVC4] Optimized the loading of NN models and reduced the RAM footprint by half
- Added a DepthAI-specific reviewer skill for easier development and a faster merge process
- Embedded visualizer updated to 3.9.6:
- Improved performance and stability
Known issues
- Downgrading from OS 1.40.0 to any OS between 1.24.0 and 1.31.1 causes an STM flash error that leads to a device crash when running any pipeline. To fix the issue, downgrade to OS 1.35.0 first, before you downgrade to the above OS range
[RVC4] Luxonis OS compatibility
Integration tested with Luxonis OS 1.30.1, 1.35.0, and 1.40.0.