-
Notifications
You must be signed in to change notification settings - Fork 238
Description
Thanks for the wonderful repo. It's a pleasure to work with it and to read the code.
When training MaskDino on a custom dataset, the bounding box predictions are not very good. Interestingly:
- Dino learns good bounding boxes on the same dataset
- The instance masks predicted by Mask Dino are good too
- Bounding boxes with 50mAP are learned with MaskDino, but the bounding boxes for mAP 75 (and better) are poor.
- MaskDino errored at the end with a problem in the cost_matrix. See the logs for details.
Does anybody have an idea what I could tune to generate good bb results?
Training Details:
I have slightly modified the training process (see this branch https://github.com/FabianSchuetze/detrex/tree/my_changes). I added amp training and have included some gradient checkpointing. I train with one GPU and a batch size of four (for MaskDino, Dino works with a batch size of 8). The learning rate is lowered linearly.
Data:
The instances are very dense, similar to the "is-crowded" scenes of COCO. There is only one class. I have adjusted the num_objects in the config files.
Logs:
Logs of the training runs are attached below. There are three logs:
- One for MaskDino with the original noise scale (0.4)
- One with a noise scale of 1.0 (Dino uses this value)
- One for Dino (noise scale of 1.0)
Hyparameters:
Comparing the parameters, the following aspects seem notable:
- Maskidio has a higher Hungarian class loss (5 vs 2)
- Maskdino has 1/3 of the queries (300 vs 900)
maskdino_0.4_noise_scale.txt
maskdino_1.0_noise_scale.txt
dino_log.txt
Does anybody have an idea how to debug the problem?