三元组损失是一种被广泛应用的度量学习损失,之后的大量度量学习方法也是基于三元组损失演变而来。
介绍三元组损失需要三张输入图片和对比损失不同。一个输入的三元组(Triplet)包括一对正样本对和一对负样本对。三张图片分别命名为固定图片(Anchor) a ,正样本图片(Positive)p和负样本图片(Negative) n 。图片和图片 为一对正样本对,图片和图片为一对负样本对。则三元组损失表示为:
其中,仍然表示样本之间特征的距离。如下图1所示,三元组可以拉近正样本对之间的距离,推开负样本对之间的距离,最后使得相同ID的行人图片在特征空间里形成聚类,达到行人重识别的目的。
核心思想TriHard损失的核心思想是:对于每一个训练batch,随机挑选 P 个ID的行人,每个行人随机挑选 K 张不同的图片,即一个batch含有 P×K 张图片1。之后对于batch中的每一张图片a ,我们可以挑选一个最难的正样本和一个最难的负样本和a 组成一个三元组。
本词条内容贡献者为:
王慧维 - 副研究员 - 西南大学