- blobs.testing.BlobEvaluator introduced
- Exposed more compiler functionality
- blobs.get_model_path
- blobs.get_cache_dir
- blob.get_model_name
- Added blobs.models.bulk for easier bulk importing of model paths
- i.e. bulk.GAUSSIAN_15x15 is a tuple of all compiled models of that function
- ALL_MODELS, as a list of each valid tuple of paths
- Added new script
model_visualizer
which allows visualizing a variety of pre-compiled models.
- Explicit call to VPU.stop in blobs.benchmark_blob.
- Enabled with statement usage with VPU to prevent missing stop calls.
- Rewrote all existing tests to use new BlobEvaluator
- More debug logging in VPU and node creation
- blobs.benchmark_blob
- Measure the latency of a compiled blob.
- nodes.get_yolo_data
- Create a YolomodelData object from a json file.
- benchmark submodule
- measure_latency and measure_throughput functions. Allow measuring roundtrip latency and max uplink and downlink throughput.
- Info functions for compiled blobs
- Can get the layer information for input/output layers of compiled blob files.
- Added function for getting blob objects via paths with verification.
- create_device
- Now accepts a usb speed parameter.
- Supported for OAK-1 devices through the calibration API
- get_camera_calibration now reads device type and pulls correct information.
- ApiCamera, LegacyCamera, VPU, and Webcam now accept a device_id for specifying which physical OAK device to utilize.
- create_device: A function for creating a DepthAI Device from a pre-defined pipeline. Accepts parameters for where to create said device.
- nodes.buffer submodule
- Buffer, MultiBuffer, SimpleBuffer classes. Each class enables methods for making DataInput/OutputQueues easier to use in bulk.
- create_synced_buffer, allows wrapping multiple output streams with a single function getting a single output from each stream at once.
- VPU methods refactored to handle multiple neural networks
- reconfigure parameters changed
- Added reconfigure_multi
- Function signature changed for run
- Pipeline generation and VPU thread use new backend
- get_camera_calibration
- New return type of CalibrationData | ColorCalibrationData This comes from the OAK-1 support
- Could break old code which utilized this function, but would primarily affect static type-checkers like mypy
- Can replace with get_oakd_calibration to achieve 1:1
- Removed Open3d as a strict requirement
- point_clouds submodule only imported if open3d is found
- Pinhole models in calibration will be None unless open3d is found
- If open3d is found then oakutils will function identically as pre 1.5
- open3d can be installed with oakutils[o3d]
- Added cv2ext as a strict requirment
- Switched the DisplayManager to use cv2ext.Display
- get_nn_data function
- allows getting generic data from an executed neuralnetwork
- VPU
- Incorrect return type for run
- blob_path listed incorrectly as parameter for init
- Changed reconfigure to accept str | Path
- Documentation
- Resolved indentation errors in docs
- Removed README from doc homepage
- Package gets detected as being fully typed.
- Support for Python 3.11
- Dependency versions for almost every package to ensure more consistent behavior
- CI test workflows not correctly propagating error codes
- Bug with queues on color camera, mono camera, image manip, xout, and stereo depth. Queue flags should all be none and then only assigned if user provides.
- Better logging for compiling custom models
- set_log_level function for controlling log levels programmatically
- clear_cache function in blobs module for wiping all saved models
- Exposed setting the onnx opset through the compile_model function
- Exposed setting the openvino version through the compile_model function
- Failed connections from blobconverter are captured successfully
- The model_tester script has been updated to have U8 and FP16 models
- uint8 input models can now be successfully compiled
- Previously, a double column hack was being used similiar to what was employed in the depthai-experiments for on-device point cloud generation. This hack is no longer needed with new version of depthai.
- Better error messages during blob compilation
- Capture and parse error message from blobconverter
- User receives exact error from OpenVINO instead of json dump
- VPU has no "vpu_out" stream, for generic networks.
- Error in model install tests.
- Automatic doc building to include example files
- Stricter linting
- Increase amount of rules Ruff checks for
- Changed boolean parameters to be keyword only (Ruff FTB)
- MyPy Static Type checking
- Stub generation with Pyright, static type checking with Pyright (non-CI)
- VPU access API
- Switched from single class to submodule
- Support for Yolo and TFOD networks
- Switched to Pathlib vs. os module calls for internals