Hello developers,
We are pleased to announce the release of the EDGEMATRIX Stream Toolkit v1.4.0 that comes with the following new features:
- toolkit_home v1.0.2 for multiple architectures
- double eaps support
1. toolkit_home v1.0.2 for multiple architectures
So far, a toolkit_home was pre-installed, and contained already generated engine files in each template folder.
But an optimized engine file varies by a version of CUDA, TensorRT, and GPU architecture.
Also, a compiled library won't work across multiple OS versions and CPU architectures.
This was a problem to effectively support a single EAP running on multiple architectures.
The new toolkit_home is not pre-installed, but can be downloaded from
here.
Each template has prepare_resource.sh that copies and compiles libraries, and generates an engine file to setup everything needed to run a particular app on your toolkit box.
The applications folder of the new toolkit_home is empty. So you can simply extract on the existing toolkit_home as follows.
$ tar xzvf toolkit_home_v1.0.2.tar.gz -C /mnt/nvme/toolkit_home/
Also, there are some updates in the bin folder.
- launch_dsconfig.sh
- it supports three types of configurations (primary only, primary + tracker, and primary + tracker + secondary)
- launch_local_rtsp.sh
- it supports an optional port argument to launch a local rtsp server at a given port
- update_toolkit.sh
- it supports a mandatory version argument to update to a specific version (e.g. "=1.4.0b1-1") or the latest (e.g. "")
2. double eaps support
The Double EAPs mean two apps work together by one producing primary inference metadata like coordinates of objects, while another simply receives such metadata and combines it with its own input stream to process further in its downstream.
There are two major use cases:
- To add a Secondary only EAP
- To use two cameras (RTSP streams)
2-1 To add a Secondary only EAP
For example, you have a major app that counts vehicles by its make. This could satisfy almost all the needs of your users in the first place.
Then, an app successfully would keep producing results, and your customer would be likely adding new features to the existing app.
Let's say, not only counting by make, but also by color. Or most likely, a license plate recognition.
In each case, you will not need to customize your existing app, but simply add a Secondary only app.
So, this feature aims to allow you to sell an app as an option.
The EDGEMATRIX Stream can share the same RTSP resource and the primary inference results, while allowing each app to work as an individual app.
2-2 To use two cameras (RTSP streams)
This is an emerging use case where you want to use two different types of cameras like a visible light camera and a thermal camera for a complex analysis.
In such a case, two cameras play different roles. But one will need to identify an object in a scene, then pass such information to another for further analysis.
In order to support these two use cases, two new GStreamer element were developed and added to the EDGEMATRIX Stream v1.7.2.
One is dsmetatransfer that transfer inference results and another is emcustom that allows to execute your own library. They will be covered by the new tutorial in details.
Installation
From <= v1.3.0.
$ sudo apt remove deepstream-4.0
Then, do the same way as the one from v1.3.1 as below.
From v1.3.1.
$ tar xzvf toolkit_home_v1.0.2.tar.gz -C /mnt/nvme/toolkit_home/
$ cd /mnt/nvme/toolkit_home
$ bin/update_toolkit.sh "=1.4.0b4-1"
In another post, a quick walk through of these two use cases will be shown with new sample EAPs.