def __init__(self, net_flag="vgg"): super(LaneNet, self).__init__() encode_num_blocks = 5 in_channels = [3, 64, 128, 256, 512] out_channels = in_channels[1:] + [512] self._net_flag = net_flag if self._net_flag == 'vgg': self._encoder = vgg_encoder.VGGEncoder(encode_num_blocks, in_channels, out_channels) decode_layers = ["pool5", "pool4", "pool3"] decode_channels = out_channels[:-len(decode_layers) - 1:-1] decode_last_stride = 8 self._decoder = fcn_decoder.FCNDecoder(decode_layers, decode_channels, decode_last_stride) elif self._net_flag == 'sknet': self._encoder = sknet_encoder.SKEncoder() decode_channels = [1024, 512, 256] decode_layers = ["pool3", "pool2", "pool1"] decode_last_stride = 4 self._decoder = fcn_decoder.FCNDecoder(decode_layers, decode_channels, decode_last_stride) self._score_layer = nn.Conv2d(64, 2, 1, bias=False) self._pix_layer = nn.Sequential(nn.Conv2d(64, 3, 1, bias=False), nn.ReLU())
def __init__(self, phase, net_flag='vgg'): """ """ super(LaneNetBinarySeg, self).__init__() self._net_flag = net_flag self._phase = phase if self._net_flag == 'vgg': self._encoder = vgg_encoder.VGG16Encoder(phase=phase) elif self._net_flag == 'dense': self._encoder = dense_encoder.DenseEncoder(l=20, growthrate=8, with_bc=True, phase=self._phase, n=5) self._decoder = fcn_decoder.FCNDecoder() return
def __init__(self, phase, net_flag='vgg'): """ :param phase: :param net_flag: """ super(LaneNetBinarySeg, self).__init__() self._phase = phase self._net_flag = net_flag if net_flag == 'vgg': self._encoder = vgg_encoder.VGG16Encoder(phase=phase) elif net_flag == 'dense': self._encoder = dense_encoder.DenseEncoder(phase=phase, L=20, N=5, growth_rate=8, with_bc=True) self._decoder = fcn_decoder.FCNDecoder()
def __init__(self, phase, net_flag='vgg'): """ """ super(LaneNet, self).__init__() self._net_flag = net_flag self._phase = phase if self._net_flag == 'vgg': # 使用基于VGG16的特征编码类 self._encoder = vgg_encoder.VGG16Encoder(phase=phase) elif self._net_flag == 'dense': self._encoder = dense_encoder.DenseEncoder(l=20, growthrate=8, with_bc=True, phase=phase, n=5) # 确定使用一全卷积网络解码类 self._decoder = fcn_decoder.FCNDecoder(phase=phase) return
def __init__(self, phase, net_flag='vgg'): """ Init for LaneNet class """ super(LaneNet, self).__init__() self._net_flag = net_flag self._phase = phase if self._net_flag.lower() == 'vgg': self._encoder = vgg_encoder.VGG16Encoder(phase=phase) elif self._net_flag.lower() == 'dense': self._encoder = dense_encoder.DenseEncoder(l=20, growthrate=8, with_bc=True, phase=phase, n=5) elif self._net_flag.lower() == 'enet': # Need not encoder and decoder for enet. return self._decoder = fcn_decoder.FCNDecoder(phase=phase) return
def __init__(self, phase, net_flag='vgg'): """ """ super(LaneNet, self).__init__() self._net_flag = net_flag self._phase = phase self._add_coord = coord_conv.AddCoords(CFG.TRAIN.IMG_HEIGHT, CFG.TRAIN.IMG_WIDTH, False) if self._net_flag == 'vgg': self._encoder = vgg_encoder.VGG16Encoder(phase=phase) elif self._net_flag == 'dense': self._encoder = dense_encoder.DenseEncoder(l=20, growthrate=8, with_bc=True, phase=phase, n=5) elif self._net_flag == 'mobile': self._encoder = mobile_encoder.MobielnetV2Encoder(phase=phase) self._decoder = fcn_decoder.FCNDecoder(phase=phase) return