The Order Accuracy Pipeline System is an open-source reference implementation for building and deploying video analytics pipelines for retail order accuracy in Quick Servce Restaurant(QSR) use cases. It leverages Intel® hardware and software, GStreamer, and OpenVINO™ to enable scalable, real-time object detection and classification at the edge.
- Ubuntu 24.04 or newer (Linux recommended), Desktop edition (or Server edition with GUI installed).
- Docker
- Make (
sudo apt install make) - Intel hardware (CPU, iGPU, dGPU, NPU)
- Intel drivers:
- Sufficient disk space for models, videos, and results
Clone the repo with the below command
git clone -b <release-or-tag> --single-branch https://github.com/intel-retail/order-accuracy
Replace with the version you want to clone (for example, v1.1.0).
git clone -b v1.1.0 --single-branch https://github.com/intel-retail/order-accuracy
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)
1.1 Download the models using download_models/downloadModels.sh
make download-models1.2 Update github submodules
make update-submodules1.3 Download sample videos used by the performance tools
make download-sample-videos1.4 Start Order Accuracy using the Docker Compose file.
make run-render-mode-
The above series of commands can be executed using only one command:
make run-demo
- Follow the following steps:
make download-models REGISTRY=false make update-submodules make download-sample-videos make run-render-mode REGISTRY=false
- The above series of commands can be executed using only one command:
make run-demo REGISTRY=false
When pre-built images are pulled-
make downWhen images are built locally-
make down REGISTRY=falsemake benchmark-
By default, the configuration is set to use the CPU. If you want to benchmark the application on GPU or NPU, please update the
DEVICE_ENVvariable.make benchmark DEVICE_ENV=res/all-gpu.env
make consolidate-metrics
cat benchmark/metrics.csvmake clean-images— Remove dangling Docker imagesmake clean-models— Remove all the downloaded models from the systemmake clean-all— Remove all unused Docker resources
configs/— Configuration files (txt file with sample video URLs for inference)docker/— Dockerfiles for downloader and pipeline containersdownload-scripts/— Scripts for downloading models and videossrc/— Main source code and pipeline runner scriptsMakefile— Build automation and workflow commands
For detailed documentation and a comprehensive guide, please visit our project website.