- Feb 14, 2025
-
-
Timo Bartels authored
-
- Dec 04, 2024
-
-
Timo Bartels authored
-
- May 06, 2024
-
-
Timo Bartels authored
-
- Jan 24, 2024
-
-
Timo Bartels authored
-
Timo Bartels authored
-
- Jan 23, 2024
-
-
Timo Bartels authored
-
- Dec 06, 2023
-
-
Timo Bartels authored
-
- Nov 17, 2023
-
-
Timo Bartels authored
This reverts commit f1998375.
-
- Nov 09, 2023
-
-
Timo Bartels authored
-
- Nov 08, 2023
-
-
Timo Bartels authored
-
- Oct 06, 2023
-
-
Timo Bartels authored
Dynasegformer: Added sparsity loss term for masks & replaced matmul in dgl layer to 1x1 Conv to save GPU memory
-
Timo Bartels authored
-
- Aug 30, 2023
-
-
Timo Bartels authored
-
- Aug 15, 2023
-
-
Timo Bartels authored
-
- Aug 07, 2023
-
-
https://github.com/jonasitzmann/mmsegmentation/tree/miou-fpsTimo Bartels authored
- reproduced some experiments - added VSS pipeline - added pruning pipeline
-
https://github.com/jonasitzmann/mmsegmentation/tree/miou-fpsTimo Bartels authored
- reproduced some experiments - added VSS pipeline - added pruning pipeline
-
- Jul 12, 2023
-
-
https://github.com/jonasitzmann/mmsegmentation/tree/miou-fpsTimo Bartels authored
- reproduced some experiments
-
- Jul 04, 2023
-
-
谢昕辰 authored
Co-authored-by:
CSH <40987381+csatsurnh@users.noreply.github.com>
-
- Jun 30, 2023
-
-
谢昕辰 authored
-
- Jun 26, 2023
-
-
谢昕辰 authored
## Motivation Change the dependency `mmcls` to `mmpretrain` ## Modification - modify `mmcls` to `mmpretrain` - modify CI requirements ## BC-breaking (Optional) If users have installed mmcls but not install mmpretrain, it might raise some error.
-
- May 10, 2023
-
-
WuFan authored
- support dsdl seg dataset - add dsdl dataset citest - validated accuracy on voc2012 and cityscapes
-
- May 08, 2023
-
-
zoulinxin authored
## Motivation For support with reading multiple remote sensing image formats, please refer to https://gdal.org/drivers/raster/index.html . Byte, UInt16, Int16, UInt32, Int32, Float32, Float64, CInt16, CInt32, CFloat32 and CFloat64 are supported for reading and writing. Support input of two images for change detection tasks, and support the LEVIR-CD dataset. ## Modification Add LoadSingleRSImageFromFile in 'mmseg/datasets/transforms/loading.py'. Load a single remote sensing image for object segmentation tasks. Add LoadMultipleRSImageFromFile in 'mmseg/datasets/transforms/loading.py'. Load two remote sensing images for change detection tasks. Add ConcatCDInput in 'mmseg/datasets/transforms/transforms.py'. Combine images that have been separately augmented for data enhancement. Add BaseCDDataset in 'mmseg/datasets/basesegdataset.py' Base class for datasets used in change detection tasks. --------- Co-authored-by:
xiexinch <xiexinch@outlook.com>
-
- May 06, 2023
-
-
MengzhangLI authored
Ref: https://github.com/ydhongHIT/DDRNet#citation Co-authored-by:
xiexinch <xiexinch@outlook.com>
-
- Apr 27, 2023
-
-
Pan Zhang authored
Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers. ## Motivation Support DDRNet Paper: [Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation of Road Scenes](https://arxiv.org/pdf/2101.06085) official Code: https://github.com/ydhongHIT/DDRNet There is already a PR https://github.com/open-mmlab/mmsegmentation/pull/1722 , but it has been inactive for a long time. ## Current Result ### Cityscapes #### inference with converted official weights | Method | Backbone | mIoU(official) | mIoU(converted weight) | | ------ | ------------- | -------------- | ---------------------- | | DDRNet | DDRNet23-slim | 77.8 | 77.84 | | DDRNet | DDRNet23 | 79.5 | 79.53 | #### training with converted pretrained backbone | Method | Backbone | Crop Size | Lr schd | Inf time(fps) | Device | mIoU | mIoU(ms+flip) | config | download | | ------ | ------------- | --------- | ------- | ------- | -------- | ----- | ------------- | ------------ | ------------ | | DDRNet | DDRNet23-slim | 1024x1024 | 120000 | 85.85 | RTX 8000 | 77.85 | 79.80 | [config](https://github.com/whu-pzhang/mmsegmentation/blob/ddrnet/configs/ddrnet/ddrnet_23-slim_in1k-pre_2xb6-120k_cityscapes-1024x1024.py) | model \| log | | DDRNet | DDRNet23 | 1024x1024 | 120000 | 33.41 | RTX 8000 | 79.53 | 80.98 | [config](https://github.com/whu-pzhang/mmsegmentation/blob/ddrnet/configs/ddrnet/ddrnet_23_in1k-pre_2xb6-120k_cityscapes-1024x1024.py) | model \| log | The converted pretrained backbone weights download link: 1. [ddrnet23s_in1k_mmseg.pth](https://drive.google.com/file/d/1Ni4F1PMGGjuld-1S9fzDTmneLfpMuPTG/view?usp=sharing) 2. [ddrnet23_in1k_mmseg.pth](https://drive.google.com/file/d/11rsijC1xOWB6B0LgNQkAG-W6e1OdbCyJ/view?usp=sharing ) ## To do - [x] support inference with converted official weights - [x] support training on cityscapes dataset --------- Co-authored-by:
xiexinch <xiexinch@outlook.com>
-
- Mar 31, 2023
-
-
谢昕辰 authored
## Motivation - Create the `main` branch ## Modification Modify links from `dev-1.x` to `main`
-
- Mar 17, 2023
- Mar 16, 2023
-
-
MengzhangLI authored
## Motivation Support SegNeXt in MMSeg 1.x branch. 0.x PR: https://github.com/open-mmlab/mmsegmentation/pull/2600 --------- Co-authored-by:
xiexinch <xiexinch@outlook.com>
-
- Mar 15, 2023
-
-
谢昕辰 authored
## Motivation Support SOTA real-time semantic segmentation method in [Paper with code](https://paperswithcode.com/task/real-time-semantic-segmentation) Paper: https://arxiv.org/pdf/2206.02066.pdf Official repo: https://github.com/XuJiacong/PIDNet ## Current results **Cityscapes** |Model|Ref mIoU|mIoU (ours)| |---|---|---| |PIDNet-S|78.8|78.74| |PIDNet-M|79.9|80.22| |PIDNet-L|80.9|80.89| ## TODO - [x] Support inference with official weights - [x] Support training on Cityscapes - [x] Update docstring - [x] Add unit test
-
Tianlong Ai authored
## [Datasets] Add Mapillary Vistas Datasets to MMSeg Core Package . ## Motivation Add Mapillary Vistas Datasets to core package. Old PR #2484 ## Modification - Add Mapillary Vistas Datasets to core package. - Delete `tools/datasets_convert/mapillary.py` , dataset does't need converting. - Add `schedule_240k.py` config. - Add configs files. ```none deeplabv3plus_r101-d8_4xb2-240k_mapillay_v1-512x1024.py deeplabv3plus_r101-d8_4xb2-240k_mapillay_v2-512x1024.py maskformer_swin-s_4xb2-240k_mapillary_v1-512x1024.py maskformer_swin-s_4xb2-240k_mapillary_v2-512x1024.py maskformer_r101-d8_4xb2-240k_mapillary_v1-512x1024.py maskformer_r101-d8_4xb2-240k_mapillary_v2-512x1024.py pspnet_r101-d8_4xb2-240k_mapillay_v1-512x1024.py pspnet_r101-d8_4xb2-240k_mapillay_v2-512x1024.py ``` - Synchronized changes to `projects/mapillary_datasets` --------- Co-authored-by:
Miao Zheng <76149310+MeowZheng@users.noreply.github.com> Co-authored-by:
xiexinch <xiexinch@outlook.com>
-
- Feb 28, 2023
-
-
谢昕辰 authored
[Fix] Add out_channels in `CascadeEncoderDecoder` and update OCRNet and MobileNet v2 results (#2656) ## Motivation As title. ## Modification 1. update results in readme 2. fix attr error in cascade encoder decoder
-
- Feb 23, 2023
-
-
谢昕辰 authored
## Motivation The registry now supports auto-import modules from the given location. register_all_modules before running is no longer needed. The modules will be lazy-imported during building. - [x] This PR can be merged after https://github.com/open-mmlab/mmengine/pull/643. The MMEngine version should be updated. Ref: https://github.com/open-mmlab/mmdetection/pull/9143
-
- Feb 16, 2023
-
-
谢昕辰 authored
## Motivation In MMEngine >= 0.2.0, it might directly determine what the backend is by using the `data_root` path. ## Modification Set all default `backend_args` values are `None`.
-
- Feb 03, 2023
-
-
Andrew Lau authored
## Motivation Add REFUGE datasets Old PR: https://github.com/open-mmlab/mmsegmentation/pull/2420 --------- Co-authored-by:
MengzhangLI <mcmong@pku.edu.cn>
-
- Feb 01, 2023
-
-
Qingyun authored
## Motivation The DETR-related modules have been refactored in open-mmlab/mmdetection#8763, which causes breakings of MaskFormer and Mask2Former in both MMDetection (has been fixed in open-mmlab/mmdetection#9515) and MMSegmentation. This pr fix the bugs in MMSegmentation. ### TO-DO List - [x] update configs - [x] check and modify data flow - [x] fix unit test - [x] aligning inference - [x] write a ckpt converter - [x] write ckpt update script - [x] update model zoo - [x] update model link in readme - [x] update [faq.md](https://github.com/open-mmlab/mmsegmentation/blob/dev-1.x/docs/en/notes/faq.md#installation ) ## Tips of Fixing other implementations based on MaskXFormer of mmseg 1. The Transformer modules should be built directly. The original building with register manner has been refactored. 2. The config requires to be modified. Delete `type` and modify several keys, according to the modifications in this pr. 3. The `batch_first` is set `True` uniformly in the new implementations. Hence the data flow requires to be transposed and config of `batch_first` needs to be modified. 4. The checkpoint trained on the old implementation should be converted to be used in the new one. ### Convert script ```Python import argparse from copy import deepcopy from collections import OrderedDict import torch from mmengine.config import Config from mmseg.models import build_segmentor from mmseg.utils import register_all_modules register_all_modules(init_default_scope=True) def parse_args(): parser = argparse.ArgumentParser( description='MMSeg convert MaskXFormer model, by Li-Qingyun') parser.add_argument('Mask_what_former', type=int, help='Mask what former, can be a `1` or `2`', choices=[1, 2]) parser.add_argument('CFG_FILE', help='config file path') parser.add_argument('OLD_CKPT_FILEPATH', help='old ckpt file path') parser.add_argument('NEW_CKPT_FILEPATH', help='new ckpt file path') args = parser.parse_args() return args args = parse_args() def get_new_name(old_name: str): new_name = old_name if 'encoder.layers' in new_name: new_name = new_name.replace('attentions.0', 'self_attn') new_name = new_name.replace('ffns.0', 'ffn') if 'decoder.layers' in new_name: if args.Mask_what_former == 2: # for Mask2Former new_name = new_name.replace('attentions.0', 'cross_attn') new_name = new_name.replace('attentions.1', 'self_attn') else: # for Mask2Former new_name = new_name.replace('attentions.0', 'self_attn') new_name = new_name.replace('attentions.1', 'cross_attn') return new_name def cvt_sd(old_sd: OrderedDict): new_sd = OrderedDict() for name, param in old_sd.items(): new_name = get_new_name(name) assert new_name not in new_sd new_sd[new_name] = param assert len(new_sd) == len(old_sd) return new_sd if __name__ == '__main__': cfg = Config.fromfile(args.CFG_FILE) model_cfg = cfg.model segmentor = build_segmentor(model_cfg) refer_sd = segmentor.state_dict() old_ckpt = torch.load(args.OLD_CKPT_FILEPATH) old_sd = old_ckpt['state_dict'] new_sd = cvt_sd(old_sd) print(segmentor.load_state_dict(new_sd)) new_ckpt = deepcopy(old_ckpt) new_ckpt['state_dict'] = new_sd torch.save(new_ckpt, args.NEW_CKPT_FILEPATH) print(f'{args.NEW_CKPT_FILEPATH} has been saved!') ``` Usage: ```bash # for example python ckpt4pr2532.py 1 configs/maskformer/maskformer_r50-d32_8xb2-160k_ade20k-512x512.py original_ckpts/maskformer_r50-d32_8xb2-160k_ade20k-512x512_20221030_182724-cbd39cc1.pth cvt_outputs/maskformer_r50-d32_8xb2-160k_ade20k-512x512_20221030_182724.pth python ckpt4pr2532.py 2 configs/mask2former/mask2former_r50_8xb2-160k_ade20k-512x512.py original_ckpts/mask2former_r50_8xb2-160k_ade20k-512x512_20221204_000055-4c62652d.pth cvt_outputs/mask2former_r50_8xb2-160k_ade20k-512x512_20221204_000055.pth ``` --------- Co-authored-by:
MeowZheng <meowzheng@outlook.com>
-
谢昕辰 authored
## Motivation Use the new fileio from mmengine https://github.com/open-mmlab/mmengine/pull/533 ## Modification 1. Use `mmengine.fileio` to repalce FileClient in mmseg/datasets 2. Use `mmengine.fileio` to repalce FileClient in mmseg/datasets/transforms 3. Use `mmengine.fileio` to repalce FileClient in mmseg/visualization ## BC-breaking (Optional) we modify all the dataset configurations, so please use the latest config file.
-
- Jan 31, 2023
-
-
MengzhangLI authored
-
- Jan 06, 2023
-
-
王永韬 authored
## Motivation Add Synapse dataset in MMSegmentation. Old PR: https://github.com/open-mmlab/mmsegmentation/pull/2372.
-
- Dec 30, 2022
-
-
谢昕辰 authored
* tta init * use mmcv transform * test city * add multiscale * fix merge * add softmax to post process * add ut * add tta pipeline to other datasets * remove softmax * add encoder_decoder_tta ut * add encoder_decoder_tta ut * rename * rename file * rename config * rm aug_test * move flip to post process * fix channel
-
haofeng authored
-