专栏首页机器学习、深度学习语义分割--ParseNet: Looking Wider to See Better

语义分割--ParseNet: Looking Wider to See Better

ParseNet: Looking Wider to See Better ICLR2016 https://github.com/weiliu89/caffe/tree/fcn

本文主要在语义分割问题中引入 global context 信息来提升分割精度

首先指出 FCN 丢弃了全局信息 FCN disregards global information about an image, thus ignoring potentially useful scene-level semantic context

其他方法尝试引入更多的 context 信息,但是都比较复杂,计算量也比较大。

这里我们首先想到了 global context,毕竟在整体中看待局部问题更清晰 As for semantic segmentation, per pixel classification, is often ambiguous in the presence of only local information. However, the task becomes much simpler if contextual information, from the whole image, is available.

尽管在理论上网络的顶层特征具有很大的感受野,例如使用 VGG特征的 FCN 的 fc7 有 404 × 404 感受野。但是我们发现实际的感受野比这个小很多。这里我们使用了一个滑动随机噪声块的方法来确定合适的感受野。

To identify the effective receptive field, we slide a small patch of random noise across the input image, and measure the change in the activation of the desired layer. If the activation does not vary significantly, that suggests the given random patch is outside of the empirical receptive field

实际中我们是使用全局均值池化来得到 global context Specifically, we use global average pooling and pool the context features from the last layer or any layer if that is desired

有了 global context feature 和 FCN 中的 local feature map,这里需要把这两个特征融合,有两个选择:early fusion,late fusion,对应分类前融合,分类后融合。early fusion 相对简单一些。

考虑到将多个不同的 scale and norm 特征向量融合起来,这里需要做归一化,我们采用了 L2 norm layer

实验结果对比:

有帮助的情况

有负作用的情况

VGG 网络对应的实现

