Advertisement

Quick Links

EVA SDK User's Manual
Manual Rev.:
Revision Date: July 20, 2021
Part Number:
1.2
50M-00010-1020

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the EVA SDK and is the answer not in the manual?

Questions and answers

Summary of Contents for ADLINK Technology EVA SDK

  • Page 1 EVA SDK User's Manual Manual Rev.: Revision Date: July 20, 2021 Part Number: 50M-00010-1020...
  • Page 2 Preface Copyright Copyright © 2021 ADLINK Technology, Inc. This document contains proprietary information protected by copyright. All rights are reserved. No part of this manual may be reproduced by any mechanical, electronic, or other means in any form without prior written permission of the manufacturer.
  • Page 3: Table Of Contents

    EVA SDK User's Manual Table of Contents Preface ..........................ii Introduction........................1 Setting Environment Variables.................5 Image and Video Capture Plugins................7 Element Descriptions .....................7 Image Processing Plugins ..................33 Element Descriptions ....................35 Image Analytic Plugins ...................75 Element Descriptions ....................76 Connector Plugins....................103 Element Descriptions ....................103 Convert for OpenVINO Model ................105...
  • Page 4: Preface

    This page intentionally left blank. Preface...
  • Page 5: Introduction

    ADLINK offers a selection of pre-verified platforms with specific hardware configurations optimized for vision and video analytic applications requiring little additional engineering effort by developers. The EVA SDK integrates and verifies different building blocks required for Edge Vision Analytic applications. The building blocks are implemented as GStreamer plugins.
  • Page 6 The EVA SDK supports application development in C/C++ as well as in Python, with the ability to implement customized plugins in both programming languages. (Sample code is included in the EVA SDK package.) The following use scenarios demonstrate how the EVA SDK can be used to easily create vision analytic applications.
  • Page 7 EVA SDK User's Manual 3. Application (1) does the AI inference for camera 1 on OpenVINO via the advino plugin 4. Application (1) does the inference result interpretation with the adtranslator plugin 5. Application (1) captures the image from the GigE camera 6.
  • Page 8 This page intentionally left blank. Introduction...
  • Page 9: Setting Environment Variables

    EVA SDK User's Manual Setting Environment Variables Before using EVA SDK, the environment must be installed and set up. For installation details, refer to the EVA Installation Guide. On Linux (include x86 and ARM), after installing EVA SDK and required software, open a terminal and run the following command to set the environment variables.
  • Page 10 This page intentionally left blank. Setting Environment Variables...
  • Page 11: Image And Video Capture Plugins

    The parameters to specify offsets are offsetx and offsety. To center the image, use centerx and centery. Note that setting the centering parameters will cause the plugin to ignore the offset values. The ADLINK EVA SDK uses the pylonsrc source code included in gst-plugins-vision. https://github.com/joshdoe/gst-plugins-vision/tree/master/sys/pylon Image and Video Capture Plugins...
  • Page 12 Notes: 1. Download and install the ADLINK EVA SDK to access the pylonsrc plugin. For more details, refer to the ADLINK EVA Installation Guide. 2. The downstream elements may waste a lot of time handling frames. If the camera's frame rate is too fast, the pipeline will drop a lot of frames, resulting in rendering delays.
  • Page 13 EVA SDK User's Manual 3.1.1.3 Pad Templates Presence – always Direction – src 3.1.1.4 Properties camera “camera” gint (Number) Camera ID as defined by Basler's API. If only one camera is connected this parameter will be ignored and the camera will be used. If there are multiple cameras and this parameter is not defined, the plugin will output a list of available cameras and their IDs.
  • Page 14 binningv “binningv” gint (Pixels) The number of pixels to be binned in the vertical direction. Note that the camera will remember this setting, and will use values from the previous runs if you relaunch without specifying this parameter. Reconnect the camera or use the reset parameter to reset. Range: 1 to 6 Flags: Read, Write Default value: 1 limitbandwidth...
  • Page 15 EVA SDK User's Manual “fps” gdouble (Frames per second) Sets the framerate of the video coming from the camera. Setting the value too high might cause the plugin to crash. Note that if the pipeline causes the computer to hang, or stall, then the resulting video will not be in the resolution that was set.
  • Page 16 balancered “balancered” gdouble Specifies the red color balance. The autowhitebalance setting must be set to "off" for this property to have any effect. Note that this value gets saved on the camera, and running this plugin again without specifying this value will cause the previous value to be used.
  • Page 17 EVA SDK User's Manual coloryellowhue “coloryellowhue” gdouble Specifies the yellow hue. Note that this value gets saved on the camera, and running this plugin again without specifying this value will cause the previous value to be used. Use the reset parameter or reconnect the camera to reset.
  • Page 18 colorcyansaturation “colorcyansaturation” gdouble Specifies the cyan saturation. Note that this value gets saved on the camera, and running this plugin again without specifying this value will cause the previous value to be used. Use the reset parameter or reconnect the camera to reset.
  • Page 19 EVA SDK User's Manual autogain “autogain” gchararray (off, once, continuous) Controls whether the camera will try to adjust the gain settings. Setting this parameter to anything but "off" will override the exposure parameter. Running the plugin without specifying this parameter will reset the value stored on the camera to "off".
  • Page 20 testimage “testimage” gint (1 to 6) Specifies a test image to show instead of a video stream. It is useful for debugging and is disabled by default. Range: 0 to 6 Flags: Read, Write Default value: 0 continuous “continuous” gboolean (true/false) Used to switch between triggered and continuous mode.
  • Page 21 EVA SDK User's Manual Default value: 999 sharpnessenhancement “sharpnessenhancement” gdouble Specifies the amount of sharpness enhancement to apply. To use this, Basler's demosaicing mode must be enabled. Setting this will enable demosaicing mode. Range: 1.0 to 3.98 Flags: Read, Write...
  • Page 22 Default value: False flipy “flipy” gboolean (true/false) Setting this to true will flip the image vertically. Flags: Read, Write Default value: False exposureupperlimit “exposureupperlimit” gdouble (105 to 1000000) Sets the upper limit for the auto exposure function. Flags: Read, Write Default value: 999 exposurelowerlimit “exposurelowerlimit”...
  • Page 23 EVA SDK User's Manual autobrightnesstarget “autobrightnesstarget” gdouble (0.19608 to 0.80392) Sets the auto exposure brightness target value. Flags: Read, Write Default value: 999 transformationselector “transformationselector” gchararray (RGBRGB, RGBYUV, YUVRGB) Sets the type of color transformation done by the color transformation selectors.
  • Page 24 transformation11 “transformation11” gdouble Gain11 transformation selector. Range: -8.0 to 7.96875 Flags: Read, Write Default value: 999 transformation12 “transformation12” gdouble Gain12 transformation selector. Range: -8.0 to 7.96875 Flags: Read, Write Default value: 999 transformation20 “transformation20” gdouble Gain20 transformation selector. Range: -8.0 to 7.96875 Flags: Read, Write Default value: 999 transformation21...
  • Page 25 EVA SDK User's Manual 3.1.2 filesrc This element reads data from a file on the local system. For more details, refer to the official GStreamer documentation at: https://gstreamer.freedesktop.org/documentation/coreelements/filesrc.html?gi- language=c#filesrc 3.1.2.1 Examples Using gst-launch Play the song.ogg audio file located in the current working directory.
  • Page 26 3.1.4 v4l2src This element can be used to capture video from v4l2 devices, such as webcams and TV tuner cards. Note: Only supported on Linux. For more details, refer to the official documentation at: https://gstreamer.freedesktop.org/documentation/video4linux2/v4l2src.html?gi-language=c#v4l2src-page 3.1.4.1 Examples Using gst-launch This pipeline shows the video captured from a webcam with jpeg images. gst-launch-1.0 v4l2src ! jpegdec ! xvimagesink This pipeline shows the video captured from a webcam with jpeg images and the buffer number set to output before sending EOS.
  • Page 27 EVA SDK User's Manual 3.1.6 ksvideosrc This element provides low-latency video capture from WDM cameras on Windows. For more details, refer to the official documentation at: https://gstreamer.freedesktop.org/documentation/winks/index.html?gi-language=c 3.1.6.1 Example Using gst-launch This pipeline shows the video captured from a webcam.
  • Page 28 Notes: 1. The avalible pixel formats are: BayerRG8\BayerGR8\BayerGB8\BayerBG8\YUV422_8_UYVY\RGB8Packed\Mono8 2. The available pixel formats differ depending on the selected camera model. 3. If the pixel-format is not specified, the element will use the camera’s setting. When using the camera’s setting, add the corresponding decoder element according to the actual pixel format. For example, if a camera uses Bayer format, the pipeline must add a bayer2rgb element after the hikplugin element for decoding.
  • Page 29 EVA SDK User's Manual binningv “binningv” gint Number of pixels to be binned in the vertical direction. (GigE: 1,2,4/USB3: 1,2) Range: 0 to10000 Flags: Read, Write Default value: 1 blacklevel “blacklevel” gdouble This will adjust the black level amount in an image. Range: 0 to 4095.0...
  • Page 30 flipy “flipy” gboolean (true/false) Setting this flips the image vertically. Flags: Read, Write Default value: false “fps” gdouble Sets a custom fps value. (GigE: 0.96 – 100000 /USB3:0.4 – 1000) Range: 0 – 100000.0 Flags: Read, Write Default value: 0 gain “gain”...
  • Page 31 EVA SDK User's Manual height “height” gint64 Sets the image height. Range: 0 to 10000 Flags: Read, Write Default value: 0 offsetx “offsetx” gint64 Sets the horizontal offset. The maximum offset will be calculated during initialization. Range: 0 to 10000...
  • Page 32 triggersource “triggersource” gchararray Sets the camera capture trigger source. This is valid only when the “continuous” property set to false. Flags: Read, Write Default value: Software 3.1.8 flirplugin This is a GStreamer element that uses FLIR's USB3 and GigE vision cameras When multiple cameras are available, use the camera property to specify the specific camera for image capture.
  • Page 33 EVA SDK User's Manual 3.1.8.1 Hierarchy GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstBaseSrc ╰──GstPushSrc ╰──AdCameraflir 3.1.8.2 Pad Templates Presence – always Direction – src 3.1.8.3 Properties autoexposure “autoexposure” gchararray (Off/Continuous/Once) Controls whether the camera can adjust the exposure settings. Flags: Read, Write...
  • Page 34 blacklevel “blacklevel” gdouble This will adjust the black level amount in an image. (GigE: 0-10/USB3: 1.37-7.42) Range:0 to 10.0 Flags: Read, Write Default value: 0 camera “camera” gint If multiple cameras are enumerated, this will allow selection of a specific camera. Range:0 to 10000 Flags: Read, Write Default value: 0 continuous...
  • Page 35 EVA SDK User's Manual “fps” gdouble Sets a custom fps value. (GigE: 1-30/USB3: 1-76.18) Range: 0 to 1000.0 Flags: Read, Write Default value: 0 gain “gain” gdouble Sets the gain added to a camera before sending a frame to the computer. Range: 0 – 1000.0...
  • Page 36 offsety “offsety” gint64 Sets the vertical offset. The maximum offset will be calculated during initialization. Range: 0 to 10000 Flags: Read, Write Default value: 99999 pixel-format “pixel-format” gchararray Sets the camera output data pixel format value. Valid values include: YUV422Packed, BayerRG8, BayerBG8, BayerGB8,BayerGR8, RGB8Packed, BGR8, and Mono8.
  • Page 37: Image Processing Plugins

    EVA SDK User's Manual Image Processing Plugins The following table lists the element of the supported image processing plugins. Linux/ARM Windows Element Name Plugin Name Vendor Description Version Version jpegdec jpeg GStreamer 1.14.5 1.16.2 Decodes jpeg images jpegenc jpeg GStreamer 1.14.5...
  • Page 38 Linux/ARM Windows Element Name Plugin Name Vendor Description Version Version Crops video to a user-defined videocrop videocrop GStreamer 1.14.5 1.16.2 region admetawriter admetadata ADLINK Writes admeta data to stream admetadrawer admetadata ADLINK Draws admeta data to stream admetadumper admetadata ADLINK Dumps admeta data to console admetadebuger admetadata...
  • Page 39: Element Descriptions

    EVA SDK User's Manual Element Descriptions This section describes each element of the image processing plugin in greater detail. 4.1.1 jpegdec This element decodes jpeg images. For more details, refer to the official documentation at: https://gstreamer.freedesktop.org/documentation/jpeg/jpegdec.html?gi-language=c 4.1.1.1 Examples Using gst-launch This pipeline transcodes a jpeg to png and saves it as a png file.
  • Page 40 The "idct-method" property controls the jpeg encoding method. 1. islow (0) – Slow, but accurate integer algorithm 2. ifast (1) – Faster, but less accurate integer method 3. float (2) – Floating-point: accurate, but faster speed depends on better hardware The "quality"...
  • Page 41 EVA SDK User's Manual 4.1.5 gdkpixbufdec This element decodes images in a video stream using GdkPixbuf. Note: Only supported on Linux. For more details, refer to the official documentation at: https://gstreamer.freedesktop.org/documentation/gdkpixbuf/gdkpixbufdec.html?gi-language=c#gdkpixbufdec-page 4.1.5.1 Examples Using gst-launch These pipelines transcode a tiff or bmp to png and saves it as a png file.
  • Page 42 4.1.7.1 Example Using gst-launch This pipeline transcodes a tiff to jpeg and saves it as a jpeg file. gst-launch-1.0 multifilesrc location=frame3.tiff caps=image/tiff stop-index=10 ! avdec_tiff ! videoconvert ! jpegenc ! filesink location=frameT2J.jpeg 4.1.8 avenc_bmp This element encodes images in bmp format (based on libav). For more details, refer to the official documentation at: https://gstreamer.freedesktop.org/documentation/libav/avenc_bmp.html?gi-language=c#avenc_bmp-page 4.1.8.1...
  • Page 43 EVA SDK User's Manual 4.1.10.1 Examples Using gst-launch There are two ways to set the stream frame rate. 1. Directly use caps types to define the properties of the stream. The syntax is: <type>[,<property>=<value>]... The supported video types are listed in "List of Defined Media Types" from the GStreamer documentation at: https://gstreamer.freedesktop.org/documentation/plugin-development/advanced/media-types.html?gi-...
  • Page 44 4.1.11.1 Example Using gst-launch This pipeline outputs a test video generated in YUY2 format in a video window. gst-launch-1.0 videotestsrc ! video/x-raw,format=YUY2 ! videoconvert ! xvimagesink If the video sink selected does not support YUY2, videoconvert will automatically convert the video to a format understood by the video sink.
  • Page 45 EVA SDK User's Manual 4.1.13.1 Example Using gst-launch gst-launch-1.0 videotestsrc ! videocrop top=42 left=1 right=4 bottom=0 ! xvimagesink Note: The element ‘xvimagesink’ is only supported on Linux. It is recommended to use the ‘glimagesink’ or ‘d3dvideosink’ elements to display the window on Windows.
  • Page 46 4.1.16 avdec_h264 This element is a libav h264 decoder. For more details, refer to the official documentation at: https://gstreamer.freedesktop.org/documentation/libav/avdec_h264.html?gi-language=c 4.1.16.1 Example Using gst-launch This pipeline decodes an H.264 video file. gst-launch-1.0 filesrc location=sample_1080p_h264.mp4 ! qtdemux ! h264parse ! queue ! avdec_h264 ! xvimagesink Note: The element ‘xvimagesink’...
  • Page 47 This element is an Intel® Media SDK H.264 encoder. Notes: 1. Only supported on Intel platforms. 2. Refer to the EVA SDK Installation Guide to install OpenVino toolkits and Media SDK for GStreamer before using the MSDK plugin. 4.1.18.1 Example Using gst-launch This pipeline encodes the video test pattern as H.264 image and saves it as an mkv file.
  • Page 48 4.1.18.3 Pad Templates sink video/x-raw: format: { (string)NV12, (string)I420, (string)YV12, (string)YUY2, (string)UYVY, (string)BGRA } framerate: [ 0/1, 2147483647/1 ] width: [ 16, 2147483647 ] height: [ 16, 2147483647 ] interlace-mode: progressive Presence – always Direction – sink video/x-h264: framerate: [ 0/1, 2147483647/1 ] width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] stream-format: byte-stream...
  • Page 49 EVA SDK User's Manual target-usage “target-usage” guint 1: Best quality, 4: Balanced, 7: Best speed. Range: 1 to 7 Flags: Read, Write Default value: 4 rate-control “rate-control” GstMsdkEncRateControl Rate control method Flags: Read, Write Default value: cbr (1) GstMsdkEncRateControl Members cbr (1) –...
  • Page 50 max-vbv-bitrate “max-vbv-bitrate” guint Maximum bitrate (kbit/sec) at which data enters the video buffering verifier (0: auto-calculate). Range: 0 to 65535 Flags: Read, Write Default value: 0 accuracy “accuracy” guint The AVBR accuracy per one tenth of one percent. Range: 0 to 65535 Flags: Read, Write Default value: 0 convergence...
  • Page 51 EVA SDK User's Manual “qpb” guint Constant quantizer for B frames (0 unlimited) Range: 0 to 51 Flags: Read, Write Default value: 0 gop-size “gop-size” guint GOP Size. Range: 0 to 2147483647 Flags: Read, Write Default value: 256 ref-frames “ref-frames” guint Number of reference frames.
  • Page 52 mbbrc “mbbrc” GstMsdkEncMbBitrateControl Macroblock level bitrate control Flags: Read, Write Default value: 32, "off" GstMsdkEncMbBitrateControl Members (0): auto - SDK decides what to do (32): off - Disable Macroblock level bit rate control (16): on - Enable Macroblock level bit rate control i-adapt “i-adapt”...
  • Page 53 EVA SDK User's Manual low-power “low-power” gboolean Enable low power mode Flags: Read, Write Default value: false frame-packing “frame-packing” GstMsdkH264EncFramePacking Set frame packing mode for stereoscopic content. Flags: Read, Write Default value: Default: -1, "none" GstMsdkH264EncFramePacking Members (-1): none (default)
  • Page 54 This element is an Intel® Media SDK H.265 encoder. Notes: 1. Only supported on Intel platforms. 2. Refer to the EVA SDK Installation Guide to install OpenVino toolkits and Media SDK for GStreamer before using the MSDK plugin. 4.1.19.1 Example Using gst-launch This pipeline encodes the video test pattern as an H.265 image and saves it as an mkv file.
  • Page 55 EVA SDK User's Manual 4.1.19.3 Pad Templates sink video/x-raw: format: { (string)NV12, (string)I420, (string)YV12, (string)YUY2, (string)UYVY, (string)BGRA } framerate: [ 0/1, 2147483647/1 ] width: [ 16, 2147483647 ] height: [ 16, 2147483647 ] interlace-mode: progressive Presence – always Direction – sink...
  • Page 56 target-usage “target-usage” guint 1: Best quality, 4: Balanced, 7: Best speed. Range: 1 to 7 Flags: Read, Write Default value: 4 rate-control “rate-control” GstMsdkEncRateControl Rate control method Flags: Read, Write Default value: cbr (1) GstMsdkEncRateControl Members cbr (1) – Constant Bitrate vbr (2) –...
  • Page 57 EVA SDK User's Manual max-vbv-bitrate “max-vbv-bitrate” guint Maximum bitrate (kbit/sec) at which data enters the video buffering verifier (0: auto-calculate). Range: 0 to 65535 Flags: Read, Write Default value: 0 accuracy “accuracy” guint The AVBR accuracy per one tenth of one percent. Range: 0 to 65535...
  • Page 58 This element is an Intel® Media SDK H.264 decoder. Notes: 1. Only supported on Intel platforms. 2. Refer to the EVA SDK Installation Guide to install OpenVino toolkits and Media SDK for GStreamer before using the MSDK plugin. Image Processing Plugins...
  • Page 59 EVA SDK User's Manual 4.1.20.1 Example Using gst-launch This pipeline decodes and displays an H.264 format image. gst-launch-1.0 filesrc location=sample_720p.h264 ! h264parse ! msdkh264dec ! videoconvert ! xvimagesink Note: The element ‘xvimagesink’ is only supported on Linux. It is recommended to use the ‘glimagesink’ or ‘d3dvideosink’...
  • Page 60 This element is an Intel® Media SDK H.265 decoder. Notes: 1. Only supported on Intel platforms. 2. Refer to the EVA SDK Installation Guide to install OpenVino toolkits and Media SDK for GStreamer before using the MSDK plugin. 4.1.21.1 Example Using gst-launch This pipeline decodes and displays an H.265 format image.
  • Page 61 EVA SDK User's Manual 4.1.21.3 Pad Templates sink video/x-h265: width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] stream-format: byte-stream alignment: au profile: main Presence – always Direction – sink video/x-raw: format: { (string)NV12 } framerate: [ 0/1, 2147483647/1 ]...
  • Page 62 4.1.22 admetawriter Writes admeta data to stream with device information read from a packed text file. Also provides the ability to count frames on an input stream to add to the admeta frame id field. Note: This must be the first plugin to add metadata to the stream, so it must be used before any other plugins that add to admeta data (admetadrawer, admetadebuger, advino, adrt) 4.1.22.1 Example Using gst-launch This pipeline decodes and displays an H.265 format image.
  • Page 63 EVA SDK User's Manual video/x-raw: format: {RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, I420, YV12, RGB16, RGB15, GRAY8, NV12, NV21, GRAY16_LE, GRAY16_BE} width: [ 0, 2147483647 ] height: [ 0, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] Presence –...
  • Page 64 The following table lists the data definitions represented by each line of the device information text file. Field name Description Sample Value Vision Device host interface dev_id 1006 (ex. /dev/video0 or /dev/ttyUSB0) fw_version Vision Device firmware version 3.v.0 ip_address Host machine IP Address 11.0.0.1.2 kind Vision device kind enum(OASYS defined)
  • Page 65 EVA SDK User's Manual 4.1.23.2 Hierarchy GObject ╰── GInitiallyUnowned GstObject ╰── GstElement ╰── ╰──AdMetaDrawer 4.1.23.3 Pad Templates sink video/x-raw: format: {RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, YVYU, UYVY, I420, YV12, RGB16, RGB15, GRAY8, NV12, NV21, GRAY16_LE,...
  • Page 66 • Seg information is from the SegmentResult structure. The $s_idx is the order of the segment number. The ($w,$h) are the width and height of the inference. For more details, refer to the ADLINK EVA SDK Programming Guide. 4.1.24.1 Example Using gst-launch gst-launch-1.0 videotestsrc ! admetadumper ! videoconvert ! ximagesink...
  • Page 67 EVA SDK User's Manual 4.1.24.3 Pad Templates sink Presence – always Direction – sink Presence – always Direction – src 4.1.24.4 Properties segment_num “segment” guint Number of segmentation results that will be printed on the Terminal. Range: 0 to 64.
  • Page 68 4.1.25.3 Pad Templates sink Presence – always Direction – sink Presence – always Direction – src 4.1.25.4 Properties type “type” DataTypePattern Type of written inference data. Flags: Read, Write Default value: 0, "class" DataTypePattern Members (0): class - Class data (id, class, prob) (1): box - Box data (id, x1, y1, x2, y2, prob) “id”...
  • Page 69 EVA SDK User's Manual “x1” gfloat The X-axis coordinate is at the left side of the bounding box. It should be a ratio of the width, so the value is between 0 and 1. Flags: Read, Write Default value: 0.0 “y1”...
  • Page 70 4.1.26 nvv4l2decoder The OSS Gst-nvvideo4linux2 plugin leverages the hardware decoding engines on Jetson and DGPU platforms by interfacing with libv4l2 plugins. It supports H.264, H.265, JPEG and MJPEG formats. The plugin accepts an encoded bitstream and NVDEC hardware engine to decode the bitstream. The decoded output is in NV12 format. For more details, refer to the official documentation at: https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvvideo4linux2.html#decoder Note: Only supported on NVIDIA platforms.
  • Page 71 EVA SDK User's Manual Note: Only supported on NVIDIA platforms. Only supported on Linux. 4.1.28.1 Example Using gst-launch This pipeline encodes video to the H.265 format. gst-launch-1.0 videotestsrc num-buffers=2000 ! "video/x-raw,format=(string)I420" ! nvvideoconvert ! "video/x-raw(memory:NVMM)" ! nvv4l2h265enc ! h265parse ! matroskamux ! filesink location=nvv4l2h265enc.mkv...
  • Page 72 https://gstreamer.freedesktop.org/documentation/videofilter/videobalance.html?gi-language=c 4.1.31.1 Example Using gst-launch This pipeline converts the image to black and white by setting the saturation to 0.0. gst-launch-1.0 videotestsrc ! videobalance saturation=0.0 ! videoconvert ! xvimagesink Note: The element ‘xvimagesink’ is only supported on Linux. It is recommended to use the ‘glimagesink’ or ‘d3dvideosink’...
  • Page 73 Note: • Only supported on NVIDIA platforms. • Only supported on Windows. Refer to the EVA SDK Installation Guide for Windows to install the NVIDIA Solution and the third-party plugin before using nvdec. • It is recommended to use the nvv4l2decoder element in the NVIDIA DeepStream on Linux.
  • Page 74 Note: 1. Only supported on NVIDIA platforms. 2. Only supported on Windows. Refer to the EVA SDK Installation Guide for Windows to install the NVIDIA Solution and the third-party plugin before using nvh264enc. 3. It is recommended to use the nvv4l2h264enc element in the NVIDIA DeepStream on Linux.
  • Page 75 EVA SDK User's Manual 4.1.35.2 Hierarchy GObject ╰── GInitiallyUnowned GstObject ╰── GstElement ╰── GstVideoEncoder ╰── GstNvBaseEnc ╰── ╰── GstNvH264Enc 4.1.35.3 Pad Templates sink video/x-raw: format: { (string)NV12, (string)I420} width: [ 16, 4096 ] height: [ 16, 4096 ] framerate: [ 0/1, 2147483647/1 ]...
  • Page 76 Note: 1. Only supported on NVIDIA platforms. 2. Only supported on Windows. Refer to the EVA SDK Installation Guide for Windows to install the NVIDIA Solution and the third-party plugin before using nvh265enc. 3. It is recommended to use the nvv4l2h265enc element in the NVIDIA DeepStream on Linux.
  • Page 77 EVA SDK User's Manual 4.1.36.3 Pad Templates sink video/x-raw: format: { (string)NV12, (string)I420} width: [ 16, 4096 ] height: [ 16, 4096 ] framerate: [ 0/1, 2147483647/1 ] video/x-raw(memory:GLMemory): format: { (string)NV12, (string}Y444 width: [ 16, 4096 ] height: [ 16, 4096 ] framerate: [ 0/1, 2147483647/1 ] Presence –...
  • Page 78 This page intentionally left blank. Image Processing Plugins...
  • Page 79: Image Analytic Plugins

    EVA SDK User's Manual Image Analytic Plugins The following table lists the element of the supported image processing plugins. Linux/ARM Windows Plugin Element Name Vendor Description Name Version Version adtrans_classifier adtrans ADLINK ADLINK inference's classification translator adtrans_ssd adtrans ADLINK ADLINK inference's ssd translator...
  • Page 80: Element Descriptions

    Element Descriptions This section describes each element of the image analytic plugin in greater detail. 5.1.1 adtrans_classifier This element implements a buffer list chain function. Previous elements should push a buffer list into this element. The last buffer in the list will be seen as an inference result. 5.1.1.1 Examples Using gst-launch The following pipeline translates the OpenVINO inference result using the classification type model into a human-...
  • Page 81 EVA SDK User's Manual 5.1.1.4 Properties batch-num “batch-num” gint The number of the deep learning model batches. Range: 1 to 256 Flags: Read, Write Default value: 1 class-num “class-num” gint The classification number. Range: 1000 to 65535 Flags: Read, Write...
  • Page 82 5.1.2.2 Hierarchy GObject ╰── GInitiallyUnowned GstObject ╰── GstElement ╰── ╰──AdtransSSD 5.1.2.3 Pad Templates sink Presence – always Direction – sink Presence – always Direction – src 5.1.2.4 Properties batch-num “batch-num” gint The number of the deep learning model batch. Range: 1 to 256 Flags: Read, Write Default value: 1 max-count...
  • Page 83 EVA SDK User's Manual label “label” gchararray The deep learning model label. Flags: Read, Write Default value: NULL 5.1.3 adtrans_segment This element implements a buffer list chain function. Previous elements should push a buffer list into this element. The last buffer in the list will be seen as an inference result.
  • Page 84 5.1.3.3 Pad Templates sink Presence – always Direction – sink Presence – always Direction – src 5.1.3.4 Properties batch-num “batch-num” gint The batch number of the deep learning model. Range: 1 to 256 Flags: Read, Write Default value: 1 class-num “class-num”...
  • Page 85 EVA SDK User's Manual only-max-prob “only-max-prob” gboolean Keep the remaining maximum probability class of the Inference result. If this is true, the element will ignore the class-num property. Flags: Read, Write Default value: false label “label” gchararray The deep learning model label.
  • Page 86 5.1.4.2 Hierarchy GObject ╰── GInitiallyUnowned GstObject ╰── GstElement ╰── ╰──AdtransYolo 5.1.4.3 Pad Templates sink Presence – always Direction – sink Presence – always Direction – src 5.1.4.4 Properties batch-num “batch-num” gint The batch number of the deep learning model. Range: 1 to 256 Flags: Read, Write Default value: 1 class-num...
  • Page 87 EVA SDK User's Manual mask “mask” gchararray Yolo mask Flags: Read, Write Default value: "(0,1,2),(3,4,5),(6,7,8)" anchor “anchor” gchararray Yolo anchor Flags: Read, Write Default value: "(10,13),(16,30),(33,23),(30,61),(62,45),(59,119),(116,90),(156,198),(373,326)" input-width “input-width” gint Input width of image. Range: 1 to 65535 Flags: Read, Write...
  • Page 88 use-sigmoid “use-sigmoid” gboolean Sets whether to apply sigmoid function to output of model. Set to False when use OpenVINO. Flags: Read / Write Default value: false 5.1.5 adtrans_fcn This element implements a buffer list chain function. Previous elements should push a buffer list into this element. The last buffer the list will be seen as an inference result.
  • Page 89 EVA SDK User's Manual 5.1.5.4 Properties batch-num “batch-num” gint The batch number of the deep learning model. Range: 1 to 256 Flags: Read, Write Default value: 1 class-num “class-num” gint The class number of the FCN deep learning model. Range: 1 to 65535...
  • Page 90 label “label” gchararray The deep learning model label. Flags: Read, Write Default value: NULL 5.1.6 adtrans_openpose_py This element implements a buffer list chain function. Previous elements should push a buffer list into this element. The last buffer in the list will be seen as an inference result. 5.1.6.1 Example Using gst-launch The following pipeline translates the TensorRT inference result using the pose estimation model into a human-...
  • Page 91 EVA SDK User's Manual 5.1.6.4 Properties batch-num “batch-num” gint The number of the deep learning model batch. Range: 1 to 256 Flags: Read, Write Default value: 1 blob-size “blob-size” gchararry The inference output blob's output width and height. You can use commas to define multiple output blob sizes.
  • Page 92 5.1.7 adrt Initializes the TensorRT inference engine plugins to infer a data stream with the following parameters. 1. TensorRT optimized engine model path 2. Scale (must be a float number) 3. Mean (must be a string of 3 numbers representing a vector of mean values used in training) For more details about converting a model for TensorRT, refer to the chapter Convert for TensorRT Model.
  • Page 93 EVA SDK User's Manual video/x-raw: format: {BGR} width: [ 0, 2147483647 ] height: [ 0, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] video/x-raw(ANY): format: {BGR} width: [ 0, 2147483647 ] height: [ 0, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] Presence –...
  • Page 94 batch “batch” gint Batch size of input to inference (number of image to inference at same time) need at least 1. This value will be limited by the availability of memory on the inference devices. If the batch size is set to larger than 1, the advideobatch element needs to be used before this plugin.
  • Page 95 EVA SDK User's Manual 5.1.8.1 Example Using gst-launch gst-launch-1.0 videotestsrc pattern=snow ! advino model=yolov3.xml ! fakesink 5.1.8.2 Hierarchy GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰──AdVINO 5.1.8.3 Pad Templates sink video/x-raw: format: {BGR} width: [ 0, 2147483647 ] height: [ 0, 2147483647 ]...
  • Page 96 5.1.8.4 Properties model “model” gchararray The path where the OpenVINO optimized engine is located. Flags: Read / Write Default value: NULL scale “scale” gfloat Sets the scale needed to apply to input data. Flags: Read / Write Default value: 1.0 mean “mean”...
  • Page 97 EVA SDK User's Manual rgbconv “rebconv” gboolean Sets whether to convert the color format of an input image to RGB. Flags: Read / Write Default value: false 5.1.9 advideobatch This element batches multiple streams to a single vertical stream fitting the data format of the inference engine and collects all admeta data of the individual streams into batch meta data.
  • Page 98 video/x-raw: format: { BGR } width: [ 0, 2147483647 ] height: [ 0, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] Presence – always Direction – src 5.1.10 adsplitbatch A batched stream is a stream in which each of its frames is the combination of several smaller frames from several sources.
  • Page 99 EVA SDK User's Manual 5.1.10.3 Pad Templates sink_%u video/x-raw: format: { BGR } width: [ 0, 2147483647 ] height: [ 0, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] Presence – always Direction – sink video/x-raw: format: { BGR } width: [ 0, 2147483647 ]...
  • Page 100 5.1.11.1 Examples Using gst-launch gst-launch-1.0 videotestsrc pattern=snow ! adonnx model=classification.onnx scale=1 mean="127,127,127" std="128,128,128" rgbconv=True nchw=False device=gpu:0 ! fakesink gst-launch-1.0 videotestsrc pattern=snow ! adonnx model=human-pose-estimation-6-9- sim.onnx scale=0.0039 mean="128,128,128" ! adtrans_openpose_py input-width=456 input-height=256 blob-size="(38,32,57),(19,32,57)" ! admetadrawer ! videoconvert ! ximagesink gst-launch-1.0 videotestsrc pattern=snow ! adonnx model=yolov3.onnx scale=0.0039 mean="128,128,128"...
  • Page 101 EVA SDK User's Manual video/x-raw: format: {BGR} width: [ 0, 2147483647 ] height: [ 0, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] video/x-raw(ANY): format: {BGR} width: [ 0, 2147483647 ] height: [ 0, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] Presence –...
  • Page 102 “mean” gchararray Sets the standard deviation vector value needed to apply to input data. The standard deviation value of the dataset is the standard deviation value of the pixels of all the images across all the color channels (e.g. RBG). Greyscale images will have just one mean value and color images like ImageNet will have 3 mean values.
  • Page 103 EVA SDK User's Manual 5.1.12.1 Examples Using gst-launch The following pipeline translates the onnxruntime inference result using the Microsoft Custom Vision detector (tiny yolov2 type) model into a human-readable format. gst-launch-1.0 videotestsrc ! adonnx model=detection.onnx mean="0,0,0" std="1,1,1" rgbconv=False nchw=True device=gpu:0 ! adtrans_tinyyolov2_py class-num=2 label- file=label.txt threshold=0.5 ! admetadrawer ! videoconvert ! ximagesink...
  • Page 104 blob-size “blob-size” gchararray Inference output blob's output width and height. You can use commas to define multiple output blob sizes. For example: '52,26,13' indicates three output blob sizes. You can also define blob sizes by WxH, for example: '26x42,52x68,13x19' Flags: Read, Write Default value: "13"...
  • Page 105 EVA SDK User's Manual Label-file “label-file” gchararray The deep learning model label. Flags: Read, Write Default value: NULL 5.1.13 adtrans_classifier_AZ_py This element implements a buffer list chain function. Previous elements should push a buffer list into this element. The last buffer in the list will be seen as an inference result.
  • Page 106 5.1.13.4 Properties batch-num “batch-num” gint The number of the deep learning model batch. Range: 1 to 256 Flags: Read, Write Default value: 1 Image Analytic Plugins...
  • Page 107: Connector Plugins

    EVA SDK User's Manual Connector Plugins The following table lists the element of the supported connector plugins. Linux/ARM Windows Element Name Plugin Name Vendor Description Version Version Send data over the network via RTSP rtspclientsink rtspclientsink GStreamer 1.14.5 1.16.2 RECORD(RFC 2326) Element Descriptions This section describes each element of the connector plugins in greater detail.
  • Page 108 If using MSDK for transcoding, see the following similar example. gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12 ! msdkh264enc rate- control=cqp qpi=28 qpp=28 qpb=28 gop-size=30 num-slices=1 ref-frames=1 b-frames=2 target-usage=4 hardware=true ! rtspclientsink location=rtsp://adlinkpublisher:adlinkpublisher@SERVERIP:8554/streamName The relevant rtspsrc to receive the data: gst-launch-1.0 rtspsrc location=rtsp://adlinkreader:adlinkreader@SERVERIP:8554/streamName ! rtph264depay ! h264parse ! msdkh264dec hardware=true ! videoconvert ! video/x-raw, format=I420 ! ximagesink Note: The element ‘xvimagesink’...
  • Page 109: Convert For Openvino Model

    EVA SDK User's Manual Convert for OpenVINO Model Model Optimizer Developer Guide Model Optimizer is a cross-platform command-line tool that facilitates the transition between the training and deployment environment, performs static model analysis, and adjusts deep learning models for optimal execution on end-point target devices.
  • Page 110 This page intentionally left blank. Convert for OpenVINO Model...
  • Page 111: Convert For Tensorrt Model

    EVA SDK User's Manual Convert for TensorRT Model Basic understanding of Deep Learning Neural networks is required. It is very important that each GPU architecture can only use the converted engine of the corresponding Compute Capability (CC) (https://en.wikipedia.org/wiki/CUDA). For example, the TX2 CC is 6.2, so an engine converted on TX2 can only run on other devices with CC 6.2, they cannot run on another PASCAL GPU like the P1000 (CC 6.1),...
  • Page 112: Convert Tensorflow Models

    8.1.4 Build Options Parameter Description --calib=<file> Read INT8 calibration cache file, required if --int8 --explicitBatch Use explicit batch sizes when building the engine (default = implicit) --fp16 Enable fp16 mode (default = disabled) --int8 Run in int8 mode. (default = disabled) --maxBatch=<int>...
  • Page 113 EVA SDK User's Manual 8.3.1.1 FP16 Linux: /usr/src/tensorrt/bin/trtexec --onnx=yolov3.onnx --workspace=3000 --maxBatch=4 --fp16 --verbose --saveEngine=yolov3_fp16.engine Windows: trtexec.exe --onnx=yolov3.onnx --workspace=3000 --maxBatch=4 -- fp16 --verbose --saveEngine=yolov3_fp16.engine 8.3.1.2 Parameters Parameter Description --onnx=yolov3.onnx Load onnx file path --workspace=3000 Set GPU memory in MB to allow TensorRT to use to build engine.
  • Page 114 8.3.2.2 FP16 Linux: /usr/src/tensorrt/bin/trtexec --model=bvlc_googlenet.caffemodel - -deploy=deploy.prototxt --output=prob --workspace=3000 --fp16 -- maxBatch=4 --verbose --saveEngine=googlenet_fp16.engine Windows: trtexec.exe --model=bvlc_googlenet.caffemodel -- deploy=deploy.prototxt --output=prob --workspace=3000 --fp16 -- maxBatch=4 --verbose --saveEngine=googlenet_fp16.engine 8.3.2.3 Parameters Parameter Description --deploy=deploy.prototxt Load prototxt file path --model=bvlc_googlenet.caffemodel Load model file path --output=prob Set output layer name --workspace=3000...
  • Page 115 EVA SDK User's Manual 8.3.3.2 FP16 Linux: /usr/src/tensorrt/bin/trtexec --uff=sample_ssd_relu6.uff --output=NMS -- uffInput=Input,3,300,300 --workspace=3000 --saveEngine=ssdv2_fp16.engine -- verbose --maxBatch=4 --fp16 Windows: Trtexec.exe --uff=sample_ssd_relu6.uff --output=NMS --uffInput=Input,3,300,300 - -workspace=3000 --saveEngine=ssdv2_fp16.engine --verbose --maxBatch=4 --fp16 8.3.3.3 Parameters Parameter Description --uff Load uff file path --uffInput=Input,3,300,300 Set input layer name and input layer dimension...
  • Page 116: Safety Instructions

    Safety Instructions Read and follow all instructions marked on the product and in the documentation before you operate your system. Retain all safety and operating instructions for future use. • Please read these safety instructions carefully. • Please keep this User‘s Manual for later reference. •...
  • Page 117: Getting Service

    EVA SDK User's Manual Getting Service Ask an Expert: http://askanexpert.adlinktech.com ADLINK Technology, Inc. Address: 9F, No.166 Jian Yi Road, Zhonghe District New Taipei City 235, Taiwan Tel: +886-2-8226-5877 Fax: +886-2-8226-5717 Email: service@adlinktech.com Ampro ADLINK Technology, Inc. Address: 5215 Hellyer Avenue, #110, San Jose, CA 95138, USA...

Table of Contents