def __init__(self): super(BaseResNet50, self).__init__() with self.init_scope(): self.conv1 = L.Convolution2D(3, 64, 7, 2, 3) self.bn1 = L.BatchNormalization(64) self.res2 = R.BuildingBlock(3, 64, 64, 256, 1) self.res3 = R.BuildingBlock(4, 256, 128, 512, 2) self.res4 = R.BuildingBlock(6, 512, 256, 1024, 2) self.res5 = R.BuildingBlock(3, 1024, 512, 2048, 2)
def __init__(self, n_class=36, pretrained_model=None, output_scale=1.0): if pretrained_model: # As a sampling process is time-consuming, # we employ a zero initializer for faster computation. kwargs = {'initialW': constant.Zero()} else: print "train resblock : True" # employ default initializers used in the original paper kwargs = {'initialW': normal.HeNormal(scale=1.0)} self.n_class = n_class self.output_scale = output_scale super(DualCenterProposalNetworkRes50FCN, self).__init__( # resnet50 conv1=L.Convolution2D(3, 64, 7, 2, 3, **kwargs), bn1=L.BatchNormalization(64), res2=R.BuildingBlock(3, 64, 64, 256, 1, **kwargs), res3=R.BuildingBlock(4, 256, 128, 512, 2, **kwargs), res4=R.BuildingBlock(6, 512, 256, 1024, 2, **kwargs), res5=R.BuildingBlock(3, 1024, 512, 2048, 2, **kwargs), upscore32=L.Deconvolution2D(2048, 512, 8, stride=4, pad=2), bn_up32=L.BatchNormalization(512), upscore16=L.Deconvolution2D(1024, 512, 4, stride=2, pad=1), bn_up16=L.BatchNormalization(512), concat_conv=L.Convolution2D(512 * 3, 512 * 3, 3, stride=1, pad=1), bn_concat=L.BatchNormalization(512 * 3), score_pool=L.Convolution2D(512 * 3, n_class, 1, stride=1, pad=0), upscore_final=L.Deconvolution2D(self.n_class, self.n_class, 16, stride=8, pad=4), conv_cp1=L.Convolution2D(512 * 3, 1024, 3, stride=1, pad=1), bn_cp1=L.BatchNormalization(1024), # center pose network conv_cp2=L.Convolution2D(1024, 512, 3, stride=1, pad=1), bn_cp2=L.BatchNormalization(512), upscore_cp1=L.Deconvolution2D(512, 16, 8, stride=4, pad=2), bn_cp3=L.BatchNormalization(16), upscore_cp2=L.Deconvolution2D(16, 3, 4, stride=2, pad=1), # origin center pose network conv_ocp2=L.Convolution2D(1024, 512, 3, stride=1, pad=1), bn_ocp2=L.BatchNormalization(512), upscore_ocp1=L.Deconvolution2D(512, 16, 8, stride=4, pad=2), bn_ocp3=L.BatchNormalization(16), upscore_ocp2=L.Deconvolution2D(16, 3, 4, stride=2, pad=1), )
def __init__(self, n_class=36, pretrained_model=None): if pretrained_model: # As a sampling process is time-consuming, # we employ a zero initializer for faster computation. kwargs = {'initialW': constant.Zero()} else: # employ default initializers used in the original paper kwargs = {'initialW': normal.HeNormal(scale=1.0)} self.n_class = n_class super(DepthInvariantNetworkRes50FCN, self).__init__( # resnet50 conv1=L.Convolution2D(3, 64, 7, 2, 3, **kwargs), bn1=L.BatchNormalization(64), res2=R.BuildingBlock(3, 64, 64, 256, 1, **kwargs), # resblock 1/2 -> 1/4 res3=R.BuildingBlock(4, 256, 128, 512, 2, **kwargs), # resblock 1/4 ->1/8 res4=R.BuildingBlock(6, 512, 256, 1024, 2, **kwargs), # resblock 1/8 -> 1/16 res5=R.BuildingBlock(3, 1024, 512, 2048, 2, **kwargs), # resblock 1/16 -> 1/32 upscore1=L.Deconvolution2D(2048, 512, 16, stride=8, pad=4), upscore2=L.Deconvolution2D(1024, 512, 8, stride=4, pad=2), upscore3=L.Deconvolution2D(512, 512, 4, stride=2, pad=1), bn_upscore=L.BatchNormalization(512 * 3), concat_conv=L.Convolution2D(512 * 3, 1024, 3, stride=1, pad=1), pool_roi_conv=L.Convolution2D(1024, 1024, 5, stride=5, pad=0), conv_after_croip=L.Convolution2D(1024, 512, 3, stride=1, pad=1), bn_croip1=L.BatchNormalization(1024), bn_croip2=L.BatchNormalization(512), score_pool=L.Convolution2D(512, n_class, 1, stride=1, pad=0), upscore_final=L.Deconvolution2D(self.n_class, self.n_class, 8, stride=4, pad=2), )
def __init__(self, n_class=36, pretrained_model=None): if pretrained_model: # As a sampling process is time-consuming, # we employ a zero initializer for faster computation. kwargs = {'initialW': constant.Zero()} else: # employ default initializers used in the original paper kwargs = {'initialW': normal.HeNormal(scale=1.0)} self.n_class = n_class super(CenterProposalNetworkRes50FCN, self).__init__( # resnet50 conv1=L.Convolution2D(3, 64, 7, 2, 3, **kwargs), bn1=L.BatchNormalization(64), res2=R.BuildingBlock(3, 64, 64, 256, 1, **kwargs), res3=R.BuildingBlock(4, 256, 128, 512, 2, **kwargs), res4=R.BuildingBlock(6, 512, 256, 1024, 2, **kwargs), res5=R.BuildingBlock(3, 1024, 512, 2048, 2, **kwargs), upscore32=L.Deconvolution2D(2048, 512, 8, stride=4, pad=2, use_cudnn=False), upscore16=L.Deconvolution2D(1024, 512, 4, stride=2, pad=1, use_cudnn=False), concat_conv=L.Convolution2D(512 * 3, 512 * 3, 3, stride=1, pad=1), score_pool=L.Convolution2D(512 * 3, n_class, 1, stride=1, pad=0), cls_pool=L.Convolution2D(512 * 3, 128, 1, stride=1, pad=0), upscore_final=L.Deconvolution2D(self.n_class, self.n_class, 16, stride=8, pad=4, use_cudnn=False), # depth network conv_d1_1=L.Convolution2D(1, 64, 3, stride=1, pad=1), bn_d1_1=L.BatchNormalization(64), conv_d1_2=L.Convolution2D(64, 64, 3, stride=1, pad=1), bn_d1_2=L.BatchNormalization(64), conv_d2=L.Convolution2D(64, 128, 3, stride=1, pad=1), bn_d2=L.BatchNormalization(128), conv_d3=L.Convolution2D(128, 256, 3, stride=1, pad=1), bn_d3=L.BatchNormalization(256), # center pose network conv_cp_1=L.Convolution2D(256 + 512 + 128, 1024, 3, stride=1, pad=1), bn_cp_1=L.BatchNormalization(1024), conv_cp_2=L.Convolution2D(1024, 1024, 3, stride=1, pad=1), bn_cp_2=L.BatchNormalization(1024), upscore_cp1=L.Deconvolution2D(1024, 512, 8, stride=4, pad=2, use_cudnn=False), bn_cp_3=L.BatchNormalization(512), upscore_cp2=L.Deconvolution2D(512, 3, 4, stride=2, pad=1, use_cudnn=False), # rotation network conv_rot_1=L.Convolution2D(256 + 512 + 128, 1024, 3, stride=1, pad=1), bn_rot_1=L.BatchNormalization(1024), conv_rot_2=L.Convolution2D(1024, 1024, 3, stride=1, pad=1), bn_rot_2=L.BatchNormalization(1024), upscore_rot1=L.Deconvolution2D(1024, 512, 8, stride=4, pad=2, use_cudnn=False), bn_rot_3=L.BatchNormalization(512), upscore_rot2=L.Deconvolution2D(512, 5, 4, stride=2, pad=1, use_cudnn=False), )