个人总结 简介Bottom-up Path Augmentation待解决: Adaptive Feature Pooling待解决: Fully-connected Fusion
先上论文链接:https://arxiv.org/abs/1803.01534
欢迎交流
简介
这篇论文总体上是Mask-Rcnn的改进版本,整体思路是提高信息流在网络中的传递效率。第一个改进:为了提高低层信息的利用率,加快低层信息的传播效率,提出了Bottom-up Path Augmentation;第二个改进:通常FPN在多层进行选anchors时,根据anchors的大小,将其分配到对应的层上进行分层选取。这样做很高效,但同时也不能充分利用信息了,提出了Adaptive Feature Pooling。第三个改进:为了提高mask的生成质量,作者将卷积-上采样和全连接层进行融合,提出了Fully-connected Fusion。
Bottom-up Path Augmentation
一般都知道,网络的低层特征中含有更多的位置信息,高层特征中含有更多的语义信息。FPN是网络在下采样结束后,再返回来进行上采样,并通过横向连接获取同级下采的信息。FPN做的就是将高层的语义信息回向传递,利用高层语义信息来提高低层的效果。Bottom-up Path Augmentation在此基础上又增加了一个低层到高层的通道,将低层信息直接向上进行传递,提高底层信息的利用率。
上图中的b区域就是新增的Bottom-up Path Augmentation。红线是FPN中底层信息的传递路径,要经过100+layers。绿线是PANet的底层信息传递路径,经过的路径少于10层。
上图中的 N 2 N_2 N2和 P 2 P_2 P2完全一样。
其中的一个具体模块: N i N_i Ni经过一个3*3,stride为2的卷积之后,下采样为原来的一半,然后与横向连接传递过来的 P i + 1 P_{i+1} Pi+1进行逐元素相加,再经过一个3*3的卷积生成 N i + 1 N_{i+1} Ni+1。
其中的通道数保持在256,且每个卷积之后会接ReLU。
待解决:
这样加快了低层信息的传递效率,但同时减弱了高层信息啊,可能与通道数有关?
100层和10层具体计算?
Adaptive Feature Pooling
低层特征中含有更多的位置信息,高层特征中含有更多的语义信息,根据proposal的大小将其划分到对应的层上,大的分配到高层上,小的分配到低层上。这会造成大的proposal只能更多的利用语义信息,小的proposal只能更多的利用位置信息,这当然会对精度造成影响。
作者首先展示了采用Adaptive Feature Pooling后,个proposal利用各层信息的比例:
level1表示在FPN中应该分配在LEVEL1上的proposal,而实际上由蓝色线可知,采用Adaptive Feature Pooling后,只有30%的level1采用了LEVEL1上的特征,验证了Adaptive Feature Pooling的优越性。
该模块的结构:参考第一幅图的C虚线框,首先对于每个proposal来说,将其映射在不同的feature level上(如第一图b框中的灰色范围);然后用ROI Align;再利用融合操作(逐元素进行max或者sum)将不同层上的进行融合。
下图是一个在没有mask分支的FPN上利用Adaptive Feature Pooling的结构图,加了个fc1:
对于PANet来说:
Since four consecutive convolutional layers are used in mask prediction branch in Mask R-CNN, we place fusion operation between the first and second convolutional layers. 待解决:
并没有给PANet该部分的整体结构图,POI Align成固定尺寸后,先进行融合,再进行三个分支?
Fully-connected Fusion
本来是上部分直接mask的,加入下层fc的原因:
由于fc是通过大量的参数来预测特征图不同位置的,所以fc是位置敏感的。而且fc可以利用全局信息对各个子区域进行预测,有助于区分不同实例和识别属于同一对象的不同部分。
模块结构:上面是四个卷积加一个反卷积,卷积都是256个3*3的filter,上采样的倍数为2。mask预测的是前景/背景的二分类。增加的为下部分,从conv3引下来一个分支,该分支包含两个conv,一个fc和一个reshape。其中conv5_fc是将通道减半(由图看出来变薄了)的,fc要保证reshape后的特征图大小和上面的反卷积之后的特征图大小一致。
只采用一个fc的原因:
Using only one fc layer, instead of multiple of them, for final prediction prevents the issue of collapsing the hidden spatial feature map into a short feature vector, which loses spatial information