/toolbox

various tools such as label-tools , data-augmentation , etc.

Primary LanguageJupyter Notebook

toolbox

All kinds of utils for format convertion or something else (described in readme files)
Each python file matches some samples inside.
More details are marked in the python files as annotation or README.md file inside the folder.

converter

Some conversion files included here,I'll update it if necessary.

  • txt2voc
    The tool inside helps you to conver txt in certain format to voc format.
    Provided txt labels ground truth in form of NWPU VHR-10 , it's not a hard job to change related code for your owm labels.
    NWPU VHR-10's label is showed as follow:
2,(270,296),(358,685)
2,(366,278),(453,661)
4,(541,633),(727,698)
  • voc2txt
    User-friendly work for extracting imformation from xml files. And an example is attached for better understanding.
  • labelme2coco
    It's a bit hard to finish this work , cause the widespread wrong version about it , I hate plagiarism :)
    This tool helps you to convert json file created by labelme to COCO style for training.
    Attentions:
    1.If you want to label the segmentation mask , there is no need to label bbox!(Or bugs arised)
    2.When using labelme , pls named mask according to COCO format,such as vehicle_car_1.(supercategory,category,instance id)
  • voc2coco
  • xml2yolo
    Yolo format: class_id + Normalized xywh (id markded from 0) for each row.
    Supported xml style: VOC, HRSC(8 points & rotated)
  • icdar2yolo
    For challenge 4, trans polygon to rbox in yolo format.(btw, challenge1 labeled w.o rotation!)
  • icdar2voc
    trans from IC15 to VOC format.
  • dota2xml

dataset

  • DOTA_devkit

    Toolkits for DOTA datasets, with some annotations and modification attached. (Images are deleted for portability, examples can be found in official codebase)

  • dataset_partition
    Dataset partition for train, val, test part.
    mark: x2 means train + val, x3 means train + val + test.
    Remember to enlarge val & test set if your dataset is tiny. (such as 6:2:2)

  • subdataset_generation
    Division of subset from total dataset, used for hyperparameter adjust.
    (you can regard it as x1 dataset_partition)

  • generate_imageset
    Generate trainval setting files.
    (Two mode included:yolo and voc)

  • operate_on_datasets
    Operations on dataset , such as copy, label matching.

rotation

codes for rotational object detection.

data augmentation

  • augmentation
    Various kinds of data augmentation implementions as well as some demos are concluded inside .
  • img_aug
    Strongly recommended! Various tools for augmentation and easy to get started.

drawbox

  • drawbox
    Useful tool for drawing bbox through providied points.The only customed part is your points obtaining function.

mAP

Support rbox evaluation and mAP calculation for object detection.

matplotlib

Provided a template for plotting 2D and 3D figure.

excel

Simple examples for excel files processing via pandas.

log_show

Visualization for training log files.

spider

Easy implemention for crawling info from website.

visualization

Feature visualization tools.

Plug-and-play

  • asff-fpn
  • bam-attention

other tools

  • visdom-train-example
    A example for training while monitoring on loss and ac curve.More details and attention have been attached to file inside.

  • python-cmd
    Linux command execution through python file , provided as a easy but sufficient demo.
    Beside,exec commond also helps for many cases ,take good use of it.(such as drawing pictures)

  • crop_bbox_and_save
    Crop bbox area from raw image and save for other usage.

  • K-means
    K-means implement for box clustering.

  • zip
    zip and unzip files.