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
示例#3
0
    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()
示例#4
0
    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
示例#5
0
 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
示例#6
0
    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