论文框架:

作者提出一种基于多任务的网络串联方法(Multi-task Network Cascade),解决问题实例分割(Instance-aware Semantic Segmentation)。该模型分成三个子网络,differentiate instance,estimate mask,category object。分别针对三个问题,获取region-level的检测框,得到pixel-level的mask,对每个mask获得category-level的label。

流程图如下:

其中conv feature map使用VGG-16获得。
并且,该模型不同于一般的多任务网络,他的后一任务的loss依赖于前一任务的输出,所以他的三个loss都是不独立的。

I. Regressing Box-level Instance
第一个子网络获得每个目标的bounding box,和objectness score(class-agnostic,即不知道该目标属于哪一类)。
这个子网络使用Region-Proposal-Networks(RPN)的网络框架,输入是shared feature map(即特征图),连接一个3X3的卷积层用来降维,再接一个1X1的卷积层来回归box location和classifying object/non-object。
作者采用RPN的loss function :

L1=L1(B(Θ))

L_1=L_1(B(\Theta))
其中 Θ\Theta表示所有待优化的网络参数。 BB 表示该网络,输出是一系列的boxes:B={Bi}B=\{B_i\} , Bi={xi,yi,wi,hi,pi}B_i=\{x_i,y_i,w_i,h_i,p_i\} , ii 表示每个box的索引,(xi,yi)(x_i,y_i) 表示中心位置坐标, (wi,hi)(w_i,h_i) 表示长宽, pip_i 表示objectness probability。

II. Regressing Mask-level Instance
在stage-2,输入:shared features 和 stage-1 box,输出:基于每个box的pixel-level segmentation mask。在这部分,mask-level instance 依旧是class-agnostic。
对于输入的stage-1 box,使用Region-of-interest(RoI) pooling 提取box特征(目的是从feature map上获取对应的任意尺寸的box的特征)。再接两个全连接层(fc layer),前一个负责降维至256,后一个fc layer负责回归pixel-level mask。
LossLoss 函数:

L2=L2(M(Θ)|B(|Θ))

L_2=L_2(M(\Theta)|B(|\Theta))
其中 MM 表示第二个子网络,输出一系列mask:M={Mi}M=\{M_i\} ,其中 MiM_i 是一个 m2m^2 维的逻辑回归输出(属于[0,1]二值化, m2m^2 是每个mask的分辨率)。
可以看出, L2L_2 同时受限于 MM 和BB 。

III. Category Instance
stage-3,输入:shared features,stage-1 box和stage-2 mask。输出:每个Instance的category score。
在stage-2中,我们提取了每个box的feature,现在我们继续提取每个mask的feature:

FMaski(Θ)=FRoIi(Θ)∗Mi(Θ)

F_i^{Mask}(\Theta)=F_i^{RoI}(\Theta)*M_i(\Theta)
其中 FRoIi(Θ)F_i^{RoI}(\Theta) 表示经过RoI pooling 提取的box的feature。
然后作者考虑同时使用masked feature 和 box-based feature。通过连接softmax classifier 预测N+1种类。
Loss函数如下:

L3=L3(C(Θ)|M(Θ),B(Θ))

L_3=L_3(C(\Theta)|M(\Theta),B(\Theta))

技术挑战:

End-to-end Training
本文定义了一个整体的Loss function:

L(Θ)=L1(B(Θ))+L2(M(Θ)|B(|Θ))+L3(C(Θ)|M(Θ),B(Θ))

L(\Theta)=L_1(B(\Theta))+L_2(M(\Theta)|B(|\Theta))+L_3(C(\Theta)|M(\Theta),B(\Theta))
但不同于普通的多任务学习,该论文的后一级任务都是基于前一级的输出。

在end-to-end训练任务中,最主要的技术挑战就是在使用RoI pooling的过程中,预测框Bi(Θ)B_i(\Theta) 的空间位置不断变化。因为在fast R-CNN论文中使用的RoI pooling 的预测框是经过预训练的,它的反向传播只考虑F(Θ)F(\Theta) ,但我们现在必须同时考虑Bi(Θ)B_i(\Theta) 。

Differentiable RoI Warping Layers
原始的RoI pooling layer 是在一个box内的离散网格执行max pooling。所以本文要在RoI pooling layer中,增加Bi(Θ)B_i(\Theta) 信息,以达到本文的需求。
大体的计算公式如下:

FRoIi(Θ)=G(B(Θ))F(Θ)

F_i^{RoI}(\Theta)=G(B(\Theta))F(\Theta)
F(Θ)F(\Theta) 就是feature map。G表示裁剪和变形操作的矩阵,就是任意输入一个 Bi(Θ)B_i(\Theta), 都将它裁剪变形到固定大小,然后变形成一个行列式矩阵,目的就是将 nn 维的F(Θ)F(\Theta) 转换成 n′n' 维的 FRoIi(Θ)F_i^{RoI}(\Theta)。
具体实现略(之后补充)。

