基于MASK RCNN算法实现瑕疵图像识别(准备数据)

下面要谈谈这个版本的Mask RCNN使用的MSCOCO数据集了,这也是我遇到最多坑的地方。希望后来的朋友能绕过去。

MSCOCO数据集是微软搞的一个号称拥有最多图片数量的数据集,http://cocodataset.org/#home官方网址访问是比较困难的,需要翻一下。这个数据集的标注组织形式是 训练集用train文件夹存放,验证集用val文件夹存放,而图像标注是一个图像集内只有一个json文件内存放所有图像的信息:


这显然与labelme或者labelimg等标注工具生成结果是不一样的,经过多方搜索,终于发现了比较好用的适合COCO数据集的标注工具VIA!http://www.robots.ox.ac.uk/~vgg/software/via/ 官方地址,这是一个网页版的标注工具,其实用起来不太顺手,但是好歹可以无缝对接MaskRCNN的dataset读取,所以也就凑合了。

由于标注工作量巨大,又是多人合作完成,所以每个人的标注质量和格式统一是至关重要的!

标注必须采用多边形标注方式,如果有些瑕疵占比太小必须要截图放大,总之各种图像增强手段都要用上,直接影响标注效果,多边形标注也必须尽量贴着实际瑕疵的形状。


错误标注


正确示范

数据加载的代码实现部分,可以参考balloon演示代码这部分:


当然这里面的气球dataset可以改成自己需要的数据集名称,但是集成方法都是一样的

class BalloonDataset(utils.Dataset):

你可能感兴趣的:(基于MASK RCNN算法实现瑕疵图像识别(准备数据))