CaptainEven / MCMOT

Real time one-stage multi-class & multi-object tracking based on anchor-free detection and ReID
MIT License
383 stars 82 forks source link

数据集的追踪ID可以从0开始吗? #36

Closed starsky68 closed 3 years ago

starsky68 commented 3 years ago

@CaptainEven 请问,在labels_with_ids中的追踪的id必须从1开始吗?可以从0开始标吗,如果是从0开始标的,在源码中需要修改下面的的代码吗? if self.opt.id_weight > 0:

@even: 取output feature map的每个(y, x)处的目标类别

                cls_id_map[0][ct_int[1], ct_int[0]] = cls_id  # 1×H×W
                # @even: 记录该类别对应的track ids
                cls_tr_ids[cls_id][ct_int[1]][ct_int[0]] = label[1] -1 # track id从1开始的, 转换成从0开始
                ids[k] = label[1] - 1  # 分类的idx: track id - 1
CaptainEven commented 3 years ago

是的,从1开始还是从0开始都无所谓,只要能对应起来就可以,之所以从1开始是因为有些数据集就是从1开始,所以统一成1,改成0完全可以,修改相关代码即可。

starsky68 commented 3 years ago

是的,从1开始还是从0开始都无所谓,只要能对应起来就可以,之所以从1开始是因为有些数据集就是从1开始,所以统一成1,改成0完全可以,修改相关代码即可。

@CaptainEven 请问loss会出现负数,但是其他的hm_loss,wh_loss,off_loss,id_loss,都是正数,这是因为loss的权重的问题吗?如果原代码中没有错误,请问,这该如何避免那

CaptainEven commented 3 years ago

@参考FairMOT的issue,里面有解答