Coder Social home page Coder Social logo

dou3516 / jdet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jittor/jdet

0.0 0.0 0.0 6.21 MB

JDet is an object detection benchmark based on Jittor. Mainly focus on aerial image object detection (oriented object detection).

Shell 0.03% Python 99.97%

jdet's Introduction

JDet

Introduction

JDet is an object detection benchmark based on Jittor, and mainly focus on aerial image object detection (oriented object detection).

Install

JDet environment requirements:

  • System: Linux(e.g. Ubuntu/CentOS/Arch), macOS, or Windows Subsystem of Linux (WSL)
  • Python version >= 3.7
  • CPU compiler (require at least one of the following)
    • g++ (>=5.4.0)
    • clang (>=8.0)
  • GPU compiler (optional)
    • nvcc (>=10.0 for g++ or >=10.2 for clang)
  • GPU library: cudnn-dev (recommend tar file installation, reference link)

Step 1: Install the requirements

git clone https://github.com/Jittor/JDet
cd JDet
python -m pip install -r requirements.txt

If you have any installation problems for Jittor, please refer to Jittor

Step 2: Install JDet

cd JDet
# suggest this 
python setup.py develop
# or
python setup.py install

If you don't have permission for install,please add --user.

Or use PYTHONPATH: You can add export PYTHONPATH=$PYTHONPATH:{you_own_path}/JDet/python into .bashrc, and run

source .bashrc

Getting Started

Datasets

The following datasets are supported in JDet, please check the corresponding document before use.

DOTA1.0/DOTA1.5/DOTA2.0 Dataset: dota.md.

FAIR Dataset: fair.md

SSDD/SSDD+: ssdd.md

You can also build your own dataset by convert your datas to DOTA format.

Config

JDet defines the used model, dataset and training/testing method by config-file, please check the config.md to learn how it works.

Train

python tools/run_net.py --config-file=configs/s2anet_r50_fpn_1x_dota.py --task=train

Test

If you want to test the downloaded trained models, please set resume_path={you_checkpointspath} in the last line of the config file.

python tools/run_net.py --config-file=configs/s2anet_r50_fpn_1x_dota.py --task=test

Test on images / Visualization

You can test and visualize results on your own image sets by:

python tools/run_net.py --config-file=configs/s2anet_r50_fpn_1x_dota.py --task=vis_test

You can choose the visualization style you prefer, for more details about visualization, please refer to visualization.md. Visualization

Build a New Project

In this section, we will introduce how to build a new project(model) with JDet. We need to install JDet first, and build a new project by:

mkdir $PROJECT_PATH$
cd $PROJECT_PATH$
cp $JDet_PATH$/tools/run_net.py ./
mkdir configs

Then we can build and edit configs/base.py like $JDet_PATH$/configs/retinanet.py. If we need to use a new layer, we can define this layer at $PROJECT_PATH$/layers.py and import layers.py in $PROJECT_PATH$/run_net.py, then we can use this layer in config files. Then we can train/test this model by:

python run_net.py --config-file=configs/base.py --task=train
python run_net.py --config-file=configs/base.py --task=test

Models

Models Dataset Sub_Image_Size/Overlap Train Aug Test Aug Optim Lr schd mAP Paper Config Download
S2ANet-R50-FPN DOTA1.0 1024/200 flip - SGD 1x 74.11 arxiv config model
S2ANet-R50-FPN DOTA1.0 1024/200 flip+ra90+bc - SGD 1x 76.40 arxiv config model
S2ANet-R50-FPN DOTA1.0 1024/200 flip+ra90+bc+ms ms SGD 1x 79.72 arxiv config model
S2ANet-R101-FPN DOTA1.0 1024/200 Flip - SGD 1x 74.28 arxiv config model
Gliding-R50-FPN DOTA1.0 1024/200 Flip - SGD 1x 72.93 arxiv config model
Gliding-R50-FPN DOTA1.0 1024/200 Flip+ra90+bc - SGD 1x 74.93 arxiv config model
RetinaNet-R50-FPN DOTA1.0 600/150 - - SGD - 62.503 arxiv config model pretrained
FasterRCNN-R50-FPN DOTA1.0 1024/200 Flip - SGD 1x 69.631 arxiv config model
RoITransformer-R50-FPN DOTA1.0 1024/200 Flip - SGD 1x 73.842 arxiv config model
FCOS-R50-FPN DOTA1.0 1024/200 flip - SGD 1x 70.40 ICCV19 config model
OrientedRCNN-R50-FPN DOTA1.0 1024/200 Flip - SGD 1x 75.62 ICCV21 config model

