一、FCN 全卷积神经网络。2015年发表,是端到端的开山之作。
语义分割:对每个图像像素点进行分类。
使用技术:
1.卷积处理;2.反卷积(上采样) 反卷积原理:在卷积后的位置,保留了位置信息,其余像素点补0,然后在进行、卷积操作。
编码器:网络通畅是一个预训练分类网络,VGG16、VGG19
解码器:对编码器学习到的特征在语义上映射到像素空间,得到密集分类。
二、网络架构:
1.使用VGG16预训练参数迁移学习
2.VGG16的全连接层转换为卷积层,使用1x1的卷积层
3.在低分辨率图片使用反卷积增大图片
4.高层与反卷积后的层进行concat
5.使用交叉熵作为损失函数
三、数据标注
1.工具使用labelme进行标注,为数据着色
--------------------------------------------------------------------------------------------------------------------------------------------------------------
SegNet 2016
一、主要是应用在场景理解的应用。在道路和室内场景理解。在时间和内存的使用效率都会高于其他网络结构。
二、segnet网络是一个对称的encoder-decode的过程。左边是encode(卷积池化来实现),右边是decode(反卷积实现),最后使用softmax进行分类。
三、编码与VGG16一样,然后反卷积,concat,好想与FCN没啥区别吧。
四、存储最大池化索引。有利于保存分割的边界信息。减少训练的参数;修改起来比较方便。
五、作者并没有把encode+decode,因为这样操作会增加训练时间(亲测,很慢),作者采用unpooling的方式。这是与fcn网络不同之处之一。
六、网络的优点 没有增加参数,稀疏,并且不需要参加训练;降低内存decode不用存储encode信息;提升边界的描绘能力
7、与fcn网络的差别也许就是反卷积+双线性差值与上采样的区别吧。
--------------------------------------------------------------------------------------------------------------------------------------
U-NET 2015
同样遵循着encode-decode原则,网络成U形结构。
1.在预处理上面使用的镜像操作
2.网络卷积与反卷积后的图片相加,在卷积。是在通道上面进行的,并不像fcn网络那样在像素点上面直接相加。
“https://blog.csdn.net/mzl_18353516147/article/details/89292960。这里提供了扭曲变形的原理。”
网络结构:224,224,3
conv1 [112,112,64]
conv2 [56,56,128] +up9
conv3 [28,28,256] +up7
conv4 [14,14,512] +up6
conv5 [14,14,1024]
up6[28,28,512]
conv6[28,28,512]
up7[56,56,256]
conv7[56,56,256]
conv8[56,56,256]
up9[112,112,128]
U-Net网络采用的是在维度(channel)上面进行concat,fcn是在数据点上面进行信息的融合。
------------------------------------------------------------------------------------------------------------------------------------
Deeplab 2017年
这个结构比较成熟,并且后续很多模型都是基于此模型进行改进的。
FCN的劣势:为了保证输出的尺寸不会有较大的改变,作者添加了100的padding ,这样引起了噪声。为了解决这个问题,作者使用带孔卷积!