From 7ff29fc478f18dfa82865ae8a02b3877aaf7929e Mon Sep 17 00:00:00 2001 From: huilin <36887207+huilin16@users.noreply.github.com> Date: Tue, 19 Apr 2022 15:43:46 +0800 Subject: [PATCH] [Docs] coco_tools update some description (#60) --- README.md | 1 + docs/data/tools.md | 33 ++++++++++++++++++++----------- tools/coco_tools/json_AnnoSta.py | 18 ++++++++--------- tools/coco_tools/json_Img2Json.py | 8 ++++---- tools/coco_tools/json_ImgSta.py | 10 +++++----- tools/coco_tools/json_InfoShow.py | 5 +++-- tools/coco_tools/json_Merge.py | 8 ++++---- tools/coco_tools/json_Split.py | 8 ++++---- 8 files changed, 52 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 253b39d..b842379 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ PaddleRS是遥感科研院所、相关高校共同基于飞桨开发的遥感处
  • ResizeByShort
  • RandomResizeByShort
  • ResizeByLong
  • +
  • RandomFlipOrRotation
  • RandomHorizontalFlip
  • RandomVerticalFlip
  • Normalize
  • diff --git a/docs/data/tools.md b/docs/data/tools.md index a5ec762..e48181a 100644 --- a/docs/data/tools.md +++ b/docs/data/tools.md @@ -7,6 +7,7 @@ - `mask2geojson`:用于对推理得到的png提取geojson。 - `matcher`:用于在推理前匹配两个时段的影响。 - `spliter`:用于将大图数据进行分割以作为训练数据。 +- `coco_tools`:用于统计处理coco类标注文件。 后期将根据DL和RS/GIS方面的前后处理需求增加更多的工具。 @@ -43,26 +44,23 @@ python mask2shp.py --srcimg_path xxx.tif --mask_path xxx.png [--save_path output 其中: - `srcimg_path`:原始图像的路径,需要带有地理信息,以便为生成的shapefile提供crs等信息。 - - `mask_path`:推理得到的png格式的标签的路径。 - - `save_path`:保存shapefile的路径,默认为`output`。 - - `ignore_index`:忽略生成shp的索引,如背景等,默认为255。 ### mask2geojson - `mask2geojson`的主要功能是将推理得到的png格式的分割结果转换为geojson格式。使用代码如下: +`mask2geojson`的主要功能是将推理得到的png格式的分割结果转换为geojson格式。使用代码如下: - ```shell - python mask2geojson.py --mask_path xxx.tif --save_path xxx.json [--epsilon 0] - ``` +```shell +python mask2geojson.py --mask_path xxx.tif --save_path xxx.json [--epsilon 0] +``` - 其中: +其中: - - `mask_path`:推理得到的png格式的标签的路径。 - - `save_path`:保存geojson的路径。 - - `epsilon`:opencv的简化参数,默认为0。 +- `mask_path`:推理得到的png格式的标签的路径。 +- `save_path`:保存geojson的路径。 +- `epsilon`:opencv的简化参数,默认为0。 ### matcher @@ -92,3 +90,16 @@ python spliter.py --image_path xxx.tif [--block_size 512] [--save_folder output] - `image_path`:需要切分的图像的路径。 - `block_size`:切分图像块大小,默认为512。 - `save_folder`:保存切分后结果的文件夹路径,默认为`output`。 + +### coco_tools + +目前coco_tools共有6个文件,各文件及其功能如下: + +* json_InfoShow: 打印json文件中各个字典的基本信息; +* json_ImgSta: 统计json文件中的图像信息,生成统计表、统计图; +* json_AnnoSta: 统计json文件中的标注信息,生成统计表、统计图; +* json_Img2Json: 统计test集图像,生成json文件; +* json_Split: json文件拆分,划分为train set、val set +* json_Merge: json文件合并,将多个json合并为1个json + +详细使用方法与参数见[coco_tools说明](coco_tools_cn.md) diff --git a/tools/coco_tools/json_AnnoSta.py b/tools/coco_tools/json_AnnoSta.py index bcf93a3..bb8d2fa 100644 --- a/tools/coco_tools/json_AnnoSta.py +++ b/tools/coco_tools/json_AnnoSta.py @@ -8,15 +8,15 @@ ''' @File Description: # json文件annotations信息,生成统计结果csv,对象框shape、对象看shape比例、对象框起始位置、对象结束位置、对象结束位置、对象类别、单个图像对象数量的分布 -!python ./json_annotation_sta.py \ - --json_path=./input/instances_val2017.json \ - --csv_path=./anno_sta/instances_val2017_annotations.csv \ - --png_shape_path=./anno_sta/instances_val2017_annotations_shape.png \ - --png_shapeRate_path=./anno_sta/instances_val2017_annotations_shapeRate.png \ - --png_pos_path=./anno_sta/instances_val2017_annotations_pos.png \ - --png_posEnd_path=./anno_sta/instances_val2017_annotations_posEnd.png \ - --png_cat_path=./anno_sta/instances_val2017_annotations_cat.png \ - --png_objNum_path=./anno_sta/instances_val2017_annotations_objNum.png \ +python ./coco_tools/json_AnnoSta.py \ + --json_path=./annotations/instances_val2017.json \ + --csv_path=./anno_sta/annos.csv \ + --png_shape_path=./anno_sta/annos_shape.png \ + --png_shapeRate_path=./anno_sta/annos_shapeRate.png \ + --png_pos_path=./anno_sta/annos_pos.png \ + --png_posEnd_path=./anno_sta/annos_posEnd.png \ + --png_cat_path=./anno_sta/annos_cat.png \ + --png_objNum_path=./anno_sta/annos_objNum.png \ --get_relative=True ''' import os diff --git a/tools/coco_tools/json_Img2Json.py b/tools/coco_tools/json_Img2Json.py index 0f423cd..fd93db5 100644 --- a/tools/coco_tools/json_Img2Json.py +++ b/tools/coco_tools/json_Img2Json.py @@ -8,10 +8,10 @@ ''' @File Description: # 根据test影像文件夹生成test.json -!python ./json_getTest.py \ - --test_image_path=./input/img_test \ - --json_train_path=./output/instances_val2017.json \ - --json_test_path=./output/instances_test.json +python ./coco_tools/json_Img2Json.py \ + --test_image_path=./test2017 \ + --json_train_path=./annotations/instances_val2017.json \ + --json_test_path=./test.json ''' import os, cv2 import json diff --git a/tools/coco_tools/json_ImgSta.py b/tools/coco_tools/json_ImgSta.py index 7db6964..a315148 100644 --- a/tools/coco_tools/json_ImgSta.py +++ b/tools/coco_tools/json_ImgSta.py @@ -8,11 +8,11 @@ ''' @File Description: # 统计json文件images信息,生成统计结果csv,同时生成图像shape、图像shape比例的二维分布图 -!python ./json_images_sta.py \ - --json_path=./input/instances_val2017.json \ - --csv_path=./img_sta/instances_val2017_images.csv \ - --png_shape_path=./img_sta/instances_val2017_images_shape.png \ - --png_shapeRate_path=./img_sta/instances_val2017_images_shapeRate.png +python ./coco_tools/json_ImgSta.py \ + --json_path=./annotations/instances_val2017.json \ + --csv_path=./img_sta/images.csv \ + --png_shape_path=./img_sta/images_shape.png \ + --png_shapeRate_path=./img_sta/images_shapeRate.png ''' import json diff --git a/tools/coco_tools/json_InfoShow.py b/tools/coco_tools/json_InfoShow.py index 32ee543..50e1df7 100644 --- a/tools/coco_tools/json_InfoShow.py +++ b/tools/coco_tools/json_InfoShow.py @@ -8,8 +8,9 @@ ''' @File Description: # 输出json文件基本信息 -!python ./json_infoShow.py \ - --json_path=./input/instances_val2017.json +python ./coco_tools/json_InfoShow.py \ + --json_path=./annotations/instances_val2017.json \ + --show_num 5 ''' import json diff --git a/tools/coco_tools/json_Merge.py b/tools/coco_tools/json_Merge.py index 290abd3..b1e96a2 100644 --- a/tools/coco_tools/json_Merge.py +++ b/tools/coco_tools/json_Merge.py @@ -8,10 +8,10 @@ ''' @File Description: # 合并json文件,可以通过merge_keys控制合并的字段, 默认合并'images', 'annotations'字段 -!python ./json_merge.py \ - --json1_path=./input/instances_train2017.json \ - --json2_path=./input/instances_val2017.json \ - --save_path=./output/instances_trainval2017.json +python ./coco_tools/json_Merge.py \ + --json1_path=./annotations/instances_train2017.json \ + --json2_path=./annotations/instances_val2017.json \ + --save_path=./instances_trainval2017.json ''' import json diff --git a/tools/coco_tools/json_Split.py b/tools/coco_tools/json_Split.py index d4a3747..a35c360 100644 --- a/tools/coco_tools/json_Split.py +++ b/tools/coco_tools/json_Split.py @@ -8,10 +8,10 @@ ''' @File Description: # json数据集划分,可以通过val_split_rate、val_split_num控制划分比例或个数, keep_val_inTrain可以设定是否在train中保留val相关信息 -!python ./json_split.py \ - --json_all_path=./input/instances_val2017.json \ - --json_train_path=./output/instances_val2017_split1.json \ - --json_val_path=./output/instances_val2017_split2.json +python ./coco_tools/json_Split.py \ + --json_all_path=./annotations/instances_val2017.json \ + --json_train_path=./instances_val2017_train.json \ + --json_val_path=./instances_val2017_val.json ''' import json