Masking layers
在L3L_3 公式中,L3L_3 的计算也依赖于M(Θ)M(\Theta) , B(Θ)B(\Theta) 。我们经过了Differentiable RoI Warping Module,就可以将L3L_3 公式简单通过一个element-wise product module进行计算。

剩余略(之后补充)。

论文阅读:Instance-aware Semantic Segmentation via Multi-task Network Cascades相关推荐

  1. 论文阅读:Weakly-Supervised Semantic Segmentation via Sub-Category Exploration

    论文:Weakly-Supervised Semantic Segmentation via Sub-Category Exploration 论文下载:[Weakly-Supervised Sema ...

  2. 论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers

    最近在阅读一些关于transformer的论文,在此记录是为了看看到底天天学了些什么.目前阅读这些论文感觉还是似懂非懂的阶段,还需要时间细细斟酌,共勉! Rethinking Semantic Seg ...

  3. 论文阅读:3D Semantic Segmentation with Submanifold Sparse Convolutional Networks

    题目:基于子流形稀疏卷积网络的三维语义分割 也是spconv,稀疏卷积提出者 来源:CVPR, 2018 下载连接:https://ieeexplore.ieee.org/document/85790 ...

  4. 论文翻译 | RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds

    论文:RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds 代码:code 前言:最近很犹豫要不要继续翻译点云 ...

  5. JSNet: Joint Instance and Semantic Segmentation of 3D Point Clouds

    Abstract 在本文中,我们提出了一种新的联合实例和语义分割方法,称为JSNet,以同时解决3D点云的实例和语义分割.首先,我们建立了一个有效的骨干网络来从原始点云中提取鲁棒的特征.其次,为了获得 ...

  6. ECCV2020语义分割——Self-Prediction for Joint Instance and Semantic Segmentation of Point Clouds

    Self-Prediction for Joint Instance and Semantic Segmentation of Point Clouds Abstract (一) Introducti ...

  7. 【论文阅读】3D Topology-Preserving Segmentation with Compound Multi-Slice Representation

    [论文阅读]3D Topology-Preserving Segmentation with Compound Multi-Slice Representation 2022年3月6日 (本文仅作为本 ...

  8. 【论文笔记】Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspectivewith Transformers

    声明 不定期更新自己精度论文,通俗易懂,初级小白也可以理解 涉及范围:深度学习方向,包括 CV.NLP.Data Fusion.Digital Twin 论文题目: Rethinking Semant ...

  9. 语义分割--Large Kernel Matters--Improve Semantic Segmentation by Global Convolutional Network

    Large Kernel Matters–Improve Semantic Segmentation by Global Convolutional Network https://arxiv.org ...

最新文章

  1. 2020年度最佳的23个的机器学习项目(附源代码)
  2. 去分库分表的亿级数据NewSQL实践之旅
  3. 在自己的网页添加谷歌地图
  4. 数据库设计的核心原则 外键的设计 提高插入数据速度
  5. 为什么技术人一定要懂点“可信计算”?
  6. Spring mvc介绍
  7. mysql中文占两位_mysql 保留两位小数
  8. 【转载】C# WinForm程序中使用Unity3D控件
  9. MT6762/MT6763处理器参数比较,MT6762参考设计资料介绍
  10. 洛伦兹吸引子 matlab,使用Matplotlib画洛伦兹吸引子 | 学步园
  11. 2003服务器密码怎么修改密码,2003服务器设置密码
  12. 全球与中国单模连续光纤激光器市场现状及未来发展趋势
  13. 搭建AdGuard Home广告拦截DNS解析服务器
  14. Python学习-通过斗鱼api获取弹幕
  15. loopback address 回送地址
  16. 机器学习笔记 十五:随机森林(Random Forest)评估机器学习模型的特征重要性
  17. Python实现验证码的获取
  18. python画猪猪侠_猪猪侠的简笔画法
  19. Win10DB210.1企业版的安装卸载DB2建库建表空间执行sql脚本SQL5005C、SQL8027N license许可证等报错详解
  20. 【LSS: Lift, Splat, Shoot】代码的复现与详细解读

热门文章

  1. 一个量化交易策略师的成长史
  2. linux编译bzip2,ARM-LINUX常用库移植------bzip2
  3. MYSQL(二):update语句执行的秘密
  4. win 10 pip 安装都超时_清华Anaconda 镜像恢复及一键安装气象常用的Python库
  5. 两个曲柄滑块机构组成简单机械系统
  6. 如何练就数据分析的思维_思维导图
  7. javaweb开发数码产品推荐平台系统设计与实现计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  8. oracle表数据如何导出成dbf,怎么将EXCEL导成DBF?《dbf导出excel数据》
  9. 基础向:「财务对账」的秘密都在这篇 3000 字的文章里
  10. [转贴]主板报警声详解