Code Monkey home page Code Monkey logo

randbox's Introduction

Random Boxes Are Open-world Object Detectors (ICCV 2023)

RandBox is a novel and effective model for open-world object detection.

Random Boxes Are Open-world Object Detectors
Yanghao Wang, Zhongqi Yue, Xian-sheng Hua, Hanwang Zhang
arXiv 2307.08249

Updates

  • (07/2023) Code is released.

Models

Task K-mAP U-R WI A-OSE Download
Task 1 61.8 10.6 0.0240 4498 model
Task 2 45.3 6.3 0.0078 1880 model
Task 3 39.4 7.8 0.0054 1452 model
Task 4 35.4 - - - model

Getting Started

The installation instruction and usage are in Getting Started with RandBox.

Citing RandBox

If you use RandBox in your research or wish to refer to the baseline results published here, please use the following BibTeX entry.

@InProceedings{Wang_2023_ICCV,
    author    = {Wang, Yanghao and Yue, Zhongqi and Hua, Xian-Sheng and Zhang, Hanwang},
    title     = {Random Boxes Are Open-world Object Detectors},
    booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
    month     = {October},
    year      = {2023},
    pages     = {6233-6243}
}

randbox's People

Contributors

scuwyh2000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

randbox's Issues

Failure to cite existing OWOD work.

Dear authors,

Your paper overlooks several significant works in the Open World Object Detection (OWOD) field. Specifically, the following papers from this year's CVPR conference:

  1. "PROB: Probabilistic Objectness for Open World Object Detection"
  2. "Annealing-Based Label-Transfer Learning for Open World Object Detection"
  3. "CAT: LoCalization and IdentificAtion Cascade Detection Transformer for Open-World Object Detection"

As well as other significant works published in 2022, such as "OPCL" (ICIP2022) and "2B-OCD" (HCMA2022).

It is essential to acknowledge and include existing OWOD work to ensure the accuracy and completeness of your research. Failure to do so undermines the credibility of your work and disregards the contributions of others in the field.

Sincerely,
Orr Zohar

infer

How long does it take for a 512 × 512 graph to be output in real time? Can it be converted to TRT?

Questions about re-implementation

Hello author, I conducted experiments according to your file configuration (completely consistent settings) and found that the experimental results are different from the paper results.

Task t1:
AOSE is about 1500 higher
K-map is 4 points lower
UR is 3 points lower
What causes this?

Variables not found

thanks for your work, however, when I run your code, I found some problem:

Traceback (most recent call last):
File "f:\documents_lry\detectron2\detectron2\engine\train_loop.py", line 155, in train
self.run_step()
File "f:\documents_lry\detectron2\detectron2\engine\defaults.py", line 496, in run_step
self._trainer.run_step()
File "f:\documents_lry\detectron2\detectron2\engine\train_loop.py", line 310, in run_step
loss_dict = self.model(data)
File "D:\Anaconda3\envs\detectron\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "F:\Documents_lry\RandBox\randbox\detector.py", line 296, in forward
targets, x_boxes = self.prepare_targets(gt_instances)
File "F:\Documents_lry\RandBox\randbox\detector.py", line 350, in prepare_targets
d_boxes = self.prepare_concat(gt_boxes)
File "F:\Documents_lry\RandBox\randbox\detector.py", line 330, in prepare_concat
x = (x_start * 2. - 1.) * self.scale
NameError: name 'x_start' is not defined

there are not 'x_start' in function "self.prepare_concat(gt_boxes)", I can only found 'x_start' in function "model_predictions", could you please fix this problem?

t2 t2_ft

请问t2和t2_ft的区别是什么

Replicating implementation doubts. Wilderness Impact metrics, training protocol...

Hello. First of all, thank you for your work and for sharing it!

I am implementing the evaluation process of OWOD (defined in PascalVOCDetectionEvaluator.evaluate). I have encountered several problems to correctly apply the benchmark to my own work. Here are them:

  • For evaluating every task and every metric (even WI), I assume you are always performing evaluation against all_task_test.txt. Is that right?
  • For the Wilderness Impact, they get reported the WI values for different recalls. Which one do you chose?
  • Are instances categorized as "difficult" used in for the metrics?
  • The reported number of test instances of T1 in the below image of your paper refer only to the KNOWN classes or are accounting for both KNOWN and UNKNOWN objects?
    image

Data Preperation

Hi, thanks for your great work!

I am confused about the data preparation. According to your get_started, the data are from MSCOCO. However, in the ./split files, there are some image ids that seem not from COCO, such as 001299 or 2008_008613.

May I ask where are they from?

How to draw the Figure 2 in the paper?

Thank author for your great work. I am wondering how to draw Figure 2 in the paper as shown blow:

image

I have the following questions about the implementation of Figure 2.

  1. All the proposals have been shown in the Figure or only part has been shown.
  2. The proposals are before or after NMS?

I hope the authors can give me some advice for representing this figure. Thanks a lot!

evaluation error

Hi, I got a error when run run_eval.sh, can you give me some help?

Traceback (most recent call last):
  File "train_net.py", line 376, in <module>
    launch(
  File "/mnt/home/wls/anaconda3/envs/randbox/lib/python3.8/site-packages/detectron2/engine/launch.py", line 67, in launch
    mp.spawn(
  File "/mnt/home/wls/anaconda3/envs/randbox/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 230, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "/mnt/home/wls/anaconda3/envs/randbox/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 188, in start_processes
    while not context.join():
  File "/mnt/home/wls/anaconda3/envs/randbox/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 150, in join
    raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException: 

-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "/mnt/home/wls/anaconda3/envs/randbox/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 59, in _wrap
    fn(i, *args)
  File "/mnt/home/wls/anaconda3/envs/randbox/lib/python3.8/site-packages/detectron2/engine/launch.py", line 126, in _distributed_worker
    main_func(*args)
  File "/mnt/home/wls/RandBox/train_net.py", line 359, in main
    res = Trainer.ema_test(cfg, model)
  File "/mnt/home/wls/RandBox/train_net.py", line 261, in ema_test
    results = cls.test(cfg, model, evaluators=evaluators)
  File "/mnt/home/wls/anaconda3/envs/randbox/lib/python3.8/site-packages/detectron2/engine/defaults.py", line 608, in test
    results_i = inference_on_dataset(model, data_loader, evaluator)
  File "/mnt/home/wls/anaconda3/envs/randbox/lib/python3.8/site-packages/detectron2/evaluation/evaluator.py", line 204, in inference_on_dataset
    results = evaluator.evaluate()
  File "/mnt/home/wls/RandBox/randbox/pascal_voc_evaluation.py", line 189, in evaluate
    rec, prec, ap, unk_det_as_known, num_unk, tp_plus_fp_closed_set, fp_open_set = voc_eval(
  File "/mnt/home/wls/RandBox/randbox/pascal_voc_evaluation.py", line 456, in voc_eval
    R = class_recs[str(mapping[int(image_ids[d])])]
KeyError: '009122'

代码

你好,请问代码更新完了吗

test.json

@scuwyh2000
Hi, is the test.json under each task the same and if not the test.json under each task is generated based on which file? Currently there is only all_task_test.txt, how to generate the json needed for each task?

Pre-defined inference bboxes

Thank you for your excellent work.
In your supplementary material, you described the pre-defined inference bboxes.
Are the pre-defined bboxes in the code and described in the paper the same?

Datasets

Are the data sets used in the paper the same as those used in ORE (Towards Open World Object Detection)? Can I directly use the link to the dataset provided in ORE?

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.