Vision Apps User Guide
Auto Valet Parking Application 3

Introduction

This application shows a demo of auto valet parking application which runs 5 deep learning algorithms such as parking spot detection, vehicle detection, semantic segmentation, motion segmentation and depth estimation on multiple input channels such as front, right and left cameras. The demo takes as input a sequence of nv12 images of resolution 1280x720 pixels coming from different input channels. The input is resized using a multi-scalar hardware (MSC) to 768x384 resolution which is provided to a multi-category object-detection network for doing parking spot detection and vehicle detection. The same resized input is provided provided to a multi-task network which does semantic segmentation, motion segmentation and depth estimation. The multi-task network also takes in Dense Optical Flow (DOF) output to help in motion segmentation task. The inputs are pre-processed on C66 DSP before providing to TIDL running on C7x DSP. The output of TIDL is then post-processed on another C66 DSP which draws rectangles around objects and blends semantic segmentation output. User can select a sub-set of outputs for display which is rendered using DSS driver.

Supported plaforms

Platform Linux x86_64 Linux+RTOS mode QNX+RTOS mode SoC
Support YES YES YES J721e

Data flow

app_tidl_avp3_dataflow.jpg

Steps to run the application on J721e EVM (Linux + RTOS mode)

  1. Build the application and related libraries as mentioned in Build Instructions for Linux+TI-RTOS mode
  2. A sample config file "app_avp3.cfg" is provided under "/opt/vision_apps/" folder on the rootfs partition.
  3. Edit config file to modify the fields as required
  4. Run the app as shown below
    cd /opt/vision_apps
    source ./vision_apps_init.sh
    ./run_app_tidl_avp3.sh

Steps to run the application on J721e EVM (QNX + RTOS mode)

  1. Build the application and related libraries as mentioned in Build Instructions for QNX+TI-RTOS mode
  2. A sample config file "app_avp3.cfg" is provided under "/ti_fs/vision_apps/" folder on the boot partition.
  3. Edit config file to modify the fields as required
  4. Run the app as shown below
    cd /ti_fs/vision_apps
    . ./vision_apps_init.sh
    ./run_app_tidl_avp3.sh

Steps to run the application on Linux x86_64

  1. Build the application and related libraries as mentioned in Build Instructions for PC emulation mode
  2. A sample config file "app_avp3.cfg" is provided under "${PSDKR_PATH}/vision_apps/apps/dl_demos/app_tidl_avp3/config" folder
  3. Edit config file to modify the fields as required
  4. Create an output directory
    mkdir app_tidl_avp3_out
  5. Run the app as shown below
    ./vx_app_tidl_avp3 --cfg ${PSDKR_PATH}/vision_apps/apps/dl_demos/app_tidl_avp3/config/app_avp3.cfg
  6. The output will be written in "app_tidl_avp3_out" folder in nv12 format.
  7. Use open source tools like YUView to see the output.

Sample Output

Shown below is a example input and its corresponding output

Semantic Segmentation - Parking Spot Detection - Vehicle Detection

app_tidl_avp3_output1.jpg

Dense Optical Flow - Motion Segmentation - Depth Estimation

app_tidl_avp3_output2.jpg