UNeedCryDear / yolov8-opencv-onnxruntime-cpp

yolov8 hub,cpp with onnxruntime and opencv
Apache License 2.0
319 stars 56 forks source link

无法使用Yolov8SegOnnx识别自定义的onnx模型 #12

Closed edwardzxw closed 1 year ago

edwardzxw commented 1 year ago

您好,

我尝试着用本项目中的Yolov8SegOnnx类来识别一个我自己训练的自定义模型,已经按照您这边的要求将pt文件转换成了onnx文件,但是识别的结果并不正确。

我用本项目的代码识别得到的结果如下: image 识别得到结果的位置数量都不对。

识别中在console里可以看到如下错误:

read net ok!
OpenCV(4.5.0) Error: Bad argument (Matrix operand is an empty matrix.) in cv::checkOperandsExist, file E:\ZengXu-Project\OX-WIT\NugetPackages\opencv\opencv-4.5.0\opencv-4.5.0\modules\core\src\matrix_expressions.cpp, line 24
OpenCV(4.5.0) Error: Assertion failed (_src1.empty() == _src2.empty()) in cv::compare, file E:\ZengXu-Project\OX-WIT\NugetPackages\opencv\opencv-4.5.0\opencv-4.5.0\modules\core\src\arithm.cpp, line 1201
OpenCV(4.5.0) Error: Assertion failed (res != 0) in cv::Mat::elemSize, file E:\ZengXu-Project\OX-WIT\NugetPackages\opencv\opencv-4.5.0\opencv-4.5.0\modules\core\include\opencv2/core/mat.inl.hpp, line 920

我用yolov5自带的segment/predict.py得到的结果如下: image 这个是期望的结果。

可否请您看下,是不是哪边我调用的方式不对?

UNeedCryDear commented 1 year ago

https://github.com/UNeedCryDear/yolov5-seg-opencv-onnxruntime-cpp yolov5请使用v5的版本,这两个输出格式不一样

edwardzxw commented 1 year ago

感谢,我会使用yolov5版本再试一次。

edwardzxw commented 1 year ago

使用yolov5版本直接crash了: image

edwardzxw commented 1 year ago

这是我自训练的model的meta info,供您参考: image

UNeedCryDear commented 1 year ago

image

edwardzxw commented 1 year ago

搞定了!非常感谢!

image