368 Commits

Author SHA1 Message Date
Tianlong Ai
8c89ff3dd1
[Datasets] Add Mapillary Vistas Datasets to MMSeg Core Package. (#2576)
## [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>
2023-03-15 14:44:38 +08:00
Junhwa Song
447a398c24
[Typo] Change indexes to indices (#2747)
## Modification

I just replaced the `indexes` variable name with `indices` for naming
consistency.
2023-03-14 23:56:40 +08:00
Miao Zheng
6ba4696648
[Enhancement] Support input gt seg map is not 2D (#2739)
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

fix #2593

## Modification

1. Only when gt seg map is 2D, extend its shape to 3D PixelData 
2. If seg map is not 2D, we raised warning for users.

---------

Co-authored-by: xiexinch <xiexinch@outlook.com>
2023-03-14 23:14:41 +08:00
Miao Zheng
a8aafdd902
[Fix] Support format_result and fix prefix param in cityscape metric, and rename CitysMetric to CityscapesMetric (#2660)
as title
2023-03-07 17:57:37 +08:00
谢昕辰
779b86cd74
bump v1.0.0rc6 (#2647)
as title
2023-03-03 16:54:12 +08:00
Miao Zheng
310ec4afc7
[Enhancement] Modify interface of MMSeginferencer and add docs (#2658)
## Motivation

Make MMSeginferencer easier to be used

## Modification

1. Add `_load_weights_to_model` to MMSeginferencer, it is for get
`dataset_meta` from ckpt
2. Modify and remove some parameters of `__call__`, `visualization` and
`postprocess`
3. Add function of save seg mask, remove dump pkl.
4. Refine docstring of MMSeginferencer and SegLocalVisualizer
5. Add the user documentation of MMSeginferencer

## BC-breaking (Optional)

yes, remove some parameters, we need to discuss whether keep them with
deprecated waring or just remove them as the MMSeginferencer just merged
in mmseg a few days.

Co-authored-by: xiexinch <xiexinch@outlook.com>
2023-03-03 14:37:54 +08:00
谢昕辰
19f92851f5
[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
2023-02-28 15:57:43 +08:00
谢昕辰
53fe1ccf39
[Feature] Support MMSegInferencer (#2413)
## Motivation

Support `MMSegInferencer` for providing an easy and clean interface for
single or multiple images inferencing.

Ref: https://github.com/open-mmlab/mmengine/pull/773
https://github.com/open-mmlab/mmocr/pull/1608

## Modification

- mmseg/apis/mmseg_inferencer.py
- mmseg/visualization/local_visualizer.py
- demo/image_demo_with_inferencer.py

## Use cases (Optional)

Based on https://github.com/open-mmlab/mmengine/tree/inference

Add a new image inference demo with `MMSegInferencer`

- demo/image_demo_with_inferencer.py

```shell
python demo/image_demo_with_inferencer.py demo/demo.png fcn_r50-d8_4xb2-40k_cityscapes-512x1024
```

---------

Co-authored-by: MeowZheng <meowzheng@outlook.com>
2023-02-23 21:16:19 +08:00
谢昕辰
039ba5d4ca
[Feature] Support auto import modules from registry. (#2481)
## 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
2023-02-23 20:33:17 +08:00
谢昕辰
a947e3e754
[FIx] Set default backend_args values to None (#2597)
## 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`.
2023-02-16 15:33:52 +08:00
CSH
2e27f8b678
[Enhancement]Replace numpy ascontiguousarray with torch contiguous to speed-up (#2604)
## Motivation

Original motivation was after [MMDetection PR
#9533](https://github.com/open-mmlab/mmdetection/pull/9533)

With several experiments I found out that if a ndarray is contiguous,
numpy.transpose + torch.contiguous perform better, while if not, then
use numpy.ascontiguousarray + numpy.transpose

## Modification

Replace numpy.ascontiguousarray with torch.contiguous in
[PackSegInputs](https://github.com/open-mmlab/mmsegmentation/blob/1.x/mmseg/datasets/transforms/formatting.py)

Co-authored-by: MeowZheng <meowzheng@outlook.com>
2023-02-15 19:02:00 +08:00
Andrew Lau
49b062e365
CodeCamp #139 [Feature] Support REFUGE dataset. (#2554)
## Motivation 
Add REFUGE datasets
Old PR: https://github.com/open-mmlab/mmsegmentation/pull/2420

---------

Co-authored-by: MengzhangLI <mcmong@pku.edu.cn>
2023-02-03 16:02:19 +08:00
谢昕辰
7ac0888d9f
Bump v1.0.0rc5 (#2549)
as title
2023-02-01 20:34:20 +08:00
zccjjj
ce63ccf7ab
Rename typing.py to typing_utils.py (#2548)
## Motivation

Fix the bug in running ```collect_evn.py```. #2547 

## Modification

Rename typing.py to typing_utils.py
2023-02-01 19:11:38 +08:00
谢昕辰
124b87ce90
[Refactor] Refactor fileio (#2543)
## 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.
2023-02-01 17:53:22 +08:00
Siddharth Ancha
698dee9525
Backward merge #2535 from 1.x into dev-1.x (#2546)
## Motivation

This is essentially #2535 that I had intended to submit to the `dev-1.x`
branch but accidentally submitted it directly to the `1.x` branch
(apologies!). This also got approved possibly because the core devs also
didn't realize this.

The problem is that now `1.x` and `dev-1.x` are out of sync -- the
changes introduced by #2535 will never be reflected in `dev-1.x`.

## Modification

I'm proposing this "backward-merge" so that `1.x` and `dev-1.x` can be
in sync again. If you look at "files changed", they are exactly the
changes introduced by #2535.

Co-authored-by: MeowZheng <meowzheng@outlook.com>
2023-02-01 10:26:44 +08:00
谢昕辰
18ee41eb7a
Bump v1.0.0rc4 (#2529) 2023-01-30 17:53:07 +08:00
Siddharth Ancha
d1c0a3efd4
[Fix] Unfinished label conversion from -1 to 255 in 1.x (#2516)
## Motivation

This is motivated by a previously unfinished PR (#2332). In that PR, the
label -1 was changed to 255 in `BaseSegDataset`, which is correct.
However, it was changed at only one location. There is another location
in `mmseg/datasets/basesegdataset.py` where -1 was still being used that
was not converted to 255. I have now converted it to 255.

This is exactly same as a similar fix to the `master` branch via #2515 .

## Modification

I've simply converted the snipped

```python
if new_id != -1:
    new_palette.append(palette[old_id])
```
to 
```python
if new_id != 255:
    new_palette.append(palette[old_id])
```

## Checklist

- [x] Pre-commit or other linting tools are used to fix the potential
lint issues.
  - _I've fixed all linting/pre-commit errors._
- [x] The modification is covered by complete unit tests. If not, please
add more unit test to ensure the correctness.
  - _No unit tests need to be added or were affected.
- [x] If the modification has potential influence on downstream
projects, this PR should be tested with downstream projects, like MMDet
or MMDet3D.
  - _I don't think this change affects MMDet or MMDet3D._
- [x] The documentation has been modified accordingly, like docstring or
example tutorials.
- _This change fixes an existing bug and doesn't require modifying any
documentation/docstring._
2023-01-30 12:35:55 +08:00
Siddharth Ancha
74e8b89b17
[Fix] Switch order of reduce_zero_label and applying label_map in 1.x (#2517)
This is an almost exact duplicate of #2500 (that was made to the
`master` branch) now applied to the `1.x` branch.

---

## Motivation

I want to fix a bug through this PR. The bug occurs when two options --
`reduce_zero_label=True`, and custom classes are used.
`reduce_zero_label` remaps the GT seg labels by remapping the zero-class
to 255 which is ignored. Conceptually, this should occur *before* the
`label_map` is applied, which maps *already reduced labels*. However,
currently, the `label_map` is applied before the zero label is reduced.

## Modification

The modification is simple:
- I've just interchanged the order of the two operations by moving a few
lines from bottom to top.
- I've added a test that passes when the fix is introduced, and fails on
the original `master` branch.

## BC-breaking (Optional)

I do not anticipate this change braking any backward-compatibility.

## Checklist

- [x] Pre-commit or other linting tools are used to fix the potential
lint issues.
  - _I've fixed all linting/pre-commit errors._
- [x] The modification is covered by complete unit tests. If not, please
add more unit test to ensure the correctness.
  - _I've added a unit test._ 
- [x] If the modification has potential influence on downstream
projects, this PR should be tested with downstream projects, like MMDet
or MMDet3D.
  - _I don't think this change affects MMDet or MMDet3D._
- [x] The documentation has been modified accordingly, like docstring or
example tutorials.
- _This change fixes an existing bug and doesn't require modifying any
documentation/docstring._
2023-01-30 12:17:15 +08:00
谢昕辰
37af545f6b
[Fix] Fix inference api and support setting palette to SegLocalVisualizer (#2475)
as title

Co-authored-by: MengzhangLI <mcmong@pku.edu.cn>
2023-01-20 21:40:13 +08:00
Leeinsn
7fc8ca0312
CodeCamp #141 [Feature] Add BioMedical3DRandomFlip. (#2404)
## Motivation

Support for biomedical 3d images augmentation.

## Modification

Add BioMedical3DRandomFlip in mmseg/datasets/transforms/transforms.py.

Co-authored-by: MeowZheng <meowzheng@outlook.com>
2023-01-20 15:34:11 +08:00
Vladimir Loginov
6d8ba3b5a0
Update basesegdataset.py (#2492)
## Motivation

Makes docstring to be consistent with actual argument name.

## Modification

Minor fix

## BC-breaking (Optional)

No
2023-01-17 20:18:46 +08:00
Wencheng Wu
8dae9465a6
[Feature] Add gt_edge_map field. (#2466)
## Motivation

The motivation of this PR is to add `gt_edge_map` field to support
boundary loss.

## Modification

- GenerateEdge
Modify `gt_edge` field to `gt_edge_map`.

- PackSegInputs
Add `gt_edge_map` to data_sample.

- stack_batch
Pad `gt_edge_map` to max_shape.

## BC-breaking (Optional)

No

## Use cases (Optional)

Reference `GenerateEdge`.
2023-01-11 11:51:29 +08:00
谢昕辰
f90f7a56d4
[Fix] Fix incorrect img_shape value assignment in RandomCrop (#2469)
## Motivation

Fix incorrect `img_shape` value assignment.

## Modification

- mmseg/datasets/transforms/transforms.py
2023-01-10 18:03:43 +08:00
王永韬
2d67e51db3
CodeCamp #140 [New] [Feature] Add synapse dataset and data augmentation in dev-1.x. (#2432)
## Motivation

Add Synapse dataset in MMSegmentation.
Old PR: https://github.com/open-mmlab/mmsegmentation/pull/2372.
2023-01-06 16:14:54 +08:00
legendchilli
6af2b8eab9
[Feature] Add BioMedical3DPad (#2383)
## Motivation
Add the 3d pad transform for biomedical images, which follows the design
of the nnUNet.
2023-01-03 13:37:48 +08:00
Fivethousand
3ca690bad3
[Feature] Add BioMedicalRandomGamma (#2406)
Add the random gamma correction transform for biomedical images, which
follows the design of the nnUNet.
2023-01-02 21:29:03 +08:00
Haoyu Wang
26f3df7a45
[Feature] nnUNet-style Gaussian Noise and Blur (#2373)
## Motivation

implement nnUNet-style Gaussian Noise and Blur
2023-01-02 20:43:15 +08:00
Miao Zheng
6eb1a95a48
Bump 1.0.0rc3 (#2446)
## Motivation

To release 1.0.0rc3  

## Modification

1. Modify mmseg version 
2. Add change log
3. Modify README
4. Modify faq 
5. Revise docker file
2022-12-31 18:15:56 +08:00
Miao Zheng
d88f393ffa
[Fix] Remove dependcy mmdet when do not use MaskFormerHead and MMDET_Mask2FormerHead (#2448)
## Motivation

Calling `mmseg.utils.register_all_modules` will import `MaskFormerHead`
and `Mask2FormerHead`, it will crash if mmdet is not installed as `None`
cannot be initialized.

## Modification

- Modify `MMDET_MaskFormerHead=BaseModule` and `MMDET_Mask2FormerHead =
BaseModule` when cannot import from mmdet
2022-12-31 01:02:58 +08:00
谢昕辰
da4125587e [Refactor] Support TTA (#2184)
* 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
2022-12-30 22:52:07 +08:00
Jin Ye
79e8578bfc [Feature] Add Biomedical 3D array random crop transform (#2378)
* [Feature] Add Biomedical 3D array random crop transform

* fix lint

* fix gen crop bbox

* fix gen crop bbox

* docstring

* typo

Co-authored-by: MeowZheng <meowzheng@outlook.com>
2022-12-30 22:52:07 +08:00
Miao Zheng
750bb4f180
Bump 1.0.0rc2 (#2384)
* Bump 1.0.0rc2

* typo
2022-12-06 16:32:52 +08:00
nulam
3bac6ef5a4
Fix typo in warning on binary classification (#2382) 2022-12-06 11:29:11 +08:00
Miao Zheng
f3db8d779d
[Fix]Add input argument for datasets (#2379) 2022-12-05 22:27:04 +08:00
谢昕辰
163277bfe0
[Feature] Support Mask2former in MMSeg 1.x (#2255)
* init commits

* fix crop size

* add seg_data2instance_data method

* add ut and update requirement

* update configs and readme

* add model-indel

* update optional requirements

* fix results

* fix lint error

* update results

* update results

* remove mmdet from requirements/optional.txt

* use try import and update README

* add docstring to overwrtied method

* minor change

Co-authored-by: MengzhangLI <mcmong@pku.edu.cn>
2022-12-05 18:34:24 +08:00
MengzhangLI
933e4d3cb6
[Feature] Support MaskFormer(NeurIPS'2021) in MMSeg 1.x (#2215)
* [Feature] Support MaskFormer(NeurIPS'2021) in MMSeg 1.x

* add mmdet try except logic

* refactor config files

* add readme

* fix config

* update models & logs

* add MMDET installation and fix info

* fix comments

* fix

* fix config norm optimizer setting

* update models & logs & unittest

* add docstring of MaskFormerHead

* wait for mmdet 3.0.0rc4

* replace seg_mask with seg_logits & add docstring for batch_input_shape

* use mmdet3.0.0rc4

* fix readme and modify config comments

* add mmdet installation in pr_stage_test.yml

* update mmcv version in pr_stage_test.yml

* add mmdet in build_cpu of pr_stage_test.yml

* modify mmdet& mmcv installation in merge_stage_test.yml

* fix typo

* update test.yml

* update test.yml
2022-12-01 19:03:10 +08:00
谢昕辰
925faea5bf
[Fix] Fix the problem of post-processing not removing padding (#2367)
* add img_padding_size

* minor change

* add pad_shape to data_samples
2022-12-01 16:35:39 +08:00
Miao Zheng
0cdab7297e
Merge pull request #2339 from xiexinch/resize-shortest-edge
[Feature] Add ResizeShortestEdge transform
2022-12-01 16:06:23 +08:00
xiexinch
3b731edbd3 update copyright 2022-12-01 13:58:17 +08:00
xiexinch
5a62b0335f fix h,w order 2022-12-01 11:25:00 +08:00
MengzhangLI
e98231ba5f [Enhance] Make scipy as a default dependency in runtime 1.x 2022-11-30 20:11:14 +08:00
xiexinch
721afaec31 add docstring 2022-11-24 16:22:07 +08:00
xiexinch
1910dffd6c minor change 2022-11-24 15:02:50 +08:00
xiexinch
68e3b25560 use mmcv.RandomChoiceResize as entry 2022-11-24 14:55:25 +08:00
xiexinch
721f4d01f3 add ut 2022-11-23 15:15:38 +08:00
MengzhangLI
8b61820751 add comment 2022-11-22 22:42:11 +08:00
xiexinch
056edc8e1a init 2022-11-22 19:51:38 +08:00
MengzhangLI
58e73c3fab [Fix] Fix KNet IterativeDecodeHead bug in dev-1.x branch 2022-11-22 12:46:24 +08:00
MengzhangLI
cfab5b39c0 [Fix] Fix ignore class id from -1 to 255 in BaseSegDataset in 1.x 2022-11-22 00:52:36 +08:00