layumi / AICIty-reID-2020

:red_car: The 1st Place Submission to AICity Challenge 2020 re-id track (Baidu-UTS submission)
MIT License
449 stars 110 forks source link

请教楼主score得分的理解 #17

Open Kang9779 opened 4 years ago

Kang9779 commented 4 years ago

楼主,你好,刚开始入门reid,看了你的代码,最后的评估evaluate_result中的score是算的两个特征矩阵乘积,score = torch.mm(query_feature, torch.transpose( gallery_feature, 0, 1)),不是很理解,一个query的feature与gallery的features做度量,为什么要用乘法呀?求指教

layumi commented 4 years ago

用的是cosine similarity。 两个特征都norm过,类似vector 的夹角。 方向接近,夹角小,similarity高。

Kang9779 commented 4 years ago

用的是cosine similarity。 两个特征都norm过,类似vector 的夹角。 方向接近,夹角小,similarity高。

哦哦,明白了,感谢回复。刚开始也在想是不是在算余弦距离。另外想再问一下,test_2020.py中得到了query_label和gallery_label 保存到mat文件中了,在evaluate_gpu.py中,query_cam = result['query_cam'][0] query_label = result['query_label'][0] gallery_cam = result['gallery_cam'][0] gallery_label = result['gallery_label'][0] 取出label标签的时候,为啥要取[0],这不是只是取了一个元素id吗?

layumi commented 4 years ago

我记得是因为读出来是dict 所以要取一下第一个value

Kang9779 commented 4 years ago

我记得是因为读出来是dict 所以要取一下第一个value

哦哦,那可能是scipy的版本不一样。。。我这边是result['query_label']取出来就是直接是label的列表。