MMSegmentation语义分割工具包教程:一条命令跑出像素级分割结果

📅 2026/8/24 8:47:45
MMSegmentation语义分割工具包教程:一条命令跑出像素级分割结果
MMSegmentation语义分割工具包教程一条命令跑出像素级分割结果【免费下载链接】mmsegmentationOpenMMLab Semantic Segmentation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmsegmentationMMSegmentationmmseg是 OpenMMLab 出品的基于 PyTorch 的语义分割工具包与基准平台把 PSPNet、DeepLabV3、SegFormer 等几十种分割算法整合在统一框架里。所谓语义分割就是给图像的每一个像素都打上类别标签比如街道里的路、车、人各占哪一块。本文按先跑通 → 换自己的图 → 训自己的数据 → 排错四步走全程不跳步零基础也能跟着做完。 第一步跑通第一条推理命令一条命令装好依赖环境门槛不高项目要求Python3.7PyTorch1.8GPU 需 CUDA 10.2依赖库mmcv 2.0.0MMEngine 0.7.4conda create -n openmmlab python3.8 -y conda activate openmmlab conda install pytorch torchvision -c pytorch pip install -U openmim mim install mmengine mim install mmcv2.0.0再用源码方式装 mmseg可编辑模式改代码即时生效git clone -b main https://gitcode.com/GitHub_Trending/mm/mmsegmentation cd mmsegmentation pip install -v -e .如果你只是想当库用pip install mmsegmentation1.0.0就够了。一条命令看到分割结果用官方工具自动拉取 PSPNet 的配置文件和权重然后跑仓库自带的 demomim download mmsegmentation --config pspnet_r50-d8_4xb2-40k_cityscapes-512x1024 --dest . python demo/image_demo.py demo/demo.png pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py \ pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth \ --device cuda:0 --out-file result.jpg跑完当前目录会多出result.jpg整条街的每个像素都被涂上了类别色块。这就是你的第一个分割结果。更多安装细节Docker、Colab、CPU 版见 docs/zh_cn/get_started.md。️ 第二步换成你自己的图片命令行的第一个参数就是图片路径换成你自己的照片即可。如果想把模型嵌进自己的代码核心 API 只有三步from mmseg.apis import inference_model, init_model, show_result_pyplot model init_model(config_file, checkpoint_file, devicecuda:0) result inference_model(model, your_image.jpg) show_result_pyplot(model, your_image.jpg, result, out_fileresult.jpg)这里说下模型的组织方式方便你后面换零件backbone骨干网络相当于一座楼的地基负责提取图像特征如 ResNet、ViT、Swinneck decode_head解码头地基上的楼层把特征翻译成像素级类别预测如 PSP Head、ASPP Headauxiliary_head辅助头只在训练时加一个监督损失帮模型收敛推理时不产生结果。想换个更强的模型把配置文件和权重路径换掉就行比如 configs/segformer/ 或 configs/deeplabv3plus/ 下的任意一份。仓库还提供 demo/video_demo.py 对视频逐帧分割。️ 第三步用自己的数据训练和评估把配置指向自己的数据集Cityscapes、PASCAL VOC、ADE20K 等主流数据集都有现成的转换脚本以 Cityscapes 为例python tools/dataset_converters/cityscapes.py data/cityscapes --nproc 8然后确认配置文件里的data_root指向数据目录、num_classes与类别数一致。自定义数据集的做法写在 docs/zh_cn/user_guides/2_dataset_prepare.md 的结尾。单卡多卡训练命令对照任务单 GPU多 GPU训练python tools/train.py 配置.pybash tools/dist_train.sh 配置.py 8评估python tools/test.py 配置.py ckpt.pth --eval mIoUbash tools/dist_test.sh 配置.py ckpt.pth 8 --eval mIoU配置文件名自带信息量pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py表示 ResNet-50 backbone、4 张卡、每卡 batch 2、训练 40k 轮、输入 512×1024。选模型前先看名字能省很多试错。 第四步出问题怎么排查现象大概率原因与对策装 mmcv 失败或报No module named mmcv版本与 PyTorch/CUDA 不匹配用mim install自动对齐版本先pip uninstall mmcv再重装训练时报找不到数据检查配置里的data_root是否指向真实目录类别数不匹配num_classes要和数据集类别一致二值分割就是 2训练显存不足减小 batch size、换更小的 backbone或加--amp开混合精度推理太慢换轻量模型如 BiSeNetV2、SegFormer-b0、降低输入分辨率完整问答在 docs/zh_cn/notes/faq.md里面有 mmseg 与 mmcv 的完整版本兼容表。 接下来做什么读 教程1了解配置文件搞懂data_root、num_classes这些字段之后改配置就不靠猜打开 demo/MMSegmentation_Tutorial.ipynb 在线教程把本文的推理流程在 Notebook 里再跑一遍挑一份 configs/ 下的配置比如 configs/pspnet/pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py用tools/train.py跑几十轮体验完整的训练—评估闭环。【免费下载链接】mmsegmentationOpenMMLab Semantic Segmentation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmsegmentation创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考