Mask RCNN测试过程经验总结

在做Mask RCNN测试图片的过程中遇到了太多问题 总结一下

1.Dataset数据集

源代码train_shapes.py中给的是ShapesDataset,实际上这是生成一个简单形状(正方形/三角形/原型)的数据集

我们需要将它修改成自己想要测试的数据集

个人建议根据自己的数据集命名,比如我是对于树木的检测,就将其命名为TreeDataset

我的修改方式是将训练文件coco.py中的CocoDataset改为TreeDataset,并创建一个test_shape.py作为测试文件,同时将class里面的方法都拿到test_shape.py中,后续可能会有用到
之后调用自己的TreeDataset数据集就行:


    # Validation dataset
    dataset_val = TreesDataset()
    dataset_val.load_trees("验证集所在路径","val", year="2014", auto_download=False)
    dataset_val.prepare()
 

2.加载ground truth


original_image, image_meta, gt_class_id, gt_bbox, gt_mask =  modellib.load_image_gt(dataset_val, inference_config, image_id, use_mini_mask=False)

3.测试结果可视化

源码中已经给出了可视化的方法:


visualize.display_instances(original_image, r['rois'], r['masks'], r['class_ids'], class_names, r['scores'])
 

如果我们想要在测试图片上显示一些面积等数据,就可以在display_instances方法中添加修改一些代码

我是想显示一些面积数据,就从IoU计算的方法里拿了mask面积的计算方法


pre_mask1 = np.reshape(masks > .5, (-1, masks.shape[-1])).astype(np.float32)
pre_mask_area = np.sum(pre_mask1, axis=0)
 

这里有一个需要注意的地方,因为在test_shape.py中的ShapesConfig有一个IMAGE_MAX_DIM = 1280参数

这是将我们输入的测试图片缩放成1280,所以如果想要显示真实数据,要把数据按比例缩放回去

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值