def _boxes2delta(self, box, anchor):
"""
box: (x_min, y_min, x_max, y_max)
anchor: (cx, cy, w, h)
"""
# change (x_min, y_min, x_max, y_max) to (cx, cy, w, h)
box_wh = box.clone()
box_wh[:2] = (box[:2] + box[2:]) / 2
box_wh[2:] = box[2:] - box[:2]
box_wh[0::2] *= self.W
box_wh[1::2] *= self.H
# calc (dcx, dcy, dw, dh)
box_delta = box.clone().fill_(0)
box_delta[:2] = box_wh[:2] - anchor[:2]
box_delta[2:] = torch.log(box_wh[2:]/anchor[2:])
return box_delta
评论列表
文章目录