first commit

This commit is contained in:
admin
2026-05-20 15:05:35 +08:00
commit ac09b26253
2048 changed files with 189478 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
# CCNet
> [CCNet: Criss-Cross Attention for Semantic Segmentation](https://arxiv.org/abs/1811.11721)
## Introduction
<!-- [ALGORITHM] -->
<a href="https://github.com/speedinghzl/CCNet">Official Repo</a>
<a href="https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111">Code Snippet</a>
## Abstract
<!-- [ABSTRACT] -->
Contextual information is vital in visual understanding problems, such as semantic segmentation and object detection. We propose a Criss-Cross Network (CCNet) for obtaining full-image contextual information in a very effective and efficient way. Concretely, for each pixel, a novel criss-cross attention module harvests the contextual information of all the pixels on its criss-cross path. By taking a further recurrent operation, each pixel can finally capture the full-image dependencies. Besides, a category consistent loss is proposed to enforce the criss-cross attention module to produce more discriminative features. Overall, CCNet is with the following merits: 1) GPU memory friendly. Compared with the non-local block, the proposed recurrent criss-cross attention module requires 11x less GPU memory usage. 2) High computational efficiency. The recurrent criss-cross attention significantly reduces FLOPs by about 85% of the non-local block. 3) The state-of-the-art performance. We conduct extensive experiments on semantic segmentation benchmarks including Cityscapes, ADE20K, human parsing benchmark LIP, instance segmentation benchmark COCO, video segmentation benchmark CamVid. In particular, our CCNet achieves the mIoU scores of 81.9%, 45.76% and 55.47% on the Cityscapes test set, the ADE20K validation set and the LIP validation set respectively, which are the new state-of-the-art results. The source codes are available at [this https URL](https://github.com/speedinghzl/CCNet).
<!-- [IMAGE] -->
<div align=center>
<img src="https://user-images.githubusercontent.com/24582831/142899159-b329c12a-0fde-44df-8718-def6cfb004e4.png" width="70%"/>
</div>
## Results and models
### Cityscapes
| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | Device | mIoU | mIoU(ms+flip) | config | download |
| ------ | -------- | --------- | ------: | -------- | -------------- | ------ | ----: | ------------: | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CCNet | R-50-D8 | 512x1024 | 40000 | 6 | 3.32 | V100 | 77.76 | 78.87 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r50-d8_4xb2-40k_cityscapes-512x1024.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x1024_40k_cityscapes/ccnet_r50-d8_512x1024_40k_cityscapes_20200616_142517-4123f401.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x1024_40k_cityscapes/ccnet_r50-d8_512x1024_40k_cityscapes_20200616_142517.log.json) |
| CCNet | R-101-D8 | 512x1024 | 40000 | 9.5 | 2.31 | V100 | 76.35 | 78.19 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r101-d8_4xb2-40k_cityscapes-512x1024.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x1024_40k_cityscapes/ccnet_r101-d8_512x1024_40k_cityscapes_20200616_142540-a3b84ba6.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x1024_40k_cityscapes/ccnet_r101-d8_512x1024_40k_cityscapes_20200616_142540.log.json) |
| CCNet | R-50-D8 | 769x769 | 40000 | 6.8 | 1.43 | V100 | 78.46 | 79.93 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r50-d8_4xb2-40k_cityscapes-769x769.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_769x769_40k_cityscapes/ccnet_r50-d8_769x769_40k_cityscapes_20200616_145125-76d11884.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_769x769_40k_cityscapes/ccnet_r50-d8_769x769_40k_cityscapes_20200616_145125.log.json) |
| CCNet | R-101-D8 | 769x769 | 40000 | 10.7 | 1.01 | V100 | 76.94 | 78.62 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r101-d8_4xb2-40k_cityscapes-769x769.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_769x769_40k_cityscapes/ccnet_r101-d8_769x769_40k_cityscapes_20200617_101428-4f57c8d0.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_769x769_40k_cityscapes/ccnet_r101-d8_769x769_40k_cityscapes_20200617_101428.log.json) |
| CCNet | R-50-D8 | 512x1024 | 80000 | - | - | V100 | 79.03 | 80.16 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r50-d8_4xb2-80k_cityscapes-512x1024.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x1024_80k_cityscapes/ccnet_r50-d8_512x1024_80k_cityscapes_20200617_010421-869a3423.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x1024_80k_cityscapes/ccnet_r50-d8_512x1024_80k_cityscapes_20200617_010421.log.json) |
| CCNet | R-101-D8 | 512x1024 | 80000 | - | - | V100 | 78.87 | 79.90 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r101-d8_4xb2-80k_cityscapes-512x1024.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x1024_80k_cityscapes/ccnet_r101-d8_512x1024_80k_cityscapes_20200617_203935-ffae8917.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x1024_80k_cityscapes/ccnet_r101-d8_512x1024_80k_cityscapes_20200617_203935.log.json) |
| CCNet | R-50-D8 | 769x769 | 80000 | - | - | V100 | 79.29 | 81.08 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r50-d8_4xb2-80k_cityscapes-769x769.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_769x769_80k_cityscapes/ccnet_r50-d8_769x769_80k_cityscapes_20200617_010421-73eed8ca.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_769x769_80k_cityscapes/ccnet_r50-d8_769x769_80k_cityscapes_20200617_010421.log.json) |
| CCNet | R-101-D8 | 769x769 | 80000 | - | - | V100 | 79.45 | 80.66 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r101-d8_4xb2-80k_cityscapes-769x769.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_769x769_80k_cityscapes/ccnet_r101-d8_769x769_80k_cityscapes_20200618_011502-ad3cd481.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_769x769_80k_cityscapes/ccnet_r101-d8_769x769_80k_cityscapes_20200618_011502.log.json) |
### ADE20K
| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | Device | mIoU | mIoU(ms+flip) | config | download |
| ------ | -------- | --------- | ------: | -------- | -------------- | ------ | ----: | ------------: | ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CCNet | R-50-D8 | 512x512 | 80000 | 8.8 | 20.89 | V100 | 41.78 | 42.98 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r50-d8_4xb4-80k_ade20k-512x512.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_80k_ade20k/ccnet_r50-d8_512x512_80k_ade20k_20200615_014848-aa37f61e.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_80k_ade20k/ccnet_r50-d8_512x512_80k_ade20k_20200615_014848.log.json) |
| CCNet | R-101-D8 | 512x512 | 80000 | 12.2 | 14.11 | V100 | 43.97 | 45.13 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r101-d8_4xb4-80k_ade20k-512x512.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_80k_ade20k/ccnet_r101-d8_512x512_80k_ade20k_20200615_014848-1f4929a3.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_80k_ade20k/ccnet_r101-d8_512x512_80k_ade20k_20200615_014848.log.json) |
| CCNet | R-50-D8 | 512x512 | 160000 | - | - | V100 | 42.08 | 43.13 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r50-d8_4xb4-160k_ade20k-512x512.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_160k_ade20k/ccnet_r50-d8_512x512_160k_ade20k_20200616_084435-7c97193b.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_160k_ade20k/ccnet_r50-d8_512x512_160k_ade20k_20200616_084435.log.json) |
| CCNet | R-101-D8 | 512x512 | 160000 | - | - | V100 | 43.71 | 45.04 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r101-d8_4xb4-160k_ade20k-512x512.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_160k_ade20k/ccnet_r101-d8_512x512_160k_ade20k_20200616_000644-e849e007.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_160k_ade20k/ccnet_r101-d8_512x512_160k_ade20k_20200616_000644.log.json) |
### Pascal VOC 2012 + Aug
| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | Device | mIoU | mIoU(ms+flip) | config | download |
| ------ | -------- | --------- | ------: | -------- | -------------- | ------ | ----: | ------------: | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CCNet | R-50-D8 | 512x512 | 20000 | 6 | 20.45 | V100 | 76.17 | 77.51 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r50-d8_4xb4-20k_voc12aug-512x512.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_20k_voc12aug/ccnet_r50-d8_512x512_20k_voc12aug_20200617_193212-fad81784.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_20k_voc12aug/ccnet_r50-d8_512x512_20k_voc12aug_20200617_193212.log.json) |
| CCNet | R-101-D8 | 512x512 | 20000 | 9.5 | 13.64 | V100 | 77.27 | 79.02 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r101-d8_4xb4-20k_voc12aug-512x512.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_20k_voc12aug/ccnet_r101-d8_512x512_20k_voc12aug_20200617_193212-0007b61d.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_20k_voc12aug/ccnet_r101-d8_512x512_20k_voc12aug_20200617_193212.log.json) |
| CCNet | R-50-D8 | 512x512 | 40000 | - | - | V100 | 75.96 | 77.04 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r50-d8_4xb4-40k_voc12aug-512x512.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_40k_voc12aug/ccnet_r50-d8_512x512_40k_voc12aug_20200613_232127-c2a15f02.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_40k_voc12aug/ccnet_r50-d8_512x512_40k_voc12aug_20200613_232127.log.json) |
| CCNet | R-101-D8 | 512x512 | 40000 | - | - | V100 | 77.87 | 78.90 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/ccnet/ccnet_r101-d8_4xb4-40k_voc12aug-512x512.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_40k_voc12aug/ccnet_r101-d8_512x512_40k_voc12aug_20200613_232127-c30da577.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_40k_voc12aug/ccnet_r101-d8_512x512_40k_voc12aug_20200613_232127.log.json) |
## Citation
```bibtex
@article{huang2018ccnet,
title={CCNet: Criss-Cross Attention for Semantic Segmentation},
author={Huang, Zilong and Wang, Xinggang and Huang, Lichao and Huang, Chang and Wei, Yunchao and Liu, Wenyu},
booktitle={ICCV},
year={2019}
}
```

