Skip to content

Commit

Permalink
support dior-r
Browse files Browse the repository at this point in the history
  • Loading branch information
yangxue0827 committed Nov 3, 2021
1 parent 45c708a commit c186875
Show file tree
Hide file tree
Showing 5 changed files with 132 additions and 2 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,6 @@ __pycache__/
*double_head*
*.DS_Store*
*redet*
*cfgs.py

tools/*/test_dota/*
tools/*/test_hrsc/*
Expand Down
62 changes: 62 additions & 0 deletions configs/DIOR-R/csl/cfgs_res50_dior_r_csl_v1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# -*- coding: utf-8 -*-
from __future__ import division, print_function, absolute_import

import numpy as np

from alpharotate.utils.pretrain_zoo import PretrainModelZoo
from configs._base_.models.retinanet_r50_fpn import *
from configs._base_.datasets.dota_detection import *
from configs._base_.schedules.schedule_1x import *

# schedule
BATCH_SIZE = 1
GPU_GROUP = "0,1"
NUM_GPU = len(GPU_GROUP.strip().split(','))
SAVE_WEIGHTS_INTE = 11725 * 2
DECAY_EPOCH = [8, 11, 20]
MAX_EPOCH = 12
WARM_EPOCH = 1 / 16.
DECAY_STEP = np.array(DECAY_EPOCH, np.int32) * SAVE_WEIGHTS_INTE
MAX_ITERATION = SAVE_WEIGHTS_INTE * MAX_EPOCH
WARM_SETP = int(WARM_EPOCH * SAVE_WEIGHTS_INTE)

# dataset
DATASET_NAME = 'DIOR-R'
CLASS_NUM = 20

# model
# backbone
pretrain_zoo = PretrainModelZoo()
PRETRAINED_CKPT = pretrain_zoo.pretrain_weight_path(NET_NAME, ROOT_PATH)
TRAINED_CKPT = os.path.join(ROOT_PATH, 'output/trained_weights')

# bbox head
NUM_SUBNET_CONV = 4
LEVEL = ['P3', 'P4', 'P5', 'P6', 'P7']
BASE_ANCHOR_SIZE_LIST = [32, 64, 128, 256, 512]
ANCHOR_STRIDE = [8, 16, 32, 64, 128]
ANCHOR_SCALES = [2 ** 0, 2 ** (1.0 / 3.0), 2 ** (2.0 / 3.0)]
ANCHOR_RATIOS = [1, 1 / 2, 2.]
ANGLE_RANGE = 180

# loss
CLS_WEIGHT = 1.0
REG_WEIGHT = 1.0
ANGLE_WEIGHT = 0.5
REG_LOSS_MODE = None

# CSL
LABEL_TYPE = 0 # {0: gaussian_label, 1: rectangular_label, 2: pulse_label, 3: triangle_label}
RADIUS = 6
OMEGA = 1

VERSION = 'RetinaNet_DIOR_R_CSL_2x_20200912'

"""
gaussian label, omega=1, r=6
FLOPs: 761359510; Trainable params: 36287541
"""


69 changes: 69 additions & 0 deletions configs/cfgs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# -*- coding: utf-8 -*-
from __future__ import division, print_function, absolute_import

import numpy as np

from alpharotate.utils.pretrain_zoo import PretrainModelZoo
from configs._base_.models.retinanet_r50_fpn import *
from configs._base_.datasets.dota_detection import *
from configs._base_.schedules.schedule_1x import *

# schedule
BATCH_SIZE = 1
GPU_GROUP = "0"
NUM_GPU = len(GPU_GROUP.strip().split(','))
LR = 1e-3
SAVE_WEIGHTS_INTE = 27000
DECAY_STEP = np.array(DECAY_EPOCH, np.int32) * SAVE_WEIGHTS_INTE
MAX_ITERATION = SAVE_WEIGHTS_INTE * MAX_EPOCH
WARM_EPOCH = 1. / 8.
WARM_SETP = int(WARM_EPOCH * SAVE_WEIGHTS_INTE)

# dataset

# model
pretrain_zoo = PretrainModelZoo()
PRETRAINED_CKPT = pretrain_zoo.pretrain_weight_path(NET_NAME, ROOT_PATH)
TRAINED_CKPT = os.path.join(ROOT_PATH, 'output/trained_weights')

# loss
CLS_WEIGHT = 1.0
REG_WEIGHT = 2.0
REG_LOSS_MODE = 3 # KLD loss

KL_TAU = 2.0
KL_FUNC = 0 # 0: sqrt 1: log

VERSION = 'RetinaNet_DOTA_KL_1x_20210201'

"""
RetinaNet-H + kl (fix bug) + sqrt + tau=2
FLOPs: 484911761; Trainable params: 33002916
This is your result for task 1:
mAP: 0.7128325571761713
ap of each class:
plane:0.884289204525325,
baseball-diamond:0.7653565915743398,
bridge:0.440047662898936,
ground-track-field:0.698238996872059,
small-vehicle:0.7444580421686285,
large-vehicle:0.7248184249702364,
ship:0.843025375274411,
tennis-court:0.8939539261877734,
basketball-court:0.806571747424402,
storage-tank:0.800303800899483,
soccer-ball-field:0.5787146175790521,
roundabout:0.6505316568373755,
harbor:0.6554363687620437,
swimming-pool:0.6686981948609415,
helicopter:0.5380437468075643
The submitted information is :
Description: RetinaNet_DOTA_KL_1x_20210201_45.9w
Username: SJTU-Det
Institute: SJTU
Emailadress: yangxue-2019-sjtu@sjtu.edu.cn
TeamMembers: yangxue
"""
Binary file modified images/projects.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion tools/csl/train.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
from configs import cfgs
from alpharotate.libs.models.detectors.csl import build_whole_network
from alpharotate.libs.utils.coordinate_convert import backward_convert, get_horizen_minAreaRectangle
from alpharotate.utils import angle_smooth_label
from alpharotate.utils.smooth_label import angle_smooth_label
from alpharotate.libs.utils.coordinate_convert import coordinate_present_convert
from alpharotate.utils.pretrain_zoo import PretrainModelZoo

Expand Down

0 comments on commit c186875

Please sign in to comment.