Multi-scale Patch Aggregation (MPA) for Simultaneous Detection and Segmentation 笔记

                          Multi-scale Patch Aggregation (MPA) for Simultaneous Detection and Segmentation

摘要
我们提出了一个基于 mid-level patch 并且不需要产生 proposal 的框架 。利用快速有效的patch aggregation algorithm 产生patches ,基于这些patches 训练网络。由于不需要产生proposal ,计算时间大大减少。在VOC2012 ,mAP 62.1%,在VOC2012 SDS val 上 61.8%。

1.引言
物体检测和语义分割是图像理解的core task 。物体检测集中在产生物体的 bounding box .这些boxes也许不能够精确定位object .语义分割则是对不同的类别在pixel-level 上预测detailed mask .
最近,SDS成为了一个新的方向,产生逐像素的instance segmentation,自然引领的下一代的object recognition 目标。准确高效的SDS是许多学科的基础工具,其包含的逐像素的标签和实例信息有助于建立robotics,实现自动驾驶,智能监控,构建智能家居,等等等。
SDS比物体检测和语义分割更具有挑战性。其任务就是估计物体的instance-level 信息和pixel-wise accurate mask 。

Issues of Object Proposals in SDS
input: object-proposal
问题: 1)产生segment-based proposals 需要时间;之前的SDS方法【14,5,15,3】大多采用高质量的proposal generator 【31】(MCG),处理一张图像需要40s. 最新的产生proposal 的方法【30】( Learning to segment object candidates) 还未被评估。
2)SDS的总体性能是有界的;SDS的性能严重依赖于proposal的质量。Object-proposal 不可必免的包含了噪音(missing object,proposal的误差)。
3)end-to-end 的参数训练变成不可能; 结果导致无法直接从原图像learn feature 和 structure information ,这些信息对于进一步提高系统性能很重要。

Our End-to-End SDS Solution
为了解决这些问题,我们的方法是把objection proposal generation 整合进网络中,实现end-to-end 的训练。我们的做法是,用densely location patches 分割和分类object 的部分或整体。然后在post-processing 步骤中,聚合重叠的mask patch 。如图1.
在我们的方案中,重叠的patches 聚合了不同level 的信息,这比只来自一个输入的结果更有鲁棒性。
Our Contributions
1)提出了不同尺度的patches 解析物体;
2)端到端的训练,不需要产生proposal,共享卷积使的计算时间减少,结果更好;
3)提出了有效地算法从mid-level 的patches 聚合信息,产生segmentation mask ;

  1. Related Work
    SDS的任务与物体检测,语义分割,proposal generation 密切相关。以下分别介绍这三个部分:
    Object Detection 物体检测在算计视觉已经有很长的历史了。DCNN在图像分类上表现了优异的性能,在这之前,大多采用部件模型的方法。最近的物体检测框架都是基于DCNN分类object proposals .这些方法不是把object proposals 做为为独立的输入,就是 把整张图像作为输入。与这些方法不同的是,faster-rcnn 利用共享的卷积feature maps 把 proposal generation 和 分类整合在一起。这节省了proposal 的产生时间,也提高了性能。
    Semantic Segmentation DCNN也提高了语义分割的性能。语义分割有2个分支: 一个是用DCNN分类segentation proposal ,一个是 利用FCN进行dense prediction 。CRF 作为后处理微调分割边界,可以接在后面,也可以整合进整个网络中。
    SDS SDS是一个新的topic。Hariharan [14] 首次提出SDS 。他利用MCG算法产生proposal .利用两个网络分别提取bounding box 和 mask 特征,在级联两个特征,用SVM 分类。Hariharan【15】利用hyper-colum 表达refine 分割mask ,但是,更新搜的proposal 计算代价太大,特别是在复杂的网络下。chen [3]研究了一种能量最小化的框架处理遮挡。Dai [5]通过共享所有proposal 的卷积特征图解决了效率问题。所有这些方法都依赖于MCG产生和独立的分类。
    liang [22]提出了 proposal -free 网络处理SDS。在【22】中,首次用方法【2】,产生category-level 的segmentation mask 。在用另一个网络预测pixel对应的object ,最后,后处理工作产生实例分割。和这些独立步骤的方法不同的是。我们聚合mid-level patch

    1. Our Method
      我们通过聚合local segmentation 预测结果解决SDS问题。在网络中,产生多尺度dense patches,在 classify ,segmentation 他们。在这些patches基础上infer object 。

