Getting Started - Evaluating the Library

From RidgeRun Developer Wiki









Requesting the Evaluation Binary

To request an evaluation binary for a specific architecture, don't hesitate to get in touch with us, providing the following information:

  • Platform: NVIDIA Jetson, x86 PC, Qualcomm RBx, NXP i.MX, Xilinx ZYNQ, etc.
  • Details of the Platform:
    • NVIDIA Jetson:
      • Nano, TX2
      • Xavier: NX, AGX
      • Orin: Nano, NX, AGX
    • X86 PC:
      • Processor: Intel, AMD (with all the details, i.e. Intel i7-1065G7)
      • Graphics Card: NVIDIA, Intel, AMD (with all the details, i.e. NVIDIA T4)
    • Qualcomm:
      • RBx: RB5, RB6
    • NXP:
      • i.MX 6
      • i.MX 8
      • i.MX 95
    • Xilinx:
      • ZYNQ US+
      • ZYNQ 7000
      • Kria K26, K24
  • Operating System version, including:
    • Kernel version. Use uname -a
    • Distribution version (i.e. Ubuntu 20.04, Yocto Scarthgap)
    • If you are on Jetson:
      • Jetpack version
      • L4T version

Although other platforms are not mentioned, any other platform with support for OpenCL 2.x support, OpenCV or NVIDIA VPI is supported.

Moreover, please provide a brief description of your use case.

RidgeRun will provide you with the binaries to evaluate the library, which have limitations.


Features of the Evaluation

To help you test our RidgeRun Video Stabilizer Library, RidgeRun can provide an evaluation version of the library.

The following table summarizes the features available in the professional and evaluation versions of RidgeRun Video Stabilizer Library.

Feature Professional Evaluation
C++ headers Y Y
Examples Y Y
GStreamer plugin P (1) P (1)
Unlimited Processing Time Y N (2)
Source Code Y N
Table 1. Features provided in the evaluation version

(1) The GStreamer support is in progress. We are currently working to have it done for III-Quarter 2024.

(2) The evaluation version will limit the processing to a maximum of 9000 executions for each library module. You can also ask for a time-limited evaluation with unlimited features.

Evaluating the RidgeRun Video Stabilizer

Please find the details about the dependencies, installation, and testing below.

Installing dependencies

The RidgeRun Video Stabilization Library has some optional and mandatory dependencies. Within the compulsory dependencies:

  • A C++17-compatible compiler (like GNU Compiler v9.x)

One of the following dependencies must be present in the system:

  • OpenCV >= 4.2: For CPU image correction
  • OpenCL >= 2.2: For HW-accelerated image correction on Non-NVIDIA platforms
  • CUDA >= 10.2: For HW-accelerated image correction on NVIDIA (planned support for Q3 2024)

The following dependencies are fully optional:

  • Doxygen: for documentation
  • Pre-commit: for developer-mode
  • Boost (system, filesystem, iostreams): for plotting
  • GNUPlot iostream: for plotting

RidgeRun Video Stabilization Library does not have support for Windows

To see how to install these dependencies, follow this link: Building the Library

Installing and testing the RidgeRun Video Stabilizer

RidgeRun will provide you with a tarball with the contents of the evaluation version of the RidgeRun Video Stabilizer library.

To test the binary for the evaluation version of RidgeRun Video Stabilizer, please:

  • Install the required dependencies.
  • Decompress the tarball
  • Run the following command:
./configuration.sh

Testing the Offline Example

RidgeRun provides you with an example to test the concept and measure the estimated performance achieved in live stabilization. Please, refer to Example Application for more information.

Testing the Online Stabilization

RidgeRun also provides all the necessary binaries for testing the stabilization with v4l2 and argus-compatible cameras. At the moment, evaluators are required to have a BMI160 IMU sensor for the online testing. The evaluation process is the following:

Checking the Installation and Environment

1. Check the sensor:

# Sensor access: it may change from devkit to another
SENSOR=/dev/i2c-8
sudo chmod 777 ${SENSOR}
bmi160-example ${SENSOR}

It shall print some readings.

2. Test the undistortion:

undistort 4k_smpte.png

It shall generate images with the undistortion.

3. Check the calibrators

rvs-camera-calibration
rvs-imu-orientation-calibration

4. Check the elements:

gst-inspect-1.0 nvarguscamerasrc
gst-inspect-1.0 rvstabilize
gst-inspect-1.0 rrv4l2src

Calibrating the Sensors

For the camera, please, follow this guide: Video Undistortion

For the IMU sensor, please, follow this guide: Preparing the IMU Measurements

Using GStreamer

Please, use the following: Example Pipelines

Testing the Library and GStreamer

For API usage, you can also use the examples available in our API Documentation, Examples Guidebook and GStreamer.