View File

@@ -0,0 +1,2 @@
_base_ = './ccnet_r50-d8_4xb2-40k_cityscapes-512x1024.py'
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))

View File

@@ -0,0 +1,2 @@
_base_ = './ccnet_r50-d8_4xb2-40k_cityscapes-769x769.py'
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))

View File

@@ -0,0 +1,2 @@
_base_ = './ccnet_r50-d8_4xb2-80k_cityscapes-512x1024.py'
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))

View File

@@ -0,0 +1,2 @@
_base_ = './ccnet_r50-d8_4xb2-80k_cityscapes-769x769.py'
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))

View File

@@ -0,0 +1,2 @@
_base_ = './ccnet_r50-d8_4xb4-160k_ade20k-512x512.py'
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))

View File

@@ -0,0 +1,2 @@
_base_ = './ccnet_r50-d8_4xb4-20k_voc12aug-512x512.py'
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))

View File

@@ -0,0 +1,2 @@
_base_ = './ccnet_r50-d8_4xb4-40k_voc12aug-512x512.py'
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))

View File

@@ -0,0 +1,2 @@
_base_ = './ccnet_r50-d8_4xb4-80k_ade20k-512x512.py'
model = dict(pretrained='open-mmlab://resnet101_v1c', backbone=dict(depth=101))

