Detectron2训练自己的实例分割数据集

本文介绍 Detectron2训练自己的实例分割数据集

Detectron2训练自己的实例分割数据集

This article was original written by Jin Tian, welcome re-post, first come with https://jinfagang.github.io . but please keep this copyright info, thanks, any question could be asked via wechat: jintianiloveu

本文介绍如何构造自己的类coco数据集,并用detectron2来训练并预测。实际上detectron2出来已经有几天了。但这个框架个人感觉离真正工业使用还有点距离,首先第一点是不好部署,其次是相关的其他模型导出支持比较差,比如不支持onnx,同时即便是导出的onnx模型也很难用上一些加速框架进行加速,比如不支持TensorRT。但如果你不是追求速度,用python做推理也是可以的,并且最关键的是,你可以用你的数据集训练你的模型,或者是在这个框架上增加一些自己的修改,看看效果是不是更好之类。

首先看看这个如何来训练自己的数据集。我们今天要用的数据是这个:

wget https://github.com/Tony607/detectron2_instance_segmentation_demo/releases/download/V0.1/data.zip

这篇文章很大借鉴于原作者的一些尝试,感兴趣的朋友可以给他github一个star,人家也不容易。这个data是一个非常非常适合来测试分割的一个微型数据集,小到什么程度?只有那么25张图片。。

1571727354012

类别大概是:

cats: [{'supercategory': 'date', 'id': 1, 'name': 'date'}, {'supercategory': 'fig', 'id': 2, 'name': 'fig'}, {'supercategory': 'hazelnut', 'id': 3, 'name': 'hazelnut'}]

(这里date的意思是枣椰子,fig的意思是无花果,hazelnut是榛子。)

如果你下载好了数据,那么基本上我们可以开始了。大家可以看到这个数据集还有一个trainval.json,完全是按照coco的标注方式来标注的。coco的json格式也是目前比较通用的是instance segmentation 或者是Panoptic segmentation标注格式。

Setup Detectron2

关于如何安装detectron2这里不展开叙述,大家可以按照github给予的步骤来。这里给大家几点提醒:

  • 要python3.6;
  • 要pytorch1.3.

其他的没有了。