mirror of
https://github.com/open-mmlab/mmyolo.git
synced 2025-06-03 15:00:20 +08:00
61 lines
2.0 KiB
Markdown
61 lines
2.0 KiB
Markdown
|
# 提取 COCO 子集
|
||
|
|
||
|
COCO2017 数据集训练数据集包括 118K 张图片,验证集包括 5K 张图片,数据集比较大。在调试或者快速验证程序是否正确的场景下加载 json 会需要消耗较多资源和带来较慢的启动速度,这会导致程序体验不好。
|
||
|
|
||
|
`extract_subcoco.py` 脚本提供了按指定图片数量、类别、锚框尺寸来切分图片的功能,用户可以通过 `--num-img`, `--classes`, `--area-size` 参数来得到指定条件的 COCO 子集,从而满足上述需求。
|
||
|
|
||
|
例如通过以下脚本切分图片:
|
||
|
|
||
|
```shell
|
||
|
python tools/misc/extract_subcoco.py \
|
||
|
${ROOT} \
|
||
|
${OUT_DIR} \
|
||
|
--num-img 20 \
|
||
|
--classes cat dog person \
|
||
|
--area-size small
|
||
|
```
|
||
|
|
||
|
会切分出 20 张图片,且这 20 张图片只会保留同时满足类别条件和锚框尺寸条件的标注信息, 没有满足条件的标注信息的图片不会被选择,保证了这 20 张图都是有 annotation info 的。
|
||
|
|
||
|
注意: 本脚本目前仅仅支持 COCO2017 数据集,未来会支持更加通用的 COCO JSON 格式数据集
|
||
|
|
||
|
输入 root 根路径文件夹格式如下所示:
|
||
|
|
||
|
```text
|
||
|
├── root
|
||
|
│ ├── annotations
|
||
|
│ ├── train2017
|
||
|
│ ├── val2017
|
||
|
│ ├── test2017
|
||
|
```
|
||
|
|
||
|
1. 仅仅使用 5K 张验证集切分出 10 张训练图片和 10 张验证图片
|
||
|
|
||
|
```shell
|
||
|
python tools/misc/extract_subcoco.py ${ROOT} ${OUT_DIR} --num-img 10
|
||
|
```
|
||
|
|
||
|
2. 使用训练集切分出 20 张训练图片,使用验证集切分出 20 张验证图片
|
||
|
|
||
|
```shell
|
||
|
python tools/misc/extract_subcoco.py ${ROOT} ${OUT_DIR} --num-img 20 --use-training-set
|
||
|
```
|
||
|
|
||
|
3. 设置全局种子,默认不设置
|
||
|
|
||
|
```shell
|
||
|
python tools/misc/extract_subcoco.py ${ROOT} ${OUT_DIR} --num-img 20 --use-training-set --seed 1
|
||
|
```
|
||
|
|
||
|
4. 按指定类别切分图片
|
||
|
|
||
|
```shell
|
||
|
python tools/misc/extract_subcoco.py ${ROOT} ${OUT_DIR} --classes cat dog person
|
||
|
```
|
||
|
|
||
|
5. 按指定锚框尺寸切分图片
|
||
|
|
||
|
```shell
|
||
|
python tools/misc/extract_subcoco.py ${ROOT} ${OUT_DIR} --area-size small
|
||
|
```
|