Package: mmsegmentation
OpenMMLab websiteHOTOpenMMLab platformTRY IT OUTDocumentation:https://mmsegmentation.readthedocs.io/en/latest/English |简体中文IntroductionMMSegmentation is an open source semantic segmentation toolbox based on PyTorch.
It is a part of the OpenMMLab project.Themainbranch works with PyTorch 1.6+.🎉 Introducing MMSegmentation v1.0.0 🎉We are thrilled to announce the official release of MMSegmentation's latest version! For this new release, themainbranch serves as the primary branch, while the development branch isdev-1.x. The stable branch for the previous release remains as the0.xbranch. Please note that themasterbranch will only be maintained for a limited time before being removed. We encourage you to be mindful of branch selection and updates during use. Thank you for your unwavering support and enthusiasm, and let's work together to make MMSegmentation even more robust and powerful! 💪MMSegmentation v1.x brings remarkable improvements over the 0.x release, offering a more flexible and feature-packed experience. To utilize the new features in v1.x, we kindly invite you to consult our detailed📚 migration guide, which will help you seamlessly transition your projects. Your support is invaluable, and we eagerly await your feedback!Major featuresUnified BenchmarkWe provide a unified benchmark toolbox for various semantic segmentation methods.Modular DesignWe decompose the semantic segmentation framework into different components and one can easily construct a customized semantic segmentation framework by combining different modules.Support of multiple methods out of boxThe toolbox directly supports popular and contemporary semantic segmentation frameworks,e.g.PSPNet, DeepLabV3, PSANet, DeepLabV3+, etc.High efficiencyThe training speed is faster than or comparable to other codebases.What's Newv1.2.0 was released on 10/12/2023, from 1.1.0 to 1.2.0, we have added or updated the following features:HighlightsSupport for the open-vocabulary semantic segmentation algorithmSANSupport monocular depth estimation task, please refer toVPDandAdabinsfor more details.Add new projects: open-vocabulary semantic segmentation algorithmCAT-Seg, real-time semantic segmentation algofithmPP-MobileSegInstallationPlease refer toget_started.mdfor installation anddataset_prepare.mdfor dataset preparation.Get StartedPlease seeOverviewfor the general introduction of MMSegmentation.Please seeuser guidesfor the basic usage of MMSegmentation.
There are alsoadvanced tutorialsfor in-depth understanding of mmseg design and implementation .A Colab tutorial is also provided. You may preview the notebookhereor directlyrunon Colab.To migrate from MMSegmentation 0.x, please refer tomigration.TutorialGet StartedMMSeg overviewMMSeg InstallationFAQMMSeg Basic TutorialTutorial 1: Learn about ConfigsTutorial 2: Prepare datasetsTutorial 3: Inference with existing modelsTutorial 4: Train and test with existing modelsTutorial 5: Model deploymentDeploy mmsegmentation on Jetson platformUseful ToolsFeature Map VisualizationVisualizationMMSeg Detail TutorialMMSeg DatasetMMSeg ModelsMMSeg Dataset StructuresMMSeg Data TransformsMMSeg DataflowMMSeg Training EngineMMSeg EvaluationMMSeg Development TutorialAdd New DatasetsAdd New MetricsAdd New ModulesAdd New Data TransformsCustomize Runtime SettingsTraining TricksContribute code to MMSegContribute a standard dataset in projectsNPU (HUAWEI Ascend)0.x → 1.x migration，0.x → 1.x packageBenchmark and model zooResults and models are available in themodel zoo.Supported backbones:ResNet (CVPR'2016)ResNeXt (CVPR'2017)HRNet (CVPR'2019)ResNeSt (ArXiv'2020)MobileNetV2 (CVPR'2018)MobileNetV3 (ICCV'2019)Vision Transformer (ICLR'2021)Swin Transformer (ICCV'2021)Twins (NeurIPS'2021)BEiT (ICLR'2022)ConvNeXt (CVPR'2022)MAE (CVPR'2022)PoolFormer (CVPR'2022)SegNeXt (NeurIPS'2022)Supported methods:SAN (CVPR'2023)VPD (ICCV'2023)DDRNet (T-ITS'2022)PIDNet (ArXiv'2022)Mask2Former (CVPR'2022)MaskFormer (NeurIPS'2021)K-Net (NeurIPS'2021)SegFormer (NeurIPS'2021)Segmenter (ICCV'2021)DPT (ArXiv'2021)SETR (CVPR'2021)STDC (CVPR'2021)BiSeNetV2 (IJCV'2021)CGNet (TIP'2020)PointRend (CVPR'2020)DNLNet (ECCV'2020)OCRNet (ECCV'2020)ISANet (ArXiv'2019/IJCV'2021)Fast-SCNN (ArXiv'2019)FastFCN (ArXiv'2019)GCNet (ICCVW'2019/TPAMI'2020)ANN (ICCV'2019)EMANet (ICCV'2019)CCNet (ICCV'2019)DMNet (ICCV'2019)Semantic FPN (CVPR'2019)DANet (CVPR'2019)APCNet (CVPR'2019)NonLocal Net (CVPR'2018)EncNet (CVPR'2018)DeepLabV3+ (CVPR'2018)UPerNet (ECCV'2018)ICNet (ECCV'2018)PSANet (ECCV'2018)BiSeNetV1 (ECCV'2018)DeepLabV3 (ArXiv'2017)PSPNet (CVPR'2017)ERFNet (T-ITS'2017)UNet (MICCAI'2016/Nat. Methods'2019)FCN (CVPR'2015/TPAMI'2017)Supported datasets:CityscapesPASCAL VOCADE20KPascal ContextCOCO-Stuff 10kCOCO-Stuff 164kCHASE_DB1DRIVEHRFSTAREDark ZurichNighttime DrivingLoveDAPotsdamVaihingeniSAIDMapillary VistasLEVIR-CDBDD100KNYUPlease refer toFAQfor frequently asked questions.ProjectsHereare some implementations of SOTA models and solutions built on MMSegmentation, which are supported and maintained by community users. These projects demonstrate the best practices based on MMSegmentation for research and product development. We welcome and appreciate all the contributions to OpenMMLab ecosystem.ContributingWe appreciate all contributions to improve MMSegmentation. Please refer toCONTRIBUTING.mdfor the contributing guideline.AcknowledgementMMSegmentation is an open source project that welcome any contribution and feedback.
We wish that the toolbox and benchmark could serve the growing research
community by providing a flexible as well as standardized toolkit to reimplement existing methods
and develop their own new semantic segmentation methods.CitationIf you find this project useful in your research, please consider cite:@misc{mmseg2020,title={{MMSegmentation}: OpenMMLab Semantic Segmentation Toolbox and Benchmark},author={MMSegmentation Contributors},howpublished={\url{https://github.com/open-mmlab/mmsegmentation}},year={2020}}LicenseThis project is released under theApache 2.0 license.OpenMMLab FamilyMMEngine: OpenMMLab foundational library for training deep learning models.MMCV: OpenMMLab foundational library for computer vision.MMPreTrain: OpenMMLab pre-training toolbox and benchmark.MMagic: OpenMMLabAdvanced,Generative andIntelligentCreation toolbox.MMDetection: OpenMMLab detection toolbox and benchmark.MMYOLO: OpenMMLab YOLO series toolbox and benchmark.MMDetection3D: OpenMMLab's next-generation platform for general 3D object detection.MMRotate: OpenMMLab rotated object detection toolbox and benchmark.MMTracking: OpenMMLab video perception toolbox and benchmark.MMSegmentation: OpenMMLab semantic segmentation toolbox and benchmark.MMOCR: OpenMMLab text detection, recognition, and understanding toolbox.MMPose: OpenMMLab pose estimation toolbox and benchmark.MMHuman3D: OpenMMLab 3D human parametric model toolbox and benchmark.MMFewShot: OpenMMLab fewshot learning toolbox and benchmark.MMAction2: OpenMMLab's next-generation action understanding toolbox and benchmark.MMFlow: OpenMMLab optical flow toolbox and benchmark.MMDeploy: OpenMMLab Model Deployment Framework.MMRazor: OpenMMLab model compression toolbox and benchmark.MIM: MIM installs OpenMMLab packages.Playground: A central hub for gathering and showcasing amazing projects built upon OpenMMLab.