《RVOS:End-to-End Recurrent Network for Video Object Segmentation》论文笔记
参考代码:RVOS
1. 概述
导读:这篇文章提出一个可以实现多目标视频分割的方法RVOS(Recurrent network for multiple object Video Object Segmentation),这篇文章主要有两点比较有意思的点:1)可以实现没有第一帧标注与finetune过程实现视频分割(也可以使用标注的第一帧结果来进行初始化RNN初始状态);2)有效利用了帧内的空间(spatial)连续相关性与时序(temporal)上的连续性(使用ConvLSTM与类别相关性),去编码对应的分割结果;文章的方法在DAVIS-2017等数据集上表现出了较为不错的成绩,并且速度也是比较快的,在P100 GPU上速度无44ms/F。
在一些VOS的方法中将不同视频帧单独处理,并没有使用视频帧之间的相关性提升性能,一些会使用诸如前一帧预测结果或是预估光流信息来提供一些时序上的信息。而在这篇文章里面是借鉴了RNN(ConvLSTM)的时序特性去编解码视频分割信息,因而就构建了一个多目标的端到端的分割网络(网络RNN部分的计算量会随着目标数目的增加线性增加)。文章提出的方法其总体流程结构见下图1所示:
2. 方法设计
2.1 网络结构
文章提出的视频分割网络有点类似于UNet的分割模型,是一个编解码结构的网络,根据输入配置的不同划分为zero-shot和one-shot VOS,网络的结构在某一帧单步下的计算结构如图2所示:
2.2 编码器部分
文章使用了ResNet-101作为其编码器部分,在编码器中取出每个阶段的特征 f t = { f t , 1 , f t , 2 , … , f t , k } f_t=\{f_{t,1},f_{t,2},\dots,f_{t,k}\} ft={ft,1,ft,2,…,ft,k},然后根据是否为oneshot添加是否在输入RGB通道的数据上添加额外的分割结果输入。
2.3 解码器部分
文章中使用ConvLSTM去充当解码器,整合
t
t
t时刻帧编码器部分的输出
f
t
=
{
f
t
,
1
,
f
t
,
2
,
…
,
f
t
,
k
}
f_t=\{f_{t,1},f_{t,2},\dots,f_{t,k}\}
ft={ft,1,ft,2,…,ft,k},得到关于当前帧中不同目标的分割结果
{
S
t
,
1
,
S
t
,
2
,
…
,
S
t
,
N
}
\{S_{t,1},S_{t,2},\dots,S_{t,N}\}
{St,1,St,2,…,St,N},
S
t
,
i
S_{t,i}
St,i代表的是当前帧分割出来的第
i
i
i个物体,这部分可以理解为空间上的相互关联性,而时序上的关联性是在同类目标在不同帧之间处理得到的,可以参考图3中的右图。在上面说到目标的类别数
N
N
N,它是一个固定的数,要是一个物体在视频的某一帧中消失了,那么其在这一帧与后序帧中也将消失。这里对于分割目标的顺序是没有任何强制性要求的,使用的损失函数是软性IoU损失(soft Intersection over Union score)。
在图3右图的结构中将空域与时序上都进行关联,使用
h
t
,
i
,
k
h_{t,i,k}
ht,i,k代表帧
t
t
t在第
k
k
k个ConvLSTM输出第
i
i
i个目标的结果。这里先需要先明确几个变量:
- 1) f t f_t ft是编码器在帧 t t t的特征输出
- 2)当前帧前一个物体ConvLSTM层的输出 h t , i − 1 , k h_{t,i-1,k} ht,i−1,k
- 3)前一帧的相同物体ConvLSTM输出 h t − 1 , i , k h_{t-1,i,k} ht−1,i,k
- 4)前一帧对于目标 i i i的最后输出 D t − 1 , i D_{t-1,i} Dt−1,i
因而ConvLSTM的运算过程可以描述为:
h
i
n
p
u
t
=
[
B
2
(
h
t
,
i
,
k
−
1
)
∣
f
t
,
k
′
∣
S
t
−
1
,
i
]
h_{input}=[B_2(h_{t,i,k-1})|f_{t,k}^{'}|S_{t-1,i}]
hinput=[B2(ht,i,k−1)∣ft,k′∣St−1,i]
h
s
t
a
t
e
=
[
h
t
,
i
−
1
,
k
∣
h
t
−
1
,
i
,
k
]
h_{state}=[h_{t,i-1,k}|h_{t-1,i,k}]
hstate=[ht,i−1,k∣ht−1,i,k]
h
t
,
i
,
k
=
C
o
n
v
L
S
T
M
k
(
h
i
n
p
u
t
,
h
s
t
a
t
e
)
h_{t,i,k}=ConvLSTM_k(h_{input},h_{state})
ht,i,k=ConvLSTMk(hinput,hstate)
其中,
B
2
B_2
B2代表双线性才上采样,
f
t
,
k
′
f_{t,k}^{'}
ft,k′是
f
t
,
k
f_{t,k}
ft,k经过卷积层维度降维之后的特征图。
在使用编码器中的特征进行优化的时候,由于初始没有上一个阶段的特征输入(没有了上采样环节),则对应的
h
i
n
p
u
t
h_{input}
hinput输入为:
h
i
n
p
u
t
=
[
f
t
,
0
′
∣
S
t
−
1
,
i
]
h_{input}=[f_{t,0}^{'}|S_{t-1,i}]
hinput=[ft,0′∣St−1,i]
在上面的式子中由于会使用到
i
−
1
i-1
i−1的目标解雇,则第一个目标的
h
s
t
a
t
e
h_{state}
hstate被定义为:
h
i
n
p
u
t
=
[
Z
∣
h
t
−
1
,
i
,
k
]
h_{input}=[Z|h_{t-1,i,k}]
hinput=[Z∣ht−1,i,k]
其中,
Z
Z
Z是零矩阵代表前一个空间中没有目标。
3. 实验结果
是否使用空间与时序信息对性能的影响:
one-shot的分割性能:
相关文章
- Bag of Tricks for Image Classification with Convolutional Neural Networks论文笔记
- 论文笔记(8):BING: Binarized Normed Gradients for Objectness Estimation at 300fps
- 论文笔记(5):Fully Convolutional Multi-Class Multiple Instance Learning
- 论文笔记(1):From Image-level to Pixel-level Labeling with Convolutional Networks
- 2018年6月8日论文阅读
- 2018年3月13日论文阅读
- 论文笔记(7):Constrained Convolutional Neural Networks for Weakly Supervised Segmentation
- 论文笔记(6):Weakly-and Semi-Supervised Learning of a Deep Convolutional Network for Semantic Image Segmentation
- 论文笔记(5):Fully Convolutional Multi-Class Multiple Instance Learning
- 论文笔记(4):Fully Convolutional Networks for Semantic Segmentation
- 论文笔记(2):Deep Crisp Boundaries: From Boundaries to Higher-level Tasks
- 论文笔记(3):STC: A Simple to Complex Framework for Weakly-supervised Semantic Segmentation
- 论文笔记: 贝叶斯在线变点检测:An intuitive understanding
- 论文笔记:Support Vector Method For Novelty Detection(Schölkopf)
- 机器学习笔记 - EfficientNet论文解读
- 谷歌Borg论文阅读笔记(二)——任务混部的解决
- 【第6篇】SSD论文翻译和代码汇总
- 有了这个机器学习画图神器,论文、博客都可以事半功倍了!
- 毕业设计 Spring Boot个人健康信息管理系统(含源码+论文)
- 论文解读《Cauchy Graph Embedding》
- NLP模型笔记2022-12:Deep Biaffine Attention for Neural Dependency Parsing【论文+源码】
- 论文笔记系列:轻量级网络(一)-- RepVGG
- 论文笔记系列:经典主干网络(二)-- DenseNet
- 论文笔记:A Low-Complexity I/Q Imbalance compensation Algorithm
- 论文笔记:基于特征选择与增量学习的非侵入式电动自行车充电辨识方法
- 论文笔记:An Experimental Comparison of Performance Metrics for Event Detection Algorithms in NILM(1)
- 论文阅读:LinkNet: Exploiting Encoder Representations forEfficient Semantic Segmentation
- 论文阅读笔记5-An Asynchronous Energy-Efficient CNN Accelerator with Reconfigurable Architecture