Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用nanodet训练自己模型,移植到安卓demo中出现闪退报错 #2

Open
XiongfeiQin opened this issue Sep 24, 2021 · 12 comments

Comments

@XiongfeiQin
Copy link

  • 参照项目nanodet
  • 修改代码如下:
// NanoDet.h  75行
    std::vector<HeadInfo> heads_info{
            // cls_pred|dis_pred|stride
//            {"792", "795", 8},
//            {"814", "817", 16},
//            {"836", "839", 32},
            {"cls_pred_stride_8", "dis_pred_stride_8", 8},
            {"cls_pred_stride_16", "dis_pred_stride_16", 16},
            {"cls_pred_stride_32", "dis_pred_stride_32", 32},
    };

// MainActivity 315行
    protected void initModel() {
        String path = this.getFilesDir() + File.separator;
        if (USE_MODEL == NANODET) {
//            NanoDet.init("nanodet_320.mnn", path, USE_GPU);
            NanoDet.init("nanodet_jpq_mm.mnn", path, USE_GPU);
        }
    }

// 模型输出label及num_class均有修改
  • 模型转换使用项目中懒人转换工具 流程为torch->onnx->mnn
  • 报错信息如下:
I/WZT_MNN: model path:/data/user/0/com.wzt.mnn/files/nanodet_jpq_mm.mnn
A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 9811 (com.wzt.mnn), pid 9811 (com.wzt.mnn)

请问该如何解决呢?谢谢

@cmdbug
Copy link
Owner

cmdbug commented Sep 25, 2021

WelcomeActivity.java 44行 里面有一个复制模型的过程,名称也要改一下。

@XiongfeiQin
Copy link
Author

按照你给的方法问题已经解决,但是又出现新的问题,识别效果大打折扣,思考之后猜测原因在检测部分处理图片方面出现问题,请问一下有没有好的修改建议及思路,谢谢!

@cmdbug
Copy link
Owner

cmdbug commented Sep 25, 2021

检查下模型的输入格式rgb、bgr啊,归一化值等是不是有修改。

@XiongfeiQin
Copy link
Author

仔细琢磨发现jni_interface.cpp第59行

cv::cvtColor(tempMat, srcMatImg, CV_RGBA2RGB);  // 将bitmap转成RGB

原项目nanodet 读取训练图片使用opencv直接读取,默认通道为BGR,这就产生了通道不一致直接导致效果下降。

另:如果将c++及java调用模型及推理部分单独打包供其他安卓插件调用,博主是否愿意提供有偿帮助,微信qxf130312.

@cmdbug
Copy link
Owner

cmdbug commented Sep 25, 2021

NanoDet.cpp 67行 有指定格式,估计是其它地方有问题。如训练的模型。

@XiongfeiQin
Copy link
Author

自己原项目中使用demo_ncnn部分测试过模型,输出达到预期。如果提供模型给你能有偿帮忙吗?

@cmdbug
Copy link
Owner

cmdbug commented Sep 25, 2021

mean norm 值是不是对的?

@XiongfeiQin
Copy link
Author

不是,我都有仔细核对过,mnn和ncnn提供的两套demo代码基本上没什么差异。本人不是很擅长这个方向,还是希望这件事情博主能提供帮助,拜托🙏🏻

@cmdbug
Copy link
Owner

cmdbug commented Sep 25, 2021

对吼,mnn的转换工具版本跟推理库的版本尽量一致,不一致可能会有问题。

@XiongfeiQin
Copy link
Author

那你这边用的推理库是什么版本 我需要用哪个版本的转换工具

@cmdbug
Copy link
Owner

cmdbug commented Sep 25, 2021

RangiLyu/nanodet#92

@lengsan1234
Copy link

mmexport1697722936543.jpg

可否识别这个

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants