前几篇博客一直在使用网上别人写好的代码,按照航拍数据打标的.json,.mask,.yaml,原图片,四个文件来制作数据集(我认为是自定义格式的数据集),最近跟一个热心的网友交流(超级感谢他)决定改为coco格式来训练。https://blog.csdn.net/heiheiya/article/details/82143967(别人的coco格式数据训练博客)此种数据格式训练不需要自动提出mask,mask会根据label标记的多边形自动生成instance,故该种模式只需要原图片文件,整合的.json文件。
(1)首先准备数据集(包含1整合的train.json/val.json,2train的原图片,3val的原图片)如下图1:
annotations文件夹下包含:
(2)修改coco.py代码。
A.因为我识别的只有一类building,所以将NUM_CLASSES改为1+1(背景为一类).
B.如果不修改为1+1,就不需要改预训练模型代码,因为预训练模型代码里关于mrcnn的所有shape都是81维的,如果修改了,则加载权重代码需要换下。否则会报错提示shape不一致,像shape,ballon等都是按照后面的方式加载的权重数据。