YOLOV5_NCNN_Android icon indicating copy to clipboard operation
YOLOV5_NCNN_Android copied to clipboard

用自己得模型做预测,结果多出好多误检

Open yangmengace opened this issue 4 years ago • 8 comments

将自己的模型转为ncnn,inference结果多了好多误检

yangmengace avatar Sep 08 '20 07:09 yangmengace

我也遇到了同样的问题,用自己的param和bin,结果比pytorch版的多了很多误检框,这些误检框置信度很高且数值很接近

hideinhat avatar Sep 09 '20 05:09 hideinhat

我的问题刚刚已解决,是输出的blob name与anchor对应错误,{"output",32,{{116,90},{156,198},{373,326}}}, {"467",16,{{30,61},{62,45},{59,119}}}, {"486",8,{{10,13},{16,30},{33,23}}},被我写成了{"486",32,{{116,90},{156,198},{373,326}}}, {"467",16,{{30,61},{62,45},{59,119}}}, {"output",8,{{10,13},{16,30},{33,23}}},修改后可以正常检测

yangmengace avatar Sep 09 '20 05:09 yangmengace

@yangmengace 你好,可以帮忙看下这样写对吗? yolov5

hideinhat avatar Sep 09 '20 06:09 hideinhat

@yangmengace 你好,可以帮忙看下这样写对吗? yolov5

没毛病

yangmengace avatar Sep 09 '20 06:09 yangmengace

还是有很多误检。。。不知道哪里出了问题。。 这是用我的模型threshold=0.30,nms_threshold=0.10的检测结果 test_result1

hideinhat avatar Sep 09 '20 07:09 hideinhat

还是有很多误检。。。不知道哪里出了问题。。 这是用我的模型threshold=0.30,nms_threshold=0.10的检测结果 test_result1

float norm[3] = {1/255.f,1/255.f,1/255.f}; float mean[3] = {0,0,0}; in.substract_mean_normalize(mean,norm); 看一下你这一步均值和方差和原训练模型的是不是一致的,如果训练yolov5的时候没有改的话应该是以上设置,还有resize的尺寸与训练输入的尺寸 这些是我能想到的

yangmengace avatar Sep 09 '20 07:09 yangmengace

@yangmengace 谢谢你的指点。均值和方差训练的时候应该是没有作修改的,请问一下,resize的尺寸是指导出onnx模型时的image-size吗?

hideinhat avatar Sep 10 '20 03:09 hideinhat

@yangmengace 问题解决了。应该是训练输入的尺寸和resize的尺寸不一致的原因。谢谢你的解答!

hideinhat avatar Sep 11 '20 05:09 hideinhat