FC DenseNet语义分割论文分析


100层Tiramisu: 用于语义分割的全卷积DenseNets

The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation

该文章提供了示例代码可以fork FC-DenseNet,其中数据集的加载在dataset_loaders,在github上看到了使用kears重新实现的网络One-Hundred-Layers-Tiramisu


论文阅读

该文章主要是将DenseNets应用到了FCN中,增加了分割的精度,在CamVid数据集上获得了state of the art的精度,下面是分割结果示意结果。

该网络架构如下所示:


代码运行相关问题

依赖Theano和Lasagne,Theano的版本为0.9即可

pip install theano==0.9

这里因为Lasagne使用最新版的,所以需要下载源码然后编译安装,另外Theano使用gpu需要pygpu,下载libgpuarray代码然后按照安装教程安装即可。

git clone https://github.com/Theano/libgpuarray.git
cd libgpuarray
mkdir Build
cd Build
# you can pass -DCMAKE_INSTALL_PREFIX=/path/to/somewhere to install to an alternate location
cmake .. -DCMAKE_BUILD_TYPE=Release # or Debug if you are investigating a crash
make
sudo make install
cd ..
# This must be done after libgpuarray is installed as per instructions above.
python setup.py build
python setup.py install
sudo ldconfig

除了安装pygpu外,theano同时也使用了cudnn,下述安装cudnn。

tar xvf cudnn-7.5-linux-x64-v5.1.tgz
cd cuda
sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/

ImportError: cannot import name downsample

libgpuarray Installation

caffe安装系列——安装cuda和cudnn

(原)Ubuntu16 中安装torch版的cudnn


数据集加载

使用dataset_loaders