Hi, thanks for the work:
for MOT20 detection model, I try same dataset (train: crowdhuman+MOT20 train, test: MOT20 test), but the yolox detection model person detection result on MOT is much lower than your model: my one only around 60%mAP compare to you release yolox model 82% mAP in person detection,
could help take a look the parameter that I use which might go wrong, thanks
parameters that I use:
class Exp(BaseExp):
def init(self):
super().init()
# ---------------- model config ---------------- #
# detect classes number of model
self.num_classes = 1
# factor of model depth
self.depth = 1.00
# factor of model width
self.width = 1.00
# activation name. For example, if using "relu", then "silu" will be replaced to "relu".
self.act = "silu"
# ---------------- dataloader config ---------------- #
# set worker to 4 for shorter dataloader init time
# If your training process cost many memory, reduce this value.
self.data_num_workers = 4
self.input_size = (800, 1440) # (height, width)
# Actual multiscale ranges: [640 - 5 * 32, 640 + 5 * 32].
# To disable multiscale training, set the value to 0.
self.multiscale_range = 7
# You can uncomment this line to specify a multiscale range
# self.random_size = (14, 26)
# dir of dataset images, if data_dir is None, this project will use `datasets` dir
self.data_dir = None
# name of annotation file for training
self.train_ann = "mot20train_CHtrain_1classonlyv2.json"
#self.train_ann = "mot20_test_1classonly.json"
#self.train_ann = "mot20_test.json"
# name of annotation file for evaluation
self.val_ann = "mot20_test_1classonly.json"
# name of annotation file for testing
self.test_ann = "mot20_test_1classonly.json"
# --------------- transform config ----------------- #
# prob of applying mosaic aug
self.mosaic_prob = 1.0
# prob of applying mixup aug
self.mixup_prob = 1.0
# prob of applying hsv aug
self.hsv_prob = 1.0
# prob of applying flip aug
self.flip_prob = 0.5
# rotation angle range, for example, if set to 2, the true range is (-2, 2)
self.degrees = 10.0
# translate range, for example, if set to 0.1, the true range is (-0.1, 0.1)
self.translate = 0.1
self.mosaic_scale = (0.1, 2)
# apply mixup aug or not
self.enable_mixup = True
self.mixup_scale = (0.5, 1.5)
# shear angle range, for example, if set to 2, the true range is (-2, 2)
self.shear = 2.0
# -------------- training config --------------------- #
# epoch number used for warmup
self.warmup_epochs = 1
# max training epoch
self.max_epoch = 300
# minimum learning rate during warmup
self.warmup_lr = 0
self.min_lr_ratio = 0.05
# learning rate for one image. During training, lr will multiply batchsize.
self.basic_lr_per_img = 0.000001 / 64.0
# name of LRScheduler
self.scheduler = "yoloxwarmcos"
# last #epoch to close augmention like mosaic
self.no_aug_epochs = 1
# apply EMA during training
self.ema = True
# weight decay of optimizer
self.weight_decay = 5e-4
# momentum of optimizer
self.momentum = 0.9
# log period in iter, for example,
# if set to 1, user could see log every iteration.
self.print_interval = 10
# eval period in epoch, for example,
# if set to 1, model will be evaluate after every epoch.
self.eval_interval = 1
# save history checkpoint or not.
# If set to False, yolox will only save latest and best ckpt.
self.save_history_ckpt = False
# name of experiment
self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0]
# ----------------- testing config ------------------ #
# output image size during evaluation/test
self.test_size = (800, 1440)
# confidence threshold during evaluation/test,
# boxes whose scores are less than test_conf will be filtered
self.test_conf = 0.01
# nms threshold
self.nmsthre = 0.65
know the learning rate I use is very low, but use same learning rate e-3 suggested in paper for yolox detection, model will overfit in first epoch.
this is another thing that I am confused, thanks
thanks
Hi, thanks for the work: for MOT20 detection model, I try same dataset (train: crowdhuman+MOT20 train, test: MOT20 test), but the yolox detection model person detection result on MOT is much lower than your model: my one only around 60%mAP compare to you release yolox model 82% mAP in person detection, could help take a look the parameter that I use which might go wrong, thanks
parameters that I use:
class Exp(BaseExp): def init(self): super().init()