Release 2022.1
Intel® Deep Learning Streamer (Intel® DL Streamer) Pipeline Framework is a streaming media analytics framework, based on GStreamer* multimedia framework, for creating complex media analytics pipelines. It ensures pipeline interoperability and provides optimized media, and inference operations using Intel® Distribution of OpenVINO™ Toolkit Inference Engine backend, across Intel® architecture, CPU, and iGPU.
This release includes Intel® DL Streamer Pipeline Framework elements to enable video and audio analytics capabilities, (e.g., object detection, classification, audio event detection), and other elements to build end-to-end optimized pipeline in GStreamer* framework.
The complete solution leverages:
- Open source GStreamer* framework for pipeline management
- GStreamer* plugins for input and output such as media files and real-time streaming from camera or network
- Video decode and encode plugins, either CPU optimized plugins or GPU-accelerated plugins based on VAAPI
- Deep Learning models converted from training frameworks TensorFlow*, Caffe* etc. from Open Model Zoo (OMZ)
- The following elements in the Pipeline Framework repository:
| Element | Description |
|---|---|
| gvadetect | Performs object detection on a full-frame or region of interest (ROI) using object detection models such as YOLOv4, MobileNet SSD, Faster-RCNN etc. Outputs the ROI for detected objects. |
| gvaclassify | Performs object classification. Accepts the ROI as an input and outputs classification results with the ROI metadata. |
| gvainference | Runs deep learning inference on a full-frame or ROI using any model with an RGB or BGR input. |
| gvaaudiodetect | Performs audio event detection using AclNet model. |
| gvatrack | Performs object tracking using zero-term, or imageless tracking algorithms. Assigns unique object IDs to the tracked objects. |
| gvametaaggregate | Aggregates inference results from multiple pipeline branches |
| gvametaconvert | Converts the metadata structure to the JSON format. |
| gvametapublish | Publishes the JSON metadata to MQTT or Kafka message brokers or files. |
| gvapython | Provides a callback to execute user-defined Python functions on every frame. Can be used for metadata conversion, inference post-processing, and other tasks. |
| gvawatermark | Overlays the metadata on the video frame to visualize the inference results. |
| gvafpscounter | Measures frames per second across multiple streams in a single process |
| gvaactionrecognitionbin | Performs full-frame action recognition inference using action-recognition-0001’s/driver-action-recognition-adas-0002’s encoder and decoder models. |
For the details of supported platforms, please refer to System Requirements section.
For installing Pipeline Framework with the prebuilt binaries or Docker* or to build the binaries from the open source, please refer to Intel® DL Streamer Pipeline Framework installation guide
New in this Release
| Title | High-level description |
|---|---|
| Introducing the Intel® Deep Learning Streamer | Intel® DL Streamer Pipeline Framework (formerly DL Streamer distribution of OpenVINO™ Toolkit) has separated from the OpenVINO™ toolkit and is the core component of the Intel® DL Streamer. Other components of Intel® DL Streamer include Intel® DL Streamer Pipeline Server, and Intel® DL Streamer Pipeline Zoo |
| New distribution mechanisms | Install via APT package manager or pull docker images |
| Compatibility with OpenVINO™ Toolkit 2022.1 | Pipeline Framework has been updated to use the 2022.1 version of the OpenVINO™ Toolkit |
| Web portal | Your one stop for all things Intel® DL Streamer https://dlstreamer.github.io |
| New property 'labels' in gvadetect and gvaclassify elements | Pass labels as .txt file, as alternative method to 'labels' array in model-proc file |
| Benchmark sample supports multi-process execution | Frames per second measurements accumulated across multiple processes |
| Improved 'vaapi' and 'vaapi-sharing' pre-processing | Support aspect-ratio and padding in VAAPI-based preprocessing |
| Autovideosink | All samples now use autovideosink instead of ximagesink. Please run 'source samples/force_ximagesink.sh' to force autovideosink to use ximagesink, ex. if run samples under remote X connection |
| More model-proc files | Model-proc files expanded to cover more models from OpenVINO™ Open Model Zoo |
Changed in this Release
Deprecation Notices
- Object tracking type 'short-term' deprecated and removed in gvatrack element. Either replace 'tracking-type=short-term' with 'tracking-type=zero-term' and remove 'inference-interval=N' property in gvadetect/gvaclassify, or replace 'tracking-type=short-term' with 'tracking-type=short-term-imageless'
- Support for the Ubuntu 18.04 Operating System has been deprecated. Compilation on host system from support is provided "as is", but will require installing media driver, ex. from here. This usage will be removed in a future release.
- The following properties are deprecated in gvainference/gvadetect/gvaclassify elements and could be removed in future releases:
- cpu-throughput-streams
- gpu-throughput-streams
- no-block
- pre-process-config
- device-extensions
- reshape
- reshape-width
- reshape-height
Known Issues
| Issue # | Issue Description | Workaround | Affected platforms |
|---|---|---|---|
| 163 | Low quality of inference in case of using vaapi-surface-sharing pre-proc on system with highly loaded CPU. On system with highly loaded CPU, using of vaapi-surface-sharing preproc can lead to skipping or duplicating of inference results for adjacent frames. | Use vaapi pre-proc instead of vaapi-surface-sharing. It can lead to some performance. | iGPU |
| 195 | vaapi-surface-sharing is outperformed by vaapi preprocess-backend on iGPU. On system with iGPU using of vaapisurface-sharing pre-proc shows worse performance than vaapi preproc | Use vaapi pre-proc instead of vaapi-surface-sharing. | iGPU |
| GPU Watermark doesn't work on iGPU in 12th Gen Intel® Core Processors | Use watermark on CPU | iGPU (12th Gen Intel® Core) | |
| Missing frames in inference results when using batching with zero-copy on iGPU in 11th Gen Intel® Core Processors | Batching with pre-process-backend=vaapi | iGPU (11th Gen Intel® Core) | |
| Multi-stream pipeline hangs in batch-size and vaapi-sharing case | iGPU |
Fixed issues
| Issue # | Issue Description | Workaround | Affected platforms |
|---|---|---|---|
| 249 | Preprocessing backend vaapi-surface-sharing not working on 12th Gen Intel® Core Processors. OpenCL and VAAPI drivers fail to correctly share NV12 image buffers on this platform. | Use vaapi pre-proc instead of vaapi-surface-sharing. | iGPU |
System Requirements
Please refer to Intel® DL Streamer documentation.
Installation Notes
There are several installation options for Pipeline Framework:
- Install APT packages (Ubuntu 20.04). Two sub-options
- Recommended (validated) version of media and OpenCL drivers
- Latest version of media and OpenCL* drivers from Intel® Graphics APT repository
- Dockerhub Image
- Build Pipeline Framework from source code
- Build Pipeline Framework Docker image. Two sub-options
- Build Docker image using APT packages
- Build Docker image from source code
For more detailed instructions please refer to Intel® DL Streamer Pipeline Framework installation guide.
Samples
The samples folder in Intel® DL Streamer Pipeline Framework repository contains command line, C++ and Python examples.
Legal Information
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps.
The products and services described may contain defects or errors which may cause deviations from published specifications. Current characterized errata are available on request.
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
*Other names and brands may be claimed as the property of others.
© 2022 Intel Corporation.