I0728 09:33:23.666250  9633 layer_factory.hpp:74] Creating layer data
I0728 09:33:23.666260  9633 net.cpp:91] Creating Layer data
I0728 09:33:23.666263  9633 net.cpp:369] data -> data
I0728 09:33:23.666270  9633 net.cpp:121] Setting up data
I0728 09:33:23.666308  9633 db.cpp:34] Opened lmdb examples/VOC2012ext/VOC2012ext_val_img_lmdb
I0728 09:33:23.666638  9633 data_layer.cpp:79] output data size: 1,3,500,375
I0728 09:33:23.666998  9633 net.cpp:128] Top shape: 1 3 500 375 (562500)
I0728 09:33:23.667004  9633 layer_factory.hpp:74] Creating layer data_data_0_split
I0728 09:33:23.667009  9633 net.cpp:91] Creating Layer data_data_0_split
I0728 09:33:23.667012  9633 net.cpp:411] data_data_0_split <- data
I0728 09:33:23.667016  9633 net.cpp:369] data_data_0_split -> data_data_0_split_0
I0728 09:33:23.667021  9633 net.cpp:369] data_data_0_split -> data_data_0_split_1
I0728 09:33:23.667026  9633 net.cpp:121] Setting up data_data_0_split
I0728 09:33:23.667032  9633 net.cpp:128] Top shape: 1 3 500 375 (562500)
I0728 09:33:23.667040  9633 net.cpp:128] Top shape: 1 3 500 375 (562500)
I0728 09:33:23.667042  9633 layer_factory.hpp:74] Creating layer label
I0728 09:33:23.667048  9633 net.cpp:91] Creating Layer label
I0728 09:33:23.667052  9633 net.cpp:369] label -> label
I0728 09:33:23.667057  9633 net.cpp:121] Setting up label
I0728 09:33:23.667083  9633 db.cpp:34] Opened lmdb examples/VOC2012ext/VOC2012ext_val_label_lmdb
I0728 09:33:23.667201  9633 data_layer.cpp:79] output data size: 1,1,500,375
I0728 09:33:23.667306  9633 net.cpp:128] Top shape: 1 1 500 375 (187500)
I0728 09:33:23.667320  9633 layer_factory.hpp:74] Creating layer conv1_1
I0728 09:33:23.667328  9633 net.cpp:91] Creating Layer conv1_1
I0728 09:33:23.667332  9633 net.cpp:411] conv1_1 <- data_data_0_split_0
I0728 09:33:23.667345  9633 net.cpp:369] conv1_1 -> conv1_1
I0728 09:33:23.667351  9633 net.cpp:121] Setting up conv1_1
I0728 09:33:23.667574  9633 net.cpp:128] Top shape: 1 64 500 375 (12000000)
I0728 09:33:23.667583  9633 layer_factory.hpp:74] Creating layer relu1_1
I0728 09:33:23.667588  9633 net.cpp:91] Creating Layer relu1_1
I0728 09:33:23.667592  9633 net.cpp:411] relu1_1 <- conv1_1
I0728 09:33:23.667598  9633 net.cpp:358] relu1_1 -> conv1_1 (in-place)
I0728 09:33:23.667601  9633 net.cpp:121] Setting up relu1_1
I0728 09:33:23.667604  9633 net.cpp:128] Top shape: 1 64 500 375 (12000000)
I0728 09:33:23.667606  9633 layer_factory.hpp:74] Creating layer conv1_2
I0728 09:33:23.667610  9633 net.cpp:91] Creating Layer conv1_2
I0728 09:33:23.667613  9633 net.cpp:411] conv1_2 <- conv1_1
I0728 09:33:23.667616  9633 net.cpp:369] conv1_2 -> conv1_2
I0728 09:33:23.667619  9633 net.cpp:121] Setting up conv1_2
I0728 09:33:23.667858  9633 net.cpp:128] Top shape: 1 64 500 375 (12000000)
I0728 09:33:23.667865  9633 layer_factory.hpp:74] Creating layer relu1_2
I0728 09:33:23.667867  9633 net.cpp:91] Creating Layer relu1_2
I0728 09:33:23.667870  9633 net.cpp:411] relu1_2 <- conv1_2
I0728 09:33:23.667874  9633 net.cpp:358] relu1_2 -> conv1_2 (in-place)
I0728 09:33:23.667878  9633 net.cpp:121] Setting up relu1_2
I0728 09:33:23.667882  9633 net.cpp:128] Top shape: 1 64 500 375 (12000000)
I0728 09:33:23.667887  9633 layer_factory.hpp:74] Creating layer pool1
I0728 09:33:23.667892  9633 net.cpp:91] Creating Layer pool1
I0728 09:33:23.667894  9633 net.cpp:411] pool1 <- conv1_2
I0728 09:33:23.667897  9633 net.cpp:369] pool1 -> pool1
I0728 09:33:23.667901  9633 net.cpp:121] Setting up pool1
I0728 09:33:23.667906  9633 net.cpp:128] Top shape: 1 64 250 188 (3008000)
I0728 09:33:23.667909  9633 layer_factory.hpp:74] Creating layer conv2_1
I0728 09:33:23.667914  9633 net.cpp:91] Creating Layer conv2_1
I0728 09:33:23.667917  9633 net.cpp:411] conv2_1 <- pool1
I0728 09:33:23.667929  9633 net.cpp:369] conv2_1 -> conv2_1
I0728 09:33:23.667932  9633 net.cpp:121] Setting up conv2_1
I0728 09:33:23.668062  9633 net.cpp:128] Top shape: 1 128 250 188 (6016000)
I0728 09:33:23.668067  9633 layer_factory.hpp:74] Creating layer relu2_1
I0728 09:33:23.668071  9633 net.cpp:91] Creating Layer relu2_1
I0728 09:33:23.668072  9633 net.cpp:411] relu2_1 <- conv2_1
I0728 09:33:23.668076  9633 net.cpp:358] relu2_1 -> conv2_1 (in-place)
I0728 09:33:23.668078  9633 net.cpp:121] Setting up relu2_1
I0728 09:33:23.668081  9633 net.cpp:128] Top shape: 1 128 250 188 (6016000)
I0728 09:33:23.668083  9633 layer_factory.hpp:74] Creating layer conv2_2
I0728 09:33:23.668087  9633 net.cpp:91] Creating Layer conv2_2
I0728 09:33:23.668089  9633 net.cpp:411] conv2_2 <- conv2_1
I0728 09:33:23.668092  9633 net.cpp:369] conv2_2 -> conv2_2
I0728 09:33:23.668097  9633 net.cpp:121] Setting up conv2_2
I0728 09:33:23.668298  9633 net.cpp:128] Top shape: 1 128 250 188 (6016000)
I0728 09:33:23.668303  9633 layer_factory.hpp:74] Creating layer relu2_2
I0728 09:33:23.668306  9633 net.cpp:91] Creating Layer relu2_2
I0728 09:33:23.668308  9633 net.cpp:411] relu2_2 <- conv2_2
I0728 09:33:23.668311  9633 net.cpp:358] relu2_2 -> conv2_2 (in-place)
I0728 09:33:23.668314  9633 net.cpp:121] Setting up relu2_2
I0728 09:33:23.668328  9633 net.cpp:128] Top shape: 1 128 250 188 (6016000)
I0728 09:33:23.668329  9633 layer_factory.hpp:74] Creating layer pool2
I0728 09:33:23.668334  9633 net.cpp:91] Creating Layer pool2
I0728 09:33:23.668335  9633 net.cpp:411] pool2 <- conv2_2
I0728 09:33:23.668339  9633 net.cpp:369] pool2 -> pool2
I0728 09:33:23.668342  9633 net.cpp:121] Setting up pool2
I0728 09:33:23.668346  9633 net.cpp:128] Top shape: 1 128 125 94 (1504000)
I0728 09:33:23.668349  9633 layer_factory.hpp:74] Creating layer conv3_1
I0728 09:33:23.668352  9633 net.cpp:91] Creating Layer conv3_1
I0728 09:33:23.668354  9633 net.cpp:411] conv3_1 <- pool2
I0728 09:33:23.668359  9633 net.cpp:369] conv3_1 -> conv3_1
I0728 09:33:23.668361  9633 net.cpp:121] Setting up conv3_1
I0728 09:33:23.668678  9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.668685  9633 layer_factory.hpp:74] Creating layer relu3_1
I0728 09:33:23.668689  9633 net.cpp:91] Creating Layer relu3_1
I0728 09:33:23.668691  9633 net.cpp:411] relu3_1 <- conv3_1
I0728 09:33:23.668695  9633 net.cpp:358] relu3_1 -> conv3_1 (in-place)
I0728 09:33:23.668699  9633 net.cpp:121] Setting up relu3_1
I0728 09:33:23.668701  9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.668704  9633 layer_factory.hpp:74] Creating layer conv3_2
I0728 09:33:23.668706  9633 net.cpp:91] Creating Layer conv3_2
I0728 09:33:23.668709  9633 net.cpp:411] conv3_2 <- conv3_1
I0728 09:33:23.668711  9633 net.cpp:369] conv3_2 -> conv3_2
I0728 09:33:23.668715  9633 net.cpp:121] Setting up conv3_2
I0728 09:33:23.669340  9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.669347  9633 layer_factory.hpp:74] Creating layer relu3_2
I0728 09:33:23.669351  9633 net.cpp:91] Creating Layer relu3_2
I0728 09:33:23.669353  9633 net.cpp:411] relu3_2 <- conv3_2
I0728 09:33:23.669356  9633 net.cpp:358] relu3_2 -> conv3_2 (in-place)
I0728 09:33:23.669359  9633 net.cpp:121] Setting up relu3_2
I0728 09:33:23.669363  9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.669364  9633 layer_factory.hpp:74] Creating layer conv3_3
I0728 09:33:23.669368  9633 net.cpp:91] Creating Layer conv3_3
I0728 09:33:23.669370  9633 net.cpp:411] conv3_3 <- conv3_2
I0728 09:33:23.669373  9633 net.cpp:369] conv3_3 -> conv3_3
I0728 09:33:23.669376  9633 net.cpp:121] Setting up conv3_3
I0728 09:33:23.669988  9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.669992  9633 layer_factory.hpp:74] Creating layer relu3_3
I0728 09:33:23.669996  9633 net.cpp:91] Creating Layer relu3_3
I0728 09:33:23.669998  9633 net.cpp:411] relu3_3 <- conv3_3
I0728 09:33:23.670001  9633 net.cpp:358] relu3_3 -> conv3_3 (in-place)
I0728 09:33:23.670003  9633 net.cpp:121] Setting up relu3_3
I0728 09:33:23.670006  9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.670008  9633 layer_factory.hpp:74] Creating layer pool3
I0728 09:33:23.670012  9633 net.cpp:91] Creating Layer pool3
I0728 09:33:23.670014  9633 net.cpp:411] pool3 <- conv3_3
I0728 09:33:23.670018  9633 net.cpp:369] pool3 -> pool3
I0728 09:33:23.670022  9633 net.cpp:121] Setting up pool3
I0728 09:33:23.670027  9633 net.cpp:128] Top shape: 1 256 63 47 (758016)
I0728 09:33:23.670028  9633 layer_factory.hpp:74] Creating layer conv4_1
I0728 09:33:23.670032  9633 net.cpp:91] Creating Layer conv4_1
I0728 09:33:23.670034  9633 net.cpp:411] conv4_1 <- pool3
I0728 09:33:23.670037  9633 net.cpp:369] conv4_1 -> conv4_1
I0728 09:33:23.670040  9633 net.cpp:121] Setting up conv4_1
I0728 09:33:23.671077  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.671087  9633 layer_factory.hpp:74] Creating layer relu4_1
I0728 09:33:23.671092  9633 net.cpp:91] Creating Layer relu4_1
I0728 09:33:23.671093  9633 net.cpp:411] relu4_1 <- conv4_1
I0728 09:33:23.671097  9633 net.cpp:358] relu4_1 -> conv4_1 (in-place)
I0728 09:33:23.671099  9633 net.cpp:121] Setting up relu4_1
I0728 09:33:23.671103  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.671104  9633 layer_factory.hpp:74] Creating layer conv4_2
I0728 09:33:23.671108  9633 net.cpp:91] Creating Layer conv4_2
I0728 09:33:23.671124  9633 net.cpp:411] conv4_2 <- conv4_1
I0728 09:33:23.671128  9633 net.cpp:369] conv4_2 -> conv4_2
I0728 09:33:23.671131  9633 net.cpp:121] Setting up conv4_2
I0728 09:33:23.672897  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.672919  9633 layer_factory.hpp:74] Creating layer relu4_2
I0728 09:33:23.672926  9633 net.cpp:91] Creating Layer relu4_2
I0728 09:33:23.672930  9633 net.cpp:411] relu4_2 <- conv4_2
I0728 09:33:23.672935  9633 net.cpp:358] relu4_2 -> conv4_2 (in-place)
I0728 09:33:23.672940  9633 net.cpp:121] Setting up relu4_2
I0728 09:33:23.672945  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.672946  9633 layer_factory.hpp:74] Creating layer conv4_3
I0728 09:33:23.672952  9633 net.cpp:91] Creating Layer conv4_3
I0728 09:33:23.672955  9633 net.cpp:411] conv4_3 <- conv4_2
I0728 09:33:23.672957  9633 net.cpp:369] conv4_3 -> conv4_3
I0728 09:33:23.672963  9633 net.cpp:121] Setting up conv4_3
I0728 09:33:23.675709  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.675727  9633 layer_factory.hpp:74] Creating layer relu4_3
I0728 09:33:23.675734  9633 net.cpp:91] Creating Layer relu4_3
I0728 09:33:23.675736  9633 net.cpp:411] relu4_3 <- conv4_3
I0728 09:33:23.675741  9633 net.cpp:358] relu4_3 -> conv4_3 (in-place)
I0728 09:33:23.675745  9633 net.cpp:121] Setting up relu4_3
I0728 09:33:23.675750  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.675751  9633 layer_factory.hpp:74] Creating layer pool4
I0728 09:33:23.675756  9633 net.cpp:91] Creating Layer pool4
I0728 09:33:23.675758  9633 net.cpp:411] pool4 <- conv4_3
I0728 09:33:23.675762  9633 net.cpp:369] pool4 -> pool4
I0728 09:33:23.675766  9633 net.cpp:121] Setting up pool4
I0728 09:33:23.675771  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.675773  9633 layer_factory.hpp:74] Creating layer conv5_1
I0728 09:33:23.675779  9633 net.cpp:91] Creating Layer conv5_1
I0728 09:33:23.675781  9633 net.cpp:411] conv5_1 <- pool4
I0728 09:33:23.675784  9633 net.cpp:369] conv5_1 -> conv5_1
I0728 09:33:23.675788  9633 net.cpp:121] Setting up conv5_1
I0728 09:33:23.677517  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.677533  9633 layer_factory.hpp:74] Creating layer relu5_1
I0728 09:33:23.677539  9633 net.cpp:91] Creating Layer relu5_1
I0728 09:33:23.677543  9633 net.cpp:411] relu5_1 <- conv5_1
I0728 09:33:23.677547  9633 net.cpp:358] relu5_1 -> conv5_1 (in-place)
I0728 09:33:23.677551  9633 net.cpp:121] Setting up relu5_1
I0728 09:33:23.677554  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.677556  9633 layer_factory.hpp:74] Creating layer conv5_2
I0728 09:33:23.677561  9633 net.cpp:91] Creating Layer conv5_2
I0728 09:33:23.677562  9633 net.cpp:411] conv5_2 <- conv5_1
I0728 09:33:23.677567  9633 net.cpp:369] conv5_2 -> conv5_2
I0728 09:33:23.677569  9633 net.cpp:121] Setting up conv5_2
I0728 09:33:23.680333  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.680363  9633 layer_factory.hpp:74] Creating layer relu5_2
I0728 09:33:23.680371  9633 net.cpp:91] Creating Layer relu5_2
I0728 09:33:23.680373  9633 net.cpp:411] relu5_2 <- conv5_2
I0728 09:33:23.680378  9633 net.cpp:358] relu5_2 -> conv5_2 (in-place)
I0728 09:33:23.680383  9633 net.cpp:121] Setting up relu5_2
I0728 09:33:23.680387  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.680389  9633 layer_factory.hpp:74] Creating layer conv5_3
I0728 09:33:23.680393  9633 net.cpp:91] Creating Layer conv5_3
I0728 09:33:23.680395  9633 net.cpp:411] conv5_3 <- conv5_2
I0728 09:33:23.680399  9633 net.cpp:369] conv5_3 -> conv5_3
I0728 09:33:23.680403  9633 net.cpp:121] Setting up conv5_3
I0728 09:33:23.682839  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.682864  9633 layer_factory.hpp:74] Creating layer relu5_3
I0728 09:33:23.682874  9633 net.cpp:91] Creating Layer relu5_3
I0728 09:33:23.682878  9633 net.cpp:411] relu5_3 <- conv5_3
I0728 09:33:23.682883  9633 net.cpp:358] relu5_3 -> conv5_3 (in-place)
I0728 09:33:23.682904  9633 net.cpp:121] Setting up relu5_3
I0728 09:33:23.682909  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.682911  9633 layer_factory.hpp:74] Creating layer pool5
I0728 09:33:23.682915  9633 net.cpp:91] Creating Layer pool5
I0728 09:33:23.682919  9633 net.cpp:411] pool5 <- conv5_3
I0728 09:33:23.682921  9633 net.cpp:369] pool5 -> pool5
I0728 09:33:23.682925  9633 net.cpp:121] Setting up pool5
I0728 09:33:23.682931  9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.682934  9633 layer_factory.hpp:74] Creating layer fc6
I0728 09:33:23.682938  9633 net.cpp:91] Creating Layer fc6
I0728 09:33:23.682941  9633 net.cpp:411] fc6 <- pool5
I0728 09:33:23.682945  9633 net.cpp:369] fc6 -> fc6
I0728 09:33:23.682950  9633 net.cpp:121] Setting up fc6
I0728 09:33:23.687371  9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.687388  9633 layer_factory.hpp:74] Creating layer relu6
I0728 09:33:23.687394  9633 net.cpp:91] Creating Layer relu6
I0728 09:33:23.687397  9633 net.cpp:411] relu6 <- fc6
I0728 09:33:23.687402  9633 net.cpp:358] relu6 -> fc6 (in-place)
I0728 09:33:23.687407  9633 net.cpp:121] Setting up relu6
I0728 09:33:23.687410  9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.687412  9633 layer_factory.hpp:74] Creating layer drop6
I0728 09:33:23.687417  9633 net.cpp:91] Creating Layer drop6
I0728 09:33:23.687419  9633 net.cpp:411] drop6 <- fc6
I0728 09:33:23.687422  9633 net.cpp:358] drop6 -> fc6 (in-place)
I0728 09:33:23.687425  9633 net.cpp:121] Setting up drop6
I0728 09:33:23.687429  9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.687432  9633 layer_factory.hpp:74] Creating layer fc7
I0728 09:33:23.687436  9633 net.cpp:91] Creating Layer fc7
I0728 09:33:23.687438  9633 net.cpp:411] fc7 <- fc6
I0728 09:33:23.687441  9633 net.cpp:369] fc7 -> fc7
I0728 09:33:23.687444  9633 net.cpp:121] Setting up fc7
I0728 09:33:23.688313  9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688318  9633 layer_factory.hpp:74] Creating layer relu7
I0728 09:33:23.688321  9633 net.cpp:91] Creating Layer relu7
I0728 09:33:23.688323  9633 net.cpp:411] relu7 <- fc7
I0728 09:33:23.688326  9633 net.cpp:358] relu7 -> fc7 (in-place)
I0728 09:33:23.688329  9633 net.cpp:121] Setting up relu7
I0728 09:33:23.688331  9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688334  9633 layer_factory.hpp:74] Creating layer drop7
I0728 09:33:23.688338  9633 net.cpp:91] Creating Layer drop7
I0728 09:33:23.688339  9633 net.cpp:411] drop7 <- fc7
I0728 09:33:23.688344  9633 net.cpp:358] drop7 -> fc7 (in-place)
I0728 09:33:23.688345  9633 net.cpp:121] Setting up drop7
I0728 09:33:23.688349  9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688351  9633 layer_factory.hpp:74] Creating layer fc7_drop7_0_split
I0728 09:33:23.688354  9633 net.cpp:91] Creating Layer fc7_drop7_0_split
I0728 09:33:23.688356  9633 net.cpp:411] fc7_drop7_0_split <- fc7
I0728 09:33:23.688359  9633 net.cpp:369] fc7_drop7_0_split -> fc7_drop7_0_split_0
I0728 09:33:23.688364  9633 net.cpp:369] fc7_drop7_0_split -> fc7_drop7_0_split_1
I0728 09:33:23.688367  9633 net.cpp:121] Setting up fc7_drop7_0_split
I0728 09:33:23.688370  9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688374  9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688375  9633 layer_factory.hpp:74] Creating layer fc7_norm
I0728 09:33:23.688381  9633 net.cpp:91] Creating Layer fc7_norm
I0728 09:33:23.688383  9633 net.cpp:411] fc7_norm <- fc7_drop7_0_split_0
I0728 09:33:23.688387  9633 net.cpp:369] fc7_norm -> fc7_norm
I0728 09:33:23.688391  9633 net.cpp:121] Setting up fc7_norm
I0728 09:33:23.688405  9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688407  9633 layer_factory.hpp:74] Creating layer pool6_1x1
I0728 09:33:23.688411  9633 net.cpp:91] Creating Layer pool6_1x1
I0728 09:33:23.688413  9633 net.cpp:411] pool6_1x1 <- fc7_drop7_0_split_1
I0728 09:33:23.688417  9633 net.cpp:369] pool6_1x1 -> pool6_1x1
I0728 09:33:23.688421  9633 net.cpp:121] Setting up pool6_1x1
I0728 09:33:23.688448  9633 net.cpp:128] Top shape: 1 1024 1 1 (1024)
I0728 09:33:23.688452  9633 layer_factory.hpp:74] Creating layer pool6_1x1_norm
I0728 09:33:23.688454  9633 net.cpp:91] Creating Layer pool6_1x1_norm
I0728 09:33:23.688457  9633 net.cpp:411] pool6_1x1_norm <- pool6_1x1
I0728 09:33:23.688460  9633 net.cpp:369] pool6_1x1_norm -> pool6_1x1_norm
I0728 09:33:23.688464  9633 net.cpp:121] Setting up pool6_1x1_norm
I0728 09:33:23.688473  9633 net.cpp:128] Top shape: 1 1024 1 1 (1024)
I0728 09:33:23.688477  9633 layer_factory.hpp:74] Creating layer pool6_1x1_norm_drop
I0728 09:33:23.688480  9633 net.cpp:91] Creating Layer pool6_1x1_norm_drop
I0728 09:33:23.688483  9633 net.cpp:411] pool6_1x1_norm_drop <- pool6_1x1_norm
I0728 09:33:23.688485  9633 net.cpp:358] pool6_1x1_norm_drop -> pool6_1x1_norm (in-place)
I0728 09:33:23.688489  9633 net.cpp:121] Setting up pool6_1x1_norm_drop
I0728 09:33:23.688493  9633 net.cpp:128] Top shape: 1 1024 1 1 (1024)
I0728 09:33:23.688495  9633 layer_factory.hpp:74] Creating layer fc7_norm_score21
I0728 09:33:23.688500  9633 net.cpp:91] Creating Layer fc7_norm_score21
I0728 09:33:23.688503  9633 net.cpp:411] fc7_norm_score21 <- fc7_norm
I0728 09:33:23.688505  9633 net.cpp:369] fc7_norm_score21 -> fc7_norm_score21
I0728 09:33:23.688509  9633 net.cpp:121] Setting up fc7_norm_score21
I0728 09:33:23.688671  9633 net.cpp:128] Top shape: 1 21 63 47 (62181)
I0728 09:33:23.688679  9633 layer_factory.hpp:74] Creating layer fc7_norm_score21_fc7_norm_score21_0_split
I0728 09:33:23.688683  9633 net.cpp:91] Creating Layer fc7_norm_score21_fc7_norm_score21_0_split
I0728 09:33:23.688685  9633 net.cpp:411] fc7_norm_score21_fc7_norm_score21_0_split <- fc7_norm_score21
I0728 09:33:23.688688  9633 net.cpp:369] fc7_norm_score21_fc7_norm_score21_0_split -> fc7_norm_score21_fc7_norm_score21_0_split_0
I0728 09:33:23.688693  9633 net.cpp:369] fc7_norm_score21_fc7_norm_score21_0_split -> fc7_norm_score21_fc7_norm_score21_0_split_1
I0728 09:33:23.688695  9633 net.cpp:121] Setting up fc7_norm_score21_fc7_norm_score21_0_split
I0728 09:33:23.688699  9633 net.cpp:128] Top shape: 1 21 63 47 (62181)
I0728 09:33:23.688702  9633 net.cpp:128] Top shape: 1 21 63 47 (62181)
I0728 09:33:23.688704  9633 layer_factory.hpp:74] Creating layer pool6_1x1_norm_score21
I0728 09:33:23.688709  9633 net.cpp:91] Creating Layer pool6_1x1_norm_score21
I0728 09:33:23.688712  9633 net.cpp:411] pool6_1x1_norm_score21 <- pool6_1x1_norm
I0728 09:33:23.688716  9633 net.cpp:369] pool6_1x1_norm_score21 -> pool6_1x1_norm_score21
I0728 09:33:23.688720  9633 net.cpp:121] Setting up pool6_1x1_norm_score21
I0728 09:33:23.688875  9633 net.cpp:128] Top shape: 1 21 1 1 (21)
I0728 09:33:23.688880  9633 layer_factory.hpp:74] Creating layer pool6_1x1_norm_upscore21
I0728 09:33:23.688885  9633 net.cpp:91] Creating Layer pool6_1x1_norm_upscore21
I0728 09:33:23.688889  9633 net.cpp:411] pool6_1x1_norm_upscore21 <- pool6_1x1_norm_score21
I0728 09:33:23.688890  9633 net.cpp:411] pool6_1x1_norm_upscore21 <- fc7_norm_score21_fc7_norm_score21_0_split_0
I0728 09:33:23.688894  9633 net.cpp:369] pool6_1x1_norm_upscore21 -> pool6_1x1_norm_upscore21
I0728 09:33:23.688897  9633 net.cpp:121] Setting up pool6_1x1_norm_upscore21
I0728 09:33:23.688910  9633 net.cpp:128] Top shape: 1 21 63 47 (62181)
I0728 09:33:23.688911  9633 layer_factory.hpp:74] Creating layer score21
I0728 09:33:23.688916  9633 net.cpp:91] Creating Layer score21
I0728 09:33:23.688918  9633 net.cpp:411] score21 <- pool6_1x1_norm_upscore21
I0728 09:33:23.688921  9633 net.cpp:411] score21 <- fc7_norm_score21_fc7_norm_score21_0_split_1
I0728 09:33:23.688925  9633 net.cpp:369] score21 -> score21
I0728 09:33:23.688930  9633 net.cpp:121] Setting up score21
I0728 09:33:23.688933  9633 net.cpp:128] Top shape: 1 21 63 47 (62181)
I0728 09:33:23.688935  9633 layer_factory.hpp:74] Creating layer upscore21
I0728 09:33:23.688940  9633 net.cpp:91] Creating Layer upscore21
I0728 09:33:23.688941  9633 net.cpp:411] upscore21 <- score21
I0728 09:33:23.688946  9633 net.cpp:369] upscore21 -> upscore21
I0728 09:33:23.688953  9633 net.cpp:121] Setting up upscore21
I0728 09:33:23.689322  9633 net.cpp:128] Top shape: 1 21 504 376 (3979584)
I0728 09:33:23.689327  9633 layer_factory.hpp:74] Creating layer score
I0728 09:33:23.689332  9633 net.cpp:91] Creating Layer score
I0728 09:33:23.689333  9633 net.cpp:411] score <- upscore21
I0728 09:33:23.689337  9633 net.cpp:411] score <- data_data_0_split_1
I0728 09:33:23.689340  9633 net.cpp:369] score -> score
I0728 09:33:23.689343  9633 net.cpp:121] Setting up score
I0728 09:33:23.689379  9633 net.cpp:128] Top shape: 1 21 500 375 (3937500)
I0728 09:33:23.689383  9633 layer_factory.hpp:74] Creating layer predlabel
I0728 09:33:23.689391  9633 net.cpp:91] Creating Layer predlabel
I0728 09:33:23.689393  9633 net.cpp:411] predlabel <- score
I0728 09:33:23.689396  9633 net.cpp:369] predlabel -> predlabel
I0728 09:33:23.689400  9633 net.cpp:121] Setting up predlabel
I0728 09:33:23.689405  9633 net.cpp:128] Top shape: 1 1 500 375 (187500)
I0728 09:33:23.689407  9633 layer_factory.hpp:74] Creating layer evaluation
I0728 09:33:23.689411  9633 net.cpp:91] Creating Layer evaluation
I0728 09:33:23.689414  9633 net.cpp:411] evaluation <- predlabel
I0728 09:33:23.689416  9633 net.cpp:411] evaluation <- label
I0728 09:33:23.689420  9633 net.cpp:369] evaluation -> evaluation
I0728 09:33:23.689424  9633 net.cpp:121] Setting up evaluation
I0728 09:33:23.689430  9633 net.cpp:128] Top shape: 1 21 1 3 (63)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 目标检测--Improving Object Detection With One Line of Code

    Improving Object Detection With One Line of Code https://arxiv.org/abs/1704.04...

    用户1148525
  • 目标检测--R-FCN: Object Detection via Region-based Fully Convolutional Networks

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1148525
  • 视频插值--Video Frame Interpolation via Adaptive Separable Convolution

    Video Frame Interpolation via Adaptive Separable Convolution ICCV2017 https:...

    用户1148525
  • 重新审视SqlDataReader的使用

          ADO.NET 1.x 利用SqlDataReader读取数据,针对每个结果集需要一个独立的连接。当然,你还必须管理这些连接并且要付出相应的内存和潜...

    张善友
  • Mysql语句的执行过程

    当你希望MySQL能够以更高的性能运行查询时,最好的办法是弄清楚MySQL是如何优化和执行查询。《高性能MySQL》

    大眼瞪小眼
  • g++ 编译 c++ 程序时需要包括 include .h 文件,还是需要 .cpp 文件

    g++ 编译 c++ 程序时需要包括 include .h 文件,还是需要 .cpp 文件 最近用Eclipse 下的cdt...

    田春峰-JCJC错别字检测
  • 再议GCC编译时的静态库依赖顺序问题

    使用上面的Makefile编译,将会遇到如下所示的“undefined reference”问题:

    一见
  • 独家科普:谷歌“汉译英”错误率降低60%是怎样算出来的?

    两天前谷歌宣布发布新一代神经网路机器翻译系统(Google Neural Machine Translation),简称GNMT,因为使用当前最先进的训练技术,...

    AI科技评论
  • 《重新定义公司谷歌是如何运营的》

    硬核项目经理
  • 数据结构|用java自己手写实现一个栈

    本网站记录了最全的各种JavaDEMO ,保证下载,复制就是可用的,包括基础的, 集合的, spring的, Mybatis的等等各种,助力你从菜鸟到大牛,记得...

    微笑的小小刀

扫码关注云+社区

领取腾讯云代金券