pytorch实现FCN全卷积网络的语义分割(Fully Convolutional Networks for Semantic Segmentation论文简单复现)

以下是我的这个Repo里的README(还没有完全写完),我还会不定期在github里更新的,首先在github更新,再来更新这篇博客

Github地址: https://github.com/bat67/pytorch-FCN-easiest-demo

欢迎star和提issue或者PR~

pytorch FCN easiest demo

这个repo是在读论文Fully Convolutional Networks for Semantic Segmentation时的一个pytorch简单复现,数据集很小,是一些随机背景上的一些包的图片(所有数据集大小一共不到80M),如下图

pytorch实现FCN全卷积网络的语义分割(Fully Convolutional Networks for Semantic Segmentation论文简单复现)_第1张图片

关于此数据集详细信息,见数据集

根据论文实现了FCN32s、FCN16s、FCN8s和FCNs

部分代码参考了这个repo

使用visdom可视化,运行了20个epoch后的可视化如下图:

pytorch实现FCN全卷积网络的语义分割(Fully Convolutional Networks for Semantic Segmentation论文简单复现)_第2张图片 pytorch实现FCN全卷积网络的语义分割(Fully Convolutional Networks for Semantic Segmentation论文简单复现)_第3张图片

如何运行

我的运行环境

  • Windows 10
  • CUDA 9.2 (可选)
  • Anaconda 3
  • pytorch = 0.4.1
  • torchvision = 0.2.1
  • visdom = 0.1.8.5

具体操作

  • 打开终端,输入
python -m visdom.server
  • 打开另一终端,输入
python train.py
  • 若没有问题可以打开浏览器输入http://localhost:8097/来使用visdom可视化

训练细节

pytorch实现FCN全卷积网络的语义分割(Fully Convolutional Networks for Semantic Segmentation论文简单复现)_第4张图片

数据集

  • training data来自这里,ground-truth来自这里。
  • 链接中提供的图片中,部分ground-truth的有误,而且部分有ground-truth的图片没有对应training data的图片,将这些有错误的图片分别剔除,重新编号排序之后剩余533张图片。
  • 之后我随机选取了67张图片旋转180度,一共在training data和ground-truth分别凑够600张图片(0.jpg ~ 599.jpg)。

可视化

  • train prediction:训练时模型的输出
  • label:ground-truth
  • test prediction:预测时模型的输出(每次训练都会预测,但预测数据不参与训练与backprop)
  • train iter loss:训练时每一批(batch)的loss情况
  • test iter loss:测试时每一批(batch)的loss情况

你可能感兴趣的:(●,人工智能,—,神经网络,—,深度学习,深度学习从入门到放弃)