示例#1
0
 def __init__(self, configer):
     super(FasterRCNN, self).__init__()
     self.configer = configer
     self.backbone, self.classifier = VGGModel(configer)()
     self.rpn = NaiveRPN(configer)
     self.rpn_target_assigner = RPNTargetAssigner(configer)
     self.roi_generator = FRROIGenerator(configer)
     self.roi_sampler = FRROISampler(configer)
     self.bbox_head = BBoxHead(configer, self.classifier)
     self.det_loss = FasterRCNNLoss(self.configer)
示例#2
0
 def __init__(self, configer):
     super(FasterRCNN, self).__init__()
     self.configer = configer
     self.backbone, self.classifier = VGGModel(configer)()
     self.rpn = NaiveRPN(configer)
     self.rpn_target_assigner = RPNTargetAssigner(configer)
     self.roi_generator = FRROIGenerator(configer)
     self.roi_sampler = FRROISampler(configer)
     self.bbox_head = BBoxHead(configer, self.classifier)
     self.valid_loss_dict = configer.get('loss', 'loss_weights', configer.get('loss.loss_type'))
示例#3
0
    def __init__(self, configer):
        self.configer = configer
        self.blob_helper = BlobHelper(configer)
        self.det_visualizer = DetVisualizer(configer)
        self.det_parser = DetParser(configer)
        self.det_model_manager = ModelManager(configer)
        self.test_loader = TestDataLoader(configer)
        self.roi_sampler = FRROISampler(configer)
        self.rpn_target_generator = RPNTargetAssigner(configer)
        self.fr_priorbox_layer = FRPriorBoxLayer(configer)
        self.fr_roi_generator = FRROIGenerator(configer)
        self.device = torch.device('cpu' if self.configer.get('gpu') is None else 'cuda')
        self.det_net = None

        self._init_model()
示例#4
0
    def __init__(self, configer):
        super(FpnRCNN, self).__init__()
        self.configer = configer
        self.backbone = BackboneSelector(configer).get_backbone()
        self.RCNN_layer0 = nn.Sequential(self.backbone.conv1, self.backbone.bn1,
                                         self.backbone.relu, self.backbone.maxpool)
        self.RCNN_layer1 = nn.Sequential(self.backbone.layer1)
        self.RCNN_layer2 = nn.Sequential(self.backbone.layer2)
        self.RCNN_layer3 = nn.Sequential(self.backbone.layer3)
        self.RCNN_layer4 = nn.Sequential(self.backbone.layer4)
        # Top layer
        self.RCNN_toplayer = nn.Conv2d(2048, 256, kernel_size=1, stride=1, padding=0)  # reduce channel

        # Smooth layers
        self.RCNN_smooth1 = nn.Conv2d(256, 256, kernel_size=3, stride=1, padding=1)
        self.RCNN_smooth2 = nn.Conv2d(256, 256, kernel_size=3, stride=1, padding=1)
        self.RCNN_smooth3 = nn.Conv2d(256, 256, kernel_size=3, stride=1, padding=1)

        # Lateral layers
        self.RCNN_latlayer1 = nn.Conv2d(1024, 256, kernel_size=1, stride=1, padding=0)
        self.RCNN_latlayer2 = nn.Conv2d(512, 256, kernel_size=1, stride=1, padding=0)
        self.RCNN_latlayer3 = nn.Conv2d(256, 256, kernel_size=1, stride=1, padding=0)

        # ROI Pool feature downsampling
        self.RCNN_roi_feat_ds = nn.Conv2d(256, 256, kernel_size=3, stride=2, padding=1)

        self.RCNN_top = nn.Sequential(
            nn.Conv2d(256, 1024,
                      kernel_size=self.configer.get('roi', 'pooled_height'),
                      stride=self.configer.get('roi', 'pooled_height'), padding=0),
            nn.ReLU(True),
            nn.Conv2d(1024, 1024, kernel_size=1, stride=1, padding=0),
            nn.ReLU(True)
        )

        self.rpn = NaiveRPN(configer)
        self.roi = FRROIGenerator(configer)
        self.roi_sampler = FRROISampler(configer)
        self.head = RoIHead(configer)