MASK_RCNN训练自己的数据集

**

MASK_RCNN训练自己的数据集

**
1.将自己数据集的标注转为coco数据集格式,网上有很多很好的代码。这一步比较重要,后期出的很多问题都是数据的问题
在这里插入图片描述
train和val中是原始图片,annotations是放的coco格式的标记信息
MASK_RCNN训练自己的数据集_第1张图片
2 coco.py 的修改
(1)89行附件

NUM_CLASSES = 1 + 1  # COCO has 80 classes

自己的数据分成几类,就是1+几,这个1是背景

(2)114行附近

		coco = COCO("{}/annotations/{}{}.json".format(dataset_dir, subset, year))
		#由于我是train.json,val.json,所以我把instances删掉了
        if subset == "minival" or subset == "valminusminival":
            subset = "val"
        image_dir = "{}/{}{}".format(dataset_dir, subset, year)

(3)423行附近

  if args.command == "train":
        # Training dataset. Use the training set and 35K from the
        # validation set, as as in the Mask RCNN paper.
        dataset_train = CocoDataset()
        dataset_train.load_coco(args.dataset, "train", year='', auto_download=args.download)
        dataset_train.load_coco(args.dataset, "val", year='', auto_download=args.download)
        dataset_train.prepare()

3.运行coco.py
在cmd的coco.py所在的文件夹下

 python coco.py train --dataset=G:\data\parking\drivable_area\data\ --model=imagenet

还有

# Train a new model starting from pre-trained COCO weights
python3 coco.py train --dataset=/path/to/coco/ --model=coco

# Train a new model starting from ImageNet weights
python3 coco.py train --dataset=/path/to/coco/ --model=imagenet

# Continue training a model that you had trained earlier
python3 coco.py train --dataset=/path/to/coco/ --model=/path/to/weights.h5

# Continue training the last model you trained
python3 coco.py train --dataset=/path/to/coco/ --model=last

# Run COCO evaluatoin on the last model you trained
python3 coco.py evaluate --dataset=/path/to/coco/ --model=last

我的G:\data\parking\drivable_area\data\下:

在这里插入图片描述

4.遇到的问题
好几个问题都是数据格式问题,忘了,只大体记得
. coco.{},keyerror.
应该是categories中的类别有问题,没有这一类

有一个是不训练的问题,是因为Keras的版本问题
Keras==2.1.6

你可能感兴趣的:(MASK_RCNN训练自己的数据集)