예제 #1
0
def _compute_targets(ex_rois, gt_rois):
    assert ex_rois.shape[0] == gt_rois.shape[0]
    assert ex_rois.shape[1] == 4
    assert gt_rois.shape[1] == 5

    return bbox_transform(ex_rois, gt_rois[:, :4]).astype(np.float32,
                                                          copy=False)
예제 #2
0
def _compute_targets(ex_rois, gt_rois):
    """Compute bounding-box regression targets for an image."""

    assert ex_rois.shape[0] == gt_rois.shape[0]
    assert ex_rois.shape[1] == 4
    assert gt_rois.shape[1] == 5

    return bbox_transform(ex_rois, gt_rois[:, :4]).astype(np.float32, copy=False)
예제 #3
0
def _compute_targets(ex_rois, gt_rois):
    """Compute bounding-box regression targets for an image.
    gt_rois(shape: [:, 8]): 是label  box:[:4] indx:[4] dis:[5:]
    """

    assert ex_rois.shape[0] == gt_rois.shape[0]
    assert ex_rois.shape[1] == 4
    assert gt_rois.shape[1] == 8

    return bbox_transform(ex_rois, gt_rois[:, :4]).astype(np.float32,
                                                          copy=False)
예제 #4
0
def _compute_targets(anchor_rois, gt_rois):
    """
    Compute bounding box regression targets for an image
    :param anchor_rois <torch.Tensor>:
    :param gt_rois:
    :return:
    """

    assert anchor_rois.shape[0] == gt_rois.shape[0]
    assert anchor_rois.shape[1] == 6
    assert gt_rois.shape[1] == 7

    return bbox_transform(anchor_rois, gt_rois[:, :6])
예제 #5
0
def _compute_targets(anchor_rois, gt_rois):
    """
    Compute bounding box regression targets for an image
    :param anchor_rois <torch.Tensor>:
    :param gt_rois:
    :return:
    """

    assert anchor_rois.shape[0] == gt_rois.shape[0]
    assert anchor_rois.shape[1] == 6
    assert gt_rois.shape[1] == 7

    return bbox_transform(anchor_rois, gt_rois[:,:6])
def _compute_targets(ex_rois, gt_rois, labels):
    """Compute bounding-box regression targets for an image."""

    assert ex_rois.shape[0] == gt_rois.shape[0]
    assert ex_rois.shape[1] == 4
    assert gt_rois.shape[1] == 4

    targets = bbox_transform(ex_rois, gt_rois)
    if cfg.FLAGS.bbox_normalize_targets_precomputed:
        # Optionally normalize targets by a precomputed mean and stdev
        targets = ((targets - np.array(cfg.FLAGS2["bbox_normalize_means"]))
                   / np.array(cfg.FLAGS2["bbox_normalize_stds"]))
    return np.hstack(
        (labels[:, np.newaxis], targets)).astype(np.float32, copy=False)
예제 #7
0
def _compute_targets(ex_rois, gt_rois, labels):
    """
    Compute bounding box regression targets for an image
    Inputs are tensor

    :param ex_rois:
    :param gt_rois:
    :param labels:
    :return:
    """
    assert ex_rois.shape[0] == gt_rois.shape[0]
    assert ex_rois.shape[1] == 6
    assert gt_rois.shape[1] == 6 or gt_rois.shape[1] == 12

    targets = bbox_transform(ex_rois, gt_rois)

    return torch.cat([targets, labels.unsqueeze(1)], 1)
예제 #8
0
def _compute_targets(ex_rois, gt_rois, labels):
    """Compute bounding-box regression targets for an image."""

    assert ex_rois.shape[0] == gt_rois.shape[0]
    assert ex_rois.shape[1] == 4
    assert gt_rois.shape[1] == 4

    targets = bbox_transform(ex_rois, gt_rois)
    # 对bbox偏移量进行归一化操作,扩大了10倍
    if cfg.FLAGS.bbox_normalize_targets_precomputed:  # True
        targets = ((targets - np.array(cfg.FLAGS2["bbox_normalize_means"])
                    )  # (0.0, 0.0, 0.0, 0.0)
                   / np.array(cfg.FLAGS2["bbox_normalize_stds"])
                   )  # (0.1, 0.1, 0.1, 0.1)
    # 将lable拼接到bbox的第一列
    return np.hstack((labels[:, np.newaxis], targets)).astype(np.float32,
                                                              copy=False)
예제 #9
0
def _compute_targets(ex_rois, gt_rois, labels):
    """
    Compute bounding box regression targets for an image
    Inputs are tensor

    :param ex_rois:
    :param gt_rois:
    :param labels:
    :return:
    """
    assert ex_rois.shape[0] == gt_rois.shape[0]
    assert ex_rois.shape[1] == 6
    assert gt_rois.shape[1] == 6 or gt_rois.shape[1] == 12

    targets = bbox_transform(ex_rois, gt_rois)

    return torch.cat([targets, labels.unsqueeze(1)], 1)