Tencent / ncnn

ncnn is a high-performance neural network inference framework optimized for the mobile platform
Other
20.15k stars 4.14k forks source link

Wrong result for onnx-ncnn yolov5s_6.0 #3600

Open Draft00 opened 2 years ago

Draft00 commented 2 years ago

Problem: incorrect detection

Windows platform. Image with wrong detection for example: image

model | 模型 | モデル

  1. original model: https://github.com/ultralytics/yolov5

how to reproduce | 复现步骤 | 再現方法

  1. Install yolov5 steps from Quick Start Examples.
  2. Verify: python detect.py --source data/images --weights yolov5s.pt --conf 0.25.
  3. Export for solve problems 'Unsupported slice step !': python export.py --include onnx --weight yolov5s.pt --img 640 --train --simplify. According to this.
  4. Conversion using out-of-the-box web model conversion (https://convertmodel.com/#outputFormat=ncnn): check both 'Optimize', check 'Generate ft16 model'.
  5. Comparing my .param file with the param file example (https://github.com/nihui/ncnn-assets/blob/master/models/yolov5s_6.0.param). The layers are the same, only the numbers differ. Size the .bin file is the same as in the example
  6. Use ncnn tutorial (https://github.com/Tencent/ncnn/blob/master/examples/yolov5.cpp) for yolov5s_6.0. Rewrite ex.extract() according to my .param file numbers.
  7. ...And I get a completely incorrect detection result :(

@zhiliu6, could you tell me how you converted the model? it seemed to me that I was doing similar steps, but this is not the case :(

xbc922 commented 2 years ago

I have similar problems,run on android,params yololv5 6.0 by pnnx

traffic_model.zip

lizozom commented 2 years ago

Running into a similar issue. Have you had any luck resolving this @xbc922 @Draft00 @zhiliu6?

Draft00 commented 2 years ago

Running into a similar issue. Have you had any luck resolving this @xbc922 @Draft00 @zhiliu6?

@lizozom, Nope :(. I had to use yolov4.

lizozom commented 2 years ago

@Draft00 my intuition tells me that the processing of images is different between the python and JavaScript versions. I'm not an ML pro, so I'm having a hard time analysing this myself.

houshoubao commented 2 years ago

I have the same issue with yolov5n.

lizozom commented 2 years ago

cc I ended up using an older version as well.

nqthai309 commented 2 years ago

the same error, can you solve it ?

nihui commented 1 month ago

针对onnx模型转换的各种问题,推荐使用最新的pnnx工具转换到ncnn In view of various problems in onnx model conversion, it is recommended to use the latest pnnx tool to convert your model to ncnn

pip install pnnx
pnnx model.onnx inputshape=[1,3,224,224]

详细参考文档 Detailed reference documentation https://github.com/pnnx/pnnx https://github.com/Tencent/ncnn/wiki/use-ncnn-with-pytorch-or-onnx#how-to-use-pnnx