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