View File

@@ -0,0 +1,7 @@
_base_ = [
'../_base_/models/ccnet_r50-d8.py', '../_base_/datasets/cityscapes.py',
'../_base_/default_runtime.py', '../_base_/schedules/schedule_40k.py'
]
crop_size = (512, 1024)
data_preprocessor = dict(size=crop_size)
model = dict(data_preprocessor=data_preprocessor)

View File

@@ -0,0 +1,12 @@
_base_ = [
'../_base_/models/ccnet_r50-d8.py',
'../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py',
'../_base_/schedules/schedule_40k.py'
]
crop_size = (769, 769)
data_preprocessor = dict(size=crop_size)
model = dict(
data_preprocessor=data_preprocessor,
decode_head=dict(align_corners=True),
auxiliary_head=dict(align_corners=True),
test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513)))

View File

@@ -0,0 +1,7 @@
_base_ = [
'../_base_/models/ccnet_r50-d8.py', '../_base_/datasets/cityscapes.py',
'../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py'
]
crop_size = (512, 1024)
data_preprocessor = dict(size=crop_size)
model = dict(data_preprocessor=data_preprocessor)

View File

@@ -0,0 +1,12 @@
_base_ = [
'../_base_/models/ccnet_r50-d8.py',
'../_base_/datasets/cityscapes_769x769.py', '../_base_/default_runtime.py',
'../_base_/schedules/schedule_80k.py'
]
crop_size = (769, 769)
data_preprocessor = dict(size=crop_size)
model = dict(
data_preprocessor=data_preprocessor,
decode_head=dict(align_corners=True),
auxiliary_head=dict(align_corners=True),
test_cfg=dict(mode='slide', crop_size=(769, 769), stride=(513, 513)))

View File

