基于度量学习的ReID代码实践

基于度量学习的ReID方法

在这里插入图片描述

度量学习(Metric learning)是广泛用于图像检索领域的一种方法。不同于表征学习,度量学习是希望通过网络学习到两张图片的相似度。在行人重识别问题上,具体为一行人的不同图片的相似度大于不同行人的不同图片。最后的网络的损失函数使得相同行人图片(正样本对)的距离尽可能小,不同行人图片(负样本对)的距离尽可能大。常用的度量学习损失方法有对比损失(Contrastive loss)三元组损失(Triplet loss),四元组损失(Quadruplet loss)、难样本采样三元组损失(TriHard loss)、边界挖掘损失(Margin sample mining loss MSML)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实现度量学习的代码可以有一下几个部分:

  • sample.py: 采样P*K batch的迭代器
  • loss.py: TriHard损失函数代码
  • train_trihard.py:主文件,包含训练测试等代码

Sample.py

  • TriHard loss的核心思想是:对于每一个训练batch,挑选P个ID的行人,每个行人随机挑选K张不同的图片,即一个batch含有P*K张图片。之后对于batch中的每一张图片a,我们可以挑选一个最难的正样本和一个最难的负样本和a组成一个三元组。首先我们定义和a相同ID的图片集为A,剩下不同ID的图片集为B,则TriHard损失表示为:
  • 在这里插入图片描述

Loss.py

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值