本文已参与「新人创作礼」活动,一起开启掘金创作之路。
为了督促自己每天都有进步,在这里记录下每天遇到的问题和学到的新知识,作为个人回顾使用。
日记(第十八周)
20210113
FCN的学习
语义分割(从具体到抽象的过程)
在图像处理问题中,一张图像所包含的含义就是这张图像的语义;用不同的颜色分割所关注的对象即分割。
分割包括:语义分割、实例分割、全景分割
论文解读
摘要:
主要成就:端到端、像素到像素训练方式下的卷积神经网络超过了现有语义分割方向最先进的技术
核心思想:搭建全卷积神经网络,可以输入任意尺寸的图像,得到相应尺寸的输出
主要方法:改写现有的分类网络(AlexNet, VGG, GoogleNet)为全卷积神经网络,设计跳跃连接将全局信息和局部信息连接起来,互相补偿
实验结果:在多个数据集结果出色(state-of-the-art)\
语义分割目前存在的问题:局部信息和全局信息的矛盾
局部信息:浅层网络中提取局部信息
全局信息:深层网络中提取全局信息
在浅层网络中,语义信息比较丰富,计算机可以提取更为具体的信息,如图形的几何形状,局部特征等等;等到进入较为深层的网络时,这些信息已经被破坏得差不多了,只剩下可以预测该物体所在位置的全局信息,即物体的空间信息。
面对这种矛盾,采用跳跃结构和特征融合,同时得到局部信息和全局信息
上采样
上采样的方式有三种:双线性插值,反卷积和反池化。双线性插值方法实现简单,无需训练;反卷积上采样需要训练,但能更好的还原特征图
FCN网络的结构:FCN与普通的CNN网络不同的地方在于后面几层;以AlexNet为例,6,7,8层是长度为4096,4096,1000的一维向量,在FCN中第6、7、8层都是通过卷积得到的,卷积核的大小全部是1 * 1,第6层的输出是4096 * 7 * 7,第7层的输出是4096 * 7 * 7,第8层的输出是1000 * 7 * 7(7是输入图像大小的1/32),即1000个大小是7*7的特征图(称为heatmap),如下图(图片来源)所示:
FCN又是如何将图像还原到初始的分辨率的呢?FCN的论文中可以看出采用了反池化和反卷积的操作,使图像分辨率恢复到原来的大小。
跳级结构(strip):直接对第五层进行上采样操作得到的结果准确率还不够,因此该论文也对第三层和第四层的输出进行了反卷积操作,再将这3个反卷积图像融合起来,提升了结果的精准度。