yolov7-opencv-dnn-cpp
yolov7-opencv-dnn-cpp copied to clipboard
用自己训练的模型推理时出现异常
对yolov5s进行轻量化设计,骨干网络用shufflenetV2来进行代替,其他保持不变,代码中的种类已经修改
报错位置:
修改后的网络输出:
原模型网络输出:
你这6300的维度,明显要么图片输入小了,要么网络层少了(原来的函数三个输出口合并的,你这个是哪几个合并的要搞清楚),你得看下是那部分少了。 主要是opencv对于yolov7的支持不好,所有需要自己计算anchors之类的参数,如果你走其他的部署方式的话,不需要自己计算这部分内容就会比较容易修改
修正了之前错误的通道数和特征图大小,网络输出维度保持在25200,但是读onnx模型在Opencv 4.5.4 4.5.0均失败,在Opencv4.8.1才能读取,torch=1.13.1 cuda=11.6。
另外有一个很大的疑问是原网络结构(yolov5s)的onnx模型在opencv4.5.0上推理速度能有15帧左右,是在opencv4.8.1(6、7帧)上的两倍,这是因为什么原因呢 (以上均针对yolov5)