距离度量方法是ReID任务在测试阶段来评价特征与特征之间的距离构建度量矩阵所需的,对于一个ReID任务来说,选用一个好的度量方式,而且和训练的损失可以相互统一,可以为ReID提供很好的性能。
1、Eucildean
欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。假设特征向量A,B,则其计算公式为:
2、Cosine
在机器学习领域中,通常将特征表示为向量的形式,所以在分析两个特征向量之间的相似性时,常用余弦相似度表示。与欧式距离不同的是,欧式距离的大小很容易受到向量长度的影响,而余弦距离只考虑两个生成的向量的夹角,余弦相似度的取值范围是[-1,1],相同两个向量的之间的相似度为1,余弦距离的取值范围是[0,2]。
如果特征向量A,B经过归一化之后,其中余弦距离的计算公式为:
欧式距离和余弦距离之间的关系如下:
3、DSR
DSR方法出自CVPR2018的《Deep Spatial Feature Reconstruction for Partial Person Re-identification: Alignment-free Approach》。
参考博客:https://blog.csdn.net/weixin_40955254/article/details/81011678
由于在检测的过程中,我们很多时候并不可以获得行人的全身图片,大多数行人由于遮挡等原因都是部分的。文章中,作者提出了一种快速准确的方法用来解决这个问题,主要依靠FCN生成固定大小的特征图,同时为了对不同大小的图片进行匹配,文章中还提出了Deep Spatial feature Reconstruction(DSR)的方法来避免这个问题。他把从模型中比较图片的相似度变成了模型提取特征,DSR计算spatial相似度。
传统的匹配方法如图a所示,通过resize行人图片来获得相同的特征。这会让目标变形,丢失已有的特征。利用固定大小的滑窗对图片进行搜索与检索图片进行比较,但是这个方法也存在弊端,当检测图片的大小大于数据集中图片的大小的时候,这个方法就没有办法进行。将图片分为固定大小的part,然后计算part与part之间的相似度,这个办法可行,但是所需要的计算量太大。
其构成如下:
(1)FCN without fully-connected layers
当人们使用CNN网络作为检测器在视觉检测任务重来提取特征的时候,通常需要一个固定大小的图片来进行输入。然而在partial ReID中,因为行人的图片是partial的,他们有着不同的尺寸,而resize有不可避免会导致性能的下降。文中作者提出,之所以需要固定大小的输入,是因为全连接层最后需要输出固定大小的特征向量。因此,在本文的模型中,作者删掉了所有的全连接层只保留了卷基层和池化层。这样FCN就能接收任意尺寸的partial图片作为输入了。模型中最后采取的FCN包含了13个卷基层和五个池化层,最后的输入是跟随输入大小可变的特征图。
(2)Deep Spatial Feature Reconstruction
这部分主要是介绍如何匹配不同大小图片之间的相似度。假定现在给定一对图像,一个是完整的行人图像j,另一个是任意partial的行人图像I。通过FCN提取相应尺寸的特征图 x = conv(I,θ) 和 y = conv(J,θ),θ 是FCN中的参数。x是一个whd的张量,这三个参数分别代表了图像的高度宽度以及通道数。相应的,如下图所示,将x分为N个块Xn,n从1到N,N=wh,每个块的大小是11。相应的Y也是这样分。
然后,每个Xn都可以用Y的现行组合来表示。那就是说,我们尝试在Y中搜索相似的块来重建Xn.因此,我们希望获得Xn的系数Wn和Y相关, w n ∈ R M×1 。又因为Y中只有很少的一部分和X重建相关,所以Wn使用了L1-norm。然后就有了下面这个表达式:
为了实现这个方法,不仅仅要训练模型的权重系数,同时要优化W,所以训练主要分为两步:
步骤一:固定θ,优化W。这一步的目的是求解重建矩阵系数W。
步骤二:固定w,优化θ,为了优化FCN里的参数。
从原理上来看这个方法确实要比直接resize来获得全局特征的方法好些,考虑到多尺度的问题,虽然检索量上去了,但是性能提高了很多。