@@ -0,0 +1,10 @@
_base_ = [
'../_base_/models/ccnet_r50-d8.py', '../_base_/datasets/ade20k.py',
'../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py'
]
crop_size = (512, 512)
data_preprocessor = dict(size=crop_size)
model = dict(
data_preprocessor=data_preprocessor,
decode_head=dict(num_classes=150),
auxiliary_head=dict(num_classes=150))

View File

@@ -0,0 +1,11 @@
_base_ = [
'../_base_/models/ccnet_r50-d8.py',
'../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py',
'../_base_/schedules/schedule_20k.py'
]
crop_size = (512, 512)
data_preprocessor = dict(size=crop_size)
model = dict(
data_preprocessor=data_preprocessor,
decode_head=dict(num_classes=21),
auxiliary_head=dict(num_classes=21))

View File

@@ -0,0 +1,11 @@
_base_ = [
'../_base_/models/ccnet_r50-d8.py',
'../_base_/datasets/pascal_voc12_aug.py', '../_base_/default_runtime.py',
'../_base_/schedules/schedule_40k.py'
]
crop_size = (512, 512)
data_preprocessor = dict(size=crop_size)
model = dict(
data_preprocessor=data_preprocessor,
decode_head=dict(num_classes=21),
auxiliary_head=dict(num_classes=21))

View File

@@ -0,0 +1,10 @@
_base_ = [
'../_base_/models/ccnet_r50-d8.py', '../_base_/datasets/ade20k.py',
'../_base_/default_runtime.py', '../_base_/schedules/schedule_80k.py'
]
crop_size = (512, 512)
data_preprocessor = dict(size=crop_size)
model = dict(
data_preprocessor=data_preprocessor,
decode_head=dict(num_classes=150),
auxiliary_head=dict(num_classes=150))

View File

