自己近期跑了FCN和maskR-CNN网络模型,原作者都是在coco或者是VOC数据集上训练的权重,然后进行识别。其中FCN是用来做语义分割任务的,maskR-CNN采用来双分支结构,同时用来做语义分割和目标检测。
COCO数据集有80个类别,VOC数据集有20个类别。当这些数据集类别中没有自己需要的时候,就需要自己动手做自己的数据集了。
我自己在做数据集的时候主要使用到了labelme和labelImg两个工具。labelme主要是制作语义分割数据集(ImageSets,JPEGImages,SegmentationClass,SegmentationObject几个文件夹),labelImg主要是制作目标检测数据集(主要是Annoations中的xml文件),最后把两个何在一起就可以使用maskR-CNN来训练了。文件结构如下图所示
建议在annoconda中安装。在conda环境中创建和安装labelme的命令如下:
conda create -n labelme python=3.7
activate labelme
pip install pyqt
pip install labelme
然后再环境中直接使用labelme命令打开工具:
点击O