GithubHelp home page GithubHelp logo

yangyanggirl / bos Goto Github PK

View Code? Open in Web Editor NEW
16.0 1.0 1.0 1016 KB

[ICLR 2024 Spotlight] Bounding Box Stability against Feature Dropout Reflects Detector Generalization across Environments

Python 99.79% Shell 0.21%

bos's Introduction

[ICLR 2024 Spotlight] Bounding Box Stability against Feature Dropout Reflects Detector Generalization across Environments

๐Ÿš€๐Ÿš€๐Ÿš€ A brand-new data-centric problem of estimating the detector performance in an unlabeled test domain.

Abstract

Bounding boxes uniquely characterize object detection, where a good detector gives accurate bounding boxes of categories of interest. However, in the real-world where test ground truths are not provided, it is non-trivial to find out whether bounding boxes are accurate, thus preventing us from assessing the detector generalization ability. In this work, we find under feature map dropout, good detectors tend to output bounding boxes whose locations do not change much, while bounding boxes of poor detectors will undergo noticeable position changes. We compute the box stability score (BoS score) to reflect this stability. Specifically, given an image, we compute a normal set of bounding boxes and a second set after feature map dropout. To obtain BoS score, we use bipartite matching to find the corresponding boxes between the two sets and compute the average Intersection over Union (IoU) across the entire test set. We contribute to finding that BoS score has a strong, positive correlation with detection accuracy measured by mean average precision (mAP) under various test environments. This relationship allows us to predict the accuracy of detectors on various real-world test sets without accessing test ground truths, verified on canonical detection tasks such as vehicle detection.

image

PyTorch Implementation

This repository contains:

  • the PyTorch implementation of BoS
  • the progress to construct a meta set for AutoEval in object detection
  • correlation study

Please follow the instruction below to install it.

Prerequisites

  • Linux (tested on Ubuntu 16.04LTS)
  • NVIDIA GPU + CUDA CuDNN (tested on GTX 2080 Ti and A100)

Dataset. For the convenience of users, we have standardized the formats of the 10 existing object detection datasets, including COCO, BDD, Cityscapes, DETRAC, Exdark, Kitti, Self-driving, Roboflow, Udacity, and Traffic. For each domain, we have randomly selected 250 images containing vehicles. These images are available for download via the following link. Please place the images under "PROJECT_DIR/data"

Model to be evaluated. Users can download the model via the provided link and place it in the "PROJECT_DIR/work_dir" folder for convenience. To explore more interesting findings, we encourage users to train vehicle detection models by themselves following mmdetection instructions and use BoS to evaluate them automatically.

Getting started

  1. Install dependencies

    # Energy-based AutoEval
    conda env create --name autoeval --file environment.yaml
    conda activate autoeval
    pip install -v -e .
  2. Creat synthetic sets

    # By default it creates 50 synthetic sets for each domain
     bash scripts/metaset_generate/all.sh
  3. Load detector and begin testing

    # Save test results under "PROJECT_DIR/res"
    bash scripts/autoeval/bos/all.sh
  4. Correlation study

    # You will see "PROJECT_DIR/figs/correlation_mAP_bos.pdf"
    python analyze_correlation.py

Citation

If you use the code in your research, please cite:

@inproceedings{yang2023bounding,
  title={Bounding Box Stability against Feature Dropout Reflects Detector Generalization across Environments},
  author={Yang, Yang and Wang, Wenhai and Chen, Zhe and Dai, Jifeng and Zheng, Liang},
  booktitle={The Twelfth International Conference on Learning Representations},
  year={2023}
}

License

MIT

bos's People

Contributors

yangyanggirl avatar

Stargazers

Moyang Li avatar  avatar Jeff Carpenter avatar Zhe Chen avatar  avatar hiyyg avatar Liang Zheng avatar Jinhong Deng avatar Teli Ma avatar  avatar ycliu avatar Shusheng Yang avatar Qinyu Zhao avatar  avatar DavidZ avatar Xingjian Leng avatar

Watchers

 avatar

Forkers

hiyyg

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.