2:30 - 4:45
这篇文章是 利用 deconv net 进行 semantic segmentation的先作,在之前ZF曾利用deconv net 做 neural network的可视化工作,它相当于 conv net 的mirror。
作者利用的是VGG16,应该是fine-trunning 其所有层的参数。(文中没有提到,所以是猜测)。
训练过程分为两个阶段,第一个阶段:根据ground truth 进行 central box 选择单个instance(中心 tight box 的max side 的1.2x),对这个square box 进行crop。因为VGG16的
后两层fc被保留,所以网络应该是fixed input,因此,上面的square box 应该进行缩放到原图大小,再输入网络。这一步主要是instance-wise segmentation training。
第二个阶段: 先利用 edge box 方法进行proposal,然后将整张图片输入进网络,进行训练;注意:要平衡两步的训练样例个数。
interface阶段: 整个网络的output,即deconv-net 的output应该是多通道的,个数为C,每一个channel记录了与原图大小相同的对应位置的概率(前景、背景的概率),然后选择概率最大的channel作为mask,或者将各个channel summation。最后将前面的概率和CRF结合,输出 pixel-wise labeling。
网络架构图如下:
可以看到网络的层数较多,几乎两倍的VGG16,训练时用了BN,和前面的两阶段训练方法。deconv net的主要目的是memory conv net 的pooling switch variables。
网络是和FCN互补的,即克服FCN的对于太大太小区域效果不好的缺点,于是结合FCN对coarse feature的提取,对object shape semantic 有较好的正确率,结合两者的优点,可产生最佳的效果。
如下图:
另外,对deconv net 的分析:
可以看到,没经过一层 deconvolution net (图b d f h j)能够rich feature,没经过一层 uppooling net,能够sparse feature。噪声被抑制,和类别相关的信息被放大。高层的deconv layer 能够捕获 class-specific shape infomation。
论文:Learning Deconvolution Network for Semantic Segmentation