Home

Awesome

OPANAS: One-Shot Path Aggregation Network Architecture Search for Object Detection

Contact us with tingtingliang@pku.edu.cn, wyt@pku.edu.cn.

Introduction

This project provides an implementation for our CVPR2021 paper "OPANAS: One-Shot Path Aggregation Network Architecture Search for Object Detection" on PyTorch. The search code is coming soon.

Citation

If you use our code/model/data, please cite our paper

@inproceedings{liang2021opanas,
  title={Opanas: One-shot path aggregation network architecture search for object detection},
  author={Liang, Tingting and Wang, Yongtao and Tang, Zhi and Hu, Guosheng and Ling, Haibin},
  booktitle={Proceedings of the IEEE/CVF conference on computer vision and pattern recognition},
  pages={10195--10203},
  year={2021}
}

License

The project is only free for academic research purposes, but needs authorization for commerce. For commerce permission, please contact wyt@pku.edu.cn.

Models

Results on COCO. Note that our Faster R-CNN uses smooth L1 loss following the original paper.

MethodBackboneLr schdbox AP (val)box AP (test-dev)Download
Faster R-CNNR-501x39.640.1model
Cascade R-CNNR2-1012x51.852.2model

Installation

Please refer to install.md for installation and dataset preparation. You need to install mmdetection (version 2.4.0 with mmcv 1.1.6) firstly. More guidance can be found from mmdeteion.

Getting Started

Please see getting_started.md for the basic usage of MMDetection. We use 8 GPUs (32GB V100) to train our detector, you can adjust the batch size in configs by yourselves.


# Train
./tools/dist_train.sh configs/opanas/faster_rcnn_r50_opa_fpn_112_sml1_coco.py 8
./tools/dist_train.sh configs/opanas/cascade_rcnn_2r101_dcn_opa_fpn_160_2x_ms_coco.py 8

# Test
./tools/dist_test.sh configs/opanas/faster_rcnn_r50_opa_fpn_112_sml1_coco.py /path/to/your/save_dir/faster_opa_396.pth 8 --eval bbox
./tools/dist_test.sh configs/opanas/cascade_rcnn_2r101_dcn_opa_fpn_160_2x_ms_coco.py /path/to/your/save_dir/cascade_opa_522.pth 8 --eval bbox

Acknowledgement

This repo is developed based on mmdeteion and SEPC. Please check mmdetection for more details and features.