用deeplab 训练Pascal VOC2012数据集时需注意的一些问题

用deeplab 训练Pascal VOC2012数据集时需注意的一些问题

1 segmentation_dataset.py中类别数目的设置

num_class=自己的标签数目+2

比如我训练的时候只需要person这一类标签,那么我的num_class就是3,这三类分别为:person,background以及ignore_label

2 单通道mask中标签像素值设置

生成的mask必须为单通道(灰度图),建议为png格式。

注意,在制作mask时,对所有object的灰度像素值有要求。

对于所有object包括background在内,在mask中要将灰度值标注为0~n,虽然产生的图片很难看出区别,但是这对训练是有效的。注意,不要把object的灰度值标注成10,20,100…(这样代码会直接将灰度值和class匹配,这在调整权重等操作会有麻烦~)

总的来说就是:“background”类中的像素值应为0,第一个类的像素值应为1,因为第二个类的像素值应为2,依此类推…不要将类保存为其他值,如100或 224,必须要按照从1到N的顺序保存标签

3 权重不平衡问题

如果你的问题是二分类或者和我的数据集类似,存在object之间imablance,这需要在train_utils.py中修改权重.

这里重点说我个人数据集,因为是3分类问题,ignore_label权重设为0,其中background占了非常大的比例,person类所占比例较小,故background和person权重分别设为1和10,假如是4分类问题,并且object2比object1要稍微少一点,那么最终的设置的权重比例为ignore_label权重设为0,background,object1,object2分别设为1,10,15(比例越大权重越小)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值