Code Monkey home page Code Monkey logo

dotadevkit's Introduction

DOTA Devkit

PyPi License Python Version Code style: black

About

This is a modified version of the original DOTA_Devkit. The devkit has had some issues regarding ease of installation and usage with the latter being a significant problem. This repo attemps to address these issues by providing a simple CLI for easier usage and cross-platform whls for easier installation.

Disclaimer: This repo was created post 9938855. The DOTA authors could update the original repo and/or add support for (possible) new versions of the DOTA dataset. While this repo will try to remain in sync with the original, users should rely on the original should the repos diverge.

Installation

pip install dotadevkit

Usage

Once installed, you will have access to the dotadevkit CLI. Run dotadevkit --help or dotadevkit <command> --help for further details.

Usage: dotadevkit [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  convert    Convert tiled DOTA annotations to COCO format.
  evaluate   Run evaluation for both tasks on DOTA & DOTA 1.5.
  merge      Merges annotations according to DOTA Tasks.
  split      Splits images and annotations.
  visualise  Visualise annotations.

Your dataset directory should look as follows:

.
├── example
│   ├── images
│   ├── labelTxt
│   ├── images.txt

Refer example directory in this repo for a concrete example

Split

  1. Split only images with 8 processes
 dotadevkit split \
        ./example/images \
        ./example_split/images \
        8 \
        --images
  1. Split images and labelTxt into tiles of size 800 x 800 with overlap of 200 pixels with 8 processes
 dotadevkit split \
        ./example/ \
        ./example_split/ \
        8 \
        800 \
        200 

Merge

 dotadevkit merge \
        ./example_split/dota_dets \
        ./example_split/merged_dets \
        8

Evaluate

DOTA evaluation on specific task and dataset version.

 dotadevkit evaluate \
        ./example_split/merged_dets/Task1_{:s}.txt \
        ./example/labelTxt/{:s}.txt \
        ./example/images.txt \
        1.0

Visualise

Visualise images that have plane and helicopter categories.

 dotadevkit visualise \
        ./example_split/ \
        -cat plane -cat helicopter

Convert

Convert tiled DOTA annotations of specified version to MS-COCO format.

 dotadevkit convert \
        ./example_split/ \
        --version 1.0

dotadevkit's People

Contributors

ashnair1 avatar dingjiansw101 avatar imgbot[bot] avatar imgbotapp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dotadevkit's Issues

split image with scale=.5

i tried to split images with scale=0.5 but it didnt work and used scale=1
thanks for you help in advance

Visualiser support

dotadevkit does not currently support visualisation via the CLI. Need to support this.

import _polyiou ModuleNotFoundError: No module named ‘_polyiou‘

I have a big problem and already tried many ways to find a solution for this error, but it still remains in my codes.
I am trying to reimplement the " BBAVectors-Oriented-Object-Detection" and firstly used "DOTA_devkit" but always facing
"import _polyiou ModuleNotFoundError: No module named ‘_polyiou‘"
Then I switched to "dotadevkit" but still I have the same issue. The "dotadevkit" works fine for the other tasks.

BBA-1

I use Python 3.6.6 on Ubuntu.

I wish to receive a suggestion to solve this problem.

Running dotadevkit

Ive installed dotadevkit using anaconda on a windows machine.
Any idea how I go about running it, Ive tried running it on the CMD/anaconda prompt, it doesnt work.

How do i get it up and running. I wanna split the images and their respective annotations

Refactor dota_utils.py

dota_utils.py currently contains some convenience functions for handling filenames and converting box coordinates to different formats.

[] Remove file functions. pathlib is a much better alternative.
[] Refactor other functions. parse_dota_poly functions are the only ones actively being used for the core dotadevkit functions.

DOTA test set split

Hello,
How to split the DOTA test set images that do not have labelTxt files?
Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.