Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleX
提交
3d2e96c9
P
PaddleX
项目概览
PaddlePaddle
/
PaddleX
通知
138
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
43
列表
看板
标记
里程碑
合并请求
5
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleX
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
43
Issue
43
列表
看板
标记
里程碑
合并请求
5
合并请求
5
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3d2e96c9
编写于
3月 28, 2020
作者:
L
LaraStuStu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Create 2_[目标检测]和[实例分割]任务数据标注.md
上级
47283cef
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
133 addition
and
0 deletion
+133
-0
DataAnnotation/AnnotationNote/2_[目标检测]和[实例分割]任务数据标注.md
DataAnnotation/AnnotationNote/2_[目标检测]和[实例分割]任务数据标注.md
+133
-0
未找到文件。
DataAnnotation/AnnotationNote/2_[目标检测]和[实例分割]任务数据标注.md
0 → 100644
浏览文件 @
3d2e96c9
## 2. 使用LabelMe标注「目标检测」及「实例分割」任务数据
### 2.1 准备工作
*
**2.1.1**
对收集的图像划分为训练、验证(非必须)、测试三个部分的数据集,分别存放于对应的文件夹中。
*
**2.1.2**
创建与图像文件夹相对应的文件夹,用于存储标注的json文件。
*
**2.1.3**
点击”Open Dir“按钮,选择需要标注的图像所在的文件夹打开,则”File List“对话框中会显示所有图像所对应的绝对路径。
### 2.2 目标检测标注
*
**2.2.1**
打开矩形框标注工具,具体如下图所示
<div
align=
center
><img
width=
"800"
height=
"450"
src=
"./pics/detection1.png"
/></div>
*
**2.2.2**
使用拖拉的方式对目标物体进行标识,并在弹出的对话框中写明对应label(当label已存在时点击即可),具体如下图所示:
<div
align=
center
><img
width=
"800"
height=
"450"
src=
"./pics/detection3.png"
/></div>
当框标注错误时,可点击右侧的“Edit Polygons”再点击标注框,通过拖拉进行修改,也可再点击“Delete Polygon”进行删除。
*
**2.2.3**
点击右侧”Save“,将标注结果保存到
***2.1.1**
*
中创建的文件夹中
【注意】当所使用的模型是类似Mask R-CNN这类模型时,虽是目标检测模型,但却需要实例分割信息,具体参见
***2.3**
*
。
### 2.3 实例分割标注
*
**2.3.1**
点击右侧的“Create Polygons”以打点的方式圈出目标的轮廓,并在弹出的对话框中写明对应label(当label已存在时点击即可),具体如下提所示:
<div
align=
center
><img
width=
"800"
height=
"450"
src=
"./pics/detection2.png"
/></div>
当框标注错误时,可点击右侧的“Edit Polygons”再点击标注框,通过拖拉进行修改,也可再点击“Delete Polygon”进行删除。
*
**2.3.2**
点击右侧”Save“,将标注结果保存到
***2.1.1**
*
中创建的文件夹中。
【注意】
***2.2.2**
*和*
**2.3.1**
*
中在在定义label名字时,都用英文命名,同时在名字后加上“_0”或“_1”分别代表目标是一个对象(iscrowd=0)还是一组对象(iscrowd=1)。一个对象表示能用一个矩形框(或大于等于一个多边形框)就能将一个独立对象表示出来,当需要使用多个多边形来表示一个对象时,在“_0”后加上同一个数字代表同一个对象;一组对象表示同一类型对象联系太紧密只能用一个矩形框(或一个多边形框)将一组对象圈出来。例如下图在进行目标检测标注时,水果单堆分割成一个个水果较不容易,所以将其定义为一组水果对象,label定为“fruit_1” ;在进行实例分割标注时,装饰品无法用一个多边形框表示出来,所以使用3个label为“decoration_00”的多边形表示。
<div
align=
center
><img
width=
"800"
height=
"450"
src=
"./pics/detection4.png"
/></div>
## 2.4 对LabelMe标注数据的转换
目标检测中常用的数据集是COCO数据集,由于LabelMe标注的结果是.json文件与图像文件一一对应,而COCO数据集的标注文件则是一个数据集对应一个,所以需要将LabelMe数据集转换为COCO数据集格式。
COCO的数据目录结构如下:
```
data/mydataset/
|-- annotations
|-- instance_train.json
|-- instance_test.json
|-- instance_val.json
|-- train
|-- test
|-- val
```
其中,
`annotations`
用于存放.json文件,
`train\test\val`
用于存放图像文件。
针对训练、验证(非必须)、测试三个部分的数据集,分别在命令行中执行下述命令进行转换:
```
cmd
# 进入Anaconda环境后,安装下述python包
# 安装numpy
pip install numpy
# 安装PIL
pip install Pillow
# 转换
cd ./DataAnnotation
python ./labelme2coco.py \
--image_input_dir ~/Users/image/ \
--json_input_dir ~/Users/json/ \
# --image_input_dir:3.1.1的步骤一中创建的图像文件夹路径
# --json_input_dir:image_input_dir所对应的存放LabelMe标注文件的文件夹路径
# 最终转换的json文件存放在image_input_dir父目录下的anatations文件夹下
```
转换后的标注文件为每个数据集(训练或验证(非必须)或测试)分别对应一个.json文件。转换后的.json文件的合适如下所示:
```
python
info
{
"year"
:
int
,
"version"
:
str
,
"description"
:
str
,
"contributor"
:
str
,
"url"
:
str
,
"date_created"
:
datetime
,
}
license
[
{
"id"
:
int
,
"name"
:
str
,
"url"
:
str
,
},
...
]
//
以上信息对目标检测作用不大
,
所以并未转换
image
[
{
"id"
:
int
,
"width"
:
int
,
"height"
:
int
,
"file_name"
:
str
},
...
]
categories
[
{
"supercategory"
:
str
,
"id"
:
int
,
"naeme"
:
str
},
...
]
annotation
[
{
"id"
:
int
,
"image_id"
:
int
,
"category_id"
:
int
,
"segmentation"
:
list
,
"area"
:
float
,
"bbox"
:
[
x
,
y
,
width
,
height
],
"iscrowd"
:
0
or
1
,
},
...
]
```
相关标签含义:
|标签|备注|
|-----|-----|
|image/width| 图像宽度|
|image/height| 图像高度|
|image/file_name| 图像在文件夹中的名字|
|categories/supercategory| 父类名字|
|categories/name| 类别名字|
|annotation/segmentation| 横纵坐标点构成的list|
|annotation/area| 目标框面积的大小|
|annotation/bbox| 目标矩形框的左上角坐标及矩形宽高|
|annotation/iscrowd| 表示目标是否是一组对象|
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录