目录
1. mmsegmentation安装
(1)CPU版本安装
请参考mmclasssification的安装,除了测试验证外,安装的步骤都一样,如果你之前已经安装过mmclasssification,则只需要在cmd中进入mmsegmentation/执行下面的命令
pip install -v -e .
Pytorch实战6—win10使用CPU在mmclassification训练_Evan_qin_yi_quan的博客-CSDN博客
(2)GPU版本安装
前提条件是安装好CUDA和pytorch,如果没安装,请参考 一看就懂的 CUDA安装教程及Pytorch GPU版本安装教程_Evan_qin_yi_quan的博客-CSDN博客
安装CUDA和pytorch后,只需要在cmd中进入mmsegmentation/执行下面的命令
使用Anaconda 创建一个环境 ,Anaconda需要先安装
conda create --name openmmlab python=3.8 -y
conda activate openmmlab
pip install -U openmim
mim install mmcv-full
到官网下载mmsegmentation代码
https://github.com/open-mmlab/mmsegmentation
下载到本地后,在cmd中进入mmsegmentation目录,执行下面的命令
cd mmsegmentation pip install -v -e .
(3)验证安装
为了验证 MMSegmentation 是否安装正确,我们提供了一些示例代码来执行模型推理。
第一步 我们需要下载配置文件和模型权重文件。
mim download mmsegmentation --config pspnet_r50-d8_512x1024_40k_cityscapes --dest .
完成后,你会在当前文件夹中发现两个文件pspnet_r50-d8_512x1024_40k_cityscapes.py
和pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth
。
第二步 验证推理示例
直接运行以下命令进行验证:
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 --out-file result.jpg
你会在你的当前文件夹中看到一个新的图像result.jpg
,其中的分割掩膜覆盖在所有对象上。
并且会弹出下面这张图。
2. 自定义数据集在mmsegmentation训练
(1)数据集打标签
cmd 安装labelme, pip install labelme,安装成功后。执行命令 labelme,即可弹出界面
原始数据为 4张图片,3张用于训练,1张用于测试和验证,数据集如下
链接:https://pan.baidu.com/s/1alX1ROroctQKXZpcZSqpeg
提取码:aiis
--来自百度网盘超级会员V1的分享
打完标签保存得到json文件,保存文件时使用使用默认的名字,打标签结束后得到4个json文件
(2)数据集格式转换
需要把数据集格式转换为voc格式,在github上搜索labelme,下载代码,使用这个代码转换数据格式
代码下载后解压后,只需要下图中的labelme2voc.py,其它代码用不到,使用pycharm编译这个文件, 需要给这个脚本传递cell my_cell_voc --labels mycell_labels.txt 这三个参数,分别代表输入数据集路径(也就是保存图片和json的文件夹),转换过后输出路径,label文件是保存类别名字的,格式如下图。
输出路径自动创建文件夹,不需要指定已经存在的文件夹作为输出路径
label文件编写格式如下
配置编译如下图,
编译结束过后 得到如下,my_cell_voc文件夹是自动创建的,我们只需要第1、3两个子文件夹,至此数据集制作完毕。
3. 编译模型
(1)配置文件
使用下面这个模型为例,
mmsegmentation- master\configs\deeplabv3plus\deeplabv3plus_r50d8_480x480_40k_pascal_context.py
不管其他先编译一次,编译脚本是D:\deep_learn\mmsegmentation-master\tools\train.py,向这个脚本传递参数mmsegmentation- master\configs\deeplabv3plus\deeplabv3plus_r50d8_480x480_40k_pascal_context.py
此时编译虽然不通过,但是查看下面路径可以看到已经生产一个.py配置文件,将这个文件改名为my_deeplabv3plus_r50-d8_480x480_40k_pascal_context.py 复制到 mmsegmentation-master\configs\deeplabv3plus\ 路径下
(2)修改编译得到的配置文件
修改1234这几点 1.改类别数量,2.改路径,3. mmseg/datasets/voc.py,4.mmseg/core/evaluation/class_nemes.py 改完这几个就可以了,下面分别修改这几点
1.改类别数量
将my_deeplabv3plus_r50-d8_480x480_40k_pascal_context.py中所有的
num_classes=2复制为2
文件最后的学习机制修改
2.改路径
将之前制作好的数据集的路径写到代码中
3. 修改 mmseg/datasets/voc.py
原来的注释掉,另写
4.mmseg/core/evaluation/class_nemes.py
改完这几个就可以了
(3)编译配置
编译成功
4. 预测demo演示
用到的编译脚本
(1)验证测试图片
从之前制作的数据集中,拿验证集的1张图片做测试
将图片复制到如下路径
编译配置
编译如果有如下问题,到base.py中注释掉相关的代码
注释代码如下
再运行编译,得到如下的结果