赞
踩
最近在看计算机图像和视觉方面的论文,FCN(Fully convolutional networks)是一篇非常成功的论文,图像语义分割这一块就靠它入门了。为了写博客更加方便,打算将论文讲解和实现分开成两篇博客,这样写起来也轻松一些。
在讨论语义分割以前,我们先来讨论图像分类与物体检测。
FCN的实现和一般的卷积神经网络的区别主要有两点:反卷积和融合输出
(fusing output,字面翻译)。
关于反卷积的介绍我在之前的博客中介绍过,简单来说,卷积是下采样(subsample),用于提取图片的特征;反卷积是上采样(upsample),可以扩大数据的维度,DCGAN里头用上采样来生成目标图像。在FCN里头,先用卷积操作提取图像特征,然后用反卷积生成分割后的图片映射。
融合输出是FCN的一个trick,一般来说,卷积网络的深层可以能更好地提取图片的特征,但是会丢失掉图片元素的空间信息;浅层可以提取图片的位置信息,但是不能提取全局特征。论文的section1 有这样一段话:
Semantic segmentation faces an inherent tension between semantics and location: global information resolves what while local information resolves where.Deep feature hierarchies encode location and semantics in a nonlinear local-to-global pyramid.
大意是说全局信息可以表征图像的特征信息,局部信息可以表征图像的位置信息,在神经网络不同深度的层中,浅层表示位置信息,深层表示特征信息。而图像的语义分割既需要位置信息也需要特征信息,为了实现这个目的,作者利用了一个叫做“skip architecture”的方法,图示如下:
简单地说,就是将浅层的卷积层和深层的卷积层进行反卷积(上采样),然后将它们的输出结果合并。FCN-32s直接将原来神经网络的最后一层进行反卷积;FCN-16s将pool4和2步长反卷积后的conv7一起进行反卷积后进行输出;FCN-8s则是利用了conv7,pool4,pool3。可以看出,从FCN-32s到FCN-8s,不同卷积层都被利用了起来。
FCN的效果还是不错的,首先是FCN之间的对比。
可以看出,FCN-8s的效果是最好的,无论是准确度还是精细程度,这是因为它既利用了浅层网络的信息,也利用了深层网络的信息。
模型的判别指标有四个:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。