-
Notifications
You must be signed in to change notification settings - Fork 0
/
RDS_deploy.prototxt
135 lines (123 loc) · 8.38 KB
/
RDS_deploy.prototxt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: 'RDS'
input: 'data'
input_dim: 1
input_dim: 3
input_dim: 512
input_dim: 512
force_backward: true
layers { bottom: 'data' top: 'conv1_1' name: 'conv1_1' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 64 pad: 35 kernel_size: 3 } }
layers { bottom: 'conv1_1' top: 'conv1_1' name: 'relu1_1' type: RELU }
layers { bottom: 'conv1_1' top: 'conv1_2' name: 'conv1_2' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 64 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv1_2' top: 'conv1_2' name: 'relu1_2' type: RELU }
layers { name: 'pool1' bottom: 'conv1_2' top: 'pool1' type: POOLING
pooling_param { pool: MAX kernel_size: 2 stride: 2 } }
layers { name: 'conv2_1' bottom: 'pool1' top: 'conv2_1' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 128 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv2_1' top: 'conv2_1' name: 'relu2_1' type: RELU }
layers { bottom: 'conv2_1' top: 'conv2_2' name: 'conv2_2' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 128 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv2_2' top: 'conv2_2' name: 'relu2_2' type: RELU }
layers { bottom: 'conv2_2' top: 'pool2' name: 'pool2' type: POOLING
pooling_param { pool: MAX kernel_size: 2 stride: 2 } }
layers { bottom: 'pool2' top: 'conv3_1' name: 'conv3_1' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 256 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv3_1' top: 'conv3_1' name: 'relu3_1' type: RELU }
layers { bottom: 'conv3_1' top: 'conv3_2' name: 'conv3_2' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 256 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv3_2' top: 'conv3_2' name: 'relu3_2' type: RELU }
layers { bottom: 'conv3_2' top: 'conv3_3' name: 'conv3_3' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 256 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv3_3' top: 'conv3_3' name: 'relu3_3' type: RELU }
layers { bottom: 'conv3_3' top: 'pool3' name: 'pool3' type: POOLING
pooling_param { pool: MAX kernel_size: 2 stride: 2 } }
layers { bottom: 'pool3' top: 'conv4_1' name: 'conv4_1' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv4_1' top: 'conv4_1' name: 'relu4_1' type: RELU }
layers { bottom: 'conv4_1' top: 'conv4_2' name: 'conv4_2' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv4_2' top: 'conv4_2' name: 'relu4_2' type: RELU }
layers { bottom: 'conv4_2' top: 'conv4_3' name: 'conv4_3' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv4_3' top: 'conv4_3' name: 'relu4_3' type: RELU }
layers { bottom: 'conv4_3' top: 'pool4' name: 'pool4' type: POOLING
pooling_param { pool: MAX kernel_size: 2 stride: 2 } }
layers { bottom: 'pool4' top: 'conv5_1' name: 'conv5_1' type: CONVOLUTION
blobs_lr: 100 blobs_lr: 200 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv5_1' top: 'conv5_1' name: 'relu5_1' type: RELU }
layers { bottom: 'conv5_1' top: 'conv5_2' name: 'conv5_2' type: CONVOLUTION
blobs_lr: 100 blobs_lr: 200 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv5_2' top: 'conv5_2' name: 'relu5_2' type: RELU }
layers { bottom: 'conv5_2' top: 'conv5_3' name: 'conv5_3' type: CONVOLUTION
blobs_lr: 100 blobs_lr: 200 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv5_3' top: 'conv5_3' name: 'relu5_3' type: RELU }
## DSN conv 1 ###
layers { name: 'score-dsn1' type: CONVOLUTION bottom: 'conv1_2' top: 'score-dsn1-up'
blobs_lr: 0.01 blobs_lr: 0.02 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 } }
layers { type: CROP name: 'crop' bottom: 'score-dsn1-up' bottom: 'data' top: 'upscore-dsn1' }
#layers { type: SIGMOID_CROSS_ENTROPY_LOSS bottom: "upscore-dsn1" bottom: "groundtruth" top:"dsn1_loss" loss_weight: 1}
layers { type: SIGMOID name: 'sigmoid-dsn1' bottom: 'upscore-dsn1' top: 'sigmoid-upscore-dsn1' }
### DSN conv 2 ###
layers { name: 'score-dsn2' type: CONVOLUTION bottom: 'conv2_2' top: 'score-dsn2'
blobs_lr: 0.01 blobs_lr: 0.02 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 } }
layers { type: DECONVOLUTION name: 'upsample_2' bottom: 'score-dsn2' top: 'score-dsn2-up'
blobs_lr: 0 blobs_lr: 0 weight_decay: 1 weight_decay: 0
convolution_param { kernel_size: 4 stride: 2 num_output: 1 } }
layers { type: CROP name: 'crop' bottom: 'score-dsn2-up' bottom: 'data' top: 'upscore-dsn2' }
#layers { type: SIGMOID_CROSS_ENTROPY_LOSS bottom: "upscore-dsn2" bottom: "groundtruth" top:"dsn2_loss" loss_weight: 1}
layers { type: SIGMOID name: 'sigmoid-dsn2' bottom: 'upscore-dsn2' top: 'sigmoid-upscore-dsn2' }
### DSN conv 3 ###
layers { name: 'score-dsn3' type: CONVOLUTION bottom: 'conv3_3' top: 'score-dsn3'
blobs_lr: 0.01 blobs_lr: 0.02 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 } }
layers { type: DECONVOLUTION name: 'upsample_4' bottom: 'score-dsn3' top: 'score-dsn3-up'
blobs_lr: 0 blobs_lr: 0 weight_decay: 1 weight_decay: 0
convolution_param { kernel_size: 8 stride: 4 num_output: 1 } }
layers { type: CROP name: 'crop' bottom: 'score-dsn3-up' bottom: 'data' top: 'upscore-dsn3' }
#layers { type: SIGMOID_CROSS_ENTROPY_LOSS bottom: "upscore-dsn3" bottom: "groundtruth" top:"dsn3_loss" loss_weight: 1}
layers { type: SIGMOID name: 'sigmoid-dsn3' bottom: 'upscore-dsn3' top: 'sigmoid-upscore-dsn3' }
###DSN conv 4###
layers { name: 'score-dsn4' type: CONVOLUTION bottom: 'conv4_3' top: 'score-dsn4'
blobs_lr: 0.01 blobs_lr: 0.02 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 } }
layers { type: DECONVOLUTION name: 'upsample_8' bottom: 'score-dsn4' top: 'score-dsn4-up'
blobs_lr: 0 blobs_lr: 0 weight_decay: 1 weight_decay: 0
convolution_param { kernel_size: 16 stride: 8 num_output: 1 } }
layers { type: CROP name: 'crop' bottom: 'score-dsn4-up' bottom: 'data' top: 'upscore-dsn4' }
#layers { type: SIGMOID_CROSS_ENTROPY_LOSS bottom: "upscore-dsn4" bottom: "groundtruth" top:"dsn4_loss" loss_weight: 1}
layers { type: SIGMOID name: 'sigmoid-dsn4' bottom: 'upscore-dsn4' top: 'sigmoid-upscore-dsn4' }
###DSN conv 5###
layers { name: 'score-dsn5' type: CONVOLUTION bottom: 'conv5_3' top: 'score-dsn5'
blobs_lr: 0.01 blobs_lr: 0.02 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 } }
layers { type: DECONVOLUTION name: 'upsample_16' bottom: 'score-dsn5' top: 'score-dsn5-up'
blobs_lr: 0 blobs_lr: 0 weight_decay: 1 weight_decay: 0
convolution_param { kernel_size: 32 stride: 16 num_output: 1 } }
layers { type: CROP name: 'crop' bottom: 'score-dsn5-up' bottom: 'data' top: 'upscore-dsn5' }
#layers { type: SIGMOID_CROSS_ENTROPY_LOSS bottom: "upscore-dsn5" bottom: "groundtruth" top:"dsn5_loss" loss_weight: 1}
layers { type: SIGMOID name: 'sigmoid-dsn5' bottom: 'upscore-dsn5' top: 'sigmoid-upscore-dsn5' }
### Concat and multiscale weighted-fusion layer ###
layers { name: "concat" bottom: "upscore-dsn1" bottom: "upscore-dsn2" bottom: "upscore-dsn3"
bottom: "upscore-dsn4" bottom: "upscore-dsn5" top: "concat-upscore" type: CONCAT
concat_param { concat_dim: 1} }
layers { name: 'new-score-weighting' type: CONVOLUTION bottom: 'concat-upscore' top: 'upscore-fuse'
blobs_lr: 0.01 blobs_lr: 0.02 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 } }
#layers { type: SIGMOID_CROSS_ENTROPY_LOSS bottom: "upscore-fuse" bottom: "groundtruth" top: "fuse_loss"}
layers { type: SIGMOID name: 'sigmoid-fuse' bottom: 'upscore-fuse' top: 'sigmoid-upscore-fuse' }