Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

The Official PyTorch Implementation of DiscoBox.

License

NotificationsYou must be signed in to change notification settings

NVlabs/DiscoBox

Repository files navigation

NVIDIA Source Code LicensePython 3.8

We quit maintaining this project. Please check our new work,Mask Auto-labeler for more powerful models

DiscoBox: Weakly Supervised Instance Segmentation and Semantic Correspondence from Box Supervision

output

DiscoBox: Weakly Supervised Instance Segmentation and Semantic Correspondence from Box Supervision.
Shiyi Lan,Zhiding Yu,Chris Choy,Subhashree Radhakrishnan,Guilin Liu,Yuke Zhu,Larry Davis,Anima Anandkumar
International Conference on Computer Vision (ICCV) 2021

This repository contains the official Pytorch implementation of training & evaluation code and pretrained models forDiscoBox.DiscoBox is a state of the art framework that can jointly predict high quality instance segmentation and semantic correspondence from box annotations.

We useMMDetection v2.10.0 as the codebase.

All of our models are trained and tested usingautomatic mixed precision, which leverages float16 for speedup and less GPU memory consumption.

Installation

This implementation is based onPyTorch==1.9.0,mmcv==1.3.13, andmmdetection==2.10.0

Please refer toget_started.md for installation.

Or you can download the docker image fromour dockerhub repository.

Models

Results on COCO val 2017

BackboneWeightsAPAP@50AP@75AP@SmallAP@MediumAP@Large
ResNet-50download30.752.630.613.334.145.6
ResNet-101-DCNdownload35.359.135.416.939.253.0
ResNeXt-101-DCNdownload37.360.439.117.841.155.4

Results on COCO test-dev

We also evaluate the models in the sectionResults on COCO val 2017 with thesame weights on COCO test-dev.

BackboneWeightsAPAP@50AP@75AP@SmallAP@MediumAP@Large
ResNet-50download32.053.632.611.733.748.4
ResNet-101-DCNdownload35.859.836.416.938.752.1
ResNeXt-101-DCNdownload37.961.440.018.041.153.9

Training

COCO

ResNet-50 (8 GPUs):

bash tools/dist_train.sh \     configs/discobox/discobox_solov2_r50_fpn_3x.py 8

ResNet-101-DCN (8 GPUs):

bash tools/dist_train.sh \     configs/discobox/discobox_solov2_r101_dcn_fpn_3x.py 8

ResNeXt-101-DCN (8 GPUs):

bash tools/dist_train.sh \     configs/discobox/discobox_solov2_x101_dcn_fpn_3x.py 8

Pascal VOC 2012

ResNet-50 (4 GPUs):

bash tools/dist_train.sh \     configs/discobox/discobox_solov2_voc_r50_fpn_6x.py 4

ResNet-101 (4 GPUs):

bash tools/dist_train.sh \     configs/discobox/discobox_solov2_voc_r101_fpn_6x.py 4

Testing

COCO

ResNet-50 (8 GPUs):

bash tools/dist_test.sh \     configs/discobox/discobox_solov2_r50_fpn_3x.py \     work_dirs/coco_r50_fpn_3x.pth 8 --eval segm

ResNet-101-DCN (8 GPUs):

bash tools/dist_test.sh \     configs/discobox/discobox_solov2_r101_dcn_fpn_3x.py \     work_dirs/coco_r101_dcn_fpn_3x.pth 8 --eval segm

ResNeXt-101-DCN (GPUs):

bash tools/dist_test.sh \     configs/discobox/discobox_solov2_x101_dcn_fpn_3x_fp16.py \     work_dirs/coco_x101_dcn_fpn_3x.pth 8 --eval segm

Box-conditioned inference

You can useDiscoBox for autolabeling given images and tight bounding boxes. We call this box-conditioned inference. Here is an example of box-conditioned inference on COCO val2017 withx101_dcn_fpn arch:

bash tools/dist_test.sh \     config/discobox/boxcond_discobox_solov2_x101_dcn_fpn_3x.py \     work_dirs/x101_dcn_fpn_coco_3x.pth 8 \     --format-only \     --options "jsonfile_prefix=work_dirs/coco_x101_dcn_fpn_results.json"

Pascal VOC 2012 (COCO API)

ResNet-50 (4 GPUs):

bash tools/dist_test.sh \     configs/discobox/discobox_solov2_voc_r50_fpn_3x_fp16.py \     work_dirs/voc_r50_6x.pth 4 --eval segm

ResNet-101 (4 GPUs):

bash tools/dist_test.sh \     configs/discobox/discobox_solov2_voc_r101_fpn_3x_fp16.py \     work_dirs/voc_r101_6x.pth 4 --eval segm

Pascal VOC 2012 (Matlab)

Step 1: generate results

ResNet-50 (4 GPUs):

bash tools/dist_test.sh \     configs/discobox/discobox_solov2_voc_r50_fpn_3x_fp16.py \     work_dirs/voc_r50_6x.pth 4 \     --format-only \     --options "jsonfile_prefix=work_dirs/voc_r50_results.json"

ResNet-101 (4 GPUs):

bash tools/dist_test.sh \     configs/discobox/discobox_solov2_voc_r101_fpn_3x_fp16.py \     work_dirs/voc_r101_6x.pth 4 \     --format-only \     --options "jsonfile_prefix=work_dirs/voc_r101_results.json"

Step 2: format conversion

ResNet-50:

python tools/json2mat.py work_dirs/voc_r50_results.json work_dirs/voc_r50_results.mat

ResNet-101:

python tools/json2mat.py work_dirs/voc_r101_results.json work_dirs/voc_r101_results.mat

Step 3: evaluation

Please visitBBTP for the evaluation code written in Matlab.

PF-Pascal

Please visitthis repository.

Visualization

ResNeXt-101

python tools/test.py configs/discobox/discobox_solov2_x101_dcn_fpn_3x.py coco_x101_dcn_fpn_3x.pth --show --show-dir discobox_vis_x101

LICENSE

Please check the LICENSE file. DiscoBox may be used non-commercially, meaning for research orevaluation purposes only. For business inquiries, please contactresearchinquiries@nvidia.com.

Citation

@article{lan2021discobox,title={DiscoBox: Weakly Supervised Instance Segmentation and Semantic Correspondence from Box Supervision},author={Lan, Shiyi and Yu, Zhiding and Choy, Christopher and Radhakrishnan, Subhashree and Liu, Guilin and Zhu, Yuke and Davis, Larry S and Anandkumar, Anima},journal={arXiv preprint arXiv:2105.06464},year={2021}}

[8]ページ先頭

©2009-2025 Movatter.jp