Jose Sarmiento | [email protected]
The next repository aims to provide a basic c++ script using std 17 over, to do it and consider the speed The code use OpenCv 4.9.0_8 and Onnx 1.17.1 to manipulate the image and inference the model. Note that Opncv don't support a native integration because yolov10 integra A top K layer in their architecture.
- Download de model you want
- yolov10n
- yolov10s
- yolov10m
- yolov10b
- yolov10l
- yolov10x
python download_model.py --model {MODEL_SELECTED}
yolo export model=yolov10n.pt format=onnx
- ffmpeg
- Opnecv
- onnxruntime
- MacOs
brew install ffmpeg
brew install opencv
brew install onnxruntime
- Ubuntu: Unfortunately, onnx runtime is no available using native apt-get
You can use python
sudo apt-get update
sudo apt-get install python3-pip
pip3 install onnxruntime
dotnet
dotnet add package Microsoft.ML.OnnxRuntime
- Using Cmake, Recommended
mkdir build
cd build
cmake ..
make
- Run the following command
./yolov10_cpp [MODEL_PATH] [IMAGE_PATH]
- Modularize the components.
- Make a example to video real time.
- Support Cuda. ?
[1] Wang, A., Chen, H., Liu, L., Chen, K., Lin, Z., Han, J., & Ding, G. (2024). YOLOv10: Real-Time End-to-End Object Detection. arXiv [Cs.CV]. Retrieved from https://arxiv.org/abs/2405.14458