@@ -0,0 +1,391 @@
Collections:
- Name: CCNet
License: Apache License 2.0
Metadata:
Training Data:
- Cityscapes
- ADE20K
- Pascal VOC 2012 + Aug
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
README: configs/ccnet/README.md
Frameworks:
- PyTorch
Models:
- Name: ccnet_r50-d8_4xb2-40k_cityscapes-512x1024
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Cityscapes
Metrics:
mIoU: 77.76
mIoU(ms+flip): 78.87
Config: configs/ccnet/ccnet_r50-d8_4xb2-40k_cityscapes-512x1024.py
Metadata:
Training Data: Cityscapes
Batch Size: 8
Architecture:
- R-50-D8
- CCNet
Training Resources: 4x V100 GPUS
Memory (GB): 6.0
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x1024_40k_cityscapes/ccnet_r50-d8_512x1024_40k_cityscapes_20200616_142517-4123f401.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x1024_40k_cityscapes/ccnet_r50-d8_512x1024_40k_cityscapes_20200616_142517.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r101-d8_4xb2-40k_cityscapes-512x1024
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Cityscapes
Metrics:
mIoU: 76.35
mIoU(ms+flip): 78.19
Config: configs/ccnet/ccnet_r101-d8_4xb2-40k_cityscapes-512x1024.py
Metadata:
Training Data: Cityscapes
Batch Size: 8
Architecture:
- R-101-D8
- CCNet
Training Resources: 4x V100 GPUS
Memory (GB): 9.5
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x1024_40k_cityscapes/ccnet_r101-d8_512x1024_40k_cityscapes_20200616_142540-a3b84ba6.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x1024_40k_cityscapes/ccnet_r101-d8_512x1024_40k_cityscapes_20200616_142540.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r50-d8_4xb2-40k_cityscapes-769x769
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Cityscapes
Metrics:
mIoU: 78.46
mIoU(ms+flip): 79.93
Config: configs/ccnet/ccnet_r50-d8_4xb2-40k_cityscapes-769x769.py
Metadata:
Training Data: Cityscapes
Batch Size: 8
Architecture:
- R-50-D8
- CCNet
Training Resources: 4x V100 GPUS
Memory (GB): 6.8
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_769x769_40k_cityscapes/ccnet_r50-d8_769x769_40k_cityscapes_20200616_145125-76d11884.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_769x769_40k_cityscapes/ccnet_r50-d8_769x769_40k_cityscapes_20200616_145125.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r101-d8_4xb2-40k_cityscapes-769x769
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Cityscapes
Metrics:
mIoU: 76.94
mIoU(ms+flip): 78.62
Config: configs/ccnet/ccnet_r101-d8_4xb2-40k_cityscapes-769x769.py
Metadata:
Training Data: Cityscapes
Batch Size: 8
Architecture:
- R-101-D8
- CCNet
Training Resources: 4x V100 GPUS
Memory (GB): 10.7
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_769x769_40k_cityscapes/ccnet_r101-d8_769x769_40k_cityscapes_20200617_101428-4f57c8d0.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_769x769_40k_cityscapes/ccnet_r101-d8_769x769_40k_cityscapes_20200617_101428.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r50-d8_4xb2-80k_cityscapes-512x1024
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Cityscapes
Metrics:
mIoU: 79.03
mIoU(ms+flip): 80.16
Config: configs/ccnet/ccnet_r50-d8_4xb2-80k_cityscapes-512x1024.py
Metadata:
Training Data: Cityscapes
Batch Size: 8
Architecture:
- R-50-D8
- CCNet
Training Resources: 4x V100 GPUS
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x1024_80k_cityscapes/ccnet_r50-d8_512x1024_80k_cityscapes_20200617_010421-869a3423.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x1024_80k_cityscapes/ccnet_r50-d8_512x1024_80k_cityscapes_20200617_010421.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r101-d8_4xb2-80k_cityscapes-512x1024
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Cityscapes
Metrics:
mIoU: 78.87
mIoU(ms+flip): 79.9
Config: configs/ccnet/ccnet_r101-d8_4xb2-80k_cityscapes-512x1024.py
Metadata:
Training Data: Cityscapes
Batch Size: 8
Architecture:
- R-101-D8
- CCNet
Training Resources: 4x V100 GPUS
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x1024_80k_cityscapes/ccnet_r101-d8_512x1024_80k_cityscapes_20200617_203935-ffae8917.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x1024_80k_cityscapes/ccnet_r101-d8_512x1024_80k_cityscapes_20200617_203935.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r50-d8_4xb2-80k_cityscapes-769x769
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Cityscapes
Metrics:
mIoU: 79.29
mIoU(ms+flip): 81.08
Config: configs/ccnet/ccnet_r50-d8_4xb2-80k_cityscapes-769x769.py
Metadata:
Training Data: Cityscapes
Batch Size: 8
Architecture:
- R-50-D8
- CCNet
Training Resources: 4x V100 GPUS
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_769x769_80k_cityscapes/ccnet_r50-d8_769x769_80k_cityscapes_20200617_010421-73eed8ca.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_769x769_80k_cityscapes/ccnet_r50-d8_769x769_80k_cityscapes_20200617_010421.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r101-d8_4xb2-80k_cityscapes-769x769
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Cityscapes
Metrics:
mIoU: 79.45
mIoU(ms+flip): 80.66
Config: configs/ccnet/ccnet_r101-d8_4xb2-80k_cityscapes-769x769.py
Metadata:
Training Data: Cityscapes
Batch Size: 8
Architecture:
- R-101-D8
- CCNet
Training Resources: 4x V100 GPUS
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_769x769_80k_cityscapes/ccnet_r101-d8_769x769_80k_cityscapes_20200618_011502-ad3cd481.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_769x769_80k_cityscapes/ccnet_r101-d8_769x769_80k_cityscapes_20200618_011502.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r50-d8_4xb4-80k_ade20k-512x512
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: ADE20K
Metrics:
mIoU: 41.78
mIoU(ms+flip): 42.98
Config: configs/ccnet/ccnet_r50-d8_4xb4-80k_ade20k-512x512.py
Metadata:
Training Data: ADE20K
Batch Size: 16
Architecture:
- R-50-D8
- CCNet
Training Resources: 4x V100 GPUS
Memory (GB): 8.8
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_80k_ade20k/ccnet_r50-d8_512x512_80k_ade20k_20200615_014848-aa37f61e.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_80k_ade20k/ccnet_r50-d8_512x512_80k_ade20k_20200615_014848.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r101-d8_4xb4-80k_ade20k-512x512
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: ADE20K
Metrics:
mIoU: 43.97
mIoU(ms+flip): 45.13
Config: configs/ccnet/ccnet_r101-d8_4xb4-80k_ade20k-512x512.py
Metadata:
Training Data: ADE20K
Batch Size: 16
Architecture:
- R-101-D8
- CCNet
Training Resources: 4x V100 GPUS
Memory (GB): 12.2
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_80k_ade20k/ccnet_r101-d8_512x512_80k_ade20k_20200615_014848-1f4929a3.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_80k_ade20k/ccnet_r101-d8_512x512_80k_ade20k_20200615_014848.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r50-d8_4xb4-160k_ade20k-512x512
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: ADE20K
Metrics:
mIoU: 42.08
mIoU(ms+flip): 43.13
Config: configs/ccnet/ccnet_r50-d8_4xb4-160k_ade20k-512x512.py
Metadata:
Training Data: ADE20K
Batch Size: 16
Architecture:
- R-50-D8
- CCNet
Training Resources: 4x V100 GPUS
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_160k_ade20k/ccnet_r50-d8_512x512_160k_ade20k_20200616_084435-7c97193b.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_160k_ade20k/ccnet_r50-d8_512x512_160k_ade20k_20200616_084435.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r101-d8_4xb4-160k_ade20k-512x512
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: ADE20K
Metrics:
mIoU: 43.71
mIoU(ms+flip): 45.04
Config: configs/ccnet/ccnet_r101-d8_4xb4-160k_ade20k-512x512.py
Metadata:
Training Data: ADE20K
Batch Size: 16
Architecture:
- R-101-D8
- CCNet
Training Resources: 4x V100 GPUS
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_160k_ade20k/ccnet_r101-d8_512x512_160k_ade20k_20200616_000644-e849e007.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_160k_ade20k/ccnet_r101-d8_512x512_160k_ade20k_20200616_000644.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r50-d8_4xb4-20k_voc12aug-512x512
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Pascal VOC 2012 + Aug
Metrics:
mIoU: 76.17
mIoU(ms+flip): 77.51
Config: configs/ccnet/ccnet_r50-d8_4xb4-20k_voc12aug-512x512.py
Metadata:
Training Data: Pascal VOC 2012 + Aug
Batch Size: 16
Architecture:
- R-50-D8
- CCNet
Training Resources: 4x V100 GPUS
Memory (GB): 6.0
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_20k_voc12aug/ccnet_r50-d8_512x512_20k_voc12aug_20200617_193212-fad81784.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_20k_voc12aug/ccnet_r50-d8_512x512_20k_voc12aug_20200617_193212.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r101-d8_4xb4-20k_voc12aug-512x512
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Pascal VOC 2012 + Aug
Metrics:
mIoU: 77.27
mIoU(ms+flip): 79.02
Config: configs/ccnet/ccnet_r101-d8_4xb4-20k_voc12aug-512x512.py
Metadata:
Training Data: Pascal VOC 2012 + Aug
Batch Size: 16
Architecture:
- R-101-D8
- CCNet
Training Resources: 4x V100 GPUS
Memory (GB): 9.5
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_20k_voc12aug/ccnet_r101-d8_512x512_20k_voc12aug_20200617_193212-0007b61d.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_20k_voc12aug/ccnet_r101-d8_512x512_20k_voc12aug_20200617_193212.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r50-d8_4xb4-40k_voc12aug-512x512
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Pascal VOC 2012 + Aug
Metrics:
mIoU: 75.96
mIoU(ms+flip): 77.04
Config: configs/ccnet/ccnet_r50-d8_4xb4-40k_voc12aug-512x512.py
Metadata:
Training Data: Pascal VOC 2012 + Aug
Batch Size: 16
Architecture:
- R-50-D8
- CCNet
Training Resources: 4x V100 GPUS
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_40k_voc12aug/ccnet_r50-d8_512x512_40k_voc12aug_20200613_232127-c2a15f02.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r50-d8_512x512_40k_voc12aug/ccnet_r50-d8_512x512_40k_voc12aug_20200613_232127.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch
- Name: ccnet_r101-d8_4xb4-40k_voc12aug-512x512
In Collection: CCNet
Results:
Task: Semantic Segmentation
Dataset: Pascal VOC 2012 + Aug
Metrics:
mIoU: 77.87
mIoU(ms+flip): 78.9
Config: configs/ccnet/ccnet_r101-d8_4xb4-40k_voc12aug-512x512.py
Metadata:
Training Data: Pascal VOC 2012 + Aug
Batch Size: 16
Architecture:
- R-101-D8
- CCNet
Training Resources: 4x V100 GPUS
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_40k_voc12aug/ccnet_r101-d8_512x512_40k_voc12aug_20200613_232127-c30da577.pth
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/ccnet/ccnet_r101-d8_512x512_40k_voc12aug/ccnet_r101-d8_512x512_40k_voc12aug_20200613_232127.log.json
Paper:
Title: 'CCNet: Criss-Cross Attention for Semantic Segmentation'
URL: https://arxiv.org/abs/1811.11721
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.17.0/mmseg/models/decode_heads/apc_head.py#L111
Framework: PyTorch

