Release Notes¶
r241014¶
Fixes
- VA: using lptStabilizationDelay with lptStabilizationStrategy=remove could result in orphaned car links to LPs in json output
- Jetson: image dimension could be incorrect, when decoding RTSP stream
- Redactor: ensure complete flush of pending output in the blur pipeline
r240925¶
Improvements
- Car MMY model updated to v51.18
Fixes
- Video output: last frame of MP4/MOV video could be erroneously flagged as discarded
- .mp4/.mov playback: previous attempt to fix the last frame problem caused compatibility issues with some players.
r240909¶
Fixes
- VA: fix intermittent premature pipeline termination
- TensorRT: fix intermittent crash on Jetson
r240905¶
Improvements
- Updated Vehicle combo model
- Car MMY model updated to v51.17
- Updated detection model with added 'head' class
- Redactor: changed how box expansion parameters are passed: introduce
boxEditConfig
and removeexpandBottom/Top/Left/Right
pipeline parameters. - Redactor: propagate detection score and label to processVideo pipeline output
- FolderWatch: sidecar JSON file was taking too long to be finalized
- VA/FolderWatch: add parameter to limit pipeline intake / memory footprint
r240809¶
Improvements
- New Vehicle combo model, introducing vehicle orientation output
- Car MMY model updated to v51.15
- Video output: use faststart option for MP4/MOV videos
Fixes
- Video output: last frame of MP4/MOV video could be erroneously flagged as discarded
- MediaRecorder: audio packets could be dropped with buffering constraints enabled
r240715¶
Fixes
Changes
- Jetson: remove GStreamer componets from SIO Docker images for Jetson
r240715¶
Fixes
- VA: improve LP/car association algorithm
Improvements
- Simplified core detection pipeline, using Detection object when possible
- Removed more unused subpipelines
- ALPR: introduce
lptSingleCharThreshold
to control single character confidence threshold - Update default individual character confidence threshold for gen7 model
- Update LPState model (add new US designs)
r240628¶
Fixes
- VA: improve LP/car association algorithm
Improvements
- Removed defunct subpipelines and examples
r240628¶
Improvements
- Update LP rectification model
- Fix unified Vehicle model on TFLite
r240620¶
Improvements
- Car MMY model updated to v51.14
- VehicleAnalytics/TrafficAnalytics: add rtspUseTCP parameter.
- Adding support for OpenMPF
- Adding support for video stabilization
- Adding support for multi-output inferences
- Added new combined model for vehicle MMY and color
- Added ability to reference environment variables in parameters provided to SIO pipelines
Fixes
- "Print" node - small memory leak, when modulo parameter introduced in r240409 is used.
- Fix minor memory leak in videoLib-based source node
- TFLite: fix pipeline stalls when options to bypass inference are specified.
r240417¶
Improvements
- Improve pipeline flow by separating InferencePreparation node, and avoiding CUDA synchronization when using TensorRT/NPP
- Update character model to allow int8 inference
- Improve inference performance for color and rectification models
- ImageWriter: add suffix option
r240409¶
Improvements
- Update detection model. Introduce int8 mode for Gen7 detection models.
- TensorRT: change default value of SIO_INFERENCE_MAX_INTERBATCH_DELAY to 40ms from 70ms
- Print node: emit output to log stream, add modulo parameter to limit output frequency
Fixes
- TensorRT: make engine creation and loading more robust when system ran out of disk space.
- MediaRecorder: prevent pipeline stalls, when either video or audio stream become inactive for extended portions of the input This fixes a corresponding Redactor issue RED-2365
Improvements
- MediaStreamReader/MediaRecorder: make some of the noisier trace logging opt-in via SIO_DEBUG_MEDIA_RECORDER/SIO_DEBUG_MEDIA_STREAM_READER environment
r240318¶
Improvements
- TensorRT: enable int8 inference via environment variable, when the model supports it (fp16 is still the default mode for now)
- OpenVino: update integration from deprecated 1.0 API to 2.0
- Update color, LP state, MMY and rectification models
- Use single environment variable (SIO_INFERENCE_MODE) to specify inference mode (valid values are 8 for int8 and 16 for fp16)
r240226¶
Improvements
- Updated OpenVino to v2023.3
r240221¶
Improvements
- Updated color model
- Pipelines: make gen7 detection and character model default. This also updated default value for
lptMinConfidence
from 0.9 to 0.5.
Fixes
- VehicleAnalytics: improve algorithm associating cars and LPs - use multiple criteria, rather than just distance of centers for items with similar overlap
Changes
- Removed gen5 detection and char detection models
r240214¶
Improvements
- iOS: TensorFlow Lite upgraded to 2.14.1
- iOS: Including Gen7 models
- iOS: relying on system libz
Fixes
- State Model: Replaced label Newfoundland with NewfoundlandAndLabrador
- VehicleAnalytics: fix algorithm associating cars and LPs - in case of 2 LPs within the car bounding box, wrong one could be used.
r240117¶
Improvements
- Car MMY model updated to v51.9
- Relocated MMY model's group definitions (
vehicleMakeModelYearGroups.json
) fromshare
tolabelGroups.json
in the relevant model's folder - Upgraded live555 to v20231130
- Improved live555 client integration to utilize dedicated reading thread for better reliability
Fixes
- Fix a possibility of a crash, when using NVMPI decoder wish some .ts files on Jetson platform.
r231214¶
Improvements
- Load models during initialization, before pipelines starts consuming input.
- VehicleAnalytics: add ability to disable specific classification areas
- Update Gen7 detection and character detection models
r231204¶
Fixes
- Fixed premature termination of Python nodes with disconnected optional inputs
r231129¶
Fixes
- Fixed missing last frames when reading files with non-0-based PTS in reverse
r231120¶
Note: This release supersedes r231114, r231115
Improvements
- Include ffmpeg/ffprob with SIO package, to assist with troubleshooting and stream diagnostics.
Fixes
- Fixed nvmpi-based decoding on Jetson platform (regressed in r230710 release)
- VA/TA: JSON debug node uses distinct
debugSettings
for activation
r231110¶
New
- Introducing Gen7 char detection and detection models
Improvements
- Removing unused Gen5 and Gen6 char detection and detection models models
- Retiring deprecated old model names ('large', 'fast', etc)
r231024¶
Improvements
- Car MMY model updated to v51.8
- VehicleAnalytics: further improvements to scoring algorithm
r231023¶
Fixes
- Redactor: fix frame indexing on source with B-frames
Improvements
- VehicleAnalytics: improve scoring algorithm, to give more consideration to objects with higher detection score
r231017¶
Fixes
- iOS: Fixed relative path resolution for auxilarly files residing in SIOResources
Improvements
- Updated color model
r231013¶
New
- Car MMY Model updated to v51.7
- Remove AMQP topic splitter
- Remove Prometheus
Improvements
- Allow referencing license files by the prefix/folder name
- VehicleAnalytics: improve license plate track matching, reducing the amount of noise
Fixes
- VehicleAnalytics/TrafficAnalytics folder watcher: reset tracker state on new input
- Redactor: fix regression in object tracking pipeline introduced in 23.03.17
r230908¶
New
- Base for x86_64 Linux Docker image upgraded from TensorRT v21.11 to TensorRT v22.12
- Enable batching on MMY model
r230828¶
Improvements
- Made LP rectification in VehicleAnalytics optional.
- Improved debug rendering of inference results.
- Optimization: More inferences operate on original image + ROI, rather than on generated crops.
Fixes
- Failover to CPU mode when a CUDA device with compute capability >=3.5,<5.0 would not occur automatically, causing a crash.
- Fix excessive CPU consumption in pipelines with ValueSource/BooleanSwitchMuxer combo.
r230807¶
New
- Car MMY Model updated to v51.4
- Added pipeline for vehicle classification with optional detector stage (VehicleRecognition)
- Update color and LP state models
r230713¶
New
- Car MMY Model updated to v51.3
Improvements
- Temporarily disable GPU image processing on intake: the CPU implementation is slightly faster
Fixes
- Fix bug in Car MMY Model (v51.3) labels
- D3TModelsPrep: incorrect batch size was used, resulting in CUDA engine rebuild on a first run.
- Fix loading of CUDA libraries on Windows, when GPU image processing on intake is enabled.
- Fix Windows failing to use TensorRT, due to newly introduced cuDNN dependency, after r230705
r230710¶
Fixes
- Fix NPP functionality on Jetson 5.1+ (missing CUDA/NPP symlinks)
- Reenable NVMPI on Jetpack 5.1+
r230705¶
New
- Car MMY Model updated to v51.2
- sh-event-processing update to 1.3.12 adding per class debounce (removal of unwanted input noise) functionality.
- x86_64: Upgrade CUDA to 11.4, TensorRT to 8.5, cuDNN to 8.6
- Introduce a build for Jetpack 5.1 on Orin hardware
- Orin image is about 50% larger (NVIdia now prefers CUDA, cuDNN and TensorRT as part of the image, rather than shared from the host)
- NVMPI decoder is currently disabled on Orin (will be reenabled as soon as possible)
r230605¶
New
- Car MMY Model updated to v51.0
Improvements
- VehicleAnalytics/TrafficAnalytics: disable hardware decoder in Folder Watch mode. This solves initialization errors and/or crashes with Progressive/yuv444 jpeg.
r230525¶
New
- ALPR: implement new clustering algorithm for stacked characters
Improvements
- VehicleAnalytics: change default detection model from gen5es to gen6es
Fixes
- MediaStreamReader: Fix intermittent crash at pipeline termination / process exit
r230522¶
New
- Car MMY Model updated to v50.7
Fixes
- MediaStreamReader: fixed a regression causing slower processing for FolderWatch pipelines (introduced in r230419)
r230508¶
New
- Support for previously deprecated BoxFilter configuration method had been removed.
Improvements Fixes
- ALPR: Temporarily disable multi-row plates detection and processing. This will be restored when an improved algorithm is available
- ALPR: Eliminate an optional extra tight crop inference. It shows no benefit with the gen5/gen6 detection models.
- MediaStreamReader: when specifying seek position, some audio frames prior to that position were output
r230419¶
Improvements
- MediaRecorder: use 0-based timestamps by default. This specifically helps with fixing playback issues of recorded videos in QuickTime.
Fixes
- Fix intermittent crash on process exit, if CUDA decoder was used
r230417¶
Note: This release supersedes r230404, r230405
New
- Car MMY Model updated to v50.6
Fixes
- NVMPI decoder on Jetson caused a crash on some H264 sources
r230405¶
Note: This release supersedes r230404
Fixes
- MediaRecorder: keyframe flag was sticky, applying to packets that aren't keyframe.
r230404¶
New
- Car MMY Model updated to v50.5
- sh-event-processing update to 1.3.10 adding intersectionLocation and updateCount reset on presence sensors.
Improvements
- Add GNU
time
to ARM Docker image - Jetson: using NVMPI video decoder by default, resulting in performance improvemements
- MediaStreamReader: use 0-based timestamps for recorder by default
Fixes
- MediaRecorder: fix recording when source stream doesn't have an audio track
- MediaRecorder: fix resulting mp4/mov files not being playable in QuickTime
r230320¶
_Note: This release supersedes r230317
New
- Car MMY Model updated to v50.4
Improvements
- Object Detector: remove possible throughput bottleneck when cascading is enabled
- VehicleAnalytics: replace
lptEnableCascading
pipeline option (default:true
) withlptPreferAccuracyToSpeed
(default:false
). Cascading and other algorithmic approaches yield minimal (up to 3%) and input-dependent benefit at a significant performance cost (up to 50%) - Add GNU
time
to x86 Docker image - Add peak memory reporting to
runPipeline
/runPipelineSet
commands (Windows) - Refactor Redactor's pipelines
- Core modification in pipeline scheduling/buffering algorithm
- Refactoring of MediaStreamSource/MediaRecorder nodes to support audio streams
r230224¶
Improvements
- Make NPP enabled by default (SIO_NPP_ENABLE default to 1) on all available platforms
r230217¶
Improvements
- Further optimizing inference preparation on nVidia platforms
r230210¶
New
- PrepareInferenceInput pipeline node has been removed - the functionality is now handled by inference nodes
- Car MMY Model updated to v50.3
Improvements
- Inference speed-up
- using hardware optimized libraries (IPP, NPP) for end-to-end inference prep
- in case of NPP, minimizing host-to-device transitions
- optimizing buffer allocations and pooling
Fixes
- Fix a rare crash on pipeline initialization/startup
r230130¶
Note: This release supersedes r230119, r230117, and r230116
New
- Car MMY model updated to v50.2
- TensorRT: allow batched inference execution for models supporting it
- Update character and object detection models to support batch inference in TensorRT
Improvements
- SIO_NPP_ENABLE environment variable controls use of NPP for inference preparation. Defaults to 1 on Intel, 0 on other platforms.
- SIO_IPP_ENABLE environment variable controls use of IPP for inference preparation. Defaults to 1 on Intel, 0 on other platforms.
- Improve pipeline flow by removing output limiters from intermediate nodes
- VehicleAnalytics/TrafficAnalytics: File-based pipeline now reads frames asynchronously by default
- Utilize NPP for color conversion and initial resize during input ingestion
Fixes
- Fixed a bug in NPP-based inference preparation, which could cause a corrupt image to be used by inference
- VehicleAnalytics/TrafficAnalytics: Fix a possible race condition between inference and ImageDraw node (when enabled): frame could be modified prior to/during inference.
r230109¶
- Internal development release; CI pipeline changes.
r230103¶
New
- Car MMY model updated to v50.0
Improvements
- TensorRT: refactor to lay ground for future optimizations
- All parameters affecting model behavior and requirements are now bundled with model, not with the pipeline.
- iOS samples: remove no longer used frameworks
Fixes
- Fix failure to determine model location, when ran with CWD different from SIO install path