YOLOv5_NCNN icon indicating copy to clipboard operation
YOLOv5_NCNN copied to clipboard

Yolact 分割错误

Open YJLCV opened this issue 4 years ago • 4 comments

您好!请问您在部署yolact到android时,有坑么? 我目前用ncnn的yolact部署在自己写的app里,但是就是没法分割出结果,没一个框是正确的(模型没问题),请问ncnn版本是否对yolact的部署会有影响?Yolact要的不是这个版本?

YJLCV avatar Oct 15 '21 08:10 YJLCV

readme有zhihu的转换过程啊

cmdbug avatar Oct 15 '21 14:10 cmdbug

@cmdbug 感谢您的回复!是这样的,不是转换ncnn错误。我已经编译了nihui的ncnn,其中的examples已经包含了yolact,我也在linux上成功部署得到正确的yolact结果,但是将这个ncnn的yolact写了个jni接口,弄到Android里面,发现手机上没法分割出结果,所以想问下是否是ncnn版本问题?

YJLCV avatar Oct 15 '21 14:10 YJLCV

应该不会吧,先看看c层的输出目标类别是不是正确的确认下模型输出是对是错,再检查是不是jni转换写错了。

cmdbug avatar Oct 15 '21 14:10 cmdbug

@jmuyjl 你好,能否请教下 yolact 的 android 端部署问题,我 down 了作者的源码,然后将自己转换好的 parambin 文件进行替换,修改了模型输出,即 nihui 的这篇 知乎文章 的:

ex.extract("619", maskmaps);// 138x138 x 32
ex.extract("816", location);// 4 x 19248
ex.extract("818", mask);// maskdim 32 x 19248
ex.extract("820", confidence);// 81 x 19248

并且修改了:

Concat  Concat_401  5 1 634 673 712 751 790 816 0=0  // 原来是 0=-3
Concat  Concat_402  5 1 646 685 724 763 802 817 0=0  // 原来是 0=-3
Concat  Concat_403  5 1 659 698 737 776 815 818 0=0  // 原来是 0=-3

然后在 java/box.java 中修改了自己的预测类别,导出 apk 后,仍然会显示错误的预测结果,标签全是 person,并且出现了闪退的问题(cpu模式下不运行直接闪退;gpu模式下,会运行几秒钟然后闪退)

walker-ai avatar May 12 '22 03:05 walker-ai