• Stars
    star
    117
  • Rank 301,828 (Top 6 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Implementation of "Distribution Alignment: A Unified Framework for Long-tail Visual Recognition"(CVPR 2021)

Implementation of "Distribution Alignment: A Unified Framework for Long-tail Visual Recognition"(CVPR 2021)

[Paper][Code]

We implement the classification, object detection and instance segmentation tasks based on our cvpods. The users should install cvpods first and run the experiments in this repo.

Changelog

  • 7.28.2021 Update the DisAlign on ImageNet-LT(ResX50)
  • 4.23.2021 Update the DisAlign on LVIS v0.5(Mask R-CNN + Res50)
  • 4.12.2021 Update the README

0. How to Use

  • Step-1: Install the latest cvpods.
  • Step-2: cd cvpods
  • Step-3: Prepare dataset for different tasks.
  • Step-4: git clone https://github.com/Megvii-BaseDetection/DisAlign playground_disalign
  • Step-5: Enter one folder and run pods_train --num-gpus 8
  • Step-6: Use pods_test --num-gpus 8 to evaluate the last the checkpoint

1. Image Classification

We support the the following three datasets:

  • ImageNet-LT Dataset
  • iNaturalist-2018 Dataset
  • Place-LT Dataset

We refer the user to CLS_README for more details.

2. Object Detection/Instance Segmentation

We support the two versions of the LVIS dataset:

  • LVIS v0.5
  • LVIS v1.0

Highlight

  1. To speedup the evaluation on LVIS dataset, we provide the C++ optimized evaluation api by modifying the coco_eval(C++) in cvpods.
  • The C++ version lvis_eval API will save ~30% time when calculating the mAP.
  1. We provide support for the metric of AP_fixed and AP_pool proposed in large-vocab-devil
  2. We will support more recent works on long-tail detection in this project(e.g. EQLv2, CenterNet2, etc.) in the future.

We refer the user to DET_README for more details.

3. Semantic Segmentation

We adopt the mmsegmentation as the codebase for runing all experiments of DisAlign. Currently, the user should use DisAlign_Seg for the semantic segmentation experiments. We will add the support for these experiments in cvpods in the future.

Acknowledgement

Thanks for the following projects:

Citing DisAlign

If you are using the DisAlign in your research or with to refer to the baseline results publised in this repo, please use the following BibTex entry.

@inproceedings{zhang2021disalign,
  title={Distribution Alignment: A Unified Framework for Long-tail Visual Recognition.},
  author={Zhang, Songyang and Li, Zeming and Yan, Shipeng and He, Xuming and Sun, Jian},
  booktitle={CVPR},
  year={2021}
}

License

This repo is released under the Apache 2.0 license. Please see the LICENSE file for more information.

More Repositories

1

YOLOX

YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with MegEngine, ONNX, TensorRT, ncnn, and OpenVINO supported. Documentation: https://yolox.readthedocs.io/
Python
9,231
star
2

BEVDepth

Official code for BEVDepth.
Python
709
star
3

cvpods

All-in-one Toolbox for Computer Vision Research.
Python
643
star
4

DeFCN

End-to-End Object Detection with Fully Convolutional Network
Python
494
star
5

BorderDet

BorderDet: Border Feature for Dense Object Detection(ECCV2020 Oral)
Python
431
star
6

DynamicRouting

Learning Dynamic Routing for Semantic Segmentation
Python
378
star
7

BEVStereo

Official code for BEVStereo
Python
253
star
8

OTA

Official implementation of our CVPR2021 paper "OTA: Optimal Transport Assignment for Object Detection" in Pytorch.
Python
241
star
9

AutoAssign

Pytorch implementation of "AutoAssign: Differentiable Label Assignment for Dense Object Detection"
Python
140
star
10

TreeFilter-Torch

Learnable Tree Filter for Structure-preserving Feature Transform
Python
139
star
11

DenseTeacher

DenseTeacher: Dense Pseudo-Label for Semi-supervised Object Detection
Python
120
star
12

Megvii-BaseDetection

You are welcomed to join us!
50
star
13

GFSD

This project provides an implementation for "Generalized Few-Shot Object Detection without Forgetting" (CVPR2021) on PyTorch.
Python
45
star
14

LLA

Official implementation of our paper "LLA: Loss-aware Label Assignment for Dense Pedestrian Detection" in Pytorch.
Python
35
star
15

4K-Face

4K-Face: A Dataset with Huge Scale-variance Faces
32
star
16

storage

provide Checkpoint for users.
1
star