
摘要
本文从相似性优化的视角出发,探讨深度特征学习,旨在最大化类内相似性 $s_p$,同时最小化类间相似性 $s_n$。我们发现,绝大多数损失函数(包括三元组损失和Softmax结合交叉熵损失)均将 $s_n$ 与 $s_p$ 嵌入相似性对中,并试图最小化 $(s_n - s_p)$。然而,这种优化方式存在灵活性不足的问题,因为对每个相似性得分的惩罚强度被强制设为相等,难以适应不同样本对的优化需求。我们的直觉是:若某相似性得分与最优状态偏离较大,则应给予更强的关注与惩罚。为此,我们提出对每个相似性得分进行简单重加权,以突出那些优化程度较低的得分。这一策略最终导出了一个名为“Circle Loss”的新型损失函数,其名称源于其具有圆形决策边界的特性。Circle Loss为两种基础的深度特征学习范式——基于类别标签的学习与基于成对标签的学习——提供了统一的数学表达形式。理论分析表明,相较于直接优化 $(s_n - s_p)$ 的传统损失函数,Circle Loss能够提供更为灵活的优化路径,并导向更明确的收敛目标。实验结果进一步验证了Circle Loss的优越性,在人脸识别、行人重识别以及多个细粒度图像检索数据集上,其所取得的性能均达到或接近当前最先进的水平。
代码仓库
zhen8838/Circle-Loss
tf
GitHub 中提及
FEIfei-coder/circle-loss-for-reid
pytorch
GitHub 中提及
alibaba/EasyCV
pytorch
qianjinhao/circle-loss
pytorch
GitHub 中提及
XuyangBai/D3Feat
tf
GitHub 中提及
TinyZeaMays/CircleLoss
pytorch
GitHub 中提及
layumi/Person_reID_baseline_pytorch
pytorch
GitHub 中提及
lzx551402/ASLFeat
tf
GitHub 中提及
yujiacheng333/CircleLossMNIST
tf
GitHub 中提及
wujpbb7/caffe_circleloss
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| face-recognition-on-cfp-fp | CircleLoss(ours) | Accuracy: 0.9602 |
| face-recognition-on-lfw | CircleLoss | Accuracy: 0.9973 |
| face-verification-on-ijb-c | circle loss | TAR @ FAR=1e-3: 96.29% TAR @ FAR=1e-4: 93.95% TAR @ FAR=1e-5: 89.60% model: R100 training dataset: MS1M Cleaned |
| metric-learning-on-cars196 | CircleLoss | R@1: 83.4 |
| metric-learning-on-stanford-online-products-1 | Circle Loss | R@1: 78.3 |
| person-re-identification-on-market-1501 | MGN + CircleLoss(ours) | Rank-1: 96.1 mAP: 87.4 |
| person-re-identification-on-market-1501 | ResNet50 + CircleLoss(ours) | Rank-1: 94.2 mAP: 84.9 |
| person-re-identification-on-msmt17 | MGN + CircleLoss(ours) | Rank-1: 76.9 mAP: 52.1 |
| person-re-identification-on-msmt17 | ResNet50 + CircleLoss(ours) | Rank-1: 76.3 mAP: 50.2 |