44 Commits

Author SHA1 Message Date
CastleDream
1235217667
[CodeCamp2023-154] Add semantic label to the segmentation visualization results (#3229)
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

[Add semantic label to the segmentation visualization results
分割可视化结果中加上语义信息
#154](https://github.com/open-mmlab/OpenMMLabCamp/discussions/154)

corresponding issue: [跑出来结果之后怎么在结果图片上获取各个语意部分的区域信息?
#2578](https://github.com/open-mmlab/mmsegmentation/issues/2578)

## Modification

1. mmseg/apis/inference.py, add withLabels in visualizer.add_datasample
call, to indicate whether add semantic label
2. mmseg/visualization/local_visualizer.py, add semantic labels by
opencv; modify the demo comment description
3. mmseg/utils/__init__.py, add bdd100k datasets to test
local_visualizer.py

**Current visualize result**
<img width="637" alt="image"
src="https://github.com/open-mmlab/mmsegmentation/assets/35064479/6ef6ce02-1d82-46f8-bde9-a1d69ff62df8">


**Add semantic label**
<img width="637" alt="image"
src="https://github.com/open-mmlab/mmsegmentation/assets/35064479/00716679-b43a-4794-8499-9bfecdb4b78b">

## Test results
**tests/test_visualization/test_local_visualizer.py** test
results:(MMSegmentation/tests/data/pseudo_cityscapes_dataset/leftImg8bit/val/frankfurt/frankfurt_000000_000294_leftImg8bit.png)
<img width="643" alt="image"
src="https://github.com/open-mmlab/mmsegmentation/assets/35064479/6792b7d2-2512-4ea9-8500-1a7ed2d5e0dc">

**demo/inference_demo.ipynb** test results:
<img width="966" alt="image"
src="https://github.com/open-mmlab/mmsegmentation/assets/35064479/dfc0147e-fb1a-490a-b6ff-a8b209352d9b">

-----
## Drawbacks
config opencv thickness according to image size
<img width="496" alt="image"
src="https://github.com/open-mmlab/mmsegmentation/assets/35064479/0a54d72c-62b1-422c-89ae-69dc753fe0fc">

I have no idea of dealing with label overlapping for the time being
2023-08-01 14:38:33 +08:00
谢昕辰
8806b4e548
[Fix] Fix visualizor (#3154)
## Motivation

**Current visualize result**


![rs-dev](https://github.com/open-mmlab/mmsegmentation/assets/15952744/147ea3f7-f632-457b-b257-031199320825)

**Fixed the visualization result**



![rs-fix](https://github.com/open-mmlab/mmsegmentation/assets/15952744/98a86025-5a1e-4c2b-83e0-653dd659ba79)


## Modification

remove mmengine `draw_binary_masks` api
2023-07-03 09:43:00 +08:00
谢昕辰
c448646a92
[Doc] Refine doc and fix links (#2821)
## Motivation

- Create the `main` branch

## Modification

Modify links from `dev-1.x` to `main`
2023-03-31 16:26:30 +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
谢昕辰
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
谢昕辰
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
谢昕辰
2eaf7ee8b3 [Doc] Update inference doc (#2052)
* refactor inference doc

* introduce segdatasample

* add vis example

* fix

* Update docs/en/user_guides/3_inference.md

* update link

Co-authored-by: Miao Zheng <76149310+MeowZheng@users.noreply.github.com>
2022-11-01 21:37:29 +08:00
Miao Zheng
f87c05308b
[Fix] Fix MMSegmentation colab demo (#2089)
* [WIP] Fix MMSegmentation colab demo

* wip

* fix

* revise config

* seg branch

* colab link

* engine install

* demo image

* remove inference

* fix inference pipeline

* typo
2022-09-30 14:15:39 +08:00
Miao Zheng
2a183283f5
[Enhancement]Add out_file in add_datasample to directly save image (#2090)
* [Enhancement]Add `out_file` in add_datasample to for save vis image directly

* comments

* ut
2022-09-20 15:23:13 +08:00
Miao Zheng
2724d47f71
[Fix] Add out-file in demo and show_result_pyplot (#2004) 2022-08-31 17:44:41 +08:00
Miao Zheng
8de0050f25
[Refactor] data flow (#1956)
* [WIP] Refactor data flow

* model return

* [WIP] Refactor data flow

* support data_samples is optional

* fix benchmark

* fix base

* minors

* rebase

* fix api

* ut

* fix api inference

* comments

* docstring

* docstring

* docstring

* fix bug of slide inference

* add assert c > 1
2022-08-26 15:54:23 +08:00
Miao Zheng
50546da85c
[Fix]Remove modules from mmcv.runner and mmcv.utils (#1966)
* [WIP] mmcv-clean

* [WIP]Remove modules from mmcv.runner and mmcv.utils

* wip

* fix import mmengine

* remove ut

* loadcheckpoint in mae
2022-08-25 15:15:21 +08:00
谢昕辰
bfe0fbe04d support load v1/v2 ckpt (#1868) 2022-08-19 20:50:02 +08:00
谢昕辰
167f94a70b rename data to structures (#1854) 2022-08-19 20:50:02 +08:00
谢昕辰
5d9650838e
[Fix] Fix demo scripts (#1815)
* [Feature] Add SegVisualizer

* change name to visualizer_example

* fix inference api

* fix video demo and refine inference api

* fix

* mmseg compose

* set default device to cuda:0

* fix import

* update dir

* rm engine/visualizer ut

* refine inference api and docs

* rename

Co-authored-by: MengzhangLI <mcmong@pku.edu.cn>
2022-07-29 18:37:20 +08:00
zhengmiao
4b76f277a6 [Refactory] MMSegmentation Content 2022-07-15 15:47:29 +00:00
xiexinch
c1c870af31 rename init/inference_segmentor to init/inference_model 2022-07-12 16:19:59 +08:00
zhengmiao
b23982d1b3 [Refactory] Refactory BaseSegmentor based BaseModel 2022-06-19 06:32:09 +00:00
FangjianLin
e4b3604e50 [Fix] Register optimizer constructor with mmseg (#1456)
* [fix] register optimizer onstructor with mmseg

* fix lint

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* Update tests/test_core/test_optimizer.py

* Update tests/test_core/test_optimizer.py

* Update tests/test_core/test_optimizer.py

* Update tests/test_core/test_optimizer.py

* fix lint

Co-authored-by: Miao Zheng <76149310+MeowZheng@users.noreply.github.com>
2022-04-16 16:45:17 +08:00
Miao Zheng
f50bfe3e3d [Enhance] Add extra dataloader settings in configs (#1435)
* [Enhance] Add extra dataloader settings in configs

* val default samples

* val default samples

* del unuse

* del unused
2022-04-13 13:30:10 +08:00
Miao Zheng
4bc2a30ea0 Add DistSamplerSeedHook for when runner is EpochBasedRunner (#1449)
* Add DistSamplerSeedHook for when runner is EpochBasedRunner

* add comment
2022-04-06 22:04:11 +08:00
MengzhangLI
574b195be1 [Enhance] New-style CPU training and inference. (#1251)
* [Enhance] New-style CPU training and inference.

* assert mmcv version

* SyncBN to BN in training and testing

* SyncBN to BN in training and testing

* upload untracked files to this branch

* delete gpu_ids

* fix bugs

* assert args.gpu_id in train.py

* use cfg.gpu_ids = [args.gpu_id]

* use cfg.gpu_ids = [args.gpu_id]

* fix typo

* fix typo

* fix typos
2022-01-28 23:03:01 +08:00
Rockey
43ad37b478 [Feature] add auto resume (#1172)
* [Feature] add auto resume

* Update mmseg/utils/find_latest_checkpoint.py

Co-authored-by: Miao Zheng <76149310+MeowZheng@users.noreply.github.com>

* Update mmseg/utils/find_latest_checkpoint.py

Co-authored-by: Miao Zheng <76149310+MeowZheng@users.noreply.github.com>

* modify docstring

* Update mmseg/utils/find_latest_checkpoint.py

Co-authored-by: Miao Zheng <76149310+MeowZheng@users.noreply.github.com>

* add copyright

Co-authored-by: Miao Zheng <76149310+MeowZheng@users.noreply.github.com>
2022-01-11 12:27:24 +08:00
Zhaolun Zou
079c520e58 [Fix] Fix test error when using --show-dir (#1091)
* Fix test error when using --show-dir

* Move show before test

Co-authored-by: Jiarui XU <xvjiarui0826@gmail.com>
2021-12-06 08:10:18 -08:00
Junjun2016
341ecc7633 [Enchance] Set a random seed when the user does not set a seed. (#1039) 2021-11-26 10:55:15 +08:00
gszh
d7f82e5dc8 Update train.py (#428)
* Update train.py

Add user-defined hooks.

* Update train.py

* Update train.py
2021-10-29 12:13:40 -07:00
sennnnn
4e9c26bbbc [Refactor] Support progressive test with fewer memory cost (#709)
* Support progressive test with fewer memory cost.

* Temp code

* Using processor to refactor evaluation workflow.

* refactor eval hook.

* Fix process bar.

* Fix middle save argument.

* Modify some variable name of dataset evaluate api.

* Modify some viriable name of eval hook.

* Fix some priority bugs of eval hook.

* Depreciated efficient_test.

* Fix training progress blocked by eval hook.

* Depreciated old test api.

* Fix test api error.

* Modify outer api.

* Build a sampler test api.

* TODO: Refactor format_results.

* Modify variable names.

* Fix num_classes bug.

* Fix sampler index bug.

* Fix grammaly bug.

* Support batch sampler.

* More readable test api.

* Remove some command arg and fix eval hook bug.

* Support format-only arg.

* Modify format_results of datasets.

* Modify tool which use test apis.

* support cityscapes eval

* fixed cityscapes

* 1. Add comments for batch_sampler;

2. Keep eval hook api same and add deprecated warning;

3. Add doc string for dataset.pre_eval;

* Add efficient_test doc string.

* Modify test tool to compat old version.

* Modify eval hook to compat with old version.

* Modify test api to compat old version api.

* Sampler explanation.

* update warning

* Modify deploy_test.py

* compatible with old output, add efficient test back

* clear logic of exclusive

* Warning about efficient_test.

* Modify format_results save folder.

* Fix bugs of format_results.

* Modify deploy_test.py.

* Update doc

* Fix deploy test bugs.

* Fix custom dataset unit tests.

* Fix dataset unit tests.

* Fix eval hook unit tests.

* Fix some imcompatible.

* Add pre_eval argument for eval hooks.

* Update eval hook doc string.

* Make pre_eval false in default.

* Add unit tests for dataset format_results.

* Fix some comments and bc-breaking bug.

* Fix pre_eval set cfg field.

* Remove redundant codes.

Co-authored-by: Jiarui XU <xvjiarui0826@gmail.com>
2021-08-19 20:44:58 -07:00
Junjun2016
2fe0bddf5e [Dcos] Add header for files (#796)
* Add header for files

* Delete header in config files
2021-08-16 23:16:55 -07:00
Junjun2016
b539a43dd7 [Fix] Fix the log error (#766)
* set the priority of EvalHook to LOW

* add comment for priority change

* fix comment
2021-08-09 17:20:02 -07:00
Jerry Jiarui XU
5184c6a8db [Bug fix] Fix efficient test for multi-node (#707)
* [Bug fix] Fix efficient test for multi-node

* fixed CI

* add efficient test dir

* remove unused args
2021-07-15 12:13:03 -07:00
Ziyi Wu
f253451b54 infer batch size using len(result) in test function (#532) 2021-05-06 08:16:46 -07:00
Ziyi Wu
ce56e68d30 [Enhance] Replace data_dict calling 'img' key to support MMDet3D (#514)
* remove dict calling img key for compatibility

* fix unit test

* infer batch size using len(result) to be consistent with mmcv
2021-04-29 01:01:34 -07:00
q.yao
bc2dc1277a add dynamic export and visualize to pytorch2onnx (#463)
* add dynamic export and visualize to pytorch2onnx

* update document

* fix lint

* fix dynamic error and add visualization

* fix lint

* update docstring

* update doc

* Update help info for --show

Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>

* fix lint

Co-authored-by: maningsheng <maningsheng@sensetime.com>
Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>
2021-04-12 11:54:59 -07:00
lizz
bbb9f074f6 Fix typo: upsampe_cfg -> upsample_cfg (#449)
* Fix typo: upsampe_cfg -> upsample_cfg

Signed-off-by: lizz <lizz@sensetime.com>

* convoluton -> convolution

Signed-off-by: lizz <lizz@sensetime.com>

* more

Signed-off-by: lizz <lizz@sensetime.com>

* ok

Signed-off-by: lizz <lizz@sensetime.com>
2021-03-30 09:51:38 -07:00
David de la Iglesia Castro
9cbb4b1288 Add opacity option to show_result (#425) 2021-03-22 20:34:38 -07:00
Jerry Jiarui XU
4423d32702 [Improvement] Move train_cfg/test_cfg inside model (#341)
* [Improvement] Move train_cfg/test_cfg inside model

* fixed config dict

* fixed config dict
2021-01-19 17:06:23 -08:00
yamengxi
7e156454a2 memory efficient test (#330)
* memory efficient test

* implement efficient test

* merge

* Add document and docstring

* fix unit test

* add memory usage report
2021-01-09 23:47:31 -08:00
Youqing Xiaozhua
d5712c4d38 Bugfix: num of augmentations and image meta not match when run TTA on CPU (#276)
* add inference test

* fix E501 line too long (81 > 79 characters

* fix wrong config path

* fix num of augmentations (2) != num of image meta (1)

* Update test_inference.py

Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>
2020-12-13 23:51:42 -08:00
David de la Iglesia Castro
969c7fd8e4 Add runner type (#118)
* Add runner_type option

* pre-commit

* Fix max_iters

* Add by_epoch to EvalHook

* Add test_eval_hook for epoch runner

* Remove runner-type arg from tools/train

* Add missing every_n_iters check for epoch mode

* Bump mmcv min version

* Use build_runner

* Use interval in tests

* Update test_eval_hook.py

* Use every_n_epochs instead of every_n_iters. Update DistEvalHook

* Add test_dist_eval_hook_epoch

* Fix tests

* Add DeprecationWarning

* Update docs

* Replace DeprecationWarning with UserWarning
2020-10-25 15:18:46 -07:00
David de la Iglesia Castro
e385842557 Fix cpu inference (#152)
* Add missing map_location

* Add docstring

* Update mmseg/apis/inference.py

Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>

* Update inference.py

* Update inference.py

Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>
2020-09-25 01:34:40 +08:00
MY_
429c8b3fbf Update test.py (#93) 2020-08-25 21:12:39 +08:00
Jerry Jiarui XU
8c0e093b31 Fixed slide inference (#90) 2020-08-25 20:01:01 +08:00
Jiarui XU
b2724da80b init commit 2020-07-10 02:39:01 +08:00