[关闭]
@w460461339 2018-08-15T16:59:32.000000Z 字数 2061 阅读 1413

目标语义分割:FCN,SegNet/DeconvNet,DeepLab

MachineLearning


0、备注

下面主要分析FCN和DeepLab这两个。SegNet和DeconvNet简单分析。

参考:
https://blog.csdn.net/yuanlunxi/article/details/79430493

1、FCN(全卷积网络)

1.1 FCN

FCN参考:
https://blog.csdn.net/u010548772/article/details/78582250
http://www.cnblogs.com/gujianhan/p/6030639.html

卷积网络的拓扑结构:
https://blog.csdn.net/zhongkeli/article/details/51854619

卷积网络中卷积核的理解:
https://blog.csdn.net/sscc_learning/article/details/79814146

关于卷积核,这里简单说一下:

1、输入是5*5*3的图片。
2、两个3*3的卷积核A和B。
3、那么,对于卷积核A,它在输入图片的每个channel上,都会有一个用相同的参数进行卷积,然后将每个channel的结果来加,得到这个卷积核的输出:3*3*1.
4、卷积核B同理,所以总共的输出是3*3*2。

image_1ckrtnv5cc391pho13uf1928rjv13.png-15.7kB

1.2 上采样

参考:
https://www.jiqizhixin.com/articles/deeplab-v3

别忘了我们的目的是对图像进行语义分割。

因此需要有一种办法将图像恢复到原大小。

https://github.com/vdumoulin/conv_arithmetic

image_1ckucv9as1ufd12j34tquvv1nv4i.png-151.4kB

1.3 CRF-条件随机场

CRF就是用作对每个像素进行分类。

具体我也看不太懂,下面给一下学习链接。

参考:
https://blog.csdn.net/qq_28743951/article/details/60465524
https://blog.csdn.net/redfivehit/article/details/76609898
https://download.csdn.net/download/nut__/10233790

1.4 总结

总体来说,这是一种encoder-decoder架构。

利用传统的CNN提取特征(encoder),然后通过上采样恢复原大小(decoder),之后结果用CRF进行分类。

2、SegNet/DeconvNet

结构其实和FCN差不多,下面就上一下结构图就好了。

image_1ckrv1jo31iucrfb1d8b1qnm1cfg2b.png-346.2kB

3.DeepLab

之前说过,语义分割的一大问题就是最后的输出是需要和原图等大小的。

而传统CNN(卷积+池化)的操作使得feature map的尺寸不断缩小,是为了:

1、降低计算量。
2、让高层的filter获得更广的感受视野。
3、获取多尺度下的特征。

SegNet以及之前的FCN,采用的是类似encoder和decoder的结构,先采用传统的CNN获取信息,然后用上采样+线性插值的方式将图恢复到原图大小。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注