17-8559A

17-8559A

0个粉丝

2

问答

0

专栏

0

资料

17-8559A  发布于  2019-07-30 14:21:15
采纳率 0%
2个问答
2104

自己的SSD网络跑出来结果有些问题

   
本帖最后由 17-8559A 于 2019-7-30 15:02 编辑

(问题已解决)自己训练了一个只有两类的SSD网络,一类为背景,一类为目标物体。改了3559A里的SSD例程,将类别改成了2,softmax的输入输出的高也从21改成了2。最终输出的检测结果不对,图片中只有一个目标,但结果却有70多个检测结果,得分都大于0.75,roi位置相差也很大
我来回答
回答5个
时间排序
认可量排序

17-8559A

0个粉丝

2

问答

0

专栏

0

资料

17-8559A 2019-07-30 14:31:31
认可0
生成模型是采用ruyistudio,一开始拿自己的caffemodel和ruyistudio例程里的prototxt,生成.wk时是有些问题的,因为类别参数不对,不是21类,是2类。
所以我后来把训练时的prototxt改成了ssd例程的样子,成功生成了.wk文件。

在代码中,我把软件初始化的参数修改了下,如下:
HI_U32 my_class_num = 2; // 21

    /*Set Softmax Parameters*/
    // 类别相关
    pstSoftWareParam->u32SoftMaxInHeight = my_class_num; // 类数 21
    pstSoftWareParam->au32SoftMaxInChn[0] = 121296; // 84*38*38 类别预测的通道数
    pstSoftWareParam->au32SoftMaxInChn[1] = 45486; // 126*19*19
    pstSoftWareParam->au32SoftMaxInChn[2] = 12600; // 126*10*10
    pstSoftWareParam->au32SoftMaxInChn[3] = 3150; // 126*5*5
    pstSoftWareParam->au32SoftMaxInChn[4] = 756; // 84*3*3
    pstSoftWareParam->au32SoftMaxInChn[5] = 84; // 84*1*1

    //
    pstSoftWareParam->u32ConcatNum = 6; // 类别 6组合并到
    pstSoftWareParam->u32SoftMaxOutWidth = 1;
    pstSoftWareParam->u32SoftMaxOutHeight = my_class_num; // 21;
    pstSoftWareParam->u32SoftMaxOutChn = 8732;

    /*Set DetectionOut Parameters*/
    pstSoftWareParam->u32ClassNum = my_class_num; // 21;
    pstSoftWareParam->u32TopK = 400; // 取前top 400个?
    pstSoftWareParam->u32KeepTopK = 200;
    pstSoftWareParam->u32NmsThresh = (HI_U16)(0.3f*SAMPLE_SVP_NNIE_QUANT_BASE);
    pstSoftWareParam->u32ConfThresh = 1;
    pstSoftWareParam->au32DetectInputChn[0] = 23104; // 位置预测通道数  38*38*4*4
    pstSoftWareParam->au32DetectInputChn[1] = 8664; // 19*19*6*4
    pstSoftWareParam->au32DetectInputChn[2] = 2400;
    pstSoftWareParam->au32DetectInputChn[3] = 600;
    pstSoftWareParam->au32DetectInputChn[4] = 144;
    pstSoftWareParam->au32DetectInputChn[5] = 16;

其中,21全都换成了2.
最后结果是这样的:
[img]https://gitee.com/ig__wxz/image_2019/raw/master/2019_7th_mounth/false-result-ssd.png[/img]

同样的图,我用例程的ssd跑,结果是这样的[img]https://gitee.com/ig__wxz/image_2019/raw/master/2019_7th_mounth/ssd-sample-boat-result.png[/img]

请问有大佬知道这个问题怎么解决吗

17-8559A

0个粉丝

2

问答

0

专栏

0

资料

17-8559A 2019-07-30 14:55:00
认可0
本帖最后由 17-8559A 于 2019-7-30 15:01 编辑

醉了,,,问题解决了,刚刚把参数列表又扫了一遍,发现不只要改21这个数,pstSoftWareParam->au32SoftMaxInChn这个数组里的数也都要改成对应的参数

贴一个检测结果,下面是自己训练网络的结果:
[img]https://gitee.com/ig__wxz/image_2019/raw/master/2019_7th_mounth/my-design-result.png[/img]

下面是例程ssd的检测结果:
[img]https://gitee.com/ig__wxz/image_2019/raw/master/2019_7th_mounth/sample-ssd-result.png[/img]

虽然结果差不多,但有一点很奇怪
我是用的里的clock记的时间,例程中的ssd跑15FPS,而我自己ssd跑100FPS?模型还都是一样的,只是类别数量不一样。。。

17-8559A

0个粉丝

2

问答

0

专栏

0

资料

17-8559A 2019-07-30 18:10:54
认可0
clock测得是cpu的时间,有问题,于是重新用一种方法测了下时间,这次测出来的应该是真实时间了:
[img]https://gitee.com/ig__wxz/image_2019/raw/master/2019_7th_mounth/sampleSSD-real-time.png[/img]
[img]https://gitee.com/ig__wxz/image_2019/raw/master/2019_7th_mounth/MyDesign-real-time.png[/img]

qn1528269872

0个粉丝

1

问答

1

专栏

0

资料

qn1528269872 2019-08-16 11:50:00
认可0
感谢大神分享,天睿视迅也在研发这个

qidonggeng

0个粉丝

1

问答

0

专栏

0

资料

qidonggeng 2020-02-21 15:40:16
认可0
谢谢分享,正遇到此问题
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区