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 inference and visualization of VPD
## Modification
1. add a new VPD model that does not generate black border in
predictions
2. update `SegLocalVisualizer` to support depth visualization
3. update `MMSegInferencer` to support save predictions of depth
estimation in method `postprocess`
## BC-breaking (Optional)
Does the modification introduce changes that break the
backward-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the
downstream projects should modify their code to keep compatibility with
this PR.
## Use cases (Optional)
Run inference with VPD using the this command
```sh
python demo/image_demo_with_inferencer.py demo/classroom__rgb_00283.jpg vpd_depth --out-dir vis_results
```
The following image will be saved under `vis_results/vis`

## Checklist
1. Pre-commit or other linting tools are used to fix the potential lint
issues.
4. The modification is covered by complete unit tests. If not, please
add more unit test to ensure the correctness.
5. If the modification has potential influence on downstream projects,
this PR should be tested with downstream projects, like MMDet or
MMDet3D.
6. The documentation has been modified accordingly, like docstring or
example tutorials.
## 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>
## Motivation
Support `MMSegInferencer` for providing an easy and clean interface for
single or multiple images inferencing.
Ref: https://github.com/open-mmlab/mmengine/pull/773https://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>
* [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
* [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>