图像分割。语以分割之FCN

caffe版,理论讲的也还可以http://melonteam.com/posts/quan_juan_ji_shen_jing_wang_luo_fcn_xue_xi_bi_ji/

语以分割:对每个像素进行分类,所有人是一坨

实力分割:对每个像素进行分类,同时区分出每个人

传统CNN:需要有池化,图片分辨率低,通过越来越厚。

全卷积网络。FCN。

卷积化:将所有全连接层转换成卷积层(输入可以不固定)。

最后一层输出的是1000个二维数组,其中每一个数组可以可视化成为一张图像,图中的每一个像素点的灰度值都是代表当前像素点属于该类的概率。(现在的理解,输入的是以一张图像,输出的是1000张图像,分别代表这1000类的概率(灰度))。每一个点分类的最大概率代表该点的概率。

全连接与全卷积。全连接将原来的二维图片压缩成一维的,输出一个标量。而全卷积是把fc写成卷积的形式,可以允许输入有不同的大小。

全连接层输入转化【-1,7*7*256】,取W=【7*7*2564096】,输出【-1,4096】;

转化成卷积层:输入不变,取W=【7,7,256,4096】,s=1,pad=0,输出【-1,1,1,4096】。

当输入为224*224时,卷积和全连接的输出一致。https://blog.csdn.net/z397164725/article/details/79037436

与经典的CNN在卷积层之后使用全连接层得到固定长度的特征向量进行分类(全联接层+softmax输出)不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的feature map进行上采样, 使它恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测, 同时保留了原始输入图像中的空间信息, 最后在上采样的特征图上进行逐像素分类。

反卷积:将低分辨率图片进行上采样,输出同分辨率分割图片。

跳层:精化分割图片

卷积化:3个初始网络Alexnet、VGG16、GoogleNe

反卷积:转置卷积,可以拟合双线性插值。

2X2的变为4X4的,采用3X3的卷积核、步长为1,padding2.

从矩阵的角度理解:

反池化:池化的时候记录位置,反池化的时候填回去,其余补0.

跳层结构:直接使用32倍反卷积得到的分割结果粗糙

在前面几层卷积层,分辨率比较高,像素点的定位比较准确,后面几层卷积层,分辨率比较低,像素点的分类比较准确,所以为了更加准确的分割,需要把前面高分辨率的特征和后面的低分辨率特征结合起来

使用前2个卷积层的输出做融合。

cov7层直接反卷积32倍,pool4进行1X1卷积,在和cov7层经过2倍反卷积后的进行sum,反卷积16倍,pool3进行1X1在和XXXX进行8倍的反卷积。

https://blog.csdn.net/qq_36269513/article/details/80420363

猜你喜欢

转载自blog.csdn.net/weixin_41982696/article/details/81361119