你好,感谢作者的算法思想,但我对您的算法实现有些疑问
(最开始我用的是罗浩的python版本,他告诉我完全按您的matlab版本复现的)
https://github.com/zhunzhong07/person-re-ranking/blob/master/evaluation/utils/re_ranking.m
-
代码第10行
original_dist = original_dist./ repmat(max(original_dist, [], 2), 1, size(original_dist, 2));
对距离矩阵如此处理的目的是什么?处理后,距离矩阵已经不是对称的了,并且转置后每一行的元素放缩的scale都不同
-
代码6行
[~, initial_rank] = sort(original_dist, 2, 'ascend');
对整个query和gallery进行排序,会出现查询样本的k1互近邻中出现查询集样本,这和论文并不一致
另外我试了一下按论文思想,每次只传入1个query进行reranking的方法,这样可能会影响了query expansion,但结果似乎大部分情况都会比现在稍好一些(只是太慢)
-
代码第31行
V(i, k_reciprocal_expansion_index) = weight/sum(weight);
求每个样本的reci-feature, 最终除以了负指数的和,这和论文中也不相同
-
代码第63行
jaccard_dist(i, :) = bsxfun(@minus, 1, temp_min./(2 - temp_min));
这个距离的计算,好似和论文中计算方法并不等价?
想问一下,这几个地方算法实现的思路是什么?
你好,感谢作者的算法思想,但我对您的算法实现有些疑问
(最开始我用的是罗浩的python版本,他告诉我完全按您的matlab版本复现的)
https://github.com/zhunzhong07/person-re-ranking/blob/master/evaluation/utils/re_ranking.m
代码第10行
original_dist = original_dist./ repmat(max(original_dist, [], 2), 1, size(original_dist, 2));对距离矩阵如此处理的目的是什么?处理后,距离矩阵已经不是对称的了,并且转置后每一行的元素放缩的scale都不同
代码6行
[~, initial_rank] = sort(original_dist, 2, 'ascend');对整个query和gallery进行排序,会出现查询样本的k1互近邻中出现查询集样本,这和论文并不一致
另外我试了一下按论文思想,每次只传入1个query进行reranking的方法,这样可能会影响了query expansion,但结果似乎大部分情况都会比现在稍好一些(只是太慢)
代码第31行
V(i, k_reciprocal_expansion_index) = weight/sum(weight);求每个样本的reci-feature, 最终除以了负指数的和,这和论文中也不相同
代码第63行
jaccard_dist(i, :) = bsxfun(@minus, 1, temp_min./(2 - temp_min));这个距离的计算,好似和论文中计算方法并不等价?
想问一下,这几个地方算法实现的思路是什么?