tensor的一个索引方式:
self.bbox_attrs = 5 + num_classes # 5 =(4+1):框的四个参数(x,y,w,h)+ 框内是否有物体
prediction = input.view(batch_size, len(self.anchors_mask[i]),
self.bbox_attrs, input_height, input_width).permute(0, 1, 3, 4, 2).contiguous()
x = torch.sigmoid(prediction[..., 0]) #sigmoid将调整的范围固定在一个cell(0,1)里
y = torch.sigmoid(prediction[..., 1])
w = prediction[..., 2]
h = prediction[..., 3]
conf = torch.sigmoid(prediction[..., 4])
pred_cls = torch.sigmoid(prediction[..., 5:])
prediction[…, 0] 表示prediction的01234维数的值全取,索引0代表bbox_attrs的第一个位置。相当于二维矩阵的每行的第一个元素。
prediction[:, :, 1]相当于取第三维的第二个元素。
prediction[:, 1]相当于取第二维的第二个元素。
这篇博客探讨了在深度学习目标检测任务中,如何通过索引来解析预测输出。内容涉及tensor的索引方式,例如使用sigmoid激活函数限制框坐标(x, y)的范围,并解释了prediction的不同索引表示的含义,如prediction[...,0]代表边界框的x坐标,prediction[...,4]是置信度等关键信息。
1658

被折叠的 条评论
为什么被折叠?



