├── README.md ├── demo_JLDCF.m ├── figures ├── Depth.png ├── JL-DCF_framework.png ├── JL-DCF_results.png └── JL-DCF_visual_comparisons.png ├── models └── readme.txt ├── models_prototxts └── test_JLDCF_resnet101.prototxt ├── preprocessing.m ├── results ├── RGBD_data_1_GT.png ├── RGBD_data_1_JLDCF.png ├── RGBD_data_2_GT.png ├── RGBD_data_2_JLDCF.png ├── RGBD_data_3_GT.png ├── RGBD_data_3_JLDCF.png ├── RGBD_data_4_GT.png ├── RGBD_data_4_JLDCF.png ├── RGBD_data_5_GT.png └── RGBD_data_5_JLDCF.png └── test_images ├── RGBD_data_1.bmp ├── RGBD_data_1.jpg ├── RGBD_data_2.bmp ├── RGBD_data_2.jpg ├── RGBD_data_3.bmp ├── RGBD_data_3.jpg ├── RGBD_data_4.bmp ├── RGBD_data_4.jpg ├── RGBD_data_5.bmp └── RGBD_data_5.jpg /README.md: -------------------------------------------------------------------------------- 1 | # JL-DCF (CVPR 2020, TPAMI 2021) 2 | JL-DCF: Joint Learning and Densely-Cooperative Fusion Framework for RGB-D Salient Object Detection (CVPR2020) [[PDF](https://openaccess.thecvf.com/content_CVPR_2020/papers/Fu_JL-DCF_Joint_Learning_and_Densely-Cooperative_Fusion_Framework_for_RGB-D_Salient_CVPR_2020_paper.pdf)][[中文版](http://www.kerenfu.top/sources/2020cvprjldcf-cn.pdf)] 3 | Siamese Network for RGB-D Salient Object Detection and Beyond (TPAMI2021) [[PDF](https://arxiv.org/pdf/2008.12134.pdf)][[中文版](http://www.kerenfu.top/sources/2021tpamijldcf-cn.pdf)] 4 | -Testing code is released! 5 | :fire:**News!!!**:fire: The Pytorch implementation (**Training & Testing**) of JL-DCF is now released! Please step to the new [Project Page](https://github.com/jiangyao-scu/JL-DCF-pytorch) for more information. 6 | -Notice that there was a small description mistake in our papers that the NJU2K dataset we used indeed has 1,985 samples (with which we actually experimented), rather than 2,000. 7 | 8 | ![alt text](./figures/JL-DCF_framework.png) 9 | 10 | ![alt text](./figures/JL-DCF_visual_comparisons.png) 11 | 12 | ![alt text](./figures/JL-DCF_results.png) 13 | ## Usage 14 | The original implementation of JL-DCF is Caffe. The code can run on both Windows and Linux, depending on which OS you are using. It has been tested on Linux (with Ubuntu 16.04, CUDA-10, Cudnn-7.6, Matlab 2015b) and also Windows 10 (with CUDA-9, Cudnn-7.6, Matlab 2018a, Visual Studio 2015). It should also work on other configurations (better on CUDA-8.0+, Cudnn-5.0+, and Matlab 2013a+) but we didn't try. 15 | 16 | 1. STEP1: To run the code, you should first install Caffe and also its MATLAB Interface. 17 | 18 | Suggested Caffe version from Github 19 | For Linux: https://github.com/BVLC/caffe 20 | For Windows: https://github.com/BVLC/caffe/tree/windows OR https://github.com/happynear/caffe-windows (the latter works more easily with Visual Studio project *.sln and is recommended to run our code for Windows users) 21 | 22 | Note that standard Caffe is enough for running our code! 23 | 24 | 2. STEP2: Download the model of JL-DCF from the following links and have it in the "models" folder. 25 | 链接:https://pan.baidu.com/s/1hHckF5PPtFXM52GaYNeuOw 提取码:nvoi 26 | or: 27 | https://drive.google.com/open?id=185L3uULu0-GKWyLxE6S8X79pYYj6JUOg 28 | 29 | 30 | 3. STEP3: Open MATLAB, run demo_JLDCF.m and get the results in "results" folder. 31 | 32 | ## Results 33 | Results of our JL-DCF model on 7 benchmark datasets (NJU2K, NLPR, STERE, RGBD135, LFSD, SIP, DUT-RGBD) can be found below: 34 | 链接: https://pan.baidu.com/s/1NGaoZbmPKDr1auMtO0syFQ 提取码: osnf 35 | or: 36 | https://drive.google.com/open?id=1I_2i5XbjTdAVfgOh4wpfV3EuqVaXRQH0 37 | 38 | References of datasets: 39 | [STERE] Leveraging stereopsis for saliency analysis. In CVPR 2012. 40 | [NJU2K] Depth saliency based on anisotropic centersurround difference. In ICIP 2014. 41 | [NLPR] Rgbd salient object detection: A benchmark and algorithms. In ECCV 2014. 42 | [RGBD135] Depth enhanced saliency detection method. In International Conference on Internet Multimedia Computing and Service. ACM, 2014. 43 | [LFSD] Saliency detection on light field. In CVPR 2014. 44 | [DUT-RGBD] Depth-induced multi-scale recurrent attention network for saliency detection. In ICCV 2019. 45 | [SIP] Rethinking RGB-D salient object detection: Models, datasets, and large-scale benchmarks. IEEE TNNLS, 2020. 46 | 47 | :fire:As some researchers require, results of our JL-DCF model on SSD dataset (having 80 samples) can be found below: 48 | 链接: https://pan.baidu.com/s/18q3YNCfEv9o5uwMUeJ3rgw 提取码: drir 49 | or: 50 | https://drive.google.com/open?id=1Yqc7rQotSFjvqcnDoOavPTur81U4v0vj 51 | 52 | References of dataset: 53 | [SSD] A three-pathway psychobiological framework of salient object detection using stereoscopic technology. In ICCVW 2017. 54 | 55 | 56 | ## Important Tips! 57 | Note that our JL-DCF model was trained on depth maps which satisfy the rule that closer objects present lower depth values (are "black"), 58 | while further objects have higher depth values (are "white"). such a rule is enforced in order to meet physical common sense. We observed that the model performance would somewhat degrade when using reversed maps (e.g., disparity maps) during testing. So be aware of the following issues when testing the models: 59 | 1. Depth maps are min-max normalized into [0, 1] or [0, 255]. 60 | 2. Closer objects present lower depth values (are "black"). 61 | ![alt text](./figures/Depth.png) 62 | 63 | 64 | ## Dataset 65 | Our training dataset is 66 | 链接: https://pan.baidu.com/s/1uF6LxbH0RIcMFN71cEcGHQ 提取码: 5z48 67 | or: 68 | https://drive.google.com/open?id=1BpVabSlPH_GhozzRQYjxTOT_cS6xDUgf 69 | 70 | ## Citation 71 | Please cite our paper if you find the work useful: 72 | 73 | @inproceedings{Fu2020JLDCF, 74 | title={JL-DCF: Joint Learning and Densely-Cooperative Fusion Framework for RGB-D Salient Object Detection}, 75 | author={Fu, Keren and Fan, Deng-Ping and Ji, Ge-Peng and Zhao, Qijun}, 76 | booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)}, 77 | pages={3052--3062}, 78 | year={2020} 79 | } 80 | 81 | @article{Fu2021siamese, 82 | title={Siamese Network for RGB-D Salient Object Detection and Beyond}, 83 | author={Fu, Keren and Fan, Deng-Ping and Ji, Ge-Peng and Zhao, Qijun and Shen, Jianbing and Zhu, Ce}, 84 | journal={IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI)}, 85 | year={2021} 86 | } 87 | ## Benchmark RGB-D SOD 88 | The complete RGB-D SOD benchmark can be found in this page 89 | http://dpfan.net/d3netbenchmark/ 90 | -------------------------------------------------------------------------------- /demo_JLDCF.m: -------------------------------------------------------------------------------- 1 | clear all; 2 | close all; 3 | clc; 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%root%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | protoFile = 'models_prototxts/test_JLDCF_resnet101.prototxt'; 6 | modelFile = 'models/JLDCF_resnet101.caffemodel'; 7 | useGPU = true; % GPU / CPU 8 | input_path = 'test_images/'; %input image path 9 | depth_path = 'test_images/'; %input image path 10 | output_path= 'results/'; 11 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%initialize%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 12 | if exist(modelFile, 'file') == 0 13 | fprintf('%s does not exist.', modelFile); 14 | end 15 | if ~exist(protoFile,'file') 16 | error('%s does not exist.', protoFile); 17 | end 18 | caffe.reset_all(); 19 | if useGPU 20 | fprintf('Using GPU Mode\n'); 21 | caffe.set_mode_gpu(); 22 | caffe.set_device(0); 23 | else 24 | fprintf('Using CPU Mode\n'); 25 | caffe.set_mode_cpu; 26 | end 27 | net = caffe.Net(protoFile, modelFile, 'test'); 28 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%processing%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 29 | input_filelist = dir([input_path '/*.jpg']); %get input image list 30 | len = length(input_filelist); 31 | for Ind=1:len 32 | disp('-------------------------------------'); 33 | disp(['Processing ' num2str(Ind) 'th image']); 34 | %% read image, depth and data preparation 35 | string_file=input_filelist(Ind).name; 36 | im_data=imread([input_path string_file]); 37 | depth_data=imread([depth_path string_file(1:end-4) '.bmp']); 38 | if size(depth_data,3)==1 39 | depth_data=repmat(depth_data,[1 1 3]); 40 | end 41 | [H, W, S]=size(im_data); 42 | if S==1 src=repmat(src,[1,1,3]); end 43 | 44 | data_shape=net.blobs('image').shape; 45 | input_size=data_shape(1); 46 | %% predict RGB-D saliency 47 | im_data= preprocessing(im_data,input_size); 48 | depth_data= preprocessing(depth_data,input_size); 49 | 50 | t1 = tic; 51 | net.forward({im_data,depth_data}); 52 | running_time(Ind) = toc(t1); 53 | 54 | % %%uncomment below code to get global coarse RGB and depth prediction%%% 55 | % output = net.blobs('sigmoid_global').get_data(); 56 | % global_rgb=output(:,:,:,1); 57 | % global_rgb=permute(global_rgb,[2,1,3]); 58 | % global_rgb=imresize(global_rgb,[H,W],'nearest'); 59 | % global_depth=output(:,:,:,2); 60 | % global_depth=permute(global_depth,[2,1,3]); 61 | % global_depth=imresize(global_depth,[H,W],'nearest'); 62 | % imwrite([global_rgb],[output_path,string_file(1:end-4),'_JLDCF_rgb.png']); 63 | % imwrite([global_depth],[output_path,string_file(1:end-4),'_JLDCF_depth.png']); 64 | 65 | final_fusion = net.blobs('final_fusion').get_data(); 66 | final_fusion=permute(final_fusion,[2,1,3]); 67 | final_fusion=imresize(final_fusion,[H,W],'nearest'); 68 | 69 | imwrite([final_fusion],[output_path,string_file(1:end-4),'_JLDCF.png']); 70 | end 71 | fprintf('mean time: %.3fs\n', mean(running_time(2:end)));%ignore the 1st image for warming up -------------------------------------------------------------------------------- /figures/Depth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/figures/Depth.png -------------------------------------------------------------------------------- /figures/JL-DCF_framework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/figures/JL-DCF_framework.png -------------------------------------------------------------------------------- /figures/JL-DCF_results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/figures/JL-DCF_results.png -------------------------------------------------------------------------------- /figures/JL-DCF_visual_comparisons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/figures/JL-DCF_visual_comparisons.png -------------------------------------------------------------------------------- /models/readme.txt: -------------------------------------------------------------------------------- 1 | Download the model of JL-DCF from the following links and have it in this folder. -------------------------------------------------------------------------------- /models_prototxts/test_JLDCF_resnet101.prototxt: -------------------------------------------------------------------------------- 1 | input: "image" 2 | input: "depth" 3 | input_shape { 4 | dim: 1 5 | dim: 3 6 | dim: 320 7 | dim: 320 8 | } 9 | input_shape { 10 | dim: 1 11 | dim: 3 12 | dim: 320 13 | dim: 320 14 | } 15 | # ------------------------ conv1 ----------------------------- 16 | layer { 17 | name: "image_and_depth" 18 | bottom: "image" 19 | bottom: "depth" 20 | top: "image_and_depth" 21 | type: "Concat" 22 | concat_param { 23 | axis: 0 24 | } 25 | } 26 | 27 | layer { 28 | bottom: "image_and_depth" 29 | top: "conv1" 30 | name: "conv1" 31 | type: "Convolution" 32 | convolution_param { 33 | num_output: 64 34 | kernel_size: 7 35 | pad: 3 36 | stride: 2 37 | bias_term: false 38 | } 39 | param { 40 | lr_mult: 1.0 41 | } 42 | } 43 | 44 | layer { 45 | bottom: "conv1" 46 | top: "conv1" 47 | name: "bn_conv1" 48 | type: "BatchNorm" 49 | batch_norm_param { 50 | use_global_stats: true 51 | } 52 | param { 53 | lr_mult: 0.0 54 | decay_mult: 0.0 55 | } 56 | param { 57 | lr_mult: 0.0 58 | decay_mult: 0.0 59 | } 60 | param { 61 | lr_mult: 0.0 62 | decay_mult: 0.0 63 | } 64 | } 65 | 66 | layer { 67 | bottom: "conv1" 68 | top: "conv1" 69 | name: "scale_conv1" 70 | type: "Scale" 71 | scale_param { 72 | bias_term: true 73 | } 74 | param { 75 | lr_mult: 0.0 76 | decay_mult: 0.0 77 | } 78 | param { 79 | lr_mult: 0.0 80 | decay_mult: 0.0 81 | } 82 | } 83 | 84 | layer { 85 | top: "conv1" 86 | bottom: "conv1" 87 | name: "conv1_relu" 88 | type: "ReLU" 89 | } 90 | 91 | layer { 92 | bottom: "conv1" 93 | top: "pool1" 94 | name: "pool1" 95 | type: "Pooling" 96 | pooling_param { 97 | kernel_size: 3 98 | stride: 2 99 | pool: MAX 100 | } 101 | } 102 | 103 | layer { 104 | bottom: "pool1" 105 | top: "res2a_branch1" 106 | name: "res2a_branch1" 107 | type: "Convolution" 108 | convolution_param { 109 | num_output: 256 110 | kernel_size: 1 111 | pad: 0 112 | stride: 1 113 | bias_term: false 114 | } 115 | param { 116 | lr_mult: 1.0 117 | } 118 | } 119 | 120 | layer { 121 | bottom: "res2a_branch1" 122 | top: "res2a_branch1" 123 | name: "bn2a_branch1" 124 | type: "BatchNorm" 125 | batch_norm_param { 126 | use_global_stats: true 127 | } 128 | param { 129 | lr_mult: 0.0 130 | decay_mult: 0.0 131 | } 132 | param { 133 | lr_mult: 0.0 134 | decay_mult: 0.0 135 | } 136 | param { 137 | lr_mult: 0.0 138 | decay_mult: 0.0 139 | } 140 | } 141 | 142 | layer { 143 | bottom: "res2a_branch1" 144 | top: "res2a_branch1" 145 | name: "scale2a_branch1" 146 | type: "Scale" 147 | scale_param { 148 | bias_term: true 149 | } 150 | param { 151 | lr_mult: 0.0 152 | decay_mult: 0.0 153 | } 154 | param { 155 | lr_mult: 0.0 156 | decay_mult: 0.0 157 | } 158 | } 159 | 160 | layer { 161 | bottom: "pool1" 162 | top: "res2a_branch2a" 163 | name: "res2a_branch2a" 164 | type: "Convolution" 165 | convolution_param { 166 | num_output: 64 167 | kernel_size: 1 168 | pad: 0 169 | stride: 1 170 | bias_term: false 171 | } 172 | param { 173 | lr_mult: 1.0 174 | } 175 | } 176 | 177 | layer { 178 | bottom: "res2a_branch2a" 179 | top: "res2a_branch2a" 180 | name: "bn2a_branch2a" 181 | type: "BatchNorm" 182 | batch_norm_param { 183 | use_global_stats: true 184 | } 185 | param { 186 | lr_mult: 0.0 187 | decay_mult: 0.0 188 | } 189 | param { 190 | lr_mult: 0.0 191 | decay_mult: 0.0 192 | } 193 | param { 194 | lr_mult: 0.0 195 | decay_mult: 0.0 196 | } 197 | } 198 | 199 | layer { 200 | bottom: "res2a_branch2a" 201 | top: "res2a_branch2a" 202 | name: "scale2a_branch2a" 203 | type: "Scale" 204 | scale_param { 205 | bias_term: true 206 | } 207 | param { 208 | lr_mult: 0.0 209 | decay_mult: 0.0 210 | } 211 | param { 212 | lr_mult: 0.0 213 | decay_mult: 0.0 214 | } 215 | } 216 | 217 | layer { 218 | top: "res2a_branch2a" 219 | bottom: "res2a_branch2a" 220 | name: "res2a_branch2a_relu" 221 | type: "ReLU" 222 | } 223 | 224 | layer { 225 | bottom: "res2a_branch2a" 226 | top: "res2a_branch2b" 227 | name: "res2a_branch2b" 228 | type: "Convolution" 229 | convolution_param { 230 | num_output: 64 231 | kernel_size: 3 232 | pad: 1 233 | stride: 1 234 | bias_term: false 235 | } 236 | param { 237 | lr_mult: 1.0 238 | } 239 | } 240 | 241 | layer { 242 | bottom: "res2a_branch2b" 243 | top: "res2a_branch2b" 244 | name: "bn2a_branch2b" 245 | type: "BatchNorm" 246 | batch_norm_param { 247 | use_global_stats: true 248 | } 249 | param { 250 | lr_mult: 0.0 251 | decay_mult: 0.0 252 | } 253 | param { 254 | lr_mult: 0.0 255 | decay_mult: 0.0 256 | } 257 | param { 258 | lr_mult: 0.0 259 | decay_mult: 0.0 260 | } 261 | } 262 | 263 | layer { 264 | bottom: "res2a_branch2b" 265 | top: "res2a_branch2b" 266 | name: "scale2a_branch2b" 267 | type: "Scale" 268 | scale_param { 269 | bias_term: true 270 | } 271 | param { 272 | lr_mult: 0.0 273 | decay_mult: 0.0 274 | } 275 | param { 276 | lr_mult: 0.0 277 | decay_mult: 0.0 278 | } 279 | } 280 | 281 | layer { 282 | top: "res2a_branch2b" 283 | bottom: "res2a_branch2b" 284 | name: "res2a_branch2b_relu" 285 | type: "ReLU" 286 | } 287 | 288 | layer { 289 | bottom: "res2a_branch2b" 290 | top: "res2a_branch2c" 291 | name: "res2a_branch2c" 292 | type: "Convolution" 293 | convolution_param { 294 | num_output: 256 295 | kernel_size: 1 296 | pad: 0 297 | stride: 1 298 | bias_term: false 299 | } 300 | param { 301 | lr_mult: 1.0 302 | } 303 | } 304 | 305 | layer { 306 | bottom: "res2a_branch2c" 307 | top: "res2a_branch2c" 308 | name: "bn2a_branch2c" 309 | type: "BatchNorm" 310 | batch_norm_param { 311 | use_global_stats: true 312 | } 313 | param { 314 | lr_mult: 0.0 315 | decay_mult: 0.0 316 | } 317 | param { 318 | lr_mult: 0.0 319 | decay_mult: 0.0 320 | } 321 | param { 322 | lr_mult: 0.0 323 | decay_mult: 0.0 324 | } 325 | } 326 | 327 | layer { 328 | bottom: "res2a_branch2c" 329 | top: "res2a_branch2c" 330 | name: "scale2a_branch2c" 331 | type: "Scale" 332 | scale_param { 333 | bias_term: true 334 | } 335 | param { 336 | lr_mult: 0.0 337 | decay_mult: 0.0 338 | } 339 | param { 340 | lr_mult: 0.0 341 | decay_mult: 0.0 342 | } 343 | } 344 | 345 | layer { 346 | bottom: "res2a_branch1" 347 | bottom: "res2a_branch2c" 348 | top: "res2a" 349 | name: "res2a" 350 | type: "Eltwise" 351 | } 352 | 353 | layer { 354 | bottom: "res2a" 355 | top: "res2a" 356 | name: "res2a_relu" 357 | type: "ReLU" 358 | } 359 | 360 | layer { 361 | bottom: "res2a" 362 | top: "res2b_branch2a" 363 | name: "res2b_branch2a" 364 | type: "Convolution" 365 | convolution_param { 366 | num_output: 64 367 | kernel_size: 1 368 | pad: 0 369 | stride: 1 370 | bias_term: false 371 | } 372 | param { 373 | lr_mult: 1.0 374 | } 375 | } 376 | 377 | layer { 378 | bottom: "res2b_branch2a" 379 | top: "res2b_branch2a" 380 | name: "bn2b_branch2a" 381 | type: "BatchNorm" 382 | batch_norm_param { 383 | use_global_stats: true 384 | } 385 | param { 386 | lr_mult: 0.0 387 | decay_mult: 0.0 388 | } 389 | param { 390 | lr_mult: 0.0 391 | decay_mult: 0.0 392 | } 393 | param { 394 | lr_mult: 0.0 395 | decay_mult: 0.0 396 | } 397 | } 398 | 399 | layer { 400 | bottom: "res2b_branch2a" 401 | top: "res2b_branch2a" 402 | name: "scale2b_branch2a" 403 | type: "Scale" 404 | scale_param { 405 | bias_term: true 406 | } 407 | param { 408 | lr_mult: 0.0 409 | decay_mult: 0.0 410 | } 411 | param { 412 | lr_mult: 0.0 413 | decay_mult: 0.0 414 | } 415 | } 416 | 417 | layer { 418 | top: "res2b_branch2a" 419 | bottom: "res2b_branch2a" 420 | name: "res2b_branch2a_relu" 421 | type: "ReLU" 422 | } 423 | 424 | layer { 425 | bottom: "res2b_branch2a" 426 | top: "res2b_branch2b" 427 | name: "res2b_branch2b" 428 | type: "Convolution" 429 | convolution_param { 430 | num_output: 64 431 | kernel_size: 3 432 | pad: 1 433 | stride: 1 434 | bias_term: false 435 | } 436 | param { 437 | lr_mult: 1.0 438 | } 439 | } 440 | 441 | layer { 442 | bottom: "res2b_branch2b" 443 | top: "res2b_branch2b" 444 | name: "bn2b_branch2b" 445 | type: "BatchNorm" 446 | batch_norm_param { 447 | use_global_stats: true 448 | } 449 | param { 450 | lr_mult: 0.0 451 | decay_mult: 0.0 452 | } 453 | param { 454 | lr_mult: 0.0 455 | decay_mult: 0.0 456 | } 457 | param { 458 | lr_mult: 0.0 459 | decay_mult: 0.0 460 | } 461 | } 462 | 463 | layer { 464 | bottom: "res2b_branch2b" 465 | top: "res2b_branch2b" 466 | name: "scale2b_branch2b" 467 | type: "Scale" 468 | scale_param { 469 | bias_term: true 470 | } 471 | param { 472 | lr_mult: 0.0 473 | decay_mult: 0.0 474 | } 475 | param { 476 | lr_mult: 0.0 477 | decay_mult: 0.0 478 | } 479 | } 480 | 481 | layer { 482 | top: "res2b_branch2b" 483 | bottom: "res2b_branch2b" 484 | name: "res2b_branch2b_relu" 485 | type: "ReLU" 486 | } 487 | 488 | layer { 489 | bottom: "res2b_branch2b" 490 | top: "res2b_branch2c" 491 | name: "res2b_branch2c" 492 | type: "Convolution" 493 | convolution_param { 494 | num_output: 256 495 | kernel_size: 1 496 | pad: 0 497 | stride: 1 498 | bias_term: false 499 | } 500 | param { 501 | lr_mult: 1.0 502 | } 503 | } 504 | 505 | layer { 506 | bottom: "res2b_branch2c" 507 | top: "res2b_branch2c" 508 | name: "bn2b_branch2c" 509 | type: "BatchNorm" 510 | batch_norm_param { 511 | use_global_stats: true 512 | } 513 | param { 514 | lr_mult: 0.0 515 | decay_mult: 0.0 516 | } 517 | param { 518 | lr_mult: 0.0 519 | decay_mult: 0.0 520 | } 521 | param { 522 | lr_mult: 0.0 523 | decay_mult: 0.0 524 | } 525 | } 526 | 527 | layer { 528 | bottom: "res2b_branch2c" 529 | top: "res2b_branch2c" 530 | name: "scale2b_branch2c" 531 | type: "Scale" 532 | scale_param { 533 | bias_term: true 534 | } 535 | param { 536 | lr_mult: 0.0 537 | decay_mult: 0.0 538 | } 539 | param { 540 | lr_mult: 0.0 541 | decay_mult: 0.0 542 | } 543 | } 544 | 545 | layer { 546 | bottom: "res2a" 547 | bottom: "res2b_branch2c" 548 | top: "res2b" 549 | name: "res2b" 550 | type: "Eltwise" 551 | } 552 | 553 | layer { 554 | bottom: "res2b" 555 | top: "res2b" 556 | name: "res2b_relu" 557 | type: "ReLU" 558 | } 559 | 560 | layer { 561 | bottom: "res2b" 562 | top: "res2c_branch2a" 563 | name: "res2c_branch2a" 564 | type: "Convolution" 565 | convolution_param { 566 | num_output: 64 567 | kernel_size: 1 568 | pad: 0 569 | stride: 1 570 | bias_term: false 571 | } 572 | param { 573 | lr_mult: 1.0 574 | } 575 | } 576 | 577 | layer { 578 | bottom: "res2c_branch2a" 579 | top: "res2c_branch2a" 580 | name: "bn2c_branch2a" 581 | type: "BatchNorm" 582 | batch_norm_param { 583 | use_global_stats: true 584 | } 585 | param { 586 | lr_mult: 0.0 587 | decay_mult: 0.0 588 | } 589 | param { 590 | lr_mult: 0.0 591 | decay_mult: 0.0 592 | } 593 | param { 594 | lr_mult: 0.0 595 | decay_mult: 0.0 596 | } 597 | } 598 | 599 | layer { 600 | bottom: "res2c_branch2a" 601 | top: "res2c_branch2a" 602 | name: "scale2c_branch2a" 603 | type: "Scale" 604 | scale_param { 605 | bias_term: true 606 | } 607 | param { 608 | lr_mult: 0.0 609 | decay_mult: 0.0 610 | } 611 | param { 612 | lr_mult: 0.0 613 | decay_mult: 0.0 614 | } 615 | } 616 | 617 | layer { 618 | top: "res2c_branch2a" 619 | bottom: "res2c_branch2a" 620 | name: "res2c_branch2a_relu" 621 | type: "ReLU" 622 | } 623 | 624 | layer { 625 | bottom: "res2c_branch2a" 626 | top: "res2c_branch2b" 627 | name: "res2c_branch2b" 628 | type: "Convolution" 629 | convolution_param { 630 | num_output: 64 631 | kernel_size: 3 632 | pad: 1 633 | stride: 1 634 | bias_term: false 635 | } 636 | param { 637 | lr_mult: 1.0 638 | } 639 | } 640 | 641 | layer { 642 | bottom: "res2c_branch2b" 643 | top: "res2c_branch2b" 644 | name: "bn2c_branch2b" 645 | type: "BatchNorm" 646 | batch_norm_param { 647 | use_global_stats: true 648 | } 649 | param { 650 | lr_mult: 0.0 651 | decay_mult: 0.0 652 | } 653 | param { 654 | lr_mult: 0.0 655 | decay_mult: 0.0 656 | } 657 | param { 658 | lr_mult: 0.0 659 | decay_mult: 0.0 660 | } 661 | } 662 | 663 | layer { 664 | bottom: "res2c_branch2b" 665 | top: "res2c_branch2b" 666 | name: "scale2c_branch2b" 667 | type: "Scale" 668 | scale_param { 669 | bias_term: true 670 | } 671 | param { 672 | lr_mult: 0.0 673 | decay_mult: 0.0 674 | } 675 | param { 676 | lr_mult: 0.0 677 | decay_mult: 0.0 678 | } 679 | } 680 | 681 | layer { 682 | top: "res2c_branch2b" 683 | bottom: "res2c_branch2b" 684 | name: "res2c_branch2b_relu" 685 | type: "ReLU" 686 | } 687 | 688 | layer { 689 | bottom: "res2c_branch2b" 690 | top: "res2c_branch2c" 691 | name: "res2c_branch2c" 692 | type: "Convolution" 693 | convolution_param { 694 | num_output: 256 695 | kernel_size: 1 696 | pad: 0 697 | stride: 1 698 | bias_term: false 699 | } 700 | param { 701 | lr_mult: 1.0 702 | } 703 | } 704 | 705 | layer { 706 | bottom: "res2c_branch2c" 707 | top: "res2c_branch2c" 708 | name: "bn2c_branch2c" 709 | type: "BatchNorm" 710 | batch_norm_param { 711 | use_global_stats: true 712 | } 713 | param { 714 | lr_mult: 0.0 715 | decay_mult: 0.0 716 | } 717 | param { 718 | lr_mult: 0.0 719 | decay_mult: 0.0 720 | } 721 | param { 722 | lr_mult: 0.0 723 | decay_mult: 0.0 724 | } 725 | } 726 | 727 | layer { 728 | bottom: "res2c_branch2c" 729 | top: "res2c_branch2c" 730 | name: "scale2c_branch2c" 731 | type: "Scale" 732 | scale_param { 733 | bias_term: true 734 | } 735 | param { 736 | lr_mult: 0.0 737 | decay_mult: 0.0 738 | } 739 | param { 740 | lr_mult: 0.0 741 | decay_mult: 0.0 742 | } 743 | } 744 | 745 | layer { 746 | bottom: "res2b" 747 | bottom: "res2c_branch2c" 748 | top: "res2c" 749 | name: "res2c" 750 | type: "Eltwise" 751 | } 752 | 753 | layer { 754 | bottom: "res2c" 755 | top: "res2c" 756 | name: "res2c_relu" 757 | type: "ReLU" 758 | } 759 | 760 | layer { 761 | bottom: "res2c" 762 | top: "res3a_branch1" 763 | name: "res3a_branch1" 764 | type: "Convolution" 765 | convolution_param { 766 | num_output: 512 767 | kernel_size: 1 768 | pad: 0 769 | stride: 2 770 | bias_term: false 771 | } 772 | param { 773 | lr_mult: 1.0 774 | } 775 | } 776 | 777 | layer { 778 | bottom: "res3a_branch1" 779 | top: "res3a_branch1" 780 | name: "bn3a_branch1" 781 | type: "BatchNorm" 782 | batch_norm_param { 783 | use_global_stats: true 784 | } 785 | param { 786 | lr_mult: 0.0 787 | decay_mult: 0.0 788 | } 789 | param { 790 | lr_mult: 0.0 791 | decay_mult: 0.0 792 | } 793 | param { 794 | lr_mult: 0.0 795 | decay_mult: 0.0 796 | } 797 | } 798 | 799 | layer { 800 | bottom: "res3a_branch1" 801 | top: "res3a_branch1" 802 | name: "scale3a_branch1" 803 | type: "Scale" 804 | scale_param { 805 | bias_term: true 806 | } 807 | param { 808 | lr_mult: 0.0 809 | decay_mult: 0.0 810 | } 811 | param { 812 | lr_mult: 0.0 813 | decay_mult: 0.0 814 | } 815 | } 816 | 817 | layer { 818 | bottom: "res2c" 819 | top: "res3a_branch2a" 820 | name: "res3a_branch2a" 821 | type: "Convolution" 822 | convolution_param { 823 | num_output: 128 824 | kernel_size: 1 825 | pad: 0 826 | stride: 2 827 | bias_term: false 828 | } 829 | param { 830 | lr_mult: 1.0 831 | } 832 | } 833 | 834 | layer { 835 | bottom: "res3a_branch2a" 836 | top: "res3a_branch2a" 837 | name: "bn3a_branch2a" 838 | type: "BatchNorm" 839 | batch_norm_param { 840 | use_global_stats: true 841 | } 842 | param { 843 | lr_mult: 0.0 844 | decay_mult: 0.0 845 | } 846 | param { 847 | lr_mult: 0.0 848 | decay_mult: 0.0 849 | } 850 | param { 851 | lr_mult: 0.0 852 | decay_mult: 0.0 853 | } 854 | } 855 | 856 | layer { 857 | bottom: "res3a_branch2a" 858 | top: "res3a_branch2a" 859 | name: "scale3a_branch2a" 860 | type: "Scale" 861 | scale_param { 862 | bias_term: true 863 | } 864 | param { 865 | lr_mult: 0.0 866 | decay_mult: 0.0 867 | } 868 | param { 869 | lr_mult: 0.0 870 | decay_mult: 0.0 871 | } 872 | } 873 | 874 | layer { 875 | top: "res3a_branch2a" 876 | bottom: "res3a_branch2a" 877 | name: "res3a_branch2a_relu" 878 | type: "ReLU" 879 | } 880 | 881 | layer { 882 | bottom: "res3a_branch2a" 883 | top: "res3a_branch2b" 884 | name: "res3a_branch2b" 885 | type: "Convolution" 886 | convolution_param { 887 | num_output: 128 888 | kernel_size: 3 889 | pad: 1 890 | stride: 1 891 | bias_term: false 892 | } 893 | param { 894 | lr_mult: 1.0 895 | } 896 | } 897 | 898 | layer { 899 | bottom: "res3a_branch2b" 900 | top: "res3a_branch2b" 901 | name: "bn3a_branch2b" 902 | type: "BatchNorm" 903 | batch_norm_param { 904 | use_global_stats: true 905 | } 906 | param { 907 | lr_mult: 0.0 908 | decay_mult: 0.0 909 | } 910 | param { 911 | lr_mult: 0.0 912 | decay_mult: 0.0 913 | } 914 | param { 915 | lr_mult: 0.0 916 | decay_mult: 0.0 917 | } 918 | } 919 | 920 | layer { 921 | bottom: "res3a_branch2b" 922 | top: "res3a_branch2b" 923 | name: "scale3a_branch2b" 924 | type: "Scale" 925 | scale_param { 926 | bias_term: true 927 | } 928 | param { 929 | lr_mult: 0.0 930 | decay_mult: 0.0 931 | } 932 | param { 933 | lr_mult: 0.0 934 | decay_mult: 0.0 935 | } 936 | } 937 | 938 | layer { 939 | top: "res3a_branch2b" 940 | bottom: "res3a_branch2b" 941 | name: "res3a_branch2b_relu" 942 | type: "ReLU" 943 | } 944 | 945 | layer { 946 | bottom: "res3a_branch2b" 947 | top: "res3a_branch2c" 948 | name: "res3a_branch2c" 949 | type: "Convolution" 950 | convolution_param { 951 | num_output: 512 952 | kernel_size: 1 953 | pad: 0 954 | stride: 1 955 | bias_term: false 956 | } 957 | param { 958 | lr_mult: 1.0 959 | } 960 | } 961 | 962 | layer { 963 | bottom: "res3a_branch2c" 964 | top: "res3a_branch2c" 965 | name: "bn3a_branch2c" 966 | type: "BatchNorm" 967 | batch_norm_param { 968 | use_global_stats: true 969 | } 970 | param { 971 | lr_mult: 0.0 972 | decay_mult: 0.0 973 | } 974 | param { 975 | lr_mult: 0.0 976 | decay_mult: 0.0 977 | } 978 | param { 979 | lr_mult: 0.0 980 | decay_mult: 0.0 981 | } 982 | } 983 | 984 | layer { 985 | bottom: "res3a_branch2c" 986 | top: "res3a_branch2c" 987 | name: "scale3a_branch2c" 988 | type: "Scale" 989 | scale_param { 990 | bias_term: true 991 | } 992 | param { 993 | lr_mult: 0.0 994 | decay_mult: 0.0 995 | } 996 | param { 997 | lr_mult: 0.0 998 | decay_mult: 0.0 999 | } 1000 | } 1001 | 1002 | layer { 1003 | bottom: "res3a_branch1" 1004 | bottom: "res3a_branch2c" 1005 | top: "res3a" 1006 | name: "res3a" 1007 | type: "Eltwise" 1008 | } 1009 | 1010 | layer { 1011 | bottom: "res3a" 1012 | top: "res3a" 1013 | name: "res3a_relu" 1014 | type: "ReLU" 1015 | } 1016 | 1017 | layer { 1018 | bottom: "res3a" 1019 | top: "res3b1_branch2a" 1020 | name: "res3b1_branch2a" 1021 | type: "Convolution" 1022 | convolution_param { 1023 | num_output: 128 1024 | kernel_size: 1 1025 | pad: 0 1026 | stride: 1 1027 | bias_term: false 1028 | } 1029 | param { 1030 | lr_mult: 1.0 1031 | } 1032 | } 1033 | 1034 | layer { 1035 | bottom: "res3b1_branch2a" 1036 | top: "res3b1_branch2a" 1037 | name: "bn3b1_branch2a" 1038 | type: "BatchNorm" 1039 | batch_norm_param { 1040 | use_global_stats: true 1041 | } 1042 | param { 1043 | lr_mult: 0.0 1044 | decay_mult: 0.0 1045 | } 1046 | param { 1047 | lr_mult: 0.0 1048 | decay_mult: 0.0 1049 | } 1050 | param { 1051 | lr_mult: 0.0 1052 | decay_mult: 0.0 1053 | } 1054 | } 1055 | 1056 | layer { 1057 | bottom: "res3b1_branch2a" 1058 | top: "res3b1_branch2a" 1059 | name: "scale3b1_branch2a" 1060 | type: "Scale" 1061 | scale_param { 1062 | bias_term: true 1063 | } 1064 | param { 1065 | lr_mult: 0.0 1066 | decay_mult: 0.0 1067 | } 1068 | param { 1069 | lr_mult: 0.0 1070 | decay_mult: 0.0 1071 | } 1072 | } 1073 | 1074 | layer { 1075 | top: "res3b1_branch2a" 1076 | bottom: "res3b1_branch2a" 1077 | name: "res3b1_branch2a_relu" 1078 | type: "ReLU" 1079 | } 1080 | 1081 | layer { 1082 | bottom: "res3b1_branch2a" 1083 | top: "res3b1_branch2b" 1084 | name: "res3b1_branch2b" 1085 | type: "Convolution" 1086 | convolution_param { 1087 | num_output: 128 1088 | kernel_size: 3 1089 | pad: 1 1090 | stride: 1 1091 | bias_term: false 1092 | } 1093 | param { 1094 | lr_mult: 1.0 1095 | } 1096 | } 1097 | 1098 | layer { 1099 | bottom: "res3b1_branch2b" 1100 | top: "res3b1_branch2b" 1101 | name: "bn3b1_branch2b" 1102 | type: "BatchNorm" 1103 | batch_norm_param { 1104 | use_global_stats: true 1105 | } 1106 | param { 1107 | lr_mult: 0.0 1108 | decay_mult: 0.0 1109 | } 1110 | param { 1111 | lr_mult: 0.0 1112 | decay_mult: 0.0 1113 | } 1114 | param { 1115 | lr_mult: 0.0 1116 | decay_mult: 0.0 1117 | } 1118 | } 1119 | 1120 | layer { 1121 | bottom: "res3b1_branch2b" 1122 | top: "res3b1_branch2b" 1123 | name: "scale3b1_branch2b" 1124 | type: "Scale" 1125 | scale_param { 1126 | bias_term: true 1127 | } 1128 | param { 1129 | lr_mult: 0.0 1130 | decay_mult: 0.0 1131 | } 1132 | param { 1133 | lr_mult: 0.0 1134 | decay_mult: 0.0 1135 | } 1136 | } 1137 | 1138 | layer { 1139 | top: "res3b1_branch2b" 1140 | bottom: "res3b1_branch2b" 1141 | name: "res3b1_branch2b_relu" 1142 | type: "ReLU" 1143 | } 1144 | 1145 | layer { 1146 | bottom: "res3b1_branch2b" 1147 | top: "res3b1_branch2c" 1148 | name: "res3b1_branch2c" 1149 | type: "Convolution" 1150 | convolution_param { 1151 | num_output: 512 1152 | kernel_size: 1 1153 | pad: 0 1154 | stride: 1 1155 | bias_term: false 1156 | } 1157 | param { 1158 | lr_mult: 1.0 1159 | } 1160 | } 1161 | 1162 | layer { 1163 | bottom: "res3b1_branch2c" 1164 | top: "res3b1_branch2c" 1165 | name: "bn3b1_branch2c" 1166 | type: "BatchNorm" 1167 | batch_norm_param { 1168 | use_global_stats: true 1169 | } 1170 | param { 1171 | lr_mult: 0.0 1172 | decay_mult: 0.0 1173 | } 1174 | param { 1175 | lr_mult: 0.0 1176 | decay_mult: 0.0 1177 | } 1178 | param { 1179 | lr_mult: 0.0 1180 | decay_mult: 0.0 1181 | } 1182 | } 1183 | 1184 | layer { 1185 | bottom: "res3b1_branch2c" 1186 | top: "res3b1_branch2c" 1187 | name: "scale3b1_branch2c" 1188 | type: "Scale" 1189 | scale_param { 1190 | bias_term: true 1191 | } 1192 | param { 1193 | lr_mult: 0.0 1194 | decay_mult: 0.0 1195 | } 1196 | param { 1197 | lr_mult: 0.0 1198 | decay_mult: 0.0 1199 | } 1200 | } 1201 | 1202 | layer { 1203 | bottom: "res3a" 1204 | bottom: "res3b1_branch2c" 1205 | top: "res3b1" 1206 | name: "res3b1" 1207 | type: "Eltwise" 1208 | } 1209 | 1210 | layer { 1211 | bottom: "res3b1" 1212 | top: "res3b1" 1213 | name: "res3b1_relu" 1214 | type: "ReLU" 1215 | } 1216 | 1217 | layer { 1218 | bottom: "res3b1" 1219 | top: "res3b2_branch2a" 1220 | name: "res3b2_branch2a" 1221 | type: "Convolution" 1222 | convolution_param { 1223 | num_output: 128 1224 | kernel_size: 1 1225 | pad: 0 1226 | stride: 1 1227 | bias_term: false 1228 | } 1229 | param { 1230 | lr_mult: 1.0 1231 | } 1232 | } 1233 | 1234 | layer { 1235 | bottom: "res3b2_branch2a" 1236 | top: "res3b2_branch2a" 1237 | name: "bn3b2_branch2a" 1238 | type: "BatchNorm" 1239 | batch_norm_param { 1240 | use_global_stats: true 1241 | } 1242 | param { 1243 | lr_mult: 0.0 1244 | decay_mult: 0.0 1245 | } 1246 | param { 1247 | lr_mult: 0.0 1248 | decay_mult: 0.0 1249 | } 1250 | param { 1251 | lr_mult: 0.0 1252 | decay_mult: 0.0 1253 | } 1254 | } 1255 | 1256 | layer { 1257 | bottom: "res3b2_branch2a" 1258 | top: "res3b2_branch2a" 1259 | name: "scale3b2_branch2a" 1260 | type: "Scale" 1261 | scale_param { 1262 | bias_term: true 1263 | } 1264 | param { 1265 | lr_mult: 0.0 1266 | decay_mult: 0.0 1267 | } 1268 | param { 1269 | lr_mult: 0.0 1270 | decay_mult: 0.0 1271 | } 1272 | } 1273 | 1274 | layer { 1275 | top: "res3b2_branch2a" 1276 | bottom: "res3b2_branch2a" 1277 | name: "res3b2_branch2a_relu" 1278 | type: "ReLU" 1279 | } 1280 | 1281 | layer { 1282 | bottom: "res3b2_branch2a" 1283 | top: "res3b2_branch2b" 1284 | name: "res3b2_branch2b" 1285 | type: "Convolution" 1286 | convolution_param { 1287 | num_output: 128 1288 | kernel_size: 3 1289 | pad: 1 1290 | stride: 1 1291 | bias_term: false 1292 | } 1293 | param { 1294 | lr_mult: 1.0 1295 | } 1296 | } 1297 | 1298 | layer { 1299 | bottom: "res3b2_branch2b" 1300 | top: "res3b2_branch2b" 1301 | name: "bn3b2_branch2b" 1302 | type: "BatchNorm" 1303 | batch_norm_param { 1304 | use_global_stats: true 1305 | } 1306 | param { 1307 | lr_mult: 0.0 1308 | decay_mult: 0.0 1309 | } 1310 | param { 1311 | lr_mult: 0.0 1312 | decay_mult: 0.0 1313 | } 1314 | param { 1315 | lr_mult: 0.0 1316 | decay_mult: 0.0 1317 | } 1318 | } 1319 | 1320 | layer { 1321 | bottom: "res3b2_branch2b" 1322 | top: "res3b2_branch2b" 1323 | name: "scale3b2_branch2b" 1324 | type: "Scale" 1325 | scale_param { 1326 | bias_term: true 1327 | } 1328 | param { 1329 | lr_mult: 0.0 1330 | decay_mult: 0.0 1331 | } 1332 | param { 1333 | lr_mult: 0.0 1334 | decay_mult: 0.0 1335 | } 1336 | } 1337 | 1338 | layer { 1339 | top: "res3b2_branch2b" 1340 | bottom: "res3b2_branch2b" 1341 | name: "res3b2_branch2b_relu" 1342 | type: "ReLU" 1343 | } 1344 | 1345 | layer { 1346 | bottom: "res3b2_branch2b" 1347 | top: "res3b2_branch2c" 1348 | name: "res3b2_branch2c" 1349 | type: "Convolution" 1350 | convolution_param { 1351 | num_output: 512 1352 | kernel_size: 1 1353 | pad: 0 1354 | stride: 1 1355 | bias_term: false 1356 | } 1357 | param { 1358 | lr_mult: 1.0 1359 | } 1360 | } 1361 | 1362 | layer { 1363 | bottom: "res3b2_branch2c" 1364 | top: "res3b2_branch2c" 1365 | name: "bn3b2_branch2c" 1366 | type: "BatchNorm" 1367 | batch_norm_param { 1368 | use_global_stats: true 1369 | } 1370 | param { 1371 | lr_mult: 0.0 1372 | decay_mult: 0.0 1373 | } 1374 | param { 1375 | lr_mult: 0.0 1376 | decay_mult: 0.0 1377 | } 1378 | param { 1379 | lr_mult: 0.0 1380 | decay_mult: 0.0 1381 | } 1382 | } 1383 | 1384 | layer { 1385 | bottom: "res3b2_branch2c" 1386 | top: "res3b2_branch2c" 1387 | name: "scale3b2_branch2c" 1388 | type: "Scale" 1389 | scale_param { 1390 | bias_term: true 1391 | } 1392 | param { 1393 | lr_mult: 0.0 1394 | decay_mult: 0.0 1395 | } 1396 | param { 1397 | lr_mult: 0.0 1398 | decay_mult: 0.0 1399 | } 1400 | } 1401 | 1402 | layer { 1403 | bottom: "res3b1" 1404 | bottom: "res3b2_branch2c" 1405 | top: "res3b2" 1406 | name: "res3b2" 1407 | type: "Eltwise" 1408 | } 1409 | 1410 | layer { 1411 | bottom: "res3b2" 1412 | top: "res3b2" 1413 | name: "res3b2_relu" 1414 | type: "ReLU" 1415 | } 1416 | 1417 | layer { 1418 | bottom: "res3b2" 1419 | top: "res3b3_branch2a" 1420 | name: "res3b3_branch2a" 1421 | type: "Convolution" 1422 | convolution_param { 1423 | num_output: 128 1424 | kernel_size: 1 1425 | pad: 0 1426 | stride: 1 1427 | bias_term: false 1428 | } 1429 | param { 1430 | lr_mult: 1.0 1431 | } 1432 | } 1433 | 1434 | layer { 1435 | bottom: "res3b3_branch2a" 1436 | top: "res3b3_branch2a" 1437 | name: "bn3b3_branch2a" 1438 | type: "BatchNorm" 1439 | batch_norm_param { 1440 | use_global_stats: true 1441 | } 1442 | param { 1443 | lr_mult: 0.0 1444 | decay_mult: 0.0 1445 | } 1446 | param { 1447 | lr_mult: 0.0 1448 | decay_mult: 0.0 1449 | } 1450 | param { 1451 | lr_mult: 0.0 1452 | decay_mult: 0.0 1453 | } 1454 | } 1455 | 1456 | layer { 1457 | bottom: "res3b3_branch2a" 1458 | top: "res3b3_branch2a" 1459 | name: "scale3b3_branch2a" 1460 | type: "Scale" 1461 | scale_param { 1462 | bias_term: true 1463 | } 1464 | param { 1465 | lr_mult: 0.0 1466 | decay_mult: 0.0 1467 | } 1468 | param { 1469 | lr_mult: 0.0 1470 | decay_mult: 0.0 1471 | } 1472 | } 1473 | 1474 | layer { 1475 | top: "res3b3_branch2a" 1476 | bottom: "res3b3_branch2a" 1477 | name: "res3b3_branch2a_relu" 1478 | type: "ReLU" 1479 | } 1480 | 1481 | layer { 1482 | bottom: "res3b3_branch2a" 1483 | top: "res3b3_branch2b" 1484 | name: "res3b3_branch2b" 1485 | type: "Convolution" 1486 | convolution_param { 1487 | num_output: 128 1488 | kernel_size: 3 1489 | pad: 1 1490 | stride: 1 1491 | bias_term: false 1492 | } 1493 | param { 1494 | lr_mult: 1.0 1495 | } 1496 | } 1497 | 1498 | layer { 1499 | bottom: "res3b3_branch2b" 1500 | top: "res3b3_branch2b" 1501 | name: "bn3b3_branch2b" 1502 | type: "BatchNorm" 1503 | batch_norm_param { 1504 | use_global_stats: true 1505 | } 1506 | param { 1507 | lr_mult: 0.0 1508 | decay_mult: 0.0 1509 | } 1510 | param { 1511 | lr_mult: 0.0 1512 | decay_mult: 0.0 1513 | } 1514 | param { 1515 | lr_mult: 0.0 1516 | decay_mult: 0.0 1517 | } 1518 | } 1519 | 1520 | layer { 1521 | bottom: "res3b3_branch2b" 1522 | top: "res3b3_branch2b" 1523 | name: "scale3b3_branch2b" 1524 | type: "Scale" 1525 | scale_param { 1526 | bias_term: true 1527 | } 1528 | param { 1529 | lr_mult: 0.0 1530 | decay_mult: 0.0 1531 | } 1532 | param { 1533 | lr_mult: 0.0 1534 | decay_mult: 0.0 1535 | } 1536 | } 1537 | 1538 | layer { 1539 | top: "res3b3_branch2b" 1540 | bottom: "res3b3_branch2b" 1541 | name: "res3b3_branch2b_relu" 1542 | type: "ReLU" 1543 | } 1544 | 1545 | layer { 1546 | bottom: "res3b3_branch2b" 1547 | top: "res3b3_branch2c" 1548 | name: "res3b3_branch2c" 1549 | type: "Convolution" 1550 | convolution_param { 1551 | num_output: 512 1552 | kernel_size: 1 1553 | pad: 0 1554 | stride: 1 1555 | bias_term: false 1556 | } 1557 | param { 1558 | lr_mult: 1.0 1559 | } 1560 | } 1561 | 1562 | layer { 1563 | bottom: "res3b3_branch2c" 1564 | top: "res3b3_branch2c" 1565 | name: "bn3b3_branch2c" 1566 | type: "BatchNorm" 1567 | batch_norm_param { 1568 | use_global_stats: true 1569 | } 1570 | param { 1571 | lr_mult: 0.0 1572 | decay_mult: 0.0 1573 | } 1574 | param { 1575 | lr_mult: 0.0 1576 | decay_mult: 0.0 1577 | } 1578 | param { 1579 | lr_mult: 0.0 1580 | decay_mult: 0.0 1581 | } 1582 | } 1583 | 1584 | layer { 1585 | bottom: "res3b3_branch2c" 1586 | top: "res3b3_branch2c" 1587 | name: "scale3b3_branch2c" 1588 | type: "Scale" 1589 | scale_param { 1590 | bias_term: true 1591 | } 1592 | param { 1593 | lr_mult: 0.0 1594 | decay_mult: 0.0 1595 | } 1596 | param { 1597 | lr_mult: 0.0 1598 | decay_mult: 0.0 1599 | } 1600 | } 1601 | 1602 | layer { 1603 | bottom: "res3b2" 1604 | bottom: "res3b3_branch2c" 1605 | top: "res3b3" 1606 | name: "res3b3" 1607 | type: "Eltwise" 1608 | } 1609 | 1610 | layer { 1611 | bottom: "res3b3" 1612 | top: "res3b3" 1613 | name: "res3b3_relu" 1614 | type: "ReLU" 1615 | } 1616 | 1617 | layer { 1618 | bottom: "res3b3" 1619 | top: "res4a_branch1" 1620 | name: "res4a_branch1" 1621 | type: "Convolution" 1622 | convolution_param { 1623 | num_output: 1024 1624 | kernel_size: 1 1625 | pad: 0 1626 | stride: 2 1627 | bias_term: false 1628 | } 1629 | param { 1630 | lr_mult: 1.0 1631 | } 1632 | } 1633 | 1634 | layer { 1635 | bottom: "res4a_branch1" 1636 | top: "res4a_branch1" 1637 | name: "bn4a_branch1" 1638 | type: "BatchNorm" 1639 | batch_norm_param { 1640 | use_global_stats: true 1641 | } 1642 | param { 1643 | lr_mult: 0.0 1644 | decay_mult: 0.0 1645 | } 1646 | param { 1647 | lr_mult: 0.0 1648 | decay_mult: 0.0 1649 | } 1650 | param { 1651 | lr_mult: 0.0 1652 | decay_mult: 0.0 1653 | } 1654 | } 1655 | 1656 | layer { 1657 | bottom: "res4a_branch1" 1658 | top: "res4a_branch1" 1659 | name: "scale4a_branch1" 1660 | type: "Scale" 1661 | scale_param { 1662 | bias_term: true 1663 | } 1664 | param { 1665 | lr_mult: 0.0 1666 | decay_mult: 0.0 1667 | } 1668 | param { 1669 | lr_mult: 0.0 1670 | decay_mult: 0.0 1671 | } 1672 | } 1673 | 1674 | layer { 1675 | bottom: "res3b3" 1676 | top: "res4a_branch2a" 1677 | name: "res4a_branch2a" 1678 | type: "Convolution" 1679 | convolution_param { 1680 | num_output: 256 1681 | kernel_size: 1 1682 | pad: 0 1683 | stride: 2 1684 | bias_term: false 1685 | } 1686 | param { 1687 | lr_mult: 1.0 1688 | } 1689 | } 1690 | 1691 | layer { 1692 | bottom: "res4a_branch2a" 1693 | top: "res4a_branch2a" 1694 | name: "bn4a_branch2a" 1695 | type: "BatchNorm" 1696 | batch_norm_param { 1697 | use_global_stats: true 1698 | } 1699 | param { 1700 | lr_mult: 0.0 1701 | decay_mult: 0.0 1702 | } 1703 | param { 1704 | lr_mult: 0.0 1705 | decay_mult: 0.0 1706 | } 1707 | param { 1708 | lr_mult: 0.0 1709 | decay_mult: 0.0 1710 | } 1711 | } 1712 | 1713 | layer { 1714 | bottom: "res4a_branch2a" 1715 | top: "res4a_branch2a" 1716 | name: "scale4a_branch2a" 1717 | type: "Scale" 1718 | scale_param { 1719 | bias_term: true 1720 | } 1721 | param { 1722 | lr_mult: 0.0 1723 | decay_mult: 0.0 1724 | } 1725 | param { 1726 | lr_mult: 0.0 1727 | decay_mult: 0.0 1728 | } 1729 | } 1730 | 1731 | layer { 1732 | top: "res4a_branch2a" 1733 | bottom: "res4a_branch2a" 1734 | name: "res4a_branch2a_relu" 1735 | type: "ReLU" 1736 | } 1737 | 1738 | layer { 1739 | bottom: "res4a_branch2a" 1740 | top: "res4a_branch2b" 1741 | name: "res4a_branch2b" 1742 | type: "Convolution" 1743 | convolution_param { 1744 | num_output: 256 1745 | kernel_size: 3 1746 | pad: 1 1747 | stride: 1 1748 | bias_term: false 1749 | } 1750 | param { 1751 | lr_mult: 1.0 1752 | } 1753 | } 1754 | 1755 | layer { 1756 | bottom: "res4a_branch2b" 1757 | top: "res4a_branch2b" 1758 | name: "bn4a_branch2b" 1759 | type: "BatchNorm" 1760 | batch_norm_param { 1761 | use_global_stats: true 1762 | } 1763 | param { 1764 | lr_mult: 0.0 1765 | decay_mult: 0.0 1766 | } 1767 | param { 1768 | lr_mult: 0.0 1769 | decay_mult: 0.0 1770 | } 1771 | param { 1772 | lr_mult: 0.0 1773 | decay_mult: 0.0 1774 | } 1775 | } 1776 | 1777 | layer { 1778 | bottom: "res4a_branch2b" 1779 | top: "res4a_branch2b" 1780 | name: "scale4a_branch2b" 1781 | type: "Scale" 1782 | scale_param { 1783 | bias_term: true 1784 | } 1785 | param { 1786 | lr_mult: 0.0 1787 | decay_mult: 0.0 1788 | } 1789 | param { 1790 | lr_mult: 0.0 1791 | decay_mult: 0.0 1792 | } 1793 | } 1794 | 1795 | layer { 1796 | top: "res4a_branch2b" 1797 | bottom: "res4a_branch2b" 1798 | name: "res4a_branch2b_relu" 1799 | type: "ReLU" 1800 | } 1801 | 1802 | layer { 1803 | bottom: "res4a_branch2b" 1804 | top: "res4a_branch2c" 1805 | name: "res4a_branch2c" 1806 | type: "Convolution" 1807 | convolution_param { 1808 | num_output: 1024 1809 | kernel_size: 1 1810 | pad: 0 1811 | stride: 1 1812 | bias_term: false 1813 | } 1814 | param { 1815 | lr_mult: 1.0 1816 | } 1817 | } 1818 | 1819 | layer { 1820 | bottom: "res4a_branch2c" 1821 | top: "res4a_branch2c" 1822 | name: "bn4a_branch2c" 1823 | type: "BatchNorm" 1824 | batch_norm_param { 1825 | use_global_stats: true 1826 | } 1827 | param { 1828 | lr_mult: 0.0 1829 | decay_mult: 0.0 1830 | } 1831 | param { 1832 | lr_mult: 0.0 1833 | decay_mult: 0.0 1834 | } 1835 | param { 1836 | lr_mult: 0.0 1837 | decay_mult: 0.0 1838 | } 1839 | } 1840 | 1841 | layer { 1842 | bottom: "res4a_branch2c" 1843 | top: "res4a_branch2c" 1844 | name: "scale4a_branch2c" 1845 | type: "Scale" 1846 | scale_param { 1847 | bias_term: true 1848 | } 1849 | param { 1850 | lr_mult: 0.0 1851 | decay_mult: 0.0 1852 | } 1853 | param { 1854 | lr_mult: 0.0 1855 | decay_mult: 0.0 1856 | } 1857 | } 1858 | 1859 | layer { 1860 | bottom: "res4a_branch1" 1861 | bottom: "res4a_branch2c" 1862 | top: "res4a" 1863 | name: "res4a" 1864 | type: "Eltwise" 1865 | } 1866 | 1867 | layer { 1868 | bottom: "res4a" 1869 | top: "res4a" 1870 | name: "res4a_relu" 1871 | type: "ReLU" 1872 | } 1873 | 1874 | layer { 1875 | bottom: "res4a" 1876 | top: "res4b1_branch2a" 1877 | name: "res4b1_branch2a" 1878 | type: "Convolution" 1879 | convolution_param { 1880 | num_output: 256 1881 | kernel_size: 1 1882 | pad: 0 1883 | stride: 1 1884 | bias_term: false 1885 | } 1886 | param { 1887 | lr_mult: 1.0 1888 | } 1889 | } 1890 | 1891 | layer { 1892 | bottom: "res4b1_branch2a" 1893 | top: "res4b1_branch2a" 1894 | name: "bn4b1_branch2a" 1895 | type: "BatchNorm" 1896 | batch_norm_param { 1897 | use_global_stats: true 1898 | } 1899 | param { 1900 | lr_mult: 0.0 1901 | decay_mult: 0.0 1902 | } 1903 | param { 1904 | lr_mult: 0.0 1905 | decay_mult: 0.0 1906 | } 1907 | param { 1908 | lr_mult: 0.0 1909 | decay_mult: 0.0 1910 | } 1911 | } 1912 | 1913 | layer { 1914 | bottom: "res4b1_branch2a" 1915 | top: "res4b1_branch2a" 1916 | name: "scale4b1_branch2a" 1917 | type: "Scale" 1918 | scale_param { 1919 | bias_term: true 1920 | } 1921 | param { 1922 | lr_mult: 0.0 1923 | decay_mult: 0.0 1924 | } 1925 | param { 1926 | lr_mult: 0.0 1927 | decay_mult: 0.0 1928 | } 1929 | } 1930 | 1931 | layer { 1932 | top: "res4b1_branch2a" 1933 | bottom: "res4b1_branch2a" 1934 | name: "res4b1_branch2a_relu" 1935 | type: "ReLU" 1936 | } 1937 | 1938 | layer { 1939 | bottom: "res4b1_branch2a" 1940 | top: "res4b1_branch2b" 1941 | name: "res4b1_branch2b" 1942 | type: "Convolution" 1943 | convolution_param { 1944 | num_output: 256 1945 | kernel_size: 3 1946 | pad: 1 1947 | stride: 1 1948 | bias_term: false 1949 | } 1950 | param { 1951 | lr_mult: 1.0 1952 | } 1953 | } 1954 | 1955 | layer { 1956 | bottom: "res4b1_branch2b" 1957 | top: "res4b1_branch2b" 1958 | name: "bn4b1_branch2b" 1959 | type: "BatchNorm" 1960 | batch_norm_param { 1961 | use_global_stats: true 1962 | } 1963 | param { 1964 | lr_mult: 0.0 1965 | decay_mult: 0.0 1966 | } 1967 | param { 1968 | lr_mult: 0.0 1969 | decay_mult: 0.0 1970 | } 1971 | param { 1972 | lr_mult: 0.0 1973 | decay_mult: 0.0 1974 | } 1975 | } 1976 | 1977 | layer { 1978 | bottom: "res4b1_branch2b" 1979 | top: "res4b1_branch2b" 1980 | name: "scale4b1_branch2b" 1981 | type: "Scale" 1982 | scale_param { 1983 | bias_term: true 1984 | } 1985 | param { 1986 | lr_mult: 0.0 1987 | decay_mult: 0.0 1988 | } 1989 | param { 1990 | lr_mult: 0.0 1991 | decay_mult: 0.0 1992 | } 1993 | } 1994 | 1995 | layer { 1996 | top: "res4b1_branch2b" 1997 | bottom: "res4b1_branch2b" 1998 | name: "res4b1_branch2b_relu" 1999 | type: "ReLU" 2000 | } 2001 | 2002 | layer { 2003 | bottom: "res4b1_branch2b" 2004 | top: "res4b1_branch2c" 2005 | name: "res4b1_branch2c" 2006 | type: "Convolution" 2007 | convolution_param { 2008 | num_output: 1024 2009 | kernel_size: 1 2010 | pad: 0 2011 | stride: 1 2012 | bias_term: false 2013 | } 2014 | param { 2015 | lr_mult: 1.0 2016 | } 2017 | } 2018 | 2019 | layer { 2020 | bottom: "res4b1_branch2c" 2021 | top: "res4b1_branch2c" 2022 | name: "bn4b1_branch2c" 2023 | type: "BatchNorm" 2024 | batch_norm_param { 2025 | use_global_stats: true 2026 | } 2027 | param { 2028 | lr_mult: 0.0 2029 | decay_mult: 0.0 2030 | } 2031 | param { 2032 | lr_mult: 0.0 2033 | decay_mult: 0.0 2034 | } 2035 | param { 2036 | lr_mult: 0.0 2037 | decay_mult: 0.0 2038 | } 2039 | } 2040 | 2041 | layer { 2042 | bottom: "res4b1_branch2c" 2043 | top: "res4b1_branch2c" 2044 | name: "scale4b1_branch2c" 2045 | type: "Scale" 2046 | scale_param { 2047 | bias_term: true 2048 | } 2049 | param { 2050 | lr_mult: 0.0 2051 | decay_mult: 0.0 2052 | } 2053 | param { 2054 | lr_mult: 0.0 2055 | decay_mult: 0.0 2056 | } 2057 | } 2058 | 2059 | layer { 2060 | bottom: "res4a" 2061 | bottom: "res4b1_branch2c" 2062 | top: "res4b1" 2063 | name: "res4b1" 2064 | type: "Eltwise" 2065 | } 2066 | 2067 | layer { 2068 | bottom: "res4b1" 2069 | top: "res4b1" 2070 | name: "res4b1_relu" 2071 | type: "ReLU" 2072 | } 2073 | 2074 | layer { 2075 | bottom: "res4b1" 2076 | top: "res4b2_branch2a" 2077 | name: "res4b2_branch2a" 2078 | type: "Convolution" 2079 | convolution_param { 2080 | num_output: 256 2081 | kernel_size: 1 2082 | pad: 0 2083 | stride: 1 2084 | bias_term: false 2085 | } 2086 | param { 2087 | lr_mult: 1.0 2088 | } 2089 | } 2090 | 2091 | layer { 2092 | bottom: "res4b2_branch2a" 2093 | top: "res4b2_branch2a" 2094 | name: "bn4b2_branch2a" 2095 | type: "BatchNorm" 2096 | batch_norm_param { 2097 | use_global_stats: true 2098 | } 2099 | param { 2100 | lr_mult: 0.0 2101 | decay_mult: 0.0 2102 | } 2103 | param { 2104 | lr_mult: 0.0 2105 | decay_mult: 0.0 2106 | } 2107 | param { 2108 | lr_mult: 0.0 2109 | decay_mult: 0.0 2110 | } 2111 | } 2112 | 2113 | layer { 2114 | bottom: "res4b2_branch2a" 2115 | top: "res4b2_branch2a" 2116 | name: "scale4b2_branch2a" 2117 | type: "Scale" 2118 | scale_param { 2119 | bias_term: true 2120 | } 2121 | param { 2122 | lr_mult: 0.0 2123 | decay_mult: 0.0 2124 | } 2125 | param { 2126 | lr_mult: 0.0 2127 | decay_mult: 0.0 2128 | } 2129 | } 2130 | 2131 | layer { 2132 | top: "res4b2_branch2a" 2133 | bottom: "res4b2_branch2a" 2134 | name: "res4b2_branch2a_relu" 2135 | type: "ReLU" 2136 | } 2137 | 2138 | layer { 2139 | bottom: "res4b2_branch2a" 2140 | top: "res4b2_branch2b" 2141 | name: "res4b2_branch2b" 2142 | type: "Convolution" 2143 | convolution_param { 2144 | num_output: 256 2145 | kernel_size: 3 2146 | pad: 1 2147 | stride: 1 2148 | bias_term: false 2149 | } 2150 | param { 2151 | lr_mult: 1.0 2152 | } 2153 | } 2154 | 2155 | layer { 2156 | bottom: "res4b2_branch2b" 2157 | top: "res4b2_branch2b" 2158 | name: "bn4b2_branch2b" 2159 | type: "BatchNorm" 2160 | batch_norm_param { 2161 | use_global_stats: true 2162 | } 2163 | param { 2164 | lr_mult: 0.0 2165 | decay_mult: 0.0 2166 | } 2167 | param { 2168 | lr_mult: 0.0 2169 | decay_mult: 0.0 2170 | } 2171 | param { 2172 | lr_mult: 0.0 2173 | decay_mult: 0.0 2174 | } 2175 | } 2176 | 2177 | layer { 2178 | bottom: "res4b2_branch2b" 2179 | top: "res4b2_branch2b" 2180 | name: "scale4b2_branch2b" 2181 | type: "Scale" 2182 | scale_param { 2183 | bias_term: true 2184 | } 2185 | param { 2186 | lr_mult: 0.0 2187 | decay_mult: 0.0 2188 | } 2189 | param { 2190 | lr_mult: 0.0 2191 | decay_mult: 0.0 2192 | } 2193 | } 2194 | 2195 | layer { 2196 | top: "res4b2_branch2b" 2197 | bottom: "res4b2_branch2b" 2198 | name: "res4b2_branch2b_relu" 2199 | type: "ReLU" 2200 | } 2201 | 2202 | layer { 2203 | bottom: "res4b2_branch2b" 2204 | top: "res4b2_branch2c" 2205 | name: "res4b2_branch2c" 2206 | type: "Convolution" 2207 | convolution_param { 2208 | num_output: 1024 2209 | kernel_size: 1 2210 | pad: 0 2211 | stride: 1 2212 | bias_term: false 2213 | } 2214 | param { 2215 | lr_mult: 1.0 2216 | } 2217 | } 2218 | 2219 | layer { 2220 | bottom: "res4b2_branch2c" 2221 | top: "res4b2_branch2c" 2222 | name: "bn4b2_branch2c" 2223 | type: "BatchNorm" 2224 | batch_norm_param { 2225 | use_global_stats: true 2226 | } 2227 | param { 2228 | lr_mult: 0.0 2229 | decay_mult: 0.0 2230 | } 2231 | param { 2232 | lr_mult: 0.0 2233 | decay_mult: 0.0 2234 | } 2235 | param { 2236 | lr_mult: 0.0 2237 | decay_mult: 0.0 2238 | } 2239 | } 2240 | 2241 | layer { 2242 | bottom: "res4b2_branch2c" 2243 | top: "res4b2_branch2c" 2244 | name: "scale4b2_branch2c" 2245 | type: "Scale" 2246 | scale_param { 2247 | bias_term: true 2248 | } 2249 | param { 2250 | lr_mult: 0.0 2251 | decay_mult: 0.0 2252 | } 2253 | param { 2254 | lr_mult: 0.0 2255 | decay_mult: 0.0 2256 | } 2257 | } 2258 | 2259 | layer { 2260 | bottom: "res4b1" 2261 | bottom: "res4b2_branch2c" 2262 | top: "res4b2" 2263 | name: "res4b2" 2264 | type: "Eltwise" 2265 | } 2266 | 2267 | layer { 2268 | bottom: "res4b2" 2269 | top: "res4b2" 2270 | name: "res4b2_relu" 2271 | type: "ReLU" 2272 | } 2273 | 2274 | layer { 2275 | bottom: "res4b2" 2276 | top: "res4b3_branch2a" 2277 | name: "res4b3_branch2a" 2278 | type: "Convolution" 2279 | convolution_param { 2280 | num_output: 256 2281 | kernel_size: 1 2282 | pad: 0 2283 | stride: 1 2284 | bias_term: false 2285 | } 2286 | param { 2287 | lr_mult: 1.0 2288 | } 2289 | } 2290 | 2291 | layer { 2292 | bottom: "res4b3_branch2a" 2293 | top: "res4b3_branch2a" 2294 | name: "bn4b3_branch2a" 2295 | type: "BatchNorm" 2296 | batch_norm_param { 2297 | use_global_stats: true 2298 | } 2299 | param { 2300 | lr_mult: 0.0 2301 | decay_mult: 0.0 2302 | } 2303 | param { 2304 | lr_mult: 0.0 2305 | decay_mult: 0.0 2306 | } 2307 | param { 2308 | lr_mult: 0.0 2309 | decay_mult: 0.0 2310 | } 2311 | } 2312 | 2313 | layer { 2314 | bottom: "res4b3_branch2a" 2315 | top: "res4b3_branch2a" 2316 | name: "scale4b3_branch2a" 2317 | type: "Scale" 2318 | scale_param { 2319 | bias_term: true 2320 | } 2321 | param { 2322 | lr_mult: 0.0 2323 | decay_mult: 0.0 2324 | } 2325 | param { 2326 | lr_mult: 0.0 2327 | decay_mult: 0.0 2328 | } 2329 | } 2330 | 2331 | layer { 2332 | top: "res4b3_branch2a" 2333 | bottom: "res4b3_branch2a" 2334 | name: "res4b3_branch2a_relu" 2335 | type: "ReLU" 2336 | } 2337 | 2338 | layer { 2339 | bottom: "res4b3_branch2a" 2340 | top: "res4b3_branch2b" 2341 | name: "res4b3_branch2b" 2342 | type: "Convolution" 2343 | convolution_param { 2344 | num_output: 256 2345 | kernel_size: 3 2346 | pad: 1 2347 | stride: 1 2348 | bias_term: false 2349 | } 2350 | param { 2351 | lr_mult: 1.0 2352 | } 2353 | } 2354 | 2355 | layer { 2356 | bottom: "res4b3_branch2b" 2357 | top: "res4b3_branch2b" 2358 | name: "bn4b3_branch2b" 2359 | type: "BatchNorm" 2360 | batch_norm_param { 2361 | use_global_stats: true 2362 | } 2363 | param { 2364 | lr_mult: 0.0 2365 | decay_mult: 0.0 2366 | } 2367 | param { 2368 | lr_mult: 0.0 2369 | decay_mult: 0.0 2370 | } 2371 | param { 2372 | lr_mult: 0.0 2373 | decay_mult: 0.0 2374 | } 2375 | } 2376 | 2377 | layer { 2378 | bottom: "res4b3_branch2b" 2379 | top: "res4b3_branch2b" 2380 | name: "scale4b3_branch2b" 2381 | type: "Scale" 2382 | scale_param { 2383 | bias_term: true 2384 | } 2385 | param { 2386 | lr_mult: 0.0 2387 | decay_mult: 0.0 2388 | } 2389 | param { 2390 | lr_mult: 0.0 2391 | decay_mult: 0.0 2392 | } 2393 | } 2394 | 2395 | layer { 2396 | top: "res4b3_branch2b" 2397 | bottom: "res4b3_branch2b" 2398 | name: "res4b3_branch2b_relu" 2399 | type: "ReLU" 2400 | } 2401 | 2402 | layer { 2403 | bottom: "res4b3_branch2b" 2404 | top: "res4b3_branch2c" 2405 | name: "res4b3_branch2c" 2406 | type: "Convolution" 2407 | convolution_param { 2408 | num_output: 1024 2409 | kernel_size: 1 2410 | pad: 0 2411 | stride: 1 2412 | bias_term: false 2413 | } 2414 | param { 2415 | lr_mult: 1.0 2416 | } 2417 | } 2418 | 2419 | layer { 2420 | bottom: "res4b3_branch2c" 2421 | top: "res4b3_branch2c" 2422 | name: "bn4b3_branch2c" 2423 | type: "BatchNorm" 2424 | batch_norm_param { 2425 | use_global_stats: true 2426 | } 2427 | param { 2428 | lr_mult: 0.0 2429 | decay_mult: 0.0 2430 | } 2431 | param { 2432 | lr_mult: 0.0 2433 | decay_mult: 0.0 2434 | } 2435 | param { 2436 | lr_mult: 0.0 2437 | decay_mult: 0.0 2438 | } 2439 | } 2440 | 2441 | layer { 2442 | bottom: "res4b3_branch2c" 2443 | top: "res4b3_branch2c" 2444 | name: "scale4b3_branch2c" 2445 | type: "Scale" 2446 | scale_param { 2447 | bias_term: true 2448 | } 2449 | param { 2450 | lr_mult: 0.0 2451 | decay_mult: 0.0 2452 | } 2453 | param { 2454 | lr_mult: 0.0 2455 | decay_mult: 0.0 2456 | } 2457 | } 2458 | 2459 | layer { 2460 | bottom: "res4b2" 2461 | bottom: "res4b3_branch2c" 2462 | top: "res4b3" 2463 | name: "res4b3" 2464 | type: "Eltwise" 2465 | } 2466 | 2467 | layer { 2468 | bottom: "res4b3" 2469 | top: "res4b3" 2470 | name: "res4b3_relu" 2471 | type: "ReLU" 2472 | } 2473 | 2474 | layer { 2475 | bottom: "res4b3" 2476 | top: "res4b4_branch2a" 2477 | name: "res4b4_branch2a" 2478 | type: "Convolution" 2479 | convolution_param { 2480 | num_output: 256 2481 | kernel_size: 1 2482 | pad: 0 2483 | stride: 1 2484 | bias_term: false 2485 | } 2486 | param { 2487 | lr_mult: 1.0 2488 | } 2489 | } 2490 | 2491 | layer { 2492 | bottom: "res4b4_branch2a" 2493 | top: "res4b4_branch2a" 2494 | name: "bn4b4_branch2a" 2495 | type: "BatchNorm" 2496 | batch_norm_param { 2497 | use_global_stats: true 2498 | } 2499 | param { 2500 | lr_mult: 0.0 2501 | decay_mult: 0.0 2502 | } 2503 | param { 2504 | lr_mult: 0.0 2505 | decay_mult: 0.0 2506 | } 2507 | param { 2508 | lr_mult: 0.0 2509 | decay_mult: 0.0 2510 | } 2511 | } 2512 | 2513 | layer { 2514 | bottom: "res4b4_branch2a" 2515 | top: "res4b4_branch2a" 2516 | name: "scale4b4_branch2a" 2517 | type: "Scale" 2518 | scale_param { 2519 | bias_term: true 2520 | } 2521 | param { 2522 | lr_mult: 0.0 2523 | decay_mult: 0.0 2524 | } 2525 | param { 2526 | lr_mult: 0.0 2527 | decay_mult: 0.0 2528 | } 2529 | } 2530 | 2531 | layer { 2532 | top: "res4b4_branch2a" 2533 | bottom: "res4b4_branch2a" 2534 | name: "res4b4_branch2a_relu" 2535 | type: "ReLU" 2536 | } 2537 | 2538 | layer { 2539 | bottom: "res4b4_branch2a" 2540 | top: "res4b4_branch2b" 2541 | name: "res4b4_branch2b" 2542 | type: "Convolution" 2543 | convolution_param { 2544 | num_output: 256 2545 | kernel_size: 3 2546 | pad: 1 2547 | stride: 1 2548 | bias_term: false 2549 | } 2550 | param { 2551 | lr_mult: 1.0 2552 | } 2553 | } 2554 | 2555 | layer { 2556 | bottom: "res4b4_branch2b" 2557 | top: "res4b4_branch2b" 2558 | name: "bn4b4_branch2b" 2559 | type: "BatchNorm" 2560 | batch_norm_param { 2561 | use_global_stats: true 2562 | } 2563 | param { 2564 | lr_mult: 0.0 2565 | decay_mult: 0.0 2566 | } 2567 | param { 2568 | lr_mult: 0.0 2569 | decay_mult: 0.0 2570 | } 2571 | param { 2572 | lr_mult: 0.0 2573 | decay_mult: 0.0 2574 | } 2575 | } 2576 | 2577 | layer { 2578 | bottom: "res4b4_branch2b" 2579 | top: "res4b4_branch2b" 2580 | name: "scale4b4_branch2b" 2581 | type: "Scale" 2582 | scale_param { 2583 | bias_term: true 2584 | } 2585 | param { 2586 | lr_mult: 0.0 2587 | decay_mult: 0.0 2588 | } 2589 | param { 2590 | lr_mult: 0.0 2591 | decay_mult: 0.0 2592 | } 2593 | } 2594 | 2595 | layer { 2596 | top: "res4b4_branch2b" 2597 | bottom: "res4b4_branch2b" 2598 | name: "res4b4_branch2b_relu" 2599 | type: "ReLU" 2600 | } 2601 | 2602 | layer { 2603 | bottom: "res4b4_branch2b" 2604 | top: "res4b4_branch2c" 2605 | name: "res4b4_branch2c" 2606 | type: "Convolution" 2607 | convolution_param { 2608 | num_output: 1024 2609 | kernel_size: 1 2610 | pad: 0 2611 | stride: 1 2612 | bias_term: false 2613 | } 2614 | param { 2615 | lr_mult: 1.0 2616 | } 2617 | } 2618 | 2619 | layer { 2620 | bottom: "res4b4_branch2c" 2621 | top: "res4b4_branch2c" 2622 | name: "bn4b4_branch2c" 2623 | type: "BatchNorm" 2624 | batch_norm_param { 2625 | use_global_stats: true 2626 | } 2627 | param { 2628 | lr_mult: 0.0 2629 | decay_mult: 0.0 2630 | } 2631 | param { 2632 | lr_mult: 0.0 2633 | decay_mult: 0.0 2634 | } 2635 | param { 2636 | lr_mult: 0.0 2637 | decay_mult: 0.0 2638 | } 2639 | } 2640 | 2641 | layer { 2642 | bottom: "res4b4_branch2c" 2643 | top: "res4b4_branch2c" 2644 | name: "scale4b4_branch2c" 2645 | type: "Scale" 2646 | scale_param { 2647 | bias_term: true 2648 | } 2649 | param { 2650 | lr_mult: 0.0 2651 | decay_mult: 0.0 2652 | } 2653 | param { 2654 | lr_mult: 0.0 2655 | decay_mult: 0.0 2656 | } 2657 | } 2658 | 2659 | layer { 2660 | bottom: "res4b3" 2661 | bottom: "res4b4_branch2c" 2662 | top: "res4b4" 2663 | name: "res4b4" 2664 | type: "Eltwise" 2665 | } 2666 | 2667 | layer { 2668 | bottom: "res4b4" 2669 | top: "res4b4" 2670 | name: "res4b4_relu" 2671 | type: "ReLU" 2672 | } 2673 | 2674 | layer { 2675 | bottom: "res4b4" 2676 | top: "res4b5_branch2a" 2677 | name: "res4b5_branch2a" 2678 | type: "Convolution" 2679 | convolution_param { 2680 | num_output: 256 2681 | kernel_size: 1 2682 | pad: 0 2683 | stride: 1 2684 | bias_term: false 2685 | } 2686 | param { 2687 | lr_mult: 1.0 2688 | } 2689 | } 2690 | 2691 | layer { 2692 | bottom: "res4b5_branch2a" 2693 | top: "res4b5_branch2a" 2694 | name: "bn4b5_branch2a" 2695 | type: "BatchNorm" 2696 | batch_norm_param { 2697 | use_global_stats: true 2698 | } 2699 | param { 2700 | lr_mult: 0.0 2701 | decay_mult: 0.0 2702 | } 2703 | param { 2704 | lr_mult: 0.0 2705 | decay_mult: 0.0 2706 | } 2707 | param { 2708 | lr_mult: 0.0 2709 | decay_mult: 0.0 2710 | } 2711 | } 2712 | 2713 | layer { 2714 | bottom: "res4b5_branch2a" 2715 | top: "res4b5_branch2a" 2716 | name: "scale4b5_branch2a" 2717 | type: "Scale" 2718 | scale_param { 2719 | bias_term: true 2720 | } 2721 | param { 2722 | lr_mult: 0.0 2723 | decay_mult: 0.0 2724 | } 2725 | param { 2726 | lr_mult: 0.0 2727 | decay_mult: 0.0 2728 | } 2729 | } 2730 | 2731 | layer { 2732 | top: "res4b5_branch2a" 2733 | bottom: "res4b5_branch2a" 2734 | name: "res4b5_branch2a_relu" 2735 | type: "ReLU" 2736 | } 2737 | 2738 | layer { 2739 | bottom: "res4b5_branch2a" 2740 | top: "res4b5_branch2b" 2741 | name: "res4b5_branch2b" 2742 | type: "Convolution" 2743 | convolution_param { 2744 | num_output: 256 2745 | kernel_size: 3 2746 | pad: 1 2747 | stride: 1 2748 | bias_term: false 2749 | } 2750 | param { 2751 | lr_mult: 1.0 2752 | } 2753 | } 2754 | 2755 | layer { 2756 | bottom: "res4b5_branch2b" 2757 | top: "res4b5_branch2b" 2758 | name: "bn4b5_branch2b" 2759 | type: "BatchNorm" 2760 | batch_norm_param { 2761 | use_global_stats: true 2762 | } 2763 | param { 2764 | lr_mult: 0.0 2765 | decay_mult: 0.0 2766 | } 2767 | param { 2768 | lr_mult: 0.0 2769 | decay_mult: 0.0 2770 | } 2771 | param { 2772 | lr_mult: 0.0 2773 | decay_mult: 0.0 2774 | } 2775 | } 2776 | 2777 | layer { 2778 | bottom: "res4b5_branch2b" 2779 | top: "res4b5_branch2b" 2780 | name: "scale4b5_branch2b" 2781 | type: "Scale" 2782 | scale_param { 2783 | bias_term: true 2784 | } 2785 | param { 2786 | lr_mult: 0.0 2787 | decay_mult: 0.0 2788 | } 2789 | param { 2790 | lr_mult: 0.0 2791 | decay_mult: 0.0 2792 | } 2793 | } 2794 | 2795 | layer { 2796 | top: "res4b5_branch2b" 2797 | bottom: "res4b5_branch2b" 2798 | name: "res4b5_branch2b_relu" 2799 | type: "ReLU" 2800 | } 2801 | 2802 | layer { 2803 | bottom: "res4b5_branch2b" 2804 | top: "res4b5_branch2c" 2805 | name: "res4b5_branch2c" 2806 | type: "Convolution" 2807 | convolution_param { 2808 | num_output: 1024 2809 | kernel_size: 1 2810 | pad: 0 2811 | stride: 1 2812 | bias_term: false 2813 | } 2814 | param { 2815 | lr_mult: 1.0 2816 | } 2817 | } 2818 | 2819 | layer { 2820 | bottom: "res4b5_branch2c" 2821 | top: "res4b5_branch2c" 2822 | name: "bn4b5_branch2c" 2823 | type: "BatchNorm" 2824 | batch_norm_param { 2825 | use_global_stats: true 2826 | } 2827 | param { 2828 | lr_mult: 0.0 2829 | decay_mult: 0.0 2830 | } 2831 | param { 2832 | lr_mult: 0.0 2833 | decay_mult: 0.0 2834 | } 2835 | param { 2836 | lr_mult: 0.0 2837 | decay_mult: 0.0 2838 | } 2839 | } 2840 | 2841 | layer { 2842 | bottom: "res4b5_branch2c" 2843 | top: "res4b5_branch2c" 2844 | name: "scale4b5_branch2c" 2845 | type: "Scale" 2846 | scale_param { 2847 | bias_term: true 2848 | } 2849 | param { 2850 | lr_mult: 0.0 2851 | decay_mult: 0.0 2852 | } 2853 | param { 2854 | lr_mult: 0.0 2855 | decay_mult: 0.0 2856 | } 2857 | } 2858 | 2859 | layer { 2860 | bottom: "res4b4" 2861 | bottom: "res4b5_branch2c" 2862 | top: "res4b5" 2863 | name: "res4b5" 2864 | type: "Eltwise" 2865 | } 2866 | 2867 | layer { 2868 | bottom: "res4b5" 2869 | top: "res4b5" 2870 | name: "res4b5_relu" 2871 | type: "ReLU" 2872 | } 2873 | 2874 | layer { 2875 | bottom: "res4b5" 2876 | top: "res4b6_branch2a" 2877 | name: "res4b6_branch2a" 2878 | type: "Convolution" 2879 | convolution_param { 2880 | num_output: 256 2881 | kernel_size: 1 2882 | pad: 0 2883 | stride: 1 2884 | bias_term: false 2885 | } 2886 | param { 2887 | lr_mult: 1.0 2888 | } 2889 | } 2890 | 2891 | layer { 2892 | bottom: "res4b6_branch2a" 2893 | top: "res4b6_branch2a" 2894 | name: "bn4b6_branch2a" 2895 | type: "BatchNorm" 2896 | batch_norm_param { 2897 | use_global_stats: true 2898 | } 2899 | param { 2900 | lr_mult: 0.0 2901 | decay_mult: 0.0 2902 | } 2903 | param { 2904 | lr_mult: 0.0 2905 | decay_mult: 0.0 2906 | } 2907 | param { 2908 | lr_mult: 0.0 2909 | decay_mult: 0.0 2910 | } 2911 | } 2912 | 2913 | layer { 2914 | bottom: "res4b6_branch2a" 2915 | top: "res4b6_branch2a" 2916 | name: "scale4b6_branch2a" 2917 | type: "Scale" 2918 | scale_param { 2919 | bias_term: true 2920 | } 2921 | param { 2922 | lr_mult: 0.0 2923 | decay_mult: 0.0 2924 | } 2925 | param { 2926 | lr_mult: 0.0 2927 | decay_mult: 0.0 2928 | } 2929 | } 2930 | 2931 | layer { 2932 | top: "res4b6_branch2a" 2933 | bottom: "res4b6_branch2a" 2934 | name: "res4b6_branch2a_relu" 2935 | type: "ReLU" 2936 | } 2937 | 2938 | layer { 2939 | bottom: "res4b6_branch2a" 2940 | top: "res4b6_branch2b" 2941 | name: "res4b6_branch2b" 2942 | type: "Convolution" 2943 | convolution_param { 2944 | num_output: 256 2945 | kernel_size: 3 2946 | pad: 1 2947 | stride: 1 2948 | bias_term: false 2949 | } 2950 | param { 2951 | lr_mult: 1.0 2952 | } 2953 | } 2954 | 2955 | layer { 2956 | bottom: "res4b6_branch2b" 2957 | top: "res4b6_branch2b" 2958 | name: "bn4b6_branch2b" 2959 | type: "BatchNorm" 2960 | batch_norm_param { 2961 | use_global_stats: true 2962 | } 2963 | param { 2964 | lr_mult: 0.0 2965 | decay_mult: 0.0 2966 | } 2967 | param { 2968 | lr_mult: 0.0 2969 | decay_mult: 0.0 2970 | } 2971 | param { 2972 | lr_mult: 0.0 2973 | decay_mult: 0.0 2974 | } 2975 | } 2976 | 2977 | layer { 2978 | bottom: "res4b6_branch2b" 2979 | top: "res4b6_branch2b" 2980 | name: "scale4b6_branch2b" 2981 | type: "Scale" 2982 | scale_param { 2983 | bias_term: true 2984 | } 2985 | param { 2986 | lr_mult: 0.0 2987 | decay_mult: 0.0 2988 | } 2989 | param { 2990 | lr_mult: 0.0 2991 | decay_mult: 0.0 2992 | } 2993 | } 2994 | 2995 | layer { 2996 | top: "res4b6_branch2b" 2997 | bottom: "res4b6_branch2b" 2998 | name: "res4b6_branch2b_relu" 2999 | type: "ReLU" 3000 | } 3001 | 3002 | layer { 3003 | bottom: "res4b6_branch2b" 3004 | top: "res4b6_branch2c" 3005 | name: "res4b6_branch2c" 3006 | type: "Convolution" 3007 | convolution_param { 3008 | num_output: 1024 3009 | kernel_size: 1 3010 | pad: 0 3011 | stride: 1 3012 | bias_term: false 3013 | } 3014 | param { 3015 | lr_mult: 1.0 3016 | } 3017 | } 3018 | 3019 | layer { 3020 | bottom: "res4b6_branch2c" 3021 | top: "res4b6_branch2c" 3022 | name: "bn4b6_branch2c" 3023 | type: "BatchNorm" 3024 | batch_norm_param { 3025 | use_global_stats: true 3026 | } 3027 | param { 3028 | lr_mult: 0.0 3029 | decay_mult: 0.0 3030 | } 3031 | param { 3032 | lr_mult: 0.0 3033 | decay_mult: 0.0 3034 | } 3035 | param { 3036 | lr_mult: 0.0 3037 | decay_mult: 0.0 3038 | } 3039 | } 3040 | 3041 | layer { 3042 | bottom: "res4b6_branch2c" 3043 | top: "res4b6_branch2c" 3044 | name: "scale4b6_branch2c" 3045 | type: "Scale" 3046 | scale_param { 3047 | bias_term: true 3048 | } 3049 | param { 3050 | lr_mult: 0.0 3051 | decay_mult: 0.0 3052 | } 3053 | param { 3054 | lr_mult: 0.0 3055 | decay_mult: 0.0 3056 | } 3057 | } 3058 | 3059 | layer { 3060 | bottom: "res4b5" 3061 | bottom: "res4b6_branch2c" 3062 | top: "res4b6" 3063 | name: "res4b6" 3064 | type: "Eltwise" 3065 | } 3066 | 3067 | layer { 3068 | bottom: "res4b6" 3069 | top: "res4b6" 3070 | name: "res4b6_relu" 3071 | type: "ReLU" 3072 | } 3073 | 3074 | layer { 3075 | bottom: "res4b6" 3076 | top: "res4b7_branch2a" 3077 | name: "res4b7_branch2a" 3078 | type: "Convolution" 3079 | convolution_param { 3080 | num_output: 256 3081 | kernel_size: 1 3082 | pad: 0 3083 | stride: 1 3084 | bias_term: false 3085 | } 3086 | param { 3087 | lr_mult: 1.0 3088 | } 3089 | } 3090 | 3091 | layer { 3092 | bottom: "res4b7_branch2a" 3093 | top: "res4b7_branch2a" 3094 | name: "bn4b7_branch2a" 3095 | type: "BatchNorm" 3096 | batch_norm_param { 3097 | use_global_stats: true 3098 | } 3099 | param { 3100 | lr_mult: 0.0 3101 | decay_mult: 0.0 3102 | } 3103 | param { 3104 | lr_mult: 0.0 3105 | decay_mult: 0.0 3106 | } 3107 | param { 3108 | lr_mult: 0.0 3109 | decay_mult: 0.0 3110 | } 3111 | } 3112 | 3113 | layer { 3114 | bottom: "res4b7_branch2a" 3115 | top: "res4b7_branch2a" 3116 | name: "scale4b7_branch2a" 3117 | type: "Scale" 3118 | scale_param { 3119 | bias_term: true 3120 | } 3121 | param { 3122 | lr_mult: 0.0 3123 | decay_mult: 0.0 3124 | } 3125 | param { 3126 | lr_mult: 0.0 3127 | decay_mult: 0.0 3128 | } 3129 | } 3130 | 3131 | layer { 3132 | top: "res4b7_branch2a" 3133 | bottom: "res4b7_branch2a" 3134 | name: "res4b7_branch2a_relu" 3135 | type: "ReLU" 3136 | } 3137 | 3138 | layer { 3139 | bottom: "res4b7_branch2a" 3140 | top: "res4b7_branch2b" 3141 | name: "res4b7_branch2b" 3142 | type: "Convolution" 3143 | convolution_param { 3144 | num_output: 256 3145 | kernel_size: 3 3146 | pad: 1 3147 | stride: 1 3148 | bias_term: false 3149 | } 3150 | param { 3151 | lr_mult: 1.0 3152 | } 3153 | } 3154 | 3155 | layer { 3156 | bottom: "res4b7_branch2b" 3157 | top: "res4b7_branch2b" 3158 | name: "bn4b7_branch2b" 3159 | type: "BatchNorm" 3160 | batch_norm_param { 3161 | use_global_stats: true 3162 | } 3163 | param { 3164 | lr_mult: 0.0 3165 | decay_mult: 0.0 3166 | } 3167 | param { 3168 | lr_mult: 0.0 3169 | decay_mult: 0.0 3170 | } 3171 | param { 3172 | lr_mult: 0.0 3173 | decay_mult: 0.0 3174 | } 3175 | } 3176 | 3177 | layer { 3178 | bottom: "res4b7_branch2b" 3179 | top: "res4b7_branch2b" 3180 | name: "scale4b7_branch2b" 3181 | type: "Scale" 3182 | scale_param { 3183 | bias_term: true 3184 | } 3185 | param { 3186 | lr_mult: 0.0 3187 | decay_mult: 0.0 3188 | } 3189 | param { 3190 | lr_mult: 0.0 3191 | decay_mult: 0.0 3192 | } 3193 | } 3194 | 3195 | layer { 3196 | top: "res4b7_branch2b" 3197 | bottom: "res4b7_branch2b" 3198 | name: "res4b7_branch2b_relu" 3199 | type: "ReLU" 3200 | } 3201 | 3202 | layer { 3203 | bottom: "res4b7_branch2b" 3204 | top: "res4b7_branch2c" 3205 | name: "res4b7_branch2c" 3206 | type: "Convolution" 3207 | convolution_param { 3208 | num_output: 1024 3209 | kernel_size: 1 3210 | pad: 0 3211 | stride: 1 3212 | bias_term: false 3213 | } 3214 | param { 3215 | lr_mult: 1.0 3216 | } 3217 | } 3218 | 3219 | layer { 3220 | bottom: "res4b7_branch2c" 3221 | top: "res4b7_branch2c" 3222 | name: "bn4b7_branch2c" 3223 | type: "BatchNorm" 3224 | batch_norm_param { 3225 | use_global_stats: true 3226 | } 3227 | param { 3228 | lr_mult: 0.0 3229 | decay_mult: 0.0 3230 | } 3231 | param { 3232 | lr_mult: 0.0 3233 | decay_mult: 0.0 3234 | } 3235 | param { 3236 | lr_mult: 0.0 3237 | decay_mult: 0.0 3238 | } 3239 | } 3240 | 3241 | layer { 3242 | bottom: "res4b7_branch2c" 3243 | top: "res4b7_branch2c" 3244 | name: "scale4b7_branch2c" 3245 | type: "Scale" 3246 | scale_param { 3247 | bias_term: true 3248 | } 3249 | param { 3250 | lr_mult: 0.0 3251 | decay_mult: 0.0 3252 | } 3253 | param { 3254 | lr_mult: 0.0 3255 | decay_mult: 0.0 3256 | } 3257 | } 3258 | 3259 | layer { 3260 | bottom: "res4b6" 3261 | bottom: "res4b7_branch2c" 3262 | top: "res4b7" 3263 | name: "res4b7" 3264 | type: "Eltwise" 3265 | } 3266 | 3267 | layer { 3268 | bottom: "res4b7" 3269 | top: "res4b7" 3270 | name: "res4b7_relu" 3271 | type: "ReLU" 3272 | } 3273 | 3274 | layer { 3275 | bottom: "res4b7" 3276 | top: "res4b8_branch2a" 3277 | name: "res4b8_branch2a" 3278 | type: "Convolution" 3279 | convolution_param { 3280 | num_output: 256 3281 | kernel_size: 1 3282 | pad: 0 3283 | stride: 1 3284 | bias_term: false 3285 | } 3286 | param { 3287 | lr_mult: 1.0 3288 | } 3289 | } 3290 | 3291 | layer { 3292 | bottom: "res4b8_branch2a" 3293 | top: "res4b8_branch2a" 3294 | name: "bn4b8_branch2a" 3295 | type: "BatchNorm" 3296 | batch_norm_param { 3297 | use_global_stats: true 3298 | } 3299 | param { 3300 | lr_mult: 0.0 3301 | decay_mult: 0.0 3302 | } 3303 | param { 3304 | lr_mult: 0.0 3305 | decay_mult: 0.0 3306 | } 3307 | param { 3308 | lr_mult: 0.0 3309 | decay_mult: 0.0 3310 | } 3311 | } 3312 | 3313 | layer { 3314 | bottom: "res4b8_branch2a" 3315 | top: "res4b8_branch2a" 3316 | name: "scale4b8_branch2a" 3317 | type: "Scale" 3318 | scale_param { 3319 | bias_term: true 3320 | } 3321 | param { 3322 | lr_mult: 0.0 3323 | decay_mult: 0.0 3324 | } 3325 | param { 3326 | lr_mult: 0.0 3327 | decay_mult: 0.0 3328 | } 3329 | } 3330 | 3331 | layer { 3332 | top: "res4b8_branch2a" 3333 | bottom: "res4b8_branch2a" 3334 | name: "res4b8_branch2a_relu" 3335 | type: "ReLU" 3336 | } 3337 | 3338 | layer { 3339 | bottom: "res4b8_branch2a" 3340 | top: "res4b8_branch2b" 3341 | name: "res4b8_branch2b" 3342 | type: "Convolution" 3343 | convolution_param { 3344 | num_output: 256 3345 | kernel_size: 3 3346 | pad: 1 3347 | stride: 1 3348 | bias_term: false 3349 | } 3350 | param { 3351 | lr_mult: 1.0 3352 | } 3353 | } 3354 | 3355 | layer { 3356 | bottom: "res4b8_branch2b" 3357 | top: "res4b8_branch2b" 3358 | name: "bn4b8_branch2b" 3359 | type: "BatchNorm" 3360 | batch_norm_param { 3361 | use_global_stats: true 3362 | } 3363 | param { 3364 | lr_mult: 0.0 3365 | decay_mult: 0.0 3366 | } 3367 | param { 3368 | lr_mult: 0.0 3369 | decay_mult: 0.0 3370 | } 3371 | param { 3372 | lr_mult: 0.0 3373 | decay_mult: 0.0 3374 | } 3375 | } 3376 | 3377 | layer { 3378 | bottom: "res4b8_branch2b" 3379 | top: "res4b8_branch2b" 3380 | name: "scale4b8_branch2b" 3381 | type: "Scale" 3382 | scale_param { 3383 | bias_term: true 3384 | } 3385 | param { 3386 | lr_mult: 0.0 3387 | decay_mult: 0.0 3388 | } 3389 | param { 3390 | lr_mult: 0.0 3391 | decay_mult: 0.0 3392 | } 3393 | } 3394 | 3395 | layer { 3396 | top: "res4b8_branch2b" 3397 | bottom: "res4b8_branch2b" 3398 | name: "res4b8_branch2b_relu" 3399 | type: "ReLU" 3400 | } 3401 | 3402 | layer { 3403 | bottom: "res4b8_branch2b" 3404 | top: "res4b8_branch2c" 3405 | name: "res4b8_branch2c" 3406 | type: "Convolution" 3407 | convolution_param { 3408 | num_output: 1024 3409 | kernel_size: 1 3410 | pad: 0 3411 | stride: 1 3412 | bias_term: false 3413 | } 3414 | param { 3415 | lr_mult: 1.0 3416 | } 3417 | } 3418 | 3419 | layer { 3420 | bottom: "res4b8_branch2c" 3421 | top: "res4b8_branch2c" 3422 | name: "bn4b8_branch2c" 3423 | type: "BatchNorm" 3424 | batch_norm_param { 3425 | use_global_stats: true 3426 | } 3427 | param { 3428 | lr_mult: 0.0 3429 | decay_mult: 0.0 3430 | } 3431 | param { 3432 | lr_mult: 0.0 3433 | decay_mult: 0.0 3434 | } 3435 | param { 3436 | lr_mult: 0.0 3437 | decay_mult: 0.0 3438 | } 3439 | } 3440 | 3441 | layer { 3442 | bottom: "res4b8_branch2c" 3443 | top: "res4b8_branch2c" 3444 | name: "scale4b8_branch2c" 3445 | type: "Scale" 3446 | scale_param { 3447 | bias_term: true 3448 | } 3449 | param { 3450 | lr_mult: 0.0 3451 | decay_mult: 0.0 3452 | } 3453 | param { 3454 | lr_mult: 0.0 3455 | decay_mult: 0.0 3456 | } 3457 | } 3458 | 3459 | layer { 3460 | bottom: "res4b7" 3461 | bottom: "res4b8_branch2c" 3462 | top: "res4b8" 3463 | name: "res4b8" 3464 | type: "Eltwise" 3465 | } 3466 | 3467 | layer { 3468 | bottom: "res4b8" 3469 | top: "res4b8" 3470 | name: "res4b8_relu" 3471 | type: "ReLU" 3472 | } 3473 | 3474 | layer { 3475 | bottom: "res4b8" 3476 | top: "res4b9_branch2a" 3477 | name: "res4b9_branch2a" 3478 | type: "Convolution" 3479 | convolution_param { 3480 | num_output: 256 3481 | kernel_size: 1 3482 | pad: 0 3483 | stride: 1 3484 | bias_term: false 3485 | } 3486 | param { 3487 | lr_mult: 1.0 3488 | } 3489 | } 3490 | 3491 | layer { 3492 | bottom: "res4b9_branch2a" 3493 | top: "res4b9_branch2a" 3494 | name: "bn4b9_branch2a" 3495 | type: "BatchNorm" 3496 | batch_norm_param { 3497 | use_global_stats: true 3498 | } 3499 | param { 3500 | lr_mult: 0.0 3501 | decay_mult: 0.0 3502 | } 3503 | param { 3504 | lr_mult: 0.0 3505 | decay_mult: 0.0 3506 | } 3507 | param { 3508 | lr_mult: 0.0 3509 | decay_mult: 0.0 3510 | } 3511 | } 3512 | 3513 | layer { 3514 | bottom: "res4b9_branch2a" 3515 | top: "res4b9_branch2a" 3516 | name: "scale4b9_branch2a" 3517 | type: "Scale" 3518 | scale_param { 3519 | bias_term: true 3520 | } 3521 | param { 3522 | lr_mult: 0.0 3523 | decay_mult: 0.0 3524 | } 3525 | param { 3526 | lr_mult: 0.0 3527 | decay_mult: 0.0 3528 | } 3529 | } 3530 | 3531 | layer { 3532 | top: "res4b9_branch2a" 3533 | bottom: "res4b9_branch2a" 3534 | name: "res4b9_branch2a_relu" 3535 | type: "ReLU" 3536 | } 3537 | 3538 | layer { 3539 | bottom: "res4b9_branch2a" 3540 | top: "res4b9_branch2b" 3541 | name: "res4b9_branch2b" 3542 | type: "Convolution" 3543 | convolution_param { 3544 | num_output: 256 3545 | kernel_size: 3 3546 | pad: 1 3547 | stride: 1 3548 | bias_term: false 3549 | } 3550 | param { 3551 | lr_mult: 1.0 3552 | } 3553 | } 3554 | 3555 | layer { 3556 | bottom: "res4b9_branch2b" 3557 | top: "res4b9_branch2b" 3558 | name: "bn4b9_branch2b" 3559 | type: "BatchNorm" 3560 | batch_norm_param { 3561 | use_global_stats: true 3562 | } 3563 | param { 3564 | lr_mult: 0.0 3565 | decay_mult: 0.0 3566 | } 3567 | param { 3568 | lr_mult: 0.0 3569 | decay_mult: 0.0 3570 | } 3571 | param { 3572 | lr_mult: 0.0 3573 | decay_mult: 0.0 3574 | } 3575 | } 3576 | 3577 | layer { 3578 | bottom: "res4b9_branch2b" 3579 | top: "res4b9_branch2b" 3580 | name: "scale4b9_branch2b" 3581 | type: "Scale" 3582 | scale_param { 3583 | bias_term: true 3584 | } 3585 | param { 3586 | lr_mult: 0.0 3587 | decay_mult: 0.0 3588 | } 3589 | param { 3590 | lr_mult: 0.0 3591 | decay_mult: 0.0 3592 | } 3593 | } 3594 | 3595 | layer { 3596 | top: "res4b9_branch2b" 3597 | bottom: "res4b9_branch2b" 3598 | name: "res4b9_branch2b_relu" 3599 | type: "ReLU" 3600 | } 3601 | 3602 | layer { 3603 | bottom: "res4b9_branch2b" 3604 | top: "res4b9_branch2c" 3605 | name: "res4b9_branch2c" 3606 | type: "Convolution" 3607 | convolution_param { 3608 | num_output: 1024 3609 | kernel_size: 1 3610 | pad: 0 3611 | stride: 1 3612 | bias_term: false 3613 | } 3614 | param { 3615 | lr_mult: 1.0 3616 | } 3617 | } 3618 | 3619 | layer { 3620 | bottom: "res4b9_branch2c" 3621 | top: "res4b9_branch2c" 3622 | name: "bn4b9_branch2c" 3623 | type: "BatchNorm" 3624 | batch_norm_param { 3625 | use_global_stats: true 3626 | } 3627 | param { 3628 | lr_mult: 0.0 3629 | decay_mult: 0.0 3630 | } 3631 | param { 3632 | lr_mult: 0.0 3633 | decay_mult: 0.0 3634 | } 3635 | param { 3636 | lr_mult: 0.0 3637 | decay_mult: 0.0 3638 | } 3639 | } 3640 | 3641 | layer { 3642 | bottom: "res4b9_branch2c" 3643 | top: "res4b9_branch2c" 3644 | name: "scale4b9_branch2c" 3645 | type: "Scale" 3646 | scale_param { 3647 | bias_term: true 3648 | } 3649 | param { 3650 | lr_mult: 0.0 3651 | decay_mult: 0.0 3652 | } 3653 | param { 3654 | lr_mult: 0.0 3655 | decay_mult: 0.0 3656 | } 3657 | } 3658 | 3659 | layer { 3660 | bottom: "res4b8" 3661 | bottom: "res4b9_branch2c" 3662 | top: "res4b9" 3663 | name: "res4b9" 3664 | type: "Eltwise" 3665 | } 3666 | 3667 | layer { 3668 | bottom: "res4b9" 3669 | top: "res4b9" 3670 | name: "res4b9_relu" 3671 | type: "ReLU" 3672 | } 3673 | 3674 | layer { 3675 | bottom: "res4b9" 3676 | top: "res4b10_branch2a" 3677 | name: "res4b10_branch2a" 3678 | type: "Convolution" 3679 | convolution_param { 3680 | num_output: 256 3681 | kernel_size: 1 3682 | pad: 0 3683 | stride: 1 3684 | bias_term: false 3685 | } 3686 | param { 3687 | lr_mult: 1.0 3688 | } 3689 | } 3690 | 3691 | layer { 3692 | bottom: "res4b10_branch2a" 3693 | top: "res4b10_branch2a" 3694 | name: "bn4b10_branch2a" 3695 | type: "BatchNorm" 3696 | batch_norm_param { 3697 | use_global_stats: true 3698 | } 3699 | param { 3700 | lr_mult: 0.0 3701 | decay_mult: 0.0 3702 | } 3703 | param { 3704 | lr_mult: 0.0 3705 | decay_mult: 0.0 3706 | } 3707 | param { 3708 | lr_mult: 0.0 3709 | decay_mult: 0.0 3710 | } 3711 | } 3712 | 3713 | layer { 3714 | bottom: "res4b10_branch2a" 3715 | top: "res4b10_branch2a" 3716 | name: "scale4b10_branch2a" 3717 | type: "Scale" 3718 | scale_param { 3719 | bias_term: true 3720 | } 3721 | param { 3722 | lr_mult: 0.0 3723 | decay_mult: 0.0 3724 | } 3725 | param { 3726 | lr_mult: 0.0 3727 | decay_mult: 0.0 3728 | } 3729 | } 3730 | 3731 | layer { 3732 | top: "res4b10_branch2a" 3733 | bottom: "res4b10_branch2a" 3734 | name: "res4b10_branch2a_relu" 3735 | type: "ReLU" 3736 | } 3737 | 3738 | layer { 3739 | bottom: "res4b10_branch2a" 3740 | top: "res4b10_branch2b" 3741 | name: "res4b10_branch2b" 3742 | type: "Convolution" 3743 | convolution_param { 3744 | num_output: 256 3745 | kernel_size: 3 3746 | pad: 1 3747 | stride: 1 3748 | bias_term: false 3749 | } 3750 | param { 3751 | lr_mult: 1.0 3752 | } 3753 | } 3754 | 3755 | layer { 3756 | bottom: "res4b10_branch2b" 3757 | top: "res4b10_branch2b" 3758 | name: "bn4b10_branch2b" 3759 | type: "BatchNorm" 3760 | batch_norm_param { 3761 | use_global_stats: true 3762 | } 3763 | param { 3764 | lr_mult: 0.0 3765 | decay_mult: 0.0 3766 | } 3767 | param { 3768 | lr_mult: 0.0 3769 | decay_mult: 0.0 3770 | } 3771 | param { 3772 | lr_mult: 0.0 3773 | decay_mult: 0.0 3774 | } 3775 | } 3776 | 3777 | layer { 3778 | bottom: "res4b10_branch2b" 3779 | top: "res4b10_branch2b" 3780 | name: "scale4b10_branch2b" 3781 | type: "Scale" 3782 | scale_param { 3783 | bias_term: true 3784 | } 3785 | param { 3786 | lr_mult: 0.0 3787 | decay_mult: 0.0 3788 | } 3789 | param { 3790 | lr_mult: 0.0 3791 | decay_mult: 0.0 3792 | } 3793 | } 3794 | 3795 | layer { 3796 | top: "res4b10_branch2b" 3797 | bottom: "res4b10_branch2b" 3798 | name: "res4b10_branch2b_relu" 3799 | type: "ReLU" 3800 | } 3801 | 3802 | layer { 3803 | bottom: "res4b10_branch2b" 3804 | top: "res4b10_branch2c" 3805 | name: "res4b10_branch2c" 3806 | type: "Convolution" 3807 | convolution_param { 3808 | num_output: 1024 3809 | kernel_size: 1 3810 | pad: 0 3811 | stride: 1 3812 | bias_term: false 3813 | } 3814 | param { 3815 | lr_mult: 1.0 3816 | } 3817 | } 3818 | 3819 | layer { 3820 | bottom: "res4b10_branch2c" 3821 | top: "res4b10_branch2c" 3822 | name: "bn4b10_branch2c" 3823 | type: "BatchNorm" 3824 | batch_norm_param { 3825 | use_global_stats: true 3826 | } 3827 | param { 3828 | lr_mult: 0.0 3829 | decay_mult: 0.0 3830 | } 3831 | param { 3832 | lr_mult: 0.0 3833 | decay_mult: 0.0 3834 | } 3835 | param { 3836 | lr_mult: 0.0 3837 | decay_mult: 0.0 3838 | } 3839 | } 3840 | 3841 | layer { 3842 | bottom: "res4b10_branch2c" 3843 | top: "res4b10_branch2c" 3844 | name: "scale4b10_branch2c" 3845 | type: "Scale" 3846 | scale_param { 3847 | bias_term: true 3848 | } 3849 | param { 3850 | lr_mult: 0.0 3851 | decay_mult: 0.0 3852 | } 3853 | param { 3854 | lr_mult: 0.0 3855 | decay_mult: 0.0 3856 | } 3857 | } 3858 | 3859 | layer { 3860 | bottom: "res4b9" 3861 | bottom: "res4b10_branch2c" 3862 | top: "res4b10" 3863 | name: "res4b10" 3864 | type: "Eltwise" 3865 | } 3866 | 3867 | layer { 3868 | bottom: "res4b10" 3869 | top: "res4b10" 3870 | name: "res4b10_relu" 3871 | type: "ReLU" 3872 | } 3873 | 3874 | layer { 3875 | bottom: "res4b10" 3876 | top: "res4b11_branch2a" 3877 | name: "res4b11_branch2a" 3878 | type: "Convolution" 3879 | convolution_param { 3880 | num_output: 256 3881 | kernel_size: 1 3882 | pad: 0 3883 | stride: 1 3884 | bias_term: false 3885 | } 3886 | param { 3887 | lr_mult: 1.0 3888 | } 3889 | } 3890 | 3891 | layer { 3892 | bottom: "res4b11_branch2a" 3893 | top: "res4b11_branch2a" 3894 | name: "bn4b11_branch2a" 3895 | type: "BatchNorm" 3896 | batch_norm_param { 3897 | use_global_stats: true 3898 | } 3899 | param { 3900 | lr_mult: 0.0 3901 | decay_mult: 0.0 3902 | } 3903 | param { 3904 | lr_mult: 0.0 3905 | decay_mult: 0.0 3906 | } 3907 | param { 3908 | lr_mult: 0.0 3909 | decay_mult: 0.0 3910 | } 3911 | } 3912 | 3913 | layer { 3914 | bottom: "res4b11_branch2a" 3915 | top: "res4b11_branch2a" 3916 | name: "scale4b11_branch2a" 3917 | type: "Scale" 3918 | scale_param { 3919 | bias_term: true 3920 | } 3921 | param { 3922 | lr_mult: 0.0 3923 | decay_mult: 0.0 3924 | } 3925 | param { 3926 | lr_mult: 0.0 3927 | decay_mult: 0.0 3928 | } 3929 | } 3930 | 3931 | layer { 3932 | top: "res4b11_branch2a" 3933 | bottom: "res4b11_branch2a" 3934 | name: "res4b11_branch2a_relu" 3935 | type: "ReLU" 3936 | } 3937 | 3938 | layer { 3939 | bottom: "res4b11_branch2a" 3940 | top: "res4b11_branch2b" 3941 | name: "res4b11_branch2b" 3942 | type: "Convolution" 3943 | convolution_param { 3944 | num_output: 256 3945 | kernel_size: 3 3946 | pad: 1 3947 | stride: 1 3948 | bias_term: false 3949 | } 3950 | param { 3951 | lr_mult: 1.0 3952 | } 3953 | } 3954 | 3955 | layer { 3956 | bottom: "res4b11_branch2b" 3957 | top: "res4b11_branch2b" 3958 | name: "bn4b11_branch2b" 3959 | type: "BatchNorm" 3960 | batch_norm_param { 3961 | use_global_stats: true 3962 | } 3963 | param { 3964 | lr_mult: 0.0 3965 | decay_mult: 0.0 3966 | } 3967 | param { 3968 | lr_mult: 0.0 3969 | decay_mult: 0.0 3970 | } 3971 | param { 3972 | lr_mult: 0.0 3973 | decay_mult: 0.0 3974 | } 3975 | } 3976 | 3977 | layer { 3978 | bottom: "res4b11_branch2b" 3979 | top: "res4b11_branch2b" 3980 | name: "scale4b11_branch2b" 3981 | type: "Scale" 3982 | scale_param { 3983 | bias_term: true 3984 | } 3985 | param { 3986 | lr_mult: 0.0 3987 | decay_mult: 0.0 3988 | } 3989 | param { 3990 | lr_mult: 0.0 3991 | decay_mult: 0.0 3992 | } 3993 | } 3994 | 3995 | layer { 3996 | top: "res4b11_branch2b" 3997 | bottom: "res4b11_branch2b" 3998 | name: "res4b11_branch2b_relu" 3999 | type: "ReLU" 4000 | } 4001 | 4002 | layer { 4003 | bottom: "res4b11_branch2b" 4004 | top: "res4b11_branch2c" 4005 | name: "res4b11_branch2c" 4006 | type: "Convolution" 4007 | convolution_param { 4008 | num_output: 1024 4009 | kernel_size: 1 4010 | pad: 0 4011 | stride: 1 4012 | bias_term: false 4013 | } 4014 | param { 4015 | lr_mult: 1.0 4016 | } 4017 | } 4018 | 4019 | layer { 4020 | bottom: "res4b11_branch2c" 4021 | top: "res4b11_branch2c" 4022 | name: "bn4b11_branch2c" 4023 | type: "BatchNorm" 4024 | batch_norm_param { 4025 | use_global_stats: true 4026 | } 4027 | param { 4028 | lr_mult: 0.0 4029 | decay_mult: 0.0 4030 | } 4031 | param { 4032 | lr_mult: 0.0 4033 | decay_mult: 0.0 4034 | } 4035 | param { 4036 | lr_mult: 0.0 4037 | decay_mult: 0.0 4038 | } 4039 | } 4040 | 4041 | layer { 4042 | bottom: "res4b11_branch2c" 4043 | top: "res4b11_branch2c" 4044 | name: "scale4b11_branch2c" 4045 | type: "Scale" 4046 | scale_param { 4047 | bias_term: true 4048 | } 4049 | param { 4050 | lr_mult: 0.0 4051 | decay_mult: 0.0 4052 | } 4053 | param { 4054 | lr_mult: 0.0 4055 | decay_mult: 0.0 4056 | } 4057 | } 4058 | 4059 | layer { 4060 | bottom: "res4b10" 4061 | bottom: "res4b11_branch2c" 4062 | top: "res4b11" 4063 | name: "res4b11" 4064 | type: "Eltwise" 4065 | } 4066 | 4067 | layer { 4068 | bottom: "res4b11" 4069 | top: "res4b11" 4070 | name: "res4b11_relu" 4071 | type: "ReLU" 4072 | } 4073 | 4074 | layer { 4075 | bottom: "res4b11" 4076 | top: "res4b12_branch2a" 4077 | name: "res4b12_branch2a" 4078 | type: "Convolution" 4079 | convolution_param { 4080 | num_output: 256 4081 | kernel_size: 1 4082 | pad: 0 4083 | stride: 1 4084 | bias_term: false 4085 | } 4086 | param { 4087 | lr_mult: 1.0 4088 | } 4089 | } 4090 | 4091 | layer { 4092 | bottom: "res4b12_branch2a" 4093 | top: "res4b12_branch2a" 4094 | name: "bn4b12_branch2a" 4095 | type: "BatchNorm" 4096 | batch_norm_param { 4097 | use_global_stats: true 4098 | } 4099 | param { 4100 | lr_mult: 0.0 4101 | decay_mult: 0.0 4102 | } 4103 | param { 4104 | lr_mult: 0.0 4105 | decay_mult: 0.0 4106 | } 4107 | param { 4108 | lr_mult: 0.0 4109 | decay_mult: 0.0 4110 | } 4111 | } 4112 | 4113 | layer { 4114 | bottom: "res4b12_branch2a" 4115 | top: "res4b12_branch2a" 4116 | name: "scale4b12_branch2a" 4117 | type: "Scale" 4118 | scale_param { 4119 | bias_term: true 4120 | } 4121 | param { 4122 | lr_mult: 0.0 4123 | decay_mult: 0.0 4124 | } 4125 | param { 4126 | lr_mult: 0.0 4127 | decay_mult: 0.0 4128 | } 4129 | } 4130 | 4131 | layer { 4132 | top: "res4b12_branch2a" 4133 | bottom: "res4b12_branch2a" 4134 | name: "res4b12_branch2a_relu" 4135 | type: "ReLU" 4136 | } 4137 | 4138 | layer { 4139 | bottom: "res4b12_branch2a" 4140 | top: "res4b12_branch2b" 4141 | name: "res4b12_branch2b" 4142 | type: "Convolution" 4143 | convolution_param { 4144 | num_output: 256 4145 | kernel_size: 3 4146 | pad: 1 4147 | stride: 1 4148 | bias_term: false 4149 | } 4150 | param { 4151 | lr_mult: 1.0 4152 | } 4153 | } 4154 | 4155 | layer { 4156 | bottom: "res4b12_branch2b" 4157 | top: "res4b12_branch2b" 4158 | name: "bn4b12_branch2b" 4159 | type: "BatchNorm" 4160 | batch_norm_param { 4161 | use_global_stats: true 4162 | } 4163 | param { 4164 | lr_mult: 0.0 4165 | decay_mult: 0.0 4166 | } 4167 | param { 4168 | lr_mult: 0.0 4169 | decay_mult: 0.0 4170 | } 4171 | param { 4172 | lr_mult: 0.0 4173 | decay_mult: 0.0 4174 | } 4175 | } 4176 | 4177 | layer { 4178 | bottom: "res4b12_branch2b" 4179 | top: "res4b12_branch2b" 4180 | name: "scale4b12_branch2b" 4181 | type: "Scale" 4182 | scale_param { 4183 | bias_term: true 4184 | } 4185 | param { 4186 | lr_mult: 0.0 4187 | decay_mult: 0.0 4188 | } 4189 | param { 4190 | lr_mult: 0.0 4191 | decay_mult: 0.0 4192 | } 4193 | } 4194 | 4195 | layer { 4196 | top: "res4b12_branch2b" 4197 | bottom: "res4b12_branch2b" 4198 | name: "res4b12_branch2b_relu" 4199 | type: "ReLU" 4200 | } 4201 | 4202 | layer { 4203 | bottom: "res4b12_branch2b" 4204 | top: "res4b12_branch2c" 4205 | name: "res4b12_branch2c" 4206 | type: "Convolution" 4207 | convolution_param { 4208 | num_output: 1024 4209 | kernel_size: 1 4210 | pad: 0 4211 | stride: 1 4212 | bias_term: false 4213 | } 4214 | param { 4215 | lr_mult: 1.0 4216 | } 4217 | } 4218 | 4219 | layer { 4220 | bottom: "res4b12_branch2c" 4221 | top: "res4b12_branch2c" 4222 | name: "bn4b12_branch2c" 4223 | type: "BatchNorm" 4224 | batch_norm_param { 4225 | use_global_stats: true 4226 | } 4227 | param { 4228 | lr_mult: 0.0 4229 | decay_mult: 0.0 4230 | } 4231 | param { 4232 | lr_mult: 0.0 4233 | decay_mult: 0.0 4234 | } 4235 | param { 4236 | lr_mult: 0.0 4237 | decay_mult: 0.0 4238 | } 4239 | } 4240 | 4241 | layer { 4242 | bottom: "res4b12_branch2c" 4243 | top: "res4b12_branch2c" 4244 | name: "scale4b12_branch2c" 4245 | type: "Scale" 4246 | scale_param { 4247 | bias_term: true 4248 | } 4249 | param { 4250 | lr_mult: 0.0 4251 | decay_mult: 0.0 4252 | } 4253 | param { 4254 | lr_mult: 0.0 4255 | decay_mult: 0.0 4256 | } 4257 | } 4258 | 4259 | layer { 4260 | bottom: "res4b11" 4261 | bottom: "res4b12_branch2c" 4262 | top: "res4b12" 4263 | name: "res4b12" 4264 | type: "Eltwise" 4265 | } 4266 | 4267 | layer { 4268 | bottom: "res4b12" 4269 | top: "res4b12" 4270 | name: "res4b12_relu" 4271 | type: "ReLU" 4272 | } 4273 | 4274 | layer { 4275 | bottom: "res4b12" 4276 | top: "res4b13_branch2a" 4277 | name: "res4b13_branch2a" 4278 | type: "Convolution" 4279 | convolution_param { 4280 | num_output: 256 4281 | kernel_size: 1 4282 | pad: 0 4283 | stride: 1 4284 | bias_term: false 4285 | } 4286 | param { 4287 | lr_mult: 1.0 4288 | } 4289 | } 4290 | 4291 | layer { 4292 | bottom: "res4b13_branch2a" 4293 | top: "res4b13_branch2a" 4294 | name: "bn4b13_branch2a" 4295 | type: "BatchNorm" 4296 | batch_norm_param { 4297 | use_global_stats: true 4298 | } 4299 | param { 4300 | lr_mult: 0.0 4301 | decay_mult: 0.0 4302 | } 4303 | param { 4304 | lr_mult: 0.0 4305 | decay_mult: 0.0 4306 | } 4307 | param { 4308 | lr_mult: 0.0 4309 | decay_mult: 0.0 4310 | } 4311 | } 4312 | 4313 | layer { 4314 | bottom: "res4b13_branch2a" 4315 | top: "res4b13_branch2a" 4316 | name: "scale4b13_branch2a" 4317 | type: "Scale" 4318 | scale_param { 4319 | bias_term: true 4320 | } 4321 | param { 4322 | lr_mult: 0.0 4323 | decay_mult: 0.0 4324 | } 4325 | param { 4326 | lr_mult: 0.0 4327 | decay_mult: 0.0 4328 | } 4329 | } 4330 | 4331 | layer { 4332 | top: "res4b13_branch2a" 4333 | bottom: "res4b13_branch2a" 4334 | name: "res4b13_branch2a_relu" 4335 | type: "ReLU" 4336 | } 4337 | 4338 | layer { 4339 | bottom: "res4b13_branch2a" 4340 | top: "res4b13_branch2b" 4341 | name: "res4b13_branch2b" 4342 | type: "Convolution" 4343 | convolution_param { 4344 | num_output: 256 4345 | kernel_size: 3 4346 | pad: 1 4347 | stride: 1 4348 | bias_term: false 4349 | } 4350 | param { 4351 | lr_mult: 1.0 4352 | } 4353 | } 4354 | 4355 | layer { 4356 | bottom: "res4b13_branch2b" 4357 | top: "res4b13_branch2b" 4358 | name: "bn4b13_branch2b" 4359 | type: "BatchNorm" 4360 | batch_norm_param { 4361 | use_global_stats: true 4362 | } 4363 | param { 4364 | lr_mult: 0.0 4365 | decay_mult: 0.0 4366 | } 4367 | param { 4368 | lr_mult: 0.0 4369 | decay_mult: 0.0 4370 | } 4371 | param { 4372 | lr_mult: 0.0 4373 | decay_mult: 0.0 4374 | } 4375 | } 4376 | 4377 | layer { 4378 | bottom: "res4b13_branch2b" 4379 | top: "res4b13_branch2b" 4380 | name: "scale4b13_branch2b" 4381 | type: "Scale" 4382 | scale_param { 4383 | bias_term: true 4384 | } 4385 | param { 4386 | lr_mult: 0.0 4387 | decay_mult: 0.0 4388 | } 4389 | param { 4390 | lr_mult: 0.0 4391 | decay_mult: 0.0 4392 | } 4393 | } 4394 | 4395 | layer { 4396 | top: "res4b13_branch2b" 4397 | bottom: "res4b13_branch2b" 4398 | name: "res4b13_branch2b_relu" 4399 | type: "ReLU" 4400 | } 4401 | 4402 | layer { 4403 | bottom: "res4b13_branch2b" 4404 | top: "res4b13_branch2c" 4405 | name: "res4b13_branch2c" 4406 | type: "Convolution" 4407 | convolution_param { 4408 | num_output: 1024 4409 | kernel_size: 1 4410 | pad: 0 4411 | stride: 1 4412 | bias_term: false 4413 | } 4414 | param { 4415 | lr_mult: 1.0 4416 | } 4417 | } 4418 | 4419 | layer { 4420 | bottom: "res4b13_branch2c" 4421 | top: "res4b13_branch2c" 4422 | name: "bn4b13_branch2c" 4423 | type: "BatchNorm" 4424 | batch_norm_param { 4425 | use_global_stats: true 4426 | } 4427 | param { 4428 | lr_mult: 0.0 4429 | decay_mult: 0.0 4430 | } 4431 | param { 4432 | lr_mult: 0.0 4433 | decay_mult: 0.0 4434 | } 4435 | param { 4436 | lr_mult: 0.0 4437 | decay_mult: 0.0 4438 | } 4439 | } 4440 | 4441 | layer { 4442 | bottom: "res4b13_branch2c" 4443 | top: "res4b13_branch2c" 4444 | name: "scale4b13_branch2c" 4445 | type: "Scale" 4446 | scale_param { 4447 | bias_term: true 4448 | } 4449 | param { 4450 | lr_mult: 0.0 4451 | decay_mult: 0.0 4452 | } 4453 | param { 4454 | lr_mult: 0.0 4455 | decay_mult: 0.0 4456 | } 4457 | } 4458 | 4459 | layer { 4460 | bottom: "res4b12" 4461 | bottom: "res4b13_branch2c" 4462 | top: "res4b13" 4463 | name: "res4b13" 4464 | type: "Eltwise" 4465 | } 4466 | 4467 | layer { 4468 | bottom: "res4b13" 4469 | top: "res4b13" 4470 | name: "res4b13_relu" 4471 | type: "ReLU" 4472 | } 4473 | 4474 | layer { 4475 | bottom: "res4b13" 4476 | top: "res4b14_branch2a" 4477 | name: "res4b14_branch2a" 4478 | type: "Convolution" 4479 | convolution_param { 4480 | num_output: 256 4481 | kernel_size: 1 4482 | pad: 0 4483 | stride: 1 4484 | bias_term: false 4485 | } 4486 | param { 4487 | lr_mult: 1.0 4488 | } 4489 | } 4490 | 4491 | layer { 4492 | bottom: "res4b14_branch2a" 4493 | top: "res4b14_branch2a" 4494 | name: "bn4b14_branch2a" 4495 | type: "BatchNorm" 4496 | batch_norm_param { 4497 | use_global_stats: true 4498 | } 4499 | param { 4500 | lr_mult: 0.0 4501 | decay_mult: 0.0 4502 | } 4503 | param { 4504 | lr_mult: 0.0 4505 | decay_mult: 0.0 4506 | } 4507 | param { 4508 | lr_mult: 0.0 4509 | decay_mult: 0.0 4510 | } 4511 | } 4512 | 4513 | layer { 4514 | bottom: "res4b14_branch2a" 4515 | top: "res4b14_branch2a" 4516 | name: "scale4b14_branch2a" 4517 | type: "Scale" 4518 | scale_param { 4519 | bias_term: true 4520 | } 4521 | param { 4522 | lr_mult: 0.0 4523 | decay_mult: 0.0 4524 | } 4525 | param { 4526 | lr_mult: 0.0 4527 | decay_mult: 0.0 4528 | } 4529 | } 4530 | 4531 | layer { 4532 | top: "res4b14_branch2a" 4533 | bottom: "res4b14_branch2a" 4534 | name: "res4b14_branch2a_relu" 4535 | type: "ReLU" 4536 | } 4537 | 4538 | layer { 4539 | bottom: "res4b14_branch2a" 4540 | top: "res4b14_branch2b" 4541 | name: "res4b14_branch2b" 4542 | type: "Convolution" 4543 | convolution_param { 4544 | num_output: 256 4545 | kernel_size: 3 4546 | pad: 1 4547 | stride: 1 4548 | bias_term: false 4549 | } 4550 | param { 4551 | lr_mult: 1.0 4552 | } 4553 | } 4554 | 4555 | layer { 4556 | bottom: "res4b14_branch2b" 4557 | top: "res4b14_branch2b" 4558 | name: "bn4b14_branch2b" 4559 | type: "BatchNorm" 4560 | batch_norm_param { 4561 | use_global_stats: true 4562 | } 4563 | param { 4564 | lr_mult: 0.0 4565 | decay_mult: 0.0 4566 | } 4567 | param { 4568 | lr_mult: 0.0 4569 | decay_mult: 0.0 4570 | } 4571 | param { 4572 | lr_mult: 0.0 4573 | decay_mult: 0.0 4574 | } 4575 | } 4576 | 4577 | layer { 4578 | bottom: "res4b14_branch2b" 4579 | top: "res4b14_branch2b" 4580 | name: "scale4b14_branch2b" 4581 | type: "Scale" 4582 | scale_param { 4583 | bias_term: true 4584 | } 4585 | param { 4586 | lr_mult: 0.0 4587 | decay_mult: 0.0 4588 | } 4589 | param { 4590 | lr_mult: 0.0 4591 | decay_mult: 0.0 4592 | } 4593 | } 4594 | 4595 | layer { 4596 | top: "res4b14_branch2b" 4597 | bottom: "res4b14_branch2b" 4598 | name: "res4b14_branch2b_relu" 4599 | type: "ReLU" 4600 | } 4601 | 4602 | layer { 4603 | bottom: "res4b14_branch2b" 4604 | top: "res4b14_branch2c" 4605 | name: "res4b14_branch2c" 4606 | type: "Convolution" 4607 | convolution_param { 4608 | num_output: 1024 4609 | kernel_size: 1 4610 | pad: 0 4611 | stride: 1 4612 | bias_term: false 4613 | } 4614 | param { 4615 | lr_mult: 1.0 4616 | } 4617 | } 4618 | 4619 | layer { 4620 | bottom: "res4b14_branch2c" 4621 | top: "res4b14_branch2c" 4622 | name: "bn4b14_branch2c" 4623 | type: "BatchNorm" 4624 | batch_norm_param { 4625 | use_global_stats: true 4626 | } 4627 | param { 4628 | lr_mult: 0.0 4629 | decay_mult: 0.0 4630 | } 4631 | param { 4632 | lr_mult: 0.0 4633 | decay_mult: 0.0 4634 | } 4635 | param { 4636 | lr_mult: 0.0 4637 | decay_mult: 0.0 4638 | } 4639 | } 4640 | 4641 | layer { 4642 | bottom: "res4b14_branch2c" 4643 | top: "res4b14_branch2c" 4644 | name: "scale4b14_branch2c" 4645 | type: "Scale" 4646 | scale_param { 4647 | bias_term: true 4648 | } 4649 | param { 4650 | lr_mult: 0.0 4651 | decay_mult: 0.0 4652 | } 4653 | param { 4654 | lr_mult: 0.0 4655 | decay_mult: 0.0 4656 | } 4657 | } 4658 | 4659 | layer { 4660 | bottom: "res4b13" 4661 | bottom: "res4b14_branch2c" 4662 | top: "res4b14" 4663 | name: "res4b14" 4664 | type: "Eltwise" 4665 | } 4666 | 4667 | layer { 4668 | bottom: "res4b14" 4669 | top: "res4b14" 4670 | name: "res4b14_relu" 4671 | type: "ReLU" 4672 | } 4673 | 4674 | layer { 4675 | bottom: "res4b14" 4676 | top: "res4b15_branch2a" 4677 | name: "res4b15_branch2a" 4678 | type: "Convolution" 4679 | convolution_param { 4680 | num_output: 256 4681 | kernel_size: 1 4682 | pad: 0 4683 | stride: 1 4684 | bias_term: false 4685 | } 4686 | param { 4687 | lr_mult: 1.0 4688 | } 4689 | } 4690 | 4691 | layer { 4692 | bottom: "res4b15_branch2a" 4693 | top: "res4b15_branch2a" 4694 | name: "bn4b15_branch2a" 4695 | type: "BatchNorm" 4696 | batch_norm_param { 4697 | use_global_stats: true 4698 | } 4699 | param { 4700 | lr_mult: 0.0 4701 | decay_mult: 0.0 4702 | } 4703 | param { 4704 | lr_mult: 0.0 4705 | decay_mult: 0.0 4706 | } 4707 | param { 4708 | lr_mult: 0.0 4709 | decay_mult: 0.0 4710 | } 4711 | } 4712 | 4713 | layer { 4714 | bottom: "res4b15_branch2a" 4715 | top: "res4b15_branch2a" 4716 | name: "scale4b15_branch2a" 4717 | type: "Scale" 4718 | scale_param { 4719 | bias_term: true 4720 | } 4721 | param { 4722 | lr_mult: 0.0 4723 | decay_mult: 0.0 4724 | } 4725 | param { 4726 | lr_mult: 0.0 4727 | decay_mult: 0.0 4728 | } 4729 | } 4730 | 4731 | layer { 4732 | top: "res4b15_branch2a" 4733 | bottom: "res4b15_branch2a" 4734 | name: "res4b15_branch2a_relu" 4735 | type: "ReLU" 4736 | } 4737 | 4738 | layer { 4739 | bottom: "res4b15_branch2a" 4740 | top: "res4b15_branch2b" 4741 | name: "res4b15_branch2b" 4742 | type: "Convolution" 4743 | convolution_param { 4744 | num_output: 256 4745 | kernel_size: 3 4746 | pad: 1 4747 | stride: 1 4748 | bias_term: false 4749 | } 4750 | param { 4751 | lr_mult: 1.0 4752 | } 4753 | } 4754 | 4755 | layer { 4756 | bottom: "res4b15_branch2b" 4757 | top: "res4b15_branch2b" 4758 | name: "bn4b15_branch2b" 4759 | type: "BatchNorm" 4760 | batch_norm_param { 4761 | use_global_stats: true 4762 | } 4763 | param { 4764 | lr_mult: 0.0 4765 | decay_mult: 0.0 4766 | } 4767 | param { 4768 | lr_mult: 0.0 4769 | decay_mult: 0.0 4770 | } 4771 | param { 4772 | lr_mult: 0.0 4773 | decay_mult: 0.0 4774 | } 4775 | } 4776 | 4777 | layer { 4778 | bottom: "res4b15_branch2b" 4779 | top: "res4b15_branch2b" 4780 | name: "scale4b15_branch2b" 4781 | type: "Scale" 4782 | scale_param { 4783 | bias_term: true 4784 | } 4785 | param { 4786 | lr_mult: 0.0 4787 | decay_mult: 0.0 4788 | } 4789 | param { 4790 | lr_mult: 0.0 4791 | decay_mult: 0.0 4792 | } 4793 | } 4794 | 4795 | layer { 4796 | top: "res4b15_branch2b" 4797 | bottom: "res4b15_branch2b" 4798 | name: "res4b15_branch2b_relu" 4799 | type: "ReLU" 4800 | } 4801 | 4802 | layer { 4803 | bottom: "res4b15_branch2b" 4804 | top: "res4b15_branch2c" 4805 | name: "res4b15_branch2c" 4806 | type: "Convolution" 4807 | convolution_param { 4808 | num_output: 1024 4809 | kernel_size: 1 4810 | pad: 0 4811 | stride: 1 4812 | bias_term: false 4813 | } 4814 | param { 4815 | lr_mult: 1.0 4816 | } 4817 | } 4818 | 4819 | layer { 4820 | bottom: "res4b15_branch2c" 4821 | top: "res4b15_branch2c" 4822 | name: "bn4b15_branch2c" 4823 | type: "BatchNorm" 4824 | batch_norm_param { 4825 | use_global_stats: true 4826 | } 4827 | param { 4828 | lr_mult: 0.0 4829 | decay_mult: 0.0 4830 | } 4831 | param { 4832 | lr_mult: 0.0 4833 | decay_mult: 0.0 4834 | } 4835 | param { 4836 | lr_mult: 0.0 4837 | decay_mult: 0.0 4838 | } 4839 | } 4840 | 4841 | layer { 4842 | bottom: "res4b15_branch2c" 4843 | top: "res4b15_branch2c" 4844 | name: "scale4b15_branch2c" 4845 | type: "Scale" 4846 | scale_param { 4847 | bias_term: true 4848 | } 4849 | param { 4850 | lr_mult: 0.0 4851 | decay_mult: 0.0 4852 | } 4853 | param { 4854 | lr_mult: 0.0 4855 | decay_mult: 0.0 4856 | } 4857 | } 4858 | 4859 | layer { 4860 | bottom: "res4b14" 4861 | bottom: "res4b15_branch2c" 4862 | top: "res4b15" 4863 | name: "res4b15" 4864 | type: "Eltwise" 4865 | } 4866 | 4867 | layer { 4868 | bottom: "res4b15" 4869 | top: "res4b15" 4870 | name: "res4b15_relu" 4871 | type: "ReLU" 4872 | } 4873 | 4874 | layer { 4875 | bottom: "res4b15" 4876 | top: "res4b16_branch2a" 4877 | name: "res4b16_branch2a" 4878 | type: "Convolution" 4879 | convolution_param { 4880 | num_output: 256 4881 | kernel_size: 1 4882 | pad: 0 4883 | stride: 1 4884 | bias_term: false 4885 | } 4886 | param { 4887 | lr_mult: 1.0 4888 | } 4889 | } 4890 | 4891 | layer { 4892 | bottom: "res4b16_branch2a" 4893 | top: "res4b16_branch2a" 4894 | name: "bn4b16_branch2a" 4895 | type: "BatchNorm" 4896 | batch_norm_param { 4897 | use_global_stats: true 4898 | } 4899 | param { 4900 | lr_mult: 0.0 4901 | decay_mult: 0.0 4902 | } 4903 | param { 4904 | lr_mult: 0.0 4905 | decay_mult: 0.0 4906 | } 4907 | param { 4908 | lr_mult: 0.0 4909 | decay_mult: 0.0 4910 | } 4911 | } 4912 | 4913 | layer { 4914 | bottom: "res4b16_branch2a" 4915 | top: "res4b16_branch2a" 4916 | name: "scale4b16_branch2a" 4917 | type: "Scale" 4918 | scale_param { 4919 | bias_term: true 4920 | } 4921 | param { 4922 | lr_mult: 0.0 4923 | decay_mult: 0.0 4924 | } 4925 | param { 4926 | lr_mult: 0.0 4927 | decay_mult: 0.0 4928 | } 4929 | } 4930 | 4931 | layer { 4932 | top: "res4b16_branch2a" 4933 | bottom: "res4b16_branch2a" 4934 | name: "res4b16_branch2a_relu" 4935 | type: "ReLU" 4936 | } 4937 | 4938 | layer { 4939 | bottom: "res4b16_branch2a" 4940 | top: "res4b16_branch2b" 4941 | name: "res4b16_branch2b" 4942 | type: "Convolution" 4943 | convolution_param { 4944 | num_output: 256 4945 | kernel_size: 3 4946 | pad: 1 4947 | stride: 1 4948 | bias_term: false 4949 | } 4950 | param { 4951 | lr_mult: 1.0 4952 | } 4953 | } 4954 | 4955 | layer { 4956 | bottom: "res4b16_branch2b" 4957 | top: "res4b16_branch2b" 4958 | name: "bn4b16_branch2b" 4959 | type: "BatchNorm" 4960 | batch_norm_param { 4961 | use_global_stats: true 4962 | } 4963 | param { 4964 | lr_mult: 0.0 4965 | decay_mult: 0.0 4966 | } 4967 | param { 4968 | lr_mult: 0.0 4969 | decay_mult: 0.0 4970 | } 4971 | param { 4972 | lr_mult: 0.0 4973 | decay_mult: 0.0 4974 | } 4975 | } 4976 | 4977 | layer { 4978 | bottom: "res4b16_branch2b" 4979 | top: "res4b16_branch2b" 4980 | name: "scale4b16_branch2b" 4981 | type: "Scale" 4982 | scale_param { 4983 | bias_term: true 4984 | } 4985 | param { 4986 | lr_mult: 0.0 4987 | decay_mult: 0.0 4988 | } 4989 | param { 4990 | lr_mult: 0.0 4991 | decay_mult: 0.0 4992 | } 4993 | } 4994 | 4995 | layer { 4996 | top: "res4b16_branch2b" 4997 | bottom: "res4b16_branch2b" 4998 | name: "res4b16_branch2b_relu" 4999 | type: "ReLU" 5000 | } 5001 | 5002 | layer { 5003 | bottom: "res4b16_branch2b" 5004 | top: "res4b16_branch2c" 5005 | name: "res4b16_branch2c" 5006 | type: "Convolution" 5007 | convolution_param { 5008 | num_output: 1024 5009 | kernel_size: 1 5010 | pad: 0 5011 | stride: 1 5012 | bias_term: false 5013 | } 5014 | param { 5015 | lr_mult: 1.0 5016 | } 5017 | } 5018 | 5019 | layer { 5020 | bottom: "res4b16_branch2c" 5021 | top: "res4b16_branch2c" 5022 | name: "bn4b16_branch2c" 5023 | type: "BatchNorm" 5024 | batch_norm_param { 5025 | use_global_stats: true 5026 | } 5027 | param { 5028 | lr_mult: 0.0 5029 | decay_mult: 0.0 5030 | } 5031 | param { 5032 | lr_mult: 0.0 5033 | decay_mult: 0.0 5034 | } 5035 | param { 5036 | lr_mult: 0.0 5037 | decay_mult: 0.0 5038 | } 5039 | } 5040 | 5041 | layer { 5042 | bottom: "res4b16_branch2c" 5043 | top: "res4b16_branch2c" 5044 | name: "scale4b16_branch2c" 5045 | type: "Scale" 5046 | scale_param { 5047 | bias_term: true 5048 | } 5049 | param { 5050 | lr_mult: 0.0 5051 | decay_mult: 0.0 5052 | } 5053 | param { 5054 | lr_mult: 0.0 5055 | decay_mult: 0.0 5056 | } 5057 | } 5058 | 5059 | layer { 5060 | bottom: "res4b15" 5061 | bottom: "res4b16_branch2c" 5062 | top: "res4b16" 5063 | name: "res4b16" 5064 | type: "Eltwise" 5065 | } 5066 | 5067 | layer { 5068 | bottom: "res4b16" 5069 | top: "res4b16" 5070 | name: "res4b16_relu" 5071 | type: "ReLU" 5072 | } 5073 | 5074 | layer { 5075 | bottom: "res4b16" 5076 | top: "res4b17_branch2a" 5077 | name: "res4b17_branch2a" 5078 | type: "Convolution" 5079 | convolution_param { 5080 | num_output: 256 5081 | kernel_size: 1 5082 | pad: 0 5083 | stride: 1 5084 | bias_term: false 5085 | } 5086 | param { 5087 | lr_mult: 1.0 5088 | } 5089 | } 5090 | 5091 | layer { 5092 | bottom: "res4b17_branch2a" 5093 | top: "res4b17_branch2a" 5094 | name: "bn4b17_branch2a" 5095 | type: "BatchNorm" 5096 | batch_norm_param { 5097 | use_global_stats: true 5098 | } 5099 | param { 5100 | lr_mult: 0.0 5101 | decay_mult: 0.0 5102 | } 5103 | param { 5104 | lr_mult: 0.0 5105 | decay_mult: 0.0 5106 | } 5107 | param { 5108 | lr_mult: 0.0 5109 | decay_mult: 0.0 5110 | } 5111 | } 5112 | 5113 | layer { 5114 | bottom: "res4b17_branch2a" 5115 | top: "res4b17_branch2a" 5116 | name: "scale4b17_branch2a" 5117 | type: "Scale" 5118 | scale_param { 5119 | bias_term: true 5120 | } 5121 | param { 5122 | lr_mult: 0.0 5123 | decay_mult: 0.0 5124 | } 5125 | param { 5126 | lr_mult: 0.0 5127 | decay_mult: 0.0 5128 | } 5129 | } 5130 | 5131 | layer { 5132 | top: "res4b17_branch2a" 5133 | bottom: "res4b17_branch2a" 5134 | name: "res4b17_branch2a_relu" 5135 | type: "ReLU" 5136 | } 5137 | 5138 | layer { 5139 | bottom: "res4b17_branch2a" 5140 | top: "res4b17_branch2b" 5141 | name: "res4b17_branch2b" 5142 | type: "Convolution" 5143 | convolution_param { 5144 | num_output: 256 5145 | kernel_size: 3 5146 | pad: 1 5147 | stride: 1 5148 | bias_term: false 5149 | } 5150 | param { 5151 | lr_mult: 1.0 5152 | } 5153 | } 5154 | 5155 | layer { 5156 | bottom: "res4b17_branch2b" 5157 | top: "res4b17_branch2b" 5158 | name: "bn4b17_branch2b" 5159 | type: "BatchNorm" 5160 | batch_norm_param { 5161 | use_global_stats: true 5162 | } 5163 | param { 5164 | lr_mult: 0.0 5165 | decay_mult: 0.0 5166 | } 5167 | param { 5168 | lr_mult: 0.0 5169 | decay_mult: 0.0 5170 | } 5171 | param { 5172 | lr_mult: 0.0 5173 | decay_mult: 0.0 5174 | } 5175 | } 5176 | 5177 | layer { 5178 | bottom: "res4b17_branch2b" 5179 | top: "res4b17_branch2b" 5180 | name: "scale4b17_branch2b" 5181 | type: "Scale" 5182 | scale_param { 5183 | bias_term: true 5184 | } 5185 | param { 5186 | lr_mult: 0.0 5187 | decay_mult: 0.0 5188 | } 5189 | param { 5190 | lr_mult: 0.0 5191 | decay_mult: 0.0 5192 | } 5193 | } 5194 | 5195 | layer { 5196 | top: "res4b17_branch2b" 5197 | bottom: "res4b17_branch2b" 5198 | name: "res4b17_branch2b_relu" 5199 | type: "ReLU" 5200 | } 5201 | 5202 | layer { 5203 | bottom: "res4b17_branch2b" 5204 | top: "res4b17_branch2c" 5205 | name: "res4b17_branch2c" 5206 | type: "Convolution" 5207 | convolution_param { 5208 | num_output: 1024 5209 | kernel_size: 1 5210 | pad: 0 5211 | stride: 1 5212 | bias_term: false 5213 | } 5214 | param { 5215 | lr_mult: 1.0 5216 | } 5217 | } 5218 | 5219 | layer { 5220 | bottom: "res4b17_branch2c" 5221 | top: "res4b17_branch2c" 5222 | name: "bn4b17_branch2c" 5223 | type: "BatchNorm" 5224 | batch_norm_param { 5225 | use_global_stats: true 5226 | } 5227 | param { 5228 | lr_mult: 0.0 5229 | decay_mult: 0.0 5230 | } 5231 | param { 5232 | lr_mult: 0.0 5233 | decay_mult: 0.0 5234 | } 5235 | param { 5236 | lr_mult: 0.0 5237 | decay_mult: 0.0 5238 | } 5239 | } 5240 | 5241 | layer { 5242 | bottom: "res4b17_branch2c" 5243 | top: "res4b17_branch2c" 5244 | name: "scale4b17_branch2c" 5245 | type: "Scale" 5246 | scale_param { 5247 | bias_term: true 5248 | } 5249 | param { 5250 | lr_mult: 0.0 5251 | decay_mult: 0.0 5252 | } 5253 | param { 5254 | lr_mult: 0.0 5255 | decay_mult: 0.0 5256 | } 5257 | } 5258 | 5259 | layer { 5260 | bottom: "res4b16" 5261 | bottom: "res4b17_branch2c" 5262 | top: "res4b17" 5263 | name: "res4b17" 5264 | type: "Eltwise" 5265 | } 5266 | 5267 | layer { 5268 | bottom: "res4b17" 5269 | top: "res4b17" 5270 | name: "res4b17_relu" 5271 | type: "ReLU" 5272 | } 5273 | 5274 | layer { 5275 | bottom: "res4b17" 5276 | top: "res4b18_branch2a" 5277 | name: "res4b18_branch2a" 5278 | type: "Convolution" 5279 | convolution_param { 5280 | num_output: 256 5281 | kernel_size: 1 5282 | pad: 0 5283 | stride: 1 5284 | bias_term: false 5285 | } 5286 | param { 5287 | lr_mult: 1.0 5288 | } 5289 | } 5290 | 5291 | layer { 5292 | bottom: "res4b18_branch2a" 5293 | top: "res4b18_branch2a" 5294 | name: "bn4b18_branch2a" 5295 | type: "BatchNorm" 5296 | batch_norm_param { 5297 | use_global_stats: true 5298 | } 5299 | param { 5300 | lr_mult: 0.0 5301 | decay_mult: 0.0 5302 | } 5303 | param { 5304 | lr_mult: 0.0 5305 | decay_mult: 0.0 5306 | } 5307 | param { 5308 | lr_mult: 0.0 5309 | decay_mult: 0.0 5310 | } 5311 | } 5312 | 5313 | layer { 5314 | bottom: "res4b18_branch2a" 5315 | top: "res4b18_branch2a" 5316 | name: "scale4b18_branch2a" 5317 | type: "Scale" 5318 | scale_param { 5319 | bias_term: true 5320 | } 5321 | param { 5322 | lr_mult: 0.0 5323 | decay_mult: 0.0 5324 | } 5325 | param { 5326 | lr_mult: 0.0 5327 | decay_mult: 0.0 5328 | } 5329 | } 5330 | 5331 | layer { 5332 | top: "res4b18_branch2a" 5333 | bottom: "res4b18_branch2a" 5334 | name: "res4b18_branch2a_relu" 5335 | type: "ReLU" 5336 | } 5337 | 5338 | layer { 5339 | bottom: "res4b18_branch2a" 5340 | top: "res4b18_branch2b" 5341 | name: "res4b18_branch2b" 5342 | type: "Convolution" 5343 | convolution_param { 5344 | num_output: 256 5345 | kernel_size: 3 5346 | pad: 1 5347 | stride: 1 5348 | bias_term: false 5349 | } 5350 | param { 5351 | lr_mult: 1.0 5352 | } 5353 | } 5354 | 5355 | layer { 5356 | bottom: "res4b18_branch2b" 5357 | top: "res4b18_branch2b" 5358 | name: "bn4b18_branch2b" 5359 | type: "BatchNorm" 5360 | batch_norm_param { 5361 | use_global_stats: true 5362 | } 5363 | param { 5364 | lr_mult: 0.0 5365 | decay_mult: 0.0 5366 | } 5367 | param { 5368 | lr_mult: 0.0 5369 | decay_mult: 0.0 5370 | } 5371 | param { 5372 | lr_mult: 0.0 5373 | decay_mult: 0.0 5374 | } 5375 | } 5376 | 5377 | layer { 5378 | bottom: "res4b18_branch2b" 5379 | top: "res4b18_branch2b" 5380 | name: "scale4b18_branch2b" 5381 | type: "Scale" 5382 | scale_param { 5383 | bias_term: true 5384 | } 5385 | param { 5386 | lr_mult: 0.0 5387 | decay_mult: 0.0 5388 | } 5389 | param { 5390 | lr_mult: 0.0 5391 | decay_mult: 0.0 5392 | } 5393 | } 5394 | 5395 | layer { 5396 | top: "res4b18_branch2b" 5397 | bottom: "res4b18_branch2b" 5398 | name: "res4b18_branch2b_relu" 5399 | type: "ReLU" 5400 | } 5401 | 5402 | layer { 5403 | bottom: "res4b18_branch2b" 5404 | top: "res4b18_branch2c" 5405 | name: "res4b18_branch2c" 5406 | type: "Convolution" 5407 | convolution_param { 5408 | num_output: 1024 5409 | kernel_size: 1 5410 | pad: 0 5411 | stride: 1 5412 | bias_term: false 5413 | } 5414 | param { 5415 | lr_mult: 1.0 5416 | } 5417 | } 5418 | 5419 | layer { 5420 | bottom: "res4b18_branch2c" 5421 | top: "res4b18_branch2c" 5422 | name: "bn4b18_branch2c" 5423 | type: "BatchNorm" 5424 | batch_norm_param { 5425 | use_global_stats: true 5426 | } 5427 | param { 5428 | lr_mult: 0.0 5429 | decay_mult: 0.0 5430 | } 5431 | param { 5432 | lr_mult: 0.0 5433 | decay_mult: 0.0 5434 | } 5435 | param { 5436 | lr_mult: 0.0 5437 | decay_mult: 0.0 5438 | } 5439 | } 5440 | 5441 | layer { 5442 | bottom: "res4b18_branch2c" 5443 | top: "res4b18_branch2c" 5444 | name: "scale4b18_branch2c" 5445 | type: "Scale" 5446 | scale_param { 5447 | bias_term: true 5448 | } 5449 | param { 5450 | lr_mult: 0.0 5451 | decay_mult: 0.0 5452 | } 5453 | param { 5454 | lr_mult: 0.0 5455 | decay_mult: 0.0 5456 | } 5457 | } 5458 | 5459 | layer { 5460 | bottom: "res4b17" 5461 | bottom: "res4b18_branch2c" 5462 | top: "res4b18" 5463 | name: "res4b18" 5464 | type: "Eltwise" 5465 | } 5466 | 5467 | layer { 5468 | bottom: "res4b18" 5469 | top: "res4b18" 5470 | name: "res4b18_relu" 5471 | type: "ReLU" 5472 | } 5473 | 5474 | layer { 5475 | bottom: "res4b18" 5476 | top: "res4b19_branch2a" 5477 | name: "res4b19_branch2a" 5478 | type: "Convolution" 5479 | convolution_param { 5480 | num_output: 256 5481 | kernel_size: 1 5482 | pad: 0 5483 | stride: 1 5484 | bias_term: false 5485 | } 5486 | param { 5487 | lr_mult: 1.0 5488 | } 5489 | } 5490 | 5491 | layer { 5492 | bottom: "res4b19_branch2a" 5493 | top: "res4b19_branch2a" 5494 | name: "bn4b19_branch2a" 5495 | type: "BatchNorm" 5496 | batch_norm_param { 5497 | use_global_stats: true 5498 | } 5499 | param { 5500 | lr_mult: 0.0 5501 | decay_mult: 0.0 5502 | } 5503 | param { 5504 | lr_mult: 0.0 5505 | decay_mult: 0.0 5506 | } 5507 | param { 5508 | lr_mult: 0.0 5509 | decay_mult: 0.0 5510 | } 5511 | } 5512 | 5513 | layer { 5514 | bottom: "res4b19_branch2a" 5515 | top: "res4b19_branch2a" 5516 | name: "scale4b19_branch2a" 5517 | type: "Scale" 5518 | scale_param { 5519 | bias_term: true 5520 | } 5521 | param { 5522 | lr_mult: 0.0 5523 | decay_mult: 0.0 5524 | } 5525 | param { 5526 | lr_mult: 0.0 5527 | decay_mult: 0.0 5528 | } 5529 | } 5530 | 5531 | layer { 5532 | top: "res4b19_branch2a" 5533 | bottom: "res4b19_branch2a" 5534 | name: "res4b19_branch2a_relu" 5535 | type: "ReLU" 5536 | } 5537 | 5538 | layer { 5539 | bottom: "res4b19_branch2a" 5540 | top: "res4b19_branch2b" 5541 | name: "res4b19_branch2b" 5542 | type: "Convolution" 5543 | convolution_param { 5544 | num_output: 256 5545 | kernel_size: 3 5546 | pad: 1 5547 | stride: 1 5548 | bias_term: false 5549 | } 5550 | param { 5551 | lr_mult: 1.0 5552 | } 5553 | } 5554 | 5555 | layer { 5556 | bottom: "res4b19_branch2b" 5557 | top: "res4b19_branch2b" 5558 | name: "bn4b19_branch2b" 5559 | type: "BatchNorm" 5560 | batch_norm_param { 5561 | use_global_stats: true 5562 | } 5563 | param { 5564 | lr_mult: 0.0 5565 | decay_mult: 0.0 5566 | } 5567 | param { 5568 | lr_mult: 0.0 5569 | decay_mult: 0.0 5570 | } 5571 | param { 5572 | lr_mult: 0.0 5573 | decay_mult: 0.0 5574 | } 5575 | } 5576 | 5577 | layer { 5578 | bottom: "res4b19_branch2b" 5579 | top: "res4b19_branch2b" 5580 | name: "scale4b19_branch2b" 5581 | type: "Scale" 5582 | scale_param { 5583 | bias_term: true 5584 | } 5585 | param { 5586 | lr_mult: 0.0 5587 | decay_mult: 0.0 5588 | } 5589 | param { 5590 | lr_mult: 0.0 5591 | decay_mult: 0.0 5592 | } 5593 | } 5594 | 5595 | layer { 5596 | top: "res4b19_branch2b" 5597 | bottom: "res4b19_branch2b" 5598 | name: "res4b19_branch2b_relu" 5599 | type: "ReLU" 5600 | } 5601 | 5602 | layer { 5603 | bottom: "res4b19_branch2b" 5604 | top: "res4b19_branch2c" 5605 | name: "res4b19_branch2c" 5606 | type: "Convolution" 5607 | convolution_param { 5608 | num_output: 1024 5609 | kernel_size: 1 5610 | pad: 0 5611 | stride: 1 5612 | bias_term: false 5613 | } 5614 | param { 5615 | lr_mult: 1.0 5616 | } 5617 | } 5618 | 5619 | layer { 5620 | bottom: "res4b19_branch2c" 5621 | top: "res4b19_branch2c" 5622 | name: "bn4b19_branch2c" 5623 | type: "BatchNorm" 5624 | batch_norm_param { 5625 | use_global_stats: true 5626 | } 5627 | param { 5628 | lr_mult: 0.0 5629 | decay_mult: 0.0 5630 | } 5631 | param { 5632 | lr_mult: 0.0 5633 | decay_mult: 0.0 5634 | } 5635 | param { 5636 | lr_mult: 0.0 5637 | decay_mult: 0.0 5638 | } 5639 | } 5640 | 5641 | layer { 5642 | bottom: "res4b19_branch2c" 5643 | top: "res4b19_branch2c" 5644 | name: "scale4b19_branch2c" 5645 | type: "Scale" 5646 | scale_param { 5647 | bias_term: true 5648 | } 5649 | param { 5650 | lr_mult: 0.0 5651 | decay_mult: 0.0 5652 | } 5653 | param { 5654 | lr_mult: 0.0 5655 | decay_mult: 0.0 5656 | } 5657 | } 5658 | 5659 | layer { 5660 | bottom: "res4b18" 5661 | bottom: "res4b19_branch2c" 5662 | top: "res4b19" 5663 | name: "res4b19" 5664 | type: "Eltwise" 5665 | } 5666 | 5667 | layer { 5668 | bottom: "res4b19" 5669 | top: "res4b19" 5670 | name: "res4b19_relu" 5671 | type: "ReLU" 5672 | } 5673 | 5674 | layer { 5675 | bottom: "res4b19" 5676 | top: "res4b20_branch2a" 5677 | name: "res4b20_branch2a" 5678 | type: "Convolution" 5679 | convolution_param { 5680 | num_output: 256 5681 | kernel_size: 1 5682 | pad: 0 5683 | stride: 1 5684 | bias_term: false 5685 | } 5686 | param { 5687 | lr_mult: 1.0 5688 | } 5689 | } 5690 | 5691 | layer { 5692 | bottom: "res4b20_branch2a" 5693 | top: "res4b20_branch2a" 5694 | name: "bn4b20_branch2a" 5695 | type: "BatchNorm" 5696 | batch_norm_param { 5697 | use_global_stats: true 5698 | } 5699 | param { 5700 | lr_mult: 0.0 5701 | decay_mult: 0.0 5702 | } 5703 | param { 5704 | lr_mult: 0.0 5705 | decay_mult: 0.0 5706 | } 5707 | param { 5708 | lr_mult: 0.0 5709 | decay_mult: 0.0 5710 | } 5711 | } 5712 | 5713 | layer { 5714 | bottom: "res4b20_branch2a" 5715 | top: "res4b20_branch2a" 5716 | name: "scale4b20_branch2a" 5717 | type: "Scale" 5718 | scale_param { 5719 | bias_term: true 5720 | } 5721 | param { 5722 | lr_mult: 0.0 5723 | decay_mult: 0.0 5724 | } 5725 | param { 5726 | lr_mult: 0.0 5727 | decay_mult: 0.0 5728 | } 5729 | } 5730 | 5731 | layer { 5732 | top: "res4b20_branch2a" 5733 | bottom: "res4b20_branch2a" 5734 | name: "res4b20_branch2a_relu" 5735 | type: "ReLU" 5736 | } 5737 | 5738 | layer { 5739 | bottom: "res4b20_branch2a" 5740 | top: "res4b20_branch2b" 5741 | name: "res4b20_branch2b" 5742 | type: "Convolution" 5743 | convolution_param { 5744 | num_output: 256 5745 | kernel_size: 3 5746 | pad: 1 5747 | stride: 1 5748 | bias_term: false 5749 | } 5750 | param { 5751 | lr_mult: 1.0 5752 | } 5753 | } 5754 | 5755 | layer { 5756 | bottom: "res4b20_branch2b" 5757 | top: "res4b20_branch2b" 5758 | name: "bn4b20_branch2b" 5759 | type: "BatchNorm" 5760 | batch_norm_param { 5761 | use_global_stats: true 5762 | } 5763 | param { 5764 | lr_mult: 0.0 5765 | decay_mult: 0.0 5766 | } 5767 | param { 5768 | lr_mult: 0.0 5769 | decay_mult: 0.0 5770 | } 5771 | param { 5772 | lr_mult: 0.0 5773 | decay_mult: 0.0 5774 | } 5775 | } 5776 | 5777 | layer { 5778 | bottom: "res4b20_branch2b" 5779 | top: "res4b20_branch2b" 5780 | name: "scale4b20_branch2b" 5781 | type: "Scale" 5782 | scale_param { 5783 | bias_term: true 5784 | } 5785 | param { 5786 | lr_mult: 0.0 5787 | decay_mult: 0.0 5788 | } 5789 | param { 5790 | lr_mult: 0.0 5791 | decay_mult: 0.0 5792 | } 5793 | } 5794 | 5795 | layer { 5796 | top: "res4b20_branch2b" 5797 | bottom: "res4b20_branch2b" 5798 | name: "res4b20_branch2b_relu" 5799 | type: "ReLU" 5800 | } 5801 | 5802 | layer { 5803 | bottom: "res4b20_branch2b" 5804 | top: "res4b20_branch2c" 5805 | name: "res4b20_branch2c" 5806 | type: "Convolution" 5807 | convolution_param { 5808 | num_output: 1024 5809 | kernel_size: 1 5810 | pad: 0 5811 | stride: 1 5812 | bias_term: false 5813 | } 5814 | param { 5815 | lr_mult: 1.0 5816 | } 5817 | } 5818 | 5819 | layer { 5820 | bottom: "res4b20_branch2c" 5821 | top: "res4b20_branch2c" 5822 | name: "bn4b20_branch2c" 5823 | type: "BatchNorm" 5824 | batch_norm_param { 5825 | use_global_stats: true 5826 | } 5827 | param { 5828 | lr_mult: 0.0 5829 | decay_mult: 0.0 5830 | } 5831 | param { 5832 | lr_mult: 0.0 5833 | decay_mult: 0.0 5834 | } 5835 | param { 5836 | lr_mult: 0.0 5837 | decay_mult: 0.0 5838 | } 5839 | } 5840 | 5841 | layer { 5842 | bottom: "res4b20_branch2c" 5843 | top: "res4b20_branch2c" 5844 | name: "scale4b20_branch2c" 5845 | type: "Scale" 5846 | scale_param { 5847 | bias_term: true 5848 | } 5849 | param { 5850 | lr_mult: 0.0 5851 | decay_mult: 0.0 5852 | } 5853 | param { 5854 | lr_mult: 0.0 5855 | decay_mult: 0.0 5856 | } 5857 | } 5858 | 5859 | layer { 5860 | bottom: "res4b19" 5861 | bottom: "res4b20_branch2c" 5862 | top: "res4b20" 5863 | name: "res4b20" 5864 | type: "Eltwise" 5865 | } 5866 | 5867 | layer { 5868 | bottom: "res4b20" 5869 | top: "res4b20" 5870 | name: "res4b20_relu" 5871 | type: "ReLU" 5872 | } 5873 | 5874 | layer { 5875 | bottom: "res4b20" 5876 | top: "res4b21_branch2a" 5877 | name: "res4b21_branch2a" 5878 | type: "Convolution" 5879 | convolution_param { 5880 | num_output: 256 5881 | kernel_size: 1 5882 | pad: 0 5883 | stride: 1 5884 | bias_term: false 5885 | } 5886 | param { 5887 | lr_mult: 1.0 5888 | } 5889 | } 5890 | 5891 | layer { 5892 | bottom: "res4b21_branch2a" 5893 | top: "res4b21_branch2a" 5894 | name: "bn4b21_branch2a" 5895 | type: "BatchNorm" 5896 | batch_norm_param { 5897 | use_global_stats: true 5898 | } 5899 | param { 5900 | lr_mult: 0.0 5901 | decay_mult: 0.0 5902 | } 5903 | param { 5904 | lr_mult: 0.0 5905 | decay_mult: 0.0 5906 | } 5907 | param { 5908 | lr_mult: 0.0 5909 | decay_mult: 0.0 5910 | } 5911 | } 5912 | 5913 | layer { 5914 | bottom: "res4b21_branch2a" 5915 | top: "res4b21_branch2a" 5916 | name: "scale4b21_branch2a" 5917 | type: "Scale" 5918 | scale_param { 5919 | bias_term: true 5920 | } 5921 | param { 5922 | lr_mult: 0.0 5923 | decay_mult: 0.0 5924 | } 5925 | param { 5926 | lr_mult: 0.0 5927 | decay_mult: 0.0 5928 | } 5929 | } 5930 | 5931 | layer { 5932 | top: "res4b21_branch2a" 5933 | bottom: "res4b21_branch2a" 5934 | name: "res4b21_branch2a_relu" 5935 | type: "ReLU" 5936 | } 5937 | 5938 | layer { 5939 | bottom: "res4b21_branch2a" 5940 | top: "res4b21_branch2b" 5941 | name: "res4b21_branch2b" 5942 | type: "Convolution" 5943 | convolution_param { 5944 | num_output: 256 5945 | kernel_size: 3 5946 | pad: 1 5947 | stride: 1 5948 | bias_term: false 5949 | } 5950 | param { 5951 | lr_mult: 1.0 5952 | } 5953 | } 5954 | 5955 | layer { 5956 | bottom: "res4b21_branch2b" 5957 | top: "res4b21_branch2b" 5958 | name: "bn4b21_branch2b" 5959 | type: "BatchNorm" 5960 | batch_norm_param { 5961 | use_global_stats: true 5962 | } 5963 | param { 5964 | lr_mult: 0.0 5965 | decay_mult: 0.0 5966 | } 5967 | param { 5968 | lr_mult: 0.0 5969 | decay_mult: 0.0 5970 | } 5971 | param { 5972 | lr_mult: 0.0 5973 | decay_mult: 0.0 5974 | } 5975 | } 5976 | 5977 | layer { 5978 | bottom: "res4b21_branch2b" 5979 | top: "res4b21_branch2b" 5980 | name: "scale4b21_branch2b" 5981 | type: "Scale" 5982 | scale_param { 5983 | bias_term: true 5984 | } 5985 | param { 5986 | lr_mult: 0.0 5987 | decay_mult: 0.0 5988 | } 5989 | param { 5990 | lr_mult: 0.0 5991 | decay_mult: 0.0 5992 | } 5993 | } 5994 | 5995 | layer { 5996 | top: "res4b21_branch2b" 5997 | bottom: "res4b21_branch2b" 5998 | name: "res4b21_branch2b_relu" 5999 | type: "ReLU" 6000 | } 6001 | 6002 | layer { 6003 | bottom: "res4b21_branch2b" 6004 | top: "res4b21_branch2c" 6005 | name: "res4b21_branch2c" 6006 | type: "Convolution" 6007 | convolution_param { 6008 | num_output: 1024 6009 | kernel_size: 1 6010 | pad: 0 6011 | stride: 1 6012 | bias_term: false 6013 | } 6014 | param { 6015 | lr_mult: 1.0 6016 | } 6017 | } 6018 | 6019 | layer { 6020 | bottom: "res4b21_branch2c" 6021 | top: "res4b21_branch2c" 6022 | name: "bn4b21_branch2c" 6023 | type: "BatchNorm" 6024 | batch_norm_param { 6025 | use_global_stats: true 6026 | } 6027 | param { 6028 | lr_mult: 0.0 6029 | decay_mult: 0.0 6030 | } 6031 | param { 6032 | lr_mult: 0.0 6033 | decay_mult: 0.0 6034 | } 6035 | param { 6036 | lr_mult: 0.0 6037 | decay_mult: 0.0 6038 | } 6039 | } 6040 | 6041 | layer { 6042 | bottom: "res4b21_branch2c" 6043 | top: "res4b21_branch2c" 6044 | name: "scale4b21_branch2c" 6045 | type: "Scale" 6046 | scale_param { 6047 | bias_term: true 6048 | } 6049 | param { 6050 | lr_mult: 0.0 6051 | decay_mult: 0.0 6052 | } 6053 | param { 6054 | lr_mult: 0.0 6055 | decay_mult: 0.0 6056 | } 6057 | } 6058 | 6059 | layer { 6060 | bottom: "res4b20" 6061 | bottom: "res4b21_branch2c" 6062 | top: "res4b21" 6063 | name: "res4b21" 6064 | type: "Eltwise" 6065 | } 6066 | 6067 | layer { 6068 | bottom: "res4b21" 6069 | top: "res4b21" 6070 | name: "res4b21_relu" 6071 | type: "ReLU" 6072 | } 6073 | 6074 | layer { 6075 | bottom: "res4b21" 6076 | top: "res4b22_branch2a" 6077 | name: "res4b22_branch2a" 6078 | type: "Convolution" 6079 | convolution_param { 6080 | num_output: 256 6081 | kernel_size: 1 6082 | pad: 0 6083 | stride: 1 6084 | bias_term: false 6085 | } 6086 | param { 6087 | lr_mult: 1.0 6088 | } 6089 | } 6090 | 6091 | layer { 6092 | bottom: "res4b22_branch2a" 6093 | top: "res4b22_branch2a" 6094 | name: "bn4b22_branch2a" 6095 | type: "BatchNorm" 6096 | batch_norm_param { 6097 | use_global_stats: true 6098 | } 6099 | param { 6100 | lr_mult: 0.0 6101 | decay_mult: 0.0 6102 | } 6103 | param { 6104 | lr_mult: 0.0 6105 | decay_mult: 0.0 6106 | } 6107 | param { 6108 | lr_mult: 0.0 6109 | decay_mult: 0.0 6110 | } 6111 | } 6112 | 6113 | layer { 6114 | bottom: "res4b22_branch2a" 6115 | top: "res4b22_branch2a" 6116 | name: "scale4b22_branch2a" 6117 | type: "Scale" 6118 | scale_param { 6119 | bias_term: true 6120 | } 6121 | param { 6122 | lr_mult: 0.0 6123 | decay_mult: 0.0 6124 | } 6125 | param { 6126 | lr_mult: 0.0 6127 | decay_mult: 0.0 6128 | } 6129 | } 6130 | 6131 | layer { 6132 | top: "res4b22_branch2a" 6133 | bottom: "res4b22_branch2a" 6134 | name: "res4b22_branch2a_relu" 6135 | type: "ReLU" 6136 | } 6137 | 6138 | layer { 6139 | bottom: "res4b22_branch2a" 6140 | top: "res4b22_branch2b" 6141 | name: "res4b22_branch2b" 6142 | type: "Convolution" 6143 | convolution_param { 6144 | num_output: 256 6145 | kernel_size: 3 6146 | pad: 1 6147 | stride: 1 6148 | bias_term: false 6149 | } 6150 | param { 6151 | lr_mult: 1.0 6152 | } 6153 | } 6154 | 6155 | layer { 6156 | bottom: "res4b22_branch2b" 6157 | top: "res4b22_branch2b" 6158 | name: "bn4b22_branch2b" 6159 | type: "BatchNorm" 6160 | batch_norm_param { 6161 | use_global_stats: true 6162 | } 6163 | param { 6164 | lr_mult: 0.0 6165 | decay_mult: 0.0 6166 | } 6167 | param { 6168 | lr_mult: 0.0 6169 | decay_mult: 0.0 6170 | } 6171 | param { 6172 | lr_mult: 0.0 6173 | decay_mult: 0.0 6174 | } 6175 | } 6176 | 6177 | layer { 6178 | bottom: "res4b22_branch2b" 6179 | top: "res4b22_branch2b" 6180 | name: "scale4b22_branch2b" 6181 | type: "Scale" 6182 | scale_param { 6183 | bias_term: true 6184 | } 6185 | param { 6186 | lr_mult: 0.0 6187 | decay_mult: 0.0 6188 | } 6189 | param { 6190 | lr_mult: 0.0 6191 | decay_mult: 0.0 6192 | } 6193 | } 6194 | 6195 | layer { 6196 | top: "res4b22_branch2b" 6197 | bottom: "res4b22_branch2b" 6198 | name: "res4b22_branch2b_relu" 6199 | type: "ReLU" 6200 | } 6201 | 6202 | layer { 6203 | bottom: "res4b22_branch2b" 6204 | top: "res4b22_branch2c" 6205 | name: "res4b22_branch2c" 6206 | type: "Convolution" 6207 | convolution_param { 6208 | num_output: 1024 6209 | kernel_size: 1 6210 | pad: 0 6211 | stride: 1 6212 | bias_term: false 6213 | } 6214 | param { 6215 | lr_mult: 1.0 6216 | } 6217 | } 6218 | 6219 | layer { 6220 | bottom: "res4b22_branch2c" 6221 | top: "res4b22_branch2c" 6222 | name: "bn4b22_branch2c" 6223 | type: "BatchNorm" 6224 | batch_norm_param { 6225 | use_global_stats: true 6226 | } 6227 | param { 6228 | lr_mult: 0.0 6229 | decay_mult: 0.0 6230 | } 6231 | param { 6232 | lr_mult: 0.0 6233 | decay_mult: 0.0 6234 | } 6235 | param { 6236 | lr_mult: 0.0 6237 | decay_mult: 0.0 6238 | } 6239 | } 6240 | 6241 | layer { 6242 | bottom: "res4b22_branch2c" 6243 | top: "res4b22_branch2c" 6244 | name: "scale4b22_branch2c" 6245 | type: "Scale" 6246 | scale_param { 6247 | bias_term: true 6248 | } 6249 | param { 6250 | lr_mult: 0.0 6251 | decay_mult: 0.0 6252 | } 6253 | param { 6254 | lr_mult: 0.0 6255 | decay_mult: 0.0 6256 | } 6257 | } 6258 | 6259 | layer { 6260 | bottom: "res4b21" 6261 | bottom: "res4b22_branch2c" 6262 | top: "res4b22" 6263 | name: "res4b22" 6264 | type: "Eltwise" 6265 | } 6266 | 6267 | layer { 6268 | bottom: "res4b22" 6269 | top: "res4b22" 6270 | name: "res4b22_relu" 6271 | type: "ReLU" 6272 | } 6273 | 6274 | layer { 6275 | bottom: "res4b22" 6276 | top: "res5a_branch1" 6277 | name: "res5a_branch1" 6278 | type: "Convolution" 6279 | convolution_param { 6280 | num_output: 2048 6281 | kernel_size: 1 6282 | pad: 0 6283 | stride: 1 6284 | bias_term: false 6285 | } 6286 | param { 6287 | lr_mult: 1.0 6288 | } 6289 | } 6290 | 6291 | layer { 6292 | bottom: "res5a_branch1" 6293 | top: "res5a_branch1" 6294 | name: "bn5a_branch1" 6295 | type: "BatchNorm" 6296 | batch_norm_param { 6297 | use_global_stats: true 6298 | } 6299 | param { 6300 | lr_mult: 0.0 6301 | decay_mult: 0.0 6302 | } 6303 | param { 6304 | lr_mult: 0.0 6305 | decay_mult: 0.0 6306 | } 6307 | param { 6308 | lr_mult: 0.0 6309 | decay_mult: 0.0 6310 | } 6311 | } 6312 | 6313 | layer { 6314 | bottom: "res5a_branch1" 6315 | top: "res5a_branch1" 6316 | name: "scale5a_branch1" 6317 | type: "Scale" 6318 | scale_param { 6319 | bias_term: true 6320 | } 6321 | param { 6322 | lr_mult: 0.0 6323 | decay_mult: 0.0 6324 | } 6325 | param { 6326 | lr_mult: 0.0 6327 | decay_mult: 0.0 6328 | } 6329 | } 6330 | 6331 | layer { 6332 | bottom: "res4b22" 6333 | top: "res5a_branch2a" 6334 | name: "res5a_branch2a" 6335 | type: "Convolution" 6336 | convolution_param { 6337 | num_output: 512 6338 | kernel_size: 1 6339 | pad: 0 6340 | stride: 1 6341 | bias_term: false 6342 | } 6343 | param { 6344 | lr_mult: 1.0 6345 | } 6346 | } 6347 | 6348 | layer { 6349 | bottom: "res5a_branch2a" 6350 | top: "res5a_branch2a" 6351 | name: "bn5a_branch2a" 6352 | type: "BatchNorm" 6353 | batch_norm_param { 6354 | use_global_stats: true 6355 | } 6356 | param { 6357 | lr_mult: 0.0 6358 | decay_mult: 0.0 6359 | } 6360 | param { 6361 | lr_mult: 0.0 6362 | decay_mult: 0.0 6363 | } 6364 | param { 6365 | lr_mult: 0.0 6366 | decay_mult: 0.0 6367 | } 6368 | } 6369 | 6370 | layer { 6371 | bottom: "res5a_branch2a" 6372 | top: "res5a_branch2a" 6373 | name: "scale5a_branch2a" 6374 | type: "Scale" 6375 | scale_param { 6376 | bias_term: true 6377 | } 6378 | param { 6379 | lr_mult: 0.0 6380 | decay_mult: 0.0 6381 | } 6382 | param { 6383 | lr_mult: 0.0 6384 | decay_mult: 0.0 6385 | } 6386 | } 6387 | 6388 | layer { 6389 | top: "res5a_branch2a" 6390 | bottom: "res5a_branch2a" 6391 | name: "res5a_branch2a_relu" 6392 | type: "ReLU" 6393 | } 6394 | 6395 | layer { 6396 | bottom: "res5a_branch2a" 6397 | top: "res5a_branch2b" 6398 | name: "res5a_branch2b" 6399 | type: "Convolution" 6400 | convolution_param { 6401 | num_output: 512 6402 | kernel_size: 3 6403 | pad: 2 6404 | dilation: 2 6405 | stride: 1 6406 | bias_term: false 6407 | } 6408 | param { 6409 | lr_mult: 1.0 6410 | } 6411 | } 6412 | 6413 | layer { 6414 | bottom: "res5a_branch2b" 6415 | top: "res5a_branch2b" 6416 | name: "bn5a_branch2b" 6417 | type: "BatchNorm" 6418 | batch_norm_param { 6419 | use_global_stats: true 6420 | } 6421 | param { 6422 | lr_mult: 0.0 6423 | decay_mult: 0.0 6424 | } 6425 | param { 6426 | lr_mult: 0.0 6427 | decay_mult: 0.0 6428 | } 6429 | param { 6430 | lr_mult: 0.0 6431 | decay_mult: 0.0 6432 | } 6433 | } 6434 | 6435 | layer { 6436 | bottom: "res5a_branch2b" 6437 | top: "res5a_branch2b" 6438 | name: "scale5a_branch2b" 6439 | type: "Scale" 6440 | scale_param { 6441 | bias_term: true 6442 | } 6443 | param { 6444 | lr_mult: 0.0 6445 | decay_mult: 0.0 6446 | } 6447 | param { 6448 | lr_mult: 0.0 6449 | decay_mult: 0.0 6450 | } 6451 | } 6452 | 6453 | layer { 6454 | top: "res5a_branch2b" 6455 | bottom: "res5a_branch2b" 6456 | name: "res5a_branch2b_relu" 6457 | type: "ReLU" 6458 | } 6459 | 6460 | layer { 6461 | bottom: "res5a_branch2b" 6462 | top: "res5a_branch2c" 6463 | name: "res5a_branch2c" 6464 | type: "Convolution" 6465 | convolution_param { 6466 | num_output: 2048 6467 | kernel_size: 1 6468 | pad: 0 6469 | stride: 1 6470 | bias_term: false 6471 | } 6472 | param { 6473 | lr_mult: 1.0 6474 | } 6475 | } 6476 | 6477 | layer { 6478 | bottom: "res5a_branch2c" 6479 | top: "res5a_branch2c" 6480 | name: "bn5a_branch2c" 6481 | type: "BatchNorm" 6482 | batch_norm_param { 6483 | use_global_stats: true 6484 | } 6485 | param { 6486 | lr_mult: 0.0 6487 | decay_mult: 0.0 6488 | } 6489 | param { 6490 | lr_mult: 0.0 6491 | decay_mult: 0.0 6492 | } 6493 | param { 6494 | lr_mult: 0.0 6495 | decay_mult: 0.0 6496 | } 6497 | } 6498 | 6499 | layer { 6500 | bottom: "res5a_branch2c" 6501 | top: "res5a_branch2c" 6502 | name: "scale5a_branch2c" 6503 | type: "Scale" 6504 | scale_param { 6505 | bias_term: true 6506 | } 6507 | param { 6508 | lr_mult: 0.0 6509 | decay_mult: 0.0 6510 | } 6511 | param { 6512 | lr_mult: 0.0 6513 | decay_mult: 0.0 6514 | } 6515 | } 6516 | 6517 | layer { 6518 | bottom: "res5a_branch1" 6519 | bottom: "res5a_branch2c" 6520 | top: "res5a" 6521 | name: "res5a" 6522 | type: "Eltwise" 6523 | } 6524 | 6525 | layer { 6526 | bottom: "res5a" 6527 | top: "res5a" 6528 | name: "res5a_relu" 6529 | type: "ReLU" 6530 | } 6531 | 6532 | layer { 6533 | bottom: "res5a" 6534 | top: "res5b_branch2a" 6535 | name: "res5b_branch2a" 6536 | type: "Convolution" 6537 | convolution_param { 6538 | num_output: 512 6539 | kernel_size: 1 6540 | pad: 0 6541 | stride: 1 6542 | bias_term: false 6543 | } 6544 | param { 6545 | lr_mult: 1.0 6546 | } 6547 | } 6548 | 6549 | layer { 6550 | bottom: "res5b_branch2a" 6551 | top: "res5b_branch2a" 6552 | name: "bn5b_branch2a" 6553 | type: "BatchNorm" 6554 | batch_norm_param { 6555 | use_global_stats: true 6556 | } 6557 | param { 6558 | lr_mult: 0.0 6559 | decay_mult: 0.0 6560 | } 6561 | param { 6562 | lr_mult: 0.0 6563 | decay_mult: 0.0 6564 | } 6565 | param { 6566 | lr_mult: 0.0 6567 | decay_mult: 0.0 6568 | } 6569 | } 6570 | 6571 | layer { 6572 | bottom: "res5b_branch2a" 6573 | top: "res5b_branch2a" 6574 | name: "scale5b_branch2a" 6575 | type: "Scale" 6576 | scale_param { 6577 | bias_term: true 6578 | } 6579 | param { 6580 | lr_mult: 0.0 6581 | decay_mult: 0.0 6582 | } 6583 | param { 6584 | lr_mult: 0.0 6585 | decay_mult: 0.0 6586 | } 6587 | } 6588 | 6589 | layer { 6590 | top: "res5b_branch2a" 6591 | bottom: "res5b_branch2a" 6592 | name: "res5b_branch2a_relu" 6593 | type: "ReLU" 6594 | } 6595 | 6596 | layer { 6597 | bottom: "res5b_branch2a" 6598 | top: "res5b_branch2b" 6599 | name: "res5b_branch2b" 6600 | type: "Convolution" 6601 | convolution_param { 6602 | num_output: 512 6603 | kernel_size: 3 6604 | pad: 2 6605 | dilation: 2 6606 | stride: 1 6607 | bias_term: false 6608 | } 6609 | param { 6610 | lr_mult: 1.0 6611 | } 6612 | } 6613 | 6614 | layer { 6615 | bottom: "res5b_branch2b" 6616 | top: "res5b_branch2b" 6617 | name: "bn5b_branch2b" 6618 | type: "BatchNorm" 6619 | batch_norm_param { 6620 | use_global_stats: true 6621 | } 6622 | param { 6623 | lr_mult: 0.0 6624 | decay_mult: 0.0 6625 | } 6626 | param { 6627 | lr_mult: 0.0 6628 | decay_mult: 0.0 6629 | } 6630 | param { 6631 | lr_mult: 0.0 6632 | decay_mult: 0.0 6633 | } 6634 | } 6635 | 6636 | layer { 6637 | bottom: "res5b_branch2b" 6638 | top: "res5b_branch2b" 6639 | name: "scale5b_branch2b" 6640 | type: "Scale" 6641 | scale_param { 6642 | bias_term: true 6643 | } 6644 | param { 6645 | lr_mult: 0.0 6646 | decay_mult: 0.0 6647 | } 6648 | param { 6649 | lr_mult: 0.0 6650 | decay_mult: 0.0 6651 | } 6652 | } 6653 | 6654 | layer { 6655 | top: "res5b_branch2b" 6656 | bottom: "res5b_branch2b" 6657 | name: "res5b_branch2b_relu" 6658 | type: "ReLU" 6659 | } 6660 | 6661 | layer { 6662 | bottom: "res5b_branch2b" 6663 | top: "res5b_branch2c" 6664 | name: "res5b_branch2c" 6665 | type: "Convolution" 6666 | convolution_param { 6667 | num_output: 2048 6668 | kernel_size: 1 6669 | pad: 0 6670 | stride: 1 6671 | bias_term: false 6672 | } 6673 | param { 6674 | lr_mult: 1.0 6675 | } 6676 | } 6677 | 6678 | layer { 6679 | bottom: "res5b_branch2c" 6680 | top: "res5b_branch2c" 6681 | name: "bn5b_branch2c" 6682 | type: "BatchNorm" 6683 | batch_norm_param { 6684 | use_global_stats: true 6685 | } 6686 | param { 6687 | lr_mult: 0.0 6688 | decay_mult: 0.0 6689 | } 6690 | param { 6691 | lr_mult: 0.0 6692 | decay_mult: 0.0 6693 | } 6694 | param { 6695 | lr_mult: 0.0 6696 | decay_mult: 0.0 6697 | } 6698 | } 6699 | 6700 | layer { 6701 | bottom: "res5b_branch2c" 6702 | top: "res5b_branch2c" 6703 | name: "scale5b_branch2c" 6704 | type: "Scale" 6705 | scale_param { 6706 | bias_term: true 6707 | } 6708 | param { 6709 | lr_mult: 0.0 6710 | decay_mult: 0.0 6711 | } 6712 | param { 6713 | lr_mult: 0.0 6714 | decay_mult: 0.0 6715 | } 6716 | } 6717 | 6718 | layer { 6719 | bottom: "res5a" 6720 | bottom: "res5b_branch2c" 6721 | top: "res5b" 6722 | name: "res5b" 6723 | type: "Eltwise" 6724 | } 6725 | 6726 | layer { 6727 | bottom: "res5b" 6728 | top: "res5b" 6729 | name: "res5b_relu" 6730 | type: "ReLU" 6731 | } 6732 | 6733 | layer { 6734 | bottom: "res5b" 6735 | top: "res5c_branch2a" 6736 | name: "res5c_branch2a" 6737 | type: "Convolution" 6738 | convolution_param { 6739 | num_output: 512 6740 | kernel_size: 1 6741 | pad: 0 6742 | stride: 1 6743 | bias_term: false 6744 | } 6745 | param { 6746 | lr_mult: 1.0 6747 | } 6748 | } 6749 | 6750 | layer { 6751 | bottom: "res5c_branch2a" 6752 | top: "res5c_branch2a" 6753 | name: "bn5c_branch2a" 6754 | type: "BatchNorm" 6755 | batch_norm_param { 6756 | use_global_stats: true 6757 | } 6758 | param { 6759 | lr_mult: 0.0 6760 | decay_mult: 0.0 6761 | } 6762 | param { 6763 | lr_mult: 0.0 6764 | decay_mult: 0.0 6765 | } 6766 | param { 6767 | lr_mult: 0.0 6768 | decay_mult: 0.0 6769 | } 6770 | } 6771 | 6772 | layer { 6773 | bottom: "res5c_branch2a" 6774 | top: "res5c_branch2a" 6775 | name: "scale5c_branch2a" 6776 | type: "Scale" 6777 | scale_param { 6778 | bias_term: true 6779 | } 6780 | param { 6781 | lr_mult: 0.0 6782 | decay_mult: 0.0 6783 | } 6784 | param { 6785 | lr_mult: 0.0 6786 | decay_mult: 0.0 6787 | } 6788 | } 6789 | 6790 | layer { 6791 | top: "res5c_branch2a" 6792 | bottom: "res5c_branch2a" 6793 | name: "res5c_branch2a_relu" 6794 | type: "ReLU" 6795 | } 6796 | 6797 | layer { 6798 | bottom: "res5c_branch2a" 6799 | top: "res5c_branch2b" 6800 | name: "res5c_branch2b" 6801 | type: "Convolution" 6802 | convolution_param { 6803 | num_output: 512 6804 | kernel_size: 3 6805 | pad: 2 6806 | dilation: 2 6807 | stride: 1 6808 | bias_term: false 6809 | } 6810 | param { 6811 | lr_mult: 1.0 6812 | } 6813 | } 6814 | 6815 | layer { 6816 | bottom: "res5c_branch2b" 6817 | top: "res5c_branch2b" 6818 | name: "bn5c_branch2b" 6819 | type: "BatchNorm" 6820 | batch_norm_param { 6821 | use_global_stats: true 6822 | } 6823 | param { 6824 | lr_mult: 0.0 6825 | decay_mult: 0.0 6826 | } 6827 | param { 6828 | lr_mult: 0.0 6829 | decay_mult: 0.0 6830 | } 6831 | param { 6832 | lr_mult: 0.0 6833 | decay_mult: 0.0 6834 | } 6835 | } 6836 | 6837 | layer { 6838 | bottom: "res5c_branch2b" 6839 | top: "res5c_branch2b" 6840 | name: "scale5c_branch2b" 6841 | type: "Scale" 6842 | scale_param { 6843 | bias_term: true 6844 | } 6845 | param { 6846 | lr_mult: 0.0 6847 | decay_mult: 0.0 6848 | } 6849 | param { 6850 | lr_mult: 0.0 6851 | decay_mult: 0.0 6852 | } 6853 | } 6854 | 6855 | layer { 6856 | top: "res5c_branch2b" 6857 | bottom: "res5c_branch2b" 6858 | name: "res5c_branch2b_relu" 6859 | type: "ReLU" 6860 | } 6861 | 6862 | layer { 6863 | bottom: "res5c_branch2b" 6864 | top: "res5c_branch2c" 6865 | name: "res5c_branch2c" 6866 | type: "Convolution" 6867 | convolution_param { 6868 | num_output: 2048 6869 | kernel_size: 1 6870 | pad: 0 6871 | stride: 1 6872 | bias_term: false 6873 | } 6874 | param { 6875 | lr_mult: 1.0 6876 | } 6877 | } 6878 | 6879 | layer { 6880 | bottom: "res5c_branch2c" 6881 | top: "res5c_branch2c" 6882 | name: "bn5c_branch2c" 6883 | type: "BatchNorm" 6884 | batch_norm_param { 6885 | use_global_stats: true 6886 | } 6887 | param { 6888 | lr_mult: 0.0 6889 | decay_mult: 0.0 6890 | } 6891 | param { 6892 | lr_mult: 0.0 6893 | decay_mult: 0.0 6894 | } 6895 | param { 6896 | lr_mult: 0.0 6897 | decay_mult: 0.0 6898 | } 6899 | } 6900 | 6901 | layer { 6902 | bottom: "res5c_branch2c" 6903 | top: "res5c_branch2c" 6904 | name: "scale5c_branch2c" 6905 | type: "Scale" 6906 | scale_param { 6907 | bias_term: true 6908 | } 6909 | param { 6910 | lr_mult: 0.0 6911 | decay_mult: 0.0 6912 | } 6913 | param { 6914 | lr_mult: 0.0 6915 | decay_mult: 0.0 6916 | } 6917 | } 6918 | 6919 | layer { 6920 | bottom: "res5b" 6921 | bottom: "res5c_branch2c" 6922 | top: "res5c" 6923 | name: "res5c" 6924 | type: "Eltwise" 6925 | } 6926 | 6927 | layer { 6928 | bottom: "res5c" 6929 | top: "res5c" 6930 | name: "res5c_relu" 6931 | type: "ReLU" 6932 | } 6933 | 6934 | ###add two extra convs following DSS### 6935 | layer { name: 'conv1-dsn6' type: "Convolution" bottom: 'res5c' top: 'conv1-dsn6' 6936 | param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} 6937 | convolution_param { engine: CAFFE num_output: 512 pad: 6 kernel_size: 7 dilation: 2 6938 | weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } 6939 | layer { bottom: 'conv1-dsn6' top: 'conv1-dsn6' name: 'relu1-dsn6' type: "ReLU" } 6940 | layer { name: 'conv2-dsn6' type: "Convolution" bottom: 'conv1-dsn6' top: 'conv2-dsn6' 6941 | param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} 6942 | convolution_param { engine: CAFFE num_output: 512 pad: 6 kernel_size: 7 dilation: 2 6943 | weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } 6944 | layer { bottom: 'conv2-dsn6' top: 'conv2-dsn6' name: 'relu2-dsn6' type: "ReLU" } 6945 | layer { 6946 | name: "compress-dsn6" 6947 | type: "Convolution" 6948 | bottom: "conv2-dsn6" 6949 | top: "compress-dsn6" 6950 | param { 6951 | lr_mult: 1 6952 | decay_mult: 1 6953 | } 6954 | param { 6955 | lr_mult: 2 6956 | decay_mult: 0 6957 | } 6958 | convolution_param { 6959 | num_output: 64 6960 | pad: 1 6961 | kernel_size: 3 6962 | weight_filler { 6963 | type: "gaussian" 6964 | std: 0.01 6965 | } 6966 | bias_filler { 6967 | type: "constant" 6968 | value: 0 6969 | } 6970 | } 6971 | } 6972 | layer { 6973 | name: "compress6_relu" 6974 | type: "ReLU" 6975 | bottom: "compress-dsn6" 6976 | top: "compress-dsn6" 6977 | } 6978 | 6979 | 6980 | ###add two extra convs following DSS### 6981 | layer { name: 'conv1-dsn5' type: "Convolution" bottom: 'res4b22' top: 'conv1-dsn5' 6982 | param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} 6983 | convolution_param { engine: CAFFE num_output: 512 pad: 2 kernel_size: 5 6984 | weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } 6985 | layer { bottom: 'conv1-dsn5' top: 'conv1-dsn5' name: 'relu1-dsn5' type: "ReLU" } 6986 | layer { name: 'conv2-dsn5' type: "Convolution" bottom: 'conv1-dsn5' top: 'conv2-dsn5' 6987 | param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} 6988 | convolution_param { engine: CAFFE num_output: 512 pad: 2 kernel_size: 5 6989 | weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } 6990 | layer { bottom: 'conv2-dsn5' top: 'conv2-dsn5' name: 'relu2-dsn5' type: "ReLU" } 6991 | layer { 6992 | name: "compress-dsn5" 6993 | type: "Convolution" 6994 | bottom: "conv2-dsn5" 6995 | top: "compress-dsn5" 6996 | param { 6997 | lr_mult: 1 6998 | decay_mult: 1 6999 | } 7000 | param { 7001 | lr_mult: 2 7002 | decay_mult: 0 7003 | } 7004 | convolution_param { 7005 | num_output: 64 7006 | pad: 1 7007 | kernel_size: 3 7008 | weight_filler { 7009 | type: "gaussian" 7010 | std: 0.01 7011 | } 7012 | bias_filler { 7013 | type: "constant" 7014 | value: 0 7015 | } 7016 | } 7017 | } 7018 | layer { 7019 | name: "compress5_relu" 7020 | type: "ReLU" 7021 | bottom: "compress-dsn5" 7022 | top: "compress-dsn5" 7023 | } 7024 | 7025 | ###add two extra convs following DSS### 7026 | layer { name: 'conv1-dsn4' type: "Convolution" bottom: 'res3b3' top: 'conv1-dsn4' 7027 | param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} 7028 | convolution_param { engine: CAFFE num_output: 256 pad: 2 kernel_size: 5 7029 | weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } 7030 | layer { bottom: 'conv1-dsn4' top: 'conv1-dsn4' name: 'relu1-dsn4' type: "ReLU" } 7031 | layer { name: 'conv2-dsn4' type: "Convolution" bottom: 'conv1-dsn4' top: 'conv2-dsn4' 7032 | param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} 7033 | convolution_param { engine: CAFFE num_output: 256 pad: 2 kernel_size: 5 7034 | weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } 7035 | layer { bottom: 'conv2-dsn4' top: 'conv2-dsn4' name: 'relu2-dsn4' type: "ReLU" } 7036 | layer { 7037 | name: "compress-dsn4" 7038 | type: "Convolution" 7039 | bottom: "conv2-dsn4" 7040 | top: "compress-dsn4" 7041 | 7042 | param { 7043 | lr_mult: 1 7044 | decay_mult: 1 7045 | } 7046 | param { 7047 | lr_mult: 2 7048 | decay_mult: 0 7049 | } 7050 | convolution_param { 7051 | num_output: 64 7052 | pad: 1 7053 | kernel_size: 3 7054 | weight_filler { 7055 | type: "gaussian" 7056 | std: 0.01 7057 | } 7058 | bias_filler { 7059 | type: "constant" 7060 | value: 0 7061 | } 7062 | } 7063 | } 7064 | layer { 7065 | name: "compress4_relu" 7066 | type: "ReLU" 7067 | bottom: "compress-dsn4" 7068 | top: "compress-dsn4" 7069 | } 7070 | 7071 | ###add two extra convs following DSS### 7072 | layer { name: 'conv1-dsn3' type: "Convolution" bottom: 'res2c' top: 'conv1-dsn3' 7073 | param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} 7074 | convolution_param { engine: CAFFE num_output: 256 pad: 2 kernel_size: 5 7075 | weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } 7076 | layer { bottom: 'conv1-dsn3' top: 'conv1-dsn3' name: 'relu1-dsn3' type: "ReLU" } 7077 | layer { name: 'conv2-dsn3' type: "Convolution" bottom: 'conv1-dsn3' top: 'conv2-dsn3' 7078 | param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} 7079 | convolution_param { engine: CAFFE num_output: 256 pad: 2 kernel_size: 5 7080 | weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } 7081 | layer { bottom: 'conv2-dsn3' top: 'conv2-dsn3' name: 'relu2-dsn3' type: "ReLU" } 7082 | layer { 7083 | name: "compress-dsn3" 7084 | type: "Convolution" 7085 | bottom: "conv2-dsn3" 7086 | top: "compress-dsn3" 7087 | 7088 | param { 7089 | lr_mult: 1 7090 | decay_mult: 1 7091 | } 7092 | param { 7093 | lr_mult: 2 7094 | decay_mult: 0 7095 | } 7096 | convolution_param { 7097 | num_output: 64 7098 | pad: 1 7099 | kernel_size: 3 7100 | weight_filler { 7101 | type: "gaussian" 7102 | std: 0.01 7103 | } 7104 | bias_filler { 7105 | type: "constant" 7106 | value: 0 7107 | } 7108 | } 7109 | } 7110 | layer { 7111 | name: "compress3_relu" 7112 | type: "ReLU" 7113 | bottom: "compress-dsn3" 7114 | top: "compress-dsn3" 7115 | } 7116 | 7117 | ###add two extra convs following DSS### 7118 | layer { name: 'conv1-dsn2' type: "Convolution" bottom: 'conv1' top: 'conv1-dsn2' 7119 | param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} 7120 | convolution_param { engine: CAFFE num_output: 128 pad: 1 kernel_size: 3 7121 | weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } 7122 | layer { bottom: 'conv1-dsn2' top: 'conv1-dsn2' name: 'relu1-dsn2' type: "ReLU" } 7123 | layer { name: 'conv2-dsn2' type: "Convolution" bottom: 'conv1-dsn2' top: 'conv2-dsn2' 7124 | param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} 7125 | convolution_param { engine: CAFFE num_output: 128 pad: 1 kernel_size: 3 7126 | weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } 7127 | layer { bottom: 'conv2-dsn2' top: 'conv2-dsn2' name: 'relu2-dsn2' type: "ReLU" } 7128 | layer { 7129 | name: "compress-dsn2" 7130 | type: "Convolution" 7131 | bottom: "conv2-dsn2" 7132 | top: "compress-dsn2" 7133 | 7134 | param { 7135 | lr_mult: 1 7136 | decay_mult: 1 7137 | } 7138 | param { 7139 | lr_mult: 2 7140 | decay_mult: 0 7141 | } 7142 | convolution_param { 7143 | num_output: 64 7144 | pad: 1 7145 | kernel_size: 3 7146 | weight_filler { 7147 | type: "gaussian" 7148 | std: 0.01 7149 | } 7150 | bias_filler { 7151 | type: "constant" 7152 | value: 0 7153 | } 7154 | } 7155 | } 7156 | layer { 7157 | name: "compress2_relu" 7158 | type: "ReLU" 7159 | bottom: "compress-dsn2" 7160 | top: "compress-dsn2" 7161 | } 7162 | 7163 | ###add two extra convs following DSS### 7164 | layer { 7165 | name: "conv1_1" 7166 | type: "Convolution" 7167 | bottom: "image_and_depth" 7168 | top: "conv1_1" 7169 | param { 7170 | lr_mult: 1 7171 | decay_mult: 1 7172 | } 7173 | param { 7174 | lr_mult: 2 7175 | decay_mult: 0 7176 | } 7177 | convolution_param { 7178 | num_output: 64 7179 | pad: 1 7180 | kernel_size: 3 7181 | engine: CAFFE 7182 | } 7183 | } 7184 | layer { 7185 | name: "relu1_1" 7186 | type: "ReLU" 7187 | bottom: "conv1_1" 7188 | top: "conv1_1" 7189 | } 7190 | layer { 7191 | name: "conv1_2" 7192 | type: "Convolution" 7193 | bottom: "conv1_1" 7194 | top: "conv1_2" 7195 | param { 7196 | lr_mult: 1 7197 | decay_mult: 1 7198 | } 7199 | param { 7200 | lr_mult: 2 7201 | decay_mult: 0 7202 | } 7203 | convolution_param { 7204 | num_output: 64 7205 | pad: 1 7206 | kernel_size: 3 7207 | engine: CAFFE 7208 | } 7209 | } 7210 | layer { 7211 | name: "relu1_2" 7212 | type: "ReLU" 7213 | bottom: "conv1_2" 7214 | top: "conv1_2" 7215 | } 7216 | 7217 | ############################branch 1################################ 7218 | layer { 7219 | name: "conv1-dsn1" 7220 | type: "Convolution" 7221 | bottom: "conv1_2" 7222 | top: "conv1-dsn1" 7223 | propagate_down: 0 7224 | param { 7225 | lr_mult: 1 7226 | decay_mult: 1 7227 | } 7228 | param { 7229 | lr_mult: 2 7230 | decay_mult: 0 7231 | } 7232 | convolution_param { 7233 | num_output: 128 7234 | pad: 1 7235 | kernel_size: 3 7236 | weight_filler { 7237 | type: "gaussian" 7238 | std: 0.01 7239 | } 7240 | bias_filler { 7241 | type: "constant" 7242 | value: 0 7243 | } 7244 | engine: CAFFE 7245 | } 7246 | } 7247 | layer { 7248 | name: "relu1-dsn1" 7249 | type: "ReLU" 7250 | bottom: "conv1-dsn1" 7251 | top: "conv1-dsn1" 7252 | } 7253 | layer { 7254 | name: "conv2-dsn1" 7255 | type: "Convolution" 7256 | bottom: "conv1-dsn1" 7257 | top: "conv2-dsn1" 7258 | param { 7259 | lr_mult: 1 7260 | decay_mult: 1 7261 | } 7262 | param { 7263 | lr_mult: 2 7264 | decay_mult: 0 7265 | } 7266 | convolution_param { 7267 | num_output: 128 7268 | pad: 1 7269 | kernel_size: 3 7270 | weight_filler { 7271 | type: "gaussian" 7272 | std: 0.01 7273 | } 7274 | bias_filler { 7275 | type: "constant" 7276 | value: 0 7277 | } 7278 | engine: CAFFE 7279 | } 7280 | } 7281 | layer { 7282 | name: "relu2-dsn1" 7283 | type: "ReLU" 7284 | bottom: "conv2-dsn1" 7285 | top: "conv2-dsn1" 7286 | } 7287 | layer { 7288 | name: "compress-dsn1" 7289 | type: "Convolution" 7290 | bottom: "conv2-dsn1" 7291 | top: "compress-dsn1" 7292 | 7293 | param { 7294 | lr_mult: 1 7295 | decay_mult: 1 7296 | } 7297 | param { 7298 | lr_mult: 2 7299 | decay_mult: 0 7300 | } 7301 | convolution_param { 7302 | num_output: 64 7303 | pad: 1 7304 | kernel_size: 3 7305 | weight_filler { 7306 | type: "gaussian" 7307 | std: 0.01 7308 | } 7309 | bias_filler { 7310 | type: "constant" 7311 | value: 0 7312 | } 7313 | } 7314 | } 7315 | layer { 7316 | name: "compress1_relu" 7317 | type: "ReLU" 7318 | bottom: "compress-dsn1" 7319 | top: "compress-dsn1" 7320 | } 7321 | 7322 | #######################DCF start########################### 7323 | layer { 7324 | name: "compress-dsn6_slice" 7325 | type: "Slice" 7326 | bottom: "compress-dsn6" 7327 | top: "compress-dsn6_rbg" 7328 | top: "compress-dsn6_depth" 7329 | slice_param { 7330 | slice_dim: 0 7331 | } 7332 | } 7333 | layer { 7334 | name: "compress-dsn6_concat1" 7335 | bottom: "compress-dsn6_rbg" 7336 | bottom: "compress-dsn6_depth" 7337 | top: "compress-dsn6_concat1" 7338 | type: "Eltwise" 7339 | eltwise_param { 7340 | operation: SUM 7341 | } 7342 | } 7343 | layer { 7344 | name: "compress-dsn6_concat2" 7345 | bottom: "compress-dsn6_rbg" 7346 | bottom: "compress-dsn6_depth" 7347 | top: "compress-dsn6_concat2" 7348 | type: "Eltwise" 7349 | eltwise_param { 7350 | operation: PROD 7351 | } 7352 | } 7353 | layer { 7354 | name: "compress-dsn6_concat" 7355 | bottom: "compress-dsn6_concat1" 7356 | bottom: "compress-dsn6_concat2" 7357 | top: "compress-dsn6_concat" 7358 | type: "Eltwise" 7359 | eltwise_param { 7360 | operation: SUM 7361 | } 7362 | } 7363 | 7364 | layer { 7365 | name: "compress-dsn5_slice" 7366 | type: "Slice" 7367 | bottom: "compress-dsn5" 7368 | top: "compress-dsn5_rbg" 7369 | top: "compress-dsn5_depth" 7370 | slice_param { 7371 | slice_dim: 0 7372 | } 7373 | } 7374 | layer { 7375 | name: "compress-dsn5_concat1" 7376 | bottom: "compress-dsn5_rbg" 7377 | bottom: "compress-dsn5_depth" 7378 | top: "compress-dsn5_concat1" 7379 | type: "Eltwise" 7380 | eltwise_param { 7381 | operation: SUM 7382 | } 7383 | } 7384 | layer { 7385 | name: "compress-dsn5_concat2" 7386 | bottom: "compress-dsn5_rbg" 7387 | bottom: "compress-dsn5_depth" 7388 | top: "compress-dsn5_concat2" 7389 | type: "Eltwise" 7390 | eltwise_param { 7391 | operation: PROD 7392 | } 7393 | } 7394 | layer { 7395 | name: "compress-dsn5_concat" 7396 | bottom: "compress-dsn5_concat1" 7397 | bottom: "compress-dsn5_concat2" 7398 | top: "compress-dsn5_concat" 7399 | type: "Eltwise" 7400 | eltwise_param { 7401 | operation: SUM 7402 | } 7403 | } 7404 | 7405 | layer 7406 | { 7407 | name: "aggregation5_pre_concat" 7408 | type: "Eltwise" 7409 | bottom: "compress-dsn6_concat" 7410 | bottom: "compress-dsn5_concat" 7411 | top: "aggregation5_pre_concat" 7412 | eltwise_param { 7413 | operation: SUM 7414 | } 7415 | } 7416 | 7417 | layer { 7418 | name: "aggregation5/1x1" 7419 | type: "Convolution" 7420 | bottom: "aggregation5_pre_concat" 7421 | top: "aggregation5/1x1" 7422 | param { 7423 | lr_mult: 1 7424 | decay_mult: 1 7425 | } 7426 | param { 7427 | lr_mult: 2 7428 | decay_mult: 0 7429 | } 7430 | convolution_param { 7431 | num_output: 16 7432 | kernel_size: 1 7433 | weight_filler { 7434 | type: "gaussian" 7435 | std: 0.01 7436 | } 7437 | bias_filler { 7438 | type: "constant" 7439 | value: 0 7440 | } 7441 | } 7442 | } 7443 | layer { 7444 | name: "aggregation5/relu_1x1" 7445 | type: "ReLU" 7446 | bottom: "aggregation5/1x1" 7447 | top: "aggregation5/1x1" 7448 | } 7449 | layer { 7450 | name: "aggregation5/3x3_reduce" 7451 | type: "Convolution" 7452 | bottom: "aggregation5_pre_concat" 7453 | top: "aggregation5/3x3_reduce" 7454 | param { 7455 | lr_mult: 1 7456 | decay_mult: 1 7457 | } 7458 | param { 7459 | lr_mult: 2 7460 | decay_mult: 0 7461 | } 7462 | convolution_param { 7463 | num_output: 32 7464 | kernel_size: 1 7465 | weight_filler { 7466 | type: "gaussian" 7467 | std: 0.01 7468 | } 7469 | bias_filler { 7470 | type: "constant" 7471 | value: 0 7472 | } 7473 | } 7474 | } 7475 | layer { 7476 | name: "aggregation5/relu_3x3_reduce" 7477 | type: "ReLU" 7478 | bottom: "aggregation5/3x3_reduce" 7479 | top: "aggregation5/3x3_reduce" 7480 | } 7481 | layer { 7482 | name: "aggregation5/3x3" 7483 | type: "Convolution" 7484 | bottom: "aggregation5/3x3_reduce" 7485 | top: "aggregation5/3x3" 7486 | param { 7487 | lr_mult: 1 7488 | decay_mult: 1 7489 | } 7490 | param { 7491 | lr_mult: 2 7492 | decay_mult: 0 7493 | } 7494 | convolution_param { 7495 | num_output: 16 7496 | pad: 1 7497 | kernel_size: 3 7498 | weight_filler { 7499 | type: "gaussian" 7500 | std: 0.01 7501 | } 7502 | bias_filler { 7503 | type: "constant" 7504 | value: 0 7505 | } 7506 | } 7507 | } 7508 | layer { 7509 | name: "aggregation5/relu_3x3" 7510 | type: "ReLU" 7511 | bottom: "aggregation5/3x3" 7512 | top: "aggregation5/3x3" 7513 | } 7514 | layer { 7515 | name: "aggregation5/5x5_reduce" 7516 | type: "Convolution" 7517 | bottom: "aggregation5_pre_concat" 7518 | top: "aggregation5/5x5_reduce" 7519 | param { 7520 | lr_mult: 1 7521 | decay_mult: 1 7522 | } 7523 | param { 7524 | lr_mult: 2 7525 | decay_mult: 0 7526 | } 7527 | convolution_param { 7528 | num_output: 16 7529 | kernel_size: 1 7530 | weight_filler { 7531 | type: "gaussian" 7532 | std: 0.01 7533 | } 7534 | bias_filler { 7535 | type: "constant" 7536 | value: 0 7537 | } 7538 | } 7539 | } 7540 | layer { 7541 | name: "aggregation5/relu_5x5_reduce" 7542 | type: "ReLU" 7543 | bottom: "aggregation5/5x5_reduce" 7544 | top: "aggregation5/5x5_reduce" 7545 | } 7546 | layer { 7547 | name: "aggregation5/5x5" 7548 | type: "Convolution" 7549 | bottom: "aggregation5/5x5_reduce" 7550 | top: "aggregation5/5x5" 7551 | param { 7552 | lr_mult: 1 7553 | decay_mult: 1 7554 | } 7555 | param { 7556 | lr_mult: 2 7557 | decay_mult: 0 7558 | } 7559 | convolution_param { 7560 | num_output: 16 7561 | pad: 2 7562 | kernel_size: 5 7563 | weight_filler { 7564 | type: "gaussian" 7565 | std: 0.01 7566 | } 7567 | bias_filler { 7568 | type: "constant" 7569 | value: 0 7570 | } 7571 | } 7572 | } 7573 | layer { 7574 | name: "aggregation5/relu_5x5" 7575 | type: "ReLU" 7576 | bottom: "aggregation5/5x5" 7577 | top: "aggregation5/5x5" 7578 | } 7579 | layer { 7580 | name: "aggregation5/pool" 7581 | type: "Pooling" 7582 | bottom: "aggregation5_pre_concat" 7583 | top: "aggregation5/pool" 7584 | pooling_param { 7585 | pool: MAX 7586 | kernel_size: 3 7587 | stride: 1 7588 | pad: 1 7589 | } 7590 | } 7591 | layer { 7592 | name: "aggregation5/pool_proj" 7593 | type: "Convolution" 7594 | bottom: "aggregation5/pool" 7595 | top: "aggregation5/pool_proj" 7596 | param { 7597 | lr_mult: 1 7598 | decay_mult: 1 7599 | } 7600 | param { 7601 | lr_mult: 2 7602 | decay_mult: 0 7603 | } 7604 | convolution_param { 7605 | num_output: 16 7606 | kernel_size: 1 7607 | weight_filler { 7608 | type: "gaussian" 7609 | std: 0.01 7610 | } 7611 | bias_filler { 7612 | type: "constant" 7613 | value: 0 7614 | } 7615 | } 7616 | } 7617 | layer { 7618 | name: "aggregation5/relu_pool_proj" 7619 | type: "ReLU" 7620 | bottom: "aggregation5/pool_proj" 7621 | top: "aggregation5/pool_proj" 7622 | } 7623 | layer { 7624 | name: "aggregation5/output" 7625 | type: "Concat" 7626 | bottom: "aggregation5/1x1" 7627 | bottom: "aggregation5/3x3" 7628 | bottom: "aggregation5/5x5" 7629 | bottom: "aggregation5/pool_proj" 7630 | top: "aggregation5" 7631 | } 7632 | 7633 | layer { 7634 | name: "aggregation5_upx2_new" 7635 | type: "Deconvolution" 7636 | bottom: "aggregation5" 7637 | top: "aggregation5_upx2" 7638 | param { 7639 | lr_mult: 0 7640 | decay_mult: 0 7641 | } 7642 | convolution_param { 7643 | num_output: 64 7644 | group: 64 7645 | kernel_size: 4 7646 | stride: 2 7647 | pad: 1 7648 | weight_filler { 7649 | type: "bilinear" 7650 | } 7651 | bias_term: false 7652 | } 7653 | } 7654 | layer { 7655 | name: "aggregation5_upx4_new" 7656 | type: "Deconvolution" 7657 | bottom: "aggregation5" 7658 | top: "aggregation5_upx4" 7659 | param { 7660 | lr_mult: 0 7661 | decay_mult: 0 7662 | } 7663 | convolution_param { 7664 | num_output: 64 7665 | group: 64 7666 | kernel_size: 8 7667 | stride: 4 7668 | pad: 2 7669 | weight_filler { 7670 | type: "bilinear" 7671 | } 7672 | bias_term: false 7673 | } 7674 | } 7675 | layer { 7676 | name: "aggregation5_upx8_new" 7677 | type: "Deconvolution" 7678 | bottom: "aggregation5" 7679 | top: "aggregation5_upx8" 7680 | param { 7681 | lr_mult: 0 7682 | decay_mult: 0 7683 | } 7684 | convolution_param { 7685 | num_output: 64 7686 | group: 64 7687 | kernel_size: 16 7688 | stride: 8 7689 | pad: 4 7690 | weight_filler { 7691 | type: "bilinear" 7692 | } 7693 | bias_term: false 7694 | } 7695 | } 7696 | layer { 7697 | name: "aggregation5_upx16_new" 7698 | type: "Deconvolution" 7699 | bottom: "aggregation5" 7700 | top: "aggregation5_upx16" 7701 | param { 7702 | lr_mult: 0 7703 | decay_mult: 0 7704 | } 7705 | convolution_param { 7706 | num_output: 64 7707 | group: 64 7708 | kernel_size: 32 7709 | stride: 16 7710 | pad: 8 7711 | weight_filler { 7712 | type: "bilinear" 7713 | } 7714 | bias_term: false 7715 | } 7716 | } 7717 | 7718 | layer { 7719 | name: "compress-dsn4_slice" 7720 | type: "Slice" 7721 | bottom: "compress-dsn4" 7722 | top: "compress-dsn4_rbg" 7723 | top: "compress-dsn4_depth" 7724 | slice_param { 7725 | slice_dim: 0 7726 | } 7727 | } 7728 | 7729 | layer { 7730 | name: "compress-dsn4_concat1" 7731 | bottom: "compress-dsn4_rbg" 7732 | bottom: "compress-dsn4_depth" 7733 | top: "compress-dsn4_concat1" 7734 | type: "Eltwise" 7735 | eltwise_param { 7736 | operation: SUM 7737 | } 7738 | } 7739 | layer { 7740 | name: "compress-dsn4_concat2" 7741 | bottom: "compress-dsn4_rbg" 7742 | bottom: "compress-dsn4_depth" 7743 | top: "compress-dsn4_concat2" 7744 | type: "Eltwise" 7745 | eltwise_param { 7746 | operation: PROD 7747 | } 7748 | } 7749 | layer { 7750 | name: "compress-dsn4_concat" 7751 | bottom: "compress-dsn4_concat1" 7752 | bottom: "compress-dsn4_concat2" 7753 | top: "compress-dsn4_concat" 7754 | type: "Eltwise" 7755 | eltwise_param { 7756 | operation: SUM 7757 | } 7758 | } 7759 | 7760 | layer 7761 | { 7762 | name: "aggregation4_pre" 7763 | type: "Eltwise" 7764 | bottom: "aggregation5_upx2" 7765 | bottom: "compress-dsn4_concat" 7766 | top: "aggregation4_pre" 7767 | eltwise_param { 7768 | operation: SUM 7769 | } 7770 | } 7771 | 7772 | layer { 7773 | name: "aggregation4/1x1" 7774 | type: "Convolution" 7775 | bottom: "aggregation4_pre" 7776 | top: "aggregation4/1x1" 7777 | param { 7778 | lr_mult: 1 7779 | decay_mult: 1 7780 | } 7781 | param { 7782 | lr_mult: 2 7783 | decay_mult: 0 7784 | } 7785 | convolution_param { 7786 | num_output: 16 7787 | kernel_size: 1 7788 | weight_filler { 7789 | type: "gaussian" 7790 | std: 0.01 7791 | } 7792 | bias_filler { 7793 | type: "constant" 7794 | value: 0 7795 | } 7796 | } 7797 | } 7798 | layer { 7799 | name: "aggregation4/relu_1x1" 7800 | type: "ReLU" 7801 | bottom: "aggregation4/1x1" 7802 | top: "aggregation4/1x1" 7803 | } 7804 | layer { 7805 | name: "aggregation4/3x3_reduce" 7806 | type: "Convolution" 7807 | bottom: "aggregation4_pre" 7808 | top: "aggregation4/3x3_reduce" 7809 | param { 7810 | lr_mult: 1 7811 | decay_mult: 1 7812 | } 7813 | param { 7814 | lr_mult: 2 7815 | decay_mult: 0 7816 | } 7817 | convolution_param { 7818 | num_output: 32 7819 | kernel_size: 1 7820 | weight_filler { 7821 | type: "gaussian" 7822 | std: 0.01 7823 | } 7824 | bias_filler { 7825 | type: "constant" 7826 | value: 0 7827 | } 7828 | } 7829 | } 7830 | layer { 7831 | name: "aggregation4/relu_3x3_reduce" 7832 | type: "ReLU" 7833 | bottom: "aggregation4/3x3_reduce" 7834 | top: "aggregation4/3x3_reduce" 7835 | } 7836 | layer { 7837 | name: "aggregation4/3x3" 7838 | type: "Convolution" 7839 | bottom: "aggregation4/3x3_reduce" 7840 | top: "aggregation4/3x3" 7841 | param { 7842 | lr_mult: 1 7843 | decay_mult: 1 7844 | } 7845 | param { 7846 | lr_mult: 2 7847 | decay_mult: 0 7848 | } 7849 | convolution_param { 7850 | num_output: 16 7851 | pad: 1 7852 | kernel_size: 3 7853 | weight_filler { 7854 | type: "gaussian" 7855 | std: 0.01 7856 | } 7857 | bias_filler { 7858 | type: "constant" 7859 | value: 0 7860 | } 7861 | } 7862 | } 7863 | layer { 7864 | name: "aggregation4/relu_3x3" 7865 | type: "ReLU" 7866 | bottom: "aggregation4/3x3" 7867 | top: "aggregation4/3x3" 7868 | } 7869 | layer { 7870 | name: "aggregation4/5x5_reduce" 7871 | type: "Convolution" 7872 | bottom: "aggregation4_pre" 7873 | top: "aggregation4/5x5_reduce" 7874 | param { 7875 | lr_mult: 1 7876 | decay_mult: 1 7877 | } 7878 | param { 7879 | lr_mult: 2 7880 | decay_mult: 0 7881 | } 7882 | convolution_param { 7883 | num_output: 16 7884 | kernel_size: 1 7885 | weight_filler { 7886 | type: "gaussian" 7887 | std: 0.01 7888 | } 7889 | bias_filler { 7890 | type: "constant" 7891 | value: 0 7892 | } 7893 | } 7894 | } 7895 | layer { 7896 | name: "aggregation4/relu_5x5_reduce" 7897 | type: "ReLU" 7898 | bottom: "aggregation4/5x5_reduce" 7899 | top: "aggregation4/5x5_reduce" 7900 | } 7901 | layer { 7902 | name: "aggregation4/5x5" 7903 | type: "Convolution" 7904 | bottom: "aggregation4/5x5_reduce" 7905 | top: "aggregation4/5x5" 7906 | param { 7907 | lr_mult: 1 7908 | decay_mult: 1 7909 | } 7910 | param { 7911 | lr_mult: 2 7912 | decay_mult: 0 7913 | } 7914 | convolution_param { 7915 | num_output: 16 7916 | pad: 2 7917 | kernel_size: 5 7918 | weight_filler { 7919 | type: "gaussian" 7920 | std: 0.01 7921 | } 7922 | bias_filler { 7923 | type: "constant" 7924 | value: 0 7925 | } 7926 | } 7927 | } 7928 | layer { 7929 | name: "aggregation4/relu_5x5" 7930 | type: "ReLU" 7931 | bottom: "aggregation4/5x5" 7932 | top: "aggregation4/5x5" 7933 | } 7934 | layer { 7935 | name: "aggregation4/pool" 7936 | type: "Pooling" 7937 | bottom: "aggregation4_pre" 7938 | top: "aggregation4/pool" 7939 | pooling_param { 7940 | pool: MAX 7941 | kernel_size: 3 7942 | stride: 1 7943 | pad: 1 7944 | } 7945 | } 7946 | layer { 7947 | name: "aggregation4/pool_proj" 7948 | type: "Convolution" 7949 | bottom: "aggregation4/pool" 7950 | top: "aggregation4/pool_proj" 7951 | param { 7952 | lr_mult: 1 7953 | decay_mult: 1 7954 | } 7955 | param { 7956 | lr_mult: 2 7957 | decay_mult: 0 7958 | } 7959 | convolution_param { 7960 | num_output: 16 7961 | kernel_size: 1 7962 | weight_filler { 7963 | type: "gaussian" 7964 | std: 0.01 7965 | } 7966 | bias_filler { 7967 | type: "constant" 7968 | value: 0 7969 | } 7970 | } 7971 | } 7972 | layer { 7973 | name: "aggregation4/relu_pool_proj" 7974 | type: "ReLU" 7975 | bottom: "aggregation4/pool_proj" 7976 | top: "aggregation4/pool_proj" 7977 | } 7978 | layer { 7979 | name: "aggregation4/output" 7980 | type: "Concat" 7981 | bottom: "aggregation4/1x1" 7982 | bottom: "aggregation4/3x3" 7983 | bottom: "aggregation4/5x5" 7984 | bottom: "aggregation4/pool_proj" 7985 | top: "aggregation4" 7986 | } 7987 | 7988 | layer { 7989 | name: "aggregation4_upx2_new" 7990 | type: "Deconvolution" 7991 | bottom: "aggregation4" 7992 | top: "aggregation4_upx2" 7993 | param { 7994 | lr_mult: 0 7995 | decay_mult: 0 7996 | } 7997 | convolution_param { 7998 | num_output: 64 7999 | group: 64 8000 | kernel_size: 4 8001 | stride: 2 8002 | pad: 1 8003 | weight_filler { 8004 | type: "bilinear" 8005 | } 8006 | bias_term: false 8007 | } 8008 | } 8009 | layer { 8010 | name: "aggregation4_upx4_new" 8011 | type: "Deconvolution" 8012 | bottom: "aggregation4" 8013 | top: "aggregation4_upx4" 8014 | param { 8015 | lr_mult: 0 8016 | decay_mult: 0 8017 | } 8018 | convolution_param { 8019 | num_output: 64 8020 | group: 64 8021 | kernel_size: 8 8022 | stride: 4 8023 | pad: 2 8024 | weight_filler { 8025 | type: "bilinear" 8026 | } 8027 | bias_term: false 8028 | } 8029 | } 8030 | layer { 8031 | name: "aggregation4_upx8_new" 8032 | type: "Deconvolution" 8033 | bottom: "aggregation4" 8034 | top: "aggregation4_upx8" 8035 | param { 8036 | lr_mult: 0 8037 | decay_mult: 0 8038 | } 8039 | convolution_param { 8040 | num_output: 64 8041 | group: 64 8042 | kernel_size: 16 8043 | stride: 8 8044 | pad: 4 8045 | weight_filler { 8046 | type: "bilinear" 8047 | } 8048 | bias_term: false 8049 | } 8050 | } 8051 | 8052 | layer { 8053 | name: "compress-dsn3_slice" 8054 | type: "Slice" 8055 | bottom: "compress-dsn3" 8056 | top: "compress-dsn3_rbg" 8057 | top: "compress-dsn3_depth" 8058 | slice_param { 8059 | slice_dim: 0 8060 | } 8061 | } 8062 | 8063 | layer { 8064 | name: "compress-dsn3_concat1" 8065 | bottom: "compress-dsn3_rbg" 8066 | bottom: "compress-dsn3_depth" 8067 | top: "compress-dsn3_concat1" 8068 | type: "Eltwise" 8069 | eltwise_param { 8070 | operation: SUM 8071 | } 8072 | } 8073 | layer { 8074 | name: "compress-dsn3_concat2" 8075 | bottom: "compress-dsn3_rbg" 8076 | bottom: "compress-dsn3_depth" 8077 | top: "compress-dsn3_concat2" 8078 | type: "Eltwise" 8079 | eltwise_param { 8080 | operation: PROD 8081 | } 8082 | } 8083 | layer { 8084 | name: "compress-dsn3_concat" 8085 | bottom: "compress-dsn3_concat1" 8086 | bottom: "compress-dsn3_concat2" 8087 | top: "compress-dsn3_concat" 8088 | type: "Eltwise" 8089 | eltwise_param { 8090 | operation: SUM 8091 | } 8092 | } 8093 | 8094 | layer 8095 | { 8096 | name: "aggregation3_pre" 8097 | type: "Eltwise" 8098 | bottom: "aggregation4_upx2" 8099 | bottom: "aggregation5_upx4" 8100 | bottom: "compress-dsn3_concat" 8101 | top: "aggregation3_pre" 8102 | eltwise_param { 8103 | operation: SUM 8104 | } 8105 | } 8106 | 8107 | layer { 8108 | name: "aggregation3/1x1" 8109 | type: "Convolution" 8110 | bottom: "aggregation3_pre" 8111 | top: "aggregation3/1x1" 8112 | param { 8113 | lr_mult: 1 8114 | decay_mult: 1 8115 | } 8116 | param { 8117 | lr_mult: 2 8118 | decay_mult: 0 8119 | } 8120 | convolution_param { 8121 | num_output: 16 8122 | kernel_size: 1 8123 | weight_filler { 8124 | type: "gaussian" 8125 | std: 0.01 8126 | } 8127 | bias_filler { 8128 | type: "constant" 8129 | value: 0 8130 | } 8131 | } 8132 | } 8133 | layer { 8134 | name: "aggregation3/relu_1x1" 8135 | type: "ReLU" 8136 | bottom: "aggregation3/1x1" 8137 | top: "aggregation3/1x1" 8138 | } 8139 | layer { 8140 | name: "aggregation3/3x3_reduce" 8141 | type: "Convolution" 8142 | bottom: "aggregation3_pre" 8143 | top: "aggregation3/3x3_reduce" 8144 | param { 8145 | lr_mult: 1 8146 | decay_mult: 1 8147 | } 8148 | param { 8149 | lr_mult: 2 8150 | decay_mult: 0 8151 | } 8152 | convolution_param { 8153 | num_output: 32 8154 | kernel_size: 1 8155 | weight_filler { 8156 | type: "gaussian" 8157 | std: 0.01 8158 | } 8159 | bias_filler { 8160 | type: "constant" 8161 | value: 0 8162 | } 8163 | } 8164 | } 8165 | layer { 8166 | name: "aggregation3/relu_3x3_reduce" 8167 | type: "ReLU" 8168 | bottom: "aggregation3/3x3_reduce" 8169 | top: "aggregation3/3x3_reduce" 8170 | } 8171 | layer { 8172 | name: "aggregation3/3x3" 8173 | type: "Convolution" 8174 | bottom: "aggregation3/3x3_reduce" 8175 | top: "aggregation3/3x3" 8176 | param { 8177 | lr_mult: 1 8178 | decay_mult: 1 8179 | } 8180 | param { 8181 | lr_mult: 2 8182 | decay_mult: 0 8183 | } 8184 | convolution_param { 8185 | num_output: 16 8186 | pad: 1 8187 | kernel_size: 3 8188 | weight_filler { 8189 | type: "gaussian" 8190 | std: 0.01 8191 | } 8192 | bias_filler { 8193 | type: "constant" 8194 | value: 0 8195 | } 8196 | } 8197 | } 8198 | layer { 8199 | name: "aggregation3/relu_3x3" 8200 | type: "ReLU" 8201 | bottom: "aggregation3/3x3" 8202 | top: "aggregation3/3x3" 8203 | } 8204 | layer { 8205 | name: "aggregation3/5x5_reduce" 8206 | type: "Convolution" 8207 | bottom: "aggregation3_pre" 8208 | top: "aggregation3/5x5_reduce" 8209 | param { 8210 | lr_mult: 1 8211 | decay_mult: 1 8212 | } 8213 | param { 8214 | lr_mult: 2 8215 | decay_mult: 0 8216 | } 8217 | convolution_param { 8218 | num_output: 16 8219 | kernel_size: 1 8220 | weight_filler { 8221 | type: "gaussian" 8222 | std: 0.01 8223 | } 8224 | bias_filler { 8225 | type: "constant" 8226 | value: 0 8227 | } 8228 | } 8229 | } 8230 | layer { 8231 | name: "aggregation3/relu_5x5_reduce" 8232 | type: "ReLU" 8233 | bottom: "aggregation3/5x5_reduce" 8234 | top: "aggregation3/5x5_reduce" 8235 | } 8236 | layer { 8237 | name: "aggregation3/5x5" 8238 | type: "Convolution" 8239 | bottom: "aggregation3/5x5_reduce" 8240 | top: "aggregation3/5x5" 8241 | param { 8242 | lr_mult: 1 8243 | decay_mult: 1 8244 | } 8245 | param { 8246 | lr_mult: 2 8247 | decay_mult: 0 8248 | } 8249 | convolution_param { 8250 | num_output: 16 8251 | pad: 2 8252 | kernel_size: 5 8253 | weight_filler { 8254 | type: "gaussian" 8255 | std: 0.01 8256 | } 8257 | bias_filler { 8258 | type: "constant" 8259 | value: 0 8260 | } 8261 | } 8262 | } 8263 | layer { 8264 | name: "aggregation3/relu_5x5" 8265 | type: "ReLU" 8266 | bottom: "aggregation3/5x5" 8267 | top: "aggregation3/5x5" 8268 | } 8269 | layer { 8270 | name: "aggregation3/pool" 8271 | type: "Pooling" 8272 | bottom: "aggregation3_pre" 8273 | top: "aggregation3/pool" 8274 | pooling_param { 8275 | pool: MAX 8276 | kernel_size: 3 8277 | stride: 1 8278 | pad: 1 8279 | } 8280 | } 8281 | layer { 8282 | name: "aggregation3/pool_proj" 8283 | type: "Convolution" 8284 | bottom: "aggregation3/pool" 8285 | top: "aggregation3/pool_proj" 8286 | param { 8287 | lr_mult: 1 8288 | decay_mult: 1 8289 | } 8290 | param { 8291 | lr_mult: 2 8292 | decay_mult: 0 8293 | } 8294 | convolution_param { 8295 | num_output: 16 8296 | kernel_size: 1 8297 | weight_filler { 8298 | type: "gaussian" 8299 | std: 0.01 8300 | } 8301 | bias_filler { 8302 | type: "constant" 8303 | value: 0 8304 | } 8305 | } 8306 | } 8307 | layer { 8308 | name: "aggregation3/relu_pool_proj" 8309 | type: "ReLU" 8310 | bottom: "aggregation3/pool_proj" 8311 | top: "aggregation3/pool_proj" 8312 | } 8313 | layer { 8314 | name: "aggregation3/output" 8315 | type: "Concat" 8316 | bottom: "aggregation3/1x1" 8317 | bottom: "aggregation3/3x3" 8318 | bottom: "aggregation3/5x5" 8319 | bottom: "aggregation3/pool_proj" 8320 | top: "aggregation3" 8321 | } 8322 | 8323 | layer { 8324 | name: "aggregation3_upx2_new" 8325 | type: "Deconvolution" 8326 | bottom: "aggregation3" 8327 | top: "aggregation3_upx2" 8328 | param { 8329 | lr_mult: 0 8330 | decay_mult: 0 8331 | } 8332 | convolution_param { 8333 | num_output: 64 8334 | group: 64 8335 | kernel_size: 4 8336 | stride: 2 8337 | pad: 1 8338 | weight_filler { 8339 | type: "bilinear" 8340 | } 8341 | bias_term: false 8342 | } 8343 | } 8344 | layer { 8345 | name: "aggregation3_upx4_new" 8346 | type: "Deconvolution" 8347 | bottom: "aggregation3" 8348 | top: "aggregation3_upx4" 8349 | param { 8350 | lr_mult: 0 8351 | decay_mult: 0 8352 | } 8353 | convolution_param { 8354 | num_output: 64 8355 | group: 64 8356 | kernel_size: 8 8357 | stride: 4 8358 | pad: 2 8359 | weight_filler { 8360 | type: "bilinear" 8361 | } 8362 | bias_term: false 8363 | } 8364 | } 8365 | 8366 | layer { 8367 | name: "compress-dsn2_slice" 8368 | type: "Slice" 8369 | bottom: "compress-dsn2" 8370 | top: "compress-dsn2_rbg" 8371 | top: "compress-dsn2_depth" 8372 | slice_param { 8373 | slice_dim: 0 8374 | } 8375 | } 8376 | 8377 | layer { 8378 | name: "compress-dsn2_concat1" 8379 | bottom: "compress-dsn2_rbg" 8380 | bottom: "compress-dsn2_depth" 8381 | top: "compress-dsn2_concat1" 8382 | type: "Eltwise" 8383 | eltwise_param { 8384 | operation: SUM 8385 | } 8386 | } 8387 | layer { 8388 | name: "compress-dsn2_concat2" 8389 | bottom: "compress-dsn2_rbg" 8390 | bottom: "compress-dsn2_depth" 8391 | top: "compress-dsn2_concat2" 8392 | type: "Eltwise" 8393 | eltwise_param { 8394 | operation: PROD 8395 | } 8396 | } 8397 | layer { 8398 | name: "compress-dsn2_concat" 8399 | bottom: "compress-dsn2_concat1" 8400 | bottom: "compress-dsn2_concat2" 8401 | top: "compress-dsn2_concat" 8402 | type: "Eltwise" 8403 | eltwise_param { 8404 | operation: SUM 8405 | } 8406 | } 8407 | 8408 | layer 8409 | { 8410 | name: "aggregation2_pre" 8411 | type: "Eltwise" 8412 | bottom: "aggregation3_upx2" 8413 | bottom: "aggregation4_upx4" 8414 | bottom: "aggregation5_upx8" 8415 | bottom: "compress-dsn2_concat" 8416 | top: "aggregation2_pre" 8417 | eltwise_param { 8418 | operation: SUM 8419 | } 8420 | } 8421 | 8422 | 8423 | layer { 8424 | name: "aggregation2/1x1" 8425 | type: "Convolution" 8426 | bottom: "aggregation2_pre" 8427 | top: "aggregation2/1x1" 8428 | param { 8429 | lr_mult: 1 8430 | decay_mult: 1 8431 | } 8432 | param { 8433 | lr_mult: 2 8434 | decay_mult: 0 8435 | } 8436 | convolution_param { 8437 | num_output: 16 8438 | kernel_size: 1 8439 | weight_filler { 8440 | type: "gaussian" 8441 | std: 0.01 8442 | } 8443 | bias_filler { 8444 | type: "constant" 8445 | value: 0 8446 | } 8447 | } 8448 | } 8449 | layer { 8450 | name: "aggregation2/relu_1x1" 8451 | type: "ReLU" 8452 | bottom: "aggregation2/1x1" 8453 | top: "aggregation2/1x1" 8454 | } 8455 | layer { 8456 | name: "aggregation2/3x3_reduce" 8457 | type: "Convolution" 8458 | bottom: "aggregation2_pre" 8459 | top: "aggregation2/3x3_reduce" 8460 | param { 8461 | lr_mult: 1 8462 | decay_mult: 1 8463 | } 8464 | param { 8465 | lr_mult: 2 8466 | decay_mult: 0 8467 | } 8468 | convolution_param { 8469 | num_output: 32 8470 | kernel_size: 1 8471 | weight_filler { 8472 | type: "gaussian" 8473 | std: 0.01 8474 | } 8475 | bias_filler { 8476 | type: "constant" 8477 | value: 0 8478 | } 8479 | } 8480 | } 8481 | layer { 8482 | name: "aggregation2/relu_3x3_reduce" 8483 | type: "ReLU" 8484 | bottom: "aggregation2/3x3_reduce" 8485 | top: "aggregation2/3x3_reduce" 8486 | } 8487 | layer { 8488 | name: "aggregation2/3x3" 8489 | type: "Convolution" 8490 | bottom: "aggregation2/3x3_reduce" 8491 | top: "aggregation2/3x3" 8492 | param { 8493 | lr_mult: 1 8494 | decay_mult: 1 8495 | } 8496 | param { 8497 | lr_mult: 2 8498 | decay_mult: 0 8499 | } 8500 | convolution_param { 8501 | num_output: 16 8502 | pad: 1 8503 | kernel_size: 3 8504 | weight_filler { 8505 | type: "gaussian" 8506 | std: 0.01 8507 | } 8508 | bias_filler { 8509 | type: "constant" 8510 | value: 0 8511 | } 8512 | } 8513 | } 8514 | layer { 8515 | name: "aggregation2/relu_3x3" 8516 | type: "ReLU" 8517 | bottom: "aggregation2/3x3" 8518 | top: "aggregation2/3x3" 8519 | } 8520 | layer { 8521 | name: "aggregation2/5x5_reduce" 8522 | type: "Convolution" 8523 | bottom: "aggregation2_pre" 8524 | top: "aggregation2/5x5_reduce" 8525 | param { 8526 | lr_mult: 1 8527 | decay_mult: 1 8528 | } 8529 | param { 8530 | lr_mult: 2 8531 | decay_mult: 0 8532 | } 8533 | convolution_param { 8534 | num_output: 16 8535 | kernel_size: 1 8536 | weight_filler { 8537 | type: "gaussian" 8538 | std: 0.01 8539 | } 8540 | bias_filler { 8541 | type: "constant" 8542 | value: 0 8543 | } 8544 | } 8545 | } 8546 | layer { 8547 | name: "aggregation2/relu_5x5_reduce" 8548 | type: "ReLU" 8549 | bottom: "aggregation2/5x5_reduce" 8550 | top: "aggregation2/5x5_reduce" 8551 | } 8552 | layer { 8553 | name: "aggregation2/5x5" 8554 | type: "Convolution" 8555 | bottom: "aggregation2/5x5_reduce" 8556 | top: "aggregation2/5x5" 8557 | param { 8558 | lr_mult: 1 8559 | decay_mult: 1 8560 | } 8561 | param { 8562 | lr_mult: 2 8563 | decay_mult: 0 8564 | } 8565 | convolution_param { 8566 | num_output: 16 8567 | pad: 2 8568 | kernel_size: 5 8569 | weight_filler { 8570 | type: "gaussian" 8571 | std: 0.01 8572 | } 8573 | bias_filler { 8574 | type: "constant" 8575 | value: 0 8576 | } 8577 | } 8578 | } 8579 | layer { 8580 | name: "aggregation2/relu_5x5" 8581 | type: "ReLU" 8582 | bottom: "aggregation2/5x5" 8583 | top: "aggregation2/5x5" 8584 | } 8585 | layer { 8586 | name: "aggregation2/pool" 8587 | type: "Pooling" 8588 | bottom: "aggregation2_pre" 8589 | top: "aggregation2/pool" 8590 | pooling_param { 8591 | pool: MAX 8592 | kernel_size: 3 8593 | stride: 1 8594 | pad: 1 8595 | } 8596 | } 8597 | layer { 8598 | name: "aggregation2/pool_proj" 8599 | type: "Convolution" 8600 | bottom: "aggregation2/pool" 8601 | top: "aggregation2/pool_proj" 8602 | param { 8603 | lr_mult: 1 8604 | decay_mult: 1 8605 | } 8606 | param { 8607 | lr_mult: 2 8608 | decay_mult: 0 8609 | } 8610 | convolution_param { 8611 | num_output: 16 8612 | kernel_size: 1 8613 | weight_filler { 8614 | type: "gaussian" 8615 | std: 0.01 8616 | } 8617 | bias_filler { 8618 | type: "constant" 8619 | value: 0 8620 | } 8621 | } 8622 | } 8623 | layer { 8624 | name: "aggregation2/relu_pool_proj" 8625 | type: "ReLU" 8626 | bottom: "aggregation2/pool_proj" 8627 | top: "aggregation2/pool_proj" 8628 | } 8629 | layer { 8630 | name: "aggregation2/output" 8631 | type: "Concat" 8632 | bottom: "aggregation2/1x1" 8633 | bottom: "aggregation2/3x3" 8634 | bottom: "aggregation2/5x5" 8635 | bottom: "aggregation2/pool_proj" 8636 | top: "aggregation2" 8637 | } 8638 | 8639 | layer { 8640 | name: "aggregation2_upx2_new" 8641 | type: "Deconvolution" 8642 | bottom: "aggregation2" 8643 | top: "aggregation2_upx2" 8644 | param { 8645 | lr_mult: 0 8646 | decay_mult: 0 8647 | } 8648 | convolution_param { 8649 | num_output: 64 8650 | group: 64 8651 | kernel_size: 4 8652 | stride: 2 8653 | pad: 1 8654 | weight_filler { 8655 | type: "bilinear" 8656 | } 8657 | bias_term: false 8658 | } 8659 | } 8660 | 8661 | layer { 8662 | name: "compress-dsn1_slice" 8663 | type: "Slice" 8664 | bottom: "compress-dsn1" 8665 | top: "compress-dsn1_rbg" 8666 | top: "compress-dsn1_depth" 8667 | slice_param { 8668 | slice_dim: 0 8669 | } 8670 | } 8671 | 8672 | layer { 8673 | name: "compress-dsn1_concat1" 8674 | bottom: "compress-dsn1_rbg" 8675 | bottom: "compress-dsn1_depth" 8676 | top: "compress-dsn1_concat1" 8677 | type: "Eltwise" 8678 | eltwise_param { 8679 | operation: SUM 8680 | } 8681 | } 8682 | layer { 8683 | name: "compress-dsn1_concat2" 8684 | bottom: "compress-dsn1_rbg" 8685 | bottom: "compress-dsn1_depth" 8686 | top: "compress-dsn1_concat2" 8687 | type: "Eltwise" 8688 | eltwise_param { 8689 | operation: PROD 8690 | } 8691 | } 8692 | layer { 8693 | name: "compress-dsn1_concat" 8694 | bottom: "compress-dsn1_concat1" 8695 | bottom: "compress-dsn1_concat2" 8696 | top: "compress-dsn1_concat" 8697 | type: "Eltwise" 8698 | eltwise_param { 8699 | operation: SUM 8700 | } 8701 | } 8702 | 8703 | layer 8704 | { 8705 | name: "aggregation1_pre" 8706 | type: "Eltwise" 8707 | bottom: "aggregation2_upx2" 8708 | bottom: "aggregation3_upx4" 8709 | bottom: "aggregation4_upx8" 8710 | bottom: "aggregation5_upx16" 8711 | bottom: "compress-dsn1_concat" 8712 | top: "aggregation1_pre" 8713 | eltwise_param { 8714 | operation: SUM 8715 | } 8716 | } 8717 | 8718 | layer { 8719 | name: "aggregation1/1x1" 8720 | type: "Convolution" 8721 | bottom: "aggregation1_pre" 8722 | top: "aggregation1/1x1" 8723 | param { 8724 | lr_mult: 1 8725 | decay_mult: 1 8726 | } 8727 | param { 8728 | lr_mult: 2 8729 | decay_mult: 0 8730 | } 8731 | convolution_param { 8732 | num_output: 16 8733 | kernel_size: 1 8734 | weight_filler { 8735 | type: "gaussian" 8736 | std: 0.01 8737 | } 8738 | bias_filler { 8739 | type: "constant" 8740 | value: 0 8741 | } 8742 | } 8743 | } 8744 | layer { 8745 | name: "aggregation1/relu_1x1" 8746 | type: "ReLU" 8747 | bottom: "aggregation1/1x1" 8748 | top: "aggregation1/1x1" 8749 | } 8750 | layer { 8751 | name: "aggregation1/3x3_reduce" 8752 | type: "Convolution" 8753 | bottom: "aggregation1_pre" 8754 | top: "aggregation1/3x3_reduce" 8755 | param { 8756 | lr_mult: 1 8757 | decay_mult: 1 8758 | } 8759 | param { 8760 | lr_mult: 2 8761 | decay_mult: 0 8762 | } 8763 | convolution_param { 8764 | num_output: 32 8765 | kernel_size: 1 8766 | weight_filler { 8767 | type: "gaussian" 8768 | std: 0.01 8769 | } 8770 | bias_filler { 8771 | type: "constant" 8772 | value: 0 8773 | } 8774 | } 8775 | } 8776 | layer { 8777 | name: "aggregation1/relu_3x3_reduce" 8778 | type: "ReLU" 8779 | bottom: "aggregation1/3x3_reduce" 8780 | top: "aggregation1/3x3_reduce" 8781 | } 8782 | layer { 8783 | name: "aggregation1/3x3" 8784 | type: "Convolution" 8785 | bottom: "aggregation1/3x3_reduce" 8786 | top: "aggregation1/3x3" 8787 | param { 8788 | lr_mult: 1 8789 | decay_mult: 1 8790 | } 8791 | param { 8792 | lr_mult: 2 8793 | decay_mult: 0 8794 | } 8795 | convolution_param { 8796 | num_output: 16 8797 | pad: 1 8798 | kernel_size: 3 8799 | weight_filler { 8800 | type: "gaussian" 8801 | std: 0.01 8802 | } 8803 | bias_filler { 8804 | type: "constant" 8805 | value: 0 8806 | } 8807 | } 8808 | } 8809 | layer { 8810 | name: "aggregation1/relu_3x3" 8811 | type: "ReLU" 8812 | bottom: "aggregation1/3x3" 8813 | top: "aggregation1/3x3" 8814 | } 8815 | layer { 8816 | name: "aggregation1/5x5_reduce" 8817 | type: "Convolution" 8818 | bottom: "aggregation1_pre" 8819 | top: "aggregation1/5x5_reduce" 8820 | param { 8821 | lr_mult: 1 8822 | decay_mult: 1 8823 | } 8824 | param { 8825 | lr_mult: 2 8826 | decay_mult: 0 8827 | } 8828 | convolution_param { 8829 | num_output: 16 8830 | kernel_size: 1 8831 | weight_filler { 8832 | type: "gaussian" 8833 | std: 0.01 8834 | } 8835 | bias_filler { 8836 | type: "constant" 8837 | value: 0 8838 | } 8839 | } 8840 | } 8841 | layer { 8842 | name: "aggregation1/relu_5x5_reduce" 8843 | type: "ReLU" 8844 | bottom: "aggregation1/5x5_reduce" 8845 | top: "aggregation1/5x5_reduce" 8846 | } 8847 | layer { 8848 | name: "aggregation1/5x5" 8849 | type: "Convolution" 8850 | bottom: "aggregation1/5x5_reduce" 8851 | top: "aggregation1/5x5" 8852 | param { 8853 | lr_mult: 1 8854 | decay_mult: 1 8855 | } 8856 | param { 8857 | lr_mult: 2 8858 | decay_mult: 0 8859 | } 8860 | convolution_param { 8861 | num_output: 16 8862 | pad: 2 8863 | kernel_size: 5 8864 | weight_filler { 8865 | type: "gaussian" 8866 | std: 0.01 8867 | } 8868 | bias_filler { 8869 | type: "constant" 8870 | value: 0 8871 | } 8872 | } 8873 | } 8874 | layer { 8875 | name: "aggregation1/relu_5x5" 8876 | type: "ReLU" 8877 | bottom: "aggregation1/5x5" 8878 | top: "aggregation1/5x5" 8879 | } 8880 | layer { 8881 | name: "aggregation1/pool" 8882 | type: "Pooling" 8883 | bottom: "aggregation1_pre" 8884 | top: "aggregation1/pool" 8885 | pooling_param { 8886 | pool: MAX 8887 | kernel_size: 3 8888 | stride: 1 8889 | pad: 1 8890 | } 8891 | } 8892 | layer { 8893 | name: "aggregation1/pool_proj" 8894 | type: "Convolution" 8895 | bottom: "aggregation1/pool" 8896 | top: "aggregation1/pool_proj" 8897 | param { 8898 | lr_mult: 1 8899 | decay_mult: 1 8900 | } 8901 | param { 8902 | lr_mult: 2 8903 | decay_mult: 0 8904 | } 8905 | convolution_param { 8906 | num_output: 16 8907 | kernel_size: 1 8908 | weight_filler { 8909 | type: "gaussian" 8910 | std: 0.01 8911 | } 8912 | bias_filler { 8913 | type: "constant" 8914 | value: 0 8915 | } 8916 | } 8917 | } 8918 | layer { 8919 | name: "aggregation1/relu_pool_proj" 8920 | type: "ReLU" 8921 | bottom: "aggregation1/pool_proj" 8922 | top: "aggregation1/pool_proj" 8923 | } 8924 | layer { 8925 | name: "aggregation1/output" 8926 | type: "Concat" 8927 | bottom: "aggregation1/1x1" 8928 | bottom: "aggregation1/3x3" 8929 | bottom: "aggregation1/5x5" 8930 | bottom: "aggregation1/pool_proj" 8931 | top: "aggregation1" 8932 | } 8933 | 8934 | 8935 | 8936 | 8937 | layer { 8938 | name: "Output_mask_new" 8939 | type: "Convolution" 8940 | bottom: "aggregation1" 8941 | top: "output_mask" 8942 | param { 8943 | lr_mult: 1 8944 | decay_mult: 1 8945 | } 8946 | param { 8947 | lr_mult: 2 8948 | decay_mult: 0 8949 | } 8950 | convolution_param { 8951 | num_output: 1 8952 | kernel_size: 1 8953 | weight_filler { 8954 | type: "gaussian" 8955 | std: 0.01 8956 | } 8957 | bias_filler { 8958 | type: "constant" 8959 | value: 0 8960 | } 8961 | } 8962 | } 8963 | 8964 | 8965 | layer { 8966 | name: "sigmoid" 8967 | type: "Sigmoid" 8968 | bottom: "output_mask" 8969 | top: "final_fusion" 8970 | } 8971 | 8972 | ############global supervision############################# 8973 | layer { 8974 | name: "Output_global" 8975 | type: "Convolution" 8976 | bottom: "compress-dsn6" 8977 | top: "Output_global" 8978 | param { 8979 | lr_mult: 1 8980 | decay_mult: 1 8981 | } 8982 | param { 8983 | lr_mult: 2 8984 | decay_mult: 0 8985 | } 8986 | convolution_param { 8987 | num_output: 1 8988 | kernel_size: 1 8989 | weight_filler { 8990 | type: "gaussian" 8991 | std: 0.01 8992 | } 8993 | bias_filler { 8994 | type: "constant" 8995 | value: 0 8996 | } 8997 | } 8998 | } 8999 | 9000 | layer { 9001 | name: "sigmoid_global" 9002 | type: "Sigmoid" 9003 | bottom: "Output_global" 9004 | top: "sigmoid_global" 9005 | } 9006 | -------------------------------------------------------------------------------- /preprocessing.m: -------------------------------------------------------------------------------- 1 | 2 | function images = preprocessing(im,size_im) 3 | % resize to fixed input size 4 | im = single(im); 5 | % mean BGR pixel 6 | mean_pix = [104, 117, 123]; 7 | im = imresize(im, [size_im size_im]); 8 | % RGB -> BGR 9 | images = im(:, :, [3 2 1]); 10 | % mean BGR pixel subtraction 11 | for c = 1:3 12 | images(:, :, c) = images(:, :, c) - mean_pix(c); 13 | end 14 | % change x and y 15 | images=permute(images,[2 1 3]); -------------------------------------------------------------------------------- /results/RGBD_data_1_GT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/results/RGBD_data_1_GT.png -------------------------------------------------------------------------------- /results/RGBD_data_1_JLDCF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/results/RGBD_data_1_JLDCF.png -------------------------------------------------------------------------------- /results/RGBD_data_2_GT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/results/RGBD_data_2_GT.png -------------------------------------------------------------------------------- /results/RGBD_data_2_JLDCF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/results/RGBD_data_2_JLDCF.png -------------------------------------------------------------------------------- /results/RGBD_data_3_GT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/results/RGBD_data_3_GT.png -------------------------------------------------------------------------------- /results/RGBD_data_3_JLDCF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/results/RGBD_data_3_JLDCF.png -------------------------------------------------------------------------------- /results/RGBD_data_4_GT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/results/RGBD_data_4_GT.png -------------------------------------------------------------------------------- /results/RGBD_data_4_JLDCF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/results/RGBD_data_4_JLDCF.png -------------------------------------------------------------------------------- /results/RGBD_data_5_GT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/results/RGBD_data_5_GT.png -------------------------------------------------------------------------------- /results/RGBD_data_5_JLDCF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/results/RGBD_data_5_JLDCF.png -------------------------------------------------------------------------------- /test_images/RGBD_data_1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/test_images/RGBD_data_1.bmp -------------------------------------------------------------------------------- /test_images/RGBD_data_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/test_images/RGBD_data_1.jpg -------------------------------------------------------------------------------- /test_images/RGBD_data_2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/test_images/RGBD_data_2.bmp -------------------------------------------------------------------------------- /test_images/RGBD_data_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/test_images/RGBD_data_2.jpg -------------------------------------------------------------------------------- /test_images/RGBD_data_3.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/test_images/RGBD_data_3.bmp -------------------------------------------------------------------------------- /test_images/RGBD_data_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/test_images/RGBD_data_3.jpg -------------------------------------------------------------------------------- /test_images/RGBD_data_4.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/test_images/RGBD_data_4.bmp -------------------------------------------------------------------------------- /test_images/RGBD_data_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/test_images/RGBD_data_4.jpg -------------------------------------------------------------------------------- /test_images/RGBD_data_5.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/test_images/RGBD_data_5.bmp -------------------------------------------------------------------------------- /test_images/RGBD_data_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kerenfu/JLDCF/50d591133c3ca1438c0099489f524786cb6b4051/test_images/RGBD_data_5.jpg --------------------------------------------------------------------------------