Notice:

  1. ms: multiscale
  2. flip: random flip
  3. ra: rotate aug
  4. ra90: rotate aug with angle 90,180,270
  5. 1x : 12 epochs
  6. bc: balance category
  7. mAP: mean Average Precision on DOTA1.0 test set

Plan of Models

โœ”๏ธSupported ๐Ÿ•’Doing โž•TODO

  • โœ”๏ธ S2ANet
  • โœ”๏ธ Gliding
  • โœ”๏ธ RetinaNet
  • โœ”๏ธ Faster R-CNN
  • โœ”๏ธ SSD
  • โœ”๏ธ ROI Transformer
  • โœ”๏ธ fcos
  • โœ”๏ธ Oriented R-CNN
  • โœ”๏ธ YOLOv5
  • ๐Ÿ•’ ReDet
  • ๐Ÿ•’ R3Det
  • ๐Ÿ•’ Cascade R-CNN
  • โž• CSL
  • โž• DCL
  • โž• GWD
  • โž• KLD
  • โž• Double Head OBB
  • โž• Oriented Reppoints
  • โž• Guided Anchoring
  • โž• ...

Plan of Datasets

โœ”๏ธSupported ๐Ÿ•’Doing โž•TODO

  • โœ”๏ธ DOTA1.0
  • โœ”๏ธ DOTA1.5
  • โœ”๏ธ DOTA2.0
  • โœ”๏ธ SSDD
  • โœ”๏ธ SSDD+
  • โœ”๏ธ FAIR
  • โœ”๏ธ COCO
  • โž• LS-SSDD
  • โž• DIOR-R
  • โž• HRSC2016
  • โž• ICDAR2015
  • โž• ICDAR2017 MLT
  • โž• UCAS-AOD
  • โž• FDDB
  • โž• OHD-SJTU
  • โž• MSRA-TD500
  • โž• Total-Text
  • โž• ...

Contact Us

Website: http://cg.cs.tsinghua.edu.cn/jittor/

Email: [email protected]

File an issue: https://github.com/Jittor/jittor/issues

QQ Group: 761222083

The Team

JDet is currently maintained by the Tsinghua CSCG Group. If you are also interested in JDet and want to improve it, Please join us!

Citation

@article{hu2020jittor,
  title={Jittor: a novel deep learning framework with meta-operators and unified graph execution},
  author={Hu, Shi-Min and Liang, Dun and Yang, Guo-Ye and Yang, Guo-Wei and Zhou, Wen-Yang},
  journal={Science China Information Sciences},
  volume={63},
  number={222103},
  pages={1--21},
  year={2020}
}

Reference

  1. Jittor
  2. Detectron2
  3. mmdetection
  4. maskrcnn_benchmark
  5. RotationDetection
  6. s2anet
  7. gliding_vertex
  8. oriented_rcnn
  9. r3det
  10. AerialDetection
  11. DOTA_devkit
  12. OBBDetection

jdet's People

Contributors

514flowey avatar cxjyxxme avatar czzzzh avatar foresttttttt avatar georgenakayama avatar gt-zhangacer avatar gword avatar jittor avatar li-xl avatar uyzhang avatar zhouwy19 avatar

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.