官方文档
笔记链接
https://gitee.com/fakerlove/openmmlab
MIM 是 OpenMMlab 项目、算法、模型的统一入口安装前提准备,它需要 Python 3.6 以上,CUDA 9.2 以上和 PyTorch 1.3 以上。
创建openmmlab运行环境,不想使用虚拟环境,可以不操作
conda create --name openmmlab python=3.8 -y
conda activate openmmlab
运行一下命令
pip install -U openmim
mim install mmcv-full
也可以源码安装,太麻烦了
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
请将链接中的 {cu_version} 和 {torch_version} 根据自身需求替换成实际的版本号,例如想安装和 CUDA 11.1、PyTorch 1.9.0 兼容的最新版 mmcv-full,使用如下替换过的命令
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
具体下载的命令,如下表,官方的下载页面有
https://mmcv.readthedocs.io/zh_CN/latest/get_started/installation.html

建议如下安装
pip install mmsegmentation
个人不建议源码安装,感觉没啥用。不过可以把源码下载下来,学习
下面是源码安装
git clone https://github.com/open-mmlab/mmsegmentation.git
cd mmsegmentation
pip install -v -e .
"-v "指详细说明,或更多的输出
“-e” 表示在可编辑模式下安装项目,因此对代码所做的任何本地修改都会生效,从而无需重新安装。
下载配置文件和模型文件
mim download mmsegmentation --config pspnet_r50-d8_512x1024_40k_cityscapes --dest .
直接运行下面代码就可以了
python demo/image_demo.py demo/demo.png pspnet_r50-d8_512x1024_40k_cityscapes.py pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth --device cpu --out-file result.jpg
如果报错的话,说需要使用gpu 的话
python demo/image_demo.py demo/demo.png pspnet_r50-d8_512x1024_40k_cityscapes.py pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth --device cuda:0 --out-file result.jpg
需要编写train.py
from mmseg.apis import inference_segmentor, init_segmentor
import mmcv
config_file = 'pspnet_r50-d8_512x1024_40k_cityscapes.py'
checkpoint_file = 'pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth'
# 通过配置文件和模型权重文件构建模型
model = init_segmentor(config_file, checkpoint_file, device='cuda:0')
# 对单张图片进行推理并展示结果
img = 'test.jpg' # or img = mmcv.imread(img), which will only load it once
result = inference_segmentor(model, img)
# 在新窗口中可视化推理结果
model.show_result(img, result, show=True)
# 或将可视化结果存储在文件中
# 你可以修改 opacity 在(0,1]之间的取值来改变绘制好的分割图的透明度
model.show_result(img, result, out_file='result.jpg', opacity=0.5)
# 对视频进行推理并展示结果
video = mmcv.VideoReader('video.mp4')
for frame in video:
result = inference_segmentor(model, frame)
model.show_result(frame, result, wait_time=1)
然后运行train.py。如果没有视频,可以把最下面的视频代码去掉,以免报错
运行结果如下

文件夹如下
