You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

4.6 KiB

工具箱

工具箱位于tools文件夹下,目前有如下工具:

  • coco2mask:用于将geojson格式的分割标注标签转换为png格式。
  • mask2shp:用于对推理得到的png提取shapefile。
  • mask2geojson:用于对推理得到的png提取geojson。
  • geojson2mask:用于从geojson和原图中提取mask作为训练标签。
  • matcher:用于在推理前匹配两个时段的影响。
  • spliter:用于将大图数据进行分割以作为训练数据。
  • coco_tools:用于统计处理coco类标注文件。

后期将根据DL和RS/GIS方面的前后处理需求增加更多的工具。

如何使用

首先需要clone此repo并进入到tools的文件夹中:

git clone https://github.com/PaddleCV-SIG/PaddleRS.git
cd PaddleRS\tools

coco2mask

coco2mask的主要功能是将图像以及对应json格式的分割标签转换为图像与png格式的标签,结果会分别存放在imggt两个文件夹中。相关的数据样例可以参考中国典型城市建筑物实例数据集。保存结果为单通道的伪彩色图像。使用代码如下:

python coco2mask.py --raw_folder xxx --save_folder xxx

其中:

  • raw_folder:存放原始数据的文件夹,图像存放在images文件夹中,标签以xxx.json进行保存。
  • save_folder:保存结果文件的文件夹,其中图像保存在img中,png格式的标签保存在gt中。

mask2shp

mask2shp的主要功能是将推理得到的png格式的分割结果转换为shapefile格式,其中还可以设置不生成多边形的索引号。使用代码如下:

python mask2shp.py --srcimg_path xxx.tif --mask_path xxx.png [--save_path output] [--ignore_index 255]

其中:

  • srcimg_path:原始图像的路径,需要带有地理信息,以便为生成的shapefile提供crs等信息。
  • mask_path:推理得到的png格式的标签的路径。
  • save_path:保存shapefile的路径,默认为output
  • ignore_index:忽略生成shp的索引,如背景等,默认为255。

mask2geojson

mask2geojson的主要功能是将推理得到的png格式的分割结果转换为geojson格式。使用代码如下:

python mask2geojson.py --mask_path xxx.tif --save_path xxx.json [--epsilon 0]

其中:

  • mask_path:推理得到的png格式的标签的路径。
  • save_path:保存geojson的路径。
  • epsilon:opencv的简化参数,默认为0。

geojson2mask

geojson2mask的主要功能是从原图和geojson文件中提取mask图像。使用代码如下:

python  geojson2mask.py --image_path xxx.tif --geojson_path xxx.json

其中:

  • image_path:原图像的路径。
  • geojson_path:geojson的路径。

matcher

matcher的主要功能是在进行变化检测的推理前,匹配两期影像的位置,并将转换后的im2图像保存在原地址下,命名为im2_M.tif。使用代码如下:

python matcher.py --im1_path xxx.tif --im2_path xxx.xxx [--im1_bands 1 2 3] [--im2_bands 1 2 3]

其中:

  • im1_path:时段一的图像路径,该图像需要存在地理信息,且以该图像为基准图像。
  • im2_path:时段二的图像路径,该图像可以为非遥感格式的图像,该图像为带匹配图像。
  • im1_bands:时段一图像所用于配准的波段,为RGB或单通道,默认为[1, 2, 3]。
  • im2_bands:时段二图像所用于配准的波段,为RGB或单通道,默认为[1, 2, 3]。

spliter

spliter的主要功能是在划分大的遥感图像为图像块,便于进行训练。使用代码如下:

python spliter.py --image_path xxx.tif [--mask_path None] [--block_size 512] [--save_folder output]

其中:

  • image_path:需要切分的图像的路径。
  • mask_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说明