yolov5_cpp プロジェクト説明ドキュメント
このプロジェクトは、写真やビデオを処理できる YOLOv5 モデルを使用した物体検出のアプリケーションです。
同時に、LIME アルゴリズム (低照度画像強化) を使用して、入力画像の品質を向上させます。
処理中、このプログラムは、元の入力フレーム、ターゲット検出後のフレーム、および LIME 拡張検出フレームの 3 つのウィンドウを表示します。
C++ YOLO v5 ONNX オブジェクト検出用のランタイム推論コード。
構造体
├── build.sh # 构建脚本
├── CMakeLists.txt # CMake构建文件
├── images # 示例图片和视频文件
├── include # 头文件
│ ├── cmdline.h # 命令行解析
│ ├── detector.h # YOLO检测器定义
│ ├── lime.h # LIME算法定义
│ ├── utils.h # 实用工具函数
│ └── visualizer.h # 可视化工具函数
├── lime # LIME算法相关文件
├── models # 预训练YOLOv5模型和类别名称文件
├── README.md # 项目说明文档
└── src # 源代码文件
├── add_fps.cpp # 添加FPS显示功能
├── add_lime.cpp # 添加LIME功能
├── add_thread.cpp # 添加多线程功能
├── detector.cpp # YOLO检测器实现
├── lime.cpp # LIME算法实现
├── main.cpp # 主程序
├── utils.cpp # 实用工具函数实现
└── visualizer.cpp # 可视化工具函数实现
依存関係:
- OpenCV 4.x
- ONNXランタイム 1.12.0
- OS: Windows 10 および Ubuntu 20.04 でテスト済み
- CUDA 11+ [オプション]
建てる
プロジェクトをビルドして次のコマンドを実行するには
cd yolov5_cpp
./build.sh
cd build
または
mkdir build
cd build
cmake
make
走る
まだ実行可能ファイルを実行していない場合は、実行可能ファイルを実行する前に、PyTorch モデルを ONNX に変換する必要があります。公式チュートリアルを確認してください。
On Windows
: 実行可能ファイルを実行するには、OpenCV および ONNX ランタイム ライブラリを環境パスに追加し、or
必要なすべてのライブラリを実行可能ファイル (onnxruntime.dll および opencv_world.dll) の近くに配置する必要があります。
CLI、 --gpu (オプション) から実行します。
- -m または --model_path: ONNX モデル ファイルへのパス
- -c または --class_names: クラス名ファイルへのパス
- -i または --input: 画像またはビデオ ファイルへのパスを入力します
- –gpu: (オプション) GPU アクセラレーションを使用します
./build.sh
cd build
./yolov5_cpp -m ../models/yolov5s.onnx -c ../models/coco.names -i ../images/bus.jpg --gpu
# On Windows ./yolo_ort.exe with arguments as above
参考文献
- YOLO v5 リポジトリ: https://github.com/ultralytics/yolov5
- YOLOv5 ランタイム スタック リポジトリ: https://github.com/zhiqwang/yolov5-rt-stack
- ONNXRuntime 推論の例: https://github.com/microsoft/onnxruntime-inference-examples