图像分割FCN项目实战:测试和数据集训练
文章目录
1.代码地址
https://github.com/WZMIAOMIAO/deep-learning-for-image-processing/tree/master/pytorch_segmentation/fcn
作者视频教程:https://b23.tv/VRSuEmi
2.ResNet50和ResNet101文件下载
fcn_resnet50: https://download.pytorch.org/models/fcn_resnet50_coco-1167a1af.pth
fcn_resnet101: https://download.pytorch.org/models/fcn_resnet101_coco-7ecb50ca.pth
3.VOC2012数据集的下载
Pascal VOC2012 train/val数据集下载地址:
http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
4.文件结构
其中自己添加了一部分文件:便于训练和测试
GitHub上作者本人给出文件解释:
├── src: 模型的backbone以及FCN的搭建
├── train_utils: 训练、验证以及多GPU训练相关模块
├── my_dataset.py: 自定义dataset用于读取VOC数据集
├── train.py: 以fcn_resnet50(这里使用了Dilated/Atrous Convolution)进行训练
├── train_multi_GPU.py: 针对使用多GPU的用户使用
├── predict.py: 简易的预测脚本,使用训练好的权重进行预测测试
├── validation.py: 利用训练好的权重验证/测试数据的mIoU等指标,并生成record_mAP.txt文件
└── pascal_voc_classes.json: pascal_voc标签文件
5.首先测试一张图片
测试predict.py文件中:

修改完成之后就可以右击进行测试了。
6.训练VOC2012数据集
注:这个数据集有1.89GB,所以对我们CPU电脑配置来说,训练很难,后面再介绍使用Google的Colab进行训练。
首先配置一些参数和数据集的放置:train.py文件


右击train.py文件进行训练:
注:有GPU最好。我这里使用的是CPU,就不继续训练下去了。
7.Google Colab进行训练
(1)准备好Google账号
(2)上传数据集和代码到云盘硬件上





上传的过程比较慢,加上数据集也比较大,所以请读者耐心等待。
(3)打开Colab官网
https://colab.research.google.com/
(4)新建笔记本.ipynb和命名


(5)更换运行时类型(CPU->GPU)


(6)连接云盘硬件

from google.colab import drive
drive.mount('/content/gdrive')
(7)解压数据集
连接上云盘硬件之后,将看到gdrive,将其中我们上传的文件fcn拖拽到根目录下(/content/),和我们平时拖拽的方式一样的,当然我是这样做的,如果你自己熟悉复制命令,也可以将文件复制到根目录下。
右击刷新一下,如果网比较差的话,等一会儿在根目录才显示出来。
!tar -xvf fcn/data/VOCtrainval.tar

右击刷新一下,可以看到数据集文件在根目录下,所以将数据集文件拖拽到data文件下:
解压完数据压缩包之后就是对train.py文件中的一一些地方做修改。



修改之后:Crtl+S保存
(8)训练
!python fcn/train.py

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)