3.1. Motivation
一个物体是由许多块组成的,patches 和 parts 相对应。这个概念在mid-level representation 工作【1,7,36】中已被广泛研究,并且发现对于提取和组织结构信息很有用。直觉上,将object 分割成语义块,例如图2 ,这就很容易model 和 强调 局部区域物体的变化。

这里写图片描述

   和传统的方法不同【9,12,11】(将sliding-windows or proposal )分类成object,我们的方法则是将语义块分类成part of object 。先前的基于proposal 分类的框架,假设object 已经在proposal 里,然后只需将object pick out .他们不会搜索missing objects ,因此这种方法很大程度上依赖 proposal 的质量。我们的策略则是利用patches来表带object 更久灵活性。

3.2. Network Structure
我们的网络结构如图3。该网络在每个候选patches 上共同学习分类label 和segmentation mask 。关键部分是共享卷积层。多尺度patch generator multi-class classfication 分支,segmentation branch .
这里写图片描述

3.2.1 Convolution Layers
分类和分割branches 共享卷积层,比单独对这两个网络提取特征,减少了计算复杂度。后面的两个分支可以看成是多任务的训练,这增强了网络的泛华能力。当分类branch 对patches 推断出语义信息后,分割branch 需要精确定位和instance masks .
我们采用13个卷几层(交叉了RELU,pooling),类似于vgg16。我们记g 作为最后一个共享卷积层 。4个 pooling 层,网络步长16,即,输入图像被缩小了16倍。
3.2.2 Multi-Scale Patch Generator
我们的主要贡献之一就是多尺度 patch generatation ,如图4.目标是,从原图产生多尺度的patches,方法是,在最后一层卷积层g ,croping 对应的feature grids , .并且提出一个新的策略将分类和分割的标签分配到这些paches 上。
这里写图片描述

Candidate Patch Generation
我们使用4个尺度的patches i.e, 48x48,96x96,19x192,384x384 —–>3x3,6x6,12x12,24x24
每个patches 用一个4元组(r,c,h,w),(r,c)代表top-left corner 的坐标,h,w代表高度,宽度。每个patches 和下采样的feature grids Gi对应,Gi 坐标(r/16, c/16 , h/16 ,w/16)
从单一图像上,产生不同尺度的patches,得到不同levels 的feature grids . [30]的输入是多个尺度,利用单一尺度的滑动窗口搜索object ,与之不同的是,对多尺度的识别任务我们的方法更灵活,通过共享卷积节省了计算时间。

Scale Alignment
注意的是,feature grids 的分辨率是不同的 ,我们将不同尺度的feature girds 映射成相同的尺寸,使得分类和分割branch 具有尺度不变形。
Gi的不同的分辨率3x3,6x6,12x12,24x24,通过 反卷积层和pooling 层,矫正成相同尺寸 12x12 。3x3,6x6反卷积上采样 到12x12 ,相应的kernel-size-over-stride 是 4x4/4 ,2x2/2 ,即4 ,2 。反卷积层增加了空间信息,这对segmentation branch 是有好处的。 而24x24 的则应用 2x 2/2的Max-pooling. 12x12的则不变。

Label Assignment During Training
由于每个patches被分配类别标签li,二值mask Mi。由于Pi 可能是object 的一部分,不能从 grounding-truth mask crop 相应的区域,由于复杂的object-apperance 和 bounding shape 。因此,我们设计了下面的规则来assign labels。
1.每个patch 的中心位于 object On
2 On包含Pi,Pi的面积比On的面积的一半还要大。
3.On 包含Pi,,,,,,,,,,,,,,
只有这些条件都满足了,我们才On的标签给 li,包含在Pi的segmantation 给 Mi .这种策略减少了训练时的时间,我们下采样mask到48x48 。
每个Pi只对应On 中的一个object。

3.2.3 Multi-class Classification Branch
Gi + 2x2Max-pooling+ 3个全连接层 。patches的分类得分 记为 fc(Pi)
3.2.4 Segmentation Branch
基于Gi ,我们model 分割branch 为一种逐像素的分类器,预测mask Mi的每个元素。最后的预测向量reshaped 到48x48 的score map 。 After segmentation, we update the size of predicted score map fs(Pi) to that of Pi. We denote the resized score map as f ˆ s(Pi)

3.2.5 Training Loss and Strategy
这里写图片描述
这里写图片描述

3.3. Patch Aggregation
这里写图片描述

这里写图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值