我理解的大致流程:
1. 模型后处理输出box与mask两个结果,在json文件workflow中output为["image", "detect_box", "mask"]
2. 后处理文件中,为满足多输出,输出消息定义为
struct OutMsg {
std::map<std::string, std::vector<BBox>> boxes;
std::map<std::string, std::vector<Segmentation>> segmentations;
};
将后处理的boxes结果放在boxes中,mask放在segmentations中,且名字要与output中的一致。
3. 在smartplugin中对分别对box,mask结果进行处理,smartplugin.cpp如下。
请小伙伴帮我解决下面一些疑惑:
1. 上述思路是否正确,
1. 实例分割非语义分割,在segmentations容器中是只存储实例对应的mask(检测框内矩形部分的mask)还是全图mask呢,(源码中有关于mask和face_mask的代码,感觉face_mask应该与实例分割类似,但是没看太明白)
2. 存储格式是否将矩形mask按行展平成向量形式存储;
3. mask是否需要先缩放到原图尺寸再放到容器中呢;
4. mask在容器中以float形式存储,在哪里会转换成二值mask呢;
5. smartplugin中对于实例mask的处理该怎么选择,下面代码注释掉的部分合适吗。
感谢?
