DeepStream Can Orientation App ======================================== The ``deepstream-can-orientation-app`` sample application is provided at `app/sample_apps/deepstream-can-orientation-app` for your reference. This example demonstrates can orientation detection for industrial can position and rotation angles. There are several configurations for raw data input, JPEG input and Basler camera emulation input settings. The image below shows the architecture of this reference app. .. image:: /content/DS_can_orientation.png :align: center :alt: DeepStream VPI Can Orientation Application Architecture video template would load custom lib ``libnvds_vpicanmatch.so`` to do CV-based VPI template matching for industrial can orientation detection. Getting Started ##################### Prerequisites ---------------- * Go to the folder `sources/apps/sample_apps/deepstream-can-orientation-app` * Prepare all test sample images and reference images. Run the following command to un-compress can test and reference images into folder `data`, and generate raw sample image data files. Run command :: $ ./prepare_sample_data.sh .. Note:: If there is file permission issues, try with `sudo`. * Export DISPLAY environment to correct display. e.g. `export DISPLAY=:0.0`. * For Basler camera emulation test, follow instructions in ``deepstream-can-orientation-app/README`` to install and build all dependencies. This emulation does not require a physical Basler camera. * Users can modify and configure their Basler cameras through Pylon Viewer to create new PFS and then use it in this app. Run DeepStream Can Orientation Examples ----------------------------------------- * Run tests for JPEG files with EGL display: :: $ deepstream-can-orientation-app -c ds_can_orientation_jpg.yaml * Run tests for GREY raw datafile with EGL display: :: $ deepstream-can-orientation-app -c ds_can_orientation_raw.yaml -r data/test_samples_raw.grey * Run tests for performance tests without display. Update ``ds_can_orientation_raw.yaml``. :: sink: egl_display: false sync: false debug: print_result: fasle * Run performance tests: :: $ deepstream-can-orientation-app -c ds_can_orientation_raw.yaml -r data/test_samples_raw.grey -l * Run Basler Camera Emulation tests: :: $ deepstream-can-orientation-app -c ds_can_orientation_basler_cam.yaml DeepStream Can Orientation App Configuration Specifications #################################################################### deepstream-can-orientation-app settings ---------------------------------------------------------------------------- The table below indicates the group settings for `ds_can_orientation_jpg.yaml` and `ds_can_orientation_raw.yaml`. .. csv-table:: deepstream can orientation application settings :file: ../text/tables/DS_can_orientation_app_settings.csv :widths: 15, 20, 40, 20, 20 :header-rows: 1 Custom lib ``libnvds_vpicanmatch.so`` Settings for Can Template Matching --------------------------------------------------------------------------- The table below indicates the group settings for `config_video_template_can_match.yaml`. .. csv-table:: deepstream can orientation application settings :file: ../text/tables/DS_vapi_template_matching.csv :widths: 20, 20, 20, 40 :header-rows: 1 Build application From Source ######################################################################## * Go to the folder `sources/apps/sample_apps/deepstream-can-orientation-app`. * Run the following commands: :: $ make $ make install