JackWoo0831 / Easier_To_Use_TrackEval

Given TrackEval to write a little bit complicated, could not too friendly for beginners, so I want to a simple optimization makes it easier to evaluate custom data sets
MIT License
23 stars 0 forks source link

跟踪指标异常 #13

Open sunshinewxx opened 2 weeks ago

sunshinewxx commented 2 weeks ago

您好,我用strongsort跟踪算法在visdroneMOT的测试集计算行人、car、truck、van、bus 5类跟踪指标(用您的代码将gt文件分为有效类、无效类),得到的MOTA、MODA等指标在某些测试序列为负值,这是否正常?感谢回复! 2024-06-29 11-33-55 的屏幕截图

JackWoo0831 commented 2 weeks ago

呃,,其实不是很正常,你的检测器用的什么呀?检测精度(mAP)是多少

sunshinewxx commented 2 weeks ago

您好,是哪里不正常呢?我检测器用的是yolov10s在visdroneDET训练的,map在visdroneMOT测试集上行人、car、van、truck、bus为41.1%、79.8%、50%62.5%、62.6%

JackWoo0831 commented 2 weeks ago

看检测效果非常不错呀,你跟踪的时候,检测候选的筛选阈值是多少?可以把这个阈值调一下,看看有没有变化

sunshinewxx commented 2 weeks ago

您说的检测候选的筛选阈值是指什么呢?是指下图计算跟踪指标的THRESHOLD :0.5吗? 2024-06-29 15-35-37 的屏幕截图

JackWoo0831 commented 2 weeks ago

不是,是一般在跟踪器的代码中,需要对检测器给出的检测做筛选: 例如bytetrack中的self.args.track_thresh

def update(self,  output_results, curr_img = None):
        self.frame_id += 1
        activated_starcks = []
        refind_stracks = []
        lost_stracks = []
        removed_stracks = []
        # current detections
        bboxes = output_results.pred_boxes.tensor.cpu().numpy()# x1y1x2y2 
        scores = output_results.scores.cpu().numpy()

        remain_inds = scores > self.args.track_thresh
        inds_low = scores > 0.1
        inds_high = scores < self.args.track_thresh
sunshinewxx commented 2 weeks ago

感谢回复,我再仔细实验一下~