diff --git a/ch9_图像分割/modify_log.txt b/ch9_图像分割/modify_log.txt index c5e0e58..0b622fa 100644 --- a/ch9_图像分割/modify_log.txt +++ b/ch9_图像分割/modify_log.txt @@ -13,6 +13,11 @@ readme.md---->章节维护贡献者信息 modify_log---->用来记录修改日志 第 * 章_xxx.md---->对应章节markdown文件 第 * 章_xxx.pdf---->对应章节生成pdf文件,便于阅读 + +<----qjhuang-2018-10-31----> +1. 删除9.1.4重复问题 +2. 修改标题格式 + 其他---->待增加 2. 修改readme内容 3. 修改modify内容 diff --git a/ch9_图像分割/readme.md b/ch9_图像分割/readme.md index c423c76..cbeeb2a 100644 --- a/ch9_图像分割/readme.md +++ b/ch9_图像分割/readme.md @@ -5,7 +5,7 @@ **负责人(排名不分先后):** 电子科大研究生-孙洪卫(wechat:sunhwee,email:hwsun@std.uestc.edu.cn) 电子科大研究生-张越(wechat:tianyuzy) -华南理工研究生-黄钦建() +华南理工研究生-黄钦建(wechat:HQJ199508212176,email:csqjhuang@mail.scut.edu.cn) 中国农业科学院-杨国峰() **贡献者(排名不分先后):** diff --git a/ch9_图像分割/第九章_图像分割.md b/ch9_图像分割/第九章_图像分割.md index b292f6c..d208db1 100644 --- a/ch9_图像分割/第九章_图像分割.md +++ b/ch9_图像分割/第九章_图像分割.md @@ -41,7 +41,7 @@ FCN对图像进行像素级的分类,从而解决了语义级别的图像分 下图是语义分割所采用的全卷积网络(FCN)的结构示意图:
-**9.1.3全卷积网络举例?** +**9.1.3 全卷积网络举例?**    通常CNN网络在卷积层之后会接上若干个全连接层, 将卷积层产生的特征图(feature map)映射成一个固定长度的特征向量。以AlexNet为代表的经典CNN结构适合于图像级的分类和回归任务,因为它们最后都得到整个输入图像的一个概率向量,比如AlexNet的ImageNet模型输出一个1000维的向量表示输入图像属于每一类的概率(softmax归一化)。 @@ -54,18 +54,9 @@ FCN对图像进行像素级的分类,从而解决了语义级别的图像分    (2)FCN与CNN的区别在于把于CNN最后的全连接层转换成卷积层,输出的是一张已经Label好的图片, 而这个图片就可以做语义分割。    -(3)CNN的强大之处在于它的多层结构能自动学习特征,并且可以学习到多个层次的特征: 较浅的卷积层感知域较小,学习到一些局部区域的特征 较深的卷积层具有较大的感知域,能够学习到更加抽象一些的特征。高层的抽象特征对物体的大小、位置和方向等敏感性更低,从而有助于识别性能的提高, 所以我们常常可以将卷积层看作是特征提取器。 +(3)CNN的强大之处在于它的多层结构能自动学习特征,并且可以学习到多个层次的特征: 较浅的卷积层感知域较小,学习到一些局部区域的特征;较深的卷积层具有较大的感知域,能够学习到更加抽象一些的特征。高层的抽象特征对物体的大小、位置和方向等敏感性更低,从而有助于识别性能的提高, 所以我们常常可以将卷积层看作是特征提取器。 -**9.1.4为什么CNN对像素级别的分类很难?** - -   -(1)存储开销很大。例如对每个像素使用的图像块的大小为15x15,然后不断滑动窗口,每次滑动的窗口给CNN进行判别分类,因此则所需的存储空间根据滑动窗口的次数和大小急剧上升。 -   -(2)计算效率低下。相邻的像素块基本上是重复的,针对每个像素块逐个计算卷积,这种计算也有很大程度上的重复。 -   -(3)像素块大小的限制了感知区域的大小。通常像素块的大小比整幅图像的大小小很多,只能提取一些局部的特征,从而导致分类的性能受到限制。 - -**9.1.5全连接层和卷积层如何相互转化?** +**9.1.4 全连接层和卷积层如何相互转化?**    **两者相互转换的可能性:** @@ -86,12 +77,12 @@ FCN对图像进行像素级的分类,从而解决了语义级别的图像分    (3)最后一个全连接层也做类似的,令其F=1,K=1000,最终输出为[1x1x1000]。 -**9.1.6 FCN的输入图片为什么可以是任意大小?** +**9.1.5 FCN的输入图片为什么可以是任意大小?**    对于CNN,一幅输入图片在经过卷积和pooling层时,这些层是不关心图片大小的。比如对于一个卷积层,outputsize = (inputsize - kernelsize) / stride + 1,它并不关心inputsize多大,对于一个inputsize大小的输入feature map,滑窗卷积,输出outputsize大小的feature map即可。pooling层同理。但是在进入全连接层时,feature map(假设大小为n×n)要拉成一条向量,而向量中每个元素(共n×n个)作为一个结点都要与下一个层的所有结点(假设4096个)全连接,这里的权值个数是4096×n×n,而我们知道神经网络结构一旦确定,它的权值个数都是固定的,所以这个n不能变化,n是conv5的outputsize,所以层层向回看,每个outputsize都要固定,那每个inputsize都要固定,因此输入图片大小要固定。 -**9.1.7把全连接层的权重W重塑成卷积层的滤波器有什么好处?** +**9.1.6 把全连接层的权重W重塑成卷积层的滤波器有什么好处?**    这样的转化可以在单个向前传播的过程中, 使得卷积网络在一张更大的输入图片上滑动,从而得到多个输出(可以理解为一个label map)。 @@ -120,7 +111,7 @@ FCN对图像进行像素级的分类,从而解决了语义级别的图像分    相较于使用被转化前的原始卷积神经网络对所有36个位置进行迭代计算优化模型,然后再对36个位置做预测,使用转化后的卷积神经网络进行一次前向传播计算要高效得多,因为36次计算都在共享计算资源。这一技巧在实践中经常使用,通常将一张图像尺寸变得更大,然后使用变换后的卷积神经网络来对空间上很多不同位置进行评价得到分类评分,然后在求这些分值的平均值。 -**9.1.8反卷积层理解** +**9.1.7 反卷积层理解**    Upsampling的操作可以看成是反卷积(deconvolutional),卷积运算的参数和CNN的参数一样是在训练FCN模型的过程中通过bp算法学习得到。反卷积层也是卷积层,不关心input大小,滑窗卷积后输出output。deconv并不是真正的deconvolution(卷积的逆变换),最近比较公认的叫法应该是transposed convolution,deconv的前向传播就是conv的反向传播。 @@ -135,7 +126,7 @@ Upsampling的操作可以看成是反卷积(deconvolutional),卷积运算的
上图中的反卷积,input feature map是3×3, 转化后是5×5, output是5×5
-**9.1.9跳级(skip)结构** +**9.1.8 跳级(skip)结构**    对CNN的结果做处理,得到了dense prediction,而作者在试验中发现,得到的分割结果比较粗糙,所以考虑加入更多前层的细节信息,也就是把倒数第几层的输出和最后的输出做一个fusion,实际上也就是加和: @@ -143,7 +134,7 @@ Upsampling的操作可以看成是反卷积(deconvolutional),卷积运算的    实验表明,这样的分割结果更细致更准确。在逐层fusion的过程中,做到第三行再往下,结果又会变差,所以作者做到这里就停了。 -**9.1.10模型训练** +**9.1.9 模型训练**    (1)用AlexNet,VGG16或者GoogleNet训练好的模型做初始化,在这个基础上做fine-tuning,全部都fine-tuning,只需在末尾加上upsampling,参数的学习还是利用CNN本身的反向传播原理。 @@ -200,7 +191,7 @@ learning rate:0.001。 最后一层反卷积固定位bilinear插值不做学习。
-**9.1.11 FCN缺点** +**9.1.10 FCN缺点**    (1)得到的结果还是不够精细。进行8倍上采样虽然比32倍的效果好了很多,但是上采样的结果还是比较模糊和平滑,对图像中的细节不敏感。 @@ -660,7 +651,7 @@ $$    对于给出bounding box标记的训练图像,该方法先使用CRF对该训练图像做自动分割,然后在分割的基础上做全监督学习。通过实验发现,单纯使用图像级别的标记得到的分割效果较差,但是使用bounding box的训练数据可以得到较好的结果,在VOC2012 test数据集上得到mIoU 62.2%。另外如果使用少量的全标记图像和大量的弱标记图像进行结合,可以得到与全监督学习(70.3%)接近的分割结果(69.0%)。 -**9.9.4统一的框架** +**9.9.4 统一的框架**    Learning to Segment Under Various Forms of Weak Supervision (CVPR 2015)