Skip to content

Getting Started

NOTE:

By default the application runs by pulling the pre-built images. If you want to build the images locally and then run the application, set the flag:

REGISTRY=false

usage: make <command> REGISTRY=false (applicable for all commands like benchmark, benchmark-stream-density..)
Example: make run-demo REGISTRY=false

(If this is the first time, it will take some time to download videos, models, docker images and build images)

Step by step instructions:

  1. Download the models using download_models/downloadModels.sh

    make download-models
    
  2. Update github submodules

    make update-submodules
    
  3. Download sample videos used by the performance tools

    make download-sample-videos
    
  4. Start Automated Self Checkout using the Docker Compose file.

    make run-render-mode
    
  5. The above series of commands can be executed using only one command:

    make run-demo
    
    5. To build the images locally step by step: - Follow the following steps:
    make download-models REGISTRY=false
    make update-submodules REGISTRY=false
    make download-sample-videos
    
    - Now build the pipeline-runner image locally:
    make build REGISTRY=false
    
    - Finally, start Automated self checkout using docker compose up.
    make run-render-mode REGISTRY=false
    
    - The above series of commands can be executed using only one command:

    make run-demo REGISTRY=false
    
  6. Verify Docker containers

    Verify Docker images

    docker ps --format 'table{{.Names}}\t{{.Status}}\t{{.Image}}'
    
    Result:
    NAMES                 STATUS          IMAGE
    camera-simulator0     Up 12 seconds   jrottenberg/ffmpeg:4.1-alpine
    src-ClientGst-1       Up 14 seconds   dlstreamer:dev
    camera-simulator      Up 13 seconds   aler9/rtsp-simple-server
    

  7. Verify Results

    After starting Automated Self Checkout you will begin to see result files being written into the results/ directory. Here are example outputs from the 3 log files.

    gst-launch_

    libva info: VA-API version 1.22.0
    libva info: User environment variable requested driver 'iHD'
    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
    libva info: Found init function __vaDriverInit_1_22
    libva info: va_openDriver() returns 0
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Redistribute latency...
    /GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage: sync = true
    Progress: (open) Opening Stream
    Pipeline is PREROLLED ...
    Prerolled, waiting for progress to finish...
    Progress: (connect) Connecting to rtsp://localhost:8554/camera_0
    

    pipeline

    14.58
    14.58
    15.47
    15.47
    15.10
    15.10
    14.60
    14.60
    14.88
    14.88
    

    r

    {"resolution":{"height":1080,"width":1920},"timestamp":1}
    {"objects":[{"detection":{"bounding_box":{"x_max":1.0,"x_min":0.7868695002029238,"y_max":0.8493015899134377,"y_min":0.4422388975124676},"confidence":0.7139435410499573,"label":"person","label_id":0},"h":440,"region_id":486,"roi_type":"person","w":409,"x":1511,"y":478}],"resolution":{"height":1080,"width":1920},"timestamp":66661013}
    {"objects":[{"detection":{"bounding_box":{"x_max":1.0,"x_min":0.6974737628926411,"y_max":0.8381138710318847,"y_min":0.44749696271196093},"confidence":0.7188630104064941,"label":"person","label_id":0},"h":422,"region_id":576,"roi_type":"person","w":581,"x":1339,"y":483}],"resolution":{"height":1080,"width":1920},"timestamp":133305076}
    

  8. Stop the containers:

    When pre-built images are used-

    make down
    

    When images are built locally-

    make down REGISTRY=false
    

Proceed to Advanced Settings

Pipeline Performance Tools