-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
adding DINO's contrastive sampling #45
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, I have read the code, it is awesome! But I notice there are some parameters not defined in the argprase, i.e, look forward twice and mix query selection. Therefore, can this version go back to DN-DETR by default? You can also open another model under models/, i.e., models/DINO_detr for your model.
@FengLi-ust Oh, it's my bad of narrow point of view to miss the necessary details! |
adding args.use_mqs and args.lft for mixed query selection and look forward twice
Thanks for your efforts. I am busy preparing for the CVPR these days. I notice that you also made modifications to the DN-Deformable-DETR, how about leaving the original DN-Deformable-DETR unchanged and only adding your reimplemented DINO and DN-Deformable-DETR? I can merge these two models into our model zoo. |
@FengLi-ust That's not a problem. The only reason I modified your DN-Deformable-DETR is that I already merged my code with it in this pull-request in the beginning. When I added another directory, I revoked the original directory, but the commit history remained, which I cannot remove. Oh, BTW, I found another problem. With this new directory, because I added new parameters for DINO's case, for CDN, MQS, and LFT, it could make an issue of compatibility with dn_dab_deformable_detr. |
@Vallum Hey, thanks for your efforts, I have added your implemented DINO in the News of ReadMe. May you also provide the running command and checkpoint so others can reproduce your results? |
@FengLi-ust Thank you for updates and sorry about late response. |
Got it. Can you convert your trained checkpoint weights with 51.0 AP so that the new model can load it? As the main framework remains the same, maybe you just need to modify a few weights' names for this new model. |
@FengLi-ust I updated ReadMe.md at https://github.com/Vallum/DN-DETR-DINO/blob/make-new-model/README.md |
I implemented DINO's contrastive sampling idea upon DN-DETR repo.
It has a little bit of diffrence from DINO's official implementation.
#43 (comment)
I built Mix Query Sampling(MQS) and Look Forward Twice(LFT) upon Deformable DETR's two stage option.
In addition, for negative sampling,
the Official DINO pushed the negative sampling out of dn_components.py,
in which case, it was hard for me to use both DN-DETR and DINO simutaneously.
So I implemented double sampling inside dn_components.py
In conclusion, with 36 epochs of Resnet-50, it makes MAP 50.8 ~ 51.0. (It was not stabilized with final LR 10e-5)