YOLOs-CPP
Cross-Platform Production-ready C++ inference engine for YOLO models (v5-v12, YOLO26). Unified API for detection, segmentation, pose estimation, OBB, and classification. Built on ONNX Runtime and OpenCV. Optimized for CPU/GPU with quantization support.
File Explorer
- action.yml
- Python.Dockerfile
- UbuntuCPU.Dockerfile
- UbuntuGPU.Dockerfile
- main.yml
- .gitkeep
- BENCHMARK_REPORT.md
- benchmark_results.csv
- unified_benchmark_1768399342.csv
- auto_bench.sh
- CMakeLists.txt
- README.md
- yolo_unified_benchmark.cpp
- cover.png
- dance_output.gif
- dog.jpg
- final_test_compressed_output.gif
- SIG_experience_center_seg_processed-2.gif
- SIG_experience_center_seg_processed.gif
- api.md
- examples.md
- architecture.md
- benchmarks.md
- getting-started.md
- models.md
- quantization.md
- logo.png
- acknowledgments.md
- contributing.md
- index.md
- YOLOs-CPP_on_Windows_11.md
- CMakeLists.txt
- example_camera_class.cpp
- example_camera_depth.cpp
- example_camera_det.cpp
- example_camera_obb.cpp
- example_camera_pose.cpp
- example_camera_seg.cpp
- example_image_class.cpp
- example_image_depth.cpp
- example_image_det.cpp
- example_image_obb.cpp
- example_image_pose.cpp
- example_image_seg.cpp
- example_video_class.cpp
- example_video_depth.cpp
- example_video_det.cpp
- example_video_obb.cpp
- example_video_pose.cpp
- example_video_seg.cpp
- README.md
- run_camera_class.sh
- run_camera_depth.sh
- run_camera_det.sh
- run_camera_obb.sh
- run_camera_pose.sh
- run_camera_seg.sh
- run_image_class.sh
- run_image_depth.sh
- run_image_det.sh
- run_image_obb.sh
- run_image_pose.sh
- run_image_seg.sh
- run_video_class.sh
- run_video_depth.sh
- run_video_det.sh
- run_video_obb.sh
- run_video_pose.sh
- run_video_seg.sh
- utils.hpp
- BoundedThreadSafeQueue.hpp
- Config.hpp
- drawing.hpp
- nms.hpp
- onnx_metadata.hpp
- preprocessing.hpp
- session_base.hpp
- types.hpp
- utils.hpp
- version.hpp
- classification.hpp
- depth.hpp
- detection.hpp
- obb.hpp
- pose.hpp
- segmentation.hpp
- yoloe.hpp
- yolos.hpp
- coco.names
- Dota.names
- export_onnx.py
- ImageNet.names
- imagenet_classes.txt
- coco.names
- yolos_quantization.py
- .gitkeep
- comprehensive_benchmark_1754753397.csv
- export_yoloe_classes.py
- export_yoloe_onnx.py
- prepare_release.sh
- batch_image_inference.cpp
- camera_inference.cpp
- class_image_inference.cpp
- image_depth_inference.cpp
- image_inference.cpp
- image_yoloe_seg.cpp
- video_inference.cpp
- video_yolo26_all_tasks.cpp
- video_yolo26_seg_pose.cpp
- video_yoloe_seg.cpp
- make_synthetic_models.py
- test_batch_and_memory.cpp
- .gitkeep
- dog_bike_car.jpg
- .gitkeep
- .gitkeep
- download_test_models.sh
- export_onnx_yoloxx.py
- fintune_yoloxx.py
- labels.names
- .gitkeep
- compare_results.cpp
- inference_classification_cpp.cpp
- inference_classification_ultralytics.py
- requirements.txt
- test_preprocessing.cpp
- .gitkeep
- bus.jpg
- dog.jpg
- download_test_models.sh
- export_onnx_yolo26_depth.py
- compare_results.cpp
- inference_config.json
- inference_depth_cpp.cpp
- inference_depth_ultralytics.py
- make_synthetic_models.py
- test_postprocessing.cpp
- .gitkeep
- dog_bike_car.jpg
- kitti_overlap.png
- .gitkeep
- .gitkeep
- .gitkeep
- download_test_models.sh
- export_onnx_yoloxx.py
- fintune_yoloxx.py
- voc.names
- compare_results.cpp
- inference_config.json
- inference_detection_cpp.cpp
- inference_detection_ultralytics.py
- requirements.txt
- test_letterbox_consistency.cpp
- image.png
- Dota.names
- download_test_models_obb.sh
- export_onnx_yolo_obb.py
- finetune_yolo_obb.py
- .gitkeep
- compare_obb_results.cpp
- compare_obb_results.py
- inference_config_obb.json
- inference_obb_cpp.cpp
- inference_obb_ultralytics.py
- test1.jpg
- test2.jpg
- coco.names
- download_test_models.sh
- export_onnx_yoloxx.py
- .gitkeep
- compare_results.cpp
- inference_config.json
- inference_pose_cpp.cpp
- inference_pose_ultralytics.py
- requirements.txt
- .gitkeep
- bus.jpg
- kitti_overlap.png
- .gitkeep
- .gitkeep
- .gitkeep
- coco.names
- download_test_models.sh
- export_onnx_yoloxx.py
- .gitkeep
- compare_results.cpp
- inference_config.json
- inference_segmentation_cpp.cpp
- inference_segmentation_ultralytics.py
- requirements.txt
- bus.jpg
- zidane.jpg
- export_yoloe_test_onnx.py
- compare_results.cpp
- inference_config.json
- inference_yoloe_cpp.cpp
- inference_yoloe_ultralytics.py
- build_test.sh
- CMakeLists.txt
- README.md
- test_all.sh
- test_api.sh
- test_classification.sh
- test_depth.sh
- test_detection.sh
- test_obb.sh
- test_pose.sh
- test_segmentation.sh
- test_utils.sh
- test_yoloe.sh
- .dockerignore
- .gitignore
- build.bat
- build.ps1
- build.sh
- CMakeLists.txt
- Dockerfile
- Dockerfile.cpu
- Dockerize.md
- Doxyfile
- LICENSE
- mkdocs.yml
- README.md
- RELEASE.md
- run_camera.sh
- run_image.sh
- run_test.sh
- run_video.sh
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
cmake
View Details ▼
cmake
Cross-platform build automation system, that generates recipes for native build systems.
cmake {{path/to/project_directory}}
Generate a build recipe in the current directory with `CMakeLists.txt` from a project directory:
cmake --build {{path/to/build_directory}}
Use a generated recipe in a given directory to build artifacts:
cmake --install {{path/to/build_directory}} --strip
Install the build artifacts into `/usr/local/` and strip debugging symbols:
docker build
View Details ▼
docker build
Build an image from a Dockerfile.
docker build .
Build a Docker image using the Dockerfile in the current directory:
docker build {{github.com/creack/docker-firefox}}
Build a Docker image from a Dockerfile at a specified URL:
docker build {{[-t|--tag]}} {{name:tag}} .
Build a Docker image and tag it:
docker run
View Details ▼
docker run
This command is an alias of `docker container run`.
tldr docker container run
View documentation for the original command:
git checkout
View Details ▼
git checkout
Checkout a branch or paths to the working tree.
git checkout -b {{branch_name}}
Create and switch to a new branch:
git checkout -b {{branch_name}} {{reference}}
Create and switch to a new branch based on a specific reference (branch, remote/branch, tag are examples of valid references):
git checkout {{branch_name}}
Switch to an existing local branch:
git clone
View Details ▼
git clone
Clone an existing repository.
git clone {{remote_repository_location}} {{path/to/directory}}
Clone an existing repository into a new directory (the default directory is the repository name):
git clone --recursive {{remote_repository_location}}
Clone an existing repository and its submodules:
git clone {{[-n|--no-checkout]}} {{remote_repository_location}}
Clone only the `.git` directory of an existing repository:
git commit
View Details ▼
git commit
Commit files to the repository.
git commit
Open an editor to write a message and commit staged files to the repository:
git commit {{[-m|--message]}} "{{message}}"
Commit staged files to the repository with the specified message:
git commit {{[-F|--file]}} {{path/to/commit_message_file}}
Commit staged files with a message read from a file:
git push
View Details ▼
git push
Push commits to a remote repository.
git push
Send local changes in the current branch to its default remote counterpart:
git push {{remote_name}} {{local_branch}}
Send changes from a specific local branch to its remote counterpart:
git push {{[-u|--set-upstream]}} {{remote_name}} {{local_branch}}
Send changes from a specific local branch to its remote counterpart, and set the remote one as the default push/pull target of the local one:
tar
View Details ▼
tar
Archiving utility.
Often combined with a compression method, such as `gzip` or `bzip2`.
tar cf {{path/to/target.tar}} {{path/to/file1 path/to/file2 ...}}
[c]reate an archive and write it to a [f]ile:
tar czf {{path/to/target.tar.gz}} {{path/to/file1 path/to/file2 ...}}
[c]reate a g[z]ipped archive and write it to a [f]ile:
tar czf {{path/to/target.tar.gz}} {{[-C|--directory]}} {{path/to/directory}} .
[c]reate a g[z]ipped (compressed) archive from a directory using relative paths:
