Skip to content

Commit e38eae3

Browse files
authored
[Benchmark] Add BiSeNetV1 COCO-Stuff 164k benchmark (open-mmlab#1019)
* bisenetv1 on cocostuff164k * change config_names & delete redundant keys * pretrain should before lr. * remove redundancy in bisenetv1_r50-d32
1 parent 97f9670 commit e38eae3

8 files changed

+189
-1
lines changed

configs/bisenetv1/README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,19 @@
3535
| BiSeNetV1 (No Pretrain) | R-50-D32 | 1024x1024 | 160000 | 15.39 | 7.71 | 76.92 | 78.87 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/bisenetv1/bisenetv1_r50-d32_4x4_1024x1024_160k_cityscapes.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r50-d32_4x4_1024x1024_160k_cityscapes/bisenetv1_r50-d32_4x4_1024x1024_160k_cityscapes_20210923_222639-7b28a2a6.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r50-d32_4x4_1024x1024_160k_cityscapes/bisenetv1_r50-d32_4x4_1024x1024_160k_cityscapes_20210923_222639.log.json) |
3636
| BiSeNetV1 | R-50-D32 | 1024x1024 | 160000 | 15.39 | 7.71 | 77.68 | 79.57 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/bisenetv1/bisenetv1_r50-d32_in1k-pre_4x4_1024x1024_160k_cityscapes.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r50-d32_in1k-pre_4x4_1024x1024_160k_cityscapes/bisenetv1_r50-d32_in1k-pre_4x4_1024x1024_160k_cityscapes_20210917_234628-8b304447.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r50-d32_in1k-pre_4x4_1024x1024_160k_cityscapes/bisenetv1_r50-d32_in1k-pre_4x4_1024x1024_160k_cityscapes_20210917_234628.log.json) |
3737

38+
### COCO-Stuff 164k
39+
40+
| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | mIoU | mIoU(ms+flip) | config | download |
41+
| --------- | --------- | --------- | ------: | -------- | -------------- | ----: | ------------- | --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
42+
| BiSeNetV1 (No Pretrain) | R-18-D32 | 512x512 | 160000 | - | - | 25.45 | 26.15 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/bisenetv1/bisenetv1_r18-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r18-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211022_054328-046aa2f2.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r18-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211022_054328.log.json) |
43+
| BiSeNetV1| R-18-D32 | 512x512 | 160000 | 6.33 | 74.24 | 28.55 | 29.26 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/bisenetv1/bisenetv1_r18-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r18-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211023_013100-f700dbf7.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r18-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211023_013100.log.json) |
44+
| BiSeNetV1 (No Pretrain) | R-50-D32 | 512x512 | 160000 | - | - | 29.82 | 30.33 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/bisenetv1/bisenetv1_r50-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r50-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r50-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211101_040616-d2bb0df4.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r50-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r50-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211101_040616.log.json) |
45+
| BiSeNetV1 | R-50-D32 | 512x512 | 160000 | 9.28 | 32.60 | 34.88 | 35.37 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/bisenetv1/bisenetv1_r50-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r50-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r50-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211101_181932-66747911.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r50-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r50-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211101_181932.log.json) |
46+
| BiSeNetV1(No Pretrain) | R-101-D32 | 512x512 | 160000 | - | - | 31.14 | 31.76 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/bisenetv1/bisenetv1_r101-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r101-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r101-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211102_164147-c6b32c3b.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r101-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r101-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211102_164147.log.json) |
47+
| BiSeNetV1 | R-101-D32 | 512x512 | 160000 | 10.36 | 25.25 | 37.38 | 37.99 | [config](https://github.com/open-mmlab/mmsegmentation/blob/master/configs/bisenetv1/bisenetv1_r101-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r101-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r101-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211101_225220-28c8f092.pth) | [log](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r101-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r101-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211101_225220.log.json) |
48+
3849
Note:
3950

4051
- `4x8`: Using 4 GPUs with 8 samples per GPU in training.
41-
- Default setting is 4 GPUs with 4 samples per GPU in training.
52+
- For BiSeNetV1 on Cityscapes dataset, default setting is 4 GPUs with 4 samples per GPU in training.
4253
- `No Pretrain` means the model is trained from scratch.

configs/bisenetv1/bisenetv1.yml

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Collections:
33
Metadata:
44
Training Data:
55
- Cityscapes
6+
- COCO-Stuff 164k
67
Paper:
78
URL: https://arxiv.org/abs/1808.00897
89
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
@@ -123,3 +124,111 @@ Models:
123124
mIoU(ms+flip): 79.57
124125
Config: configs/bisenetv1/bisenetv1_r50-d32_in1k-pre_4x4_1024x1024_160k_cityscapes.py
125126
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r50-d32_in1k-pre_4x4_1024x1024_160k_cityscapes/bisenetv1_r50-d32_in1k-pre_4x4_1024x1024_160k_cityscapes_20210917_234628-8b304447.pth
127+
- Name: bisenetv1_r18-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k
128+
In Collection: bisenetv1
129+
Metadata:
130+
backbone: R-18-D32
131+
crop size: (512,512)
132+
lr schd: 160000
133+
Results:
134+
- Task: Semantic Segmentation
135+
Dataset: COCO-Stuff 164k
136+
Metrics:
137+
mIoU: 25.45
138+
mIoU(ms+flip): 26.15
139+
Config: configs/bisenetv1/bisenetv1_r18-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k.py
140+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r18-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211022_054328-046aa2f2.pth
141+
- Name: bisenetv1_r18-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k
142+
In Collection: bisenetv1
143+
Metadata:
144+
backbone: R-18-D32
145+
crop size: (512,512)
146+
lr schd: 160000
147+
inference time (ms/im):
148+
- value: 13.47
149+
hardware: V100
150+
backend: PyTorch
151+
batch size: 1
152+
mode: FP32
153+
resolution: (512,512)
154+
memory (GB): 6.33
155+
Results:
156+
- Task: Semantic Segmentation
157+
Dataset: COCO-Stuff 164k
158+
Metrics:
159+
mIoU: 28.55
160+
mIoU(ms+flip): 29.26
161+
Config: configs/bisenetv1/bisenetv1_r18-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k.py
162+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r18-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211023_013100-f700dbf7.pth
163+
- Name: bisenetv1_r50-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k
164+
In Collection: bisenetv1
165+
Metadata:
166+
backbone: R-50-D32
167+
crop size: (512,512)
168+
lr schd: 160000
169+
Results:
170+
- Task: Semantic Segmentation
171+
Dataset: COCO-Stuff 164k
172+
Metrics:
173+
mIoU: 29.82
174+
mIoU(ms+flip): 30.33
175+
Config: configs/bisenetv1/bisenetv1_r50-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k.py
176+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r50-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r50-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211101_040616-d2bb0df4.pth
177+
- Name: bisenetv1_r50-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k
178+
In Collection: bisenetv1
179+
Metadata:
180+
backbone: R-50-D32
181+
crop size: (512,512)
182+
lr schd: 160000
183+
inference time (ms/im):
184+
- value: 30.67
185+
hardware: V100
186+
backend: PyTorch
187+
batch size: 1
188+
mode: FP32
189+
resolution: (512,512)
190+
memory (GB): 9.28
191+
Results:
192+
- Task: Semantic Segmentation
193+
Dataset: COCO-Stuff 164k
194+
Metrics:
195+
mIoU: 34.88
196+
mIoU(ms+flip): 35.37
197+
Config: configs/bisenetv1/bisenetv1_r50-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k.py
198+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r50-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r50-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211101_181932-66747911.pth
199+
- Name: bisenetv1_r101-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k
200+
In Collection: bisenetv1
201+
Metadata:
202+
backbone: R-101-D32
203+
crop size: (512,512)
204+
lr schd: 160000
205+
Results:
206+
- Task: Semantic Segmentation
207+
Dataset: COCO-Stuff 164k
208+
Metrics:
209+
mIoU: 31.14
210+
mIoU(ms+flip): 31.76
211+
Config: configs/bisenetv1/bisenetv1_r101-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k.py
212+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r101-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r101-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211102_164147-c6b32c3b.pth
213+
- Name: bisenetv1_r101-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k
214+
In Collection: bisenetv1
215+
Metadata:
216+
backbone: R-101-D32
217+
crop size: (512,512)
218+
lr schd: 160000
219+
inference time (ms/im):
220+
- value: 39.6
221+
hardware: V100
222+
backend: PyTorch
223+
batch size: 1
224+
mode: FP32
225+
resolution: (512,512)
226+
memory (GB): 10.36
227+
Results:
228+
- Task: Semantic Segmentation
229+
Dataset: COCO-Stuff 164k
230+
Metrics:
231+
mIoU: 37.38
232+
mIoU(ms+flip): 37.99
233+
Config: configs/bisenetv1/bisenetv1_r101-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k.py
234+
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r101-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k/bisenetv1_r101-d32_in1k-pre_lr5e-3_4x4_512x512_160k_coco-stuff164k_20211101_225220-28c8f092.pth
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
_base_ = './bisenetv1_r101-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k.py'
2+
model = dict(
3+
backbone=dict(
4+
backbone_cfg=dict(
5+
init_cfg=dict(
6+
type='Pretrained', checkpoint='open-mmlab://resnet101_v1c'))))
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
_base_ = [
2+
'../_base_/models/bisenetv1_r18-d32.py',
3+
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
4+
'../_base_/schedules/schedule_160k.py'
5+
]
6+
model = dict(
7+
backbone=dict(
8+
context_channels=(512, 1024, 2048),
9+
spatial_channels=(256, 256, 256, 512),
10+
out_channels=1024,
11+
backbone_cfg=dict(type='ResNet', depth=101)),
12+
decode_head=dict(in_channels=1024, channels=1024, num_classes=171),
13+
auxiliary_head=[
14+
dict(in_channels=512, channels=256, num_classes=171),
15+
dict(in_channels=512, channels=256, num_classes=171),
16+
])
17+
lr_config = dict(warmup='linear', warmup_iters=1000)
18+
optimizer = dict(lr=0.005)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
_base_ = './bisenetv1_r18-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k.py'
2+
model = dict(
3+
backbone=dict(
4+
backbone_cfg=dict(
5+
init_cfg=dict(
6+
type='Pretrained', checkpoint='open-mmlab://resnet18_v1c'))), )
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
_base_ = [
2+
'../_base_/models/bisenetv1_r18-d32.py',
3+
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
4+
'../_base_/schedules/schedule_160k.py'
5+
]
6+
model = dict(
7+
decode_head=dict(num_classes=171),
8+
auxiliary_head=[
9+
dict(num_classes=171),
10+
dict(num_classes=171),
11+
])
12+
lr_config = dict(warmup='linear', warmup_iters=1000)
13+
optimizer = dict(lr=0.005)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
_base_ = './bisenetv1_r50-d32_lr5e-3_4x4_512x512_160k_coco-stuff164k.py'
2+
3+
model = dict(
4+
backbone=dict(
5+
backbone_cfg=dict(
6+
init_cfg=dict(
7+
type='Pretrained', checkpoint='open-mmlab://resnet50_v1c'))))
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
_base_ = [
2+
'../_base_/models/bisenetv1_r18-d32.py',
3+
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
4+
'../_base_/schedules/schedule_160k.py'
5+
]
6+
model = dict(
7+
backbone=dict(
8+
context_channels=(512, 1024, 2048),
9+
spatial_channels=(256, 256, 256, 512),
10+
out_channels=1024,
11+
backbone_cfg=dict(type='ResNet', depth=50)),
12+
decode_head=dict(in_channels=1024, channels=1024, num_classes=171),
13+
auxiliary_head=[
14+
dict(in_channels=512, channels=256, num_classes=171),
15+
dict(in_channels=512, channels=256, num_classes=171),
16+
])
17+
lr_config = dict(warmup='linear', warmup_iters=1000)
18+
optimizer = dict(lr=0.005)

0 commit comments

Comments
 (0)