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 depth estimation algorithm [VPD](https://github.com/wl-zhao/VPD)
## Modification
1. add VPD backbone
2. add VPD decoder head for depth estimation
3. add a new segmentor `DepthEstimator` based on `EncoderDecoder` for
depth estimation
4. add an integrated metric that calculate common metrics in depth
estimation
5. add SiLog loss for depth estimation
6. add config for VPD
## 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)
If this PR introduces a new feature, it is better to list some use cases
here, and update the documentation.
## Checklist
1. Pre-commit or other linting tools are used to fix the potential lint
issues.
7. The modification is covered by complete unit tests. If not, please
add more unit test to ensure the correctness.
8. If the modification has potential influence on downstream projects,
this PR should be tested with downstream projects, like MMDet or
MMDet3D.
9. The documentation has been modified accordingly, like docstring or
example tutorials.
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
Please describe the motivation of this PR and the goal you want to
achieve through this PR.
Support metrics for the depth estimation task, including RMSE, ABSRel,
and etc.
## Modification
Please briefly describe what modification is made in this PR.
## 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)
Using the following configuration to compute depth metrics on NYU
```python
dataset_type = 'NYUDataset'
data_root = 'data/nyu'
test_pipeline = [
dict(type='LoadImageFromFile'),
dict(dict(type='LoadDepthAnnotation', depth_rescale_factor=1e-3)),
dict(
type='PackSegInputs',
meta_keys=('img_path', 'depth_map_path', 'ori_shape', 'img_shape',
'pad_shape', 'scale_factor', 'flip', 'flip_direction',
'category_id'))
]
val_dataloader = dict(
batch_size=1,
num_workers=4,
persistent_workers=True,
sampler=dict(type='DefaultSampler', shuffle=False),
dataset=dict(
type=dataset_type,
data_root=data_root,
test_mode=True,
data_prefix=dict(
img_path='images/test', depth_map_path='annotations/test'),
pipeline=test_pipeline))
test_dataloader = val_dataloader
val_evaluator = dict(type='DepthMetric', max_depth_eval=10.0, crop_type='nyu')
test_evaluator = val_evaluator
```
Example log:

## Checklist
1. Pre-commit or other linting tools are used to fix the potential lint
issues.
2. The modification is covered by complete unit tests. If not, please
add more unit test to ensure the correctness.
3. If the modification has potential influence on downstream projects,
this PR should be tested with downstream projects, like MMDet or
MMDet3D.
4. The documentation has been modified accordingly, like docstring or
example tutorials.
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
Please describe the motivation of this PR and the goal you want to
achieve through this PR.
## Modification
Please briefly describe what modification is made in this PR.
1. add `NYUDataset`class
2. add script to process NYU dataset
3. add transforms for loading depth map
4. add docs & unittest
## 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)
If this PR introduces a new feature, it is better to list some use cases
here, and update the documentation.
## Checklist
1. Pre-commit or other linting tools are used to fix the potential lint
issues.
5. The modification is covered by complete unit tests. If not, please
add more unit test to ensure the correctness.
6. If the modification has potential influence on downstream projects,
this PR should be tested with downstream projects, like MMDet or
MMDet3D.
7. The documentation has been modified accordingly, like docstring or
example tutorials.
## 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`.
* [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
* init commit: fast_scnn
* 247917iters
* 4x8_80k
* configs placed in configs_unify. 4x8_80k exp.running.
* mmseg/utils/collect_env.py modified to support Windows
* study on lr
* bug in configs_unify/***/cityscapes.py fixed.
* lr0.08_100k
* lr_power changed to 1.2
* log_config by_epoch set to False.
* lr1.2
* doc strings added
* add fast_scnn backbone test
* 80k 0.08,0.12
* add 450k
* fast_scnn test: fix BN bug.
* Add different config files into configs/
* .gitignore recovered.
* configs_unify del
* .gitignore recovered.
* delete sub-optimal config files of fast-scnn
* Code style improved.
* add docstrings to component modules of fast-scnn
* relevant files modified according to Jerry's instructions
* relevant files modified according to Jerry's instructions
* lint problems fixed.
* fast_scnn config extremely simplified.
* InvertedResidual
* fixed padding problems
* add unit test for inverted_residual
* add unit test for inverted_residual: debug 0
* add unit test for inverted_residual: debug 1
* add unit test for inverted_residual: debug 2
* add unit test for inverted_residual: debug 3
* add unit test for sep_fcn_head: debug 0
* add unit test for sep_fcn_head: debug 1
* add unit test for sep_fcn_head: debug 2
* add unit test for sep_fcn_head: debug 3
* add unit test for sep_fcn_head: debug 4
* add unit test for sep_fcn_head: debug 5
* FastSCNN type(dwchannels) changed to tuple.
* t changed to expand_ratio.
* Spaces fixed.
* Update mmseg/models/backbones/fast_scnn.py
Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>
* Update mmseg/models/decode_heads/sep_fcn_head.py
Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>
* Update mmseg/models/decode_heads/sep_fcn_head.py
Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>
* Docstrings fixed.
* Docstrings fixed.
* Inverted Residual kept coherent with mmcl.
* Inverted Residual kept coherent with mmcl. Debug 0
* _make_layer parameters renamed.
* final commit
* Arg scale_factor deleted.
* Expand_ratio docstrings updated.
* final commit
* Readme for Fast-SCNN added.
* model-zoo.md modified.
* fast_scnn README updated.
* Move InvertedResidual module into mmseg/utils.
* test_inverted_residual module corrected.
* test_inverted_residual.py moved.
* encoder_decoder modified to avoid bugs when running PSPNet.
getting_started.md bug fixed.
* Revert "encoder_decoder modified to avoid bugs when running PSPNet. "
This reverts commit dd0aadfb
Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>