From c7e171caba6fa4a24c2aa4c9a3292edcd443cb6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haian=20Huang=28=E6=B7=B1=E5=BA=A6=E7=9C=B8=29?= <1286304229@qq.com> Date: Tue, 13 Jun 2023 17:16:50 +0800 Subject: [PATCH] Fix Panoptic config (#10495) --- mmdet/datasets/ade20k.py | 2 +- projects/XDecoder/README.md | 20 +++++++-------- .../xdecoder-tiny_open-vocab-panoptic.py | 2 +- ...ref-semseg.py => xdecoder-tiny_ref-seg.py} | 0 ...-tiny_zeroshot_open-vocab-instance_coco.py | 8 +----- ...-tiny_zeroshot_open-vocab-panoptic_coco.py | 25 ++++--------------- ...ny_zeroshot_open-vocab-ref-seg_refcocog.py | 5 ++++ ...zeroshot_open-vocab-ref-semseg_refcocog.py | 5 ---- ...er-tiny_zeroshot_open-vocab-semseg_coco.py | 6 +++-- .../configs/xdecoder-tiny_zeroshot_ref-seg.py | 3 --- 10 files changed, 27 insertions(+), 49 deletions(-) rename projects/XDecoder/configs/_base_/{xdecoder-tiny_ref-semseg.py => xdecoder-tiny_ref-seg.py} (100%) create mode 100644 projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-ref-seg_refcocog.py delete mode 100644 projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-ref-semseg_refcocog.py delete mode 100644 projects/XDecoder/configs/xdecoder-tiny_zeroshot_ref-seg.py diff --git a/mmdet/datasets/ade20k.py b/mmdet/datasets/ade20k.py index d765d8e54c6..c0c81809a00 100644 --- a/mmdet/datasets/ade20k.py +++ b/mmdet/datasets/ade20k.py @@ -266,6 +266,6 @@ def load_data_list(self) -> List[dict]: data_info['seg_map_path'] = osp.join(ann_dir, seg_map) data_info['label_map'] = self.label_map if self.return_classes: - data_info['text'] = list(self._metainfo('classes')) + data_info['text'] = list(self._metainfo['classes']) data_list.append(data_info) return data_list diff --git a/projects/XDecoder/README.md b/projects/XDecoder/README.md index 73da624d3e7..473424ac28b 100644 --- a/projects/XDecoder/README.md +++ b/projects/XDecoder/README.md @@ -60,12 +60,12 @@ Prepare your dataset according to the [docs](https://mmdetection.readthedocs.io/ **Test Command** ```shell -./tools/dist_test.sh projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-semseg_coco.py xdecoder_focalt_last_novg.pt 8 +./tools/dist_test.sh projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-semseg_coco.py xdecoder_focalt_last_novg.pt 8 --cfg-options model.test_cfg.use_thr_for_mc=False ``` -| Model | mIOU | Config | -| :------------------------------------------------ | :--: | :----------------------------------------------------------------: | -| `xdecoder-tiny_zeroshot_open-vocab-semseg_coco`\* | | [config](configs/xdecoder-tiny_zeroshot_open-vocab-semseg_coco.py) | +| Model | mIOU | mIOU(official) | Config | +| :------------------------------------------------ |:----:|---------------:| :----------------------------------------------------------------: | +| `xdecoder-tiny_zeroshot_open-vocab-semseg_coco`\* | 61.8 | 62.1 | [config](configs/xdecoder-tiny_zeroshot_open-vocab-semseg_coco.py) | ### Instance segmentation on COCO2017 @@ -77,9 +77,9 @@ Prepare your dataset according to the [docs](https://mmdetection.readthedocs.io/ ./tools/dist_test.sh projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-instance_coco.py xdecoder_focalt_last_novg.pt 8 ``` -| Model | mAP | Config | -| :-------------------------------------------------- | :--: | :------------------------------------------------------------------: | -| `xdecoder-tiny_zeroshot_open-vocab-instance_coco`\* | 39.7 | [config](configs/xdecoder-tiny_zeroshot_open-vocab-instance_coco.py) | +| Model | mAP | mAP(official) | Config | +| :-------------------------------------------------- | :--: | ------------: | :------------------------------------------------------------------: | +| `xdecoder-tiny_zeroshot_open-vocab-instance_coco`\* | 39.7 | 39.7 | [config](configs/xdecoder-tiny_zeroshot_open-vocab-instance_coco.py) | ### Panoptic segmentation on COCO2017 @@ -91,9 +91,9 @@ Prepare your dataset according to the [docs](https://mmdetection.readthedocs.io/ ./tools/dist_test.sh projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-panoptic_coco.py xdecoder_focalt_last_novg.pt 8 ``` -| Model | mIOU | Config | -| :-------------------------------------------------- | :--: | :------------------------------------------------------------------: | -| `xdecoder-tiny_zeroshot_open-vocab-panoptic_coco`\* | | [config](configs/xdecoder-tiny_zeroshot_open-vocab-panoptic_coco.py) | +| Model | PQ | PQ(official) | Config | +| :-------------------------------------------------- | :---: | :----------: | :------------------------------------------------------------------: | +| `xdecoder-tiny_zeroshot_open-vocab-panoptic_coco`\* | 51.16 | 51.16 | [config](configs/xdecoder-tiny_zeroshot_open-vocab-panoptic_coco.py) | ### Referring segmentation on RefCOCO diff --git a/projects/XDecoder/configs/_base_/xdecoder-tiny_open-vocab-panoptic.py b/projects/XDecoder/configs/_base_/xdecoder-tiny_open-vocab-panoptic.py index ff55320632d..0eaac442289 100644 --- a/projects/XDecoder/configs/_base_/xdecoder-tiny_open-vocab-panoptic.py +++ b/projects/XDecoder/configs/_base_/xdecoder-tiny_open-vocab-panoptic.py @@ -1,4 +1,4 @@ _base_ = 'xdecoder-tiny_open-vocab-semseg.py' model = dict( - head=dict(task='panoptic'), test_cfg=dict(mask_thr=0.8, overlap_thr=0.5)) + head=dict(task='panoptic'), test_cfg=dict(mask_thr=0.8, overlap_thr=0.8)) diff --git a/projects/XDecoder/configs/_base_/xdecoder-tiny_ref-semseg.py b/projects/XDecoder/configs/_base_/xdecoder-tiny_ref-seg.py similarity index 100% rename from projects/XDecoder/configs/_base_/xdecoder-tiny_ref-semseg.py rename to projects/XDecoder/configs/_base_/xdecoder-tiny_ref-seg.py diff --git a/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-instance_coco.py b/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-instance_coco.py index b55fb24ef01..0183ee5bc32 100644 --- a/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-instance_coco.py +++ b/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-instance_coco.py @@ -8,13 +8,7 @@ type='LoadImageFromFile', imdecode_backend='pillow', backend_args=_base_.backend_args), - dict( - type='FixScaleResize', - scale=800, - keep_ratio=True, - short_side_mode=True, - backend='pillow', - interpolation='bicubic'), + dict(type='Resize', scale=(1333, 800), backend='pillow', keep_ratio=True), dict( type='PackDetInputs', meta_keys=('img_id', 'img_path', 'ori_shape', 'img_shape', diff --git a/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-panoptic_coco.py b/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-panoptic_coco.py index 66a4ff61b89..690bd4ba340 100644 --- a/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-panoptic_coco.py +++ b/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-panoptic_coco.py @@ -3,27 +3,12 @@ 'mmdet::_base_/datasets/coco_panoptic.py' ] -# test_pipeline = [ -# dict( -# type='LoadImageFromFile', -# imdecode_backend='pillow', -# backend_args=_base_.backend_args), -# dict( -# type='FixScaleResize', -# scale=800, -# keep_ratio=True, -# short_side_mode=True, -# backend='pillow', -# interpolation='bicubic'), -# dict( -# type='PackDetInputs', -# meta_keys=('img_id', 'img_path', 'ori_shape', 'img_shape', -# 'scale_factor', 'text', 'stuff_text')) -# ] - test_pipeline = [ - dict(type='LoadImageFromFile', backend_args=_base_.backend_args), - dict(type='Resize', scale=(1333, 800), keep_ratio=True), + dict( + type='LoadImageFromFile', + imdecode_backend='pillow', + backend_args=_base_.backend_args), + dict(type='Resize', scale=(1333, 800), backend='pillow', keep_ratio=True), dict( type='PackDetInputs', meta_keys=('img_id', 'img_path', 'ori_shape', 'img_shape', diff --git a/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-ref-seg_refcocog.py b/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-ref-seg_refcocog.py new file mode 100644 index 00000000000..ebe45767747 --- /dev/null +++ b/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-ref-seg_refcocog.py @@ -0,0 +1,5 @@ +_base_ = [ + '_base_/xdecoder-tiny_ref-seg.py', 'mmdet::_base_/datasets/refcocog.py' +] + +test_dataloader = dict(dataset=dict(split='val')) diff --git a/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-ref-semseg_refcocog.py b/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-ref-semseg_refcocog.py deleted file mode 100644 index ed4bfb1bfea..00000000000 --- a/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-ref-semseg_refcocog.py +++ /dev/null @@ -1,5 +0,0 @@ -_base_ = [ - '_base_/xdecoder-tiny_ref-semseg.py', 'mmdet::_base_/datasets/refcocog.py' -] - -test_dataloader = dict(dataset=dict(split='val')) diff --git a/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-semseg_coco.py b/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-semseg_coco.py index 0ea725a5b2b..58458247939 100644 --- a/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-semseg_coco.py +++ b/projects/XDecoder/configs/xdecoder-tiny_zeroshot_open-vocab-semseg_coco.py @@ -4,8 +4,10 @@ data_root = 'data/coco/' test_pipeline = [ - dict(type='LoadImageFromFile'), - dict(type='Resize', scale=(1333, 800), keep_ratio=True), + dict( + type='LoadImageFromFile', imdecode_backend='pillow', + backend_args=None), + dict(type='Resize', scale=(1333, 800), backend='pillow', keep_ratio=True), dict( type='LoadAnnotations', with_bbox=False, diff --git a/projects/XDecoder/configs/xdecoder-tiny_zeroshot_ref-seg.py b/projects/XDecoder/configs/xdecoder-tiny_zeroshot_ref-seg.py deleted file mode 100644 index 4742ba353a5..00000000000 --- a/projects/XDecoder/configs/xdecoder-tiny_zeroshot_ref-seg.py +++ /dev/null @@ -1,3 +0,0 @@ -_base_ = 'xdecoder-tiny_zeroshot_open-vocab-semseg_ade20k.py' - -model = dict(head=dict(task='ref-seg'))