Exemple #1
0
 def __init__(self, cfg, box_coder):
     self.cfg = cfg
     self.cls_loss_func = SigmoidFocalLoss(cfg.MODEL.ATSS.LOSS_GAMMA,
                                           cfg.MODEL.ATSS.LOSS_ALPHA)
     self.centerness_loss_func = nn.BCEWithLogitsLoss(reduction="sum")
     self.matcher = Matcher(cfg.MODEL.ATSS.FG_IOU_THRESHOLD,
                            cfg.MODEL.ATSS.BG_IOU_THRESHOLD, True)
     self.box_coder = box_coder
Exemple #2
0
def make_roi_mask_loss_evaluator(cfg):
    matcher = Matcher(
        cfg.MODEL.ROI_HEADS.FG_IOU_THRESHOLD,
        cfg.MODEL.ROI_HEADS.BG_IOU_THRESHOLD,
        allow_low_quality_matches=False,
    )

    loss_evaluator = MaskRCNNLossComputation(
        matcher, cfg.MODEL.ROI_MASK_HEAD.RESOLUTION)

    return loss_evaluator
Exemple #3
0
def make_rpn_loss_evaluator(cfg, box_coder):
    matcher = Matcher(
        cfg.MODEL.RPN.FG_IOU_THRESHOLD,
        cfg.MODEL.RPN.BG_IOU_THRESHOLD,
        allow_low_quality_matches=True,
    )

    fg_bg_sampler = BalancedPositiveNegativeSampler(
        cfg.MODEL.RPN.BATCH_SIZE_PER_IMAGE, cfg.MODEL.RPN.POSITIVE_FRACTION)

    loss_evaluator = RPNLossComputation(matcher, fg_bg_sampler, box_coder,
                                        generate_rpn_labels)
    return loss_evaluator
 def __init__(self, cfg, box_coder):
     self.cfg = cfg
     if cfg.MODEL.ATSS.CLS_LOSS == 'FOCAL':
         self.cls_loss_func = SigmoidFocalLoss(cfg.MODEL.ATSS.LOSS_GAMMA,
                                               cfg.MODEL.ATSS.LOSS_ALPHA)
     else:
         self.cls_loss_func = SigmoidWarpageLoss(cfg.MODEL.ATSS.LOSS_GAMMA,
                                                 cfg.MODEL.ATSS.LOSS_ALPHA,
                                                 cfg.MODEL.ATSS.LOSS_BETA)
     #self.centerness_loss_func = nn.BCEWithLogitsLoss(reduction="sum")
     self.matcher = Matcher(cfg.MODEL.ATSS.FG_IOU_THRESHOLD,
                            cfg.MODEL.ATSS.BG_IOU_THRESHOLD, True)
     self.box_coder = box_coder
Exemple #5
0
def make_roi_keypoint_loss_evaluator(cfg):
    matcher = Matcher(
        cfg.MODEL.ROI_HEADS.FG_IOU_THRESHOLD,
        cfg.MODEL.ROI_HEADS.BG_IOU_THRESHOLD,
        allow_low_quality_matches=False,
    )
    fg_bg_sampler = BalancedPositiveNegativeSampler(
        cfg.MODEL.ROI_HEADS.BATCH_SIZE_PER_IMAGE,
        cfg.MODEL.ROI_HEADS.POSITIVE_FRACTION)
    resolution = cfg.MODEL.ROI_KEYPOINT_HEAD.RESOLUTION
    loss_evaluator = KeypointRCNNLossComputation(matcher, fg_bg_sampler,
                                                 resolution)
    return loss_evaluator
Exemple #6
0
def make_retinanet_loss_evaluator(cfg, box_coder):
    matcher = Matcher(
        cfg.MODEL.RETINANET.FG_IOU_THRESHOLD,
        cfg.MODEL.RETINANET.BG_IOU_THRESHOLD,
        allow_low_quality_matches=True,
    )
    sigmoid_focal_loss = SigmoidFocalLoss(cfg.MODEL.RETINANET.LOSS_GAMMA,
                                          cfg.MODEL.RETINANET.LOSS_ALPHA)

    loss_evaluator = RetinaNetLossComputation(
        matcher,
        box_coder,
        generate_retinanet_labels,
        sigmoid_focal_loss,
        bbox_reg_beta=cfg.MODEL.RETINANET.BBOX_REG_BETA,
        regress_norm=cfg.MODEL.RETINANET.BBOX_REG_WEIGHT,
    )
    return loss_evaluator
Exemple #7
0
def make_roi_box_loss_evaluator(cfg):
    matcher = Matcher(
        cfg.MODEL.ROI_HEADS.FG_IOU_THRESHOLD,
        cfg.MODEL.ROI_HEADS.BG_IOU_THRESHOLD,
        allow_low_quality_matches=False,
    )

    bbox_reg_weights = cfg.MODEL.ROI_HEADS.BBOX_REG_WEIGHTS
    box_coder = BoxCoder(weights=bbox_reg_weights)

    fg_bg_sampler = BalancedPositiveNegativeSampler(
        cfg.MODEL.ROI_HEADS.BATCH_SIZE_PER_IMAGE,
        cfg.MODEL.ROI_HEADS.POSITIVE_FRACTION)

    cls_agnostic_bbox_reg = cfg.MODEL.CLS_AGNOSTIC_BBOX_REG

    loss_evaluator = FastRCNNLossComputation(matcher, fg_bg_sampler, box_coder,
                                             cls_agnostic_bbox_reg)

    return loss_evaluator
Exemple #8
0
 def __init__(self, cfg, box_coder):
     self.cfg = cfg
     self.cls_loss_func = SigmoidFocalLoss(self.cfg.loss_gamma, self.cfg.loss_alpha)
     self.centerness_loss_func = nn.BCEWithLogitsLoss(reduction="sum")
     self.matcher = Matcher(self.cfg.pos_thre, self.cfg.neg_thre, True)
     self.box_coder = box_coder