实例分割手动标注
有关数据集导入,导出,训练/验证/测试集划分步骤请参快速开始文档
PaddleLabel 将语义分割和实例分割视为两种项目类型,目前二者之间不支持转换。在语义分割项目中,每个像素将有一个分类,表示其为背景或前景中的某一类别。实例分割项目在逐像素分类的基础上给每个像素一个实例 id,即不仅区分像素所属类别,而且区分同一类别下像素属于哪个实例。
PaddleLabel 支持多种分割数据集格式,各种类型的数据集导入后都可以使用多边形和笔刷两种标注工具。数据集导出时
- 如果导出掩膜格式,多边形标注会被转换成掩模格式
- 如果导出多边形格式,会跳过所有掩膜格式标注
数据结构
掩膜格式
v0.1.0+
样例格式如下:
数据集路径
├── Annotations
│ ├── A0001.tif
│ ├── B0001.tif
│ ├── H0002.tif
│ └── ...
├── JPEGImages
│ ├── A0001.jpg
│ ├── B0001.png
│ ├── H0002.bmp
│ └── ...
├── labels.txt
├── test_list.txt
├── train_list.txt
└── val_list.txt
# labels.txt
background -
optic_disk - 128 0 0 // 对于伪彩色掩膜,需要按此结构提供每个类别的颜色。灰度掩膜的id默认为从0开始依次递增
多边形格式
v0.1.0+
样例格式如下:
数据集路径
├── image
│ ├── 0001.jpg
│ ├── 0002.jpg
│ ├── 0003.jpg
│ └── ...
├── train.json
├── val.json
└── test.json
COCO 文件的格式如下:
{
"info": info,
"images": [image],
"annotations": [annotation],
"licenses": [license],
"categories": [category],
}
image{
"id": int,
"width": int,
"height": int,
"file_name": str,
"license": int,
"flickr_url": str,
"coco_url": str,
"date_captured": datetime,
}
annotation{
"id": int,
"image_id": int,
"category_id": int,
"segmentation": RLE or [polygon],
"area": float,
"bbox": [x,y,width,height],
"iscrowd": 0 or 1,
}
category{
"id": int,
"name": str,
"supercategory": str,
"color": str // this feature is specific to PP Label. It's not in the coco spec.
}
数据标注
多边形标注
- 点击右侧“添加标签”,填写信息并创建标签
- 选择一个标签,点击左侧工具栏的“多边形”,在图像界面上点击需要标注的物体轮廓,形成多边形包围物体,实例分割可以反复选择同一标签标注不同的实例,需要修改多边形可以点击左侧工具栏的“编辑”进行修改
- 标注完成一个实例后,点击右上角”确定轮廓”进行实例确认
- 点击左右按钮切换图像,重复上述操作,直到所有数据标注完毕
- 下方进度展示可以查看标注进度
掩膜标注
- 点击右侧“添加标签”,填写信息并创建标签
- 选择一个标签,点击左侧工具栏的“笔刷”(鼠标悬浮可以修改笔刷大小),在图像界面上按住鼠标左键绘制需要标注的物体内部,实例分割可以反复选择同一标签标注不同的实例,,需要删除掩膜可以点击左侧工具栏的“橡皮擦”进行修改
- 标注完成一个实例后,点击右上角”确定轮廓”进行实例确认
- 点击左右按钮切换图像,重复上述操作,直到所有数据标注完毕
- 下方进度展示可以查看标注进度
下一步
您可以继续浏览交互式分割使用方法了解如何使用 PaddleLabel-ML 提高语义分割标注效率。