FairMOT icon indicating copy to clipboard operation
FairMOT copied to clipboard

关于self.nID的问题

Open Sageeeeeee opened this issue 3 years ago • 9 comments

image last_index已经是id总数了,为什么还要加一呢,有什么含义呢

Sageeeeeee avatar Jul 28 '21 10:07 Sageeeeeee

start from 0

zengjie617789 avatar Jul 29 '21 01:07 zengjie617789

从 0 开始

image 从0开始在前面的代码里已经是max_id+1了,如果你运行代码的话会发现,如果你数据集的ID是从0到49,有50个ID,那么这里的self.nID为数据集中id数加1,是51,为什么self.nID数要加一呢

Sageeeeeee avatar Jul 29 '21 02:07 Sageeeeeee

@Sageeeeeee , 不太明白“从0开始在前面的代码里已经是max_id+1了”什么意思, 在label file 里, index是0开始,然后依次累加;计算总的类别数目就是 max_index+1 , 哪有问题? 问什么max_index 加1 前就是50 了?

zengjie617789 avatar Jul 29 '21 02:07 zengjie617789

@Sageeeee,不太明白“从0开始在前面的max_id+1了”什么,在标签文件里,索引0开始,然后累加加;计算总的类别就是max_index+1,哪一个有问题吗?问什么max_index加1前就是50了?

是的,计算总的类别就是max_index+1,所以self.tid_num[ds] = max_index+1,得到的应该就是总的类别数了,在下面的代码中self.nID = int(self.tid_num[ds] + 1)的这里为什么还要加一呢?

Sageeeeeee avatar Jul 29 '21 02:07 Sageeeeeee

@Sageeeee,不太明白“从0开始在前面的什么max_id+1了”,在标签文件里,索引0开始,然后累加加;计算总的类别就是max_index+1,哪一个有问题吗?问什么max_index加1前就是50了?

我的意思是在这个代码里从0开始我是知道的,所以我理解这个代码之前有一次max_index+1,但是我不理解的是,在+1之后应该得到是类别的总数了,但是后来的代码中还有一次+1的行为。

Sageeeeeee avatar Jul 29 '21 02:07 Sageeeeeee

@Sageeeeeee self.nID = int(self.tid_num[ds] + 1) 代码在哪

zengjie617789 avatar Jul 29 '21 02:07 zengjie617789

@Sageeeeeee self.nID = int(self.tid_num[ds] + 1)代码在哪

这个代码是我为了简写自己写的,源代码如第一张图中所示

Sageeeeeee avatar Jul 29 '21 03:07 Sageeeeeee

好像的确这个类别数目比实际数目多一个,不过分类器结果不重要吧;可以反馈一下

zengjie617789 avatar Jul 29 '21 03:07 zengjie617789

是的 我也注意到这个问题了 @ifzhang

Jharry502 avatar Jun 25 '22 08:06 Jharry502