eelxpeng commited on
Commit
1c54393
·
verified ·
1 Parent(s): 1cab409

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -33,3 +33,8 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ face/pose_iter_116000.caffemodel filter=lfs diff=lfs merge=lfs -text
37
+ hand/pose_iter_102000.caffemodel filter=lfs diff=lfs merge=lfs -text
38
+ pose/body_25/pose_iter_584000.caffemodel filter=lfs diff=lfs merge=lfs -text
39
+ pose/coco/pose_iter_440000.caffemodel filter=lfs diff=lfs merge=lfs -text
40
+ pose/mpi/pose_iter_160000.caffemodel filter=lfs diff=lfs merge=lfs -text
cameraParameters/flir/17012332.xml.example ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!-- Note: Camera matrix translation units are meters. -->
3
+ <opencv_storage>
4
+ <CameraMatrix type_id="opencv-matrix">
5
+ <rows>3</rows>
6
+ <cols>4</cols>
7
+ <dt>d</dt>
8
+ <data>
9
+ 1. 0. 0. 0.
10
+ 0. 1. 0. 0.
11
+ 0. 0. 1. 0.</data></CameraMatrix>
12
+ <Intrinsics type_id="opencv-matrix">
13
+ <rows>3</rows>
14
+ <cols>3</cols>
15
+ <dt>d</dt>
16
+ <data>
17
+ 8.1793481631740565e+02 0. 6.0070689997785121e+02 0.
18
+ 8.1651774059837908e+02 5.1784529566329593e+02 0. 0. 1.</data></Intrinsics>
19
+ <Distortion type_id="opencv-matrix">
20
+ <rows>8</rows>
21
+ <cols>1</cols>
22
+ <dt>d</dt>
23
+ <data>
24
+ -1.8102158829399091e+00 9.1966147162623262e+00
25
+ -4.4293900343777355e-04 1.3638377686816653e-03
26
+ 1.3303863414979364e+00 -1.4189051636354870e+00
27
+ 8.4725535468475819e+00 4.7911023525901033e+00</data></Distortion>
28
+ </opencv_storage>
face/haarcascade_frontalface_alt.xml ADDED
The diff for this file is too large to render. See raw diff
 
face/pose_deploy.prototxt ADDED
@@ -0,0 +1,1728 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ input: "image"
2
+ input_dim: 1
3
+ input_dim: 3
4
+ input_dim: 1 # Original: 368
5
+ input_dim: 1 # Original: 368
6
+ # input: "weights"
7
+ # input_dim: 1
8
+ # input_dim: 71
9
+ # input_dim: 184
10
+ # input_dim: 184
11
+ # input: "labels"
12
+ # input_dim: 1
13
+ # input_dim: 71
14
+ # input_dim: 184
15
+ # input_dim: 184
16
+
17
+ layer {
18
+ name: "conv1_1"
19
+ type: "Convolution"
20
+ bottom: "image"
21
+ top: "conv1_1"
22
+ param {
23
+ lr_mult: 1
24
+ decay_mult: 1
25
+ }
26
+ param {
27
+ lr_mult: 2
28
+ decay_mult: 0
29
+ }
30
+ convolution_param {
31
+ num_output: 64
32
+ pad: 1
33
+ kernel_size: 3
34
+ weight_filler {
35
+ type: "gaussian"
36
+ std: 0.01
37
+ }
38
+ bias_filler {
39
+ type: "constant"
40
+ }
41
+ }
42
+ }
43
+ layer {
44
+ name: "conv1_1_re"
45
+ type: "ReLU"
46
+ bottom: "conv1_1"
47
+ top: "conv1_1"
48
+ }
49
+ layer {
50
+ name: "conv1_2"
51
+ type: "Convolution"
52
+ bottom: "conv1_1"
53
+ top: "conv1_2"
54
+ param {
55
+ lr_mult: 1
56
+ decay_mult: 1
57
+ }
58
+ param {
59
+ lr_mult: 2
60
+ decay_mult: 0
61
+ }
62
+ convolution_param {
63
+ num_output: 64
64
+ pad: 1
65
+ kernel_size: 3
66
+ weight_filler {
67
+ type: "gaussian"
68
+ std: 0.01
69
+ }
70
+ bias_filler {
71
+ type: "constant"
72
+ }
73
+ }
74
+ }
75
+ layer {
76
+ name: "conv1_2_re"
77
+ type: "ReLU"
78
+ bottom: "conv1_2"
79
+ top: "conv1_2"
80
+ }
81
+ layer {
82
+ name: "pool1"
83
+ type: "Pooling"
84
+ bottom: "conv1_2"
85
+ top: "pool1"
86
+ pooling_param {
87
+ pool: MAX
88
+ kernel_size: 2
89
+ stride: 2
90
+ }
91
+ }
92
+ layer {
93
+ name: "conv2_1"
94
+ type: "Convolution"
95
+ bottom: "pool1"
96
+ top: "conv2_1"
97
+ param {
98
+ lr_mult: 1
99
+ decay_mult: 1
100
+ }
101
+ param {
102
+ lr_mult: 2
103
+ decay_mult: 0
104
+ }
105
+ convolution_param {
106
+ num_output: 128
107
+ pad: 1
108
+ kernel_size: 3
109
+ weight_filler {
110
+ type: "gaussian"
111
+ std: 0.01
112
+ }
113
+ bias_filler {
114
+ type: "constant"
115
+ }
116
+ }
117
+ }
118
+ layer {
119
+ name: "conv2_1_re"
120
+ type: "ReLU"
121
+ bottom: "conv2_1"
122
+ top: "conv2_1"
123
+ }
124
+ layer {
125
+ name: "conv2_2"
126
+ type: "Convolution"
127
+ bottom: "conv2_1"
128
+ top: "conv2_2"
129
+ param {
130
+ lr_mult: 1
131
+ decay_mult: 1
132
+ }
133
+ param {
134
+ lr_mult: 2
135
+ decay_mult: 0
136
+ }
137
+ convolution_param {
138
+ num_output: 128
139
+ pad: 1
140
+ kernel_size: 3
141
+ weight_filler {
142
+ type: "gaussian"
143
+ std: 0.01
144
+ }
145
+ bias_filler {
146
+ type: "constant"
147
+ }
148
+ }
149
+ }
150
+ layer {
151
+ name: "conv2_2_re"
152
+ type: "ReLU"
153
+ bottom: "conv2_2"
154
+ top: "conv2_2"
155
+ }
156
+ layer {
157
+ name: "pool2"
158
+ type: "Pooling"
159
+ bottom: "conv2_2"
160
+ top: "pool2"
161
+ pooling_param {
162
+ pool: MAX
163
+ kernel_size: 2
164
+ stride: 2
165
+ }
166
+ }
167
+ layer {
168
+ name: "conv3_1"
169
+ type: "Convolution"
170
+ bottom: "pool2"
171
+ top: "conv3_1"
172
+ param {
173
+ lr_mult: 1
174
+ decay_mult: 1
175
+ }
176
+ param {
177
+ lr_mult: 2
178
+ decay_mult: 0
179
+ }
180
+ convolution_param {
181
+ num_output: 256
182
+ pad: 1
183
+ kernel_size: 3
184
+ weight_filler {
185
+ type: "gaussian"
186
+ std: 0.01
187
+ }
188
+ bias_filler {
189
+ type: "constant"
190
+ }
191
+ }
192
+ }
193
+ layer {
194
+ name: "conv3_1_re"
195
+ type: "ReLU"
196
+ bottom: "conv3_1"
197
+ top: "conv3_1"
198
+ }
199
+ layer {
200
+ name: "conv3_2"
201
+ type: "Convolution"
202
+ bottom: "conv3_1"
203
+ top: "conv3_2"
204
+ param {
205
+ lr_mult: 1
206
+ decay_mult: 1
207
+ }
208
+ param {
209
+ lr_mult: 2
210
+ decay_mult: 0
211
+ }
212
+ convolution_param {
213
+ num_output: 256
214
+ pad: 1
215
+ kernel_size: 3
216
+ weight_filler {
217
+ type: "gaussian"
218
+ std: 0.01
219
+ }
220
+ bias_filler {
221
+ type: "constant"
222
+ }
223
+ }
224
+ }
225
+ layer {
226
+ name: "conv3_2_re"
227
+ type: "ReLU"
228
+ bottom: "conv3_2"
229
+ top: "conv3_2"
230
+ }
231
+ layer {
232
+ name: "conv3_3"
233
+ type: "Convolution"
234
+ bottom: "conv3_2"
235
+ top: "conv3_3"
236
+ param {
237
+ lr_mult: 1
238
+ decay_mult: 1
239
+ }
240
+ param {
241
+ lr_mult: 2
242
+ decay_mult: 0
243
+ }
244
+ convolution_param {
245
+ num_output: 256
246
+ pad: 1
247
+ kernel_size: 3
248
+ weight_filler {
249
+ type: "gaussian"
250
+ std: 0.01
251
+ }
252
+ bias_filler {
253
+ type: "constant"
254
+ }
255
+ }
256
+ }
257
+ layer {
258
+ name: "conv3_3_re"
259
+ type: "ReLU"
260
+ bottom: "conv3_3"
261
+ top: "conv3_3"
262
+ }
263
+ layer {
264
+ name: "conv3_4"
265
+ type: "Convolution"
266
+ bottom: "conv3_3"
267
+ top: "conv3_4"
268
+ param {
269
+ lr_mult: 1
270
+ decay_mult: 1
271
+ }
272
+ param {
273
+ lr_mult: 2
274
+ decay_mult: 0
275
+ }
276
+ convolution_param {
277
+ num_output: 256
278
+ pad: 1
279
+ kernel_size: 3
280
+ weight_filler {
281
+ type: "gaussian"
282
+ std: 0.01
283
+ }
284
+ bias_filler {
285
+ type: "constant"
286
+ }
287
+ }
288
+ }
289
+ layer {
290
+ name: "conv3_4_re"
291
+ type: "ReLU"
292
+ bottom: "conv3_4"
293
+ top: "conv3_4"
294
+ }
295
+ layer {
296
+ name: "pool3"
297
+ type: "Pooling"
298
+ bottom: "conv3_4"
299
+ top: "pool3"
300
+ pooling_param {
301
+ pool: MAX
302
+ kernel_size: 2
303
+ stride: 2
304
+ }
305
+ }
306
+ layer {
307
+ name: "conv4_1"
308
+ type: "Convolution"
309
+ bottom: "pool3"
310
+ top: "conv4_1"
311
+ param {
312
+ lr_mult: 1
313
+ decay_mult: 1
314
+ }
315
+ param {
316
+ lr_mult: 2
317
+ decay_mult: 0
318
+ }
319
+ convolution_param {
320
+ num_output: 512
321
+ pad: 1
322
+ kernel_size: 3
323
+ weight_filler {
324
+ type: "gaussian"
325
+ std: 0.01
326
+ }
327
+ bias_filler {
328
+ type: "constant"
329
+ }
330
+ }
331
+ }
332
+ layer {
333
+ name: "conv4_1_re"
334
+ type: "ReLU"
335
+ bottom: "conv4_1"
336
+ top: "conv4_1"
337
+ }
338
+ layer {
339
+ name: "conv4_2"
340
+ type: "Convolution"
341
+ bottom: "conv4_1"
342
+ top: "conv4_2"
343
+ param {
344
+ lr_mult: 1
345
+ decay_mult: 1
346
+ }
347
+ param {
348
+ lr_mult: 2
349
+ decay_mult: 0
350
+ }
351
+ convolution_param {
352
+ num_output: 512
353
+ pad: 1
354
+ kernel_size: 3
355
+ weight_filler {
356
+ type: "gaussian"
357
+ std: 0.01
358
+ }
359
+ bias_filler {
360
+ type: "constant"
361
+ }
362
+ }
363
+ }
364
+ layer {
365
+ name: "conv4_2_re"
366
+ type: "ReLU"
367
+ bottom: "conv4_2"
368
+ top: "conv4_2"
369
+ }
370
+ layer {
371
+ name: "conv4_3"
372
+ type: "Convolution"
373
+ bottom: "conv4_2"
374
+ top: "conv4_3"
375
+ param {
376
+ lr_mult: 1
377
+ decay_mult: 1
378
+ }
379
+ param {
380
+ lr_mult: 2
381
+ decay_mult: 0
382
+ }
383
+ convolution_param {
384
+ num_output: 512
385
+ pad: 1
386
+ kernel_size: 3
387
+ weight_filler {
388
+ type: "gaussian"
389
+ std: 0.01
390
+ }
391
+ bias_filler {
392
+ type: "constant"
393
+ }
394
+ }
395
+ }
396
+ layer {
397
+ name: "conv4_3_re"
398
+ type: "ReLU"
399
+ bottom: "conv4_3"
400
+ top: "conv4_3"
401
+ }
402
+ layer {
403
+ name: "conv4_4"
404
+ type: "Convolution"
405
+ bottom: "conv4_3"
406
+ top: "conv4_4"
407
+ param {
408
+ lr_mult: 1
409
+ decay_mult: 1
410
+ }
411
+ param {
412
+ lr_mult: 2
413
+ decay_mult: 0
414
+ }
415
+ convolution_param {
416
+ num_output: 512
417
+ pad: 1
418
+ kernel_size: 3
419
+ weight_filler {
420
+ type: "gaussian"
421
+ std: 0.01
422
+ }
423
+ bias_filler {
424
+ type: "constant"
425
+ }
426
+ }
427
+ }
428
+ layer {
429
+ name: "conv4_4_re"
430
+ type: "ReLU"
431
+ bottom: "conv4_4"
432
+ top: "conv4_4"
433
+ }
434
+ layer {
435
+ name: "conv5_1"
436
+ type: "Convolution"
437
+ bottom: "conv4_4"
438
+ top: "conv5_1"
439
+ param {
440
+ lr_mult: 1
441
+ decay_mult: 1
442
+ }
443
+ param {
444
+ lr_mult: 2
445
+ decay_mult: 0
446
+ }
447
+ convolution_param {
448
+ num_output: 512
449
+ pad: 1
450
+ kernel_size: 3
451
+ weight_filler {
452
+ type: "gaussian"
453
+ std: 0.01
454
+ }
455
+ bias_filler {
456
+ type: "constant"
457
+ }
458
+ }
459
+ }
460
+ layer {
461
+ name: "conv5_1_re"
462
+ type: "ReLU"
463
+ bottom: "conv5_1"
464
+ top: "conv5_1"
465
+ }
466
+ layer {
467
+ name: "conv5_2"
468
+ type: "Convolution"
469
+ bottom: "conv5_1"
470
+ top: "conv5_2"
471
+ param {
472
+ lr_mult: 1
473
+ decay_mult: 1
474
+ }
475
+ param {
476
+ lr_mult: 2
477
+ decay_mult: 0
478
+ }
479
+ convolution_param {
480
+ num_output: 512
481
+ pad: 1
482
+ kernel_size: 3
483
+ weight_filler {
484
+ type: "gaussian"
485
+ std: 0.01
486
+ }
487
+ bias_filler {
488
+ type: "constant"
489
+ }
490
+ }
491
+ }
492
+ layer {
493
+ name: "conv5_2_re"
494
+ type: "ReLU"
495
+ bottom: "conv5_2"
496
+ top: "conv5_2"
497
+ }
498
+ layer {
499
+ name: "conv5_3_CPM"
500
+ type: "Convolution"
501
+ bottom: "conv5_2"
502
+ top: "conv5_3_CPM"
503
+ param {
504
+ lr_mult: 1
505
+ decay_mult: 1
506
+ }
507
+ param {
508
+ lr_mult: 2
509
+ decay_mult: 0
510
+ }
511
+ convolution_param {
512
+ num_output: 128
513
+ pad: 1
514
+ kernel_size: 3
515
+ weight_filler {
516
+ type: "gaussian"
517
+ std: 0.01
518
+ }
519
+ bias_filler {
520
+ type: "constant"
521
+ }
522
+ }
523
+ }
524
+ layer {
525
+ name: "conv5_3_CPM_re"
526
+ type: "ReLU"
527
+ bottom: "conv5_3_CPM"
528
+ top: "conv5_3_CPM"
529
+ }
530
+ layer {
531
+ name: "conv6_1_CPM"
532
+ type: "Convolution"
533
+ bottom: "conv5_3_CPM"
534
+ top: "conv6_1_CPM"
535
+ param {
536
+ lr_mult: 1
537
+ decay_mult: 1
538
+ }
539
+ param {
540
+ lr_mult: 2
541
+ decay_mult: 0
542
+ }
543
+ convolution_param {
544
+ num_output: 512
545
+ pad: 0
546
+ kernel_size: 1
547
+ weight_filler {
548
+ type: "gaussian"
549
+ std: 0.01
550
+ }
551
+ bias_filler {
552
+ type: "constant"
553
+ }
554
+ }
555
+ }
556
+ layer {
557
+ name: "conv6_1_CPM_re"
558
+ type: "ReLU"
559
+ bottom: "conv6_1_CPM"
560
+ top: "conv6_1_CPM"
561
+ }
562
+ layer {
563
+ name: "conv6_2_CPM"
564
+ type: "Convolution"
565
+ bottom: "conv6_1_CPM"
566
+ top: "conv6_2_CPM"
567
+ param {
568
+ lr_mult: 1
569
+ decay_mult: 1
570
+ }
571
+ param {
572
+ lr_mult: 2
573
+ decay_mult: 0
574
+ }
575
+ convolution_param {
576
+ num_output: 71
577
+ pad: 0
578
+ kernel_size: 1
579
+ weight_filler {
580
+ type: "gaussian"
581
+ std: 0.01
582
+ }
583
+ bias_filler {
584
+ type: "constant"
585
+ }
586
+ }
587
+ }
588
+ layer {
589
+ name: "features_in_stage_2"
590
+ type: "Concat"
591
+ bottom: "conv6_2_CPM"
592
+ bottom: "conv5_3_CPM"
593
+ top: "features_in_stage_2"
594
+ concat_param {
595
+ axis: 1
596
+ }
597
+ }
598
+ layer {
599
+ name: "Mconv1_stage2"
600
+ type: "Convolution"
601
+ bottom: "features_in_stage_2"
602
+ top: "Mconv1_stage2"
603
+ param {
604
+ lr_mult: 4.0
605
+ decay_mult: 1
606
+ }
607
+ param {
608
+ lr_mult: 8.0
609
+ decay_mult: 0
610
+ }
611
+ convolution_param {
612
+ num_output: 128
613
+ pad: 3
614
+ kernel_size: 7
615
+ weight_filler {
616
+ type: "gaussian"
617
+ std: 0.01
618
+ }
619
+ bias_filler {
620
+ type: "constant"
621
+ }
622
+ }
623
+ }
624
+ layer {
625
+ name: "Mconv1_stage2_re"
626
+ type: "ReLU"
627
+ bottom: "Mconv1_stage2"
628
+ top: "Mconv1_stage2"
629
+ }
630
+ layer {
631
+ name: "Mconv2_stage2"
632
+ type: "Convolution"
633
+ bottom: "Mconv1_stage2"
634
+ top: "Mconv2_stage2"
635
+ param {
636
+ lr_mult: 4.0
637
+ decay_mult: 1
638
+ }
639
+ param {
640
+ lr_mult: 8.0
641
+ decay_mult: 0
642
+ }
643
+ convolution_param {
644
+ num_output: 128
645
+ pad: 3
646
+ kernel_size: 7
647
+ weight_filler {
648
+ type: "gaussian"
649
+ std: 0.01
650
+ }
651
+ bias_filler {
652
+ type: "constant"
653
+ }
654
+ }
655
+ }
656
+ layer {
657
+ name: "Mconv2_stage2_re"
658
+ type: "ReLU"
659
+ bottom: "Mconv2_stage2"
660
+ top: "Mconv2_stage2"
661
+ }
662
+ layer {
663
+ name: "Mconv3_stage2"
664
+ type: "Convolution"
665
+ bottom: "Mconv2_stage2"
666
+ top: "Mconv3_stage2"
667
+ param {
668
+ lr_mult: 4.0
669
+ decay_mult: 1
670
+ }
671
+ param {
672
+ lr_mult: 8.0
673
+ decay_mult: 0
674
+ }
675
+ convolution_param {
676
+ num_output: 128
677
+ pad: 3
678
+ kernel_size: 7
679
+ weight_filler {
680
+ type: "gaussian"
681
+ std: 0.01
682
+ }
683
+ bias_filler {
684
+ type: "constant"
685
+ }
686
+ }
687
+ }
688
+ layer {
689
+ name: "Mconv3_stage2_re"
690
+ type: "ReLU"
691
+ bottom: "Mconv3_stage2"
692
+ top: "Mconv3_stage2"
693
+ }
694
+ layer {
695
+ name: "Mconv4_stage2"
696
+ type: "Convolution"
697
+ bottom: "Mconv3_stage2"
698
+ top: "Mconv4_stage2"
699
+ param {
700
+ lr_mult: 4.0
701
+ decay_mult: 1
702
+ }
703
+ param {
704
+ lr_mult: 8.0
705
+ decay_mult: 0
706
+ }
707
+ convolution_param {
708
+ num_output: 128
709
+ pad: 3
710
+ kernel_size: 7
711
+ weight_filler {
712
+ type: "gaussian"
713
+ std: 0.01
714
+ }
715
+ bias_filler {
716
+ type: "constant"
717
+ }
718
+ }
719
+ }
720
+ layer {
721
+ name: "Mconv4_stage2_re"
722
+ type: "ReLU"
723
+ bottom: "Mconv4_stage2"
724
+ top: "Mconv4_stage2"
725
+ }
726
+ layer {
727
+ name: "Mconv5_stage2"
728
+ type: "Convolution"
729
+ bottom: "Mconv4_stage2"
730
+ top: "Mconv5_stage2"
731
+ param {
732
+ lr_mult: 4.0
733
+ decay_mult: 1
734
+ }
735
+ param {
736
+ lr_mult: 8.0
737
+ decay_mult: 0
738
+ }
739
+ convolution_param {
740
+ num_output: 128
741
+ pad: 3
742
+ kernel_size: 7
743
+ weight_filler {
744
+ type: "gaussian"
745
+ std: 0.01
746
+ }
747
+ bias_filler {
748
+ type: "constant"
749
+ }
750
+ }
751
+ }
752
+ layer {
753
+ name: "Mconv5_stage2_re"
754
+ type: "ReLU"
755
+ bottom: "Mconv5_stage2"
756
+ top: "Mconv5_stage2"
757
+ }
758
+ layer {
759
+ name: "Mconv6_stage2"
760
+ type: "Convolution"
761
+ bottom: "Mconv5_stage2"
762
+ top: "Mconv6_stage2"
763
+ param {
764
+ lr_mult: 4.0
765
+ decay_mult: 1
766
+ }
767
+ param {
768
+ lr_mult: 8.0
769
+ decay_mult: 0
770
+ }
771
+ convolution_param {
772
+ num_output: 128
773
+ pad: 0
774
+ kernel_size: 1
775
+ weight_filler {
776
+ type: "gaussian"
777
+ std: 0.01
778
+ }
779
+ bias_filler {
780
+ type: "constant"
781
+ }
782
+ }
783
+ }
784
+ layer {
785
+ name: "Mconv6_stage2_re"
786
+ type: "ReLU"
787
+ bottom: "Mconv6_stage2"
788
+ top: "Mconv6_stage2"
789
+ }
790
+ layer {
791
+ name: "Mconv7_stage2"
792
+ type: "Convolution"
793
+ bottom: "Mconv6_stage2"
794
+ top: "Mconv7_stage2"
795
+ param {
796
+ lr_mult: 4.0
797
+ decay_mult: 1
798
+ }
799
+ param {
800
+ lr_mult: 8.0
801
+ decay_mult: 0
802
+ }
803
+ convolution_param {
804
+ num_output: 71
805
+ pad: 0
806
+ kernel_size: 1
807
+ weight_filler {
808
+ type: "gaussian"
809
+ std: 0.01
810
+ }
811
+ bias_filler {
812
+ type: "constant"
813
+ }
814
+ }
815
+ }
816
+ layer {
817
+ name: "features_in_stage_3"
818
+ type: "Concat"
819
+ bottom: "Mconv7_stage2"
820
+ bottom: "conv5_3_CPM"
821
+ top: "features_in_stage_3"
822
+ concat_param {
823
+ axis: 1
824
+ }
825
+ }
826
+ layer {
827
+ name: "Mconv1_stage3"
828
+ type: "Convolution"
829
+ bottom: "features_in_stage_3"
830
+ top: "Mconv1_stage3"
831
+ param {
832
+ lr_mult: 4.0
833
+ decay_mult: 1
834
+ }
835
+ param {
836
+ lr_mult: 8.0
837
+ decay_mult: 0
838
+ }
839
+ convolution_param {
840
+ num_output: 128
841
+ pad: 3
842
+ kernel_size: 7
843
+ weight_filler {
844
+ type: "gaussian"
845
+ std: 0.01
846
+ }
847
+ bias_filler {
848
+ type: "constant"
849
+ }
850
+ }
851
+ }
852
+ layer {
853
+ name: "Mconv1_stage3_re"
854
+ type: "ReLU"
855
+ bottom: "Mconv1_stage3"
856
+ top: "Mconv1_stage3"
857
+ }
858
+ layer {
859
+ name: "Mconv2_stage3"
860
+ type: "Convolution"
861
+ bottom: "Mconv1_stage3"
862
+ top: "Mconv2_stage3"
863
+ param {
864
+ lr_mult: 4.0
865
+ decay_mult: 1
866
+ }
867
+ param {
868
+ lr_mult: 8.0
869
+ decay_mult: 0
870
+ }
871
+ convolution_param {
872
+ num_output: 128
873
+ pad: 3
874
+ kernel_size: 7
875
+ weight_filler {
876
+ type: "gaussian"
877
+ std: 0.01
878
+ }
879
+ bias_filler {
880
+ type: "constant"
881
+ }
882
+ }
883
+ }
884
+ layer {
885
+ name: "Mconv2_stage3_re"
886
+ type: "ReLU"
887
+ bottom: "Mconv2_stage3"
888
+ top: "Mconv2_stage3"
889
+ }
890
+ layer {
891
+ name: "Mconv3_stage3"
892
+ type: "Convolution"
893
+ bottom: "Mconv2_stage3"
894
+ top: "Mconv3_stage3"
895
+ param {
896
+ lr_mult: 4.0
897
+ decay_mult: 1
898
+ }
899
+ param {
900
+ lr_mult: 8.0
901
+ decay_mult: 0
902
+ }
903
+ convolution_param {
904
+ num_output: 128
905
+ pad: 3
906
+ kernel_size: 7
907
+ weight_filler {
908
+ type: "gaussian"
909
+ std: 0.01
910
+ }
911
+ bias_filler {
912
+ type: "constant"
913
+ }
914
+ }
915
+ }
916
+ layer {
917
+ name: "Mconv3_stage3_re"
918
+ type: "ReLU"
919
+ bottom: "Mconv3_stage3"
920
+ top: "Mconv3_stage3"
921
+ }
922
+ layer {
923
+ name: "Mconv4_stage3"
924
+ type: "Convolution"
925
+ bottom: "Mconv3_stage3"
926
+ top: "Mconv4_stage3"
927
+ param {
928
+ lr_mult: 4.0
929
+ decay_mult: 1
930
+ }
931
+ param {
932
+ lr_mult: 8.0
933
+ decay_mult: 0
934
+ }
935
+ convolution_param {
936
+ num_output: 128
937
+ pad: 3
938
+ kernel_size: 7
939
+ weight_filler {
940
+ type: "gaussian"
941
+ std: 0.01
942
+ }
943
+ bias_filler {
944
+ type: "constant"
945
+ }
946
+ }
947
+ }
948
+ layer {
949
+ name: "Mconv4_stage3_re"
950
+ type: "ReLU"
951
+ bottom: "Mconv4_stage3"
952
+ top: "Mconv4_stage3"
953
+ }
954
+ layer {
955
+ name: "Mconv5_stage3"
956
+ type: "Convolution"
957
+ bottom: "Mconv4_stage3"
958
+ top: "Mconv5_stage3"
959
+ param {
960
+ lr_mult: 4.0
961
+ decay_mult: 1
962
+ }
963
+ param {
964
+ lr_mult: 8.0
965
+ decay_mult: 0
966
+ }
967
+ convolution_param {
968
+ num_output: 128
969
+ pad: 3
970
+ kernel_size: 7
971
+ weight_filler {
972
+ type: "gaussian"
973
+ std: 0.01
974
+ }
975
+ bias_filler {
976
+ type: "constant"
977
+ }
978
+ }
979
+ }
980
+ layer {
981
+ name: "Mconv5_stage3_re"
982
+ type: "ReLU"
983
+ bottom: "Mconv5_stage3"
984
+ top: "Mconv5_stage3"
985
+ }
986
+ layer {
987
+ name: "Mconv6_stage3"
988
+ type: "Convolution"
989
+ bottom: "Mconv5_stage3"
990
+ top: "Mconv6_stage3"
991
+ param {
992
+ lr_mult: 4.0
993
+ decay_mult: 1
994
+ }
995
+ param {
996
+ lr_mult: 8.0
997
+ decay_mult: 0
998
+ }
999
+ convolution_param {
1000
+ num_output: 128
1001
+ pad: 0
1002
+ kernel_size: 1
1003
+ weight_filler {
1004
+ type: "gaussian"
1005
+ std: 0.01
1006
+ }
1007
+ bias_filler {
1008
+ type: "constant"
1009
+ }
1010
+ }
1011
+ }
1012
+ layer {
1013
+ name: "Mconv6_stage3_re"
1014
+ type: "ReLU"
1015
+ bottom: "Mconv6_stage3"
1016
+ top: "Mconv6_stage3"
1017
+ }
1018
+ layer {
1019
+ name: "Mconv7_stage3"
1020
+ type: "Convolution"
1021
+ bottom: "Mconv6_stage3"
1022
+ top: "Mconv7_stage3"
1023
+ param {
1024
+ lr_mult: 4.0
1025
+ decay_mult: 1
1026
+ }
1027
+ param {
1028
+ lr_mult: 8.0
1029
+ decay_mult: 0
1030
+ }
1031
+ convolution_param {
1032
+ num_output: 71
1033
+ pad: 0
1034
+ kernel_size: 1
1035
+ weight_filler {
1036
+ type: "gaussian"
1037
+ std: 0.01
1038
+ }
1039
+ bias_filler {
1040
+ type: "constant"
1041
+ }
1042
+ }
1043
+ }
1044
+ layer {
1045
+ name: "features_in_stage_4"
1046
+ type: "Concat"
1047
+ bottom: "Mconv7_stage3"
1048
+ bottom: "conv5_3_CPM"
1049
+ top: "features_in_stage_4"
1050
+ concat_param {
1051
+ axis: 1
1052
+ }
1053
+ }
1054
+ layer {
1055
+ name: "Mconv1_stage4"
1056
+ type: "Convolution"
1057
+ bottom: "features_in_stage_4"
1058
+ top: "Mconv1_stage4"
1059
+ param {
1060
+ lr_mult: 4.0
1061
+ decay_mult: 1
1062
+ }
1063
+ param {
1064
+ lr_mult: 8.0
1065
+ decay_mult: 0
1066
+ }
1067
+ convolution_param {
1068
+ num_output: 128
1069
+ pad: 3
1070
+ kernel_size: 7
1071
+ weight_filler {
1072
+ type: "gaussian"
1073
+ std: 0.01
1074
+ }
1075
+ bias_filler {
1076
+ type: "constant"
1077
+ }
1078
+ }
1079
+ }
1080
+ layer {
1081
+ name: "Mconv1_stage4_re"
1082
+ type: "ReLU"
1083
+ bottom: "Mconv1_stage4"
1084
+ top: "Mconv1_stage4"
1085
+ }
1086
+ layer {
1087
+ name: "Mconv2_stage4"
1088
+ type: "Convolution"
1089
+ bottom: "Mconv1_stage4"
1090
+ top: "Mconv2_stage4"
1091
+ param {
1092
+ lr_mult: 4.0
1093
+ decay_mult: 1
1094
+ }
1095
+ param {
1096
+ lr_mult: 8.0
1097
+ decay_mult: 0
1098
+ }
1099
+ convolution_param {
1100
+ num_output: 128
1101
+ pad: 3
1102
+ kernel_size: 7
1103
+ weight_filler {
1104
+ type: "gaussian"
1105
+ std: 0.01
1106
+ }
1107
+ bias_filler {
1108
+ type: "constant"
1109
+ }
1110
+ }
1111
+ }
1112
+ layer {
1113
+ name: "Mconv2_stage4_re"
1114
+ type: "ReLU"
1115
+ bottom: "Mconv2_stage4"
1116
+ top: "Mconv2_stage4"
1117
+ }
1118
+ layer {
1119
+ name: "Mconv3_stage4"
1120
+ type: "Convolution"
1121
+ bottom: "Mconv2_stage4"
1122
+ top: "Mconv3_stage4"
1123
+ param {
1124
+ lr_mult: 4.0
1125
+ decay_mult: 1
1126
+ }
1127
+ param {
1128
+ lr_mult: 8.0
1129
+ decay_mult: 0
1130
+ }
1131
+ convolution_param {
1132
+ num_output: 128
1133
+ pad: 3
1134
+ kernel_size: 7
1135
+ weight_filler {
1136
+ type: "gaussian"
1137
+ std: 0.01
1138
+ }
1139
+ bias_filler {
1140
+ type: "constant"
1141
+ }
1142
+ }
1143
+ }
1144
+ layer {
1145
+ name: "Mconv3_stage4_re"
1146
+ type: "ReLU"
1147
+ bottom: "Mconv3_stage4"
1148
+ top: "Mconv3_stage4"
1149
+ }
1150
+ layer {
1151
+ name: "Mconv4_stage4"
1152
+ type: "Convolution"
1153
+ bottom: "Mconv3_stage4"
1154
+ top: "Mconv4_stage4"
1155
+ param {
1156
+ lr_mult: 4.0
1157
+ decay_mult: 1
1158
+ }
1159
+ param {
1160
+ lr_mult: 8.0
1161
+ decay_mult: 0
1162
+ }
1163
+ convolution_param {
1164
+ num_output: 128
1165
+ pad: 3
1166
+ kernel_size: 7
1167
+ weight_filler {
1168
+ type: "gaussian"
1169
+ std: 0.01
1170
+ }
1171
+ bias_filler {
1172
+ type: "constant"
1173
+ }
1174
+ }
1175
+ }
1176
+ layer {
1177
+ name: "Mconv4_stage4_re"
1178
+ type: "ReLU"
1179
+ bottom: "Mconv4_stage4"
1180
+ top: "Mconv4_stage4"
1181
+ }
1182
+ layer {
1183
+ name: "Mconv5_stage4"
1184
+ type: "Convolution"
1185
+ bottom: "Mconv4_stage4"
1186
+ top: "Mconv5_stage4"
1187
+ param {
1188
+ lr_mult: 4.0
1189
+ decay_mult: 1
1190
+ }
1191
+ param {
1192
+ lr_mult: 8.0
1193
+ decay_mult: 0
1194
+ }
1195
+ convolution_param {
1196
+ num_output: 128
1197
+ pad: 3
1198
+ kernel_size: 7
1199
+ weight_filler {
1200
+ type: "gaussian"
1201
+ std: 0.01
1202
+ }
1203
+ bias_filler {
1204
+ type: "constant"
1205
+ }
1206
+ }
1207
+ }
1208
+ layer {
1209
+ name: "Mconv5_stage4_re"
1210
+ type: "ReLU"
1211
+ bottom: "Mconv5_stage4"
1212
+ top: "Mconv5_stage4"
1213
+ }
1214
+ layer {
1215
+ name: "Mconv6_stage4"
1216
+ type: "Convolution"
1217
+ bottom: "Mconv5_stage4"
1218
+ top: "Mconv6_stage4"
1219
+ param {
1220
+ lr_mult: 4.0
1221
+ decay_mult: 1
1222
+ }
1223
+ param {
1224
+ lr_mult: 8.0
1225
+ decay_mult: 0
1226
+ }
1227
+ convolution_param {
1228
+ num_output: 128
1229
+ pad: 0
1230
+ kernel_size: 1
1231
+ weight_filler {
1232
+ type: "gaussian"
1233
+ std: 0.01
1234
+ }
1235
+ bias_filler {
1236
+ type: "constant"
1237
+ }
1238
+ }
1239
+ }
1240
+ layer {
1241
+ name: "Mconv6_stage4_re"
1242
+ type: "ReLU"
1243
+ bottom: "Mconv6_stage4"
1244
+ top: "Mconv6_stage4"
1245
+ }
1246
+ layer {
1247
+ name: "Mconv7_stage4"
1248
+ type: "Convolution"
1249
+ bottom: "Mconv6_stage4"
1250
+ top: "Mconv7_stage4"
1251
+ param {
1252
+ lr_mult: 4.0
1253
+ decay_mult: 1
1254
+ }
1255
+ param {
1256
+ lr_mult: 8.0
1257
+ decay_mult: 0
1258
+ }
1259
+ convolution_param {
1260
+ num_output: 71
1261
+ pad: 0
1262
+ kernel_size: 1
1263
+ weight_filler {
1264
+ type: "gaussian"
1265
+ std: 0.01
1266
+ }
1267
+ bias_filler {
1268
+ type: "constant"
1269
+ }
1270
+ }
1271
+ }
1272
+ layer {
1273
+ name: "features_in_stage_5"
1274
+ type: "Concat"
1275
+ bottom: "Mconv7_stage4"
1276
+ bottom: "conv5_3_CPM"
1277
+ top: "features_in_stage_5"
1278
+ concat_param {
1279
+ axis: 1
1280
+ }
1281
+ }
1282
+ layer {
1283
+ name: "Mconv1_stage5"
1284
+ type: "Convolution"
1285
+ bottom: "features_in_stage_5"
1286
+ top: "Mconv1_stage5"
1287
+ param {
1288
+ lr_mult: 4.0
1289
+ decay_mult: 1
1290
+ }
1291
+ param {
1292
+ lr_mult: 8.0
1293
+ decay_mult: 0
1294
+ }
1295
+ convolution_param {
1296
+ num_output: 128
1297
+ pad: 3
1298
+ kernel_size: 7
1299
+ weight_filler {
1300
+ type: "gaussian"
1301
+ std: 0.01
1302
+ }
1303
+ bias_filler {
1304
+ type: "constant"
1305
+ }
1306
+ }
1307
+ }
1308
+ layer {
1309
+ name: "Mconv1_stage5_re"
1310
+ type: "ReLU"
1311
+ bottom: "Mconv1_stage5"
1312
+ top: "Mconv1_stage5"
1313
+ }
1314
+ layer {
1315
+ name: "Mconv2_stage5"
1316
+ type: "Convolution"
1317
+ bottom: "Mconv1_stage5"
1318
+ top: "Mconv2_stage5"
1319
+ param {
1320
+ lr_mult: 4.0
1321
+ decay_mult: 1
1322
+ }
1323
+ param {
1324
+ lr_mult: 8.0
1325
+ decay_mult: 0
1326
+ }
1327
+ convolution_param {
1328
+ num_output: 128
1329
+ pad: 3
1330
+ kernel_size: 7
1331
+ weight_filler {
1332
+ type: "gaussian"
1333
+ std: 0.01
1334
+ }
1335
+ bias_filler {
1336
+ type: "constant"
1337
+ }
1338
+ }
1339
+ }
1340
+ layer {
1341
+ name: "Mconv2_stage5_re"
1342
+ type: "ReLU"
1343
+ bottom: "Mconv2_stage5"
1344
+ top: "Mconv2_stage5"
1345
+ }
1346
+ layer {
1347
+ name: "Mconv3_stage5"
1348
+ type: "Convolution"
1349
+ bottom: "Mconv2_stage5"
1350
+ top: "Mconv3_stage5"
1351
+ param {
1352
+ lr_mult: 4.0
1353
+ decay_mult: 1
1354
+ }
1355
+ param {
1356
+ lr_mult: 8.0
1357
+ decay_mult: 0
1358
+ }
1359
+ convolution_param {
1360
+ num_output: 128
1361
+ pad: 3
1362
+ kernel_size: 7
1363
+ weight_filler {
1364
+ type: "gaussian"
1365
+ std: 0.01
1366
+ }
1367
+ bias_filler {
1368
+ type: "constant"
1369
+ }
1370
+ }
1371
+ }
1372
+ layer {
1373
+ name: "Mconv3_stage5_re"
1374
+ type: "ReLU"
1375
+ bottom: "Mconv3_stage5"
1376
+ top: "Mconv3_stage5"
1377
+ }
1378
+ layer {
1379
+ name: "Mconv4_stage5"
1380
+ type: "Convolution"
1381
+ bottom: "Mconv3_stage5"
1382
+ top: "Mconv4_stage5"
1383
+ param {
1384
+ lr_mult: 4.0
1385
+ decay_mult: 1
1386
+ }
1387
+ param {
1388
+ lr_mult: 8.0
1389
+ decay_mult: 0
1390
+ }
1391
+ convolution_param {
1392
+ num_output: 128
1393
+ pad: 3
1394
+ kernel_size: 7
1395
+ weight_filler {
1396
+ type: "gaussian"
1397
+ std: 0.01
1398
+ }
1399
+ bias_filler {
1400
+ type: "constant"
1401
+ }
1402
+ }
1403
+ }
1404
+ layer {
1405
+ name: "Mconv4_stage5_re"
1406
+ type: "ReLU"
1407
+ bottom: "Mconv4_stage5"
1408
+ top: "Mconv4_stage5"
1409
+ }
1410
+ layer {
1411
+ name: "Mconv5_stage5"
1412
+ type: "Convolution"
1413
+ bottom: "Mconv4_stage5"
1414
+ top: "Mconv5_stage5"
1415
+ param {
1416
+ lr_mult: 4.0
1417
+ decay_mult: 1
1418
+ }
1419
+ param {
1420
+ lr_mult: 8.0
1421
+ decay_mult: 0
1422
+ }
1423
+ convolution_param {
1424
+ num_output: 128
1425
+ pad: 3
1426
+ kernel_size: 7
1427
+ weight_filler {
1428
+ type: "gaussian"
1429
+ std: 0.01
1430
+ }
1431
+ bias_filler {
1432
+ type: "constant"
1433
+ }
1434
+ }
1435
+ }
1436
+ layer {
1437
+ name: "Mconv5_stage5_re"
1438
+ type: "ReLU"
1439
+ bottom: "Mconv5_stage5"
1440
+ top: "Mconv5_stage5"
1441
+ }
1442
+ layer {
1443
+ name: "Mconv6_stage5"
1444
+ type: "Convolution"
1445
+ bottom: "Mconv5_stage5"
1446
+ top: "Mconv6_stage5"
1447
+ param {
1448
+ lr_mult: 4.0
1449
+ decay_mult: 1
1450
+ }
1451
+ param {
1452
+ lr_mult: 8.0
1453
+ decay_mult: 0
1454
+ }
1455
+ convolution_param {
1456
+ num_output: 128
1457
+ pad: 0
1458
+ kernel_size: 1
1459
+ weight_filler {
1460
+ type: "gaussian"
1461
+ std: 0.01
1462
+ }
1463
+ bias_filler {
1464
+ type: "constant"
1465
+ }
1466
+ }
1467
+ }
1468
+ layer {
1469
+ name: "Mconv6_stage5_re"
1470
+ type: "ReLU"
1471
+ bottom: "Mconv6_stage5"
1472
+ top: "Mconv6_stage5"
1473
+ }
1474
+ layer {
1475
+ name: "Mconv7_stage5"
1476
+ type: "Convolution"
1477
+ bottom: "Mconv6_stage5"
1478
+ top: "Mconv7_stage5"
1479
+ param {
1480
+ lr_mult: 4.0
1481
+ decay_mult: 1
1482
+ }
1483
+ param {
1484
+ lr_mult: 8.0
1485
+ decay_mult: 0
1486
+ }
1487
+ convolution_param {
1488
+ num_output: 71
1489
+ pad: 0
1490
+ kernel_size: 1
1491
+ weight_filler {
1492
+ type: "gaussian"
1493
+ std: 0.01
1494
+ }
1495
+ bias_filler {
1496
+ type: "constant"
1497
+ }
1498
+ }
1499
+ }
1500
+ layer {
1501
+ name: "features_in_stage_6"
1502
+ type: "Concat"
1503
+ bottom: "Mconv7_stage5"
1504
+ bottom: "conv5_3_CPM"
1505
+ top: "features_in_stage_6"
1506
+ concat_param {
1507
+ axis: 1
1508
+ }
1509
+ }
1510
+ layer {
1511
+ name: "Mconv1_stage6"
1512
+ type: "Convolution"
1513
+ bottom: "features_in_stage_6"
1514
+ top: "Mconv1_stage6"
1515
+ param {
1516
+ lr_mult: 4.0
1517
+ decay_mult: 1
1518
+ }
1519
+ param {
1520
+ lr_mult: 8.0
1521
+ decay_mult: 0
1522
+ }
1523
+ convolution_param {
1524
+ num_output: 128
1525
+ pad: 3
1526
+ kernel_size: 7
1527
+ weight_filler {
1528
+ type: "gaussian"
1529
+ std: 0.01
1530
+ }
1531
+ bias_filler {
1532
+ type: "constant"
1533
+ }
1534
+ }
1535
+ }
1536
+ layer {
1537
+ name: "Mconv1_stage6_re"
1538
+ type: "ReLU"
1539
+ bottom: "Mconv1_stage6"
1540
+ top: "Mconv1_stage6"
1541
+ }
1542
+ layer {
1543
+ name: "Mconv2_stage6"
1544
+ type: "Convolution"
1545
+ bottom: "Mconv1_stage6"
1546
+ top: "Mconv2_stage6"
1547
+ param {
1548
+ lr_mult: 4.0
1549
+ decay_mult: 1
1550
+ }
1551
+ param {
1552
+ lr_mult: 8.0
1553
+ decay_mult: 0
1554
+ }
1555
+ convolution_param {
1556
+ num_output: 128
1557
+ pad: 3
1558
+ kernel_size: 7
1559
+ weight_filler {
1560
+ type: "gaussian"
1561
+ std: 0.01
1562
+ }
1563
+ bias_filler {
1564
+ type: "constant"
1565
+ }
1566
+ }
1567
+ }
1568
+ layer {
1569
+ name: "Mconv2_stage6_re"
1570
+ type: "ReLU"
1571
+ bottom: "Mconv2_stage6"
1572
+ top: "Mconv2_stage6"
1573
+ }
1574
+ layer {
1575
+ name: "Mconv3_stage6"
1576
+ type: "Convolution"
1577
+ bottom: "Mconv2_stage6"
1578
+ top: "Mconv3_stage6"
1579
+ param {
1580
+ lr_mult: 4.0
1581
+ decay_mult: 1
1582
+ }
1583
+ param {
1584
+ lr_mult: 8.0
1585
+ decay_mult: 0
1586
+ }
1587
+ convolution_param {
1588
+ num_output: 128
1589
+ pad: 3
1590
+ kernel_size: 7
1591
+ weight_filler {
1592
+ type: "gaussian"
1593
+ std: 0.01
1594
+ }
1595
+ bias_filler {
1596
+ type: "constant"
1597
+ }
1598
+ }
1599
+ }
1600
+ layer {
1601
+ name: "Mconv3_stage6_re"
1602
+ type: "ReLU"
1603
+ bottom: "Mconv3_stage6"
1604
+ top: "Mconv3_stage6"
1605
+ }
1606
+ layer {
1607
+ name: "Mconv4_stage6"
1608
+ type: "Convolution"
1609
+ bottom: "Mconv3_stage6"
1610
+ top: "Mconv4_stage6"
1611
+ param {
1612
+ lr_mult: 4.0
1613
+ decay_mult: 1
1614
+ }
1615
+ param {
1616
+ lr_mult: 8.0
1617
+ decay_mult: 0
1618
+ }
1619
+ convolution_param {
1620
+ num_output: 128
1621
+ pad: 3
1622
+ kernel_size: 7
1623
+ weight_filler {
1624
+ type: "gaussian"
1625
+ std: 0.01
1626
+ }
1627
+ bias_filler {
1628
+ type: "constant"
1629
+ }
1630
+ }
1631
+ }
1632
+ layer {
1633
+ name: "Mconv4_stage6_re"
1634
+ type: "ReLU"
1635
+ bottom: "Mconv4_stage6"
1636
+ top: "Mconv4_stage6"
1637
+ }
1638
+ layer {
1639
+ name: "Mconv5_stage6"
1640
+ type: "Convolution"
1641
+ bottom: "Mconv4_stage6"
1642
+ top: "Mconv5_stage6"
1643
+ param {
1644
+ lr_mult: 4.0
1645
+ decay_mult: 1
1646
+ }
1647
+ param {
1648
+ lr_mult: 8.0
1649
+ decay_mult: 0
1650
+ }
1651
+ convolution_param {
1652
+ num_output: 128
1653
+ pad: 3
1654
+ kernel_size: 7
1655
+ weight_filler {
1656
+ type: "gaussian"
1657
+ std: 0.01
1658
+ }
1659
+ bias_filler {
1660
+ type: "constant"
1661
+ }
1662
+ }
1663
+ }
1664
+ layer {
1665
+ name: "Mconv5_stage6_re"
1666
+ type: "ReLU"
1667
+ bottom: "Mconv5_stage6"
1668
+ top: "Mconv5_stage6"
1669
+ }
1670
+ layer {
1671
+ name: "Mconv6_stage6"
1672
+ type: "Convolution"
1673
+ bottom: "Mconv5_stage6"
1674
+ top: "Mconv6_stage6"
1675
+ param {
1676
+ lr_mult: 4.0
1677
+ decay_mult: 1
1678
+ }
1679
+ param {
1680
+ lr_mult: 8.0
1681
+ decay_mult: 0
1682
+ }
1683
+ convolution_param {
1684
+ num_output: 128
1685
+ pad: 0
1686
+ kernel_size: 1
1687
+ weight_filler {
1688
+ type: "gaussian"
1689
+ std: 0.01
1690
+ }
1691
+ bias_filler {
1692
+ type: "constant"
1693
+ }
1694
+ }
1695
+ }
1696
+ layer {
1697
+ name: "Mconv6_stage6_re"
1698
+ type: "ReLU"
1699
+ bottom: "Mconv6_stage6"
1700
+ top: "Mconv6_stage6"
1701
+ }
1702
+ layer {
1703
+ name: "Mconv7_stage6"
1704
+ type: "Convolution"
1705
+ bottom: "Mconv6_stage6"
1706
+ # top: "Mconv7_stage6"
1707
+ top: "net_output"
1708
+ param {
1709
+ lr_mult: 4.0
1710
+ decay_mult: 1
1711
+ }
1712
+ param {
1713
+ lr_mult: 8.0
1714
+ decay_mult: 0
1715
+ }
1716
+ convolution_param {
1717
+ num_output: 71
1718
+ pad: 0
1719
+ kernel_size: 1
1720
+ weight_filler {
1721
+ type: "gaussian"
1722
+ std: 0.01
1723
+ }
1724
+ bias_filler {
1725
+ type: "constant"
1726
+ }
1727
+ }
1728
+ }
face/pose_iter_116000.caffemodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a60d12d5216fae25fbe605db317a75e6f9dc797a2eed0d23577b21cda8aa3510
3
+ size 153717332
getModels.bat ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :: Avoid printing all the comments in the Windows cmd
2
+ @echo off
3
+
4
+ echo ------------------------- BODY, FOOT, FACE, AND HAND MODELS -------------------------
5
+ echo ----- Downloading body pose (COCO and MPI), face and hand models -----
6
+ SET WGET_EXE=..\3rdparty\windows\wget\wget.exe
7
+ SET OPENPOSE_URL=http://vcl.snu.ac.kr/OpenPose/models/
8
+ SET POSE_FOLDER=pose/
9
+ SET FACE_FOLDER=face/
10
+ SET HAND_FOLDER=hand/
11
+
12
+ echo:
13
+ echo ------------------------- POSE (BODY+FOOT) MODELS -------------------------
14
+ echo Body (BODY_25)
15
+ set BODY_25_FOLDER=%POSE_FOLDER%body_25/
16
+ set BODY_25_MODEL=%BODY_25_FOLDER%pose_iter_584000.caffemodel
17
+ %WGET_EXE% -c %OPENPOSE_URL%%BODY_25_MODEL% -P %BODY_25_FOLDER%
18
+
19
+ echo Body (COCO)
20
+ SET COCO_FOLDER=%POSE_FOLDER%coco/
21
+ SET COCO_MODEL=%COCO_FOLDER%pose_iter_440000.caffemodel
22
+ %WGET_EXE% -c %OPENPOSE_URL%%COCO_MODEL% -P %COCO_FOLDER%
23
+
24
+ echo:
25
+ echo Body (MPI)
26
+ SET MPI_FOLDER=%POSE_FOLDER%mpi/
27
+ SET MPI_MODEL=%MPI_FOLDER%pose_iter_160000.caffemodel
28
+ %WGET_EXE% -c %OPENPOSE_URL%%MPI_MODEL% -P %MPI_FOLDER%
29
+ echo ----------------------- POSE DOWNLOADED -----------------------
30
+
31
+ echo:
32
+ echo ------------------------- FACE MODELS -------------------------
33
+ echo Face
34
+ SET FACE_MODEL=%FACE_FOLDER%pose_iter_116000.caffemodel
35
+ %WGET_EXE% -c %OPENPOSE_URL%%FACE_MODEL% -P %FACE_FOLDER%
36
+ echo ----------------------- FACE DOWNLOADED -----------------------
37
+
38
+ echo:
39
+ echo ------------------------- HAND MODELS -------------------------
40
+ echo Hand
41
+ SET HAND_MODEL=%HAND_FOLDER%pose_iter_102000.caffemodel
42
+ %WGET_EXE% -c %OPENPOSE_URL%%HAND_MODEL% -P %HAND_FOLDER%
43
+ echo ----------------------- HAND DOWNLOADED -----------------------
getModels.sh ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ------------------------- BODY, FOOT, FACE, AND HAND MODELS -------------------------
2
+ # Downloading body pose (COCO and MPI), face and hand models
3
+ OPENPOSE_URL="http://vcl.snu.ac.kr/OpenPose/models/"
4
+ POSE_FOLDER="pose/"
5
+ FACE_FOLDER="face/"
6
+ HAND_FOLDER="hand/"
7
+
8
+ # ------------------------- POSE (BODY+FOOT) MODELS -------------------------
9
+ # Body (BODY_25)
10
+ BODY_25_FOLDER=${POSE_FOLDER}"body_25/"
11
+ BODY_25_MODEL=${BODY_25_FOLDER}"pose_iter_584000.caffemodel"
12
+ wget -c ${OPENPOSE_URL}${BODY_25_MODEL} -P ${BODY_25_FOLDER}
13
+
14
+ # Body (COCO)
15
+ COCO_FOLDER=${POSE_FOLDER}"coco/"
16
+ COCO_MODEL=${COCO_FOLDER}"pose_iter_440000.caffemodel"
17
+ wget -c ${OPENPOSE_URL}${COCO_MODEL} -P ${COCO_FOLDER}
18
+ # Alternative: it will not check whether file was fully downloaded
19
+ # if [ ! -f $COCO_MODEL ]; then
20
+ # wget ${OPENPOSE_URL}$COCO_MODEL -P $COCO_FOLDER
21
+ # fi
22
+
23
+ # Body (MPI)
24
+ MPI_FOLDER=${POSE_FOLDER}"mpi/"
25
+ MPI_MODEL=${MPI_FOLDER}"pose_iter_160000.caffemodel"
26
+ wget -c ${OPENPOSE_URL}${MPI_MODEL} -P ${MPI_FOLDER}
27
+
28
+ # "------------------------- FACE MODELS -------------------------"
29
+ # Face
30
+ FACE_MODEL=${FACE_FOLDER}"pose_iter_116000.caffemodel"
31
+ wget -c ${OPENPOSE_URL}${FACE_MODEL} -P ${FACE_FOLDER}
32
+
33
+ # "------------------------- HAND MODELS -------------------------"
34
+ # Hand
35
+ HAND_MODEL=$HAND_FOLDER"pose_iter_102000.caffemodel"
36
+ wget -c ${OPENPOSE_URL}${HAND_MODEL} -P ${HAND_FOLDER}
hand/pose_deploy.prototxt ADDED
@@ -0,0 +1,1756 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ input: "image"
2
+ input_dim: 1 # Original: 2
3
+ input_dim: 3 # It crashes if not left to 3
4
+ input_dim: 1 # Original: 368
5
+ input_dim: 1 # Original: 368
6
+ layer {
7
+ name: "conv1_1"
8
+ type: "Convolution"
9
+ bottom: "image"
10
+ top: "conv1_1"
11
+ param {
12
+ lr_mult: 1.0
13
+ decay_mult: 1
14
+ }
15
+ param {
16
+ lr_mult: 2.0
17
+ decay_mult: 0
18
+ }
19
+ convolution_param {
20
+ num_output: 64
21
+ pad: 1
22
+ kernel_size: 3
23
+ weight_filler {
24
+ type: "xavier"
25
+ }
26
+ bias_filler {
27
+ type: "constant"
28
+ }
29
+ dilation: 1
30
+ }
31
+ }
32
+ layer {
33
+ name: "relu1_1"
34
+ type: "ReLU"
35
+ bottom: "conv1_1"
36
+ top: "conv1_1"
37
+ }
38
+ layer {
39
+ name: "conv1_2"
40
+ type: "Convolution"
41
+ bottom: "conv1_1"
42
+ top: "conv1_2"
43
+ param {
44
+ lr_mult: 1.0
45
+ decay_mult: 1
46
+ }
47
+ param {
48
+ lr_mult: 2.0
49
+ decay_mult: 0
50
+ }
51
+ convolution_param {
52
+ num_output: 64
53
+ pad: 1
54
+ kernel_size: 3
55
+ weight_filler {
56
+ type: "xavier"
57
+ }
58
+ bias_filler {
59
+ type: "constant"
60
+ }
61
+ dilation: 1
62
+ }
63
+ }
64
+ layer {
65
+ name: "relu1_2"
66
+ type: "ReLU"
67
+ bottom: "conv1_2"
68
+ top: "conv1_2"
69
+ }
70
+ layer {
71
+ name: "pool1_stage1"
72
+ type: "Pooling"
73
+ bottom: "conv1_2"
74
+ top: "pool1_stage1"
75
+ pooling_param {
76
+ pool: MAX
77
+ kernel_size: 2
78
+ stride: 2
79
+ }
80
+ }
81
+ layer {
82
+ name: "conv2_1"
83
+ type: "Convolution"
84
+ bottom: "pool1_stage1"
85
+ top: "conv2_1"
86
+ param {
87
+ lr_mult: 1.0
88
+ decay_mult: 1
89
+ }
90
+ param {
91
+ lr_mult: 2.0
92
+ decay_mult: 0
93
+ }
94
+ convolution_param {
95
+ num_output: 128
96
+ pad: 1
97
+ kernel_size: 3
98
+ weight_filler {
99
+ type: "xavier"
100
+ }
101
+ bias_filler {
102
+ type: "constant"
103
+ }
104
+ dilation: 1
105
+ }
106
+ }
107
+ layer {
108
+ name: "relu2_1"
109
+ type: "ReLU"
110
+ bottom: "conv2_1"
111
+ top: "conv2_1"
112
+ }
113
+ layer {
114
+ name: "conv2_2"
115
+ type: "Convolution"
116
+ bottom: "conv2_1"
117
+ top: "conv2_2"
118
+ param {
119
+ lr_mult: 1.0
120
+ decay_mult: 1
121
+ }
122
+ param {
123
+ lr_mult: 2.0
124
+ decay_mult: 0
125
+ }
126
+ convolution_param {
127
+ num_output: 128
128
+ pad: 1
129
+ kernel_size: 3
130
+ weight_filler {
131
+ type: "xavier"
132
+ }
133
+ bias_filler {
134
+ type: "constant"
135
+ }
136
+ dilation: 1
137
+ }
138
+ }
139
+ layer {
140
+ name: "relu2_2"
141
+ type: "ReLU"
142
+ bottom: "conv2_2"
143
+ top: "conv2_2"
144
+ }
145
+ layer {
146
+ name: "pool2_stage1"
147
+ type: "Pooling"
148
+ bottom: "conv2_2"
149
+ top: "pool2_stage1"
150
+ pooling_param {
151
+ pool: MAX
152
+ kernel_size: 2
153
+ stride: 2
154
+ }
155
+ }
156
+ layer {
157
+ name: "conv3_1"
158
+ type: "Convolution"
159
+ bottom: "pool2_stage1"
160
+ top: "conv3_1"
161
+ param {
162
+ lr_mult: 1.0
163
+ decay_mult: 1
164
+ }
165
+ param {
166
+ lr_mult: 2.0
167
+ decay_mult: 0
168
+ }
169
+ convolution_param {
170
+ num_output: 256
171
+ pad: 1
172
+ kernel_size: 3
173
+ weight_filler {
174
+ type: "xavier"
175
+ }
176
+ bias_filler {
177
+ type: "constant"
178
+ }
179
+ dilation: 1
180
+ }
181
+ }
182
+ layer {
183
+ name: "relu3_1"
184
+ type: "ReLU"
185
+ bottom: "conv3_1"
186
+ top: "conv3_1"
187
+ }
188
+ layer {
189
+ name: "conv3_2"
190
+ type: "Convolution"
191
+ bottom: "conv3_1"
192
+ top: "conv3_2"
193
+ param {
194
+ lr_mult: 1.0
195
+ decay_mult: 1
196
+ }
197
+ param {
198
+ lr_mult: 2.0
199
+ decay_mult: 0
200
+ }
201
+ convolution_param {
202
+ num_output: 256
203
+ pad: 1
204
+ kernel_size: 3
205
+ weight_filler {
206
+ type: "xavier"
207
+ }
208
+ bias_filler {
209
+ type: "constant"
210
+ }
211
+ dilation: 1
212
+ }
213
+ }
214
+ layer {
215
+ name: "relu3_2"
216
+ type: "ReLU"
217
+ bottom: "conv3_2"
218
+ top: "conv3_2"
219
+ }
220
+ layer {
221
+ name: "conv3_3"
222
+ type: "Convolution"
223
+ bottom: "conv3_2"
224
+ top: "conv3_3"
225
+ param {
226
+ lr_mult: 1.0
227
+ decay_mult: 1
228
+ }
229
+ param {
230
+ lr_mult: 2.0
231
+ decay_mult: 0
232
+ }
233
+ convolution_param {
234
+ num_output: 256
235
+ pad: 1
236
+ kernel_size: 3
237
+ weight_filler {
238
+ type: "xavier"
239
+ }
240
+ bias_filler {
241
+ type: "constant"
242
+ }
243
+ dilation: 1
244
+ }
245
+ }
246
+ layer {
247
+ name: "relu3_3"
248
+ type: "ReLU"
249
+ bottom: "conv3_3"
250
+ top: "conv3_3"
251
+ }
252
+ layer {
253
+ name: "conv3_4"
254
+ type: "Convolution"
255
+ bottom: "conv3_3"
256
+ top: "conv3_4"
257
+ param {
258
+ lr_mult: 1.0
259
+ decay_mult: 1
260
+ }
261
+ param {
262
+ lr_mult: 2.0
263
+ decay_mult: 0
264
+ }
265
+ convolution_param {
266
+ num_output: 256
267
+ pad: 1
268
+ kernel_size: 3
269
+ weight_filler {
270
+ type: "xavier"
271
+ }
272
+ bias_filler {
273
+ type: "constant"
274
+ }
275
+ dilation: 1
276
+ }
277
+ }
278
+ layer {
279
+ name: "relu3_4"
280
+ type: "ReLU"
281
+ bottom: "conv3_4"
282
+ top: "conv3_4"
283
+ }
284
+ layer {
285
+ name: "pool3_stage1"
286
+ type: "Pooling"
287
+ bottom: "conv3_4"
288
+ top: "pool3_stage1"
289
+ pooling_param {
290
+ pool: MAX
291
+ kernel_size: 2
292
+ stride: 2
293
+ }
294
+ }
295
+ layer {
296
+ name: "conv4_1"
297
+ type: "Convolution"
298
+ bottom: "pool3_stage1"
299
+ top: "conv4_1"
300
+ param {
301
+ lr_mult: 1.0
302
+ decay_mult: 1
303
+ }
304
+ param {
305
+ lr_mult: 2.0
306
+ decay_mult: 0
307
+ }
308
+ convolution_param {
309
+ num_output: 512
310
+ pad: 1
311
+ kernel_size: 3
312
+ weight_filler {
313
+ type: "xavier"
314
+ }
315
+ bias_filler {
316
+ type: "constant"
317
+ }
318
+ dilation: 1
319
+ }
320
+ }
321
+ layer {
322
+ name: "relu4_1"
323
+ type: "ReLU"
324
+ bottom: "conv4_1"
325
+ top: "conv4_1"
326
+ }
327
+ layer {
328
+ name: "conv4_2"
329
+ type: "Convolution"
330
+ bottom: "conv4_1"
331
+ top: "conv4_2"
332
+ param {
333
+ lr_mult: 1.0
334
+ decay_mult: 1
335
+ }
336
+ param {
337
+ lr_mult: 2.0
338
+ decay_mult: 0
339
+ }
340
+ convolution_param {
341
+ num_output: 512
342
+ pad: 1
343
+ kernel_size: 3
344
+ weight_filler {
345
+ type: "xavier"
346
+ }
347
+ bias_filler {
348
+ type: "constant"
349
+ }
350
+ dilation: 1
351
+ }
352
+ }
353
+ layer {
354
+ name: "relu4_2"
355
+ type: "ReLU"
356
+ bottom: "conv4_2"
357
+ top: "conv4_2"
358
+ }
359
+ layer {
360
+ name: "conv4_3"
361
+ type: "Convolution"
362
+ bottom: "conv4_2"
363
+ top: "conv4_3"
364
+ param {
365
+ lr_mult: 1.0
366
+ decay_mult: 1
367
+ }
368
+ param {
369
+ lr_mult: 2.0
370
+ decay_mult: 0
371
+ }
372
+ convolution_param {
373
+ num_output: 512
374
+ pad: 1
375
+ kernel_size: 3
376
+ weight_filler {
377
+ type: "xavier"
378
+ }
379
+ bias_filler {
380
+ type: "constant"
381
+ }
382
+ dilation: 1
383
+ }
384
+ }
385
+ layer {
386
+ name: "relu4_3"
387
+ type: "ReLU"
388
+ bottom: "conv4_3"
389
+ top: "conv4_3"
390
+ }
391
+ layer {
392
+ name: "conv4_4"
393
+ type: "Convolution"
394
+ bottom: "conv4_3"
395
+ top: "conv4_4"
396
+ param {
397
+ lr_mult: 1.0
398
+ decay_mult: 1
399
+ }
400
+ param {
401
+ lr_mult: 2.0
402
+ decay_mult: 0
403
+ }
404
+ convolution_param {
405
+ num_output: 512
406
+ pad: 1
407
+ kernel_size: 3
408
+ weight_filler {
409
+ type: "xavier"
410
+ }
411
+ bias_filler {
412
+ type: "constant"
413
+ }
414
+ dilation: 1
415
+ }
416
+ }
417
+ layer {
418
+ name: "relu4_4"
419
+ type: "ReLU"
420
+ bottom: "conv4_4"
421
+ top: "conv4_4"
422
+ }
423
+ layer {
424
+ name: "conv5_1"
425
+ type: "Convolution"
426
+ bottom: "conv4_4"
427
+ top: "conv5_1"
428
+ param {
429
+ lr_mult: 1.0
430
+ decay_mult: 1
431
+ }
432
+ param {
433
+ lr_mult: 2.0
434
+ decay_mult: 0
435
+ }
436
+ convolution_param {
437
+ num_output: 512
438
+ pad: 1
439
+ kernel_size: 3
440
+ weight_filler {
441
+ type: "xavier"
442
+ }
443
+ bias_filler {
444
+ type: "constant"
445
+ }
446
+ dilation: 1
447
+ }
448
+ }
449
+ layer {
450
+ name: "relu5_1"
451
+ type: "ReLU"
452
+ bottom: "conv5_1"
453
+ top: "conv5_1"
454
+ }
455
+ layer {
456
+ name: "conv5_2"
457
+ type: "Convolution"
458
+ bottom: "conv5_1"
459
+ top: "conv5_2"
460
+ param {
461
+ lr_mult: 1.0
462
+ decay_mult: 1
463
+ }
464
+ param {
465
+ lr_mult: 2.0
466
+ decay_mult: 0
467
+ }
468
+ convolution_param {
469
+ num_output: 512
470
+ pad: 1
471
+ kernel_size: 3
472
+ weight_filler {
473
+ type: "xavier"
474
+ }
475
+ bias_filler {
476
+ type: "constant"
477
+ }
478
+ dilation: 1
479
+ }
480
+ }
481
+ layer {
482
+ name: "relu5_2"
483
+ type: "ReLU"
484
+ bottom: "conv5_2"
485
+ top: "conv5_2"
486
+ }
487
+ layer {
488
+ name: "conv5_3_CPM"
489
+ type: "Convolution"
490
+ bottom: "conv5_2"
491
+ top: "conv5_3_CPM"
492
+ param {
493
+ lr_mult: 1.0
494
+ decay_mult: 1
495
+ }
496
+ param {
497
+ lr_mult: 2.0
498
+ decay_mult: 0
499
+ }
500
+ convolution_param {
501
+ num_output: 128
502
+ pad: 1
503
+ kernel_size: 3
504
+ weight_filler {
505
+ type: "gaussian"
506
+ std: 0.01
507
+ }
508
+ bias_filler {
509
+ type: "constant"
510
+ }
511
+ dilation: 1
512
+ }
513
+ }
514
+ layer {
515
+ name: "relu5_4_stage1_3"
516
+ type: "ReLU"
517
+ bottom: "conv5_3_CPM"
518
+ top: "conv5_3_CPM"
519
+ }
520
+ layer {
521
+ name: "conv6_1_CPM"
522
+ type: "Convolution"
523
+ bottom: "conv5_3_CPM"
524
+ top: "conv6_1_CPM"
525
+ param {
526
+ lr_mult: 1.0
527
+ decay_mult: 1
528
+ }
529
+ param {
530
+ lr_mult: 2.0
531
+ decay_mult: 0
532
+ }
533
+ convolution_param {
534
+ num_output: 512
535
+ pad: 0
536
+ kernel_size: 1
537
+ weight_filler {
538
+ type: "gaussian"
539
+ std: 0.01
540
+ }
541
+ bias_filler {
542
+ type: "constant"
543
+ }
544
+ dilation: 1
545
+ }
546
+ }
547
+ layer {
548
+ name: "relu6_4_stage1_1"
549
+ type: "ReLU"
550
+ bottom: "conv6_1_CPM"
551
+ top: "conv6_1_CPM"
552
+ }
553
+ layer {
554
+ name: "conv6_2_CPM"
555
+ type: "Convolution"
556
+ bottom: "conv6_1_CPM"
557
+ top: "conv6_2_CPM"
558
+ param {
559
+ lr_mult: 1.0
560
+ decay_mult: 1
561
+ }
562
+ param {
563
+ lr_mult: 2.0
564
+ decay_mult: 0
565
+ }
566
+ convolution_param {
567
+ num_output: 22
568
+ pad: 0
569
+ kernel_size: 1
570
+ weight_filler {
571
+ type: "gaussian"
572
+ std: 0.01
573
+ }
574
+ bias_filler {
575
+ type: "constant"
576
+ }
577
+ dilation: 1
578
+ }
579
+ }
580
+ layer {
581
+ name: "concat_stage2"
582
+ type: "Concat"
583
+ bottom: "conv6_2_CPM"
584
+ bottom: "conv5_3_CPM"
585
+ top: "concat_stage2"
586
+ concat_param {
587
+ axis: 1
588
+ }
589
+ }
590
+ layer {
591
+ name: "Mconv1_stage2"
592
+ type: "Convolution"
593
+ bottom: "concat_stage2"
594
+ top: "Mconv1_stage2"
595
+ param {
596
+ lr_mult: 4.0
597
+ decay_mult: 1
598
+ }
599
+ param {
600
+ lr_mult: 8.0
601
+ decay_mult: 0
602
+ }
603
+ convolution_param {
604
+ num_output: 128
605
+ pad: 3
606
+ kernel_size: 7
607
+ weight_filler {
608
+ type: "gaussian"
609
+ std: 0.01
610
+ }
611
+ bias_filler {
612
+ type: "constant"
613
+ }
614
+ dilation: 1
615
+ }
616
+ }
617
+ layer {
618
+ name: "Mrelu1_2_stage2_1"
619
+ type: "ReLU"
620
+ bottom: "Mconv1_stage2"
621
+ top: "Mconv1_stage2"
622
+ }
623
+ layer {
624
+ name: "Mconv2_stage2"
625
+ type: "Convolution"
626
+ bottom: "Mconv1_stage2"
627
+ top: "Mconv2_stage2"
628
+ param {
629
+ lr_mult: 4.0
630
+ decay_mult: 1
631
+ }
632
+ param {
633
+ lr_mult: 8.0
634
+ decay_mult: 0
635
+ }
636
+ convolution_param {
637
+ num_output: 128
638
+ pad: 3
639
+ kernel_size: 7
640
+ weight_filler {
641
+ type: "gaussian"
642
+ std: 0.01
643
+ }
644
+ bias_filler {
645
+ type: "constant"
646
+ }
647
+ dilation: 1
648
+ }
649
+ }
650
+ layer {
651
+ name: "Mrelu1_3_stage2_2"
652
+ type: "ReLU"
653
+ bottom: "Mconv2_stage2"
654
+ top: "Mconv2_stage2"
655
+ }
656
+ layer {
657
+ name: "Mconv3_stage2"
658
+ type: "Convolution"
659
+ bottom: "Mconv2_stage2"
660
+ top: "Mconv3_stage2"
661
+ param {
662
+ lr_mult: 4.0
663
+ decay_mult: 1
664
+ }
665
+ param {
666
+ lr_mult: 8.0
667
+ decay_mult: 0
668
+ }
669
+ convolution_param {
670
+ num_output: 128
671
+ pad: 3
672
+ kernel_size: 7
673
+ weight_filler {
674
+ type: "gaussian"
675
+ std: 0.01
676
+ }
677
+ bias_filler {
678
+ type: "constant"
679
+ }
680
+ dilation: 1
681
+ }
682
+ }
683
+ layer {
684
+ name: "Mrelu1_4_stage2_3"
685
+ type: "ReLU"
686
+ bottom: "Mconv3_stage2"
687
+ top: "Mconv3_stage2"
688
+ }
689
+ layer {
690
+ name: "Mconv4_stage2"
691
+ type: "Convolution"
692
+ bottom: "Mconv3_stage2"
693
+ top: "Mconv4_stage2"
694
+ param {
695
+ lr_mult: 4.0
696
+ decay_mult: 1
697
+ }
698
+ param {
699
+ lr_mult: 8.0
700
+ decay_mult: 0
701
+ }
702
+ convolution_param {
703
+ num_output: 128
704
+ pad: 3
705
+ kernel_size: 7
706
+ weight_filler {
707
+ type: "gaussian"
708
+ std: 0.01
709
+ }
710
+ bias_filler {
711
+ type: "constant"
712
+ }
713
+ dilation: 1
714
+ }
715
+ }
716
+ layer {
717
+ name: "Mrelu1_5_stage2_4"
718
+ type: "ReLU"
719
+ bottom: "Mconv4_stage2"
720
+ top: "Mconv4_stage2"
721
+ }
722
+ layer {
723
+ name: "Mconv5_stage2"
724
+ type: "Convolution"
725
+ bottom: "Mconv4_stage2"
726
+ top: "Mconv5_stage2"
727
+ param {
728
+ lr_mult: 4.0
729
+ decay_mult: 1
730
+ }
731
+ param {
732
+ lr_mult: 8.0
733
+ decay_mult: 0
734
+ }
735
+ convolution_param {
736
+ num_output: 128
737
+ pad: 3
738
+ kernel_size: 7
739
+ weight_filler {
740
+ type: "gaussian"
741
+ std: 0.01
742
+ }
743
+ bias_filler {
744
+ type: "constant"
745
+ }
746
+ dilation: 1
747
+ }
748
+ }
749
+ layer {
750
+ name: "Mrelu1_6_stage2_5"
751
+ type: "ReLU"
752
+ bottom: "Mconv5_stage2"
753
+ top: "Mconv5_stage2"
754
+ }
755
+ layer {
756
+ name: "Mconv6_stage2"
757
+ type: "Convolution"
758
+ bottom: "Mconv5_stage2"
759
+ top: "Mconv6_stage2"
760
+ param {
761
+ lr_mult: 4.0
762
+ decay_mult: 1
763
+ }
764
+ param {
765
+ lr_mult: 8.0
766
+ decay_mult: 0
767
+ }
768
+ convolution_param {
769
+ num_output: 128
770
+ pad: 0
771
+ kernel_size: 1
772
+ weight_filler {
773
+ type: "gaussian"
774
+ std: 0.01
775
+ }
776
+ bias_filler {
777
+ type: "constant"
778
+ }
779
+ dilation: 1
780
+ }
781
+ }
782
+ layer {
783
+ name: "Mrelu1_7_stage2_6"
784
+ type: "ReLU"
785
+ bottom: "Mconv6_stage2"
786
+ top: "Mconv6_stage2"
787
+ }
788
+ layer {
789
+ name: "Mconv7_stage2"
790
+ type: "Convolution"
791
+ bottom: "Mconv6_stage2"
792
+ top: "Mconv7_stage2"
793
+ param {
794
+ lr_mult: 4.0
795
+ decay_mult: 1
796
+ }
797
+ param {
798
+ lr_mult: 8.0
799
+ decay_mult: 0
800
+ }
801
+ convolution_param {
802
+ num_output: 22
803
+ pad: 0
804
+ kernel_size: 1
805
+ weight_filler {
806
+ type: "gaussian"
807
+ std: 0.01
808
+ }
809
+ bias_filler {
810
+ type: "constant"
811
+ }
812
+ dilation: 1
813
+ }
814
+ }
815
+ layer {
816
+ name: "concat_stage3"
817
+ type: "Concat"
818
+ bottom: "Mconv7_stage2"
819
+ bottom: "conv5_3_CPM"
820
+ top: "concat_stage3"
821
+ concat_param {
822
+ axis: 1
823
+ }
824
+ }
825
+ layer {
826
+ name: "Mconv1_stage3"
827
+ type: "Convolution"
828
+ bottom: "concat_stage3"
829
+ top: "Mconv1_stage3"
830
+ param {
831
+ lr_mult: 4.0
832
+ decay_mult: 1
833
+ }
834
+ param {
835
+ lr_mult: 8.0
836
+ decay_mult: 0
837
+ }
838
+ convolution_param {
839
+ num_output: 128
840
+ pad: 3
841
+ kernel_size: 7
842
+ weight_filler {
843
+ type: "gaussian"
844
+ std: 0.01
845
+ }
846
+ bias_filler {
847
+ type: "constant"
848
+ }
849
+ dilation: 1
850
+ }
851
+ }
852
+ layer {
853
+ name: "Mrelu1_2_stage3_1"
854
+ type: "ReLU"
855
+ bottom: "Mconv1_stage3"
856
+ top: "Mconv1_stage3"
857
+ }
858
+ layer {
859
+ name: "Mconv2_stage3"
860
+ type: "Convolution"
861
+ bottom: "Mconv1_stage3"
862
+ top: "Mconv2_stage3"
863
+ param {
864
+ lr_mult: 4.0
865
+ decay_mult: 1
866
+ }
867
+ param {
868
+ lr_mult: 8.0
869
+ decay_mult: 0
870
+ }
871
+ convolution_param {
872
+ num_output: 128
873
+ pad: 3
874
+ kernel_size: 7
875
+ weight_filler {
876
+ type: "gaussian"
877
+ std: 0.01
878
+ }
879
+ bias_filler {
880
+ type: "constant"
881
+ }
882
+ dilation: 1
883
+ }
884
+ }
885
+ layer {
886
+ name: "Mrelu1_3_stage3_2"
887
+ type: "ReLU"
888
+ bottom: "Mconv2_stage3"
889
+ top: "Mconv2_stage3"
890
+ }
891
+ layer {
892
+ name: "Mconv3_stage3"
893
+ type: "Convolution"
894
+ bottom: "Mconv2_stage3"
895
+ top: "Mconv3_stage3"
896
+ param {
897
+ lr_mult: 4.0
898
+ decay_mult: 1
899
+ }
900
+ param {
901
+ lr_mult: 8.0
902
+ decay_mult: 0
903
+ }
904
+ convolution_param {
905
+ num_output: 128
906
+ pad: 3
907
+ kernel_size: 7
908
+ weight_filler {
909
+ type: "gaussian"
910
+ std: 0.01
911
+ }
912
+ bias_filler {
913
+ type: "constant"
914
+ }
915
+ dilation: 1
916
+ }
917
+ }
918
+ layer {
919
+ name: "Mrelu1_4_stage3_3"
920
+ type: "ReLU"
921
+ bottom: "Mconv3_stage3"
922
+ top: "Mconv3_stage3"
923
+ }
924
+ layer {
925
+ name: "Mconv4_stage3"
926
+ type: "Convolution"
927
+ bottom: "Mconv3_stage3"
928
+ top: "Mconv4_stage3"
929
+ param {
930
+ lr_mult: 4.0
931
+ decay_mult: 1
932
+ }
933
+ param {
934
+ lr_mult: 8.0
935
+ decay_mult: 0
936
+ }
937
+ convolution_param {
938
+ num_output: 128
939
+ pad: 3
940
+ kernel_size: 7
941
+ weight_filler {
942
+ type: "gaussian"
943
+ std: 0.01
944
+ }
945
+ bias_filler {
946
+ type: "constant"
947
+ }
948
+ dilation: 1
949
+ }
950
+ }
951
+ layer {
952
+ name: "Mrelu1_5_stage3_4"
953
+ type: "ReLU"
954
+ bottom: "Mconv4_stage3"
955
+ top: "Mconv4_stage3"
956
+ }
957
+ layer {
958
+ name: "Mconv5_stage3"
959
+ type: "Convolution"
960
+ bottom: "Mconv4_stage3"
961
+ top: "Mconv5_stage3"
962
+ param {
963
+ lr_mult: 4.0
964
+ decay_mult: 1
965
+ }
966
+ param {
967
+ lr_mult: 8.0
968
+ decay_mult: 0
969
+ }
970
+ convolution_param {
971
+ num_output: 128
972
+ pad: 3
973
+ kernel_size: 7
974
+ weight_filler {
975
+ type: "gaussian"
976
+ std: 0.01
977
+ }
978
+ bias_filler {
979
+ type: "constant"
980
+ }
981
+ dilation: 1
982
+ }
983
+ }
984
+ layer {
985
+ name: "Mrelu1_6_stage3_5"
986
+ type: "ReLU"
987
+ bottom: "Mconv5_stage3"
988
+ top: "Mconv5_stage3"
989
+ }
990
+ layer {
991
+ name: "Mconv6_stage3"
992
+ type: "Convolution"
993
+ bottom: "Mconv5_stage3"
994
+ top: "Mconv6_stage3"
995
+ param {
996
+ lr_mult: 4.0
997
+ decay_mult: 1
998
+ }
999
+ param {
1000
+ lr_mult: 8.0
1001
+ decay_mult: 0
1002
+ }
1003
+ convolution_param {
1004
+ num_output: 128
1005
+ pad: 0
1006
+ kernel_size: 1
1007
+ weight_filler {
1008
+ type: "gaussian"
1009
+ std: 0.01
1010
+ }
1011
+ bias_filler {
1012
+ type: "constant"
1013
+ }
1014
+ dilation: 1
1015
+ }
1016
+ }
1017
+ layer {
1018
+ name: "Mrelu1_7_stage3_6"
1019
+ type: "ReLU"
1020
+ bottom: "Mconv6_stage3"
1021
+ top: "Mconv6_stage3"
1022
+ }
1023
+ layer {
1024
+ name: "Mconv7_stage3"
1025
+ type: "Convolution"
1026
+ bottom: "Mconv6_stage3"
1027
+ top: "Mconv7_stage3"
1028
+ param {
1029
+ lr_mult: 4.0
1030
+ decay_mult: 1
1031
+ }
1032
+ param {
1033
+ lr_mult: 8.0
1034
+ decay_mult: 0
1035
+ }
1036
+ convolution_param {
1037
+ num_output: 22
1038
+ pad: 0
1039
+ kernel_size: 1
1040
+ weight_filler {
1041
+ type: "gaussian"
1042
+ std: 0.01
1043
+ }
1044
+ bias_filler {
1045
+ type: "constant"
1046
+ }
1047
+ dilation: 1
1048
+ }
1049
+ }
1050
+ layer {
1051
+ name: "concat_stage4"
1052
+ type: "Concat"
1053
+ bottom: "Mconv7_stage3"
1054
+ bottom: "conv5_3_CPM"
1055
+ top: "concat_stage4"
1056
+ concat_param {
1057
+ axis: 1
1058
+ }
1059
+ }
1060
+ layer {
1061
+ name: "Mconv1_stage4"
1062
+ type: "Convolution"
1063
+ bottom: "concat_stage4"
1064
+ top: "Mconv1_stage4"
1065
+ param {
1066
+ lr_mult: 4.0
1067
+ decay_mult: 1
1068
+ }
1069
+ param {
1070
+ lr_mult: 8.0
1071
+ decay_mult: 0
1072
+ }
1073
+ convolution_param {
1074
+ num_output: 128
1075
+ pad: 3
1076
+ kernel_size: 7
1077
+ weight_filler {
1078
+ type: "gaussian"
1079
+ std: 0.01
1080
+ }
1081
+ bias_filler {
1082
+ type: "constant"
1083
+ }
1084
+ dilation: 1
1085
+ }
1086
+ }
1087
+ layer {
1088
+ name: "Mrelu1_2_stage4_1"
1089
+ type: "ReLU"
1090
+ bottom: "Mconv1_stage4"
1091
+ top: "Mconv1_stage4"
1092
+ }
1093
+ layer {
1094
+ name: "Mconv2_stage4"
1095
+ type: "Convolution"
1096
+ bottom: "Mconv1_stage4"
1097
+ top: "Mconv2_stage4"
1098
+ param {
1099
+ lr_mult: 4.0
1100
+ decay_mult: 1
1101
+ }
1102
+ param {
1103
+ lr_mult: 8.0
1104
+ decay_mult: 0
1105
+ }
1106
+ convolution_param {
1107
+ num_output: 128
1108
+ pad: 3
1109
+ kernel_size: 7
1110
+ weight_filler {
1111
+ type: "gaussian"
1112
+ std: 0.01
1113
+ }
1114
+ bias_filler {
1115
+ type: "constant"
1116
+ }
1117
+ dilation: 1
1118
+ }
1119
+ }
1120
+ layer {
1121
+ name: "Mrelu1_3_stage4_2"
1122
+ type: "ReLU"
1123
+ bottom: "Mconv2_stage4"
1124
+ top: "Mconv2_stage4"
1125
+ }
1126
+ layer {
1127
+ name: "Mconv3_stage4"
1128
+ type: "Convolution"
1129
+ bottom: "Mconv2_stage4"
1130
+ top: "Mconv3_stage4"
1131
+ param {
1132
+ lr_mult: 4.0
1133
+ decay_mult: 1
1134
+ }
1135
+ param {
1136
+ lr_mult: 8.0
1137
+ decay_mult: 0
1138
+ }
1139
+ convolution_param {
1140
+ num_output: 128
1141
+ pad: 3
1142
+ kernel_size: 7
1143
+ weight_filler {
1144
+ type: "gaussian"
1145
+ std: 0.01
1146
+ }
1147
+ bias_filler {
1148
+ type: "constant"
1149
+ }
1150
+ dilation: 1
1151
+ }
1152
+ }
1153
+ layer {
1154
+ name: "Mrelu1_4_stage4_3"
1155
+ type: "ReLU"
1156
+ bottom: "Mconv3_stage4"
1157
+ top: "Mconv3_stage4"
1158
+ }
1159
+ layer {
1160
+ name: "Mconv4_stage4"
1161
+ type: "Convolution"
1162
+ bottom: "Mconv3_stage4"
1163
+ top: "Mconv4_stage4"
1164
+ param {
1165
+ lr_mult: 4.0
1166
+ decay_mult: 1
1167
+ }
1168
+ param {
1169
+ lr_mult: 8.0
1170
+ decay_mult: 0
1171
+ }
1172
+ convolution_param {
1173
+ num_output: 128
1174
+ pad: 3
1175
+ kernel_size: 7
1176
+ weight_filler {
1177
+ type: "gaussian"
1178
+ std: 0.01
1179
+ }
1180
+ bias_filler {
1181
+ type: "constant"
1182
+ }
1183
+ dilation: 1
1184
+ }
1185
+ }
1186
+ layer {
1187
+ name: "Mrelu1_5_stage4_4"
1188
+ type: "ReLU"
1189
+ bottom: "Mconv4_stage4"
1190
+ top: "Mconv4_stage4"
1191
+ }
1192
+ layer {
1193
+ name: "Mconv5_stage4"
1194
+ type: "Convolution"
1195
+ bottom: "Mconv4_stage4"
1196
+ top: "Mconv5_stage4"
1197
+ param {
1198
+ lr_mult: 4.0
1199
+ decay_mult: 1
1200
+ }
1201
+ param {
1202
+ lr_mult: 8.0
1203
+ decay_mult: 0
1204
+ }
1205
+ convolution_param {
1206
+ num_output: 128
1207
+ pad: 3
1208
+ kernel_size: 7
1209
+ weight_filler {
1210
+ type: "gaussian"
1211
+ std: 0.01
1212
+ }
1213
+ bias_filler {
1214
+ type: "constant"
1215
+ }
1216
+ dilation: 1
1217
+ }
1218
+ }
1219
+ layer {
1220
+ name: "Mrelu1_6_stage4_5"
1221
+ type: "ReLU"
1222
+ bottom: "Mconv5_stage4"
1223
+ top: "Mconv5_stage4"
1224
+ }
1225
+ layer {
1226
+ name: "Mconv6_stage4"
1227
+ type: "Convolution"
1228
+ bottom: "Mconv5_stage4"
1229
+ top: "Mconv6_stage4"
1230
+ param {
1231
+ lr_mult: 4.0
1232
+ decay_mult: 1
1233
+ }
1234
+ param {
1235
+ lr_mult: 8.0
1236
+ decay_mult: 0
1237
+ }
1238
+ convolution_param {
1239
+ num_output: 128
1240
+ pad: 0
1241
+ kernel_size: 1
1242
+ weight_filler {
1243
+ type: "gaussian"
1244
+ std: 0.01
1245
+ }
1246
+ bias_filler {
1247
+ type: "constant"
1248
+ }
1249
+ dilation: 1
1250
+ }
1251
+ }
1252
+ layer {
1253
+ name: "Mrelu1_7_stage4_6"
1254
+ type: "ReLU"
1255
+ bottom: "Mconv6_stage4"
1256
+ top: "Mconv6_stage4"
1257
+ }
1258
+ layer {
1259
+ name: "Mconv7_stage4"
1260
+ type: "Convolution"
1261
+ bottom: "Mconv6_stage4"
1262
+ top: "Mconv7_stage4"
1263
+ param {
1264
+ lr_mult: 4.0
1265
+ decay_mult: 1
1266
+ }
1267
+ param {
1268
+ lr_mult: 8.0
1269
+ decay_mult: 0
1270
+ }
1271
+ convolution_param {
1272
+ num_output: 22
1273
+ pad: 0
1274
+ kernel_size: 1
1275
+ weight_filler {
1276
+ type: "gaussian"
1277
+ std: 0.01
1278
+ }
1279
+ bias_filler {
1280
+ type: "constant"
1281
+ }
1282
+ dilation: 1
1283
+ }
1284
+ }
1285
+ layer {
1286
+ name: "concat_stage5"
1287
+ type: "Concat"
1288
+ bottom: "Mconv7_stage4"
1289
+ bottom: "conv5_3_CPM"
1290
+ top: "concat_stage5"
1291
+ concat_param {
1292
+ axis: 1
1293
+ }
1294
+ }
1295
+ layer {
1296
+ name: "Mconv1_stage5"
1297
+ type: "Convolution"
1298
+ bottom: "concat_stage5"
1299
+ top: "Mconv1_stage5"
1300
+ param {
1301
+ lr_mult: 4.0
1302
+ decay_mult: 1
1303
+ }
1304
+ param {
1305
+ lr_mult: 8.0
1306
+ decay_mult: 0
1307
+ }
1308
+ convolution_param {
1309
+ num_output: 128
1310
+ pad: 3
1311
+ kernel_size: 7
1312
+ weight_filler {
1313
+ type: "gaussian"
1314
+ std: 0.01
1315
+ }
1316
+ bias_filler {
1317
+ type: "constant"
1318
+ }
1319
+ dilation: 1
1320
+ }
1321
+ }
1322
+ layer {
1323
+ name: "Mrelu1_2_stage5_1"
1324
+ type: "ReLU"
1325
+ bottom: "Mconv1_stage5"
1326
+ top: "Mconv1_stage5"
1327
+ }
1328
+ layer {
1329
+ name: "Mconv2_stage5"
1330
+ type: "Convolution"
1331
+ bottom: "Mconv1_stage5"
1332
+ top: "Mconv2_stage5"
1333
+ param {
1334
+ lr_mult: 4.0
1335
+ decay_mult: 1
1336
+ }
1337
+ param {
1338
+ lr_mult: 8.0
1339
+ decay_mult: 0
1340
+ }
1341
+ convolution_param {
1342
+ num_output: 128
1343
+ pad: 3
1344
+ kernel_size: 7
1345
+ weight_filler {
1346
+ type: "gaussian"
1347
+ std: 0.01
1348
+ }
1349
+ bias_filler {
1350
+ type: "constant"
1351
+ }
1352
+ dilation: 1
1353
+ }
1354
+ }
1355
+ layer {
1356
+ name: "Mrelu1_3_stage5_2"
1357
+ type: "ReLU"
1358
+ bottom: "Mconv2_stage5"
1359
+ top: "Mconv2_stage5"
1360
+ }
1361
+ layer {
1362
+ name: "Mconv3_stage5"
1363
+ type: "Convolution"
1364
+ bottom: "Mconv2_stage5"
1365
+ top: "Mconv3_stage5"
1366
+ param {
1367
+ lr_mult: 4.0
1368
+ decay_mult: 1
1369
+ }
1370
+ param {
1371
+ lr_mult: 8.0
1372
+ decay_mult: 0
1373
+ }
1374
+ convolution_param {
1375
+ num_output: 128
1376
+ pad: 3
1377
+ kernel_size: 7
1378
+ weight_filler {
1379
+ type: "gaussian"
1380
+ std: 0.01
1381
+ }
1382
+ bias_filler {
1383
+ type: "constant"
1384
+ }
1385
+ dilation: 1
1386
+ }
1387
+ }
1388
+ layer {
1389
+ name: "Mrelu1_4_stage5_3"
1390
+ type: "ReLU"
1391
+ bottom: "Mconv3_stage5"
1392
+ top: "Mconv3_stage5"
1393
+ }
1394
+ layer {
1395
+ name: "Mconv4_stage5"
1396
+ type: "Convolution"
1397
+ bottom: "Mconv3_stage5"
1398
+ top: "Mconv4_stage5"
1399
+ param {
1400
+ lr_mult: 4.0
1401
+ decay_mult: 1
1402
+ }
1403
+ param {
1404
+ lr_mult: 8.0
1405
+ decay_mult: 0
1406
+ }
1407
+ convolution_param {
1408
+ num_output: 128
1409
+ pad: 3
1410
+ kernel_size: 7
1411
+ weight_filler {
1412
+ type: "gaussian"
1413
+ std: 0.01
1414
+ }
1415
+ bias_filler {
1416
+ type: "constant"
1417
+ }
1418
+ dilation: 1
1419
+ }
1420
+ }
1421
+ layer {
1422
+ name: "Mrelu1_5_stage5_4"
1423
+ type: "ReLU"
1424
+ bottom: "Mconv4_stage5"
1425
+ top: "Mconv4_stage5"
1426
+ }
1427
+ layer {
1428
+ name: "Mconv5_stage5"
1429
+ type: "Convolution"
1430
+ bottom: "Mconv4_stage5"
1431
+ top: "Mconv5_stage5"
1432
+ param {
1433
+ lr_mult: 4.0
1434
+ decay_mult: 1
1435
+ }
1436
+ param {
1437
+ lr_mult: 8.0
1438
+ decay_mult: 0
1439
+ }
1440
+ convolution_param {
1441
+ num_output: 128
1442
+ pad: 3
1443
+ kernel_size: 7
1444
+ weight_filler {
1445
+ type: "gaussian"
1446
+ std: 0.01
1447
+ }
1448
+ bias_filler {
1449
+ type: "constant"
1450
+ }
1451
+ dilation: 1
1452
+ }
1453
+ }
1454
+ layer {
1455
+ name: "Mrelu1_6_stage5_5"
1456
+ type: "ReLU"
1457
+ bottom: "Mconv5_stage5"
1458
+ top: "Mconv5_stage5"
1459
+ }
1460
+ layer {
1461
+ name: "Mconv6_stage5"
1462
+ type: "Convolution"
1463
+ bottom: "Mconv5_stage5"
1464
+ top: "Mconv6_stage5"
1465
+ param {
1466
+ lr_mult: 4.0
1467
+ decay_mult: 1
1468
+ }
1469
+ param {
1470
+ lr_mult: 8.0
1471
+ decay_mult: 0
1472
+ }
1473
+ convolution_param {
1474
+ num_output: 128
1475
+ pad: 0
1476
+ kernel_size: 1
1477
+ weight_filler {
1478
+ type: "gaussian"
1479
+ std: 0.01
1480
+ }
1481
+ bias_filler {
1482
+ type: "constant"
1483
+ }
1484
+ dilation: 1
1485
+ }
1486
+ }
1487
+ layer {
1488
+ name: "Mrelu1_7_stage5_6"
1489
+ type: "ReLU"
1490
+ bottom: "Mconv6_stage5"
1491
+ top: "Mconv6_stage5"
1492
+ }
1493
+ layer {
1494
+ name: "Mconv7_stage5"
1495
+ type: "Convolution"
1496
+ bottom: "Mconv6_stage5"
1497
+ top: "Mconv7_stage5"
1498
+ param {
1499
+ lr_mult: 4.0
1500
+ decay_mult: 1
1501
+ }
1502
+ param {
1503
+ lr_mult: 8.0
1504
+ decay_mult: 0
1505
+ }
1506
+ convolution_param {
1507
+ num_output: 22
1508
+ pad: 0
1509
+ kernel_size: 1
1510
+ weight_filler {
1511
+ type: "gaussian"
1512
+ std: 0.01
1513
+ }
1514
+ bias_filler {
1515
+ type: "constant"
1516
+ }
1517
+ dilation: 1
1518
+ }
1519
+ }
1520
+ layer {
1521
+ name: "concat_stage6"
1522
+ type: "Concat"
1523
+ bottom: "Mconv7_stage5"
1524
+ bottom: "conv5_3_CPM"
1525
+ top: "concat_stage6"
1526
+ concat_param {
1527
+ axis: 1
1528
+ }
1529
+ }
1530
+ layer {
1531
+ name: "Mconv1_stage6"
1532
+ type: "Convolution"
1533
+ bottom: "concat_stage6"
1534
+ top: "Mconv1_stage6"
1535
+ param {
1536
+ lr_mult: 4.0
1537
+ decay_mult: 1
1538
+ }
1539
+ param {
1540
+ lr_mult: 8.0
1541
+ decay_mult: 0
1542
+ }
1543
+ convolution_param {
1544
+ num_output: 128
1545
+ pad: 3
1546
+ kernel_size: 7
1547
+ weight_filler {
1548
+ type: "gaussian"
1549
+ std: 0.01
1550
+ }
1551
+ bias_filler {
1552
+ type: "constant"
1553
+ }
1554
+ dilation: 1
1555
+ }
1556
+ }
1557
+ layer {
1558
+ name: "Mrelu1_2_stage6_1"
1559
+ type: "ReLU"
1560
+ bottom: "Mconv1_stage6"
1561
+ top: "Mconv1_stage6"
1562
+ }
1563
+ layer {
1564
+ name: "Mconv2_stage6"
1565
+ type: "Convolution"
1566
+ bottom: "Mconv1_stage6"
1567
+ top: "Mconv2_stage6"
1568
+ param {
1569
+ lr_mult: 4.0
1570
+ decay_mult: 1
1571
+ }
1572
+ param {
1573
+ lr_mult: 8.0
1574
+ decay_mult: 0
1575
+ }
1576
+ convolution_param {
1577
+ num_output: 128
1578
+ pad: 3
1579
+ kernel_size: 7
1580
+ weight_filler {
1581
+ type: "gaussian"
1582
+ std: 0.01
1583
+ }
1584
+ bias_filler {
1585
+ type: "constant"
1586
+ }
1587
+ dilation: 1
1588
+ }
1589
+ }
1590
+ layer {
1591
+ name: "Mrelu1_3_stage6_2"
1592
+ type: "ReLU"
1593
+ bottom: "Mconv2_stage6"
1594
+ top: "Mconv2_stage6"
1595
+ }
1596
+ layer {
1597
+ name: "Mconv3_stage6"
1598
+ type: "Convolution"
1599
+ bottom: "Mconv2_stage6"
1600
+ top: "Mconv3_stage6"
1601
+ param {
1602
+ lr_mult: 4.0
1603
+ decay_mult: 1
1604
+ }
1605
+ param {
1606
+ lr_mult: 8.0
1607
+ decay_mult: 0
1608
+ }
1609
+ convolution_param {
1610
+ num_output: 128
1611
+ pad: 3
1612
+ kernel_size: 7
1613
+ weight_filler {
1614
+ type: "gaussian"
1615
+ std: 0.01
1616
+ }
1617
+ bias_filler {
1618
+ type: "constant"
1619
+ }
1620
+ dilation: 1
1621
+ }
1622
+ }
1623
+ layer {
1624
+ name: "Mrelu1_4_stage6_3"
1625
+ type: "ReLU"
1626
+ bottom: "Mconv3_stage6"
1627
+ top: "Mconv3_stage6"
1628
+ }
1629
+ layer {
1630
+ name: "Mconv4_stage6"
1631
+ type: "Convolution"
1632
+ bottom: "Mconv3_stage6"
1633
+ top: "Mconv4_stage6"
1634
+ param {
1635
+ lr_mult: 4.0
1636
+ decay_mult: 1
1637
+ }
1638
+ param {
1639
+ lr_mult: 8.0
1640
+ decay_mult: 0
1641
+ }
1642
+ convolution_param {
1643
+ num_output: 128
1644
+ pad: 3
1645
+ kernel_size: 7
1646
+ weight_filler {
1647
+ type: "gaussian"
1648
+ std: 0.01
1649
+ }
1650
+ bias_filler {
1651
+ type: "constant"
1652
+ }
1653
+ dilation: 1
1654
+ }
1655
+ }
1656
+ layer {
1657
+ name: "Mrelu1_5_stage6_4"
1658
+ type: "ReLU"
1659
+ bottom: "Mconv4_stage6"
1660
+ top: "Mconv4_stage6"
1661
+ }
1662
+ layer {
1663
+ name: "Mconv5_stage6"
1664
+ type: "Convolution"
1665
+ bottom: "Mconv4_stage6"
1666
+ top: "Mconv5_stage6"
1667
+ param {
1668
+ lr_mult: 4.0
1669
+ decay_mult: 1
1670
+ }
1671
+ param {
1672
+ lr_mult: 8.0
1673
+ decay_mult: 0
1674
+ }
1675
+ convolution_param {
1676
+ num_output: 128
1677
+ pad: 3
1678
+ kernel_size: 7
1679
+ weight_filler {
1680
+ type: "gaussian"
1681
+ std: 0.01
1682
+ }
1683
+ bias_filler {
1684
+ type: "constant"
1685
+ }
1686
+ dilation: 1
1687
+ }
1688
+ }
1689
+ layer {
1690
+ name: "Mrelu1_6_stage6_5"
1691
+ type: "ReLU"
1692
+ bottom: "Mconv5_stage6"
1693
+ top: "Mconv5_stage6"
1694
+ }
1695
+ layer {
1696
+ name: "Mconv6_stage6"
1697
+ type: "Convolution"
1698
+ bottom: "Mconv5_stage6"
1699
+ top: "Mconv6_stage6"
1700
+ param {
1701
+ lr_mult: 4.0
1702
+ decay_mult: 1
1703
+ }
1704
+ param {
1705
+ lr_mult: 8.0
1706
+ decay_mult: 0
1707
+ }
1708
+ convolution_param {
1709
+ num_output: 128
1710
+ pad: 0
1711
+ kernel_size: 1
1712
+ weight_filler {
1713
+ type: "gaussian"
1714
+ std: 0.01
1715
+ }
1716
+ bias_filler {
1717
+ type: "constant"
1718
+ }
1719
+ dilation: 1
1720
+ }
1721
+ }
1722
+ layer {
1723
+ name: "Mrelu1_7_stage6_6"
1724
+ type: "ReLU"
1725
+ bottom: "Mconv6_stage6"
1726
+ top: "Mconv6_stage6"
1727
+ }
1728
+ layer {
1729
+ name: "Mconv7_stage6"
1730
+ type: "Convolution"
1731
+ bottom: "Mconv6_stage6"
1732
+ # top: "Mconv7_stage6"
1733
+ top: "net_output"
1734
+ param {
1735
+ lr_mult: 4.0
1736
+ decay_mult: 1
1737
+ }
1738
+ param {
1739
+ lr_mult: 8.0
1740
+ decay_mult: 0
1741
+ }
1742
+ convolution_param {
1743
+ num_output: 22
1744
+ pad: 0
1745
+ kernel_size: 1
1746
+ weight_filler {
1747
+ type: "gaussian"
1748
+ std: 0.01
1749
+ }
1750
+ bias_filler {
1751
+ type: "constant"
1752
+ }
1753
+ dilation: 1
1754
+ }
1755
+ }
1756
+
hand/pose_iter_102000.caffemodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f313aa5ef031ac91606e1a0383daa14be241a6e1a91c1155283dd28503c79c2d
3
+ size 147344024
pose/body_25/pose_deploy.prototxt ADDED
@@ -0,0 +1,2332 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: "OpenPose - BODY_25"
2
+ input: "image"
3
+ input_dim: 1 # This value will be defined at runtime
4
+ input_dim: 3
5
+ input_dim: 16 # This value will be defined at runtime
6
+ input_dim: 16 # This value will be defined at runtime
7
+ layer {
8
+ name: "conv1_1"
9
+ type: "Convolution"
10
+ bottom: "image"
11
+ top: "conv1_1"
12
+ convolution_param {
13
+ num_output: 64
14
+ pad: 1
15
+ kernel_size: 3
16
+ }
17
+ }
18
+ layer {
19
+ name: "relu1_1"
20
+ type: "ReLU"
21
+ bottom: "conv1_1"
22
+ top: "conv1_1"
23
+ }
24
+ layer {
25
+ name: "conv1_2"
26
+ type: "Convolution"
27
+ bottom: "conv1_1"
28
+ top: "conv1_2"
29
+ convolution_param {
30
+ num_output: 64
31
+ pad: 1
32
+ kernel_size: 3
33
+ }
34
+ }
35
+ layer {
36
+ name: "relu1_2"
37
+ type: "ReLU"
38
+ bottom: "conv1_2"
39
+ top: "conv1_2"
40
+ }
41
+ layer {
42
+ name: "pool1_stage1"
43
+ type: "Pooling"
44
+ bottom: "conv1_2"
45
+ top: "pool1_stage1"
46
+ pooling_param {
47
+ pool: MAX
48
+ kernel_size: 2
49
+ stride: 2
50
+ }
51
+ }
52
+ layer {
53
+ name: "conv2_1"
54
+ type: "Convolution"
55
+ bottom: "pool1_stage1"
56
+ top: "conv2_1"
57
+ convolution_param {
58
+ num_output: 128
59
+ pad: 1
60
+ kernel_size: 3
61
+ }
62
+ }
63
+ layer {
64
+ name: "relu2_1"
65
+ type: "ReLU"
66
+ bottom: "conv2_1"
67
+ top: "conv2_1"
68
+ }
69
+ layer {
70
+ name: "conv2_2"
71
+ type: "Convolution"
72
+ bottom: "conv2_1"
73
+ top: "conv2_2"
74
+ convolution_param {
75
+ num_output: 128
76
+ pad: 1
77
+ kernel_size: 3
78
+ }
79
+ }
80
+ layer {
81
+ name: "relu2_2"
82
+ type: "ReLU"
83
+ bottom: "conv2_2"
84
+ top: "conv2_2"
85
+ }
86
+ layer {
87
+ name: "pool2_stage1"
88
+ type: "Pooling"
89
+ bottom: "conv2_2"
90
+ top: "pool2_stage1"
91
+ pooling_param {
92
+ pool: MAX
93
+ kernel_size: 2
94
+ stride: 2
95
+ }
96
+ }
97
+ layer {
98
+ name: "conv3_1"
99
+ type: "Convolution"
100
+ bottom: "pool2_stage1"
101
+ top: "conv3_1"
102
+ convolution_param {
103
+ num_output: 256
104
+ pad: 1
105
+ kernel_size: 3
106
+ }
107
+ }
108
+ layer {
109
+ name: "relu3_1"
110
+ type: "ReLU"
111
+ bottom: "conv3_1"
112
+ top: "conv3_1"
113
+ }
114
+ layer {
115
+ name: "conv3_2"
116
+ type: "Convolution"
117
+ bottom: "conv3_1"
118
+ top: "conv3_2"
119
+ convolution_param {
120
+ num_output: 256
121
+ pad: 1
122
+ kernel_size: 3
123
+ }
124
+ }
125
+ layer {
126
+ name: "relu3_2"
127
+ type: "ReLU"
128
+ bottom: "conv3_2"
129
+ top: "conv3_2"
130
+ }
131
+ layer {
132
+ name: "conv3_3"
133
+ type: "Convolution"
134
+ bottom: "conv3_2"
135
+ top: "conv3_3"
136
+ convolution_param {
137
+ num_output: 256
138
+ pad: 1
139
+ kernel_size: 3
140
+ }
141
+ }
142
+ layer {
143
+ name: "relu3_3"
144
+ type: "ReLU"
145
+ bottom: "conv3_3"
146
+ top: "conv3_3"
147
+ }
148
+ layer {
149
+ name: "conv3_4"
150
+ type: "Convolution"
151
+ bottom: "conv3_3"
152
+ top: "conv3_4"
153
+ convolution_param {
154
+ num_output: 256
155
+ pad: 1
156
+ kernel_size: 3
157
+ }
158
+ }
159
+ layer {
160
+ name: "relu3_4"
161
+ type: "ReLU"
162
+ bottom: "conv3_4"
163
+ top: "conv3_4"
164
+ }
165
+ layer {
166
+ name: "pool3_stage1"
167
+ type: "Pooling"
168
+ bottom: "conv3_4"
169
+ top: "pool3_stage1"
170
+ pooling_param {
171
+ pool: MAX
172
+ kernel_size: 2
173
+ stride: 2
174
+ }
175
+ }
176
+ layer {
177
+ name: "conv4_1"
178
+ type: "Convolution"
179
+ bottom: "pool3_stage1"
180
+ top: "conv4_1"
181
+ convolution_param {
182
+ num_output: 512
183
+ pad: 1
184
+ kernel_size: 3
185
+ }
186
+ }
187
+ layer {
188
+ name: "relu4_1"
189
+ type: "ReLU"
190
+ bottom: "conv4_1"
191
+ top: "conv4_1"
192
+ }
193
+ layer {
194
+ name: "conv4_2"
195
+ type: "Convolution"
196
+ bottom: "conv4_1"
197
+ top: "conv4_2"
198
+ convolution_param {
199
+ num_output: 512
200
+ pad: 1
201
+ kernel_size: 3
202
+ }
203
+ }
204
+ layer {
205
+ name: "prelu4_2"
206
+ type: "PReLU"
207
+ bottom: "conv4_2"
208
+ top: "conv4_2"
209
+ }
210
+ layer {
211
+ name: "conv4_3_CPM"
212
+ type: "Convolution"
213
+ bottom: "conv4_2"
214
+ top: "conv4_3_CPM"
215
+ convolution_param {
216
+ num_output: 256
217
+ pad: 1
218
+ kernel_size: 3
219
+ }
220
+ }
221
+ layer {
222
+ name: "prelu4_3_CPM"
223
+ type: "PReLU"
224
+ bottom: "conv4_3_CPM"
225
+ top: "conv4_3_CPM"
226
+ }
227
+ layer {
228
+ name: "conv4_4_CPM"
229
+ type: "Convolution"
230
+ bottom: "conv4_3_CPM"
231
+ top: "conv4_4_CPM"
232
+ convolution_param {
233
+ num_output: 128
234
+ pad: 1
235
+ kernel_size: 3
236
+ }
237
+ }
238
+ layer {
239
+ name: "prelu4_4_CPM"
240
+ type: "PReLU"
241
+ bottom: "conv4_4_CPM"
242
+ top: "conv4_4_CPM"
243
+ }
244
+ layer {
245
+ name: "Mconv1_stage0_L2_0"
246
+ type: "Convolution"
247
+ bottom: "conv4_4_CPM"
248
+ top: "Mconv1_stage0_L2_0"
249
+ convolution_param {
250
+ num_output: 96
251
+ pad: 1
252
+ kernel_size: 3
253
+ }
254
+ }
255
+ layer {
256
+ name: "Mprelu1_stage0_L2_0"
257
+ type: "PReLU"
258
+ bottom: "Mconv1_stage0_L2_0"
259
+ top: "Mconv1_stage0_L2_0"
260
+ }
261
+ layer {
262
+ name: "Mconv1_stage0_L2_1"
263
+ type: "Convolution"
264
+ bottom: "Mconv1_stage0_L2_0"
265
+ top: "Mconv1_stage0_L2_1"
266
+ convolution_param {
267
+ num_output: 96
268
+ pad: 1
269
+ kernel_size: 3
270
+ }
271
+ }
272
+ layer {
273
+ name: "Mprelu1_stage0_L2_1"
274
+ type: "PReLU"
275
+ bottom: "Mconv1_stage0_L2_1"
276
+ top: "Mconv1_stage0_L2_1"
277
+ }
278
+ layer {
279
+ name: "Mconv1_stage0_L2_2"
280
+ type: "Convolution"
281
+ bottom: "Mconv1_stage0_L2_1"
282
+ top: "Mconv1_stage0_L2_2"
283
+ convolution_param {
284
+ num_output: 96
285
+ pad: 1
286
+ kernel_size: 3
287
+ }
288
+ }
289
+ layer {
290
+ name: "Mprelu1_stage0_L2_2"
291
+ type: "PReLU"
292
+ bottom: "Mconv1_stage0_L2_2"
293
+ top: "Mconv1_stage0_L2_2"
294
+ }
295
+ layer {
296
+ name: "Mconv1_stage0_L2_concat"
297
+ type: "Concat"
298
+ bottom: "Mconv1_stage0_L2_0"
299
+ bottom: "Mconv1_stage0_L2_1"
300
+ bottom: "Mconv1_stage0_L2_2"
301
+ top: "Mconv1_stage0_L2_concat"
302
+ concat_param {
303
+ axis: 1
304
+ }
305
+ }
306
+ layer {
307
+ name: "Mconv2_stage0_L2_0"
308
+ type: "Convolution"
309
+ bottom: "Mconv1_stage0_L2_concat"
310
+ top: "Mconv2_stage0_L2_0"
311
+ convolution_param {
312
+ num_output: 96
313
+ pad: 1
314
+ kernel_size: 3
315
+ }
316
+ }
317
+ layer {
318
+ name: "Mprelu2_stage0_L2_0"
319
+ type: "PReLU"
320
+ bottom: "Mconv2_stage0_L2_0"
321
+ top: "Mconv2_stage0_L2_0"
322
+ }
323
+ layer {
324
+ name: "Mconv2_stage0_L2_1"
325
+ type: "Convolution"
326
+ bottom: "Mconv2_stage0_L2_0"
327
+ top: "Mconv2_stage0_L2_1"
328
+ convolution_param {
329
+ num_output: 96
330
+ pad: 1
331
+ kernel_size: 3
332
+ }
333
+ }
334
+ layer {
335
+ name: "Mprelu2_stage0_L2_1"
336
+ type: "PReLU"
337
+ bottom: "Mconv2_stage0_L2_1"
338
+ top: "Mconv2_stage0_L2_1"
339
+ }
340
+ layer {
341
+ name: "Mconv2_stage0_L2_2"
342
+ type: "Convolution"
343
+ bottom: "Mconv2_stage0_L2_1"
344
+ top: "Mconv2_stage0_L2_2"
345
+ convolution_param {
346
+ num_output: 96
347
+ pad: 1
348
+ kernel_size: 3
349
+ }
350
+ }
351
+ layer {
352
+ name: "Mprelu2_stage0_L2_2"
353
+ type: "PReLU"
354
+ bottom: "Mconv2_stage0_L2_2"
355
+ top: "Mconv2_stage0_L2_2"
356
+ }
357
+ layer {
358
+ name: "Mconv2_stage0_L2_concat"
359
+ type: "Concat"
360
+ bottom: "Mconv2_stage0_L2_0"
361
+ bottom: "Mconv2_stage0_L2_1"
362
+ bottom: "Mconv2_stage0_L2_2"
363
+ top: "Mconv2_stage0_L2_concat"
364
+ concat_param {
365
+ axis: 1
366
+ }
367
+ }
368
+ layer {
369
+ name: "Mconv3_stage0_L2_0"
370
+ type: "Convolution"
371
+ bottom: "Mconv2_stage0_L2_concat"
372
+ top: "Mconv3_stage0_L2_0"
373
+ convolution_param {
374
+ num_output: 96
375
+ pad: 1
376
+ kernel_size: 3
377
+ }
378
+ }
379
+ layer {
380
+ name: "Mprelu3_stage0_L2_0"
381
+ type: "PReLU"
382
+ bottom: "Mconv3_stage0_L2_0"
383
+ top: "Mconv3_stage0_L2_0"
384
+ }
385
+ layer {
386
+ name: "Mconv3_stage0_L2_1"
387
+ type: "Convolution"
388
+ bottom: "Mconv3_stage0_L2_0"
389
+ top: "Mconv3_stage0_L2_1"
390
+ convolution_param {
391
+ num_output: 96
392
+ pad: 1
393
+ kernel_size: 3
394
+ }
395
+ }
396
+ layer {
397
+ name: "Mprelu3_stage0_L2_1"
398
+ type: "PReLU"
399
+ bottom: "Mconv3_stage0_L2_1"
400
+ top: "Mconv3_stage0_L2_1"
401
+ }
402
+ layer {
403
+ name: "Mconv3_stage0_L2_2"
404
+ type: "Convolution"
405
+ bottom: "Mconv3_stage0_L2_1"
406
+ top: "Mconv3_stage0_L2_2"
407
+ convolution_param {
408
+ num_output: 96
409
+ pad: 1
410
+ kernel_size: 3
411
+ }
412
+ }
413
+ layer {
414
+ name: "Mprelu3_stage0_L2_2"
415
+ type: "PReLU"
416
+ bottom: "Mconv3_stage0_L2_2"
417
+ top: "Mconv3_stage0_L2_2"
418
+ }
419
+ layer {
420
+ name: "Mconv3_stage0_L2_concat"
421
+ type: "Concat"
422
+ bottom: "Mconv3_stage0_L2_0"
423
+ bottom: "Mconv3_stage0_L2_1"
424
+ bottom: "Mconv3_stage0_L2_2"
425
+ top: "Mconv3_stage0_L2_concat"
426
+ concat_param {
427
+ axis: 1
428
+ }
429
+ }
430
+ layer {
431
+ name: "Mconv4_stage0_L2_0"
432
+ type: "Convolution"
433
+ bottom: "Mconv3_stage0_L2_concat"
434
+ top: "Mconv4_stage0_L2_0"
435
+ convolution_param {
436
+ num_output: 96
437
+ pad: 1
438
+ kernel_size: 3
439
+ }
440
+ }
441
+ layer {
442
+ name: "Mprelu4_stage0_L2_0"
443
+ type: "PReLU"
444
+ bottom: "Mconv4_stage0_L2_0"
445
+ top: "Mconv4_stage0_L2_0"
446
+ }
447
+ layer {
448
+ name: "Mconv4_stage0_L2_1"
449
+ type: "Convolution"
450
+ bottom: "Mconv4_stage0_L2_0"
451
+ top: "Mconv4_stage0_L2_1"
452
+ convolution_param {
453
+ num_output: 96
454
+ pad: 1
455
+ kernel_size: 3
456
+ }
457
+ }
458
+ layer {
459
+ name: "Mprelu4_stage0_L2_1"
460
+ type: "PReLU"
461
+ bottom: "Mconv4_stage0_L2_1"
462
+ top: "Mconv4_stage0_L2_1"
463
+ }
464
+ layer {
465
+ name: "Mconv4_stage0_L2_2"
466
+ type: "Convolution"
467
+ bottom: "Mconv4_stage0_L2_1"
468
+ top: "Mconv4_stage0_L2_2"
469
+ convolution_param {
470
+ num_output: 96
471
+ pad: 1
472
+ kernel_size: 3
473
+ }
474
+ }
475
+ layer {
476
+ name: "Mprelu4_stage0_L2_2"
477
+ type: "PReLU"
478
+ bottom: "Mconv4_stage0_L2_2"
479
+ top: "Mconv4_stage0_L2_2"
480
+ }
481
+ layer {
482
+ name: "Mconv4_stage0_L2_concat"
483
+ type: "Concat"
484
+ bottom: "Mconv4_stage0_L2_0"
485
+ bottom: "Mconv4_stage0_L2_1"
486
+ bottom: "Mconv4_stage0_L2_2"
487
+ top: "Mconv4_stage0_L2_concat"
488
+ concat_param {
489
+ axis: 1
490
+ }
491
+ }
492
+ layer {
493
+ name: "Mconv5_stage0_L2_0"
494
+ type: "Convolution"
495
+ bottom: "Mconv4_stage0_L2_concat"
496
+ top: "Mconv5_stage0_L2_0"
497
+ convolution_param {
498
+ num_output: 96
499
+ pad: 1
500
+ kernel_size: 3
501
+ }
502
+ }
503
+ layer {
504
+ name: "Mprelu5_stage0_L2_0"
505
+ type: "PReLU"
506
+ bottom: "Mconv5_stage0_L2_0"
507
+ top: "Mconv5_stage0_L2_0"
508
+ }
509
+ layer {
510
+ name: "Mconv5_stage0_L2_1"
511
+ type: "Convolution"
512
+ bottom: "Mconv5_stage0_L2_0"
513
+ top: "Mconv5_stage0_L2_1"
514
+ convolution_param {
515
+ num_output: 96
516
+ pad: 1
517
+ kernel_size: 3
518
+ }
519
+ }
520
+ layer {
521
+ name: "Mprelu5_stage0_L2_1"
522
+ type: "PReLU"
523
+ bottom: "Mconv5_stage0_L2_1"
524
+ top: "Mconv5_stage0_L2_1"
525
+ }
526
+ layer {
527
+ name: "Mconv5_stage0_L2_2"
528
+ type: "Convolution"
529
+ bottom: "Mconv5_stage0_L2_1"
530
+ top: "Mconv5_stage0_L2_2"
531
+ convolution_param {
532
+ num_output: 96
533
+ pad: 1
534
+ kernel_size: 3
535
+ }
536
+ }
537
+ layer {
538
+ name: "Mprelu5_stage0_L2_2"
539
+ type: "PReLU"
540
+ bottom: "Mconv5_stage0_L2_2"
541
+ top: "Mconv5_stage0_L2_2"
542
+ }
543
+ layer {
544
+ name: "Mconv5_stage0_L2_concat"
545
+ type: "Concat"
546
+ bottom: "Mconv5_stage0_L2_0"
547
+ bottom: "Mconv5_stage0_L2_1"
548
+ bottom: "Mconv5_stage0_L2_2"
549
+ top: "Mconv5_stage0_L2_concat"
550
+ concat_param {
551
+ axis: 1
552
+ }
553
+ }
554
+ layer {
555
+ name: "Mconv6_stage0_L2"
556
+ type: "Convolution"
557
+ bottom: "Mconv5_stage0_L2_concat"
558
+ top: "Mconv6_stage0_L2"
559
+ convolution_param {
560
+ num_output: 256
561
+ pad: 0
562
+ kernel_size: 1
563
+ }
564
+ }
565
+ layer {
566
+ name: "Mprelu6_stage0_L2"
567
+ type: "PReLU"
568
+ bottom: "Mconv6_stage0_L2"
569
+ top: "Mconv6_stage0_L2"
570
+ }
571
+ layer {
572
+ name: "Mconv7_stage0_L2"
573
+ type: "Convolution"
574
+ bottom: "Mconv6_stage0_L2"
575
+ top: "Mconv7_stage0_L2"
576
+ convolution_param {
577
+ num_output: 52
578
+ pad: 0
579
+ kernel_size: 1
580
+ }
581
+ }
582
+ layer {
583
+ name: "concat_stage1_L2"
584
+ type: "Concat"
585
+ bottom: "conv4_4_CPM"
586
+ bottom: "Mconv7_stage0_L2"
587
+ top: "concat_stage1_L2"
588
+ concat_param {
589
+ axis: 1
590
+ }
591
+ }
592
+ layer {
593
+ name: "Mconv1_stage1_L2_0"
594
+ type: "Convolution"
595
+ bottom: "concat_stage1_L2"
596
+ top: "Mconv1_stage1_L2_0"
597
+ convolution_param {
598
+ num_output: 128
599
+ pad: 1
600
+ kernel_size: 3
601
+ }
602
+ }
603
+ layer {
604
+ name: "Mprelu1_stage1_L2_0"
605
+ type: "PReLU"
606
+ bottom: "Mconv1_stage1_L2_0"
607
+ top: "Mconv1_stage1_L2_0"
608
+ }
609
+ layer {
610
+ name: "Mconv1_stage1_L2_1"
611
+ type: "Convolution"
612
+ bottom: "Mconv1_stage1_L2_0"
613
+ top: "Mconv1_stage1_L2_1"
614
+ convolution_param {
615
+ num_output: 128
616
+ pad: 1
617
+ kernel_size: 3
618
+ }
619
+ }
620
+ layer {
621
+ name: "Mprelu1_stage1_L2_1"
622
+ type: "PReLU"
623
+ bottom: "Mconv1_stage1_L2_1"
624
+ top: "Mconv1_stage1_L2_1"
625
+ }
626
+ layer {
627
+ name: "Mconv1_stage1_L2_2"
628
+ type: "Convolution"
629
+ bottom: "Mconv1_stage1_L2_1"
630
+ top: "Mconv1_stage1_L2_2"
631
+ convolution_param {
632
+ num_output: 128
633
+ pad: 1
634
+ kernel_size: 3
635
+ }
636
+ }
637
+ layer {
638
+ name: "Mprelu1_stage1_L2_2"
639
+ type: "PReLU"
640
+ bottom: "Mconv1_stage1_L2_2"
641
+ top: "Mconv1_stage1_L2_2"
642
+ }
643
+ layer {
644
+ name: "Mconv1_stage1_L2_concat"
645
+ type: "Concat"
646
+ bottom: "Mconv1_stage1_L2_0"
647
+ bottom: "Mconv1_stage1_L2_1"
648
+ bottom: "Mconv1_stage1_L2_2"
649
+ top: "Mconv1_stage1_L2_concat"
650
+ concat_param {
651
+ axis: 1
652
+ }
653
+ }
654
+ layer {
655
+ name: "Mconv2_stage1_L2_0"
656
+ type: "Convolution"
657
+ bottom: "Mconv1_stage1_L2_concat"
658
+ top: "Mconv2_stage1_L2_0"
659
+ convolution_param {
660
+ num_output: 128
661
+ pad: 1
662
+ kernel_size: 3
663
+ }
664
+ }
665
+ layer {
666
+ name: "Mprelu2_stage1_L2_0"
667
+ type: "PReLU"
668
+ bottom: "Mconv2_stage1_L2_0"
669
+ top: "Mconv2_stage1_L2_0"
670
+ }
671
+ layer {
672
+ name: "Mconv2_stage1_L2_1"
673
+ type: "Convolution"
674
+ bottom: "Mconv2_stage1_L2_0"
675
+ top: "Mconv2_stage1_L2_1"
676
+ convolution_param {
677
+ num_output: 128
678
+ pad: 1
679
+ kernel_size: 3
680
+ }
681
+ }
682
+ layer {
683
+ name: "Mprelu2_stage1_L2_1"
684
+ type: "PReLU"
685
+ bottom: "Mconv2_stage1_L2_1"
686
+ top: "Mconv2_stage1_L2_1"
687
+ }
688
+ layer {
689
+ name: "Mconv2_stage1_L2_2"
690
+ type: "Convolution"
691
+ bottom: "Mconv2_stage1_L2_1"
692
+ top: "Mconv2_stage1_L2_2"
693
+ convolution_param {
694
+ num_output: 128
695
+ pad: 1
696
+ kernel_size: 3
697
+ }
698
+ }
699
+ layer {
700
+ name: "Mprelu2_stage1_L2_2"
701
+ type: "PReLU"
702
+ bottom: "Mconv2_stage1_L2_2"
703
+ top: "Mconv2_stage1_L2_2"
704
+ }
705
+ layer {
706
+ name: "Mconv2_stage1_L2_concat"
707
+ type: "Concat"
708
+ bottom: "Mconv2_stage1_L2_0"
709
+ bottom: "Mconv2_stage1_L2_1"
710
+ bottom: "Mconv2_stage1_L2_2"
711
+ top: "Mconv2_stage1_L2_concat"
712
+ concat_param {
713
+ axis: 1
714
+ }
715
+ }
716
+ layer {
717
+ name: "Mconv3_stage1_L2_0"
718
+ type: "Convolution"
719
+ bottom: "Mconv2_stage1_L2_concat"
720
+ top: "Mconv3_stage1_L2_0"
721
+ convolution_param {
722
+ num_output: 128
723
+ pad: 1
724
+ kernel_size: 3
725
+ }
726
+ }
727
+ layer {
728
+ name: "Mprelu3_stage1_L2_0"
729
+ type: "PReLU"
730
+ bottom: "Mconv3_stage1_L2_0"
731
+ top: "Mconv3_stage1_L2_0"
732
+ }
733
+ layer {
734
+ name: "Mconv3_stage1_L2_1"
735
+ type: "Convolution"
736
+ bottom: "Mconv3_stage1_L2_0"
737
+ top: "Mconv3_stage1_L2_1"
738
+ convolution_param {
739
+ num_output: 128
740
+ pad: 1
741
+ kernel_size: 3
742
+ }
743
+ }
744
+ layer {
745
+ name: "Mprelu3_stage1_L2_1"
746
+ type: "PReLU"
747
+ bottom: "Mconv3_stage1_L2_1"
748
+ top: "Mconv3_stage1_L2_1"
749
+ }
750
+ layer {
751
+ name: "Mconv3_stage1_L2_2"
752
+ type: "Convolution"
753
+ bottom: "Mconv3_stage1_L2_1"
754
+ top: "Mconv3_stage1_L2_2"
755
+ convolution_param {
756
+ num_output: 128
757
+ pad: 1
758
+ kernel_size: 3
759
+ }
760
+ }
761
+ layer {
762
+ name: "Mprelu3_stage1_L2_2"
763
+ type: "PReLU"
764
+ bottom: "Mconv3_stage1_L2_2"
765
+ top: "Mconv3_stage1_L2_2"
766
+ }
767
+ layer {
768
+ name: "Mconv3_stage1_L2_concat"
769
+ type: "Concat"
770
+ bottom: "Mconv3_stage1_L2_0"
771
+ bottom: "Mconv3_stage1_L2_1"
772
+ bottom: "Mconv3_stage1_L2_2"
773
+ top: "Mconv3_stage1_L2_concat"
774
+ concat_param {
775
+ axis: 1
776
+ }
777
+ }
778
+ layer {
779
+ name: "Mconv4_stage1_L2_0"
780
+ type: "Convolution"
781
+ bottom: "Mconv3_stage1_L2_concat"
782
+ top: "Mconv4_stage1_L2_0"
783
+ convolution_param {
784
+ num_output: 128
785
+ pad: 1
786
+ kernel_size: 3
787
+ }
788
+ }
789
+ layer {
790
+ name: "Mprelu4_stage1_L2_0"
791
+ type: "PReLU"
792
+ bottom: "Mconv4_stage1_L2_0"
793
+ top: "Mconv4_stage1_L2_0"
794
+ }
795
+ layer {
796
+ name: "Mconv4_stage1_L2_1"
797
+ type: "Convolution"
798
+ bottom: "Mconv4_stage1_L2_0"
799
+ top: "Mconv4_stage1_L2_1"
800
+ convolution_param {
801
+ num_output: 128
802
+ pad: 1
803
+ kernel_size: 3
804
+ }
805
+ }
806
+ layer {
807
+ name: "Mprelu4_stage1_L2_1"
808
+ type: "PReLU"
809
+ bottom: "Mconv4_stage1_L2_1"
810
+ top: "Mconv4_stage1_L2_1"
811
+ }
812
+ layer {
813
+ name: "Mconv4_stage1_L2_2"
814
+ type: "Convolution"
815
+ bottom: "Mconv4_stage1_L2_1"
816
+ top: "Mconv4_stage1_L2_2"
817
+ convolution_param {
818
+ num_output: 128
819
+ pad: 1
820
+ kernel_size: 3
821
+ }
822
+ }
823
+ layer {
824
+ name: "Mprelu4_stage1_L2_2"
825
+ type: "PReLU"
826
+ bottom: "Mconv4_stage1_L2_2"
827
+ top: "Mconv4_stage1_L2_2"
828
+ }
829
+ layer {
830
+ name: "Mconv4_stage1_L2_concat"
831
+ type: "Concat"
832
+ bottom: "Mconv4_stage1_L2_0"
833
+ bottom: "Mconv4_stage1_L2_1"
834
+ bottom: "Mconv4_stage1_L2_2"
835
+ top: "Mconv4_stage1_L2_concat"
836
+ concat_param {
837
+ axis: 1
838
+ }
839
+ }
840
+ layer {
841
+ name: "Mconv5_stage1_L2_0"
842
+ type: "Convolution"
843
+ bottom: "Mconv4_stage1_L2_concat"
844
+ top: "Mconv5_stage1_L2_0"
845
+ convolution_param {
846
+ num_output: 128
847
+ pad: 1
848
+ kernel_size: 3
849
+ }
850
+ }
851
+ layer {
852
+ name: "Mprelu5_stage1_L2_0"
853
+ type: "PReLU"
854
+ bottom: "Mconv5_stage1_L2_0"
855
+ top: "Mconv5_stage1_L2_0"
856
+ }
857
+ layer {
858
+ name: "Mconv5_stage1_L2_1"
859
+ type: "Convolution"
860
+ bottom: "Mconv5_stage1_L2_0"
861
+ top: "Mconv5_stage1_L2_1"
862
+ convolution_param {
863
+ num_output: 128
864
+ pad: 1
865
+ kernel_size: 3
866
+ }
867
+ }
868
+ layer {
869
+ name: "Mprelu5_stage1_L2_1"
870
+ type: "PReLU"
871
+ bottom: "Mconv5_stage1_L2_1"
872
+ top: "Mconv5_stage1_L2_1"
873
+ }
874
+ layer {
875
+ name: "Mconv5_stage1_L2_2"
876
+ type: "Convolution"
877
+ bottom: "Mconv5_stage1_L2_1"
878
+ top: "Mconv5_stage1_L2_2"
879
+ convolution_param {
880
+ num_output: 128
881
+ pad: 1
882
+ kernel_size: 3
883
+ }
884
+ }
885
+ layer {
886
+ name: "Mprelu5_stage1_L2_2"
887
+ type: "PReLU"
888
+ bottom: "Mconv5_stage1_L2_2"
889
+ top: "Mconv5_stage1_L2_2"
890
+ }
891
+ layer {
892
+ name: "Mconv5_stage1_L2_concat"
893
+ type: "Concat"
894
+ bottom: "Mconv5_stage1_L2_0"
895
+ bottom: "Mconv5_stage1_L2_1"
896
+ bottom: "Mconv5_stage1_L2_2"
897
+ top: "Mconv5_stage1_L2_concat"
898
+ concat_param {
899
+ axis: 1
900
+ }
901
+ }
902
+ layer {
903
+ name: "Mconv6_stage1_L2"
904
+ type: "Convolution"
905
+ bottom: "Mconv5_stage1_L2_concat"
906
+ top: "Mconv6_stage1_L2"
907
+ convolution_param {
908
+ num_output: 512
909
+ pad: 0
910
+ kernel_size: 1
911
+ }
912
+ }
913
+ layer {
914
+ name: "Mprelu6_stage1_L2"
915
+ type: "PReLU"
916
+ bottom: "Mconv6_stage1_L2"
917
+ top: "Mconv6_stage1_L2"
918
+ }
919
+ layer {
920
+ name: "Mconv7_stage1_L2"
921
+ type: "Convolution"
922
+ bottom: "Mconv6_stage1_L2"
923
+ top: "Mconv7_stage1_L2"
924
+ convolution_param {
925
+ num_output: 52
926
+ pad: 0
927
+ kernel_size: 1
928
+ }
929
+ }
930
+ layer {
931
+ name: "concat_stage2_L2"
932
+ type: "Concat"
933
+ bottom: "conv4_4_CPM"
934
+ bottom: "Mconv7_stage1_L2"
935
+ top: "concat_stage2_L2"
936
+ concat_param {
937
+ axis: 1
938
+ }
939
+ }
940
+ layer {
941
+ name: "Mconv1_stage2_L2_0"
942
+ type: "Convolution"
943
+ bottom: "concat_stage2_L2"
944
+ top: "Mconv1_stage2_L2_0"
945
+ convolution_param {
946
+ num_output: 128
947
+ pad: 1
948
+ kernel_size: 3
949
+ }
950
+ }
951
+ layer {
952
+ name: "Mprelu1_stage2_L2_0"
953
+ type: "PReLU"
954
+ bottom: "Mconv1_stage2_L2_0"
955
+ top: "Mconv1_stage2_L2_0"
956
+ }
957
+ layer {
958
+ name: "Mconv1_stage2_L2_1"
959
+ type: "Convolution"
960
+ bottom: "Mconv1_stage2_L2_0"
961
+ top: "Mconv1_stage2_L2_1"
962
+ convolution_param {
963
+ num_output: 128
964
+ pad: 1
965
+ kernel_size: 3
966
+ }
967
+ }
968
+ layer {
969
+ name: "Mprelu1_stage2_L2_1"
970
+ type: "PReLU"
971
+ bottom: "Mconv1_stage2_L2_1"
972
+ top: "Mconv1_stage2_L2_1"
973
+ }
974
+ layer {
975
+ name: "Mconv1_stage2_L2_2"
976
+ type: "Convolution"
977
+ bottom: "Mconv1_stage2_L2_1"
978
+ top: "Mconv1_stage2_L2_2"
979
+ convolution_param {
980
+ num_output: 128
981
+ pad: 1
982
+ kernel_size: 3
983
+ }
984
+ }
985
+ layer {
986
+ name: "Mprelu1_stage2_L2_2"
987
+ type: "PReLU"
988
+ bottom: "Mconv1_stage2_L2_2"
989
+ top: "Mconv1_stage2_L2_2"
990
+ }
991
+ layer {
992
+ name: "Mconv1_stage2_L2_concat"
993
+ type: "Concat"
994
+ bottom: "Mconv1_stage2_L2_0"
995
+ bottom: "Mconv1_stage2_L2_1"
996
+ bottom: "Mconv1_stage2_L2_2"
997
+ top: "Mconv1_stage2_L2_concat"
998
+ concat_param {
999
+ axis: 1
1000
+ }
1001
+ }
1002
+ layer {
1003
+ name: "Mconv2_stage2_L2_0"
1004
+ type: "Convolution"
1005
+ bottom: "Mconv1_stage2_L2_concat"
1006
+ top: "Mconv2_stage2_L2_0"
1007
+ convolution_param {
1008
+ num_output: 128
1009
+ pad: 1
1010
+ kernel_size: 3
1011
+ }
1012
+ }
1013
+ layer {
1014
+ name: "Mprelu2_stage2_L2_0"
1015
+ type: "PReLU"
1016
+ bottom: "Mconv2_stage2_L2_0"
1017
+ top: "Mconv2_stage2_L2_0"
1018
+ }
1019
+ layer {
1020
+ name: "Mconv2_stage2_L2_1"
1021
+ type: "Convolution"
1022
+ bottom: "Mconv2_stage2_L2_0"
1023
+ top: "Mconv2_stage2_L2_1"
1024
+ convolution_param {
1025
+ num_output: 128
1026
+ pad: 1
1027
+ kernel_size: 3
1028
+ }
1029
+ }
1030
+ layer {
1031
+ name: "Mprelu2_stage2_L2_1"
1032
+ type: "PReLU"
1033
+ bottom: "Mconv2_stage2_L2_1"
1034
+ top: "Mconv2_stage2_L2_1"
1035
+ }
1036
+ layer {
1037
+ name: "Mconv2_stage2_L2_2"
1038
+ type: "Convolution"
1039
+ bottom: "Mconv2_stage2_L2_1"
1040
+ top: "Mconv2_stage2_L2_2"
1041
+ convolution_param {
1042
+ num_output: 128
1043
+ pad: 1
1044
+ kernel_size: 3
1045
+ }
1046
+ }
1047
+ layer {
1048
+ name: "Mprelu2_stage2_L2_2"
1049
+ type: "PReLU"
1050
+ bottom: "Mconv2_stage2_L2_2"
1051
+ top: "Mconv2_stage2_L2_2"
1052
+ }
1053
+ layer {
1054
+ name: "Mconv2_stage2_L2_concat"
1055
+ type: "Concat"
1056
+ bottom: "Mconv2_stage2_L2_0"
1057
+ bottom: "Mconv2_stage2_L2_1"
1058
+ bottom: "Mconv2_stage2_L2_2"
1059
+ top: "Mconv2_stage2_L2_concat"
1060
+ concat_param {
1061
+ axis: 1
1062
+ }
1063
+ }
1064
+ layer {
1065
+ name: "Mconv3_stage2_L2_0"
1066
+ type: "Convolution"
1067
+ bottom: "Mconv2_stage2_L2_concat"
1068
+ top: "Mconv3_stage2_L2_0"
1069
+ convolution_param {
1070
+ num_output: 128
1071
+ pad: 1
1072
+ kernel_size: 3
1073
+ }
1074
+ }
1075
+ layer {
1076
+ name: "Mprelu3_stage2_L2_0"
1077
+ type: "PReLU"
1078
+ bottom: "Mconv3_stage2_L2_0"
1079
+ top: "Mconv3_stage2_L2_0"
1080
+ }
1081
+ layer {
1082
+ name: "Mconv3_stage2_L2_1"
1083
+ type: "Convolution"
1084
+ bottom: "Mconv3_stage2_L2_0"
1085
+ top: "Mconv3_stage2_L2_1"
1086
+ convolution_param {
1087
+ num_output: 128
1088
+ pad: 1
1089
+ kernel_size: 3
1090
+ }
1091
+ }
1092
+ layer {
1093
+ name: "Mprelu3_stage2_L2_1"
1094
+ type: "PReLU"
1095
+ bottom: "Mconv3_stage2_L2_1"
1096
+ top: "Mconv3_stage2_L2_1"
1097
+ }
1098
+ layer {
1099
+ name: "Mconv3_stage2_L2_2"
1100
+ type: "Convolution"
1101
+ bottom: "Mconv3_stage2_L2_1"
1102
+ top: "Mconv3_stage2_L2_2"
1103
+ convolution_param {
1104
+ num_output: 128
1105
+ pad: 1
1106
+ kernel_size: 3
1107
+ }
1108
+ }
1109
+ layer {
1110
+ name: "Mprelu3_stage2_L2_2"
1111
+ type: "PReLU"
1112
+ bottom: "Mconv3_stage2_L2_2"
1113
+ top: "Mconv3_stage2_L2_2"
1114
+ }
1115
+ layer {
1116
+ name: "Mconv3_stage2_L2_concat"
1117
+ type: "Concat"
1118
+ bottom: "Mconv3_stage2_L2_0"
1119
+ bottom: "Mconv3_stage2_L2_1"
1120
+ bottom: "Mconv3_stage2_L2_2"
1121
+ top: "Mconv3_stage2_L2_concat"
1122
+ concat_param {
1123
+ axis: 1
1124
+ }
1125
+ }
1126
+ layer {
1127
+ name: "Mconv4_stage2_L2_0"
1128
+ type: "Convolution"
1129
+ bottom: "Mconv3_stage2_L2_concat"
1130
+ top: "Mconv4_stage2_L2_0"
1131
+ convolution_param {
1132
+ num_output: 128
1133
+ pad: 1
1134
+ kernel_size: 3
1135
+ }
1136
+ }
1137
+ layer {
1138
+ name: "Mprelu4_stage2_L2_0"
1139
+ type: "PReLU"
1140
+ bottom: "Mconv4_stage2_L2_0"
1141
+ top: "Mconv4_stage2_L2_0"
1142
+ }
1143
+ layer {
1144
+ name: "Mconv4_stage2_L2_1"
1145
+ type: "Convolution"
1146
+ bottom: "Mconv4_stage2_L2_0"
1147
+ top: "Mconv4_stage2_L2_1"
1148
+ convolution_param {
1149
+ num_output: 128
1150
+ pad: 1
1151
+ kernel_size: 3
1152
+ }
1153
+ }
1154
+ layer {
1155
+ name: "Mprelu4_stage2_L2_1"
1156
+ type: "PReLU"
1157
+ bottom: "Mconv4_stage2_L2_1"
1158
+ top: "Mconv4_stage2_L2_1"
1159
+ }
1160
+ layer {
1161
+ name: "Mconv4_stage2_L2_2"
1162
+ type: "Convolution"
1163
+ bottom: "Mconv4_stage2_L2_1"
1164
+ top: "Mconv4_stage2_L2_2"
1165
+ convolution_param {
1166
+ num_output: 128
1167
+ pad: 1
1168
+ kernel_size: 3
1169
+ }
1170
+ }
1171
+ layer {
1172
+ name: "Mprelu4_stage2_L2_2"
1173
+ type: "PReLU"
1174
+ bottom: "Mconv4_stage2_L2_2"
1175
+ top: "Mconv4_stage2_L2_2"
1176
+ }
1177
+ layer {
1178
+ name: "Mconv4_stage2_L2_concat"
1179
+ type: "Concat"
1180
+ bottom: "Mconv4_stage2_L2_0"
1181
+ bottom: "Mconv4_stage2_L2_1"
1182
+ bottom: "Mconv4_stage2_L2_2"
1183
+ top: "Mconv4_stage2_L2_concat"
1184
+ concat_param {
1185
+ axis: 1
1186
+ }
1187
+ }
1188
+ layer {
1189
+ name: "Mconv5_stage2_L2_0"
1190
+ type: "Convolution"
1191
+ bottom: "Mconv4_stage2_L2_concat"
1192
+ top: "Mconv5_stage2_L2_0"
1193
+ convolution_param {
1194
+ num_output: 128
1195
+ pad: 1
1196
+ kernel_size: 3
1197
+ }
1198
+ }
1199
+ layer {
1200
+ name: "Mprelu5_stage2_L2_0"
1201
+ type: "PReLU"
1202
+ bottom: "Mconv5_stage2_L2_0"
1203
+ top: "Mconv5_stage2_L2_0"
1204
+ }
1205
+ layer {
1206
+ name: "Mconv5_stage2_L2_1"
1207
+ type: "Convolution"
1208
+ bottom: "Mconv5_stage2_L2_0"
1209
+ top: "Mconv5_stage2_L2_1"
1210
+ convolution_param {
1211
+ num_output: 128
1212
+ pad: 1
1213
+ kernel_size: 3
1214
+ }
1215
+ }
1216
+ layer {
1217
+ name: "Mprelu5_stage2_L2_1"
1218
+ type: "PReLU"
1219
+ bottom: "Mconv5_stage2_L2_1"
1220
+ top: "Mconv5_stage2_L2_1"
1221
+ }
1222
+ layer {
1223
+ name: "Mconv5_stage2_L2_2"
1224
+ type: "Convolution"
1225
+ bottom: "Mconv5_stage2_L2_1"
1226
+ top: "Mconv5_stage2_L2_2"
1227
+ convolution_param {
1228
+ num_output: 128
1229
+ pad: 1
1230
+ kernel_size: 3
1231
+ }
1232
+ }
1233
+ layer {
1234
+ name: "Mprelu5_stage2_L2_2"
1235
+ type: "PReLU"
1236
+ bottom: "Mconv5_stage2_L2_2"
1237
+ top: "Mconv5_stage2_L2_2"
1238
+ }
1239
+ layer {
1240
+ name: "Mconv5_stage2_L2_concat"
1241
+ type: "Concat"
1242
+ bottom: "Mconv5_stage2_L2_0"
1243
+ bottom: "Mconv5_stage2_L2_1"
1244
+ bottom: "Mconv5_stage2_L2_2"
1245
+ top: "Mconv5_stage2_L2_concat"
1246
+ concat_param {
1247
+ axis: 1
1248
+ }
1249
+ }
1250
+ layer {
1251
+ name: "Mconv6_stage2_L2"
1252
+ type: "Convolution"
1253
+ bottom: "Mconv5_stage2_L2_concat"
1254
+ top: "Mconv6_stage2_L2"
1255
+ convolution_param {
1256
+ num_output: 512
1257
+ pad: 0
1258
+ kernel_size: 1
1259
+ }
1260
+ }
1261
+ layer {
1262
+ name: "Mprelu6_stage2_L2"
1263
+ type: "PReLU"
1264
+ bottom: "Mconv6_stage2_L2"
1265
+ top: "Mconv6_stage2_L2"
1266
+ }
1267
+ layer {
1268
+ name: "Mconv7_stage2_L2"
1269
+ type: "Convolution"
1270
+ bottom: "Mconv6_stage2_L2"
1271
+ top: "Mconv7_stage2_L2"
1272
+ convolution_param {
1273
+ num_output: 52
1274
+ pad: 0
1275
+ kernel_size: 1
1276
+ }
1277
+ }
1278
+ layer {
1279
+ name: "concat_stage3_L2"
1280
+ type: "Concat"
1281
+ bottom: "conv4_4_CPM"
1282
+ bottom: "Mconv7_stage2_L2"
1283
+ top: "concat_stage3_L2"
1284
+ concat_param {
1285
+ axis: 1
1286
+ }
1287
+ }
1288
+ layer {
1289
+ name: "Mconv1_stage3_L2_0"
1290
+ type: "Convolution"
1291
+ bottom: "concat_stage3_L2"
1292
+ top: "Mconv1_stage3_L2_0"
1293
+ convolution_param {
1294
+ num_output: 128
1295
+ pad: 1
1296
+ kernel_size: 3
1297
+ }
1298
+ }
1299
+ layer {
1300
+ name: "Mprelu1_stage3_L2_0"
1301
+ type: "PReLU"
1302
+ bottom: "Mconv1_stage3_L2_0"
1303
+ top: "Mconv1_stage3_L2_0"
1304
+ }
1305
+ layer {
1306
+ name: "Mconv1_stage3_L2_1"
1307
+ type: "Convolution"
1308
+ bottom: "Mconv1_stage3_L2_0"
1309
+ top: "Mconv1_stage3_L2_1"
1310
+ convolution_param {
1311
+ num_output: 128
1312
+ pad: 1
1313
+ kernel_size: 3
1314
+ }
1315
+ }
1316
+ layer {
1317
+ name: "Mprelu1_stage3_L2_1"
1318
+ type: "PReLU"
1319
+ bottom: "Mconv1_stage3_L2_1"
1320
+ top: "Mconv1_stage3_L2_1"
1321
+ }
1322
+ layer {
1323
+ name: "Mconv1_stage3_L2_2"
1324
+ type: "Convolution"
1325
+ bottom: "Mconv1_stage3_L2_1"
1326
+ top: "Mconv1_stage3_L2_2"
1327
+ convolution_param {
1328
+ num_output: 128
1329
+ pad: 1
1330
+ kernel_size: 3
1331
+ }
1332
+ }
1333
+ layer {
1334
+ name: "Mprelu1_stage3_L2_2"
1335
+ type: "PReLU"
1336
+ bottom: "Mconv1_stage3_L2_2"
1337
+ top: "Mconv1_stage3_L2_2"
1338
+ }
1339
+ layer {
1340
+ name: "Mconv1_stage3_L2_concat"
1341
+ type: "Concat"
1342
+ bottom: "Mconv1_stage3_L2_0"
1343
+ bottom: "Mconv1_stage3_L2_1"
1344
+ bottom: "Mconv1_stage3_L2_2"
1345
+ top: "Mconv1_stage3_L2_concat"
1346
+ concat_param {
1347
+ axis: 1
1348
+ }
1349
+ }
1350
+ layer {
1351
+ name: "Mconv2_stage3_L2_0"
1352
+ type: "Convolution"
1353
+ bottom: "Mconv1_stage3_L2_concat"
1354
+ top: "Mconv2_stage3_L2_0"
1355
+ convolution_param {
1356
+ num_output: 128
1357
+ pad: 1
1358
+ kernel_size: 3
1359
+ }
1360
+ }
1361
+ layer {
1362
+ name: "Mprelu2_stage3_L2_0"
1363
+ type: "PReLU"
1364
+ bottom: "Mconv2_stage3_L2_0"
1365
+ top: "Mconv2_stage3_L2_0"
1366
+ }
1367
+ layer {
1368
+ name: "Mconv2_stage3_L2_1"
1369
+ type: "Convolution"
1370
+ bottom: "Mconv2_stage3_L2_0"
1371
+ top: "Mconv2_stage3_L2_1"
1372
+ convolution_param {
1373
+ num_output: 128
1374
+ pad: 1
1375
+ kernel_size: 3
1376
+ }
1377
+ }
1378
+ layer {
1379
+ name: "Mprelu2_stage3_L2_1"
1380
+ type: "PReLU"
1381
+ bottom: "Mconv2_stage3_L2_1"
1382
+ top: "Mconv2_stage3_L2_1"
1383
+ }
1384
+ layer {
1385
+ name: "Mconv2_stage3_L2_2"
1386
+ type: "Convolution"
1387
+ bottom: "Mconv2_stage3_L2_1"
1388
+ top: "Mconv2_stage3_L2_2"
1389
+ convolution_param {
1390
+ num_output: 128
1391
+ pad: 1
1392
+ kernel_size: 3
1393
+ }
1394
+ }
1395
+ layer {
1396
+ name: "Mprelu2_stage3_L2_2"
1397
+ type: "PReLU"
1398
+ bottom: "Mconv2_stage3_L2_2"
1399
+ top: "Mconv2_stage3_L2_2"
1400
+ }
1401
+ layer {
1402
+ name: "Mconv2_stage3_L2_concat"
1403
+ type: "Concat"
1404
+ bottom: "Mconv2_stage3_L2_0"
1405
+ bottom: "Mconv2_stage3_L2_1"
1406
+ bottom: "Mconv2_stage3_L2_2"
1407
+ top: "Mconv2_stage3_L2_concat"
1408
+ concat_param {
1409
+ axis: 1
1410
+ }
1411
+ }
1412
+ layer {
1413
+ name: "Mconv3_stage3_L2_0"
1414
+ type: "Convolution"
1415
+ bottom: "Mconv2_stage3_L2_concat"
1416
+ top: "Mconv3_stage3_L2_0"
1417
+ convolution_param {
1418
+ num_output: 128
1419
+ pad: 1
1420
+ kernel_size: 3
1421
+ }
1422
+ }
1423
+ layer {
1424
+ name: "Mprelu3_stage3_L2_0"
1425
+ type: "PReLU"
1426
+ bottom: "Mconv3_stage3_L2_0"
1427
+ top: "Mconv3_stage3_L2_0"
1428
+ }
1429
+ layer {
1430
+ name: "Mconv3_stage3_L2_1"
1431
+ type: "Convolution"
1432
+ bottom: "Mconv3_stage3_L2_0"
1433
+ top: "Mconv3_stage3_L2_1"
1434
+ convolution_param {
1435
+ num_output: 128
1436
+ pad: 1
1437
+ kernel_size: 3
1438
+ }
1439
+ }
1440
+ layer {
1441
+ name: "Mprelu3_stage3_L2_1"
1442
+ type: "PReLU"
1443
+ bottom: "Mconv3_stage3_L2_1"
1444
+ top: "Mconv3_stage3_L2_1"
1445
+ }
1446
+ layer {
1447
+ name: "Mconv3_stage3_L2_2"
1448
+ type: "Convolution"
1449
+ bottom: "Mconv3_stage3_L2_1"
1450
+ top: "Mconv3_stage3_L2_2"
1451
+ convolution_param {
1452
+ num_output: 128
1453
+ pad: 1
1454
+ kernel_size: 3
1455
+ }
1456
+ }
1457
+ layer {
1458
+ name: "Mprelu3_stage3_L2_2"
1459
+ type: "PReLU"
1460
+ bottom: "Mconv3_stage3_L2_2"
1461
+ top: "Mconv3_stage3_L2_2"
1462
+ }
1463
+ layer {
1464
+ name: "Mconv3_stage3_L2_concat"
1465
+ type: "Concat"
1466
+ bottom: "Mconv3_stage3_L2_0"
1467
+ bottom: "Mconv3_stage3_L2_1"
1468
+ bottom: "Mconv3_stage3_L2_2"
1469
+ top: "Mconv3_stage3_L2_concat"
1470
+ concat_param {
1471
+ axis: 1
1472
+ }
1473
+ }
1474
+ layer {
1475
+ name: "Mconv4_stage3_L2_0"
1476
+ type: "Convolution"
1477
+ bottom: "Mconv3_stage3_L2_concat"
1478
+ top: "Mconv4_stage3_L2_0"
1479
+ convolution_param {
1480
+ num_output: 128
1481
+ pad: 1
1482
+ kernel_size: 3
1483
+ }
1484
+ }
1485
+ layer {
1486
+ name: "Mprelu4_stage3_L2_0"
1487
+ type: "PReLU"
1488
+ bottom: "Mconv4_stage3_L2_0"
1489
+ top: "Mconv4_stage3_L2_0"
1490
+ }
1491
+ layer {
1492
+ name: "Mconv4_stage3_L2_1"
1493
+ type: "Convolution"
1494
+ bottom: "Mconv4_stage3_L2_0"
1495
+ top: "Mconv4_stage3_L2_1"
1496
+ convolution_param {
1497
+ num_output: 128
1498
+ pad: 1
1499
+ kernel_size: 3
1500
+ }
1501
+ }
1502
+ layer {
1503
+ name: "Mprelu4_stage3_L2_1"
1504
+ type: "PReLU"
1505
+ bottom: "Mconv4_stage3_L2_1"
1506
+ top: "Mconv4_stage3_L2_1"
1507
+ }
1508
+ layer {
1509
+ name: "Mconv4_stage3_L2_2"
1510
+ type: "Convolution"
1511
+ bottom: "Mconv4_stage3_L2_1"
1512
+ top: "Mconv4_stage3_L2_2"
1513
+ convolution_param {
1514
+ num_output: 128
1515
+ pad: 1
1516
+ kernel_size: 3
1517
+ }
1518
+ }
1519
+ layer {
1520
+ name: "Mprelu4_stage3_L2_2"
1521
+ type: "PReLU"
1522
+ bottom: "Mconv4_stage3_L2_2"
1523
+ top: "Mconv4_stage3_L2_2"
1524
+ }
1525
+ layer {
1526
+ name: "Mconv4_stage3_L2_concat"
1527
+ type: "Concat"
1528
+ bottom: "Mconv4_stage3_L2_0"
1529
+ bottom: "Mconv4_stage3_L2_1"
1530
+ bottom: "Mconv4_stage3_L2_2"
1531
+ top: "Mconv4_stage3_L2_concat"
1532
+ concat_param {
1533
+ axis: 1
1534
+ }
1535
+ }
1536
+ layer {
1537
+ name: "Mconv5_stage3_L2_0"
1538
+ type: "Convolution"
1539
+ bottom: "Mconv4_stage3_L2_concat"
1540
+ top: "Mconv5_stage3_L2_0"
1541
+ convolution_param {
1542
+ num_output: 128
1543
+ pad: 1
1544
+ kernel_size: 3
1545
+ }
1546
+ }
1547
+ layer {
1548
+ name: "Mprelu5_stage3_L2_0"
1549
+ type: "PReLU"
1550
+ bottom: "Mconv5_stage3_L2_0"
1551
+ top: "Mconv5_stage3_L2_0"
1552
+ }
1553
+ layer {
1554
+ name: "Mconv5_stage3_L2_1"
1555
+ type: "Convolution"
1556
+ bottom: "Mconv5_stage3_L2_0"
1557
+ top: "Mconv5_stage3_L2_1"
1558
+ convolution_param {
1559
+ num_output: 128
1560
+ pad: 1
1561
+ kernel_size: 3
1562
+ }
1563
+ }
1564
+ layer {
1565
+ name: "Mprelu5_stage3_L2_1"
1566
+ type: "PReLU"
1567
+ bottom: "Mconv5_stage3_L2_1"
1568
+ top: "Mconv5_stage3_L2_1"
1569
+ }
1570
+ layer {
1571
+ name: "Mconv5_stage3_L2_2"
1572
+ type: "Convolution"
1573
+ bottom: "Mconv5_stage3_L2_1"
1574
+ top: "Mconv5_stage3_L2_2"
1575
+ convolution_param {
1576
+ num_output: 128
1577
+ pad: 1
1578
+ kernel_size: 3
1579
+ }
1580
+ }
1581
+ layer {
1582
+ name: "Mprelu5_stage3_L2_2"
1583
+ type: "PReLU"
1584
+ bottom: "Mconv5_stage3_L2_2"
1585
+ top: "Mconv5_stage3_L2_2"
1586
+ }
1587
+ layer {
1588
+ name: "Mconv5_stage3_L2_concat"
1589
+ type: "Concat"
1590
+ bottom: "Mconv5_stage3_L2_0"
1591
+ bottom: "Mconv5_stage3_L2_1"
1592
+ bottom: "Mconv5_stage3_L2_2"
1593
+ top: "Mconv5_stage3_L2_concat"
1594
+ concat_param {
1595
+ axis: 1
1596
+ }
1597
+ }
1598
+ layer {
1599
+ name: "Mconv6_stage3_L2"
1600
+ type: "Convolution"
1601
+ bottom: "Mconv5_stage3_L2_concat"
1602
+ top: "Mconv6_stage3_L2"
1603
+ convolution_param {
1604
+ num_output: 512
1605
+ pad: 0
1606
+ kernel_size: 1
1607
+ }
1608
+ }
1609
+ layer {
1610
+ name: "Mprelu6_stage3_L2"
1611
+ type: "PReLU"
1612
+ bottom: "Mconv6_stage3_L2"
1613
+ top: "Mconv6_stage3_L2"
1614
+ }
1615
+ layer {
1616
+ name: "Mconv7_stage3_L2"
1617
+ type: "Convolution"
1618
+ bottom: "Mconv6_stage3_L2"
1619
+ top: "Mconv7_stage3_L2"
1620
+ convolution_param {
1621
+ num_output: 52
1622
+ pad: 0
1623
+ kernel_size: 1
1624
+ }
1625
+ }
1626
+ layer {
1627
+ name: "concat_stage0_L1"
1628
+ type: "Concat"
1629
+ bottom: "conv4_4_CPM"
1630
+ bottom: "Mconv7_stage3_L2"
1631
+ top: "concat_stage0_L1"
1632
+ concat_param {
1633
+ axis: 1
1634
+ }
1635
+ }
1636
+ layer {
1637
+ name: "Mconv1_stage0_L1_0"
1638
+ type: "Convolution"
1639
+ bottom: "concat_stage0_L1"
1640
+ top: "Mconv1_stage0_L1_0"
1641
+ convolution_param {
1642
+ num_output: 96
1643
+ pad: 1
1644
+ kernel_size: 3
1645
+ }
1646
+ }
1647
+ layer {
1648
+ name: "Mprelu1_stage0_L1_0"
1649
+ type: "PReLU"
1650
+ bottom: "Mconv1_stage0_L1_0"
1651
+ top: "Mconv1_stage0_L1_0"
1652
+ }
1653
+ layer {
1654
+ name: "Mconv1_stage0_L1_1"
1655
+ type: "Convolution"
1656
+ bottom: "Mconv1_stage0_L1_0"
1657
+ top: "Mconv1_stage0_L1_1"
1658
+ convolution_param {
1659
+ num_output: 96
1660
+ pad: 1
1661
+ kernel_size: 3
1662
+ }
1663
+ }
1664
+ layer {
1665
+ name: "Mprelu1_stage0_L1_1"
1666
+ type: "PReLU"
1667
+ bottom: "Mconv1_stage0_L1_1"
1668
+ top: "Mconv1_stage0_L1_1"
1669
+ }
1670
+ layer {
1671
+ name: "Mconv1_stage0_L1_2"
1672
+ type: "Convolution"
1673
+ bottom: "Mconv1_stage0_L1_1"
1674
+ top: "Mconv1_stage0_L1_2"
1675
+ convolution_param {
1676
+ num_output: 96
1677
+ pad: 1
1678
+ kernel_size: 3
1679
+ }
1680
+ }
1681
+ layer {
1682
+ name: "Mprelu1_stage0_L1_2"
1683
+ type: "PReLU"
1684
+ bottom: "Mconv1_stage0_L1_2"
1685
+ top: "Mconv1_stage0_L1_2"
1686
+ }
1687
+ layer {
1688
+ name: "Mconv1_stage0_L1_concat"
1689
+ type: "Concat"
1690
+ bottom: "Mconv1_stage0_L1_0"
1691
+ bottom: "Mconv1_stage0_L1_1"
1692
+ bottom: "Mconv1_stage0_L1_2"
1693
+ top: "Mconv1_stage0_L1_concat"
1694
+ concat_param {
1695
+ axis: 1
1696
+ }
1697
+ }
1698
+ layer {
1699
+ name: "Mconv2_stage0_L1_0"
1700
+ type: "Convolution"
1701
+ bottom: "Mconv1_stage0_L1_concat"
1702
+ top: "Mconv2_stage0_L1_0"
1703
+ convolution_param {
1704
+ num_output: 96
1705
+ pad: 1
1706
+ kernel_size: 3
1707
+ }
1708
+ }
1709
+ layer {
1710
+ name: "Mprelu2_stage0_L1_0"
1711
+ type: "PReLU"
1712
+ bottom: "Mconv2_stage0_L1_0"
1713
+ top: "Mconv2_stage0_L1_0"
1714
+ }
1715
+ layer {
1716
+ name: "Mconv2_stage0_L1_1"
1717
+ type: "Convolution"
1718
+ bottom: "Mconv2_stage0_L1_0"
1719
+ top: "Mconv2_stage0_L1_1"
1720
+ convolution_param {
1721
+ num_output: 96
1722
+ pad: 1
1723
+ kernel_size: 3
1724
+ }
1725
+ }
1726
+ layer {
1727
+ name: "Mprelu2_stage0_L1_1"
1728
+ type: "PReLU"
1729
+ bottom: "Mconv2_stage0_L1_1"
1730
+ top: "Mconv2_stage0_L1_1"
1731
+ }
1732
+ layer {
1733
+ name: "Mconv2_stage0_L1_2"
1734
+ type: "Convolution"
1735
+ bottom: "Mconv2_stage0_L1_1"
1736
+ top: "Mconv2_stage0_L1_2"
1737
+ convolution_param {
1738
+ num_output: 96
1739
+ pad: 1
1740
+ kernel_size: 3
1741
+ }
1742
+ }
1743
+ layer {
1744
+ name: "Mprelu2_stage0_L1_2"
1745
+ type: "PReLU"
1746
+ bottom: "Mconv2_stage0_L1_2"
1747
+ top: "Mconv2_stage0_L1_2"
1748
+ }
1749
+ layer {
1750
+ name: "Mconv2_stage0_L1_concat"
1751
+ type: "Concat"
1752
+ bottom: "Mconv2_stage0_L1_0"
1753
+ bottom: "Mconv2_stage0_L1_1"
1754
+ bottom: "Mconv2_stage0_L1_2"
1755
+ top: "Mconv2_stage0_L1_concat"
1756
+ concat_param {
1757
+ axis: 1
1758
+ }
1759
+ }
1760
+ layer {
1761
+ name: "Mconv3_stage0_L1_0"
1762
+ type: "Convolution"
1763
+ bottom: "Mconv2_stage0_L1_concat"
1764
+ top: "Mconv3_stage0_L1_0"
1765
+ convolution_param {
1766
+ num_output: 96
1767
+ pad: 1
1768
+ kernel_size: 3
1769
+ }
1770
+ }
1771
+ layer {
1772
+ name: "Mprelu3_stage0_L1_0"
1773
+ type: "PReLU"
1774
+ bottom: "Mconv3_stage0_L1_0"
1775
+ top: "Mconv3_stage0_L1_0"
1776
+ }
1777
+ layer {
1778
+ name: "Mconv3_stage0_L1_1"
1779
+ type: "Convolution"
1780
+ bottom: "Mconv3_stage0_L1_0"
1781
+ top: "Mconv3_stage0_L1_1"
1782
+ convolution_param {
1783
+ num_output: 96
1784
+ pad: 1
1785
+ kernel_size: 3
1786
+ }
1787
+ }
1788
+ layer {
1789
+ name: "Mprelu3_stage0_L1_1"
1790
+ type: "PReLU"
1791
+ bottom: "Mconv3_stage0_L1_1"
1792
+ top: "Mconv3_stage0_L1_1"
1793
+ }
1794
+ layer {
1795
+ name: "Mconv3_stage0_L1_2"
1796
+ type: "Convolution"
1797
+ bottom: "Mconv3_stage0_L1_1"
1798
+ top: "Mconv3_stage0_L1_2"
1799
+ convolution_param {
1800
+ num_output: 96
1801
+ pad: 1
1802
+ kernel_size: 3
1803
+ }
1804
+ }
1805
+ layer {
1806
+ name: "Mprelu3_stage0_L1_2"
1807
+ type: "PReLU"
1808
+ bottom: "Mconv3_stage0_L1_2"
1809
+ top: "Mconv3_stage0_L1_2"
1810
+ }
1811
+ layer {
1812
+ name: "Mconv3_stage0_L1_concat"
1813
+ type: "Concat"
1814
+ bottom: "Mconv3_stage0_L1_0"
1815
+ bottom: "Mconv3_stage0_L1_1"
1816
+ bottom: "Mconv3_stage0_L1_2"
1817
+ top: "Mconv3_stage0_L1_concat"
1818
+ concat_param {
1819
+ axis: 1
1820
+ }
1821
+ }
1822
+ layer {
1823
+ name: "Mconv4_stage0_L1_0"
1824
+ type: "Convolution"
1825
+ bottom: "Mconv3_stage0_L1_concat"
1826
+ top: "Mconv4_stage0_L1_0"
1827
+ convolution_param {
1828
+ num_output: 96
1829
+ pad: 1
1830
+ kernel_size: 3
1831
+ }
1832
+ }
1833
+ layer {
1834
+ name: "Mprelu4_stage0_L1_0"
1835
+ type: "PReLU"
1836
+ bottom: "Mconv4_stage0_L1_0"
1837
+ top: "Mconv4_stage0_L1_0"
1838
+ }
1839
+ layer {
1840
+ name: "Mconv4_stage0_L1_1"
1841
+ type: "Convolution"
1842
+ bottom: "Mconv4_stage0_L1_0"
1843
+ top: "Mconv4_stage0_L1_1"
1844
+ convolution_param {
1845
+ num_output: 96
1846
+ pad: 1
1847
+ kernel_size: 3
1848
+ }
1849
+ }
1850
+ layer {
1851
+ name: "Mprelu4_stage0_L1_1"
1852
+ type: "PReLU"
1853
+ bottom: "Mconv4_stage0_L1_1"
1854
+ top: "Mconv4_stage0_L1_1"
1855
+ }
1856
+ layer {
1857
+ name: "Mconv4_stage0_L1_2"
1858
+ type: "Convolution"
1859
+ bottom: "Mconv4_stage0_L1_1"
1860
+ top: "Mconv4_stage0_L1_2"
1861
+ convolution_param {
1862
+ num_output: 96
1863
+ pad: 1
1864
+ kernel_size: 3
1865
+ }
1866
+ }
1867
+ layer {
1868
+ name: "Mprelu4_stage0_L1_2"
1869
+ type: "PReLU"
1870
+ bottom: "Mconv4_stage0_L1_2"
1871
+ top: "Mconv4_stage0_L1_2"
1872
+ }
1873
+ layer {
1874
+ name: "Mconv4_stage0_L1_concat"
1875
+ type: "Concat"
1876
+ bottom: "Mconv4_stage0_L1_0"
1877
+ bottom: "Mconv4_stage0_L1_1"
1878
+ bottom: "Mconv4_stage0_L1_2"
1879
+ top: "Mconv4_stage0_L1_concat"
1880
+ concat_param {
1881
+ axis: 1
1882
+ }
1883
+ }
1884
+ layer {
1885
+ name: "Mconv5_stage0_L1_0"
1886
+ type: "Convolution"
1887
+ bottom: "Mconv4_stage0_L1_concat"
1888
+ top: "Mconv5_stage0_L1_0"
1889
+ convolution_param {
1890
+ num_output: 96
1891
+ pad: 1
1892
+ kernel_size: 3
1893
+ }
1894
+ }
1895
+ layer {
1896
+ name: "Mprelu5_stage0_L1_0"
1897
+ type: "PReLU"
1898
+ bottom: "Mconv5_stage0_L1_0"
1899
+ top: "Mconv5_stage0_L1_0"
1900
+ }
1901
+ layer {
1902
+ name: "Mconv5_stage0_L1_1"
1903
+ type: "Convolution"
1904
+ bottom: "Mconv5_stage0_L1_0"
1905
+ top: "Mconv5_stage0_L1_1"
1906
+ convolution_param {
1907
+ num_output: 96
1908
+ pad: 1
1909
+ kernel_size: 3
1910
+ }
1911
+ }
1912
+ layer {
1913
+ name: "Mprelu5_stage0_L1_1"
1914
+ type: "PReLU"
1915
+ bottom: "Mconv5_stage0_L1_1"
1916
+ top: "Mconv5_stage0_L1_1"
1917
+ }
1918
+ layer {
1919
+ name: "Mconv5_stage0_L1_2"
1920
+ type: "Convolution"
1921
+ bottom: "Mconv5_stage0_L1_1"
1922
+ top: "Mconv5_stage0_L1_2"
1923
+ convolution_param {
1924
+ num_output: 96
1925
+ pad: 1
1926
+ kernel_size: 3
1927
+ }
1928
+ }
1929
+ layer {
1930
+ name: "Mprelu5_stage0_L1_2"
1931
+ type: "PReLU"
1932
+ bottom: "Mconv5_stage0_L1_2"
1933
+ top: "Mconv5_stage0_L1_2"
1934
+ }
1935
+ layer {
1936
+ name: "Mconv5_stage0_L1_concat"
1937
+ type: "Concat"
1938
+ bottom: "Mconv5_stage0_L1_0"
1939
+ bottom: "Mconv5_stage0_L1_1"
1940
+ bottom: "Mconv5_stage0_L1_2"
1941
+ top: "Mconv5_stage0_L1_concat"
1942
+ concat_param {
1943
+ axis: 1
1944
+ }
1945
+ }
1946
+ layer {
1947
+ name: "Mconv6_stage0_L1"
1948
+ type: "Convolution"
1949
+ bottom: "Mconv5_stage0_L1_concat"
1950
+ top: "Mconv6_stage0_L1"
1951
+ convolution_param {
1952
+ num_output: 256
1953
+ pad: 0
1954
+ kernel_size: 1
1955
+ }
1956
+ }
1957
+ layer {
1958
+ name: "Mprelu6_stage0_L1"
1959
+ type: "PReLU"
1960
+ bottom: "Mconv6_stage0_L1"
1961
+ top: "Mconv6_stage0_L1"
1962
+ }
1963
+ layer {
1964
+ name: "Mconv7_stage0_L1"
1965
+ type: "Convolution"
1966
+ bottom: "Mconv6_stage0_L1"
1967
+ top: "Mconv7_stage0_L1"
1968
+ convolution_param {
1969
+ num_output: 26
1970
+ pad: 0
1971
+ kernel_size: 1
1972
+ }
1973
+ }
1974
+ layer {
1975
+ name: "concat_stage1_L1"
1976
+ type: "Concat"
1977
+ bottom: "conv4_4_CPM"
1978
+ bottom: "Mconv7_stage0_L1"
1979
+ bottom: "Mconv7_stage3_L2"
1980
+ top: "concat_stage1_L1"
1981
+ concat_param {
1982
+ axis: 1
1983
+ }
1984
+ }
1985
+ layer {
1986
+ name: "Mconv1_stage1_L1_0"
1987
+ type: "Convolution"
1988
+ bottom: "concat_stage1_L1"
1989
+ top: "Mconv1_stage1_L1_0"
1990
+ convolution_param {
1991
+ num_output: 128
1992
+ pad: 1
1993
+ kernel_size: 3
1994
+ }
1995
+ }
1996
+ layer {
1997
+ name: "Mprelu1_stage1_L1_0"
1998
+ type: "PReLU"
1999
+ bottom: "Mconv1_stage1_L1_0"
2000
+ top: "Mconv1_stage1_L1_0"
2001
+ }
2002
+ layer {
2003
+ name: "Mconv1_stage1_L1_1"
2004
+ type: "Convolution"
2005
+ bottom: "Mconv1_stage1_L1_0"
2006
+ top: "Mconv1_stage1_L1_1"
2007
+ convolution_param {
2008
+ num_output: 128
2009
+ pad: 1
2010
+ kernel_size: 3
2011
+ }
2012
+ }
2013
+ layer {
2014
+ name: "Mprelu1_stage1_L1_1"
2015
+ type: "PReLU"
2016
+ bottom: "Mconv1_stage1_L1_1"
2017
+ top: "Mconv1_stage1_L1_1"
2018
+ }
2019
+ layer {
2020
+ name: "Mconv1_stage1_L1_2"
2021
+ type: "Convolution"
2022
+ bottom: "Mconv1_stage1_L1_1"
2023
+ top: "Mconv1_stage1_L1_2"
2024
+ convolution_param {
2025
+ num_output: 128
2026
+ pad: 1
2027
+ kernel_size: 3
2028
+ }
2029
+ }
2030
+ layer {
2031
+ name: "Mprelu1_stage1_L1_2"
2032
+ type: "PReLU"
2033
+ bottom: "Mconv1_stage1_L1_2"
2034
+ top: "Mconv1_stage1_L1_2"
2035
+ }
2036
+ layer {
2037
+ name: "Mconv1_stage1_L1_concat"
2038
+ type: "Concat"
2039
+ bottom: "Mconv1_stage1_L1_0"
2040
+ bottom: "Mconv1_stage1_L1_1"
2041
+ bottom: "Mconv1_stage1_L1_2"
2042
+ top: "Mconv1_stage1_L1_concat"
2043
+ concat_param {
2044
+ axis: 1
2045
+ }
2046
+ }
2047
+ layer {
2048
+ name: "Mconv2_stage1_L1_0"
2049
+ type: "Convolution"
2050
+ bottom: "Mconv1_stage1_L1_concat"
2051
+ top: "Mconv2_stage1_L1_0"
2052
+ convolution_param {
2053
+ num_output: 128
2054
+ pad: 1
2055
+ kernel_size: 3
2056
+ }
2057
+ }
2058
+ layer {
2059
+ name: "Mprelu2_stage1_L1_0"
2060
+ type: "PReLU"
2061
+ bottom: "Mconv2_stage1_L1_0"
2062
+ top: "Mconv2_stage1_L1_0"
2063
+ }
2064
+ layer {
2065
+ name: "Mconv2_stage1_L1_1"
2066
+ type: "Convolution"
2067
+ bottom: "Mconv2_stage1_L1_0"
2068
+ top: "Mconv2_stage1_L1_1"
2069
+ convolution_param {
2070
+ num_output: 128
2071
+ pad: 1
2072
+ kernel_size: 3
2073
+ }
2074
+ }
2075
+ layer {
2076
+ name: "Mprelu2_stage1_L1_1"
2077
+ type: "PReLU"
2078
+ bottom: "Mconv2_stage1_L1_1"
2079
+ top: "Mconv2_stage1_L1_1"
2080
+ }
2081
+ layer {
2082
+ name: "Mconv2_stage1_L1_2"
2083
+ type: "Convolution"
2084
+ bottom: "Mconv2_stage1_L1_1"
2085
+ top: "Mconv2_stage1_L1_2"
2086
+ convolution_param {
2087
+ num_output: 128
2088
+ pad: 1
2089
+ kernel_size: 3
2090
+ }
2091
+ }
2092
+ layer {
2093
+ name: "Mprelu2_stage1_L1_2"
2094
+ type: "PReLU"
2095
+ bottom: "Mconv2_stage1_L1_2"
2096
+ top: "Mconv2_stage1_L1_2"
2097
+ }
2098
+ layer {
2099
+ name: "Mconv2_stage1_L1_concat"
2100
+ type: "Concat"
2101
+ bottom: "Mconv2_stage1_L1_0"
2102
+ bottom: "Mconv2_stage1_L1_1"
2103
+ bottom: "Mconv2_stage1_L1_2"
2104
+ top: "Mconv2_stage1_L1_concat"
2105
+ concat_param {
2106
+ axis: 1
2107
+ }
2108
+ }
2109
+ layer {
2110
+ name: "Mconv3_stage1_L1_0"
2111
+ type: "Convolution"
2112
+ bottom: "Mconv2_stage1_L1_concat"
2113
+ top: "Mconv3_stage1_L1_0"
2114
+ convolution_param {
2115
+ num_output: 128
2116
+ pad: 1
2117
+ kernel_size: 3
2118
+ }
2119
+ }
2120
+ layer {
2121
+ name: "Mprelu3_stage1_L1_0"
2122
+ type: "PReLU"
2123
+ bottom: "Mconv3_stage1_L1_0"
2124
+ top: "Mconv3_stage1_L1_0"
2125
+ }
2126
+ layer {
2127
+ name: "Mconv3_stage1_L1_1"
2128
+ type: "Convolution"
2129
+ bottom: "Mconv3_stage1_L1_0"
2130
+ top: "Mconv3_stage1_L1_1"
2131
+ convolution_param {
2132
+ num_output: 128
2133
+ pad: 1
2134
+ kernel_size: 3
2135
+ }
2136
+ }
2137
+ layer {
2138
+ name: "Mprelu3_stage1_L1_1"
2139
+ type: "PReLU"
2140
+ bottom: "Mconv3_stage1_L1_1"
2141
+ top: "Mconv3_stage1_L1_1"
2142
+ }
2143
+ layer {
2144
+ name: "Mconv3_stage1_L1_2"
2145
+ type: "Convolution"
2146
+ bottom: "Mconv3_stage1_L1_1"
2147
+ top: "Mconv3_stage1_L1_2"
2148
+ convolution_param {
2149
+ num_output: 128
2150
+ pad: 1
2151
+ kernel_size: 3
2152
+ }
2153
+ }
2154
+ layer {
2155
+ name: "Mprelu3_stage1_L1_2"
2156
+ type: "PReLU"
2157
+ bottom: "Mconv3_stage1_L1_2"
2158
+ top: "Mconv3_stage1_L1_2"
2159
+ }
2160
+ layer {
2161
+ name: "Mconv3_stage1_L1_concat"
2162
+ type: "Concat"
2163
+ bottom: "Mconv3_stage1_L1_0"
2164
+ bottom: "Mconv3_stage1_L1_1"
2165
+ bottom: "Mconv3_stage1_L1_2"
2166
+ top: "Mconv3_stage1_L1_concat"
2167
+ concat_param {
2168
+ axis: 1
2169
+ }
2170
+ }
2171
+ layer {
2172
+ name: "Mconv4_stage1_L1_0"
2173
+ type: "Convolution"
2174
+ bottom: "Mconv3_stage1_L1_concat"
2175
+ top: "Mconv4_stage1_L1_0"
2176
+ convolution_param {
2177
+ num_output: 128
2178
+ pad: 1
2179
+ kernel_size: 3
2180
+ }
2181
+ }
2182
+ layer {
2183
+ name: "Mprelu4_stage1_L1_0"
2184
+ type: "PReLU"
2185
+ bottom: "Mconv4_stage1_L1_0"
2186
+ top: "Mconv4_stage1_L1_0"
2187
+ }
2188
+ layer {
2189
+ name: "Mconv4_stage1_L1_1"
2190
+ type: "Convolution"
2191
+ bottom: "Mconv4_stage1_L1_0"
2192
+ top: "Mconv4_stage1_L1_1"
2193
+ convolution_param {
2194
+ num_output: 128
2195
+ pad: 1
2196
+ kernel_size: 3
2197
+ }
2198
+ }
2199
+ layer {
2200
+ name: "Mprelu4_stage1_L1_1"
2201
+ type: "PReLU"
2202
+ bottom: "Mconv4_stage1_L1_1"
2203
+ top: "Mconv4_stage1_L1_1"
2204
+ }
2205
+ layer {
2206
+ name: "Mconv4_stage1_L1_2"
2207
+ type: "Convolution"
2208
+ bottom: "Mconv4_stage1_L1_1"
2209
+ top: "Mconv4_stage1_L1_2"
2210
+ convolution_param {
2211
+ num_output: 128
2212
+ pad: 1
2213
+ kernel_size: 3
2214
+ }
2215
+ }
2216
+ layer {
2217
+ name: "Mprelu4_stage1_L1_2"
2218
+ type: "PReLU"
2219
+ bottom: "Mconv4_stage1_L1_2"
2220
+ top: "Mconv4_stage1_L1_2"
2221
+ }
2222
+ layer {
2223
+ name: "Mconv4_stage1_L1_concat"
2224
+ type: "Concat"
2225
+ bottom: "Mconv4_stage1_L1_0"
2226
+ bottom: "Mconv4_stage1_L1_1"
2227
+ bottom: "Mconv4_stage1_L1_2"
2228
+ top: "Mconv4_stage1_L1_concat"
2229
+ concat_param {
2230
+ axis: 1
2231
+ }
2232
+ }
2233
+ layer {
2234
+ name: "Mconv5_stage1_L1_0"
2235
+ type: "Convolution"
2236
+ bottom: "Mconv4_stage1_L1_concat"
2237
+ top: "Mconv5_stage1_L1_0"
2238
+ convolution_param {
2239
+ num_output: 128
2240
+ pad: 1
2241
+ kernel_size: 3
2242
+ }
2243
+ }
2244
+ layer {
2245
+ name: "Mprelu5_stage1_L1_0"
2246
+ type: "PReLU"
2247
+ bottom: "Mconv5_stage1_L1_0"
2248
+ top: "Mconv5_stage1_L1_0"
2249
+ }
2250
+ layer {
2251
+ name: "Mconv5_stage1_L1_1"
2252
+ type: "Convolution"
2253
+ bottom: "Mconv5_stage1_L1_0"
2254
+ top: "Mconv5_stage1_L1_1"
2255
+ convolution_param {
2256
+ num_output: 128
2257
+ pad: 1
2258
+ kernel_size: 3
2259
+ }
2260
+ }
2261
+ layer {
2262
+ name: "Mprelu5_stage1_L1_1"
2263
+ type: "PReLU"
2264
+ bottom: "Mconv5_stage1_L1_1"
2265
+ top: "Mconv5_stage1_L1_1"
2266
+ }
2267
+ layer {
2268
+ name: "Mconv5_stage1_L1_2"
2269
+ type: "Convolution"
2270
+ bottom: "Mconv5_stage1_L1_1"
2271
+ top: "Mconv5_stage1_L1_2"
2272
+ convolution_param {
2273
+ num_output: 128
2274
+ pad: 1
2275
+ kernel_size: 3
2276
+ }
2277
+ }
2278
+ layer {
2279
+ name: "Mprelu5_stage1_L1_2"
2280
+ type: "PReLU"
2281
+ bottom: "Mconv5_stage1_L1_2"
2282
+ top: "Mconv5_stage1_L1_2"
2283
+ }
2284
+ layer {
2285
+ name: "Mconv5_stage1_L1_concat"
2286
+ type: "Concat"
2287
+ bottom: "Mconv5_stage1_L1_0"
2288
+ bottom: "Mconv5_stage1_L1_1"
2289
+ bottom: "Mconv5_stage1_L1_2"
2290
+ top: "Mconv5_stage1_L1_concat"
2291
+ concat_param {
2292
+ axis: 1
2293
+ }
2294
+ }
2295
+ layer {
2296
+ name: "Mconv6_stage1_L1"
2297
+ type: "Convolution"
2298
+ bottom: "Mconv5_stage1_L1_concat"
2299
+ top: "Mconv6_stage1_L1"
2300
+ convolution_param {
2301
+ num_output: 512
2302
+ pad: 0
2303
+ kernel_size: 1
2304
+ }
2305
+ }
2306
+ layer {
2307
+ name: "Mprelu6_stage1_L1"
2308
+ type: "PReLU"
2309
+ bottom: "Mconv6_stage1_L1"
2310
+ top: "Mconv6_stage1_L1"
2311
+ }
2312
+ layer {
2313
+ name: "Mconv7_stage1_L1"
2314
+ type: "Convolution"
2315
+ bottom: "Mconv6_stage1_L1"
2316
+ top: "Mconv7_stage1_L1"
2317
+ convolution_param {
2318
+ num_output: 26
2319
+ pad: 0
2320
+ kernel_size: 1
2321
+ }
2322
+ }
2323
+ layer {
2324
+ name: "net_output"
2325
+ type: "Concat"
2326
+ bottom: "Mconv7_stage1_L1"
2327
+ bottom: "Mconv7_stage3_L2"
2328
+ top: "net_output"
2329
+ concat_param {
2330
+ axis: 1
2331
+ }
2332
+ }
pose/body_25/pose_iter_584000.caffemodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:44e3d7ebd8c8b62d4366d67127f1b562611a9e8fd0f4f3cdeeb4bb4a6ed12be6
3
+ size 104715850
pose/coco/pose_deploy_linevec.prototxt ADDED
@@ -0,0 +1,2976 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ input: "image"
2
+ input_dim: 1
3
+ input_dim: 3
4
+ input_dim: 1 # This value will be defined at runtime
5
+ input_dim: 1 # This value will be defined at runtime
6
+ layer {
7
+ name: "conv1_1"
8
+ type: "Convolution"
9
+ bottom: "image"
10
+ top: "conv1_1"
11
+ param {
12
+ lr_mult: 1.0
13
+ decay_mult: 1
14
+ }
15
+ param {
16
+ lr_mult: 2.0
17
+ decay_mult: 0
18
+ }
19
+ convolution_param {
20
+ num_output: 64
21
+ pad: 1
22
+ kernel_size: 3
23
+ weight_filler {
24
+ type: "gaussian"
25
+ std: 0.01
26
+ }
27
+ bias_filler {
28
+ type: "constant"
29
+ }
30
+ }
31
+ }
32
+ layer {
33
+ name: "relu1_1"
34
+ type: "ReLU"
35
+ bottom: "conv1_1"
36
+ top: "conv1_1"
37
+ }
38
+ layer {
39
+ name: "conv1_2"
40
+ type: "Convolution"
41
+ bottom: "conv1_1"
42
+ top: "conv1_2"
43
+ param {
44
+ lr_mult: 1.0
45
+ decay_mult: 1
46
+ }
47
+ param {
48
+ lr_mult: 2.0
49
+ decay_mult: 0
50
+ }
51
+ convolution_param {
52
+ num_output: 64
53
+ pad: 1
54
+ kernel_size: 3
55
+ weight_filler {
56
+ type: "gaussian"
57
+ std: 0.01
58
+ }
59
+ bias_filler {
60
+ type: "constant"
61
+ }
62
+ }
63
+ }
64
+ layer {
65
+ name: "relu1_2"
66
+ type: "ReLU"
67
+ bottom: "conv1_2"
68
+ top: "conv1_2"
69
+ }
70
+ layer {
71
+ name: "pool1_stage1"
72
+ type: "Pooling"
73
+ bottom: "conv1_2"
74
+ top: "pool1_stage1"
75
+ pooling_param {
76
+ pool: MAX
77
+ kernel_size: 2
78
+ stride: 2
79
+ }
80
+ }
81
+ layer {
82
+ name: "conv2_1"
83
+ type: "Convolution"
84
+ bottom: "pool1_stage1"
85
+ top: "conv2_1"
86
+ param {
87
+ lr_mult: 1.0
88
+ decay_mult: 1
89
+ }
90
+ param {
91
+ lr_mult: 2.0
92
+ decay_mult: 0
93
+ }
94
+ convolution_param {
95
+ num_output: 128
96
+ pad: 1
97
+ kernel_size: 3
98
+ weight_filler {
99
+ type: "gaussian"
100
+ std: 0.01
101
+ }
102
+ bias_filler {
103
+ type: "constant"
104
+ }
105
+ }
106
+ }
107
+ layer {
108
+ name: "relu2_1"
109
+ type: "ReLU"
110
+ bottom: "conv2_1"
111
+ top: "conv2_1"
112
+ }
113
+ layer {
114
+ name: "conv2_2"
115
+ type: "Convolution"
116
+ bottom: "conv2_1"
117
+ top: "conv2_2"
118
+ param {
119
+ lr_mult: 1.0
120
+ decay_mult: 1
121
+ }
122
+ param {
123
+ lr_mult: 2.0
124
+ decay_mult: 0
125
+ }
126
+ convolution_param {
127
+ num_output: 128
128
+ pad: 1
129
+ kernel_size: 3
130
+ weight_filler {
131
+ type: "gaussian"
132
+ std: 0.01
133
+ }
134
+ bias_filler {
135
+ type: "constant"
136
+ }
137
+ }
138
+ }
139
+ layer {
140
+ name: "relu2_2"
141
+ type: "ReLU"
142
+ bottom: "conv2_2"
143
+ top: "conv2_2"
144
+ }
145
+ layer {
146
+ name: "pool2_stage1"
147
+ type: "Pooling"
148
+ bottom: "conv2_2"
149
+ top: "pool2_stage1"
150
+ pooling_param {
151
+ pool: MAX
152
+ kernel_size: 2
153
+ stride: 2
154
+ }
155
+ }
156
+ layer {
157
+ name: "conv3_1"
158
+ type: "Convolution"
159
+ bottom: "pool2_stage1"
160
+ top: "conv3_1"
161
+ param {
162
+ lr_mult: 1.0
163
+ decay_mult: 1
164
+ }
165
+ param {
166
+ lr_mult: 2.0
167
+ decay_mult: 0
168
+ }
169
+ convolution_param {
170
+ num_output: 256
171
+ pad: 1
172
+ kernel_size: 3
173
+ weight_filler {
174
+ type: "gaussian"
175
+ std: 0.01
176
+ }
177
+ bias_filler {
178
+ type: "constant"
179
+ }
180
+ }
181
+ }
182
+ layer {
183
+ name: "relu3_1"
184
+ type: "ReLU"
185
+ bottom: "conv3_1"
186
+ top: "conv3_1"
187
+ }
188
+ layer {
189
+ name: "conv3_2"
190
+ type: "Convolution"
191
+ bottom: "conv3_1"
192
+ top: "conv3_2"
193
+ param {
194
+ lr_mult: 1.0
195
+ decay_mult: 1
196
+ }
197
+ param {
198
+ lr_mult: 2.0
199
+ decay_mult: 0
200
+ }
201
+ convolution_param {
202
+ num_output: 256
203
+ pad: 1
204
+ kernel_size: 3
205
+ weight_filler {
206
+ type: "gaussian"
207
+ std: 0.01
208
+ }
209
+ bias_filler {
210
+ type: "constant"
211
+ }
212
+ }
213
+ }
214
+ layer {
215
+ name: "relu3_2"
216
+ type: "ReLU"
217
+ bottom: "conv3_2"
218
+ top: "conv3_2"
219
+ }
220
+ layer {
221
+ name: "conv3_3"
222
+ type: "Convolution"
223
+ bottom: "conv3_2"
224
+ top: "conv3_3"
225
+ param {
226
+ lr_mult: 1.0
227
+ decay_mult: 1
228
+ }
229
+ param {
230
+ lr_mult: 2.0
231
+ decay_mult: 0
232
+ }
233
+ convolution_param {
234
+ num_output: 256
235
+ pad: 1
236
+ kernel_size: 3
237
+ weight_filler {
238
+ type: "gaussian"
239
+ std: 0.01
240
+ }
241
+ bias_filler {
242
+ type: "constant"
243
+ }
244
+ }
245
+ }
246
+ layer {
247
+ name: "relu3_3"
248
+ type: "ReLU"
249
+ bottom: "conv3_3"
250
+ top: "conv3_3"
251
+ }
252
+ layer {
253
+ name: "conv3_4"
254
+ type: "Convolution"
255
+ bottom: "conv3_3"
256
+ top: "conv3_4"
257
+ param {
258
+ lr_mult: 1.0
259
+ decay_mult: 1
260
+ }
261
+ param {
262
+ lr_mult: 2.0
263
+ decay_mult: 0
264
+ }
265
+ convolution_param {
266
+ num_output: 256
267
+ pad: 1
268
+ kernel_size: 3
269
+ weight_filler {
270
+ type: "gaussian"
271
+ std: 0.01
272
+ }
273
+ bias_filler {
274
+ type: "constant"
275
+ }
276
+ }
277
+ }
278
+ layer {
279
+ name: "relu3_4"
280
+ type: "ReLU"
281
+ bottom: "conv3_4"
282
+ top: "conv3_4"
283
+ }
284
+ layer {
285
+ name: "pool3_stage1"
286
+ type: "Pooling"
287
+ bottom: "conv3_4"
288
+ top: "pool3_stage1"
289
+ pooling_param {
290
+ pool: MAX
291
+ kernel_size: 2
292
+ stride: 2
293
+ }
294
+ }
295
+ layer {
296
+ name: "conv4_1"
297
+ type: "Convolution"
298
+ bottom: "pool3_stage1"
299
+ top: "conv4_1"
300
+ param {
301
+ lr_mult: 1.0
302
+ decay_mult: 1
303
+ }
304
+ param {
305
+ lr_mult: 2.0
306
+ decay_mult: 0
307
+ }
308
+ convolution_param {
309
+ num_output: 512
310
+ pad: 1
311
+ kernel_size: 3
312
+ weight_filler {
313
+ type: "gaussian"
314
+ std: 0.01
315
+ }
316
+ bias_filler {
317
+ type: "constant"
318
+ }
319
+ }
320
+ }
321
+ layer {
322
+ name: "relu4_1"
323
+ type: "ReLU"
324
+ bottom: "conv4_1"
325
+ top: "conv4_1"
326
+ }
327
+ layer {
328
+ name: "conv4_2"
329
+ type: "Convolution"
330
+ bottom: "conv4_1"
331
+ top: "conv4_2"
332
+ param {
333
+ lr_mult: 1.0
334
+ decay_mult: 1
335
+ }
336
+ param {
337
+ lr_mult: 2.0
338
+ decay_mult: 0
339
+ }
340
+ convolution_param {
341
+ num_output: 512
342
+ pad: 1
343
+ kernel_size: 3
344
+ weight_filler {
345
+ type: "gaussian"
346
+ std: 0.01
347
+ }
348
+ bias_filler {
349
+ type: "constant"
350
+ }
351
+ }
352
+ }
353
+ layer {
354
+ name: "relu4_2"
355
+ type: "ReLU"
356
+ bottom: "conv4_2"
357
+ top: "conv4_2"
358
+ }
359
+ layer {
360
+ name: "conv4_3_CPM"
361
+ type: "Convolution"
362
+ bottom: "conv4_2"
363
+ top: "conv4_3_CPM"
364
+ param {
365
+ lr_mult: 1.0
366
+ decay_mult: 1
367
+ }
368
+ param {
369
+ lr_mult: 2.0
370
+ decay_mult: 0
371
+ }
372
+ convolution_param {
373
+ num_output: 256
374
+ pad: 1
375
+ kernel_size: 3
376
+ weight_filler {
377
+ type: "gaussian"
378
+ std: 0.01
379
+ }
380
+ bias_filler {
381
+ type: "constant"
382
+ }
383
+ }
384
+ }
385
+ layer {
386
+ name: "relu4_3_CPM"
387
+ type: "ReLU"
388
+ bottom: "conv4_3_CPM"
389
+ top: "conv4_3_CPM"
390
+ }
391
+ layer {
392
+ name: "conv4_4_CPM"
393
+ type: "Convolution"
394
+ bottom: "conv4_3_CPM"
395
+ top: "conv4_4_CPM"
396
+ param {
397
+ lr_mult: 1.0
398
+ decay_mult: 1
399
+ }
400
+ param {
401
+ lr_mult: 2.0
402
+ decay_mult: 0
403
+ }
404
+ convolution_param {
405
+ num_output: 128
406
+ pad: 1
407
+ kernel_size: 3
408
+ weight_filler {
409
+ type: "gaussian"
410
+ std: 0.01
411
+ }
412
+ bias_filler {
413
+ type: "constant"
414
+ }
415
+ }
416
+ }
417
+ layer {
418
+ name: "relu4_4_CPM"
419
+ type: "ReLU"
420
+ bottom: "conv4_4_CPM"
421
+ top: "conv4_4_CPM"
422
+ }
423
+ layer {
424
+ name: "conv5_1_CPM_L1"
425
+ type: "Convolution"
426
+ bottom: "conv4_4_CPM"
427
+ top: "conv5_1_CPM_L1"
428
+ param {
429
+ lr_mult: 1.0
430
+ decay_mult: 1
431
+ }
432
+ param {
433
+ lr_mult: 2.0
434
+ decay_mult: 0
435
+ }
436
+ convolution_param {
437
+ num_output: 128
438
+ pad: 1
439
+ kernel_size: 3
440
+ weight_filler {
441
+ type: "gaussian"
442
+ std: 0.01
443
+ }
444
+ bias_filler {
445
+ type: "constant"
446
+ }
447
+ }
448
+ }
449
+ layer {
450
+ name: "relu5_1_CPM_L1"
451
+ type: "ReLU"
452
+ bottom: "conv5_1_CPM_L1"
453
+ top: "conv5_1_CPM_L1"
454
+ }
455
+ layer {
456
+ name: "conv5_1_CPM_L2"
457
+ type: "Convolution"
458
+ bottom: "conv4_4_CPM"
459
+ top: "conv5_1_CPM_L2"
460
+ param {
461
+ lr_mult: 1.0
462
+ decay_mult: 1
463
+ }
464
+ param {
465
+ lr_mult: 2.0
466
+ decay_mult: 0
467
+ }
468
+ convolution_param {
469
+ num_output: 128
470
+ pad: 1
471
+ kernel_size: 3
472
+ weight_filler {
473
+ type: "gaussian"
474
+ std: 0.01
475
+ }
476
+ bias_filler {
477
+ type: "constant"
478
+ }
479
+ }
480
+ }
481
+ layer {
482
+ name: "relu5_1_CPM_L2"
483
+ type: "ReLU"
484
+ bottom: "conv5_1_CPM_L2"
485
+ top: "conv5_1_CPM_L2"
486
+ }
487
+ layer {
488
+ name: "conv5_2_CPM_L1"
489
+ type: "Convolution"
490
+ bottom: "conv5_1_CPM_L1"
491
+ top: "conv5_2_CPM_L1"
492
+ param {
493
+ lr_mult: 1.0
494
+ decay_mult: 1
495
+ }
496
+ param {
497
+ lr_mult: 2.0
498
+ decay_mult: 0
499
+ }
500
+ convolution_param {
501
+ num_output: 128
502
+ pad: 1
503
+ kernel_size: 3
504
+ weight_filler {
505
+ type: "gaussian"
506
+ std: 0.01
507
+ }
508
+ bias_filler {
509
+ type: "constant"
510
+ }
511
+ }
512
+ }
513
+ layer {
514
+ name: "relu5_2_CPM_L1"
515
+ type: "ReLU"
516
+ bottom: "conv5_2_CPM_L1"
517
+ top: "conv5_2_CPM_L1"
518
+ }
519
+ layer {
520
+ name: "conv5_2_CPM_L2"
521
+ type: "Convolution"
522
+ bottom: "conv5_1_CPM_L2"
523
+ top: "conv5_2_CPM_L2"
524
+ param {
525
+ lr_mult: 1.0
526
+ decay_mult: 1
527
+ }
528
+ param {
529
+ lr_mult: 2.0
530
+ decay_mult: 0
531
+ }
532
+ convolution_param {
533
+ num_output: 128
534
+ pad: 1
535
+ kernel_size: 3
536
+ weight_filler {
537
+ type: "gaussian"
538
+ std: 0.01
539
+ }
540
+ bias_filler {
541
+ type: "constant"
542
+ }
543
+ }
544
+ }
545
+ layer {
546
+ name: "relu5_2_CPM_L2"
547
+ type: "ReLU"
548
+ bottom: "conv5_2_CPM_L2"
549
+ top: "conv5_2_CPM_L2"
550
+ }
551
+ layer {
552
+ name: "conv5_3_CPM_L1"
553
+ type: "Convolution"
554
+ bottom: "conv5_2_CPM_L1"
555
+ top: "conv5_3_CPM_L1"
556
+ param {
557
+ lr_mult: 1.0
558
+ decay_mult: 1
559
+ }
560
+ param {
561
+ lr_mult: 2.0
562
+ decay_mult: 0
563
+ }
564
+ convolution_param {
565
+ num_output: 128
566
+ pad: 1
567
+ kernel_size: 3
568
+ weight_filler {
569
+ type: "gaussian"
570
+ std: 0.01
571
+ }
572
+ bias_filler {
573
+ type: "constant"
574
+ }
575
+ }
576
+ }
577
+ layer {
578
+ name: "relu5_3_CPM_L1"
579
+ type: "ReLU"
580
+ bottom: "conv5_3_CPM_L1"
581
+ top: "conv5_3_CPM_L1"
582
+ }
583
+ layer {
584
+ name: "conv5_3_CPM_L2"
585
+ type: "Convolution"
586
+ bottom: "conv5_2_CPM_L2"
587
+ top: "conv5_3_CPM_L2"
588
+ param {
589
+ lr_mult: 1.0
590
+ decay_mult: 1
591
+ }
592
+ param {
593
+ lr_mult: 2.0
594
+ decay_mult: 0
595
+ }
596
+ convolution_param {
597
+ num_output: 128
598
+ pad: 1
599
+ kernel_size: 3
600
+ weight_filler {
601
+ type: "gaussian"
602
+ std: 0.01
603
+ }
604
+ bias_filler {
605
+ type: "constant"
606
+ }
607
+ }
608
+ }
609
+ layer {
610
+ name: "relu5_3_CPM_L2"
611
+ type: "ReLU"
612
+ bottom: "conv5_3_CPM_L2"
613
+ top: "conv5_3_CPM_L2"
614
+ }
615
+ layer {
616
+ name: "conv5_4_CPM_L1"
617
+ type: "Convolution"
618
+ bottom: "conv5_3_CPM_L1"
619
+ top: "conv5_4_CPM_L1"
620
+ param {
621
+ lr_mult: 1.0
622
+ decay_mult: 1
623
+ }
624
+ param {
625
+ lr_mult: 2.0
626
+ decay_mult: 0
627
+ }
628
+ convolution_param {
629
+ num_output: 512
630
+ pad: 0
631
+ kernel_size: 1
632
+ weight_filler {
633
+ type: "gaussian"
634
+ std: 0.01
635
+ }
636
+ bias_filler {
637
+ type: "constant"
638
+ }
639
+ }
640
+ }
641
+ layer {
642
+ name: "relu5_4_CPM_L1"
643
+ type: "ReLU"
644
+ bottom: "conv5_4_CPM_L1"
645
+ top: "conv5_4_CPM_L1"
646
+ }
647
+ layer {
648
+ name: "conv5_4_CPM_L2"
649
+ type: "Convolution"
650
+ bottom: "conv5_3_CPM_L2"
651
+ top: "conv5_4_CPM_L2"
652
+ param {
653
+ lr_mult: 1.0
654
+ decay_mult: 1
655
+ }
656
+ param {
657
+ lr_mult: 2.0
658
+ decay_mult: 0
659
+ }
660
+ convolution_param {
661
+ num_output: 512
662
+ pad: 0
663
+ kernel_size: 1
664
+ weight_filler {
665
+ type: "gaussian"
666
+ std: 0.01
667
+ }
668
+ bias_filler {
669
+ type: "constant"
670
+ }
671
+ }
672
+ }
673
+ layer {
674
+ name: "relu5_4_CPM_L2"
675
+ type: "ReLU"
676
+ bottom: "conv5_4_CPM_L2"
677
+ top: "conv5_4_CPM_L2"
678
+ }
679
+ layer {
680
+ name: "conv5_5_CPM_L1"
681
+ type: "Convolution"
682
+ bottom: "conv5_4_CPM_L1"
683
+ top: "conv5_5_CPM_L1"
684
+ param {
685
+ lr_mult: 1.0
686
+ decay_mult: 1
687
+ }
688
+ param {
689
+ lr_mult: 2.0
690
+ decay_mult: 0
691
+ }
692
+ convolution_param {
693
+ num_output: 38
694
+ pad: 0
695
+ kernel_size: 1
696
+ weight_filler {
697
+ type: "gaussian"
698
+ std: 0.01
699
+ }
700
+ bias_filler {
701
+ type: "constant"
702
+ }
703
+ }
704
+ }
705
+ layer {
706
+ name: "conv5_5_CPM_L2"
707
+ type: "Convolution"
708
+ bottom: "conv5_4_CPM_L2"
709
+ top: "conv5_5_CPM_L2"
710
+ param {
711
+ lr_mult: 1.0
712
+ decay_mult: 1
713
+ }
714
+ param {
715
+ lr_mult: 2.0
716
+ decay_mult: 0
717
+ }
718
+ convolution_param {
719
+ num_output: 19
720
+ pad: 0
721
+ kernel_size: 1
722
+ weight_filler {
723
+ type: "gaussian"
724
+ std: 0.01
725
+ }
726
+ bias_filler {
727
+ type: "constant"
728
+ }
729
+ }
730
+ }
731
+ layer {
732
+ name: "concat_stage2"
733
+ type: "Concat"
734
+ bottom: "conv5_5_CPM_L1"
735
+ bottom: "conv5_5_CPM_L2"
736
+ bottom: "conv4_4_CPM"
737
+ top: "concat_stage2"
738
+ concat_param {
739
+ axis: 1
740
+ }
741
+ }
742
+ layer {
743
+ name: "Mconv1_stage2_L1"
744
+ type: "Convolution"
745
+ bottom: "concat_stage2"
746
+ top: "Mconv1_stage2_L1"
747
+ param {
748
+ lr_mult: 4.0
749
+ decay_mult: 1
750
+ }
751
+ param {
752
+ lr_mult: 8.0
753
+ decay_mult: 0
754
+ }
755
+ convolution_param {
756
+ num_output: 128
757
+ pad: 3
758
+ kernel_size: 7
759
+ weight_filler {
760
+ type: "gaussian"
761
+ std: 0.01
762
+ }
763
+ bias_filler {
764
+ type: "constant"
765
+ }
766
+ }
767
+ }
768
+ layer {
769
+ name: "Mrelu1_stage2_L1"
770
+ type: "ReLU"
771
+ bottom: "Mconv1_stage2_L1"
772
+ top: "Mconv1_stage2_L1"
773
+ }
774
+ layer {
775
+ name: "Mconv1_stage2_L2"
776
+ type: "Convolution"
777
+ bottom: "concat_stage2"
778
+ top: "Mconv1_stage2_L2"
779
+ param {
780
+ lr_mult: 4.0
781
+ decay_mult: 1
782
+ }
783
+ param {
784
+ lr_mult: 8.0
785
+ decay_mult: 0
786
+ }
787
+ convolution_param {
788
+ num_output: 128
789
+ pad: 3
790
+ kernel_size: 7
791
+ weight_filler {
792
+ type: "gaussian"
793
+ std: 0.01
794
+ }
795
+ bias_filler {
796
+ type: "constant"
797
+ }
798
+ }
799
+ }
800
+ layer {
801
+ name: "Mrelu1_stage2_L2"
802
+ type: "ReLU"
803
+ bottom: "Mconv1_stage2_L2"
804
+ top: "Mconv1_stage2_L2"
805
+ }
806
+ layer {
807
+ name: "Mconv2_stage2_L1"
808
+ type: "Convolution"
809
+ bottom: "Mconv1_stage2_L1"
810
+ top: "Mconv2_stage2_L1"
811
+ param {
812
+ lr_mult: 4.0
813
+ decay_mult: 1
814
+ }
815
+ param {
816
+ lr_mult: 8.0
817
+ decay_mult: 0
818
+ }
819
+ convolution_param {
820
+ num_output: 128
821
+ pad: 3
822
+ kernel_size: 7
823
+ weight_filler {
824
+ type: "gaussian"
825
+ std: 0.01
826
+ }
827
+ bias_filler {
828
+ type: "constant"
829
+ }
830
+ }
831
+ }
832
+ layer {
833
+ name: "Mrelu2_stage2_L1"
834
+ type: "ReLU"
835
+ bottom: "Mconv2_stage2_L1"
836
+ top: "Mconv2_stage2_L1"
837
+ }
838
+ layer {
839
+ name: "Mconv2_stage2_L2"
840
+ type: "Convolution"
841
+ bottom: "Mconv1_stage2_L2"
842
+ top: "Mconv2_stage2_L2"
843
+ param {
844
+ lr_mult: 4.0
845
+ decay_mult: 1
846
+ }
847
+ param {
848
+ lr_mult: 8.0
849
+ decay_mult: 0
850
+ }
851
+ convolution_param {
852
+ num_output: 128
853
+ pad: 3
854
+ kernel_size: 7
855
+ weight_filler {
856
+ type: "gaussian"
857
+ std: 0.01
858
+ }
859
+ bias_filler {
860
+ type: "constant"
861
+ }
862
+ }
863
+ }
864
+ layer {
865
+ name: "Mrelu2_stage2_L2"
866
+ type: "ReLU"
867
+ bottom: "Mconv2_stage2_L2"
868
+ top: "Mconv2_stage2_L2"
869
+ }
870
+ layer {
871
+ name: "Mconv3_stage2_L1"
872
+ type: "Convolution"
873
+ bottom: "Mconv2_stage2_L1"
874
+ top: "Mconv3_stage2_L1"
875
+ param {
876
+ lr_mult: 4.0
877
+ decay_mult: 1
878
+ }
879
+ param {
880
+ lr_mult: 8.0
881
+ decay_mult: 0
882
+ }
883
+ convolution_param {
884
+ num_output: 128
885
+ pad: 3
886
+ kernel_size: 7
887
+ weight_filler {
888
+ type: "gaussian"
889
+ std: 0.01
890
+ }
891
+ bias_filler {
892
+ type: "constant"
893
+ }
894
+ }
895
+ }
896
+ layer {
897
+ name: "Mrelu3_stage2_L1"
898
+ type: "ReLU"
899
+ bottom: "Mconv3_stage2_L1"
900
+ top: "Mconv3_stage2_L1"
901
+ }
902
+ layer {
903
+ name: "Mconv3_stage2_L2"
904
+ type: "Convolution"
905
+ bottom: "Mconv2_stage2_L2"
906
+ top: "Mconv3_stage2_L2"
907
+ param {
908
+ lr_mult: 4.0
909
+ decay_mult: 1
910
+ }
911
+ param {
912
+ lr_mult: 8.0
913
+ decay_mult: 0
914
+ }
915
+ convolution_param {
916
+ num_output: 128
917
+ pad: 3
918
+ kernel_size: 7
919
+ weight_filler {
920
+ type: "gaussian"
921
+ std: 0.01
922
+ }
923
+ bias_filler {
924
+ type: "constant"
925
+ }
926
+ }
927
+ }
928
+ layer {
929
+ name: "Mrelu3_stage2_L2"
930
+ type: "ReLU"
931
+ bottom: "Mconv3_stage2_L2"
932
+ top: "Mconv3_stage2_L2"
933
+ }
934
+ layer {
935
+ name: "Mconv4_stage2_L1"
936
+ type: "Convolution"
937
+ bottom: "Mconv3_stage2_L1"
938
+ top: "Mconv4_stage2_L1"
939
+ param {
940
+ lr_mult: 4.0
941
+ decay_mult: 1
942
+ }
943
+ param {
944
+ lr_mult: 8.0
945
+ decay_mult: 0
946
+ }
947
+ convolution_param {
948
+ num_output: 128
949
+ pad: 3
950
+ kernel_size: 7
951
+ weight_filler {
952
+ type: "gaussian"
953
+ std: 0.01
954
+ }
955
+ bias_filler {
956
+ type: "constant"
957
+ }
958
+ }
959
+ }
960
+ layer {
961
+ name: "Mrelu4_stage2_L1"
962
+ type: "ReLU"
963
+ bottom: "Mconv4_stage2_L1"
964
+ top: "Mconv4_stage2_L1"
965
+ }
966
+ layer {
967
+ name: "Mconv4_stage2_L2"
968
+ type: "Convolution"
969
+ bottom: "Mconv3_stage2_L2"
970
+ top: "Mconv4_stage2_L2"
971
+ param {
972
+ lr_mult: 4.0
973
+ decay_mult: 1
974
+ }
975
+ param {
976
+ lr_mult: 8.0
977
+ decay_mult: 0
978
+ }
979
+ convolution_param {
980
+ num_output: 128
981
+ pad: 3
982
+ kernel_size: 7
983
+ weight_filler {
984
+ type: "gaussian"
985
+ std: 0.01
986
+ }
987
+ bias_filler {
988
+ type: "constant"
989
+ }
990
+ }
991
+ }
992
+ layer {
993
+ name: "Mrelu4_stage2_L2"
994
+ type: "ReLU"
995
+ bottom: "Mconv4_stage2_L2"
996
+ top: "Mconv4_stage2_L2"
997
+ }
998
+ layer {
999
+ name: "Mconv5_stage2_L1"
1000
+ type: "Convolution"
1001
+ bottom: "Mconv4_stage2_L1"
1002
+ top: "Mconv5_stage2_L1"
1003
+ param {
1004
+ lr_mult: 4.0
1005
+ decay_mult: 1
1006
+ }
1007
+ param {
1008
+ lr_mult: 8.0
1009
+ decay_mult: 0
1010
+ }
1011
+ convolution_param {
1012
+ num_output: 128
1013
+ pad: 3
1014
+ kernel_size: 7
1015
+ weight_filler {
1016
+ type: "gaussian"
1017
+ std: 0.01
1018
+ }
1019
+ bias_filler {
1020
+ type: "constant"
1021
+ }
1022
+ }
1023
+ }
1024
+ layer {
1025
+ name: "Mrelu5_stage2_L1"
1026
+ type: "ReLU"
1027
+ bottom: "Mconv5_stage2_L1"
1028
+ top: "Mconv5_stage2_L1"
1029
+ }
1030
+ layer {
1031
+ name: "Mconv5_stage2_L2"
1032
+ type: "Convolution"
1033
+ bottom: "Mconv4_stage2_L2"
1034
+ top: "Mconv5_stage2_L2"
1035
+ param {
1036
+ lr_mult: 4.0
1037
+ decay_mult: 1
1038
+ }
1039
+ param {
1040
+ lr_mult: 8.0
1041
+ decay_mult: 0
1042
+ }
1043
+ convolution_param {
1044
+ num_output: 128
1045
+ pad: 3
1046
+ kernel_size: 7
1047
+ weight_filler {
1048
+ type: "gaussian"
1049
+ std: 0.01
1050
+ }
1051
+ bias_filler {
1052
+ type: "constant"
1053
+ }
1054
+ }
1055
+ }
1056
+ layer {
1057
+ name: "Mrelu5_stage2_L2"
1058
+ type: "ReLU"
1059
+ bottom: "Mconv5_stage2_L2"
1060
+ top: "Mconv5_stage2_L2"
1061
+ }
1062
+ layer {
1063
+ name: "Mconv6_stage2_L1"
1064
+ type: "Convolution"
1065
+ bottom: "Mconv5_stage2_L1"
1066
+ top: "Mconv6_stage2_L1"
1067
+ param {
1068
+ lr_mult: 4.0
1069
+ decay_mult: 1
1070
+ }
1071
+ param {
1072
+ lr_mult: 8.0
1073
+ decay_mult: 0
1074
+ }
1075
+ convolution_param {
1076
+ num_output: 128
1077
+ pad: 0
1078
+ kernel_size: 1
1079
+ weight_filler {
1080
+ type: "gaussian"
1081
+ std: 0.01
1082
+ }
1083
+ bias_filler {
1084
+ type: "constant"
1085
+ }
1086
+ }
1087
+ }
1088
+ layer {
1089
+ name: "Mrelu6_stage2_L1"
1090
+ type: "ReLU"
1091
+ bottom: "Mconv6_stage2_L1"
1092
+ top: "Mconv6_stage2_L1"
1093
+ }
1094
+ layer {
1095
+ name: "Mconv6_stage2_L2"
1096
+ type: "Convolution"
1097
+ bottom: "Mconv5_stage2_L2"
1098
+ top: "Mconv6_stage2_L2"
1099
+ param {
1100
+ lr_mult: 4.0
1101
+ decay_mult: 1
1102
+ }
1103
+ param {
1104
+ lr_mult: 8.0
1105
+ decay_mult: 0
1106
+ }
1107
+ convolution_param {
1108
+ num_output: 128
1109
+ pad: 0
1110
+ kernel_size: 1
1111
+ weight_filler {
1112
+ type: "gaussian"
1113
+ std: 0.01
1114
+ }
1115
+ bias_filler {
1116
+ type: "constant"
1117
+ }
1118
+ }
1119
+ }
1120
+ layer {
1121
+ name: "Mrelu6_stage2_L2"
1122
+ type: "ReLU"
1123
+ bottom: "Mconv6_stage2_L2"
1124
+ top: "Mconv6_stage2_L2"
1125
+ }
1126
+ layer {
1127
+ name: "Mconv7_stage2_L1"
1128
+ type: "Convolution"
1129
+ bottom: "Mconv6_stage2_L1"
1130
+ top: "Mconv7_stage2_L1"
1131
+ param {
1132
+ lr_mult: 4.0
1133
+ decay_mult: 1
1134
+ }
1135
+ param {
1136
+ lr_mult: 8.0
1137
+ decay_mult: 0
1138
+ }
1139
+ convolution_param {
1140
+ num_output: 38
1141
+ pad: 0
1142
+ kernel_size: 1
1143
+ weight_filler {
1144
+ type: "gaussian"
1145
+ std: 0.01
1146
+ }
1147
+ bias_filler {
1148
+ type: "constant"
1149
+ }
1150
+ }
1151
+ }
1152
+ layer {
1153
+ name: "Mconv7_stage2_L2"
1154
+ type: "Convolution"
1155
+ bottom: "Mconv6_stage2_L2"
1156
+ top: "Mconv7_stage2_L2"
1157
+ param {
1158
+ lr_mult: 4.0
1159
+ decay_mult: 1
1160
+ }
1161
+ param {
1162
+ lr_mult: 8.0
1163
+ decay_mult: 0
1164
+ }
1165
+ convolution_param {
1166
+ num_output: 19
1167
+ pad: 0
1168
+ kernel_size: 1
1169
+ weight_filler {
1170
+ type: "gaussian"
1171
+ std: 0.01
1172
+ }
1173
+ bias_filler {
1174
+ type: "constant"
1175
+ }
1176
+ }
1177
+ }
1178
+ layer {
1179
+ name: "concat_stage3"
1180
+ type: "Concat"
1181
+ bottom: "Mconv7_stage2_L1"
1182
+ bottom: "Mconv7_stage2_L2"
1183
+ bottom: "conv4_4_CPM"
1184
+ top: "concat_stage3"
1185
+ concat_param {
1186
+ axis: 1
1187
+ }
1188
+ }
1189
+ layer {
1190
+ name: "Mconv1_stage3_L1"
1191
+ type: "Convolution"
1192
+ bottom: "concat_stage3"
1193
+ top: "Mconv1_stage3_L1"
1194
+ param {
1195
+ lr_mult: 4.0
1196
+ decay_mult: 1
1197
+ }
1198
+ param {
1199
+ lr_mult: 8.0
1200
+ decay_mult: 0
1201
+ }
1202
+ convolution_param {
1203
+ num_output: 128
1204
+ pad: 3
1205
+ kernel_size: 7
1206
+ weight_filler {
1207
+ type: "gaussian"
1208
+ std: 0.01
1209
+ }
1210
+ bias_filler {
1211
+ type: "constant"
1212
+ }
1213
+ }
1214
+ }
1215
+ layer {
1216
+ name: "Mrelu1_stage3_L1"
1217
+ type: "ReLU"
1218
+ bottom: "Mconv1_stage3_L1"
1219
+ top: "Mconv1_stage3_L1"
1220
+ }
1221
+ layer {
1222
+ name: "Mconv1_stage3_L2"
1223
+ type: "Convolution"
1224
+ bottom: "concat_stage3"
1225
+ top: "Mconv1_stage3_L2"
1226
+ param {
1227
+ lr_mult: 4.0
1228
+ decay_mult: 1
1229
+ }
1230
+ param {
1231
+ lr_mult: 8.0
1232
+ decay_mult: 0
1233
+ }
1234
+ convolution_param {
1235
+ num_output: 128
1236
+ pad: 3
1237
+ kernel_size: 7
1238
+ weight_filler {
1239
+ type: "gaussian"
1240
+ std: 0.01
1241
+ }
1242
+ bias_filler {
1243
+ type: "constant"
1244
+ }
1245
+ }
1246
+ }
1247
+ layer {
1248
+ name: "Mrelu1_stage3_L2"
1249
+ type: "ReLU"
1250
+ bottom: "Mconv1_stage3_L2"
1251
+ top: "Mconv1_stage3_L2"
1252
+ }
1253
+ layer {
1254
+ name: "Mconv2_stage3_L1"
1255
+ type: "Convolution"
1256
+ bottom: "Mconv1_stage3_L1"
1257
+ top: "Mconv2_stage3_L1"
1258
+ param {
1259
+ lr_mult: 4.0
1260
+ decay_mult: 1
1261
+ }
1262
+ param {
1263
+ lr_mult: 8.0
1264
+ decay_mult: 0
1265
+ }
1266
+ convolution_param {
1267
+ num_output: 128
1268
+ pad: 3
1269
+ kernel_size: 7
1270
+ weight_filler {
1271
+ type: "gaussian"
1272
+ std: 0.01
1273
+ }
1274
+ bias_filler {
1275
+ type: "constant"
1276
+ }
1277
+ }
1278
+ }
1279
+ layer {
1280
+ name: "Mrelu2_stage3_L1"
1281
+ type: "ReLU"
1282
+ bottom: "Mconv2_stage3_L1"
1283
+ top: "Mconv2_stage3_L1"
1284
+ }
1285
+ layer {
1286
+ name: "Mconv2_stage3_L2"
1287
+ type: "Convolution"
1288
+ bottom: "Mconv1_stage3_L2"
1289
+ top: "Mconv2_stage3_L2"
1290
+ param {
1291
+ lr_mult: 4.0
1292
+ decay_mult: 1
1293
+ }
1294
+ param {
1295
+ lr_mult: 8.0
1296
+ decay_mult: 0
1297
+ }
1298
+ convolution_param {
1299
+ num_output: 128
1300
+ pad: 3
1301
+ kernel_size: 7
1302
+ weight_filler {
1303
+ type: "gaussian"
1304
+ std: 0.01
1305
+ }
1306
+ bias_filler {
1307
+ type: "constant"
1308
+ }
1309
+ }
1310
+ }
1311
+ layer {
1312
+ name: "Mrelu2_stage3_L2"
1313
+ type: "ReLU"
1314
+ bottom: "Mconv2_stage3_L2"
1315
+ top: "Mconv2_stage3_L2"
1316
+ }
1317
+ layer {
1318
+ name: "Mconv3_stage3_L1"
1319
+ type: "Convolution"
1320
+ bottom: "Mconv2_stage3_L1"
1321
+ top: "Mconv3_stage3_L1"
1322
+ param {
1323
+ lr_mult: 4.0
1324
+ decay_mult: 1
1325
+ }
1326
+ param {
1327
+ lr_mult: 8.0
1328
+ decay_mult: 0
1329
+ }
1330
+ convolution_param {
1331
+ num_output: 128
1332
+ pad: 3
1333
+ kernel_size: 7
1334
+ weight_filler {
1335
+ type: "gaussian"
1336
+ std: 0.01
1337
+ }
1338
+ bias_filler {
1339
+ type: "constant"
1340
+ }
1341
+ }
1342
+ }
1343
+ layer {
1344
+ name: "Mrelu3_stage3_L1"
1345
+ type: "ReLU"
1346
+ bottom: "Mconv3_stage3_L1"
1347
+ top: "Mconv3_stage3_L1"
1348
+ }
1349
+ layer {
1350
+ name: "Mconv3_stage3_L2"
1351
+ type: "Convolution"
1352
+ bottom: "Mconv2_stage3_L2"
1353
+ top: "Mconv3_stage3_L2"
1354
+ param {
1355
+ lr_mult: 4.0
1356
+ decay_mult: 1
1357
+ }
1358
+ param {
1359
+ lr_mult: 8.0
1360
+ decay_mult: 0
1361
+ }
1362
+ convolution_param {
1363
+ num_output: 128
1364
+ pad: 3
1365
+ kernel_size: 7
1366
+ weight_filler {
1367
+ type: "gaussian"
1368
+ std: 0.01
1369
+ }
1370
+ bias_filler {
1371
+ type: "constant"
1372
+ }
1373
+ }
1374
+ }
1375
+ layer {
1376
+ name: "Mrelu3_stage3_L2"
1377
+ type: "ReLU"
1378
+ bottom: "Mconv3_stage3_L2"
1379
+ top: "Mconv3_stage3_L2"
1380
+ }
1381
+ layer {
1382
+ name: "Mconv4_stage3_L1"
1383
+ type: "Convolution"
1384
+ bottom: "Mconv3_stage3_L1"
1385
+ top: "Mconv4_stage3_L1"
1386
+ param {
1387
+ lr_mult: 4.0
1388
+ decay_mult: 1
1389
+ }
1390
+ param {
1391
+ lr_mult: 8.0
1392
+ decay_mult: 0
1393
+ }
1394
+ convolution_param {
1395
+ num_output: 128
1396
+ pad: 3
1397
+ kernel_size: 7
1398
+ weight_filler {
1399
+ type: "gaussian"
1400
+ std: 0.01
1401
+ }
1402
+ bias_filler {
1403
+ type: "constant"
1404
+ }
1405
+ }
1406
+ }
1407
+ layer {
1408
+ name: "Mrelu4_stage3_L1"
1409
+ type: "ReLU"
1410
+ bottom: "Mconv4_stage3_L1"
1411
+ top: "Mconv4_stage3_L1"
1412
+ }
1413
+ layer {
1414
+ name: "Mconv4_stage3_L2"
1415
+ type: "Convolution"
1416
+ bottom: "Mconv3_stage3_L2"
1417
+ top: "Mconv4_stage3_L2"
1418
+ param {
1419
+ lr_mult: 4.0
1420
+ decay_mult: 1
1421
+ }
1422
+ param {
1423
+ lr_mult: 8.0
1424
+ decay_mult: 0
1425
+ }
1426
+ convolution_param {
1427
+ num_output: 128
1428
+ pad: 3
1429
+ kernel_size: 7
1430
+ weight_filler {
1431
+ type: "gaussian"
1432
+ std: 0.01
1433
+ }
1434
+ bias_filler {
1435
+ type: "constant"
1436
+ }
1437
+ }
1438
+ }
1439
+ layer {
1440
+ name: "Mrelu4_stage3_L2"
1441
+ type: "ReLU"
1442
+ bottom: "Mconv4_stage3_L2"
1443
+ top: "Mconv4_stage3_L2"
1444
+ }
1445
+ layer {
1446
+ name: "Mconv5_stage3_L1"
1447
+ type: "Convolution"
1448
+ bottom: "Mconv4_stage3_L1"
1449
+ top: "Mconv5_stage3_L1"
1450
+ param {
1451
+ lr_mult: 4.0
1452
+ decay_mult: 1
1453
+ }
1454
+ param {
1455
+ lr_mult: 8.0
1456
+ decay_mult: 0
1457
+ }
1458
+ convolution_param {
1459
+ num_output: 128
1460
+ pad: 3
1461
+ kernel_size: 7
1462
+ weight_filler {
1463
+ type: "gaussian"
1464
+ std: 0.01
1465
+ }
1466
+ bias_filler {
1467
+ type: "constant"
1468
+ }
1469
+ }
1470
+ }
1471
+ layer {
1472
+ name: "Mrelu5_stage3_L1"
1473
+ type: "ReLU"
1474
+ bottom: "Mconv5_stage3_L1"
1475
+ top: "Mconv5_stage3_L1"
1476
+ }
1477
+ layer {
1478
+ name: "Mconv5_stage3_L2"
1479
+ type: "Convolution"
1480
+ bottom: "Mconv4_stage3_L2"
1481
+ top: "Mconv5_stage3_L2"
1482
+ param {
1483
+ lr_mult: 4.0
1484
+ decay_mult: 1
1485
+ }
1486
+ param {
1487
+ lr_mult: 8.0
1488
+ decay_mult: 0
1489
+ }
1490
+ convolution_param {
1491
+ num_output: 128
1492
+ pad: 3
1493
+ kernel_size: 7
1494
+ weight_filler {
1495
+ type: "gaussian"
1496
+ std: 0.01
1497
+ }
1498
+ bias_filler {
1499
+ type: "constant"
1500
+ }
1501
+ }
1502
+ }
1503
+ layer {
1504
+ name: "Mrelu5_stage3_L2"
1505
+ type: "ReLU"
1506
+ bottom: "Mconv5_stage3_L2"
1507
+ top: "Mconv5_stage3_L2"
1508
+ }
1509
+ layer {
1510
+ name: "Mconv6_stage3_L1"
1511
+ type: "Convolution"
1512
+ bottom: "Mconv5_stage3_L1"
1513
+ top: "Mconv6_stage3_L1"
1514
+ param {
1515
+ lr_mult: 4.0
1516
+ decay_mult: 1
1517
+ }
1518
+ param {
1519
+ lr_mult: 8.0
1520
+ decay_mult: 0
1521
+ }
1522
+ convolution_param {
1523
+ num_output: 128
1524
+ pad: 0
1525
+ kernel_size: 1
1526
+ weight_filler {
1527
+ type: "gaussian"
1528
+ std: 0.01
1529
+ }
1530
+ bias_filler {
1531
+ type: "constant"
1532
+ }
1533
+ }
1534
+ }
1535
+ layer {
1536
+ name: "Mrelu6_stage3_L1"
1537
+ type: "ReLU"
1538
+ bottom: "Mconv6_stage3_L1"
1539
+ top: "Mconv6_stage3_L1"
1540
+ }
1541
+ layer {
1542
+ name: "Mconv6_stage3_L2"
1543
+ type: "Convolution"
1544
+ bottom: "Mconv5_stage3_L2"
1545
+ top: "Mconv6_stage3_L2"
1546
+ param {
1547
+ lr_mult: 4.0
1548
+ decay_mult: 1
1549
+ }
1550
+ param {
1551
+ lr_mult: 8.0
1552
+ decay_mult: 0
1553
+ }
1554
+ convolution_param {
1555
+ num_output: 128
1556
+ pad: 0
1557
+ kernel_size: 1
1558
+ weight_filler {
1559
+ type: "gaussian"
1560
+ std: 0.01
1561
+ }
1562
+ bias_filler {
1563
+ type: "constant"
1564
+ }
1565
+ }
1566
+ }
1567
+ layer {
1568
+ name: "Mrelu6_stage3_L2"
1569
+ type: "ReLU"
1570
+ bottom: "Mconv6_stage3_L2"
1571
+ top: "Mconv6_stage3_L2"
1572
+ }
1573
+ layer {
1574
+ name: "Mconv7_stage3_L1"
1575
+ type: "Convolution"
1576
+ bottom: "Mconv6_stage3_L1"
1577
+ top: "Mconv7_stage3_L1"
1578
+ param {
1579
+ lr_mult: 4.0
1580
+ decay_mult: 1
1581
+ }
1582
+ param {
1583
+ lr_mult: 8.0
1584
+ decay_mult: 0
1585
+ }
1586
+ convolution_param {
1587
+ num_output: 38
1588
+ pad: 0
1589
+ kernel_size: 1
1590
+ weight_filler {
1591
+ type: "gaussian"
1592
+ std: 0.01
1593
+ }
1594
+ bias_filler {
1595
+ type: "constant"
1596
+ }
1597
+ }
1598
+ }
1599
+ layer {
1600
+ name: "Mconv7_stage3_L2"
1601
+ type: "Convolution"
1602
+ bottom: "Mconv6_stage3_L2"
1603
+ top: "Mconv7_stage3_L2"
1604
+ param {
1605
+ lr_mult: 4.0
1606
+ decay_mult: 1
1607
+ }
1608
+ param {
1609
+ lr_mult: 8.0
1610
+ decay_mult: 0
1611
+ }
1612
+ convolution_param {
1613
+ num_output: 19
1614
+ pad: 0
1615
+ kernel_size: 1
1616
+ weight_filler {
1617
+ type: "gaussian"
1618
+ std: 0.01
1619
+ }
1620
+ bias_filler {
1621
+ type: "constant"
1622
+ }
1623
+ }
1624
+ }
1625
+ layer {
1626
+ name: "concat_stage4"
1627
+ type: "Concat"
1628
+ bottom: "Mconv7_stage3_L1"
1629
+ bottom: "Mconv7_stage3_L2"
1630
+ bottom: "conv4_4_CPM"
1631
+ top: "concat_stage4"
1632
+ concat_param {
1633
+ axis: 1
1634
+ }
1635
+ }
1636
+ layer {
1637
+ name: "Mconv1_stage4_L1"
1638
+ type: "Convolution"
1639
+ bottom: "concat_stage4"
1640
+ top: "Mconv1_stage4_L1"
1641
+ param {
1642
+ lr_mult: 4.0
1643
+ decay_mult: 1
1644
+ }
1645
+ param {
1646
+ lr_mult: 8.0
1647
+ decay_mult: 0
1648
+ }
1649
+ convolution_param {
1650
+ num_output: 128
1651
+ pad: 3
1652
+ kernel_size: 7
1653
+ weight_filler {
1654
+ type: "gaussian"
1655
+ std: 0.01
1656
+ }
1657
+ bias_filler {
1658
+ type: "constant"
1659
+ }
1660
+ }
1661
+ }
1662
+ layer {
1663
+ name: "Mrelu1_stage4_L1"
1664
+ type: "ReLU"
1665
+ bottom: "Mconv1_stage4_L1"
1666
+ top: "Mconv1_stage4_L1"
1667
+ }
1668
+ layer {
1669
+ name: "Mconv1_stage4_L2"
1670
+ type: "Convolution"
1671
+ bottom: "concat_stage4"
1672
+ top: "Mconv1_stage4_L2"
1673
+ param {
1674
+ lr_mult: 4.0
1675
+ decay_mult: 1
1676
+ }
1677
+ param {
1678
+ lr_mult: 8.0
1679
+ decay_mult: 0
1680
+ }
1681
+ convolution_param {
1682
+ num_output: 128
1683
+ pad: 3
1684
+ kernel_size: 7
1685
+ weight_filler {
1686
+ type: "gaussian"
1687
+ std: 0.01
1688
+ }
1689
+ bias_filler {
1690
+ type: "constant"
1691
+ }
1692
+ }
1693
+ }
1694
+ layer {
1695
+ name: "Mrelu1_stage4_L2"
1696
+ type: "ReLU"
1697
+ bottom: "Mconv1_stage4_L2"
1698
+ top: "Mconv1_stage4_L2"
1699
+ }
1700
+ layer {
1701
+ name: "Mconv2_stage4_L1"
1702
+ type: "Convolution"
1703
+ bottom: "Mconv1_stage4_L1"
1704
+ top: "Mconv2_stage4_L1"
1705
+ param {
1706
+ lr_mult: 4.0
1707
+ decay_mult: 1
1708
+ }
1709
+ param {
1710
+ lr_mult: 8.0
1711
+ decay_mult: 0
1712
+ }
1713
+ convolution_param {
1714
+ num_output: 128
1715
+ pad: 3
1716
+ kernel_size: 7
1717
+ weight_filler {
1718
+ type: "gaussian"
1719
+ std: 0.01
1720
+ }
1721
+ bias_filler {
1722
+ type: "constant"
1723
+ }
1724
+ }
1725
+ }
1726
+ layer {
1727
+ name: "Mrelu2_stage4_L1"
1728
+ type: "ReLU"
1729
+ bottom: "Mconv2_stage4_L1"
1730
+ top: "Mconv2_stage4_L1"
1731
+ }
1732
+ layer {
1733
+ name: "Mconv2_stage4_L2"
1734
+ type: "Convolution"
1735
+ bottom: "Mconv1_stage4_L2"
1736
+ top: "Mconv2_stage4_L2"
1737
+ param {
1738
+ lr_mult: 4.0
1739
+ decay_mult: 1
1740
+ }
1741
+ param {
1742
+ lr_mult: 8.0
1743
+ decay_mult: 0
1744
+ }
1745
+ convolution_param {
1746
+ num_output: 128
1747
+ pad: 3
1748
+ kernel_size: 7
1749
+ weight_filler {
1750
+ type: "gaussian"
1751
+ std: 0.01
1752
+ }
1753
+ bias_filler {
1754
+ type: "constant"
1755
+ }
1756
+ }
1757
+ }
1758
+ layer {
1759
+ name: "Mrelu2_stage4_L2"
1760
+ type: "ReLU"
1761
+ bottom: "Mconv2_stage4_L2"
1762
+ top: "Mconv2_stage4_L2"
1763
+ }
1764
+ layer {
1765
+ name: "Mconv3_stage4_L1"
1766
+ type: "Convolution"
1767
+ bottom: "Mconv2_stage4_L1"
1768
+ top: "Mconv3_stage4_L1"
1769
+ param {
1770
+ lr_mult: 4.0
1771
+ decay_mult: 1
1772
+ }
1773
+ param {
1774
+ lr_mult: 8.0
1775
+ decay_mult: 0
1776
+ }
1777
+ convolution_param {
1778
+ num_output: 128
1779
+ pad: 3
1780
+ kernel_size: 7
1781
+ weight_filler {
1782
+ type: "gaussian"
1783
+ std: 0.01
1784
+ }
1785
+ bias_filler {
1786
+ type: "constant"
1787
+ }
1788
+ }
1789
+ }
1790
+ layer {
1791
+ name: "Mrelu3_stage4_L1"
1792
+ type: "ReLU"
1793
+ bottom: "Mconv3_stage4_L1"
1794
+ top: "Mconv3_stage4_L1"
1795
+ }
1796
+ layer {
1797
+ name: "Mconv3_stage4_L2"
1798
+ type: "Convolution"
1799
+ bottom: "Mconv2_stage4_L2"
1800
+ top: "Mconv3_stage4_L2"
1801
+ param {
1802
+ lr_mult: 4.0
1803
+ decay_mult: 1
1804
+ }
1805
+ param {
1806
+ lr_mult: 8.0
1807
+ decay_mult: 0
1808
+ }
1809
+ convolution_param {
1810
+ num_output: 128
1811
+ pad: 3
1812
+ kernel_size: 7
1813
+ weight_filler {
1814
+ type: "gaussian"
1815
+ std: 0.01
1816
+ }
1817
+ bias_filler {
1818
+ type: "constant"
1819
+ }
1820
+ }
1821
+ }
1822
+ layer {
1823
+ name: "Mrelu3_stage4_L2"
1824
+ type: "ReLU"
1825
+ bottom: "Mconv3_stage4_L2"
1826
+ top: "Mconv3_stage4_L2"
1827
+ }
1828
+ layer {
1829
+ name: "Mconv4_stage4_L1"
1830
+ type: "Convolution"
1831
+ bottom: "Mconv3_stage4_L1"
1832
+ top: "Mconv4_stage4_L1"
1833
+ param {
1834
+ lr_mult: 4.0
1835
+ decay_mult: 1
1836
+ }
1837
+ param {
1838
+ lr_mult: 8.0
1839
+ decay_mult: 0
1840
+ }
1841
+ convolution_param {
1842
+ num_output: 128
1843
+ pad: 3
1844
+ kernel_size: 7
1845
+ weight_filler {
1846
+ type: "gaussian"
1847
+ std: 0.01
1848
+ }
1849
+ bias_filler {
1850
+ type: "constant"
1851
+ }
1852
+ }
1853
+ }
1854
+ layer {
1855
+ name: "Mrelu4_stage4_L1"
1856
+ type: "ReLU"
1857
+ bottom: "Mconv4_stage4_L1"
1858
+ top: "Mconv4_stage4_L1"
1859
+ }
1860
+ layer {
1861
+ name: "Mconv4_stage4_L2"
1862
+ type: "Convolution"
1863
+ bottom: "Mconv3_stage4_L2"
1864
+ top: "Mconv4_stage4_L2"
1865
+ param {
1866
+ lr_mult: 4.0
1867
+ decay_mult: 1
1868
+ }
1869
+ param {
1870
+ lr_mult: 8.0
1871
+ decay_mult: 0
1872
+ }
1873
+ convolution_param {
1874
+ num_output: 128
1875
+ pad: 3
1876
+ kernel_size: 7
1877
+ weight_filler {
1878
+ type: "gaussian"
1879
+ std: 0.01
1880
+ }
1881
+ bias_filler {
1882
+ type: "constant"
1883
+ }
1884
+ }
1885
+ }
1886
+ layer {
1887
+ name: "Mrelu4_stage4_L2"
1888
+ type: "ReLU"
1889
+ bottom: "Mconv4_stage4_L2"
1890
+ top: "Mconv4_stage4_L2"
1891
+ }
1892
+ layer {
1893
+ name: "Mconv5_stage4_L1"
1894
+ type: "Convolution"
1895
+ bottom: "Mconv4_stage4_L1"
1896
+ top: "Mconv5_stage4_L1"
1897
+ param {
1898
+ lr_mult: 4.0
1899
+ decay_mult: 1
1900
+ }
1901
+ param {
1902
+ lr_mult: 8.0
1903
+ decay_mult: 0
1904
+ }
1905
+ convolution_param {
1906
+ num_output: 128
1907
+ pad: 3
1908
+ kernel_size: 7
1909
+ weight_filler {
1910
+ type: "gaussian"
1911
+ std: 0.01
1912
+ }
1913
+ bias_filler {
1914
+ type: "constant"
1915
+ }
1916
+ }
1917
+ }
1918
+ layer {
1919
+ name: "Mrelu5_stage4_L1"
1920
+ type: "ReLU"
1921
+ bottom: "Mconv5_stage4_L1"
1922
+ top: "Mconv5_stage4_L1"
1923
+ }
1924
+ layer {
1925
+ name: "Mconv5_stage4_L2"
1926
+ type: "Convolution"
1927
+ bottom: "Mconv4_stage4_L2"
1928
+ top: "Mconv5_stage4_L2"
1929
+ param {
1930
+ lr_mult: 4.0
1931
+ decay_mult: 1
1932
+ }
1933
+ param {
1934
+ lr_mult: 8.0
1935
+ decay_mult: 0
1936
+ }
1937
+ convolution_param {
1938
+ num_output: 128
1939
+ pad: 3
1940
+ kernel_size: 7
1941
+ weight_filler {
1942
+ type: "gaussian"
1943
+ std: 0.01
1944
+ }
1945
+ bias_filler {
1946
+ type: "constant"
1947
+ }
1948
+ }
1949
+ }
1950
+ layer {
1951
+ name: "Mrelu5_stage4_L2"
1952
+ type: "ReLU"
1953
+ bottom: "Mconv5_stage4_L2"
1954
+ top: "Mconv5_stage4_L2"
1955
+ }
1956
+ layer {
1957
+ name: "Mconv6_stage4_L1"
1958
+ type: "Convolution"
1959
+ bottom: "Mconv5_stage4_L1"
1960
+ top: "Mconv6_stage4_L1"
1961
+ param {
1962
+ lr_mult: 4.0
1963
+ decay_mult: 1
1964
+ }
1965
+ param {
1966
+ lr_mult: 8.0
1967
+ decay_mult: 0
1968
+ }
1969
+ convolution_param {
1970
+ num_output: 128
1971
+ pad: 0
1972
+ kernel_size: 1
1973
+ weight_filler {
1974
+ type: "gaussian"
1975
+ std: 0.01
1976
+ }
1977
+ bias_filler {
1978
+ type: "constant"
1979
+ }
1980
+ }
1981
+ }
1982
+ layer {
1983
+ name: "Mrelu6_stage4_L1"
1984
+ type: "ReLU"
1985
+ bottom: "Mconv6_stage4_L1"
1986
+ top: "Mconv6_stage4_L1"
1987
+ }
1988
+ layer {
1989
+ name: "Mconv6_stage4_L2"
1990
+ type: "Convolution"
1991
+ bottom: "Mconv5_stage4_L2"
1992
+ top: "Mconv6_stage4_L2"
1993
+ param {
1994
+ lr_mult: 4.0
1995
+ decay_mult: 1
1996
+ }
1997
+ param {
1998
+ lr_mult: 8.0
1999
+ decay_mult: 0
2000
+ }
2001
+ convolution_param {
2002
+ num_output: 128
2003
+ pad: 0
2004
+ kernel_size: 1
2005
+ weight_filler {
2006
+ type: "gaussian"
2007
+ std: 0.01
2008
+ }
2009
+ bias_filler {
2010
+ type: "constant"
2011
+ }
2012
+ }
2013
+ }
2014
+ layer {
2015
+ name: "Mrelu6_stage4_L2"
2016
+ type: "ReLU"
2017
+ bottom: "Mconv6_stage4_L2"
2018
+ top: "Mconv6_stage4_L2"
2019
+ }
2020
+ layer {
2021
+ name: "Mconv7_stage4_L1"
2022
+ type: "Convolution"
2023
+ bottom: "Mconv6_stage4_L1"
2024
+ top: "Mconv7_stage4_L1"
2025
+ param {
2026
+ lr_mult: 4.0
2027
+ decay_mult: 1
2028
+ }
2029
+ param {
2030
+ lr_mult: 8.0
2031
+ decay_mult: 0
2032
+ }
2033
+ convolution_param {
2034
+ num_output: 38
2035
+ pad: 0
2036
+ kernel_size: 1
2037
+ weight_filler {
2038
+ type: "gaussian"
2039
+ std: 0.01
2040
+ }
2041
+ bias_filler {
2042
+ type: "constant"
2043
+ }
2044
+ }
2045
+ }
2046
+ layer {
2047
+ name: "Mconv7_stage4_L2"
2048
+ type: "Convolution"
2049
+ bottom: "Mconv6_stage4_L2"
2050
+ top: "Mconv7_stage4_L2"
2051
+ param {
2052
+ lr_mult: 4.0
2053
+ decay_mult: 1
2054
+ }
2055
+ param {
2056
+ lr_mult: 8.0
2057
+ decay_mult: 0
2058
+ }
2059
+ convolution_param {
2060
+ num_output: 19
2061
+ pad: 0
2062
+ kernel_size: 1
2063
+ weight_filler {
2064
+ type: "gaussian"
2065
+ std: 0.01
2066
+ }
2067
+ bias_filler {
2068
+ type: "constant"
2069
+ }
2070
+ }
2071
+ }
2072
+ layer {
2073
+ name: "concat_stage5"
2074
+ type: "Concat"
2075
+ bottom: "Mconv7_stage4_L1"
2076
+ bottom: "Mconv7_stage4_L2"
2077
+ bottom: "conv4_4_CPM"
2078
+ top: "concat_stage5"
2079
+ concat_param {
2080
+ axis: 1
2081
+ }
2082
+ }
2083
+ layer {
2084
+ name: "Mconv1_stage5_L1"
2085
+ type: "Convolution"
2086
+ bottom: "concat_stage5"
2087
+ top: "Mconv1_stage5_L1"
2088
+ param {
2089
+ lr_mult: 4.0
2090
+ decay_mult: 1
2091
+ }
2092
+ param {
2093
+ lr_mult: 8.0
2094
+ decay_mult: 0
2095
+ }
2096
+ convolution_param {
2097
+ num_output: 128
2098
+ pad: 3
2099
+ kernel_size: 7
2100
+ weight_filler {
2101
+ type: "gaussian"
2102
+ std: 0.01
2103
+ }
2104
+ bias_filler {
2105
+ type: "constant"
2106
+ }
2107
+ }
2108
+ }
2109
+ layer {
2110
+ name: "Mrelu1_stage5_L1"
2111
+ type: "ReLU"
2112
+ bottom: "Mconv1_stage5_L1"
2113
+ top: "Mconv1_stage5_L1"
2114
+ }
2115
+ layer {
2116
+ name: "Mconv1_stage5_L2"
2117
+ type: "Convolution"
2118
+ bottom: "concat_stage5"
2119
+ top: "Mconv1_stage5_L2"
2120
+ param {
2121
+ lr_mult: 4.0
2122
+ decay_mult: 1
2123
+ }
2124
+ param {
2125
+ lr_mult: 8.0
2126
+ decay_mult: 0
2127
+ }
2128
+ convolution_param {
2129
+ num_output: 128
2130
+ pad: 3
2131
+ kernel_size: 7
2132
+ weight_filler {
2133
+ type: "gaussian"
2134
+ std: 0.01
2135
+ }
2136
+ bias_filler {
2137
+ type: "constant"
2138
+ }
2139
+ }
2140
+ }
2141
+ layer {
2142
+ name: "Mrelu1_stage5_L2"
2143
+ type: "ReLU"
2144
+ bottom: "Mconv1_stage5_L2"
2145
+ top: "Mconv1_stage5_L2"
2146
+ }
2147
+ layer {
2148
+ name: "Mconv2_stage5_L1"
2149
+ type: "Convolution"
2150
+ bottom: "Mconv1_stage5_L1"
2151
+ top: "Mconv2_stage5_L1"
2152
+ param {
2153
+ lr_mult: 4.0
2154
+ decay_mult: 1
2155
+ }
2156
+ param {
2157
+ lr_mult: 8.0
2158
+ decay_mult: 0
2159
+ }
2160
+ convolution_param {
2161
+ num_output: 128
2162
+ pad: 3
2163
+ kernel_size: 7
2164
+ weight_filler {
2165
+ type: "gaussian"
2166
+ std: 0.01
2167
+ }
2168
+ bias_filler {
2169
+ type: "constant"
2170
+ }
2171
+ }
2172
+ }
2173
+ layer {
2174
+ name: "Mrelu2_stage5_L1"
2175
+ type: "ReLU"
2176
+ bottom: "Mconv2_stage5_L1"
2177
+ top: "Mconv2_stage5_L1"
2178
+ }
2179
+ layer {
2180
+ name: "Mconv2_stage5_L2"
2181
+ type: "Convolution"
2182
+ bottom: "Mconv1_stage5_L2"
2183
+ top: "Mconv2_stage5_L2"
2184
+ param {
2185
+ lr_mult: 4.0
2186
+ decay_mult: 1
2187
+ }
2188
+ param {
2189
+ lr_mult: 8.0
2190
+ decay_mult: 0
2191
+ }
2192
+ convolution_param {
2193
+ num_output: 128
2194
+ pad: 3
2195
+ kernel_size: 7
2196
+ weight_filler {
2197
+ type: "gaussian"
2198
+ std: 0.01
2199
+ }
2200
+ bias_filler {
2201
+ type: "constant"
2202
+ }
2203
+ }
2204
+ }
2205
+ layer {
2206
+ name: "Mrelu2_stage5_L2"
2207
+ type: "ReLU"
2208
+ bottom: "Mconv2_stage5_L2"
2209
+ top: "Mconv2_stage5_L2"
2210
+ }
2211
+ layer {
2212
+ name: "Mconv3_stage5_L1"
2213
+ type: "Convolution"
2214
+ bottom: "Mconv2_stage5_L1"
2215
+ top: "Mconv3_stage5_L1"
2216
+ param {
2217
+ lr_mult: 4.0
2218
+ decay_mult: 1
2219
+ }
2220
+ param {
2221
+ lr_mult: 8.0
2222
+ decay_mult: 0
2223
+ }
2224
+ convolution_param {
2225
+ num_output: 128
2226
+ pad: 3
2227
+ kernel_size: 7
2228
+ weight_filler {
2229
+ type: "gaussian"
2230
+ std: 0.01
2231
+ }
2232
+ bias_filler {
2233
+ type: "constant"
2234
+ }
2235
+ }
2236
+ }
2237
+ layer {
2238
+ name: "Mrelu3_stage5_L1"
2239
+ type: "ReLU"
2240
+ bottom: "Mconv3_stage5_L1"
2241
+ top: "Mconv3_stage5_L1"
2242
+ }
2243
+ layer {
2244
+ name: "Mconv3_stage5_L2"
2245
+ type: "Convolution"
2246
+ bottom: "Mconv2_stage5_L2"
2247
+ top: "Mconv3_stage5_L2"
2248
+ param {
2249
+ lr_mult: 4.0
2250
+ decay_mult: 1
2251
+ }
2252
+ param {
2253
+ lr_mult: 8.0
2254
+ decay_mult: 0
2255
+ }
2256
+ convolution_param {
2257
+ num_output: 128
2258
+ pad: 3
2259
+ kernel_size: 7
2260
+ weight_filler {
2261
+ type: "gaussian"
2262
+ std: 0.01
2263
+ }
2264
+ bias_filler {
2265
+ type: "constant"
2266
+ }
2267
+ }
2268
+ }
2269
+ layer {
2270
+ name: "Mrelu3_stage5_L2"
2271
+ type: "ReLU"
2272
+ bottom: "Mconv3_stage5_L2"
2273
+ top: "Mconv3_stage5_L2"
2274
+ }
2275
+ layer {
2276
+ name: "Mconv4_stage5_L1"
2277
+ type: "Convolution"
2278
+ bottom: "Mconv3_stage5_L1"
2279
+ top: "Mconv4_stage5_L1"
2280
+ param {
2281
+ lr_mult: 4.0
2282
+ decay_mult: 1
2283
+ }
2284
+ param {
2285
+ lr_mult: 8.0
2286
+ decay_mult: 0
2287
+ }
2288
+ convolution_param {
2289
+ num_output: 128
2290
+ pad: 3
2291
+ kernel_size: 7
2292
+ weight_filler {
2293
+ type: "gaussian"
2294
+ std: 0.01
2295
+ }
2296
+ bias_filler {
2297
+ type: "constant"
2298
+ }
2299
+ }
2300
+ }
2301
+ layer {
2302
+ name: "Mrelu4_stage5_L1"
2303
+ type: "ReLU"
2304
+ bottom: "Mconv4_stage5_L1"
2305
+ top: "Mconv4_stage5_L1"
2306
+ }
2307
+ layer {
2308
+ name: "Mconv4_stage5_L2"
2309
+ type: "Convolution"
2310
+ bottom: "Mconv3_stage5_L2"
2311
+ top: "Mconv4_stage5_L2"
2312
+ param {
2313
+ lr_mult: 4.0
2314
+ decay_mult: 1
2315
+ }
2316
+ param {
2317
+ lr_mult: 8.0
2318
+ decay_mult: 0
2319
+ }
2320
+ convolution_param {
2321
+ num_output: 128
2322
+ pad: 3
2323
+ kernel_size: 7
2324
+ weight_filler {
2325
+ type: "gaussian"
2326
+ std: 0.01
2327
+ }
2328
+ bias_filler {
2329
+ type: "constant"
2330
+ }
2331
+ }
2332
+ }
2333
+ layer {
2334
+ name: "Mrelu4_stage5_L2"
2335
+ type: "ReLU"
2336
+ bottom: "Mconv4_stage5_L2"
2337
+ top: "Mconv4_stage5_L2"
2338
+ }
2339
+ layer {
2340
+ name: "Mconv5_stage5_L1"
2341
+ type: "Convolution"
2342
+ bottom: "Mconv4_stage5_L1"
2343
+ top: "Mconv5_stage5_L1"
2344
+ param {
2345
+ lr_mult: 4.0
2346
+ decay_mult: 1
2347
+ }
2348
+ param {
2349
+ lr_mult: 8.0
2350
+ decay_mult: 0
2351
+ }
2352
+ convolution_param {
2353
+ num_output: 128
2354
+ pad: 3
2355
+ kernel_size: 7
2356
+ weight_filler {
2357
+ type: "gaussian"
2358
+ std: 0.01
2359
+ }
2360
+ bias_filler {
2361
+ type: "constant"
2362
+ }
2363
+ }
2364
+ }
2365
+ layer {
2366
+ name: "Mrelu5_stage5_L1"
2367
+ type: "ReLU"
2368
+ bottom: "Mconv5_stage5_L1"
2369
+ top: "Mconv5_stage5_L1"
2370
+ }
2371
+ layer {
2372
+ name: "Mconv5_stage5_L2"
2373
+ type: "Convolution"
2374
+ bottom: "Mconv4_stage5_L2"
2375
+ top: "Mconv5_stage5_L2"
2376
+ param {
2377
+ lr_mult: 4.0
2378
+ decay_mult: 1
2379
+ }
2380
+ param {
2381
+ lr_mult: 8.0
2382
+ decay_mult: 0
2383
+ }
2384
+ convolution_param {
2385
+ num_output: 128
2386
+ pad: 3
2387
+ kernel_size: 7
2388
+ weight_filler {
2389
+ type: "gaussian"
2390
+ std: 0.01
2391
+ }
2392
+ bias_filler {
2393
+ type: "constant"
2394
+ }
2395
+ }
2396
+ }
2397
+ layer {
2398
+ name: "Mrelu5_stage5_L2"
2399
+ type: "ReLU"
2400
+ bottom: "Mconv5_stage5_L2"
2401
+ top: "Mconv5_stage5_L2"
2402
+ }
2403
+ layer {
2404
+ name: "Mconv6_stage5_L1"
2405
+ type: "Convolution"
2406
+ bottom: "Mconv5_stage5_L1"
2407
+ top: "Mconv6_stage5_L1"
2408
+ param {
2409
+ lr_mult: 4.0
2410
+ decay_mult: 1
2411
+ }
2412
+ param {
2413
+ lr_mult: 8.0
2414
+ decay_mult: 0
2415
+ }
2416
+ convolution_param {
2417
+ num_output: 128
2418
+ pad: 0
2419
+ kernel_size: 1
2420
+ weight_filler {
2421
+ type: "gaussian"
2422
+ std: 0.01
2423
+ }
2424
+ bias_filler {
2425
+ type: "constant"
2426
+ }
2427
+ }
2428
+ }
2429
+ layer {
2430
+ name: "Mrelu6_stage5_L1"
2431
+ type: "ReLU"
2432
+ bottom: "Mconv6_stage5_L1"
2433
+ top: "Mconv6_stage5_L1"
2434
+ }
2435
+ layer {
2436
+ name: "Mconv6_stage5_L2"
2437
+ type: "Convolution"
2438
+ bottom: "Mconv5_stage5_L2"
2439
+ top: "Mconv6_stage5_L2"
2440
+ param {
2441
+ lr_mult: 4.0
2442
+ decay_mult: 1
2443
+ }
2444
+ param {
2445
+ lr_mult: 8.0
2446
+ decay_mult: 0
2447
+ }
2448
+ convolution_param {
2449
+ num_output: 128
2450
+ pad: 0
2451
+ kernel_size: 1
2452
+ weight_filler {
2453
+ type: "gaussian"
2454
+ std: 0.01
2455
+ }
2456
+ bias_filler {
2457
+ type: "constant"
2458
+ }
2459
+ }
2460
+ }
2461
+ layer {
2462
+ name: "Mrelu6_stage5_L2"
2463
+ type: "ReLU"
2464
+ bottom: "Mconv6_stage5_L2"
2465
+ top: "Mconv6_stage5_L2"
2466
+ }
2467
+ layer {
2468
+ name: "Mconv7_stage5_L1"
2469
+ type: "Convolution"
2470
+ bottom: "Mconv6_stage5_L1"
2471
+ top: "Mconv7_stage5_L1"
2472
+ param {
2473
+ lr_mult: 4.0
2474
+ decay_mult: 1
2475
+ }
2476
+ param {
2477
+ lr_mult: 8.0
2478
+ decay_mult: 0
2479
+ }
2480
+ convolution_param {
2481
+ num_output: 38
2482
+ pad: 0
2483
+ kernel_size: 1
2484
+ weight_filler {
2485
+ type: "gaussian"
2486
+ std: 0.01
2487
+ }
2488
+ bias_filler {
2489
+ type: "constant"
2490
+ }
2491
+ }
2492
+ }
2493
+ layer {
2494
+ name: "Mconv7_stage5_L2"
2495
+ type: "Convolution"
2496
+ bottom: "Mconv6_stage5_L2"
2497
+ top: "Mconv7_stage5_L2"
2498
+ param {
2499
+ lr_mult: 4.0
2500
+ decay_mult: 1
2501
+ }
2502
+ param {
2503
+ lr_mult: 8.0
2504
+ decay_mult: 0
2505
+ }
2506
+ convolution_param {
2507
+ num_output: 19
2508
+ pad: 0
2509
+ kernel_size: 1
2510
+ weight_filler {
2511
+ type: "gaussian"
2512
+ std: 0.01
2513
+ }
2514
+ bias_filler {
2515
+ type: "constant"
2516
+ }
2517
+ }
2518
+ }
2519
+ layer {
2520
+ name: "concat_stage6"
2521
+ type: "Concat"
2522
+ bottom: "Mconv7_stage5_L1"
2523
+ bottom: "Mconv7_stage5_L2"
2524
+ bottom: "conv4_4_CPM"
2525
+ top: "concat_stage6"
2526
+ concat_param {
2527
+ axis: 1
2528
+ }
2529
+ }
2530
+ layer {
2531
+ name: "Mconv1_stage6_L1"
2532
+ type: "Convolution"
2533
+ bottom: "concat_stage6"
2534
+ top: "Mconv1_stage6_L1"
2535
+ param {
2536
+ lr_mult: 4.0
2537
+ decay_mult: 1
2538
+ }
2539
+ param {
2540
+ lr_mult: 8.0
2541
+ decay_mult: 0
2542
+ }
2543
+ convolution_param {
2544
+ num_output: 128
2545
+ pad: 3
2546
+ kernel_size: 7
2547
+ weight_filler {
2548
+ type: "gaussian"
2549
+ std: 0.01
2550
+ }
2551
+ bias_filler {
2552
+ type: "constant"
2553
+ }
2554
+ }
2555
+ }
2556
+ layer {
2557
+ name: "Mrelu1_stage6_L1"
2558
+ type: "ReLU"
2559
+ bottom: "Mconv1_stage6_L1"
2560
+ top: "Mconv1_stage6_L1"
2561
+ }
2562
+ layer {
2563
+ name: "Mconv1_stage6_L2"
2564
+ type: "Convolution"
2565
+ bottom: "concat_stage6"
2566
+ top: "Mconv1_stage6_L2"
2567
+ param {
2568
+ lr_mult: 4.0
2569
+ decay_mult: 1
2570
+ }
2571
+ param {
2572
+ lr_mult: 8.0
2573
+ decay_mult: 0
2574
+ }
2575
+ convolution_param {
2576
+ num_output: 128
2577
+ pad: 3
2578
+ kernel_size: 7
2579
+ weight_filler {
2580
+ type: "gaussian"
2581
+ std: 0.01
2582
+ }
2583
+ bias_filler {
2584
+ type: "constant"
2585
+ }
2586
+ }
2587
+ }
2588
+ layer {
2589
+ name: "Mrelu1_stage6_L2"
2590
+ type: "ReLU"
2591
+ bottom: "Mconv1_stage6_L2"
2592
+ top: "Mconv1_stage6_L2"
2593
+ }
2594
+ layer {
2595
+ name: "Mconv2_stage6_L1"
2596
+ type: "Convolution"
2597
+ bottom: "Mconv1_stage6_L1"
2598
+ top: "Mconv2_stage6_L1"
2599
+ param {
2600
+ lr_mult: 4.0
2601
+ decay_mult: 1
2602
+ }
2603
+ param {
2604
+ lr_mult: 8.0
2605
+ decay_mult: 0
2606
+ }
2607
+ convolution_param {
2608
+ num_output: 128
2609
+ pad: 3
2610
+ kernel_size: 7
2611
+ weight_filler {
2612
+ type: "gaussian"
2613
+ std: 0.01
2614
+ }
2615
+ bias_filler {
2616
+ type: "constant"
2617
+ }
2618
+ }
2619
+ }
2620
+ layer {
2621
+ name: "Mrelu2_stage6_L1"
2622
+ type: "ReLU"
2623
+ bottom: "Mconv2_stage6_L1"
2624
+ top: "Mconv2_stage6_L1"
2625
+ }
2626
+ layer {
2627
+ name: "Mconv2_stage6_L2"
2628
+ type: "Convolution"
2629
+ bottom: "Mconv1_stage6_L2"
2630
+ top: "Mconv2_stage6_L2"
2631
+ param {
2632
+ lr_mult: 4.0
2633
+ decay_mult: 1
2634
+ }
2635
+ param {
2636
+ lr_mult: 8.0
2637
+ decay_mult: 0
2638
+ }
2639
+ convolution_param {
2640
+ num_output: 128
2641
+ pad: 3
2642
+ kernel_size: 7
2643
+ weight_filler {
2644
+ type: "gaussian"
2645
+ std: 0.01
2646
+ }
2647
+ bias_filler {
2648
+ type: "constant"
2649
+ }
2650
+ }
2651
+ }
2652
+ layer {
2653
+ name: "Mrelu2_stage6_L2"
2654
+ type: "ReLU"
2655
+ bottom: "Mconv2_stage6_L2"
2656
+ top: "Mconv2_stage6_L2"
2657
+ }
2658
+ layer {
2659
+ name: "Mconv3_stage6_L1"
2660
+ type: "Convolution"
2661
+ bottom: "Mconv2_stage6_L1"
2662
+ top: "Mconv3_stage6_L1"
2663
+ param {
2664
+ lr_mult: 4.0
2665
+ decay_mult: 1
2666
+ }
2667
+ param {
2668
+ lr_mult: 8.0
2669
+ decay_mult: 0
2670
+ }
2671
+ convolution_param {
2672
+ num_output: 128
2673
+ pad: 3
2674
+ kernel_size: 7
2675
+ weight_filler {
2676
+ type: "gaussian"
2677
+ std: 0.01
2678
+ }
2679
+ bias_filler {
2680
+ type: "constant"
2681
+ }
2682
+ }
2683
+ }
2684
+ layer {
2685
+ name: "Mrelu3_stage6_L1"
2686
+ type: "ReLU"
2687
+ bottom: "Mconv3_stage6_L1"
2688
+ top: "Mconv3_stage6_L1"
2689
+ }
2690
+ layer {
2691
+ name: "Mconv3_stage6_L2"
2692
+ type: "Convolution"
2693
+ bottom: "Mconv2_stage6_L2"
2694
+ top: "Mconv3_stage6_L2"
2695
+ param {
2696
+ lr_mult: 4.0
2697
+ decay_mult: 1
2698
+ }
2699
+ param {
2700
+ lr_mult: 8.0
2701
+ decay_mult: 0
2702
+ }
2703
+ convolution_param {
2704
+ num_output: 128
2705
+ pad: 3
2706
+ kernel_size: 7
2707
+ weight_filler {
2708
+ type: "gaussian"
2709
+ std: 0.01
2710
+ }
2711
+ bias_filler {
2712
+ type: "constant"
2713
+ }
2714
+ }
2715
+ }
2716
+ layer {
2717
+ name: "Mrelu3_stage6_L2"
2718
+ type: "ReLU"
2719
+ bottom: "Mconv3_stage6_L2"
2720
+ top: "Mconv3_stage6_L2"
2721
+ }
2722
+ layer {
2723
+ name: "Mconv4_stage6_L1"
2724
+ type: "Convolution"
2725
+ bottom: "Mconv3_stage6_L1"
2726
+ top: "Mconv4_stage6_L1"
2727
+ param {
2728
+ lr_mult: 4.0
2729
+ decay_mult: 1
2730
+ }
2731
+ param {
2732
+ lr_mult: 8.0
2733
+ decay_mult: 0
2734
+ }
2735
+ convolution_param {
2736
+ num_output: 128
2737
+ pad: 3
2738
+ kernel_size: 7
2739
+ weight_filler {
2740
+ type: "gaussian"
2741
+ std: 0.01
2742
+ }
2743
+ bias_filler {
2744
+ type: "constant"
2745
+ }
2746
+ }
2747
+ }
2748
+ layer {
2749
+ name: "Mrelu4_stage6_L1"
2750
+ type: "ReLU"
2751
+ bottom: "Mconv4_stage6_L1"
2752
+ top: "Mconv4_stage6_L1"
2753
+ }
2754
+ layer {
2755
+ name: "Mconv4_stage6_L2"
2756
+ type: "Convolution"
2757
+ bottom: "Mconv3_stage6_L2"
2758
+ top: "Mconv4_stage6_L2"
2759
+ param {
2760
+ lr_mult: 4.0
2761
+ decay_mult: 1
2762
+ }
2763
+ param {
2764
+ lr_mult: 8.0
2765
+ decay_mult: 0
2766
+ }
2767
+ convolution_param {
2768
+ num_output: 128
2769
+ pad: 3
2770
+ kernel_size: 7
2771
+ weight_filler {
2772
+ type: "gaussian"
2773
+ std: 0.01
2774
+ }
2775
+ bias_filler {
2776
+ type: "constant"
2777
+ }
2778
+ }
2779
+ }
2780
+ layer {
2781
+ name: "Mrelu4_stage6_L2"
2782
+ type: "ReLU"
2783
+ bottom: "Mconv4_stage6_L2"
2784
+ top: "Mconv4_stage6_L2"
2785
+ }
2786
+ layer {
2787
+ name: "Mconv5_stage6_L1"
2788
+ type: "Convolution"
2789
+ bottom: "Mconv4_stage6_L1"
2790
+ top: "Mconv5_stage6_L1"
2791
+ param {
2792
+ lr_mult: 4.0
2793
+ decay_mult: 1
2794
+ }
2795
+ param {
2796
+ lr_mult: 8.0
2797
+ decay_mult: 0
2798
+ }
2799
+ convolution_param {
2800
+ num_output: 128
2801
+ pad: 3
2802
+ kernel_size: 7
2803
+ weight_filler {
2804
+ type: "gaussian"
2805
+ std: 0.01
2806
+ }
2807
+ bias_filler {
2808
+ type: "constant"
2809
+ }
2810
+ }
2811
+ }
2812
+ layer {
2813
+ name: "Mrelu5_stage6_L1"
2814
+ type: "ReLU"
2815
+ bottom: "Mconv5_stage6_L1"
2816
+ top: "Mconv5_stage6_L1"
2817
+ }
2818
+ layer {
2819
+ name: "Mconv5_stage6_L2"
2820
+ type: "Convolution"
2821
+ bottom: "Mconv4_stage6_L2"
2822
+ top: "Mconv5_stage6_L2"
2823
+ param {
2824
+ lr_mult: 4.0
2825
+ decay_mult: 1
2826
+ }
2827
+ param {
2828
+ lr_mult: 8.0
2829
+ decay_mult: 0
2830
+ }
2831
+ convolution_param {
2832
+ num_output: 128
2833
+ pad: 3
2834
+ kernel_size: 7
2835
+ weight_filler {
2836
+ type: "gaussian"
2837
+ std: 0.01
2838
+ }
2839
+ bias_filler {
2840
+ type: "constant"
2841
+ }
2842
+ }
2843
+ }
2844
+ layer {
2845
+ name: "Mrelu5_stage6_L2"
2846
+ type: "ReLU"
2847
+ bottom: "Mconv5_stage6_L2"
2848
+ top: "Mconv5_stage6_L2"
2849
+ }
2850
+ layer {
2851
+ name: "Mconv6_stage6_L1"
2852
+ type: "Convolution"
2853
+ bottom: "Mconv5_stage6_L1"
2854
+ top: "Mconv6_stage6_L1"
2855
+ param {
2856
+ lr_mult: 4.0
2857
+ decay_mult: 1
2858
+ }
2859
+ param {
2860
+ lr_mult: 8.0
2861
+ decay_mult: 0
2862
+ }
2863
+ convolution_param {
2864
+ num_output: 128
2865
+ pad: 0
2866
+ kernel_size: 1
2867
+ weight_filler {
2868
+ type: "gaussian"
2869
+ std: 0.01
2870
+ }
2871
+ bias_filler {
2872
+ type: "constant"
2873
+ }
2874
+ }
2875
+ }
2876
+ layer {
2877
+ name: "Mrelu6_stage6_L1"
2878
+ type: "ReLU"
2879
+ bottom: "Mconv6_stage6_L1"
2880
+ top: "Mconv6_stage6_L1"
2881
+ }
2882
+ layer {
2883
+ name: "Mconv6_stage6_L2"
2884
+ type: "Convolution"
2885
+ bottom: "Mconv5_stage6_L2"
2886
+ top: "Mconv6_stage6_L2"
2887
+ param {
2888
+ lr_mult: 4.0
2889
+ decay_mult: 1
2890
+ }
2891
+ param {
2892
+ lr_mult: 8.0
2893
+ decay_mult: 0
2894
+ }
2895
+ convolution_param {
2896
+ num_output: 128
2897
+ pad: 0
2898
+ kernel_size: 1
2899
+ weight_filler {
2900
+ type: "gaussian"
2901
+ std: 0.01
2902
+ }
2903
+ bias_filler {
2904
+ type: "constant"
2905
+ }
2906
+ }
2907
+ }
2908
+ layer {
2909
+ name: "Mrelu6_stage6_L2"
2910
+ type: "ReLU"
2911
+ bottom: "Mconv6_stage6_L2"
2912
+ top: "Mconv6_stage6_L2"
2913
+ }
2914
+ layer {
2915
+ name: "Mconv7_stage6_L1"
2916
+ type: "Convolution"
2917
+ bottom: "Mconv6_stage6_L1"
2918
+ top: "Mconv7_stage6_L1"
2919
+ param {
2920
+ lr_mult: 4.0
2921
+ decay_mult: 1
2922
+ }
2923
+ param {
2924
+ lr_mult: 8.0
2925
+ decay_mult: 0
2926
+ }
2927
+ convolution_param {
2928
+ num_output: 38
2929
+ pad: 0
2930
+ kernel_size: 1
2931
+ weight_filler {
2932
+ type: "gaussian"
2933
+ std: 0.01
2934
+ }
2935
+ bias_filler {
2936
+ type: "constant"
2937
+ }
2938
+ }
2939
+ }
2940
+ layer {
2941
+ name: "Mconv7_stage6_L2"
2942
+ type: "Convolution"
2943
+ bottom: "Mconv6_stage6_L2"
2944
+ top: "Mconv7_stage6_L2"
2945
+ param {
2946
+ lr_mult: 4.0
2947
+ decay_mult: 1
2948
+ }
2949
+ param {
2950
+ lr_mult: 8.0
2951
+ decay_mult: 0
2952
+ }
2953
+ convolution_param {
2954
+ num_output: 19
2955
+ pad: 0
2956
+ kernel_size: 1
2957
+ weight_filler {
2958
+ type: "gaussian"
2959
+ std: 0.01
2960
+ }
2961
+ bias_filler {
2962
+ type: "constant"
2963
+ }
2964
+ }
2965
+ }
2966
+ layer {
2967
+ name: "concat_stage7"
2968
+ type: "Concat"
2969
+ bottom: "Mconv7_stage6_L2"
2970
+ bottom: "Mconv7_stage6_L1"
2971
+ # top: "concat_stage7"
2972
+ top: "net_output"
2973
+ concat_param {
2974
+ axis: 1
2975
+ }
2976
+ }
pose/coco/pose_iter_440000.caffemodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b4cf475576abd7b15d5316f1ee65eb492b5c9f5865e70a2e7882ed31fb682549
3
+ size 209274056
pose/mpi/pose_deploy_linevec.prototxt ADDED
@@ -0,0 +1,2975 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ input: "image"
2
+ input_dim: 1
3
+ input_dim: 3
4
+ input_dim: 1 # This value will be defined at runtime
5
+ input_dim: 1 # This value will be defined at runtime
6
+ layer {
7
+ name: "conv1_1"
8
+ type: "Convolution"
9
+ bottom: "image"
10
+ top: "conv1_1"
11
+ param {
12
+ lr_mult: 1.0
13
+ decay_mult: 1
14
+ }
15
+ param {
16
+ lr_mult: 2.0
17
+ decay_mult: 0
18
+ }
19
+ convolution_param {
20
+ num_output: 64
21
+ pad: 1
22
+ kernel_size: 3
23
+ weight_filler {
24
+ type: "gaussian"
25
+ std: 0.01
26
+ }
27
+ bias_filler {
28
+ type: "constant"
29
+ }
30
+ }
31
+ }
32
+ layer {
33
+ name: "relu1_1"
34
+ type: "ReLU"
35
+ bottom: "conv1_1"
36
+ top: "conv1_1"
37
+ }
38
+ layer {
39
+ name: "conv1_2"
40
+ type: "Convolution"
41
+ bottom: "conv1_1"
42
+ top: "conv1_2"
43
+ param {
44
+ lr_mult: 1.0
45
+ decay_mult: 1
46
+ }
47
+ param {
48
+ lr_mult: 2.0
49
+ decay_mult: 0
50
+ }
51
+ convolution_param {
52
+ num_output: 64
53
+ pad: 1
54
+ kernel_size: 3
55
+ weight_filler {
56
+ type: "gaussian"
57
+ std: 0.01
58
+ }
59
+ bias_filler {
60
+ type: "constant"
61
+ }
62
+ }
63
+ }
64
+ layer {
65
+ name: "relu1_2"
66
+ type: "ReLU"
67
+ bottom: "conv1_2"
68
+ top: "conv1_2"
69
+ }
70
+ layer {
71
+ name: "pool1_stage1"
72
+ type: "Pooling"
73
+ bottom: "conv1_2"
74
+ top: "pool1_stage1"
75
+ pooling_param {
76
+ pool: MAX
77
+ kernel_size: 2
78
+ stride: 2
79
+ }
80
+ }
81
+ layer {
82
+ name: "conv2_1"
83
+ type: "Convolution"
84
+ bottom: "pool1_stage1"
85
+ top: "conv2_1"
86
+ param {
87
+ lr_mult: 1.0
88
+ decay_mult: 1
89
+ }
90
+ param {
91
+ lr_mult: 2.0
92
+ decay_mult: 0
93
+ }
94
+ convolution_param {
95
+ num_output: 128
96
+ pad: 1
97
+ kernel_size: 3
98
+ weight_filler {
99
+ type: "gaussian"
100
+ std: 0.01
101
+ }
102
+ bias_filler {
103
+ type: "constant"
104
+ }
105
+ }
106
+ }
107
+ layer {
108
+ name: "relu2_1"
109
+ type: "ReLU"
110
+ bottom: "conv2_1"
111
+ top: "conv2_1"
112
+ }
113
+ layer {
114
+ name: "conv2_2"
115
+ type: "Convolution"
116
+ bottom: "conv2_1"
117
+ top: "conv2_2"
118
+ param {
119
+ lr_mult: 1.0
120
+ decay_mult: 1
121
+ }
122
+ param {
123
+ lr_mult: 2.0
124
+ decay_mult: 0
125
+ }
126
+ convolution_param {
127
+ num_output: 128
128
+ pad: 1
129
+ kernel_size: 3
130
+ weight_filler {
131
+ type: "gaussian"
132
+ std: 0.01
133
+ }
134
+ bias_filler {
135
+ type: "constant"
136
+ }
137
+ }
138
+ }
139
+ layer {
140
+ name: "relu2_2"
141
+ type: "ReLU"
142
+ bottom: "conv2_2"
143
+ top: "conv2_2"
144
+ }
145
+ layer {
146
+ name: "pool2_stage1"
147
+ type: "Pooling"
148
+ bottom: "conv2_2"
149
+ top: "pool2_stage1"
150
+ pooling_param {
151
+ pool: MAX
152
+ kernel_size: 2
153
+ stride: 2
154
+ }
155
+ }
156
+ layer {
157
+ name: "conv3_1"
158
+ type: "Convolution"
159
+ bottom: "pool2_stage1"
160
+ top: "conv3_1"
161
+ param {
162
+ lr_mult: 1.0
163
+ decay_mult: 1
164
+ }
165
+ param {
166
+ lr_mult: 2.0
167
+ decay_mult: 0
168
+ }
169
+ convolution_param {
170
+ num_output: 256
171
+ pad: 1
172
+ kernel_size: 3
173
+ weight_filler {
174
+ type: "gaussian"
175
+ std: 0.01
176
+ }
177
+ bias_filler {
178
+ type: "constant"
179
+ }
180
+ }
181
+ }
182
+ layer {
183
+ name: "relu3_1"
184
+ type: "ReLU"
185
+ bottom: "conv3_1"
186
+ top: "conv3_1"
187
+ }
188
+ layer {
189
+ name: "conv3_2"
190
+ type: "Convolution"
191
+ bottom: "conv3_1"
192
+ top: "conv3_2"
193
+ param {
194
+ lr_mult: 1.0
195
+ decay_mult: 1
196
+ }
197
+ param {
198
+ lr_mult: 2.0
199
+ decay_mult: 0
200
+ }
201
+ convolution_param {
202
+ num_output: 256
203
+ pad: 1
204
+ kernel_size: 3
205
+ weight_filler {
206
+ type: "gaussian"
207
+ std: 0.01
208
+ }
209
+ bias_filler {
210
+ type: "constant"
211
+ }
212
+ }
213
+ }
214
+ layer {
215
+ name: "relu3_2"
216
+ type: "ReLU"
217
+ bottom: "conv3_2"
218
+ top: "conv3_2"
219
+ }
220
+ layer {
221
+ name: "conv3_3"
222
+ type: "Convolution"
223
+ bottom: "conv3_2"
224
+ top: "conv3_3"
225
+ param {
226
+ lr_mult: 1.0
227
+ decay_mult: 1
228
+ }
229
+ param {
230
+ lr_mult: 2.0
231
+ decay_mult: 0
232
+ }
233
+ convolution_param {
234
+ num_output: 256
235
+ pad: 1
236
+ kernel_size: 3
237
+ weight_filler {
238
+ type: "gaussian"
239
+ std: 0.01
240
+ }
241
+ bias_filler {
242
+ type: "constant"
243
+ }
244
+ }
245
+ }
246
+ layer {
247
+ name: "relu3_3"
248
+ type: "ReLU"
249
+ bottom: "conv3_3"
250
+ top: "conv3_3"
251
+ }
252
+ layer {
253
+ name: "conv3_4"
254
+ type: "Convolution"
255
+ bottom: "conv3_3"
256
+ top: "conv3_4"
257
+ param {
258
+ lr_mult: 1.0
259
+ decay_mult: 1
260
+ }
261
+ param {
262
+ lr_mult: 2.0
263
+ decay_mult: 0
264
+ }
265
+ convolution_param {
266
+ num_output: 256
267
+ pad: 1
268
+ kernel_size: 3
269
+ weight_filler {
270
+ type: "gaussian"
271
+ std: 0.01
272
+ }
273
+ bias_filler {
274
+ type: "constant"
275
+ }
276
+ }
277
+ }
278
+ layer {
279
+ name: "relu3_4"
280
+ type: "ReLU"
281
+ bottom: "conv3_4"
282
+ top: "conv3_4"
283
+ }
284
+ layer {
285
+ name: "pool3_stage1"
286
+ type: "Pooling"
287
+ bottom: "conv3_4"
288
+ top: "pool3_stage1"
289
+ pooling_param {
290
+ pool: MAX
291
+ kernel_size: 2
292
+ stride: 2
293
+ }
294
+ }
295
+ layer {
296
+ name: "conv4_1"
297
+ type: "Convolution"
298
+ bottom: "pool3_stage1"
299
+ top: "conv4_1"
300
+ param {
301
+ lr_mult: 1.0
302
+ decay_mult: 1
303
+ }
304
+ param {
305
+ lr_mult: 2.0
306
+ decay_mult: 0
307
+ }
308
+ convolution_param {
309
+ num_output: 512
310
+ pad: 1
311
+ kernel_size: 3
312
+ weight_filler {
313
+ type: "gaussian"
314
+ std: 0.01
315
+ }
316
+ bias_filler {
317
+ type: "constant"
318
+ }
319
+ }
320
+ }
321
+ layer {
322
+ name: "relu4_1"
323
+ type: "ReLU"
324
+ bottom: "conv4_1"
325
+ top: "conv4_1"
326
+ }
327
+ layer {
328
+ name: "conv4_2"
329
+ type: "Convolution"
330
+ bottom: "conv4_1"
331
+ top: "conv4_2"
332
+ param {
333
+ lr_mult: 1.0
334
+ decay_mult: 1
335
+ }
336
+ param {
337
+ lr_mult: 2.0
338
+ decay_mult: 0
339
+ }
340
+ convolution_param {
341
+ num_output: 512
342
+ pad: 1
343
+ kernel_size: 3
344
+ weight_filler {
345
+ type: "gaussian"
346
+ std: 0.01
347
+ }
348
+ bias_filler {
349
+ type: "constant"
350
+ }
351
+ }
352
+ }
353
+ layer {
354
+ name: "relu4_2"
355
+ type: "ReLU"
356
+ bottom: "conv4_2"
357
+ top: "conv4_2"
358
+ }
359
+ layer {
360
+ name: "conv4_3_CPM"
361
+ type: "Convolution"
362
+ bottom: "conv4_2"
363
+ top: "conv4_3_CPM"
364
+ param {
365
+ lr_mult: 1.0
366
+ decay_mult: 1
367
+ }
368
+ param {
369
+ lr_mult: 2.0
370
+ decay_mult: 0
371
+ }
372
+ convolution_param {
373
+ num_output: 256
374
+ pad: 1
375
+ kernel_size: 3
376
+ weight_filler {
377
+ type: "gaussian"
378
+ std: 0.01
379
+ }
380
+ bias_filler {
381
+ type: "constant"
382
+ }
383
+ }
384
+ }
385
+ layer {
386
+ name: "relu4_3_CPM"
387
+ type: "ReLU"
388
+ bottom: "conv4_3_CPM"
389
+ top: "conv4_3_CPM"
390
+ }
391
+ layer {
392
+ name: "conv4_4_CPM"
393
+ type: "Convolution"
394
+ bottom: "conv4_3_CPM"
395
+ top: "conv4_4_CPM"
396
+ param {
397
+ lr_mult: 1.0
398
+ decay_mult: 1
399
+ }
400
+ param {
401
+ lr_mult: 2.0
402
+ decay_mult: 0
403
+ }
404
+ convolution_param {
405
+ num_output: 128
406
+ pad: 1
407
+ kernel_size: 3
408
+ weight_filler {
409
+ type: "gaussian"
410
+ std: 0.01
411
+ }
412
+ bias_filler {
413
+ type: "constant"
414
+ }
415
+ }
416
+ }
417
+ layer {
418
+ name: "relu4_4_CPM"
419
+ type: "ReLU"
420
+ bottom: "conv4_4_CPM"
421
+ top: "conv4_4_CPM"
422
+ }
423
+ layer {
424
+ name: "conv5_1_CPM_L1"
425
+ type: "Convolution"
426
+ bottom: "conv4_4_CPM"
427
+ top: "conv5_1_CPM_L1"
428
+ param {
429
+ lr_mult: 1.0
430
+ decay_mult: 1
431
+ }
432
+ param {
433
+ lr_mult: 2.0
434
+ decay_mult: 0
435
+ }
436
+ convolution_param {
437
+ num_output: 128
438
+ pad: 1
439
+ kernel_size: 3
440
+ weight_filler {
441
+ type: "gaussian"
442
+ std: 0.01
443
+ }
444
+ bias_filler {
445
+ type: "constant"
446
+ }
447
+ }
448
+ }
449
+ layer {
450
+ name: "relu5_1_CPM_L1"
451
+ type: "ReLU"
452
+ bottom: "conv5_1_CPM_L1"
453
+ top: "conv5_1_CPM_L1"
454
+ }
455
+ layer {
456
+ name: "conv5_1_CPM_L2"
457
+ type: "Convolution"
458
+ bottom: "conv4_4_CPM"
459
+ top: "conv5_1_CPM_L2"
460
+ param {
461
+ lr_mult: 1.0
462
+ decay_mult: 1
463
+ }
464
+ param {
465
+ lr_mult: 2.0
466
+ decay_mult: 0
467
+ }
468
+ convolution_param {
469
+ num_output: 128
470
+ pad: 1
471
+ kernel_size: 3
472
+ weight_filler {
473
+ type: "gaussian"
474
+ std: 0.01
475
+ }
476
+ bias_filler {
477
+ type: "constant"
478
+ }
479
+ }
480
+ }
481
+ layer {
482
+ name: "relu5_1_CPM_L2"
483
+ type: "ReLU"
484
+ bottom: "conv5_1_CPM_L2"
485
+ top: "conv5_1_CPM_L2"
486
+ }
487
+ layer {
488
+ name: "conv5_2_CPM_L1"
489
+ type: "Convolution"
490
+ bottom: "conv5_1_CPM_L1"
491
+ top: "conv5_2_CPM_L1"
492
+ param {
493
+ lr_mult: 1.0
494
+ decay_mult: 1
495
+ }
496
+ param {
497
+ lr_mult: 2.0
498
+ decay_mult: 0
499
+ }
500
+ convolution_param {
501
+ num_output: 128
502
+ pad: 1
503
+ kernel_size: 3
504
+ weight_filler {
505
+ type: "gaussian"
506
+ std: 0.01
507
+ }
508
+ bias_filler {
509
+ type: "constant"
510
+ }
511
+ }
512
+ }
513
+ layer {
514
+ name: "relu5_2_CPM_L1"
515
+ type: "ReLU"
516
+ bottom: "conv5_2_CPM_L1"
517
+ top: "conv5_2_CPM_L1"
518
+ }
519
+ layer {
520
+ name: "conv5_2_CPM_L2"
521
+ type: "Convolution"
522
+ bottom: "conv5_1_CPM_L2"
523
+ top: "conv5_2_CPM_L2"
524
+ param {
525
+ lr_mult: 1.0
526
+ decay_mult: 1
527
+ }
528
+ param {
529
+ lr_mult: 2.0
530
+ decay_mult: 0
531
+ }
532
+ convolution_param {
533
+ num_output: 128
534
+ pad: 1
535
+ kernel_size: 3
536
+ weight_filler {
537
+ type: "gaussian"
538
+ std: 0.01
539
+ }
540
+ bias_filler {
541
+ type: "constant"
542
+ }
543
+ }
544
+ }
545
+ layer {
546
+ name: "relu5_2_CPM_L2"
547
+ type: "ReLU"
548
+ bottom: "conv5_2_CPM_L2"
549
+ top: "conv5_2_CPM_L2"
550
+ }
551
+ layer {
552
+ name: "conv5_3_CPM_L1"
553
+ type: "Convolution"
554
+ bottom: "conv5_2_CPM_L1"
555
+ top: "conv5_3_CPM_L1"
556
+ param {
557
+ lr_mult: 1.0
558
+ decay_mult: 1
559
+ }
560
+ param {
561
+ lr_mult: 2.0
562
+ decay_mult: 0
563
+ }
564
+ convolution_param {
565
+ num_output: 128
566
+ pad: 1
567
+ kernel_size: 3
568
+ weight_filler {
569
+ type: "gaussian"
570
+ std: 0.01
571
+ }
572
+ bias_filler {
573
+ type: "constant"
574
+ }
575
+ }
576
+ }
577
+ layer {
578
+ name: "relu5_3_CPM_L1"
579
+ type: "ReLU"
580
+ bottom: "conv5_3_CPM_L1"
581
+ top: "conv5_3_CPM_L1"
582
+ }
583
+ layer {
584
+ name: "conv5_3_CPM_L2"
585
+ type: "Convolution"
586
+ bottom: "conv5_2_CPM_L2"
587
+ top: "conv5_3_CPM_L2"
588
+ param {
589
+ lr_mult: 1.0
590
+ decay_mult: 1
591
+ }
592
+ param {
593
+ lr_mult: 2.0
594
+ decay_mult: 0
595
+ }
596
+ convolution_param {
597
+ num_output: 128
598
+ pad: 1
599
+ kernel_size: 3
600
+ weight_filler {
601
+ type: "gaussian"
602
+ std: 0.01
603
+ }
604
+ bias_filler {
605
+ type: "constant"
606
+ }
607
+ }
608
+ }
609
+ layer {
610
+ name: "relu5_3_CPM_L2"
611
+ type: "ReLU"
612
+ bottom: "conv5_3_CPM_L2"
613
+ top: "conv5_3_CPM_L2"
614
+ }
615
+ layer {
616
+ name: "conv5_4_CPM_L1"
617
+ type: "Convolution"
618
+ bottom: "conv5_3_CPM_L1"
619
+ top: "conv5_4_CPM_L1"
620
+ param {
621
+ lr_mult: 1.0
622
+ decay_mult: 1
623
+ }
624
+ param {
625
+ lr_mult: 2.0
626
+ decay_mult: 0
627
+ }
628
+ convolution_param {
629
+ num_output: 512
630
+ pad: 0
631
+ kernel_size: 1
632
+ weight_filler {
633
+ type: "gaussian"
634
+ std: 0.01
635
+ }
636
+ bias_filler {
637
+ type: "constant"
638
+ }
639
+ }
640
+ }
641
+ layer {
642
+ name: "relu5_4_CPM_L1"
643
+ type: "ReLU"
644
+ bottom: "conv5_4_CPM_L1"
645
+ top: "conv5_4_CPM_L1"
646
+ }
647
+ layer {
648
+ name: "conv5_4_CPM_L2"
649
+ type: "Convolution"
650
+ bottom: "conv5_3_CPM_L2"
651
+ top: "conv5_4_CPM_L2"
652
+ param {
653
+ lr_mult: 1.0
654
+ decay_mult: 1
655
+ }
656
+ param {
657
+ lr_mult: 2.0
658
+ decay_mult: 0
659
+ }
660
+ convolution_param {
661
+ num_output: 512
662
+ pad: 0
663
+ kernel_size: 1
664
+ weight_filler {
665
+ type: "gaussian"
666
+ std: 0.01
667
+ }
668
+ bias_filler {
669
+ type: "constant"
670
+ }
671
+ }
672
+ }
673
+ layer {
674
+ name: "relu5_4_CPM_L2"
675
+ type: "ReLU"
676
+ bottom: "conv5_4_CPM_L2"
677
+ top: "conv5_4_CPM_L2"
678
+ }
679
+ layer {
680
+ name: "conv5_5_CPM_L1"
681
+ type: "Convolution"
682
+ bottom: "conv5_4_CPM_L1"
683
+ top: "conv5_5_CPM_L1"
684
+ param {
685
+ lr_mult: 1.0
686
+ decay_mult: 1
687
+ }
688
+ param {
689
+ lr_mult: 2.0
690
+ decay_mult: 0
691
+ }
692
+ convolution_param {
693
+ num_output: 28
694
+ pad: 0
695
+ kernel_size: 1
696
+ weight_filler {
697
+ type: "gaussian"
698
+ std: 0.01
699
+ }
700
+ bias_filler {
701
+ type: "constant"
702
+ }
703
+ }
704
+ }
705
+ layer {
706
+ name: "conv5_5_CPM_L2"
707
+ type: "Convolution"
708
+ bottom: "conv5_4_CPM_L2"
709
+ top: "conv5_5_CPM_L2"
710
+ param {
711
+ lr_mult: 1.0
712
+ decay_mult: 1
713
+ }
714
+ param {
715
+ lr_mult: 2.0
716
+ decay_mult: 0
717
+ }
718
+ convolution_param {
719
+ num_output: 16
720
+ pad: 0
721
+ kernel_size: 1
722
+ weight_filler {
723
+ type: "gaussian"
724
+ std: 0.01
725
+ }
726
+ bias_filler {
727
+ type: "constant"
728
+ }
729
+ }
730
+ }
731
+ layer {
732
+ name: "concat_stage2"
733
+ type: "Concat"
734
+ bottom: "conv5_5_CPM_L1"
735
+ bottom: "conv5_5_CPM_L2"
736
+ bottom: "conv4_4_CPM"
737
+ top: "concat_stage2"
738
+ concat_param {
739
+ axis: 1
740
+ }
741
+ }
742
+ layer {
743
+ name: "Mconv1_stage2_L1"
744
+ type: "Convolution"
745
+ bottom: "concat_stage2"
746
+ top: "Mconv1_stage2_L1"
747
+ param {
748
+ lr_mult: 4.0
749
+ decay_mult: 1
750
+ }
751
+ param {
752
+ lr_mult: 8.0
753
+ decay_mult: 0
754
+ }
755
+ convolution_param {
756
+ num_output: 128
757
+ pad: 3
758
+ kernel_size: 7
759
+ weight_filler {
760
+ type: "gaussian"
761
+ std: 0.01
762
+ }
763
+ bias_filler {
764
+ type: "constant"
765
+ }
766
+ }
767
+ }
768
+ layer {
769
+ name: "Mrelu1_stage2_L1"
770
+ type: "ReLU"
771
+ bottom: "Mconv1_stage2_L1"
772
+ top: "Mconv1_stage2_L1"
773
+ }
774
+ layer {
775
+ name: "Mconv1_stage2_L2"
776
+ type: "Convolution"
777
+ bottom: "concat_stage2"
778
+ top: "Mconv1_stage2_L2"
779
+ param {
780
+ lr_mult: 4.0
781
+ decay_mult: 1
782
+ }
783
+ param {
784
+ lr_mult: 8.0
785
+ decay_mult: 0
786
+ }
787
+ convolution_param {
788
+ num_output: 128
789
+ pad: 3
790
+ kernel_size: 7
791
+ weight_filler {
792
+ type: "gaussian"
793
+ std: 0.01
794
+ }
795
+ bias_filler {
796
+ type: "constant"
797
+ }
798
+ }
799
+ }
800
+ layer {
801
+ name: "Mrelu1_stage2_L2"
802
+ type: "ReLU"
803
+ bottom: "Mconv1_stage2_L2"
804
+ top: "Mconv1_stage2_L2"
805
+ }
806
+ layer {
807
+ name: "Mconv2_stage2_L1"
808
+ type: "Convolution"
809
+ bottom: "Mconv1_stage2_L1"
810
+ top: "Mconv2_stage2_L1"
811
+ param {
812
+ lr_mult: 4.0
813
+ decay_mult: 1
814
+ }
815
+ param {
816
+ lr_mult: 8.0
817
+ decay_mult: 0
818
+ }
819
+ convolution_param {
820
+ num_output: 128
821
+ pad: 3
822
+ kernel_size: 7
823
+ weight_filler {
824
+ type: "gaussian"
825
+ std: 0.01
826
+ }
827
+ bias_filler {
828
+ type: "constant"
829
+ }
830
+ }
831
+ }
832
+ layer {
833
+ name: "Mrelu2_stage2_L1"
834
+ type: "ReLU"
835
+ bottom: "Mconv2_stage2_L1"
836
+ top: "Mconv2_stage2_L1"
837
+ }
838
+ layer {
839
+ name: "Mconv2_stage2_L2"
840
+ type: "Convolution"
841
+ bottom: "Mconv1_stage2_L2"
842
+ top: "Mconv2_stage2_L2"
843
+ param {
844
+ lr_mult: 4.0
845
+ decay_mult: 1
846
+ }
847
+ param {
848
+ lr_mult: 8.0
849
+ decay_mult: 0
850
+ }
851
+ convolution_param {
852
+ num_output: 128
853
+ pad: 3
854
+ kernel_size: 7
855
+ weight_filler {
856
+ type: "gaussian"
857
+ std: 0.01
858
+ }
859
+ bias_filler {
860
+ type: "constant"
861
+ }
862
+ }
863
+ }
864
+ layer {
865
+ name: "Mrelu2_stage2_L2"
866
+ type: "ReLU"
867
+ bottom: "Mconv2_stage2_L2"
868
+ top: "Mconv2_stage2_L2"
869
+ }
870
+ layer {
871
+ name: "Mconv3_stage2_L1"
872
+ type: "Convolution"
873
+ bottom: "Mconv2_stage2_L1"
874
+ top: "Mconv3_stage2_L1"
875
+ param {
876
+ lr_mult: 4.0
877
+ decay_mult: 1
878
+ }
879
+ param {
880
+ lr_mult: 8.0
881
+ decay_mult: 0
882
+ }
883
+ convolution_param {
884
+ num_output: 128
885
+ pad: 3
886
+ kernel_size: 7
887
+ weight_filler {
888
+ type: "gaussian"
889
+ std: 0.01
890
+ }
891
+ bias_filler {
892
+ type: "constant"
893
+ }
894
+ }
895
+ }
896
+ layer {
897
+ name: "Mrelu3_stage2_L1"
898
+ type: "ReLU"
899
+ bottom: "Mconv3_stage2_L1"
900
+ top: "Mconv3_stage2_L1"
901
+ }
902
+ layer {
903
+ name: "Mconv3_stage2_L2"
904
+ type: "Convolution"
905
+ bottom: "Mconv2_stage2_L2"
906
+ top: "Mconv3_stage2_L2"
907
+ param {
908
+ lr_mult: 4.0
909
+ decay_mult: 1
910
+ }
911
+ param {
912
+ lr_mult: 8.0
913
+ decay_mult: 0
914
+ }
915
+ convolution_param {
916
+ num_output: 128
917
+ pad: 3
918
+ kernel_size: 7
919
+ weight_filler {
920
+ type: "gaussian"
921
+ std: 0.01
922
+ }
923
+ bias_filler {
924
+ type: "constant"
925
+ }
926
+ }
927
+ }
928
+ layer {
929
+ name: "Mrelu3_stage2_L2"
930
+ type: "ReLU"
931
+ bottom: "Mconv3_stage2_L2"
932
+ top: "Mconv3_stage2_L2"
933
+ }
934
+ layer {
935
+ name: "Mconv4_stage2_L1"
936
+ type: "Convolution"
937
+ bottom: "Mconv3_stage2_L1"
938
+ top: "Mconv4_stage2_L1"
939
+ param {
940
+ lr_mult: 4.0
941
+ decay_mult: 1
942
+ }
943
+ param {
944
+ lr_mult: 8.0
945
+ decay_mult: 0
946
+ }
947
+ convolution_param {
948
+ num_output: 128
949
+ pad: 3
950
+ kernel_size: 7
951
+ weight_filler {
952
+ type: "gaussian"
953
+ std: 0.01
954
+ }
955
+ bias_filler {
956
+ type: "constant"
957
+ }
958
+ }
959
+ }
960
+ layer {
961
+ name: "Mrelu4_stage2_L1"
962
+ type: "ReLU"
963
+ bottom: "Mconv4_stage2_L1"
964
+ top: "Mconv4_stage2_L1"
965
+ }
966
+ layer {
967
+ name: "Mconv4_stage2_L2"
968
+ type: "Convolution"
969
+ bottom: "Mconv3_stage2_L2"
970
+ top: "Mconv4_stage2_L2"
971
+ param {
972
+ lr_mult: 4.0
973
+ decay_mult: 1
974
+ }
975
+ param {
976
+ lr_mult: 8.0
977
+ decay_mult: 0
978
+ }
979
+ convolution_param {
980
+ num_output: 128
981
+ pad: 3
982
+ kernel_size: 7
983
+ weight_filler {
984
+ type: "gaussian"
985
+ std: 0.01
986
+ }
987
+ bias_filler {
988
+ type: "constant"
989
+ }
990
+ }
991
+ }
992
+ layer {
993
+ name: "Mrelu4_stage2_L2"
994
+ type: "ReLU"
995
+ bottom: "Mconv4_stage2_L2"
996
+ top: "Mconv4_stage2_L2"
997
+ }
998
+ layer {
999
+ name: "Mconv5_stage2_L1"
1000
+ type: "Convolution"
1001
+ bottom: "Mconv4_stage2_L1"
1002
+ top: "Mconv5_stage2_L1"
1003
+ param {
1004
+ lr_mult: 4.0
1005
+ decay_mult: 1
1006
+ }
1007
+ param {
1008
+ lr_mult: 8.0
1009
+ decay_mult: 0
1010
+ }
1011
+ convolution_param {
1012
+ num_output: 128
1013
+ pad: 3
1014
+ kernel_size: 7
1015
+ weight_filler {
1016
+ type: "gaussian"
1017
+ std: 0.01
1018
+ }
1019
+ bias_filler {
1020
+ type: "constant"
1021
+ }
1022
+ }
1023
+ }
1024
+ layer {
1025
+ name: "Mrelu5_stage2_L1"
1026
+ type: "ReLU"
1027
+ bottom: "Mconv5_stage2_L1"
1028
+ top: "Mconv5_stage2_L1"
1029
+ }
1030
+ layer {
1031
+ name: "Mconv5_stage2_L2"
1032
+ type: "Convolution"
1033
+ bottom: "Mconv4_stage2_L2"
1034
+ top: "Mconv5_stage2_L2"
1035
+ param {
1036
+ lr_mult: 4.0
1037
+ decay_mult: 1
1038
+ }
1039
+ param {
1040
+ lr_mult: 8.0
1041
+ decay_mult: 0
1042
+ }
1043
+ convolution_param {
1044
+ num_output: 128
1045
+ pad: 3
1046
+ kernel_size: 7
1047
+ weight_filler {
1048
+ type: "gaussian"
1049
+ std: 0.01
1050
+ }
1051
+ bias_filler {
1052
+ type: "constant"
1053
+ }
1054
+ }
1055
+ }
1056
+ layer {
1057
+ name: "Mrelu5_stage2_L2"
1058
+ type: "ReLU"
1059
+ bottom: "Mconv5_stage2_L2"
1060
+ top: "Mconv5_stage2_L2"
1061
+ }
1062
+ layer {
1063
+ name: "Mconv6_stage2_L1"
1064
+ type: "Convolution"
1065
+ bottom: "Mconv5_stage2_L1"
1066
+ top: "Mconv6_stage2_L1"
1067
+ param {
1068
+ lr_mult: 4.0
1069
+ decay_mult: 1
1070
+ }
1071
+ param {
1072
+ lr_mult: 8.0
1073
+ decay_mult: 0
1074
+ }
1075
+ convolution_param {
1076
+ num_output: 128
1077
+ pad: 0
1078
+ kernel_size: 1
1079
+ weight_filler {
1080
+ type: "gaussian"
1081
+ std: 0.01
1082
+ }
1083
+ bias_filler {
1084
+ type: "constant"
1085
+ }
1086
+ }
1087
+ }
1088
+ layer {
1089
+ name: "Mrelu6_stage2_L1"
1090
+ type: "ReLU"
1091
+ bottom: "Mconv6_stage2_L1"
1092
+ top: "Mconv6_stage2_L1"
1093
+ }
1094
+ layer {
1095
+ name: "Mconv6_stage2_L2"
1096
+ type: "Convolution"
1097
+ bottom: "Mconv5_stage2_L2"
1098
+ top: "Mconv6_stage2_L2"
1099
+ param {
1100
+ lr_mult: 4.0
1101
+ decay_mult: 1
1102
+ }
1103
+ param {
1104
+ lr_mult: 8.0
1105
+ decay_mult: 0
1106
+ }
1107
+ convolution_param {
1108
+ num_output: 128
1109
+ pad: 0
1110
+ kernel_size: 1
1111
+ weight_filler {
1112
+ type: "gaussian"
1113
+ std: 0.01
1114
+ }
1115
+ bias_filler {
1116
+ type: "constant"
1117
+ }
1118
+ }
1119
+ }
1120
+ layer {
1121
+ name: "Mrelu6_stage2_L2"
1122
+ type: "ReLU"
1123
+ bottom: "Mconv6_stage2_L2"
1124
+ top: "Mconv6_stage2_L2"
1125
+ }
1126
+ layer {
1127
+ name: "Mconv7_stage2_L1"
1128
+ type: "Convolution"
1129
+ bottom: "Mconv6_stage2_L1"
1130
+ top: "Mconv7_stage2_L1"
1131
+ param {
1132
+ lr_mult: 4.0
1133
+ decay_mult: 1
1134
+ }
1135
+ param {
1136
+ lr_mult: 8.0
1137
+ decay_mult: 0
1138
+ }
1139
+ convolution_param {
1140
+ num_output: 28
1141
+ pad: 0
1142
+ kernel_size: 1
1143
+ weight_filler {
1144
+ type: "gaussian"
1145
+ std: 0.01
1146
+ }
1147
+ bias_filler {
1148
+ type: "constant"
1149
+ }
1150
+ }
1151
+ }
1152
+ layer {
1153
+ name: "Mconv7_stage2_L2"
1154
+ type: "Convolution"
1155
+ bottom: "Mconv6_stage2_L2"
1156
+ top: "Mconv7_stage2_L2"
1157
+ param {
1158
+ lr_mult: 4.0
1159
+ decay_mult: 1
1160
+ }
1161
+ param {
1162
+ lr_mult: 8.0
1163
+ decay_mult: 0
1164
+ }
1165
+ convolution_param {
1166
+ num_output: 16
1167
+ pad: 0
1168
+ kernel_size: 1
1169
+ weight_filler {
1170
+ type: "gaussian"
1171
+ std: 0.01
1172
+ }
1173
+ bias_filler {
1174
+ type: "constant"
1175
+ }
1176
+ }
1177
+ }
1178
+ layer {
1179
+ name: "concat_stage3"
1180
+ type: "Concat"
1181
+ bottom: "Mconv7_stage2_L1"
1182
+ bottom: "Mconv7_stage2_L2"
1183
+ bottom: "conv4_4_CPM"
1184
+ top: "concat_stage3"
1185
+ concat_param {
1186
+ axis: 1
1187
+ }
1188
+ }
1189
+ layer {
1190
+ name: "Mconv1_stage3_L1"
1191
+ type: "Convolution"
1192
+ bottom: "concat_stage3"
1193
+ top: "Mconv1_stage3_L1"
1194
+ param {
1195
+ lr_mult: 4.0
1196
+ decay_mult: 1
1197
+ }
1198
+ param {
1199
+ lr_mult: 8.0
1200
+ decay_mult: 0
1201
+ }
1202
+ convolution_param {
1203
+ num_output: 128
1204
+ pad: 3
1205
+ kernel_size: 7
1206
+ weight_filler {
1207
+ type: "gaussian"
1208
+ std: 0.01
1209
+ }
1210
+ bias_filler {
1211
+ type: "constant"
1212
+ }
1213
+ }
1214
+ }
1215
+ layer {
1216
+ name: "Mrelu1_stage3_L1"
1217
+ type: "ReLU"
1218
+ bottom: "Mconv1_stage3_L1"
1219
+ top: "Mconv1_stage3_L1"
1220
+ }
1221
+ layer {
1222
+ name: "Mconv1_stage3_L2"
1223
+ type: "Convolution"
1224
+ bottom: "concat_stage3"
1225
+ top: "Mconv1_stage3_L2"
1226
+ param {
1227
+ lr_mult: 4.0
1228
+ decay_mult: 1
1229
+ }
1230
+ param {
1231
+ lr_mult: 8.0
1232
+ decay_mult: 0
1233
+ }
1234
+ convolution_param {
1235
+ num_output: 128
1236
+ pad: 3
1237
+ kernel_size: 7
1238
+ weight_filler {
1239
+ type: "gaussian"
1240
+ std: 0.01
1241
+ }
1242
+ bias_filler {
1243
+ type: "constant"
1244
+ }
1245
+ }
1246
+ }
1247
+ layer {
1248
+ name: "Mrelu1_stage3_L2"
1249
+ type: "ReLU"
1250
+ bottom: "Mconv1_stage3_L2"
1251
+ top: "Mconv1_stage3_L2"
1252
+ }
1253
+ layer {
1254
+ name: "Mconv2_stage3_L1"
1255
+ type: "Convolution"
1256
+ bottom: "Mconv1_stage3_L1"
1257
+ top: "Mconv2_stage3_L1"
1258
+ param {
1259
+ lr_mult: 4.0
1260
+ decay_mult: 1
1261
+ }
1262
+ param {
1263
+ lr_mult: 8.0
1264
+ decay_mult: 0
1265
+ }
1266
+ convolution_param {
1267
+ num_output: 128
1268
+ pad: 3
1269
+ kernel_size: 7
1270
+ weight_filler {
1271
+ type: "gaussian"
1272
+ std: 0.01
1273
+ }
1274
+ bias_filler {
1275
+ type: "constant"
1276
+ }
1277
+ }
1278
+ }
1279
+ layer {
1280
+ name: "Mrelu2_stage3_L1"
1281
+ type: "ReLU"
1282
+ bottom: "Mconv2_stage3_L1"
1283
+ top: "Mconv2_stage3_L1"
1284
+ }
1285
+ layer {
1286
+ name: "Mconv2_stage3_L2"
1287
+ type: "Convolution"
1288
+ bottom: "Mconv1_stage3_L2"
1289
+ top: "Mconv2_stage3_L2"
1290
+ param {
1291
+ lr_mult: 4.0
1292
+ decay_mult: 1
1293
+ }
1294
+ param {
1295
+ lr_mult: 8.0
1296
+ decay_mult: 0
1297
+ }
1298
+ convolution_param {
1299
+ num_output: 128
1300
+ pad: 3
1301
+ kernel_size: 7
1302
+ weight_filler {
1303
+ type: "gaussian"
1304
+ std: 0.01
1305
+ }
1306
+ bias_filler {
1307
+ type: "constant"
1308
+ }
1309
+ }
1310
+ }
1311
+ layer {
1312
+ name: "Mrelu2_stage3_L2"
1313
+ type: "ReLU"
1314
+ bottom: "Mconv2_stage3_L2"
1315
+ top: "Mconv2_stage3_L2"
1316
+ }
1317
+ layer {
1318
+ name: "Mconv3_stage3_L1"
1319
+ type: "Convolution"
1320
+ bottom: "Mconv2_stage3_L1"
1321
+ top: "Mconv3_stage3_L1"
1322
+ param {
1323
+ lr_mult: 4.0
1324
+ decay_mult: 1
1325
+ }
1326
+ param {
1327
+ lr_mult: 8.0
1328
+ decay_mult: 0
1329
+ }
1330
+ convolution_param {
1331
+ num_output: 128
1332
+ pad: 3
1333
+ kernel_size: 7
1334
+ weight_filler {
1335
+ type: "gaussian"
1336
+ std: 0.01
1337
+ }
1338
+ bias_filler {
1339
+ type: "constant"
1340
+ }
1341
+ }
1342
+ }
1343
+ layer {
1344
+ name: "Mrelu3_stage3_L1"
1345
+ type: "ReLU"
1346
+ bottom: "Mconv3_stage3_L1"
1347
+ top: "Mconv3_stage3_L1"
1348
+ }
1349
+ layer {
1350
+ name: "Mconv3_stage3_L2"
1351
+ type: "Convolution"
1352
+ bottom: "Mconv2_stage3_L2"
1353
+ top: "Mconv3_stage3_L2"
1354
+ param {
1355
+ lr_mult: 4.0
1356
+ decay_mult: 1
1357
+ }
1358
+ param {
1359
+ lr_mult: 8.0
1360
+ decay_mult: 0
1361
+ }
1362
+ convolution_param {
1363
+ num_output: 128
1364
+ pad: 3
1365
+ kernel_size: 7
1366
+ weight_filler {
1367
+ type: "gaussian"
1368
+ std: 0.01
1369
+ }
1370
+ bias_filler {
1371
+ type: "constant"
1372
+ }
1373
+ }
1374
+ }
1375
+ layer {
1376
+ name: "Mrelu3_stage3_L2"
1377
+ type: "ReLU"
1378
+ bottom: "Mconv3_stage3_L2"
1379
+ top: "Mconv3_stage3_L2"
1380
+ }
1381
+ layer {
1382
+ name: "Mconv4_stage3_L1"
1383
+ type: "Convolution"
1384
+ bottom: "Mconv3_stage3_L1"
1385
+ top: "Mconv4_stage3_L1"
1386
+ param {
1387
+ lr_mult: 4.0
1388
+ decay_mult: 1
1389
+ }
1390
+ param {
1391
+ lr_mult: 8.0
1392
+ decay_mult: 0
1393
+ }
1394
+ convolution_param {
1395
+ num_output: 128
1396
+ pad: 3
1397
+ kernel_size: 7
1398
+ weight_filler {
1399
+ type: "gaussian"
1400
+ std: 0.01
1401
+ }
1402
+ bias_filler {
1403
+ type: "constant"
1404
+ }
1405
+ }
1406
+ }
1407
+ layer {
1408
+ name: "Mrelu4_stage3_L1"
1409
+ type: "ReLU"
1410
+ bottom: "Mconv4_stage3_L1"
1411
+ top: "Mconv4_stage3_L1"
1412
+ }
1413
+ layer {
1414
+ name: "Mconv4_stage3_L2"
1415
+ type: "Convolution"
1416
+ bottom: "Mconv3_stage3_L2"
1417
+ top: "Mconv4_stage3_L2"
1418
+ param {
1419
+ lr_mult: 4.0
1420
+ decay_mult: 1
1421
+ }
1422
+ param {
1423
+ lr_mult: 8.0
1424
+ decay_mult: 0
1425
+ }
1426
+ convolution_param {
1427
+ num_output: 128
1428
+ pad: 3
1429
+ kernel_size: 7
1430
+ weight_filler {
1431
+ type: "gaussian"
1432
+ std: 0.01
1433
+ }
1434
+ bias_filler {
1435
+ type: "constant"
1436
+ }
1437
+ }
1438
+ }
1439
+ layer {
1440
+ name: "Mrelu4_stage3_L2"
1441
+ type: "ReLU"
1442
+ bottom: "Mconv4_stage3_L2"
1443
+ top: "Mconv4_stage3_L2"
1444
+ }
1445
+ layer {
1446
+ name: "Mconv5_stage3_L1"
1447
+ type: "Convolution"
1448
+ bottom: "Mconv4_stage3_L1"
1449
+ top: "Mconv5_stage3_L1"
1450
+ param {
1451
+ lr_mult: 4.0
1452
+ decay_mult: 1
1453
+ }
1454
+ param {
1455
+ lr_mult: 8.0
1456
+ decay_mult: 0
1457
+ }
1458
+ convolution_param {
1459
+ num_output: 128
1460
+ pad: 3
1461
+ kernel_size: 7
1462
+ weight_filler {
1463
+ type: "gaussian"
1464
+ std: 0.01
1465
+ }
1466
+ bias_filler {
1467
+ type: "constant"
1468
+ }
1469
+ }
1470
+ }
1471
+ layer {
1472
+ name: "Mrelu5_stage3_L1"
1473
+ type: "ReLU"
1474
+ bottom: "Mconv5_stage3_L1"
1475
+ top: "Mconv5_stage3_L1"
1476
+ }
1477
+ layer {
1478
+ name: "Mconv5_stage3_L2"
1479
+ type: "Convolution"
1480
+ bottom: "Mconv4_stage3_L2"
1481
+ top: "Mconv5_stage3_L2"
1482
+ param {
1483
+ lr_mult: 4.0
1484
+ decay_mult: 1
1485
+ }
1486
+ param {
1487
+ lr_mult: 8.0
1488
+ decay_mult: 0
1489
+ }
1490
+ convolution_param {
1491
+ num_output: 128
1492
+ pad: 3
1493
+ kernel_size: 7
1494
+ weight_filler {
1495
+ type: "gaussian"
1496
+ std: 0.01
1497
+ }
1498
+ bias_filler {
1499
+ type: "constant"
1500
+ }
1501
+ }
1502
+ }
1503
+ layer {
1504
+ name: "Mrelu5_stage3_L2"
1505
+ type: "ReLU"
1506
+ bottom: "Mconv5_stage3_L2"
1507
+ top: "Mconv5_stage3_L2"
1508
+ }
1509
+ layer {
1510
+ name: "Mconv6_stage3_L1"
1511
+ type: "Convolution"
1512
+ bottom: "Mconv5_stage3_L1"
1513
+ top: "Mconv6_stage3_L1"
1514
+ param {
1515
+ lr_mult: 4.0
1516
+ decay_mult: 1
1517
+ }
1518
+ param {
1519
+ lr_mult: 8.0
1520
+ decay_mult: 0
1521
+ }
1522
+ convolution_param {
1523
+ num_output: 128
1524
+ pad: 0
1525
+ kernel_size: 1
1526
+ weight_filler {
1527
+ type: "gaussian"
1528
+ std: 0.01
1529
+ }
1530
+ bias_filler {
1531
+ type: "constant"
1532
+ }
1533
+ }
1534
+ }
1535
+ layer {
1536
+ name: "Mrelu6_stage3_L1"
1537
+ type: "ReLU"
1538
+ bottom: "Mconv6_stage3_L1"
1539
+ top: "Mconv6_stage3_L1"
1540
+ }
1541
+ layer {
1542
+ name: "Mconv6_stage3_L2"
1543
+ type: "Convolution"
1544
+ bottom: "Mconv5_stage3_L2"
1545
+ top: "Mconv6_stage3_L2"
1546
+ param {
1547
+ lr_mult: 4.0
1548
+ decay_mult: 1
1549
+ }
1550
+ param {
1551
+ lr_mult: 8.0
1552
+ decay_mult: 0
1553
+ }
1554
+ convolution_param {
1555
+ num_output: 128
1556
+ pad: 0
1557
+ kernel_size: 1
1558
+ weight_filler {
1559
+ type: "gaussian"
1560
+ std: 0.01
1561
+ }
1562
+ bias_filler {
1563
+ type: "constant"
1564
+ }
1565
+ }
1566
+ }
1567
+ layer {
1568
+ name: "Mrelu6_stage3_L2"
1569
+ type: "ReLU"
1570
+ bottom: "Mconv6_stage3_L2"
1571
+ top: "Mconv6_stage3_L2"
1572
+ }
1573
+ layer {
1574
+ name: "Mconv7_stage3_L1"
1575
+ type: "Convolution"
1576
+ bottom: "Mconv6_stage3_L1"
1577
+ top: "Mconv7_stage3_L1"
1578
+ param {
1579
+ lr_mult: 4.0
1580
+ decay_mult: 1
1581
+ }
1582
+ param {
1583
+ lr_mult: 8.0
1584
+ decay_mult: 0
1585
+ }
1586
+ convolution_param {
1587
+ num_output: 28
1588
+ pad: 0
1589
+ kernel_size: 1
1590
+ weight_filler {
1591
+ type: "gaussian"
1592
+ std: 0.01
1593
+ }
1594
+ bias_filler {
1595
+ type: "constant"
1596
+ }
1597
+ }
1598
+ }
1599
+ layer {
1600
+ name: "Mconv7_stage3_L2"
1601
+ type: "Convolution"
1602
+ bottom: "Mconv6_stage3_L2"
1603
+ top: "Mconv7_stage3_L2"
1604
+ param {
1605
+ lr_mult: 4.0
1606
+ decay_mult: 1
1607
+ }
1608
+ param {
1609
+ lr_mult: 8.0
1610
+ decay_mult: 0
1611
+ }
1612
+ convolution_param {
1613
+ num_output: 16
1614
+ pad: 0
1615
+ kernel_size: 1
1616
+ weight_filler {
1617
+ type: "gaussian"
1618
+ std: 0.01
1619
+ }
1620
+ bias_filler {
1621
+ type: "constant"
1622
+ }
1623
+ }
1624
+ }
1625
+ layer {
1626
+ name: "concat_stage4"
1627
+ type: "Concat"
1628
+ bottom: "Mconv7_stage3_L1"
1629
+ bottom: "Mconv7_stage3_L2"
1630
+ bottom: "conv4_4_CPM"
1631
+ top: "concat_stage4"
1632
+ concat_param {
1633
+ axis: 1
1634
+ }
1635
+ }
1636
+ layer {
1637
+ name: "Mconv1_stage4_L1"
1638
+ type: "Convolution"
1639
+ bottom: "concat_stage4"
1640
+ top: "Mconv1_stage4_L1"
1641
+ param {
1642
+ lr_mult: 4.0
1643
+ decay_mult: 1
1644
+ }
1645
+ param {
1646
+ lr_mult: 8.0
1647
+ decay_mult: 0
1648
+ }
1649
+ convolution_param {
1650
+ num_output: 128
1651
+ pad: 3
1652
+ kernel_size: 7
1653
+ weight_filler {
1654
+ type: "gaussian"
1655
+ std: 0.01
1656
+ }
1657
+ bias_filler {
1658
+ type: "constant"
1659
+ }
1660
+ }
1661
+ }
1662
+ layer {
1663
+ name: "Mrelu1_stage4_L1"
1664
+ type: "ReLU"
1665
+ bottom: "Mconv1_stage4_L1"
1666
+ top: "Mconv1_stage4_L1"
1667
+ }
1668
+ layer {
1669
+ name: "Mconv1_stage4_L2"
1670
+ type: "Convolution"
1671
+ bottom: "concat_stage4"
1672
+ top: "Mconv1_stage4_L2"
1673
+ param {
1674
+ lr_mult: 4.0
1675
+ decay_mult: 1
1676
+ }
1677
+ param {
1678
+ lr_mult: 8.0
1679
+ decay_mult: 0
1680
+ }
1681
+ convolution_param {
1682
+ num_output: 128
1683
+ pad: 3
1684
+ kernel_size: 7
1685
+ weight_filler {
1686
+ type: "gaussian"
1687
+ std: 0.01
1688
+ }
1689
+ bias_filler {
1690
+ type: "constant"
1691
+ }
1692
+ }
1693
+ }
1694
+ layer {
1695
+ name: "Mrelu1_stage4_L2"
1696
+ type: "ReLU"
1697
+ bottom: "Mconv1_stage4_L2"
1698
+ top: "Mconv1_stage4_L2"
1699
+ }
1700
+ layer {
1701
+ name: "Mconv2_stage4_L1"
1702
+ type: "Convolution"
1703
+ bottom: "Mconv1_stage4_L1"
1704
+ top: "Mconv2_stage4_L1"
1705
+ param {
1706
+ lr_mult: 4.0
1707
+ decay_mult: 1
1708
+ }
1709
+ param {
1710
+ lr_mult: 8.0
1711
+ decay_mult: 0
1712
+ }
1713
+ convolution_param {
1714
+ num_output: 128
1715
+ pad: 3
1716
+ kernel_size: 7
1717
+ weight_filler {
1718
+ type: "gaussian"
1719
+ std: 0.01
1720
+ }
1721
+ bias_filler {
1722
+ type: "constant"
1723
+ }
1724
+ }
1725
+ }
1726
+ layer {
1727
+ name: "Mrelu2_stage4_L1"
1728
+ type: "ReLU"
1729
+ bottom: "Mconv2_stage4_L1"
1730
+ top: "Mconv2_stage4_L1"
1731
+ }
1732
+ layer {
1733
+ name: "Mconv2_stage4_L2"
1734
+ type: "Convolution"
1735
+ bottom: "Mconv1_stage4_L2"
1736
+ top: "Mconv2_stage4_L2"
1737
+ param {
1738
+ lr_mult: 4.0
1739
+ decay_mult: 1
1740
+ }
1741
+ param {
1742
+ lr_mult: 8.0
1743
+ decay_mult: 0
1744
+ }
1745
+ convolution_param {
1746
+ num_output: 128
1747
+ pad: 3
1748
+ kernel_size: 7
1749
+ weight_filler {
1750
+ type: "gaussian"
1751
+ std: 0.01
1752
+ }
1753
+ bias_filler {
1754
+ type: "constant"
1755
+ }
1756
+ }
1757
+ }
1758
+ layer {
1759
+ name: "Mrelu2_stage4_L2"
1760
+ type: "ReLU"
1761
+ bottom: "Mconv2_stage4_L2"
1762
+ top: "Mconv2_stage4_L2"
1763
+ }
1764
+ layer {
1765
+ name: "Mconv3_stage4_L1"
1766
+ type: "Convolution"
1767
+ bottom: "Mconv2_stage4_L1"
1768
+ top: "Mconv3_stage4_L1"
1769
+ param {
1770
+ lr_mult: 4.0
1771
+ decay_mult: 1
1772
+ }
1773
+ param {
1774
+ lr_mult: 8.0
1775
+ decay_mult: 0
1776
+ }
1777
+ convolution_param {
1778
+ num_output: 128
1779
+ pad: 3
1780
+ kernel_size: 7
1781
+ weight_filler {
1782
+ type: "gaussian"
1783
+ std: 0.01
1784
+ }
1785
+ bias_filler {
1786
+ type: "constant"
1787
+ }
1788
+ }
1789
+ }
1790
+ layer {
1791
+ name: "Mrelu3_stage4_L1"
1792
+ type: "ReLU"
1793
+ bottom: "Mconv3_stage4_L1"
1794
+ top: "Mconv3_stage4_L1"
1795
+ }
1796
+ layer {
1797
+ name: "Mconv3_stage4_L2"
1798
+ type: "Convolution"
1799
+ bottom: "Mconv2_stage4_L2"
1800
+ top: "Mconv3_stage4_L2"
1801
+ param {
1802
+ lr_mult: 4.0
1803
+ decay_mult: 1
1804
+ }
1805
+ param {
1806
+ lr_mult: 8.0
1807
+ decay_mult: 0
1808
+ }
1809
+ convolution_param {
1810
+ num_output: 128
1811
+ pad: 3
1812
+ kernel_size: 7
1813
+ weight_filler {
1814
+ type: "gaussian"
1815
+ std: 0.01
1816
+ }
1817
+ bias_filler {
1818
+ type: "constant"
1819
+ }
1820
+ }
1821
+ }
1822
+ layer {
1823
+ name: "Mrelu3_stage4_L2"
1824
+ type: "ReLU"
1825
+ bottom: "Mconv3_stage4_L2"
1826
+ top: "Mconv3_stage4_L2"
1827
+ }
1828
+ layer {
1829
+ name: "Mconv4_stage4_L1"
1830
+ type: "Convolution"
1831
+ bottom: "Mconv3_stage4_L1"
1832
+ top: "Mconv4_stage4_L1"
1833
+ param {
1834
+ lr_mult: 4.0
1835
+ decay_mult: 1
1836
+ }
1837
+ param {
1838
+ lr_mult: 8.0
1839
+ decay_mult: 0
1840
+ }
1841
+ convolution_param {
1842
+ num_output: 128
1843
+ pad: 3
1844
+ kernel_size: 7
1845
+ weight_filler {
1846
+ type: "gaussian"
1847
+ std: 0.01
1848
+ }
1849
+ bias_filler {
1850
+ type: "constant"
1851
+ }
1852
+ }
1853
+ }
1854
+ layer {
1855
+ name: "Mrelu4_stage4_L1"
1856
+ type: "ReLU"
1857
+ bottom: "Mconv4_stage4_L1"
1858
+ top: "Mconv4_stage4_L1"
1859
+ }
1860
+ layer {
1861
+ name: "Mconv4_stage4_L2"
1862
+ type: "Convolution"
1863
+ bottom: "Mconv3_stage4_L2"
1864
+ top: "Mconv4_stage4_L2"
1865
+ param {
1866
+ lr_mult: 4.0
1867
+ decay_mult: 1
1868
+ }
1869
+ param {
1870
+ lr_mult: 8.0
1871
+ decay_mult: 0
1872
+ }
1873
+ convolution_param {
1874
+ num_output: 128
1875
+ pad: 3
1876
+ kernel_size: 7
1877
+ weight_filler {
1878
+ type: "gaussian"
1879
+ std: 0.01
1880
+ }
1881
+ bias_filler {
1882
+ type: "constant"
1883
+ }
1884
+ }
1885
+ }
1886
+ layer {
1887
+ name: "Mrelu4_stage4_L2"
1888
+ type: "ReLU"
1889
+ bottom: "Mconv4_stage4_L2"
1890
+ top: "Mconv4_stage4_L2"
1891
+ }
1892
+ layer {
1893
+ name: "Mconv5_stage4_L1"
1894
+ type: "Convolution"
1895
+ bottom: "Mconv4_stage4_L1"
1896
+ top: "Mconv5_stage4_L1"
1897
+ param {
1898
+ lr_mult: 4.0
1899
+ decay_mult: 1
1900
+ }
1901
+ param {
1902
+ lr_mult: 8.0
1903
+ decay_mult: 0
1904
+ }
1905
+ convolution_param {
1906
+ num_output: 128
1907
+ pad: 3
1908
+ kernel_size: 7
1909
+ weight_filler {
1910
+ type: "gaussian"
1911
+ std: 0.01
1912
+ }
1913
+ bias_filler {
1914
+ type: "constant"
1915
+ }
1916
+ }
1917
+ }
1918
+ layer {
1919
+ name: "Mrelu5_stage4_L1"
1920
+ type: "ReLU"
1921
+ bottom: "Mconv5_stage4_L1"
1922
+ top: "Mconv5_stage4_L1"
1923
+ }
1924
+ layer {
1925
+ name: "Mconv5_stage4_L2"
1926
+ type: "Convolution"
1927
+ bottom: "Mconv4_stage4_L2"
1928
+ top: "Mconv5_stage4_L2"
1929
+ param {
1930
+ lr_mult: 4.0
1931
+ decay_mult: 1
1932
+ }
1933
+ param {
1934
+ lr_mult: 8.0
1935
+ decay_mult: 0
1936
+ }
1937
+ convolution_param {
1938
+ num_output: 128
1939
+ pad: 3
1940
+ kernel_size: 7
1941
+ weight_filler {
1942
+ type: "gaussian"
1943
+ std: 0.01
1944
+ }
1945
+ bias_filler {
1946
+ type: "constant"
1947
+ }
1948
+ }
1949
+ }
1950
+ layer {
1951
+ name: "Mrelu5_stage4_L2"
1952
+ type: "ReLU"
1953
+ bottom: "Mconv5_stage4_L2"
1954
+ top: "Mconv5_stage4_L2"
1955
+ }
1956
+ layer {
1957
+ name: "Mconv6_stage4_L1"
1958
+ type: "Convolution"
1959
+ bottom: "Mconv5_stage4_L1"
1960
+ top: "Mconv6_stage4_L1"
1961
+ param {
1962
+ lr_mult: 4.0
1963
+ decay_mult: 1
1964
+ }
1965
+ param {
1966
+ lr_mult: 8.0
1967
+ decay_mult: 0
1968
+ }
1969
+ convolution_param {
1970
+ num_output: 128
1971
+ pad: 0
1972
+ kernel_size: 1
1973
+ weight_filler {
1974
+ type: "gaussian"
1975
+ std: 0.01
1976
+ }
1977
+ bias_filler {
1978
+ type: "constant"
1979
+ }
1980
+ }
1981
+ }
1982
+ layer {
1983
+ name: "Mrelu6_stage4_L1"
1984
+ type: "ReLU"
1985
+ bottom: "Mconv6_stage4_L1"
1986
+ top: "Mconv6_stage4_L1"
1987
+ }
1988
+ layer {
1989
+ name: "Mconv6_stage4_L2"
1990
+ type: "Convolution"
1991
+ bottom: "Mconv5_stage4_L2"
1992
+ top: "Mconv6_stage4_L2"
1993
+ param {
1994
+ lr_mult: 4.0
1995
+ decay_mult: 1
1996
+ }
1997
+ param {
1998
+ lr_mult: 8.0
1999
+ decay_mult: 0
2000
+ }
2001
+ convolution_param {
2002
+ num_output: 128
2003
+ pad: 0
2004
+ kernel_size: 1
2005
+ weight_filler {
2006
+ type: "gaussian"
2007
+ std: 0.01
2008
+ }
2009
+ bias_filler {
2010
+ type: "constant"
2011
+ }
2012
+ }
2013
+ }
2014
+ layer {
2015
+ name: "Mrelu6_stage4_L2"
2016
+ type: "ReLU"
2017
+ bottom: "Mconv6_stage4_L2"
2018
+ top: "Mconv6_stage4_L2"
2019
+ }
2020
+ layer {
2021
+ name: "Mconv7_stage4_L1"
2022
+ type: "Convolution"
2023
+ bottom: "Mconv6_stage4_L1"
2024
+ top: "Mconv7_stage4_L1"
2025
+ param {
2026
+ lr_mult: 4.0
2027
+ decay_mult: 1
2028
+ }
2029
+ param {
2030
+ lr_mult: 8.0
2031
+ decay_mult: 0
2032
+ }
2033
+ convolution_param {
2034
+ num_output: 28
2035
+ pad: 0
2036
+ kernel_size: 1
2037
+ weight_filler {
2038
+ type: "gaussian"
2039
+ std: 0.01
2040
+ }
2041
+ bias_filler {
2042
+ type: "constant"
2043
+ }
2044
+ }
2045
+ }
2046
+ layer {
2047
+ name: "Mconv7_stage4_L2"
2048
+ type: "Convolution"
2049
+ bottom: "Mconv6_stage4_L2"
2050
+ top: "Mconv7_stage4_L2"
2051
+ param {
2052
+ lr_mult: 4.0
2053
+ decay_mult: 1
2054
+ }
2055
+ param {
2056
+ lr_mult: 8.0
2057
+ decay_mult: 0
2058
+ }
2059
+ convolution_param {
2060
+ num_output: 16
2061
+ pad: 0
2062
+ kernel_size: 1
2063
+ weight_filler {
2064
+ type: "gaussian"
2065
+ std: 0.01
2066
+ }
2067
+ bias_filler {
2068
+ type: "constant"
2069
+ }
2070
+ }
2071
+ }
2072
+ layer {
2073
+ name: "concat_stage5"
2074
+ type: "Concat"
2075
+ bottom: "Mconv7_stage4_L1"
2076
+ bottom: "Mconv7_stage4_L2"
2077
+ bottom: "conv4_4_CPM"
2078
+ top: "concat_stage5"
2079
+ concat_param {
2080
+ axis: 1
2081
+ }
2082
+ }
2083
+ layer {
2084
+ name: "Mconv1_stage5_L1"
2085
+ type: "Convolution"
2086
+ bottom: "concat_stage5"
2087
+ top: "Mconv1_stage5_L1"
2088
+ param {
2089
+ lr_mult: 4.0
2090
+ decay_mult: 1
2091
+ }
2092
+ param {
2093
+ lr_mult: 8.0
2094
+ decay_mult: 0
2095
+ }
2096
+ convolution_param {
2097
+ num_output: 128
2098
+ pad: 3
2099
+ kernel_size: 7
2100
+ weight_filler {
2101
+ type: "gaussian"
2102
+ std: 0.01
2103
+ }
2104
+ bias_filler {
2105
+ type: "constant"
2106
+ }
2107
+ }
2108
+ }
2109
+ layer {
2110
+ name: "Mrelu1_stage5_L1"
2111
+ type: "ReLU"
2112
+ bottom: "Mconv1_stage5_L1"
2113
+ top: "Mconv1_stage5_L1"
2114
+ }
2115
+ layer {
2116
+ name: "Mconv1_stage5_L2"
2117
+ type: "Convolution"
2118
+ bottom: "concat_stage5"
2119
+ top: "Mconv1_stage5_L2"
2120
+ param {
2121
+ lr_mult: 4.0
2122
+ decay_mult: 1
2123
+ }
2124
+ param {
2125
+ lr_mult: 8.0
2126
+ decay_mult: 0
2127
+ }
2128
+ convolution_param {
2129
+ num_output: 128
2130
+ pad: 3
2131
+ kernel_size: 7
2132
+ weight_filler {
2133
+ type: "gaussian"
2134
+ std: 0.01
2135
+ }
2136
+ bias_filler {
2137
+ type: "constant"
2138
+ }
2139
+ }
2140
+ }
2141
+ layer {
2142
+ name: "Mrelu1_stage5_L2"
2143
+ type: "ReLU"
2144
+ bottom: "Mconv1_stage5_L2"
2145
+ top: "Mconv1_stage5_L2"
2146
+ }
2147
+ layer {
2148
+ name: "Mconv2_stage5_L1"
2149
+ type: "Convolution"
2150
+ bottom: "Mconv1_stage5_L1"
2151
+ top: "Mconv2_stage5_L1"
2152
+ param {
2153
+ lr_mult: 4.0
2154
+ decay_mult: 1
2155
+ }
2156
+ param {
2157
+ lr_mult: 8.0
2158
+ decay_mult: 0
2159
+ }
2160
+ convolution_param {
2161
+ num_output: 128
2162
+ pad: 3
2163
+ kernel_size: 7
2164
+ weight_filler {
2165
+ type: "gaussian"
2166
+ std: 0.01
2167
+ }
2168
+ bias_filler {
2169
+ type: "constant"
2170
+ }
2171
+ }
2172
+ }
2173
+ layer {
2174
+ name: "Mrelu2_stage5_L1"
2175
+ type: "ReLU"
2176
+ bottom: "Mconv2_stage5_L1"
2177
+ top: "Mconv2_stage5_L1"
2178
+ }
2179
+ layer {
2180
+ name: "Mconv2_stage5_L2"
2181
+ type: "Convolution"
2182
+ bottom: "Mconv1_stage5_L2"
2183
+ top: "Mconv2_stage5_L2"
2184
+ param {
2185
+ lr_mult: 4.0
2186
+ decay_mult: 1
2187
+ }
2188
+ param {
2189
+ lr_mult: 8.0
2190
+ decay_mult: 0
2191
+ }
2192
+ convolution_param {
2193
+ num_output: 128
2194
+ pad: 3
2195
+ kernel_size: 7
2196
+ weight_filler {
2197
+ type: "gaussian"
2198
+ std: 0.01
2199
+ }
2200
+ bias_filler {
2201
+ type: "constant"
2202
+ }
2203
+ }
2204
+ }
2205
+ layer {
2206
+ name: "Mrelu2_stage5_L2"
2207
+ type: "ReLU"
2208
+ bottom: "Mconv2_stage5_L2"
2209
+ top: "Mconv2_stage5_L2"
2210
+ }
2211
+ layer {
2212
+ name: "Mconv3_stage5_L1"
2213
+ type: "Convolution"
2214
+ bottom: "Mconv2_stage5_L1"
2215
+ top: "Mconv3_stage5_L1"
2216
+ param {
2217
+ lr_mult: 4.0
2218
+ decay_mult: 1
2219
+ }
2220
+ param {
2221
+ lr_mult: 8.0
2222
+ decay_mult: 0
2223
+ }
2224
+ convolution_param {
2225
+ num_output: 128
2226
+ pad: 3
2227
+ kernel_size: 7
2228
+ weight_filler {
2229
+ type: "gaussian"
2230
+ std: 0.01
2231
+ }
2232
+ bias_filler {
2233
+ type: "constant"
2234
+ }
2235
+ }
2236
+ }
2237
+ layer {
2238
+ name: "Mrelu3_stage5_L1"
2239
+ type: "ReLU"
2240
+ bottom: "Mconv3_stage5_L1"
2241
+ top: "Mconv3_stage5_L1"
2242
+ }
2243
+ layer {
2244
+ name: "Mconv3_stage5_L2"
2245
+ type: "Convolution"
2246
+ bottom: "Mconv2_stage5_L2"
2247
+ top: "Mconv3_stage5_L2"
2248
+ param {
2249
+ lr_mult: 4.0
2250
+ decay_mult: 1
2251
+ }
2252
+ param {
2253
+ lr_mult: 8.0
2254
+ decay_mult: 0
2255
+ }
2256
+ convolution_param {
2257
+ num_output: 128
2258
+ pad: 3
2259
+ kernel_size: 7
2260
+ weight_filler {
2261
+ type: "gaussian"
2262
+ std: 0.01
2263
+ }
2264
+ bias_filler {
2265
+ type: "constant"
2266
+ }
2267
+ }
2268
+ }
2269
+ layer {
2270
+ name: "Mrelu3_stage5_L2"
2271
+ type: "ReLU"
2272
+ bottom: "Mconv3_stage5_L2"
2273
+ top: "Mconv3_stage5_L2"
2274
+ }
2275
+ layer {
2276
+ name: "Mconv4_stage5_L1"
2277
+ type: "Convolution"
2278
+ bottom: "Mconv3_stage5_L1"
2279
+ top: "Mconv4_stage5_L1"
2280
+ param {
2281
+ lr_mult: 4.0
2282
+ decay_mult: 1
2283
+ }
2284
+ param {
2285
+ lr_mult: 8.0
2286
+ decay_mult: 0
2287
+ }
2288
+ convolution_param {
2289
+ num_output: 128
2290
+ pad: 3
2291
+ kernel_size: 7
2292
+ weight_filler {
2293
+ type: "gaussian"
2294
+ std: 0.01
2295
+ }
2296
+ bias_filler {
2297
+ type: "constant"
2298
+ }
2299
+ }
2300
+ }
2301
+ layer {
2302
+ name: "Mrelu4_stage5_L1"
2303
+ type: "ReLU"
2304
+ bottom: "Mconv4_stage5_L1"
2305
+ top: "Mconv4_stage5_L1"
2306
+ }
2307
+ layer {
2308
+ name: "Mconv4_stage5_L2"
2309
+ type: "Convolution"
2310
+ bottom: "Mconv3_stage5_L2"
2311
+ top: "Mconv4_stage5_L2"
2312
+ param {
2313
+ lr_mult: 4.0
2314
+ decay_mult: 1
2315
+ }
2316
+ param {
2317
+ lr_mult: 8.0
2318
+ decay_mult: 0
2319
+ }
2320
+ convolution_param {
2321
+ num_output: 128
2322
+ pad: 3
2323
+ kernel_size: 7
2324
+ weight_filler {
2325
+ type: "gaussian"
2326
+ std: 0.01
2327
+ }
2328
+ bias_filler {
2329
+ type: "constant"
2330
+ }
2331
+ }
2332
+ }
2333
+ layer {
2334
+ name: "Mrelu4_stage5_L2"
2335
+ type: "ReLU"
2336
+ bottom: "Mconv4_stage5_L2"
2337
+ top: "Mconv4_stage5_L2"
2338
+ }
2339
+ layer {
2340
+ name: "Mconv5_stage5_L1"
2341
+ type: "Convolution"
2342
+ bottom: "Mconv4_stage5_L1"
2343
+ top: "Mconv5_stage5_L1"
2344
+ param {
2345
+ lr_mult: 4.0
2346
+ decay_mult: 1
2347
+ }
2348
+ param {
2349
+ lr_mult: 8.0
2350
+ decay_mult: 0
2351
+ }
2352
+ convolution_param {
2353
+ num_output: 128
2354
+ pad: 3
2355
+ kernel_size: 7
2356
+ weight_filler {
2357
+ type: "gaussian"
2358
+ std: 0.01
2359
+ }
2360
+ bias_filler {
2361
+ type: "constant"
2362
+ }
2363
+ }
2364
+ }
2365
+ layer {
2366
+ name: "Mrelu5_stage5_L1"
2367
+ type: "ReLU"
2368
+ bottom: "Mconv5_stage5_L1"
2369
+ top: "Mconv5_stage5_L1"
2370
+ }
2371
+ layer {
2372
+ name: "Mconv5_stage5_L2"
2373
+ type: "Convolution"
2374
+ bottom: "Mconv4_stage5_L2"
2375
+ top: "Mconv5_stage5_L2"
2376
+ param {
2377
+ lr_mult: 4.0
2378
+ decay_mult: 1
2379
+ }
2380
+ param {
2381
+ lr_mult: 8.0
2382
+ decay_mult: 0
2383
+ }
2384
+ convolution_param {
2385
+ num_output: 128
2386
+ pad: 3
2387
+ kernel_size: 7
2388
+ weight_filler {
2389
+ type: "gaussian"
2390
+ std: 0.01
2391
+ }
2392
+ bias_filler {
2393
+ type: "constant"
2394
+ }
2395
+ }
2396
+ }
2397
+ layer {
2398
+ name: "Mrelu5_stage5_L2"
2399
+ type: "ReLU"
2400
+ bottom: "Mconv5_stage5_L2"
2401
+ top: "Mconv5_stage5_L2"
2402
+ }
2403
+ layer {
2404
+ name: "Mconv6_stage5_L1"
2405
+ type: "Convolution"
2406
+ bottom: "Mconv5_stage5_L1"
2407
+ top: "Mconv6_stage5_L1"
2408
+ param {
2409
+ lr_mult: 4.0
2410
+ decay_mult: 1
2411
+ }
2412
+ param {
2413
+ lr_mult: 8.0
2414
+ decay_mult: 0
2415
+ }
2416
+ convolution_param {
2417
+ num_output: 128
2418
+ pad: 0
2419
+ kernel_size: 1
2420
+ weight_filler {
2421
+ type: "gaussian"
2422
+ std: 0.01
2423
+ }
2424
+ bias_filler {
2425
+ type: "constant"
2426
+ }
2427
+ }
2428
+ }
2429
+ layer {
2430
+ name: "Mrelu6_stage5_L1"
2431
+ type: "ReLU"
2432
+ bottom: "Mconv6_stage5_L1"
2433
+ top: "Mconv6_stage5_L1"
2434
+ }
2435
+ layer {
2436
+ name: "Mconv6_stage5_L2"
2437
+ type: "Convolution"
2438
+ bottom: "Mconv5_stage5_L2"
2439
+ top: "Mconv6_stage5_L2"
2440
+ param {
2441
+ lr_mult: 4.0
2442
+ decay_mult: 1
2443
+ }
2444
+ param {
2445
+ lr_mult: 8.0
2446
+ decay_mult: 0
2447
+ }
2448
+ convolution_param {
2449
+ num_output: 128
2450
+ pad: 0
2451
+ kernel_size: 1
2452
+ weight_filler {
2453
+ type: "gaussian"
2454
+ std: 0.01
2455
+ }
2456
+ bias_filler {
2457
+ type: "constant"
2458
+ }
2459
+ }
2460
+ }
2461
+ layer {
2462
+ name: "Mrelu6_stage5_L2"
2463
+ type: "ReLU"
2464
+ bottom: "Mconv6_stage5_L2"
2465
+ top: "Mconv6_stage5_L2"
2466
+ }
2467
+ layer {
2468
+ name: "Mconv7_stage5_L1"
2469
+ type: "Convolution"
2470
+ bottom: "Mconv6_stage5_L1"
2471
+ top: "Mconv7_stage5_L1"
2472
+ param {
2473
+ lr_mult: 4.0
2474
+ decay_mult: 1
2475
+ }
2476
+ param {
2477
+ lr_mult: 8.0
2478
+ decay_mult: 0
2479
+ }
2480
+ convolution_param {
2481
+ num_output: 28
2482
+ pad: 0
2483
+ kernel_size: 1
2484
+ weight_filler {
2485
+ type: "gaussian"
2486
+ std: 0.01
2487
+ }
2488
+ bias_filler {
2489
+ type: "constant"
2490
+ }
2491
+ }
2492
+ }
2493
+ layer {
2494
+ name: "Mconv7_stage5_L2"
2495
+ type: "Convolution"
2496
+ bottom: "Mconv6_stage5_L2"
2497
+ top: "Mconv7_stage5_L2"
2498
+ param {
2499
+ lr_mult: 4.0
2500
+ decay_mult: 1
2501
+ }
2502
+ param {
2503
+ lr_mult: 8.0
2504
+ decay_mult: 0
2505
+ }
2506
+ convolution_param {
2507
+ num_output: 16
2508
+ pad: 0
2509
+ kernel_size: 1
2510
+ weight_filler {
2511
+ type: "gaussian"
2512
+ std: 0.01
2513
+ }
2514
+ bias_filler {
2515
+ type: "constant"
2516
+ }
2517
+ }
2518
+ }
2519
+ layer {
2520
+ name: "concat_stage6"
2521
+ type: "Concat"
2522
+ bottom: "Mconv7_stage5_L1"
2523
+ bottom: "Mconv7_stage5_L2"
2524
+ bottom: "conv4_4_CPM"
2525
+ top: "concat_stage6"
2526
+ concat_param {
2527
+ axis: 1
2528
+ }
2529
+ }
2530
+ layer {
2531
+ name: "Mconv1_stage6_L1"
2532
+ type: "Convolution"
2533
+ bottom: "concat_stage6"
2534
+ top: "Mconv1_stage6_L1"
2535
+ param {
2536
+ lr_mult: 4.0
2537
+ decay_mult: 1
2538
+ }
2539
+ param {
2540
+ lr_mult: 8.0
2541
+ decay_mult: 0
2542
+ }
2543
+ convolution_param {
2544
+ num_output: 128
2545
+ pad: 3
2546
+ kernel_size: 7
2547
+ weight_filler {
2548
+ type: "gaussian"
2549
+ std: 0.01
2550
+ }
2551
+ bias_filler {
2552
+ type: "constant"
2553
+ }
2554
+ }
2555
+ }
2556
+ layer {
2557
+ name: "Mrelu1_stage6_L1"
2558
+ type: "ReLU"
2559
+ bottom: "Mconv1_stage6_L1"
2560
+ top: "Mconv1_stage6_L1"
2561
+ }
2562
+ layer {
2563
+ name: "Mconv1_stage6_L2"
2564
+ type: "Convolution"
2565
+ bottom: "concat_stage6"
2566
+ top: "Mconv1_stage6_L2"
2567
+ param {
2568
+ lr_mult: 4.0
2569
+ decay_mult: 1
2570
+ }
2571
+ param {
2572
+ lr_mult: 8.0
2573
+ decay_mult: 0
2574
+ }
2575
+ convolution_param {
2576
+ num_output: 128
2577
+ pad: 3
2578
+ kernel_size: 7
2579
+ weight_filler {
2580
+ type: "gaussian"
2581
+ std: 0.01
2582
+ }
2583
+ bias_filler {
2584
+ type: "constant"
2585
+ }
2586
+ }
2587
+ }
2588
+ layer {
2589
+ name: "Mrelu1_stage6_L2"
2590
+ type: "ReLU"
2591
+ bottom: "Mconv1_stage6_L2"
2592
+ top: "Mconv1_stage6_L2"
2593
+ }
2594
+ layer {
2595
+ name: "Mconv2_stage6_L1"
2596
+ type: "Convolution"
2597
+ bottom: "Mconv1_stage6_L1"
2598
+ top: "Mconv2_stage6_L1"
2599
+ param {
2600
+ lr_mult: 4.0
2601
+ decay_mult: 1
2602
+ }
2603
+ param {
2604
+ lr_mult: 8.0
2605
+ decay_mult: 0
2606
+ }
2607
+ convolution_param {
2608
+ num_output: 128
2609
+ pad: 3
2610
+ kernel_size: 7
2611
+ weight_filler {
2612
+ type: "gaussian"
2613
+ std: 0.01
2614
+ }
2615
+ bias_filler {
2616
+ type: "constant"
2617
+ }
2618
+ }
2619
+ }
2620
+ layer {
2621
+ name: "Mrelu2_stage6_L1"
2622
+ type: "ReLU"
2623
+ bottom: "Mconv2_stage6_L1"
2624
+ top: "Mconv2_stage6_L1"
2625
+ }
2626
+ layer {
2627
+ name: "Mconv2_stage6_L2"
2628
+ type: "Convolution"
2629
+ bottom: "Mconv1_stage6_L2"
2630
+ top: "Mconv2_stage6_L2"
2631
+ param {
2632
+ lr_mult: 4.0
2633
+ decay_mult: 1
2634
+ }
2635
+ param {
2636
+ lr_mult: 8.0
2637
+ decay_mult: 0
2638
+ }
2639
+ convolution_param {
2640
+ num_output: 128
2641
+ pad: 3
2642
+ kernel_size: 7
2643
+ weight_filler {
2644
+ type: "gaussian"
2645
+ std: 0.01
2646
+ }
2647
+ bias_filler {
2648
+ type: "constant"
2649
+ }
2650
+ }
2651
+ }
2652
+ layer {
2653
+ name: "Mrelu2_stage6_L2"
2654
+ type: "ReLU"
2655
+ bottom: "Mconv2_stage6_L2"
2656
+ top: "Mconv2_stage6_L2"
2657
+ }
2658
+ layer {
2659
+ name: "Mconv3_stage6_L1"
2660
+ type: "Convolution"
2661
+ bottom: "Mconv2_stage6_L1"
2662
+ top: "Mconv3_stage6_L1"
2663
+ param {
2664
+ lr_mult: 4.0
2665
+ decay_mult: 1
2666
+ }
2667
+ param {
2668
+ lr_mult: 8.0
2669
+ decay_mult: 0
2670
+ }
2671
+ convolution_param {
2672
+ num_output: 128
2673
+ pad: 3
2674
+ kernel_size: 7
2675
+ weight_filler {
2676
+ type: "gaussian"
2677
+ std: 0.01
2678
+ }
2679
+ bias_filler {
2680
+ type: "constant"
2681
+ }
2682
+ }
2683
+ }
2684
+ layer {
2685
+ name: "Mrelu3_stage6_L1"
2686
+ type: "ReLU"
2687
+ bottom: "Mconv3_stage6_L1"
2688
+ top: "Mconv3_stage6_L1"
2689
+ }
2690
+ layer {
2691
+ name: "Mconv3_stage6_L2"
2692
+ type: "Convolution"
2693
+ bottom: "Mconv2_stage6_L2"
2694
+ top: "Mconv3_stage6_L2"
2695
+ param {
2696
+ lr_mult: 4.0
2697
+ decay_mult: 1
2698
+ }
2699
+ param {
2700
+ lr_mult: 8.0
2701
+ decay_mult: 0
2702
+ }
2703
+ convolution_param {
2704
+ num_output: 128
2705
+ pad: 3
2706
+ kernel_size: 7
2707
+ weight_filler {
2708
+ type: "gaussian"
2709
+ std: 0.01
2710
+ }
2711
+ bias_filler {
2712
+ type: "constant"
2713
+ }
2714
+ }
2715
+ }
2716
+ layer {
2717
+ name: "Mrelu3_stage6_L2"
2718
+ type: "ReLU"
2719
+ bottom: "Mconv3_stage6_L2"
2720
+ top: "Mconv3_stage6_L2"
2721
+ }
2722
+ layer {
2723
+ name: "Mconv4_stage6_L1"
2724
+ type: "Convolution"
2725
+ bottom: "Mconv3_stage6_L1"
2726
+ top: "Mconv4_stage6_L1"
2727
+ param {
2728
+ lr_mult: 4.0
2729
+ decay_mult: 1
2730
+ }
2731
+ param {
2732
+ lr_mult: 8.0
2733
+ decay_mult: 0
2734
+ }
2735
+ convolution_param {
2736
+ num_output: 128
2737
+ pad: 3
2738
+ kernel_size: 7
2739
+ weight_filler {
2740
+ type: "gaussian"
2741
+ std: 0.01
2742
+ }
2743
+ bias_filler {
2744
+ type: "constant"
2745
+ }
2746
+ }
2747
+ }
2748
+ layer {
2749
+ name: "Mrelu4_stage6_L1"
2750
+ type: "ReLU"
2751
+ bottom: "Mconv4_stage6_L1"
2752
+ top: "Mconv4_stage6_L1"
2753
+ }
2754
+ layer {
2755
+ name: "Mconv4_stage6_L2"
2756
+ type: "Convolution"
2757
+ bottom: "Mconv3_stage6_L2"
2758
+ top: "Mconv4_stage6_L2"
2759
+ param {
2760
+ lr_mult: 4.0
2761
+ decay_mult: 1
2762
+ }
2763
+ param {
2764
+ lr_mult: 8.0
2765
+ decay_mult: 0
2766
+ }
2767
+ convolution_param {
2768
+ num_output: 128
2769
+ pad: 3
2770
+ kernel_size: 7
2771
+ weight_filler {
2772
+ type: "gaussian"
2773
+ std: 0.01
2774
+ }
2775
+ bias_filler {
2776
+ type: "constant"
2777
+ }
2778
+ }
2779
+ }
2780
+ layer {
2781
+ name: "Mrelu4_stage6_L2"
2782
+ type: "ReLU"
2783
+ bottom: "Mconv4_stage6_L2"
2784
+ top: "Mconv4_stage6_L2"
2785
+ }
2786
+ layer {
2787
+ name: "Mconv5_stage6_L1"
2788
+ type: "Convolution"
2789
+ bottom: "Mconv4_stage6_L1"
2790
+ top: "Mconv5_stage6_L1"
2791
+ param {
2792
+ lr_mult: 4.0
2793
+ decay_mult: 1
2794
+ }
2795
+ param {
2796
+ lr_mult: 8.0
2797
+ decay_mult: 0
2798
+ }
2799
+ convolution_param {
2800
+ num_output: 128
2801
+ pad: 3
2802
+ kernel_size: 7
2803
+ weight_filler {
2804
+ type: "gaussian"
2805
+ std: 0.01
2806
+ }
2807
+ bias_filler {
2808
+ type: "constant"
2809
+ }
2810
+ }
2811
+ }
2812
+ layer {
2813
+ name: "Mrelu5_stage6_L1"
2814
+ type: "ReLU"
2815
+ bottom: "Mconv5_stage6_L1"
2816
+ top: "Mconv5_stage6_L1"
2817
+ }
2818
+ layer {
2819
+ name: "Mconv5_stage6_L2"
2820
+ type: "Convolution"
2821
+ bottom: "Mconv4_stage6_L2"
2822
+ top: "Mconv5_stage6_L2"
2823
+ param {
2824
+ lr_mult: 4.0
2825
+ decay_mult: 1
2826
+ }
2827
+ param {
2828
+ lr_mult: 8.0
2829
+ decay_mult: 0
2830
+ }
2831
+ convolution_param {
2832
+ num_output: 128
2833
+ pad: 3
2834
+ kernel_size: 7
2835
+ weight_filler {
2836
+ type: "gaussian"
2837
+ std: 0.01
2838
+ }
2839
+ bias_filler {
2840
+ type: "constant"
2841
+ }
2842
+ }
2843
+ }
2844
+ layer {
2845
+ name: "Mrelu5_stage6_L2"
2846
+ type: "ReLU"
2847
+ bottom: "Mconv5_stage6_L2"
2848
+ top: "Mconv5_stage6_L2"
2849
+ }
2850
+ layer {
2851
+ name: "Mconv6_stage6_L1"
2852
+ type: "Convolution"
2853
+ bottom: "Mconv5_stage6_L1"
2854
+ top: "Mconv6_stage6_L1"
2855
+ param {
2856
+ lr_mult: 4.0
2857
+ decay_mult: 1
2858
+ }
2859
+ param {
2860
+ lr_mult: 8.0
2861
+ decay_mult: 0
2862
+ }
2863
+ convolution_param {
2864
+ num_output: 128
2865
+ pad: 0
2866
+ kernel_size: 1
2867
+ weight_filler {
2868
+ type: "gaussian"
2869
+ std: 0.01
2870
+ }
2871
+ bias_filler {
2872
+ type: "constant"
2873
+ }
2874
+ }
2875
+ }
2876
+ layer {
2877
+ name: "Mrelu6_stage6_L1"
2878
+ type: "ReLU"
2879
+ bottom: "Mconv6_stage6_L1"
2880
+ top: "Mconv6_stage6_L1"
2881
+ }
2882
+ layer {
2883
+ name: "Mconv6_stage6_L2"
2884
+ type: "Convolution"
2885
+ bottom: "Mconv5_stage6_L2"
2886
+ top: "Mconv6_stage6_L2"
2887
+ param {
2888
+ lr_mult: 4.0
2889
+ decay_mult: 1
2890
+ }
2891
+ param {
2892
+ lr_mult: 8.0
2893
+ decay_mult: 0
2894
+ }
2895
+ convolution_param {
2896
+ num_output: 128
2897
+ pad: 0
2898
+ kernel_size: 1
2899
+ weight_filler {
2900
+ type: "gaussian"
2901
+ std: 0.01
2902
+ }
2903
+ bias_filler {
2904
+ type: "constant"
2905
+ }
2906
+ }
2907
+ }
2908
+ layer {
2909
+ name: "Mrelu6_stage6_L2"
2910
+ type: "ReLU"
2911
+ bottom: "Mconv6_stage6_L2"
2912
+ top: "Mconv6_stage6_L2"
2913
+ }
2914
+ layer {
2915
+ name: "Mconv7_stage6_L1"
2916
+ type: "Convolution"
2917
+ bottom: "Mconv6_stage6_L1"
2918
+ top: "Mconv7_stage6_L1"
2919
+ param {
2920
+ lr_mult: 4.0
2921
+ decay_mult: 1
2922
+ }
2923
+ param {
2924
+ lr_mult: 8.0
2925
+ decay_mult: 0
2926
+ }
2927
+ convolution_param {
2928
+ num_output: 28
2929
+ pad: 0
2930
+ kernel_size: 1
2931
+ weight_filler {
2932
+ type: "gaussian"
2933
+ std: 0.01
2934
+ }
2935
+ bias_filler {
2936
+ type: "constant"
2937
+ }
2938
+ }
2939
+ }
2940
+ layer {
2941
+ name: "Mconv7_stage6_L2"
2942
+ type: "Convolution"
2943
+ bottom: "Mconv6_stage6_L2"
2944
+ top: "Mconv7_stage6_L2"
2945
+ param {
2946
+ lr_mult: 4.0
2947
+ decay_mult: 1
2948
+ }
2949
+ param {
2950
+ lr_mult: 8.0
2951
+ decay_mult: 0
2952
+ }
2953
+ convolution_param {
2954
+ num_output: 16
2955
+ pad: 0
2956
+ kernel_size: 1
2957
+ weight_filler {
2958
+ type: "gaussian"
2959
+ std: 0.01
2960
+ }
2961
+ bias_filler {
2962
+ type: "constant"
2963
+ }
2964
+ }
2965
+ }
2966
+ layer {
2967
+ name: "concat_stage7"
2968
+ type: "Concat"
2969
+ bottom: "Mconv7_stage6_L2"
2970
+ bottom: "Mconv7_stage6_L1"
2971
+ top: "net_output"
2972
+ concat_param {
2973
+ axis: 1
2974
+ }
2975
+ }
pose/mpi/pose_deploy_linevec_faster_4_stages.prototxt ADDED
@@ -0,0 +1,2081 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ input: "image"
2
+ input_dim: 1
3
+ input_dim: 3
4
+ input_dim: 1 # This value will be defined at runtime
5
+ input_dim: 1 # This value will be defined at runtime
6
+ layer {
7
+ name: "conv1_1"
8
+ type: "Convolution"
9
+ bottom: "image"
10
+ top: "conv1_1"
11
+ param {
12
+ lr_mult: 1.0
13
+ decay_mult: 1
14
+ }
15
+ param {
16
+ lr_mult: 2.0
17
+ decay_mult: 0
18
+ }
19
+ convolution_param {
20
+ num_output: 64
21
+ pad: 1
22
+ kernel_size: 3
23
+ weight_filler {
24
+ type: "gaussian"
25
+ std: 0.01
26
+ }
27
+ bias_filler {
28
+ type: "constant"
29
+ }
30
+ }
31
+ }
32
+ layer {
33
+ name: "relu1_1"
34
+ type: "ReLU"
35
+ bottom: "conv1_1"
36
+ top: "conv1_1"
37
+ }
38
+ layer {
39
+ name: "conv1_2"
40
+ type: "Convolution"
41
+ bottom: "conv1_1"
42
+ top: "conv1_2"
43
+ param {
44
+ lr_mult: 1.0
45
+ decay_mult: 1
46
+ }
47
+ param {
48
+ lr_mult: 2.0
49
+ decay_mult: 0
50
+ }
51
+ convolution_param {
52
+ num_output: 64
53
+ pad: 1
54
+ kernel_size: 3
55
+ weight_filler {
56
+ type: "gaussian"
57
+ std: 0.01
58
+ }
59
+ bias_filler {
60
+ type: "constant"
61
+ }
62
+ }
63
+ }
64
+ layer {
65
+ name: "relu1_2"
66
+ type: "ReLU"
67
+ bottom: "conv1_2"
68
+ top: "conv1_2"
69
+ }
70
+ layer {
71
+ name: "pool1_stage1"
72
+ type: "Pooling"
73
+ bottom: "conv1_2"
74
+ top: "pool1_stage1"
75
+ pooling_param {
76
+ pool: MAX
77
+ kernel_size: 2
78
+ stride: 2
79
+ }
80
+ }
81
+ layer {
82
+ name: "conv2_1"
83
+ type: "Convolution"
84
+ bottom: "pool1_stage1"
85
+ top: "conv2_1"
86
+ param {
87
+ lr_mult: 1.0
88
+ decay_mult: 1
89
+ }
90
+ param {
91
+ lr_mult: 2.0
92
+ decay_mult: 0
93
+ }
94
+ convolution_param {
95
+ num_output: 128
96
+ pad: 1
97
+ kernel_size: 3
98
+ weight_filler {
99
+ type: "gaussian"
100
+ std: 0.01
101
+ }
102
+ bias_filler {
103
+ type: "constant"
104
+ }
105
+ }
106
+ }
107
+ layer {
108
+ name: "relu2_1"
109
+ type: "ReLU"
110
+ bottom: "conv2_1"
111
+ top: "conv2_1"
112
+ }
113
+ layer {
114
+ name: "conv2_2"
115
+ type: "Convolution"
116
+ bottom: "conv2_1"
117
+ top: "conv2_2"
118
+ param {
119
+ lr_mult: 1.0
120
+ decay_mult: 1
121
+ }
122
+ param {
123
+ lr_mult: 2.0
124
+ decay_mult: 0
125
+ }
126
+ convolution_param {
127
+ num_output: 128
128
+ pad: 1
129
+ kernel_size: 3
130
+ weight_filler {
131
+ type: "gaussian"
132
+ std: 0.01
133
+ }
134
+ bias_filler {
135
+ type: "constant"
136
+ }
137
+ }
138
+ }
139
+ layer {
140
+ name: "relu2_2"
141
+ type: "ReLU"
142
+ bottom: "conv2_2"
143
+ top: "conv2_2"
144
+ }
145
+ layer {
146
+ name: "pool2_stage1"
147
+ type: "Pooling"
148
+ bottom: "conv2_2"
149
+ top: "pool2_stage1"
150
+ pooling_param {
151
+ pool: MAX
152
+ kernel_size: 2
153
+ stride: 2
154
+ }
155
+ }
156
+ layer {
157
+ name: "conv3_1"
158
+ type: "Convolution"
159
+ bottom: "pool2_stage1"
160
+ top: "conv3_1"
161
+ param {
162
+ lr_mult: 1.0
163
+ decay_mult: 1
164
+ }
165
+ param {
166
+ lr_mult: 2.0
167
+ decay_mult: 0
168
+ }
169
+ convolution_param {
170
+ num_output: 256
171
+ pad: 1
172
+ kernel_size: 3
173
+ weight_filler {
174
+ type: "gaussian"
175
+ std: 0.01
176
+ }
177
+ bias_filler {
178
+ type: "constant"
179
+ }
180
+ }
181
+ }
182
+ layer {
183
+ name: "relu3_1"
184
+ type: "ReLU"
185
+ bottom: "conv3_1"
186
+ top: "conv3_1"
187
+ }
188
+ layer {
189
+ name: "conv3_2"
190
+ type: "Convolution"
191
+ bottom: "conv3_1"
192
+ top: "conv3_2"
193
+ param {
194
+ lr_mult: 1.0
195
+ decay_mult: 1
196
+ }
197
+ param {
198
+ lr_mult: 2.0
199
+ decay_mult: 0
200
+ }
201
+ convolution_param {
202
+ num_output: 256
203
+ pad: 1
204
+ kernel_size: 3
205
+ weight_filler {
206
+ type: "gaussian"
207
+ std: 0.01
208
+ }
209
+ bias_filler {
210
+ type: "constant"
211
+ }
212
+ }
213
+ }
214
+ layer {
215
+ name: "relu3_2"
216
+ type: "ReLU"
217
+ bottom: "conv3_2"
218
+ top: "conv3_2"
219
+ }
220
+ layer {
221
+ name: "conv3_3"
222
+ type: "Convolution"
223
+ bottom: "conv3_2"
224
+ top: "conv3_3"
225
+ param {
226
+ lr_mult: 1.0
227
+ decay_mult: 1
228
+ }
229
+ param {
230
+ lr_mult: 2.0
231
+ decay_mult: 0
232
+ }
233
+ convolution_param {
234
+ num_output: 256
235
+ pad: 1
236
+ kernel_size: 3
237
+ weight_filler {
238
+ type: "gaussian"
239
+ std: 0.01
240
+ }
241
+ bias_filler {
242
+ type: "constant"
243
+ }
244
+ }
245
+ }
246
+ layer {
247
+ name: "relu3_3"
248
+ type: "ReLU"
249
+ bottom: "conv3_3"
250
+ top: "conv3_3"
251
+ }
252
+ layer {
253
+ name: "conv3_4"
254
+ type: "Convolution"
255
+ bottom: "conv3_3"
256
+ top: "conv3_4"
257
+ param {
258
+ lr_mult: 1.0
259
+ decay_mult: 1
260
+ }
261
+ param {
262
+ lr_mult: 2.0
263
+ decay_mult: 0
264
+ }
265
+ convolution_param {
266
+ num_output: 256
267
+ pad: 1
268
+ kernel_size: 3
269
+ weight_filler {
270
+ type: "gaussian"
271
+ std: 0.01
272
+ }
273
+ bias_filler {
274
+ type: "constant"
275
+ }
276
+ }
277
+ }
278
+ layer {
279
+ name: "relu3_4"
280
+ type: "ReLU"
281
+ bottom: "conv3_4"
282
+ top: "conv3_4"
283
+ }
284
+ layer {
285
+ name: "pool3_stage1"
286
+ type: "Pooling"
287
+ bottom: "conv3_4"
288
+ top: "pool3_stage1"
289
+ pooling_param {
290
+ pool: MAX
291
+ kernel_size: 2
292
+ stride: 2
293
+ }
294
+ }
295
+ layer {
296
+ name: "conv4_1"
297
+ type: "Convolution"
298
+ bottom: "pool3_stage1"
299
+ top: "conv4_1"
300
+ param {
301
+ lr_mult: 1.0
302
+ decay_mult: 1
303
+ }
304
+ param {
305
+ lr_mult: 2.0
306
+ decay_mult: 0
307
+ }
308
+ convolution_param {
309
+ num_output: 512
310
+ pad: 1
311
+ kernel_size: 3
312
+ weight_filler {
313
+ type: "gaussian"
314
+ std: 0.01
315
+ }
316
+ bias_filler {
317
+ type: "constant"
318
+ }
319
+ }
320
+ }
321
+ layer {
322
+ name: "relu4_1"
323
+ type: "ReLU"
324
+ bottom: "conv4_1"
325
+ top: "conv4_1"
326
+ }
327
+ layer {
328
+ name: "conv4_2"
329
+ type: "Convolution"
330
+ bottom: "conv4_1"
331
+ top: "conv4_2"
332
+ param {
333
+ lr_mult: 1.0
334
+ decay_mult: 1
335
+ }
336
+ param {
337
+ lr_mult: 2.0
338
+ decay_mult: 0
339
+ }
340
+ convolution_param {
341
+ num_output: 512
342
+ pad: 1
343
+ kernel_size: 3
344
+ weight_filler {
345
+ type: "gaussian"
346
+ std: 0.01
347
+ }
348
+ bias_filler {
349
+ type: "constant"
350
+ }
351
+ }
352
+ }
353
+ layer {
354
+ name: "relu4_2"
355
+ type: "ReLU"
356
+ bottom: "conv4_2"
357
+ top: "conv4_2"
358
+ }
359
+ layer {
360
+ name: "conv4_3_CPM"
361
+ type: "Convolution"
362
+ bottom: "conv4_2"
363
+ top: "conv4_3_CPM"
364
+ param {
365
+ lr_mult: 1.0
366
+ decay_mult: 1
367
+ }
368
+ param {
369
+ lr_mult: 2.0
370
+ decay_mult: 0
371
+ }
372
+ convolution_param {
373
+ num_output: 256
374
+ pad: 1
375
+ kernel_size: 3
376
+ weight_filler {
377
+ type: "gaussian"
378
+ std: 0.01
379
+ }
380
+ bias_filler {
381
+ type: "constant"
382
+ }
383
+ }
384
+ }
385
+ layer {
386
+ name: "relu4_3_CPM"
387
+ type: "ReLU"
388
+ bottom: "conv4_3_CPM"
389
+ top: "conv4_3_CPM"
390
+ }
391
+ layer {
392
+ name: "conv4_4_CPM"
393
+ type: "Convolution"
394
+ bottom: "conv4_3_CPM"
395
+ top: "conv4_4_CPM"
396
+ param {
397
+ lr_mult: 1.0
398
+ decay_mult: 1
399
+ }
400
+ param {
401
+ lr_mult: 2.0
402
+ decay_mult: 0
403
+ }
404
+ convolution_param {
405
+ num_output: 128
406
+ pad: 1
407
+ kernel_size: 3
408
+ weight_filler {
409
+ type: "gaussian"
410
+ std: 0.01
411
+ }
412
+ bias_filler {
413
+ type: "constant"
414
+ }
415
+ }
416
+ }
417
+ layer {
418
+ name: "relu4_4_CPM"
419
+ type: "ReLU"
420
+ bottom: "conv4_4_CPM"
421
+ top: "conv4_4_CPM"
422
+ }
423
+ layer {
424
+ name: "conv5_1_CPM_L1"
425
+ type: "Convolution"
426
+ bottom: "conv4_4_CPM"
427
+ top: "conv5_1_CPM_L1"
428
+ param {
429
+ lr_mult: 1.0
430
+ decay_mult: 1
431
+ }
432
+ param {
433
+ lr_mult: 2.0
434
+ decay_mult: 0
435
+ }
436
+ convolution_param {
437
+ num_output: 128
438
+ pad: 1
439
+ kernel_size: 3
440
+ weight_filler {
441
+ type: "gaussian"
442
+ std: 0.01
443
+ }
444
+ bias_filler {
445
+ type: "constant"
446
+ }
447
+ }
448
+ }
449
+ layer {
450
+ name: "relu5_1_CPM_L1"
451
+ type: "ReLU"
452
+ bottom: "conv5_1_CPM_L1"
453
+ top: "conv5_1_CPM_L1"
454
+ }
455
+ layer {
456
+ name: "conv5_1_CPM_L2"
457
+ type: "Convolution"
458
+ bottom: "conv4_4_CPM"
459
+ top: "conv5_1_CPM_L2"
460
+ param {
461
+ lr_mult: 1.0
462
+ decay_mult: 1
463
+ }
464
+ param {
465
+ lr_mult: 2.0
466
+ decay_mult: 0
467
+ }
468
+ convolution_param {
469
+ num_output: 128
470
+ pad: 1
471
+ kernel_size: 3
472
+ weight_filler {
473
+ type: "gaussian"
474
+ std: 0.01
475
+ }
476
+ bias_filler {
477
+ type: "constant"
478
+ }
479
+ }
480
+ }
481
+ layer {
482
+ name: "relu5_1_CPM_L2"
483
+ type: "ReLU"
484
+ bottom: "conv5_1_CPM_L2"
485
+ top: "conv5_1_CPM_L2"
486
+ }
487
+ layer {
488
+ name: "conv5_2_CPM_L1"
489
+ type: "Convolution"
490
+ bottom: "conv5_1_CPM_L1"
491
+ top: "conv5_2_CPM_L1"
492
+ param {
493
+ lr_mult: 1.0
494
+ decay_mult: 1
495
+ }
496
+ param {
497
+ lr_mult: 2.0
498
+ decay_mult: 0
499
+ }
500
+ convolution_param {
501
+ num_output: 128
502
+ pad: 1
503
+ kernel_size: 3
504
+ weight_filler {
505
+ type: "gaussian"
506
+ std: 0.01
507
+ }
508
+ bias_filler {
509
+ type: "constant"
510
+ }
511
+ }
512
+ }
513
+ layer {
514
+ name: "relu5_2_CPM_L1"
515
+ type: "ReLU"
516
+ bottom: "conv5_2_CPM_L1"
517
+ top: "conv5_2_CPM_L1"
518
+ }
519
+ layer {
520
+ name: "conv5_2_CPM_L2"
521
+ type: "Convolution"
522
+ bottom: "conv5_1_CPM_L2"
523
+ top: "conv5_2_CPM_L2"
524
+ param {
525
+ lr_mult: 1.0
526
+ decay_mult: 1
527
+ }
528
+ param {
529
+ lr_mult: 2.0
530
+ decay_mult: 0
531
+ }
532
+ convolution_param {
533
+ num_output: 128
534
+ pad: 1
535
+ kernel_size: 3
536
+ weight_filler {
537
+ type: "gaussian"
538
+ std: 0.01
539
+ }
540
+ bias_filler {
541
+ type: "constant"
542
+ }
543
+ }
544
+ }
545
+ layer {
546
+ name: "relu5_2_CPM_L2"
547
+ type: "ReLU"
548
+ bottom: "conv5_2_CPM_L2"
549
+ top: "conv5_2_CPM_L2"
550
+ }
551
+ layer {
552
+ name: "conv5_3_CPM_L1"
553
+ type: "Convolution"
554
+ bottom: "conv5_2_CPM_L1"
555
+ top: "conv5_3_CPM_L1"
556
+ param {
557
+ lr_mult: 1.0
558
+ decay_mult: 1
559
+ }
560
+ param {
561
+ lr_mult: 2.0
562
+ decay_mult: 0
563
+ }
564
+ convolution_param {
565
+ num_output: 128
566
+ pad: 1
567
+ kernel_size: 3
568
+ weight_filler {
569
+ type: "gaussian"
570
+ std: 0.01
571
+ }
572
+ bias_filler {
573
+ type: "constant"
574
+ }
575
+ }
576
+ }
577
+ layer {
578
+ name: "relu5_3_CPM_L1"
579
+ type: "ReLU"
580
+ bottom: "conv5_3_CPM_L1"
581
+ top: "conv5_3_CPM_L1"
582
+ }
583
+ layer {
584
+ name: "conv5_3_CPM_L2"
585
+ type: "Convolution"
586
+ bottom: "conv5_2_CPM_L2"
587
+ top: "conv5_3_CPM_L2"
588
+ param {
589
+ lr_mult: 1.0
590
+ decay_mult: 1
591
+ }
592
+ param {
593
+ lr_mult: 2.0
594
+ decay_mult: 0
595
+ }
596
+ convolution_param {
597
+ num_output: 128
598
+ pad: 1
599
+ kernel_size: 3
600
+ weight_filler {
601
+ type: "gaussian"
602
+ std: 0.01
603
+ }
604
+ bias_filler {
605
+ type: "constant"
606
+ }
607
+ }
608
+ }
609
+ layer {
610
+ name: "relu5_3_CPM_L2"
611
+ type: "ReLU"
612
+ bottom: "conv5_3_CPM_L2"
613
+ top: "conv5_3_CPM_L2"
614
+ }
615
+ layer {
616
+ name: "conv5_4_CPM_L1"
617
+ type: "Convolution"
618
+ bottom: "conv5_3_CPM_L1"
619
+ top: "conv5_4_CPM_L1"
620
+ param {
621
+ lr_mult: 1.0
622
+ decay_mult: 1
623
+ }
624
+ param {
625
+ lr_mult: 2.0
626
+ decay_mult: 0
627
+ }
628
+ convolution_param {
629
+ num_output: 512
630
+ pad: 0
631
+ kernel_size: 1
632
+ weight_filler {
633
+ type: "gaussian"
634
+ std: 0.01
635
+ }
636
+ bias_filler {
637
+ type: "constant"
638
+ }
639
+ }
640
+ }
641
+ layer {
642
+ name: "relu5_4_CPM_L1"
643
+ type: "ReLU"
644
+ bottom: "conv5_4_CPM_L1"
645
+ top: "conv5_4_CPM_L1"
646
+ }
647
+ layer {
648
+ name: "conv5_4_CPM_L2"
649
+ type: "Convolution"
650
+ bottom: "conv5_3_CPM_L2"
651
+ top: "conv5_4_CPM_L2"
652
+ param {
653
+ lr_mult: 1.0
654
+ decay_mult: 1
655
+ }
656
+ param {
657
+ lr_mult: 2.0
658
+ decay_mult: 0
659
+ }
660
+ convolution_param {
661
+ num_output: 512
662
+ pad: 0
663
+ kernel_size: 1
664
+ weight_filler {
665
+ type: "gaussian"
666
+ std: 0.01
667
+ }
668
+ bias_filler {
669
+ type: "constant"
670
+ }
671
+ }
672
+ }
673
+ layer {
674
+ name: "relu5_4_CPM_L2"
675
+ type: "ReLU"
676
+ bottom: "conv5_4_CPM_L2"
677
+ top: "conv5_4_CPM_L2"
678
+ }
679
+ layer {
680
+ name: "conv5_5_CPM_L1"
681
+ type: "Convolution"
682
+ bottom: "conv5_4_CPM_L1"
683
+ top: "conv5_5_CPM_L1"
684
+ param {
685
+ lr_mult: 1.0
686
+ decay_mult: 1
687
+ }
688
+ param {
689
+ lr_mult: 2.0
690
+ decay_mult: 0
691
+ }
692
+ convolution_param {
693
+ num_output: 28
694
+ pad: 0
695
+ kernel_size: 1
696
+ weight_filler {
697
+ type: "gaussian"
698
+ std: 0.01
699
+ }
700
+ bias_filler {
701
+ type: "constant"
702
+ }
703
+ }
704
+ }
705
+ layer {
706
+ name: "conv5_5_CPM_L2"
707
+ type: "Convolution"
708
+ bottom: "conv5_4_CPM_L2"
709
+ top: "conv5_5_CPM_L2"
710
+ param {
711
+ lr_mult: 1.0
712
+ decay_mult: 1
713
+ }
714
+ param {
715
+ lr_mult: 2.0
716
+ decay_mult: 0
717
+ }
718
+ convolution_param {
719
+ num_output: 16
720
+ pad: 0
721
+ kernel_size: 1
722
+ weight_filler {
723
+ type: "gaussian"
724
+ std: 0.01
725
+ }
726
+ bias_filler {
727
+ type: "constant"
728
+ }
729
+ }
730
+ }
731
+ layer {
732
+ name: "concat_stage2"
733
+ type: "Concat"
734
+ bottom: "conv5_5_CPM_L1"
735
+ bottom: "conv5_5_CPM_L2"
736
+ bottom: "conv4_4_CPM"
737
+ top: "concat_stage2"
738
+ concat_param {
739
+ axis: 1
740
+ }
741
+ }
742
+ layer {
743
+ name: "Mconv1_stage2_L1"
744
+ type: "Convolution"
745
+ bottom: "concat_stage2"
746
+ top: "Mconv1_stage2_L1"
747
+ param {
748
+ lr_mult: 4.0
749
+ decay_mult: 1
750
+ }
751
+ param {
752
+ lr_mult: 8.0
753
+ decay_mult: 0
754
+ }
755
+ convolution_param {
756
+ num_output: 128
757
+ pad: 3
758
+ kernel_size: 7
759
+ weight_filler {
760
+ type: "gaussian"
761
+ std: 0.01
762
+ }
763
+ bias_filler {
764
+ type: "constant"
765
+ }
766
+ }
767
+ }
768
+ layer {
769
+ name: "Mrelu1_stage2_L1"
770
+ type: "ReLU"
771
+ bottom: "Mconv1_stage2_L1"
772
+ top: "Mconv1_stage2_L1"
773
+ }
774
+ layer {
775
+ name: "Mconv1_stage2_L2"
776
+ type: "Convolution"
777
+ bottom: "concat_stage2"
778
+ top: "Mconv1_stage2_L2"
779
+ param {
780
+ lr_mult: 4.0
781
+ decay_mult: 1
782
+ }
783
+ param {
784
+ lr_mult: 8.0
785
+ decay_mult: 0
786
+ }
787
+ convolution_param {
788
+ num_output: 128
789
+ pad: 3
790
+ kernel_size: 7
791
+ weight_filler {
792
+ type: "gaussian"
793
+ std: 0.01
794
+ }
795
+ bias_filler {
796
+ type: "constant"
797
+ }
798
+ }
799
+ }
800
+ layer {
801
+ name: "Mrelu1_stage2_L2"
802
+ type: "ReLU"
803
+ bottom: "Mconv1_stage2_L2"
804
+ top: "Mconv1_stage2_L2"
805
+ }
806
+ layer {
807
+ name: "Mconv2_stage2_L1"
808
+ type: "Convolution"
809
+ bottom: "Mconv1_stage2_L1"
810
+ top: "Mconv2_stage2_L1"
811
+ param {
812
+ lr_mult: 4.0
813
+ decay_mult: 1
814
+ }
815
+ param {
816
+ lr_mult: 8.0
817
+ decay_mult: 0
818
+ }
819
+ convolution_param {
820
+ num_output: 128
821
+ pad: 3
822
+ kernel_size: 7
823
+ weight_filler {
824
+ type: "gaussian"
825
+ std: 0.01
826
+ }
827
+ bias_filler {
828
+ type: "constant"
829
+ }
830
+ }
831
+ }
832
+ layer {
833
+ name: "Mrelu2_stage2_L1"
834
+ type: "ReLU"
835
+ bottom: "Mconv2_stage2_L1"
836
+ top: "Mconv2_stage2_L1"
837
+ }
838
+ layer {
839
+ name: "Mconv2_stage2_L2"
840
+ type: "Convolution"
841
+ bottom: "Mconv1_stage2_L2"
842
+ top: "Mconv2_stage2_L2"
843
+ param {
844
+ lr_mult: 4.0
845
+ decay_mult: 1
846
+ }
847
+ param {
848
+ lr_mult: 8.0
849
+ decay_mult: 0
850
+ }
851
+ convolution_param {
852
+ num_output: 128
853
+ pad: 3
854
+ kernel_size: 7
855
+ weight_filler {
856
+ type: "gaussian"
857
+ std: 0.01
858
+ }
859
+ bias_filler {
860
+ type: "constant"
861
+ }
862
+ }
863
+ }
864
+ layer {
865
+ name: "Mrelu2_stage2_L2"
866
+ type: "ReLU"
867
+ bottom: "Mconv2_stage2_L2"
868
+ top: "Mconv2_stage2_L2"
869
+ }
870
+ layer {
871
+ name: "Mconv3_stage2_L1"
872
+ type: "Convolution"
873
+ bottom: "Mconv2_stage2_L1"
874
+ top: "Mconv3_stage2_L1"
875
+ param {
876
+ lr_mult: 4.0
877
+ decay_mult: 1
878
+ }
879
+ param {
880
+ lr_mult: 8.0
881
+ decay_mult: 0
882
+ }
883
+ convolution_param {
884
+ num_output: 128
885
+ pad: 3
886
+ kernel_size: 7
887
+ weight_filler {
888
+ type: "gaussian"
889
+ std: 0.01
890
+ }
891
+ bias_filler {
892
+ type: "constant"
893
+ }
894
+ }
895
+ }
896
+ layer {
897
+ name: "Mrelu3_stage2_L1"
898
+ type: "ReLU"
899
+ bottom: "Mconv3_stage2_L1"
900
+ top: "Mconv3_stage2_L1"
901
+ }
902
+ layer {
903
+ name: "Mconv3_stage2_L2"
904
+ type: "Convolution"
905
+ bottom: "Mconv2_stage2_L2"
906
+ top: "Mconv3_stage2_L2"
907
+ param {
908
+ lr_mult: 4.0
909
+ decay_mult: 1
910
+ }
911
+ param {
912
+ lr_mult: 8.0
913
+ decay_mult: 0
914
+ }
915
+ convolution_param {
916
+ num_output: 128
917
+ pad: 3
918
+ kernel_size: 7
919
+ weight_filler {
920
+ type: "gaussian"
921
+ std: 0.01
922
+ }
923
+ bias_filler {
924
+ type: "constant"
925
+ }
926
+ }
927
+ }
928
+ layer {
929
+ name: "Mrelu3_stage2_L2"
930
+ type: "ReLU"
931
+ bottom: "Mconv3_stage2_L2"
932
+ top: "Mconv3_stage2_L2"
933
+ }
934
+ layer {
935
+ name: "Mconv4_stage2_L1"
936
+ type: "Convolution"
937
+ bottom: "Mconv3_stage2_L1"
938
+ top: "Mconv4_stage2_L1"
939
+ param {
940
+ lr_mult: 4.0
941
+ decay_mult: 1
942
+ }
943
+ param {
944
+ lr_mult: 8.0
945
+ decay_mult: 0
946
+ }
947
+ convolution_param {
948
+ num_output: 128
949
+ pad: 3
950
+ kernel_size: 7
951
+ weight_filler {
952
+ type: "gaussian"
953
+ std: 0.01
954
+ }
955
+ bias_filler {
956
+ type: "constant"
957
+ }
958
+ }
959
+ }
960
+ layer {
961
+ name: "Mrelu4_stage2_L1"
962
+ type: "ReLU"
963
+ bottom: "Mconv4_stage2_L1"
964
+ top: "Mconv4_stage2_L1"
965
+ }
966
+ layer {
967
+ name: "Mconv4_stage2_L2"
968
+ type: "Convolution"
969
+ bottom: "Mconv3_stage2_L2"
970
+ top: "Mconv4_stage2_L2"
971
+ param {
972
+ lr_mult: 4.0
973
+ decay_mult: 1
974
+ }
975
+ param {
976
+ lr_mult: 8.0
977
+ decay_mult: 0
978
+ }
979
+ convolution_param {
980
+ num_output: 128
981
+ pad: 3
982
+ kernel_size: 7
983
+ weight_filler {
984
+ type: "gaussian"
985
+ std: 0.01
986
+ }
987
+ bias_filler {
988
+ type: "constant"
989
+ }
990
+ }
991
+ }
992
+ layer {
993
+ name: "Mrelu4_stage2_L2"
994
+ type: "ReLU"
995
+ bottom: "Mconv4_stage2_L2"
996
+ top: "Mconv4_stage2_L2"
997
+ }
998
+ layer {
999
+ name: "Mconv5_stage2_L1"
1000
+ type: "Convolution"
1001
+ bottom: "Mconv4_stage2_L1"
1002
+ top: "Mconv5_stage2_L1"
1003
+ param {
1004
+ lr_mult: 4.0
1005
+ decay_mult: 1
1006
+ }
1007
+ param {
1008
+ lr_mult: 8.0
1009
+ decay_mult: 0
1010
+ }
1011
+ convolution_param {
1012
+ num_output: 128
1013
+ pad: 3
1014
+ kernel_size: 7
1015
+ weight_filler {
1016
+ type: "gaussian"
1017
+ std: 0.01
1018
+ }
1019
+ bias_filler {
1020
+ type: "constant"
1021
+ }
1022
+ }
1023
+ }
1024
+ layer {
1025
+ name: "Mrelu5_stage2_L1"
1026
+ type: "ReLU"
1027
+ bottom: "Mconv5_stage2_L1"
1028
+ top: "Mconv5_stage2_L1"
1029
+ }
1030
+ layer {
1031
+ name: "Mconv5_stage2_L2"
1032
+ type: "Convolution"
1033
+ bottom: "Mconv4_stage2_L2"
1034
+ top: "Mconv5_stage2_L2"
1035
+ param {
1036
+ lr_mult: 4.0
1037
+ decay_mult: 1
1038
+ }
1039
+ param {
1040
+ lr_mult: 8.0
1041
+ decay_mult: 0
1042
+ }
1043
+ convolution_param {
1044
+ num_output: 128
1045
+ pad: 3
1046
+ kernel_size: 7
1047
+ weight_filler {
1048
+ type: "gaussian"
1049
+ std: 0.01
1050
+ }
1051
+ bias_filler {
1052
+ type: "constant"
1053
+ }
1054
+ }
1055
+ }
1056
+ layer {
1057
+ name: "Mrelu5_stage2_L2"
1058
+ type: "ReLU"
1059
+ bottom: "Mconv5_stage2_L2"
1060
+ top: "Mconv5_stage2_L2"
1061
+ }
1062
+ layer {
1063
+ name: "Mconv6_stage2_L1"
1064
+ type: "Convolution"
1065
+ bottom: "Mconv5_stage2_L1"
1066
+ top: "Mconv6_stage2_L1"
1067
+ param {
1068
+ lr_mult: 4.0
1069
+ decay_mult: 1
1070
+ }
1071
+ param {
1072
+ lr_mult: 8.0
1073
+ decay_mult: 0
1074
+ }
1075
+ convolution_param {
1076
+ num_output: 128
1077
+ pad: 0
1078
+ kernel_size: 1
1079
+ weight_filler {
1080
+ type: "gaussian"
1081
+ std: 0.01
1082
+ }
1083
+ bias_filler {
1084
+ type: "constant"
1085
+ }
1086
+ }
1087
+ }
1088
+ layer {
1089
+ name: "Mrelu6_stage2_L1"
1090
+ type: "ReLU"
1091
+ bottom: "Mconv6_stage2_L1"
1092
+ top: "Mconv6_stage2_L1"
1093
+ }
1094
+ layer {
1095
+ name: "Mconv6_stage2_L2"
1096
+ type: "Convolution"
1097
+ bottom: "Mconv5_stage2_L2"
1098
+ top: "Mconv6_stage2_L2"
1099
+ param {
1100
+ lr_mult: 4.0
1101
+ decay_mult: 1
1102
+ }
1103
+ param {
1104
+ lr_mult: 8.0
1105
+ decay_mult: 0
1106
+ }
1107
+ convolution_param {
1108
+ num_output: 128
1109
+ pad: 0
1110
+ kernel_size: 1
1111
+ weight_filler {
1112
+ type: "gaussian"
1113
+ std: 0.01
1114
+ }
1115
+ bias_filler {
1116
+ type: "constant"
1117
+ }
1118
+ }
1119
+ }
1120
+ layer {
1121
+ name: "Mrelu6_stage2_L2"
1122
+ type: "ReLU"
1123
+ bottom: "Mconv6_stage2_L2"
1124
+ top: "Mconv6_stage2_L2"
1125
+ }
1126
+ layer {
1127
+ name: "Mconv7_stage2_L1"
1128
+ type: "Convolution"
1129
+ bottom: "Mconv6_stage2_L1"
1130
+ top: "Mconv7_stage2_L1"
1131
+ param {
1132
+ lr_mult: 4.0
1133
+ decay_mult: 1
1134
+ }
1135
+ param {
1136
+ lr_mult: 8.0
1137
+ decay_mult: 0
1138
+ }
1139
+ convolution_param {
1140
+ num_output: 28
1141
+ pad: 0
1142
+ kernel_size: 1
1143
+ weight_filler {
1144
+ type: "gaussian"
1145
+ std: 0.01
1146
+ }
1147
+ bias_filler {
1148
+ type: "constant"
1149
+ }
1150
+ }
1151
+ }
1152
+ layer {
1153
+ name: "Mconv7_stage2_L2"
1154
+ type: "Convolution"
1155
+ bottom: "Mconv6_stage2_L2"
1156
+ top: "Mconv7_stage2_L2"
1157
+ param {
1158
+ lr_mult: 4.0
1159
+ decay_mult: 1
1160
+ }
1161
+ param {
1162
+ lr_mult: 8.0
1163
+ decay_mult: 0
1164
+ }
1165
+ convolution_param {
1166
+ num_output: 16
1167
+ pad: 0
1168
+ kernel_size: 1
1169
+ weight_filler {
1170
+ type: "gaussian"
1171
+ std: 0.01
1172
+ }
1173
+ bias_filler {
1174
+ type: "constant"
1175
+ }
1176
+ }
1177
+ }
1178
+ layer {
1179
+ name: "concat_stage3"
1180
+ type: "Concat"
1181
+ bottom: "Mconv7_stage2_L1"
1182
+ bottom: "Mconv7_stage2_L2"
1183
+ bottom: "conv4_4_CPM"
1184
+ top: "concat_stage3"
1185
+ concat_param {
1186
+ axis: 1
1187
+ }
1188
+ }
1189
+ layer {
1190
+ name: "Mconv1_stage3_L1"
1191
+ type: "Convolution"
1192
+ bottom: "concat_stage3"
1193
+ top: "Mconv1_stage3_L1"
1194
+ param {
1195
+ lr_mult: 4.0
1196
+ decay_mult: 1
1197
+ }
1198
+ param {
1199
+ lr_mult: 8.0
1200
+ decay_mult: 0
1201
+ }
1202
+ convolution_param {
1203
+ num_output: 128
1204
+ pad: 3
1205
+ kernel_size: 7
1206
+ weight_filler {
1207
+ type: "gaussian"
1208
+ std: 0.01
1209
+ }
1210
+ bias_filler {
1211
+ type: "constant"
1212
+ }
1213
+ }
1214
+ }
1215
+ layer {
1216
+ name: "Mrelu1_stage3_L1"
1217
+ type: "ReLU"
1218
+ bottom: "Mconv1_stage3_L1"
1219
+ top: "Mconv1_stage3_L1"
1220
+ }
1221
+ layer {
1222
+ name: "Mconv1_stage3_L2"
1223
+ type: "Convolution"
1224
+ bottom: "concat_stage3"
1225
+ top: "Mconv1_stage3_L2"
1226
+ param {
1227
+ lr_mult: 4.0
1228
+ decay_mult: 1
1229
+ }
1230
+ param {
1231
+ lr_mult: 8.0
1232
+ decay_mult: 0
1233
+ }
1234
+ convolution_param {
1235
+ num_output: 128
1236
+ pad: 3
1237
+ kernel_size: 7
1238
+ weight_filler {
1239
+ type: "gaussian"
1240
+ std: 0.01
1241
+ }
1242
+ bias_filler {
1243
+ type: "constant"
1244
+ }
1245
+ }
1246
+ }
1247
+ layer {
1248
+ name: "Mrelu1_stage3_L2"
1249
+ type: "ReLU"
1250
+ bottom: "Mconv1_stage3_L2"
1251
+ top: "Mconv1_stage3_L2"
1252
+ }
1253
+ layer {
1254
+ name: "Mconv2_stage3_L1"
1255
+ type: "Convolution"
1256
+ bottom: "Mconv1_stage3_L1"
1257
+ top: "Mconv2_stage3_L1"
1258
+ param {
1259
+ lr_mult: 4.0
1260
+ decay_mult: 1
1261
+ }
1262
+ param {
1263
+ lr_mult: 8.0
1264
+ decay_mult: 0
1265
+ }
1266
+ convolution_param {
1267
+ num_output: 128
1268
+ pad: 3
1269
+ kernel_size: 7
1270
+ weight_filler {
1271
+ type: "gaussian"
1272
+ std: 0.01
1273
+ }
1274
+ bias_filler {
1275
+ type: "constant"
1276
+ }
1277
+ }
1278
+ }
1279
+ layer {
1280
+ name: "Mrelu2_stage3_L1"
1281
+ type: "ReLU"
1282
+ bottom: "Mconv2_stage3_L1"
1283
+ top: "Mconv2_stage3_L1"
1284
+ }
1285
+ layer {
1286
+ name: "Mconv2_stage3_L2"
1287
+ type: "Convolution"
1288
+ bottom: "Mconv1_stage3_L2"
1289
+ top: "Mconv2_stage3_L2"
1290
+ param {
1291
+ lr_mult: 4.0
1292
+ decay_mult: 1
1293
+ }
1294
+ param {
1295
+ lr_mult: 8.0
1296
+ decay_mult: 0
1297
+ }
1298
+ convolution_param {
1299
+ num_output: 128
1300
+ pad: 3
1301
+ kernel_size: 7
1302
+ weight_filler {
1303
+ type: "gaussian"
1304
+ std: 0.01
1305
+ }
1306
+ bias_filler {
1307
+ type: "constant"
1308
+ }
1309
+ }
1310
+ }
1311
+ layer {
1312
+ name: "Mrelu2_stage3_L2"
1313
+ type: "ReLU"
1314
+ bottom: "Mconv2_stage3_L2"
1315
+ top: "Mconv2_stage3_L2"
1316
+ }
1317
+ layer {
1318
+ name: "Mconv3_stage3_L1"
1319
+ type: "Convolution"
1320
+ bottom: "Mconv2_stage3_L1"
1321
+ top: "Mconv3_stage3_L1"
1322
+ param {
1323
+ lr_mult: 4.0
1324
+ decay_mult: 1
1325
+ }
1326
+ param {
1327
+ lr_mult: 8.0
1328
+ decay_mult: 0
1329
+ }
1330
+ convolution_param {
1331
+ num_output: 128
1332
+ pad: 3
1333
+ kernel_size: 7
1334
+ weight_filler {
1335
+ type: "gaussian"
1336
+ std: 0.01
1337
+ }
1338
+ bias_filler {
1339
+ type: "constant"
1340
+ }
1341
+ }
1342
+ }
1343
+ layer {
1344
+ name: "Mrelu3_stage3_L1"
1345
+ type: "ReLU"
1346
+ bottom: "Mconv3_stage3_L1"
1347
+ top: "Mconv3_stage3_L1"
1348
+ }
1349
+ layer {
1350
+ name: "Mconv3_stage3_L2"
1351
+ type: "Convolution"
1352
+ bottom: "Mconv2_stage3_L2"
1353
+ top: "Mconv3_stage3_L2"
1354
+ param {
1355
+ lr_mult: 4.0
1356
+ decay_mult: 1
1357
+ }
1358
+ param {
1359
+ lr_mult: 8.0
1360
+ decay_mult: 0
1361
+ }
1362
+ convolution_param {
1363
+ num_output: 128
1364
+ pad: 3
1365
+ kernel_size: 7
1366
+ weight_filler {
1367
+ type: "gaussian"
1368
+ std: 0.01
1369
+ }
1370
+ bias_filler {
1371
+ type: "constant"
1372
+ }
1373
+ }
1374
+ }
1375
+ layer {
1376
+ name: "Mrelu3_stage3_L2"
1377
+ type: "ReLU"
1378
+ bottom: "Mconv3_stage3_L2"
1379
+ top: "Mconv3_stage3_L2"
1380
+ }
1381
+ layer {
1382
+ name: "Mconv4_stage3_L1"
1383
+ type: "Convolution"
1384
+ bottom: "Mconv3_stage3_L1"
1385
+ top: "Mconv4_stage3_L1"
1386
+ param {
1387
+ lr_mult: 4.0
1388
+ decay_mult: 1
1389
+ }
1390
+ param {
1391
+ lr_mult: 8.0
1392
+ decay_mult: 0
1393
+ }
1394
+ convolution_param {
1395
+ num_output: 128
1396
+ pad: 3
1397
+ kernel_size: 7
1398
+ weight_filler {
1399
+ type: "gaussian"
1400
+ std: 0.01
1401
+ }
1402
+ bias_filler {
1403
+ type: "constant"
1404
+ }
1405
+ }
1406
+ }
1407
+ layer {
1408
+ name: "Mrelu4_stage3_L1"
1409
+ type: "ReLU"
1410
+ bottom: "Mconv4_stage3_L1"
1411
+ top: "Mconv4_stage3_L1"
1412
+ }
1413
+ layer {
1414
+ name: "Mconv4_stage3_L2"
1415
+ type: "Convolution"
1416
+ bottom: "Mconv3_stage3_L2"
1417
+ top: "Mconv4_stage3_L2"
1418
+ param {
1419
+ lr_mult: 4.0
1420
+ decay_mult: 1
1421
+ }
1422
+ param {
1423
+ lr_mult: 8.0
1424
+ decay_mult: 0
1425
+ }
1426
+ convolution_param {
1427
+ num_output: 128
1428
+ pad: 3
1429
+ kernel_size: 7
1430
+ weight_filler {
1431
+ type: "gaussian"
1432
+ std: 0.01
1433
+ }
1434
+ bias_filler {
1435
+ type: "constant"
1436
+ }
1437
+ }
1438
+ }
1439
+ layer {
1440
+ name: "Mrelu4_stage3_L2"
1441
+ type: "ReLU"
1442
+ bottom: "Mconv4_stage3_L2"
1443
+ top: "Mconv4_stage3_L2"
1444
+ }
1445
+ layer {
1446
+ name: "Mconv5_stage3_L1"
1447
+ type: "Convolution"
1448
+ bottom: "Mconv4_stage3_L1"
1449
+ top: "Mconv5_stage3_L1"
1450
+ param {
1451
+ lr_mult: 4.0
1452
+ decay_mult: 1
1453
+ }
1454
+ param {
1455
+ lr_mult: 8.0
1456
+ decay_mult: 0
1457
+ }
1458
+ convolution_param {
1459
+ num_output: 128
1460
+ pad: 3
1461
+ kernel_size: 7
1462
+ weight_filler {
1463
+ type: "gaussian"
1464
+ std: 0.01
1465
+ }
1466
+ bias_filler {
1467
+ type: "constant"
1468
+ }
1469
+ }
1470
+ }
1471
+ layer {
1472
+ name: "Mrelu5_stage3_L1"
1473
+ type: "ReLU"
1474
+ bottom: "Mconv5_stage3_L1"
1475
+ top: "Mconv5_stage3_L1"
1476
+ }
1477
+ layer {
1478
+ name: "Mconv5_stage3_L2"
1479
+ type: "Convolution"
1480
+ bottom: "Mconv4_stage3_L2"
1481
+ top: "Mconv5_stage3_L2"
1482
+ param {
1483
+ lr_mult: 4.0
1484
+ decay_mult: 1
1485
+ }
1486
+ param {
1487
+ lr_mult: 8.0
1488
+ decay_mult: 0
1489
+ }
1490
+ convolution_param {
1491
+ num_output: 128
1492
+ pad: 3
1493
+ kernel_size: 7
1494
+ weight_filler {
1495
+ type: "gaussian"
1496
+ std: 0.01
1497
+ }
1498
+ bias_filler {
1499
+ type: "constant"
1500
+ }
1501
+ }
1502
+ }
1503
+ layer {
1504
+ name: "Mrelu5_stage3_L2"
1505
+ type: "ReLU"
1506
+ bottom: "Mconv5_stage3_L2"
1507
+ top: "Mconv5_stage3_L2"
1508
+ }
1509
+ layer {
1510
+ name: "Mconv6_stage3_L1"
1511
+ type: "Convolution"
1512
+ bottom: "Mconv5_stage3_L1"
1513
+ top: "Mconv6_stage3_L1"
1514
+ param {
1515
+ lr_mult: 4.0
1516
+ decay_mult: 1
1517
+ }
1518
+ param {
1519
+ lr_mult: 8.0
1520
+ decay_mult: 0
1521
+ }
1522
+ convolution_param {
1523
+ num_output: 128
1524
+ pad: 0
1525
+ kernel_size: 1
1526
+ weight_filler {
1527
+ type: "gaussian"
1528
+ std: 0.01
1529
+ }
1530
+ bias_filler {
1531
+ type: "constant"
1532
+ }
1533
+ }
1534
+ }
1535
+ layer {
1536
+ name: "Mrelu6_stage3_L1"
1537
+ type: "ReLU"
1538
+ bottom: "Mconv6_stage3_L1"
1539
+ top: "Mconv6_stage3_L1"
1540
+ }
1541
+ layer {
1542
+ name: "Mconv6_stage3_L2"
1543
+ type: "Convolution"
1544
+ bottom: "Mconv5_stage3_L2"
1545
+ top: "Mconv6_stage3_L2"
1546
+ param {
1547
+ lr_mult: 4.0
1548
+ decay_mult: 1
1549
+ }
1550
+ param {
1551
+ lr_mult: 8.0
1552
+ decay_mult: 0
1553
+ }
1554
+ convolution_param {
1555
+ num_output: 128
1556
+ pad: 0
1557
+ kernel_size: 1
1558
+ weight_filler {
1559
+ type: "gaussian"
1560
+ std: 0.01
1561
+ }
1562
+ bias_filler {
1563
+ type: "constant"
1564
+ }
1565
+ }
1566
+ }
1567
+ layer {
1568
+ name: "Mrelu6_stage3_L2"
1569
+ type: "ReLU"
1570
+ bottom: "Mconv6_stage3_L2"
1571
+ top: "Mconv6_stage3_L2"
1572
+ }
1573
+ layer {
1574
+ name: "Mconv7_stage3_L1"
1575
+ type: "Convolution"
1576
+ bottom: "Mconv6_stage3_L1"
1577
+ top: "Mconv7_stage3_L1"
1578
+ param {
1579
+ lr_mult: 4.0
1580
+ decay_mult: 1
1581
+ }
1582
+ param {
1583
+ lr_mult: 8.0
1584
+ decay_mult: 0
1585
+ }
1586
+ convolution_param {
1587
+ num_output: 28
1588
+ pad: 0
1589
+ kernel_size: 1
1590
+ weight_filler {
1591
+ type: "gaussian"
1592
+ std: 0.01
1593
+ }
1594
+ bias_filler {
1595
+ type: "constant"
1596
+ }
1597
+ }
1598
+ }
1599
+ layer {
1600
+ name: "Mconv7_stage3_L2"
1601
+ type: "Convolution"
1602
+ bottom: "Mconv6_stage3_L2"
1603
+ top: "Mconv7_stage3_L2"
1604
+ param {
1605
+ lr_mult: 4.0
1606
+ decay_mult: 1
1607
+ }
1608
+ param {
1609
+ lr_mult: 8.0
1610
+ decay_mult: 0
1611
+ }
1612
+ convolution_param {
1613
+ num_output: 16
1614
+ pad: 0
1615
+ kernel_size: 1
1616
+ weight_filler {
1617
+ type: "gaussian"
1618
+ std: 0.01
1619
+ }
1620
+ bias_filler {
1621
+ type: "constant"
1622
+ }
1623
+ }
1624
+ }
1625
+ layer {
1626
+ name: "concat_stage4"
1627
+ type: "Concat"
1628
+ bottom: "Mconv7_stage3_L1"
1629
+ bottom: "Mconv7_stage3_L2"
1630
+ bottom: "conv4_4_CPM"
1631
+ top: "concat_stage4"
1632
+ concat_param {
1633
+ axis: 1
1634
+ }
1635
+ }
1636
+ layer {
1637
+ name: "Mconv1_stage4_L1"
1638
+ type: "Convolution"
1639
+ bottom: "concat_stage4"
1640
+ top: "Mconv1_stage4_L1"
1641
+ param {
1642
+ lr_mult: 4.0
1643
+ decay_mult: 1
1644
+ }
1645
+ param {
1646
+ lr_mult: 8.0
1647
+ decay_mult: 0
1648
+ }
1649
+ convolution_param {
1650
+ num_output: 128
1651
+ pad: 3
1652
+ kernel_size: 7
1653
+ weight_filler {
1654
+ type: "gaussian"
1655
+ std: 0.01
1656
+ }
1657
+ bias_filler {
1658
+ type: "constant"
1659
+ }
1660
+ }
1661
+ }
1662
+ layer {
1663
+ name: "Mrelu1_stage4_L1"
1664
+ type: "ReLU"
1665
+ bottom: "Mconv1_stage4_L1"
1666
+ top: "Mconv1_stage4_L1"
1667
+ }
1668
+ layer {
1669
+ name: "Mconv1_stage4_L2"
1670
+ type: "Convolution"
1671
+ bottom: "concat_stage4"
1672
+ top: "Mconv1_stage4_L2"
1673
+ param {
1674
+ lr_mult: 4.0
1675
+ decay_mult: 1
1676
+ }
1677
+ param {
1678
+ lr_mult: 8.0
1679
+ decay_mult: 0
1680
+ }
1681
+ convolution_param {
1682
+ num_output: 128
1683
+ pad: 3
1684
+ kernel_size: 7
1685
+ weight_filler {
1686
+ type: "gaussian"
1687
+ std: 0.01
1688
+ }
1689
+ bias_filler {
1690
+ type: "constant"
1691
+ }
1692
+ }
1693
+ }
1694
+ layer {
1695
+ name: "Mrelu1_stage4_L2"
1696
+ type: "ReLU"
1697
+ bottom: "Mconv1_stage4_L2"
1698
+ top: "Mconv1_stage4_L2"
1699
+ }
1700
+ layer {
1701
+ name: "Mconv2_stage4_L1"
1702
+ type: "Convolution"
1703
+ bottom: "Mconv1_stage4_L1"
1704
+ top: "Mconv2_stage4_L1"
1705
+ param {
1706
+ lr_mult: 4.0
1707
+ decay_mult: 1
1708
+ }
1709
+ param {
1710
+ lr_mult: 8.0
1711
+ decay_mult: 0
1712
+ }
1713
+ convolution_param {
1714
+ num_output: 128
1715
+ pad: 3
1716
+ kernel_size: 7
1717
+ weight_filler {
1718
+ type: "gaussian"
1719
+ std: 0.01
1720
+ }
1721
+ bias_filler {
1722
+ type: "constant"
1723
+ }
1724
+ }
1725
+ }
1726
+ layer {
1727
+ name: "Mrelu2_stage4_L1"
1728
+ type: "ReLU"
1729
+ bottom: "Mconv2_stage4_L1"
1730
+ top: "Mconv2_stage4_L1"
1731
+ }
1732
+ layer {
1733
+ name: "Mconv2_stage4_L2"
1734
+ type: "Convolution"
1735
+ bottom: "Mconv1_stage4_L2"
1736
+ top: "Mconv2_stage4_L2"
1737
+ param {
1738
+ lr_mult: 4.0
1739
+ decay_mult: 1
1740
+ }
1741
+ param {
1742
+ lr_mult: 8.0
1743
+ decay_mult: 0
1744
+ }
1745
+ convolution_param {
1746
+ num_output: 128
1747
+ pad: 3
1748
+ kernel_size: 7
1749
+ weight_filler {
1750
+ type: "gaussian"
1751
+ std: 0.01
1752
+ }
1753
+ bias_filler {
1754
+ type: "constant"
1755
+ }
1756
+ }
1757
+ }
1758
+ layer {
1759
+ name: "Mrelu2_stage4_L2"
1760
+ type: "ReLU"
1761
+ bottom: "Mconv2_stage4_L2"
1762
+ top: "Mconv2_stage4_L2"
1763
+ }
1764
+ layer {
1765
+ name: "Mconv3_stage4_L1"
1766
+ type: "Convolution"
1767
+ bottom: "Mconv2_stage4_L1"
1768
+ top: "Mconv3_stage4_L1"
1769
+ param {
1770
+ lr_mult: 4.0
1771
+ decay_mult: 1
1772
+ }
1773
+ param {
1774
+ lr_mult: 8.0
1775
+ decay_mult: 0
1776
+ }
1777
+ convolution_param {
1778
+ num_output: 128
1779
+ pad: 3
1780
+ kernel_size: 7
1781
+ weight_filler {
1782
+ type: "gaussian"
1783
+ std: 0.01
1784
+ }
1785
+ bias_filler {
1786
+ type: "constant"
1787
+ }
1788
+ }
1789
+ }
1790
+ layer {
1791
+ name: "Mrelu3_stage4_L1"
1792
+ type: "ReLU"
1793
+ bottom: "Mconv3_stage4_L1"
1794
+ top: "Mconv3_stage4_L1"
1795
+ }
1796
+ layer {
1797
+ name: "Mconv3_stage4_L2"
1798
+ type: "Convolution"
1799
+ bottom: "Mconv2_stage4_L2"
1800
+ top: "Mconv3_stage4_L2"
1801
+ param {
1802
+ lr_mult: 4.0
1803
+ decay_mult: 1
1804
+ }
1805
+ param {
1806
+ lr_mult: 8.0
1807
+ decay_mult: 0
1808
+ }
1809
+ convolution_param {
1810
+ num_output: 128
1811
+ pad: 3
1812
+ kernel_size: 7
1813
+ weight_filler {
1814
+ type: "gaussian"
1815
+ std: 0.01
1816
+ }
1817
+ bias_filler {
1818
+ type: "constant"
1819
+ }
1820
+ }
1821
+ }
1822
+ layer {
1823
+ name: "Mrelu3_stage4_L2"
1824
+ type: "ReLU"
1825
+ bottom: "Mconv3_stage4_L2"
1826
+ top: "Mconv3_stage4_L2"
1827
+ }
1828
+ layer {
1829
+ name: "Mconv4_stage4_L1"
1830
+ type: "Convolution"
1831
+ bottom: "Mconv3_stage4_L1"
1832
+ top: "Mconv4_stage4_L1"
1833
+ param {
1834
+ lr_mult: 4.0
1835
+ decay_mult: 1
1836
+ }
1837
+ param {
1838
+ lr_mult: 8.0
1839
+ decay_mult: 0
1840
+ }
1841
+ convolution_param {
1842
+ num_output: 128
1843
+ pad: 3
1844
+ kernel_size: 7
1845
+ weight_filler {
1846
+ type: "gaussian"
1847
+ std: 0.01
1848
+ }
1849
+ bias_filler {
1850
+ type: "constant"
1851
+ }
1852
+ }
1853
+ }
1854
+ layer {
1855
+ name: "Mrelu4_stage4_L1"
1856
+ type: "ReLU"
1857
+ bottom: "Mconv4_stage4_L1"
1858
+ top: "Mconv4_stage4_L1"
1859
+ }
1860
+ layer {
1861
+ name: "Mconv4_stage4_L2"
1862
+ type: "Convolution"
1863
+ bottom: "Mconv3_stage4_L2"
1864
+ top: "Mconv4_stage4_L2"
1865
+ param {
1866
+ lr_mult: 4.0
1867
+ decay_mult: 1
1868
+ }
1869
+ param {
1870
+ lr_mult: 8.0
1871
+ decay_mult: 0
1872
+ }
1873
+ convolution_param {
1874
+ num_output: 128
1875
+ pad: 3
1876
+ kernel_size: 7
1877
+ weight_filler {
1878
+ type: "gaussian"
1879
+ std: 0.01
1880
+ }
1881
+ bias_filler {
1882
+ type: "constant"
1883
+ }
1884
+ }
1885
+ }
1886
+ layer {
1887
+ name: "Mrelu4_stage4_L2"
1888
+ type: "ReLU"
1889
+ bottom: "Mconv4_stage4_L2"
1890
+ top: "Mconv4_stage4_L2"
1891
+ }
1892
+ layer {
1893
+ name: "Mconv5_stage4_L1"
1894
+ type: "Convolution"
1895
+ bottom: "Mconv4_stage4_L1"
1896
+ top: "Mconv5_stage4_L1"
1897
+ param {
1898
+ lr_mult: 4.0
1899
+ decay_mult: 1
1900
+ }
1901
+ param {
1902
+ lr_mult: 8.0
1903
+ decay_mult: 0
1904
+ }
1905
+ convolution_param {
1906
+ num_output: 128
1907
+ pad: 3
1908
+ kernel_size: 7
1909
+ weight_filler {
1910
+ type: "gaussian"
1911
+ std: 0.01
1912
+ }
1913
+ bias_filler {
1914
+ type: "constant"
1915
+ }
1916
+ }
1917
+ }
1918
+ layer {
1919
+ name: "Mrelu5_stage4_L1"
1920
+ type: "ReLU"
1921
+ bottom: "Mconv5_stage4_L1"
1922
+ top: "Mconv5_stage4_L1"
1923
+ }
1924
+ layer {
1925
+ name: "Mconv5_stage4_L2"
1926
+ type: "Convolution"
1927
+ bottom: "Mconv4_stage4_L2"
1928
+ top: "Mconv5_stage4_L2"
1929
+ param {
1930
+ lr_mult: 4.0
1931
+ decay_mult: 1
1932
+ }
1933
+ param {
1934
+ lr_mult: 8.0
1935
+ decay_mult: 0
1936
+ }
1937
+ convolution_param {
1938
+ num_output: 128
1939
+ pad: 3
1940
+ kernel_size: 7
1941
+ weight_filler {
1942
+ type: "gaussian"
1943
+ std: 0.01
1944
+ }
1945
+ bias_filler {
1946
+ type: "constant"
1947
+ }
1948
+ }
1949
+ }
1950
+ layer {
1951
+ name: "Mrelu5_stage4_L2"
1952
+ type: "ReLU"
1953
+ bottom: "Mconv5_stage4_L2"
1954
+ top: "Mconv5_stage4_L2"
1955
+ }
1956
+ layer {
1957
+ name: "Mconv6_stage4_L1"
1958
+ type: "Convolution"
1959
+ bottom: "Mconv5_stage4_L1"
1960
+ top: "Mconv6_stage4_L1"
1961
+ param {
1962
+ lr_mult: 4.0
1963
+ decay_mult: 1
1964
+ }
1965
+ param {
1966
+ lr_mult: 8.0
1967
+ decay_mult: 0
1968
+ }
1969
+ convolution_param {
1970
+ num_output: 128
1971
+ pad: 0
1972
+ kernel_size: 1
1973
+ weight_filler {
1974
+ type: "gaussian"
1975
+ std: 0.01
1976
+ }
1977
+ bias_filler {
1978
+ type: "constant"
1979
+ }
1980
+ }
1981
+ }
1982
+ layer {
1983
+ name: "Mrelu6_stage4_L1"
1984
+ type: "ReLU"
1985
+ bottom: "Mconv6_stage4_L1"
1986
+ top: "Mconv6_stage4_L1"
1987
+ }
1988
+ layer {
1989
+ name: "Mconv6_stage4_L2"
1990
+ type: "Convolution"
1991
+ bottom: "Mconv5_stage4_L2"
1992
+ top: "Mconv6_stage4_L2"
1993
+ param {
1994
+ lr_mult: 4.0
1995
+ decay_mult: 1
1996
+ }
1997
+ param {
1998
+ lr_mult: 8.0
1999
+ decay_mult: 0
2000
+ }
2001
+ convolution_param {
2002
+ num_output: 128
2003
+ pad: 0
2004
+ kernel_size: 1
2005
+ weight_filler {
2006
+ type: "gaussian"
2007
+ std: 0.01
2008
+ }
2009
+ bias_filler {
2010
+ type: "constant"
2011
+ }
2012
+ }
2013
+ }
2014
+ layer {
2015
+ name: "Mrelu6_stage4_L2"
2016
+ type: "ReLU"
2017
+ bottom: "Mconv6_stage4_L2"
2018
+ top: "Mconv6_stage4_L2"
2019
+ }
2020
+ layer {
2021
+ name: "Mconv7_stage4_L1"
2022
+ type: "Convolution"
2023
+ bottom: "Mconv6_stage4_L1"
2024
+ top: "Mconv7_stage4_L1"
2025
+ param {
2026
+ lr_mult: 4.0
2027
+ decay_mult: 1
2028
+ }
2029
+ param {
2030
+ lr_mult: 8.0
2031
+ decay_mult: 0
2032
+ }
2033
+ convolution_param {
2034
+ num_output: 28
2035
+ pad: 0
2036
+ kernel_size: 1
2037
+ weight_filler {
2038
+ type: "gaussian"
2039
+ std: 0.01
2040
+ }
2041
+ bias_filler {
2042
+ type: "constant"
2043
+ }
2044
+ }
2045
+ }
2046
+ layer {
2047
+ name: "Mconv7_stage4_L2"
2048
+ type: "Convolution"
2049
+ bottom: "Mconv6_stage4_L2"
2050
+ top: "Mconv7_stage4_L2"
2051
+ param {
2052
+ lr_mult: 4.0
2053
+ decay_mult: 1
2054
+ }
2055
+ param {
2056
+ lr_mult: 8.0
2057
+ decay_mult: 0
2058
+ }
2059
+ convolution_param {
2060
+ num_output: 16
2061
+ pad: 0
2062
+ kernel_size: 1
2063
+ weight_filler {
2064
+ type: "gaussian"
2065
+ std: 0.01
2066
+ }
2067
+ bias_filler {
2068
+ type: "constant"
2069
+ }
2070
+ }
2071
+ }
2072
+ layer {
2073
+ name: "concat_stage7"
2074
+ type: "Concat"
2075
+ bottom: "Mconv7_stage4_L2"
2076
+ bottom: "Mconv7_stage4_L1"
2077
+ top: "net_output"
2078
+ concat_param {
2079
+ axis: 1
2080
+ }
2081
+ }
pose/mpi/pose_iter_160000.caffemodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2ea61d8549a3386972ba9a310468f961e7157d94c5ee2529a51b3901bb82ee21
3
+ size 205950363