Quick Start Guide to Run Pipeline
Prerequisites
Before running, set up the pipeline.
Running OVMS with the camera simulator
Start the Camera Simulator
-
Download the video files to the sample-media directory:
cd benchmark-scripts; ./download_sample_videos.sh; cd ..;
Example - Specify Resolution and Framerate
This example downloads a sample video for 1080p@15fps.
cd benchmark-scripts; ./download_sample_videos.sh 1920 1080 15; cd ..;
Note
Only AVC encoded files are supported.
-
After the video files are downloaded to the sample-media folder, start the camera simulator:
make run-camera-simulator
-
Wait for few seconds, and then check if the camera-simulator containers are running:
docker ps --format 'table{{.Image}}\t{{.Status}}\t{{.Names}}'
Success
Your output is as follows:
IMAGE STATUS NAMES openvino/ubuntu20_data_runtime:2021.4.2 Up 11 seconds camera-simulator0 aler9/rtsp-simple-server Up 13 seconds camera-simulator Note
There could be multiple containers with the image "openvino/ubuntu20_data_runtime:2021.4.2", depending on the number of sample-media video files provided.
Failure
If all the Docker* containers are not visible, then review the console output for errors. Sometimes dependencies fail to resolve. Address obvious issues and retry.
Run Instance Segmentation
There are several pipeline profiles to chose from. Use the make list-profiles
to see the different pipeline options. In this example, the instance_segmentation
pipeline profile will be used.
-
Use the following command to run instance segmentation using OVMS on core.
PIPELINE_PROFILE="instance_segmentation" RENDER_MODE=1 sudo -E ./run.sh --platform core --inputsrc rtsp://127.0.0.1:8554/camera_0
-
Check the status of the pipeline.
docker ps --format 'table{{.Image}}\t{{.Status}}\t{{.Names}}' -a
Success
Here is a sample output:
IMAGE STATUS NAMES openvino/model_server-gpu:latest Up 59 seconds ovms-server0 Failure
If you do not see above Docker container(s), review the console output for errors. Sometimes dependencies fail to resolve and must be run again. Address obvious issues and try again repeating the above steps. Here are couple debugging tips:
-
check the docker logs using following command to see if there is an issue with the container
docker logs <containerName>
-
check ovms log in automated-self-checkout/results/r0.jsonl
-
-
Check the output in the
results
directory.Example - results/r0.jsonl sample
The output in results/r0.jsonl file lists average processing time in milliseconds and average number of frames per second. This file is intended for scripts to parse.
Processing time: 53.17 ms; fps: 18.81 Processing time: 47.98 ms; fps: 20.84 Processing time: 48.35 ms; fps: 20.68 Processing time: 46.88 ms; fps: 21.33 Processing time: 47.56 ms; fps: 21.03 Processing time: 49.66 ms; fps: 20.14 Processing time: 52.49 ms; fps: 19.05 Processing time: 52.27 ms; fps: 19.13 Processing time: 50.86 ms; fps: 19.66 Processing time: 58.19 ms; fps: 17.18 Processing time: 58.28 ms; fps: 17.16 Processing time: 52.17 ms; fps: 19.17 Processing time: 50.89 ms; fps: 19.65 Processing time: 49.58 ms; fps: 20.17 Processing time: 51.14 ms; fps: 19.55
Example - results/pipeline0.log sample
The output in results/pipeline0.log lists average number of frames per second. Below is a snap shot of the output:
18.81 20.84 20.68 21.33 21.03 20.14 19.05 19.13 19.66 17.18 17.16 19.17 19.65 20.17 19.55
Note
The automated-self-checkout/results/ directory is volume mounted to the pipeline container.
Stop running the pipelines
- To stop the instance segmentation container and clean up, run
make clean-all