View File

@@ -0,0 +1,105 @@
_base_ = [
'../_base_/models/ccnet_r50-d8.py',
'../_base_/datasets/my_dataset_model.py',
'../_base_/default_runtime.py',
'../_base_/schedules/schedule_40k_check_4000.py',
]
norm_cfg = dict(
type='BN',
)
crop_size = (512, 512)
data_preprocessor = dict(
size=(512, 512),
mean=[
94.94709810464303,
61.72942233949928,
75.93763705236906,
],
std=[
44.005506081132594,
42.69595666984776,
44.99354156225523,
],
bgr_to_rgb=False,
)
model = dict(
pretrained='./My_Local_Model/open_mmlab/resnet101_v1c.pth',
backbone=dict(
depth=101,
),
data_preprocessor=dict(
size=(512, 512),
mean=[
94.94709810464303,
61.72942233949928,
75.93763705236906,
],
std=[
44.005506081132594,
42.69595666984776,
44.99354156225523,
],
bgr_to_rgb=False,
),
decode_head=dict(
num_classes=36,
loss_decode=dict(
type='DiceLoss',
use_sigmoid=False,
loss_weight=1.0,
),
align_corners=True,
),
auxiliary_head=dict(
num_classes=36,
loss_decode=dict(
type='DiceLoss',
use_sigmoid=False,
loss_weight=0.4,
),
align_corners=True,
),
)
test_cfg = dict(
mode='slide',
crop_size=(512, 512),
stride=(341, 341),
)
optim_wrapper = dict(
type='OptimWrapper',
_delete_=True,
optimizer=dict(
type='AdamW',
lr=0.0001,
weight_decay=0.0005,
),
clip_grad=dict(
max_norm=1,
norm_type=2,
),
)
param_scheduler = [
dict(
type='LinearLR',
start_factor=1e-06,
by_epoch=False,
begin=0,
end=1500,
),
dict(
type='PolyLR',
power=0.9,
begin=1500,
end=40000,
eta_min=1e-05,
by_epoch=False,
),
]

