提供anchor-free和anchor-based的c++参考代码
- YOLOv5-Style(anchor-based)
- YOLOX-Style(anchor-free)
- detection 目标检测
- tracking 多目标跟踪
- keypoints detection (pose-estimation) 关键点检测
- yolov5-Style/data/weights提供2个rknn模型:human.rknn, pose.rknn
- yoloX-Style/data/weights提供1个coco.rknn模型
- install
eigen
- install
opencv
- compile:
mkdir build
cd build
cmake ..
make
- YOLOX-Style
./main ../data/weights/test.rknn ../data/images/bus.jpg .4 .4
- YOLOv5-Styl
./main 0 ../data/weights/test.rknn ../data/images/bus.jpg .4 .4
src/main.cpp下,取消Track注释即可
auto start = chrono::system_clock::now(); // start
model->Detect(frame, CONF_THRESH, NMS_THRESH); // detect
// model->Track(tracker, frame, false); // tracking(enable_trajectory=false)
auto end = chrono::system_clock::now(); // end
当前仅提供了YOLOv5-Style关键点decode代码,并且提供量化转换后的RKNN模型 => YOLOv5/Stle/data/weights/pose.rknn
。
由于8bit量化,关键点偏移较大,建议使用FP16模型。
YOLOv5-Style
./main 2 ../data/weights/test.rknn ../data/images/bus.jpg .4 .4
pipeline: pytorch => onnx => rknn
可以从本人另一个repo导出:(https://github.com/jamjamjon/YOLOXY/tree/master)
python tool.py --include rknn
yolov5的导出可以参考YOLOXY中common.py
=> DetectX()
。
YOLOX-Style/data/weights
下的.rknn
模型仅供测试。