Open Long-Tailed Recognition(OLTR):从自然分布的数据中学习并在包括头、尾和开放类的平衡测试集上优化分类精度。也就是对三个问题的综合
- imbalanced classification
- few-shot learning
- open-set recognition.
论文针对的问题:
OLTR不仅要在封闭环境中处理不平衡分类和few-shot learning问题,还要处理open-set recognition.现有的分类方法只集中在某一方面,当考虑到整体时,性能就会大大下降。
challenge:tail recognition robustness and open-set sensitivity
解决思路:
- 在头尾类之间共享视觉知识来提高识别的鲁棒性。
- 减少tail和open类之间的混淆来提高识别灵敏度。
贡献:
- 定义OLTR任务
- 提出了一种基于动态元嵌入的OLTR算法
- 通过将头尾嵌入的视觉关联起来处理尾部识别的健壮性,
- 通过视觉记忆动态校准来处理开放识别的敏感性。
- 组织了三个大型OLTR数据集:
- 以对象为中心的ImageNet
- 以场景为中心的MIT Places
- 以人脸为中心的MS1M。
dynamic meta-embedding
- direct feature,从输入图像中计算特征,对尾部数据缺乏足够的监督。
- memory feature,视觉记忆相关的诱发特征。从直接特性中检索内存**的summary,并将其合并到一个适合tail类元嵌入中。
model
- dynamic meta-embedding():在头尾类之间传递知识
- modulated attention():在头尾之间保持判别
- meta embedding()
- Neighborhood Sampling 怎样采样??
- centroids 是怎样计算的??
- coefficients hallucinated???指的是什么
- lightweight neural network 又指的是什么?
- 作用???
- self-attention?
- modulated attention
- Cosine Classifier
在数据集加载的时候:
- test 模式:会把test 和 open加载进去
- train模式:如果有sampler_dic,会按照sampler 方式采样,如果没有就按照系统,对于val的话,transform是不一样的
MA:(modulatedatt)
SA:(spatial_att)
centroids的计算:输入x 计算feature,相同类别的feature累加求平均值