在初步阅读并测试SORT源码中iou_match()函数时,遇到了...
切片操作符,欲对其进行进行调试。
data = [
[
[1,2,3],
[4,5,6],
[7,8,9]
],
[
[1,2,3],
[4,5,6],
[7,8,9]
],
[
[1,2,3],
[4,5,6],
[7,8,9]
]
]
# data = np.array(data) #解决方法
print(data[...,0])
直接上解决方法:list转为numpy数组,方法来源。
另外说明...
的作用:用于表示多维数组的多个冒号。
在iou_match()的代码中,检测框bb_test和跟踪框bb_gt可能是多维数组,例如,如果它们是形状为(N, M, P)的数组,其中N是批量大小,M是边界框的数量,而P是每个边界框的维度(源码中是4,表示x1, y1, x2, y2坐标)。
(注:这里NMP的举例和SORT源码并不相符,不要被误导)
这里的...
操作是为了确保函数能够处理多维输入数组,并正确地沿正确的维度进行操作。具体来说,bb_test[…, 0]和bb_gt[…, 0]分别取出了每个边界框的x坐标,而不仅仅是第一个边界框的x坐标。