ICCV2017【论文笔记】Representation Learning by Learning to Count

1、INTRO
这篇文章作者提出一种方法,去计数图像中的visual primitives从而学习图像的representation。

2、Transforming Images to Transform Features
作者提出两点:1)计算视觉原语(visual primitives)的特征不应受到缩放、二维平移和二维旋转变换的影响;2)一半的图像的视觉原语数量应该是小于整幅图像的。

由此该论文考虑了两种不同的变换:
1) 放缩:如果一个图像缩小了 2 倍,视觉原语的数量应该保持不变。
2) 平铺:如果图像分成了一个 2*2 的网格,4个网格视觉基元的数量之和应该等于整个图像的特征计数。
用下述式子表示其关系:
在这里插入图片描述
其中D就是下采样操作(即缩小图像),T是平铺操作。

3、Learning to Count
对loss使用二范式约束:
在这里插入图片描述
这里的trivial solution在于网络可以使D和T都分别为0以满足最小化loss。所以作者增加约束条件:
在这里插入图片描述
这种约束就是使得两幅不同变换的图像变换结果计数特征不一样。其中M设为10。意思是不仅要一幅图像不同变换后visual primitives计数要相同,还要使两幅不同的图像经过不同的变换visual primitives计数应该差别很大。

作者还提到这样可以解决一个问题是least effort bias,就是系统的bias可以轻易满足之前的loss(x)并尽可能少计数visual primitives。但是loss(x,y)就可以限制least effort bias的影响。

Network Architecture
ICCV2017【论文笔记】Representation Learning by Learning to Count_第1张图片
该网络的结构是使用Alexnet的前五个卷积层,后面连上三个fc层((3×3×256)×4096, 4096×4096, 4096×1000),激活函数使用ReLU。

4、Experiments
Transfer Learning Evaluation
(1)Fine-tuningonPASCAL
训练以后,在PASCAL数据集上调整网络,下表是网络的performance。对网络的调整基于已建立的对象分类、检测和划分任务框架。分类任务是一个多分类问题,它预测20个对象类的存在与否,检测任务包括通过指定对象周围的边界框来定位对象,划分任务是将对象类的标签指定给图像中的每个像素。
ICCV2017【论文笔记】Representation Learning by Learning to Count_第2张图片
(2)Linear Classification on Places and ImageNet
这里训练一个线性分类器,分别在Places和ImageNet上训练,五个卷积层逐层显示结果,1-4卷积层都达到了其他方法的效果,其中第一层还超过了其他方法的效果。

Ablation Studies
通过检测任务在不同的训练脚本下观察论文提出方法的效果。
ICCV2017【论文笔记】Representation Learning by Learning to Count_第3张图片
可以看到,表中第一行计数维度是20,visual primitives的计数向量较少会使检测的表现有微小的下降,说明该网络对特征长度不敏感。根据第二第三行,可以看出减小训练集,结果会有明显的下滑,说明该方法对训练集的大小很敏感。
从表中可以看出一个shortcut
在这里插入图片描述
就是说如果是平铺变换,网络会学习到将颜色直方图变成1/4,如果是下采样,则为原图的颜色直方图,这样一来,一样可以满足约束loss(x)。另外网络也可以轻易满足第二个约束loss(x,y)因为不同的图像有很明显不同的low—level texture直方图。
下面作者提出了解决方案:
为了让网络无法识别出下采样,在每一次梯度下降迭代中,从四种下采样方法(bicubic, bilinear, lanczos, area method)随机选择一种,从上表可以看出随机选择下采样方法可以提高detection performance。

随后作者又去观察使用单一下采样方法的错误率,错误率用下式表示
在这里插入图片描述
在第i个下采样方法上面训练,在第j个方法上面测试。
给出结果:
ICCV2017【论文笔记】Representation Learning by Learning to Count_第4张图片
可以看出网络确实学习到了去识别下采样的方法,并且某些下采样方法会留下相似的artifacts。
这里作者又提出网络可以识别色差的问题,为避免这个问题,作者一方面去选择图片的中心区域裁剪,另一方面在训练中随机使用33%的彩色图像和67%的灰度图像(即mixed),从表中可以看出网络表现是有进步的。

Analysis
使用最近近邻搜索去看网络对visual primitives计数效果。理想状况下,visual primitives应该抓取高阶信息像目标或者目标的部分,而不是像边框拐角这样的低阶信息。
(1)Quantitative Analysis
这里实验随机裁剪图片从小到大,网络捕捉到的counting vector也应该是越带越多。
在这里插入图片描述
ICCV2017【论文笔记】Representation Learning by Learning to Count_第5张图片
图结果可以看到网络并不计数低阶纹理,并且对大图敏感。
(2)Qualitative Analysis
Activating/Ignored images:下图可以看出对于lowest feature norms的图像,网络并不统计high-level visual primitives,同时对high-level visual primitives的图像,网络也respond多object或者大的object。
ICCV2017【论文笔记】Representation Learning by Learning to Count_第6张图片
Nearest neighbor search:
ICCV2017【论文笔记】Representation Learning by Learning to Count_第7张图片
图中可以看出检索到的图像都和原图像有相似的场景和语义上的关联,说明counting vectors 捕捉到的是high level visual primitives。

Neuron activations:
去看一看每个counting neuron都学到了什么
ICCV2017【论文笔记】Representation Learning by Learning to Count_第8张图片
观察到这些neurons会按相似的场景和内容对图像分类。

Discussion
本文提出的结构可以在半监督学习方法中与部分标记的数据相结合的扩展和转换。

你可能感兴趣的:(self-supervised,learning,论文,representation,learning)