The code does not seem to be consistent with the formula given in 3.3
if self.args.with_reid:
emb_dists = matching.embedding_distance(strack_pool, detections) / 2.0#计算特征的cost矩阵
raw_emb_dists = emb_dists.copy()
emb_dists[emb_dists > self.appearance_thresh] = 1.0
emb_dists[ious_dists_mask] = 1.0
dists = np.minimum(ious_dists, emb_dists)#使用矩阵中每个元素的最小值作为成本矩阵C的最终值
(1)the first question is Why should multiply 0.5 in formula 12 ?how 0.5 comes? (2)Another problem is that the code is different from Formula 12, which seems to divide the cosine distance matrix by 2 before comparing the distance (3)The last question is, won't taking the minimum loss effective information?
(1) 0.5 is because the cosine distance is in the range [0, 2] and the 1-IoU is in [0, 1]. (2) Yes, thank you. It is a typo in the paper and will be fixed in the next version. (3) I didn't understand your question, can you ask again in more detail?
@NirAharon thanks for responding to this, but I'm curious what you mean by
cosine distance is in the range [0, 2]
Cosine similarity is [0, 1] and cosine distance is 1 - cosine similarity so it stands to reason the cosine distance range is also [0, 1], or are you using some unique equation for cosine distance?