Learning Deconvolution Network for Semantic Segmentation
We propose a novel semantic segmentation algorithm by learning a deconvolution network. We learn the network on top of the convolutional layers adopted from VGG 16- layer net. The deconvolution network is composed of deconvolution and unpooling layers, which identify pixel-wise class labels and predict segmentation masks. We apply the trained network to each proposal in an input image, and construct the final semantic segmentation map by combining the results from all proposals in a simple manner. The proposed algorithm mitigates the limitations of the existing methods based on fully convolutional networks by integrating deep deconvolution network and proposal-wise prediction; our segmentation method typically identifies detailed structures and handles objects in multiple scales naturally. Our network demonstrates outstanding performance in PASCAL VOC 2012 dataset, and we achieve the best accuracy (72.5%) among the methods trained with no external data through ensemble with the fully convolutional network.
Tensorflow implementation of Learning Deconvolution Network for Semantic Segmentation.
from DeconvNet import DeconvNet deconvNet = DeconvNet() # will start collecting the VOC2012 data deconvNet.train(epochs=20, steps_per_epoch=500, batch_size=64) deconvNet.save() prediction = deconvNet.predict(any_image)