array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 论文:Path Aggregation Network for Instance Segmentation - 爱码网

Abstract

      神经网络中信息传递的方式很重要。本文提出 PANet 网络来增强 proposal-based 实例分割的信息流。具体的,提出bottom-up path augmentation,adaptive feature pooling和complementary branch。

1.Introduction

      Mask R-CNN是一个简单有效的实例分割模型,FPN通过一个具有侧连接的top-down path来传递高级语义特征,并层级提取内部特征。Dense connection,Residual connection,split-transform-merge等模型策略都十分有效。

Our Finding: 我们发现Mask RCNN 中的信息流还可以优化。具体来说,低级的特征对large instance的识别有帮助,但是从底层到高层的path太长以至于很难得到精确的位置信息(广义的位置信息,包括定位和轮廓信息)。每一个proposal都对应于一个feature level。这可能会丢失其他level的信息。

Our Contributions: 首先,提出一个bottom-up path来缩短information path,通过低层次具有的精确地位置信息来增强特征金字塔。其次,提出adaptive feature pooling 来恢复proposal 和 all feature levels 之间破损的信息。最后,提出一个fc分支和FCN分支融合,共同预测mask.

2.Related Work

Instance Segmentation: Two stream for instance segmentation,一种是 proposal-based,一种是segmentation-based

Multi-level Features: SharpMask 融合不同的特征图进行分割。FCN,U-Net使用skip connections来融合不同层的信息。不同于TDM,使用融合的具有最大分辨率的特征图进行pool,FPN,SSD,DSSD,都是把proposals在合适的层进行inference。我们将FPN当做baseline。ION模型concate不同的层的feature grids,可以得到更好的结果但是需要normalization , concatenation , dimension reduction等操作。我们的方法会更简单。

Larger Context Region: Feature pooled from a larger region可以获得周围的环境。PSPNet和ParseNet使用Global pooling极大的提高了语义分割的效果。

 

3.Framework

论文:Path Aggregation Network for Instance Segmentation

    一个自底向上的路径来使底层的信息更好的传播,使用adaptive feature pooling 使得proposal可以获得每一个level的信息,complementary path for mask brach。

3.1 Bottom-up Path Augmentation

       高层的神经元通常对整个目标有很强的响应,而低层的神经元更容易被局部纹理,图案等**。所以在FPN网络中,增加了一个自顶向下的分支来将高层的强语义的特征传播到下层,使得所有的特征层都具有classification能力。

   我们的模型增加了一个自底向上的分支,通过传播低层次的信息增加整个特征层的分类能力。因为底层的特征对edge及instance part有很高的响应,这对准确的定位实例有很大的作用(高层特征有助于classification,底层特征有助于localization

图中的绿线即为分支,这是一个shortcut结果,少于十层,相对比于FPN网络中的红线,从底层到高层需要一百多层。

      Bottom-up结构的block如下所示:

论文:Path Aggregation Network for Instance Segmentation

      低层的通过一个卷积下采样之后和P通过逐像素的相加,最后再经过一个卷积操作。

3.2 Adaptive Feature Pooling

      在FPN网络中,proposal会根据他的尺寸将之分配到某个feature level。这会将大的proposal分配到大的feature level,小的分配到小的。虽然这样简单有效,但会带来误差,比如有可能只差10像素的相似的proposal被分配到不同的feature level上。

       高层次的特征具有更大的感受野,具有更丰富的上下文信息(语义信息),这些特征可以帮助小的proposal 获得有用的语义信息来进行预测。同理,低层次的特征具有精确的细节和位置信息,有助于大proposal的定位。所以我们从所有的level对每个proposal进行pooling操作,之后使用max operation来融合他们。

     具体的框架,首先,对每一个proposal,将其映射到不同的feature level,之后执行ROIAlign,最后是一个融合操作(element-wise max or sum)。

论文:Path Aggregation Network for Instance Segmentation

Pool层先经过一个参数层后再进行融合操作。

      我们的设计是融合in-network featurehierarchy信息而不是融合image pyramid不同的feature map的信息。

3.3 Fully-connected Fusion

      FCN层基于local receptive field和共享参数来对每一个pixel进行预测,而fc层对位置敏感,因为对每一个位置的预测都是基于不同的参数,所以fc层具有适应不同空间位置的能力,预测也是基于entire proposal 的全局信息,这有利于区分不同实例以及相同物体的不同部件。我们将会融合这两者。

      具体的框架如下所示:

论文:Path Aggregation Network for Instance Segmentation

对每一个类独立的预测了 binary pixel-wise mask,用以解耦mask和class。下面分支的第二层卷积channel缩小以减小运算量,fc层用来预测一个class-agnostic的背景/前景 mask。Mask的size设为28*28。仅使用一层fc层是怕丢失空间信息。

4.Experiments

4.1 Implementation Details

      使用image centric training策略,对每一张图片,采样512个ROI,正负比例为1:3,weight decay 为 0.0001,momentum 设为0.9。

4.2 COCO

      在AP,AP50,AP75,Aps,APm,APl上评价,image batch设置为16,图像resize到800,1000。学习率为0.02,0.002。

Multi-scale training,将长边设置为1400,短边设置为[400,1400]。

Multi-GPU synchronized batch normalization,在多gpu上应用BN。

Heavier head,使用box分类和回归共享参数的四个连续的3*3卷积层替代原来的两个fc层。

在所有的策略中,Multi-scale training 和 Multi-GPU sync BN占了一半的作用。

Adaptive feature pooling 对fusion operation不敏感,MAX和SUM的操作都可以。
Fully-connected Fusion,选择从第三个卷积层后进行SUM操作。

论文:Path Aggregation Network for Instance Segmentation

       为在COCO数据集上达到Top performance,我们还进行了,deformable convolutions,multi-scale test,horizontal flip testing,mask voting 和 box voting。使用多个模型进行融合。

 

相关文章: