layer { name: "data" type: "Input" top: "data" input_param { shape { dim: 1 dim: 1 dim: 384 dim: 384 } } } layer { name: "data/bn" type: "BatchNorm" bottom: "data" top: "data" param { lr_mult: 0.0 decay_mult: 0.0 } param { lr_mult: 0.0 decay_mult: 0.0 } param { lr_mult: 0.0 decay_mult: 0.0 } } layer { name: "data/bn/scale" type: "Scale" bottom: "data" top: "data" param { lr_mult: 1.0 decay_mult: 0.0 } param { lr_mult: 1.0 decay_mult: 0.0 } scale_param { filler { type: "constant" value: 1.0 } bias_term: true bias_filler { type: "constant" value: 0.0 } } } layer { name: "stage1" type: "Convolution" bottom: "data" top: "stage1" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 1.0 decay_mult: 0.0 } convolution_param { num_output: 24 bias_term: true pad: 1 kernel_size: 3 group: 1 stride: 2 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage1/bn" type: "BatchNorm" bottom: "stage1" top: "stage1" param { lr_mult: 0.0 decay_mult: 0.0 } param { lr_mult: 0.0 decay_mult: 0.0 } param { lr_mult: 0.0 decay_mult: 0.0 } } layer { name: "stage1/bn/scale" type: "Scale" bottom: "stage1" top: "stage1" param { lr_mult: 1.0 decay_mult: 0.0 } param { lr_mult: 1.0 decay_mult: 0.0 } scale_param { filler { type: "constant" value: 1.0 } bias_term: true bias_filler { type: "constant" value: 0.0 } } } layer { name: "stage1/relu" type: "ReLU" bottom: "stage1" top: "stage1" } layer { name: "stage2" type: "Pooling" bottom: "stage1" top: "stage2" pooling_param { pool: MAX kernel_size: 3 stride: 2 pad: 0 } } layer { name: "stage3_1/conv1" type: "Convolution" bottom: "stage2" top: "stage3_1/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 16 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_1/conv1/relu" type: "ReLU" bottom: "stage3_1/conv1" top: "stage3_1/conv1" } layer { name: "stage3_1/conv2" type: "Convolution" bottom: "stage3_1/conv1" top: "stage3_1/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 16 pad: 1 kernel_size: 3 group: 16 stride: 2 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_1/conv3" type: "Convolution" bottom: "stage3_1/conv2" top: "stage3_1/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 64 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_1/relu" type: "ReLU" bottom: "stage3_1/conv3" top: "stage3_1/conv3" } layer { name: "stage3_2/conv1" type: "Convolution" bottom: "stage3_1/conv3" top: "stage3_2/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 16 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_2/conv1/relu" type: "ReLU" bottom: "stage3_2/conv1" top: "stage3_2/conv1" } layer { name: "stage3_2/conv2" type: "Convolution" bottom: "stage3_2/conv1" top: "stage3_2/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 16 pad: 1 kernel_size: 3 group: 16 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_2/conv3" type: "Convolution" bottom: "stage3_2/conv2" top: "stage3_2/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 64 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_2/sum" type: "Eltwise" bottom: "stage3_1/conv3" bottom: "stage3_2/conv3" top: "stage3_2/sum" eltwise_param { operation: SUM } } layer { name: "stage3_2/relu" type: "ReLU" bottom: "stage3_2/sum" top: "stage3_2/sum" } layer { name: "stage3_3/conv1" type: "Convolution" bottom: "stage3_2/sum" top: "stage3_3/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 16 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_3/conv1/relu" type: "ReLU" bottom: "stage3_3/conv1" top: "stage3_3/conv1" } layer { name: "stage3_3/conv2" type: "Convolution" bottom: "stage3_3/conv1" top: "stage3_3/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 16 pad: 1 kernel_size: 3 group: 16 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_3/conv3" type: "Convolution" bottom: "stage3_3/conv2" top: "stage3_3/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 64 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_3/sum" type: "Eltwise" bottom: "stage3_2/sum" bottom: "stage3_3/conv3" top: "stage3_3/sum" eltwise_param { operation: SUM } } layer { name: "stage3_3/relu" type: "ReLU" bottom: "stage3_3/sum" top: "stage3_3/sum" } layer { name: "stage3_4/conv1" type: "Convolution" bottom: "stage3_3/sum" top: "stage3_4/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 16 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_4/conv1/relu" type: "ReLU" bottom: "stage3_4/conv1" top: "stage3_4/conv1" } layer { name: "stage3_4/conv2" type: "Convolution" bottom: "stage3_4/conv1" top: "stage3_4/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 16 pad: 1 kernel_size: 3 group: 16 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_4/conv3" type: "Convolution" bottom: "stage3_4/conv2" top: "stage3_4/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 64 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage3_4/sum" type: "Eltwise" bottom: "stage3_3/sum" bottom: "stage3_4/conv3" top: "stage3_4/sum" eltwise_param { operation: SUM } } layer { name: "stage3_4/relu" type: "ReLU" bottom: "stage3_4/sum" top: "stage3_4/sum" } layer { name: "stage4_1/conv1" type: "Convolution" bottom: "stage3_4/sum" top: "stage4_1/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_1/conv1/relu" type: "ReLU" bottom: "stage4_1/conv1" top: "stage4_1/conv1" } layer { name: "stage4_1/conv2" type: "Convolution" bottom: "stage4_1/conv1" top: "stage4_1/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 1 kernel_size: 3 group: 32 stride: 2 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_1/conv3" type: "Convolution" bottom: "stage4_1/conv2" top: "stage4_1/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_1/relu" type: "ReLU" bottom: "stage4_1/conv3" top: "stage4_1/conv3" } layer { name: "stage4_2/conv1" type: "Convolution" bottom: "stage4_1/conv3" top: "stage4_2/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_2/conv1/relu" type: "ReLU" bottom: "stage4_2/conv1" top: "stage4_2/conv1" } layer { name: "stage4_2/conv2" type: "Convolution" bottom: "stage4_2/conv1" top: "stage4_2/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 1 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_2/conv3" type: "Convolution" bottom: "stage4_2/conv2" top: "stage4_2/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_2/sum" type: "Eltwise" bottom: "stage4_1/conv3" bottom: "stage4_2/conv3" top: "stage4_2/sum" eltwise_param { operation: SUM } } layer { name: "stage4_2/relu" type: "ReLU" bottom: "stage4_2/sum" top: "stage4_2/sum" } layer { name: "stage4_3/conv1" type: "Convolution" bottom: "stage4_2/sum" top: "stage4_3/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_3/conv1/relu" type: "ReLU" bottom: "stage4_3/conv1" top: "stage4_3/conv1" } layer { name: "stage4_3/conv2" type: "Convolution" bottom: "stage4_3/conv1" top: "stage4_3/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 1 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_3/conv3" type: "Convolution" bottom: "stage4_3/conv2" top: "stage4_3/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_3/sum" type: "Eltwise" bottom: "stage4_2/sum" bottom: "stage4_3/conv3" top: "stage4_3/sum" eltwise_param { operation: SUM } } layer { name: "stage4_3/relu" type: "ReLU" bottom: "stage4_3/sum" top: "stage4_3/sum" } layer { name: "stage4_4/conv1" type: "Convolution" bottom: "stage4_3/sum" top: "stage4_4/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_4/conv1/relu" type: "ReLU" bottom: "stage4_4/conv1" top: "stage4_4/conv1" } layer { name: "stage4_4/conv2" type: "Convolution" bottom: "stage4_4/conv1" top: "stage4_4/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 1 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_4/conv3" type: "Convolution" bottom: "stage4_4/conv2" top: "stage4_4/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_4/sum" type: "Eltwise" bottom: "stage4_3/sum" bottom: "stage4_4/conv3" top: "stage4_4/sum" eltwise_param { operation: SUM } } layer { name: "stage4_4/relu" type: "ReLU" bottom: "stage4_4/sum" top: "stage4_4/sum" } layer { name: "stage4_5/conv1" type: "Convolution" bottom: "stage4_4/sum" top: "stage4_5/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_5/conv1/relu" type: "ReLU" bottom: "stage4_5/conv1" top: "stage4_5/conv1" } layer { name: "stage4_5/conv2" type: "Convolution" bottom: "stage4_5/conv1" top: "stage4_5/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 1 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_5/conv3" type: "Convolution" bottom: "stage4_5/conv2" top: "stage4_5/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_5/sum" type: "Eltwise" bottom: "stage4_4/sum" bottom: "stage4_5/conv3" top: "stage4_5/sum" eltwise_param { operation: SUM } } layer { name: "stage4_5/relu" type: "ReLU" bottom: "stage4_5/sum" top: "stage4_5/sum" } layer { name: "stage4_6/conv1" type: "Convolution" bottom: "stage4_5/sum" top: "stage4_6/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_6/conv1/relu" type: "ReLU" bottom: "stage4_6/conv1" top: "stage4_6/conv1" } layer { name: "stage4_6/conv2" type: "Convolution" bottom: "stage4_6/conv1" top: "stage4_6/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 1 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_6/conv3" type: "Convolution" bottom: "stage4_6/conv2" top: "stage4_6/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_6/sum" type: "Eltwise" bottom: "stage4_5/sum" bottom: "stage4_6/conv3" top: "stage4_6/sum" eltwise_param { operation: SUM } } layer { name: "stage4_6/relu" type: "ReLU" bottom: "stage4_6/sum" top: "stage4_6/sum" } layer { name: "stage4_7/conv1" type: "Convolution" bottom: "stage4_6/sum" top: "stage4_7/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_7/conv1/relu" type: "ReLU" bottom: "stage4_7/conv1" top: "stage4_7/conv1" } layer { name: "stage4_7/conv2" type: "Convolution" bottom: "stage4_7/conv1" top: "stage4_7/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 1 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_7/conv3" type: "Convolution" bottom: "stage4_7/conv2" top: "stage4_7/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_7/sum" type: "Eltwise" bottom: "stage4_6/sum" bottom: "stage4_7/conv3" top: "stage4_7/sum" eltwise_param { operation: SUM } } layer { name: "stage4_7/relu" type: "ReLU" bottom: "stage4_7/sum" top: "stage4_7/sum" } layer { name: "stage4_8/conv1" type: "Convolution" bottom: "stage4_7/sum" top: "stage4_8/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_8/conv1/relu" type: "ReLU" bottom: "stage4_8/conv1" top: "stage4_8/conv1" } layer { name: "stage4_8/conv2" type: "Convolution" bottom: "stage4_8/conv1" top: "stage4_8/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 1 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_8/conv3" type: "Convolution" bottom: "stage4_8/conv2" top: "stage4_8/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage4_8/sum" type: "Eltwise" bottom: "stage4_7/sum" bottom: "stage4_8/conv3" top: "stage4_8/sum" eltwise_param { operation: SUM } } layer { name: "stage4_8/relu" type: "ReLU" bottom: "stage4_8/sum" top: "stage4_8/sum" } layer { name: "stage5_1/conv1" type: "Convolution" bottom: "stage4_8/sum" top: "stage5_1/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage5_1/conv1/relu" type: "ReLU" bottom: "stage5_1/conv1" top: "stage5_1/conv1" } layer { name: "stage5_1/conv2" type: "Convolution" bottom: "stage5_1/conv1" top: "stage5_1/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 2 kernel_size: 3 group: 32 stride: 2 weight_filler { type: "msra" } dilation: 2 } } layer { name: "stage5_1/conv3" type: "Convolution" bottom: "stage5_1/conv2" top: "stage5_1/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage5_1/relu" type: "ReLU" bottom: "stage5_1/conv3" top: "stage5_1/conv3" } layer { name: "stage5_2/conv1" type: "Convolution" bottom: "stage5_1/conv3" top: "stage5_2/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage5_2/conv1/relu" type: "ReLU" bottom: "stage5_2/conv1" top: "stage5_2/conv1" } layer { name: "stage5_2/conv2" type: "Convolution" bottom: "stage5_2/conv1" top: "stage5_2/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 2 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 2 } } layer { name: "stage5_2/conv3" type: "Convolution" bottom: "stage5_2/conv2" top: "stage5_2/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage5_2/sum" type: "Eltwise" bottom: "stage5_1/conv3" bottom: "stage5_2/conv3" top: "stage5_2/sum" eltwise_param { operation: SUM } } layer { name: "stage5_2/relu" type: "ReLU" bottom: "stage5_2/sum" top: "stage5_2/sum" } layer { name: "stage5_3/conv1" type: "Convolution" bottom: "stage5_2/sum" top: "stage5_3/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage5_3/conv1/relu" type: "ReLU" bottom: "stage5_3/conv1" top: "stage5_3/conv1" } layer { name: "stage5_3/conv2" type: "Convolution" bottom: "stage5_3/conv1" top: "stage5_3/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 2 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 2 } } layer { name: "stage5_3/conv3" type: "Convolution" bottom: "stage5_3/conv2" top: "stage5_3/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage5_3/sum" type: "Eltwise" bottom: "stage5_2/sum" bottom: "stage5_3/conv3" top: "stage5_3/sum" eltwise_param { operation: SUM } } layer { name: "stage5_3/relu" type: "ReLU" bottom: "stage5_3/sum" top: "stage5_3/sum" } layer { name: "stage5_4/conv1" type: "Convolution" bottom: "stage5_3/sum" top: "stage5_4/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage5_4/conv1/relu" type: "ReLU" bottom: "stage5_4/conv1" top: "stage5_4/conv1" } layer { name: "stage5_4/conv2" type: "Convolution" bottom: "stage5_4/conv1" top: "stage5_4/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 2 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 2 } } layer { name: "stage5_4/conv3" type: "Convolution" bottom: "stage5_4/conv2" top: "stage5_4/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage5_4/sum" type: "Eltwise" bottom: "stage5_3/sum" bottom: "stage5_4/conv3" top: "stage5_4/sum" eltwise_param { operation: SUM } } layer { name: "stage5_4/relu" type: "ReLU" bottom: "stage5_4/sum" top: "stage5_4/sum" } layer { name: "stage6_1/conv4" type: "Convolution" bottom: "stage5_4/sum" top: "stage6_1/conv4" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage6_1/conv1" type: "Convolution" bottom: "stage5_4/sum" top: "stage6_1/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage6_1/conv1/relu" type: "ReLU" bottom: "stage6_1/conv1" top: "stage6_1/conv1" } layer { name: "stage6_1/conv2" type: "Convolution" bottom: "stage6_1/conv1" top: "stage6_1/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 2 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 2 } } layer { name: "stage6_1/conv3" type: "Convolution" bottom: "stage6_1/conv2" top: "stage6_1/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage6_1/sum" type: "Eltwise" bottom: "stage6_1/conv4" bottom: "stage6_1/conv3" top: "stage6_1/sum" eltwise_param { operation: SUM } } layer { name: "stage6_1/relu" type: "ReLU" bottom: "stage6_1/sum" top: "stage6_1/sum" } layer { name: "stage6_2/conv1" type: "Convolution" bottom: "stage6_1/sum" top: "stage6_2/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage6_2/conv1/relu" type: "ReLU" bottom: "stage6_2/conv1" top: "stage6_2/conv1" } layer { name: "stage6_2/conv2" type: "Convolution" bottom: "stage6_2/conv1" top: "stage6_2/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 2 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 2 } } layer { name: "stage6_2/conv3" type: "Convolution" bottom: "stage6_2/conv2" top: "stage6_2/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage6_2/sum" type: "Eltwise" bottom: "stage6_1/sum" bottom: "stage6_2/conv3" top: "stage6_2/sum" eltwise_param { operation: SUM } } layer { name: "stage6_2/relu" type: "ReLU" bottom: "stage6_2/sum" top: "stage6_2/sum" } layer { name: "stage7_1/conv4" type: "Convolution" bottom: "stage6_2/sum" top: "stage7_1/conv4" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage7_1/conv1" type: "Convolution" bottom: "stage6_2/sum" top: "stage7_1/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage7_1/conv1/relu" type: "ReLU" bottom: "stage7_1/conv1" top: "stage7_1/conv1" } layer { name: "stage7_1/conv2" type: "Convolution" bottom: "stage7_1/conv1" top: "stage7_1/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 2 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 2 } } layer { name: "stage7_1/conv3" type: "Convolution" bottom: "stage7_1/conv2" top: "stage7_1/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage7_1/sum" type: "Eltwise" bottom: "stage7_1/conv4" bottom: "stage7_1/conv3" top: "stage7_1/sum" eltwise_param { operation: SUM } } layer { name: "stage7_1/relu" type: "ReLU" bottom: "stage7_1/sum" top: "stage7_1/sum" } layer { name: "stage7_2/conv1" type: "Convolution" bottom: "stage7_1/sum" top: "stage7_2/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage7_2/conv1/relu" type: "ReLU" bottom: "stage7_2/conv1" top: "stage7_2/conv1" } layer { name: "stage7_2/conv2" type: "Convolution" bottom: "stage7_2/conv1" top: "stage7_2/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 2 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 2 } } layer { name: "stage7_2/conv3" type: "Convolution" bottom: "stage7_2/conv2" top: "stage7_2/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage7_2/sum" type: "Eltwise" bottom: "stage7_1/sum" bottom: "stage7_2/conv3" top: "stage7_2/sum" eltwise_param { operation: SUM } } layer { name: "stage7_2/relu" type: "ReLU" bottom: "stage7_2/sum" top: "stage7_2/sum" } layer { name: "stage8_1/conv4" type: "Convolution" bottom: "stage7_2/sum" top: "stage8_1/conv4" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage8_1/conv1" type: "Convolution" bottom: "stage7_2/sum" top: "stage8_1/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage8_1/conv1/relu" type: "ReLU" bottom: "stage8_1/conv1" top: "stage8_1/conv1" } layer { name: "stage8_1/conv2" type: "Convolution" bottom: "stage8_1/conv1" top: "stage8_1/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 2 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 2 } } layer { name: "stage8_1/conv3" type: "Convolution" bottom: "stage8_1/conv2" top: "stage8_1/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage8_1/sum" type: "Eltwise" bottom: "stage8_1/conv4" bottom: "stage8_1/conv3" top: "stage8_1/sum" eltwise_param { operation: SUM } } layer { name: "stage8_1/relu" type: "ReLU" bottom: "stage8_1/sum" top: "stage8_1/sum" } layer { name: "stage8_2/conv1" type: "Convolution" bottom: "stage8_1/sum" top: "stage8_2/conv1" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage8_2/conv1/relu" type: "ReLU" bottom: "stage8_2/conv1" top: "stage8_2/conv1" } layer { name: "stage8_2/conv2" type: "Convolution" bottom: "stage8_2/conv1" top: "stage8_2/conv2" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 32 pad: 2 kernel_size: 3 group: 32 stride: 1 weight_filler { type: "msra" } dilation: 2 } } layer { name: "stage8_2/conv3" type: "Convolution" bottom: "stage8_2/conv2" top: "stage8_2/conv3" param { lr_mult: 1.0 decay_mult: 1.0 } convolution_param { num_output: 128 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "stage8_2/sum" type: "Eltwise" bottom: "stage8_1/sum" bottom: "stage8_2/conv3" top: "stage8_2/sum" eltwise_param { operation: SUM } } layer { name: "stage8_2/relu" type: "ReLU" bottom: "stage8_2/sum" top: "stage8_2/sum" } layer { name: "cls1/conv" type: "Convolution" bottom: "stage4_8/sum" top: "cls1/conv" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 1.0 decay_mult: 0.0 } convolution_param { num_output: 12 bias_term: true pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "cls1/permute" type: "Permute" bottom: "cls1/conv" top: "cls1/permute" permute_param { order: 0 order: 2 order: 3 order: 1 } } layer { name: "cls1/flatten" type: "Flatten" bottom: "cls1/permute" top: "cls1/flatten" flatten_param { axis: 1 } } layer { name: "loc1/conv" type: "Convolution" bottom: "stage4_8/sum" top: "loc1/conv" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 1.0 decay_mult: 0.0 } convolution_param { num_output: 24 bias_term: true pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "loc1/permute" type: "Permute" bottom: "loc1/conv" top: "loc1/permute" permute_param { order: 0 order: 2 order: 3 order: 1 } } layer { name: "loc1/flatten" type: "Flatten" bottom: "loc1/permute" top: "loc1/flatten" flatten_param { axis: 1 } } layer { name: "stage4_8/sum/prior_box" type: "PriorBox" bottom: "stage4_8/sum" bottom: "data" top: "stage4_8/sum/prior_box" prior_box_param { min_size: 50.0 max_size: 100.0 aspect_ratio: 2.0 aspect_ratio: 0.5 aspect_ratio: 3.0 aspect_ratio: 0.3333333432674408 flip: false clip: false variance: 0.10000000149011612 variance: 0.10000000149011612 variance: 0.20000000298023224 variance: 0.20000000298023224 step: 16.0 } } layer { name: "cls2/conv" type: "Convolution" bottom: "stage5_4/sum" top: "cls2/conv" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 1.0 decay_mult: 0.0 } convolution_param { num_output: 12 bias_term: true pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "cls2/permute" type: "Permute" bottom: "cls2/conv" top: "cls2/permute" permute_param { order: 0 order: 2 order: 3 order: 1 } } layer { name: "cls2/flatten" type: "Flatten" bottom: "cls2/permute" top: "cls2/flatten" flatten_param { axis: 1 } } layer { name: "loc2/conv" type: "Convolution" bottom: "stage5_4/sum" top: "loc2/conv" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 1.0 decay_mult: 0.0 } convolution_param { num_output: 24 bias_term: true pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "loc2/permute" type: "Permute" bottom: "loc2/conv" top: "loc2/permute" permute_param { order: 0 order: 2 order: 3 order: 1 } } layer { name: "loc2/flatten" type: "Flatten" bottom: "loc2/permute" top: "loc2/flatten" flatten_param { axis: 1 } } layer { name: "stage5_4/sum/prior_box" type: "PriorBox" bottom: "stage5_4/sum" bottom: "data" top: "stage5_4/sum/prior_box" prior_box_param { min_size: 100.0 max_size: 150.0 aspect_ratio: 2.0 aspect_ratio: 0.5 aspect_ratio: 3.0 aspect_ratio: 0.3333333432674408 flip: false clip: false variance: 0.10000000149011612 variance: 0.10000000149011612 variance: 0.20000000298023224 variance: 0.20000000298023224 step: 32.0 } } layer { name: "cls3/conv" type: "Convolution" bottom: "stage6_2/sum" top: "cls3/conv" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 1.0 decay_mult: 0.0 } convolution_param { num_output: 12 bias_term: true pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "cls3/permute" type: "Permute" bottom: "cls3/conv" top: "cls3/permute" permute_param { order: 0 order: 2 order: 3 order: 1 } } layer { name: "cls3/flatten" type: "Flatten" bottom: "cls3/permute" top: "cls3/flatten" flatten_param { axis: 1 } } layer { name: "loc3/conv" type: "Convolution" bottom: "stage6_2/sum" top: "loc3/conv" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 1.0 decay_mult: 0.0 } convolution_param { num_output: 24 bias_term: true pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "loc3/permute" type: "Permute" bottom: "loc3/conv" top: "loc3/permute" permute_param { order: 0 order: 2 order: 3 order: 1 } } layer { name: "loc3/flatten" type: "Flatten" bottom: "loc3/permute" top: "loc3/flatten" flatten_param { axis: 1 } } layer { name: "stage6_2/sum/prior_box" type: "PriorBox" bottom: "stage6_2/sum" bottom: "data" top: "stage6_2/sum/prior_box" prior_box_param { min_size: 150.0 max_size: 200.0 aspect_ratio: 2.0 aspect_ratio: 0.5 aspect_ratio: 3.0 aspect_ratio: 0.3333333432674408 flip: false clip: false variance: 0.10000000149011612 variance: 0.10000000149011612 variance: 0.20000000298023224 variance: 0.20000000298023224 step: 32.0 } } layer { name: "cls4/conv" type: "Convolution" bottom: "stage7_2/sum" top: "cls4/conv" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 1.0 decay_mult: 0.0 } convolution_param { num_output: 12 bias_term: true pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "cls4/permute" type: "Permute" bottom: "cls4/conv" top: "cls4/permute" permute_param { order: 0 order: 2 order: 3 order: 1 } } layer { name: "cls4/flatten" type: "Flatten" bottom: "cls4/permute" top: "cls4/flatten" flatten_param { axis: 1 } } layer { name: "loc4/conv" type: "Convolution" bottom: "stage7_2/sum" top: "loc4/conv" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 1.0 decay_mult: 0.0 } convolution_param { num_output: 24 bias_term: true pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "loc4/permute" type: "Permute" bottom: "loc4/conv" top: "loc4/permute" permute_param { order: 0 order: 2 order: 3 order: 1 } } layer { name: "loc4/flatten" type: "Flatten" bottom: "loc4/permute" top: "loc4/flatten" flatten_param { axis: 1 } } layer { name: "stage7_2/sum/prior_box" type: "PriorBox" bottom: "stage7_2/sum" bottom: "data" top: "stage7_2/sum/prior_box" prior_box_param { min_size: 200.0 max_size: 300.0 aspect_ratio: 2.0 aspect_ratio: 0.5 aspect_ratio: 3.0 aspect_ratio: 0.3333333432674408 flip: false clip: false variance: 0.10000000149011612 variance: 0.10000000149011612 variance: 0.20000000298023224 variance: 0.20000000298023224 step: 32.0 } } layer { name: "cls5/conv" type: "Convolution" bottom: "stage8_2/sum" top: "cls5/conv" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 1.0 decay_mult: 0.0 } convolution_param { num_output: 12 bias_term: true pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "cls5/permute" type: "Permute" bottom: "cls5/conv" top: "cls5/permute" permute_param { order: 0 order: 2 order: 3 order: 1 } } layer { name: "cls5/flatten" type: "Flatten" bottom: "cls5/permute" top: "cls5/flatten" flatten_param { axis: 1 } } layer { name: "loc5/conv" type: "Convolution" bottom: "stage8_2/sum" top: "loc5/conv" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 1.0 decay_mult: 0.0 } convolution_param { num_output: 24 bias_term: true pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } dilation: 1 } } layer { name: "loc5/permute" type: "Permute" bottom: "loc5/conv" top: "loc5/permute" permute_param { order: 0 order: 2 order: 3 order: 1 } } layer { name: "loc5/flatten" type: "Flatten" bottom: "loc5/permute" top: "loc5/flatten" flatten_param { axis: 1 } } layer { name: "stage8_2/sum/prior_box" type: "PriorBox" bottom: "stage8_2/sum" bottom: "data" top: "stage8_2/sum/prior_box" prior_box_param { min_size: 300.0 max_size: 400.0 aspect_ratio: 2.0 aspect_ratio: 0.5 aspect_ratio: 3.0 aspect_ratio: 0.3333333432674408 flip: false clip: false variance: 0.10000000149011612 variance: 0.10000000149011612 variance: 0.20000000298023224 variance: 0.20000000298023224 step: 32.0 } } layer { name: "mbox_conf" type: "Concat" bottom: "cls1/flatten" bottom: "cls2/flatten" bottom: "cls3/flatten" bottom: "cls4/flatten" bottom: "cls5/flatten" top: "mbox_conf" concat_param { axis: 1 } } layer { name: "mbox_loc" type: "Concat" bottom: "loc1/flatten" bottom: "loc2/flatten" bottom: "loc3/flatten" bottom: "loc4/flatten" bottom: "loc5/flatten" top: "mbox_loc" concat_param { axis: 1 } } layer { name: "mbox_priorbox" type: "Concat" bottom: "stage4_8/sum/prior_box" bottom: "stage5_4/sum/prior_box" bottom: "stage6_2/sum/prior_box" bottom: "stage7_2/sum/prior_box" bottom: "stage8_2/sum/prior_box" top: "mbox_priorbox" concat_param { axis: 2 } } layer { name: "mbox_conf_reshape" type: "Reshape" bottom: "mbox_conf" top: "mbox_conf_reshape" reshape_param { shape { dim: 0 dim: -1 dim: 2 } } } layer { name: "mbox_conf_softmax" type: "Softmax" bottom: "mbox_conf_reshape" top: "mbox_conf_softmax" softmax_param { axis: 2 } } layer { name: "mbox_conf_flatten" type: "Flatten" bottom: "mbox_conf_softmax" top: "mbox_conf_flatten" flatten_param { axis: 1 } } layer { name: "detection_output" type: "DetectionOutput" bottom: "mbox_loc" bottom: "mbox_conf_flatten" bottom: "mbox_priorbox" top: "detection_output" detection_output_param { num_classes: 2 share_location: true background_label_id: 0 nms_param { nms_threshold: 0.44999998807907104 top_k: 100 } code_type: CENTER_SIZE keep_top_k: 100 confidence_threshold: 0.20000000298023224 } }