Пример #1
0
 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())
Пример #2
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())
Пример #3
0
    def __init__(self):
        super(RefineNet, self).__init__()

        self.last_conv = nn.Sequential(
            nn.Conv2d(34, 64, kernel_size=3, padding=1), nn.BatchNorm2d(64),
            nn.ReLU(inplace=True), nn.Conv2d(64, 64, kernel_size=3, padding=1),
            nn.BatchNorm2d(64), nn.ReLU(inplace=True),
            nn.Conv2d(64, 64, kernel_size=3, padding=1), nn.BatchNorm2d(64),
            nn.ReLU(inplace=True))

        self.aspp1 = nn.Sequential(
            nn.Conv2d(64, 128, kernel_size=3, dilation=6, padding=6),
            nn.BatchNorm2d(128), nn.ReLU(inplace=True),
            nn.Conv2d(128, 128, kernel_size=1), nn.BatchNorm2d(128),
            nn.ReLU(inplace=True), nn.Conv2d(128, 1, kernel_size=1))

        self.aspp2 = nn.Sequential(
            nn.Conv2d(64, 128, kernel_size=3, dilation=12, padding=12),
            nn.BatchNorm2d(128), nn.ReLU(inplace=True),
            nn.Conv2d(128, 128, kernel_size=1), nn.BatchNorm2d(128),
            nn.ReLU(inplace=True), nn.Conv2d(128, 1, kernel_size=1))

        self.aspp3 = nn.Sequential(
            nn.Conv2d(64, 128, kernel_size=3, dilation=18, padding=18),
            nn.BatchNorm2d(128), nn.ReLU(inplace=True),
            nn.Conv2d(128, 128, kernel_size=1), nn.BatchNorm2d(128),
            nn.ReLU(inplace=True), nn.Conv2d(128, 1, kernel_size=1))

        self.aspp4 = nn.Sequential(
            nn.Conv2d(64, 128, kernel_size=3, dilation=24, padding=24),
            nn.BatchNorm2d(128), nn.ReLU(inplace=True),
            nn.Conv2d(128, 128, kernel_size=1), nn.BatchNorm2d(128),
            nn.ReLU(inplace=True), nn.Conv2d(128, 1, kernel_size=1))

        init_weights(self.last_conv.modules())
        init_weights(self.aspp1.modules())
        init_weights(self.aspp2.modules())
        init_weights(self.aspp3.modules())
        init_weights(self.aspp4.modules())
    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())