analyze: 数据集分析脚本statistics_classnames.py: 统计数据集的类别名称,支持coco、pascalvoc、yolo、dota格式
convert: 数据集格式转化coco2voc.py: coco格式转pascal voc格式coco2dota.py: coco格式转dota格式coco2yolo.py: coco格式转yolo格式dota2yolo.py: dota格式转yolo格式,选取四边形的最小外接正矩形作为box框voc2dota.py: voc格式转dota格式voc2yolo.py: voc格式转yolo格式yolo2dota.py: yolo格式转dota格式fair1m2dota.py: fair1m格式转dota格式sodaa2dota.py: SODA-A数据集格式转dota格式dota2rolabellmg.py: dota格式转rolabellmg的旋转框格式csv2dota.py: csv标签文件转dota格式dota2shp.py: dota格式转.shp矢量文件格式sodaa2dota.py: SODA-A数据集格式转dota格式nwpu2dota.py: WPU VHR-10的数据格式转dota格式hrcs20162dota.py: HRCS2016数据集格式转dota格式(旋转框)hrcs20162voc.py: HRCS2016数据集格式转pascal voc格式(水平框)
plot: 画框,将标签文件的内容画到原图上draw_box_label.py: 画框,可支持yolo和dota格式
split: 数据集裁切split_dataset_by_image.py: 根据图片的路径随机采样拆分数据集,在数据集根目录下生成train.txt、val.txt、trainval.txt和test.txt,其中的每行内容是图片的绝对路径split_vocdataset.py: 根据voc标签文件的名称随机采样拆分数据集,在数据集根目录的ImageSets/Main文件夹下生成train.txt、val.txt、trainval.txt和test.txt,其中的每行内容是标签文件名称(不带拓展名)- cut
dota_gap_split.py: dota格式数据集裁剪
scripts: 工具一起使用的脚本plot_csv_dota_label.sh: 将dota的csv文件转成dota的标签格式,并将标签画到原图上,用于测试集的展示
split/cut/dota_gap_split.py
裁剪的逻辑:先根据缩放因子对图片进行缩放,然后进行裁剪。
参数描述
dataset-dir: 数据集的根目录,必填项gap: 裁剪时,子图宽和高部分重叠的像素面积,默认值为200subsize: 子图的像素尺寸,即分辨率,默认值为1024scale: 原图缩放因子image-dirname: 数据集根目录下存放图片的文件夹名称,默认值为imageslabel-dirnam: 数据集根目录下存放标签的文件夹名称,默认值为labelTxtoutput-path: 裁剪结果输出的路径,默认值为运行脚本的路径下的split文件夹中save-ext: 裁剪图片文件保存的拓展名,默认值为.pngnosave-empty: 裁切的图片中可能没有标签,是否不保存空标签的图片和标签文件,默认值为false,即保存空文件workers: 进程数量,默认值为4
DOTA_subsize1024_gap200_rate1.0裁剪
python split/cut/dota_gap_split.py --dataset-dir path/to/dataset \
--gap 200 \
--subsize 1024 \
--rate 1.0 \
--output-path path/to/output \
--nosave-empty脚本目前只支持目标检测数据的格式转化,其他任务的格式转化,如实例分割和关键点,待后续完善。
参数描述
dataset-dir: 数据集的根目录,必填项trainimg-dirname: 数据集根目录下训练集图片存放的文件夹名称,默认值为train2017valimg-dirname: 数据集根目录下验证集图片存放的文件夹名称,默认值为val2017trainjson-filename: 数据集根目录下annotations文件夹中训练集的标签文件名称,默认值为instances_train2017.jsonvaljson-filename: 数据集根目录下annotations文件夹中验证集的标签文件名称,默认值为instances_val2017.jsonoutput-dir: 数据输出的路径,默认值为None, 即只会移动图片并将生成的yolo标签整合成yolo格式。若指定了路径,则会产生图片复制,增加硬盘空间的占用。
coco2017数据集转yolo
python convert/coco2yolo.py --dataset-dir path/to/dataset \
--trainimg-dirname train2017 \
--valimg-dirname val2017 \
--trainjson-filename instances_train2017.json \
--valjson-filename instances_val2017.json参数描述
dataset-dir: 数据集的根目录,必填项image-dirname: 数据集根目录下存放图片的文件夹名称,默认值为imageslable-dirname: 数据集根目录下存放标签的文件夹名称,默认值为labelTxtdifficult-thres: difficult阈值,大于阈值的标签会杯过滤掉,不记录。默认的值为1,即大一1的difficult值的标签都会被过滤掉
dota数据集转yolo
python convert/dota2yolo.py --dataset-dir path/to/dataset \
--image-dirname images \
--label-dirname labelTxt \
--difficult-thres 1数据集根目录下需要提供一个class.txt文件,其中内容为标签的类别名称,一行一个类别名称, 转化的过程中只会保留class.txt文件中出现
过的标签名称。
参数描述
dataset-dir: 数据集的根目录,必填项obb: 是否转化.xml标签文件中的obb标签,默认为False,即值转化水平框标签
voc数据集转yolo
python convert/voc2yolo.py --dataset-dir path/to/dataset

