Evaluating GPU Accelerated Motion Detector
GPU Accelerated Motion Detector |
---|
Overview |
GStreamer Plugin |
Getting Started |
Examples |
Performance |
Troubleshooting |
FAQ |
Contact Us |
GPU Accelerated Motion Detector C++ Library
In order to request an evaluation binary for a specific architecture, please contact us by providing the following information:
- Device (i.e.: Xavier NX, Xavier AGX, etc...)
- Kernel version, you can provide the output of the following command:
uname -a
The following steps will show how to install the evaluation version of the C++ Library (librrmotiondetection).
Step 1: Features of Evaluation
RidgeRun provides a fully-featured evaluation version of the plugins with a limited processing time, as shown in table 1:
Feature | Professional | Evaluation |
---|---|---|
C++ Library | Y | Y |
Unlimited Processing Time | Y | N (1) |
Unlimited days of use | Y | N (2) |
Source Code | Y | N |
(1) The evaluation version will limit the processing to a maximum of 5000 frames.
(2) The evaluation version will limit the number of days to use, after that limit you won't be able to use it.
Step 2: Install the dependencies
Make sure the dependencies are fulfilled, for this check our Dependencies section before moving to the next step.
Step 3: Install the Binaries
RidgeRun should've provided you with a .tar package: librrmotiondetection-1.Y.Z-gst-1.X-P-eval.tar. Copy the files into your system:
tar -xvf librrmotiondetection-1.Y.Z-gst-1.X-P-eval.tar sudo cp -r librrmotiondetection-1.Y.Z-gst-1.X-P-eval/usr/lib/* /usr/lib/
GPU Accelerated Motion Detector GStreamer Plugins
The following steps will show how to install the evaluation version of the GStreamer Plugins.
Step 1: Request the Evaluation Binaries
In order to request an evaluation binary for a specific architecture, please Contact Us by providing the following information:
Device (i.e.: Xavier NX, Xavier AGX, etc...) GStreamer version and kernel version, you can provide the output of the following commands:
gst-launch-1.0 --gst-version uname -a
RidgeRun provides a fully-featured evaluation version of the plugins with a limited processing time, as shown in table 2:
Feature | Professional | Evaluation |
---|---|---|
rrmotiondetection | Y | Y |
rrnoisereduction | Y | Y |
rrblobdetector | Y | Y |
rrcudablobdetector | Y | Y |
rrmotionoverlay | Y | Y |
rrmotiondetectionbin | Y | Y |
Unlimited Processing Time | Y | N (1) |
Unlimited days of use | Y | N (2) |
Source Code | Y | N |
(1) The evaluation version will limit the processing to a maximum of 5000 frames.
(2) The evaluation version will limit the number of days to use, after that limit you won't be able to use it.
Step 2: Install the dependencies
Make sure the dependencies are fulfilled, for this check our Dependencies section before moving to the next step.
Step 3: Install the Binaries
RidgeRun should've provided you with a .tar package: gst-rrmotiondetection-1.Y.Z-gst-1.X-P-eval.tar. Copy the files into your system:
tar -xvf gst-rrmotiondetection-1.Y.Z-gst-1.X-P-eval.tar sudo cp -r gst-rrmotiondetection-1.Y.Z-gst-1.X-P-eval/usr/lib/* /usr/lib/
You can verify the plug-in installation by running the following command in your terminal:
gst-inspect-1.0 rrmotiondetectionbin
Please verify every element:
- rrmotiondetection
- rrnoisereduction
- rrblobdetector
- rrcudablobdetector
- rrmotionoverlay
- rrmotiondetectionbin
If the plugin was successfully installed you should see the plugin information printed in your terminal, similar to the information shown below. If the plugin information is not displayed, please visit our Troubleshooting section.
Factory Details: Rank none (0) Long-name Motion Detection Bin Klass Filter/Video Description Detects motion blobs Author Melissa Montero <melissa.montero@ridgerun.com> Plugin Details: Name rrmotiondetection Description Motion detection components based on OpenCV Filename /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstrrmotiondetection.so Version 0.1.0 License Proprietary Source module gstrrmotiondetection Binary package gstrrmotiondetection Origin URL www.ridgerun.com GObject +----GInitiallyUnowned +----GstObject +----GstElement +----GstBin +----GstRrMotionDetectionBin Implemented Interfaces: GstChildProxy Pad Templates: SINK template: 'sink' Availability: Always Capabilities: video/x-raw format: { (string)I420, (string)YV12, (string)YUY2, (string)UYVY, (string)AYUV, (string)VUYA, (string)RGBx, (string)BGRx, (string)xRGB, (string)xBGR, (string)RGBA, (string)BGRA, (string)ARGB, (string)ABGR, (string)RGB, (string)BGR, (string)Y41B, (string)Y42B, (string)YVYU, (string)Y444, (string)v210, (string)v216, (string)Y210, (string)Y410, (string)NV12, (string)NV21, (string)GRAY8, (string)GRAY16_BE, (string)GRAY16_LE, (string)v308, (string)RGB16, (string)BGR16, (string)RGB15, (string)BGR15, (string)UYVP, (string)A420, (string)RGB8P, (string)YUV9, (string)YVU9, (string)IYU1, (string)ARGB64, (string)AYUV64, (string)r210, (string)I420_10BE, (string)I420_10LE, (string)I422_10BE, (string)I422_10LE, (string)Y444_10BE, (string)Y444_10LE, (string)GBR, (string)GBR_10BE, (string)GBR_10LE, (string)NV16, (string)NV24, (string)NV12_64Z32, (string)A420_10BE, (string)A420_10LE, (string)A422_10BE, (string)A422_10LE, (string)A444_10BE, (string)A444_10LE, (string)NV61, (string)P010_10BE, (string)P010_10LE, (string)IYU2, (string)VYUY, (string)GBRA, (string)GBRA_10BE, (string)GBRA_10LE, (string)BGR10A2_LE, (string)GBR_12BE, (string)GBR_12LE, (string)GBRA_12BE, (string)GBRA_12LE, (string)I420_12BE, (string)I420_12LE, (string)I422_12BE, (string)I422_12LE, (string)Y444_12BE, (string)Y444_12LE, (string)GRAY10_LE32, (string)NV12_10LE32, (string)NV16_10LE32, (string)NV12_10LE40 } width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] video/x-raw(memory:NVMM) format: { (string)I420, (string)I420_10LE, (string)P010_10LE, (string)I420_12LE, (string)UYVY, (string)YUY2, (string)YVYU, (string)NV12, (string)NV16, (string)NV24, (string)GRAY8, (string)BGRx, (string)RGBA, (string)Y42B } width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] SRC template: 'src' Availability: Always Capabilities: video/x-raw format: { (string)I420, (string)YV12, (string)YUY2, (string)UYVY, (string)AYUV, (string)VUYA, (string)RGBx, (string)BGRx, (string)xRGB, (string)xBGR, (string)RGBA, (string)BGRA, (string)ARGB, (string)ABGR, (string)RGB, (string)BGR, (string)Y41B, (string)Y42B, (string)YVYU, (string)Y444, (string)v210, (string)v216, (string)Y210, (string)Y410, (string)NV12, (string)NV21, (string)GRAY8, (string)GRAY16_BE, (string)GRAY16_LE, (string)v308, (string)RGB16, (string)BGR16, (string)RGB15, (string)BGR15, (string)UYVP, (string)A420, (string)RGB8P, (string)YUV9, (string)YVU9, (string)IYU1, (string)ARGB64, (string)AYUV64, (string)r210, (string)I420_10BE, (string)I420_10LE, (string)I422_10BE, (string)I422_10LE, (string)Y444_10BE, (string)Y444_10LE, (string)GBR, (string)GBR_10BE, (string)GBR_10LE, (string)NV16, (string)NV24, (string)NV12_64Z32, (string)A420_10BE, (string)A420_10LE, (string)A422_10BE, (string)A422_10LE, (string)A444_10BE, (string)A444_10LE, (string)NV61, (string)P010_10BE, (string)P010_10LE, (string)IYU2, (string)VYUY, (string)GBRA, (string)GBRA_10BE, (string)GBRA_10LE, (string)BGR10A2_LE, (string)GBR_12BE, (string)GBR_12LE, (string)GBRA_12BE, (string)GBRA_12LE, (string)I420_12BE, (string)I420_12LE, (string)I422_12BE, (string)I422_12LE, (string)Y444_12BE, (string)Y444_12LE, (string)GRAY10_LE32, (string)NV12_10LE32, (string)NV16_10LE32, (string)NV12_10LE40 } width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] video/x-raw(memory:NVMM) format: { (string)I420, (string)I420_10LE, (string)P010_10LE, (string)I420_12LE, (string)UYVY, (string)YUY2, (string)YVYU, (string)NV12, (string)NV16, (string)NV24, (string)GRAY8, (string)BGRx, (string)RGBA, (string)Y42B } width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] Element has no clocking capabilities. Element has no URI handling capabilities. Pads: SINK: 'sink' SRC: 'src' Pad Template: 'src' Element Properties: async-handling : The bin will handle Asynchronous state changes flags: readable, writable Boolean. Default: false cuda-blob-detection : Use blob detection algorithm (in charge of detecting the motion bounding boxes) implemented in cuda otherwise use cpu blob detection flags: readable, writable Boolean. Default: false grayscale : When enabled, the motion detection is performed over a grayscaleimage (color dropped) flags: readable, writable Boolean. Default: true message-forward : Forwards all children messages flags: readable, writable Boolean. Default: false name : The name of the object flags: readable, writable String. Default: "rrmotiondetectionbin0" parent : The parent of the object flags: readable, writable Object of type "GstObject"