diff --git a/models.py b/models.py index 5cd0b865..8414d4e4 100755 --- a/models.py +++ b/models.py @@ -119,16 +119,16 @@ class YOLOLayer(nn.Module): y = torch.sigmoid(p[..., 1]) # Center y # Width and height (yolo method) - # w = p[..., 2] # Width - # h = p[..., 3] # Height - # width = torch.exp(w.data) * self.anchor_w - # height = torch.exp(h.data) * self.anchor_h + w = p[..., 2] # Width + h = p[..., 3] # Height + width = torch.exp(w.data) * self.anchor_w + height = torch.exp(h.data) * self.anchor_h # Width and height (power method) - w = torch.sigmoid(p[..., 2]) # Width - h = torch.sigmoid(p[..., 3]) # Height - width = ((w.data * 2) ** 2) * self.anchor_w - height = ((h.data * 2) ** 2) * self.anchor_h + # w = torch.sigmoid(p[..., 2]) # Width + # h = torch.sigmoid(p[..., 3]) # Height + # width = ((w.data * 2) ** 2) * self.anchor_w + # height = ((h.data * 2) ** 2) * self.anchor_h # Add offset and scale with anchors (in grid space, i.e. 0-13) pred_boxes = FT(bs, self.nA, nG, nG, 4) diff --git a/utils/utils.py b/utils/utils.py index 011cc17a..8eebdc33 100755 --- a/utils/utils.py +++ b/utils/utils.py @@ -263,13 +263,13 @@ def build_targets(pred_boxes, pred_conf, pred_cls, target, anchor_wh, nA, nC, nG tx[b, a, gj, gi] = gx - gi.float() ty[b, a, gj, gi] = gy - gj.float() - # Width and height (power method) - tw[b, a, gj, gi] = torch.sqrt(gw / anchor_wh[a, 0]) / 2 - th[b, a, gj, gi] = torch.sqrt(gh / anchor_wh[a, 1]) / 2 + # Width and height (yolo method) + tw[b, a, gj, gi] = torch.log(gw / anchor_wh[a, 0] + 1e-16) + th[b, a, gj, gi] = torch.log(gh / anchor_wh[a, 1] + 1e-16) - # Width and height (yolov3 method) - # tw[b, a, gj, gi] = torch.log(gw / anchor_wh[a, 0] + 1e-16) - # th[b, a, gj, gi] = torch.log(gh / anchor_wh[a, 1] + 1e-16) + # Width and height (power method) + # tw[b, a, gj, gi] = torch.sqrt(gw / anchor_wh[a, 0]) / 2 + # th[b, a, gj, gi] = torch.sqrt(gh / anchor_wh[a, 1]) / 2 # One-hot encoding of label tcls[b, a, gj, gi, tc] = 1