Abstract
本文介绍了一个新的基本特征,即动态范围,从现实世界的度量工具到深度视觉识别。 在计量学中,动态范围是公制工具的基本质量,表明它可以灵活地适应各种尺度。 更大的动态范围提供更高的灵活性。 在视觉识别中,也存在多尺度问题。 不同的视觉概念可能有不同的语义尺度。 例如,“Animal”和“Plants”的语义尺度很大,而“Elk”的语义尺度要小得多。 在较小的语义尺度下,两种不同的麋鹿可能看起来完全不同。 然而,在较大的语义尺度下(例如,动物和植物),这两种麋鹿应该被衡量为相似。
将动态范围引入深度度量学习,我们得到了一个新的计算机视觉任务,即动态度量学习。 它旨在学习一个可扩展的度量空间,以适应跨多个语义尺度的视觉概念。 基于三种类型的图像,即车辆、动物和在线产品,我们构建了三个用于动态度量学习的数据集。 我们使用流行的深度度量学习方法对这些数据集进行基准测试,发现动态度量学习非常具有挑战性。 主要困难在于不同尺度之间的冲突:小尺度下的判别能力通常会损害大尺度下的判别能力,反之亦然。 作为一个小贡献,我们提出了跨尺度学习(CSL)来缓解这种冲突。 我们表明 CSL 始终如一地改进了所有三个数据集的基线。The datasets and the code will be publicly available at 数据集和代码
1. Introduction
本文考虑了用于视觉识别的深度度量学习,并补充了计量学中的一个重要概念,即动态范围。 在计量学中,动态范围被定义为度量工具可以提供的最大和最小尺度之间的比率。 它是度量的基本特性,表示适应各种尺度的灵活性。我们认为这种灵活性对于深度度量学习也很重要,因为不同的视觉概念确实对应于不同的语义尺度。 然而,在重新思考当前的深度度量学习任务后,我们发现它们都没有考虑动态范围。 因此,我们引入了动态范围来赋予单个深度度量在多个语义粒度之间具有灵活性。 潜在地,它可能会揭示理解深度视觉识别的泛化能力的新角度。
我们通过深度度量学习和现实世界度量工具之间的比较来解释“动态范围”的重要性。 在现实世界中,公制工具通常具有动态范围。 例如,一把尺子上有很多标记来表示不同的长度,从“1毫米”到“10厘米”甚至几米不等。 在“1毫米”或“10厘米”中只有一个单一刻度的尺子在日常生活中是没有用的。 可以说,动态范围对于公制工具至关重要,使其能够测量不同尺寸的对象。 在视觉识别中,视觉概念也有各种语义尺度。例如,“Animals”和“Plants”的语义尺度很大,而“Elk”的语义尺度要小得多。 当我们尝试测量两个图像之间的相似性(这是度量学习的目标)时,潜在的语义尺度会影响结果。 在图 1 中,两只麋鹿看起来非常不同。 不过,在“动物”的大尺度下,应该判断它们是相似的
Figure 1. 视觉概念具有不同的语义尺度,这些尺度影响着相似度的度量结果。在小尺度“麋鹿”,这两只麋鹿看起来很不一样。在大尺度“动物”,他们应该被衡量为相似。
当前深度度量学习任务中没有考虑动态范围,例如人脸识别 [30, 28, 5, 27, 34, 19, 12, 3],人员重新识别 [29, 37, 25, 23, 24],以及车辆重新识别(re-ID)[15, 7, 38, 39]。它们都专注于学习单个指定语义尺度的度量(例如,分别为人脸、行人和车辆的身份)。 单一尺度的度量缺乏灵活性,如果所感兴趣的尺度发生变化,可能会变得不准确。 我们使用基于车辆检索的玩具场景验证了这一点。 在图 2 中,两个用户以不同的意图使用相同的查询图像。第一行的意图是检索具有相同身份的汽车,而第二行是检索具有相同车身类型(即“SUV”)的汽车。 车辆 re-ID(学习识别每辆车)的有判别力的度量满足第一个意图。 使用相似度阈值 T,它可以准确地将真实匹配和错误匹配与查询图像分开。 然而,它缺乏识别相同体型的判别能力,这对应于比身份(identity)更大的语义尺度。保持 T 作为阈值,它无法召回所有真正的匹配项。 如果我们将相似性阈值降低到 T’ 以提高召回率,则准确率会急剧下降(有关实验证据,请参阅第 6.1 节)。 因此,我们推断由于缺乏灵活性,单尺度度量不适合新的语义尺度。
Figure 2. 单一尺度的度量不适合新的语义尺度。对于识别第二排相同的车身类型“SUV”(即相对较大的语义尺度),车辆重新标识(一个较小的语义尺度)的精确度量变得不准确。使用阈值T不能回忆起( recall )所有的真匹配,而使用较低的阈值T会导致假阳性(false positive)匹配。正匹配和负匹配分别用红框和蓝框限定。这些图像来自DyML-Vehicle。
将动态范围引入深度度量学习,我们得到了一个新任务,即动态度量学习(DyML)。 DyML 旨在学习一个可扩展的度量空间以适应多个语义尺度。换句话说,DyML的度量在不同的语义粒度下应该是有区别的。为了促进 DyML 的研究,我们分别构建了基于车辆、动物和产品的三个数据集。 所有这些数据集都具有三种不同的语义尺度,即细、中和粗。我们使用各种流行的深度度量学习方法对这些数据集进行基准测试,例如 Cosface [31]、Circle Loss [22]、triplet loss [20]、N-pair loss [21]。 大量实验表明,DyML 非常具有挑战性。 即使深度模型以多任务的方式从所有语义尺度中学习,它也自然不会获得良好的动态范围。主要困难在于不同尺度之间的冲突:小尺度下的判别能力通常会损害大尺度下的判别能力,反之亦然。 为了缓解这种冲突,我们设计了一种名为跨尺度学习 (CSL) 的简单方法。 CSL以最小尺度的类内相似度作为唯一参考,同时对比所有尺度的类间相似度。 这种学习方式类似于尺子上的所有标记都以“0”为起点。 实验结果证实,CSL 带来了对基线的一致改进。
综上所述,本文有以下四点贡献:
•我们通过动态范围补充深度度量学习来提出动态度量学习。 与用于视觉识别的规范度量学习相反,DyML 需要跨多个语义尺度的判别能力。
• 我们为 DyML 构建了三个数据集,即 DyML-Vehicle、DyML-Animal 和 DyML-Product。 所有这些数据集都包含用于训练和测试的多个语义粒度下的图像。
•我们通过广泛的实验使用流行的度量学习方法对这些 DyML 数据集进行基准测试。 实验调查表明,由于不同语义尺度之间的冲突,DyML 非常具有挑战性。
• 作为一个小贡献,我们提出了 DyML 的跨尺度学习。 CSL 获得更好的动态范围,从而持续改进基线。
2. Related work
2.1. Deep Metric Learning
2.2. Hierarchical Classification
我们阐明了 DyML 和“相似”研究领域之间的区别,即层次分类 [26, 9, 2, 10, 13]。 动态度量学习以分层的方式组织多个语义尺度(如第 3.2 节详述),这可能看起来类似于层次分类。但是,DyML 在两个主要方面与层次分类有显着差异。
首先,DyML 属于度量学习领域,其中训练数据和测试数据没有类别交集。 相应地,学习到的度量必须推广到看不见的类。 相比之下,层次分类属于图像分类任务。 训练数据和测试数据共享同一个类,因此在测试过程中没有看不见的类。
其次,DyML 使用层次信息来学习单个隐藏层(即深度嵌入层)。 所有的语义尺度(粗、中、细)对于 DyML 都同等重要。 相比之下,层次分类方法主要关心精细级别的准确性,所有其他语义尺度仅用于辅助监督(在最终分类层之前的前几层)。
此外,层次数据结构不是 DyML 的先决条件。 我们在层次结构中组织多个语义尺度主要是为了效率考虑。