Pytorch复现FCN网络详解(可复现)
1、环境配置
windows10,pytorch=1.3,python=3.6
参考博客:https://github.com/wkentaro/pytorch-fcn
本文FCN完整复现代码:https://github.com/fc-123/Semantic-segmentation/tree/master/Pytorch-FCN
2、数据集说明
本文使用的是CamVid数据集进行复现,当然也可以用自己的数据集(亲测可行)。
数据集下载链接:
https://download.csdn.net/download/weixin_44753371/12299379
若制作自己的数据集需要用到labelme标注工具,而本文复现的项目为rgb三通道的数据。
3、具体复现步骤(同样运用于自己的数据集)
3.1 文件说明及修改
1)FCN.py文件为网络模型文件,当使用train.py训练数据集的时候,FCN网络会自动下载vgg_16预训练模型文件,在C:\Users\Administrator.cache\torch\checkpoints路径下保存,下载后就不会再次下载。
2)在训练前,修改utiles文件夹下evalution_segmentaion.py文件,将n_class=12,改成自己的数据集的类别数量。
3)若训练自己的数据集,在train.py文件中,j将数据集的路径改成自己的,具体要改的地方,博主已经在代码中注释出来。
4)检测训练好的模型,在test.py中,将一些参数(路径,类别)改成自己的。
5)预测数据集时,在predict.py文件中,将一些参数(路径,类别)改成自己的。
3.2模型训练结果
本模型的检测指标有:test_acc,test_miou,test_map,test_class_acc(每个类的准确率)。
该图仅是示范,不是最终结果(不然太低了)。
其实博主训练自己的数据只有3类,复现时CamVid是12类,由于类别数没有修改(应修改为3,就不会出现那么多0),所以test_class_acc只有三个有精度,其余为0。