- Add Mapillary Vistas Datasets support to MMSegmentation Core Package (#2576)
- Support PIDNet (#2609)
- Support SegNeXt (#2654)
- Support calculating FLOPs of segmentors (#2706)
- Support multi-band image for Mosaic (#2748)
- Support dump segment prediction (#2712)
- Fix format_result and fix prefix param in cityscape metric, and rename CitysMetric to CityscapesMetric (#2660)
- Support input gt seg map is not 2D (#2739)
- Fix accepting an unexpected argument
local-rank
in PyTorch 2.0 (#2812)
- Add Chinese version of various documentation (#2673, #2702, #2703, #2701, #2722, #2733, #2769, #2790, #2798)
- Update and refine various English documentation (#2715, #2755, #2745, #2797, #2799, #2821, #2827, #2831)
- Add deeplabv3 model structure documentation (#2426)
- Add custom metrics documentation (#2799)
- Add faq in dev-1.x branch (#2765)
- @liuruiqiang made their first contribution in open-mmlab#2554
- @wangjiangben-hw made their first contribution in open-mmlab#2569
- @jinxianwei made their first contribution in open-mmlab#2557
- @KKIEEK made their first contribution in open-mmlab#2747
- @Renzhihan made their first contribution in open-mmlab#2765
- Support auto import modules from registry (#2481)
- Replace numpy ascontiguousarray with torch contiguous to speed-up (#2604)
- Add browse_dataset.py tool (#2649)
- Rename and Fix bug of projects HieraSeg (#2565)
- Add out_channels in
CascadeEncoderDecoder
and update OCRNet and MobileNet v2 results (#2656)
- Add dataflow documentation of Chinese version (#2652)
- Add custmized runtime documentation of English version (#2533)
- Add documentation for visualizing feature map using wandb backend (#2557)
- Add documentation for benchmark results on NPU (HUAWEI Ascend) (#2569, #2596, #2610)
- Fix api name error in the migration doc (#2601)
- Refine projects documentation (#2586)
- Refine MMSegmentation documentation (#2668, #2659)
- @zccjjj made their first contribution in open-mmlab#2548
- @liuruiqiang made their first contribution in open-mmlab#2554
- @wangjiangben-hw made their first contribution in open-mmlab#2569
- @jinxianwei made their first contribution in open-mmlab#2557
- Fix MaskFormer and Mask2Former when install mmdet from source (#2532)
- Support new fileio interface in
MMCV>=2.0.0rc4
(#2543) - Fix ERFNet URL in dev-1.x branch (#2537)
- Fix misleading
List[Tensor]
types (#2546) - Rename typing.py to typing_utils.py (#2548)
- Add Gaussian Noise and Blur for biomedical data (#2373)
- Add BioMedicalRandomGamma (#2406)
- Add BioMedical3DPad (#2383)
- Add BioMedical3DRandomFlip (#2404)
- Add
gt_edge_map
field to SegDataSample (#2466) - Support synapse dataset (#2432, #2465)
- Support Mapillary Vistas Dataset in projects (#2484)
- Switch order of
reduce_zero_label
and applyinglabel_map
(#2517)
- Add ZN Customized_runtime Doc (#2502)
- Add EN datasets.md (#2464)
- Fix minor typo in migration
package.md
(#2518)
- Fix incorrect
img_shape
value assignment in RandomCrop (#2469) - Fix inference api and support setting palette to SegLocalVisualizer (#2475)
- Unfinished label conversion from
-1
to255
(#2516)
- @blueyo0 made their first contribution in open-mmlab#2373
- @Fivethousand5k made their first contribution in open-mmlab#2406
- @suyanzhou626 made their first contribution in open-mmlab#2383
- @unrealMJ made their first contribution in open-mmlab#2400
- @Dominic23331 made their first contribution in open-mmlab#2432
- @AI-Tianlong made their first contribution in open-mmlab#2444
- @morkovka1337 made their first contribution in open-mmlab#2492
- @Leeinsn made their first contribution in open-mmlab#2404
- @siddancha made their first contribution in open-mmlab#2516
- Add Biomedical 3D array random crop transform (#2378)
- Add Chinese version of config tutorial (#2371)
- Add Chinese version of train & test tutorial (#2355)
- Add Chinese version of overview ((#2397)))
- Add Chinese version of get_started (#2417)
- Add datasets in Chinese (#2387)
- Add dataflow document (#2403)
- Add pspnet model structure graph (#2437)
- Update some content of engine Chinese documentation (#2341)
- Update TTA to migration documentation (#2335)
- Remove dependency mmdet when do not use MaskFormerHead and MMDET_Mask2FormerHead (#2448)
- Add ResizeShortestEdge transform (#2339)
- Support padding in data pre-processor for model testing(#2290)
- Fix the problem of post-processing not removing padding (#2367)
- Fix links in README (#2024)
- Fix swin load state_dict (#2304)
- Fix typo of BaseSegDataset docstring (#2322)
- Fix the bug in the visualization step (#2326)
- Fix ignore class id from -1 to 255 in BaseSegDataset (#2332)
- Fix KNet IterativeDecodeHead bug (#2334)
- Add input argument for datasets (#2379)
- Fix typo in warning on binary classification (#2382)
- Fix ci for 1.x (#2011, #2019)
- Fix lint and pre-commit hook (#2308)
- Add
data
string in .gitignore file in dev-1.x branch (#2336) - Make scipy as a default dependency in runtime (#2362)
- Delete mmcls in runtime.txt (#2368)
- Update configuration documentation (#2048)
- Update inference documentation (#2052)
- Update train test documentation (#2061)
- Update get started documentatin (#2148)
- Update transforms documentation (#2088)
- Add MMEval projects like in README (#2259)
- Translate the visualization.md (#2298)
- Fix segmenter-vit-s_fcn config (#2037)
- Fix binary segmentation (#2101)
- Fix MMSegmentation colab demo (#2089)
- Fix ResizeToMultiple transform (#2185)
- Use SyncBN in mobilenet_v2 (#2198)
- Fix typo in installation (#2175)
- Fix typo in visualization.md (#2116)
- Add mim extras_requires in setup.py (#2012)
- Fix CI (#2029)
- Remove ops module (#2063)
- Add pyupgrade pre-commit hook (#2078)
- Add
out_file
inadd_datasample
ofSegLocalVisualizer
to directly save image (#2090) - Upgrade pre commit hooks (#2154)
- Ignore test timm in CI when torch<1.7 (#2158)
- Update requirements (#2186)
- Fix Windows platform CI (#2202)
- Add
Overview
documentation (#2042) - Add
Evaluation
documentation (#2077) - Add
Migration
documentation (#2066) - Add
Structures
documentation (#2070) - Add
Structures
ZN documentation (#2129) - Add
Engine
ZN documentation (#2157) - Update
Prepare datasets
andVisualization
doc (#2054) - Update
Models
documentation (#2160) - Update
Add New Modules
documentation (#2067) - Fix the installation commands in get_started.md (#2174)
- Add MMYOLO to README.md (#2220)
We are excited to announce the release of MMSegmentation 1.0.0rc0. MMSeg 1.0.0rc0 is the first version of MMSegmentation 1.x, a part of the OpenMMLab 2.0 projects. Built upon the new training engine, MMSeg 1.x unifies the interfaces of dataset, models, evaluation, and visualization with faster training and testing speed.
-
New engines MMSeg 1.x is based on MMEngine, which provides a general and powerful runner that allows more flexible customizations and significantly simplifies the entrypoints of high-level interfaces.
-
Unified interfaces As a part of the OpenMMLab 2.0 projects, MMSeg 1.x unifies and refactors the interfaces and internal logics of train, testing, datasets, models, evaluation, and visualization. All the OpenMMLab 2.0 projects share the same design in those interfaces and logics to allow the emergence of multi-task/modality algorithms.
-
Faster speed We optimize the training and inference speed for common models.
-
New features:
- Support TverskyLoss function
-
More documentation and tutorials. We add a bunch of documentation and tutorials to help users get started more smoothly. Read it here.
We briefly list the major breaking changes here. We will update the migration guide to provide complete details and migration instructions.
-
MMSeg 1.x runs on PyTorch>=1.6. We have deprecated the support of PyTorch 1.5 to embrace the mixed precision training and other new features since PyTorch 1.6. Some models can still run on PyTorch 1.5, but the full functionality of MMSeg 1.x is not guaranteed.
-
MMSeg 1.x uses Runner in MMEngine rather than that in MMCV. The new Runner implements and unifies the building logic of dataset, model, evaluation, and visualizer. Therefore, MMSeg 1.x no longer maintains the building logics of those modules in
mmseg.train.apis
andtools/train.py
. Those code have been migrated into MMEngine. Please refer to the migration guide of Runner in MMEngine for more details. -
The Runner in MMEngine also supports testing and validation. The testing scripts are also simplified, which has similar logic as that in training scripts to build the runner.
-
The execution points of hooks in the new Runner have been enriched to allow more flexible customization. Please refer to the migration guide of Hook in MMEngine for more details.
-
Learning rate and momentum scheduling has been migrated from
Hook
toParameter Scheduler
in MMEngine. Please refer to the migration guide of Parameter Scheduler in MMEngine for more details.
- The Runner in MMEngine uses a different config structures to ease the understanding of the components in runner. Users can read the config example of mmseg or refer to the migration guide in MMEngine for migration details.
- The file names of configs and models are also refactored to follow the new rules unified across OpenMMLab 2.0 projects. Please refer to the user guides of config for more details.
- Dataset
- Data Transforms
- Model
- Evaluation
- Visualization
- Support mixed precision training of all the models. However, some models may got Nan results due to some numerical issues. We will update the documentation and list their results (accuracy of failure) of mixed precision training.
- Fix several config file errors #1994
- Support data structures and encapsulating
seg_logits
in data samples, which can be return from models to support more common evaluation metrics.
-
Test-time augmentation: which is supported in MMSeg 0.x is not implemented in this version due to limited time slot. We will support it in the following releases with a new and simplified design.
-
Inference interfaces: a unified inference interfaces will be supported in the future to ease the use of released models.
-
Interfaces of useful tools that can be used in notebook: more useful tools that implemented in the
tools
directory will have their python interfaces so that they can be used through notebook and in downstream libraries. -
Documentation: we will add more design docs, tutorials, and migration guidance so that the community can deep dive into our new design, participate the future development, and smoothly migrate downstream libraries to MMSeg 1.x.