Skip to content
This repository was archived by the owner on Nov 2, 2024. It is now read-only.

Commit 2725011

Browse files
committed
docs(data): 创建数据集
1. 提取汽车类别 2. 创建微调数据集 3. 创建分类器数据集
1 parent d0f298f commit 2725011

File tree

2 files changed

+123
-0
lines changed

2 files changed

+123
-0
lines changed

docs/数据集创建.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
2+
# 数据集创建
3+
4+
本工程最终目标是实现一个汽车检测器,在训练过程中需要依次实现以下数据集
5+
6+
1.`VOC`数据集中提取汽车类别
7+
2. 创建微调数据集
8+
3. 创建分类器数据集
9+
10+
**Note 1:有关数据集创建程序均位于`py/utils/data/`目录**
11+
12+
**Note 2:本次实验使用`VOC 2007`数据集**
13+
14+
## PSACAL VOC 2007
15+
16+
参考:[[数据集]PASCAL VOC 2007](https://blog.zhujian.life/posts/5a56cd45.html)
17+
18+
## 从VOC数据集中提取汽车类别
19+
20+
### python文件:
21+
22+
1. `pascal_voc.py`
23+
2. `pascal_voc_car.py`
24+
25+
下载并完成解析操作后,可从`VOCdevkit/VOC2007/ImageSets/Main`目录下查找`car_train.txt``car_val.txt`文件,里面保存了相关的汽车类别图像名
26+
27+
### 数据集格式
28+
29+
创建得到数据集`voc_car`,其格式如下:
30+
31+
```
32+
├── train
33+
│   ├── Annotations
34+
│   ├── car.csv
35+
│   └── JPEGImages
36+
└── val
37+
├── Annotations
38+
├── car.csv
39+
└── JPEGImages
40+
```
41+
42+
## 创建微调数据集
43+
44+
### python文件:
45+
46+
* `create_finetune_data.py`
47+
48+
通过选择性搜索算法的质量模式获取候选建议,然后计算候选建议与标注边界框的`IoU`
49+
50+
1. 正样本:`IoU`大于等于`0.5`
51+
2. 负样本:剩余的候选区域
52+
53+
在代码实现中,为了进一步减小负样本数据集,我修改了负样本判定规则
54+
55+
* 副样本(修改后):`IoU`大于`0`,小于`0.5`。为了进一步限制负样本数目,其大小必须大于标注框的`1/5`
56+
57+
### 数据集格式
58+
59+
创建得到数据集`finetune_car`,其格式如下:
60+
61+
```
62+
├── train
63+
│   ├── Annotations
64+
│   ├── car.csv
65+
│   └── JPEGImages
66+
└── val
67+
├── Annotations
68+
├── car.csv
69+
└── JPEGImages
70+
```
71+
72+
训练集和验证集的正负样本个数如下:
73+
74+
```
75+
# train
76+
# positive num: 66517
77+
# negatie num: 464340
78+
# val
79+
# positive num: 64712
80+
# negative num: 415134
81+
```
82+
83+
## 创建分类器数据集
84+
85+
### python文件:
86+
87+
* `create_classifier_data.py`
88+
89+
通过选择性搜索算法的质量模式获取候选建议,然后计算候选建议与标注边界框的`IoU`
90+
91+
1. 正样本:标注边界框
92+
2. 负样本:`IoU`小于`0.3`的候选区域
93+
94+
在代码实现中,为了进一步减小负样本数据集,我修改了负样本判定规则
95+
96+
* 副样本(修改后):`IoU`大于`0`,小于`0.3`。为了进一步限制负样本数目,其大小必须大于标注框的`1/5`
97+
98+
### 数据集格式
99+
100+
创建得到数据集`classifier_car/`,其格式如下:
101+
102+
```
103+
├── train
104+
│   ├── Annotations
105+
│   ├── car.csv
106+
│   └── JPEGImages
107+
└── val
108+
├── Annotations
109+
├── car.csv
110+
└── JPEGImages
111+
```
112+
113+
训练集和验证集的正负样本个数如下:
114+
115+
```
116+
# train
117+
# positive num: 625
118+
# negative num: 366028
119+
# val
120+
# positive num: 625
121+
# negative num: 321474
122+
```

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ extra_javascript:
3131
nav:
3232
- Home: index.md
3333
- 工程解析: './工程解析.md'
34+
- 数据集创建: './数据集创建.md'
3435
- '算法解析': './算法解析.md'
3536
- '数据集':
3637
- '创建': './create_data.md'

0 commit comments

Comments
 (0)