first commit

pull/3/head
Dahun Kim 2021-08-30 12:07:34 +09:00
parent 873df4bd98
commit 9d5c483eb4
5 changed files with 35 additions and 5 deletions

1
.gitignore vendored
View File

@ -114,6 +114,7 @@ data
*.pkl.json
*.log.json
work_dirs/
run_scripts/
# Pytorch
*.pth

View File

@ -1,6 +1,16 @@
<div align="center">
<img src="resources/mmdet-logo.png" width="600"/>
</div>
# Learning Open-World Object Proposals without Learning to Classify
## Pytorch implementation for "Learning Open-World Object Proposals without Learning to Classify" (arXiv 2021) <br/>[[Paper](https://arxiv.org/abs/2108.06753)]
[Dahun Kim](https://mcahny.github.io/), [Tsung-Yi Lin](https://scholar.google.com/citations?user=_BPdgV0AAAAJ), [Anelia Angelova](https://scholar.google.co.kr/citations?user=nkmDOPgAAAAJ), [In So Kweon](https://rcv.kaist.ac.kr), and [Weicheng Kuo](https://weichengkuo.github.io/).
<img src="./images/epic.png" width="800"> <br/>
**OLN: Object Localization Network**
Humans can recognize novel objects in this image despite having never seen them before. “Is it possible to learn open-world (novel) object proposals?” In this paper we propose Object Localization Network (OLN) that learns localization cues instead of foreground vs background classification. Only trained on COCO, OLN is able to propose many novel objects (top) missed by Mask R-CNN (bottom) on an out-of-sample frame in an ego-centric video.
**News**: We released the technical report on [ArXiv](https://arxiv.org/abs/1906.07155).

View File

@ -106,7 +106,7 @@ model = dict(
nms_post=2000,
max_num=2000,
# <<<
nms_thr=0.8,
nms_thr=0.9,
# >>>
min_bbox_size=0),
rcnn=dict(
@ -226,4 +226,4 @@ load_from = None
resume_from = None
workflow = [('train', 1)]
work_dir='./work_dirs/oln_box_rpnnms08/'
work_dir='./work_dirs/oln_box_rpnnms09/'

BIN
images/epic.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
CONFIG=$1
CHECKPOINT=$2
GPUS=$3
PORT=${PORT:-29500}
PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \
python -m torch.distributed.launch --nproc_per_node=$GPUS --master_port=$PORT \
$(dirname "$0")/train.py $CONFIG --launcher pytorch ${@:4} --no-validate
PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \
python -m torch.distributed.launch --nproc_per_node=$GPUS --master_port=$PORT \
$(dirname "$0")/test.py $CONFIG $CHECKPOINT --launcher pytorch ${@:4} \
--eval bbox