Esempio n. 1
0
File: craft.py Progetto: Axrid/CRAFT
 def __init__(self, pretrained=False, freeze=False):
     super(CRAFT, self).__init__()
     
     #basenet
     self.basenet = vgg16_bn(pretrained, freeze)
     
     #U-net
     self.upconv1 = double_conv(1024, 512, 256)
     self.upconv2 = double_conv(512, 256, 128)
     self.upconv3 = double_conv(256, 128, 64)
     self.upconv4 = double_conv(128, 64, 32)
     
     num_class = 2
     self.conv_cls = nn.Sequential(
         nn.Conv2d(32, 32, kernel_size=3, padding=1), nn.ReLU(inplace=True),
         nn.Conv2d(32, 32, kernel_size=3, padding=1), nn.ReLU(inplace=True),
         nn.Conv2d(32, 16, kernel_size=3, padding=1), nn.ReLU(inplace=True),
         nn.Conv2d(16, 16, kernel_size=1), nn.ReLU(inplace=True),
         nn.Conv2d(16, num_class, kernel_size=1),
     )
     
     init_weights(self.upconv1.modules())
     init_weights(self.upconv2.modules())
     init_weights(self.upconv3.modules())
     init_weights(self.upconv4.modules())
     init_weights(self.conv_cls.modules())
Esempio n. 2
0
    def __init__(self, pretrained=True, freeze=False):
        super(Detector, self).__init__()
        """ Base network """
        # self.net = vgg16_bn(pretrained, freeze)
        # self.net.load_state_dict(copyStateDict(torch.load('vgg16_bn-6c64b313.pth')))
        # self.basenet = self.net
        self.basenet = vgg16_bn(pretrained, freeze)
        """ U network """
        self.upconv1 = double_conv(1024, 512, 256)
        self.upconv2 = double_conv(512, 256, 128)
        self.upconv3 = double_conv(256, 128, 64)
        self.upconv4 = double_conv(128, 64, 32)

        num_class = 2
        self.conv_cls = nn.Sequential(
            nn.Conv2d(32, 32, kernel_size=3, padding=1),
            nn.ReLU(inplace=True),
            nn.Conv2d(32, 32, kernel_size=3, padding=1),
            nn.ReLU(inplace=True),
            nn.Conv2d(32, 16, kernel_size=3, padding=1),
            nn.ReLU(inplace=True),
            nn.Conv2d(16, 16, kernel_size=1),
            nn.ReLU(inplace=True),
            nn.Conv2d(16, num_class, kernel_size=1),
        )

        init_weights(self.upconv1.modules())
        init_weights(self.upconv2.modules())
        init_weights(self.upconv3.modules())
        init_weights(self.upconv4.modules())
        init_weights(self.conv_cls.modules())
Esempio n. 3
0
    def __init__(self, pretrained=False, freeze=False):
        super(CRAFT, self).__init__()
        """ Base network """
        self.basenet = vgg16_bn(pretrained, freeze)
        """ U network """
        self.upconv1 = double_conv(1024, 512, 256)
        self.upconv2 = double_conv(512, 256, 128)
        self.upconv3 = double_conv(256, 128, 64)
        self.upconv4 = double_conv(128, 64, 32)

        self.roialign_s16 = ROIAlign((1, 1), 1 / 16, 0)
        self.roialign_s8 = ROIAlign((1, 1), 1 / 8, 0)
        self.roialign_s4 = ROIAlign((1, 1), 1 / 4, 0)
        self.roialign_s2 = ROIAlign((1, 1), 1 / 2, 0)

        num_class = 2
        self.conv_cls = nn.Sequential(
            nn.Conv2d(32, 32, kernel_size=3, padding=1),
            nn.ReLU(inplace=True),
            nn.Conv2d(32, 32, kernel_size=3, padding=1),
            nn.ReLU(inplace=True),
            nn.Conv2d(32, 16, kernel_size=3, padding=1),
            nn.ReLU(inplace=True),
            nn.Conv2d(16, 16, kernel_size=1),
            nn.ReLU(inplace=True),
            nn.Conv2d(16, num_class, kernel_size=1),
        )

        init_weights(self.upconv1.modules())
        init_weights(self.upconv2.modules())
        init_weights(self.upconv3.modules())
        init_weights(self.upconv4.modules())
        init_weights(self.conv_cls.modules())
Esempio n. 4
0
    def init_vgg(self, pretrained, freeze):
        from basenet.vgg16_bn import vgg16_bn
        """ Base network """
        self.basenet = vgg16_bn(pretrained, freeze)
        """ U network """
        self.upconv1 = double_conv(1024, 512, 256)
        self.upconv2 = double_conv(512, 256, 128)
        self.upconv3 = double_conv(256, 128, 64)
        self.upconv4 = double_conv(128, 64, 32)

        return 32
    def __init__(self, pretrained=False, freeze=False):
        super(CRAFT, self).__init__()
        """ Base network """
        self.basenet = vgg16_bn(pretrained, freeze)
        """ U network """
        self.upconv1 = double_conv(1024, 512, 256)
        self.upconv2 = double_conv(512, 256, 128)
        self.upconv3 = double_conv(256, 128, 64)
        self.upconv4 = double_conv(128, 64, 32)

        #num_class = 2
        self.conv_cls = Capsulenet.CapsNet()

        init_weights(self.upconv1.modules())
        init_weights(self.upconv2.modules())
        init_weights(self.upconv3.modules())
        init_weights(self.upconv4.modules())