Giter Site home page Giter Site logo

mfdc's Introduction

Multi-Faceted Distillation of Base-Novel Commonality for Few-shot Object Detection, ECCV 2022

This repo is built upon DeFRCN, where you can download the datasets and the pre-trained weights.

Requirements

Python == 3.7.10

Pytorch == 1.6.0

Torchvision == 0.7.0

Detectron2 == 0.3

CUDA == 10.1

File Structure

    ├── weight/                   
    |   ├── R-101.pkl              
    |   └── resnet101-5d3b4d8f.pth   
    └── datasets/
        ├── coco/           
        │   ├── annotations/
        │   ├── train2014/
        │   └── val2014/
        ├── cocosplit/
        ├── VOC2007/            
        │   ├── Annotations/
        │   ├── ImageSets/
        │   └── JPEGImages/
        ├── VOC2012/            
        │   ├── Annotations/
        │   ├── ImageSets/
        │   └── JPEGImages/
        └── vocsplit/

Training and Evaluation

  • For VOC
sh voc_train.sh mfdc SPLIT_ID
  • For COCO
sh coco_train.sh mfdc

Citation

If you find our code helpful in your research, please cite the following publication:

@inproceedings{wu2022multi,
  title={Multi-faceted Distillation of Base-Novel Commonality for Few-Shot Object Detection},
  author={Wu, Shuang and Pei, Wenjie and Mei, Dianwen and Chen, Fanglin and Tian, Jiandong and Lu, Guangming},
  booktitle={European Conference on Computer Vision},
  pages={578--594},
  year={2022},
  organization={Springer}
}

Contact

Please feel free to contact me (Email: [email protected]) if you have any questions.

mfdc's People

Contributors

shuangw98 avatar

Stargazers

 avatar George Tsoumplekas avatar  avatar  avatar  avatar AnYang avatar  avatar  avatar Lama avatar  avatar CrapBag avatar  avatar  avatar Koorye avatar ZYN1101 avatar  avatar  avatar Mr.CrightH avatar  avatar dianwenmei avatar  avatar Mei Hefei avatar Ruoyu Chen avatar  avatar ZhiX avatar

Watchers

 avatar

mfdc's Issues

Checkpoints & logs for COCO & VOC split 2,3

Hello, I saw that you posted the Google drive link for the VOC split 1 training logs and checkpoints. I wonder if you can provide the links for the other settings especially COCO. Thank you very much!

a question about lr

I want to ask a question about lr. I run the code with 1 gpu and batch_size is 2, Why should my learning rate drop to 10^(-7) to run the code successfully?

About seed ?

Thanks for the great work, I wonder whether the result in your repo is all based on the seed0 experiment?

单个GPU训练参数如何设置

作者,您好,请问我是用户单个GPU对于您的代码进行训练时,超参数该如何设置呢?期待您的解答,谢谢

Question about queue update

I am running the code during novel fine-tuning on VOC split 1, 1-shot seed 0. During the memory bank update, it seems like the memory bank is updating more samples than there are in the novel set. See below at the debugging output

mfdc_question

As you can see, the uniq_c indices are [0, 9, 10, 17, 18]. The novel indices correspond to [15, 16, 17, 18, 19]. For index 17, features_c_s is of shape [26, 2048]. This seems to violate the 1-shot scenario.

I may be mis-understanding something. What is happening here?

FSOD vs GFSOD

Hi, thank you for this work. In the repository, you have provided the configuration files for the gfsod evaluation scenario. If I'm not mistaken, the results in table 1 of your paper provides results for the fsod scenario, correct? I have tried to reproduce your results running the code exactly as in the README, but I can not get the results in table 1.

Do you provide the configuration files for the fsod scenario?

argument

Dear author:
--opts TEST.PCB_MODELPATH ${IMAGENET_PRETRAIN_TORCH},其中TEST.PCB_MODELPATH是什么意思呢

File not found ! ! !

Hello, first of all, thank you for your work. I have downloaded the pre training model,I want to know how to obtain ./model_final.pth files? Looking forward to your reply!

modeling/roi_heads.py

Dear author, please can you share the design concept of this module with me. I would like to ask you for your humble advice

modeling/roi_heads.py

@torch.no_grad()
def _dequeue_and_enqueue(self, keys_s, keys_l, gt_class):
    keys_s = keys_s[:self.queue_len]
    keys_l = keys_l[:self.queue_len]
    batch_size = keys_s.shape[0]
    ptr = int(self.queue_ptr[gt_class])
    if ptr + batch_size <= self.queue_len:
        self.queue_s[gt_class, ptr:ptr + batch_size] = keys_s
        self.queue_l[gt_class, ptr:ptr + batch_size] = keys_l
    else:
        self.queue_s[gt_class, ptr:] = keys_s[:self.queue_len - ptr]
        self.queue_s[gt_class, :(ptr + batch_size) % self.queue_len] = keys_s[self.queue_len - ptr:]
        self.queue_l[gt_class, ptr:] = keys_l[:self.queue_len - ptr]
        self.queue_l[gt_class, :(ptr + batch_size) % self.queue_len] = keys_l[self.queue_len - ptr:]
        
    if ptr + batch_size >= self.queue_len:
        self.queue_full[gt_class] = 1
    ptr = (ptr + batch_size) % self.queue_len
    self.queue_ptr[gt_class] = ptr

Have a question about the config.

Thanks for nice paper and source code.
Could you tell me what the 'removevoc' stands for in the fine-tuning config file?
removevoc_2007_trainval_allx_2shot_seedx

I have well understood FSOD benchmark. Does it have any difference with data setting of {TFA, DeFRCN}?.

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.