first commit
This commit is contained in:
64
Seg_All_In_One_MMSeg/configs/bisenetv1/README.md
Normal file
64
Seg_All_In_One_MMSeg/configs/bisenetv1/README.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# BiSeNetV1
|
||||
|
||||
> [BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation](https://arxiv.org/abs/1808.00897)
|
||||
|
||||
## Introduction
|
||||
|
||||
<!-- [ALGORITHM] -->
|
||||
|
||||
<a href="https://github.com/ycszen/TorchSeg/tree/master/model/bisenet">Official Repo</a>
|
||||
|
||||
<a href="https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266">Code Snippet</a>
|
||||
|
||||
## Abstract
|
||||
|
||||
<!-- [ABSTRACT] -->
|
||||
|
||||
Semantic segmentation requires both rich spatial information and sizeable receptive field. However, modern approaches usually compromise spatial resolution to achieve real-time inference speed, which leads to poor performance. In this paper, we address this dilemma with a novel Bilateral Segmentation Network (BiSeNet). We first design a Spatial Path with a small stride to preserve the spatial information and generate high-resolution features. Meanwhile, a Context Path with a fast downsampling strategy is employed to obtain sufficient receptive field. On top of the two paths, we introduce a new Feature Fusion Module to combine features efficiently. The proposed architecture makes a right balance between the speed and segmentation performance on Cityscapes, CamVid, and COCO-Stuff datasets. Specifically, for a 2048x1024 input, we achieve 68.4% Mean IOU on the Cityscapes test dataset with speed of 105 FPS on one NVIDIA Titan XP card, which is significantly faster than the existing methods with comparable performance.
|
||||
|
||||
<!-- [IMAGE] -->
|
||||
|
||||
<div align=center>
|
||||
<img src="https://user-images.githubusercontent.com/24582831/142898839-a0a78148-848a-41b2-8682-b1f61ac004ba.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 |
|
||||
| --------- | ---------------------- | --------- | ------: | -------- | -------------- | ------ | ----: | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| BiSeNetV1 | R-18-D32 (No Pretrain) | 1024x1024 | 160000 | 5.69 | 31.77 | V100 | 74.44 | 77.05 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/bisenetv1/bisenetv1_r18-d32_4xb4-160k_cityscapes-1024x1024.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_4x4_1024x1024_160k_cityscapes/bisenetv1_r18-d32_4x4_1024x1024_160k_cityscapes_20210922_172239-c55e78e2.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_4x4_1024x1024_160k_cityscapes/bisenetv1_r18-d32_4x4_1024x1024_160k_cityscapes_20210922_172239.log.json) |
|
||||
| BiSeNetV1 | R-18-D32 | 1024x1024 | 160000 | 5.69 | 31.77 | V100 | 74.37 | 76.91 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/bisenetv1/bisenetv1_r18-d32-in1k-pre_4xb4-160k_cityscapes-1024x1024.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_in1k-pre_4x4_1024x1024_160k_cityscapes/bisenetv1_r18-d32_in1k-pre_4x4_1024x1024_160k_cityscapes_20210905_220251-8ba80eff.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_in1k-pre_4x4_1024x1024_160k_cityscapes/bisenetv1_r18-d32_in1k-pre_4x4_1024x1024_160k_cityscapes_20210905_220251.log.json) |
|
||||
| BiSeNetV1 | R-18-D32 (4x8) | 1024x1024 | 160000 | 11.17 | 31.77 | V100 | 75.16 | 77.24 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/bisenetv1/bisenetv1_r18-d32-in1k-pre_4xb8-160k_cityscapes-1024x1024.py) | [model](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_in1k-pre_4x8_1024x1024_160k_cityscapes/bisenetv1_r18-d32_in1k-pre_4x8_1024x1024_160k_cityscapes_20210905_220322-bb8db75f.pth) \| [log](https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_in1k-pre_4x8_1024x1024_160k_cityscapes/bisenetv1_r18-d32_in1k-pre_4x8_1024x1024_160k_cityscapes_20210905_220322.log.json) |
|
||||
| BiSeNetV1 | R-50-D32 (No Pretrain) | 1024x1024 | 160000 | 15.39 | 7.71 | V100 | 76.92 | 78.87 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/bisenetv1/bisenetv1_r50-d32_4xb4-160k_cityscapes-1024x1024.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) |
|
||||
| BiSeNetV1 | R-50-D32 | 1024x1024 | 160000 | 15.39 | 7.71 | V100 | 77.68 | 79.57 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/bisenetv1/bisenetv1_r50-d32-in1k-pre_4xb4-160k_cityscapes-1024x1024.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) |
|
||||
|
||||
### COCO-Stuff 164k
|
||||
|
||||
| Method | Backbone | Crop Size | Lr schd | Mem (GB) | Inf time (fps) | Device | mIoU | mIoU(ms+flip) | config | download |
|
||||
| --------- | ----------------------- | --------- | ------: | -------- | -------------- | ------ | ----: | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| BiSeNetV1 | R-18-D32 (No Pretrain) | 512x512 | 160000 | - | - | V100 | 25.45 | 26.15 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/bisenetv1/bisenetv1_r18-d32_4xb4-160k_coco-stuff164k-512x512.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) |
|
||||
| BiSeNetV1 | R-18-D32 | 512x512 | 160000 | 6.33 | 74.24 | V100 | 28.55 | 29.26 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/bisenetv1/bisenetv1_r18-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512.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) |
|
||||
| BiSeNetV1 | R-50-D32 (No Pretrain) | 512x512 | 160000 | - | - | V100 | 29.82 | 30.33 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/bisenetv1/bisenetv1_r50-d32_4xb4-160k_coco-stuff164k-512x512.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) |
|
||||
| BiSeNetV1 | R-50-D32 | 512x512 | 160000 | 9.28 | 32.60 | V100 | 34.88 | 35.37 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/bisenetv1/bisenetv1_r50-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512.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) |
|
||||
| BiSeNetV1 | R-101-D32 (No Pretrain) | 512x512 | 160000 | - | - | V100 | 31.14 | 31.76 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/bisenetv1/bisenetv1_r50-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512.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) |
|
||||
| BiSeNetV1 | R-101-D32 | 512x512 | 160000 | 10.36 | 25.25 | V100 | 37.38 | 37.99 | [config](https://github.com/open-mmlab/mmsegmentation/blob/main/configs/bisenetv1/bisenetv1_r101-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512.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) |
|
||||
|
||||
Note:
|
||||
|
||||
- `4x8`: Using 4 GPUs with 8 samples per GPU in training.
|
||||
- For BiSeNetV1 on Cityscapes dataset, default setting is 4 GPUs with 4 samples per GPU in training.
|
||||
- `No Pretrain` means the model is trained from scratch.
|
||||
|
||||
## Citation
|
||||
|
||||
```bibtex
|
||||
@inproceedings{yu2018bisenet,
|
||||
title={Bisenet: Bilateral segmentation network for real-time semantic segmentation},
|
||||
author={Yu, Changqian and Wang, Jingbo and Peng, Chao and Gao, Changxin and Yu, Gang and Sang, Nong},
|
||||
booktitle={Proceedings of the European conference on computer vision (ECCV)},
|
||||
pages={325--341},
|
||||
year={2018}
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,6 @@
|
||||
_base_ = './bisenetv1_r101-d32_4xb4-160k_coco-stuff164k-512x512.py'
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
backbone_cfg=dict(
|
||||
init_cfg=dict(
|
||||
type='Pretrained', checkpoint='open-mmlab://resnet101_v1c'))))
|
||||
@@ -0,0 +1,58 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_160k.py'
|
||||
]
|
||||
crop_size = (512, 512)
|
||||
data_preprocessor = dict(size=crop_size)
|
||||
norm_cfg = dict(type='SyncBN', requires_grad=True)
|
||||
model = dict(
|
||||
data_preprocessor=data_preprocessor,
|
||||
backbone=dict(
|
||||
context_channels=(512, 1024, 2048),
|
||||
spatial_channels=(256, 256, 256, 512),
|
||||
out_channels=1024,
|
||||
backbone_cfg=dict(type='ResNet', depth=101)),
|
||||
decode_head=dict(in_channels=1024, channels=1024, num_classes=171),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=171,
|
||||
in_index=1,
|
||||
norm_cfg=norm_cfg,
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=171,
|
||||
in_index=2,
|
||||
norm_cfg=norm_cfg,
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
|
||||
])
|
||||
param_scheduler = [
|
||||
dict(type='LinearLR', by_epoch=False, start_factor=0.1, begin=0, end=1000),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
eta_min=1e-4,
|
||||
power=0.9,
|
||||
begin=1000,
|
||||
end=160000,
|
||||
by_epoch=False,
|
||||
)
|
||||
]
|
||||
optimizer = dict(type='SGD', lr=0.005, momentum=0.9, weight_decay=0.0005)
|
||||
optim_wrapper = dict(type='OptimWrapper', optimizer=optimizer)
|
||||
train_dataloader = dict(batch_size=4, num_workers=4)
|
||||
val_dataloader = dict(batch_size=1, num_workers=4)
|
||||
test_dataloader = val_dataloader
|
||||
@@ -0,0 +1,29 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/cityscapes_1024x1024.py',
|
||||
'../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py'
|
||||
]
|
||||
crop_size = (1024, 1024)
|
||||
data_preprocessor = dict(size=crop_size)
|
||||
model = dict(
|
||||
data_preprocessor=data_preprocessor,
|
||||
backbone=dict(
|
||||
backbone_cfg=dict(
|
||||
init_cfg=dict(
|
||||
type='Pretrained', checkpoint='open-mmlab://resnet18_v1c'))))
|
||||
param_scheduler = [
|
||||
dict(type='LinearLR', by_epoch=False, start_factor=0.1, begin=0, end=1000),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
eta_min=1e-4,
|
||||
power=0.9,
|
||||
begin=1000,
|
||||
end=160000,
|
||||
by_epoch=False,
|
||||
)
|
||||
]
|
||||
optimizer = dict(type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005)
|
||||
optim_wrapper = dict(type='OptimWrapper', optimizer=optimizer)
|
||||
train_dataloader = dict(batch_size=4, num_workers=4)
|
||||
val_dataloader = dict(batch_size=1, num_workers=4)
|
||||
test_dataloader = val_dataloader
|
||||
@@ -0,0 +1,10 @@
|
||||
_base_ = './bisenetv1_r18-d32_4xb4-160k_coco-stuff164k-512x512.py'
|
||||
crop_size = (512, 512)
|
||||
data_preprocessor = dict(size=crop_size)
|
||||
model = dict(
|
||||
data_preprocessor=data_preprocessor,
|
||||
backbone=dict(
|
||||
backbone_cfg=dict(
|
||||
init_cfg=dict(
|
||||
type='Pretrained', checkpoint='open-mmlab://resnet18_v1c'))),
|
||||
)
|
||||
@@ -0,0 +1,4 @@
|
||||
_base_ = './bisenetv1_r18-d32-in1k-pre_4xb4-160k_cityscapes-1024x1024.py'
|
||||
train_dataloader = dict(batch_size=8, num_workers=4)
|
||||
val_dataloader = dict(batch_size=1, num_workers=4)
|
||||
test_dataloader = val_dataloader
|
||||
@@ -0,0 +1,24 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/cityscapes_1024x1024.py',
|
||||
'../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py'
|
||||
]
|
||||
crop_size = (1024, 1024)
|
||||
data_preprocessor = dict(size=crop_size)
|
||||
model = dict(data_preprocessor=data_preprocessor)
|
||||
param_scheduler = [
|
||||
dict(type='LinearLR', by_epoch=False, start_factor=0.1, begin=0, end=1000),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
eta_min=1e-4,
|
||||
power=0.9,
|
||||
begin=1000,
|
||||
end=160000,
|
||||
by_epoch=False,
|
||||
)
|
||||
]
|
||||
optimizer = dict(type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0005)
|
||||
optim_wrapper = dict(type='OptimWrapper', optimizer=optimizer)
|
||||
train_dataloader = dict(batch_size=4, num_workers=4)
|
||||
val_dataloader = dict(batch_size=1, num_workers=4)
|
||||
test_dataloader = val_dataloader
|
||||
@@ -0,0 +1,53 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_160k.py'
|
||||
]
|
||||
crop_size = (512, 512)
|
||||
data_preprocessor = dict(size=crop_size)
|
||||
norm_cfg = dict(type='SyncBN', requires_grad=True)
|
||||
model = dict(
|
||||
data_preprocessor=data_preprocessor,
|
||||
decode_head=dict(num_classes=171),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=171,
|
||||
in_index=1,
|
||||
norm_cfg=norm_cfg,
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=171,
|
||||
in_index=2,
|
||||
norm_cfg=norm_cfg,
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
|
||||
])
|
||||
param_scheduler = [
|
||||
dict(type='LinearLR', by_epoch=False, start_factor=0.1, begin=0, end=1000),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
eta_min=1e-4,
|
||||
power=0.9,
|
||||
begin=1000,
|
||||
end=160000,
|
||||
by_epoch=False,
|
||||
)
|
||||
]
|
||||
optimizer = dict(type='SGD', lr=0.005, momentum=0.9, weight_decay=0.0005)
|
||||
optim_wrapper = dict(type='OptimWrapper', optimizer=optimizer)
|
||||
train_dataloader = dict(batch_size=4, num_workers=4)
|
||||
val_dataloader = dict(batch_size=1, num_workers=4)
|
||||
test_dataloader = val_dataloader
|
||||
@@ -0,0 +1,7 @@
|
||||
_base_ = './bisenetv1_r50-d32_4xb4-160k_cityscapes-1024x1024.py'
|
||||
model = dict(
|
||||
type='EncoderDecoder',
|
||||
backbone=dict(
|
||||
backbone_cfg=dict(
|
||||
init_cfg=dict(
|
||||
type='Pretrained', checkpoint='open-mmlab://resnet50_v1c'))))
|
||||
@@ -0,0 +1,7 @@
|
||||
_base_ = './bisenetv1_r50-d32_4xb4-160k_coco-stuff164k-512x512.py'
|
||||
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
backbone_cfg=dict(
|
||||
init_cfg=dict(
|
||||
type='Pretrained', checkpoint='open-mmlab://resnet50_v1c'))))
|
||||
@@ -0,0 +1,55 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/cityscapes_1024x1024.py',
|
||||
'../_base_/default_runtime.py', '../_base_/schedules/schedule_160k.py'
|
||||
]
|
||||
norm_cfg = dict(type='SyncBN', requires_grad=True)
|
||||
crop_size = (1024, 1024)
|
||||
data_preprocessor = dict(size=crop_size)
|
||||
model = dict(
|
||||
type='EncoderDecoder',
|
||||
data_preprocessor=data_preprocessor,
|
||||
backbone=dict(
|
||||
type='BiSeNetV1',
|
||||
context_channels=(512, 1024, 2048),
|
||||
spatial_channels=(256, 256, 256, 512),
|
||||
out_channels=1024,
|
||||
backbone_cfg=dict(type='ResNet', depth=50)),
|
||||
decode_head=dict(
|
||||
type='FCNHead', in_channels=1024, in_index=0, channels=1024),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=19,
|
||||
in_index=1,
|
||||
norm_cfg=norm_cfg,
|
||||
concat_input=False),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=19,
|
||||
in_index=2,
|
||||
norm_cfg=norm_cfg,
|
||||
concat_input=False),
|
||||
])
|
||||
param_scheduler = [
|
||||
dict(type='LinearLR', by_epoch=False, start_factor=0.1, begin=0, end=1000),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
eta_min=1e-4,
|
||||
power=0.9,
|
||||
begin=1000,
|
||||
end=160000,
|
||||
by_epoch=False,
|
||||
)
|
||||
]
|
||||
optimizer = dict(type='SGD', lr=0.05, momentum=0.9, weight_decay=0.0005)
|
||||
optim_wrapper = dict(type='OptimWrapper', optimizer=optimizer)
|
||||
train_dataloader = dict(batch_size=4, num_workers=4)
|
||||
val_dataloader = dict(batch_size=1, num_workers=4)
|
||||
test_dataloader = val_dataloader
|
||||
@@ -0,0 +1,58 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/coco-stuff164k.py', '../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_160k.py'
|
||||
]
|
||||
crop_size = (512, 512)
|
||||
data_preprocessor = dict(size=crop_size)
|
||||
norm_cfg = dict(type='SyncBN', requires_grad=True)
|
||||
model = dict(
|
||||
data_preprocessor=data_preprocessor,
|
||||
backbone=dict(
|
||||
context_channels=(512, 1024, 2048),
|
||||
spatial_channels=(256, 256, 256, 512),
|
||||
out_channels=1024,
|
||||
backbone_cfg=dict(type='ResNet', depth=50)),
|
||||
decode_head=dict(in_channels=1024, channels=1024, num_classes=171),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=171,
|
||||
in_index=1,
|
||||
norm_cfg=norm_cfg,
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=171,
|
||||
in_index=2,
|
||||
norm_cfg=norm_cfg,
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),
|
||||
])
|
||||
param_scheduler = [
|
||||
dict(type='LinearLR', by_epoch=False, start_factor=0.1, begin=0, end=1000),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
eta_min=1e-4,
|
||||
power=0.9,
|
||||
begin=1000,
|
||||
end=160000,
|
||||
by_epoch=False,
|
||||
)
|
||||
]
|
||||
optimizer = dict(type='SGD', lr=0.005, momentum=0.9, weight_decay=0.0005)
|
||||
optim_wrapper = dict(type='OptimWrapper', optimizer=optimizer)
|
||||
train_dataloader = dict(batch_size=4, num_workers=4)
|
||||
val_dataloader = dict(batch_size=1, num_workers=4)
|
||||
test_dataloader = val_dataloader
|
||||
275
Seg_All_In_One_MMSeg/configs/bisenetv1/metafile.yaml
Normal file
275
Seg_All_In_One_MMSeg/configs/bisenetv1/metafile.yaml
Normal file
@@ -0,0 +1,275 @@
|
||||
Collections:
|
||||
- Name: BiSeNetV1
|
||||
License: Apache License 2.0
|
||||
Metadata:
|
||||
Training Data:
|
||||
- Cityscapes
|
||||
- COCO-Stuff 164k
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
README: configs/bisenetv1/README.md
|
||||
Frameworks:
|
||||
- PyTorch
|
||||
Models:
|
||||
- Name: bisenetv1_r18-d32_4xb4-160k_cityscapes-1024x1024
|
||||
In Collection: BiSeNetV1
|
||||
Results:
|
||||
Task: Semantic Segmentation
|
||||
Dataset: Cityscapes
|
||||
Metrics:
|
||||
mIoU: 74.44
|
||||
mIoU(ms+flip): 77.05
|
||||
Config: configs/bisenetv1/bisenetv1_r18-d32_4xb4-160k_cityscapes-1024x1024.py
|
||||
Metadata:
|
||||
Training Data: Cityscapes
|
||||
Batch Size: 16
|
||||
Architecture:
|
||||
- R-18-D32
|
||||
- BiSeNetV1
|
||||
Training Resources: 4x V100 GPUS
|
||||
Memory (GB): 5.69
|
||||
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_4x4_1024x1024_160k_cityscapes/bisenetv1_r18-d32_4x4_1024x1024_160k_cityscapes_20210922_172239-c55e78e2.pth
|
||||
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_4x4_1024x1024_160k_cityscapes/bisenetv1_r18-d32_4x4_1024x1024_160k_cityscapes_20210922_172239.log.json
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266
|
||||
Framework: PyTorch
|
||||
- Name: bisenetv1_r18-d32-in1k-pre_4xb4-160k_cityscapes-1024x1024
|
||||
In Collection: BiSeNetV1
|
||||
Results:
|
||||
Task: Semantic Segmentation
|
||||
Dataset: Cityscapes
|
||||
Metrics:
|
||||
mIoU: 74.37
|
||||
mIoU(ms+flip): 76.91
|
||||
Config: configs/bisenetv1/bisenetv1_r18-d32-in1k-pre_4xb4-160k_cityscapes-1024x1024.py
|
||||
Metadata:
|
||||
Training Data: Cityscapes
|
||||
Batch Size: 16
|
||||
Architecture:
|
||||
- R-18-D32
|
||||
- BiSeNetV1
|
||||
Training Resources: 4x V100 GPUS
|
||||
Memory (GB): 5.69
|
||||
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_in1k-pre_4x4_1024x1024_160k_cityscapes/bisenetv1_r18-d32_in1k-pre_4x4_1024x1024_160k_cityscapes_20210905_220251-8ba80eff.pth
|
||||
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_in1k-pre_4x4_1024x1024_160k_cityscapes/bisenetv1_r18-d32_in1k-pre_4x4_1024x1024_160k_cityscapes_20210905_220251.log.json
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266
|
||||
Framework: PyTorch
|
||||
- Name: bisenetv1_r18-d32-in1k-pre_4xb8-160k_cityscapes-1024x1024
|
||||
In Collection: BiSeNetV1
|
||||
Results:
|
||||
Task: Semantic Segmentation
|
||||
Dataset: Cityscapes
|
||||
Metrics:
|
||||
mIoU: 75.16
|
||||
mIoU(ms+flip): 77.24
|
||||
Config: configs/bisenetv1/bisenetv1_r18-d32-in1k-pre_4xb8-160k_cityscapes-1024x1024.py
|
||||
Metadata:
|
||||
Training Data: Cityscapes
|
||||
Batch Size: 32
|
||||
Architecture:
|
||||
- R-18-D32
|
||||
- BiSeNetV1
|
||||
Training Resources: 4x V100 GPUS
|
||||
Memory (GB): 11.17
|
||||
Weights: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_in1k-pre_4x8_1024x1024_160k_cityscapes/bisenetv1_r18-d32_in1k-pre_4x8_1024x1024_160k_cityscapes_20210905_220322-bb8db75f.pth
|
||||
Training log: https://download.openmmlab.com/mmsegmentation/v0.5/bisenetv1/bisenetv1_r18-d32_in1k-pre_4x8_1024x1024_160k_cityscapes/bisenetv1_r18-d32_in1k-pre_4x8_1024x1024_160k_cityscapes_20210905_220322.log.json
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266
|
||||
Framework: PyTorch
|
||||
- Name: bisenetv1_r50-d32_4xb4-160k_cityscapes-1024x1024
|
||||
In Collection: BiSeNetV1
|
||||
Results:
|
||||
Task: Semantic Segmentation
|
||||
Dataset: Cityscapes
|
||||
Metrics:
|
||||
mIoU: 76.92
|
||||
mIoU(ms+flip): 78.87
|
||||
Config: configs/bisenetv1/bisenetv1_r50-d32_4xb4-160k_cityscapes-1024x1024.py
|
||||
Metadata:
|
||||
Training Data: Cityscapes
|
||||
Batch Size: 16
|
||||
Architecture:
|
||||
- R-50-D32
|
||||
- BiSeNetV1
|
||||
Training Resources: 4x V100 GPUS
|
||||
Memory (GB): 15.39
|
||||
Weights: 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
|
||||
Training 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
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266
|
||||
Framework: PyTorch
|
||||
- Name: bisenetv1_r50-d32-in1k-pre_4xb4-160k_cityscapes-1024x1024
|
||||
In Collection: BiSeNetV1
|
||||
Results:
|
||||
Task: Semantic Segmentation
|
||||
Dataset: Cityscapes
|
||||
Metrics:
|
||||
mIoU: 77.68
|
||||
mIoU(ms+flip): 79.57
|
||||
Config: configs/bisenetv1/bisenetv1_r50-d32-in1k-pre_4xb4-160k_cityscapes-1024x1024.py
|
||||
Metadata:
|
||||
Training Data: Cityscapes
|
||||
Batch Size: 16
|
||||
Architecture:
|
||||
- R-50-D32
|
||||
- BiSeNetV1
|
||||
Training Resources: 4x V100 GPUS
|
||||
Memory (GB): 15.39
|
||||
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
|
||||
Training 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
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266
|
||||
Framework: PyTorch
|
||||
- Name: bisenetv1_r18-d32_4xb4-160k_coco-stuff164k-512x512
|
||||
In Collection: BiSeNetV1
|
||||
Results:
|
||||
Task: Semantic Segmentation
|
||||
Dataset: COCO-Stuff 164k
|
||||
Metrics:
|
||||
mIoU: 25.45
|
||||
mIoU(ms+flip): 26.15
|
||||
Config: configs/bisenetv1/bisenetv1_r18-d32_4xb4-160k_coco-stuff164k-512x512.py
|
||||
Metadata:
|
||||
Training Data: COCO-Stuff 164k
|
||||
Batch Size: 16
|
||||
Architecture:
|
||||
- R-18-D32
|
||||
- BiSeNetV1
|
||||
Training Resources: 4x V100 GPUS
|
||||
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
|
||||
Training 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
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266
|
||||
Framework: PyTorch
|
||||
- Name: bisenetv1_r18-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512
|
||||
In Collection: BiSeNetV1
|
||||
Results:
|
||||
Task: Semantic Segmentation
|
||||
Dataset: COCO-Stuff 164k
|
||||
Metrics:
|
||||
mIoU: 28.55
|
||||
mIoU(ms+flip): 29.26
|
||||
Config: configs/bisenetv1/bisenetv1_r18-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512.py
|
||||
Metadata:
|
||||
Training Data: COCO-Stuff 164k
|
||||
Batch Size: 16
|
||||
Architecture:
|
||||
- R-18-D32
|
||||
- BiSeNetV1
|
||||
Training Resources: 4x V100 GPUS
|
||||
Memory (GB): 6.33
|
||||
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
|
||||
Training 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
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266
|
||||
Framework: PyTorch
|
||||
- Name: bisenetv1_r50-d32_4xb4-160k_coco-stuff164k-512x512
|
||||
In Collection: BiSeNetV1
|
||||
Results:
|
||||
Task: Semantic Segmentation
|
||||
Dataset: COCO-Stuff 164k
|
||||
Metrics:
|
||||
mIoU: 29.82
|
||||
mIoU(ms+flip): 30.33
|
||||
Config: configs/bisenetv1/bisenetv1_r50-d32_4xb4-160k_coco-stuff164k-512x512.py
|
||||
Metadata:
|
||||
Training Data: COCO-Stuff 164k
|
||||
Batch Size: 16
|
||||
Architecture:
|
||||
- R-50-D32
|
||||
- BiSeNetV1
|
||||
Training Resources: 4x V100 GPUS
|
||||
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
|
||||
Training 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
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266
|
||||
Framework: PyTorch
|
||||
- Name: bisenetv1_r50-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512
|
||||
In Collection: BiSeNetV1
|
||||
Results:
|
||||
Task: Semantic Segmentation
|
||||
Dataset: COCO-Stuff 164k
|
||||
Metrics:
|
||||
mIoU: 34.88
|
||||
mIoU(ms+flip): 35.37
|
||||
Config: configs/bisenetv1/bisenetv1_r50-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512.py
|
||||
Metadata:
|
||||
Training Data: COCO-Stuff 164k
|
||||
Batch Size: 16
|
||||
Architecture:
|
||||
- R-50-D32
|
||||
- BiSeNetV1
|
||||
Training Resources: 4x V100 GPUS
|
||||
Memory (GB): 9.28
|
||||
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
|
||||
Training 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
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266
|
||||
Framework: PyTorch
|
||||
- Name: bisenetv1_r50-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512
|
||||
In Collection: BiSeNetV1
|
||||
Results:
|
||||
Task: Semantic Segmentation
|
||||
Dataset: COCO-Stuff 164k
|
||||
Metrics:
|
||||
mIoU: 31.14
|
||||
mIoU(ms+flip): 31.76
|
||||
Config: configs/bisenetv1/bisenetv1_r50-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512.py
|
||||
Metadata:
|
||||
Training Data: COCO-Stuff 164k
|
||||
Batch Size: 16
|
||||
Architecture:
|
||||
- R-101-D32
|
||||
- BiSeNetV1
|
||||
Training Resources: 4x V100 GPUS
|
||||
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
|
||||
Training 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
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266
|
||||
Framework: PyTorch
|
||||
- Name: bisenetv1_r101-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512
|
||||
In Collection: BiSeNetV1
|
||||
Results:
|
||||
Task: Semantic Segmentation
|
||||
Dataset: COCO-Stuff 164k
|
||||
Metrics:
|
||||
mIoU: 37.38
|
||||
mIoU(ms+flip): 37.99
|
||||
Config: configs/bisenetv1/bisenetv1_r101-d32-in1k-pre_4xb4-160k_coco-stuff164k-512x512.py
|
||||
Metadata:
|
||||
Training Data: COCO-Stuff 164k
|
||||
Batch Size: 16
|
||||
Architecture:
|
||||
- R-101-D32
|
||||
- BiSeNetV1
|
||||
Training Resources: 4x V100 GPUS
|
||||
Memory (GB): 10.36
|
||||
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
|
||||
Training 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
|
||||
Paper:
|
||||
Title: 'BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation'
|
||||
URL: https://arxiv.org/abs/1808.00897
|
||||
Code: https://github.com/open-mmlab/mmsegmentation/blob/v0.18.0/mmseg/models/backbones/bisenetv1.py#L266
|
||||
Framework: PyTorch
|
||||
@@ -0,0 +1,140 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/publicdataset_autolaparo.py',
|
||||
'../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_300e_val1_check10.py',
|
||||
]
|
||||
|
||||
norm_cfg = dict(
|
||||
type='BN',
|
||||
)
|
||||
|
||||
crop_size = (512, 512)
|
||||
|
||||
data_preprocessor = dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
123.62464353460942,
|
||||
85.34836259209033,
|
||||
82.31539425671558,
|
||||
],
|
||||
std=[
|
||||
47.172211618459315,
|
||||
47.08256715323592,
|
||||
48.135121265163605,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
)
|
||||
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
context_channels=(128, 256, 512),
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
spatial_channels=(64, 64, 64, 128),
|
||||
out_channels=256,
|
||||
backbone_cfg=dict(
|
||||
type='ResNet',
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
depth=18,
|
||||
init_cfg=dict(
|
||||
type='Pretrained',
|
||||
checkpoint='./My_Local_Model/open_mmlab/resnet18_v1c.pth',
|
||||
),
|
||||
),
|
||||
),
|
||||
data_preprocessor=dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
123.62464353460942,
|
||||
85.34836259209033,
|
||||
82.31539425671558,
|
||||
],
|
||||
std=[
|
||||
47.172211618459315,
|
||||
47.08256715323592,
|
||||
48.135121265163605,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
),
|
||||
decode_head=dict(
|
||||
type='FCNHead',
|
||||
in_channels=256,
|
||||
channels=256,
|
||||
num_classes=10,
|
||||
),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=10,
|
||||
in_index=1,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=10,
|
||||
in_index=2,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
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=True,
|
||||
begin=0,
|
||||
end=10,
|
||||
),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
power=0.9,
|
||||
begin=10,
|
||||
end=300,
|
||||
eta_min=1e-05,
|
||||
by_epoch=True,
|
||||
),
|
||||
]
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/publicdataset_cholecseg8k.py',
|
||||
'../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_300e_val1_check10.py',
|
||||
]
|
||||
|
||||
norm_cfg = dict(
|
||||
type='BN',
|
||||
)
|
||||
|
||||
crop_size = (512, 512)
|
||||
|
||||
data_preprocessor = dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
85.65740418979115,
|
||||
53.99282220050495,
|
||||
46.074045888534535,
|
||||
],
|
||||
std=[
|
||||
72.24589167201978,
|
||||
56.76979155397199,
|
||||
49.056637115061775,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
)
|
||||
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
context_channels=(128, 256, 512),
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
spatial_channels=(64, 64, 64, 128),
|
||||
out_channels=256,
|
||||
backbone_cfg=dict(
|
||||
type='ResNet',
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
depth=18,
|
||||
init_cfg=dict(
|
||||
type='Pretrained',
|
||||
checkpoint='./My_Local_Model/open_mmlab/resnet18_v1c.pth',
|
||||
),
|
||||
),
|
||||
),
|
||||
data_preprocessor=dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
85.65740418979115,
|
||||
53.99282220050495,
|
||||
46.074045888534535,
|
||||
],
|
||||
std=[
|
||||
72.24589167201978,
|
||||
56.76979155397199,
|
||||
49.056637115061775,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
),
|
||||
decode_head=dict(
|
||||
type='FCNHead',
|
||||
in_channels=256,
|
||||
channels=256,
|
||||
num_classes=13,
|
||||
),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=13,
|
||||
in_index=1,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=13,
|
||||
in_index=2,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
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=True,
|
||||
begin=0,
|
||||
end=10,
|
||||
),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
power=0.9,
|
||||
begin=10,
|
||||
end=300,
|
||||
eta_min=1e-05,
|
||||
by_epoch=True,
|
||||
),
|
||||
]
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/publicdataset_dresden.py',
|
||||
'../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_300e_val1_check10.py',
|
||||
]
|
||||
|
||||
norm_cfg = dict(
|
||||
type='BN',
|
||||
)
|
||||
|
||||
crop_size = (512, 512)
|
||||
|
||||
data_preprocessor = dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
103.172638338208,
|
||||
61.44762740851152,
|
||||
51.407770213021976,
|
||||
],
|
||||
std=[
|
||||
75.77031253622098,
|
||||
54.63616729031377,
|
||||
49.45572239497569,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
)
|
||||
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
context_channels=(128, 256, 512),
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
spatial_channels=(64, 64, 64, 128),
|
||||
out_channels=256,
|
||||
backbone_cfg=dict(
|
||||
type='ResNet',
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
depth=18,
|
||||
init_cfg=dict(
|
||||
type='Pretrained',
|
||||
checkpoint='./My_Local_Model/open_mmlab/resnet18_v1c.pth',
|
||||
),
|
||||
),
|
||||
),
|
||||
data_preprocessor=dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
103.172638338208,
|
||||
61.44762740851152,
|
||||
51.407770213021976,
|
||||
],
|
||||
std=[
|
||||
75.77031253622098,
|
||||
54.63616729031377,
|
||||
49.45572239497569,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
),
|
||||
decode_head=dict(
|
||||
type='FCNHead',
|
||||
in_channels=256,
|
||||
channels=256,
|
||||
num_classes=11,
|
||||
),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=11,
|
||||
in_index=1,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=11,
|
||||
in_index=2,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
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=True,
|
||||
begin=0,
|
||||
end=10,
|
||||
),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
power=0.9,
|
||||
begin=10,
|
||||
end=300,
|
||||
eta_min=1e-05,
|
||||
by_epoch=True,
|
||||
),
|
||||
]
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/publicdataset_endovis_2017.py',
|
||||
'../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_300e_val1_check10.py',
|
||||
]
|
||||
|
||||
norm_cfg = dict(
|
||||
type='BN',
|
||||
)
|
||||
|
||||
crop_size = (512, 512)
|
||||
|
||||
data_preprocessor = dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
122.21429912990676,
|
||||
77.0821859677977,
|
||||
87.03836664626716,
|
||||
],
|
||||
std=[
|
||||
50.53335800365262,
|
||||
42.895340354037465,
|
||||
47.739426483390446,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
)
|
||||
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
context_channels=(128, 256, 512),
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
spatial_channels=(64, 64, 64, 128),
|
||||
out_channels=256,
|
||||
backbone_cfg=dict(
|
||||
type='ResNet',
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
depth=18,
|
||||
init_cfg=dict(
|
||||
type='Pretrained',
|
||||
checkpoint='./My_Local_Model/open_mmlab/resnet18_v1c.pth',
|
||||
),
|
||||
),
|
||||
),
|
||||
data_preprocessor=dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
122.21429912990676,
|
||||
77.0821859677977,
|
||||
87.03836664626716,
|
||||
],
|
||||
std=[
|
||||
50.53335800365262,
|
||||
42.895340354037465,
|
||||
47.739426483390446,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
),
|
||||
decode_head=dict(
|
||||
type='FCNHead',
|
||||
in_channels=256,
|
||||
channels=256,
|
||||
num_classes=8,
|
||||
),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=8,
|
||||
in_index=1,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=8,
|
||||
in_index=2,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
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=True,
|
||||
begin=0,
|
||||
end=10,
|
||||
),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
power=0.9,
|
||||
begin=10,
|
||||
end=300,
|
||||
eta_min=1e-05,
|
||||
by_epoch=True,
|
||||
),
|
||||
]
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/publicdataset_endovis_2018.py',
|
||||
'../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_300e_val1_check10.py',
|
||||
]
|
||||
|
||||
norm_cfg = dict(
|
||||
type='BN',
|
||||
)
|
||||
|
||||
crop_size = (512, 512)
|
||||
|
||||
data_preprocessor = dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
122.21429912990676,
|
||||
77.0821859677977,
|
||||
87.03836664626716,
|
||||
],
|
||||
std=[
|
||||
50.53335800365262,
|
||||
42.895340354037465,
|
||||
47.739426483390446,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
)
|
||||
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
context_channels=(128, 256, 512),
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
spatial_channels=(64, 64, 64, 128),
|
||||
out_channels=256,
|
||||
backbone_cfg=dict(
|
||||
type='ResNet',
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
depth=18,
|
||||
init_cfg=dict(
|
||||
type='Pretrained',
|
||||
checkpoint='./My_Local_Model/open_mmlab/resnet18_v1c.pth',
|
||||
),
|
||||
),
|
||||
),
|
||||
data_preprocessor=dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
122.21429912990676,
|
||||
77.0821859677977,
|
||||
87.03836664626716,
|
||||
],
|
||||
std=[
|
||||
50.53335800365262,
|
||||
42.895340354037465,
|
||||
47.739426483390446,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
),
|
||||
decode_head=dict(
|
||||
type='FCNHead',
|
||||
in_channels=256,
|
||||
channels=256,
|
||||
num_classes=8,
|
||||
),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=8,
|
||||
in_index=1,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=128,
|
||||
channels=64,
|
||||
num_convs=1,
|
||||
num_classes=8,
|
||||
in_index=2,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
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=True,
|
||||
begin=0,
|
||||
end=10,
|
||||
),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
power=0.9,
|
||||
begin=10,
|
||||
end=300,
|
||||
eta_min=1e-05,
|
||||
by_epoch=True,
|
||||
),
|
||||
]
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/publicdataset_autolaparo.py',
|
||||
'../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_300e_val1_check10.py',
|
||||
]
|
||||
|
||||
norm_cfg = dict(
|
||||
type='BN',
|
||||
)
|
||||
|
||||
crop_size = (512, 512)
|
||||
|
||||
data_preprocessor = dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
123.62464353460942,
|
||||
85.34836259209033,
|
||||
82.31539425671558,
|
||||
],
|
||||
std=[
|
||||
47.172211618459315,
|
||||
47.08256715323592,
|
||||
48.135121265163605,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
)
|
||||
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
context_channels=(512, 1024, 2048),
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
spatial_channels=(256, 256, 256, 512),
|
||||
out_channels=1024,
|
||||
backbone_cfg=dict(
|
||||
type='ResNet',
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
depth=50,
|
||||
init_cfg=dict(
|
||||
type='Pretrained',
|
||||
checkpoint='./My_Local_Model/open_mmlab/resnet50_v1c.pth',
|
||||
),
|
||||
),
|
||||
),
|
||||
data_preprocessor=dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
123.62464353460942,
|
||||
85.34836259209033,
|
||||
82.31539425671558,
|
||||
],
|
||||
std=[
|
||||
47.172211618459315,
|
||||
47.08256715323592,
|
||||
48.135121265163605,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
),
|
||||
decode_head=dict(
|
||||
type='FCNHead',
|
||||
in_channels=1024,
|
||||
channels=1024,
|
||||
num_classes=10,
|
||||
),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=10,
|
||||
in_index=1,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=10,
|
||||
in_index=2,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
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=True,
|
||||
begin=0,
|
||||
end=10,
|
||||
),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
power=0.9,
|
||||
begin=10,
|
||||
end=300,
|
||||
eta_min=1e-05,
|
||||
by_epoch=True,
|
||||
),
|
||||
]
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/publicdataset_cholecseg8k.py',
|
||||
'../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_300e_val1_check10.py',
|
||||
]
|
||||
|
||||
norm_cfg = dict(
|
||||
type='BN',
|
||||
)
|
||||
|
||||
crop_size = (512, 512)
|
||||
|
||||
data_preprocessor = dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
85.65740418979115,
|
||||
53.99282220050495,
|
||||
46.074045888534535,
|
||||
],
|
||||
std=[
|
||||
72.24589167201978,
|
||||
56.76979155397199,
|
||||
49.056637115061775,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
)
|
||||
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
context_channels=(512, 1024, 2048),
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
spatial_channels=(256, 256, 256, 512),
|
||||
out_channels=1024,
|
||||
backbone_cfg=dict(
|
||||
type='ResNet',
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
depth=50,
|
||||
init_cfg=dict(
|
||||
type='Pretrained',
|
||||
checkpoint='./My_Local_Model/open_mmlab/resnet50_v1c.pth',
|
||||
),
|
||||
),
|
||||
),
|
||||
data_preprocessor=dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
85.65740418979115,
|
||||
53.99282220050495,
|
||||
46.074045888534535,
|
||||
],
|
||||
std=[
|
||||
72.24589167201978,
|
||||
56.76979155397199,
|
||||
49.056637115061775,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
),
|
||||
decode_head=dict(
|
||||
type='FCNHead',
|
||||
in_channels=1024,
|
||||
channels=1024,
|
||||
num_classes=13,
|
||||
),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=13,
|
||||
in_index=1,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=13,
|
||||
in_index=2,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
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=True,
|
||||
begin=0,
|
||||
end=10,
|
||||
),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
power=0.9,
|
||||
begin=10,
|
||||
end=300,
|
||||
eta_min=1e-05,
|
||||
by_epoch=True,
|
||||
),
|
||||
]
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/publicdataset_dresden.py',
|
||||
'../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_300e_val1_check10.py',
|
||||
]
|
||||
|
||||
norm_cfg = dict(
|
||||
type='BN',
|
||||
)
|
||||
|
||||
crop_size = (512, 512)
|
||||
|
||||
data_preprocessor = dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
103.172638338208,
|
||||
61.44762740851152,
|
||||
51.407770213021976,
|
||||
],
|
||||
std=[
|
||||
75.77031253622098,
|
||||
54.63616729031377,
|
||||
49.45572239497569,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
)
|
||||
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
context_channels=(512, 1024, 2048),
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
spatial_channels=(256, 256, 256, 512),
|
||||
out_channels=1024,
|
||||
backbone_cfg=dict(
|
||||
type='ResNet',
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
depth=50,
|
||||
init_cfg=dict(
|
||||
type='Pretrained',
|
||||
checkpoint='./My_Local_Model/open_mmlab/resnet50_v1c.pth',
|
||||
),
|
||||
),
|
||||
),
|
||||
data_preprocessor=dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
103.172638338208,
|
||||
61.44762740851152,
|
||||
51.407770213021976,
|
||||
],
|
||||
std=[
|
||||
75.77031253622098,
|
||||
54.63616729031377,
|
||||
49.45572239497569,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
),
|
||||
decode_head=dict(
|
||||
type='FCNHead',
|
||||
in_channels=1024,
|
||||
channels=1024,
|
||||
num_classes=11,
|
||||
),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=11,
|
||||
in_index=1,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=11,
|
||||
in_index=2,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
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=True,
|
||||
begin=0,
|
||||
end=10,
|
||||
),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
power=0.9,
|
||||
begin=10,
|
||||
end=300,
|
||||
eta_min=1e-05,
|
||||
by_epoch=True,
|
||||
),
|
||||
]
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/publicdataset_endovis_2017.py',
|
||||
'../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_300e_val1_check10.py',
|
||||
]
|
||||
|
||||
norm_cfg = dict(
|
||||
type='BN',
|
||||
)
|
||||
|
||||
crop_size = (512, 512)
|
||||
|
||||
data_preprocessor = dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
122.21429912990676,
|
||||
77.0821859677977,
|
||||
87.03836664626716,
|
||||
],
|
||||
std=[
|
||||
50.53335800365262,
|
||||
42.895340354037465,
|
||||
47.739426483390446,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
)
|
||||
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
context_channels=(512, 1024, 2048),
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
spatial_channels=(256, 256, 256, 512),
|
||||
out_channels=1024,
|
||||
backbone_cfg=dict(
|
||||
type='ResNet',
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
depth=50,
|
||||
init_cfg=dict(
|
||||
type='Pretrained',
|
||||
checkpoint='./My_Local_Model/open_mmlab/resnet50_v1c.pth',
|
||||
),
|
||||
),
|
||||
),
|
||||
data_preprocessor=dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
122.21429912990676,
|
||||
77.0821859677977,
|
||||
87.03836664626716,
|
||||
],
|
||||
std=[
|
||||
50.53335800365262,
|
||||
42.895340354037465,
|
||||
47.739426483390446,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
),
|
||||
decode_head=dict(
|
||||
type='FCNHead',
|
||||
in_channels=1024,
|
||||
channels=1024,
|
||||
num_classes=8,
|
||||
),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=8,
|
||||
in_index=1,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=8,
|
||||
in_index=2,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
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=True,
|
||||
begin=0,
|
||||
end=10,
|
||||
),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
power=0.9,
|
||||
begin=10,
|
||||
end=300,
|
||||
eta_min=1e-05,
|
||||
by_epoch=True,
|
||||
),
|
||||
]
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
_base_ = [
|
||||
'../_base_/models/bisenetv1_r18-d32.py',
|
||||
'../_base_/datasets/publicdataset_endovis_2018.py',
|
||||
'../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_300e_val1_check10.py',
|
||||
]
|
||||
|
||||
norm_cfg = dict(
|
||||
type='BN',
|
||||
)
|
||||
|
||||
crop_size = (512, 512)
|
||||
|
||||
data_preprocessor = dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
122.21429912990676,
|
||||
77.0821859677977,
|
||||
87.03836664626716,
|
||||
],
|
||||
std=[
|
||||
50.53335800365262,
|
||||
42.895340354037465,
|
||||
47.739426483390446,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
)
|
||||
|
||||
model = dict(
|
||||
backbone=dict(
|
||||
context_channels=(512, 1024, 2048),
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
spatial_channels=(256, 256, 256, 512),
|
||||
out_channels=1024,
|
||||
backbone_cfg=dict(
|
||||
type='ResNet',
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
depth=50,
|
||||
init_cfg=dict(
|
||||
type='Pretrained',
|
||||
checkpoint='./My_Local_Model/open_mmlab/resnet50_v1c.pth',
|
||||
),
|
||||
),
|
||||
),
|
||||
data_preprocessor=dict(
|
||||
size=(512, 512),
|
||||
mean=[
|
||||
122.21429912990676,
|
||||
77.0821859677977,
|
||||
87.03836664626716,
|
||||
],
|
||||
std=[
|
||||
50.53335800365262,
|
||||
42.895340354037465,
|
||||
47.739426483390446,
|
||||
],
|
||||
bgr_to_rgb=False,
|
||||
),
|
||||
decode_head=dict(
|
||||
type='FCNHead',
|
||||
in_channels=1024,
|
||||
channels=1024,
|
||||
num_classes=8,
|
||||
),
|
||||
auxiliary_head=[
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=8,
|
||||
in_index=1,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
dict(
|
||||
type='FCNHead',
|
||||
in_channels=512,
|
||||
channels=256,
|
||||
num_convs=1,
|
||||
num_classes=8,
|
||||
in_index=2,
|
||||
norm_cfg=dict(
|
||||
type='BN',
|
||||
),
|
||||
concat_input=False,
|
||||
align_corners=False,
|
||||
loss_decode=dict(
|
||||
type='CrossEntropyLoss',
|
||||
use_sigmoid=False,
|
||||
loss_weight=1.0,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
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=True,
|
||||
begin=0,
|
||||
end=10,
|
||||
),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
power=0.9,
|
||||
begin=10,
|
||||
end=300,
|
||||
eta_min=1e-05,
|
||||
by_epoch=True,
|
||||
),
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user