def __init__(self, ver_dim, seg_dim, im_dim, fcdim=256, s8dim=128, s4dim=64, s2dim=32, raw_dim=32): super(ImageEncoder, self).__init__() # Load the pretrained weights, remove avg pool # layer and get the output stride of 8 resnet18_8s = resnet18(fully_conv=True, pretrained=True, output_stride=8, remove_avg_pool_layer=True) self.ver_dim = ver_dim self.seg_dim = seg_dim # Randomly initialize the 1x1 Conv scoring layer resnet18_8s.fc = nn.Sequential( nn.Conv2d(resnet18_8s.inplanes, fcdim, 3, 1, 1, bias=False), nn.BatchNorm2d(fcdim), nn.ReLU(True)) resnet18_8s.conv1 = nn.Conv2d(im_dim, 64, kernel_size=7, stride=2, padding=3, bias=False) self.resnet18_8s = resnet18_8s
def __init__(self): super(Resnet18_8s_detector, self).__init__() # Load the pretrained weights, remove avg pool # layer and get the output stride of 8 self.resnet18_8s = resnet18(fully_conv=True, pretrained=True, output_stride=8, remove_avg_pool_layer=True) self.resnet18_8s.fc = nn.Conv2d(self.resnet18_8s.inplanes, 1, 3, 1, 1)
def __init__(self, ver_dim, seg_dim, fcdim=256, s8dim=128, s4dim=64, s2dim=32, raw_dim=32): super(Resnet18_8s, self).__init__() # Load the pretrained weights, remove avg pool # layer and get the output stride of 8 resnet18_8s = resnet18(fully_conv=True, pretrained=True, output_stride=8, remove_avg_pool_layer=True) self.ver_dim = ver_dim self.seg_dim = seg_dim # Randomly initialize the 1x1 Conv scoring layer resnet18_8s.fc = nn.Sequential( nn.Conv2d(resnet18_8s.inplanes, fcdim, 3, 1, 1, bias=False), nn.BatchNorm2d(fcdim), nn.ReLU(True)) self.resnet18_8s = resnet18_8s # x8s->128 self.conv8s = nn.Sequential( nn.Conv2d(128 + fcdim, s8dim, 3, 1, 1, bias=False), nn.BatchNorm2d(s8dim), nn.LeakyReLU(0.1, True)) self.up8sto4s = nn.UpsamplingBilinear2d(scale_factor=2) # x4s->64 self.conv4s = nn.Sequential( nn.Conv2d(64 + s8dim, s4dim, 3, 1, 1, bias=False), nn.BatchNorm2d(s4dim), nn.LeakyReLU(0.1, True)) self.up4sto2s = nn.UpsamplingBilinear2d(scale_factor=2) # x2s->64 self.conv2s = nn.Sequential( nn.Conv2d(64 + s4dim, s2dim, 3, 1, 1, bias=False), nn.BatchNorm2d(s2dim), nn.LeakyReLU(0.1, True)) self.up2storaw = nn.UpsamplingBilinear2d(scale_factor=2) self.convraw = nn.Sequential( nn.Conv2d(3 + s2dim, raw_dim, 3, 1, 1, bias=False), nn.BatchNorm2d(raw_dim), nn.LeakyReLU(0.1, True), nn.Conv2d(raw_dim, seg_dim + ver_dim, 1, 1))
def __init__(self, ver_dim, seg_dim, im_dim, fcdim=256, s8dim=128, s4dim=64, s2dim=32, raw_dim=32, pre_trained=True): super(EstimateEncoder, self).__init__() # Load the pretrained weights, remove avg pool # layer and get the output stride of 8 resnet18_8s = resnet18(fully_conv=True, pretrained=True, output_stride=8, remove_avg_pool_layer=True) self.conv1 = nn.Conv2d(18, 64, kernel_size=7, stride=2, padding=3, bias=False) self.bn1 = nn.BatchNorm2d(64) self.relu = nn.ReLU(inplace=True) self.mpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1) self.l1 = nn.Sequential(*list(resnet18_8s.children())[4:5]) self.l2 = nn.Sequential(*list(resnet18_8s.children())[5:6]) self.l3 = nn.Sequential(*list(resnet18_8s.children())[6:7]) self.l4 = nn.Sequential(*list(resnet18_8s.children())[7:8]) self.apool = nn.AvgPool2d(7) self.fc = nn.Sequential( nn.Conv2d(512, 256, kernel_size=3, stride=1, padding=1, bias=False), nn.BatchNorm2d(256), nn.ReLU(inplace=True)) self.ver_dim = ver_dim self.seg_dim = seg_dim