卷积网络对图像微小的变化产生非常差的效果

   图像变形包括:平移,尺度变化,旋转,图上微小的变化。如下图所示:

网络特征提取不变性

   网络在预测的时候会随着图像中物体的平移、尺度放缩等在准确率上出现抖动,一个例子使用InceptionResNet-V2出现的结果如下所示:

   那么图像在网络上各层的表现如下图所示,也就是说,网络的某些层会将平移后待检测的目标“淹没”在背景信息中,反映网络对特征提取的鲁棒性不是足够。

   另一个图如下所示,图像中仅仅一个像素的平移,就让预测的准确性跌出前五,不同网络预测准确率跌出前五的抖动的直方图如下所示,同时也说明,网络越深,虽然准确率提高了,但是对于一般平移的泛化能力也下降了。

池化的问题

   池化在网络中的作用一般是减少特征的空间分辨率,并且保持特征在尺度空间上的平移旋转不变性。但是当出现如下所示的情况时,可以发现,池化中如果出现特征的平移,也会导致池化的结果出现变化。同理可适用于使用卷积进行下采样时出现这样的状况。

   然而即使是使用了数据增强(data augmentation)的方法,也仍然无法保证消除平移带来偏差的影响。那么为什么这些网络的测试效果比较好呢?主要是训练和测试数据的bias都由于摄像的问题保持了一致,网络更倾向于记忆之前的数据而不是泛化性能,因此网络的在不同的新测试集上表现效果就差。

实现稳定的测试微小形变的方法

1.平滑的滤波器
   目前观察到的现象是池化层对于微小的形变没有鲁棒性,而根据计算机视觉知识SIFT对于微小形变有鲁棒性,其中使用了模糊,因此猜测平滑的滤波有助于保持微小形变的鲁棒性。下图也展示了越平滑的初始滤波器使得微小形变导致的影响越小。

2.Specialized layer
   使用保边池化或者谐波网络,前者表示Pooling后与线性下采样后进行相加,两个方法分别如下图所示:

3.Advanced 数据增强
   对数据进行混合,如下面三张图,可以将它们混合作为输入:

混合公式如下:

这里的xi啥的代表输入的数据,y代表标记。
4.使用Capsule网络结构
   capsule会先对输入图像进行仿射变换,进而获得旋转不变的特征,图例如下所示:

capsule网络和一般CNN的对比如下图所示:

0%