seanzhuh/SeqTR

Seq_in的边界值问题

Closed this issue · 2 comments

作者您好,请教您一个问题:
seq_in[seq_in != self.end].clamp_(min=0, max=self.end-1)
这句code会将目标bbox的左上角和右下角坐标做一个最大最小值的约束,前提是seq_in != self.num_bin (eg: self.end=1000),如果碰到刚好seq_in == self.end的情况该怎么办呢?
即比如seq_in = [806, 59, 1000, 233], self.end=1000, 那么执行上述code时,1000会被过滤掉,不进行约束。同时这是不是就与targets label [X1,Y1,X2,Y2,1000]冲突了,这该怎么解决呢?

麻烦作者有空解答一下,万分感谢!

应该不会出现coordinate == 1000的情况,seqtr/datasets/pipelines/loading.py第111行和112行已经限制框的坐标在[0, 639]之间不会出现640, 所以seqtr/models/heads/seq_head.py 134行(seq / norm_factor * self.num_bin).long() 不会出现1000的值。

感谢作者的解答!