在目标检测中,通常会出现这个问题:预测出来的结果乘以图像的长和宽后得到在原图像上的框。
例如:
box_pred = np.array([[0.1, 0.2, 0.2, 0.2]])
h, w, c = 256, 512, 3
以前测做法是
box_pred[:, 0] = box_pred[:, 0] * w
...
box_pred[:, 3] = box_pred[:, 3] * h
其实可以这样:
box_pred = box_pred * np.array([w, h, w, h])
即使用numpy的广播原则,可以简化很多代码
甚至,可以省略后一个np.array(),即使用:
box_pred = box_pred * [w, h, w, h]