yolov7
yolov7 copied to clipboard
导出ONNX后如何进行后处理?
1.使用分支为mian,训练的cfg为training/yolov7.yaml改的,尺寸为默认的640x640 2.训练完毕后得到best.pt,使用detect.py,可以正常推理 3.使用export.py导出后,得到onnx,也可以正常输入图片,得到推理结果。
大概能理解outpu里就是各个stride尺度下的原始框框,我的class数量为4,所以一条结果就是:[cx,cy,w,h,conf]+[conf1,conf2,conf3,conf4]一共9个小数。但是后续不会了,疑问如下:
1.输出的第一个flaot32:[1,3,80,80,9],指的是8x8下一共80x80个框,但是为什么会有3组80x80的数据呢?是代表着RGB三个通道上的分别可能吗? 2.output里面有负数,举个例子:80x80下其中一条数据为[ 0.98 0.29 0.15 -0.57 -2.63 -1.37 0.12 -2.40 -1.72],按yolo的输出格式来看的话,宽度为-364?
恳请哪位大哥解答一下疑惑,如果可以给段伪码介绍下流程就更好啦
- inference demo: https://github.com/hpc203/yolov7-opencv-onnxrun-cpp-py/blob/main/onnxruntime/main.cpp
- batch inference see this: https://github.com/WongKinYiu/yolov7/blob/main/tools/YOLOv7-Dynamic-Batch-ONNXRUNTIME.ipynb
@youxin1996 你的问题解决了吗?我最近也做了同样的工作,opencv dnn推理的,可以加qq 1196626201交流
@youxin1996 你的问题解决了吗?我最近也做了同样的工作,opencv dnn推理的,可以加qq 1196626201交流
主要是对于yolo系列的原理不太了解,照着yolov5学习了一遍就理解了。模型已经在PC上基于ONNX_CPU跑起来了,效果还不错,转成RKNN在NPU上也跑通了
为什么我在npu上输出的结果不对,请问你是怎么转换成功并进行推理的?