├── .gitignore ├── .gitmodules ├── CombineRegressions.py ├── CombineRegressionsHuman.py ├── DenseReg.ipynb ├── DenseRegHumanBody.ipynb ├── README.md ├── TestImages ├── 1.png ├── 2.png ├── 3.png └── lena.png ├── deploy.prototxt ├── get_densereg_model.sh ├── model ├── deploy.prototxt └── deployHuman.prototxt └── template_data ├── Grid_color.mat ├── SegLabelsColor.mat └── template_landmarks.npy /.gitignore: -------------------------------------------------------------------------------- 1 | *.caffemodel 2 | .ipynb_checkpoints 3 | .DS_Store 4 | 5 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "DeepLab-Context2"] 2 | path = DeepLab-Context2 3 | url = git@github.com:TheLegendAli/DeepLab-Context2.git 4 | -------------------------------------------------------------------------------- /CombineRegressions.py: -------------------------------------------------------------------------------- 1 | # This is a python layer used for combining the quantized values and estimated residuals for each quantized value. 2 | # Note that you might have to change the caffe location below. 3 | 4 | import sys 5 | sys.path.append("DeepLab-Context2/python") 6 | 7 | import caffe 8 | import numpy as np 9 | 10 | 11 | class CombineRegressionsLayer(caffe.Layer): 12 | 13 | def setup(self, bottom, top): 14 | 15 | pass 16 | 17 | def reshape(self, bottom, top): 18 | 19 | top[0].reshape(*bottom[0].data.shape) 20 | top[1].reshape(*bottom[0].data.shape) 21 | 22 | def forward(self, bottom, top): 23 | 24 | Horizontal = bottom[0].data[...] 25 | Vertical = bottom[1].data[...] 26 | 27 | HorzRegress = bottom[2].data[...] 28 | VertRegress = bottom[3].data[...] 29 | 30 | HorzReg = np.zeros(Horizontal.shape); 31 | VertReg = np.zeros(Horizontal.shape); 32 | 33 | Num_Dims = HorzRegress.shape[1] 34 | 35 | for j in range(Num_Dims): 36 | if (j>0): 37 | HorzReg = HorzReg + HorzRegress[:,j,:,:] * (Horizontal==j) 38 | VertReg = VertReg + VertRegress[:,j,:,:] * (Vertical==j) 39 | 40 | 41 | HorzReg = ( ( Horizontal + HorzReg ) -1 ) / (Num_Dims-1) 42 | VertReg = ( ( Vertical + VertReg) -1 ) / (Num_Dims-1) 43 | 44 | HorzReg[HorzReg<0] = -1 45 | VertReg[VertReg<0] = -1 46 | 47 | top[0].data[...] = HorzReg 48 | top[1].data[...] = VertReg 49 | 50 | 51 | def backward(self, top, propagate_down, bottom): 52 | pass 53 | -------------------------------------------------------------------------------- /CombineRegressionsHuman.py: -------------------------------------------------------------------------------- 1 | 2 | import sys 3 | sys.path.append("/home/goku/py-faster-rcnn/caffe-fast-rcnn-alt/python") 4 | 5 | import caffe 6 | from scipy.misc import imresize 7 | from scipy.misc import imresize 8 | from scipy.io import savemat 9 | import numpy as np 10 | from PIL import Image 11 | 12 | import random 13 | 14 | from scipy.io import loadmat 15 | import matplotlib.pyplot as plt 16 | import matplotlib.image as mpimg 17 | import numpy 18 | 19 | class CombineRegressionsLayer(caffe.Layer): 20 | 21 | def setup(self, bottom, top): 22 | 23 | pass 24 | 25 | def reshape(self, bottom, top): 26 | 27 | top[0].reshape(*bottom[0].data.shape) 28 | top[1].reshape(*bottom[0].data.shape) 29 | 30 | def forward(self, bottom, top): 31 | 32 | Horizontal = bottom[0].data[...] 33 | Vertical = bottom[1].data[...] 34 | 35 | HorzRegress = bottom[2].data[...] 36 | VertRegress = bottom[3].data[...] 37 | 38 | HorzReg = np.zeros(Horizontal.shape); 39 | VertReg = np.zeros(Horizontal.shape); 40 | 41 | Num_Dims = HorzRegress.shape[1] 42 | 43 | # print(Horizontal.shape) 44 | # print(HorzRegress.shape) 45 | 46 | for j in range(Num_Dims): 47 | if (j>0): 48 | HorzReg = HorzReg + HorzRegress[:,j,:,:] * (Horizontal==j) 49 | VertReg = VertReg + VertRegress[:,j,:,:] * (Vertical==j) 50 | 51 | 52 | # HorzReg = ( ( Hozontal + HorzReg ) ) 53 | # VertReg = ( ( Vertical + VertReg) ) 54 | 55 | HorzReg[HorzReg<0] = 0 56 | VertReg[VertReg<0] = 0 57 | 58 | HorzReg[HorzReg>1] = 1 59 | VertReg[VertReg>1] = 1 60 | 61 | top[0].data[...] = HorzReg 62 | top[1].data[...] = VertReg 63 | 64 | 65 | def backward(self, top, propagate_down, bottom): 66 | pass 67 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DenseReg: 2 | ## Fully Convolutional Dense Shape Regression In-the-Wild 3 | *Rıza Alp Güler, George Trigeorgis, Epameinondas Antonakos, Patrick Snape, Stefanos Zafeiriou, Iasonas Kokkinos* 4 | * * * 5 | This is an implementation of the method described in the [arXiv paper](http://alpguler.com/DenseReg.html). For a video demonstration and supplementary materials see [the project page](http://alpguler.com/DenseReg.html). 6 | 7 | Currently, only the Caffe(deeplab) based test-code that allows regressing template face coordinates on a given image is available. Training code will be provided soon. 8 | *** 9 | ### Caffe Setup 10 | You have two options: 11 | #### 1- Use deeplabv2 submodule 12 | First install deeplabv2. It is added as a submodule to this repository, you can follow its own installation instructions. 13 | Make sure that you have set WITH_PYTHON_LAYER=1 in "Makefile.config" of the Caffe. 14 | 15 | #### 2- Using your own caffe 16 | 17 | Alternatively, you can use your favorite installed caffe, then all you need to add is the "interpolation layer", which can be found in the provided deeplab version. If you do this, you have to change the caffe path in (i)DenseReg.ipynb and (ii) CombineRegressions.py caffe layer before "import caffe" line. 18 | 19 | ### Running DenseReg 20 | 21 | + You have to download the caffemodel by running the script: *get_densereg_model.sh*. 22 | + Then, you can use the ipyton notebook *DenseReg.ipynb*, which very basically demonstrates how example results for the *Lena's face* are obtained. 23 | 24 | Namely, putting a uniform grid in the temple space onto the face, semantic face part segmentation and landmark localization results are demonstrated (as portrayed in the image below). 25 | 26 | ![](https://docs.google.com/drawings/d/1Jh2bSW5CGE8IHssDaj6D0i6zl2bY65xm7yPt5fRtIqM/pub?w=596&h=202) 27 | 28 | - - - 29 | ### Running DenseReg for Human Bodies 30 | 31 | + You have to download the caffemodel by running the script: *get_densereg_model.sh*. 32 | + Then, you can use the ipyton notebook *DenseRegHumanBody.ipynb*, which demonstrates dense-correspondences for human bodies on sample images. Note that this network is not trained to be invariant to changes in scale. 33 | 34 | Demonstrated result is depicted for a test sample. 35 | 36 | ![](https://docs.google.com/drawings/d/1DxuWFrcQpSYCEGxdfZyhPemnc25vX1cknpYFe1E-uMk/pub?w=471&h=208) 37 | 38 | - - - 39 | #### Bibtex entry for citations: 40 | 41 | @article{Guler2016DenseReg, 42 | title={DenseReg: Fully Convolutional Dense Shape Regression In-the-Wild}, 43 | author={R\{i}za Alp G\"uler, George Trigeorgis, Epameinondas Antonakos, Patrick Snape, Stefanos Zafeiriou, Iasonas Kokkinos}, 44 | journal={arXiv:1612.01202}, 45 | year={2016} 46 | } 47 | 48 | 49 | -------------------------------------------------------------------------------- /TestImages/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralpguler/DenseReg/d28c89e42c63e2c8c29f3cfdbc0336a6103195d9/TestImages/1.png -------------------------------------------------------------------------------- /TestImages/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralpguler/DenseReg/d28c89e42c63e2c8c29f3cfdbc0336a6103195d9/TestImages/2.png -------------------------------------------------------------------------------- /TestImages/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralpguler/DenseReg/d28c89e42c63e2c8c29f3cfdbc0336a6103195d9/TestImages/3.png -------------------------------------------------------------------------------- /TestImages/lena.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralpguler/DenseReg/d28c89e42c63e2c8c29f3cfdbc0336a6103195d9/TestImages/lena.png -------------------------------------------------------------------------------- /get_densereg_model.sh: -------------------------------------------------------------------------------- 1 | wget https://www.dropbox.com/s/nbtq71q1k2rx21t/DenseReg_K10.caffemodel?dl=1 -O model/DenseReg_K10.caffemodel 2 | wget https://www.dropbox.com/s/8rtytwdq0ytynec/DenseReg_Human_Release.caffemodel?dl=1 -O model/DenseReg_Human_Release.caffemodel -------------------------------------------------------------------------------- /model/deployHuman.prototxt: -------------------------------------------------------------------------------- 1 | input: "data" 2 | input_dim: 1 3 | input_dim: 3 4 | input_dim: 513 5 | input_dim: 513 6 | 7 | 8 | 9 | ###################### resolution 1 ##################### 10 | 11 | layer { 12 | bottom: "data" 13 | top: "conv1" 14 | name: "conv1" 15 | type: "Convolution" 16 | 17 | param { 18 | name: "conv1_0" 19 | lr_mult: 1 20 | decay_mult: 1 21 | } 22 | convolution_param { 23 | num_output: 64 24 | kernel_size: 7 25 | pad: 3 26 | stride: 2 27 | bias_term: false 28 | } 29 | } 30 | 31 | layer { 32 | bottom: "conv1" 33 | top: "conv1" 34 | name: "bn_conv1" 35 | type: "BatchNorm" 36 | 37 | 38 | batch_norm_param { 39 | use_global_stats: true 40 | } 41 | param { 42 | name: "bn_conv1_0" 43 | lr_mult: 0 44 | } 45 | param { 46 | name: "bn_conv1_1" 47 | lr_mult: 0 48 | } 49 | param { 50 | name: "bn_conv1_2" 51 | lr_mult: 0 52 | } 53 | } 54 | 55 | layer { 56 | bottom: "conv1" 57 | top: "conv1" 58 | name: "scale_conv1" 59 | type: "Scale" 60 | 61 | 62 | scale_param { 63 | bias_term: true 64 | } 65 | param { 66 | name: "scale_conv1_0" 67 | lr_mult: 0 68 | } 69 | param { 70 | name: "scale_conv1_1" 71 | lr_mult: 0 72 | } 73 | } 74 | 75 | layer { 76 | top: "conv1" 77 | bottom: "conv1" 78 | name: "conv1_relu" 79 | type: "ReLU" 80 | } 81 | 82 | layer { 83 | bottom: "conv1" 84 | top: "pool1" 85 | name: "pool1" 86 | type: "Pooling" 87 | pooling_param { 88 | kernel_size: 3 89 | stride: 2 90 | pad: 1 91 | pool: MAX 92 | } 93 | } 94 | 95 | layer { 96 | bottom: "pool1" 97 | top: "res2a_branch1" 98 | name: "res2a_branch1" 99 | type: "Convolution" 100 | 101 | 102 | param { 103 | name: "res2a_branch1_0" 104 | lr_mult: 1 105 | decay_mult: 1 106 | } 107 | convolution_param { 108 | num_output: 256 109 | kernel_size: 1 110 | pad: 0 111 | stride: 1 112 | bias_term: false 113 | } 114 | } 115 | 116 | layer { 117 | bottom: "res2a_branch1" 118 | top: "res2a_branch1" 119 | name: "bn2a_branch1" 120 | type: "BatchNorm" 121 | 122 | 123 | batch_norm_param { 124 | use_global_stats: true 125 | } 126 | param { 127 | name: "bn2a_branch1_0" 128 | lr_mult: 0 129 | } 130 | param { 131 | name: "bn2a_branch1_1" 132 | lr_mult: 0 133 | } 134 | param { 135 | name: "bn2a_branch1_2" 136 | lr_mult: 0 137 | } 138 | } 139 | 140 | layer { 141 | bottom: "res2a_branch1" 142 | top: "res2a_branch1" 143 | name: "scale2a_branch1" 144 | type: "Scale" 145 | 146 | 147 | scale_param { 148 | bias_term: true 149 | } 150 | param { 151 | name: "scale2a_branch1_0" 152 | lr_mult: 0 153 | } 154 | param { 155 | name: "scale2a_branch1_1" 156 | lr_mult: 0 157 | } 158 | } 159 | 160 | layer { 161 | bottom: "pool1" 162 | top: "res2a_branch2a" 163 | name: "res2a_branch2a" 164 | type: "Convolution" 165 | 166 | 167 | param { 168 | name: "res2a_branch2a_0" 169 | lr_mult: 1 170 | decay_mult: 1 171 | } 172 | convolution_param { 173 | num_output: 64 174 | kernel_size: 1 175 | pad: 0 176 | stride: 1 177 | bias_term: false 178 | } 179 | } 180 | 181 | layer { 182 | bottom: "res2a_branch2a" 183 | top: "res2a_branch2a" 184 | name: "bn2a_branch2a" 185 | type: "BatchNorm" 186 | 187 | 188 | batch_norm_param { 189 | use_global_stats: true 190 | } 191 | param { 192 | name: "bn2a_branch2a_0" 193 | lr_mult: 0 194 | } 195 | param { 196 | name: "bn2a_branch2a_1" 197 | lr_mult: 0 198 | } 199 | param { 200 | name: "bn2a_branch2a_2" 201 | lr_mult: 0 202 | } 203 | } 204 | 205 | layer { 206 | bottom: "res2a_branch2a" 207 | top: "res2a_branch2a" 208 | name: "scale2a_branch2a" 209 | type: "Scale" 210 | 211 | 212 | scale_param { 213 | bias_term: true 214 | } 215 | param { 216 | name: "scale2a_branch2a_0" 217 | lr_mult: 0 218 | } 219 | param { 220 | name: "scale2a_branch2a_1" 221 | lr_mult: 0 222 | } 223 | } 224 | 225 | layer { 226 | top: "res2a_branch2a" 227 | bottom: "res2a_branch2a" 228 | name: "res2a_branch2a_relu" 229 | type: "ReLU" 230 | } 231 | 232 | layer { 233 | bottom: "res2a_branch2a" 234 | top: "res2a_branch2b" 235 | name: "res2a_branch2b" 236 | type: "Convolution" 237 | 238 | 239 | param { 240 | name: "res2a_branch2b_0" 241 | lr_mult: 1 242 | decay_mult: 1 243 | } 244 | convolution_param { 245 | num_output: 64 246 | kernel_size: 3 247 | pad: 1 248 | stride: 1 249 | bias_term: false 250 | } 251 | } 252 | 253 | layer { 254 | bottom: "res2a_branch2b" 255 | top: "res2a_branch2b" 256 | name: "bn2a_branch2b" 257 | type: "BatchNorm" 258 | 259 | 260 | batch_norm_param { 261 | use_global_stats: true 262 | } 263 | param { 264 | name: "bn2a_branch2b_0" 265 | lr_mult: 0 266 | } 267 | param { 268 | name: "bn2a_branch2b_1" 269 | lr_mult: 0 270 | } 271 | param { 272 | name: "bn2a_branch2b_2" 273 | lr_mult: 0 274 | } 275 | } 276 | 277 | layer { 278 | bottom: "res2a_branch2b" 279 | top: "res2a_branch2b" 280 | name: "scale2a_branch2b" 281 | type: "Scale" 282 | 283 | 284 | scale_param { 285 | bias_term: true 286 | } 287 | param { 288 | name: "scale2a_branch2b_0" 289 | lr_mult: 0 290 | } 291 | param { 292 | name: "scale2a_branch2b_1" 293 | lr_mult: 0 294 | } 295 | } 296 | 297 | layer { 298 | top: "res2a_branch2b" 299 | bottom: "res2a_branch2b" 300 | name: "res2a_branch2b_relu" 301 | type: "ReLU" 302 | } 303 | 304 | layer { 305 | bottom: "res2a_branch2b" 306 | top: "res2a_branch2c" 307 | name: "res2a_branch2c" 308 | type: "Convolution" 309 | 310 | 311 | param { 312 | name: "res2a_branch2c_0" 313 | lr_mult: 1 314 | decay_mult: 1 315 | } 316 | convolution_param { 317 | num_output: 256 318 | kernel_size: 1 319 | pad: 0 320 | stride: 1 321 | bias_term: false 322 | } 323 | } 324 | 325 | layer { 326 | bottom: "res2a_branch2c" 327 | top: "res2a_branch2c" 328 | name: "bn2a_branch2c" 329 | type: "BatchNorm" 330 | 331 | 332 | batch_norm_param { 333 | use_global_stats: true 334 | } 335 | param { 336 | name: "bn2a_branch2c_0" 337 | lr_mult: 0 338 | } 339 | param { 340 | name: "bn2a_branch2c_1" 341 | lr_mult: 0 342 | } 343 | param { 344 | name: "bn2a_branch2c_2" 345 | lr_mult: 0 346 | } 347 | } 348 | 349 | layer { 350 | bottom: "res2a_branch2c" 351 | top: "res2a_branch2c" 352 | name: "scale2a_branch2c" 353 | type: "Scale" 354 | 355 | 356 | scale_param { 357 | bias_term: true 358 | } 359 | param { 360 | name: "scale2a_branch2c_0" 361 | lr_mult: 0 362 | } 363 | param { 364 | name: "scale2a_branch2c_1" 365 | lr_mult: 0 366 | } 367 | } 368 | 369 | layer { 370 | bottom: "res2a_branch1" 371 | bottom: "res2a_branch2c" 372 | top: "res2a" 373 | name: "res2a" 374 | type: "Eltwise" 375 | 376 | 377 | } 378 | 379 | layer { 380 | bottom: "res2a" 381 | top: "res2a" 382 | name: "res2a_relu" 383 | type: "ReLU" 384 | } 385 | 386 | layer { 387 | bottom: "res2a" 388 | top: "res2b_branch2a" 389 | name: "res2b_branch2a" 390 | type: "Convolution" 391 | 392 | 393 | param { 394 | name: "res2b_branch2a_0" 395 | lr_mult: 1 396 | decay_mult: 1 397 | } 398 | convolution_param { 399 | num_output: 64 400 | kernel_size: 1 401 | pad: 0 402 | stride: 1 403 | bias_term: false 404 | } 405 | } 406 | 407 | layer { 408 | bottom: "res2b_branch2a" 409 | top: "res2b_branch2a" 410 | name: "bn2b_branch2a" 411 | type: "BatchNorm" 412 | 413 | 414 | batch_norm_param { 415 | use_global_stats: true 416 | } 417 | param { 418 | name: "bn2b_branch2a_0" 419 | lr_mult: 0 420 | } 421 | param { 422 | name: "bn2b_branch2a_1" 423 | lr_mult: 0 424 | } 425 | param { 426 | name: "bn2b_branch2a_2" 427 | lr_mult: 0 428 | } 429 | } 430 | 431 | layer { 432 | bottom: "res2b_branch2a" 433 | top: "res2b_branch2a" 434 | name: "scale2b_branch2a" 435 | type: "Scale" 436 | 437 | 438 | scale_param { 439 | bias_term: true 440 | } 441 | param { 442 | name: "scale2b_branch2a_0" 443 | lr_mult: 0 444 | } 445 | param { 446 | name: "scale2b_branch2a_1" 447 | lr_mult: 0 448 | } 449 | } 450 | 451 | layer { 452 | top: "res2b_branch2a" 453 | bottom: "res2b_branch2a" 454 | name: "res2b_branch2a_relu" 455 | type: "ReLU" 456 | } 457 | 458 | layer { 459 | bottom: "res2b_branch2a" 460 | top: "res2b_branch2b" 461 | name: "res2b_branch2b" 462 | type: "Convolution" 463 | 464 | 465 | param { 466 | name: "res2b_branch2b_0" 467 | lr_mult: 1 468 | decay_mult: 1 469 | } 470 | convolution_param { 471 | num_output: 64 472 | kernel_size: 3 473 | pad: 1 474 | stride: 1 475 | bias_term: false 476 | } 477 | } 478 | 479 | layer { 480 | bottom: "res2b_branch2b" 481 | top: "res2b_branch2b" 482 | name: "bn2b_branch2b" 483 | type: "BatchNorm" 484 | 485 | 486 | batch_norm_param { 487 | use_global_stats: true 488 | } 489 | param { 490 | name: "bn2b_branch2b_0" 491 | lr_mult: 0 492 | } 493 | param { 494 | name: "bn2b_branch2b_1" 495 | lr_mult: 0 496 | } 497 | param { 498 | name: "bn2b_branch2b_2" 499 | lr_mult: 0 500 | } 501 | } 502 | 503 | layer { 504 | bottom: "res2b_branch2b" 505 | top: "res2b_branch2b" 506 | name: "scale2b_branch2b" 507 | type: "Scale" 508 | 509 | 510 | scale_param { 511 | bias_term: true 512 | } 513 | param { 514 | name: "scale2b_branch2b_0" 515 | lr_mult: 0 516 | } 517 | param { 518 | name: "scale2b_branch2b_1" 519 | lr_mult: 0 520 | } 521 | } 522 | 523 | layer { 524 | top: "res2b_branch2b" 525 | bottom: "res2b_branch2b" 526 | name: "res2b_branch2b_relu" 527 | type: "ReLU" 528 | } 529 | 530 | layer { 531 | bottom: "res2b_branch2b" 532 | top: "res2b_branch2c" 533 | name: "res2b_branch2c" 534 | type: "Convolution" 535 | 536 | 537 | param { 538 | name: "res2b_branch2c_0" 539 | lr_mult: 1 540 | decay_mult: 1 541 | } 542 | convolution_param { 543 | num_output: 256 544 | kernel_size: 1 545 | pad: 0 546 | stride: 1 547 | bias_term: false 548 | } 549 | } 550 | 551 | layer { 552 | bottom: "res2b_branch2c" 553 | top: "res2b_branch2c" 554 | name: "bn2b_branch2c" 555 | type: "BatchNorm" 556 | 557 | 558 | batch_norm_param { 559 | use_global_stats: true 560 | } 561 | param { 562 | name: "bn2b_branch2c_0" 563 | lr_mult: 0 564 | } 565 | param { 566 | name: "bn2b_branch2c_1" 567 | lr_mult: 0 568 | } 569 | param { 570 | name: "bn2b_branch2c_2" 571 | lr_mult: 0 572 | } 573 | } 574 | 575 | layer { 576 | bottom: "res2b_branch2c" 577 | top: "res2b_branch2c" 578 | name: "scale2b_branch2c" 579 | type: "Scale" 580 | 581 | 582 | scale_param { 583 | bias_term: true 584 | } 585 | param { 586 | name: "scale2b_branch2c_0" 587 | lr_mult: 0 588 | } 589 | param { 590 | name: "scale2b_branch2c_1" 591 | lr_mult: 0 592 | } 593 | } 594 | 595 | layer { 596 | bottom: "res2a" 597 | bottom: "res2b_branch2c" 598 | top: "res2b" 599 | name: "res2b" 600 | type: "Eltwise" 601 | 602 | 603 | } 604 | 605 | layer { 606 | bottom: "res2b" 607 | top: "res2b" 608 | name: "res2b_relu" 609 | type: "ReLU" 610 | } 611 | 612 | layer { 613 | bottom: "res2b" 614 | top: "res2c_branch2a" 615 | name: "res2c_branch2a" 616 | type: "Convolution" 617 | 618 | 619 | param { 620 | name: "res2c_branch2a_0" 621 | lr_mult: 1 622 | decay_mult: 1 623 | } 624 | convolution_param { 625 | num_output: 64 626 | kernel_size: 1 627 | pad: 0 628 | stride: 1 629 | bias_term: false 630 | } 631 | } 632 | 633 | layer { 634 | bottom: "res2c_branch2a" 635 | top: "res2c_branch2a" 636 | name: "bn2c_branch2a" 637 | type: "BatchNorm" 638 | 639 | 640 | batch_norm_param { 641 | use_global_stats: true 642 | } 643 | param { 644 | name: "bn2c_branch2a_0" 645 | lr_mult: 0 646 | } 647 | param { 648 | name: "bn2c_branch2a_1" 649 | lr_mult: 0 650 | } 651 | param { 652 | name: "bn2c_branch2a_2" 653 | lr_mult: 0 654 | } 655 | } 656 | 657 | layer { 658 | bottom: "res2c_branch2a" 659 | top: "res2c_branch2a" 660 | name: "scale2c_branch2a" 661 | type: "Scale" 662 | 663 | 664 | scale_param { 665 | bias_term: true 666 | } 667 | param { 668 | name: "scale2c_branch2a_0" 669 | lr_mult: 0 670 | } 671 | param { 672 | name: "scale2c_branch2a_1" 673 | lr_mult: 0 674 | } 675 | } 676 | 677 | layer { 678 | top: "res2c_branch2a" 679 | bottom: "res2c_branch2a" 680 | name: "res2c_branch2a_relu" 681 | type: "ReLU" 682 | } 683 | 684 | layer { 685 | bottom: "res2c_branch2a" 686 | top: "res2c_branch2b" 687 | name: "res2c_branch2b" 688 | type: "Convolution" 689 | 690 | 691 | param { 692 | name: "res2c_branch2b_0" 693 | lr_mult: 1 694 | decay_mult: 1 695 | } 696 | convolution_param { 697 | num_output: 64 698 | kernel_size: 3 699 | pad: 1 700 | stride: 1 701 | bias_term: false 702 | } 703 | } 704 | 705 | layer { 706 | bottom: "res2c_branch2b" 707 | top: "res2c_branch2b" 708 | name: "bn2c_branch2b" 709 | type: "BatchNorm" 710 | 711 | 712 | batch_norm_param { 713 | use_global_stats: true 714 | } 715 | param { 716 | name: "bn2c_branch2b_0" 717 | lr_mult: 0 718 | } 719 | param { 720 | name: "bn2c_branch2b_1" 721 | lr_mult: 0 722 | } 723 | param { 724 | name: "bn2c_branch2b_2" 725 | lr_mult: 0 726 | } 727 | } 728 | 729 | layer { 730 | bottom: "res2c_branch2b" 731 | top: "res2c_branch2b" 732 | name: "scale2c_branch2b" 733 | type: "Scale" 734 | 735 | 736 | scale_param { 737 | bias_term: true 738 | } 739 | param { 740 | name: "scale2c_branch2b_0" 741 | lr_mult: 0 742 | } 743 | param { 744 | name: "scale2c_branch2b_1" 745 | lr_mult: 0 746 | } 747 | } 748 | 749 | layer { 750 | top: "res2c_branch2b" 751 | bottom: "res2c_branch2b" 752 | name: "res2c_branch2b_relu" 753 | type: "ReLU" 754 | } 755 | 756 | layer { 757 | bottom: "res2c_branch2b" 758 | top: "res2c_branch2c" 759 | name: "res2c_branch2c" 760 | type: "Convolution" 761 | 762 | 763 | param { 764 | name: "res2c_branch2c_0" 765 | lr_mult: 1 766 | decay_mult: 1 767 | } 768 | convolution_param { 769 | num_output: 256 770 | kernel_size: 1 771 | pad: 0 772 | stride: 1 773 | bias_term: false 774 | } 775 | } 776 | 777 | layer { 778 | bottom: "res2c_branch2c" 779 | top: "res2c_branch2c" 780 | name: "bn2c_branch2c" 781 | type: "BatchNorm" 782 | 783 | 784 | batch_norm_param { 785 | use_global_stats: true 786 | } 787 | param { 788 | name: "bn2c_branch2c_0" 789 | lr_mult: 0 790 | } 791 | param { 792 | name: "bn2c_branch2c_1" 793 | lr_mult: 0 794 | } 795 | param { 796 | name: "bn2c_branch2c_2" 797 | lr_mult: 0 798 | } 799 | } 800 | 801 | layer { 802 | bottom: "res2c_branch2c" 803 | top: "res2c_branch2c" 804 | name: "scale2c_branch2c" 805 | type: "Scale" 806 | 807 | 808 | scale_param { 809 | bias_term: true 810 | } 811 | param { 812 | name: "scale2c_branch2c_0" 813 | lr_mult: 0 814 | } 815 | param { 816 | name: "scale2c_branch2c_1" 817 | lr_mult: 0 818 | } 819 | } 820 | 821 | layer { 822 | bottom: "res2b" 823 | bottom: "res2c_branch2c" 824 | top: "res2c" 825 | name: "res2c" 826 | type: "Eltwise" 827 | 828 | 829 | } 830 | 831 | layer { 832 | bottom: "res2c" 833 | top: "res2c" 834 | name: "res2c_relu" 835 | type: "ReLU" 836 | } 837 | 838 | layer { 839 | bottom: "res2c" 840 | top: "res3a_branch1" 841 | name: "res3a_branch1" 842 | type: "Convolution" 843 | 844 | 845 | param { 846 | name: "res3a_branch1_0" 847 | lr_mult: 1 848 | decay_mult: 1 849 | } 850 | convolution_param { 851 | num_output: 512 852 | kernel_size: 1 853 | pad: 0 854 | stride: 2 855 | bias_term: false 856 | } 857 | } 858 | 859 | layer { 860 | bottom: "res3a_branch1" 861 | top: "res3a_branch1" 862 | name: "bn3a_branch1" 863 | type: "BatchNorm" 864 | 865 | 866 | batch_norm_param { 867 | use_global_stats: true 868 | } 869 | param { 870 | name: "bn3a_branch1_0" 871 | lr_mult: 0 872 | } 873 | param { 874 | name: "bn3a_branch1_1" 875 | lr_mult: 0 876 | } 877 | param { 878 | name: "bn3a_branch1_2" 879 | lr_mult: 0 880 | } 881 | } 882 | 883 | layer { 884 | bottom: "res3a_branch1" 885 | top: "res3a_branch1" 886 | name: "scale3a_branch1" 887 | type: "Scale" 888 | 889 | 890 | scale_param { 891 | bias_term: true 892 | } 893 | param { 894 | name: "scale3a_branch1_0" 895 | lr_mult: 0 896 | } 897 | param { 898 | name: "scale3a_branch1_1" 899 | lr_mult: 0 900 | } 901 | } 902 | 903 | layer { 904 | bottom: "res2c" 905 | top: "res3a_branch2a" 906 | name: "res3a_branch2a" 907 | type: "Convolution" 908 | 909 | 910 | param { 911 | name: "res3a_branch2a_0" 912 | lr_mult: 1 913 | decay_mult: 1 914 | } 915 | convolution_param { 916 | num_output: 128 917 | kernel_size: 1 918 | pad: 0 919 | stride: 2 920 | bias_term: false 921 | } 922 | } 923 | 924 | layer { 925 | bottom: "res3a_branch2a" 926 | top: "res3a_branch2a" 927 | name: "bn3a_branch2a" 928 | type: "BatchNorm" 929 | 930 | 931 | batch_norm_param { 932 | use_global_stats: true 933 | } 934 | param { 935 | name: "bn3a_branch2a_0" 936 | lr_mult: 0 937 | } 938 | param { 939 | name: "bn3a_branch2a_1" 940 | lr_mult: 0 941 | } 942 | param { 943 | name: "bn3a_branch2a_2" 944 | lr_mult: 0 945 | } 946 | } 947 | 948 | layer { 949 | bottom: "res3a_branch2a" 950 | top: "res3a_branch2a" 951 | name: "scale3a_branch2a" 952 | type: "Scale" 953 | 954 | 955 | scale_param { 956 | bias_term: true 957 | } 958 | param { 959 | name: "scale3a_branch2a_0" 960 | lr_mult: 0 961 | } 962 | param { 963 | name: "scale3a_branch2a_1" 964 | lr_mult: 0 965 | } 966 | } 967 | 968 | layer { 969 | top: "res3a_branch2a" 970 | bottom: "res3a_branch2a" 971 | name: "res3a_branch2a_relu" 972 | type: "ReLU" 973 | } 974 | 975 | layer { 976 | bottom: "res3a_branch2a" 977 | top: "res3a_branch2b" 978 | name: "res3a_branch2b" 979 | type: "Convolution" 980 | 981 | 982 | param { 983 | name: "res3a_branch2b_0" 984 | lr_mult: 1 985 | decay_mult: 1 986 | } 987 | convolution_param { 988 | num_output: 128 989 | kernel_size: 3 990 | pad: 1 991 | stride: 1 992 | bias_term: false 993 | } 994 | } 995 | 996 | layer { 997 | bottom: "res3a_branch2b" 998 | top: "res3a_branch2b" 999 | name: "bn3a_branch2b" 1000 | type: "BatchNorm" 1001 | 1002 | 1003 | batch_norm_param { 1004 | use_global_stats: true 1005 | } 1006 | param { 1007 | name: "bn3a_branch2b_0" 1008 | lr_mult: 0 1009 | } 1010 | param { 1011 | name: "bn3a_branch2b_1" 1012 | lr_mult: 0 1013 | } 1014 | param { 1015 | name: "bn3a_branch2b_2" 1016 | lr_mult: 0 1017 | } 1018 | } 1019 | 1020 | layer { 1021 | bottom: "res3a_branch2b" 1022 | top: "res3a_branch2b" 1023 | name: "scale3a_branch2b" 1024 | type: "Scale" 1025 | 1026 | 1027 | scale_param { 1028 | bias_term: true 1029 | } 1030 | param { 1031 | name: "scale3a_branch2b_0" 1032 | lr_mult: 0 1033 | } 1034 | param { 1035 | name: "scale3a_branch2b_1" 1036 | lr_mult: 0 1037 | } 1038 | } 1039 | 1040 | layer { 1041 | top: "res3a_branch2b" 1042 | bottom: "res3a_branch2b" 1043 | name: "res3a_branch2b_relu" 1044 | type: "ReLU" 1045 | } 1046 | 1047 | layer { 1048 | bottom: "res3a_branch2b" 1049 | top: "res3a_branch2c" 1050 | name: "res3a_branch2c" 1051 | type: "Convolution" 1052 | 1053 | 1054 | param { 1055 | name: "res3a_branch2c_0" 1056 | lr_mult: 1 1057 | decay_mult: 1 1058 | } 1059 | convolution_param { 1060 | num_output: 512 1061 | kernel_size: 1 1062 | pad: 0 1063 | stride: 1 1064 | bias_term: false 1065 | } 1066 | } 1067 | 1068 | layer { 1069 | bottom: "res3a_branch2c" 1070 | top: "res3a_branch2c" 1071 | name: "bn3a_branch2c" 1072 | type: "BatchNorm" 1073 | 1074 | 1075 | batch_norm_param { 1076 | use_global_stats: true 1077 | } 1078 | param { 1079 | name: "bn3a_branch2c_0" 1080 | lr_mult: 0 1081 | } 1082 | param { 1083 | name: "bn3a_branch2c_1" 1084 | lr_mult: 0 1085 | } 1086 | param { 1087 | name: "bn3a_branch2c_2" 1088 | lr_mult: 0 1089 | } 1090 | } 1091 | 1092 | layer { 1093 | bottom: "res3a_branch2c" 1094 | top: "res3a_branch2c" 1095 | name: "scale3a_branch2c" 1096 | type: "Scale" 1097 | 1098 | 1099 | scale_param { 1100 | bias_term: true 1101 | } 1102 | param { 1103 | name: "scale3a_branch2c_0" 1104 | lr_mult: 0 1105 | } 1106 | param { 1107 | name: "scale3a_branch2c_1" 1108 | lr_mult: 0 1109 | } 1110 | } 1111 | 1112 | layer { 1113 | bottom: "res3a_branch1" 1114 | bottom: "res3a_branch2c" 1115 | top: "res3a" 1116 | name: "res3a" 1117 | type: "Eltwise" 1118 | 1119 | 1120 | } 1121 | 1122 | layer { 1123 | bottom: "res3a" 1124 | top: "res3a" 1125 | name: "res3a_relu" 1126 | type: "ReLU" 1127 | } 1128 | 1129 | layer { 1130 | bottom: "res3a" 1131 | top: "res3b1_branch2a" 1132 | name: "res3b1_branch2a" 1133 | type: "Convolution" 1134 | 1135 | 1136 | param { 1137 | name: "res3b1_branch2a_0" 1138 | lr_mult: 1 1139 | decay_mult: 1 1140 | } 1141 | convolution_param { 1142 | num_output: 128 1143 | kernel_size: 1 1144 | pad: 0 1145 | stride: 1 1146 | bias_term: false 1147 | } 1148 | } 1149 | 1150 | layer { 1151 | bottom: "res3b1_branch2a" 1152 | top: "res3b1_branch2a" 1153 | name: "bn3b1_branch2a" 1154 | type: "BatchNorm" 1155 | 1156 | 1157 | batch_norm_param { 1158 | use_global_stats: true 1159 | } 1160 | param { 1161 | name: "bn3b1_branch2a_0" 1162 | lr_mult: 0 1163 | } 1164 | param { 1165 | name: "bn3b1_branch2a_1" 1166 | lr_mult: 0 1167 | } 1168 | param { 1169 | name: "bn3b1_branch2a_2" 1170 | lr_mult: 0 1171 | } 1172 | } 1173 | 1174 | layer { 1175 | bottom: "res3b1_branch2a" 1176 | top: "res3b1_branch2a" 1177 | name: "scale3b1_branch2a" 1178 | type: "Scale" 1179 | 1180 | 1181 | scale_param { 1182 | bias_term: true 1183 | } 1184 | param { 1185 | name: "scale3b1_branch2a_0" 1186 | lr_mult: 0 1187 | } 1188 | param { 1189 | name: "scale3b1_branch2a_1" 1190 | lr_mult: 0 1191 | } 1192 | } 1193 | 1194 | layer { 1195 | top: "res3b1_branch2a" 1196 | bottom: "res3b1_branch2a" 1197 | name: "res3b1_branch2a_relu" 1198 | type: "ReLU" 1199 | } 1200 | 1201 | layer { 1202 | bottom: "res3b1_branch2a" 1203 | top: "res3b1_branch2b" 1204 | name: "res3b1_branch2b" 1205 | type: "Convolution" 1206 | 1207 | 1208 | param { 1209 | name: "res3b1_branch2b_0" 1210 | lr_mult: 1 1211 | decay_mult: 1 1212 | } 1213 | convolution_param { 1214 | num_output: 128 1215 | kernel_size: 3 1216 | pad: 1 1217 | stride: 1 1218 | bias_term: false 1219 | } 1220 | } 1221 | 1222 | layer { 1223 | bottom: "res3b1_branch2b" 1224 | top: "res3b1_branch2b" 1225 | name: "bn3b1_branch2b" 1226 | type: "BatchNorm" 1227 | 1228 | 1229 | batch_norm_param { 1230 | use_global_stats: true 1231 | } 1232 | param { 1233 | name: "bn3b1_branch2b_0" 1234 | lr_mult: 0 1235 | } 1236 | param { 1237 | name: "bn3b1_branch2b_1" 1238 | lr_mult: 0 1239 | } 1240 | param { 1241 | name: "bn3b1_branch2b_2" 1242 | lr_mult: 0 1243 | } 1244 | } 1245 | 1246 | layer { 1247 | bottom: "res3b1_branch2b" 1248 | top: "res3b1_branch2b" 1249 | name: "scale3b1_branch2b" 1250 | type: "Scale" 1251 | 1252 | 1253 | scale_param { 1254 | bias_term: true 1255 | } 1256 | param { 1257 | name: "scale3b1_branch2b_0" 1258 | lr_mult: 0 1259 | } 1260 | param { 1261 | name: "scale3b1_branch2b_1" 1262 | lr_mult: 0 1263 | } 1264 | } 1265 | 1266 | layer { 1267 | top: "res3b1_branch2b" 1268 | bottom: "res3b1_branch2b" 1269 | name: "res3b1_branch2b_relu" 1270 | type: "ReLU" 1271 | } 1272 | 1273 | layer { 1274 | bottom: "res3b1_branch2b" 1275 | top: "res3b1_branch2c" 1276 | name: "res3b1_branch2c" 1277 | type: "Convolution" 1278 | 1279 | 1280 | param { 1281 | name: "res3b1_branch2c_0" 1282 | lr_mult: 1 1283 | decay_mult: 1 1284 | } 1285 | convolution_param { 1286 | num_output: 512 1287 | kernel_size: 1 1288 | pad: 0 1289 | stride: 1 1290 | bias_term: false 1291 | } 1292 | } 1293 | 1294 | layer { 1295 | bottom: "res3b1_branch2c" 1296 | top: "res3b1_branch2c" 1297 | name: "bn3b1_branch2c" 1298 | type: "BatchNorm" 1299 | 1300 | 1301 | batch_norm_param { 1302 | use_global_stats: true 1303 | } 1304 | param { 1305 | name: "bn3b1_branch2c_0" 1306 | lr_mult: 0 1307 | } 1308 | param { 1309 | name: "bn3b1_branch2c_1" 1310 | lr_mult: 0 1311 | } 1312 | param { 1313 | name: "bn3b1_branch2c_2" 1314 | lr_mult: 0 1315 | } 1316 | } 1317 | 1318 | layer { 1319 | bottom: "res3b1_branch2c" 1320 | top: "res3b1_branch2c" 1321 | name: "scale3b1_branch2c" 1322 | type: "Scale" 1323 | 1324 | 1325 | scale_param { 1326 | bias_term: true 1327 | } 1328 | param { 1329 | name: "scale3b1_branch2c_0" 1330 | lr_mult: 0 1331 | } 1332 | param { 1333 | name: "scale3b1_branch2c_1" 1334 | lr_mult: 0 1335 | } 1336 | } 1337 | 1338 | layer { 1339 | bottom: "res3a" 1340 | bottom: "res3b1_branch2c" 1341 | top: "res3b1" 1342 | name: "res3b1" 1343 | type: "Eltwise" 1344 | 1345 | 1346 | } 1347 | 1348 | layer { 1349 | bottom: "res3b1" 1350 | top: "res3b1" 1351 | name: "res3b1_relu" 1352 | type: "ReLU" 1353 | } 1354 | 1355 | layer { 1356 | bottom: "res3b1" 1357 | top: "res3b2_branch2a" 1358 | name: "res3b2_branch2a" 1359 | type: "Convolution" 1360 | 1361 | 1362 | param { 1363 | name: "res3b2_branch2a_0" 1364 | lr_mult: 1 1365 | decay_mult: 1 1366 | } 1367 | convolution_param { 1368 | num_output: 128 1369 | kernel_size: 1 1370 | pad: 0 1371 | stride: 1 1372 | bias_term: false 1373 | } 1374 | } 1375 | 1376 | layer { 1377 | bottom: "res3b2_branch2a" 1378 | top: "res3b2_branch2a" 1379 | name: "bn3b2_branch2a" 1380 | type: "BatchNorm" 1381 | 1382 | 1383 | batch_norm_param { 1384 | use_global_stats: true 1385 | } 1386 | param { 1387 | name: "bn3b2_branch2a_0" 1388 | lr_mult: 0 1389 | } 1390 | param { 1391 | name: "bn3b2_branch2a_1" 1392 | lr_mult: 0 1393 | } 1394 | param { 1395 | name: "bn3b2_branch2a_2" 1396 | lr_mult: 0 1397 | } 1398 | } 1399 | 1400 | layer { 1401 | bottom: "res3b2_branch2a" 1402 | top: "res3b2_branch2a" 1403 | name: "scale3b2_branch2a" 1404 | type: "Scale" 1405 | 1406 | 1407 | scale_param { 1408 | bias_term: true 1409 | } 1410 | param { 1411 | name: "scale3b2_branch2a_0" 1412 | lr_mult: 0 1413 | } 1414 | param { 1415 | name: "scale3b2_branch2a_1" 1416 | lr_mult: 0 1417 | } 1418 | } 1419 | 1420 | layer { 1421 | top: "res3b2_branch2a" 1422 | bottom: "res3b2_branch2a" 1423 | name: "res3b2_branch2a_relu" 1424 | type: "ReLU" 1425 | } 1426 | 1427 | layer { 1428 | bottom: "res3b2_branch2a" 1429 | top: "res3b2_branch2b" 1430 | name: "res3b2_branch2b" 1431 | type: "Convolution" 1432 | 1433 | 1434 | param { 1435 | name: "res3b2_branch2b_0" 1436 | lr_mult: 1 1437 | decay_mult: 1 1438 | } 1439 | convolution_param { 1440 | num_output: 128 1441 | kernel_size: 3 1442 | pad: 1 1443 | stride: 1 1444 | bias_term: false 1445 | } 1446 | } 1447 | 1448 | layer { 1449 | bottom: "res3b2_branch2b" 1450 | top: "res3b2_branch2b" 1451 | name: "bn3b2_branch2b" 1452 | type: "BatchNorm" 1453 | 1454 | 1455 | batch_norm_param { 1456 | use_global_stats: true 1457 | } 1458 | param { 1459 | name: "bn3b2_branch2b_0" 1460 | lr_mult: 0 1461 | } 1462 | param { 1463 | name: "bn3b2_branch2b_1" 1464 | lr_mult: 0 1465 | } 1466 | param { 1467 | name: "bn3b2_branch2b_2" 1468 | lr_mult: 0 1469 | } 1470 | } 1471 | 1472 | layer { 1473 | bottom: "res3b2_branch2b" 1474 | top: "res3b2_branch2b" 1475 | name: "scale3b2_branch2b" 1476 | type: "Scale" 1477 | 1478 | 1479 | scale_param { 1480 | bias_term: true 1481 | } 1482 | param { 1483 | name: "scale3b2_branch2b_0" 1484 | lr_mult: 0 1485 | } 1486 | param { 1487 | name: "scale3b2_branch2b_1" 1488 | lr_mult: 0 1489 | } 1490 | } 1491 | 1492 | layer { 1493 | top: "res3b2_branch2b" 1494 | bottom: "res3b2_branch2b" 1495 | name: "res3b2_branch2b_relu" 1496 | type: "ReLU" 1497 | } 1498 | 1499 | layer { 1500 | bottom: "res3b2_branch2b" 1501 | top: "res3b2_branch2c" 1502 | name: "res3b2_branch2c" 1503 | type: "Convolution" 1504 | 1505 | 1506 | param { 1507 | name: "res3b2_branch2c_0" 1508 | lr_mult: 1 1509 | decay_mult: 1 1510 | } 1511 | convolution_param { 1512 | num_output: 512 1513 | kernel_size: 1 1514 | pad: 0 1515 | stride: 1 1516 | bias_term: false 1517 | } 1518 | } 1519 | 1520 | layer { 1521 | bottom: "res3b2_branch2c" 1522 | top: "res3b2_branch2c" 1523 | name: "bn3b2_branch2c" 1524 | type: "BatchNorm" 1525 | 1526 | 1527 | batch_norm_param { 1528 | use_global_stats: true 1529 | } 1530 | param { 1531 | name: "bn3b2_branch2c_0" 1532 | lr_mult: 0 1533 | } 1534 | param { 1535 | name: "bn3b2_branch2c_1" 1536 | lr_mult: 0 1537 | } 1538 | param { 1539 | name: "bn3b2_branch2c_2" 1540 | lr_mult: 0 1541 | } 1542 | } 1543 | 1544 | layer { 1545 | bottom: "res3b2_branch2c" 1546 | top: "res3b2_branch2c" 1547 | name: "scale3b2_branch2c" 1548 | type: "Scale" 1549 | 1550 | 1551 | scale_param { 1552 | bias_term: true 1553 | } 1554 | param { 1555 | name: "scale3b2_branch2c_0" 1556 | lr_mult: 0 1557 | } 1558 | param { 1559 | name: "scale3b2_branch2c_1" 1560 | lr_mult: 0 1561 | } 1562 | } 1563 | 1564 | layer { 1565 | bottom: "res3b1" 1566 | bottom: "res3b2_branch2c" 1567 | top: "res3b2" 1568 | name: "res3b2" 1569 | type: "Eltwise" 1570 | 1571 | 1572 | } 1573 | 1574 | layer { 1575 | bottom: "res3b2" 1576 | top: "res3b2" 1577 | name: "res3b2_relu" 1578 | type: "ReLU" 1579 | } 1580 | 1581 | layer { 1582 | bottom: "res3b2" 1583 | top: "res3b3_branch2a" 1584 | name: "res3b3_branch2a" 1585 | type: "Convolution" 1586 | 1587 | 1588 | param { 1589 | name: "res3b3_branch2a_0" 1590 | lr_mult: 1 1591 | decay_mult: 1 1592 | } 1593 | convolution_param { 1594 | num_output: 128 1595 | kernel_size: 1 1596 | pad: 0 1597 | stride: 1 1598 | bias_term: false 1599 | } 1600 | } 1601 | 1602 | layer { 1603 | bottom: "res3b3_branch2a" 1604 | top: "res3b3_branch2a" 1605 | name: "bn3b3_branch2a" 1606 | type: "BatchNorm" 1607 | 1608 | 1609 | batch_norm_param { 1610 | use_global_stats: true 1611 | } 1612 | param { 1613 | name: "bn3b3_branch2a_0" 1614 | lr_mult: 0 1615 | } 1616 | param { 1617 | name: "bn3b3_branch2a_1" 1618 | lr_mult: 0 1619 | } 1620 | param { 1621 | name: "bn3b3_branch2a_2" 1622 | lr_mult: 0 1623 | } 1624 | } 1625 | 1626 | layer { 1627 | bottom: "res3b3_branch2a" 1628 | top: "res3b3_branch2a" 1629 | name: "scale3b3_branch2a" 1630 | type: "Scale" 1631 | 1632 | 1633 | scale_param { 1634 | bias_term: true 1635 | } 1636 | param { 1637 | name: "scale3b3_branch2a_0" 1638 | lr_mult: 0 1639 | } 1640 | param { 1641 | name: "scale3b3_branch2a_1" 1642 | lr_mult: 0 1643 | } 1644 | } 1645 | 1646 | layer { 1647 | top: "res3b3_branch2a" 1648 | bottom: "res3b3_branch2a" 1649 | name: "res3b3_branch2a_relu" 1650 | type: "ReLU" 1651 | } 1652 | 1653 | layer { 1654 | bottom: "res3b3_branch2a" 1655 | top: "res3b3_branch2b" 1656 | name: "res3b3_branch2b" 1657 | type: "Convolution" 1658 | 1659 | 1660 | param { 1661 | name: "res3b3_branch2b_0" 1662 | lr_mult: 1 1663 | decay_mult: 1 1664 | } 1665 | convolution_param { 1666 | num_output: 128 1667 | kernel_size: 3 1668 | pad: 1 1669 | stride: 1 1670 | bias_term: false 1671 | } 1672 | } 1673 | 1674 | layer { 1675 | bottom: "res3b3_branch2b" 1676 | top: "res3b3_branch2b" 1677 | name: "bn3b3_branch2b" 1678 | type: "BatchNorm" 1679 | 1680 | 1681 | batch_norm_param { 1682 | use_global_stats: true 1683 | } 1684 | param { 1685 | name: "bn3b3_branch2b_0" 1686 | lr_mult: 0 1687 | } 1688 | param { 1689 | name: "bn3b3_branch2b_1" 1690 | lr_mult: 0 1691 | } 1692 | param { 1693 | name: "bn3b3_branch2b_2" 1694 | lr_mult: 0 1695 | } 1696 | } 1697 | 1698 | layer { 1699 | bottom: "res3b3_branch2b" 1700 | top: "res3b3_branch2b" 1701 | name: "scale3b3_branch2b" 1702 | type: "Scale" 1703 | 1704 | 1705 | scale_param { 1706 | bias_term: true 1707 | } 1708 | param { 1709 | name: "scale3b3_branch2b_0" 1710 | lr_mult: 0 1711 | } 1712 | param { 1713 | name: "scale3b3_branch2b_1" 1714 | lr_mult: 0 1715 | } 1716 | } 1717 | 1718 | layer { 1719 | top: "res3b3_branch2b" 1720 | bottom: "res3b3_branch2b" 1721 | name: "res3b3_branch2b_relu" 1722 | type: "ReLU" 1723 | } 1724 | 1725 | layer { 1726 | bottom: "res3b3_branch2b" 1727 | top: "res3b3_branch2c" 1728 | name: "res3b3_branch2c" 1729 | type: "Convolution" 1730 | 1731 | 1732 | param { 1733 | name: "res3b3_branch2c_0" 1734 | lr_mult: 1 1735 | decay_mult: 1 1736 | } 1737 | convolution_param { 1738 | num_output: 512 1739 | kernel_size: 1 1740 | pad: 0 1741 | stride: 1 1742 | bias_term: false 1743 | } 1744 | } 1745 | 1746 | layer { 1747 | bottom: "res3b3_branch2c" 1748 | top: "res3b3_branch2c" 1749 | name: "bn3b3_branch2c" 1750 | type: "BatchNorm" 1751 | 1752 | 1753 | batch_norm_param { 1754 | use_global_stats: true 1755 | } 1756 | param { 1757 | name: "bn3b3_branch2c_0" 1758 | lr_mult: 0 1759 | } 1760 | param { 1761 | name: "bn3b3_branch2c_1" 1762 | lr_mult: 0 1763 | } 1764 | param { 1765 | name: "bn3b3_branch2c_2" 1766 | lr_mult: 0 1767 | } 1768 | } 1769 | 1770 | layer { 1771 | bottom: "res3b3_branch2c" 1772 | top: "res3b3_branch2c" 1773 | name: "scale3b3_branch2c" 1774 | type: "Scale" 1775 | 1776 | 1777 | scale_param { 1778 | bias_term: true 1779 | } 1780 | param { 1781 | name: "scale3b3_branch2c_0" 1782 | lr_mult: 0 1783 | } 1784 | param { 1785 | name: "scale3b3_branch2c_1" 1786 | lr_mult: 0 1787 | } 1788 | } 1789 | 1790 | layer { 1791 | bottom: "res3b2" 1792 | bottom: "res3b3_branch2c" 1793 | top: "res3b3" 1794 | name: "res3b3" 1795 | type: "Eltwise" 1796 | 1797 | 1798 | } 1799 | 1800 | layer { 1801 | bottom: "res3b3" 1802 | top: "res3b3" 1803 | name: "res3b3_relu" 1804 | type: "ReLU" 1805 | } 1806 | 1807 | layer { 1808 | bottom: "res3b3" 1809 | top: "res4a_branch1" 1810 | name: "res4a_branch1" 1811 | type: "Convolution" 1812 | 1813 | 1814 | param { 1815 | name: "res4a_branch1_0" 1816 | lr_mult: 1 1817 | decay_mult: 1 1818 | } 1819 | convolution_param { 1820 | num_output: 1024 1821 | kernel_size: 1 1822 | pad: 0 1823 | stride: 1 1824 | bias_term: false 1825 | } 1826 | } 1827 | 1828 | layer { 1829 | bottom: "res4a_branch1" 1830 | top: "res4a_branch1" 1831 | name: "bn4a_branch1" 1832 | type: "BatchNorm" 1833 | 1834 | 1835 | batch_norm_param { 1836 | use_global_stats: true 1837 | } 1838 | param { 1839 | name: "bn4a_branch1_0" 1840 | lr_mult: 0 1841 | } 1842 | param { 1843 | name: "bn4a_branch1_1" 1844 | lr_mult: 0 1845 | } 1846 | param { 1847 | name: "bn4a_branch1_2" 1848 | lr_mult: 0 1849 | } 1850 | } 1851 | 1852 | layer { 1853 | bottom: "res4a_branch1" 1854 | top: "res4a_branch1" 1855 | name: "scale4a_branch1" 1856 | type: "Scale" 1857 | 1858 | 1859 | scale_param { 1860 | bias_term: true 1861 | } 1862 | param { 1863 | name: "scale4a_branch1_0" 1864 | lr_mult: 0 1865 | } 1866 | param { 1867 | name: "scale4a_branch1_1" 1868 | lr_mult: 0 1869 | } 1870 | } 1871 | 1872 | layer { 1873 | bottom: "res3b3" 1874 | top: "res4a_branch2a" 1875 | name: "res4a_branch2a" 1876 | type: "Convolution" 1877 | 1878 | 1879 | param { 1880 | name: "res4a_branch2a_0" 1881 | lr_mult: 1 1882 | decay_mult: 1 1883 | } 1884 | convolution_param { 1885 | num_output: 256 1886 | kernel_size: 1 1887 | pad: 0 1888 | stride: 1 1889 | bias_term: false 1890 | } 1891 | } 1892 | 1893 | layer { 1894 | bottom: "res4a_branch2a" 1895 | top: "res4a_branch2a" 1896 | name: "bn4a_branch2a" 1897 | type: "BatchNorm" 1898 | 1899 | 1900 | batch_norm_param { 1901 | use_global_stats: true 1902 | } 1903 | param { 1904 | name: "bn4a_branch2a_0" 1905 | lr_mult: 0 1906 | } 1907 | param { 1908 | name: "bn4a_branch2a_1" 1909 | lr_mult: 0 1910 | } 1911 | param { 1912 | name: "bn4a_branch2a_2" 1913 | lr_mult: 0 1914 | } 1915 | } 1916 | 1917 | layer { 1918 | bottom: "res4a_branch2a" 1919 | top: "res4a_branch2a" 1920 | name: "scale4a_branch2a" 1921 | type: "Scale" 1922 | 1923 | 1924 | scale_param { 1925 | bias_term: true 1926 | } 1927 | param { 1928 | name: "scale4a_branch2a_0" 1929 | lr_mult: 0 1930 | } 1931 | param { 1932 | name: "scale4a_branch2a_1" 1933 | lr_mult: 0 1934 | } 1935 | } 1936 | 1937 | layer { 1938 | top: "res4a_branch2a" 1939 | bottom: "res4a_branch2a" 1940 | name: "res4a_branch2a_relu" 1941 | type: "ReLU" 1942 | } 1943 | 1944 | layer { 1945 | bottom: "res4a_branch2a" 1946 | top: "res4a_branch2b" 1947 | name: "res4a_branch2b" 1948 | type: "Convolution" 1949 | 1950 | 1951 | param { 1952 | name: "res4a_branch2b_0" 1953 | lr_mult: 1 1954 | decay_mult: 1 1955 | } 1956 | convolution_param { 1957 | num_output: 256 1958 | kernel_size: 3 1959 | pad: 2 1960 | dilation: 2 1961 | stride: 1 1962 | bias_term: false 1963 | } 1964 | } 1965 | 1966 | layer { 1967 | bottom: "res4a_branch2b" 1968 | top: "res4a_branch2b" 1969 | name: "bn4a_branch2b" 1970 | type: "BatchNorm" 1971 | 1972 | 1973 | batch_norm_param { 1974 | use_global_stats: true 1975 | } 1976 | param { 1977 | name: "bn4a_branch2b_0" 1978 | lr_mult: 0 1979 | } 1980 | param { 1981 | name: "bn4a_branch2b_1" 1982 | lr_mult: 0 1983 | } 1984 | param { 1985 | name: "bn4a_branch2b_2" 1986 | lr_mult: 0 1987 | } 1988 | } 1989 | 1990 | layer { 1991 | bottom: "res4a_branch2b" 1992 | top: "res4a_branch2b" 1993 | name: "scale4a_branch2b" 1994 | type: "Scale" 1995 | 1996 | 1997 | scale_param { 1998 | bias_term: true 1999 | } 2000 | param { 2001 | name: "scale4a_branch2b_0" 2002 | lr_mult: 0 2003 | } 2004 | param { 2005 | name: "scale4a_branch2b_1" 2006 | lr_mult: 0 2007 | } 2008 | } 2009 | 2010 | layer { 2011 | top: "res4a_branch2b" 2012 | bottom: "res4a_branch2b" 2013 | name: "res4a_branch2b_relu" 2014 | type: "ReLU" 2015 | } 2016 | 2017 | layer { 2018 | bottom: "res4a_branch2b" 2019 | top: "res4a_branch2c" 2020 | name: "res4a_branch2c" 2021 | type: "Convolution" 2022 | 2023 | 2024 | param { 2025 | name: "res4a_branch2c_0" 2026 | lr_mult: 1 2027 | decay_mult: 1 2028 | } 2029 | convolution_param { 2030 | num_output: 1024 2031 | kernel_size: 1 2032 | pad: 0 2033 | stride: 1 2034 | bias_term: false 2035 | } 2036 | } 2037 | 2038 | layer { 2039 | bottom: "res4a_branch2c" 2040 | top: "res4a_branch2c" 2041 | name: "bn4a_branch2c" 2042 | type: "BatchNorm" 2043 | 2044 | 2045 | batch_norm_param { 2046 | use_global_stats: true 2047 | } 2048 | param { 2049 | name: "bn4a_branch2c_0" 2050 | lr_mult: 0 2051 | } 2052 | param { 2053 | name: "bn4a_branch2c_1" 2054 | lr_mult: 0 2055 | } 2056 | param { 2057 | name: "bn4a_branch2c_2" 2058 | lr_mult: 0 2059 | } 2060 | } 2061 | 2062 | layer { 2063 | bottom: "res4a_branch2c" 2064 | top: "res4a_branch2c" 2065 | name: "scale4a_branch2c" 2066 | type: "Scale" 2067 | 2068 | 2069 | scale_param { 2070 | bias_term: true 2071 | } 2072 | param { 2073 | name: "scale4a_branch2c_0" 2074 | lr_mult: 0 2075 | } 2076 | param { 2077 | name: "scale4a_branch2c_1" 2078 | lr_mult: 0 2079 | } 2080 | } 2081 | 2082 | layer { 2083 | bottom: "res4a_branch1" 2084 | bottom: "res4a_branch2c" 2085 | top: "res4a" 2086 | name: "res4a" 2087 | type: "Eltwise" 2088 | 2089 | 2090 | } 2091 | 2092 | layer { 2093 | bottom: "res4a" 2094 | top: "res4a" 2095 | name: "res4a_relu" 2096 | type: "ReLU" 2097 | } 2098 | 2099 | layer { 2100 | bottom: "res4a" 2101 | top: "res4b1_branch2a" 2102 | name: "res4b1_branch2a" 2103 | type: "Convolution" 2104 | 2105 | 2106 | param { 2107 | name: "res4b1_branch2a_0" 2108 | lr_mult: 1 2109 | decay_mult: 1 2110 | } 2111 | convolution_param { 2112 | num_output: 256 2113 | kernel_size: 1 2114 | pad: 0 2115 | stride: 1 2116 | bias_term: false 2117 | } 2118 | } 2119 | 2120 | layer { 2121 | bottom: "res4b1_branch2a" 2122 | top: "res4b1_branch2a" 2123 | name: "bn4b1_branch2a" 2124 | type: "BatchNorm" 2125 | 2126 | 2127 | batch_norm_param { 2128 | use_global_stats: true 2129 | } 2130 | param { 2131 | name: "bn4b1_branch2a_0" 2132 | lr_mult: 0 2133 | } 2134 | param { 2135 | name: "bn4b1_branch2a_1" 2136 | lr_mult: 0 2137 | } 2138 | param { 2139 | name: "bn4b1_branch2a_2" 2140 | lr_mult: 0 2141 | } 2142 | } 2143 | 2144 | layer { 2145 | bottom: "res4b1_branch2a" 2146 | top: "res4b1_branch2a" 2147 | name: "scale4b1_branch2a" 2148 | type: "Scale" 2149 | 2150 | 2151 | scale_param { 2152 | bias_term: true 2153 | } 2154 | param { 2155 | name: "scale4b1_branch2a_0" 2156 | lr_mult: 0 2157 | } 2158 | param { 2159 | name: "scale4b1_branch2a_1" 2160 | lr_mult: 0 2161 | } 2162 | } 2163 | 2164 | layer { 2165 | top: "res4b1_branch2a" 2166 | bottom: "res4b1_branch2a" 2167 | name: "res4b1_branch2a_relu" 2168 | type: "ReLU" 2169 | } 2170 | 2171 | layer { 2172 | bottom: "res4b1_branch2a" 2173 | top: "res4b1_branch2b" 2174 | name: "res4b1_branch2b" 2175 | type: "Convolution" 2176 | 2177 | 2178 | param { 2179 | name: "res4b1_branch2b_0" 2180 | lr_mult: 1 2181 | decay_mult: 1 2182 | } 2183 | convolution_param { 2184 | num_output: 256 2185 | kernel_size: 3 2186 | pad: 2 2187 | dilation: 2 2188 | stride: 1 2189 | bias_term: false 2190 | } 2191 | } 2192 | 2193 | layer { 2194 | bottom: "res4b1_branch2b" 2195 | top: "res4b1_branch2b" 2196 | name: "bn4b1_branch2b" 2197 | type: "BatchNorm" 2198 | 2199 | 2200 | batch_norm_param { 2201 | use_global_stats: true 2202 | } 2203 | param { 2204 | name: "bn4b1_branch2b_0" 2205 | lr_mult: 0 2206 | } 2207 | param { 2208 | name: "bn4b1_branch2b_1" 2209 | lr_mult: 0 2210 | } 2211 | param { 2212 | name: "bn4b1_branch2b_2" 2213 | lr_mult: 0 2214 | } 2215 | } 2216 | 2217 | layer { 2218 | bottom: "res4b1_branch2b" 2219 | top: "res4b1_branch2b" 2220 | name: "scale4b1_branch2b" 2221 | type: "Scale" 2222 | 2223 | 2224 | scale_param { 2225 | bias_term: true 2226 | } 2227 | param { 2228 | name: "scale4b1_branch2b_0" 2229 | lr_mult: 0 2230 | } 2231 | param { 2232 | name: "scale4b1_branch2b_1" 2233 | lr_mult: 0 2234 | } 2235 | } 2236 | 2237 | layer { 2238 | top: "res4b1_branch2b" 2239 | bottom: "res4b1_branch2b" 2240 | name: "res4b1_branch2b_relu" 2241 | type: "ReLU" 2242 | } 2243 | 2244 | layer { 2245 | bottom: "res4b1_branch2b" 2246 | top: "res4b1_branch2c" 2247 | name: "res4b1_branch2c" 2248 | type: "Convolution" 2249 | 2250 | 2251 | param { 2252 | name: "res4b1_branch2c_0" 2253 | lr_mult: 1 2254 | decay_mult: 1 2255 | } 2256 | convolution_param { 2257 | num_output: 1024 2258 | kernel_size: 1 2259 | pad: 0 2260 | stride: 1 2261 | bias_term: false 2262 | } 2263 | } 2264 | 2265 | layer { 2266 | bottom: "res4b1_branch2c" 2267 | top: "res4b1_branch2c" 2268 | name: "bn4b1_branch2c" 2269 | type: "BatchNorm" 2270 | 2271 | 2272 | batch_norm_param { 2273 | use_global_stats: true 2274 | } 2275 | param { 2276 | name: "bn4b1_branch2c_0" 2277 | lr_mult: 0 2278 | } 2279 | param { 2280 | name: "bn4b1_branch2c_1" 2281 | lr_mult: 0 2282 | } 2283 | param { 2284 | name: "bn4b1_branch2c_2" 2285 | lr_mult: 0 2286 | } 2287 | } 2288 | 2289 | layer { 2290 | bottom: "res4b1_branch2c" 2291 | top: "res4b1_branch2c" 2292 | name: "scale4b1_branch2c" 2293 | type: "Scale" 2294 | 2295 | 2296 | scale_param { 2297 | bias_term: true 2298 | } 2299 | param { 2300 | name: "scale4b1_branch2c_0" 2301 | lr_mult: 0 2302 | } 2303 | param { 2304 | name: "scale4b1_branch2c_1" 2305 | lr_mult: 0 2306 | } 2307 | } 2308 | 2309 | layer { 2310 | bottom: "res4a" 2311 | bottom: "res4b1_branch2c" 2312 | top: "res4b1" 2313 | name: "res4b1" 2314 | type: "Eltwise" 2315 | 2316 | 2317 | } 2318 | 2319 | layer { 2320 | bottom: "res4b1" 2321 | top: "res4b1" 2322 | name: "res4b1_relu" 2323 | type: "ReLU" 2324 | } 2325 | 2326 | layer { 2327 | bottom: "res4b1" 2328 | top: "res4b2_branch2a" 2329 | name: "res4b2_branch2a" 2330 | type: "Convolution" 2331 | 2332 | 2333 | param { 2334 | name: "res4b2_branch2a_0" 2335 | lr_mult: 1 2336 | decay_mult: 1 2337 | } 2338 | convolution_param { 2339 | num_output: 256 2340 | kernel_size: 1 2341 | pad: 0 2342 | stride: 1 2343 | bias_term: false 2344 | } 2345 | } 2346 | 2347 | layer { 2348 | bottom: "res4b2_branch2a" 2349 | top: "res4b2_branch2a" 2350 | name: "bn4b2_branch2a" 2351 | type: "BatchNorm" 2352 | 2353 | 2354 | batch_norm_param { 2355 | use_global_stats: true 2356 | } 2357 | param { 2358 | name: "bn4b2_branch2a_0" 2359 | lr_mult: 0 2360 | } 2361 | param { 2362 | name: "bn4b2_branch2a_1" 2363 | lr_mult: 0 2364 | } 2365 | param { 2366 | name: "bn4b2_branch2a_2" 2367 | lr_mult: 0 2368 | } 2369 | } 2370 | 2371 | layer { 2372 | bottom: "res4b2_branch2a" 2373 | top: "res4b2_branch2a" 2374 | name: "scale4b2_branch2a" 2375 | type: "Scale" 2376 | 2377 | 2378 | scale_param { 2379 | bias_term: true 2380 | } 2381 | param { 2382 | name: "scale4b2_branch2a_0" 2383 | lr_mult: 0 2384 | } 2385 | param { 2386 | name: "scale4b2_branch2a_1" 2387 | lr_mult: 0 2388 | } 2389 | } 2390 | 2391 | layer { 2392 | top: "res4b2_branch2a" 2393 | bottom: "res4b2_branch2a" 2394 | name: "res4b2_branch2a_relu" 2395 | type: "ReLU" 2396 | } 2397 | 2398 | layer { 2399 | bottom: "res4b2_branch2a" 2400 | top: "res4b2_branch2b" 2401 | name: "res4b2_branch2b" 2402 | type: "Convolution" 2403 | 2404 | 2405 | param { 2406 | name: "res4b2_branch2b_0" 2407 | lr_mult: 1 2408 | decay_mult: 1 2409 | } 2410 | convolution_param { 2411 | num_output: 256 2412 | kernel_size: 3 2413 | pad: 2 2414 | dilation: 2 2415 | stride: 1 2416 | bias_term: false 2417 | } 2418 | } 2419 | 2420 | layer { 2421 | bottom: "res4b2_branch2b" 2422 | top: "res4b2_branch2b" 2423 | name: "bn4b2_branch2b" 2424 | type: "BatchNorm" 2425 | 2426 | 2427 | batch_norm_param { 2428 | use_global_stats: true 2429 | } 2430 | param { 2431 | name: "bn4b2_branch2b_0" 2432 | lr_mult: 0 2433 | } 2434 | param { 2435 | name: "bn4b2_branch2b_1" 2436 | lr_mult: 0 2437 | } 2438 | param { 2439 | name: "bn4b2_branch2b_2" 2440 | lr_mult: 0 2441 | } 2442 | } 2443 | 2444 | layer { 2445 | bottom: "res4b2_branch2b" 2446 | top: "res4b2_branch2b" 2447 | name: "scale4b2_branch2b" 2448 | type: "Scale" 2449 | 2450 | 2451 | scale_param { 2452 | bias_term: true 2453 | } 2454 | param { 2455 | name: "scale4b2_branch2b_0" 2456 | lr_mult: 0 2457 | } 2458 | param { 2459 | name: "scale4b2_branch2b_1" 2460 | lr_mult: 0 2461 | } 2462 | } 2463 | 2464 | layer { 2465 | top: "res4b2_branch2b" 2466 | bottom: "res4b2_branch2b" 2467 | name: "res4b2_branch2b_relu" 2468 | type: "ReLU" 2469 | } 2470 | 2471 | layer { 2472 | bottom: "res4b2_branch2b" 2473 | top: "res4b2_branch2c" 2474 | name: "res4b2_branch2c" 2475 | type: "Convolution" 2476 | 2477 | 2478 | param { 2479 | name: "res4b2_branch2c_0" 2480 | lr_mult: 1 2481 | decay_mult: 1 2482 | } 2483 | convolution_param { 2484 | num_output: 1024 2485 | kernel_size: 1 2486 | pad: 0 2487 | stride: 1 2488 | bias_term: false 2489 | } 2490 | } 2491 | 2492 | layer { 2493 | bottom: "res4b2_branch2c" 2494 | top: "res4b2_branch2c" 2495 | name: "bn4b2_branch2c" 2496 | type: "BatchNorm" 2497 | 2498 | 2499 | batch_norm_param { 2500 | use_global_stats: true 2501 | } 2502 | param { 2503 | name: "bn4b2_branch2c_0" 2504 | lr_mult: 0 2505 | } 2506 | param { 2507 | name: "bn4b2_branch2c_1" 2508 | lr_mult: 0 2509 | } 2510 | param { 2511 | name: "bn4b2_branch2c_2" 2512 | lr_mult: 0 2513 | } 2514 | } 2515 | 2516 | layer { 2517 | bottom: "res4b2_branch2c" 2518 | top: "res4b2_branch2c" 2519 | name: "scale4b2_branch2c" 2520 | type: "Scale" 2521 | 2522 | 2523 | scale_param { 2524 | bias_term: true 2525 | } 2526 | param { 2527 | name: "scale4b2_branch2c_0" 2528 | lr_mult: 0 2529 | } 2530 | param { 2531 | name: "scale4b2_branch2c_1" 2532 | lr_mult: 0 2533 | } 2534 | } 2535 | 2536 | layer { 2537 | bottom: "res4b1" 2538 | bottom: "res4b2_branch2c" 2539 | top: "res4b2" 2540 | name: "res4b2" 2541 | type: "Eltwise" 2542 | 2543 | 2544 | } 2545 | 2546 | layer { 2547 | bottom: "res4b2" 2548 | top: "res4b2" 2549 | name: "res4b2_relu" 2550 | type: "ReLU" 2551 | } 2552 | 2553 | layer { 2554 | bottom: "res4b2" 2555 | top: "res4b3_branch2a" 2556 | name: "res4b3_branch2a" 2557 | type: "Convolution" 2558 | 2559 | 2560 | param { 2561 | name: "res4b3_branch2a_0" 2562 | lr_mult: 1 2563 | decay_mult: 1 2564 | } 2565 | convolution_param { 2566 | num_output: 256 2567 | kernel_size: 1 2568 | pad: 0 2569 | stride: 1 2570 | bias_term: false 2571 | } 2572 | } 2573 | 2574 | layer { 2575 | bottom: "res4b3_branch2a" 2576 | top: "res4b3_branch2a" 2577 | name: "bn4b3_branch2a" 2578 | type: "BatchNorm" 2579 | 2580 | 2581 | batch_norm_param { 2582 | use_global_stats: true 2583 | } 2584 | param { 2585 | name: "bn4b3_branch2a_0" 2586 | lr_mult: 0 2587 | } 2588 | param { 2589 | name: "bn4b3_branch2a_1" 2590 | lr_mult: 0 2591 | } 2592 | param { 2593 | name: "bn4b3_branch2a_2" 2594 | lr_mult: 0 2595 | } 2596 | } 2597 | 2598 | layer { 2599 | bottom: "res4b3_branch2a" 2600 | top: "res4b3_branch2a" 2601 | name: "scale4b3_branch2a" 2602 | type: "Scale" 2603 | 2604 | 2605 | scale_param { 2606 | bias_term: true 2607 | } 2608 | param { 2609 | name: "scale4b3_branch2a_0" 2610 | lr_mult: 0 2611 | } 2612 | param { 2613 | name: "scale4b3_branch2a_1" 2614 | lr_mult: 0 2615 | } 2616 | } 2617 | 2618 | layer { 2619 | top: "res4b3_branch2a" 2620 | bottom: "res4b3_branch2a" 2621 | name: "res4b3_branch2a_relu" 2622 | type: "ReLU" 2623 | } 2624 | 2625 | layer { 2626 | bottom: "res4b3_branch2a" 2627 | top: "res4b3_branch2b" 2628 | name: "res4b3_branch2b" 2629 | type: "Convolution" 2630 | 2631 | 2632 | param { 2633 | name: "res4b3_branch2b_0" 2634 | lr_mult: 1 2635 | decay_mult: 1 2636 | } 2637 | convolution_param { 2638 | num_output: 256 2639 | kernel_size: 3 2640 | pad: 2 2641 | dilation: 2 2642 | stride: 1 2643 | bias_term: false 2644 | } 2645 | } 2646 | 2647 | layer { 2648 | bottom: "res4b3_branch2b" 2649 | top: "res4b3_branch2b" 2650 | name: "bn4b3_branch2b" 2651 | type: "BatchNorm" 2652 | 2653 | 2654 | batch_norm_param { 2655 | use_global_stats: true 2656 | } 2657 | param { 2658 | name: "bn4b3_branch2b_0" 2659 | lr_mult: 0 2660 | } 2661 | param { 2662 | name: "bn4b3_branch2b_1" 2663 | lr_mult: 0 2664 | } 2665 | param { 2666 | name: "bn4b3_branch2b_2" 2667 | lr_mult: 0 2668 | } 2669 | } 2670 | 2671 | layer { 2672 | bottom: "res4b3_branch2b" 2673 | top: "res4b3_branch2b" 2674 | name: "scale4b3_branch2b" 2675 | type: "Scale" 2676 | 2677 | 2678 | scale_param { 2679 | bias_term: true 2680 | } 2681 | param { 2682 | name: "scale4b3_branch2b_0" 2683 | lr_mult: 0 2684 | } 2685 | param { 2686 | name: "scale4b3_branch2b_1" 2687 | lr_mult: 0 2688 | } 2689 | } 2690 | 2691 | layer { 2692 | top: "res4b3_branch2b" 2693 | bottom: "res4b3_branch2b" 2694 | name: "res4b3_branch2b_relu" 2695 | type: "ReLU" 2696 | } 2697 | 2698 | layer { 2699 | bottom: "res4b3_branch2b" 2700 | top: "res4b3_branch2c" 2701 | name: "res4b3_branch2c" 2702 | type: "Convolution" 2703 | 2704 | 2705 | param { 2706 | name: "res4b3_branch2c_0" 2707 | lr_mult: 1 2708 | decay_mult: 1 2709 | } 2710 | convolution_param { 2711 | num_output: 1024 2712 | kernel_size: 1 2713 | pad: 0 2714 | stride: 1 2715 | bias_term: false 2716 | } 2717 | } 2718 | 2719 | layer { 2720 | bottom: "res4b3_branch2c" 2721 | top: "res4b3_branch2c" 2722 | name: "bn4b3_branch2c" 2723 | type: "BatchNorm" 2724 | 2725 | 2726 | batch_norm_param { 2727 | use_global_stats: true 2728 | } 2729 | param { 2730 | name: "bn4b3_branch2c_0" 2731 | lr_mult: 0 2732 | } 2733 | param { 2734 | name: "bn4b3_branch2c_1" 2735 | lr_mult: 0 2736 | } 2737 | param { 2738 | name: "bn4b3_branch2c_2" 2739 | lr_mult: 0 2740 | } 2741 | } 2742 | 2743 | layer { 2744 | bottom: "res4b3_branch2c" 2745 | top: "res4b3_branch2c" 2746 | name: "scale4b3_branch2c" 2747 | type: "Scale" 2748 | 2749 | 2750 | scale_param { 2751 | bias_term: true 2752 | } 2753 | param { 2754 | name: "scale4b3_branch2c_0" 2755 | lr_mult: 0 2756 | } 2757 | param { 2758 | name: "scale4b3_branch2c_1" 2759 | lr_mult: 0 2760 | } 2761 | } 2762 | 2763 | layer { 2764 | bottom: "res4b2" 2765 | bottom: "res4b3_branch2c" 2766 | top: "res4b3" 2767 | name: "res4b3" 2768 | type: "Eltwise" 2769 | 2770 | 2771 | } 2772 | 2773 | layer { 2774 | bottom: "res4b3" 2775 | top: "res4b3" 2776 | name: "res4b3_relu" 2777 | type: "ReLU" 2778 | } 2779 | 2780 | layer { 2781 | bottom: "res4b3" 2782 | top: "res4b4_branch2a" 2783 | name: "res4b4_branch2a" 2784 | type: "Convolution" 2785 | 2786 | 2787 | param { 2788 | name: "res4b4_branch2a_0" 2789 | lr_mult: 1 2790 | decay_mult: 1 2791 | } 2792 | convolution_param { 2793 | num_output: 256 2794 | kernel_size: 1 2795 | pad: 0 2796 | stride: 1 2797 | bias_term: false 2798 | } 2799 | } 2800 | 2801 | layer { 2802 | bottom: "res4b4_branch2a" 2803 | top: "res4b4_branch2a" 2804 | name: "bn4b4_branch2a" 2805 | type: "BatchNorm" 2806 | 2807 | 2808 | batch_norm_param { 2809 | use_global_stats: true 2810 | } 2811 | param { 2812 | name: "bn4b4_branch2a_0" 2813 | lr_mult: 0 2814 | } 2815 | param { 2816 | name: "bn4b4_branch2a_1" 2817 | lr_mult: 0 2818 | } 2819 | param { 2820 | name: "bn4b4_branch2a_2" 2821 | lr_mult: 0 2822 | } 2823 | } 2824 | 2825 | layer { 2826 | bottom: "res4b4_branch2a" 2827 | top: "res4b4_branch2a" 2828 | name: "scale4b4_branch2a" 2829 | type: "Scale" 2830 | 2831 | 2832 | scale_param { 2833 | bias_term: true 2834 | } 2835 | param { 2836 | name: "scale4b4_branch2a_0" 2837 | lr_mult: 0 2838 | } 2839 | param { 2840 | name: "scale4b4_branch2a_1" 2841 | lr_mult: 0 2842 | } 2843 | } 2844 | 2845 | layer { 2846 | top: "res4b4_branch2a" 2847 | bottom: "res4b4_branch2a" 2848 | name: "res4b4_branch2a_relu" 2849 | type: "ReLU" 2850 | } 2851 | 2852 | layer { 2853 | bottom: "res4b4_branch2a" 2854 | top: "res4b4_branch2b" 2855 | name: "res4b4_branch2b" 2856 | type: "Convolution" 2857 | 2858 | 2859 | param { 2860 | name: "res4b4_branch2b_0" 2861 | lr_mult: 1 2862 | decay_mult: 1 2863 | } 2864 | convolution_param { 2865 | num_output: 256 2866 | kernel_size: 3 2867 | pad: 2 2868 | dilation: 2 2869 | stride: 1 2870 | bias_term: false 2871 | } 2872 | } 2873 | 2874 | layer { 2875 | bottom: "res4b4_branch2b" 2876 | top: "res4b4_branch2b" 2877 | name: "bn4b4_branch2b" 2878 | type: "BatchNorm" 2879 | 2880 | 2881 | batch_norm_param { 2882 | use_global_stats: true 2883 | } 2884 | param { 2885 | name: "bn4b4_branch2b_0" 2886 | lr_mult: 0 2887 | } 2888 | param { 2889 | name: "bn4b4_branch2b_1" 2890 | lr_mult: 0 2891 | } 2892 | param { 2893 | name: "bn4b4_branch2b_2" 2894 | lr_mult: 0 2895 | } 2896 | } 2897 | 2898 | layer { 2899 | bottom: "res4b4_branch2b" 2900 | top: "res4b4_branch2b" 2901 | name: "scale4b4_branch2b" 2902 | type: "Scale" 2903 | 2904 | 2905 | scale_param { 2906 | bias_term: true 2907 | } 2908 | param { 2909 | name: "scale4b4_branch2b_0" 2910 | lr_mult: 0 2911 | } 2912 | param { 2913 | name: "scale4b4_branch2b_1" 2914 | lr_mult: 0 2915 | } 2916 | } 2917 | 2918 | layer { 2919 | top: "res4b4_branch2b" 2920 | bottom: "res4b4_branch2b" 2921 | name: "res4b4_branch2b_relu" 2922 | type: "ReLU" 2923 | } 2924 | 2925 | layer { 2926 | bottom: "res4b4_branch2b" 2927 | top: "res4b4_branch2c" 2928 | name: "res4b4_branch2c" 2929 | type: "Convolution" 2930 | 2931 | 2932 | param { 2933 | name: "res4b4_branch2c_0" 2934 | lr_mult: 1 2935 | decay_mult: 1 2936 | } 2937 | convolution_param { 2938 | num_output: 1024 2939 | kernel_size: 1 2940 | pad: 0 2941 | stride: 1 2942 | bias_term: false 2943 | } 2944 | } 2945 | 2946 | layer { 2947 | bottom: "res4b4_branch2c" 2948 | top: "res4b4_branch2c" 2949 | name: "bn4b4_branch2c" 2950 | type: "BatchNorm" 2951 | 2952 | 2953 | batch_norm_param { 2954 | use_global_stats: true 2955 | } 2956 | param { 2957 | name: "bn4b4_branch2c_0" 2958 | lr_mult: 0 2959 | } 2960 | param { 2961 | name: "bn4b4_branch2c_1" 2962 | lr_mult: 0 2963 | } 2964 | param { 2965 | name: "bn4b4_branch2c_2" 2966 | lr_mult: 0 2967 | } 2968 | } 2969 | 2970 | layer { 2971 | bottom: "res4b4_branch2c" 2972 | top: "res4b4_branch2c" 2973 | name: "scale4b4_branch2c" 2974 | type: "Scale" 2975 | 2976 | 2977 | scale_param { 2978 | bias_term: true 2979 | } 2980 | param { 2981 | name: "scale4b4_branch2c_0" 2982 | lr_mult: 0 2983 | } 2984 | param { 2985 | name: "scale4b4_branch2c_1" 2986 | lr_mult: 0 2987 | } 2988 | } 2989 | 2990 | layer { 2991 | bottom: "res4b3" 2992 | bottom: "res4b4_branch2c" 2993 | top: "res4b4" 2994 | name: "res4b4" 2995 | type: "Eltwise" 2996 | 2997 | 2998 | } 2999 | 3000 | layer { 3001 | bottom: "res4b4" 3002 | top: "res4b4" 3003 | name: "res4b4_relu" 3004 | type: "ReLU" 3005 | } 3006 | 3007 | layer { 3008 | bottom: "res4b4" 3009 | top: "res4b5_branch2a" 3010 | name: "res4b5_branch2a" 3011 | type: "Convolution" 3012 | 3013 | 3014 | param { 3015 | name: "res4b5_branch2a_0" 3016 | lr_mult: 1 3017 | decay_mult: 1 3018 | } 3019 | convolution_param { 3020 | num_output: 256 3021 | kernel_size: 1 3022 | pad: 0 3023 | stride: 1 3024 | bias_term: false 3025 | } 3026 | } 3027 | 3028 | layer { 3029 | bottom: "res4b5_branch2a" 3030 | top: "res4b5_branch2a" 3031 | name: "bn4b5_branch2a" 3032 | type: "BatchNorm" 3033 | 3034 | 3035 | batch_norm_param { 3036 | use_global_stats: true 3037 | } 3038 | param { 3039 | name: "bn4b5_branch2a_0" 3040 | lr_mult: 0 3041 | } 3042 | param { 3043 | name: "bn4b5_branch2a_1" 3044 | lr_mult: 0 3045 | } 3046 | param { 3047 | name: "bn4b5_branch2a_2" 3048 | lr_mult: 0 3049 | } 3050 | } 3051 | 3052 | layer { 3053 | bottom: "res4b5_branch2a" 3054 | top: "res4b5_branch2a" 3055 | name: "scale4b5_branch2a" 3056 | type: "Scale" 3057 | 3058 | 3059 | scale_param { 3060 | bias_term: true 3061 | } 3062 | param { 3063 | name: "scale4b5_branch2a_0" 3064 | lr_mult: 0 3065 | } 3066 | param { 3067 | name: "scale4b5_branch2a_1" 3068 | lr_mult: 0 3069 | } 3070 | } 3071 | 3072 | layer { 3073 | top: "res4b5_branch2a" 3074 | bottom: "res4b5_branch2a" 3075 | name: "res4b5_branch2a_relu" 3076 | type: "ReLU" 3077 | } 3078 | 3079 | layer { 3080 | bottom: "res4b5_branch2a" 3081 | top: "res4b5_branch2b" 3082 | name: "res4b5_branch2b" 3083 | type: "Convolution" 3084 | 3085 | 3086 | param { 3087 | name: "res4b5_branch2b_0" 3088 | lr_mult: 1 3089 | decay_mult: 1 3090 | } 3091 | convolution_param { 3092 | num_output: 256 3093 | kernel_size: 3 3094 | pad: 2 3095 | dilation: 2 3096 | stride: 1 3097 | bias_term: false 3098 | } 3099 | } 3100 | 3101 | layer { 3102 | bottom: "res4b5_branch2b" 3103 | top: "res4b5_branch2b" 3104 | name: "bn4b5_branch2b" 3105 | type: "BatchNorm" 3106 | 3107 | 3108 | batch_norm_param { 3109 | use_global_stats: true 3110 | } 3111 | param { 3112 | name: "bn4b5_branch2b_0" 3113 | lr_mult: 0 3114 | } 3115 | param { 3116 | name: "bn4b5_branch2b_1" 3117 | lr_mult: 0 3118 | } 3119 | param { 3120 | name: "bn4b5_branch2b_2" 3121 | lr_mult: 0 3122 | } 3123 | } 3124 | 3125 | layer { 3126 | bottom: "res4b5_branch2b" 3127 | top: "res4b5_branch2b" 3128 | name: "scale4b5_branch2b" 3129 | type: "Scale" 3130 | 3131 | 3132 | scale_param { 3133 | bias_term: true 3134 | } 3135 | param { 3136 | name: "scale4b5_branch2b_0" 3137 | lr_mult: 0 3138 | } 3139 | param { 3140 | name: "scale4b5_branch2b_1" 3141 | lr_mult: 0 3142 | } 3143 | } 3144 | 3145 | layer { 3146 | top: "res4b5_branch2b" 3147 | bottom: "res4b5_branch2b" 3148 | name: "res4b5_branch2b_relu" 3149 | type: "ReLU" 3150 | } 3151 | 3152 | layer { 3153 | bottom: "res4b5_branch2b" 3154 | top: "res4b5_branch2c" 3155 | name: "res4b5_branch2c" 3156 | type: "Convolution" 3157 | 3158 | 3159 | param { 3160 | name: "res4b5_branch2c_0" 3161 | lr_mult: 1 3162 | decay_mult: 1 3163 | } 3164 | convolution_param { 3165 | num_output: 1024 3166 | kernel_size: 1 3167 | pad: 0 3168 | stride: 1 3169 | bias_term: false 3170 | } 3171 | } 3172 | 3173 | layer { 3174 | bottom: "res4b5_branch2c" 3175 | top: "res4b5_branch2c" 3176 | name: "bn4b5_branch2c" 3177 | type: "BatchNorm" 3178 | 3179 | 3180 | batch_norm_param { 3181 | use_global_stats: true 3182 | } 3183 | param { 3184 | name: "bn4b5_branch2c_0" 3185 | lr_mult: 0 3186 | } 3187 | param { 3188 | name: "bn4b5_branch2c_1" 3189 | lr_mult: 0 3190 | } 3191 | param { 3192 | name: "bn4b5_branch2c_2" 3193 | lr_mult: 0 3194 | } 3195 | } 3196 | 3197 | layer { 3198 | bottom: "res4b5_branch2c" 3199 | top: "res4b5_branch2c" 3200 | name: "scale4b5_branch2c" 3201 | type: "Scale" 3202 | 3203 | 3204 | scale_param { 3205 | bias_term: true 3206 | } 3207 | param { 3208 | name: "scale4b5_branch2c_0" 3209 | lr_mult: 0 3210 | } 3211 | param { 3212 | name: "scale4b5_branch2c_1" 3213 | lr_mult: 0 3214 | } 3215 | } 3216 | 3217 | layer { 3218 | bottom: "res4b4" 3219 | bottom: "res4b5_branch2c" 3220 | top: "res4b5" 3221 | name: "res4b5" 3222 | type: "Eltwise" 3223 | 3224 | 3225 | } 3226 | 3227 | layer { 3228 | bottom: "res4b5" 3229 | top: "res4b5" 3230 | name: "res4b5_relu" 3231 | type: "ReLU" 3232 | } 3233 | 3234 | layer { 3235 | bottom: "res4b5" 3236 | top: "res4b6_branch2a" 3237 | name: "res4b6_branch2a" 3238 | type: "Convolution" 3239 | 3240 | 3241 | param { 3242 | name: "res4b6_branch2a_0" 3243 | lr_mult: 1 3244 | decay_mult: 1 3245 | } 3246 | convolution_param { 3247 | num_output: 256 3248 | kernel_size: 1 3249 | pad: 0 3250 | stride: 1 3251 | bias_term: false 3252 | } 3253 | } 3254 | 3255 | layer { 3256 | bottom: "res4b6_branch2a" 3257 | top: "res4b6_branch2a" 3258 | name: "bn4b6_branch2a" 3259 | type: "BatchNorm" 3260 | 3261 | 3262 | batch_norm_param { 3263 | use_global_stats: true 3264 | } 3265 | param { 3266 | name: "bn4b6_branch2a_0" 3267 | lr_mult: 0 3268 | } 3269 | param { 3270 | name: "bn4b6_branch2a_1" 3271 | lr_mult: 0 3272 | } 3273 | param { 3274 | name: "bn4b6_branch2a_2" 3275 | lr_mult: 0 3276 | } 3277 | } 3278 | 3279 | layer { 3280 | bottom: "res4b6_branch2a" 3281 | top: "res4b6_branch2a" 3282 | name: "scale4b6_branch2a" 3283 | type: "Scale" 3284 | 3285 | 3286 | scale_param { 3287 | bias_term: true 3288 | } 3289 | param { 3290 | name: "scale4b6_branch2a_0" 3291 | lr_mult: 0 3292 | } 3293 | param { 3294 | name: "scale4b6_branch2a_1" 3295 | lr_mult: 0 3296 | } 3297 | } 3298 | 3299 | layer { 3300 | top: "res4b6_branch2a" 3301 | bottom: "res4b6_branch2a" 3302 | name: "res4b6_branch2a_relu" 3303 | type: "ReLU" 3304 | } 3305 | 3306 | layer { 3307 | bottom: "res4b6_branch2a" 3308 | top: "res4b6_branch2b" 3309 | name: "res4b6_branch2b" 3310 | type: "Convolution" 3311 | 3312 | 3313 | param { 3314 | name: "res4b6_branch2b_0" 3315 | lr_mult: 1 3316 | decay_mult: 1 3317 | } 3318 | convolution_param { 3319 | num_output: 256 3320 | kernel_size: 3 3321 | pad: 2 3322 | dilation: 2 3323 | stride: 1 3324 | bias_term: false 3325 | } 3326 | } 3327 | 3328 | layer { 3329 | bottom: "res4b6_branch2b" 3330 | top: "res4b6_branch2b" 3331 | name: "bn4b6_branch2b" 3332 | type: "BatchNorm" 3333 | 3334 | 3335 | batch_norm_param { 3336 | use_global_stats: true 3337 | } 3338 | param { 3339 | name: "bn4b6_branch2b_0" 3340 | lr_mult: 0 3341 | } 3342 | param { 3343 | name: "bn4b6_branch2b_1" 3344 | lr_mult: 0 3345 | } 3346 | param { 3347 | name: "bn4b6_branch2b_2" 3348 | lr_mult: 0 3349 | } 3350 | } 3351 | 3352 | layer { 3353 | bottom: "res4b6_branch2b" 3354 | top: "res4b6_branch2b" 3355 | name: "scale4b6_branch2b" 3356 | type: "Scale" 3357 | 3358 | 3359 | scale_param { 3360 | bias_term: true 3361 | } 3362 | param { 3363 | name: "scale4b6_branch2b_0" 3364 | lr_mult: 0 3365 | } 3366 | param { 3367 | name: "scale4b6_branch2b_1" 3368 | lr_mult: 0 3369 | } 3370 | } 3371 | 3372 | layer { 3373 | top: "res4b6_branch2b" 3374 | bottom: "res4b6_branch2b" 3375 | name: "res4b6_branch2b_relu" 3376 | type: "ReLU" 3377 | } 3378 | 3379 | layer { 3380 | bottom: "res4b6_branch2b" 3381 | top: "res4b6_branch2c" 3382 | name: "res4b6_branch2c" 3383 | type: "Convolution" 3384 | 3385 | 3386 | param { 3387 | name: "res4b6_branch2c_0" 3388 | lr_mult: 1 3389 | decay_mult: 1 3390 | } 3391 | convolution_param { 3392 | num_output: 1024 3393 | kernel_size: 1 3394 | pad: 0 3395 | stride: 1 3396 | bias_term: false 3397 | } 3398 | } 3399 | 3400 | layer { 3401 | bottom: "res4b6_branch2c" 3402 | top: "res4b6_branch2c" 3403 | name: "bn4b6_branch2c" 3404 | type: "BatchNorm" 3405 | 3406 | 3407 | batch_norm_param { 3408 | use_global_stats: true 3409 | } 3410 | param { 3411 | name: "bn4b6_branch2c_0" 3412 | lr_mult: 0 3413 | } 3414 | param { 3415 | name: "bn4b6_branch2c_1" 3416 | lr_mult: 0 3417 | } 3418 | param { 3419 | name: "bn4b6_branch2c_2" 3420 | lr_mult: 0 3421 | } 3422 | } 3423 | 3424 | layer { 3425 | bottom: "res4b6_branch2c" 3426 | top: "res4b6_branch2c" 3427 | name: "scale4b6_branch2c" 3428 | type: "Scale" 3429 | 3430 | 3431 | scale_param { 3432 | bias_term: true 3433 | } 3434 | param { 3435 | name: "scale4b6_branch2c_0" 3436 | lr_mult: 0 3437 | } 3438 | param { 3439 | name: "scale4b6_branch2c_1" 3440 | lr_mult: 0 3441 | } 3442 | } 3443 | 3444 | layer { 3445 | bottom: "res4b5" 3446 | bottom: "res4b6_branch2c" 3447 | top: "res4b6" 3448 | name: "res4b6" 3449 | type: "Eltwise" 3450 | 3451 | 3452 | } 3453 | 3454 | layer { 3455 | bottom: "res4b6" 3456 | top: "res4b6" 3457 | name: "res4b6_relu" 3458 | type: "ReLU" 3459 | } 3460 | 3461 | layer { 3462 | bottom: "res4b6" 3463 | top: "res4b7_branch2a" 3464 | name: "res4b7_branch2a" 3465 | type: "Convolution" 3466 | 3467 | 3468 | param { 3469 | name: "res4b7_branch2a_0" 3470 | lr_mult: 1 3471 | decay_mult: 1 3472 | } 3473 | convolution_param { 3474 | num_output: 256 3475 | kernel_size: 1 3476 | pad: 0 3477 | stride: 1 3478 | bias_term: false 3479 | } 3480 | } 3481 | 3482 | layer { 3483 | bottom: "res4b7_branch2a" 3484 | top: "res4b7_branch2a" 3485 | name: "bn4b7_branch2a" 3486 | type: "BatchNorm" 3487 | 3488 | 3489 | batch_norm_param { 3490 | use_global_stats: true 3491 | } 3492 | param { 3493 | name: "bn4b7_branch2a_0" 3494 | lr_mult: 0 3495 | } 3496 | param { 3497 | name: "bn4b7_branch2a_1" 3498 | lr_mult: 0 3499 | } 3500 | param { 3501 | name: "bn4b7_branch2a_2" 3502 | lr_mult: 0 3503 | } 3504 | } 3505 | 3506 | layer { 3507 | bottom: "res4b7_branch2a" 3508 | top: "res4b7_branch2a" 3509 | name: "scale4b7_branch2a" 3510 | type: "Scale" 3511 | 3512 | 3513 | scale_param { 3514 | bias_term: true 3515 | } 3516 | param { 3517 | name: "scale4b7_branch2a_0" 3518 | lr_mult: 0 3519 | } 3520 | param { 3521 | name: "scale4b7_branch2a_1" 3522 | lr_mult: 0 3523 | } 3524 | } 3525 | 3526 | layer { 3527 | top: "res4b7_branch2a" 3528 | bottom: "res4b7_branch2a" 3529 | name: "res4b7_branch2a_relu" 3530 | type: "ReLU" 3531 | } 3532 | 3533 | layer { 3534 | bottom: "res4b7_branch2a" 3535 | top: "res4b7_branch2b" 3536 | name: "res4b7_branch2b" 3537 | type: "Convolution" 3538 | 3539 | 3540 | param { 3541 | name: "res4b7_branch2b_0" 3542 | lr_mult: 1 3543 | decay_mult: 1 3544 | } 3545 | convolution_param { 3546 | num_output: 256 3547 | kernel_size: 3 3548 | pad: 2 3549 | dilation: 2 3550 | stride: 1 3551 | bias_term: false 3552 | } 3553 | } 3554 | 3555 | layer { 3556 | bottom: "res4b7_branch2b" 3557 | top: "res4b7_branch2b" 3558 | name: "bn4b7_branch2b" 3559 | type: "BatchNorm" 3560 | 3561 | 3562 | batch_norm_param { 3563 | use_global_stats: true 3564 | } 3565 | param { 3566 | name: "bn4b7_branch2b_0" 3567 | lr_mult: 0 3568 | } 3569 | param { 3570 | name: "bn4b7_branch2b_1" 3571 | lr_mult: 0 3572 | } 3573 | param { 3574 | name: "bn4b7_branch2b_2" 3575 | lr_mult: 0 3576 | } 3577 | } 3578 | 3579 | layer { 3580 | bottom: "res4b7_branch2b" 3581 | top: "res4b7_branch2b" 3582 | name: "scale4b7_branch2b" 3583 | type: "Scale" 3584 | 3585 | 3586 | scale_param { 3587 | bias_term: true 3588 | } 3589 | param { 3590 | name: "scale4b7_branch2b_0" 3591 | lr_mult: 0 3592 | } 3593 | param { 3594 | name: "scale4b7_branch2b_1" 3595 | lr_mult: 0 3596 | } 3597 | } 3598 | 3599 | layer { 3600 | top: "res4b7_branch2b" 3601 | bottom: "res4b7_branch2b" 3602 | name: "res4b7_branch2b_relu" 3603 | type: "ReLU" 3604 | } 3605 | 3606 | layer { 3607 | bottom: "res4b7_branch2b" 3608 | top: "res4b7_branch2c" 3609 | name: "res4b7_branch2c" 3610 | type: "Convolution" 3611 | 3612 | 3613 | param { 3614 | name: "res4b7_branch2c_0" 3615 | lr_mult: 1 3616 | decay_mult: 1 3617 | } 3618 | convolution_param { 3619 | num_output: 1024 3620 | kernel_size: 1 3621 | pad: 0 3622 | stride: 1 3623 | bias_term: false 3624 | } 3625 | } 3626 | 3627 | layer { 3628 | bottom: "res4b7_branch2c" 3629 | top: "res4b7_branch2c" 3630 | name: "bn4b7_branch2c" 3631 | type: "BatchNorm" 3632 | 3633 | 3634 | batch_norm_param { 3635 | use_global_stats: true 3636 | } 3637 | param { 3638 | name: "bn4b7_branch2c_0" 3639 | lr_mult: 0 3640 | } 3641 | param { 3642 | name: "bn4b7_branch2c_1" 3643 | lr_mult: 0 3644 | } 3645 | param { 3646 | name: "bn4b7_branch2c_2" 3647 | lr_mult: 0 3648 | } 3649 | } 3650 | 3651 | layer { 3652 | bottom: "res4b7_branch2c" 3653 | top: "res4b7_branch2c" 3654 | name: "scale4b7_branch2c" 3655 | type: "Scale" 3656 | 3657 | 3658 | scale_param { 3659 | bias_term: true 3660 | } 3661 | param { 3662 | name: "scale4b7_branch2c_0" 3663 | lr_mult: 0 3664 | } 3665 | param { 3666 | name: "scale4b7_branch2c_1" 3667 | lr_mult: 0 3668 | } 3669 | } 3670 | 3671 | layer { 3672 | bottom: "res4b6" 3673 | bottom: "res4b7_branch2c" 3674 | top: "res4b7" 3675 | name: "res4b7" 3676 | type: "Eltwise" 3677 | 3678 | 3679 | } 3680 | 3681 | layer { 3682 | bottom: "res4b7" 3683 | top: "res4b7" 3684 | name: "res4b7_relu" 3685 | type: "ReLU" 3686 | } 3687 | 3688 | layer { 3689 | bottom: "res4b7" 3690 | top: "res4b8_branch2a" 3691 | name: "res4b8_branch2a" 3692 | type: "Convolution" 3693 | 3694 | 3695 | param { 3696 | name: "res4b8_branch2a_0" 3697 | lr_mult: 1 3698 | decay_mult: 1 3699 | } 3700 | convolution_param { 3701 | num_output: 256 3702 | kernel_size: 1 3703 | pad: 0 3704 | stride: 1 3705 | bias_term: false 3706 | } 3707 | } 3708 | 3709 | layer { 3710 | bottom: "res4b8_branch2a" 3711 | top: "res4b8_branch2a" 3712 | name: "bn4b8_branch2a" 3713 | type: "BatchNorm" 3714 | 3715 | 3716 | batch_norm_param { 3717 | use_global_stats: true 3718 | } 3719 | param { 3720 | name: "bn4b8_branch2a_0" 3721 | lr_mult: 0 3722 | } 3723 | param { 3724 | name: "bn4b8_branch2a_1" 3725 | lr_mult: 0 3726 | } 3727 | param { 3728 | name: "bn4b8_branch2a_2" 3729 | lr_mult: 0 3730 | } 3731 | } 3732 | 3733 | layer { 3734 | bottom: "res4b8_branch2a" 3735 | top: "res4b8_branch2a" 3736 | name: "scale4b8_branch2a" 3737 | type: "Scale" 3738 | 3739 | 3740 | scale_param { 3741 | bias_term: true 3742 | } 3743 | param { 3744 | name: "scale4b8_branch2a_0" 3745 | lr_mult: 0 3746 | } 3747 | param { 3748 | name: "scale4b8_branch2a_1" 3749 | lr_mult: 0 3750 | } 3751 | } 3752 | 3753 | layer { 3754 | top: "res4b8_branch2a" 3755 | bottom: "res4b8_branch2a" 3756 | name: "res4b8_branch2a_relu" 3757 | type: "ReLU" 3758 | } 3759 | 3760 | layer { 3761 | bottom: "res4b8_branch2a" 3762 | top: "res4b8_branch2b" 3763 | name: "res4b8_branch2b" 3764 | type: "Convolution" 3765 | 3766 | 3767 | param { 3768 | name: "res4b8_branch2b_0" 3769 | lr_mult: 1 3770 | decay_mult: 1 3771 | } 3772 | convolution_param { 3773 | num_output: 256 3774 | kernel_size: 3 3775 | pad: 2 3776 | dilation: 2 3777 | stride: 1 3778 | bias_term: false 3779 | } 3780 | } 3781 | 3782 | layer { 3783 | bottom: "res4b8_branch2b" 3784 | top: "res4b8_branch2b" 3785 | name: "bn4b8_branch2b" 3786 | type: "BatchNorm" 3787 | 3788 | 3789 | batch_norm_param { 3790 | use_global_stats: true 3791 | } 3792 | param { 3793 | name: "bn4b8_branch2b_0" 3794 | lr_mult: 0 3795 | } 3796 | param { 3797 | name: "bn4b8_branch2b_1" 3798 | lr_mult: 0 3799 | } 3800 | param { 3801 | name: "bn4b8_branch2b_2" 3802 | lr_mult: 0 3803 | } 3804 | } 3805 | 3806 | layer { 3807 | bottom: "res4b8_branch2b" 3808 | top: "res4b8_branch2b" 3809 | name: "scale4b8_branch2b" 3810 | type: "Scale" 3811 | 3812 | 3813 | scale_param { 3814 | bias_term: true 3815 | } 3816 | param { 3817 | name: "scale4b8_branch2b_0" 3818 | lr_mult: 0 3819 | } 3820 | param { 3821 | name: "scale4b8_branch2b_1" 3822 | lr_mult: 0 3823 | } 3824 | } 3825 | 3826 | layer { 3827 | top: "res4b8_branch2b" 3828 | bottom: "res4b8_branch2b" 3829 | name: "res4b8_branch2b_relu" 3830 | type: "ReLU" 3831 | } 3832 | 3833 | layer { 3834 | bottom: "res4b8_branch2b" 3835 | top: "res4b8_branch2c" 3836 | name: "res4b8_branch2c" 3837 | type: "Convolution" 3838 | 3839 | 3840 | param { 3841 | name: "res4b8_branch2c_0" 3842 | lr_mult: 1 3843 | decay_mult: 1 3844 | } 3845 | convolution_param { 3846 | num_output: 1024 3847 | kernel_size: 1 3848 | pad: 0 3849 | stride: 1 3850 | bias_term: false 3851 | } 3852 | } 3853 | 3854 | layer { 3855 | bottom: "res4b8_branch2c" 3856 | top: "res4b8_branch2c" 3857 | name: "bn4b8_branch2c" 3858 | type: "BatchNorm" 3859 | 3860 | 3861 | batch_norm_param { 3862 | use_global_stats: true 3863 | } 3864 | param { 3865 | name: "bn4b8_branch2c_0" 3866 | lr_mult: 0 3867 | } 3868 | param { 3869 | name: "bn4b8_branch2c_1" 3870 | lr_mult: 0 3871 | } 3872 | param { 3873 | name: "bn4b8_branch2c_2" 3874 | lr_mult: 0 3875 | } 3876 | } 3877 | 3878 | layer { 3879 | bottom: "res4b8_branch2c" 3880 | top: "res4b8_branch2c" 3881 | name: "scale4b8_branch2c" 3882 | type: "Scale" 3883 | 3884 | 3885 | scale_param { 3886 | bias_term: true 3887 | } 3888 | param { 3889 | name: "scale4b8_branch2c_0" 3890 | lr_mult: 0 3891 | } 3892 | param { 3893 | name: "scale4b8_branch2c_1" 3894 | lr_mult: 0 3895 | } 3896 | } 3897 | 3898 | layer { 3899 | bottom: "res4b7" 3900 | bottom: "res4b8_branch2c" 3901 | top: "res4b8" 3902 | name: "res4b8" 3903 | type: "Eltwise" 3904 | 3905 | 3906 | } 3907 | 3908 | layer { 3909 | bottom: "res4b8" 3910 | top: "res4b8" 3911 | name: "res4b8_relu" 3912 | type: "ReLU" 3913 | } 3914 | 3915 | layer { 3916 | bottom: "res4b8" 3917 | top: "res4b9_branch2a" 3918 | name: "res4b9_branch2a" 3919 | type: "Convolution" 3920 | 3921 | 3922 | param { 3923 | name: "res4b9_branch2a_0" 3924 | lr_mult: 1 3925 | decay_mult: 1 3926 | } 3927 | convolution_param { 3928 | num_output: 256 3929 | kernel_size: 1 3930 | pad: 0 3931 | stride: 1 3932 | bias_term: false 3933 | } 3934 | } 3935 | 3936 | layer { 3937 | bottom: "res4b9_branch2a" 3938 | top: "res4b9_branch2a" 3939 | name: "bn4b9_branch2a" 3940 | type: "BatchNorm" 3941 | 3942 | 3943 | batch_norm_param { 3944 | use_global_stats: true 3945 | } 3946 | param { 3947 | name: "bn4b9_branch2a_0" 3948 | lr_mult: 0 3949 | } 3950 | param { 3951 | name: "bn4b9_branch2a_1" 3952 | lr_mult: 0 3953 | } 3954 | param { 3955 | name: "bn4b9_branch2a_2" 3956 | lr_mult: 0 3957 | } 3958 | } 3959 | 3960 | layer { 3961 | bottom: "res4b9_branch2a" 3962 | top: "res4b9_branch2a" 3963 | name: "scale4b9_branch2a" 3964 | type: "Scale" 3965 | 3966 | 3967 | scale_param { 3968 | bias_term: true 3969 | } 3970 | param { 3971 | name: "scale4b9_branch2a_0" 3972 | lr_mult: 0 3973 | } 3974 | param { 3975 | name: "scale4b9_branch2a_1" 3976 | lr_mult: 0 3977 | } 3978 | } 3979 | 3980 | layer { 3981 | top: "res4b9_branch2a" 3982 | bottom: "res4b9_branch2a" 3983 | name: "res4b9_branch2a_relu" 3984 | type: "ReLU" 3985 | } 3986 | 3987 | layer { 3988 | bottom: "res4b9_branch2a" 3989 | top: "res4b9_branch2b" 3990 | name: "res4b9_branch2b" 3991 | type: "Convolution" 3992 | 3993 | 3994 | param { 3995 | name: "res4b9_branch2b_0" 3996 | lr_mult: 1 3997 | decay_mult: 1 3998 | } 3999 | convolution_param { 4000 | num_output: 256 4001 | kernel_size: 3 4002 | pad: 2 4003 | dilation: 2 4004 | stride: 1 4005 | bias_term: false 4006 | } 4007 | } 4008 | 4009 | layer { 4010 | bottom: "res4b9_branch2b" 4011 | top: "res4b9_branch2b" 4012 | name: "bn4b9_branch2b" 4013 | type: "BatchNorm" 4014 | 4015 | 4016 | batch_norm_param { 4017 | use_global_stats: true 4018 | } 4019 | param { 4020 | name: "bn4b9_branch2b_0" 4021 | lr_mult: 0 4022 | } 4023 | param { 4024 | name: "bn4b9_branch2b_1" 4025 | lr_mult: 0 4026 | } 4027 | param { 4028 | name: "bn4b9_branch2b_2" 4029 | lr_mult: 0 4030 | } 4031 | } 4032 | 4033 | layer { 4034 | bottom: "res4b9_branch2b" 4035 | top: "res4b9_branch2b" 4036 | name: "scale4b9_branch2b" 4037 | type: "Scale" 4038 | 4039 | 4040 | scale_param { 4041 | bias_term: true 4042 | } 4043 | param { 4044 | name: "scale4b9_branch2b_0" 4045 | lr_mult: 0 4046 | } 4047 | param { 4048 | name: "scale4b9_branch2b_1" 4049 | lr_mult: 0 4050 | } 4051 | } 4052 | 4053 | layer { 4054 | top: "res4b9_branch2b" 4055 | bottom: "res4b9_branch2b" 4056 | name: "res4b9_branch2b_relu" 4057 | type: "ReLU" 4058 | } 4059 | 4060 | layer { 4061 | bottom: "res4b9_branch2b" 4062 | top: "res4b9_branch2c" 4063 | name: "res4b9_branch2c" 4064 | type: "Convolution" 4065 | 4066 | 4067 | param { 4068 | name: "res4b9_branch2c_0" 4069 | lr_mult: 1 4070 | decay_mult: 1 4071 | } 4072 | convolution_param { 4073 | num_output: 1024 4074 | kernel_size: 1 4075 | pad: 0 4076 | stride: 1 4077 | bias_term: false 4078 | } 4079 | } 4080 | 4081 | layer { 4082 | bottom: "res4b9_branch2c" 4083 | top: "res4b9_branch2c" 4084 | name: "bn4b9_branch2c" 4085 | type: "BatchNorm" 4086 | 4087 | 4088 | batch_norm_param { 4089 | use_global_stats: true 4090 | } 4091 | param { 4092 | name: "bn4b9_branch2c_0" 4093 | lr_mult: 0 4094 | } 4095 | param { 4096 | name: "bn4b9_branch2c_1" 4097 | lr_mult: 0 4098 | } 4099 | param { 4100 | name: "bn4b9_branch2c_2" 4101 | lr_mult: 0 4102 | } 4103 | } 4104 | 4105 | layer { 4106 | bottom: "res4b9_branch2c" 4107 | top: "res4b9_branch2c" 4108 | name: "scale4b9_branch2c" 4109 | type: "Scale" 4110 | 4111 | 4112 | scale_param { 4113 | bias_term: true 4114 | } 4115 | param { 4116 | name: "scale4b9_branch2c_0" 4117 | lr_mult: 0 4118 | } 4119 | param { 4120 | name: "scale4b9_branch2c_1" 4121 | lr_mult: 0 4122 | } 4123 | } 4124 | 4125 | layer { 4126 | bottom: "res4b8" 4127 | bottom: "res4b9_branch2c" 4128 | top: "res4b9" 4129 | name: "res4b9" 4130 | type: "Eltwise" 4131 | 4132 | 4133 | } 4134 | 4135 | layer { 4136 | bottom: "res4b9" 4137 | top: "res4b9" 4138 | name: "res4b9_relu" 4139 | type: "ReLU" 4140 | } 4141 | 4142 | layer { 4143 | bottom: "res4b9" 4144 | top: "res4b10_branch2a" 4145 | name: "res4b10_branch2a" 4146 | type: "Convolution" 4147 | 4148 | 4149 | param { 4150 | name: "res4b10_branch2a_0" 4151 | lr_mult: 1 4152 | decay_mult: 1 4153 | } 4154 | convolution_param { 4155 | num_output: 256 4156 | kernel_size: 1 4157 | pad: 0 4158 | stride: 1 4159 | bias_term: false 4160 | } 4161 | } 4162 | 4163 | layer { 4164 | bottom: "res4b10_branch2a" 4165 | top: "res4b10_branch2a" 4166 | name: "bn4b10_branch2a" 4167 | type: "BatchNorm" 4168 | 4169 | 4170 | batch_norm_param { 4171 | use_global_stats: true 4172 | } 4173 | param { 4174 | name: "bn4b10_branch2a_0" 4175 | lr_mult: 0 4176 | } 4177 | param { 4178 | name: "bn4b10_branch2a_1" 4179 | lr_mult: 0 4180 | } 4181 | param { 4182 | name: "bn4b10_branch2a_2" 4183 | lr_mult: 0 4184 | } 4185 | } 4186 | 4187 | layer { 4188 | bottom: "res4b10_branch2a" 4189 | top: "res4b10_branch2a" 4190 | name: "scale4b10_branch2a" 4191 | type: "Scale" 4192 | 4193 | 4194 | scale_param { 4195 | bias_term: true 4196 | } 4197 | param { 4198 | name: "scale4b10_branch2a_0" 4199 | lr_mult: 0 4200 | } 4201 | param { 4202 | name: "scale4b10_branch2a_1" 4203 | lr_mult: 0 4204 | } 4205 | } 4206 | 4207 | layer { 4208 | top: "res4b10_branch2a" 4209 | bottom: "res4b10_branch2a" 4210 | name: "res4b10_branch2a_relu" 4211 | type: "ReLU" 4212 | } 4213 | 4214 | layer { 4215 | bottom: "res4b10_branch2a" 4216 | top: "res4b10_branch2b" 4217 | name: "res4b10_branch2b" 4218 | type: "Convolution" 4219 | 4220 | 4221 | param { 4222 | name: "res4b10_branch2b_0" 4223 | lr_mult: 1 4224 | decay_mult: 1 4225 | } 4226 | convolution_param { 4227 | num_output: 256 4228 | kernel_size: 3 4229 | pad: 2 4230 | dilation: 2 4231 | stride: 1 4232 | bias_term: false 4233 | } 4234 | } 4235 | 4236 | layer { 4237 | bottom: "res4b10_branch2b" 4238 | top: "res4b10_branch2b" 4239 | name: "bn4b10_branch2b" 4240 | type: "BatchNorm" 4241 | 4242 | 4243 | batch_norm_param { 4244 | use_global_stats: true 4245 | } 4246 | param { 4247 | name: "bn4b10_branch2b_0" 4248 | lr_mult: 0 4249 | } 4250 | param { 4251 | name: "bn4b10_branch2b_1" 4252 | lr_mult: 0 4253 | } 4254 | param { 4255 | name: "bn4b10_branch2b_2" 4256 | lr_mult: 0 4257 | } 4258 | } 4259 | 4260 | layer { 4261 | bottom: "res4b10_branch2b" 4262 | top: "res4b10_branch2b" 4263 | name: "scale4b10_branch2b" 4264 | type: "Scale" 4265 | 4266 | 4267 | scale_param { 4268 | bias_term: true 4269 | } 4270 | param { 4271 | name: "scale4b10_branch2b_0" 4272 | lr_mult: 0 4273 | } 4274 | param { 4275 | name: "scale4b10_branch2b_1" 4276 | lr_mult: 0 4277 | } 4278 | } 4279 | 4280 | layer { 4281 | top: "res4b10_branch2b" 4282 | bottom: "res4b10_branch2b" 4283 | name: "res4b10_branch2b_relu" 4284 | type: "ReLU" 4285 | } 4286 | 4287 | layer { 4288 | bottom: "res4b10_branch2b" 4289 | top: "res4b10_branch2c" 4290 | name: "res4b10_branch2c" 4291 | type: "Convolution" 4292 | 4293 | 4294 | param { 4295 | name: "res4b10_branch2c_0" 4296 | lr_mult: 1 4297 | decay_mult: 1 4298 | } 4299 | convolution_param { 4300 | num_output: 1024 4301 | kernel_size: 1 4302 | pad: 0 4303 | stride: 1 4304 | bias_term: false 4305 | } 4306 | } 4307 | 4308 | layer { 4309 | bottom: "res4b10_branch2c" 4310 | top: "res4b10_branch2c" 4311 | name: "bn4b10_branch2c" 4312 | type: "BatchNorm" 4313 | 4314 | 4315 | batch_norm_param { 4316 | use_global_stats: true 4317 | } 4318 | param { 4319 | name: "bn4b10_branch2c_0" 4320 | lr_mult: 0 4321 | } 4322 | param { 4323 | name: "bn4b10_branch2c_1" 4324 | lr_mult: 0 4325 | } 4326 | param { 4327 | name: "bn4b10_branch2c_2" 4328 | lr_mult: 0 4329 | } 4330 | } 4331 | 4332 | layer { 4333 | bottom: "res4b10_branch2c" 4334 | top: "res4b10_branch2c" 4335 | name: "scale4b10_branch2c" 4336 | type: "Scale" 4337 | 4338 | 4339 | scale_param { 4340 | bias_term: true 4341 | } 4342 | param { 4343 | name: "scale4b10_branch2c_0" 4344 | lr_mult: 0 4345 | } 4346 | param { 4347 | name: "scale4b10_branch2c_1" 4348 | lr_mult: 0 4349 | } 4350 | } 4351 | 4352 | layer { 4353 | bottom: "res4b9" 4354 | bottom: "res4b10_branch2c" 4355 | top: "res4b10" 4356 | name: "res4b10" 4357 | type: "Eltwise" 4358 | 4359 | 4360 | } 4361 | 4362 | layer { 4363 | bottom: "res4b10" 4364 | top: "res4b10" 4365 | name: "res4b10_relu" 4366 | type: "ReLU" 4367 | } 4368 | 4369 | layer { 4370 | bottom: "res4b10" 4371 | top: "res4b11_branch2a" 4372 | name: "res4b11_branch2a" 4373 | type: "Convolution" 4374 | 4375 | 4376 | param { 4377 | name: "res4b11_branch2a_0" 4378 | lr_mult: 1 4379 | decay_mult: 1 4380 | } 4381 | convolution_param { 4382 | num_output: 256 4383 | kernel_size: 1 4384 | pad: 0 4385 | stride: 1 4386 | bias_term: false 4387 | } 4388 | } 4389 | 4390 | layer { 4391 | bottom: "res4b11_branch2a" 4392 | top: "res4b11_branch2a" 4393 | name: "bn4b11_branch2a" 4394 | type: "BatchNorm" 4395 | 4396 | 4397 | batch_norm_param { 4398 | use_global_stats: true 4399 | } 4400 | param { 4401 | name: "bn4b11_branch2a_0" 4402 | lr_mult: 0 4403 | } 4404 | param { 4405 | name: "bn4b11_branch2a_1" 4406 | lr_mult: 0 4407 | } 4408 | param { 4409 | name: "bn4b11_branch2a_2" 4410 | lr_mult: 0 4411 | } 4412 | } 4413 | 4414 | layer { 4415 | bottom: "res4b11_branch2a" 4416 | top: "res4b11_branch2a" 4417 | name: "scale4b11_branch2a" 4418 | type: "Scale" 4419 | 4420 | 4421 | scale_param { 4422 | bias_term: true 4423 | } 4424 | param { 4425 | name: "scale4b11_branch2a_0" 4426 | lr_mult: 0 4427 | } 4428 | param { 4429 | name: "scale4b11_branch2a_1" 4430 | lr_mult: 0 4431 | } 4432 | } 4433 | 4434 | layer { 4435 | top: "res4b11_branch2a" 4436 | bottom: "res4b11_branch2a" 4437 | name: "res4b11_branch2a_relu" 4438 | type: "ReLU" 4439 | } 4440 | 4441 | layer { 4442 | bottom: "res4b11_branch2a" 4443 | top: "res4b11_branch2b" 4444 | name: "res4b11_branch2b" 4445 | type: "Convolution" 4446 | 4447 | 4448 | param { 4449 | name: "res4b11_branch2b_0" 4450 | lr_mult: 1 4451 | decay_mult: 1 4452 | } 4453 | convolution_param { 4454 | num_output: 256 4455 | kernel_size: 3 4456 | pad: 2 4457 | dilation: 2 4458 | stride: 1 4459 | bias_term: false 4460 | } 4461 | } 4462 | 4463 | layer { 4464 | bottom: "res4b11_branch2b" 4465 | top: "res4b11_branch2b" 4466 | name: "bn4b11_branch2b" 4467 | type: "BatchNorm" 4468 | 4469 | 4470 | batch_norm_param { 4471 | use_global_stats: true 4472 | } 4473 | param { 4474 | name: "bn4b11_branch2b_0" 4475 | lr_mult: 0 4476 | } 4477 | param { 4478 | name: "bn4b11_branch2b_1" 4479 | lr_mult: 0 4480 | } 4481 | param { 4482 | name: "bn4b11_branch2b_2" 4483 | lr_mult: 0 4484 | } 4485 | } 4486 | 4487 | layer { 4488 | bottom: "res4b11_branch2b" 4489 | top: "res4b11_branch2b" 4490 | name: "scale4b11_branch2b" 4491 | type: "Scale" 4492 | 4493 | 4494 | scale_param { 4495 | bias_term: true 4496 | } 4497 | param { 4498 | name: "scale4b11_branch2b_0" 4499 | lr_mult: 0 4500 | } 4501 | param { 4502 | name: "scale4b11_branch2b_1" 4503 | lr_mult: 0 4504 | } 4505 | } 4506 | 4507 | layer { 4508 | top: "res4b11_branch2b" 4509 | bottom: "res4b11_branch2b" 4510 | name: "res4b11_branch2b_relu" 4511 | type: "ReLU" 4512 | } 4513 | 4514 | layer { 4515 | bottom: "res4b11_branch2b" 4516 | top: "res4b11_branch2c" 4517 | name: "res4b11_branch2c" 4518 | type: "Convolution" 4519 | 4520 | 4521 | param { 4522 | name: "res4b11_branch2c_0" 4523 | lr_mult: 1 4524 | decay_mult: 1 4525 | } 4526 | convolution_param { 4527 | num_output: 1024 4528 | kernel_size: 1 4529 | pad: 0 4530 | stride: 1 4531 | bias_term: false 4532 | } 4533 | } 4534 | 4535 | layer { 4536 | bottom: "res4b11_branch2c" 4537 | top: "res4b11_branch2c" 4538 | name: "bn4b11_branch2c" 4539 | type: "BatchNorm" 4540 | 4541 | 4542 | batch_norm_param { 4543 | use_global_stats: true 4544 | } 4545 | param { 4546 | name: "bn4b11_branch2c_0" 4547 | lr_mult: 0 4548 | } 4549 | param { 4550 | name: "bn4b11_branch2c_1" 4551 | lr_mult: 0 4552 | } 4553 | param { 4554 | name: "bn4b11_branch2c_2" 4555 | lr_mult: 0 4556 | } 4557 | } 4558 | 4559 | layer { 4560 | bottom: "res4b11_branch2c" 4561 | top: "res4b11_branch2c" 4562 | name: "scale4b11_branch2c" 4563 | type: "Scale" 4564 | 4565 | 4566 | scale_param { 4567 | bias_term: true 4568 | } 4569 | param { 4570 | name: "scale4b11_branch2c_0" 4571 | lr_mult: 0 4572 | } 4573 | param { 4574 | name: "scale4b11_branch2c_1" 4575 | lr_mult: 0 4576 | } 4577 | } 4578 | 4579 | layer { 4580 | bottom: "res4b10" 4581 | bottom: "res4b11_branch2c" 4582 | top: "res4b11" 4583 | name: "res4b11" 4584 | type: "Eltwise" 4585 | 4586 | 4587 | } 4588 | 4589 | layer { 4590 | bottom: "res4b11" 4591 | top: "res4b11" 4592 | name: "res4b11_relu" 4593 | type: "ReLU" 4594 | } 4595 | 4596 | layer { 4597 | bottom: "res4b11" 4598 | top: "res4b12_branch2a" 4599 | name: "res4b12_branch2a" 4600 | type: "Convolution" 4601 | 4602 | 4603 | param { 4604 | name: "res4b12_branch2a_0" 4605 | lr_mult: 1 4606 | decay_mult: 1 4607 | } 4608 | convolution_param { 4609 | num_output: 256 4610 | kernel_size: 1 4611 | pad: 0 4612 | stride: 1 4613 | bias_term: false 4614 | } 4615 | } 4616 | 4617 | layer { 4618 | bottom: "res4b12_branch2a" 4619 | top: "res4b12_branch2a" 4620 | name: "bn4b12_branch2a" 4621 | type: "BatchNorm" 4622 | 4623 | 4624 | batch_norm_param { 4625 | use_global_stats: true 4626 | } 4627 | param { 4628 | name: "bn4b12_branch2a_0" 4629 | lr_mult: 0 4630 | } 4631 | param { 4632 | name: "bn4b12_branch2a_1" 4633 | lr_mult: 0 4634 | } 4635 | param { 4636 | name: "bn4b12_branch2a_2" 4637 | lr_mult: 0 4638 | } 4639 | } 4640 | 4641 | layer { 4642 | bottom: "res4b12_branch2a" 4643 | top: "res4b12_branch2a" 4644 | name: "scale4b12_branch2a" 4645 | type: "Scale" 4646 | 4647 | 4648 | scale_param { 4649 | bias_term: true 4650 | } 4651 | param { 4652 | name: "scale4b12_branch2a_0" 4653 | lr_mult: 0 4654 | } 4655 | param { 4656 | name: "scale4b12_branch2a_1" 4657 | lr_mult: 0 4658 | } 4659 | } 4660 | 4661 | layer { 4662 | top: "res4b12_branch2a" 4663 | bottom: "res4b12_branch2a" 4664 | name: "res4b12_branch2a_relu" 4665 | type: "ReLU" 4666 | } 4667 | 4668 | layer { 4669 | bottom: "res4b12_branch2a" 4670 | top: "res4b12_branch2b" 4671 | name: "res4b12_branch2b" 4672 | type: "Convolution" 4673 | 4674 | 4675 | param { 4676 | name: "res4b12_branch2b_0" 4677 | lr_mult: 1 4678 | decay_mult: 1 4679 | } 4680 | convolution_param { 4681 | num_output: 256 4682 | kernel_size: 3 4683 | pad: 2 4684 | dilation: 2 4685 | stride: 1 4686 | bias_term: false 4687 | } 4688 | } 4689 | 4690 | layer { 4691 | bottom: "res4b12_branch2b" 4692 | top: "res4b12_branch2b" 4693 | name: "bn4b12_branch2b" 4694 | type: "BatchNorm" 4695 | 4696 | 4697 | batch_norm_param { 4698 | use_global_stats: true 4699 | } 4700 | param { 4701 | name: "bn4b12_branch2b_0" 4702 | lr_mult: 0 4703 | } 4704 | param { 4705 | name: "bn4b12_branch2b_1" 4706 | lr_mult: 0 4707 | } 4708 | param { 4709 | name: "bn4b12_branch2b_2" 4710 | lr_mult: 0 4711 | } 4712 | } 4713 | 4714 | layer { 4715 | bottom: "res4b12_branch2b" 4716 | top: "res4b12_branch2b" 4717 | name: "scale4b12_branch2b" 4718 | type: "Scale" 4719 | 4720 | 4721 | scale_param { 4722 | bias_term: true 4723 | } 4724 | param { 4725 | name: "scale4b12_branch2b_0" 4726 | lr_mult: 0 4727 | } 4728 | param { 4729 | name: "scale4b12_branch2b_1" 4730 | lr_mult: 0 4731 | } 4732 | } 4733 | 4734 | layer { 4735 | top: "res4b12_branch2b" 4736 | bottom: "res4b12_branch2b" 4737 | name: "res4b12_branch2b_relu" 4738 | type: "ReLU" 4739 | } 4740 | 4741 | layer { 4742 | bottom: "res4b12_branch2b" 4743 | top: "res4b12_branch2c" 4744 | name: "res4b12_branch2c" 4745 | type: "Convolution" 4746 | 4747 | 4748 | param { 4749 | name: "res4b12_branch2c_0" 4750 | lr_mult: 1 4751 | decay_mult: 1 4752 | } 4753 | convolution_param { 4754 | num_output: 1024 4755 | kernel_size: 1 4756 | pad: 0 4757 | stride: 1 4758 | bias_term: false 4759 | } 4760 | } 4761 | 4762 | layer { 4763 | bottom: "res4b12_branch2c" 4764 | top: "res4b12_branch2c" 4765 | name: "bn4b12_branch2c" 4766 | type: "BatchNorm" 4767 | 4768 | 4769 | batch_norm_param { 4770 | use_global_stats: true 4771 | } 4772 | param { 4773 | name: "bn4b12_branch2c_0" 4774 | lr_mult: 0 4775 | } 4776 | param { 4777 | name: "bn4b12_branch2c_1" 4778 | lr_mult: 0 4779 | } 4780 | param { 4781 | name: "bn4b12_branch2c_2" 4782 | lr_mult: 0 4783 | } 4784 | } 4785 | 4786 | layer { 4787 | bottom: "res4b12_branch2c" 4788 | top: "res4b12_branch2c" 4789 | name: "scale4b12_branch2c" 4790 | type: "Scale" 4791 | 4792 | 4793 | scale_param { 4794 | bias_term: true 4795 | } 4796 | param { 4797 | name: "scale4b12_branch2c_0" 4798 | lr_mult: 0 4799 | } 4800 | param { 4801 | name: "scale4b12_branch2c_1" 4802 | lr_mult: 0 4803 | } 4804 | } 4805 | 4806 | layer { 4807 | bottom: "res4b11" 4808 | bottom: "res4b12_branch2c" 4809 | top: "res4b12" 4810 | name: "res4b12" 4811 | type: "Eltwise" 4812 | 4813 | 4814 | } 4815 | 4816 | layer { 4817 | bottom: "res4b12" 4818 | top: "res4b12" 4819 | name: "res4b12_relu" 4820 | type: "ReLU" 4821 | } 4822 | 4823 | layer { 4824 | bottom: "res4b12" 4825 | top: "res4b13_branch2a" 4826 | name: "res4b13_branch2a" 4827 | type: "Convolution" 4828 | 4829 | 4830 | param { 4831 | name: "res4b13_branch2a_0" 4832 | lr_mult: 1 4833 | decay_mult: 1 4834 | } 4835 | convolution_param { 4836 | num_output: 256 4837 | kernel_size: 1 4838 | pad: 0 4839 | stride: 1 4840 | bias_term: false 4841 | } 4842 | } 4843 | 4844 | layer { 4845 | bottom: "res4b13_branch2a" 4846 | top: "res4b13_branch2a" 4847 | name: "bn4b13_branch2a" 4848 | type: "BatchNorm" 4849 | 4850 | 4851 | batch_norm_param { 4852 | use_global_stats: true 4853 | } 4854 | param { 4855 | name: "bn4b13_branch2a_0" 4856 | lr_mult: 0 4857 | } 4858 | param { 4859 | name: "bn4b13_branch2a_1" 4860 | lr_mult: 0 4861 | } 4862 | param { 4863 | name: "bn4b13_branch2a_2" 4864 | lr_mult: 0 4865 | } 4866 | } 4867 | 4868 | layer { 4869 | bottom: "res4b13_branch2a" 4870 | top: "res4b13_branch2a" 4871 | name: "scale4b13_branch2a" 4872 | type: "Scale" 4873 | 4874 | 4875 | scale_param { 4876 | bias_term: true 4877 | } 4878 | param { 4879 | name: "scale4b13_branch2a_0" 4880 | lr_mult: 0 4881 | } 4882 | param { 4883 | name: "scale4b13_branch2a_1" 4884 | lr_mult: 0 4885 | } 4886 | } 4887 | 4888 | layer { 4889 | top: "res4b13_branch2a" 4890 | bottom: "res4b13_branch2a" 4891 | name: "res4b13_branch2a_relu" 4892 | type: "ReLU" 4893 | } 4894 | 4895 | layer { 4896 | bottom: "res4b13_branch2a" 4897 | top: "res4b13_branch2b" 4898 | name: "res4b13_branch2b" 4899 | type: "Convolution" 4900 | 4901 | 4902 | param { 4903 | name: "res4b13_branch2b_0" 4904 | lr_mult: 1 4905 | decay_mult: 1 4906 | } 4907 | convolution_param { 4908 | num_output: 256 4909 | kernel_size: 3 4910 | pad: 2 4911 | dilation: 2 4912 | stride: 1 4913 | bias_term: false 4914 | } 4915 | } 4916 | 4917 | layer { 4918 | bottom: "res4b13_branch2b" 4919 | top: "res4b13_branch2b" 4920 | name: "bn4b13_branch2b" 4921 | type: "BatchNorm" 4922 | 4923 | 4924 | batch_norm_param { 4925 | use_global_stats: true 4926 | } 4927 | param { 4928 | name: "bn4b13_branch2b_0" 4929 | lr_mult: 0 4930 | } 4931 | param { 4932 | name: "bn4b13_branch2b_1" 4933 | lr_mult: 0 4934 | } 4935 | param { 4936 | name: "bn4b13_branch2b_2" 4937 | lr_mult: 0 4938 | } 4939 | } 4940 | 4941 | layer { 4942 | bottom: "res4b13_branch2b" 4943 | top: "res4b13_branch2b" 4944 | name: "scale4b13_branch2b" 4945 | type: "Scale" 4946 | 4947 | 4948 | scale_param { 4949 | bias_term: true 4950 | } 4951 | param { 4952 | name: "scale4b13_branch2b_0" 4953 | lr_mult: 0 4954 | } 4955 | param { 4956 | name: "scale4b13_branch2b_1" 4957 | lr_mult: 0 4958 | } 4959 | } 4960 | 4961 | layer { 4962 | top: "res4b13_branch2b" 4963 | bottom: "res4b13_branch2b" 4964 | name: "res4b13_branch2b_relu" 4965 | type: "ReLU" 4966 | } 4967 | 4968 | layer { 4969 | bottom: "res4b13_branch2b" 4970 | top: "res4b13_branch2c" 4971 | name: "res4b13_branch2c" 4972 | type: "Convolution" 4973 | 4974 | 4975 | param { 4976 | name: "res4b13_branch2c_0" 4977 | lr_mult: 1 4978 | decay_mult: 1 4979 | } 4980 | convolution_param { 4981 | num_output: 1024 4982 | kernel_size: 1 4983 | pad: 0 4984 | stride: 1 4985 | bias_term: false 4986 | } 4987 | } 4988 | 4989 | layer { 4990 | bottom: "res4b13_branch2c" 4991 | top: "res4b13_branch2c" 4992 | name: "bn4b13_branch2c" 4993 | type: "BatchNorm" 4994 | 4995 | 4996 | batch_norm_param { 4997 | use_global_stats: true 4998 | } 4999 | param { 5000 | name: "bn4b13_branch2c_0" 5001 | lr_mult: 0 5002 | } 5003 | param { 5004 | name: "bn4b13_branch2c_1" 5005 | lr_mult: 0 5006 | } 5007 | param { 5008 | name: "bn4b13_branch2c_2" 5009 | lr_mult: 0 5010 | } 5011 | } 5012 | 5013 | layer { 5014 | bottom: "res4b13_branch2c" 5015 | top: "res4b13_branch2c" 5016 | name: "scale4b13_branch2c" 5017 | type: "Scale" 5018 | 5019 | 5020 | scale_param { 5021 | bias_term: true 5022 | } 5023 | param { 5024 | name: "scale4b13_branch2c_0" 5025 | lr_mult: 0 5026 | } 5027 | param { 5028 | name: "scale4b13_branch2c_1" 5029 | lr_mult: 0 5030 | } 5031 | } 5032 | 5033 | layer { 5034 | bottom: "res4b12" 5035 | bottom: "res4b13_branch2c" 5036 | top: "res4b13" 5037 | name: "res4b13" 5038 | type: "Eltwise" 5039 | 5040 | 5041 | } 5042 | 5043 | layer { 5044 | bottom: "res4b13" 5045 | top: "res4b13" 5046 | name: "res4b13_relu" 5047 | type: "ReLU" 5048 | } 5049 | 5050 | layer { 5051 | bottom: "res4b13" 5052 | top: "res4b14_branch2a" 5053 | name: "res4b14_branch2a" 5054 | type: "Convolution" 5055 | 5056 | 5057 | param { 5058 | name: "res4b14_branch2a_0" 5059 | lr_mult: 1 5060 | decay_mult: 1 5061 | } 5062 | convolution_param { 5063 | num_output: 256 5064 | kernel_size: 1 5065 | pad: 0 5066 | stride: 1 5067 | bias_term: false 5068 | } 5069 | } 5070 | 5071 | layer { 5072 | bottom: "res4b14_branch2a" 5073 | top: "res4b14_branch2a" 5074 | name: "bn4b14_branch2a" 5075 | type: "BatchNorm" 5076 | 5077 | 5078 | batch_norm_param { 5079 | use_global_stats: true 5080 | } 5081 | param { 5082 | name: "bn4b14_branch2a_0" 5083 | lr_mult: 0 5084 | } 5085 | param { 5086 | name: "bn4b14_branch2a_1" 5087 | lr_mult: 0 5088 | } 5089 | param { 5090 | name: "bn4b14_branch2a_2" 5091 | lr_mult: 0 5092 | } 5093 | } 5094 | 5095 | layer { 5096 | bottom: "res4b14_branch2a" 5097 | top: "res4b14_branch2a" 5098 | name: "scale4b14_branch2a" 5099 | type: "Scale" 5100 | 5101 | 5102 | scale_param { 5103 | bias_term: true 5104 | } 5105 | param { 5106 | name: "scale4b14_branch2a_0" 5107 | lr_mult: 0 5108 | } 5109 | param { 5110 | name: "scale4b14_branch2a_1" 5111 | lr_mult: 0 5112 | } 5113 | } 5114 | 5115 | layer { 5116 | top: "res4b14_branch2a" 5117 | bottom: "res4b14_branch2a" 5118 | name: "res4b14_branch2a_relu" 5119 | type: "ReLU" 5120 | } 5121 | 5122 | layer { 5123 | bottom: "res4b14_branch2a" 5124 | top: "res4b14_branch2b" 5125 | name: "res4b14_branch2b" 5126 | type: "Convolution" 5127 | 5128 | 5129 | param { 5130 | name: "res4b14_branch2b_0" 5131 | lr_mult: 1 5132 | decay_mult: 1 5133 | } 5134 | convolution_param { 5135 | num_output: 256 5136 | kernel_size: 3 5137 | pad: 2 5138 | dilation: 2 5139 | stride: 1 5140 | bias_term: false 5141 | } 5142 | } 5143 | 5144 | layer { 5145 | bottom: "res4b14_branch2b" 5146 | top: "res4b14_branch2b" 5147 | name: "bn4b14_branch2b" 5148 | type: "BatchNorm" 5149 | 5150 | 5151 | batch_norm_param { 5152 | use_global_stats: true 5153 | } 5154 | param { 5155 | name: "bn4b14_branch2b_0" 5156 | lr_mult: 0 5157 | } 5158 | param { 5159 | name: "bn4b14_branch2b_1" 5160 | lr_mult: 0 5161 | } 5162 | param { 5163 | name: "bn4b14_branch2b_2" 5164 | lr_mult: 0 5165 | } 5166 | } 5167 | 5168 | layer { 5169 | bottom: "res4b14_branch2b" 5170 | top: "res4b14_branch2b" 5171 | name: "scale4b14_branch2b" 5172 | type: "Scale" 5173 | 5174 | 5175 | scale_param { 5176 | bias_term: true 5177 | } 5178 | param { 5179 | name: "scale4b14_branch2b_0" 5180 | lr_mult: 0 5181 | } 5182 | param { 5183 | name: "scale4b14_branch2b_1" 5184 | lr_mult: 0 5185 | } 5186 | } 5187 | 5188 | layer { 5189 | top: "res4b14_branch2b" 5190 | bottom: "res4b14_branch2b" 5191 | name: "res4b14_branch2b_relu" 5192 | type: "ReLU" 5193 | } 5194 | 5195 | layer { 5196 | bottom: "res4b14_branch2b" 5197 | top: "res4b14_branch2c" 5198 | name: "res4b14_branch2c" 5199 | type: "Convolution" 5200 | 5201 | 5202 | param { 5203 | name: "res4b14_branch2c_0" 5204 | lr_mult: 1 5205 | decay_mult: 1 5206 | } 5207 | convolution_param { 5208 | num_output: 1024 5209 | kernel_size: 1 5210 | pad: 0 5211 | stride: 1 5212 | bias_term: false 5213 | } 5214 | } 5215 | 5216 | layer { 5217 | bottom: "res4b14_branch2c" 5218 | top: "res4b14_branch2c" 5219 | name: "bn4b14_branch2c" 5220 | type: "BatchNorm" 5221 | 5222 | 5223 | batch_norm_param { 5224 | use_global_stats: true 5225 | } 5226 | param { 5227 | name: "bn4b14_branch2c_0" 5228 | lr_mult: 0 5229 | } 5230 | param { 5231 | name: "bn4b14_branch2c_1" 5232 | lr_mult: 0 5233 | } 5234 | param { 5235 | name: "bn4b14_branch2c_2" 5236 | lr_mult: 0 5237 | } 5238 | } 5239 | 5240 | layer { 5241 | bottom: "res4b14_branch2c" 5242 | top: "res4b14_branch2c" 5243 | name: "scale4b14_branch2c" 5244 | type: "Scale" 5245 | 5246 | 5247 | scale_param { 5248 | bias_term: true 5249 | } 5250 | param { 5251 | name: "scale4b14_branch2c_0" 5252 | lr_mult: 0 5253 | } 5254 | param { 5255 | name: "scale4b14_branch2c_1" 5256 | lr_mult: 0 5257 | } 5258 | } 5259 | 5260 | layer { 5261 | bottom: "res4b13" 5262 | bottom: "res4b14_branch2c" 5263 | top: "res4b14" 5264 | name: "res4b14" 5265 | type: "Eltwise" 5266 | 5267 | 5268 | } 5269 | 5270 | layer { 5271 | bottom: "res4b14" 5272 | top: "res4b14" 5273 | name: "res4b14_relu" 5274 | type: "ReLU" 5275 | } 5276 | 5277 | layer { 5278 | bottom: "res4b14" 5279 | top: "res4b15_branch2a" 5280 | name: "res4b15_branch2a" 5281 | type: "Convolution" 5282 | 5283 | 5284 | param { 5285 | name: "res4b15_branch2a_0" 5286 | lr_mult: 1 5287 | decay_mult: 1 5288 | } 5289 | convolution_param { 5290 | num_output: 256 5291 | kernel_size: 1 5292 | pad: 0 5293 | stride: 1 5294 | bias_term: false 5295 | } 5296 | } 5297 | 5298 | layer { 5299 | bottom: "res4b15_branch2a" 5300 | top: "res4b15_branch2a" 5301 | name: "bn4b15_branch2a" 5302 | type: "BatchNorm" 5303 | 5304 | 5305 | batch_norm_param { 5306 | use_global_stats: true 5307 | } 5308 | param { 5309 | name: "bn4b15_branch2a_0" 5310 | lr_mult: 0 5311 | } 5312 | param { 5313 | name: "bn4b15_branch2a_1" 5314 | lr_mult: 0 5315 | } 5316 | param { 5317 | name: "bn4b15_branch2a_2" 5318 | lr_mult: 0 5319 | } 5320 | } 5321 | 5322 | layer { 5323 | bottom: "res4b15_branch2a" 5324 | top: "res4b15_branch2a" 5325 | name: "scale4b15_branch2a" 5326 | type: "Scale" 5327 | 5328 | 5329 | scale_param { 5330 | bias_term: true 5331 | } 5332 | param { 5333 | name: "scale4b15_branch2a_0" 5334 | lr_mult: 0 5335 | } 5336 | param { 5337 | name: "scale4b15_branch2a_1" 5338 | lr_mult: 0 5339 | } 5340 | } 5341 | 5342 | layer { 5343 | top: "res4b15_branch2a" 5344 | bottom: "res4b15_branch2a" 5345 | name: "res4b15_branch2a_relu" 5346 | type: "ReLU" 5347 | } 5348 | 5349 | layer { 5350 | bottom: "res4b15_branch2a" 5351 | top: "res4b15_branch2b" 5352 | name: "res4b15_branch2b" 5353 | type: "Convolution" 5354 | 5355 | 5356 | param { 5357 | name: "res4b15_branch2b_0" 5358 | lr_mult: 1 5359 | decay_mult: 1 5360 | } 5361 | convolution_param { 5362 | num_output: 256 5363 | kernel_size: 3 5364 | pad: 2 5365 | dilation: 2 5366 | stride: 1 5367 | bias_term: false 5368 | } 5369 | } 5370 | 5371 | layer { 5372 | bottom: "res4b15_branch2b" 5373 | top: "res4b15_branch2b" 5374 | name: "bn4b15_branch2b" 5375 | type: "BatchNorm" 5376 | 5377 | 5378 | batch_norm_param { 5379 | use_global_stats: true 5380 | } 5381 | param { 5382 | name: "bn4b15_branch2b_0" 5383 | lr_mult: 0 5384 | } 5385 | param { 5386 | name: "bn4b15_branch2b_1" 5387 | lr_mult: 0 5388 | } 5389 | param { 5390 | name: "bn4b15_branch2b_2" 5391 | lr_mult: 0 5392 | } 5393 | } 5394 | 5395 | layer { 5396 | bottom: "res4b15_branch2b" 5397 | top: "res4b15_branch2b" 5398 | name: "scale4b15_branch2b" 5399 | type: "Scale" 5400 | 5401 | 5402 | scale_param { 5403 | bias_term: true 5404 | } 5405 | param { 5406 | name: "scale4b15_branch2b_0" 5407 | lr_mult: 0 5408 | } 5409 | param { 5410 | name: "scale4b15_branch2b_1" 5411 | lr_mult: 0 5412 | } 5413 | } 5414 | 5415 | layer { 5416 | top: "res4b15_branch2b" 5417 | bottom: "res4b15_branch2b" 5418 | name: "res4b15_branch2b_relu" 5419 | type: "ReLU" 5420 | } 5421 | 5422 | layer { 5423 | bottom: "res4b15_branch2b" 5424 | top: "res4b15_branch2c" 5425 | name: "res4b15_branch2c" 5426 | type: "Convolution" 5427 | 5428 | 5429 | param { 5430 | name: "res4b15_branch2c_0" 5431 | lr_mult: 1 5432 | decay_mult: 1 5433 | } 5434 | convolution_param { 5435 | num_output: 1024 5436 | kernel_size: 1 5437 | pad: 0 5438 | stride: 1 5439 | bias_term: false 5440 | } 5441 | } 5442 | 5443 | layer { 5444 | bottom: "res4b15_branch2c" 5445 | top: "res4b15_branch2c" 5446 | name: "bn4b15_branch2c" 5447 | type: "BatchNorm" 5448 | 5449 | 5450 | batch_norm_param { 5451 | use_global_stats: true 5452 | } 5453 | param { 5454 | name: "bn4b15_branch2c_0" 5455 | lr_mult: 0 5456 | } 5457 | param { 5458 | name: "bn4b15_branch2c_1" 5459 | lr_mult: 0 5460 | } 5461 | param { 5462 | name: "bn4b15_branch2c_2" 5463 | lr_mult: 0 5464 | } 5465 | } 5466 | 5467 | layer { 5468 | bottom: "res4b15_branch2c" 5469 | top: "res4b15_branch2c" 5470 | name: "scale4b15_branch2c" 5471 | type: "Scale" 5472 | 5473 | 5474 | scale_param { 5475 | bias_term: true 5476 | } 5477 | param { 5478 | name: "scale4b15_branch2c_0" 5479 | lr_mult: 0 5480 | } 5481 | param { 5482 | name: "scale4b15_branch2c_1" 5483 | lr_mult: 0 5484 | } 5485 | } 5486 | 5487 | layer { 5488 | bottom: "res4b14" 5489 | bottom: "res4b15_branch2c" 5490 | top: "res4b15" 5491 | name: "res4b15" 5492 | type: "Eltwise" 5493 | 5494 | 5495 | } 5496 | 5497 | layer { 5498 | bottom: "res4b15" 5499 | top: "res4b15" 5500 | name: "res4b15_relu" 5501 | type: "ReLU" 5502 | } 5503 | 5504 | layer { 5505 | bottom: "res4b15" 5506 | top: "res4b16_branch2a" 5507 | name: "res4b16_branch2a" 5508 | type: "Convolution" 5509 | 5510 | 5511 | param { 5512 | name: "res4b16_branch2a_0" 5513 | lr_mult: 1 5514 | decay_mult: 1 5515 | } 5516 | convolution_param { 5517 | num_output: 256 5518 | kernel_size: 1 5519 | pad: 0 5520 | stride: 1 5521 | bias_term: false 5522 | } 5523 | } 5524 | 5525 | layer { 5526 | bottom: "res4b16_branch2a" 5527 | top: "res4b16_branch2a" 5528 | name: "bn4b16_branch2a" 5529 | type: "BatchNorm" 5530 | 5531 | 5532 | batch_norm_param { 5533 | use_global_stats: true 5534 | } 5535 | param { 5536 | name: "bn4b16_branch2a_0" 5537 | lr_mult: 0 5538 | } 5539 | param { 5540 | name: "bn4b16_branch2a_1" 5541 | lr_mult: 0 5542 | } 5543 | param { 5544 | name: "bn4b16_branch2a_2" 5545 | lr_mult: 0 5546 | } 5547 | } 5548 | 5549 | layer { 5550 | bottom: "res4b16_branch2a" 5551 | top: "res4b16_branch2a" 5552 | name: "scale4b16_branch2a" 5553 | type: "Scale" 5554 | 5555 | 5556 | scale_param { 5557 | bias_term: true 5558 | } 5559 | param { 5560 | name: "scale4b16_branch2a_0" 5561 | lr_mult: 0 5562 | } 5563 | param { 5564 | name: "scale4b16_branch2a_1" 5565 | lr_mult: 0 5566 | } 5567 | } 5568 | 5569 | layer { 5570 | top: "res4b16_branch2a" 5571 | bottom: "res4b16_branch2a" 5572 | name: "res4b16_branch2a_relu" 5573 | type: "ReLU" 5574 | } 5575 | 5576 | layer { 5577 | bottom: "res4b16_branch2a" 5578 | top: "res4b16_branch2b" 5579 | name: "res4b16_branch2b" 5580 | type: "Convolution" 5581 | 5582 | 5583 | param { 5584 | name: "res4b16_branch2b_0" 5585 | lr_mult: 1 5586 | decay_mult: 1 5587 | } 5588 | convolution_param { 5589 | num_output: 256 5590 | kernel_size: 3 5591 | pad: 2 5592 | dilation: 2 5593 | stride: 1 5594 | bias_term: false 5595 | } 5596 | } 5597 | 5598 | layer { 5599 | bottom: "res4b16_branch2b" 5600 | top: "res4b16_branch2b" 5601 | name: "bn4b16_branch2b" 5602 | type: "BatchNorm" 5603 | 5604 | 5605 | batch_norm_param { 5606 | use_global_stats: true 5607 | } 5608 | param { 5609 | name: "bn4b16_branch2b_0" 5610 | lr_mult: 0 5611 | } 5612 | param { 5613 | name: "bn4b16_branch2b_1" 5614 | lr_mult: 0 5615 | } 5616 | param { 5617 | name: "bn4b16_branch2b_2" 5618 | lr_mult: 0 5619 | } 5620 | } 5621 | 5622 | layer { 5623 | bottom: "res4b16_branch2b" 5624 | top: "res4b16_branch2b" 5625 | name: "scale4b16_branch2b" 5626 | type: "Scale" 5627 | 5628 | 5629 | scale_param { 5630 | bias_term: true 5631 | } 5632 | param { 5633 | name: "scale4b16_branch2b_0" 5634 | lr_mult: 0 5635 | } 5636 | param { 5637 | name: "scale4b16_branch2b_1" 5638 | lr_mult: 0 5639 | } 5640 | } 5641 | 5642 | layer { 5643 | top: "res4b16_branch2b" 5644 | bottom: "res4b16_branch2b" 5645 | name: "res4b16_branch2b_relu" 5646 | type: "ReLU" 5647 | } 5648 | 5649 | layer { 5650 | bottom: "res4b16_branch2b" 5651 | top: "res4b16_branch2c" 5652 | name: "res4b16_branch2c" 5653 | type: "Convolution" 5654 | 5655 | 5656 | param { 5657 | name: "res4b16_branch2c_0" 5658 | lr_mult: 1 5659 | decay_mult: 1 5660 | } 5661 | convolution_param { 5662 | num_output: 1024 5663 | kernel_size: 1 5664 | pad: 0 5665 | stride: 1 5666 | bias_term: false 5667 | } 5668 | } 5669 | 5670 | layer { 5671 | bottom: "res4b16_branch2c" 5672 | top: "res4b16_branch2c" 5673 | name: "bn4b16_branch2c" 5674 | type: "BatchNorm" 5675 | 5676 | 5677 | batch_norm_param { 5678 | use_global_stats: true 5679 | } 5680 | param { 5681 | name: "bn4b16_branch2c_0" 5682 | lr_mult: 0 5683 | } 5684 | param { 5685 | name: "bn4b16_branch2c_1" 5686 | lr_mult: 0 5687 | } 5688 | param { 5689 | name: "bn4b16_branch2c_2" 5690 | lr_mult: 0 5691 | } 5692 | } 5693 | 5694 | layer { 5695 | bottom: "res4b16_branch2c" 5696 | top: "res4b16_branch2c" 5697 | name: "scale4b16_branch2c" 5698 | type: "Scale" 5699 | 5700 | 5701 | scale_param { 5702 | bias_term: true 5703 | } 5704 | param { 5705 | name: "scale4b16_branch2c_0" 5706 | lr_mult: 0 5707 | } 5708 | param { 5709 | name: "scale4b16_branch2c_1" 5710 | lr_mult: 0 5711 | } 5712 | } 5713 | 5714 | layer { 5715 | bottom: "res4b15" 5716 | bottom: "res4b16_branch2c" 5717 | top: "res4b16" 5718 | name: "res4b16" 5719 | type: "Eltwise" 5720 | 5721 | 5722 | } 5723 | 5724 | layer { 5725 | bottom: "res4b16" 5726 | top: "res4b16" 5727 | name: "res4b16_relu" 5728 | type: "ReLU" 5729 | } 5730 | 5731 | layer { 5732 | bottom: "res4b16" 5733 | top: "res4b17_branch2a" 5734 | name: "res4b17_branch2a" 5735 | type: "Convolution" 5736 | 5737 | 5738 | param { 5739 | name: "res4b17_branch2a_0" 5740 | lr_mult: 1 5741 | decay_mult: 1 5742 | } 5743 | convolution_param { 5744 | num_output: 256 5745 | kernel_size: 1 5746 | pad: 0 5747 | stride: 1 5748 | bias_term: false 5749 | } 5750 | } 5751 | 5752 | layer { 5753 | bottom: "res4b17_branch2a" 5754 | top: "res4b17_branch2a" 5755 | name: "bn4b17_branch2a" 5756 | type: "BatchNorm" 5757 | 5758 | 5759 | batch_norm_param { 5760 | use_global_stats: true 5761 | } 5762 | param { 5763 | name: "bn4b17_branch2a_0" 5764 | lr_mult: 0 5765 | } 5766 | param { 5767 | name: "bn4b17_branch2a_1" 5768 | lr_mult: 0 5769 | } 5770 | param { 5771 | name: "bn4b17_branch2a_2" 5772 | lr_mult: 0 5773 | } 5774 | } 5775 | 5776 | layer { 5777 | bottom: "res4b17_branch2a" 5778 | top: "res4b17_branch2a" 5779 | name: "scale4b17_branch2a" 5780 | type: "Scale" 5781 | 5782 | 5783 | scale_param { 5784 | bias_term: true 5785 | } 5786 | param { 5787 | name: "scale4b17_branch2a_0" 5788 | lr_mult: 0 5789 | } 5790 | param { 5791 | name: "scale4b17_branch2a_1" 5792 | lr_mult: 0 5793 | } 5794 | } 5795 | 5796 | layer { 5797 | top: "res4b17_branch2a" 5798 | bottom: "res4b17_branch2a" 5799 | name: "res4b17_branch2a_relu" 5800 | type: "ReLU" 5801 | } 5802 | 5803 | layer { 5804 | bottom: "res4b17_branch2a" 5805 | top: "res4b17_branch2b" 5806 | name: "res4b17_branch2b" 5807 | type: "Convolution" 5808 | 5809 | 5810 | param { 5811 | name: "res4b17_branch2b_0" 5812 | lr_mult: 1 5813 | decay_mult: 1 5814 | } 5815 | convolution_param { 5816 | num_output: 256 5817 | kernel_size: 3 5818 | pad: 2 5819 | dilation: 2 5820 | stride: 1 5821 | bias_term: false 5822 | } 5823 | } 5824 | 5825 | layer { 5826 | bottom: "res4b17_branch2b" 5827 | top: "res4b17_branch2b" 5828 | name: "bn4b17_branch2b" 5829 | type: "BatchNorm" 5830 | 5831 | 5832 | batch_norm_param { 5833 | use_global_stats: true 5834 | } 5835 | param { 5836 | name: "bn4b17_branch2b_0" 5837 | lr_mult: 0 5838 | } 5839 | param { 5840 | name: "bn4b17_branch2b_1" 5841 | lr_mult: 0 5842 | } 5843 | param { 5844 | name: "bn4b17_branch2b_2" 5845 | lr_mult: 0 5846 | } 5847 | } 5848 | 5849 | layer { 5850 | bottom: "res4b17_branch2b" 5851 | top: "res4b17_branch2b" 5852 | name: "scale4b17_branch2b" 5853 | type: "Scale" 5854 | 5855 | 5856 | scale_param { 5857 | bias_term: true 5858 | } 5859 | param { 5860 | name: "scale4b17_branch2b_0" 5861 | lr_mult: 0 5862 | } 5863 | param { 5864 | name: "scale4b17_branch2b_1" 5865 | lr_mult: 0 5866 | } 5867 | } 5868 | 5869 | layer { 5870 | top: "res4b17_branch2b" 5871 | bottom: "res4b17_branch2b" 5872 | name: "res4b17_branch2b_relu" 5873 | type: "ReLU" 5874 | } 5875 | 5876 | layer { 5877 | bottom: "res4b17_branch2b" 5878 | top: "res4b17_branch2c" 5879 | name: "res4b17_branch2c" 5880 | type: "Convolution" 5881 | 5882 | 5883 | param { 5884 | name: "res4b17_branch2c_0" 5885 | lr_mult: 1 5886 | decay_mult: 1 5887 | } 5888 | convolution_param { 5889 | num_output: 1024 5890 | kernel_size: 1 5891 | pad: 0 5892 | stride: 1 5893 | bias_term: false 5894 | } 5895 | } 5896 | 5897 | layer { 5898 | bottom: "res4b17_branch2c" 5899 | top: "res4b17_branch2c" 5900 | name: "bn4b17_branch2c" 5901 | type: "BatchNorm" 5902 | 5903 | 5904 | batch_norm_param { 5905 | use_global_stats: true 5906 | } 5907 | param { 5908 | name: "bn4b17_branch2c_0" 5909 | lr_mult: 0 5910 | } 5911 | param { 5912 | name: "bn4b17_branch2c_1" 5913 | lr_mult: 0 5914 | } 5915 | param { 5916 | name: "bn4b17_branch2c_2" 5917 | lr_mult: 0 5918 | } 5919 | } 5920 | 5921 | layer { 5922 | bottom: "res4b17_branch2c" 5923 | top: "res4b17_branch2c" 5924 | name: "scale4b17_branch2c" 5925 | type: "Scale" 5926 | 5927 | 5928 | scale_param { 5929 | bias_term: true 5930 | } 5931 | param { 5932 | name: "scale4b17_branch2c_0" 5933 | lr_mult: 0 5934 | } 5935 | param { 5936 | name: "scale4b17_branch2c_1" 5937 | lr_mult: 0 5938 | } 5939 | } 5940 | 5941 | layer { 5942 | bottom: "res4b16" 5943 | bottom: "res4b17_branch2c" 5944 | top: "res4b17" 5945 | name: "res4b17" 5946 | type: "Eltwise" 5947 | 5948 | 5949 | } 5950 | 5951 | layer { 5952 | bottom: "res4b17" 5953 | top: "res4b17" 5954 | name: "res4b17_relu" 5955 | type: "ReLU" 5956 | } 5957 | 5958 | layer { 5959 | bottom: "res4b17" 5960 | top: "res4b18_branch2a" 5961 | name: "res4b18_branch2a" 5962 | type: "Convolution" 5963 | 5964 | 5965 | param { 5966 | name: "res4b18_branch2a_0" 5967 | lr_mult: 1 5968 | decay_mult: 1 5969 | } 5970 | convolution_param { 5971 | num_output: 256 5972 | kernel_size: 1 5973 | pad: 0 5974 | stride: 1 5975 | bias_term: false 5976 | } 5977 | } 5978 | 5979 | layer { 5980 | bottom: "res4b18_branch2a" 5981 | top: "res4b18_branch2a" 5982 | name: "bn4b18_branch2a" 5983 | type: "BatchNorm" 5984 | 5985 | 5986 | batch_norm_param { 5987 | use_global_stats: true 5988 | } 5989 | param { 5990 | name: "bn4b18_branch2a_0" 5991 | lr_mult: 0 5992 | } 5993 | param { 5994 | name: "bn4b18_branch2a_1" 5995 | lr_mult: 0 5996 | } 5997 | param { 5998 | name: "bn4b18_branch2a_2" 5999 | lr_mult: 0 6000 | } 6001 | } 6002 | 6003 | layer { 6004 | bottom: "res4b18_branch2a" 6005 | top: "res4b18_branch2a" 6006 | name: "scale4b18_branch2a" 6007 | type: "Scale" 6008 | 6009 | 6010 | scale_param { 6011 | bias_term: true 6012 | } 6013 | param { 6014 | name: "scale4b18_branch2a_0" 6015 | lr_mult: 0 6016 | } 6017 | param { 6018 | name: "scale4b18_branch2a_1" 6019 | lr_mult: 0 6020 | } 6021 | } 6022 | 6023 | layer { 6024 | top: "res4b18_branch2a" 6025 | bottom: "res4b18_branch2a" 6026 | name: "res4b18_branch2a_relu" 6027 | type: "ReLU" 6028 | } 6029 | 6030 | layer { 6031 | bottom: "res4b18_branch2a" 6032 | top: "res4b18_branch2b" 6033 | name: "res4b18_branch2b" 6034 | type: "Convolution" 6035 | 6036 | 6037 | param { 6038 | name: "res4b18_branch2b_0" 6039 | lr_mult: 1 6040 | decay_mult: 1 6041 | } 6042 | convolution_param { 6043 | num_output: 256 6044 | kernel_size: 3 6045 | pad: 2 6046 | dilation: 2 6047 | stride: 1 6048 | bias_term: false 6049 | } 6050 | } 6051 | 6052 | layer { 6053 | bottom: "res4b18_branch2b" 6054 | top: "res4b18_branch2b" 6055 | name: "bn4b18_branch2b" 6056 | type: "BatchNorm" 6057 | 6058 | 6059 | batch_norm_param { 6060 | use_global_stats: true 6061 | } 6062 | param { 6063 | name: "bn4b18_branch2b_0" 6064 | lr_mult: 0 6065 | } 6066 | param { 6067 | name: "bn4b18_branch2b_1" 6068 | lr_mult: 0 6069 | } 6070 | param { 6071 | name: "bn4b18_branch2b_2" 6072 | lr_mult: 0 6073 | } 6074 | } 6075 | 6076 | layer { 6077 | bottom: "res4b18_branch2b" 6078 | top: "res4b18_branch2b" 6079 | name: "scale4b18_branch2b" 6080 | type: "Scale" 6081 | 6082 | 6083 | scale_param { 6084 | bias_term: true 6085 | } 6086 | param { 6087 | name: "scale4b18_branch2b_0" 6088 | lr_mult: 0 6089 | } 6090 | param { 6091 | name: "scale4b18_branch2b_1" 6092 | lr_mult: 0 6093 | } 6094 | } 6095 | 6096 | layer { 6097 | top: "res4b18_branch2b" 6098 | bottom: "res4b18_branch2b" 6099 | name: "res4b18_branch2b_relu" 6100 | type: "ReLU" 6101 | } 6102 | 6103 | layer { 6104 | bottom: "res4b18_branch2b" 6105 | top: "res4b18_branch2c" 6106 | name: "res4b18_branch2c" 6107 | type: "Convolution" 6108 | 6109 | 6110 | param { 6111 | name: "res4b18_branch2c_0" 6112 | lr_mult: 1 6113 | decay_mult: 1 6114 | } 6115 | convolution_param { 6116 | num_output: 1024 6117 | kernel_size: 1 6118 | pad: 0 6119 | stride: 1 6120 | bias_term: false 6121 | } 6122 | } 6123 | 6124 | layer { 6125 | bottom: "res4b18_branch2c" 6126 | top: "res4b18_branch2c" 6127 | name: "bn4b18_branch2c" 6128 | type: "BatchNorm" 6129 | 6130 | 6131 | batch_norm_param { 6132 | use_global_stats: true 6133 | } 6134 | param { 6135 | name: "bn4b18_branch2c_0" 6136 | lr_mult: 0 6137 | } 6138 | param { 6139 | name: "bn4b18_branch2c_1" 6140 | lr_mult: 0 6141 | } 6142 | param { 6143 | name: "bn4b18_branch2c_2" 6144 | lr_mult: 0 6145 | } 6146 | } 6147 | 6148 | layer { 6149 | bottom: "res4b18_branch2c" 6150 | top: "res4b18_branch2c" 6151 | name: "scale4b18_branch2c" 6152 | type: "Scale" 6153 | 6154 | 6155 | scale_param { 6156 | bias_term: true 6157 | } 6158 | param { 6159 | name: "scale4b18_branch2c_0" 6160 | lr_mult: 0 6161 | } 6162 | param { 6163 | name: "scale4b18_branch2c_1" 6164 | lr_mult: 0 6165 | } 6166 | } 6167 | 6168 | layer { 6169 | bottom: "res4b17" 6170 | bottom: "res4b18_branch2c" 6171 | top: "res4b18" 6172 | name: "res4b18" 6173 | type: "Eltwise" 6174 | 6175 | 6176 | } 6177 | 6178 | layer { 6179 | bottom: "res4b18" 6180 | top: "res4b18" 6181 | name: "res4b18_relu" 6182 | type: "ReLU" 6183 | } 6184 | 6185 | layer { 6186 | bottom: "res4b18" 6187 | top: "res4b19_branch2a" 6188 | name: "res4b19_branch2a" 6189 | type: "Convolution" 6190 | 6191 | 6192 | param { 6193 | name: "res4b19_branch2a_0" 6194 | lr_mult: 1 6195 | decay_mult: 1 6196 | } 6197 | convolution_param { 6198 | num_output: 256 6199 | kernel_size: 1 6200 | pad: 0 6201 | stride: 1 6202 | bias_term: false 6203 | } 6204 | } 6205 | 6206 | layer { 6207 | bottom: "res4b19_branch2a" 6208 | top: "res4b19_branch2a" 6209 | name: "bn4b19_branch2a" 6210 | type: "BatchNorm" 6211 | 6212 | 6213 | batch_norm_param { 6214 | use_global_stats: true 6215 | } 6216 | param { 6217 | name: "bn4b19_branch2a_0" 6218 | lr_mult: 0 6219 | } 6220 | param { 6221 | name: "bn4b19_branch2a_1" 6222 | lr_mult: 0 6223 | } 6224 | param { 6225 | name: "bn4b19_branch2a_2" 6226 | lr_mult: 0 6227 | } 6228 | } 6229 | 6230 | layer { 6231 | bottom: "res4b19_branch2a" 6232 | top: "res4b19_branch2a" 6233 | name: "scale4b19_branch2a" 6234 | type: "Scale" 6235 | 6236 | 6237 | scale_param { 6238 | bias_term: true 6239 | } 6240 | param { 6241 | name: "scale4b19_branch2a_0" 6242 | lr_mult: 0 6243 | } 6244 | param { 6245 | name: "scale4b19_branch2a_1" 6246 | lr_mult: 0 6247 | } 6248 | } 6249 | 6250 | layer { 6251 | top: "res4b19_branch2a" 6252 | bottom: "res4b19_branch2a" 6253 | name: "res4b19_branch2a_relu" 6254 | type: "ReLU" 6255 | } 6256 | 6257 | layer { 6258 | bottom: "res4b19_branch2a" 6259 | top: "res4b19_branch2b" 6260 | name: "res4b19_branch2b" 6261 | type: "Convolution" 6262 | 6263 | 6264 | param { 6265 | name: "res4b19_branch2b_0" 6266 | lr_mult: 1 6267 | decay_mult: 1 6268 | } 6269 | convolution_param { 6270 | num_output: 256 6271 | kernel_size: 3 6272 | pad: 2 6273 | dilation: 2 6274 | stride: 1 6275 | bias_term: false 6276 | } 6277 | } 6278 | 6279 | layer { 6280 | bottom: "res4b19_branch2b" 6281 | top: "res4b19_branch2b" 6282 | name: "bn4b19_branch2b" 6283 | type: "BatchNorm" 6284 | 6285 | 6286 | batch_norm_param { 6287 | use_global_stats: true 6288 | } 6289 | param { 6290 | name: "bn4b19_branch2b_0" 6291 | lr_mult: 0 6292 | } 6293 | param { 6294 | name: "bn4b19_branch2b_1" 6295 | lr_mult: 0 6296 | } 6297 | param { 6298 | name: "bn4b19_branch2b_2" 6299 | lr_mult: 0 6300 | } 6301 | } 6302 | 6303 | layer { 6304 | bottom: "res4b19_branch2b" 6305 | top: "res4b19_branch2b" 6306 | name: "scale4b19_branch2b" 6307 | type: "Scale" 6308 | 6309 | 6310 | scale_param { 6311 | bias_term: true 6312 | } 6313 | param { 6314 | name: "scale4b19_branch2b_0" 6315 | lr_mult: 0 6316 | } 6317 | param { 6318 | name: "scale4b19_branch2b_1" 6319 | lr_mult: 0 6320 | } 6321 | } 6322 | 6323 | layer { 6324 | top: "res4b19_branch2b" 6325 | bottom: "res4b19_branch2b" 6326 | name: "res4b19_branch2b_relu" 6327 | type: "ReLU" 6328 | } 6329 | 6330 | layer { 6331 | bottom: "res4b19_branch2b" 6332 | top: "res4b19_branch2c" 6333 | name: "res4b19_branch2c" 6334 | type: "Convolution" 6335 | 6336 | 6337 | param { 6338 | name: "res4b19_branch2c_0" 6339 | lr_mult: 1 6340 | decay_mult: 1 6341 | } 6342 | convolution_param { 6343 | num_output: 1024 6344 | kernel_size: 1 6345 | pad: 0 6346 | stride: 1 6347 | bias_term: false 6348 | } 6349 | } 6350 | 6351 | layer { 6352 | bottom: "res4b19_branch2c" 6353 | top: "res4b19_branch2c" 6354 | name: "bn4b19_branch2c" 6355 | type: "BatchNorm" 6356 | 6357 | 6358 | batch_norm_param { 6359 | use_global_stats: true 6360 | } 6361 | param { 6362 | name: "bn4b19_branch2c_0" 6363 | lr_mult: 0 6364 | } 6365 | param { 6366 | name: "bn4b19_branch2c_1" 6367 | lr_mult: 0 6368 | } 6369 | param { 6370 | name: "bn4b19_branch2c_2" 6371 | lr_mult: 0 6372 | } 6373 | } 6374 | 6375 | layer { 6376 | bottom: "res4b19_branch2c" 6377 | top: "res4b19_branch2c" 6378 | name: "scale4b19_branch2c" 6379 | type: "Scale" 6380 | 6381 | 6382 | scale_param { 6383 | bias_term: true 6384 | } 6385 | param { 6386 | name: "scale4b19_branch2c_0" 6387 | lr_mult: 0 6388 | } 6389 | param { 6390 | name: "scale4b19_branch2c_1" 6391 | lr_mult: 0 6392 | } 6393 | } 6394 | 6395 | layer { 6396 | bottom: "res4b18" 6397 | bottom: "res4b19_branch2c" 6398 | top: "res4b19" 6399 | name: "res4b19" 6400 | type: "Eltwise" 6401 | 6402 | 6403 | } 6404 | 6405 | layer { 6406 | bottom: "res4b19" 6407 | top: "res4b19" 6408 | name: "res4b19_relu" 6409 | type: "ReLU" 6410 | } 6411 | 6412 | layer { 6413 | bottom: "res4b19" 6414 | top: "res4b20_branch2a" 6415 | name: "res4b20_branch2a" 6416 | type: "Convolution" 6417 | 6418 | 6419 | param { 6420 | name: "res4b20_branch2a_0" 6421 | lr_mult: 1 6422 | decay_mult: 1 6423 | } 6424 | convolution_param { 6425 | num_output: 256 6426 | kernel_size: 1 6427 | pad: 0 6428 | stride: 1 6429 | bias_term: false 6430 | } 6431 | } 6432 | 6433 | layer { 6434 | bottom: "res4b20_branch2a" 6435 | top: "res4b20_branch2a" 6436 | name: "bn4b20_branch2a" 6437 | type: "BatchNorm" 6438 | 6439 | 6440 | batch_norm_param { 6441 | use_global_stats: true 6442 | } 6443 | param { 6444 | name: "bn4b20_branch2a_0" 6445 | lr_mult: 0 6446 | } 6447 | param { 6448 | name: "bn4b20_branch2a_1" 6449 | lr_mult: 0 6450 | } 6451 | param { 6452 | name: "bn4b20_branch2a_2" 6453 | lr_mult: 0 6454 | } 6455 | } 6456 | 6457 | layer { 6458 | bottom: "res4b20_branch2a" 6459 | top: "res4b20_branch2a" 6460 | name: "scale4b20_branch2a" 6461 | type: "Scale" 6462 | 6463 | 6464 | scale_param { 6465 | bias_term: true 6466 | } 6467 | param { 6468 | name: "scale4b20_branch2a_0" 6469 | lr_mult: 0 6470 | } 6471 | param { 6472 | name: "scale4b20_branch2a_1" 6473 | lr_mult: 0 6474 | } 6475 | } 6476 | 6477 | layer { 6478 | top: "res4b20_branch2a" 6479 | bottom: "res4b20_branch2a" 6480 | name: "res4b20_branch2a_relu" 6481 | type: "ReLU" 6482 | } 6483 | 6484 | layer { 6485 | bottom: "res4b20_branch2a" 6486 | top: "res4b20_branch2b" 6487 | name: "res4b20_branch2b" 6488 | type: "Convolution" 6489 | 6490 | 6491 | param { 6492 | name: "res4b20_branch2b_0" 6493 | lr_mult: 1 6494 | decay_mult: 1 6495 | } 6496 | convolution_param { 6497 | num_output: 256 6498 | kernel_size: 3 6499 | pad: 2 6500 | dilation: 2 6501 | stride: 1 6502 | bias_term: false 6503 | } 6504 | } 6505 | 6506 | layer { 6507 | bottom: "res4b20_branch2b" 6508 | top: "res4b20_branch2b" 6509 | name: "bn4b20_branch2b" 6510 | type: "BatchNorm" 6511 | 6512 | 6513 | batch_norm_param { 6514 | use_global_stats: true 6515 | } 6516 | param { 6517 | name: "bn4b20_branch2b_0" 6518 | lr_mult: 0 6519 | } 6520 | param { 6521 | name: "bn4b20_branch2b_1" 6522 | lr_mult: 0 6523 | } 6524 | param { 6525 | name: "bn4b20_branch2b_2" 6526 | lr_mult: 0 6527 | } 6528 | } 6529 | 6530 | layer { 6531 | bottom: "res4b20_branch2b" 6532 | top: "res4b20_branch2b" 6533 | name: "scale4b20_branch2b" 6534 | type: "Scale" 6535 | 6536 | 6537 | scale_param { 6538 | bias_term: true 6539 | } 6540 | param { 6541 | name: "scale4b20_branch2b_0" 6542 | lr_mult: 0 6543 | } 6544 | param { 6545 | name: "scale4b20_branch2b_1" 6546 | lr_mult: 0 6547 | } 6548 | } 6549 | 6550 | layer { 6551 | top: "res4b20_branch2b" 6552 | bottom: "res4b20_branch2b" 6553 | name: "res4b20_branch2b_relu" 6554 | type: "ReLU" 6555 | } 6556 | 6557 | layer { 6558 | bottom: "res4b20_branch2b" 6559 | top: "res4b20_branch2c" 6560 | name: "res4b20_branch2c" 6561 | type: "Convolution" 6562 | 6563 | 6564 | param { 6565 | name: "res4b20_branch2c_0" 6566 | lr_mult: 1 6567 | decay_mult: 1 6568 | } 6569 | convolution_param { 6570 | num_output: 1024 6571 | kernel_size: 1 6572 | pad: 0 6573 | stride: 1 6574 | bias_term: false 6575 | } 6576 | } 6577 | 6578 | layer { 6579 | bottom: "res4b20_branch2c" 6580 | top: "res4b20_branch2c" 6581 | name: "bn4b20_branch2c" 6582 | type: "BatchNorm" 6583 | 6584 | 6585 | batch_norm_param { 6586 | use_global_stats: true 6587 | } 6588 | param { 6589 | name: "bn4b20_branch2c_0" 6590 | lr_mult: 0 6591 | } 6592 | param { 6593 | name: "bn4b20_branch2c_1" 6594 | lr_mult: 0 6595 | } 6596 | param { 6597 | name: "bn4b20_branch2c_2" 6598 | lr_mult: 0 6599 | } 6600 | } 6601 | 6602 | layer { 6603 | bottom: "res4b20_branch2c" 6604 | top: "res4b20_branch2c" 6605 | name: "scale4b20_branch2c" 6606 | type: "Scale" 6607 | 6608 | 6609 | scale_param { 6610 | bias_term: true 6611 | } 6612 | param { 6613 | name: "scale4b20_branch2c_0" 6614 | lr_mult: 0 6615 | } 6616 | param { 6617 | name: "scale4b20_branch2c_1" 6618 | lr_mult: 0 6619 | } 6620 | } 6621 | 6622 | layer { 6623 | bottom: "res4b19" 6624 | bottom: "res4b20_branch2c" 6625 | top: "res4b20" 6626 | name: "res4b20" 6627 | type: "Eltwise" 6628 | 6629 | 6630 | } 6631 | 6632 | layer { 6633 | bottom: "res4b20" 6634 | top: "res4b20" 6635 | name: "res4b20_relu" 6636 | type: "ReLU" 6637 | } 6638 | 6639 | layer { 6640 | bottom: "res4b20" 6641 | top: "res4b21_branch2a" 6642 | name: "res4b21_branch2a" 6643 | type: "Convolution" 6644 | 6645 | 6646 | param { 6647 | name: "res4b21_branch2a_0" 6648 | lr_mult: 1 6649 | decay_mult: 1 6650 | } 6651 | convolution_param { 6652 | num_output: 256 6653 | kernel_size: 1 6654 | pad: 0 6655 | stride: 1 6656 | bias_term: false 6657 | } 6658 | } 6659 | 6660 | layer { 6661 | bottom: "res4b21_branch2a" 6662 | top: "res4b21_branch2a" 6663 | name: "bn4b21_branch2a" 6664 | type: "BatchNorm" 6665 | 6666 | 6667 | batch_norm_param { 6668 | use_global_stats: true 6669 | } 6670 | param { 6671 | name: "bn4b21_branch2a_0" 6672 | lr_mult: 0 6673 | } 6674 | param { 6675 | name: "bn4b21_branch2a_1" 6676 | lr_mult: 0 6677 | } 6678 | param { 6679 | name: "bn4b21_branch2a_2" 6680 | lr_mult: 0 6681 | } 6682 | } 6683 | 6684 | layer { 6685 | bottom: "res4b21_branch2a" 6686 | top: "res4b21_branch2a" 6687 | name: "scale4b21_branch2a" 6688 | type: "Scale" 6689 | 6690 | 6691 | scale_param { 6692 | bias_term: true 6693 | } 6694 | param { 6695 | name: "scale4b21_branch2a_0" 6696 | lr_mult: 0 6697 | } 6698 | param { 6699 | name: "scale4b21_branch2a_1" 6700 | lr_mult: 0 6701 | } 6702 | } 6703 | 6704 | layer { 6705 | top: "res4b21_branch2a" 6706 | bottom: "res4b21_branch2a" 6707 | name: "res4b21_branch2a_relu" 6708 | type: "ReLU" 6709 | } 6710 | 6711 | layer { 6712 | bottom: "res4b21_branch2a" 6713 | top: "res4b21_branch2b" 6714 | name: "res4b21_branch2b" 6715 | type: "Convolution" 6716 | 6717 | 6718 | param { 6719 | name: "res4b21_branch2b_0" 6720 | lr_mult: 1 6721 | decay_mult: 1 6722 | } 6723 | convolution_param { 6724 | num_output: 256 6725 | kernel_size: 3 6726 | pad: 2 6727 | dilation: 2 6728 | stride: 1 6729 | bias_term: false 6730 | } 6731 | } 6732 | 6733 | layer { 6734 | bottom: "res4b21_branch2b" 6735 | top: "res4b21_branch2b" 6736 | name: "bn4b21_branch2b" 6737 | type: "BatchNorm" 6738 | 6739 | 6740 | batch_norm_param { 6741 | use_global_stats: true 6742 | } 6743 | param { 6744 | name: "bn4b21_branch2b_0" 6745 | lr_mult: 0 6746 | } 6747 | param { 6748 | name: "bn4b21_branch2b_1" 6749 | lr_mult: 0 6750 | } 6751 | param { 6752 | name: "bn4b21_branch2b_2" 6753 | lr_mult: 0 6754 | } 6755 | } 6756 | 6757 | layer { 6758 | bottom: "res4b21_branch2b" 6759 | top: "res4b21_branch2b" 6760 | name: "scale4b21_branch2b" 6761 | type: "Scale" 6762 | 6763 | 6764 | scale_param { 6765 | bias_term: true 6766 | } 6767 | param { 6768 | name: "scale4b21_branch2b_0" 6769 | lr_mult: 0 6770 | } 6771 | param { 6772 | name: "scale4b21_branch2b_1" 6773 | lr_mult: 0 6774 | } 6775 | } 6776 | 6777 | layer { 6778 | top: "res4b21_branch2b" 6779 | bottom: "res4b21_branch2b" 6780 | name: "res4b21_branch2b_relu" 6781 | type: "ReLU" 6782 | } 6783 | 6784 | layer { 6785 | bottom: "res4b21_branch2b" 6786 | top: "res4b21_branch2c" 6787 | name: "res4b21_branch2c" 6788 | type: "Convolution" 6789 | 6790 | 6791 | param { 6792 | name: "res4b21_branch2c_0" 6793 | lr_mult: 1 6794 | decay_mult: 1 6795 | } 6796 | convolution_param { 6797 | num_output: 1024 6798 | kernel_size: 1 6799 | pad: 0 6800 | stride: 1 6801 | bias_term: false 6802 | } 6803 | } 6804 | 6805 | layer { 6806 | bottom: "res4b21_branch2c" 6807 | top: "res4b21_branch2c" 6808 | name: "bn4b21_branch2c" 6809 | type: "BatchNorm" 6810 | 6811 | 6812 | batch_norm_param { 6813 | use_global_stats: true 6814 | } 6815 | param { 6816 | name: "bn4b21_branch2c_0" 6817 | lr_mult: 0 6818 | } 6819 | param { 6820 | name: "bn4b21_branch2c_1" 6821 | lr_mult: 0 6822 | } 6823 | param { 6824 | name: "bn4b21_branch2c_2" 6825 | lr_mult: 0 6826 | } 6827 | } 6828 | 6829 | layer { 6830 | bottom: "res4b21_branch2c" 6831 | top: "res4b21_branch2c" 6832 | name: "scale4b21_branch2c" 6833 | type: "Scale" 6834 | 6835 | 6836 | scale_param { 6837 | bias_term: true 6838 | } 6839 | param { 6840 | name: "scale4b21_branch2c_0" 6841 | lr_mult: 0 6842 | } 6843 | param { 6844 | name: "scale4b21_branch2c_1" 6845 | lr_mult: 0 6846 | } 6847 | } 6848 | 6849 | layer { 6850 | bottom: "res4b20" 6851 | bottom: "res4b21_branch2c" 6852 | top: "res4b21" 6853 | name: "res4b21" 6854 | type: "Eltwise" 6855 | 6856 | 6857 | } 6858 | 6859 | layer { 6860 | bottom: "res4b21" 6861 | top: "res4b21" 6862 | name: "res4b21_relu" 6863 | type: "ReLU" 6864 | } 6865 | 6866 | layer { 6867 | bottom: "res4b21" 6868 | top: "res4b22_branch2a" 6869 | name: "res4b22_branch2a" 6870 | type: "Convolution" 6871 | 6872 | 6873 | param { 6874 | name: "res4b22_branch2a_0" 6875 | lr_mult: 1 6876 | decay_mult: 1 6877 | } 6878 | convolution_param { 6879 | num_output: 256 6880 | kernel_size: 1 6881 | pad: 0 6882 | stride: 1 6883 | bias_term: false 6884 | } 6885 | } 6886 | 6887 | layer { 6888 | bottom: "res4b22_branch2a" 6889 | top: "res4b22_branch2a" 6890 | name: "bn4b22_branch2a" 6891 | type: "BatchNorm" 6892 | 6893 | 6894 | batch_norm_param { 6895 | use_global_stats: true 6896 | } 6897 | param { 6898 | name: "bn4b22_branch2a_0" 6899 | lr_mult: 0 6900 | } 6901 | param { 6902 | name: "bn4b22_branch2a_1" 6903 | lr_mult: 0 6904 | } 6905 | param { 6906 | name: "bn4b22_branch2a_2" 6907 | lr_mult: 0 6908 | } 6909 | } 6910 | 6911 | layer { 6912 | bottom: "res4b22_branch2a" 6913 | top: "res4b22_branch2a" 6914 | name: "scale4b22_branch2a" 6915 | type: "Scale" 6916 | 6917 | 6918 | scale_param { 6919 | bias_term: true 6920 | } 6921 | param { 6922 | name: "scale4b22_branch2a_0" 6923 | lr_mult: 0 6924 | } 6925 | param { 6926 | name: "scale4b22_branch2a_1" 6927 | lr_mult: 0 6928 | } 6929 | } 6930 | 6931 | layer { 6932 | top: "res4b22_branch2a" 6933 | bottom: "res4b22_branch2a" 6934 | name: "res4b22_branch2a_relu" 6935 | type: "ReLU" 6936 | } 6937 | 6938 | layer { 6939 | bottom: "res4b22_branch2a" 6940 | top: "res4b22_branch2b" 6941 | name: "res4b22_branch2b" 6942 | type: "Convolution" 6943 | 6944 | 6945 | param { 6946 | name: "res4b22_branch2b_0" 6947 | lr_mult: 1 6948 | decay_mult: 1 6949 | } 6950 | convolution_param { 6951 | num_output: 256 6952 | kernel_size: 3 6953 | pad: 2 6954 | dilation: 2 6955 | stride: 1 6956 | bias_term: false 6957 | } 6958 | } 6959 | 6960 | layer { 6961 | bottom: "res4b22_branch2b" 6962 | top: "res4b22_branch2b" 6963 | name: "bn4b22_branch2b" 6964 | type: "BatchNorm" 6965 | 6966 | 6967 | batch_norm_param { 6968 | use_global_stats: true 6969 | } 6970 | param { 6971 | name: "bn4b22_branch2b_0" 6972 | lr_mult: 0 6973 | } 6974 | param { 6975 | name: "bn4b22_branch2b_1" 6976 | lr_mult: 0 6977 | } 6978 | param { 6979 | name: "bn4b22_branch2b_2" 6980 | lr_mult: 0 6981 | } 6982 | } 6983 | 6984 | layer { 6985 | bottom: "res4b22_branch2b" 6986 | top: "res4b22_branch2b" 6987 | name: "scale4b22_branch2b" 6988 | type: "Scale" 6989 | 6990 | 6991 | scale_param { 6992 | bias_term: true 6993 | } 6994 | param { 6995 | name: "scale4b22_branch2b_0" 6996 | lr_mult: 0 6997 | } 6998 | param { 6999 | name: "scale4b22_branch2b_1" 7000 | lr_mult: 0 7001 | } 7002 | } 7003 | 7004 | layer { 7005 | top: "res4b22_branch2b" 7006 | bottom: "res4b22_branch2b" 7007 | name: "res4b22_branch2b_relu" 7008 | type: "ReLU" 7009 | } 7010 | 7011 | layer { 7012 | bottom: "res4b22_branch2b" 7013 | top: "res4b22_branch2c" 7014 | name: "res4b22_branch2c" 7015 | type: "Convolution" 7016 | 7017 | 7018 | param { 7019 | name: "res4b22_branch2c_0" 7020 | lr_mult: 1 7021 | decay_mult: 1 7022 | } 7023 | convolution_param { 7024 | num_output: 1024 7025 | kernel_size: 1 7026 | pad: 0 7027 | stride: 1 7028 | bias_term: false 7029 | } 7030 | } 7031 | 7032 | layer { 7033 | bottom: "res4b22_branch2c" 7034 | top: "res4b22_branch2c" 7035 | name: "bn4b22_branch2c" 7036 | type: "BatchNorm" 7037 | 7038 | 7039 | batch_norm_param { 7040 | use_global_stats: true 7041 | } 7042 | param { 7043 | name: "bn4b22_branch2c_0" 7044 | lr_mult: 0 7045 | } 7046 | param { 7047 | name: "bn4b22_branch2c_1" 7048 | lr_mult: 0 7049 | } 7050 | param { 7051 | name: "bn4b22_branch2c_2" 7052 | lr_mult: 0 7053 | } 7054 | } 7055 | 7056 | layer { 7057 | bottom: "res4b22_branch2c" 7058 | top: "res4b22_branch2c" 7059 | name: "scale4b22_branch2c" 7060 | type: "Scale" 7061 | 7062 | 7063 | scale_param { 7064 | bias_term: true 7065 | } 7066 | param { 7067 | name: "scale4b22_branch2c_0" 7068 | lr_mult: 0 7069 | } 7070 | param { 7071 | name: "scale4b22_branch2c_1" 7072 | lr_mult: 0 7073 | } 7074 | } 7075 | 7076 | layer { 7077 | bottom: "res4b21" 7078 | bottom: "res4b22_branch2c" 7079 | top: "res4b22" 7080 | name: "res4b22" 7081 | type: "Eltwise" 7082 | 7083 | 7084 | } 7085 | 7086 | layer { 7087 | bottom: "res4b22" 7088 | top: "res4b22" 7089 | name: "res4b22_relu" 7090 | type: "ReLU" 7091 | } 7092 | 7093 | layer { 7094 | bottom: "res4b22" 7095 | top: "res5a_branch1" 7096 | name: "res5a_branch1" 7097 | type: "Convolution" 7098 | 7099 | 7100 | param { 7101 | name: "res5a_branch1_0" 7102 | lr_mult: 1 7103 | decay_mult: 1 7104 | } 7105 | convolution_param { 7106 | num_output: 2048 7107 | kernel_size: 1 7108 | pad: 0 7109 | stride: 1 7110 | bias_term: false 7111 | } 7112 | } 7113 | 7114 | layer { 7115 | bottom: "res5a_branch1" 7116 | top: "res5a_branch1" 7117 | name: "bn5a_branch1" 7118 | type: "BatchNorm" 7119 | 7120 | 7121 | batch_norm_param { 7122 | use_global_stats: true 7123 | } 7124 | param { 7125 | name: "bn5a_branch1_0" 7126 | lr_mult: 0 7127 | } 7128 | param { 7129 | name: "bn5a_branch1_1" 7130 | lr_mult: 0 7131 | } 7132 | param { 7133 | name: "bn5a_branch1_2" 7134 | lr_mult: 0 7135 | } 7136 | } 7137 | 7138 | layer { 7139 | bottom: "res5a_branch1" 7140 | top: "res5a_branch1" 7141 | name: "scale5a_branch1" 7142 | type: "Scale" 7143 | 7144 | 7145 | scale_param { 7146 | bias_term: true 7147 | } 7148 | param { 7149 | name: "scale5a_branch1_0" 7150 | lr_mult: 0 7151 | } 7152 | param { 7153 | name: "scale5a_branch1_1" 7154 | lr_mult: 0 7155 | } 7156 | } 7157 | 7158 | layer { 7159 | bottom: "res4b22" 7160 | top: "res5a_branch2a" 7161 | name: "res5a_branch2a" 7162 | type: "Convolution" 7163 | 7164 | 7165 | param { 7166 | name: "res5a_branch2a_0" 7167 | lr_mult: 1 7168 | decay_mult: 1 7169 | } 7170 | convolution_param { 7171 | num_output: 512 7172 | kernel_size: 1 7173 | pad: 0 7174 | stride: 1 7175 | bias_term: false 7176 | } 7177 | } 7178 | 7179 | layer { 7180 | bottom: "res5a_branch2a" 7181 | top: "res5a_branch2a" 7182 | name: "bn5a_branch2a" 7183 | type: "BatchNorm" 7184 | 7185 | 7186 | batch_norm_param { 7187 | use_global_stats: true 7188 | } 7189 | param { 7190 | name: "bn5a_branch2a_0" 7191 | lr_mult: 0 7192 | } 7193 | param { 7194 | name: "bn5a_branch2a_1" 7195 | lr_mult: 0 7196 | } 7197 | param { 7198 | name: "bn5a_branch2a_2" 7199 | lr_mult: 0 7200 | } 7201 | } 7202 | 7203 | layer { 7204 | bottom: "res5a_branch2a" 7205 | top: "res5a_branch2a" 7206 | name: "scale5a_branch2a" 7207 | type: "Scale" 7208 | 7209 | 7210 | scale_param { 7211 | bias_term: true 7212 | } 7213 | param { 7214 | name: "scale5a_branch2a_0" 7215 | lr_mult: 0 7216 | } 7217 | param { 7218 | name: "scale5a_branch2a_1" 7219 | lr_mult: 0 7220 | } 7221 | } 7222 | 7223 | layer { 7224 | top: "res5a_branch2a" 7225 | bottom: "res5a_branch2a" 7226 | name: "res5a_branch2a_relu" 7227 | type: "ReLU" 7228 | } 7229 | 7230 | layer { 7231 | bottom: "res5a_branch2a" 7232 | top: "res5a_branch2b" 7233 | name: "res5a_branch2b" 7234 | type: "Convolution" 7235 | 7236 | 7237 | param { 7238 | name: "res5a_branch2b_0" 7239 | lr_mult: 1 7240 | decay_mult: 1 7241 | } 7242 | convolution_param { 7243 | num_output: 512 7244 | kernel_size: 3 7245 | pad: 4 7246 | dilation: 4 7247 | stride: 1 7248 | bias_term: false 7249 | } 7250 | } 7251 | 7252 | layer { 7253 | bottom: "res5a_branch2b" 7254 | top: "res5a_branch2b" 7255 | name: "bn5a_branch2b" 7256 | type: "BatchNorm" 7257 | 7258 | 7259 | batch_norm_param { 7260 | use_global_stats: true 7261 | } 7262 | param { 7263 | name: "bn5a_branch2b_0" 7264 | lr_mult: 0 7265 | } 7266 | param { 7267 | name: "bn5a_branch2b_1" 7268 | lr_mult: 0 7269 | } 7270 | param { 7271 | name: "bn5a_branch2b_2" 7272 | lr_mult: 0 7273 | } 7274 | } 7275 | 7276 | layer { 7277 | bottom: "res5a_branch2b" 7278 | top: "res5a_branch2b" 7279 | name: "scale5a_branch2b" 7280 | type: "Scale" 7281 | 7282 | 7283 | scale_param { 7284 | bias_term: true 7285 | } 7286 | param { 7287 | name: "scale5a_branch2b_0" 7288 | lr_mult: 0 7289 | } 7290 | param { 7291 | name: "scale5a_branch2b_1" 7292 | lr_mult: 0 7293 | } 7294 | } 7295 | 7296 | layer { 7297 | top: "res5a_branch2b" 7298 | bottom: "res5a_branch2b" 7299 | name: "res5a_branch2b_relu" 7300 | type: "ReLU" 7301 | } 7302 | 7303 | layer { 7304 | bottom: "res5a_branch2b" 7305 | top: "res5a_branch2c" 7306 | name: "res5a_branch2c" 7307 | type: "Convolution" 7308 | 7309 | 7310 | param { 7311 | name: "res5a_branch2c_0" 7312 | lr_mult: 1 7313 | decay_mult: 1 7314 | } 7315 | convolution_param { 7316 | num_output: 2048 7317 | kernel_size: 1 7318 | pad: 0 7319 | stride: 1 7320 | bias_term: false 7321 | } 7322 | } 7323 | 7324 | layer { 7325 | bottom: "res5a_branch2c" 7326 | top: "res5a_branch2c" 7327 | name: "bn5a_branch2c" 7328 | type: "BatchNorm" 7329 | 7330 | 7331 | batch_norm_param { 7332 | use_global_stats: true 7333 | } 7334 | param { 7335 | name: "bn5a_branch2c_0" 7336 | lr_mult: 0 7337 | } 7338 | param { 7339 | name: "bn5a_branch2c_1" 7340 | lr_mult: 0 7341 | } 7342 | param { 7343 | name: "bn5a_branch2c_2" 7344 | lr_mult: 0 7345 | } 7346 | } 7347 | 7348 | layer { 7349 | bottom: "res5a_branch2c" 7350 | top: "res5a_branch2c" 7351 | name: "scale5a_branch2c" 7352 | type: "Scale" 7353 | 7354 | 7355 | scale_param { 7356 | bias_term: true 7357 | } 7358 | param { 7359 | name: "scale5a_branch2c_0" 7360 | lr_mult: 0 7361 | } 7362 | param { 7363 | name: "scale5a_branch2c_1" 7364 | lr_mult: 0 7365 | } 7366 | } 7367 | 7368 | layer { 7369 | bottom: "res5a_branch1" 7370 | bottom: "res5a_branch2c" 7371 | top: "res5a" 7372 | name: "res5a" 7373 | type: "Eltwise" 7374 | 7375 | 7376 | } 7377 | 7378 | layer { 7379 | bottom: "res5a" 7380 | top: "res5a" 7381 | name: "res5a_relu" 7382 | type: "ReLU" 7383 | } 7384 | 7385 | layer { 7386 | bottom: "res5a" 7387 | top: "res5b_branch2a" 7388 | name: "res5b_branch2a" 7389 | type: "Convolution" 7390 | 7391 | 7392 | param { 7393 | name: "res5b_branch2a_0" 7394 | lr_mult: 1 7395 | decay_mult: 1 7396 | } 7397 | convolution_param { 7398 | num_output: 512 7399 | kernel_size: 1 7400 | pad: 0 7401 | stride: 1 7402 | bias_term: false 7403 | } 7404 | } 7405 | 7406 | layer { 7407 | bottom: "res5b_branch2a" 7408 | top: "res5b_branch2a" 7409 | name: "bn5b_branch2a" 7410 | type: "BatchNorm" 7411 | 7412 | 7413 | batch_norm_param { 7414 | use_global_stats: true 7415 | } 7416 | param { 7417 | name: "bn5b_branch2a_0" 7418 | lr_mult: 0 7419 | } 7420 | param { 7421 | name: "bn5b_branch2a_1" 7422 | lr_mult: 0 7423 | } 7424 | param { 7425 | name: "bn5b_branch2a_2" 7426 | lr_mult: 0 7427 | } 7428 | } 7429 | 7430 | layer { 7431 | bottom: "res5b_branch2a" 7432 | top: "res5b_branch2a" 7433 | name: "scale5b_branch2a" 7434 | type: "Scale" 7435 | 7436 | 7437 | scale_param { 7438 | bias_term: true 7439 | } 7440 | param { 7441 | name: "scale5b_branch2a_0" 7442 | lr_mult: 0 7443 | } 7444 | param { 7445 | name: "scale5b_branch2a_1" 7446 | lr_mult: 0 7447 | } 7448 | } 7449 | 7450 | layer { 7451 | top: "res5b_branch2a" 7452 | bottom: "res5b_branch2a" 7453 | name: "res5b_branch2a_relu" 7454 | type: "ReLU" 7455 | } 7456 | 7457 | layer { 7458 | bottom: "res5b_branch2a" 7459 | top: "res5b_branch2b" 7460 | name: "res5b_branch2b" 7461 | type: "Convolution" 7462 | 7463 | 7464 | param { 7465 | name: "res5b_branch2b_0" 7466 | lr_mult: 1 7467 | decay_mult: 1 7468 | } 7469 | convolution_param { 7470 | num_output: 512 7471 | kernel_size: 3 7472 | pad: 4 7473 | dilation: 4 7474 | stride: 1 7475 | bias_term: false 7476 | } 7477 | } 7478 | 7479 | layer { 7480 | bottom: "res5b_branch2b" 7481 | top: "res5b_branch2b" 7482 | name: "bn5b_branch2b" 7483 | type: "BatchNorm" 7484 | 7485 | 7486 | batch_norm_param { 7487 | use_global_stats: true 7488 | } 7489 | param { 7490 | name: "bn5b_branch2b_0" 7491 | lr_mult: 0 7492 | } 7493 | param { 7494 | name: "bn5b_branch2b_1" 7495 | lr_mult: 0 7496 | } 7497 | param { 7498 | name: "bn5b_branch2b_2" 7499 | lr_mult: 0 7500 | } 7501 | } 7502 | 7503 | layer { 7504 | bottom: "res5b_branch2b" 7505 | top: "res5b_branch2b" 7506 | name: "scale5b_branch2b" 7507 | type: "Scale" 7508 | 7509 | 7510 | scale_param { 7511 | bias_term: true 7512 | } 7513 | param { 7514 | name: "scale5b_branch2b_0" 7515 | lr_mult: 0 7516 | } 7517 | param { 7518 | name: "scale5b_branch2b_1" 7519 | lr_mult: 0 7520 | } 7521 | } 7522 | 7523 | layer { 7524 | top: "res5b_branch2b" 7525 | bottom: "res5b_branch2b" 7526 | name: "res5b_branch2b_relu" 7527 | type: "ReLU" 7528 | } 7529 | 7530 | layer { 7531 | bottom: "res5b_branch2b" 7532 | top: "res5b_branch2c" 7533 | name: "res5b_branch2c" 7534 | type: "Convolution" 7535 | 7536 | 7537 | param { 7538 | name: "res5b_branch2c_0" 7539 | lr_mult: 1 7540 | decay_mult: 1 7541 | } 7542 | convolution_param { 7543 | num_output: 2048 7544 | kernel_size: 1 7545 | pad: 0 7546 | stride: 1 7547 | bias_term: false 7548 | } 7549 | } 7550 | 7551 | layer { 7552 | bottom: "res5b_branch2c" 7553 | top: "res5b_branch2c" 7554 | name: "bn5b_branch2c" 7555 | type: "BatchNorm" 7556 | 7557 | 7558 | batch_norm_param { 7559 | use_global_stats: true 7560 | } 7561 | param { 7562 | name: "bn5b_branch2c_0" 7563 | lr_mult: 0 7564 | } 7565 | param { 7566 | name: "bn5b_branch2c_1" 7567 | lr_mult: 0 7568 | } 7569 | param { 7570 | name: "bn5b_branch2c_2" 7571 | lr_mult: 0 7572 | } 7573 | } 7574 | 7575 | layer { 7576 | bottom: "res5b_branch2c" 7577 | top: "res5b_branch2c" 7578 | name: "scale5b_branch2c" 7579 | type: "Scale" 7580 | 7581 | 7582 | scale_param { 7583 | bias_term: true 7584 | } 7585 | param { 7586 | name: "scale5b_branch2c_0" 7587 | lr_mult: 0 7588 | } 7589 | param { 7590 | name: "scale5b_branch2c_1" 7591 | lr_mult: 0 7592 | } 7593 | } 7594 | 7595 | layer { 7596 | bottom: "res5a" 7597 | bottom: "res5b_branch2c" 7598 | top: "res5b" 7599 | name: "res5b" 7600 | type: "Eltwise" 7601 | 7602 | 7603 | } 7604 | 7605 | layer { 7606 | bottom: "res5b" 7607 | top: "res5b" 7608 | name: "res5b_relu" 7609 | type: "ReLU" 7610 | } 7611 | 7612 | layer { 7613 | bottom: "res5b" 7614 | top: "res5c_branch2a" 7615 | name: "res5c_branch2a" 7616 | type: "Convolution" 7617 | 7618 | 7619 | param { 7620 | name: "res5c_branch2a_0" 7621 | lr_mult: 1 7622 | decay_mult: 1 7623 | } 7624 | convolution_param { 7625 | num_output: 512 7626 | kernel_size: 1 7627 | pad: 0 7628 | stride: 1 7629 | bias_term: false 7630 | } 7631 | } 7632 | 7633 | layer { 7634 | bottom: "res5c_branch2a" 7635 | top: "res5c_branch2a" 7636 | name: "bn5c_branch2a" 7637 | type: "BatchNorm" 7638 | 7639 | 7640 | batch_norm_param { 7641 | use_global_stats: true 7642 | } 7643 | param { 7644 | name: "bn5c_branch2a_0" 7645 | lr_mult: 0 7646 | } 7647 | param { 7648 | name: "bn5c_branch2a_1" 7649 | lr_mult: 0 7650 | } 7651 | param { 7652 | name: "bn5c_branch2a_2" 7653 | lr_mult: 0 7654 | } 7655 | } 7656 | 7657 | layer { 7658 | bottom: "res5c_branch2a" 7659 | top: "res5c_branch2a" 7660 | name: "scale5c_branch2a" 7661 | type: "Scale" 7662 | 7663 | 7664 | scale_param { 7665 | bias_term: true 7666 | } 7667 | param { 7668 | name: "scale5c_branch2a_0" 7669 | lr_mult: 0 7670 | } 7671 | param { 7672 | name: "scale5c_branch2a_1" 7673 | lr_mult: 0 7674 | } 7675 | } 7676 | 7677 | layer { 7678 | top: "res5c_branch2a" 7679 | bottom: "res5c_branch2a" 7680 | name: "res5c_branch2a_relu" 7681 | type: "ReLU" 7682 | } 7683 | 7684 | layer { 7685 | bottom: "res5c_branch2a" 7686 | top: "res5c_branch2b" 7687 | name: "res5c_branch2b" 7688 | type: "Convolution" 7689 | 7690 | 7691 | param { 7692 | name: "res5c_branch2b_0" 7693 | lr_mult: 1 7694 | decay_mult: 1 7695 | } 7696 | convolution_param { 7697 | num_output: 512 7698 | kernel_size: 3 7699 | pad: 4 7700 | dilation: 4 7701 | stride: 1 7702 | bias_term: false 7703 | } 7704 | } 7705 | 7706 | layer { 7707 | bottom: "res5c_branch2b" 7708 | top: "res5c_branch2b" 7709 | name: "bn5c_branch2b" 7710 | type: "BatchNorm" 7711 | 7712 | 7713 | batch_norm_param { 7714 | use_global_stats: true 7715 | } 7716 | param { 7717 | name: "bn5c_branch2b_0" 7718 | lr_mult: 0 7719 | } 7720 | param { 7721 | name: "bn5c_branch2b_1" 7722 | lr_mult: 0 7723 | } 7724 | param { 7725 | name: "bn5c_branch2b_2" 7726 | lr_mult: 0 7727 | } 7728 | } 7729 | 7730 | layer { 7731 | bottom: "res5c_branch2b" 7732 | top: "res5c_branch2b" 7733 | name: "scale5c_branch2b" 7734 | type: "Scale" 7735 | 7736 | 7737 | scale_param { 7738 | bias_term: true 7739 | } 7740 | param { 7741 | name: "scale5c_branch2b_0" 7742 | lr_mult: 0 7743 | } 7744 | param { 7745 | name: "scale5c_branch2b_1" 7746 | lr_mult: 0 7747 | } 7748 | } 7749 | 7750 | layer { 7751 | top: "res5c_branch2b" 7752 | bottom: "res5c_branch2b" 7753 | name: "res5c_branch2b_relu" 7754 | type: "ReLU" 7755 | } 7756 | 7757 | layer { 7758 | bottom: "res5c_branch2b" 7759 | top: "res5c_branch2c" 7760 | name: "res5c_branch2c" 7761 | type: "Convolution" 7762 | 7763 | 7764 | param { 7765 | name: "res5c_branch2c_0" 7766 | lr_mult: 1 7767 | decay_mult: 1 7768 | } 7769 | convolution_param { 7770 | num_output: 2048 7771 | kernel_size: 1 7772 | pad: 0 7773 | stride: 1 7774 | bias_term: false 7775 | } 7776 | } 7777 | 7778 | layer { 7779 | bottom: "res5c_branch2c" 7780 | top: "res5c_branch2c" 7781 | name: "bn5c_branch2c" 7782 | type: "BatchNorm" 7783 | 7784 | 7785 | batch_norm_param { 7786 | use_global_stats: true 7787 | } 7788 | param { 7789 | name: "bn5c_branch2c_0" 7790 | lr_mult: 0 7791 | } 7792 | param { 7793 | name: "bn5c_branch2c_1" 7794 | lr_mult: 0 7795 | } 7796 | param { 7797 | name: "bn5c_branch2c_2" 7798 | lr_mult: 0 7799 | } 7800 | } 7801 | 7802 | layer { 7803 | bottom: "res5c_branch2c" 7804 | top: "res5c_branch2c" 7805 | name: "scale5c_branch2c" 7806 | type: "Scale" 7807 | 7808 | 7809 | scale_param { 7810 | bias_term: true 7811 | } 7812 | param { 7813 | name: "scale5c_branch2c_0" 7814 | lr_mult: 0 7815 | } 7816 | param { 7817 | name: "scale5c_branch2c_1" 7818 | lr_mult: 0 7819 | } 7820 | } 7821 | 7822 | layer { 7823 | bottom: "res5b" 7824 | bottom: "res5c_branch2c" 7825 | top: "res5c" 7826 | name: "res5c" 7827 | type: "Eltwise" 7828 | 7829 | 7830 | } 7831 | 7832 | layer { 7833 | bottom: "res5c" 7834 | top: "res5c" 7835 | name: "res5c_relu" 7836 | type: "ReLU" 7837 | } 7838 | 7839 | ############################### classifiers ########################## 7840 | ############################### classifiers ########################## 7841 | 7842 | 7843 | 7844 | 7845 | layer { 7846 | name: "Index" 7847 | type: "Convolution" 7848 | bottom: "res5c" 7849 | top: "Index" 7850 | param { 7851 | lr_mult: 10 7852 | decay_mult: 1 7853 | } 7854 | param { 7855 | lr_mult: 20 7856 | decay_mult: 0 7857 | } 7858 | convolution_param { 7859 | num_output: 26 7860 | kernel_size: 1 7861 | weight_filler { 7862 | type: "gaussian" 7863 | std: 0.01 7864 | } 7865 | bias_filler { 7866 | type: "constant" 7867 | value: 0 7868 | } 7869 | } 7870 | } 7871 | 7872 | 7873 | layer { 7874 | name: "Regression_U" 7875 | type: "Convolution" 7876 | bottom: "res5c" 7877 | top: "Regression_U" 7878 | param { 7879 | lr_mult: 10 7880 | decay_mult: 1 7881 | } 7882 | param { 7883 | lr_mult: 20 7884 | decay_mult: 0 7885 | } 7886 | convolution_param { 7887 | num_output: 26 7888 | kernel_size: 1 7889 | weight_filler { 7890 | type: "gaussian" 7891 | std: 0.001 7892 | } 7893 | bias_filler { 7894 | type: "constant" 7895 | value: 0 7896 | } 7897 | } 7898 | } 7899 | 7900 | layer { 7901 | name: "Regression_V" 7902 | type: "Convolution" 7903 | bottom: "res5c" 7904 | top: "Regression_V" 7905 | param { 7906 | lr_mult: 10 7907 | decay_mult: 1 7908 | } 7909 | param { 7910 | lr_mult: 20 7911 | decay_mult: 0 7912 | } 7913 | convolution_param { 7914 | num_output: 26 7915 | kernel_size: 1 7916 | weight_filler { 7917 | type: "gaussian" 7918 | std: 0.001 7919 | } 7920 | bias_filler { 7921 | type: "constant" 7922 | value: 0 7923 | } 7924 | } 7925 | } 7926 | 7927 | layer { 7928 | bottom: "Index" 7929 | top: "Index_zoom" 7930 | name: "Index_zoom" 7931 | type: "Interp" 7932 | interp_param { 7933 | zoom_factor: 8 7934 | pad_beg: 0 7935 | pad_end: 0 7936 | } 7937 | } 7938 | 7939 | 7940 | layer { 7941 | bottom: "Regression_V" 7942 | top: "Regression_V_zoom" 7943 | name: "Regression_V_zoom" 7944 | type: "Interp" 7945 | interp_param { 7946 | zoom_factor: 8 7947 | pad_beg: 0 7948 | pad_end: 0 7949 | } 7950 | } 7951 | 7952 | layer { 7953 | bottom: "Regression_U" 7954 | top: "Regression_U_zoom" 7955 | name: "Regression_U_zoom" 7956 | type: "Interp" 7957 | interp_param { 7958 | zoom_factor: 8 7959 | pad_beg: 0 7960 | pad_end: 0 7961 | } 7962 | } 7963 | 7964 | 7965 | ################## compute loss #################### 7966 | 7967 | 7968 | ##################### 7969 | 7970 | layer { 7971 | include: {phase: TEST} 7972 | bottom: "Index_zoom" 7973 | top: "Index_zoom_argmax" 7974 | name: "Index_zoom_argmax" 7975 | type: "ArgMax" 7976 | argmax_param { axis: 1 } 7977 | } 7978 | 7979 | 7980 | layer { 7981 | name: "combine" 7982 | type: "Python" 7983 | bottom: "Index_zoom_argmax" 7984 | bottom: "Index_zoom_argmax" 7985 | bottom: "Regression_U_zoom" 7986 | bottom: "Regression_V_zoom" 7987 | top: "U_Out" 7988 | top: "V_Out" 7989 | python_param { 7990 | module: "CombineRegressionsHuman" 7991 | layer: "CombineRegressionsLayer" 7992 | } 7993 | } 7994 | 7995 | 7996 | -------------------------------------------------------------------------------- /template_data/Grid_color.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralpguler/DenseReg/d28c89e42c63e2c8c29f3cfdbc0336a6103195d9/template_data/Grid_color.mat -------------------------------------------------------------------------------- /template_data/SegLabelsColor.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralpguler/DenseReg/d28c89e42c63e2c8c29f3cfdbc0336a6103195d9/template_data/SegLabelsColor.mat -------------------------------------------------------------------------------- /template_data/template_landmarks.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ralpguler/DenseReg/d28c89e42c63e2c8c29f3cfdbc0336a6103195d9/template_data/template_landmarks.npy --------------------------------------------------------------------------------