Mask-Rcnn处理单通道图像

网上的开源Mask-Rcnn代码是以RGB图像作为默认输入图像的,如果需要处理单通道图像,需要对源码进行一定的修改,参考github以为大神的解决方案,github链接地址。解决步骤如下:

  1. 在子类中Config,设置IMAGE_CHANNEL_COUNT为N,单通道为1。
  2. 在同一个类中,将MEAN_PIXEL从3个值更改为N个值,列表元素数目更改为1个。
  3. 将utils.py中的Dataset类中的load_image方法进行修改。需要注意的是利用skimage.io.imread读取单通道图像得到的array是二维的,需要将其扩展至三维,即增加一个通道数维度,添加代码image = image[:, :, np.newaxis]即可解决。
  4. 由于您正在更改输入的形状,因此第一个Conv图层(Conv1)的形状也会发生变化。因此,无法使用提供的预训练重量。要解决此问题,请exclude在加载权重时使用该参数以排除第一个图层。这允许您加载除了之外的所有图层的权重conv1,这将被初始化为随机权重。
  5. 在训练过程中由于conv1层是随机初始化的,因此需要进行参数调整,可以通过调整"heads"包含的网络层来将conv1层添加至训练层。"heads"或者其他层数的定义位于model.py文件的MaskRCNN类的train()方法中。

Mask RCNN源码地址:https://github.com/matterport/Mask_RCNN
解决方案参考地址:https://github.com/matterport/Mask_RCNN/wiki

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值