未经transform增强的数据,在面对样本位移时会丧失鲁棒性,针对这一问题Making Convolutional Networks Shift-Invariant Again做出了解释并提出解决方案:
论文中认为,常规CNN网络产生shift-variance是由于stride以及下采样的操作过硬导致的
用一维数据很容易理解,用k=2,s=2的maxpool对[0,0,1,1,0,0,1,1]操作时得到 [0,1,0,1],当数据发生平移[0,1,1,0,0,1,1,0],输出结果发生巨大变化[1,1,1,1],个人认为通俗些说,CNN中存在的reduction操作都可能导致shift-variance,结合个人理解得到下述结论,shift-variance是由于stride以及下采样的操作过硬导致的频谱泄露
作者的解决方案也很清晰,下采样前用高斯平滑核将图片平滑一下,再下采样,作用很简单,降低高频像素评率,增加其空间分布尺度,避免过硬的下采样将相关信息漏掉
项目中遇到Fasterrcnn在检测小目标时,同一目标发生位移会导致漏检,即可对stride con,以及Roi pooling 做平滑
引用 Making Convolutional Networks Shift-Invariant Again