-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
edceb5d
commit b78b844
Showing
206 changed files
with
7,841 additions
and
2,399 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# dataset settings | ||
dataset_type = 'OpenImagesDataset' | ||
data_root = 'data/OpenImages/' | ||
img_norm_cfg = dict( | ||
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True) | ||
train_pipeline = [ | ||
dict(type='LoadImageFromFile'), | ||
dict(type='LoadAnnotations', with_bbox=True, denorm_bbox=True), | ||
dict(type='Resize', img_scale=(1024, 800), keep_ratio=True), | ||
dict(type='RandomFlip', flip_ratio=0.5), | ||
dict(type='Normalize', **img_norm_cfg), | ||
dict(type='Pad', size_divisor=32), | ||
dict(type='DefaultFormatBundle'), | ||
dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels']), | ||
] | ||
test_pipeline = [ | ||
dict(type='LoadImageFromFile'), | ||
dict( | ||
type='MultiScaleFlipAug', | ||
img_scale=(1024, 800), | ||
flip=False, | ||
transforms=[ | ||
dict(type='Resize', keep_ratio=True), | ||
dict(type='RandomFlip'), | ||
dict(type='Normalize', **img_norm_cfg), | ||
dict(type='Pad', size_divisor=32), | ||
dict(type='ImageToTensor', keys=['img']), | ||
dict(type='Collect', keys=['img']), | ||
], | ||
), | ||
] | ||
data = dict( | ||
samples_per_gpu=2, | ||
workers_per_gpu=0, # workers_per_gpu > 0 may occur out of memory | ||
train=dict( | ||
type=dataset_type, | ||
ann_file=data_root + 'annotations/oidv6-train-annotations-bbox.csv', | ||
img_prefix=data_root + 'OpenImages/train/', | ||
label_file=data_root + 'annotations/class-descriptions-boxable.csv', | ||
hierarchy_file=data_root + | ||
'annotations/bbox_labels_600_hierarchy.json', | ||
pipeline=train_pipeline), | ||
val=dict( | ||
type=dataset_type, | ||
ann_file=data_root + 'annotations/validation-annotations-bbox.csv', | ||
img_prefix=data_root + 'OpenImages/validation/', | ||
label_file=data_root + 'annotations/class-descriptions-boxable.csv', | ||
hierarchy_file=data_root + | ||
'annotations/bbox_labels_600_hierarchy.json', | ||
meta_file=data_root + 'annotations/validation-image-metas.pkl', | ||
image_level_ann_file=data_root + | ||
'annotations/validation-annotations-human-imagelabels-boxable.csv', | ||
pipeline=test_pipeline), | ||
test=dict( | ||
type=dataset_type, | ||
ann_file=data_root + 'annotations/validation-annotations-bbox.csv', | ||
img_prefix=data_root + 'OpenImages/validation/', | ||
label_file=data_root + 'annotations/class-descriptions-boxable.csv', | ||
hierarchy_file=data_root + | ||
'annotations/bbox_labels_600_hierarchy.json', | ||
meta_file=data_root + 'annotations/validation-image-metas.pkl', | ||
image_level_ann_file=data_root + | ||
'annotations/validation-annotations-human-imagelabels-boxable.csv', | ||
pipeline=test_pipeline)) | ||
evaluation = dict(interval=1, metric='mAP') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,35 @@ | ||
# AutoAssign: Differentiable Label Assignment for Dense Object Detection | ||
# AutoAssign | ||
|
||
## Abstract | ||
> [AutoAssign: Differentiable Label Assignment for Dense Object Detection](https://arxiv.org/abs/2007.03496) | ||
<!-- [ALGORITHM] --> | ||
|
||
<!-- [ABSTRACT] --> | ||
## Abstract | ||
|
||
Determining positive/negative samples for object detection is known as label assignment. Here we present an anchor-free detector named AutoAssign. It requires little human knowledge and achieves appearance-aware through a fully differentiable weighting mechanism. During training, to both satisfy the prior distribution of data and adapt to category characteristics, we present Center Weighting to adjust the category-specific prior distributions. To adapt to object appearances, Confidence Weighting is proposed to adjust the specific assign strategy of each instance. The two weighting modules are then combined to generate positive and negative weights to adjust each location's confidence. Extensive experiments on the MS COCO show that our method steadily surpasses other best sampling strategies by large margins with various backbones. Moreover, our best model achieves 52.1% AP, outperforming all existing one-stage detectors. Besides, experiments on other datasets, e.g., PASCAL VOC, Objects365, and WiderFace, demonstrate the broad applicability of AutoAssign. | ||
|
||
<!-- [IMAGE] --> | ||
<div align=center> | ||
<img src="https://user-images.githubusercontent.com/40661020/143870875-33567e44-0584-4470-9a90-0df0fb6c1fe2.png"/> | ||
</div> | ||
|
||
<!-- [PAPER_TITLE: AutoAssign: Differentiable Label Assignment for Dense Object Detection] --> | ||
<!-- [PAPER_URL: https://arxiv.org/abs/2007.03496] --> | ||
## Results and Models | ||
|
||
## Citation | ||
| Backbone | Style | Lr schd | Mem (GB) | box AP | Config | Download | | ||
| :------: | :---: | :-----: | :------: | :----: | :------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | ||
| R-50 | caffe | 1x | 4.08 | 40.4 | [config](https://github.com/open-mmlab/mmdetection/tree/master/configs/autoassign/autoassign_r50_fpn_8x2_1x_coco.py) | [model](https://download.openmmlab.com/mmdetection/v2.0/autoassign/auto_assign_r50_fpn_1x_coco/auto_assign_r50_fpn_1x_coco_20210413_115540-5e17991f.pth) \| [log](https://download.openmmlab.com/mmdetection/v2.0/autoassign/auto_assign_r50_fpn_1x_coco/auto_assign_r50_fpn_1x_coco_20210413_115540-5e17991f.log.json) | | ||
|
||
<!-- [ALGORITHM] --> | ||
**Note**: | ||
|
||
``` | ||
1. We find that the performance is unstable with 1x setting and may fluctuate by about 0.3 mAP. mAP 40.3 ~ 40.6 is acceptable. Such fluctuation can also be found in the original implementation. | ||
2. You can get a more stable results ~ mAP 40.6 with a schedule total 13 epoch, and learning rate is divided by 10 at 10th and 13th epoch. | ||
|
||
## Citation | ||
|
||
```latex | ||
@article{zhu2020autoassign, | ||
title={AutoAssign: Differentiable Label Assignment for Dense Object Detection}, | ||
author={Zhu, Benjin and Wang, Jianfeng and Jiang, Zhengkai and Zong, Fuhang and Liu, Songtao and Li, Zeming and Sun, Jian}, | ||
journal={arXiv preprint arXiv:2007.03496}, | ||
year={2020} | ||
} | ||
``` | ||
|
||
## Results and Models | ||
|
||
| Backbone | Style | Lr schd | Mem (GB) | box AP | Config | Download | | ||
|:---------:|:-------:|:-------:|:--------:|:------:|:------:|:--------:| | ||
| R-50 | caffe | 1x | 4.08 | 40.4 | [config](https://github.com/open-mmlab/mmdetection/tree/master/configs/autoassign/autoassign_r50_fpn_8x2_1x_coco.py) |[model](https://download.openmmlab.com/mmdetection/v2.0/autoassign/auto_assign_r50_fpn_1x_coco/auto_assign_r50_fpn_1x_coco_20210413_115540-5e17991f.pth) | [log](https://download.openmmlab.com/mmdetection/v2.0/autoassign/auto_assign_r50_fpn_1x_coco/auto_assign_r50_fpn_1x_coco_20210413_115540-5e17991f.log.json) | | ||
|
||
**Note**: | ||
|
||
1. We find that the performance is unstable with 1x setting and may fluctuate by about 0.3 mAP. mAP 40.3 ~ 40.6 is acceptable. Such fluctuation can also be found in the original implementation. | ||
2. You can get a more stable results ~ mAP 40.6 with a schedule total 13 epoch, and learning rate is divided by 10 at 10th and 13th epoch. |
Oops, something went wrong.