View File

@@ -0,0 +1,99 @@
_base_ = [
'../_base_/models/ccnet_r50-d8.py',
'../_base_/datasets/my_dataset_model.py',
'../_base_/default_runtime.py',
'../_base_/schedules/schedule_40k_check_4000.py',
]
norm_cfg = dict(
type='BN',
)
crop_size = (680, 680)
data_preprocessor = dict(
size=(680, 680),
mean=[
94.94709810464303,
61.72942233949928,
75.93763705236906,
],
std=[
44.005506081132594,
42.69595666984776,
44.99354156225523,
],
bgr_to_rgb=False,
)
model = dict(
pretrained='./My_Local_Model/open_mmlab/resnet50_v1c.pth',
backbone=dict(
depth=50,
),
data_preprocessor=dict(
size=(680, 680),
mean=[
94.94709810464303,
61.72942233949928,
75.93763705236906,
],
std=[
44.005506081132594,
42.69595666984776,
44.99354156225523,
],
bgr_to_rgb=False,
),
decode_head=dict(
num_classes=36,
loss_decode=dict(
type='DiceLoss',
use_sigmoid=False,
loss_weight=1.0,
),
align_corners=False,
),
auxiliary_head=dict(
num_classes=36,
loss_decode=dict(
type='DiceLoss',
use_sigmoid=False,
loss_weight=0.4,
),
align_corners=False,
),
)
optim_wrapper = dict(
type='OptimWrapper',
_delete_=True,
optimizer=dict(
type='AdamW',
lr=0.0001,
weight_decay=0.0005,
),
clip_grad=dict(
max_norm=1,
norm_type=2,
),
)
param_scheduler = [
dict(
type='LinearLR',
start_factor=1e-06,
by_epoch=False,
begin=0,
end=1500,
),
dict(
type='PolyLR',
power=0.9,
begin=1500,
end=40000,
eta_min=1e-05,
by_epoch=False,
),
]