论文理解《Class-Agnostic Counting》
code https://github.com/erikalu/class-agnostic-counting
解决问题:建立一个适用于任何物体类别的计数模型;
解决方法:将计数问题转化为匹配问题,挖掘图的自相似性;
主要贡献:
1.提出Generic Matching Network(GMN),可按类未知方法进行计数;
2.将计数问题重定义为物体匹配问题,可充分利用大量丰富的已标注的视频帧数据(因为这些视频帧之间存在重复性,从而不需要再费心耗时得到大量重复图片),适用于训练一个计数模型(GMN);
3.为了将GMN适用于不同的用户要求,采用了一个adapter module,使用少量带标记的样本和部分训练参数;这也是few-shot learning的形式,即小样本学习(小样本学习体现在文中后续的cell和car数据集实验部分)。
实验场景:细胞、车辆、人群计数;
Introduction部分
老生常谈的一个两大分类计数方法:基于检测计数、基于回归计数;
基于检测计数不足:要求为不同的物体训练单个检测器,在带标注样本少的情况下这种方法实施起来比较困难;
基于回归计数:将检测问题转化为学习图像到人数的映射关系,或者是图像特征到密度图的映射关系;
现存的方法不足:只能计算特定类的密度;
图像自相似性:如果一幅图像中可以用一些特定的重复块表示,指图像自相似性,这些特定的重复块也称作模范块(exemplar);
基于图像自相似性,图像计数可重定义为图像匹配问题——计算实例转化为相同图像中的自相似块匹配问题;
设计出类匹配网络,学习一个判别分类器匹配模范块的实例;
为了适用于不同的物体类,使用一个adapter module,支持快速的域匹配和小样本学习;
Method部分
利用图像自相似性,计数问题转化为定位和通过匹配计算重复实例的问题;
提出GMN网络;
采用residual adapter modules作为适应模块,在目标域的数据集上只需要少量带样本模块;
GMN网络介绍:
包含3个模块:
1.embedding
双流网络转换RGB图像(输入的图像分别是exemplar图像块和全分辨率完整图像)至高级语义特征编码形式;
均使用resnet-50网络()
2.matching
将模范块的向量大小调整为与全分辨率图像生成的向量大小匹配;相似性定义为:
(这里有个问题:y定义的操作用于上采样,stride=2,使用转置卷积达到的)
借助1、2模块,此时可以训练GMN:
数据集:ILSVRC视频数据集;
3.adapting
在embedding模块增加residual adapter modules(参考文章《Efficient parametrization of multi-domaindeep neural networks》);在adaption阶段,冻结预训练GMN的所有参数;
GMN详细结构:
Counting Benchmark Experiments部分
VGG synthetic cells
HeLa phasecontrast cells
large-scale drone-collected car dataset
Evaluation Metrics部分
MAE、precision、recall、F1 score
将预测的相似图的局部最大(高于阈值T,T通常设为验证集上最大的F1 score值)设为检测;
Shanghaitech Crowd Counting部分
实验步骤:
1.使用带点标记的真值,根据人的数量将像素块分为多类;
比如在下面这张示例图中,模范块的选取基于块内包含人数进行分类,可以分成1-4人、20-30人、80-120人这些;
2.根据匹配计数的思想,基于人数嵌入patches从而训练自相似性结构;即如果块采样自同一类,模型预测为1,否则为0;
3.使用训练集中的每一类的样本作为模范块进行测试集上的实验,最后的分类由最大响应决定;