Detectron2如何为进行简单训练项目?

摘要:Detectron2 官方文档里的 Getting Started 提供了两种使用 detectron2 的样例。其一是读者大概率已经阅读过的 Colab Notebook ——骑马王子和气球检测,其二是使用命令行执行的 python 文件
Detectron2 官方文档里的 Getting Started 提供了两种使用 detectron2 的样例。其一是读者大概率已经阅读过的 Colab Notebook ——骑马王子和气球检测,其二是使用命令行执行的 python 文件,包括演示文件 demo.py 及自行用于部署的 train_net.py & plain_train_net.py 。Notebook 已述明使用 Mask-RCNN 进行 mask detection 的简单步骤,包括注册数据集、配置 config 以及训练和验证、可视化结果。由于人力标注费力的原因,自行标注的数据集通常只有目标物体 box 而未标注 mask,因此需使用 Faster-RCNN 进行训练,有关代码可参考 Medium 文章 以及其 代码。 本篇参考 文章 ,简述 python 文件 + 命令行执行的项目部署方法,以便于在 GPU 服务器端运行。 目录一览 本项目部署目录如下: Project --configs ----COCO-Detection faster_rcnn_R_50_FPN_3x.yaml # 官方代码库 copy Base-RCNN-FPN.yaml # 同上 my_config.yaml # 自己的训练配置文件 --tools train_net.py # 官方代码库 copy 并自行修改 train.sh train_resume.sh eval.sh --utils txt2coco.py # 将自己的数据集转化为标准 coco 数据集 数据集目录如下: MyDataset --train 01_00001.jpg # 图片名无所谓 ... --val ... train.json # 位置自行决定 val.json 数据集注册 使用 CocoFormat 的数据集是最优雅的做法,当然你也可以按照官方给定的方法在 tools/rain_net.py 中自定义数据集。关于 csv/voc/labelme 等格式向 coco 格式的转化,可以参考 Github 的代码。本文 utils/txt2coco.py 基于上述代码将自行标注的 txt 格式数据转化为了 coco 格式。
阅读全文